張 浩,竇奇偉,欒桂凱,姚紹文,周 維
(云南大學 軟件學院,昆明 650091)(*通信作者電子郵箱zwei@ynu.edu.cn)
圖像背景更換是指通過圖像語義分割算法提取圖像的目標物體,然后應用圖像融合技術將目標對象與背景圖像很好地融合。隨著圖像處理軟件日趨流行以及在圖像處理和影視制作等方面的廣泛應用,背景更換的功能顯得尤為重要。傳統的處理方式基于圖像分割操作來完成[1],往往需要復雜的人工操作,不能夠自動地完成圖像背景更換[2]。因此,一些自動化的方法被提出。Qian等[3]提出一種通過檢測視頻中靜態物體的方法更換視頻中的背景圖像;Levin等[4]提出了一種封閉形式的自然圖像消光解決方案,根據前景和背景顏色的局部平滑度的不同計算出圖像的alpha通道,該方法也能實現背景更換操作。
卷積神經網絡(Convolutional Neural Network, CNN)是一種多層感知機(Multi-Layer Perceptron, MLP)的優化網絡結構,近年來,已經在圖像處理和圖像識別方面廣泛應用,由此使得圖像背景更換方面的研究也取得了很大的進展。Shen等[1]基于深度網絡全卷積網絡(Fully Convolutional Network, FCN)和matting Laplacian matrix的方式實現了深度神經網絡自動摳圖功能,并獲得了較好的效果;Zhu等[5]提出了一種基于深度學習的方法對人臉頭像進行摳圖實現背景更換;Xu等[6]采用encoder-decoder的方式進行圖像分割中的細節優化,獲得了較好的效果。卷積神經網絡雖然基于局部感受視野和計算權值共享的理念,能夠大幅度降低網絡的計算復雜度,但是隨著應用需求的復雜性增加,卷積神經網絡結構復雜性越來越高,計算量同樣可觀。尤其是在圖像分割領域中,首先需要經過計算復雜的向下卷積和池化(pooling)的過程來獲得全局視野[7],然后再通過多次反卷積操作獲得原始圖像尺寸的圖像。為了提高圖像背景更換網絡模型的效率,Yu等[8]和Chen等[9]在研究中提出了空洞卷積(Dilated Convolution),能夠通過卷積核的尺寸在不增加參數并且網絡在不采用向下卷積的情況下獲得更大的感觀視野,該方法已經在圖像語義分割研究方面取得了很好的效果[10-12]。
結合上述方法,本文采用空洞卷積和殘差網絡結合的方式,提出一種端到端圖像背景更換方法FABRNet(Fast Automatic Background Replacement neural Network)。本文的工作主要包括:1)提出一種端到端的自動圖像背景更換方法,采用空洞卷積,能在不增加參數數量的同時有效地控制卷積核的視野;2)在卷積網絡中采用雙線性插值,降低模型的計算復雜度,同時減少圖像變換過程中的失真對模型準確率的影響,優化卷積效果。
背景更換是一個比較復雜的工作,傳統的圖像背景多數基于圖像分割處理完成。Yang等[13]最早提出對兩個圖像的相應像素之間的光強差進行比較,分別在場景的前景和背景區域中具有不同強度的兩個紅外圖像(IR圖像),以形成區分圖像的前景和背景區域的alpha通道;然后將alpha通道應用于場景的可見光圖像,并且使用預選背景來替換原始背景。Penta等[14]提出一種基于圖像分割技術的自動搜索合適背景、更換圖片背景的方法,將搜索得到的最佳背景圖片與前景圖片合成更換好的圖片。Swanson等[15]通過獲取圖片中明暗差異的方式來獲取圖片的前景圖像和圖像的alpha通道,從而通過alpha通道將圖像中的背景去除,替換上其他所需的背景。Chen等[16]通過K最近鄰(K-Nearest Neighbors, KNN)算法進行圖像語義分割,得到圖像的前景和背景區域,通過該方法替換背景區域也可以達到背景更換的效果。
CNN最早由Lecun等[17]提出并在手寫數字識別應用中取得了突破性的進展,之后被廣泛應用于圖像識別[18]、語音檢測[19]、生物信息學[20-21]、文檔分析等多個領域。因為CNN在圖像處理中可以直接作用于圖像中像素值,能夠提取更廣泛、更深層次和更有區別度的特征信息[22]。通過卷積神經網絡提取圖像特征可以避免傳統方法中特征提取不充分以及特征提取過程中信息丟失的問題。目前已有學者將深度學習應用于圖像語義分割和圖像目標對象提取當中。Shelhamer等[7]率先提出一種“完全卷積”網絡模型,經過像素級的訓練能夠得到一個端到端的圖像語義分割模型,可以適應任何尺寸大小的圖片輸入,該方法在后續研究中得到了廣泛的應用。Chen等[9]結合空洞卷積網絡處理圖像語義分割任務,通過空洞卷積可以在不增加計算量和參數個數的同時控制卷積核的視野;此外還提出了空間金字塔池化(Atrous Spatial Pyramid Pooling, ASPP)網絡模型,該模型可以劃分不同尺寸的圖片對象。Xu等[6]提出方法分為兩個部分:第一部分采用的是自動編碼和解碼的深度卷積網絡得到一個灰度圖,第二部分網絡是一個小型網絡結構對第一部分得到的結果進行微調得到更精細的結果。Shen等[1]提出了一種用于人像的自動摳圖方法。這種方法不需要用戶交互,不僅考慮圖像語義預測,還考慮像素級圖像優化。
本文基于上述研究提出一種端到端的自動背景更換網絡系統:通過CNN提取圖像特征,實現背景自動更換;為了保證CNN效率,引入空洞卷積操作以取代encoder-decoder操作;此外,網絡中還加入了雙線性插值操作來有效降低上采樣過程帶來的圖像失真率。
為了驗證FABRNet的可行性,首先收集了Shen等[1]提供的2 000張包含原始圖片和alpha通道的公共數據集,為了擴大訓練數據集,使網絡得到更大的泛化能力,采用COCO數據集[25]作為背景圖像,對每個訓練樣本更換120張不同的背景圖片,保留其輸入圖片和背景圖片作為訓練樣本,從而得到204×103個訓練數據,采用其中的1 700個數據對象作為訓練數據,另外300個數據對象作為測試數據。
此外為了提高FABRNet對圖像細節信息的獲取能力,還收集了alphamatting.com[23]提供的公共數據集,該數據集中提供了較為精確的alpha通道,但由于此公共數據集數據樣本僅包含27個樣本數據,仍采用上述的方法對數據集進行擴張,實驗中使用該數據集對網絡模型進行微調。
2.2.1空洞卷積
背景更換圖像特征提取需要充分考慮局部信息和全局信息,該網絡中需要一個對全局特征和細節特征都敏感的模型,因此需要設計一種新穎的CNN結構模型來進行圖像背景更換。經典的CNN中通過pooling操作可以使卷積核獲得較大的感受視野,但是對于圖像背景更換需要輸出的是與原圖像尺寸相同的圖像,所以pooling后得到的較小的尺寸需要通過反卷積操作擴大圖像,但是如果向下pooling操作過多容易導致反卷積過程中信息損失量過大,而空洞卷積能夠控制卷積核的rate的大小,從而得到不同大小的卷積視野,如圖1所示。

