蔣朝平 蔡衛(wèi)峰
(南京理工大學(xué)自動(dòng)化學(xué)院 南京 210094)
近年來,深度學(xué)習(xí)在計(jì)算機(jī)視覺領(lǐng)域取得了突破性進(jìn)展,特別是深度無監(jiān)督學(xué)習(xí)已成為圖像識(shí)別領(lǐng)域重要的研究方向[6~7]。相比于傳統(tǒng)方法手動(dòng)提取特征,卷積網(wǎng)絡(luò)可以自動(dòng)提取特征,并具有較好的泛化能力。本文提出了一種有效的視頻背景圖像提取算法,該算法采用卷積自動(dòng)編碼器自動(dòng)提取輸入圖像的特征,將圖像的前景當(dāng)作噪聲處理,通過重建圖像獲得視頻的背景信息。
卷積自編碼器[8]使用卷積層代替了傳統(tǒng)自編碼器的全連接層,結(jié)合了傳統(tǒng)自編碼器的無監(jiān)督學(xué)習(xí)方式和卷積神經(jīng)網(wǎng)絡(luò)的卷積和池化操作。卷積自動(dòng)編碼器包含編碼器和解碼器,編碼器對(duì)輸入數(shù)據(jù)進(jìn)行卷積和下采樣,找出數(shù)據(jù)中的局部特征,并采用權(quán)值共享減少參數(shù)計(jì)算量,解碼器進(jìn)行逆向還原,常規(guī)卷積自動(dòng)編碼器具有卷積層、下采樣層、上采樣層、反卷積層,示意圖如圖1所示。
圖1 卷積自編碼網(wǎng)絡(luò)示意圖
2.2.1 卷積自動(dòng)編碼器背景圖像提取模型
Pathak等[9]提出一種卷積編碼器修補(bǔ)網(wǎng)絡(luò),可根據(jù)周圍環(huán)境生成缺失圖像的內(nèi)容,在卷積自編碼器中,丟失的圖像被視為噪聲,受此啟發(fā),本文采用編解碼網(wǎng)絡(luò)將輸入圖像的前景視為噪聲,編碼器將輸入圖像表示為潛在的特征向量(潛在特征向量會(huì)從輸入圖像中提取最有用的信息),再使用解碼器從表示的特征向量中恢復(fù)背景圖像,從而重構(gòu)背景圖像。本文采用的編碼器具有兩個(gè)卷積層,每層卷積層又采用最大池化方式降低維度,最后采用全連接層生成20維向量來表示原輸入圖像,解碼器具有一個(gè)全連接層和兩個(gè)反卷積層,重構(gòu)出和原圖像同尺寸的背景圖像,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。本文在編碼器和解碼器的每一層最后都添加了非線性激活函數(shù),非線性函數(shù)可以提取比PCA等常用線性變換更有用的特征,使模型具有更強(qiáng)的學(xué)習(xí)能力,編碼器的卷積層使用relu(x)激活函數(shù),解碼器的第一層采用relu(x)激活函數(shù),第二層采用sigmoid(x)激活函數(shù),激活函數(shù)的圖形和公式如圖3所示。
圖2 卷積自編碼網(wǎng)絡(luò)結(jié)構(gòu)圖
圖3 本文使用的激活函數(shù)
2.2.2 模型參數(shù)
本文采用的輸入圖像為單通道灰度圖,大小為460*320,共有250張圖像參與訓(xùn)練和5張圖像參與測試。編碼部分的卷積層包含32個(gè)卷積核,步長為1,填充方式為SAME,共產(chǎn)生32張映射圖,池化層采用最大池化,步長為2,保留圖像最有意義的特征,全連接層將圖像編碼成20維向量;解碼部分采用Un-pooling(反池化)[10]擴(kuò)充特征圖,該方法基于tf.nn.conv2d_transpose()函數(shù),使用s×s的內(nèi)核替換特征圖中s×s的左上角的元素,其余值置為0,相比于上采樣方法,該方法使用了Max-pooling的位置信息,避免將內(nèi)容直接復(fù)制來擴(kuò)充特征圖,實(shí)現(xiàn)方式如圖4所示(考慮到Max-pooling采用的核為2×2,故Un-pooling的核大小也為2×2)。反卷積采用5×5的卷積核,步長為1,填充方式SAME。
圖4 Un-pooling
2.2.3 SSIM損失函數(shù)
可見,在淹水期間,各處理水稻株高的生長速率與對(duì)照相比,淹水天數(shù)增多,株高增高越快。分蘗期淹水處理之后,各處理水稻株高和節(jié)間的生長速率與對(duì)照相比,淹水天數(shù)增多,增長速率減慢,最終表現(xiàn)為成熟期水稻的株高和節(jié)間變得越矮越短。一方面原因是適度淹水條件影響下促進(jìn)了水稻的抗逆反應(yīng),水稻通過伸長水面上的莖葉等途徑獲取氧;另一方面原因是淹水促進(jìn)了“乙烯”的產(chǎn)生,間接促進(jìn)根、干和葉的生長,以及提高節(jié)間細(xì)胞分裂,以往的研究中亦有類似結(jié)論的報(bào)道[9-10]。但當(dāng)淹水深度和淹水時(shí)間不斷增加,逐漸超過水稻的耐受限度時(shí),其后期生長能力下降致使成熟期水稻株高的降低。
損失函數(shù)用于計(jì)算網(wǎng)絡(luò)的輸入圖像和網(wǎng)絡(luò)的重構(gòu)圖像之間的相似性。Zhao等[11]通過圖像超分辨率、聯(lián)合去噪等實(shí)驗(yàn)得出結(jié)論:L2損失函數(shù)由于基于像素比較差異,沒有考慮人類視覺感知,也未考慮人的審美觀,峰值信噪比指標(biāo)高,并不代表圖像質(zhì)量好,故本文未采用L2損失函數(shù)優(yōu)化自動(dòng)編碼器。Zhou等[12]提出結(jié)構(gòu)相似性指數(shù)用來評(píng)估兩幅圖像之間的誤差,該損失函數(shù)考慮了亮度、對(duì)比度和結(jié)構(gòu)行指標(biāo),即考慮了人類的視覺感知,本文采用SSIM損失函數(shù)進(jìn)行優(yōu)化,從而減小輸入圖像和重構(gòu)圖像的誤差。
首先假設(shè)亮度未離散信號(hào),則平均亮度如式(1)中μx所示,亮度比較函數(shù)l(x,y)是μx和μy的函數(shù),如式(2)所示。
其中,C1=(k1L)2,是用來維持穩(wěn)定的常數(shù)。離散信號(hào)對(duì)比度估計(jì)可表示為式(3),對(duì)比度比較函數(shù)c(x,y)是σx和σy比較的結(jié)果,如式(4)所示。
其中,C2=(k2L)2,是用來維持穩(wěn)定的常數(shù),σx2是x的方差,是y的方差,再將信號(hào)除以標(biāo)準(zhǔn)差,使得比較的兩個(gè)信號(hào)具有單位標(biāo)準(zhǔn)差,即歸一化信號(hào),如式(5)所示:
s(x,y)是基于歸一化信號(hào)得到的兩張圖像間的結(jié)構(gòu)比較函數(shù),如式(6)所示。
將三部分合起來,可表示出整體的相似性度量,如式(8)所示。
將亮度比較函數(shù)l(x,y)、對(duì)比度比較函數(shù)c(x,y)、結(jié)構(gòu)性比較函數(shù)s(x,y)和組合函數(shù)f(·)代入式(8)可得SSIM函數(shù)的表達(dá)式,如式(9)所示。
結(jié)構(gòu)相似性的范圍為0~1,當(dāng)兩張圖像完全相同時(shí),SSIM的值為1。結(jié)構(gòu)相似性指數(shù)從圖像組成的角度將結(jié)構(gòu)信息定義為獨(dú)立于亮度、對(duì)比度并反映結(jié)構(gòu)的屬性,作為本文自動(dòng)編碼器的損失函數(shù),可構(gòu)建精準(zhǔn)的背景圖像。
本文采取卷積自動(dòng)編碼器提取視頻背景圖像,將某一監(jiān)控視頻場景的250幀單通道圖像輸入卷積網(wǎng)絡(luò),卷積網(wǎng)絡(luò)將輸入圖像降維至20維向量表示,將前景圖像視作噪聲,再通過解碼重構(gòu),選用SSIM損失函數(shù),降低重構(gòu)損失,提取視頻背景圖像。
基于卷積自動(dòng)編碼器的實(shí)驗(yàn)環(huán)境包括硬件設(shè)備和軟件配置兩部分,測試所用硬件配置為Intel Core i7-8700 CPU,GPU為NVIDIA GeForce GTX 1060(顯存為6G),內(nèi)存為16GB。文章的軟件環(huán)境為Window10 64bit,CUDA Toolkit 9.0,OpenCV 3.4,Python 3.6與Tensorflow 1.12.0。
本次實(shí)驗(yàn)采用數(shù)據(jù)集為UCSD數(shù)據(jù)集[13]和Avenue數(shù)據(jù)集[14]。UCSD數(shù)據(jù)集通過固定在學(xué)校某位置的攝像機(jī)拍攝人行道獲得,數(shù)據(jù)記錄了不同場景人群的運(yùn)動(dòng)模式,包含行人、卡車、滑板、自行車、碾壓草坪等。從每個(gè)場景記錄的視頻大約為200幀,UCSDPed1數(shù)據(jù)集拍攝了行人走向和遠(yuǎn)離攝像機(jī)的運(yùn)動(dòng)場景,UCSDPed2數(shù)據(jù)集拍攝了行人平行與攝像機(jī)運(yùn)動(dòng)的場景。在Avenue數(shù)據(jù)集中,每段視頻的時(shí)長在一分鐘到兩分鐘之間,包括人在樓梯和地鐵入口之間行走、奔跑、閑逛等場景。
UCSD異常數(shù)據(jù)集(包含Ped1和Ped2兩個(gè)場景),采用.tif格式圖像序列記錄每個(gè)場景,需要將.tif格式轉(zhuǎn)換為.jpg格式,Avenue數(shù)據(jù)集使用.avi格式的視頻文件存儲(chǔ)每個(gè)拍攝場景,需要從原視頻中提取每一幀轉(zhuǎn)換成.jpg格式,再將所有的圖像調(diào)整為460×320大小并轉(zhuǎn)換為灰度圖像以降低維數(shù)。
本文從Ped1、Ped2和Avenue數(shù)據(jù)集中隨機(jī)挑選250張圖像作為訓(xùn)練集,另準(zhǔn)備5張圖像作為測試集。圖5為Avenue的實(shí)驗(yàn)結(jié)果,其中圖5(a)為訓(xùn)練集圖像,圖5(b)為選擇的測試圖像,圖5(c)是灰度處理后的測試圖像,圖5(d)為重構(gòu)的背景圖像。圖6和圖7分別為Ped1和Ped2的實(shí)驗(yàn)結(jié)果,圖像排列方式同圖5(訓(xùn)練時(shí)間為34min)。
圖5 Avenue數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
圖6 Ped1數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
圖7 Ped2數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
圖8(a)、圖8(b)、圖8(c)分別為Avenue數(shù)據(jù)集、Ped1數(shù)據(jù)集、Ped2數(shù)據(jù)集訓(xùn)練的損失值。對(duì)于不同場景,訓(xùn)練損失下降速度略有不同,但一般訓(xùn)練5次左右,即可達(dá)到穩(wěn)定值,表明對(duì)于不同視頻場景,模型穩(wěn)定性較好。
圖8 三種數(shù)據(jù)集訓(xùn)練損失
3.4.1 基于不同損失函數(shù)
本文將SSIM損失函數(shù)和MSE損失函數(shù)分別進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖9所示,圖9(a)兩張背景提取圖像結(jié)果相差不大,但圖9(b)與圖9(c)結(jié)果對(duì)比發(fā)現(xiàn),基于MSE損失函數(shù)提取的結(jié)果存在重影、前景遺留的現(xiàn)象,基于SSIM損失函數(shù)提取結(jié)果則無前景遺留和重影的問題。
圖9 基于不同損失函數(shù)結(jié)果對(duì)比
3.4.2基于不同提取方法
本文將基于卷積自動(dòng)編碼器背景提取方法與基于SVD背景提取方法[15]對(duì)比,實(shí)驗(yàn)結(jié)果如圖10所示。圖10(a)對(duì)比可以發(fā)現(xiàn),基于SVD方法背景提取存在模糊現(xiàn)象,圖10(b)與圖10(c)對(duì)比發(fā)現(xiàn)基于SVD方法提取的背景存在前景對(duì)象的殘影,精度不夠高,本文方法提取的背景更為清晰。
圖10 基于不同提取方式結(jié)果對(duì)比
本文結(jié)合深度學(xué)習(xí)的優(yōu)勢,使用卷積自動(dòng)編碼器提取固定場景的監(jiān)控視頻背景圖像,相比于傳統(tǒng)方式提取背景,卷積自動(dòng)編碼器具有更強(qiáng)的泛化能力,對(duì)于不同場景,提取的背景無殘影、重影、模糊等問題,但是采用深度學(xué)習(xí)的方式提取視頻背景圖像需要較高的硬件成本,需要一定的訓(xùn)練時(shí)間,從實(shí)驗(yàn)結(jié)果看,采用灰度圖像進(jìn)行和低分辨率圖像可大大較少訓(xùn)練時(shí)間,滿足日常監(jiān)控視頻背景圖像提取的需求。