国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenCV的前方車輛檢測和前撞預(yù)警算法研究*

2017-07-12 17:02劉軍高雪婷王利明晏曉娟
汽車技術(shù) 2017年6期
關(guān)鍵詞:測距分類器坐標(biāo)系

劉軍 高雪婷 王利明 晏曉娟

(江蘇大學(xué),鎮(zhèn)江 212013)

基于OpenCV的前方車輛檢測和前撞預(yù)警算法研究*

劉軍 高雪婷 王利明 晏曉娟

(江蘇大學(xué),鎮(zhèn)江 212013)

針對汽車的追尾碰撞事故,提出了基于OpenCV的前方車輛檢測和多信息融合預(yù)警的方法。該方法首先利用Haar-like+Gentle Adaboost實現(xiàn)前方車輛的快速識別,結(jié)合Kalman濾波原理跟蹤車輛,實現(xiàn)前方車輛檢測,然后基于幾何模型實時計算前車與本車的橫縱向距離,最后根據(jù)本車及前車車速、碰撞時間TTC、橫向距離等信息與閾值進行比較,分級識別碰撞風(fēng)險。試驗結(jié)果表明,該檢測方法平均耗時22 ms/幀,檢測率達到96%,并能較準確地測量車距,實現(xiàn)可靠的前方避撞預(yù)警輸出。

1 前言

汽車前方碰撞預(yù)警技術(shù)是先進駕駛輔助系統(tǒng)(Ad?vanced Driver Assistance Systems,ADAS)[1]的一個重要方面,它可以在預(yù)測到前方有行車危險時及時提醒駕駛員,以有效減少交通事故的發(fā)生。前方車輛檢測和預(yù)警算法是前方碰撞預(yù)警系統(tǒng)的關(guān)鍵技術(shù),對系統(tǒng)性能有很大影響。

相關(guān)學(xué)者在前方車輛檢測領(lǐng)域做出了很多研究,如,Takashi Izumi等[2]提出了一種基于陰影檢測的前方車輛跟蹤策略,該算法檢測速度較快,但對環(huán)境和光照的魯棒性差;為了解決此問題,Jazayeri[3]提出了一種光流與隱馬爾科夫模型相結(jié)合的車輛分類方法,但該方法計算量大且耗時;王海等[4]提出了一種兩步法對車輛進行檢測,該方法有利于提高檢測率,但降低了實時性。目前,前方碰撞預(yù)警算法一般有基于安全時間判斷和基于安全車距判斷兩種[5],如孫曉艷[6]提出基于避撞時間TTC的前撞預(yù)警算法,但該算法未考慮本車與目標(biāo)車輛的橫向距離,誤警率較高;周松盛[7]提出基于臨界安全距離模型的預(yù)警算法,但忽略了本車與目標(biāo)車輛的相對速度,當(dāng)相對速度較大時預(yù)警會有較大誤差。

基于上述問題,本文在前人研究的基礎(chǔ)上,提出一種基于OpenCV的前方車輛檢測和前撞預(yù)警算法。該方法首先利用Gentle Adaboost級聯(lián)分類器識別前車以及Kalman濾波跟蹤前車,實現(xiàn)前方車輛的檢測,然后基于幾何模型實時計算前車與本車的橫縱向距離,再將橫向距離、碰撞時間TTC等信息與閾值進行比較,分級識別碰撞風(fēng)險。該方法的檢測效果和實時性優(yōu)于經(jīng)典算法,可有效提高預(yù)警準確率。

2 前方車輛檢測算法

2.1 基于Gentle Adaboost算法的前方車輛識別

2.1.1 Gentle Adaboost算法介紹

根據(jù)樣本權(quán)重更新方法的不同對應(yīng)不同的Ada?boost算法,常見的有Discrete Adaboost、Real Adaboost和Gentle Adaboost算法[8]。其中Gentle Adaboost算法是在1998年由Friedman等人[9]提出的,它考慮了Discrete Ad?aboost算法對被劃分成負樣本的正樣本的權(quán)值調(diào)整過高而導(dǎo)致效率下降的問題,而且文獻[10]中的對比試驗表明,Gentle Adaboost算法的結(jié)果優(yōu)于其它兩種算法,因此本文采用Gentle Adaboost算法訓(xùn)練分類器。

