李志遠,雷為民,張 偉,謝天植
(東北大學 計算機科學與工程學院,沈陽 110169) E-mail:leiweimin@ise.neu.edu.cn
隨著網絡傳輸技術的發展,尤其是5G技術的商用,實時視頻會話成為了個人交際和企業溝通的重要手段.而在視頻會議及其他視頻會話場景下,為了不泄露用戶的隱私,特別是用戶不想暴露的位置或環境細節信息,背景替換技術顯得尤為重要.背景替換問題的實質是語義分割的重要應用方向之一——人像分割.人像分割與像素級別分類的語義分割不同,人像分割只需將圖像像素分割為兩個類別,即前景和背景,稱之為掩碼圖像(前景用白色表示,背景用黑色表示),與將人像從圖片中提取出來的摳圖方法基本相似,如泊松摳圖[1]、貝葉斯摳圖[2]和GrabCut摳圖[3]等.由于實時視頻會話的背景替換問題對精度和速度都有較高的要求,而傳統的摳圖方法雖然獲取的前景精度較高,但是這種方法主要依賴于額外三分圖的輸入,且需要人工干預,不能實現“無監督”式的自動化摳圖,因此不能滿足實時視頻會話類業務的要求.
目前大部分的語義分割網絡在具有較高平均交并比(Mean Intersection over Union,MIoU)的同時,難以達到實時處理的速度要求.現有的一些語義分割網絡為了提升精度往往增加層數,降低了圖像的分割速度;另外一些網絡采用輕量級網絡或降低輸入圖片分辨率等方式以提高處理速度,然而卻降低了分割的精度.實時視頻會話場景下,為了給用戶提供較好的體驗質量(Quality of Experience,QoE),背景替換的處理速度與替換效果均需達到較高水平.基于以上問題,本文提出了基于深度學習的視頻圖像實時背景替換方法.本文的主要創新點如下:1)提出一個支持視頻圖像實時背景替換的方法,該方法主要包括區域劃分模塊、分割模塊以及融合模塊,在滿足實時處理速度要求的同時,保證較高的MIoU;2)區域劃分模塊將視頻圖像劃分為前景和背景兩個不同的區域,前景區域通過分割模塊將前景提取后送入背景替換模塊,背景區域則直接送入背景替換模塊,以減弱提取前景像素時背景像素的干擾;3)分割模塊中采用不同分支,上層分支提取高層次的語義信息,下層分支提取豐富的空間信息,通過將兩個分支提取的信息融合,保證了較高的精度.本文的方法在特定的數據集上訓練并驗證,MIoU達到93%以上,在GTX 1060機器上驗證實時處理速度達到33.4幀/秒(Frames Per Second,FPS),在速度與精度方面都能取得較好的效果.
近年來,全卷積網絡[4](Fully Convolutional Networks,FCN)在多項指標上都取得了良好的性能.FCN可適應任意尺寸輸入,結合不同深度層結果的跳躍結構,引入底層特征補充上采樣信息.Vijay Badrinarayan等人提出的SegNet[5],采用編解碼結構,同FCN相比,SegNet沒有直接將底層特征全部引入解碼器部分,而是將底層最大池化的索引記錄下來,在進行反卷積操作時不再使用反卷積,而是將特征直接放置到索引值所在的位置上去,大大減少了模型參數.Olaf Ronneberger等人提出的U-Net[6]網絡,同樣采用編解碼結構,編碼層采用卷積加池化下采樣,解碼層采用反卷積上采樣,并融合裁剪后同等尺寸大小的底層特征圖.Liang-Chieh Chen等人提出的DeepLab系列,將語義分割的精度提升到一個新的水平.DeepLabV1[7]首次采用空洞卷積替換傳統卷積和池化,增大感受野,同時提升特征圖分辨率,采用全連接條件隨機場提升分割邊界的精度.DeepLabV2[8]對V1進行改進,添加空間金字塔池化模塊,通過不同的膨脹率提取上下文信息.DeepLabV3[9]則是對金字塔池化模塊進行了改進,去除條件隨機場.PSPNet[10]同樣采用金字塔池化模塊,提取多尺度信息.SwiftNet[11]為了提升速度,采用降低圖片分辨率的方式以加快特征提取速度,通過將輸入圖像降低為更小的分辨率,損失了小物體以及物體邊緣的細節信息,導致結果較差.本文提出的基于深度學習的視頻圖像實時背景替換方法針對現有的語義分割網絡在速度與精度上不能得到很好的平衡的問題,采用區域劃分模塊將視頻圖像劃分為前景區域和背景區域,以提升前景像素的提取精度;分割模塊采用不同分支處理的方式,更好地將不同層次信息進行融合,以達到實時性和精度更好的平衡;背景替換模塊依據分割模塊計算出的掩碼圖像將前景與背景進行融合,完成背景替換.實驗結果表明,本文的背景替換方法能以實時的處理速度進行背景替換,具有較高的性能水準.
本文提出的實時背景替換方法整體結構如圖1所示.該方法由3個模塊組成:區域劃分模塊、分割模塊與背景替換模塊.