圖1 空洞卷積示意圖Fig. 1 Dilated convolution illustration
圖1(a)中顯示的是經典的3×3的卷積核心作用的視野效果,每次覆蓋3×3的視野;圖1(b)中對應的是3×3的rate=2空洞卷積,實際上卷積核的大小仍然是3×3,但是卷積核的計算視野增大到了7×7,而實際參數只有3×3。感受野大小可以表示為:
v=((ksizse+1)×(rrate-1)+ksizse)2
此外,很容易看出,rate=1和rate=2的卷積同時作用的效果和傳統卷積核7×7單獨作用的效果相同,FABRNet通過四種不同rate的卷積核心作用于同一輸入能夠感受不同視野的特征。
2.2.2FABRNet結構
結合圖像背景更換的特定需求,本文提出一種新穎的網絡結構,如圖2所示。網絡主要分為三個主要部分:第一部分采用了VGG(Visual Geometry Group network)模型中的部分結構,該結構已經在計算機視覺中取得了顯著的成果,這部分中包含三個階段,第一階段和第二階段中分別包含兩個卷積層和一個maxpooling層,第三階段包含三個卷積層和一個向下卷積層;第二部分采用五種不同大小的卷積核和不同的rate的空洞卷積對網絡前一層輸出的結果進行卷積操作,為了保持圖像中信息位置分布,該部分還增加了殘差網絡結構;最后一部分為了得到原圖像尺寸,結構中采用1×1的卷積對得到的結果進行微調之后輸出3通道的圖像,為了減小圖像縮放中的誤差,網絡中額外增加了雙線性插值操作得到與原圖大小相同的尺寸。

