【本文轉(zhuǎn)載自公眾號(hào)“計(jì)算機(jī)視覺life”】 導(dǎo)言:在VALSE 2021大會(huì)上,奧比中光展示自研的最新3D智能摳圖算法。該算法專為近年興起的視頻會(huì)議與直播帶貨等場(chǎng)景研發(fā),可實(shí)時(shí)摳取清晰的3D人像及物品,彌補(bǔ)了傳統(tǒng)2D摳圖的諸多局限性。本文中,奧比中光研究院楊飛宇博士將詳細(xì)闡述3D智能摳圖算法的技術(shù)原理,并對(duì)3D摳圖對(duì)比2D摳圖的效果提升做出詳細(xì)分析。
1. 背景
隨著視頻功能的廣泛使用,直播帶貨和視頻會(huì)議產(chǎn)業(yè)蓬勃發(fā)展。摳圖作為一項(xiàng)將目標(biāo)物體和背景分離的技術(shù),被廣泛應(yīng)用于直播帶貨和視頻會(huì)議領(lǐng)域。比如,在直播帶貨時(shí),通過(guò)將背景渲染成華麗的直播間來(lái)吸引粉絲。又比如,在視頻會(huì)議時(shí),將家庭背景替換為其他背景,來(lái)保護(hù)與會(huì)者的隱私。
然而,傳統(tǒng)的2D摳圖存在較多局限性。奧比中光自研的最新3D智能摳圖算法,能夠很好地彌補(bǔ)2D摳圖的缺點(diǎn)。
綠幕摳圖用于直播帶貨和人像摳圖用于視頻會(huì)議
2. 2D摳圖存在的問題2.1. 綠幕摳圖:成本高,使用困難,不能摳綠色物品
綠幕摳圖是在以綠幕搭建的拍攝場(chǎng)景下拍攝出綠幕視頻,并在制作后期根據(jù)顏色匹配去掉背景像素,以提取前景的一種摳圖方式。綠幕摳圖被廣泛用于直播和影視制作當(dāng)中,具有兩大優(yōu)點(diǎn):良好的摳圖效果和能夠摳任意類別的物品。
但是,綠幕摳圖也存在3個(gè)明顯的缺點(diǎn)。首先,由于背景的顏色是綠色,那么為了獲取比較真實(shí)的前景顏色,在前景中就不能出現(xiàn)和背景顏色接近的綠色物品,比如某些綠色植物。
其次,綠幕環(huán)境成本高,搭建困難。為了保證摳圖的質(zhì)量,綠幕攝影棚對(duì)光照具有較高的要求。比如要求采用均勻的光照以保證綠色背景的一致性,并且要求采用多個(gè)光源來(lái)避免陰影的產(chǎn)生。這使得綠幕環(huán)境具有較高的成本,京東上一套普通級(jí)別的綠幕摳圖環(huán)境,包括燈光組、背景布、支架等,價(jià)格可以達(dá)到數(shù)千元,并且繁瑣且復(fù)雜搭建過(guò)程對(duì)于小白用戶也非常不友好。
最后,由于綠幕攝影棚設(shè)備眾多,不能移動(dòng),也使得在運(yùn)動(dòng)中的拍攝受到了攝影棚大小的限制。
綠幕摳圖場(chǎng)景和設(shè)備
2.2. 視頻會(huì)議軟件:只能摳人,不能摳物品,不能保護(hù)隱私
由于新冠疫情的影響,遠(yuǎn)程辦公已經(jīng)成為越來(lái)越普遍的工作方式。視頻會(huì)議軟件作為遠(yuǎn)程辦公的基礎(chǔ)工具,受到廣泛應(yīng)用。常見的視頻會(huì)議軟件都提供了2D摳圖即虛擬背景功能,為用戶提供了一定的保護(hù)隱私和增加趣味性的作用,如騰訊會(huì)議、Zoom、Microsoft Teams、飛書、釘釘?shù)取?/p>
相比綠幕摳圖,視頻會(huì)議的摳圖具有便攜、簡(jiǎn)單易用的優(yōu)點(diǎn)。但是,現(xiàn)有商用軟件的摳圖功能也并非盡善盡美,而是普遍存在以下兩個(gè)缺點(diǎn):
首先,不能摳物品。在會(huì)議過(guò)程中,與會(huì)人員通常需要展示文件或者物品。然而,受到算法本身的限制,視頻會(huì)議軟件只能摳圖人的部分,不能摳取物品的部分。只有當(dāng)物品被放在人的區(qū)域以內(nèi)的時(shí)候,物品才能夠被當(dāng)做人的一部分,被一起摳出來(lái)。這樣的限制嚴(yán)重地影響了用戶的使用體驗(yàn)。
視頻會(huì)議軟件的2D摳圖存在細(xì)節(jié)丟失和多摳背景人物的問題
另外,視頻會(huì)議軟件并不能夠起到很好的保護(hù)隱私的作用。主流視頻會(huì)議軟件所采用的摳圖算法主要是基于2D圖像的人像分割,這使得任何被算法識(shí)別為人的區(qū)域都會(huì)被摳出來(lái),比如墻上的人像繪畫、背景中的不相關(guān)人員等都會(huì)被算法摳出,導(dǎo)致被視頻會(huì)議的另一方看見。此時(shí)虛擬背景并不能起到保護(hù)隱私的作用,這種情況顯然是用戶不希望發(fā)生的。
2.3. 摳取物品和無(wú)背景建模的矛盾
在2D摳圖的算法中,摳取物品通常需要背景建模。比如綠幕摳圖是通過(guò)限制背景顏色來(lái)進(jìn)行背景建模的一種策略。除了綠幕摳圖的背景建模之外,微軟提出一種任意背景建模的算法Background Matting [1, 2]。它采用拍一張固定背景的方式來(lái)進(jìn)行背景建模,這使得該算法能夠摳取場(chǎng)景以內(nèi)的任意物品。
Background Mating的背景建模過(guò)程
紋理相近時(shí)背景建模的2D摳圖失效
但是,這同時(shí)也帶來(lái)了許多局限性。首先,背景建模后照相機(jī)就不能移動(dòng),因?yàn)橐苿?dòng)會(huì)導(dǎo)致已經(jīng)拍好的背景失效。這使得運(yùn)動(dòng)中的拍攝(比如車內(nèi)視頻會(huì)議)無(wú)法實(shí)現(xiàn),一點(diǎn)點(diǎn)干擾(如手機(jī)的震動(dòng))就會(huì)使算法的效果受到嚴(yán)重破壞,只能重啟算法才能解決問題。
其次,當(dāng)人物和背景顏色相近時(shí)算法也會(huì)失效。比如穿白色衣服的人身后有白色墻面,這時(shí)算法不能區(qū)分前景和背景,導(dǎo)致人的衣服不能被很好地?fù)赋觥?/p>
最后,由前景導(dǎo)致的陰影區(qū)域也會(huì)被一同摳出。因?yàn)樵诒尘芭臄z時(shí)陰影是不存在的,算法會(huì)誤認(rèn)為陰影區(qū)域就是前景,將其錯(cuò)誤地?fù)赋觥?/p>
為了實(shí)現(xiàn)摳物品的目的,除了背景建模的方法,有人提出也可以用語(yǔ)義分割算法。比如在COCO [3]數(shù)據(jù)集上訓(xùn)練的語(yǔ)義分割模型,采用多分類的方法也可以對(duì)物品進(jìn)行分割。但是,語(yǔ)義分割算法是根據(jù)類別來(lái)分割物體的,比如通過(guò)COCO數(shù)據(jù)集訓(xùn)練的算法可以對(duì)80類物品進(jìn)行分割,這樣的種類數(shù)量在真實(shí)的應(yīng)用場(chǎng)景下是遠(yuǎn)遠(yuǎn)不夠的。以直播帶貨為例,帶貨的主播今天甚至不知道明天要帶貨的商品是什么種類。因此,語(yǔ)義分割方法從原理上并不適用。
3. 奧比中光3D智能摳圖3.1. 基本思想
針對(duì)以上2D摳圖的缺點(diǎn),奧比中光提出一種基于RGB-D的摳圖的方法,能夠很好地彌補(bǔ)2D摳圖的缺陷,為用戶提供更優(yōu)質(zhì)的直播帶貨和視頻會(huì)議體驗(yàn)。
奧比中光3D摳圖的基本思想是利用三維空間的距離信息來(lái)區(qū)分需要摳取的前景(比如主播和商品)與不需要被摳出的背景(比如墻面,雜物和不相關(guān)的人物)。
利用深度圖和彩色圖預(yù)測(cè)前景的分割
首先,用戶可以自定義一個(gè)感興趣的距離范圍l,比如距離相機(jī)l=1m 的距離,并且讓所有需要被摳出的目標(biāo)處于小于l范圍內(nèi),不相關(guān)的背景都處于大于或等于l范圍之外。在使用的過(guò)程中,距離l可以根據(jù)用戶的需要在線改變,而不用重啟算法。
然后,利用深度圖的距離信息,可以獲取范圍內(nèi)前景的mask。為了更好地獲取邊緣細(xì)節(jié),我們將mask轉(zhuǎn)化為trimap(三色圖:前景=255,背景=0,未知區(qū)域=128)。
最后將color和trimap圖通過(guò)神經(jīng)網(wǎng)絡(luò)推理,預(yù)測(cè)前景的精細(xì)蒙版,即用于摳圖的alpha圖。
α=N[θ;c,T(d
其中α代表前景的alpha圖;N代表神經(jīng)網(wǎng)絡(luò);θ代表神經(jīng)網(wǎng)絡(luò)的參數(shù);c代表彩色圖;d代表深度圖;T代表由mask生成trimap的函數(shù)。
3.2. 算法設(shè)計(jì)
我們?cè)O(shè)計(jì)了如下的網(wǎng)絡(luò)來(lái)進(jìn)行前景分割的預(yù)測(cè)。首先,考慮到這項(xiàng)任務(wù)的目的是去精細(xì)化所給trimap的邊緣,因此網(wǎng)絡(luò)的頭部并不需要太多的語(yǔ)義信息,所以我們將常見的5次下采樣簡(jiǎn)化到3次。
然后,trimap和color被分別提取特征之后進(jìn)行融合,用于跳躍連接為網(wǎng)絡(luò)的頭部補(bǔ)充更加豐富的細(xì)節(jié)信息,促進(jìn)邊緣的精細(xì)化預(yù)測(cè)。同時(shí)我們提出了FFM(feature fusion module)模塊利于attention的機(jī)制,來(lái)提高融合的效果。
最后,我們采用逐級(jí)精細(xì)化的方法把以上網(wǎng)絡(luò)作為一個(gè)stage,用多個(gè)stage串聯(lián)的方式使得預(yù)測(cè)的分割越來(lái)越精細(xì)。并且可以通過(guò)調(diào)整stage的數(shù)量實(shí)現(xiàn)精度和速度直接調(diào)節(jié)。
處理圖像的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
上述的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)能夠較好地預(yù)測(cè)單張圖片的邊緣信息。然而,在實(shí)際應(yīng)用過(guò)程中我們處理的更多的是視頻信息。
我們?cè)诶靡陨暇W(wǎng)絡(luò)對(duì)視頻信息進(jìn)行處理的時(shí)候發(fā)現(xiàn),預(yù)測(cè)的前景邊緣具有比較顯著的抖動(dòng)。這種抖動(dòng)主要來(lái)自于RGB-D相機(jī)的深度圖和幀間信息的缺失。目前的深度相機(jī)或多或少均存在抖動(dòng)或者關(guān)聯(lián)信息缺失導(dǎo)致的穩(wěn)定性問題,采用基于ToF的RGB-D相機(jī)可使邊緣更穩(wěn)定。但是,即使采用了ToF相機(jī),由于幀與幀之間的關(guān)聯(lián)信息的缺失,也會(huì)導(dǎo)致?lián)笀D的效果缺乏穩(wěn)定性。
為了解決以上問題,我們進(jìn)一步改進(jìn)了單幀圖像的神經(jīng)網(wǎng)絡(luò),增加了幀間信息的處理機(jī)制。我們?cè)谠休斎氲幕A(chǔ)上增加一個(gè)temporal分支,用于提供上一幀的信息。 該分支的輸入為上一幀的彩色圖color_(t-1)和上一幀預(yù)測(cè)的分割alpha_(t-1)。實(shí)驗(yàn)表明,增加上一幀的彩色圖有利于移植快速移動(dòng)時(shí)的拖影,而增加上一幀的分割有利于保持靜止?fàn)顟B(tài)下的穩(wěn)定性。
處理視頻的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
3.3. 數(shù)據(jù)準(zhǔn)備
為了使算法在復(fù)雜背景下具有較好的摳圖效果,我們?cè)O(shè)計(jì)了以下數(shù)據(jù)采集方案。
針對(duì)復(fù)雜背景的視頻會(huì)議和直播帶貨數(shù)據(jù)采集
(1)選擇復(fù)雜的背景環(huán)境,比如開放的辦公室環(huán)境,具有較強(qiáng)的雜物和光線的干擾,增加模型在復(fù)雜環(huán)境下的魯棒性。
(2)為了增強(qiáng)算法摳取物品的能力,我們讓采集人員手持物品,比如書本和水杯,通過(guò)這種方式可以模擬直播帶貨的場(chǎng)景需求。
(3)我們觀察到現(xiàn)有的視頻會(huì)議軟件對(duì)手指部分并不能夠很好地?fù)赋觥榱烁玫負(fù)溉∪讼竦募?xì)節(jié),我們?cè)黾邮种覆糠值膱D像,使得在摳取人物的時(shí)候手指更加完整。
(4)我們?cè)诒尘碍h(huán)境中增加不相關(guān)人員的干擾,比如在一定的距離外出現(xiàn)背景人物,通過(guò)這種方式防止對(duì)人像的過(guò)度預(yù)測(cè),起到更好的保護(hù)隱私,只摳取目標(biāo)人物的效果。
2D和3D摳圖效果對(duì)比
4. 效果展示及3D摳圖的優(yōu)勢(shì)
由于3D信息的加持,3D摳圖相比傳統(tǒng)的2D摳圖有著許多天然的優(yōu)勢(shì),比如摳物品、摳細(xì)節(jié)、保護(hù)隱私等。通過(guò)分析市面上可用的視頻會(huì)議軟件,我們對(duì)比了2D摳圖和本文的3D摳圖的預(yù)測(cè)效果。
4.1. 手持使用,背景不限
本文提出的3D摳圖算法可以手持使用(如Vlog 拍攝),即相機(jī)的移動(dòng)不會(huì)使摳圖效果發(fā)生變化。2D摳圖中背景建模的摳圖方法,如Background Matting [3]方法要求固定機(jī)位,通常需要配合三腳架使用,不具備可移動(dòng)性,大大限制了用戶的使用范圍。而本文的3D摳圖通過(guò)距離區(qū)分前景和背景的原理具有天然的優(yōu)勢(shì),無(wú)需背景建模,允許在使用過(guò)程中隨意移動(dòng)相機(jī)。
4.2. 摳人摳物,種類不限
本文提出的3D摳圖算法可以摳取任意類別的前景(只要有深度信息),即實(shí)現(xiàn)了通用的前景分割。目前市面上普遍使用的基于語(yǔ)義分割的2D摳圖無(wú)法實(shí)現(xiàn)通用的前景分割,因?yàn)榍熬暗念悇e是無(wú)窮大。所以,2D的摳圖算法只能依賴背景建模才能實(shí)現(xiàn)通用的前景分割,但依然受到前景和背景不能是相似紋理的限制。在紋理相近時(shí),背景建模的2D算法也會(huì)失效,而3D摳圖能夠通過(guò)深度信息找到前景和背景的邊界,完成相似紋理下的高難度摳圖。
4.3. 保護(hù)隱私,安全可靠
如上圖所示,本文提出的3D摳圖算法可以過(guò)濾掉背景中不相關(guān)的干擾人物,從而起到保護(hù)隱私的作用。比如在家進(jìn)行視頻會(huì)議時(shí),通常我們不希望對(duì)方看到自己的家庭成員。然而,部分2D摳圖采用語(yǔ)義分割的方法,無(wú)法判斷人物距攝像頭的距離,從而會(huì)把所有匹配到的人物都摳出來(lái)。3D摳圖支持用戶自定義摳圖距離,比如在0.5 m、1 m等,從而靈活地過(guò)濾掉背景人物,充分起到保護(hù)隱私的作用。
4.4 深度加持,細(xì)節(jié)更好
如上圖所示,本文提出的3D智能摳圖算法可以更好地?fù)溉☆^發(fā)、手指等細(xì)節(jié)。這是由于手指和頭發(fā)處的深度為算法提供了先驗(yàn)信息,有利于算法將細(xì)節(jié)處摳取地更加完整。相比之下,2D摳圖算法容易導(dǎo)致細(xì)節(jié)丟失,需要配合更高的分辨率才能摳取細(xì)節(jié),但更高的分辨率會(huì)導(dǎo)致算法速度更慢,體驗(yàn)更差。3D摳圖網(wǎng)絡(luò)輕,只有3次下采樣,網(wǎng)絡(luò)更多的關(guān)注細(xì)節(jié)信息而非語(yǔ)義信息,這使得算法的速度和邊緣精度上都比2D更有優(yōu)勢(shì)。
5. 局限性
由于深度信息的使用,3D摳圖相比2D摳圖具有顯著的優(yōu)勢(shì),但算法對(duì)深度圖的質(zhì)量具有高度的依賴。3D摳圖對(duì)于深度容易丟失的物品,比如透明、反光、低反物品的摳取存在困難。另外,深度相機(jī)的性能也會(huì)影響摳圖的質(zhì)量。良好的相機(jī)D2C(靜態(tài)下depth和color對(duì)齊)有利于提高靜態(tài)摳圖的效果;良好的相機(jī)幀同步(depth和color具有一致的運(yùn)動(dòng)行為),有利于提高動(dòng)態(tài)摳圖效果。因此,建議使用者選擇性能更加優(yōu)異的奧比中光深度相機(jī)與3D摳圖算法配合使用。
6. 參考文獻(xiàn)
[1] Sengupta, Soumyadip, et al. "Background matting: The world is your green screen." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.
[2] Lin, Shanchuan, et al. "Real-time high-resolution background matting." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.
[3] Lin, Tsung-Yi, et al. "Microsoft coco: Common objects in context." European conference on computer vision. Springer, Cham, 2014.
/ END /
分享到