圖1 背景替換結構示意圖Fig.1 Schematic of background replacement structure
在實時視頻會話場景中,用戶很少發生移動,導致了背景信息的大量冗余.本文的目的是將用戶從視頻圖像中提取出來,背景部分用不相關的圖片替換.重復分析冗余背景像素的語義信息會浪費大量的計算時間,且一些背景像素被誤判成前景像素時,會導致用戶位置和環境信息的泄露.因此本文采用區域劃分模塊將輸入圖像劃分為前景區域和背景區域,模塊結構如圖2所示.區域劃分模塊得到的前景區域圖像中用戶占主要部分,背景像素包含較少,因此通過提取前景區域的方式,減小輸入圖片的尺寸,提升分割模塊的分割速度,同時削弱了提取前景像素時,背景像素對前景像素造成的影響.而背景區域圖像則是通過標識框的坐標參數,對輸入圖像進行分割得到.背景區域圖像只包含背景信息,因此直接送入到背景替換模塊.

圖2 區域劃分模塊結構示意圖Fig.2 Schematic of area classification module structure
在視頻會話類業務中,人往往是視頻會話中的關注點,所以只需要將人所處區域快速地提取出來即可,本文使用了OpenCV中的人像檢測模型,該模型主要包括方向梯度直方圖(Histogram of Oriented Gradient,HOG)和支持向量機(Support Vector Machine,SVM).HOG通過邊緣方向密度分布分析圖像中局部的目標形狀與特征,基于此特征,可以識別出人像區域和背景區域,之后使用SVM對計算得到的特征進行分類,劃分出前景區域和背景區域.
在視頻會話中,由于人像動作幅度較小,所以在一定長度的視頻圖像序列中,人像提取框只會發生極小的變化,因此不需要對每一幀都進行人像檢測.在實時視頻會話中,視頻可以被劃分成多個GOP(Group of Pictures),每個GOP由一個I幀(幀內編碼幀)和數個B/P幀(需要對前幀或前后幀進行參考才能進行編碼的幀)組成.對視頻中的每一個GOP的I幀進行人像檢測,而同組的B/P幀則按照相同的區域進行劃分.實時視頻中,GOP長度一般為2秒,因此本文的方法中對間隔兩秒的視頻圖像幀進行區域劃分,極大的降低了時間復雜度.
目前的語義分割網絡中,DeepLab系列的提出逐漸提升了分割的精度.DeepLabV3去除了全連接的條件隨機場,并加入空間金字塔池化模塊,雖然處理速度較快,但是分割精度較低.DeepLabV3的前置網絡采用預訓練的ResNet50[12]提取特征,修改第4個卷積塊,采用空洞卷積,之后送入金字塔池化模塊擴大感受野以融合更多的上下文信息.雖然DeepLabV3提取了較多的上下文信息,但是沒有融合低層次的細節信息.本文受DeepLabV3的啟發,提出一種采用不同分支的分割網絡作為分割模塊以提取掩碼圖像,分割模塊結構如圖3所示,上層的特征提取網絡采用ResNet50以平衡特征提取的精度和計算速度,而為了更好的分割效果,下層分支采用3個卷積塊,以得到高分辨率的細節信息,最后將兩個分支提取的不同信息進行融合,保證了較高的分割精度.