2.1.2 樣本離線訓(xùn)練與前車在線識別

本文采用Gentle Adaboost算法訓(xùn)練得到識別前車的級聯(lián)分類器,通過程序加載分類器實現(xiàn)前方車輛的在線識別。離線分類器是將正、負樣本描述文件輸入到opencv_traincascade.exe程序后獲得的,實現(xiàn)步驟如下:

a.準備正、負樣本圖片。通過樣本庫及攝像采集共收集了1 450張各種車型的尾部圖片作為正樣本,4 380張不包含車輛的交通場景圖片作為負樣本。將正樣本歸一化成20×20像素的灰度圖,并調(diào)整負樣本尺寸使其大于正樣本尺寸。

b. 生成正、負樣本描述文件。通過opencv_cre?atesamples.exe可執(zhí)行文件將正樣本生成.vec文件,負樣本使用.txt文件。

c. Gentle Adaboost級聯(lián)分類器的訓(xùn)練。利用opencv_traincascade.exe程序訓(xùn)練基于Haar-like特征的Gentle Adaboost級聯(lián)分類器,該程序中包含了Haar-like特征提取及Gentle Adaboost分類器訓(xùn)練過程。將正、負樣本描述文件輸入到opencv_traincascade.exe中,并設(shè)置minHitRate為0.995,maxFalseAlarm為0.5,boostType類型為GAB,即Gentle Adaboost。訓(xùn)練一段時間后,得到分類器配置參數(shù)文件(.xml)。

前車的在線識別是通過在VS2010開發(fā)平臺上調(diào)用OpenCV開源視覺庫并使用C++語言編程實現(xiàn)的,步驟如下:

a.利用CCD攝像頭實時采集前方道路圖像,并通過視頻采集卡對信號進行A/D轉(zhuǎn)換后傳給PC機,獲取大小為720×576像素的待檢圖像;

b. 利用threshold()函數(shù)對待檢圖像進行二值化處理,減少運算量,以便更好地提取Haar-like特征;

c. 利用cascade.detectMultiScale()函數(shù)對預(yù)處理后的待檢圖像進行多尺度識別,設(shè)置檢測窗口放大比例為1.2倍,檢測次數(shù)為4,檢測目標(biāo)的最小尺寸為48×42像素,最大尺寸為230×220像素;

d.加載分類器,利用訓(xùn)練好的分類器對步驟c中所有子窗口進行判決,并將目標(biāo)車輛用矩形框框選出來。

2.2 基于Kalman濾波的前方車輛跟蹤

基于Kalman濾波的前方車輛跟蹤是指通過當(dāng)前幀中前方車輛的位置預(yù)測下一幀前方車輛可能出現(xiàn)的位置。本文采用的CCD攝像頭的幀率為25 fps,即相鄰兩幀的間隔時間為0.04 s,由于時間間隔短,當(dāng)相鄰兩幀圖像中同一車輛的位置變化不大時,可將其運動狀態(tài)近似成勻速直線運動。而當(dāng)前方車輛行駛方向或速度突然變化時,較短時間內(nèi)仍可近似成勻速直線運動,所造成的誤差可作為系統(tǒng)噪聲處理[11],實現(xiàn)步驟如下:

a. 按前述的檢測算法檢測前方車輛,并利用rectangle()函數(shù)框選出目標(biāo)車輛,記錄矩形框的位置信息;

b. 如果連續(xù)三幀檢測到車輛,則使用cvKalman?Predict()函數(shù)預(yù)測下一幀中車輛可能存在的位置;

c.在車輛可能存在的區(qū)域附近劃定出搜索區(qū)域,用檢測算法進行目標(biāo)檢測,并將檢測值帶入cvKalman?Correct()函數(shù)對預(yù)測的結(jié)果進行修正,更新當(dāng)前幀車輛位置。

