基于車載視覺的行人檢測(cè)與跟蹤方法
隨著汽車保有量的不斷增加,道路交通事故和因車禍傷亡的人數(shù)居高不下。 為滿足人們對(duì)汽車安全性能要求的日益提高,越來越多的先進(jìn)技術(shù)被應(yīng)用到汽車主動(dòng)安全領(lǐng)域。在道路交通事故中,主要的受害群體是參與交通系統(tǒng)中的行人和騎自行車的人等。據(jù)美國(guó)高速公路安全管理局( NHTSA) 的資料顯示,2008 年美國(guó)由于交通事故導(dǎo)致69 000 個(gè)行人死亡或者受傷、4 378 個(gè)行人死亡,行人死亡人數(shù)占全年交通事故死亡總?cè)藬?shù)的11. 7%。2007 年我國(guó)因交通事故導(dǎo)致行人死亡的人數(shù)為21 106 人,占交通事故死亡總?cè)藬?shù)的25. 9%,行人受傷人數(shù)為70 838 人,占交通事故受傷總?cè)藬?shù)的18. 6%. 與一些發(fā)達(dá)國(guó)家相比,由于我國(guó)的交通模式主要是混合交通模式,導(dǎo)致交通事故死亡原因和傷害模式與發(fā)達(dá)國(guó)家不同。
近年來,為保障行人安全、提高汽車主動(dòng)安全性能,國(guó)內(nèi)外一些科研院所對(duì)行人保護(hù)技術(shù)進(jìn)行了研究探討,在不斷完善汽車被動(dòng)安全系統(tǒng)的同時(shí),逐漸發(fā)展和應(yīng)用主動(dòng)安全系統(tǒng),結(jié)合行人保護(hù)概念和技術(shù)的引入,完善對(duì)行人的保護(hù)。 如Bajracharya等建立了雙目視覺行人保護(hù)集成系統(tǒng),實(shí)現(xiàn)道路交通場(chǎng)景下40 m 距離范圍內(nèi)行人的檢測(cè)與跟蹤。
Munder 等融合行人的點(diǎn)分布形狀模型和紋理特征建立了行人識(shí)別分類器,采用基于粒子濾波的貝葉斯方法實(shí)現(xiàn)行人的跟蹤。德國(guó)Enzweiler 等分別針對(duì)統(tǒng)計(jì)學(xué)習(xí)中的小波特征、線性支持向量機(jī)以及神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行比較分析,通過設(shè)計(jì)不同尺度的分類器來檢測(cè)圖像中的行人。清華大學(xué)的江帆等提出一種基于模型融合的行人跟蹤算法,結(jié)合離線學(xué)習(xí)和在線互學(xué)習(xí)對(duì)模型進(jìn)行更新。中國(guó)科學(xué)技術(shù)大學(xué)程有龍等將行人檢測(cè)的先驗(yàn)知識(shí)融入到跟蹤模型自學(xué)習(xí)過程中,對(duì)被跟蹤行人進(jìn)行動(dòng)態(tài)建模,從而實(shí)現(xiàn)在真實(shí)監(jiān)控場(chǎng)合下跟蹤具有復(fù)雜運(yùn)動(dòng)的行人。多傳感器信息融合以及行人模型的建立要求較大的計(jì)算量和計(jì)算參數(shù),很難滿足類似車輛主動(dòng)安全預(yù)警等系統(tǒng)實(shí)時(shí)性要求。 本文采用車載單目視覺傳感器,利用訓(xùn)練得到的行人識(shí)別級(jí)聯(lián)分類器實(shí)時(shí)獲取車輛前方的行人,并對(duì)其進(jìn)行跟蹤以記錄其運(yùn)動(dòng)軌跡,從而為駕駛員和行人的有效預(yù)警提供技術(shù)參考。
1基于Adaboost 算法的行人檢測(cè)
1. 1 Adaboost 算法原理
Adaboost 算法通過訓(xùn)練得到由分類能力一般的弱分類器疊加而成的強(qiáng)分類器,再將若干個(gè)強(qiáng)分類器串連成一個(gè)級(jí)聯(lián)分類器來遍歷圖像。為快速實(shí)現(xiàn)行人的檢測(cè)和防撞預(yù)警,鑒于Adaboost 算法的特點(diǎn),本文選擇離散Adaboost 算法訓(xùn)練得到識(shí)別行人的級(jí)聯(lián)分類器,以快速排除圖像中大部分非行人窗口,其結(jié)構(gòu)如圖1 所示。 其中,各階段的強(qiáng)分類器訓(xùn)練過程如圖2 所示。
圖1 N 階級(jí)聯(lián)分類器結(jié)構(gòu)示意
圖2 離散Adaboost 訓(xùn)練算法
從其訓(xùn)練過程可知,該算法主要通過調(diào)整訓(xùn)練樣本的權(quán)重,強(qiáng)化對(duì)錯(cuò)誤分類樣本的訓(xùn)練,最后通過權(quán)重組合級(jí)聯(lián)所有的弱分類器形成強(qiáng)分類器。
1. 2 樣本的離線訓(xùn)練與行人的在線檢測(cè)
本文采用Adaboost 算法訓(xùn)練得到識(shí)別行人的級(jí)聯(lián)分類器,通過程序加載分類器實(shí)現(xiàn)行人的在線檢測(cè),檢測(cè)流程如圖3 所示。
樣本的離線訓(xùn)練模塊主要是為了獲得識(shí)別行人的級(jí)聯(lián)分類器,具體過程如下所示。
?。?) 樣本獲取及預(yù)處理: 行人樣本通過離線手動(dòng)分割的車輛前方不同距離、不同走向、不同衣著和尺寸的行人圖像,統(tǒng)一縮放為16 × 32像素的尺寸; 非行人樣本是從不含行人的背景圖像中分割得到的。 為減小訓(xùn)練樣本的類內(nèi)差異,降低光照不同對(duì)訓(xùn)練結(jié)果的影響,采用直方圖均衡化方法對(duì)樣本進(jìn)行預(yù)處理。 本文選擇的訓(xùn)練樣本共3 060 幅,其中行人樣本2 100 幅,非行人樣本960 幅;
(2) 樣本特征提?。?選用P. Viola 等提出的類Haar 特征作為行人檢測(cè)的特征,該特征主要描述圖像模式相鄰區(qū)域的特征差異,可用積分圖快速計(jì)算矩形區(qū)域的特征值;
(3) 訓(xùn)練結(jié)果: 訓(xùn)練得到的級(jí)聯(lián)分類器由20 級(jí)強(qiáng)分類器組成,每個(gè)強(qiáng)分類器包含了不同個(gè)數(shù)的弱分類器,每個(gè)弱分類器由一個(gè)類Haar 特征、閾值和指示不等號(hào)方向組成。 隨著分類器級(jí)數(shù)的增大,強(qiáng)分類器中所包含弱分類器即類Haar 特征數(shù)量也越多。 訓(xùn)練得到的前6 級(jí)強(qiáng)分類器中所包含的類Haar 特征及其數(shù)量見表1 所示。
行人在線檢測(cè)模塊是根據(jù)訓(xùn)練得到的分類器對(duì)待檢圖像的各子窗口進(jìn)行判別,檢測(cè)結(jié)果是一系列的目標(biāo)矩形,顯示行人在圖像中的位置,本文通過縮放檢測(cè)子窗口來遍歷待檢圖像,以分割圖像中大小未知的行人目標(biāo),具體檢測(cè)過程如下。
?。?) 獲取大小為320 × 240 像素的待檢圖像,設(shè)置最小檢測(cè)窗口大小為32 × 64 像素,從圖像的左下角開始逐行向右每隔一個(gè)像素移動(dòng)檢測(cè)窗口,直至達(dá)到圖像邊緣為止;
(2) 利用訓(xùn)練模塊得到的級(jí)聯(lián)分類器按圖1所示方法對(duì)各待檢子窗口進(jìn)行判決,完成該級(jí)檢測(cè)窗口大小的掃描: 如果該待檢子窗口能通過所有級(jí)聯(lián)分類器則說明其為行人窗口; 如果有任何一個(gè)強(qiáng)分類器不能通過就可以判定其為非行人窗口;
(3) 按照試驗(yàn)確定的比例系數(shù)放大檢測(cè)子窗口大小,并按上述步驟重新對(duì)待檢圖像進(jìn)行掃描,獲取較大尺寸的行人目標(biāo)。
2 基于Kalman 濾波的行人跟蹤
使用離散Kalman 濾波預(yù)測(cè)行人在下一時(shí)刻可能出現(xiàn)的區(qū)域,縮短目標(biāo)搜索時(shí)間,實(shí)現(xiàn)行人的快速跟蹤定位。 行人跟蹤結(jié)果不但能獲得行人的運(yùn)動(dòng)軌跡,也能為行人的運(yùn)動(dòng)分析提供可靠的數(shù)據(jù)來源。
2. 1 Kalman 濾波算法原理
Kalman 濾波由動(dòng)態(tài)過程模型和反饋修正環(huán)節(jié)組成。 動(dòng)態(tài)過程模型實(shí)現(xiàn)預(yù)測(cè)功能,反饋修正環(huán)節(jié)則把增益和殘差的乘積作為強(qiáng)制函數(shù)作用在模型上。 設(shè)系統(tǒng)的狀態(tài)方程和觀測(cè)方程如下:
式中: Xk是時(shí)刻k 的n 維狀態(tài)向量; Zk是時(shí)刻k的m 維觀測(cè)向量; n 階方陣Фk - 1為狀態(tài)轉(zhuǎn)移矩陣;m × n 階矩陣Hk為觀測(cè)矩陣; Wk - 1、Vk是2 個(gè)服從正態(tài)分布的零均值高斯白噪聲序列,方差陣分別為Qk、Rk 。
Kalman 濾波過程可由預(yù)測(cè)方程:
和濾波遞推方程:
表示,其中:
為濾波器增益;
為預(yù)測(cè)誤差方差陣;
為濾波誤差方差陣。
2. 2 行人跟蹤
根據(jù)Kalman 濾波原理,本文對(duì)檢測(cè)得到的車輛前方行人質(zhì)心位置和行人外接矩形的高度與寬度進(jìn)行跟蹤。 在每幀圖像中,行人的狀態(tài)可以用其質(zhì)心的位置、位置變化率和外界矩形框的大小來表示。 假設(shè)(xt,yt) 代表行人區(qū)域質(zhì)心點(diǎn)在第t 幀圖像的像素位置; (Δxt,Δyt) 分別代表質(zhì)心的變化; (ht,wt) 是包圍行人外接矩形的高度和寬度; (Δht,Δwt) 是高度和寬度的變化。 因此,在第t 幀圖像中行人的狀態(tài)向量可以表示為:
由于行人的運(yùn)動(dòng)速度較慢,相鄰2 幀圖像之間的時(shí)間間隔較短,可假設(shè)行人在單位時(shí)間間隔內(nèi)做勻速運(yùn)動(dòng),狀態(tài)轉(zhuǎn)移矩陣可以表示如下:
為了觀測(cè)道路區(qū)域各個(gè)狀態(tài)變量,取觀測(cè)向量Zt = ( xt,yt,ht,wt) T,選取系統(tǒng)測(cè)量矩陣為:
為應(yīng)用Kalman 濾波跟蹤車輛前方行人,必須確定狀態(tài)變量和誤差方差矩陣的初始值。 本文在連續(xù)2 幀圖像成功實(shí)現(xiàn)行人的識(shí)別定位后開始進(jìn)行基于Kalman 濾波跟蹤。 假設(shè)檢測(cè)到行人的圖像是第t 幀和t + 1 幀,初始狀態(tài)向量X0可表示為:
此外,還需要定義相應(yīng)的協(xié)方差矩陣P0 . 由于Pt隨著獲取更多的圖像反復(fù)更新,為此可以給它一個(gè)較大的初值。 假設(shè)預(yù)測(cè)位置在x 和y 方向上離真實(shí)位置具有± 10 個(gè)像素誤差,在x 和y 方向上速度離真實(shí)速度有± 5 個(gè)像素誤差。 由于行人腿部的運(yùn)動(dòng),使得行人外界矩形的寬度要比高度有較大的變化,所以假設(shè)外接矩形窗口的高度與實(shí)際行人矩形窗口的高度誤差有± 5 個(gè)像素,高度的變化率有± 3 個(gè)像素誤差; 寬度的誤差為± 10 個(gè)像素,寬度的變化率有± 5 個(gè)像素誤差。 由此,誤差協(xié)方差矩陣P0可定義為:
除了X0和P0,還需要估計(jì)系統(tǒng)狀態(tài)方程和測(cè)量方程的誤差協(xié)方差矩陣Q 和R。通過觀察,可認(rèn)為系統(tǒng)狀態(tài)噪聲如下: 在x 和y 方向上系統(tǒng)定位誤差的標(biāo)準(zhǔn)偏差是5 個(gè)像素,由此進(jìn)一步認(rèn)為速度的標(biāo)準(zhǔn)偏差為每幀2 個(gè)像素。 而行人外界矩形窗口的高度標(biāo)準(zhǔn)偏差為3 個(gè)像素,其變化率為1 個(gè)像素,行人矩形窗口寬度的標(biāo)準(zhǔn)偏差為5 個(gè)像素,其變化率為2 個(gè)像素。 因此,狀態(tài)變量噪聲協(xié)方差矩陣可以表示為:
類似地,定義測(cè)量方程在x 和y 方向上的標(biāo)準(zhǔn)偏差為3 個(gè)像素,高度標(biāo)準(zhǔn)偏差為2 個(gè)像素,寬度的標(biāo)準(zhǔn)偏差為3 個(gè)像素。 因此:
利用上述的狀態(tài)預(yù)測(cè)和更新方程以及初始條件,可估計(jì)每一幀圖像狀態(tài)向量X^k(-) 和相應(yīng)的協(xié)方差矩陣Pk( + )。協(xié)方差矩陣Pk( + ) 表示預(yù)測(cè)下一幀檢測(cè)行人矩形窗口位置的不確定范圍,Pk( + ) 越大,估計(jì)值越不穩(wěn)定,搜索區(qū)域也就越大,此時(shí),自動(dòng)調(diào)整搜索區(qū)域[17].
3 試驗(yàn)及分析
行人檢測(cè)與跟蹤識(shí)別流程如下:
(1) 按照?qǐng)D3 所示的在線檢測(cè)模塊分析CCD采集的序列圖像中是否存在行人,并記錄行人目標(biāo)矩形的相關(guān)信息;
(2) 如果在序列圖像中連續(xù)2 幀檢測(cè)到行人,則啟動(dòng)行人跟蹤程序,并用檢測(cè)結(jié)果更新Kalman濾波器,使其能預(yù)測(cè)下一幀中行人可能存在的區(qū)域;
(3) 對(duì)預(yù)測(cè)區(qū)域按照以下策略進(jìn)行修正:以行人質(zhì)心位置的估計(jì)值作為中心,將預(yù)測(cè)得出的行人矩形的高度和寬度各放大1. 5 倍,建立行人搜索的感興趣區(qū)域,在新的感興趣區(qū)域中用級(jí)聯(lián)分類器進(jìn)行目標(biāo)檢測(cè),然后將檢測(cè)到的行人質(zhì)心和矩形寬度與高度作為下一步預(yù)測(cè)的初始值;
(4) 跟蹤失效的處理: 在跟蹤過程中,如果檢測(cè)失效,則保持前一幀的行人信息,并在后續(xù)幀中繼續(xù)檢測(cè),以防止由于偶然的漏檢造成跟蹤失效。
如檢測(cè)失敗超過一定的幀數(shù)( 本文設(shè)定為3 幀) ,則認(rèn)為行人目標(biāo)已消失,不再繼續(xù)跟蹤。
為驗(yàn)證本文方法的有效性,在校內(nèi)柏油道路上進(jìn)行了白天正常光照條件下的試驗(yàn)驗(yàn)證,試驗(yàn)平臺(tái)為所開發(fā)的無人駕駛試驗(yàn)平臺(tái)DLUTIV-I,如圖3所示。 CCD 選用美國(guó)AVT 公司生產(chǎn)的F-033 黑白數(shù)字相機(jī),圖像分辨率為320 × 240 像素,鏡頭視場(chǎng)角為25°,焦距為12 mm,采用酷睿2 雙核2. 2 GHz、2 GB 內(nèi)存的工控機(jī)。 試驗(yàn)結(jié)果表明,本文算法能實(shí)現(xiàn)10 ~ 30 m 范圍內(nèi)的行人檢測(cè),識(shí)別算法每幀約為80 ms,正確檢測(cè)率能達(dá)88% 左右; 利用Kalman 跟蹤預(yù)測(cè)后,由于建立了行人檢測(cè)的感興趣區(qū)域,有效減少了在圖像中掃描行人的時(shí)間,算法平均耗時(shí)約為55 ms /幀,實(shí)時(shí)性較好。 表2 統(tǒng)計(jì)了車輛在靜止和運(yùn)動(dòng)兩種狀態(tài)下行人檢測(cè)與跟蹤結(jié)果,在車輛運(yùn)動(dòng)的情況下,由于背景和行人在圖像中位置變化較大,造成誤警率較高。
表2 行人檢測(cè)與跟蹤試驗(yàn)結(jié)果統(tǒng)計(jì)
圖4 是車輛由靜止到運(yùn)動(dòng)狀態(tài)下對(duì)前方1 個(gè)行人的跟蹤結(jié)果
行人在車輛靜止時(shí)背對(duì)著車輛向前方行走,行走到一定位置之后等候車輛起動(dòng),待車輛向前行駛一段距離后,行人繼續(xù)向前運(yùn)動(dòng),并伴有橫穿道路等動(dòng)作。 從圖5 的跟蹤曲線可以看出,識(shí)別行人的外接矩形寬度變化比較顯著,這符合實(shí)際情況,由于行人行走時(shí)腿部跨度造成封閉矩形寬度變化明顯; 由于行人相對(duì)于本車的距離變化是連續(xù)的,使得行人外接矩形的高度變化比較連續(xù)。
試驗(yàn)表明,光照條件不同會(huì)對(duì)行人的識(shí)別與跟蹤結(jié)果產(chǎn)生一定影響,尤其當(dāng)光照較強(qiáng)時(shí),行人某些部位與地面或背景融為一體,灰度差值很小,造成行人定位不精確或者識(shí)別失效,如圖6 所示。
4 結(jié)束語
本文提出一種基于Adaboost 算法的行人檢測(cè)方法,根據(jù)行人運(yùn)動(dòng)速度慢的特點(diǎn),提出利用Kalman 濾波對(duì)行人外接矩形的中心及其寬度和高度進(jìn)行預(yù)測(cè),建立動(dòng)態(tài)可變的行人搜索感興趣區(qū)域,使每幀圖像處理的平均耗時(shí)由80 ms 左右降至55 ms,從而滿足實(shí)時(shí)性要求。 試驗(yàn)表明,本文方法能夠識(shí)別車輛前方靜止和運(yùn)動(dòng)的行人,檢測(cè)率達(dá)到約88%。
行人檢測(cè)技術(shù)是汽車安全輔助駕駛研究領(lǐng)域的重要組成部分,下一步需要在行人檢測(cè)的基礎(chǔ)上,分析其運(yùn)動(dòng)狀態(tài)以及本車對(duì)其構(gòu)成的危險(xiǎn)程度。 在車輛與行人可能發(fā)生碰撞時(shí),及時(shí)向駕駛員發(fā)出警示信息,當(dāng)駕駛員沒有采取有效避碰措施時(shí),系統(tǒng)啟動(dòng)減速或緊急制動(dòng)等操作,有效保障行人的安全。
試驗(yàn)表明,本文研究工作還存在一定的不足,考慮因素還不全面,受光照條件的影響較。 下一步擬采取CCD 光圈自動(dòng)調(diào)節(jié)裝置來改善白天強(qiáng)光照條件或者暗光照條件的成像質(zhì)量,并研究如何提取有效表征和區(qū)分行人目標(biāo)的特征、增加訓(xùn)練樣本或者改進(jìn)訓(xùn)練方法。 同時(shí),結(jié)合紅外傳感器研究傍晚或夜間等條件下的行人檢測(cè)。
評(píng)論