圖2 FABRNet的網絡結構Fig. 2 Architecture of FABRNet
2.2.3雙線性插值
雙線性插值是圖像縮放中比較常用的算法,模型中使用該方法將卷積過程中縮小的圖片放大到原圖像尺寸,通過計算預測得到的圖片與真實圖片之間的損失,通過反向傳播的方法得到最優模型。具體計算過程如下:
假設圖片中存在點p(x,y)需要通過插值方式得到,但是我們已經知道圖片中存在確定的點{q1(x1,y1),q2(x2,y2),q3(x3,y3),q4(x4,y4),}滿足函數y=f(x)。如圖3所示,為了得到點p的像素值,首先需要在橫坐標方向進行插值得到點t1、t2的坐標值,插值的方法為:
同理得到y方向的插值:
通過上述三個公式即可得到p(x,y):

圖3 雙線性插值示意圖Fig. 3 Bilinear interpolation illustration
如圖2所示,FABRNet為雙線性插值操作層,目的是將圖片放大到原始圖像尺寸,通過該方法:一方面可以取代復雜的反卷積操作,降低模型的計算復雜度;另一方面可以減少圖像變換過程中的失真對模型準確率的影響。
模型采用的損失函數為預測生成圖片與真實圖片像素值的歐幾里得距離,并且加上常數ε以保證損失函數可微,具體表示形式如下:

該損失函數可以計算出預測圖像與標準圖像之間的像素差值,計算產生的誤差通過反向傳播的方法回傳到網絡中的每個節點,可以幫助網絡學習到圖像中主體特征、背景特征以及前景與背景之間的邊緣特征等。
實驗中訓練數據集中有204×103個訓練樣本,網絡輸入是大小為224×224像素的目標圖片和背景圖片,當模型在該數據集下訓練趨于穩定后再采用alphamatting.com[23]提供的數據集對模型進行微調,使得模型能夠學到更多細節特征,尤其是邊緣細節特征。模型的訓練和測試基于tensorflow[24]框架實現,具體結構如圖2所示。首先采用VGG-16[26]中訓練好的參數對網絡中第一部分進行初始化,其余部分采用隨機的初始化方式,訓練過程中學習率的范圍設置為[10-6,10-3],調整不同的學習率使網絡達到最優效果。
模型的訓練在NVIDIA TASLA T40M顯卡上完成,訓練過程大概需要4個epochs,訓練時間大概是7小時;測試過程中還對比了模型在GPU和CPU(intel i7 3.40 GHz)兩種設備上的表現能力。
實驗中通過公共數據測試集評測模型的有效性,并且與其他傳統的機器學習(KNN matting[16])、深度學習的方法(Portrait matting[1]和Deep matting[6])進行了比較分析。首先采用兩個通用衡量指標對實驗結果進行評測,分別是Rhemann等[23]提出的G(αp,αgt)和C(αp,αgt),它們已經被廣泛應用于比較圖片之間的差異。其中:G(αp,αgt)表示預測圖片與真實圖片之間的梯度誤差,C(αp,αgt)表示預測圖片與真實圖片的像素之間的均方差。計算公式如下:

其中:αp表示的是預測圖像,αgt是通過手工更換背景得到的圖像,k是圖像的像素點數,表示計算圖像的梯度。
實驗中首先比較了FABRNet與KNN matting[16]、Portrait matting和Deep matting在不同數量測試數據下的平均梯度差和像素內容差(為了能減少誤差,實驗中分別測試5次取平均值)。從表1中可以看出,FABRNet在不同數量的數據集的預測結果比其他三種方法都好。以1 000個測試樣本為例,FABRNet模型的G(αp,αgt)為3.82×10-2,比其他三種方法中表現最好的還低0.35×10-2;同樣FABRNet模型的C(αp,αgt)為2.94×10-1,比其他三種方法中表現最好的還低0.09×10-1。另外在測試樣本量為200和500時也有同樣的表現趨勢,最主要的原因有兩方面:首先,深度卷積網絡能識別復雜的圖片特征,充分提取背景更換需要的特征信息,并且空洞卷積有效兼顧了網絡中全局特征和細節特征的提取;其次,網絡模型中最后一層通過雙線性插值的方法調整圖片的大小,有效減少了圖像變換過程中的失真對模型準確率的影響,從而減小了整個網絡的誤差。
為了能更直觀地體現FABRNet的生成結果,圖4展示了FABRNet與其他三種模型得到的背景更換后的結果圖片。從圖4可以看出,KNN matting[16]和Portrait matting[1]兩種方法容易將背景區域分割為前景內容,且兩種方法中得到的圖像邊緣信息過于明顯;而Deep matting[6]方法中出現了前景區域被分割為背景區域的情況;本文提出的FABRNet模型通過增加空洞卷積和殘差網絡的方式使網絡有效獲取到了圖片的全局視野,并且通過不同大小的空洞卷積組合實現不同大小的視野信息,有效解決了上述這兩種缺陷。此外,從圖中還可以看出,本文方法可以有效彌補結果圖片中邊界信息過于明顯的缺陷。但是也可以發現,相比KNN matting[16]和Portrait matting[1],FABRNet模型也引入了一個新的問題:在得到的結果圖片與原圖之間存在微弱色差,這是因為在CNN的計算過程中存在數值計算誤差,導致結果圖片中像素與真實像素之間有略微的差異。

表1 不同測試樣本量的結果比較Table 1 Comparison of the results of different test samples

圖4 不同方法背景更換結果比較Fig. 4 Background replacement result comparison of different methods
實驗中還測試了不同模型分別在CPU和GPU上預測100~1 000張圖片背景更換過程的時間消耗,結果如圖5所示。圖5(a)為在CPU(intel i7 3.40 GHz)上加載訓練好的模型進行預測過程所消耗的時間,FABRNet相比其他方法在10個不同數量的測試數據集中消耗的時間都是最少的,而且數據量越大,與其他三種方法差異就越明顯,而傳統的KNN方法隨著數據量的增大其效率會有所下降;圖5(b)是在GPU上運行所消耗的時間對比,可以看出這四種方法的運行時間消耗趨勢基本相似。FABRNet的計算時間消耗無論是在GPU還是CPU上均有明顯優勢,這是因為其在模型中采用了空洞卷積和雙線性插值的方式,使得網絡計算量相比其他幾種方法有所降低。
本文提出的FABRNet方法是一種高效的圖像背景替換方法,基于具有優良圖像處理能力的CNN模型構建,將傳統的卷積操作替換為空洞卷積操作,并引入雙線性插值操作。該方法和傳統CNN相比,空洞卷積能夠在不增加參數數量的同時,擴大卷積操作過程中的視野感受區域,而雙線性插值操作的引入,也使得處理后的圖片更為接近真實圖片。實驗結果表明,FABRNet方法在效果上和運算速度上均優于對比模型。除此之外,FABRNet方法也有一些待優化之處,如模型參數選取的合理性、圖像縮放階段產生的誤差以及生成圖像和原圖像之間的色差等,這也將是我們下一步深入研究的內容。