3 前撞預(yù)警算法

3.1 基于幾何模型的前方車輛測距

基于幾何模型的測距是指根據(jù)攝像機投影模型推導(dǎo)出路面坐標(biāo)系與圖像坐標(biāo)系的關(guān)系,進而計算出兩車之間距離的過程。

3.1.1 坐標(biāo)系及坐標(biāo)系轉(zhuǎn)換關(guān)系

對于測量車輛與前方障礙物之間的距離,小孔成像模型(也稱為線性攝像機模型)基本可以滿足測量要求如圖1所示。模型中涉及到圖像坐標(biāo)系、像素坐標(biāo)系、攝像頭坐標(biāo)系和世界坐標(biāo)系[12]等4個坐標(biāo)系。

圖1中,XWYWZW為世界坐標(biāo)系,XCYCZC為攝像頭坐標(biāo)系,xO1y和uO0v分別為圖像坐標(biāo)系和像素坐標(biāo)系,O1Oc為攝像頭焦距,用f表示。假設(shè)空間中有某點A,依據(jù)小孔成像原理,點A′為點A在圖像平面內(nèi)的投影點。(XC,YC,ZC)為點A在攝像頭坐標(biāo)系下的坐標(biāo),(x,y)和(u,v)分別為點A的圖像坐標(biāo)和像素坐標(biāo)。

圖1 小孔成像模型

點A的圖像坐標(biāo)系(x,y)與攝像頭坐標(biāo)系(Xc,Yc,Zc)的轉(zhuǎn)換關(guān)系為:

點A的圖像坐標(biāo)系(x,y)與像素坐標(biāo)系(u,v)之間的關(guān)系為:

其中,(u0,v0)為圖像坐標(biāo)系原點O1在像素坐標(biāo)系中的坐標(biāo);dx和dy為單位像素在圖像坐標(biāo)平面x軸和y軸方向上的物理尺寸,因為所使用的攝像頭為線性CCD攝像頭,其在x軸方向和y軸方向上刻度均勻相等,所以dx=dy。

世界坐標(biāo)系即為路面坐標(biāo)系,像素坐標(biāo)系與路面坐標(biāo)系之間的轉(zhuǎn)換關(guān)系可以通過建立道路平面縱向、橫向測距模型,利用幾何推導(dǎo)并結(jié)合攝像頭內(nèi)參數(shù)求出。

3.1.2 建立道路平面縱向測距模型

圖2為道路平面縱向測距模型[13]。圖2中,XYZ為路面坐標(biāo)系;圖像坐標(biāo)系原點O1的像素坐標(biāo)為(u0,v0);攝像頭安裝高度為h;攝像頭俯仰角為 α;PP′與地面的夾角為 β,與光軸的夾角為γ;點P為路面坐標(biāo)系中Z軸上的一點,坐標(biāo)為(0,0,Z),其在像平面上的投影點為P′,由圖2可知,點P投影在圖像坐標(biāo)系的軸上,其圖像坐標(biāo)和像素坐標(biāo)分別為(0,y)和(u0,v)。

圖2 道路平面縱向測距模型

由圖2的幾何關(guān)系可得:

結(jié)合式(2)、式(3)和式(5)得:

式中,fy=f/dy為y方向的像素。

3.1.3 建立道路平面橫向測距模型

圖3為建立的道路平面橫向測距模型。圖3中,P(0,0,Z)和Q(X1,0,Z)為路面坐標(biāo)系中兩點且PQ平行于X軸,Q在像平面上的投影點為Q′,Q′在圖像坐標(biāo)系和像素坐標(biāo)系下的坐標(biāo)分別為(x,y)和(u,v)。

圖3 道路平面橫向測距模型

由圖3中的幾何關(guān)系可得:

式(11)中的h和α可通過直接測量得到;u0、v0和fy均為攝像頭內(nèi)參數(shù),通過攝像頭標(biāo)定試驗獲得。

3.1.4 前方車輛測距功能實現(xiàn)

