劉 峰,居 昊,干宗良
(1.江蘇省圖像處理與圖像通信重點(diǎn)實(shí)驗(yàn)室,南京 210003;2.南京郵電大學(xué)通信與信息工程學(xué)院,南京 210003;3.南京郵電大學(xué)教育科學(xué)與技術(shù)學(xué)院,南京 210003)
將由靜態(tài)或動(dòng)態(tài)相機(jī)所捕捉到的圖像或視頻進(jìn)行前背景分割是智能交通與視頻監(jiān)控領(lǐng)域一項(xiàng)重要的研究?jī)?nèi)容。前背景分割算法也常常作為預(yù)處理步驟在自動(dòng)駕駛、機(jī)器人自主定位與導(dǎo)航、異常檢測(cè)和識(shí)別中得到應(yīng)用。解決這一計(jì)算機(jī)視覺(jué)任務(wù)的基本算法為背景減法,即將圖像或視頻序列中的當(dāng)前幀與一個(gè)不斷進(jìn)行更新的背景模型相減,從而將運(yùn)動(dòng)對(duì)象與相對(duì)靜止的背景場(chǎng)景進(jìn)行分離。由于監(jiān)控?cái)z像頭分布廣泛,前背景分割需要對(duì)各種環(huán)境因素都具有良好的魯棒性。傳統(tǒng)的背景減法僅在特定類(lèi)型的簡(jiǎn)單場(chǎng)景中表現(xiàn)良好,而對(duì)于場(chǎng)景照明變化、動(dòng)態(tài)背景和相機(jī)運(yùn)動(dòng)等情況,傳統(tǒng)的背景減法并不能得到準(zhǔn)確的前背景分離效果。
過(guò)去幾年中已有多種算法對(duì)該問(wèn)題進(jìn)行了廣泛的研究,算法大約可以分為如下幾類(lèi):(1)基于統(tǒng)計(jì)學(xué)的方法;(2)基于特征提取的方法;(3)基于神經(jīng)網(wǎng)絡(luò)的方法?;诮y(tǒng)計(jì)學(xué)的方法以高斯混合模型(Gaussian mixed model,GMM)[1]為代表。該方法假設(shè)像素值在時(shí)間維度上服從混合高斯分布,以此為依據(jù)建立與更新背景模型,可以解決部分動(dòng)態(tài)背景問(wèn)題(如樹(shù)葉與水面的晃動(dòng))。另外,基于統(tǒng)計(jì)學(xué)的非參數(shù)模型,如ViBe 算法[2]與PBAS 算法[3]處理了前背景相似與照明變化的問(wèn)題?;谔卣魈崛〉姆椒ɡ米儞Q域中所提取到的特征進(jìn)行背景建模,通過(guò)背景模型提取運(yùn)動(dòng)前景。更進(jìn)一步地,LBSP 算法[4]、GOCM 算法[5]等利用紋理特征以應(yīng)對(duì)照明變化的情況?;谏窠?jīng)網(wǎng)絡(luò)的方法利用神經(jīng)網(wǎng)絡(luò)將輸入像素分類(lèi)為背景或前景。Babaee等[6]采用固定的背景模型,利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像像素進(jìn)行前背景分類(lèi)。而后神經(jīng)網(wǎng)絡(luò)方法多基于視頻序列,將多幀圖像輸入神經(jīng)網(wǎng)絡(luò)直接生成前景掩模圖。由于密集掩碼預(yù)測(cè)任務(wù)所需的精確性,近年來(lái)幾乎所有前背景分割算法都基于神經(jīng)網(wǎng)絡(luò),尤其是全卷積神經(jīng)網(wǎng)絡(luò)。但該類(lèi)算法依然存在一些問(wèn)題:(1)對(duì)于人類(lèi)而言,僅需2 幀圖像即可確定前景與背景。而現(xiàn)有算法多利用長(zhǎng)短期記憶網(wǎng)絡(luò)(Long short?term memory,LSTM)進(jìn)行時(shí)序特征融合[7],即網(wǎng)絡(luò)輸入端需要多幀圖像,易出現(xiàn)信息的冗余。(2)部分基于單幀圖像的方法[8]直接利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)當(dāng)前幀而得到?jīng)Q策邊界,這種方法既不直觀又極度依賴訓(xùn)練集,模型遷移能力差。
本文提出算法利用兩幀圖像進(jìn)行端到端地前背景分割。算法分為兩步驟,將輸入的2 幀圖像分為背景圖像與待提取圖像。第1 步利用全卷積孿生神經(jīng)網(wǎng)絡(luò)生成2 幀圖像的相似性度量圖。該部分工作基于文獻(xiàn)[9?10]所提出的思想,與之不同的是,算法對(duì)2 幀圖像中前景重疊的情況進(jìn)行進(jìn)一步處理,該相似性度量圖為后續(xù)網(wǎng)絡(luò)輸出提供基礎(chǔ),有助于后續(xù)網(wǎng)絡(luò)更加關(guān)注輸入圖像對(duì)中發(fā)生變化的部分。以文獻(xiàn)[10]為代表的算法需已知一張背景圖像,這在實(shí)際情況中往往是不現(xiàn)實(shí)的。當(dāng)輸入的2 幀圖像的前景位置出現(xiàn)重疊時(shí),該類(lèi)型算法并不能得到準(zhǔn)確的前背景分割結(jié)果。第2 步將第1步所得到的相似性度量圖與待提取圖像進(jìn)行融合,將融合結(jié)果輸入前景提取網(wǎng)絡(luò)。前景提取網(wǎng)絡(luò)為包含編碼器與解碼器的全卷積神經(jīng)網(wǎng)絡(luò),解碼器部分采用轉(zhuǎn)置卷積使網(wǎng)絡(luò)輸出與輸入尺寸相匹配。前景提取網(wǎng)絡(luò)整體采用U?net 型結(jié)構(gòu)[11]以提高網(wǎng)絡(luò)性能。
本文具體算法如圖1 所示。采用全卷積孿生神經(jīng)網(wǎng)絡(luò)對(duì)背景圖像與待提取圖像(image1,image2)∈RC×H×W進(jìn)行特征提取,得到特征圖(feature1,feature2)∈Rc×h×w。每個(gè)特征圖包含h×w對(duì)特征向量(f1,f2)∈Rc×1,計(jì)算每對(duì)特征向量之間的歐幾里得距離,得到二者之間的相似性度量圖。本文在CDnet2014 數(shù)據(jù)集中隨機(jī)選取背景圖像與待提取圖像[12],并將二者所對(duì)應(yīng)的ground truth 進(jìn)行疊加,合成新的ground truth,并將像素類(lèi)型由前景,背景兩類(lèi)重新分為發(fā)生變化,未發(fā)生變化與前景重疊3 類(lèi),豐富相似性度量圖的語(yǔ)義特征,具體細(xì)節(jié)將在后續(xù)章節(jié)中討論。該相似性度量圖map ∈R1×h×w中包含了圖像對(duì)中發(fā)生變化像素的位置信息與邊緣信息,可使后續(xù)前景提取網(wǎng)絡(luò)更加關(guān)注發(fā)生變化的部分。因此將map進(jìn)行上采樣并與image2進(jìn)行融合,得到網(wǎng)絡(luò)后續(xù)的輸入圖像塊image∈RC×H×W。對(duì)于融合后的圖像image,利用編解碼網(wǎng)絡(luò)進(jìn)行前景提取。解碼器采用轉(zhuǎn)置卷積進(jìn)行特征圖尺寸擴(kuò)張。為了提高前景提取準(zhǔn)確度,在每一次轉(zhuǎn)置卷積之后,將解碼器中的淺層特征圖與編碼器中相對(duì)應(yīng)的深層特征圖在維度上拼接。
圖1 本文算法框架流程圖Fig.1 Framework of the algorithm
圖2 空間金字塔池化結(jié)構(gòu)圖Fig.2 ASPP framework
與文獻(xiàn)[14]中的SPP 方法不同,在得到頂層特征之后,將特征圖進(jìn)行填充以保證池化后特征圖大小不變。為了應(yīng)對(duì)輸入圖像對(duì)尺寸不一致的問(wèn)題以及獲得多尺度信息,采用3×3 和5×5 的不同池化尺寸,通過(guò)控制步長(zhǎng)產(chǎn)生固定大小的輸出特征圖,再將特征圖進(jìn)行拼接后采用1×1 的卷積核固定輸出特征維度。由于池化與1×1 的卷積所需要的總參數(shù)量?jī)H為頂層特征圖的維度c=512,因此所提出的結(jié)構(gòu)相較于ASPP 參數(shù)量有著明顯的減少。算法將輸入像素對(duì)分為發(fā)生變化,未發(fā)生變化和前景重疊3 種類(lèi)型。通過(guò)該方式可以使網(wǎng)絡(luò)輸出的相似性度量圖中包含更多前景重疊部分的邊緣信息與正確的前景位置信息,更易于后續(xù)網(wǎng)絡(luò)進(jìn)行前景提取。
全卷積孿生神經(jīng)網(wǎng)絡(luò)通常采用對(duì)比損失以使同類(lèi)樣本之間距離縮小,不用樣本之間距離增大。對(duì)比損失公式為
式中:DW(X1,X2)代表兩個(gè)樣本特征X1和X2的距離;Y代表樣本標(biāo)簽;Y=0 表示像素點(diǎn)為前景點(diǎn),Y=1 表示像素點(diǎn)為背景點(diǎn);m為設(shè)定閾值;N為樣本個(gè)數(shù)。當(dāng)像素點(diǎn)為前景點(diǎn)時(shí),損失函數(shù)Lf=max(m-DW,0)2。在訓(xùn)練迭代過(guò)程中,輸入圖像對(duì)中代表前景點(diǎn)像素對(duì)之間的距離會(huì)趨于m。反之,當(dāng)像素點(diǎn)為背景點(diǎn)時(shí),損失函數(shù)Lb=DW2。即輸入圖像對(duì)中代表背景點(diǎn)像素對(duì)之間的距離會(huì)趨于0。從文獻(xiàn)[12]中的工作得知,使用歐幾里得距離相較于余弦相似度可以顯著提升網(wǎng)絡(luò)性能,所以令DW(X1,X2)=||X1,X2||2。
僅采用正負(fù)樣本對(duì)時(shí)并不能處理前景重合時(shí)的情況,如圖3 所示。圖3(a)中輸入圖像對(duì)中包含一幅背景圖,經(jīng)全卷積孿生神經(jīng)網(wǎng)絡(luò)后能夠輸出較準(zhǔn)確的前景圖。圖3(b)中輸入圖像對(duì)均包含前景物體,兩者并不重疊,經(jīng)全卷積孿生神經(jīng)網(wǎng)絡(luò)后所輸出的前景掩模中包含了前后兩幅圖中的前景物體,這顯然是錯(cuò)誤的。而在圖3(c)中輸入圖像對(duì)中的前景物體產(chǎn)生重疊,輸出的前景掩模圖為輸入圖像對(duì)中前景像素點(diǎn)的并集,顯然也并不能輸出正確的前景提取結(jié)果。采用正負(fù)樣本對(duì)無(wú)法表示兩幅圖像中像素的全部關(guān)系。針對(duì)于此,將樣本像素類(lèi)型分為3 類(lèi)。Y=0 表示前景;Y=1 表示前景重疊;Y=2 表示背景,對(duì)式(1)進(jìn)行微調(diào)為
圖3 不同輸入圖像對(duì)下相似性度量圖Fig.3 Metric results of different image pairs
顯然,在訓(xùn)練迭代的過(guò)程中會(huì)使前景重疊像素對(duì)之間的距離與前背景進(jìn)行區(qū)分。該相似性度量圖效果類(lèi)似注意力圖,通過(guò)每個(gè)像素點(diǎn)的不同像素值幫助后續(xù)網(wǎng)絡(luò)訓(xùn)練。C(Y)為以像素類(lèi)型Y為自變量的正則函數(shù),其功能為:在CDnet2014 中,存在相機(jī)視角旋轉(zhuǎn)的場(chǎng)景。在該場(chǎng)景下,輸入圖像對(duì)中同一像素位置所對(duì)應(yīng)的真實(shí)場(chǎng)景位置并不相同,并不能將該類(lèi)像素對(duì)的特征距離設(shè)置為0。本文參考文獻(xiàn)[15]中的思想,在原對(duì)比損失函數(shù)后添加較小的正則項(xiàng)C(Y),該正則項(xiàng)可以加快收斂速度并使網(wǎng)絡(luò)表現(xiàn)出更好的性能。
對(duì)得到的相似性度量圖map ∈R1×h×w中每個(gè)相似性值取整并對(duì)map 進(jìn)行上采樣得到與原圖像對(duì)同樣尺寸的相似性度量圖map'∈R1×H×W。將map'進(jìn)行偽彩色處理進(jìn)行可視化如圖4 所示。顯然,能夠從該相似性度量圖中得到前景像素的位置與前景重疊像素的位置。此外,還可以清晰地得出其區(qū)分處的邊緣信息。
圖4 前景重疊時(shí)的相似性度量圖Fig.4 Metric results with foreground overlaps
該相似性度量圖map'與待提取圖像image2即可為前景提取提供充足的先驗(yàn)信息,與常見(jiàn)的RGB?D 圖像語(yǔ)義分割中對(duì)D通道的處理方法不同,由于map'本身的語(yǔ)義信息與待提取圖像較為相似,因此圖像融合前無(wú)需利用神經(jīng)網(wǎng)絡(luò)對(duì)相似性度量圖進(jìn)行二次特征提取?;诖讼敕ǎ瑢ap'與image2進(jìn)行簡(jiǎn)單的相加并進(jìn)行歸一化,得到編解碼網(wǎng)絡(luò)的輸入image ∈R3×H×W。
對(duì)image ∈R3×H×W采用編解碼網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行端到端地前景提取,網(wǎng)絡(luò)具體結(jié)構(gòu)如圖5 所示。每層中包含參數(shù)(k,s)[b,H,W,D]分別表示卷積核大小、卷積步長(zhǎng)、輸入圖像高度和寬度及輸出特征圖維度。
圖5 編解碼網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Encoder-decoder network
解碼器對(duì)編碼器所提取的特征圖進(jìn)行上采樣以與原始輸入圖像尺寸相匹配。與文獻(xiàn)[16]中采用的空洞卷積和文獻(xiàn)[17]中采用的反池化不同,采用轉(zhuǎn)置卷積使特征圖大小加倍。訓(xùn)練時(shí)采用如式(4)所示的二進(jìn)制交叉熵?fù)p失函數(shù),即有
本文算法將全卷積孿生神經(jīng)網(wǎng)絡(luò)與編解碼網(wǎng)絡(luò)分開(kāi)訓(xùn)練,即先得到準(zhǔn)確的相似性度量圖之后再進(jìn)行前景提取。對(duì)于全卷積孿生神經(jīng)網(wǎng)絡(luò),采用預(yù)訓(xùn)練的Deeplabv2 模型對(duì)網(wǎng)絡(luò)的前10 個(gè)卷積層進(jìn)行權(quán)重初始化。選擇隨機(jī)梯度下降(Stochastic gradient descent,SGD)算法,設(shè)置weight decay=5×10-4,learning rate=1×10-5,batch size=4。訓(xùn)練時(shí)選取視頻中30% 的圖像幀作為訓(xùn)練集,10%作為驗(yàn)證集。測(cè)試時(shí),從視頻中剩余的60%圖像幀中選取1 張包含較多前景像素的圖像作為背景圖像,其余圖像作為待提取圖像進(jìn)行測(cè)試。
本文采用RE,F(xiàn)PR,F(xiàn)NR,PWC,F(xiàn)measure和Pre?cision 作為客觀評(píng)價(jià)指標(biāo),定義如下
式中:TP 表示預(yù)測(cè)結(jié)果為正確分類(lèi)的前景像素個(gè)數(shù);FP 表示錯(cuò)誤分類(lèi)的前景像素個(gè)數(shù);TN 表示正確分類(lèi)的背景像素個(gè)數(shù);TP 表示錯(cuò)誤分類(lèi)的背景像素個(gè)數(shù)。
2.3.1 客觀指標(biāo)分析
本文使用了CDnet2014 數(shù)據(jù)集所提供的評(píng)價(jià)工具對(duì)所提出算法進(jìn)行評(píng)估。表1 給出了本文算法在9 個(gè)不同場(chǎng)景下的6 項(xiàng)評(píng)價(jià)指標(biāo)。一般而言,前景提取算法需要在取得較高召回率的同時(shí)盡可能不損失算法精度,所以Fmeasure可以準(zhǔn)確評(píng)判算法優(yōu)劣程度??梢钥闯?,本文算法在所有場(chǎng)景中都取得了較高的Fmeasure值,尤其在全方位相機(jī)(Pan/Tilt/Zoom,PTZ)的場(chǎng)景下,由于對(duì)比損失函數(shù)中引入的較小正則項(xiàng)C(Y),相機(jī)焦距變換僅對(duì)前景提取準(zhǔn)確度有著微小的影響。但由于相機(jī)視角變換導(dǎo)致相似性度量圖產(chǎn)生偏差,所以該情況下性能指標(biāo)相對(duì)較低。
表1 不同場(chǎng)景下本文算法評(píng)價(jià)指標(biāo)Table 1 Performance evaluation in different scenes
本文將實(shí)驗(yàn)結(jié)果與其他7 種方法進(jìn)行了比較,分別為 Cascade CNN[18]、DeepBs[6]、FgSeg?Net_S[8]、FgSegNet[8]、IUTIS?5[19]、BSUV?Net[20]和SuBSENSE[21]。其中前3 種方法利用了基于監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,后2 種方法采用了傳統(tǒng)方法。
表2 給出了每個(gè)模型在9 個(gè)不同場(chǎng)景中各性能指標(biāo)的平均值。表中紅色表示評(píng)價(jià)指標(biāo)排名第一,藍(lán)色表示排名第二??梢钥闯鏊岢鏊惴ㄔ诟髦笜?biāo)中都有明顯的提高。為了直觀比較這些算法,本文選取了Baseline、Dynamic background、Bad weather、PTZ 和Intermittent motion 中的典型場(chǎng)景測(cè)試算法性能。分割結(jié)果如圖6 所示,第1 行為CD2014 中部分場(chǎng)景圖,第2 行為Groundtruth,第3行為本文算法所得結(jié)果,后續(xù)依次為FgSegNet、Cascade?CNN、DeepBS、IUTIS?3 和SuBSENSE 所得結(jié)果??梢钥闯?,本文算法所產(chǎn)生的分割結(jié)果更加接近Groundtruth。例如在第4 列的PTZ 場(chǎng)景中,人形掩模具有更豐富的細(xì)節(jié),這主要得益于全卷積孿生神經(jīng)網(wǎng)絡(luò)對(duì)于變化像素的粗定位與后續(xù)編解碼網(wǎng)絡(luò)細(xì)化分割。
圖6 不同復(fù)雜場(chǎng)景下算法前景提取結(jié)果Fig.6 Foreground subtraction results of different methods
表2 不同算法評(píng)價(jià)指標(biāo)對(duì)比Table 2 Performance evaluation of different methods
2.3.2 遷移能力分析
在考慮算法輸出結(jié)果準(zhǔn)確性的同時(shí)本文兼顧了模型的遷移能力。將本文算法與FgSegNet、BSUV?Net 算法在CDNet2014 數(shù)據(jù)集中Baseline場(chǎng)景下的訓(xùn)練結(jié)果應(yīng)用于SBI2015[22]數(shù)據(jù)集中的Highway 場(chǎng)景,所得結(jié)果的評(píng)價(jià)指標(biāo)如表3 所示。一些典型分割結(jié)果如圖7 所示。可以看出,在僅利用CDNet2014 數(shù)據(jù)集上的訓(xùn)練模型時(shí),其余兩種算法所檢測(cè)出的前景像素點(diǎn)較多,所以在RE 與FNR 兩項(xiàng)指標(biāo)上較好,但在檢測(cè)出的前景點(diǎn)中多數(shù)為誤檢。相比較而言,本文算法雖然RE 與FNR較低,但檢測(cè)較為準(zhǔn)確,作為模型優(yōu)劣評(píng)估標(biāo)準(zhǔn)的Fmeasure值最高,由此可見(jiàn)本文算法有良好的遷移能力。
圖7 SBI2015 數(shù)據(jù)集中不同算法分割結(jié)果Fig.7 Segmentation results of different methods in SBI2015
表3 SBI2015 數(shù)據(jù)集中不同算法指標(biāo)比較Table 3 Performance evaluation of different methods in SBI2015
本文將全卷積孿生神經(jīng)網(wǎng)絡(luò)與編解碼網(wǎng)絡(luò)相結(jié)合進(jìn)行端到端的前景提取,采用全卷積孿生神經(jīng)網(wǎng)絡(luò)產(chǎn)生圖像對(duì)之間的相似性度量圖使前景提取網(wǎng)絡(luò)更加關(guān)注前景像素,以獲得更加準(zhǔn)確的前景提取結(jié)果。實(shí)驗(yàn)證明,本文算法在保證前景提取結(jié)果準(zhǔn)確性的同時(shí)兼顧了遷移能力,利用數(shù)據(jù)集上的訓(xùn)練模型即可較為準(zhǔn)確地對(duì)其余數(shù)據(jù)集中的相似場(chǎng)景進(jìn)行前景提取。由前文可知,相似性度量圖本身已包含前景的位置與邊緣信息,理論上僅需將其與待提取圖像結(jié)合,通過(guò)簡(jiǎn)單的圖像處理方法即可獲得前景提取結(jié)果。但本文算法中數(shù)據(jù)集的評(píng)價(jià)指標(biāo)采用較為復(fù)雜的編解碼網(wǎng)絡(luò)進(jìn)行前景提取,并且訓(xùn)練時(shí)所需訓(xùn)練集的占比較大,難以進(jìn)行實(shí)際應(yīng)用,這也是未來(lái)算法的改進(jìn)方向。