張雪芹, 方 婷, 李志前, 董明杰
(1.華東理工大學信息科學與工程學院,上海 200237;2.蘇州千視通視覺科技股份有限公司,江蘇 蘇州 215000)
基于類Haar特征和AdaBoost的車輛識別技術(shù)
張雪芹1,方婷1,李志前2,董明杰1
(1.華東理工大學信息科學與工程學院,上海 200237;2.蘇州千視通視覺科技股份有限公司,江蘇 蘇州 215000)
摘要:在海量的監(jiān)控視頻中,快速、準確地識別車輛對公安破案和追蹤具有重要的研究意義。通過提取車輛的類Haar特征,采用AdaBoost方法構(gòu)建分類器可以實現(xiàn)監(jiān)控視頻中的車輛識別。針對原始算法誤檢率較高的問題,提出了采用背景差分去除背景干擾,以及采用目標對象差分法進行二次識別的兩種改進算法。實驗結(jié)果表明,兩種改進算法都能夠有效地降低誤檢率,提高檢測率,并且對不同交通場景下的監(jiān)控視頻具有很好的檢測效果。
關(guān)鍵詞:監(jiān)控視頻; 車輛檢測; 類Haar特征; AdaBoost分類器
近年來,視頻監(jiān)控系統(tǒng)已經(jīng)廣泛應用于智能安防、交通安全、城市治安等多個領(lǐng)域,成為偵查破案的重要輔助手段。在視頻監(jiān)控中,通常最受關(guān)注的監(jiān)控對象是場景中的行人和車輛。目前,在事故發(fā)生后,公安部門往往只能通過人工查看錄像進行求證,人工成本高且效率低下。智能視頻監(jiān)控可以自動檢測不同的物體,發(fā)現(xiàn)視頻中的行人與車輛[1],從而能夠更加有效地協(xié)助安全人員進行后續(xù)處理。
目前,國內(nèi)外對車輛識別與檢測的研究很多,如Komaropoulos等[2]描述了一種基于α-穩(wěn)定統(tǒng)計模型的新型k最近鄰(k-Nearest Neighbor,k-NN)分類算法進行車輛分類。Zhou等[3]先利用主成分分析(Principle Component Analysis,PCA)進行特征提取,然后采用支持向量機(Support Vector Machine,SVM)分類器進行識別,對于有陰影或者光線昏暗等情況下的運動車輛檢測具有不錯的識別效果。文學志等[4]針對Adaboost算法訓練時間過長的問題,對弱分類器訓練進行改進,降低訓練時間的同時提高了識別性能。Arrospide等[5]將Log-Gabor應用于基于圖像的車輛識別,具有很好的識別效果。劉洋等[6]采用幀間差分法提取運動區(qū)域,再用AdaBoost進行分類,不但減小了干擾區(qū)域,而且加快了速度。田寅等[7]采用一種基于多傳感器進行特征融合的算法,對中大型車輛識別得到了很好的分類效果。
本文基于類Haar特征與AdaBoost分類器[8-9],結(jié)合運動目標檢測方法對監(jiān)控視頻中的車輛進行自動識別,提出了兩種改進算法:
(1)在AdaBoost分類的基礎(chǔ)上,采用目標對象差分法進行二次識別,提高了準確率;
(2)采用背景差分法提取運動區(qū)域,消除背景中干擾物體的影響,再通過AdaBoost分類器進行分類,提高檢測率的同時,縮短檢測時間。
為了減少光照的影響,兩種算法都進行了背景更新。實驗結(jié)果表明改進后的算法識別性能更好,誤檢率更低。
1算法簡介
1.1類Haar特征
1.1.1特征定義類Haar特征是Papageorgiou等[10-11]提出的一種矩形特征,由Viola與Jones[8-9]應用于人臉識別系統(tǒng)。它定義為圖像中相鄰區(qū)域內(nèi)像素灰度值總和的差,即白色區(qū)域的像素和減去黑色區(qū)域的像素和,它反映了白色區(qū)域到黑色區(qū)域的梯度變化情況。Lienhart 等[12-13]進一步擴展類Haar矩形特征庫,使得擴展后的特征集為{f1,f2,…,f15},共15種,如圖1所示。
1.1.2積分圖像積分圖是只需遍歷一次圖像即可求出圖形中所有區(qū)域的像素和的方法。由于類Haar特征的特征值計算量非常大,因此在特征的計算中引入了積分圖的思想,加快計算圖像特征值的速度。
積分圖定義如下:
(1)
圖1 類Haar矩形特征
式中:I(x′,y′)表示圖像(x′,y′)位置的灰度像素值;SAT(x,y)為對應點的積分圖像值。
得到積分圖后,以特征模版f1為例,對于圖2所示區(qū)域A和B,可計算出其Haar特征值。設:
(2)
其中:SAT(i1,j1)為矩形塊A的像素和;SAT(i2,j2)為矩形塊A和B的像素和,它們分別是點(i1,j1),(i2,j2)的積分圖像值。則其特征值為
(3)
圖2 特征值計算示例
引入積分圖后,矩形特征的特征值計算與圖像的坐標值無關(guān),只需根據(jù)模板的4個端點坐標即可得到特征值,極大地提高了計算速度。
1.2AdaBoost分類器
AdaBoost(Adaptive Boosting)是Boosting算法中的一種,由Freund[14]提出,它可對同一個樣本集合訓練不同的弱分類器,然后將其進行加權(quán)整合,得到一個強分類器。
AdaBoost分類器通過不斷改變樣本數(shù)據(jù)分布生成。算法如下:
給定訓練樣本集合
其中:N為樣本總數(shù);xi代表圖像的特征;yi為類標,yi={0,1},i=1,2,…,N。
(2)對于t=1,2,…,T,其中T為弱分類器個數(shù),循環(huán)執(zhí)行如下操作:
①歸一化權(quán)重:
(4)
②對于每一個特征j,訓練一個弱分類器:
(5)
其中:Pj取±1,表示不等式的方向;fj(x)表示特征值;θj為閾值。
③計算弱分類器的加權(quán)(qt)錯誤率εj:
(6)
④挑選誤差最小的弱分類器ht(x):
(7)
⑤按最優(yōu)弱分類器ht(x)更新樣本權(quán)值:
(8)
(3)形成強分類器:
(9)
由算法訓練步驟可知,初始時,對每個樣本賦予相同的權(quán)值,之后每一次迭代更新權(quán)值時,提高錯分樣本的權(quán)值,降低正確分類樣本的權(quán)值。根據(jù)新的樣本數(shù)據(jù),重新訓練并得到新的弱分類器。最后將弱分類器通過加權(quán)整合成強分類器。
1.3類Haar特征和AdaBoost分類器的車輛檢測算法
類Haar特征能夠較好地描述車輛的結(jié)構(gòu)以及邊緣特征,而在樣本數(shù)據(jù)庫不夠理想的情況下,AdaBoost分類器能夠通過不斷自我調(diào)整形成強分類器。因此本文提出基于類Haar特征和AdaBoost分類器(HaBoost算法)對監(jiān)控視頻中的車輛進行自動識別。
訓練時,對正樣本與負樣本分別提取Haar特征,并送入AdaBoost分類器進行訓練,得到分類模型。檢測時,對待測視頻序列的每一幀圖片順序提取Haar特征,送入AdaBoost分類器進行檢測,并對檢測出車輛的部位進行矩形摳取標注。
2兩種改進的HaBoost算法
2.1概述
HaBoost算法能夠有效獲取車輛特征,從監(jiān)控畫面識別出車輛。但是由于監(jiān)控視頻中的運動車輛往往出現(xiàn)在復雜的背景環(huán)境中,導致該方法的誤報率較高。
考慮監(jiān)控視頻的背景相對固定,本文提出兩種去除背景圖像干擾、降低誤報率的改進算法:TD_HaBoost算法和BD_HaBoost算法。
考慮到背景中光照的變化,為了得到更好的差分效果,兩種算法都采用了背景更新,即將視頻逐幀灰度化,與灰度化背景圖像進行背景差分并進行二值化處理,得到二值化圖像。遍歷二值化圖像統(tǒng)計白色像素點的個數(shù),當總個數(shù)大于閾值時,判斷為運動幀,否則為非運動幀。不斷將非運動幀更新為背景圖像,以此來減少光照的影響。
2.2TD_HaBoost算法
TD_HaBoost算法對監(jiān)控畫面進行兩次識別。首先,通過HaBoost算法對監(jiān)控視頻進行第1次車輛識別,并且通過矩形框“摳出”識別到的目標對象。其次,將矩形框標出的車輛區(qū)域與背景圖片中對應位置區(qū)域進行灰度像素相減,計算出像素差值總和。設定閾值,當差值總和大于閾值時,則表示第1次識別出的區(qū)域為動態(tài)運動目標——車輛。在此算法中同樣采取了背景更新。
TD_HaBoost算法框架如圖3所示。TD_HaBoost算法描述如下:
(1) 將視頻每一幀與背景圖像灰度化得到Ik-ray(x,y)和Dray(x,y),將其相減得到差分圖像MDk-ray(x,y)。
(10)
(2)將步驟(1)中得到的差分結(jié)果二值化,得到二值化矩陣。
(11)
其中,TS為二值化閾值。
(3)遍歷二值化結(jié)果矩陣,統(tǒng)計白色像素點pix(x,y)個數(shù)P。
(4)當P (5)提取運動幀Ik(x,y)的Haar特征,進行分類。假設該幀檢測到N個目標對象。 (6)對每個目標對象區(qū)域操作如下: ①獲取目標對象區(qū)域左上角坐標以及區(qū)域的寬和高; ②根據(jù)坐標位置找到背景圖像對應區(qū)域; ③對目標對象以及背景圖像對應區(qū)域進行灰度化,并將對應像素點的灰度值相減; ④計算灰度差值總和Z,如Z>T2,則判斷目標對象為運動車輛,否則為非運動車輛。 (7)對輸入視頻的第2幀~第M幀,重復上述步驟。 通過目標對象差分法,可以排除被誤檢為車輛的靜態(tài)物體,從而降低誤檢率。 圖3 TD_HaBoost算法框架 2.3BD_HaBoost算法 2.3.1概述BD_HaBoost算法的基本思想是:選取背景幀,將視頻逐幀與背景幀進行背景差分,剔除非運動幀的同時將其更新為背景幀,提取運動目標區(qū)域,然后對此區(qū)域提取類Haar特征,最后通過AdaBoost分類器進行車輛識別。 BD_HaBoost算法框架如圖4所示。 BD_HaBoost算法描述如下: 圖4 BD_HaBoost算法框架 (1) 將視頻的每一幀與背景圖像灰度化得到Ik-ray(x,y)和Dray(x,y),將其相減得到差分圖像MDk-ray(x,y)。 (2)將步驟(1)中得到的差分圖像進行二值化得到MDk(x,y)。 (3)遍歷二值化結(jié)果矩陣,統(tǒng)計白色像素點pix(x,y)個數(shù)P。 (4)當P (5)根據(jù)差分圖像MDk-ray(x,y)找到運動目標區(qū)域,提取幀Ik(x,y)的運動目標區(qū)域。 (6)對運動目標區(qū)域進行Haar特征提取。 (7)用AdaBoost分類器分類。 通過運用背景差分法,可以消除掉復雜背景圖片中干擾物體對識別的影響,降低運動目標誤檢率。同時,只對運動目標區(qū)域提取類Haar特征可以加快檢測速度。 2.3.3多運動目標提取算法由于視頻中存在多個車輛出現(xiàn)的情況,因此本文提出了多個運動目標提取的方法,可以依次提取運動物體并提取Haar特征,從而進行分類。 算法描述如下: (1)在二值化圖像MDk-ray(x,y)上遍歷像素點,直至找到白色像素點pix(x,y)。 (2)根據(jù)白色像素點坐標(x,y),以及事先選取的長、寬,在Ik(x,y)上“摳出”一長方形區(qū)域。 (3)對此區(qū)域提取Haar特征并進行Adaboost分類。 (4)將MDk-ray(x,y)上對應的長方形區(qū)域像素置0,從pix(x,y)下一個像素點開始遍歷,找到白色像素點pix(x,y)后重復步驟2~步驟4。 3實驗數(shù)據(jù)及分析 3.1實驗數(shù)據(jù)與環(huán)境描述 本文共收集了6 000張訓練樣本,其中包括1 000張車輛樣本,5 000張非車輛樣本。車輛樣本包括轎車、貨車、面包車、越野車等,顏色有白色、黑色、紅色、灰色和藍色等,非車輛樣本包括道路路面、建筑物、窗戶欄桿、樹木、橋梁河流、行人等。 實驗中采用了3段視頻,第1段視頻是直行公路上的監(jiān)控視頻,第2段視頻是交叉路口的監(jiān)控視頻,第3段視頻是大型購物中心外的視頻。各段視頻信息如表1所示。 表1 視頻信息 實驗采用的CPU為Intel(R) Core(TM) i5-3230M,操作系統(tǒng)為Windows 7,開發(fā)環(huán)境為Visual Studio2010,圖像處理包為OpenCV2.4.7。 3.2實驗與結(jié)論 為評估3種算法的性能,實驗設置指標如下:車輛檢測率hr、虛警率fr、漏報率mr,定義如下: (12) 其中:m1表示測試樣本中含有車輛的總幀數(shù);m2表示測試樣本中不含車輛的總幀數(shù);x1表示正確檢測出車輛的幀數(shù);x2表示正確檢測出的不含車輛幀數(shù);y1表示未準確檢出車輛的幀數(shù);y2表示將非車輛誤識別為車輛的幀數(shù)。 為了驗證本文提出的改進算法的有效性,將本文算法與類Haar+BP神經(jīng)網(wǎng)絡+背景差分算法(HaBP)、HOG+SVM+背景差分算法(HoSVM)進行了比較,實驗結(jié)果如表2、表3所示。 從表2可以看出,與HaBP、HoSVM和HaBoost算法相比,TD_HaBoost和BD_HaBoost算法檢測率更高,誤報率和漏報率低。 表2 各算法性能比較 表3 各算法檢測時間比較 表3給出了5種算法對3段視頻進行檢測時的單幀平均檢測時間。 表3中,TD_HaBoost算法的檢測時間包含了背景更新以及二次識別的時間,BD_HaBoost算法的檢測時間包含了背景差分以及背景更新的時間。 可以看出,BD_HaBoost算法由于剔除了非運動幀,并且只對運動目標區(qū)域提取特征,檢測時間最短。TD_HaBoost算法由于對運動幀進行第2次判別,檢測時間較長。HoSVM算法檢測時間最長。HaBoost與HaBP檢測時間相近。對TD_HaBoost算法,通過在讀取視頻時加大幀率,仍然可以達到正常視頻播放的流暢效果(25幀/s)。 為了對實驗結(jié)果有一個更直觀的展示,圖5給出了應用本文提出的兩種改進算法分別對3段視頻進行車輛識別的結(jié)果示例。 圖5 識別結(jié)果實例 4結(jié)論 通過提取類Haar特征,采用AdaBoost算法可以對監(jiān)控視頻中的車輛進行有效識別。但是該方法受到視頻畫面中背景復雜性的影響,誤檢率高。在此算法的基礎(chǔ)上,本文提出了兩種改進算法(TD_HaBoost和BD_HaBoost),通過對運動目標對象進行識別,排除背景的干擾,大大降低了誤報率,提高了檢測正確性,并且通過背景更新減少了光照的影響。這兩種改進算法對不同的檢測環(huán)境及不同的車輛姿態(tài),都取得了不錯的效果。 參考文獻: [1]高東發(fā),黎紹發(fā).一種基于視頻監(jiān)控的運動目標快速分類方法[J].計算機應用與軟件,2006,23(10):36-38. [2]KOMAROPULOS E M,TSAKALIDES P.A novel KNN classifier for acoustic vehicle classification based on alpha-stable statistical modeling[C]//Proceeding of the 15th Workshop on Statistical Signal Processing.Cardiff:IEEE,2009:1-4. [3]ZHOU Jie,GAO Dashan,ZHANG David.Moving vehicle detection for automatic traffic monitoring[J].IEEE Transactions on Vehicular Technology,2007,56(1):51-59. [4]文學志,方巍,鄭鈺輝.一種基于類Haar特征和改進AdaBoost分類器的車輛識別方法[J].電子學報,2011,39(5):1121-1126. [5]ARROSPIDE J,SAGADO L.Log-Gabor filters for image-based vehicle verification[J].IEEE Transactions on Image Processing,2013,22(6):2286-2295. [6]劉洋,王海暉,向云露,等.基于改進的 Adaboost 算法和幀差法的車輛檢測方法[J].華中科技大學學報(自然科學版),2013,41(1):379-382. [7]田寅,董宏輝,賈利民等.用于車輛分類的多傳感器車型特征融合算法[J].華南理工大學學報(自然科學版),2014,42(3):52-57. [8]VIOLA P,JONES M.Robust real-time object detection[J].International Journal of Computer Vision,2001,4:34-47. [9]VIOLA P,JONES M.Rapid object detection using a boosted cascade of simple features[C]//Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.USA:IEEE,2001:511-518. [10]PAPAPEORGIOU C,POGGIO T.A trainable system for object detection[J].International Journal of Computer Vision,2000,38(1):15-33. [11]PAPAPEORGIOU C,OREN M,POGGIO T.A general framework for object detection[C]//IEEE International Conference on Computer Vision.Bombay:IEEE,1998:555-562. [12]LIENHART R,MAYDT J.An extended set of Haar-like features for rapid object detection[C]//Proceedings of 2002 International Conference on Image Processing.USA:IEEE,2002,:900-903.Bombay:IEEE,1998:555-562. [13]LIENHART R,KURANOV A,PISAREVSKY V.Empirical analysis of detection cascades of boosted classifiers for rapid object detection[C]//Proceedings of the 25th German Pattern Recognition Symposium.Germany:IEEE,2003:297-304. [14]FREUND Y,SCHAPIRE R E.Experiments with a new boosting algorithm[C]//Proceedings of the 13th Conference on Machine Learning.USA:Morgan Kaufmann,1996:148-156. Vehicle Recognition Technology Based on Haar-Like Feature and AdaBoost ZHANG Xue-qin1,FANG Ting1,LI Zhi-qian2,DONG Ming-jie1 (1.School of Information Science and Engineering,East China University of Science and Technology,Shanghai 200237,China; 2.Suzhou Thousand of Vision Visual Technology Company Limited,Suzhou 215000,Jiangsu,China) Abstract:It is quite important for solving crimes and tracking the suspect to find the vehicle quickly and accurately from huge volume video records.By extracting Haar-like features and adopting AdaBoost algorithm to construct classifier,one can identify vehicle in surveillance video.Aiming at the high false alarm rate of the original algorithm,this paper proposes two improved methods:the one adopts the background difference algorithm to remove the interference of background,and the other utilizes the target object difference algorithm to achieve the second identification.Experimental results have shown that the proposed algorithms can reduce the false alarm rate and improve the detection rate.Moreover,the two algorithms have better detection results for surveillance videos in different traffic scenes. Key words:video surveillance; detecting vehicle; Haar-like feature; AdaBoost classifier 收稿日期:2015-07-17 基金項目:國家自然科學基金(61371150) 作者簡介:張雪芹(1972-),女,博士,副教授,主要研究方向為網(wǎng)絡安全、模式識別。E-mail:zxq@ecust.edu.cn 文章編號:1006-3080(2016)02-0260-06 DOI:10.14135/j.cnki.1006-3080.2016.02.017 中圖分類號:TP391.41 文獻標志碼:A