前方車輛與本車之間的距離包括縱向距離和橫向距離,本文采用道路平面測距模型,結(jié)合攝像頭內(nèi)參數(shù)求出本車與前方車輛的橫向距離和縱向距離,過程如下:

a.利用檢測算法檢測本車前方所有車輛,并利用rectangle()函數(shù)將前方車輛框選出來;

b.將同車道內(nèi)距離本車最近的前方車輛作為需要測距的目標(biāo)車輛,并讀取其檢測框底邊中點的像素坐標(biāo)(u2,v2)和(u3,v3),則檢測框底邊中點的像素坐標(biāo)為

d.測量出攝像頭與本車車體前端之間的距離d1(CCD攝像頭安裝在前擋風(fēng)玻璃內(nèi)側(cè)中部),則本車與前車之間的縱向距離d為:

e.測量出本車的車寬W,計算出本車與前車的橫向距離L:

3.2 基于多信息融合的前方碰撞預(yù)警算法

目前,前方碰撞預(yù)警系統(tǒng)主要通過計算碰撞時間TTC或縱向距離d來判斷本車的安全狀態(tài)。但此方法只考慮了車輛的縱向特征,沒有考慮橫向特征,如本車想超車,TTC或縱向距離超過了閾值,但只要橫向距離沒有達到閾值就是安全的,此時報警反而會影響駕駛員的正常操作,而且只有當(dāng)本車車速V1大于前車車速V2時才可能發(fā)生危險。為解決此問題,必須在預(yù)警算法中引入多信息融合的思想。多信息融合是指從多個信息源獲取數(shù)據(jù)和信息進行關(guān)聯(lián)、相關(guān)和綜合,以獲得精確的狀態(tài)估計。因此基于多信息融合的前方碰撞預(yù)警算法是指綜合考慮本車車速V1、前車車速V2、TTC和橫向距離L來判斷本車的安全狀態(tài)。

TTC計算式為:

式中,Vr為本車與前車的相對速度,可以由相對距離和幀間時間間隔求出。

本車車速V1可通過車速傳感器測量得出,前車車速V2可通過Vr和V1求出。依據(jù)標(biāo)準ISO 15623 Intelligent transportsystems-Forward vehicle collision warning systems-Performance requirements and test procedures,算法提供兩種預(yù)警,即二級碰撞預(yù)警(1.1≤TTC<3.5 s)和一級碰撞警告(TTC<1.1 s),該預(yù)警算法流程如圖4所示。

圖4 基于多信息融合的預(yù)警算法流程

4 實車試驗

4.1 實車試驗效果圖

選擇在白天正常光照條件下的城郊和城市道路上進行實車道路試驗。系統(tǒng)硬件平臺為Intel(R)Core(TM)i7-4720HQ CPU@2.60 GHz,8 GB RAM的計算機,軟件環(huán)境為VS2010開發(fā)平臺下OpenCV 2.4.8,實車試驗效果如圖5所示。

圖5 實車試驗效果圖

圖5a中TTC>3.5 s,此時本車處于安全狀態(tài),前方車輛已被檢測出,但預(yù)警系統(tǒng)不報警;圖5b中TTC在1.1~3.5 s之間,且橫向距離較小,啟動二級碰撞預(yù)警。

4.2 試驗及結(jié)果分析

4.2.1 前方車輛檢測試驗

從城郊和城市道路上采集的視頻中各截取400幀圖像數(shù)據(jù)用來測試車輛檢測的效果。將車輛檢測率(Detection Rate,DR)和車輛誤檢率(False Positive Rate,F(xiàn)PR)[14]作為評價前方車輛檢測算法優(yōu)劣的準則。DR和FPR的表達式為:

式中,TP為實際被檢測出的車輛數(shù);FN為實際沒被檢測出來的車輛數(shù);FP為實際被誤檢為車輛的數(shù)量;TN為實際未被誤檢成車輛的數(shù)量。

兩種道路上前方車輛檢測結(jié)果如表1所列,其中GT為實際車輛總數(shù)。

表1 兩種道路上前方車輛檢測結(jié)果

