<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于車載視覺的行人檢測與跟蹤方法

          基于車載視覺的行人檢測與跟蹤方法

          作者: 時間:2012-04-03 來源:網(wǎng)絡(luò) 收藏
          摘要: 為提高城市交通環(huán)境下車輛主動安全性,保障行人安全,提出了基于車載視覺傳感器的行人保護方法。利用Adaboost 算法實現(xiàn)行人的快速檢測,結(jié)合Kalman 濾波原理跟蹤行人,以獲取其運行軌跡。 該方法利用離散Adaboost 算法訓(xùn)練樣本類Haar 特征,得到識別行人的級聯(lián)分類器,遍歷車載視覺采集的圖像,以獲取行人目標(biāo);結(jié)合Kalman 濾波原理,對檢測到的行人目標(biāo)進行跟蹤,建立檢測行人的動態(tài)感興趣區(qū)域,利用跟蹤結(jié)果分析行人的運行軌跡。 試驗表明: 該方法平均耗時約80 ms /幀,檢測率達(dá)到88%; 結(jié)合Kalman 濾波原理跟蹤后,平均耗時降到55 ms /幀,實時性較好。

            隨著汽車保有量的不斷增加,道路交通事故和因車禍傷亡的人數(shù)居高不下。 為滿足人們對性能要求的日益提高,越來越多的先進技術(shù)被應(yīng)用到汽車主動安全領(lǐng)域。在道路交通事故中,主要的受害群體是參與交通系統(tǒng)中的行人和騎自行車的人等。據(jù)美國高速公路安全管理局( NHTSA) 的資料顯示,2008 年美國由于交通事故導(dǎo)致69 000 個行人死亡或者受傷、4 378 個行人死亡,行人死亡人數(shù)占全年交通事故死亡總?cè)藬?shù)的11. 7%。2007 年我國因交通事故導(dǎo)致行人死亡的人數(shù)為21 106 人,占交通事故死亡總?cè)藬?shù)的25. 9%,行人受傷人數(shù)為70 838 人,占交通事故受傷總?cè)藬?shù)的18. 6%. 與一些發(fā)達(dá)國家相比,由于我國的交通模式主要是混合交通模式,導(dǎo)致交通事故死亡原因和傷害模式與發(fā)達(dá)國家不同。

            近年來,為保障行人安全、提高汽車主動安全性能,國內(nèi)外一些科研院所對行人保護技術(shù)進行了研究探討,在不斷完善汽車被動安全系統(tǒng)的同時,逐漸發(fā)展和應(yīng)用主動安全系統(tǒng),結(jié)合行人保護概念和技術(shù)的引入,完善對行人的保護。 如Bajracharya等建立了雙目視覺行人保護集成系統(tǒng),實現(xiàn)道路交通場景下40 m 距離范圍內(nèi)行人的檢測與跟蹤。

            Munder 等融合行人的點分布形狀模型和紋理特征建立了行人識別分類器,采用基于粒子濾波的貝葉斯方法實現(xiàn)行人的跟蹤。德國Enzweiler 等分別針對統(tǒng)計學(xué)習(xí)中的小波特征、線性支持向量機以及神經(jīng)網(wǎng)絡(luò)的方法進行比較分析,通過設(shè)計不同尺度的分類器來檢測圖像中的行人。清華大學(xué)的江帆等提出一種基于模型融合的行人跟蹤算法,結(jié)合離線學(xué)習(xí)和在線互學(xué)習(xí)對模型進行更新。中國科學(xué)技術(shù)大學(xué)程有龍等將行人檢測的先驗知識融入到跟蹤模型自學(xué)習(xí)過程中,對被跟蹤行人進行動態(tài)建模,從而實現(xiàn)在真實監(jiān)控場合下跟蹤具有復(fù)雜運動的行人。多傳感器信息融合以及行人模型的建立要求較大的計算量和計算參數(shù),很難滿足類似車輛主動安全預(yù)警等系統(tǒng)實時性要求。 本文采用車載單目視覺傳感器,利用訓(xùn)練得到的行人識別級聯(lián)分類器實時獲取車輛前方的行人,并對其進行跟蹤以記錄其運動軌跡,從而為駕駛員和行人的有效預(yù)警提供技術(shù)參考。

          1基于Adaboost 算法的行人檢測

            1. 1 Adaboost 算法原理

            Adaboost 算法通過訓(xùn)練得到由分類能力一般的弱分類器疊加而成的強分類器,再將若干個強分類器串連成一個級聯(lián)分類器來遍歷圖像。為快速實現(xiàn)行人的檢測和防撞預(yù)警,鑒于Adaboost 算法的特點,本文選擇離散Adaboost 算法訓(xùn)練得到識別行人的級聯(lián)分類器,以快速排除圖像中大部分非行人窗口,其結(jié)構(gòu)如圖1 所示。 其中,各階段的強分類器訓(xùn)練過程如圖2 所示。

          圖1 N 階級聯(lián)分類器結(jié)構(gòu)示意

          圖2 離散Adaboost 訓(xùn)練算法

            從其訓(xùn)練過程可知,該算法主要通過調(diào)整訓(xùn)練樣本的權(quán)重,強化對錯誤分類樣本的訓(xùn)練,最后通過權(quán)重組合級聯(lián)所有的弱分類器形成強分類器。

            1. 2 樣本的離線訓(xùn)練與行人的在線檢測

            本文采用Adaboost 算法訓(xùn)練得到識別行人的級聯(lián)分類器,通過程序加載分類器實現(xiàn)行人的在線檢測,檢測流程如圖3 所示。

            樣本的離線訓(xùn)練模塊主要是為了獲得識別行人的級聯(lián)分類器,具體過程如下所示。

            (1) 樣本獲取及預(yù)處理: 行人樣本通過離線手動分割的車輛前方不同距離、不同走向、不同衣著和尺寸的行人圖像,統(tǒng)一縮放為16 × 32像素的尺寸; 非行人樣本是從不含行人的背景圖像中分割得到的。 為減小訓(xùn)練樣本的類內(nèi)差異,降低光照不同對訓(xùn)練結(jié)果的影響,采用直方圖均衡化方法對樣本進行預(yù)處理。 本文選擇的訓(xùn)練樣本共3 060 幅,其中行人樣本2 100 幅,非行人樣本960 幅;

            (2) 樣本特征提?。?選用P. Viola 等提出的類Haar 特征作為行人檢測的特征,該特征主要描述圖像模式相鄰區(qū)域的特征差異,可用積分圖快速計算矩形區(qū)域的特征值;

            (3) 訓(xùn)練結(jié)果: 訓(xùn)練得到的級聯(lián)分類器由20 級強分類器組成,每個強分類器包含了不同個數(shù)的弱分類器,每個弱分類器由一個類Haar 特征、閾值和指示不等號方向組成。 隨著分類器級數(shù)的增大,強分類器中所包含弱分類器即類Haar 特征數(shù)量也越多。 訓(xùn)練得到的前6 級強分類器中所包含的類Haar 特征及其數(shù)量見表1 所示。

          前6級強分類器包含的類Haar特征數(shù)量

            行人在線檢測模塊是根據(jù)訓(xùn)練得到的分類器對待檢圖像的各子窗口進行判別,檢測結(jié)果是一系列的目標(biāo)矩形,顯示行人在圖像中的位置,本文通過縮放檢測子窗口來遍歷待檢圖像,以分割圖像中大小未知的行人目標(biāo),具體檢測過程如下。

           ?。?) 獲取大小為320 × 240 像素的待檢圖像,設(shè)置最小檢測窗口大小為32 × 64 像素,從圖像的左下角開始逐行向右每隔一個像素移動檢測窗口,直至達(dá)到圖像邊緣為止;

            (2) 利用訓(xùn)練模塊得到的級聯(lián)分類器按圖1所示方法對各待檢子窗口進行判決,完成該級檢測窗口大小的掃描: 如果該待檢子窗口能通過所有級聯(lián)分類器則說明其為行人窗口; 如果有任何一個強分類器不能通過就可以判定其為非行人窗口;

            (3) 按照試驗確定的比例系數(shù)放大檢測子窗口大小,并按上述步驟重新對待檢圖像進行掃描,獲取較大尺寸的行人目標(biāo)。

          2 基于Kalman 濾波的行人跟蹤

            使用離散Kalman 濾波預(yù)測行人在下一時刻可能出現(xiàn)的區(qū)域,縮短目標(biāo)搜索時間,實現(xiàn)行人的快速跟蹤定位。 行人跟蹤結(jié)果不但能獲得行人的運動軌跡,也能為行人的運動分析提供可靠的數(shù)據(jù)來源。

            2. 1 Kalman 濾波算法原理

            Kalman 濾波由動態(tài)過程模型和反饋修正環(huán)節(jié)組成。 動態(tài)過程模型實現(xiàn)預(yù)測功能,反饋修正環(huán)節(jié)則把增益和殘差的乘積作為強制函數(shù)作用在模型上。 設(shè)系統(tǒng)的狀態(tài)方程和觀測方程如下:

            式中: Xk是時刻k 的n 維狀態(tài)向量; Zk是時刻k的m 維觀測向量; n 階方陣Фk - 1為狀態(tài)轉(zhuǎn)移矩陣;m × n 階矩陣Hk為觀測矩陣; Wk - 1、Vk是2 個服從正態(tài)分布的零均值高斯白噪聲序列,方差陣分別為Qk、Rk 。

            Kalman 濾波過程可由預(yù)測方程:

            和濾波遞推方程:

            表示,其中:

            為濾波器增益;

            為預(yù)測誤差方差陣;

            為濾波誤差方差陣。

            2. 2 行人跟蹤

            根據(jù)Kalman 濾波原理,本文對檢測得到的車輛前方行人質(zhì)心位置和行人外接矩形的高度與寬度進行跟蹤。 在每幀圖像中,行人的狀態(tài)可以用其質(zhì)心的位置、位置變化率和外界矩形框的大小來表示。 假設(shè)(xt,yt) 代表行人區(qū)域質(zhì)心點在第t 幀圖像的像素位置; (Δxt,Δyt) 分別代表質(zhì)心的變化; (ht,wt) 是包圍行人外接矩形的高度和寬度; (Δht,Δwt) 是高度和寬度的變化。 因此,在第t 幀圖像中行人的狀態(tài)向量可以表示為:

            由于行人的運動速度較慢,相鄰2 幀圖像之間的時間間隔較短,可假設(shè)行人在單位時間間隔內(nèi)做勻速運動,狀態(tài)轉(zhuǎn)移矩陣可以表示如下:

            為了觀測道路區(qū)域各個狀態(tài)變量,取觀測向量Zt = ( xt,yt,ht,wt) T,選取系統(tǒng)測量矩陣為:

            為應(yīng)用Kalman 濾波跟蹤車輛前方行人,必須確定狀態(tài)變量和誤差方差矩陣的初始值。 本文在連續(xù)2 幀圖像成功實現(xiàn)行人的識別定位后開始進行基于Kalman 濾波跟蹤。 假設(shè)檢測到行人的圖像是第t 幀和t + 1 幀,初始狀態(tài)向量X0可表示為:

            此外,還需要定義相應(yīng)的協(xié)方差矩陣P0 . 由于Pt隨著獲取更多的圖像反復(fù)更新,為此可以給它一個較大的初值。 假設(shè)預(yù)測位置在x 和y 方向上離真實位置具有± 10 個像素誤差,在x 和y 方向上速度離真實速度有± 5 個像素誤差。 由于行人腿部的運動,使得行人外界矩形的寬度要比高度有較大的變化,所以假設(shè)外接矩形窗口的高度與實際行人矩形窗口的高度誤差有± 5 個像素,高度的變化率有± 3 個像素誤差; 寬度的誤差為± 10 個像素,寬度的變化率有± 5 個像素誤差。 由此,誤差協(xié)方差矩陣P0可定義為:

          除了X0和P0,還需要估計系統(tǒng)狀態(tài)方程和測量方程的誤差協(xié)方差矩陣Q 和R。通過觀察,可認(rèn)為系統(tǒng)狀態(tài)噪聲如下: 在x 和y 方向上系統(tǒng)定位誤差的標(biāo)準(zhǔn)偏差是5 個像素,由此進一步認(rèn)為速度的標(biāo)準(zhǔn)偏差為每幀2 個像素。 而行人外界矩形窗口的高度標(biāo)準(zhǔn)偏差為3 個像素,其變化率為1 個像素,行人矩形窗口寬度的標(biāo)準(zhǔn)偏差為5 個像素,其變化率為2 個像素。 因此,狀態(tài)變量噪聲協(xié)方差矩陣可以表示為:

            類似地,定義測量方程在x 和y 方向上的標(biāo)準(zhǔn)偏差為3 個像素,高度標(biāo)準(zhǔn)偏差為2 個像素,寬度的標(biāo)準(zhǔn)偏差為3 個像素。 因此:

            利用上述的狀態(tài)預(yù)測和更新方程以及初始條件,可估計每一幀圖像狀態(tài)向量X^k(-) 和相應(yīng)的協(xié)方差矩陣Pk( + )。協(xié)方差矩陣Pk( + ) 表示預(yù)測下一幀檢測行人矩形窗口位置的不確定范圍,Pk( + ) 越大,估計值越不穩(wěn)定,搜索區(qū)域也就越大,此時,自動調(diào)整搜索區(qū)域[17].

          3 試驗及分析

            行人檢測與跟蹤識別流程如下:

            (1) 按照圖3 所示的在線檢測模塊分析CCD采集的序列圖像中是否存在行人,并記錄行人目標(biāo)矩形的相關(guān)信息;

            (2) 如果在序列圖像中連續(xù)2 幀檢測到行人,則啟動行人跟蹤程序,并用檢測結(jié)果更新Kalman濾波器,使其能預(yù)測下一幀中行人可能存在的區(qū)域;

            (3) 對預(yù)測區(qū)域按照以下策略進行修正:以行人質(zhì)心位置的估計值作為中心,將預(yù)測得出的行人矩形的高度和寬度各放大1. 5 倍,建立行人搜索的感興趣區(qū)域,在新的感興趣區(qū)域中用級聯(lián)分類器進行目標(biāo)檢測,然后將檢測到的行人質(zhì)心和矩形寬度與高度作為下一步預(yù)測的初始值;

            (4) 跟蹤失效的處理: 在跟蹤過程中,如果檢測失效,則保持前一幀的行人信息,并在后續(xù)幀中繼續(xù)檢測,以防止由于偶然的漏檢造成跟蹤失效。

            如檢測失敗超過一定的幀數(shù)( 本文設(shè)定為3 幀) ,則認(rèn)為行人目標(biāo)已消失,不再繼續(xù)跟蹤。

            為驗證本文方法的有效性,在校內(nèi)柏油道路上進行了白天正常光照條件下的試驗驗證,試驗平臺為所開發(fā)的無人駕駛試驗平臺DLUTIV-I,如圖3所示。 CCD 選用美國AVT 公司生產(chǎn)的F-033 黑白數(shù)字相機,圖像分辨率為320 × 240 像素,鏡頭視場角為25°,焦距為12 mm,采用酷睿2 雙核2. 2 GHz、2 GB 內(nèi)存的工控機。 試驗結(jié)果表明,本文算法能實現(xiàn)10 ~ 30 m 范圍內(nèi)的行人檢測,識別算法每幀約為80 ms,正確檢測率能達(dá)88% 左右; 利用Kalman 跟蹤預(yù)測后,由于建立了行人檢測的感興趣區(qū)域,有效減少了在圖像中掃描行人的時間,算法平均耗時約為55 ms /幀,實時性較好。 表2 統(tǒng)計了車輛在靜止和運動兩種狀態(tài)下行人檢測與跟蹤結(jié)果,在車輛運動的情況下,由于背景和行人在圖像中位置變化較大,造成誤警率較高。

          表2 行人檢測與跟蹤試驗結(jié)果統(tǒng)計

          圖4 是車輛由靜止到運動狀態(tài)下對前方1 個行人的跟蹤結(jié)果

            行人在車輛靜止時背對著車輛向前方行走,行走到一定位置之后等候車輛起動,待車輛向前行駛一段距離后,行人繼續(xù)向前運動,并伴有橫穿道路等動作。 從圖5 的跟蹤曲線可以看出,識別行人的外接矩形寬度變化比較顯著,這符合實際情況,由于行人行走時腿部跨度造成封閉矩形寬度變化明顯; 由于行人相對于本車的距離變化是連續(xù)的,使得行人外接矩形的高度變化比較連續(xù)。

          運動狀態(tài)下行人跟蹤參數(shù)變化曲線

            試驗表明,光照條件不同會對行人的識別與跟蹤結(jié)果產(chǎn)生一定影響,尤其當(dāng)光照較強時,行人某些部位與地面或背景融為一體,灰度差值很小,造成行人定位不精確或者識別失效,如圖6 所示。

          部分識別失效圖片

          4 結(jié)束語

            本文提出一種基于Adaboost 算法的行人檢測方法,根據(jù)行人運動速度慢的特點,提出利用Kalman 濾波對行人外接矩形的中心及其寬度和高度進行預(yù)測,建立動態(tài)可變的行人搜索感興趣區(qū)域,使每幀圖像處理的平均耗時由80 ms 左右降至55 ms,從而滿足實時性要求。 試驗表明,本文方法能夠識別車輛前方靜止和運動的行人,檢測率達(dá)到約88%。

            行人檢測技術(shù)是輔助駕駛研究領(lǐng)域的重要組成部分,下一步需要在行人檢測的基礎(chǔ)上,分析其運動狀態(tài)以及本車對其構(gòu)成的危險程度。 在車輛與行人可能發(fā)生碰撞時,及時向駕駛員發(fā)出警示信息,當(dāng)駕駛員沒有采取有效避碰措施時,系統(tǒng)啟動減速或緊急制動等操作,有效保障行人的安全。

            試驗表明,本文研究工作還存在一定的不足,考慮因素還不全面,受光照條件的影響較。 下一步擬采取CCD 光圈自動調(diào)節(jié)裝置來改善白天強光照條件或者暗光照條件的成像質(zhì)量,并研究如何提取有效表征和區(qū)分行人目標(biāo)的特征、增加訓(xùn)練樣本或者改進訓(xùn)練方法。 同時,結(jié)合紅外傳感器研究傍晚或夜間等條件下的行人檢測。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();