這項開源視頻摳圖技術火了!換背景的方法著實真假難辨

2021-02-24 我愛計算機視覺

參與:Racoon、張倩

轉自:機器之心

綠幕是影視劇中摳圖、換背景的利器,但如果不在綠幕前拍攝,我們還能完美地轉換背景嗎?華盛頓大學的研究者最近就上傳了這樣一份論文,不在綠幕前拍攝也能完美轉換視頻背景,讓整個世界都變成你的綠幕。從作者給出的 demo 可以看到,他們的方法效果非常驚豔,即使視頻中的人瘋狂甩頭髮也沒有影響合成效果:

即使人物和背景不好區分、手持鏡頭稍微晃動時摳圖效果也不賴:

目前,這篇論文已被 CVPR 2020 大會接收。在論文中,研究者提出了一種創建蒙版(matting)的新方法。多數現有的蒙版方法都需要以綠幕為背景,或者手工創建一個三元圖(trimap)。當然,也有些自動方法不需要三元圖,但效果會很差。本文提出的這個蒙版方法也不需要三元圖,但摳圖、換背景效果要更好。當然,達到這麼好的效果是有條件的。除了原始圖像/視頻之外,研究者還要求拍攝者多拍一張不帶人物的背景圖。這一過程要比創建三元圖節省很多時間。研究者用對抗損失訓練了一個深度網絡,用來預測蒙版。他們首先利用帶有 ground truth 的合成數據訓練了一個具有監督損失的蒙版網絡。為了在不加標記的情況下縮小合成圖像與真實圖像的差距,他們在第一個網絡的指導下訓練了另一個蒙版網絡,並通過一個判別器來判斷合成圖像的質量。研究者在諸多圖像和視頻上測試了他們提出的新方法,發現這一方法顯著優於之前的 SOTA。在關於這一論文的討論中,我們可以看到很多潛在的應用場景,比如 vlog(雲旅遊)、視頻會議等。對於廣大「菸酒僧」來說,如果導師下次再讓你發一段在實驗室工(摸)作(魚)的視頻,或許也能用得上呢。系統的輸入是一張圖像或一個視頻,圖像/視頻中的人站在靜態的自然背景前,此外還需輸入一張純背景圖。背景圖的獲取很簡單,只需要讓人物走出取景區域,然後操作曝光、焦距都已固定的相機進行拍攝(如智慧型手機相機)。對於手持相機,研究者假設相機的移動幅度很小,利用單應性(homography)將背景與給定的輸入圖像對齊。從輸入中,研究者還提取了目標人物的軟分割。對於視頻輸入,可以添加臨近的幀來輔助生成蒙版。研究者首先在 Adobe Matting 數據集(只用不透明物體的圖像)上訓練了一個深度蒙版網絡。該網絡將帶有人物的圖像 I、純背景圖像 B』、人物 S、相鄰幀的時間堆棧 M(可選)的軟分割作為輸入,輸出則是一個前景圖 F 和一個前景蒙版α。為了生成 S,研究者應用了人物分割、腐蝕(erode)、膨脹(dilate)以及高斯模糊。在處理視頻時,他們將 M 設為 I 前後相連的兩幀。設兩幀間隔為 T,則選取的相鄰幀為 {I−2T , I−T , I+T , I+2T }。這些圖像被轉換為灰度圖,以忽略顏色,更加專注於運動信息。如果輸入中沒有視頻,研究者就將 M 設定為 {I, I, I, I},這些圖像也轉化為灰度圖。將輸入集合表示為 {I,B′,S,M},權重參數為θ的網絡的運算可表示為:研究者提出了一個語境轉換塊(Context Switching block,CS block)網絡,以根據輸入圖像更有效地結合所有輸入信息的特徵(見上圖 2)。舉個例子,當人物的一部分背景相似時,網絡應該更加關注該區域的分割線索。該網絡有四個編碼器,分別產生 256 個通道的特徵圖,然後通過應用 1x1 卷積、BatchNorm 和 ReLU 將來自 I 的圖像特徵分別與 B '、S 和 M 的結合起來,為這三對中的每一對生成 64 通道特徵。最後,他們通過 1x1 卷積、BatchNorm 和 ReLU 將這三組 64 通道特徵與最初的 256 通道特徵相結合,得到編碼後的特徵並將其傳給網絡的其他部分,包括殘差塊和解碼器。研究者觀察到,上述 CS 塊架構有助於網絡從 Adobe 數據集泛化到實際數據。研究者在 Adobe 數據集上用監督損失訓練網絡 G_Adobe ≡ G(·; θ_Adobe):其中,(F, α) = G(X; θ_Adobe),梯度項α 可以鼓勵模型生成更高銳度的圖像。雖然研究者提出的 CS 塊在結合了數據增廣後,顯著縮短了真實圖像與使用 Adobe 數據集合成的圖像之間的差距。然而,該方法在處理真實圖像時仍然存在以下困難:

在手指、手臂、頭髮附近的背景被複製到蒙版中;

圖像分割失敗;

前景重要部分的顏色與背景顏色相似;

圖像與背景之間沒有對齊。

為解決以上問題,研究者提出用一種自監督學習方法從未標註的真實數據中訓練模型。該方法的主要思路是:蒙版估計中的主要誤差會導致在新背景下合成的圖片失真。例如,不好的蒙版可能會包含一些原圖像背景,當在與新背景合成時會將之前背景的一部分內容複製到新背景下。於是,研究者訓練了一個對抗判別器來區分合成圖像與真實圖像,以此提高蒙版網絡的性能。研究者使用 LS-GAN 框架來訓練生成器 G_{Real} 與判別器 D,最小化以下目標函數來訓練生成器:其中,(F, α) = G(X; θ_{Real}),\bar{B} 為判別器用於生成合成圖像的給定背景。研究者將λ設置為 0.05,並在訓練過程中每兩個 epoch 將其減少一半,以使判別器起到重要作用。研究者給 alpha 損失函數設置了較高的權重來鼓勵模型生成更高銳度的圖像。其中,θ_{Disc} 代表判別器網絡的權重,同時 (F, α) = G(X; θ_{Real})。研究者將該方法與其他方法進行了比較,包括幾種在基準上表現良好的深度蒙版算法,比如 Bayesian Matting、Context-Aware Matting、Index Matting 和 Late Fusion Matting。研究者首先使用 2.69 萬個樣本來訓練 GAdobe,在 100 個隨機背景上合成 269 個目標,加上背景的擾動版本作為網絡輸入,使用 Adam 優化器進行訓練,批處理大小為 4,學習率為 1e。實驗比較了 Adobe Dataset 中 220 種合成素材的結果,如下圖所示:表 1:Adobe Dataset 上的 Alpha 蒙版錯誤,數值越低代表性能越好。此外,研究者使用智慧型手機 iPhone 8 在室內和室外分別在手持和固定攝像機的情況下拍攝了視頻。圖 3:(a-e)是自然背景下手持相機拍攝視頻所呈現的 alpha 通道和前景,(e)是一個動態背景下的失敗案例。除此之外,研究者針對用戶群體進行了調查,結果包括測試視頻的評分總和。分數證明本論文所提出的方法優於其他方法,尤其是在攝像機拍攝的場景下,但手持拍攝的視頻中,由於非平面背景導致的視差,還是會出現一些蒙版錯誤。表 2:在 10 個真實世界視頻中的用戶研究結果(固定攝像機)。表 3:在 10 個真實世界視頻上的用戶研究(手持相機)。
git clone https://github.com/senguptaumd/Background-Matting.git

作者提供的代碼需要在 Python 3 環境下運行,並在 Pytorch=1.1.0,Tensorflow=1.14,cuda10.0 版本下測試通過。接下來我們創建 conda 虛擬環境並安裝依賴項:
conda create --name back-matting python=3.6conda activate back-matting