為驗證所提出的前方車輛檢測算法的先進性,將該算法與幾種經(jīng)典的車輛檢測算法進行對比,結(jié)果如表2所列。由表2可知,前3種檢測算法雖然檢測率較高,但檢測速度太慢;后4種算法雖然實時性很好,但檢測率或誤檢率達不到要求。對比可知,本文所提出的前方車輛檢測算法的綜合性能最優(yōu)。

表2 不同檢測算法試驗結(jié)果對比

4.2.2 測距試驗

考慮到實時視頻的測距過程能夠等效成數(shù)幀靜態(tài)圖像的測距過程,因此采用靜態(tài)測距試驗來驗證基于幾何模型的前方車輛測距算法的可行性,表3為靜態(tài)試驗獲得的測距結(jié)果。由表3可知,橫、縱向距離的測量誤差都不超過5%,達到了較高的測量精度。

表3 靜態(tài)測距試驗結(jié)果

4.2.3 前方碰撞預(yù)警試驗

為驗證所提出的前方預(yù)警算法的可靠性,利用所有實車試驗數(shù)據(jù)對基于多信息融合的前方碰撞預(yù)警算法進行驗證。以接近前車時駕駛員釋放加速踏板和制動動作的數(shù)據(jù)為基礎(chǔ),計算每次接近前車的過程中每一時刻的碰撞時間TTC,再通過前撞預(yù)警算法得到兩級報警時刻,將算法得出的報警時刻與車載設(shè)備記錄的駕駛員實際動作時刻進行對比[17]。表4為基于多信息融合的前方碰撞預(yù)警算法與基于TTC的前方碰撞預(yù)警算法的試驗結(jié)果對比。由表4可知,基于多信息融合的前撞預(yù)警算法的報警率高于TTC預(yù)警算法,且誤警率和漏警率都低于后者,尤其是誤警率降低很多。

表4 兩種前撞預(yù)警算法試驗結(jié)果對比 %

5 結(jié)束語

本文提出了一種基于OpenCV的前方車輛檢測和碰撞預(yù)警算法,通過提取Haar-like特征和GAB級聯(lián)訓(xùn)練得到分類器識別前方車輛,并利用Kalman濾波跟蹤前方車輛,結(jié)合多種信息提出了多信息融合的前方碰撞預(yù)警算法。試驗結(jié)果表明,所提出的前方車輛檢測算法的綜合性能優(yōu)于多種經(jīng)典算法,前撞預(yù)警算法的判斷準確性較高,能夠滿足實際道路上防撞預(yù)警的要求。

1 馬鈞,曹靜.基于中國市場特定需求的汽車先進駕駛輔助系統(tǒng)發(fā)展趨勢研究.上海汽車,2012,4(9):36~40.

2 Izumi T,Kikawa M,Hase S,et al.Forward vehicle tracking based on shadow detection.Proceedings of the SICE Annual Conference,2007:1449~1453.

3 Jazayeri A,Cai H,Zheng J Y,et al.Vehicle detection and tracking in car video based on motion model,IEEE Trans.Intell.Transp.Syst,2011,12(2):583~595.

4 Wang Hai,Zhang Weigong,Cai Yingfeng.Design of a road detection system based on monocular vision.Journal of Southeast University(English Edition),2011,27(2):169~173.

5 徐豪.汽車主動防撞預(yù)警系統(tǒng)規(guī)避控制研究:[學(xué)位論文].長春:吉林大學(xué),2012.

6 孫曉艷.基于單目視覺的夜晚汽車前撞預(yù)警系統(tǒng)研究:[學(xué)位論文].西安:西安工業(yè)大學(xué),2013.

7 周松盛,何天明,張明濤,等.簡易安全車距和高速公路安全視距計算模型.北京汽車,2009(2):35~38.

8 陳益如.基于視覺的行人檢測算法研究及系統(tǒng)設(shè)計:[學(xué)位論文].杭州:浙江大學(xué),2014.

9 Friedman J,Hastie T,Tibshirani R.Additive logistic regres?sion:a statistical view of boosting.The Annals of Statistics,2000,28(2):337~407.