圖5 不同方法之間時間消耗比較Fig. 5 Time consumption comparison of different models
參考文獻:
[1]SHEN X, TAO X, GAO H, et al. Deep automatic portrait matting [C]// ECCV 2016: Proceedings of the 2016 European Conference on Computer Vision. Cham: Springer, 2016: 92-107.
[2]LI B. Image background replacement method: US, US6912313 [P]. 2005- 06- 28.
[3]QIAN R J, SEZAN M I. Video background replacement without a blue screen [C]// ICIP 99: Proceedings of the 1999 International Conference on Image Processing. Piscataway, NJ: IEEE, 1999, 4: 143-146.
[4]LEVIN A, LISCHINSKI D, WEISS Y. A closed-form solution to natural image matting [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(2): 228-242.
[5]ZHU B, CHEN Y, WANG J, et al. Fast deep matting for portrait animation on mobile phone [C]// MM ’17: Proceedings of the 2017 ACM on Multimedia Conference. New York: ACM, 2017: 297-305.
[6]XU N, PRICE B, COHEN S, et al. Deep image matting [J/OL]. arXiv:1703.03872, (2017- 04- 11) [2017- 05- 16]. https://arxiv.org/abs/1703.03872.
[7]SHELHAMER E, LONG J, DARRELL T. Fully convolutional networks for semantic segmentation [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(4): 640-651.
[8]YU F, KOLTUN V. Multi-scale context aggregation by dilated convolutions [J/OL]. arXiv:1511.07122, (2016- 04- 30) [2017- 05- 16]. https://arxiv.org/abs/1511.07122.
[9]CHEN L-C, PAPANDREOU G, KOKKINOS I, et al. DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs [J/OL]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017 [2017- 05- 26]. http://ieeexplore.ieee.org/document/7913730/.
[10]CHEN L-C, PAPANDREOU G, KOKKINOS I, et al. Semantic image segmentation with deep convolutional nets and fully connected CRFs [J/OL]. arXiv:1412.7062, (2016- 06- 07) [2017- 04- 08]. https://arxiv.org/abs/1412.7062.
[11]CHEN L-C, YANG Y, WANG J, et al. Attention to scale: scale-aware semantic image segmentation [C]// CVPR 2016: Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 3640-3649.
[12]MOESKOPS P, VETA M, LAFARGE M W, et al. Adversarial training and dilated convolutions for brain MRI segmentation [C]// DLMIA 2017, ML-CDS 2017: Proceedings of the 2017 Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support. Cham: Springer, 2017: 56-64.
[13]YANG Y, SOINI R F. Background replacement for an image: US, US5574511 [P]. 1996- 11- 12.
[14]PENTA S K. Background replacement [C]// SIGGRAPH 2008: Proceedings of the 2008 International Conference on Computer Graphics and Interactive Techniques. New York: ACM, 2008: Article No. 59.
[15]SWANSON R L, ADOLPHI E J, SURMA M J, et al. Method and apparatus for background replacement in still photographs: US, US7834894 [P]. 2010- 11- 16.
[16]CHEN Q, LI D, TANG C-K. KNN matting [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(9): 2175-2188.
[17]LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[18]GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]// CVPR 2014: Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2014: 580-587.
[19]SWIETOJANSKI P, GHOSHAL A, RENALS S. Convolutional neural networks for distant speech recognition [J]. IEEE Signal Processing Letters, 2014, 21(9): 1120-1124.
[20]SINGH R, LANCHANTIN J, ROBINS G, et al. DeepChrome: deep-learning for predicting gene expression from histone modifications [J]. Bioinformatics, 2016, 32(17): i639-i648.
[21]PRASOON A, PETERSEN K, IGEL C, et al. Deep feature learning for knee cartilage segmentation using a triplanar convolutional neural network [C]// MICCAI 2013: Proceedings of the 2013 International Conference on Medical Image Computing and Computer-Assisted Intervention, LNCS 8150. Berlin: Springer, 2013: 246-253.
[22]唐智川,張克俊,李超,等.基于深度卷積神經網絡的運動想象分類及其在腦控外骨骼中的應用[J].計算機學報,2017,40(6): 1367-1378. (TANG Z C, ZHANG K J, LI C, et al. Motor imagery classification based on deep convolutional neural network and its application in exoskeleton controlled by EEG [J]. Chinese Journal of Computers, 2016, 40(6): 1367-1378.)
[23]RHEMANN C, ROTHER C, WANG J, et al. A perceptually motivated online benchmark for image matting [C]// CVPR 2009: Proceedings of the 2009 International Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2009: 1826-1833.
[24]ABADI M, AGARWAL A, BARHAM P, et al. TensorFlow: large-scale machine learning on heterogeneous distributed systems [J/OL]. arXiv:1603.04467, (2016- 03- 16) [2017- 04- 06]. https://arxiv.org/abs/1603.04467v1.
[25]LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO: common objects in context [C]// ECCV 2014: Proceedings of the 2014 European Conference on Computer Vision, LNCS 8693. Cham: Springer, 2014: 740-755.
[26]SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [J/OL]. arXiv:1409.1556, (2015- 04- 10) [2017- 03- 05]. https://arxiv.org/abs/1409.1556.