圖3 分割模塊結構示意圖Fig.3 Schematic of segmentation module structure
3.2.1 上層分支
在實時視頻會話場景下,為了實現速度與精度之間的平衡,本文采用ResNet50作為前置網絡提取高層次的語義信息.然后通過不同膨脹率的空洞卷積金字塔池化模塊(Atrous Spatial Pyramid Pooling,ASPP)并行提取上下文信息.ASPP是語義分割網絡中的常用模塊,模塊使用不同的膨脹率分支提取特征圖的多尺度信息,能夠獲取更加全面的上下文信息.通過研究發現,當膨脹率接近特征圖大小時,3×3卷積由于空洞的填充所覆蓋的區域已經遠遠大于特征圖,只有中心區域能起到作用,其作用本質上是一個1×1卷積,因此ASPP模塊直接使用了一個1×1卷積,同時加入全局平均池化分支對特征圖上所有元素進行整合.將以上各分支得到的特征圖串聯輸入到一個1×1卷積層后,傳入到下一個模塊中.ASPP結構如圖4所示.

圖4 ASPP結構示意圖Fig.4 Schematic of ASPP structure
3.2.2 下層分支
下層分支則是將原始圖像通過3個卷積塊以獲得豐富的細節信息,每個卷積塊由3×3卷積、BN層以及ReLU層組成,stride設置為2,輸出特征圖尺寸為原始圖像的1/8大小,包含更豐富的空間信息.融合模塊則是為了進一步優化分割結果,將不同層次的信息進行融合,模塊結構如圖5所示.該模塊將第3個卷積塊和ASPP模塊提取到的特征進行融合,增強最終的分割結果.

圖5 融合模塊結構示意圖Fig.5 Schematic of fusion module structure
ResNet50第3個卷積塊的輸出特征通過注意力模塊進一步提取對當前目標更關鍵的信息.本文選用SEBlock[13]調整各通道的關系,對提取到的有效信息進一步細化,包含前景較多信息的特征通道會獲得較高的權重,包含背景信息較多的特征通道獲得較小的權重,從而增強主要信息的影響,減弱次要信息的影響,進一步提升性能.SEBlock結構如圖6所示,主要執行Squeeze和Excitation兩個操作.

