杜學(xué)峰,高 越,楊 偉,張 勇
(長(zhǎng)安大學(xué) 汽車(chē)學(xué)院,陜西 西安 710064)
關(guān)鍵字:OpenCV;Adaboost 算法;自動(dòng)駕駛;車(chē)輛檢測(cè)
隨著車(chē)輛數(shù)量的增加,交通狀況也愈加復(fù)雜,從而導(dǎo)致車(chē)輛安全性尤為重要。在一些突發(fā)狀況或是駕駛員注意力不集中的情況下,我們很難對(duì)即將發(fā)生的事故作出正確的判斷及有效反應(yīng)?;谲?chē)輛自身對(duì)前方車(chē)輛的檢測(cè)是一項(xiàng)較為基礎(chǔ)的技術(shù),其廣泛應(yīng)用于自動(dòng)巡航,防碰撞系統(tǒng)中,可幫助駕駛員對(duì)路面環(huán)境進(jìn)行有效的判斷。
目前一般使用各種傳感器進(jìn)行前方車(chē)輛的識(shí)別,如激光、雷達(dá)、攝像頭等,其各有優(yōu)缺點(diǎn)。在汽車(chē)行駛時(shí),路面狀況瞬息萬(wàn)變,這就要求在檢測(cè)前方車(chē)輛時(shí)要具有較高的實(shí)時(shí)性及準(zhǔn)確性。同時(shí),為了能使該系統(tǒng)能在各種環(huán)境下都能正常工作,其應(yīng)該具有良好的魯棒性。本文設(shè)計(jì)了一種基于機(jī)器視覺(jué)的方法,通過(guò)使用OpenCV 庫(kù)及Adaboost 算法,實(shí)現(xiàn)了對(duì)前方車(chē)輛的檢測(cè)[2-3]。
訓(xùn)練分類(lèi)器需要采集大量樣本。樣本分為正樣本和負(fù)樣本。其中,正樣本是我們需要檢測(cè)的對(duì)象及車(chē)輛的圖片,負(fù)樣本是不含有需要檢測(cè)的對(duì)象的任意圖像。樣本圖片可從網(wǎng)上下載或拍攝獲得。以下分別為一些訓(xùn)練用正樣本和負(fù)樣本的圖片。
圖2 訓(xùn)練所用負(fù)樣本
特征是某一類(lèi)物體或事物所共有的一種屬性和標(biāo)志,通過(guò)計(jì)算機(jī)對(duì)車(chē)輛特征的提取,實(shí)現(xiàn)將車(chē)輛從圖片中分理出來(lái)的目的。想要達(dá)到這個(gè)目的,車(chē)輛特征的選取合適與否至關(guān)重要。本文對(duì)于車(chē)輛的檢測(cè)和識(shí)別是基于Haar-like 特征實(shí)現(xiàn)的[4-5]。其包括以下幾種類(lèi)型:
圖3 不同類(lèi)型的Haar-like 特征
在圖像中,Haar-like 特征的計(jì)算原理為:首先計(jì)算白色矩形所包含的像素之和及黑色矩形所包含的像素之和,然后計(jì)算出它們的差值。所得到的值即為Haar-like特征的特征值。本文中,采用積分圖的方法進(jìn)行特征值的計(jì)算。
在上文所提到的樣本中,積分圖計(jì)算后可以提取出很多矩形特征。本文采用Adaboost 算法識(shí)別車(chē)輛的Haar-like 特征,它的基本原理是,對(duì)于一個(gè)樣本集,訓(xùn)練出多個(gè)弱分類(lèi)器,然后把它們組合起來(lái),這樣就構(gòu)成了一個(gè)強(qiáng)分類(lèi)器。實(shí)現(xiàn)過(guò)程如下:(1)將訓(xùn)練樣本中的各個(gè)元素所占有的權(quán)值調(diào)成相同的,即如果有N 個(gè)樣本,則每個(gè)樣本的權(quán)值為1/N;(2)訓(xùn)練弱分類(lèi)器;對(duì)于第一個(gè)弱分類(lèi)器,將全部樣本分類(lèi)過(guò)后,把其中成功分類(lèi)出來(lái)的樣本所占的權(quán)值減小,未成功分類(lèi)的樣本的權(quán)值增加,改變過(guò)樣本權(quán)值后的新的訓(xùn)練集用來(lái)訓(xùn)練第二個(gè)弱分類(lèi)器,重復(fù)此步驟,訓(xùn)練出需要的多個(gè)弱分類(lèi)器;(3)將得到的弱分類(lèi)器進(jìn)行級(jí)聯(lián),形成強(qiáng)分類(lèi)器,其中,每個(gè)弱分類(lèi)器對(duì)于車(chē)輛檢測(cè)的誤差不同,通過(guò)計(jì)算它們的誤差,可以得知哪些弱分類(lèi)器的誤差較小,所以在組合成的強(qiáng)分類(lèi)器中,提高這類(lèi)分類(lèi)器所起到的作用,即增加它們?cè)趶?qiáng)分類(lèi)器中所占的權(quán)值。可以減小車(chē)輛的誤檢率[6]。流程圖如下:
圖4 Adaboost 級(jí)聯(lián)分類(lèi)器訓(xùn)練流程
基于該原理,使用OpenCV 庫(kù)對(duì)樣本進(jìn)行灰度化、去噪等一系列預(yù)處理后,對(duì)其進(jìn)行訓(xùn)練得到各級(jí)車(chē)輛分類(lèi)器。
圖5 訓(xùn)練所得的分類(lèi)器
分類(lèi)器訓(xùn)練完成并通過(guò)測(cè)試后,在各種戶(hù)外條件下進(jìn)行車(chē)輛識(shí)別檢測(cè)。以檢驗(yàn)通過(guò)使用Haar-like 特征的Adaboost級(jí)聯(lián)分類(lèi)器對(duì)車(chē)輛的檢測(cè)效果。部分結(jié)果如下圖。
圖6 實(shí)驗(yàn)結(jié)果
對(duì)樣本預(yù)處理后訓(xùn)練得到的分類(lèi)器進(jìn)行實(shí)驗(yàn),通過(guò)導(dǎo)入了外部視頻和接入攝像頭兩種方法在長(zhǎng)安大學(xué)校內(nèi)實(shí)驗(yàn),得出以下結(jié)論:該分類(lèi)器具有良好的實(shí)時(shí)性及魯棒性,基本可以對(duì)前方車(chē)輛做出準(zhǔn)確識(shí)別。