潘廣貞,孫艷青,王 鳳
(中北大學(xué) 軟件學(xué)院,山西 太原 030051)
目前視頻車輛檢測中移動陰影[1]檢測去除方法有兩種:①基于模型的方法。采用先驗知識、如場景、照明條件、三維幾何計算陰影位置,建立陰影模型。代表性方法有Li J等提出基于統(tǒng)計模型的陰影檢測去除方法,引入統(tǒng)計參數(shù),建立陰影高斯模型,提高不同場景陰影檢測去除準(zhǔn)確率,然而對于有標(biāo)記的視頻圖像檢測過程存在缺陷[2]。②基于屬性的方法。通過分析幾何結(jié)構(gòu)和顏色特征識別陰影,如顏色、紋理、亮度、梯度。代表性方法有Kar A等提出的結(jié)合陰影特征和HSV顏色空間的陰影去除算法,利用投影機(jī)特征梯度投影分離陰影和車輛特征,提高陰影消除效率,但無法快速檢測海量視頻圖像目標(biāo)[3]。
針對大量視頻車輛檢測中需快速檢測并去除陰影問題,本文提出基于Fast RCNN目標(biāo)檢測模型,采用Hessenberg分解法和PCA分析法實時快速檢測運動車輛并去除陰影,采用深度學(xué)習(xí)思想自主學(xué)習(xí)運動車輛特征和陰影區(qū)域特征。
基于RCNN和SPP Net思想,Girshick提出Fast RCNN算法。Fast RCNN模型亮點在于[4]:①訓(xùn)練過程運用多任務(wù)損失,實現(xiàn)單步驟完成;②訓(xùn)練過程中所有層都可以得到更新;③不再需要磁盤存儲器作為特征緩存;④比RCNN的訓(xùn)練、測試時間快。對比VOC 2007數(shù)據(jù)可知在PASCAL VOC 2012上獲得mAP也更高,見表1。
表1 Fast RCNN等算法mAP效率比較
Fast RCNN模型原理[5]如圖1所示:通過深度卷積網(wǎng)絡(luò)(deep ConvNet)得到特征圖(feature map),在特征圖上以感興趣區(qū)域ROI(region of interesting)投影方式找出原圖候選目標(biāo)區(qū)域的對應(yīng)區(qū)域,用ROI池化方式獲得統(tǒng)一尺寸的候選目標(biāo)區(qū)域特征圖(ROI feature vector),經(jīng)過全連接層(FC)得到特征向量后,分別得到一個分類器(softmax)和一個回歸器(bbox)兩個輸出向量。
圖1 Fast RCNN目標(biāo)檢測模型
陰影由兩部分組成:自身和投射陰影。投影是由對象投影在場景上的區(qū)域,并且可進(jìn)一步分類為umbra(本影)和penumbra(半影)[6]。umbra對應(yīng)于直接光被對象完全阻擋的區(qū)域,而penumbra帶被部分阻擋,如圖2所示。
圖2 本影,半影的幾何關(guān)系
Hessenberg分解(HD)是一種特殊的方形矩陣,即上部Hessenberg分解在第一子對角線下方具有零條目,并且較低的Hessenberg分解在第一超對角線上方具有零條目。該矩陣具有與原始矩陣相同特征值。在特征值算法中,Hessenberg分解可通過與縮減步驟結(jié)合Shifted QR因式分解進(jìn)一步簡化為三角矩陣[7]。Hessenberg矩陣的形式可通過計算QTAQ獲得。
在監(jiān)控視頻中提取的前景分量包括車輛及其陰影(檢測到的陰影作為移動物體),這種現(xiàn)象可能導(dǎo)致對象合并,對象形狀畸變,甚至對象損失這些問題。因而基于移動陰影的檢測去除問題Moghimi M K等提出一種解決運動陰影存在的算法,首先,檢測通過背景減除方法的運動像素,這些移動像素包括車輛及其陰影[8]。然后,識別由Hessenberg分解的可能的陰影區(qū)域。關(guān)于檢測車輛的一些部分作為陰影,需要通過另一種方法檢測車輛區(qū)域,可使用PCA主成分分析法。因此,在通過PCA分析法進(jìn)行陰影細(xì)化之后,陰影將被正確檢測[9]。流程如圖3所示。
圖3 原有算法框架
移動陰影會導(dǎo)致運動對象檢測中的混亂和錯誤,前文提出的陰影檢測去除方法解決在前景提取中移動陰影被誤認(rèn)為移動車輛的一部分問題,但不能快速有效的檢測并去除,當(dāng)車輛較多,環(huán)境比較復(fù)雜的情況下(照明情況不同),上述人工特征提取算法已經(jīng)不能很好地檢測并去除陰影,因此本文提出基于Fast RCNN目標(biāo)檢測模型下的運動車輛陰影檢測去除的方法[10],算法實現(xiàn)過程如圖4所示。
(1)候選區(qū)域生成:一張圖像生成1 K~2 K個候選區(qū)域(采用Selective Search法)??刹捎肏essenberg分解估計候選陰影區(qū)域,通過計算前景圖像的HD并確定陰影和對象區(qū)域,將前景圖像分解為陰影和對象兩個部分。
Hessenberg特征用于從物體分離陰影區(qū)域,必須計算前景區(qū)域并且決定前景部分中的哪一個是陰影。因此,可在圖像的第一點提供m×m塊,向下滾動該塊大約1個像素的整個圖像,以保留任何區(qū)域,然后計算其中心像素在前景中的整個塊的Hessenberg分解
HESSENBERG=Hessenberg(blocks)
(1)
圖4 Fast RCNN+HD+PCA算法陰影檢測過程
其中,塊指示在前景中的可用塊,并且HESSENBERG是對這些塊計算Hessenberg分解的結(jié)果。在下一級中,整個Hessenberg分解元素的絕對值之和被計算為
(2)
其中,SAV是Hessenberg矩陣的絕對值之和,用于將運動像素分類為運動陰影和運動對象。經(jīng)驗證,移動陰影的SAV具有不同分布特征,可以通過對SAV設(shè)置合適閾值來檢測可能的陰影區(qū)域,如圖5所示。
圖5 HD法得到可能的陰影區(qū)域
(2)特征提?。簩γ總€候選區(qū)域,使用深度網(wǎng)絡(luò)(VGG16)進(jìn)行特征提取。
在(1)過程中,類似于陰影的暗區(qū)和擋風(fēng)的車輛的一些部分被檢測為運動陰影。因此,可采用PCA技術(shù)降維提取部分特征識別運動陰影和車輛區(qū)域,采用深度網(wǎng)絡(luò)計算特征圖。對于通過PCA的車輛檢測,需要各種種類車輛的數(shù)據(jù)庫,然后,計算數(shù)據(jù)庫中所有圖像的以下平均值,用于刪除不當(dāng)?shù)恼彰餍Ч?/p>
(3)
其中,si是每個數(shù)據(jù)庫圖像的列矩陣,其大小為:η是數(shù)據(jù)庫中所有可用圖像的平均值,n是數(shù)據(jù)庫中等于576的可用圖像的數(shù)量。計算的η從所有數(shù)據(jù)庫圖像中減去
(4)
其中,M是尺寸矩陣。該矩陣包括所有數(shù)據(jù)庫圖像減去方程式中計算的η。然后,計算數(shù)據(jù)庫的協(xié)方差矩陣
(5)
I是在用于檢測形狀像列矩陣的車輛的前景圖像中應(yīng)用的窗口,為了歸一化輸入圖像,前景中的窗口I減去等式(3)中獲得的η所得到的(具有與剩余數(shù)據(jù)庫相同的照明條件)圖像到PC中的投影由下式給出
P=PCT·(I-η)
(6)
其中,PC是主成分矩陣,其總能量是計算方差協(xié)方差矩陣(式(5))特征值的總能量的99%,并且P是應(yīng)用窗口在PC矩陣上的前景圖像中的投影。重建圖像I′由下式給出
I′=PC·P+η
(7)
其中,I′是數(shù)據(jù)庫的PC的新窗口的重建圖像??梢酝ㄟ^比較重建圖像和主圖像來分類這個新窗口。重建誤差由下式給出
(8)
其中,重建誤差是重建圖像和主圖像之間的誤差率。然后,可以將此窗口視為車輛類,否則應(yīng)將其視為非車輛類
(9)
可以通過確定合適的值Th,將前景圖像中的應(yīng)用窗口的可用圖像分為兩類作為車輛和非車輛。為了合并一個車輛周圍所有窗口,需要計算點(x,y)的平均值;指出它們之間的距離應(yīng)小于兩輛車之間的距離。最后,獲得的坐標(biāo)被認(rèn)為是候選車窗(依次為轎車、卡車、巴士、皮卡)如圖6所示。
圖6 PCA檢測結(jié)果
(3)類別判斷:將誤差率Error作為區(qū)分移動陰影與車輛特征送入具體的SVM分類器,判別是否屬于該類,也即將特征提取和分類融合到一個分類框架[11]。
(4)最后把得到的特征圖作為訓(xùn)練樣本進(jìn)行訓(xùn)練,測試。
本實驗采用的視頻數(shù)據(jù)來源于Pascal VOC2012數(shù)據(jù)集,采用不同環(huán)境、不同車型如轎車、卡車、巴士等大量視頻圖像,實驗環(huán)境如下:Intel(R)Pentium(R)CPU G645 @2.90GHz,4.00GB內(nèi)存Windows7 64位操作系統(tǒng)。開發(fā)平臺CNTK,可從git-hub中獲取基于CNTK深度學(xué)習(xí)框架的實驗代碼和訓(xùn)練參數(shù)[12]。
為了檢驗評價陰影消除的結(jié)果,需使用多目標(biāo)檢測準(zhǔn)確度MODA(multiple object detection accuracy)、多目標(biāo)檢測精度參數(shù)MODP(multiple object detection precision),綜合指數(shù)F。精度參數(shù)意味著多少可用的移動陰影檢測和分辨率意味著移動物體,像影子不確定陰影。在本文中可以通過使用HD特征影響準(zhǔn)確度參數(shù),并利用PCA提高精確度。準(zhǔn)確度、精度參數(shù)定義如下
(10)
(11)
(12)
該實驗是在訓(xùn)練樣本和測試樣本同等光照條件下進(jìn)行的,HD參數(shù)SAV一定,PCA參數(shù)Threshold為0~4,將傳統(tǒng)HSV顏色空間、統(tǒng)計參數(shù)SNP方法、原有算法及本文算法運用到視頻車輛圖像上,得到算法的陰影檢測準(zhǔn)確度MODA,檢測精度MODP,綜合指數(shù)F見表2。
表2 各種方法評價指標(biāo)分析
實驗采用由低到高三階段的光照強度,通過對不同運動車輛陰影檢測去除方法的應(yīng)用,對比MODA的結(jié)果,得出如圖7所示(圖中的白色區(qū)域表示檢測到的陰影)。
圖7 不同光照條件下的MODA比較
不同光照條件下傳統(tǒng)算法和改進(jìn)算法在MODA的結(jié)果比較見表3。
表3 不同光照條件下的MODA比較
本實驗在不同閾值Threshold基礎(chǔ)上將原有算法和改進(jìn)后加入的深度學(xué)習(xí)算法運用到視頻圖像數(shù)據(jù)庫中,運用CNTK工具對數(shù)據(jù)進(jìn)行訓(xùn)練以及測試得到如下結(jié)果[14],如圖8所示。
圖8 不同閾值Threshold下mAP比較
實驗結(jié)果表明:由表2知在加入深度學(xué)習(xí)思想基礎(chǔ)上,改進(jìn)后的算法在準(zhǔn)確度MODA、精度MODP方面都有所提升,由表3知在不同光照強度下改進(jìn)后的算法在MODA、mAP指標(biāo)方面也優(yōu)于原先算法。
移動對象的陰影通常會導(dǎo)致圖像分析中的嚴(yán)重錯誤,正確檢測目標(biāo)陰影并去除在智能交通系統(tǒng)應(yīng)用中至關(guān)重要。因此本文通過分析基于改進(jìn)的HD在監(jiān)控視頻中的車輛模型,引入一種移動陰影檢測算法。實驗過程引入深度學(xué)習(xí)思想,采用Fast RCNN模型對大量視頻車輛圖像進(jìn)行陰影檢測去除處理,將特征提取和分類結(jié)合,實現(xiàn)端到端的訓(xùn)練、測試。實驗結(jié)果表明,該方法在不同光照條件下可有效檢測運動陰影,比以往檢測算法MODA提高3.16%,mAP提高2.78%。
[1]Movia A,Beinat A,Crosilla F.Shadow detection and removal in RGB VHR images for land use unsupervised classification[J].ISPRS Journal of Photogrammetry & Remote Sensing,2016,119:485-495.
[2]Li J,Wang G.A shadow detection method based on improved Gaussian mixture model[C]//International Conference on Electronics Information and Emergency Communication.IEEE,2014:62-65.
[3]Kar A,Deb K.Moving cast shadow detection and removal from video based on HSV color space[C]//International Conference on Electrical Engineering and Information Communication Technology.IEEE,2015:1-6.
[4]Mao H,Yao S,Tang T.Towards real-time object detection on embedded systems[J].IEEE Transactions on Emerging Topics in Computing,2016,PP(99):1-1.
[5]LU Hongtao,ZHANG Qinchuan.Application of deep convolutional neural network in computer vision[J].Journal of Data Acquisition and Processing,2016,31(1):1-17(in Chinese).[盧宏濤,張秦川.深度卷積神經(jīng)網(wǎng)絡(luò)在計算機(jī)視覺中的應(yīng)用研究綜述[J].數(shù)據(jù)采集與處理,2016,31(1):1-17.]
[6]LI Haoliang,SHUI Qinghe,FAN Wenbing,et al.A new method of vehicle shadow removal based on edge detection[J].Journal of Zhengzhou University (Engineering Science),2014,35(5):11-14(in Chinese).[李浩亮,水清河,范文兵,等.一種新穎的基于邊緣檢測的車輛陰影去除方法[J].鄭州大學(xué)學(xué)報(工學(xué)版),2014,35(5):11-14.]
[7]Moghimi M K,Pourghassem H.Shadow detection based on combinations of hessenberg decomposition and principal component analysis in surveillance applications[J].IETE Journal of Research,2015,61(3):269-284.
[8]WANG Yang,YAN Yunyang,WANG Hongyuan.Bidirectional 2DPCA and SVM face recognition algorithms based on difference space[J].Computer Science,2012,39(12):268-271(in Chinese).[汪洋,嚴(yán)云洋,王洪元.基于差空間的雙向2DPCA和SVM人臉識別算法[J].計算機(jī)科學(xué),2012,39(12):268-271.]
[9]TU Zhengzheng.Research on video target detection and segmentation based on visual cognition theory[D].Hefei:Anhui University,2015(in Chinese).[涂錚錚.基于視覺認(rèn)知理論的視頻目標(biāo)檢測及分割研究[D].合肥:安徽大學(xué),2015.]
[10]Ren S,He K,Girshick R,et al.Faster R-CNN:Towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2016,39(6):1137.
[11]Gao C,Li P,Zhang Y,et al.People counting based on head detection combining Adaboost and CNN in crowded surveillance environment[J].Neurocomputing,2016,208(C):108-116.
[12]SUN Xiao,PAN Ting,REN Fuji,et al.Facial expression recognition based on ROI-KNN convolutional neural network[J].Journal of Automation,2016,42(6):883-891(in Chinese).[孫曉,潘汀,任福繼,等.基于ROI-KNN卷積神經(jīng)網(wǎng)絡(luò)的面部表情識別[J].自動化學(xué)報,2016,42(6):883-891.]
[13]Oron S,Bar-Hillel A,Avidan S.Real-time tracking-with-detection for coping with viewpoint change[J].Machine Vision and Applications,2015,26(4):507-518.
[14]HUANG Jianqiang,CAO Tengfei,GUO Wenjing,et al.Joint shadow detection algorithm for two color spaces[J].Computer Technology and Development,2014(7):95-98(in Chinese).[黃建強,曹騰飛,郭文靜,等.聯(lián)合兩種顏色空間的陰影檢測算法[J].計算機(jī)技術(shù)與發(fā)展,2014(7):95-98.]