圖6 SEBlock結構圖Fig.6 SEBlock structure
Squeeze操作:將輸入圖像中的特征通道,通過全局平均池化,轉變為一個具有全局空間信息的實數.Squeeze操作依據公式(1)實現:
(1)
其中zc代表c個特征圖經過全局平均池化后的輸出值,H、W、C分別表示特征圖的高、寬與通道數,uc(i,j)是第c個特征圖在(i,j)位置的值.
Excitation操作:主要是根據各個通道的依賴關系調整通道的權重,Excitation操作依據公式(2)實現:
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(2)
z是Squeeze操作的輸出,W1,W2是兩個全連接層需要學習的參數,σ表示sigmoid激活函數,δ表示ReLU激活函數.
(3)
最后依據公式(3)將最終得到的權重系數與模塊輸入相乘得到模塊最終的輸出.
背景替換模塊依據前景區域圖像和背景區域圖像分別進行不同的替換操作.該模塊將背景區域圖像的像素直接替換為設定的背景圖片像素;如果輸入是前景區域圖像的掩碼圖像,則依據此掩碼圖像進行背景像素替換,該過程依據公式(4)實現,其中*i,j代表(i,j)位置的像素值,b代表背景圖片,I代表前景區域圖像,s代表輸出結果.如果掩碼圖f中(i,j)位置像素值為255,則s中 (i,j)位置的像素為I對應位置像素值,否則為b對應位置像素值.背景模塊將兩個不同區域圖像的替換效果圖進行融合,得到最終的背景替換結果.
(4)
1)Supervisely Person數據集包含了5711張圖像,每張圖像都標注了人物的位置,共有6884人像目標,每張圖像被分為前景與背景兩部分.
2)aisegmentation數據集,是由網絡公司搜尋的圖像制作而成的數據集,數量為34427.
3)ADOBE DEEP IMAGE MATTING DATASET.在該數據集中挑選了420張人物分割數據集.
4)由本實驗室人員自行拍攝圖片,進行處理后得到的數據集,數據集包含了5982張圖片,分別對每張圖片中的人物進行提取.
本文共收集了46540張人物圖像,為了獲得更多的數據集以增加模型的魯棒性,將已有的圖像進行水平方向翻轉,得到同樣數量的新圖像加入訓練集.將所有圖像的分辨率設置為256×256,并將圖片按照8∶1∶1的比例分為訓練集、驗證集、測試集.
本文采用MIoU作為圖像分割精度的評價指標.MIoU表示兩個集合之間的交集和并集的比值.這個比值對應于圖像分割中則是真實值(ground truth)和預測值(predicted segmentation)之比.計算公式如式(5)所示,i表示真實值,j表示預測值,pij表示將i預測為j的概率.
(5)
本文采用FPS作為圖像計算速度的評價指標,FPS表示每秒處理幀數.在實時視頻會話中,當FPS不小于25時,才能形成連貫的視頻,因此本文以FPS大于25作為支持視頻圖像實時背景替換的參考標準.
本文采用了TensorFlow1.8.0作為深度學習框架,實驗操作系統為NVIDIA 1080Ti GPU,學習率為0.00075,batch size為32,損失函數為交叉熵函數,共100個epoch進行訓練.
本文使用相同的數據集以及訓練參數,對DeepLabV3、ICNet[14]以及本文的分割網絡模型進行對比實驗,分析本文提出的分割網絡應用于實時背景替換的可行性.
圖7為3個網絡模型的MIoU隨著epoch變換的關系曲線,本文分割模型的MIoU在30個epoch后曲線逐漸平滑,ICNet與DeepLabV3網絡曲線趨于穩定后,在本文網絡曲線的下方浮動.

圖7 MIoU與epoch關系圖Fig.7 Relationship of MIoU and epoch
將3個網絡在相同測試集下進行測試,測試結果由表1所示,可以看出本文的分割網絡模型在精度上優于ICNet和DeepLabV3網絡,而在速度上,3個網絡均已達到實時處理速度.因此在實時視頻會話中,本文提出的分割網絡模型具有較高的MIoU,在實時視頻會話類業務中,更有實用性價值.

表1 不同算法性能對比Table 1 Performance comparison of different algorithms
圖8為本文提出的分割網絡輸出與ICNet以及Deeplabv3輸出對比圖,可以看到本文分割網絡的分割結果在細節上更接近于真實值.

圖8 本文網絡與對比算法效果圖Fig.8 Comparison of the effect of this network and the comparison algorithm
利用本文提出的分割網絡作為分割模塊,并結合區域劃分模塊與背景替換模塊,對視頻圖像進行背景替換效果測試,圖9中,input是輸入窗口,output是輸出窗口,從替換效果可以看出,本文的背景替換效果較好,而且測試速度為33.4FPS,可以滿足實時視頻會話的要求.

圖9 背景替換效果演示Fig.9 Background replacement effect
本文提出的基于深度學習的視頻圖像實時背景替換方法,利用了實時視頻會話場景的特點,將視頻圖像劃分為前景區域和背景區域,大大降低了背景像素對前景像素提取的干擾,同時加快了分割模塊的計算速度.分割模塊中通過加入不同分支,修復了現有的大部分語義分割網絡中空間細節信息的丟失問題,在速度與精度方面均取得了較好的性能.背景替換模塊根據分割模塊計算的掩碼圖像完成最終的背景替換.雖然本文提出的網絡在一些細節上的處理效果不太理想,如發絲、手指間空隙等等,但是在實時視頻會話中,能夠較好的完成背景替換,保護用戶的隱私,具有一定的應用價值.