確保 CUDA 10.0 為默認的 cuda。如果電腦上 CUDA 10.0 安裝在/usr/local/cuda-10.0 目錄下,運行如下命令:
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64export PATH=$PATH:/usr/local/cuda-10.0/bin

安裝 PyTorch 和 Tensorflow 以及相關依賴項:
conda install pytorch=1.1.0 torchvision cudatoolkit=10.0 -c pytorchpip install tensorflow-gpu=1.14.0pip install -r requirements.txt

我們也可使用 sample_data/文件夾進行測試,並參考它準備自己的測試數據。從作者提供的雲盤中下載預訓練模型,並將其放在 Models/目錄下。作者使用 TensorFlow 版的 Deeplabv3+來生成用於人物摳圖的分割 mask:
cd Background-Matting/git clone https://github.com/tensorflow/models.gitcd models/research/export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slimcd ../..python test_segmentation_deeplab.py -i sample_data/input

當然,我們也可以使用其他任何一種圖像分割網絡來替代 Deeplabv3+。將分割後的結果保存成擴展名為_masksDL.png 的文件。之後,我們需要對圖像進行對齊預處理,即將背景與輸入圖像進行對齊。需要注意的是,在拍攝圖像時我們需要關閉自動對焦與自動曝光功能。運行 python test_pre_process.py -i sample_data/input 即可對圖像進行預處理。它會自動地對齊背景圖片,並調節偏置與增益來匹配輸入圖像。運行如下代碼即可實現背景替換。對於使用了三腳架來拍攝的圖片,選擇-m real-fixed-cam 可得到最好的效果。選擇-m syn-comp-adobe 會讓我們使用在 Adobe 合成數據集上訓練的模型,而不是真實的數據(效果最差)。
python test_background-matting_image.py -m real-hand-held -i sample_data/input/ -o sample_data/output/ -tb sample_data/background/0001.png

語義分割、實例分割、全景分割、摳圖等技術,若已為CV君其他帳號好友請直接私信。

微信號 : aicvml

QQ群:805388940

微博/知乎:@我愛計算機視覺

投稿:amos@52cv.net

網站:www.52cv.net

在看,讓更多人看到  

