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