10 Lienhart R,Kuranov A,Pisarevsky V.Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection.Lecture Notes in Computer Science,2003,2781:297~304.

11 張玲增.基于多特征的前方車輛檢測與跟蹤方法研究:[學(xué)位論文].鎮(zhèn)江:江蘇大學(xué),2010.

12 Yoshikawa N.spatial position detection of three-dimension?al object using complex amplitude derived from Fourier transform profilometry.Meeting on Information Photonics,2005:1~3.

13 王牛,李祖樞,武德臣,等.機器人單目視覺定位模型及其參數(shù)辨識.華中科技大學(xué)學(xué)報,2008,36(10):57~60.

14 Wu C,Cao X,Lin R,et al.Registration-based Moving Vehicle Detection for Low- altitude Urban Traffic Surveillance.lntclligcnt Control and Automation(WCICA),2010,20(1):373~378.

15 Wang CCR,Lien JJJ.Automatic Vehicle Detection Using Local Features-A Statistical Approach,IEEE Transactions on Intelligent Transportation Systems,2008,9(1):83~96.

16 Ali S,Shah M.A supervised learning framework for generic object detection in images,Proc.IEEE CVPR,San Diego,CA,USA,2005,2:1347~1354.

17 Gall J,Lempitsky V.Class-Specific Hough Forests for Object Detection,Proc.IEEE CVPR,Miami,Florida,USA,2009,1022~1029.

(責(zé)任編輯 文 楫)

修改稿收到日期為2016年12月20日。

Research on Preceding Vehicle Detection and Collision Warning Method Based on OpenCV

Liu Jun,Gao Xueting,Wang Liming,Yan Xiaojuan
(Jiangsu University,Zhenjiang 212013)

A preceding vehicle detection and multi-information fusion warning method based on OpenCV was proposed for the rear-end collision accident,that utilized Haar-like+Gentle Adaboost to detect preceding vehicles rapidly,and used the Kalman filter principle to track these vehicles.Geometric model was used to calculate the lateral and longitudinal distances in real-time with the preceding vehicle,then vehicle speed and the preceding vehicle speed,collision time TTC and lateral distance,etc.,were compared with threshold value to identify the risk of collision.The experimental results show that the proposed detection method can detect preceding vehicles in about 22 ms per frame with an accuracy of 96%,and can measure the vehicle distance accurately to realize reliable front collision warning output.

Preceding vehicle detection,Collision warning,Kalman filter,Multi-information fusion

前方車輛檢測 碰撞預(yù)警 Kalman濾波 多信息融合

U461.91

A

1000-3703(2017)06-0011-06

江蘇省高校自然科學(xué)研究重大項目(13KJA580001)。

猜你喜歡
測距分類器坐標(biāo)系
基于RSSI測距的最大似然估計的節(jié)點定位算法
學(xué)貫中西(6):闡述ML分類器的工作流程
獨立坐標(biāo)系橢球變換與坐標(biāo)換算
基于樸素Bayes組合的簡易集成分類器①
基于動態(tài)分類器集成系統(tǒng)的卷煙感官質(zhì)量預(yù)測方法
一種自適應(yīng)子融合集成多分類器方法
基于單片機的超聲波測距導(dǎo)盲杖設(shè)計
直流系統(tǒng)行波測距的誤差分析
基于VMD和TEO的高壓輸電線路雷擊故障測距研究
坐標(biāo)系背后的故事
太和县| 岳阳市| 万荣县| 平山县| 浦城县| 巴青县| 江川县| 离岛区| 茂名市| 新乐市| 云浮市| 墨江| 广西| 宜兰县| 鄂托克旗| 栖霞市| 昌乐县| 孟津县| 中方县| 津市市| 云和县| 根河市| 澄城县| 高要市| 双鸭山市| 阳原县| 天全县| 青阳县| 巫山县| 大石桥市| 云南省| 泰顺县| 曲靖市| 新疆| 罗江县| 安国市| 桦南县| 桦川县| 泗洪县| 乐平市| 湖州市|