相關焦點

  • 神仙姐姐出現在大尺度視頻
    上周微博一段視頻火了,視頻將朱茵在《射鵰英雄傳》中飾演的「黃蓉」形象直接換成楊冪的臉,效果之貼合,直教人難辨真假,吃瓜群眾紛紛稱讚「史上最可愛的黃蓉」 ▼而在此之前,網絡上也早出現了多個換臉視頻。比如,大家熟知的鬥魚主播「阿冷」▼
  • 看了這8個PS摳圖方法,我奶奶都會自己換證件照背景了…
    想必每位設計師都接到過朋友的這種需求——幫我換一下證件照背景…小編幫朋友換過的證件照背景都可以繞地球一圈了…但是很多初學者對摳圖卻非常苦惱,毛髮太多、場景太複雜。摳出的圖一點也不完美。今天小編就總結了一套摳圖大全,從最基礎的工具介紹開始到毛髮等複雜的摳圖技巧,包教包會!順便說一下,小編用的是PS CC 2018。
  • AE如何視頻摳圖?原來有那麼多方法!
    這會讓你拍出來的視頻作品質量大大的降低,的確是一個非常讓人感覺到頭疼的問題。沒有關係,下面這篇文章,我將會將你如何使用After Effects對視頻進行摳像的多種方法。看完這篇文章以後,你就可以對視頻畫面移花接木了,可以達到出乎意料的效果。
  • 榮耀X10掌握PS高階操作:摳圖換背景一鍵完成
    以人像摳圖為例,利用Photoshop摳圖要用兩次通道,第一次是用通道把主色部分摳出來,然後再用通道把高光部分提取出來,操作較為複雜。幸運的是我們已經進入AI時代,很多傳統上費時費力的操作變得無比簡單快速,比如人像就可以實現像素級別的摳圖分離,不但精準而且速度非常快。
  • 給人像照換個背景,想去哪就去哪,試試簡單的PS, 3步摳圖換背景
    如何用ps的通道進行摳圖換背景?通道摳圖是摳圖裡面最常見的一種摳圖方法,方法也是比較簡單。我們先來看下原圖和效果圖的對比,對於換背景來說,只要你把圖摳出來了,背景隨便換,下面我就簡單粗暴的介紹通道摳圖換背景。
  • remove.bg - 自動摳圖、一鍵去除圖片背景的免費在線工具
    remove.bg 一鍵摳圖remove.bg 是一款強大的自動去除圖片背景的在線工具,只需要上傳圖片,自動幫你去掉背景留下主題,幾秒鐘的功夫就能得到一張透明背景的照片。,免安裝、免費使用下載客戶端或Photoshop 插件來批量摳圖摳圖使用體驗如果你的工作或者生活中需要接觸 PS ,圖片去背、摳圖永遠是無法逃避的問題,哪怕是吃瓜群眾,也會遇到把證件照換個底色這樣的需要,更別說是設計相關、攝影、PPT製作、電商運營和自媒體從業者。
  • Snapseed手機修圖:人像照片如何摳圖換背景呢?
    人像照片如何摳圖換背景呢?有沒有想過給一張照片換個背景呢?換個背景,有時還會換個好心情,生活應該是多姿多彩的。今天就給大家分享如何利用手機給人物更換背景,方法很簡單,一看就會。給自己的照片換個背景,想去哪就去哪,試試簡單的手機操作,1步摳圖換背景。我們打開snapseed,點擊加號,從手機相冊中導入一張背景的照片。首先選擇雙重曝光工具,點擊左下角的添加圖片按鈕,從相冊導入人像照片。
  • 怎樣快速給照片換背景?教你3秒用電腦一鍵摳圖,讓照片更完美
    怎樣快速給照片換背景?教你3秒用電腦一鍵摳圖,讓照片更完美工作中,我們不免要遇到將一張照片進行簡單的處理。比方說證件照或者一些雜亂的背景照進行人物的摳取,這時候我們就要用到一個功能叫做"摳圖"功能。那麼如果你是新手小白,不會專業的摳圖技巧,該怎麼辦呢?
  • 給人像照換個背景,想去哪就去哪|試試手機5步摳圖換背景!
    將人像照片摳圖換背景,是很多宣傳海報常用的方法。如今手機後期也能實現,小夥伴們完全可以給自己的照片換個背景。世界各地,海邊峽谷,想「置身」何處?自己「動手」去。這種換背景的方法,主要藉助後期「雙重曝光」功能。
  • Kaggle Deepfake競賽|換臉圖像、AI換臉視頻、高仿語音版Deepfake,這項開掛的技術未來還能走多遠?(3/3)
    這證明了,目前我們應該將這種技術的用途和使用方法劃分清晰,如哪些是用於技術實驗研究,幫助媒體世界的技術發展,而又有哪些則是基於圖像的虐待,是抱有惡性目的的(非自願色情換臉、政治攻擊等)。如果我們能劃分清楚這項技術的用途。就可以有針對性的努力降低風險,減輕危害。
  • PS教程:不辜負摳圖的努力,掌握實用合成技能,人物換背景案例
    本期教學視頻連結附在文末。前期小編分享了許多關於摳圖的教程,摳圖的後一步工作就是合成,如何將摳出的素材更好地融合到新的環境中呢?本期教學視頻以更換人物背景為例,分享合成圖片需要掌握的基礎知識,好,下面就來具體演示一下吧。
  • 扣底圖換背景的二三事兒(摳圖和顏色選擇)
    我們在拍攝的產品照片中大多會選擇白色背景,因為這樣後期修改的空間會比較大,可以讓我們在電腦上放開手腳的去完善自己的作品。更換背景這一技巧早已不陌生了,可是要想找到一個真正適合的背景又談何容易呢,今天樂樂就教大家一個簡單穩妥的更換背景的方法。首先我們先找一張案例圖,在圖中我們會看到產品比較單一,拍攝的效果沒的說,可是總是覺得很單薄,不像是一個成品圖的效果。
  • 一夜之間火遍網絡的「變臉黑科技」APP,一秒人人都能「當明星」
    早在2017年12月,國外某ID名為「deepfakes」的Reddit論壇用戶就首次將自己製作的AI換臉視頻發布在網絡上,它能夠把照片和視頻中的人臉替換成任何想要替換的人臉,普通人肉眼難辨真假。更誇張的是,「deepfakes」把情色電影裡的女主角換成了蓋爾·加朵等好萊塢明星,一石激起千層浪。
  • 摳圖換背景那不叫後期合成!
    來源:http://www.zcool.com.cn/article/ZNTUyODI4.html作者:學設計的小豆芽先給大家看一組摳圖換過背景的圖片
  • 原來這項技術曾被用於情色視頻!
    早在2017年12月,國外某ID名為「deepfakes」的Reddit論壇用戶首次將自己製作的AI換臉視頻發布在了網絡上,它能夠把照片和視頻中的人臉替換成任何想要替換的人臉,且效果十分逼真,有些肉眼甚至難以分辨真假。
  • 紅酒雖好但真假難辨?教你4點竅門,一分鐘輕鬆辨別真假紅酒
    導語:紅酒雖好但真假難辨?教你4點竅門,一分鐘輕鬆辨別真假紅酒「何以解憂,唯有杜康」,據說杜康酒是中國的第一款白酒,是酒祖杜康在夢中獲得釀酒秘方,從而釀造而成,從此以後,白酒也在中國相繼產生,可是自從清朝末期,外國人來到中國,紅酒也被外國人帶到了中國。
  • 網友感嘆:真假難辨!
    網友感嘆:真假難辨!都說2021年是選秀元年,可除了《華彩少年》也就只有《青春有你3》的進度稍微快了一點。目前《青春有你3》的中國學員基本已經全部公之於眾了,而近日有網友驚喜地發現這一季的大廠學員簡直撞臉大半個娛樂圈,其中有十位學員撞臉肖戰、王源等男星,甚至其相似度已經到了看過對比圖的網友都驚嘆真假難辨的地步。
  • 綠景摳圖?你也能通過手機製作特效背景大片~
    >說到摳圖大家第一印象應該是靜態圖摳,所以今天給大家帶來的當然是與眾不同的GIF和視頻摳圖效果。怎麼樣,通過摳圖只留下主物體就可以隨心所欲的更換背景是不是很棒,讓我們快來看看如何製作吧!3.老規矩右上角齒輪處設置解析度大小。
  • 通道摳圖搞定黑色背景圖片!好用!
    我們常常會看到很多黑色背景的圖片,比如玻璃杯、羽毛和火焰等,這種素材的摳圖方法很多。我們今天要做的是使用其中一種方法統統搞定,是不是非常省心。 原圖:(我們首先用羽毛來示範)
  • 來自華強北的力量,iPhone11魔改iPhone12:真假難辨!
    但華強北的搞機大神卻因為沒落,在藉助線上電商紅利再次火了一把,幾乎沒有數碼技術是它們搞不定的!早些時候,華強北還能山寨復刻iPhone6的模型,並且以假亂真在市場上流通,當時很多果粉也是上當了。但隨著蘋果全面屏時代到來,iPhone的設計難度越來越大,加上iOS系統幾乎無法被破解,因此山寨iPhone也是從這幾年開始銷聲匿跡了。