中心議題:
- 探討基于單目視覺的智能車輛視覺導航系統(tǒng)設計
解決方案:
- 采用了一種基于光密度差的道路檢測算法
- 使用了車輛陰影檢測為主、左右邊緣檢測為輔的車輛探測方法
- 采用了簡單、實用的測距和報警方法
引言
基于計算機視覺的高速公路防撞系統(tǒng)是當前智能交通管理系統(tǒng)研究的熱點之一。如何在多 變的環(huán)境下快速準確地從視頻圖像里檢測到車道和前方車輛是實現(xiàn)這類系統(tǒng)面臨的最關鍵問題。近20年來,國內(nèi)外很多研究人員對這個問題進行了大量研究,提出 了多種多樣的實用算法并成功開發(fā)了一些視覺系統(tǒng)。這些系統(tǒng)所采用的算法基本上可以分為基于雙目視覺的方法、基于運動的方法、基于外形的方法和基于知識的方 法?;陔p目立體視覺的方法計算量大,需要特殊硬件支持;基于運動的方法,無法檢測靜止目標且實時性差;基于外形的方法,因建立有效的培訓樣本仍然是需要 研究的問題;基于知識的方法,在障礙物數(shù)量較少時效率較高,但復雜環(huán)境下錯誤率有所增加。
針對常規(guī)算法的不足,本文設計了一種精度高,穩(wěn)定性好的基于單目視覺的車載追尾預警系統(tǒng)。它利用一種新的邊緣檢測算法識別前方道路,然后利用陰影檢測與跟蹤相結合的方法識別前方車輛,接下來根據(jù)前后車距判斷其威脅等級,最終向駕駛員提供相應的聲光報警信號。
1 系統(tǒng)工作原理
系 統(tǒng)硬件部分包括MCC-4060型CCD攝像機、VT-121視頻采集卡、GPS、PC-104工控機和顯示終端。GPS通過串口向工控機發(fā)送本車車速信 息,安裝在車內(nèi)擋風玻璃后的CCD攝像機將圖像幀通過視頻采集卡送入工控機,經(jīng)過軟件的處理分析后,在顯示終端上標注出前車障礙物和道路標線,同時根據(jù)車 速、間距等判斷危險等級,發(fā)出相應的聲光報警信號;
系統(tǒng)的軟件部分包括道路檢測、道路跟蹤、車輛檢測、車輛跟蹤、測距、決策和報警等模 塊。當車速達到60km/h時,系統(tǒng)開始處理實時采集到的圖像序列。對于每一幀圖像,首先檢測并跟蹤圖像中的車道白線,然后在車道確定的感興趣區(qū)域內(nèi)檢測 車輛。如果存在疑似障礙車輛,則啟動車輛跟蹤,利用跟蹤信息進一步排除虛警。在實現(xiàn)對障礙車輛穩(wěn)定跟蹤后,估算出兩車間距和相對運動速度,判定其威脅等 級,并發(fā)出相應的報警信號。
2 系統(tǒng)關鍵技術
2.1 道路檢測
目前, 車道線檢測算法主要適用于光照充足的環(huán)境下。由于車道線與路面之間對比度大,因此很容易利用各種常規(guī)邊緣檢測算子獲得清晰的車道輪廓信息,然后選取合適的 閾值對圖像進行二值化處理,最后采用Hough變換識別車道線。然而在復雜光照環(huán)境下,圖像會受到各種光線直射和物體多次反射形成雜散光的干擾,圖像光強 不能反映車道本身突變性質(zhì),導致無法正確檢測出車道。
本系統(tǒng)采用了一種利用光密度差得到車道標線與路面反射率差,進而進行非線性邊緣檢測,再進行Hough變換的車道檢測算法。此算法可以有效解決在復雜光照條件下的車道檢測,也可以用于夜間的車道檢測。
另 外,目前車道線的跟蹤研究主要采用固定區(qū)域法或者Kalman濾波法,根據(jù)前一幀車道線檢測的結果來劃分感興趣區(qū)域,以實時跟蹤車道線。然而,固定區(qū)域法 對2幀圖像的相關性依賴大,劃分感興趣區(qū)域大,實時性差;而Kalman濾波法劃分感興趣區(qū)域小,容易產(chǎn)生檢測誤差,而造成跟蹤誤差累積,跟蹤正確率不 高。因此,本系統(tǒng)在跟蹤車道線時采用了一種融合固定區(qū)域法和KaIman濾波法劃分感興趣區(qū)域的新方法。
一般來說,只將車道邊界線交點(即滅點)以下、2車道線之間的區(qū)域作為感興趣區(qū)域,考慮到跨道行駛的車輛依然對本車有威脅,算法把兩車道線分別向兩側(cè)平移40個像素,使感興趣區(qū)域擴展到可以覆蓋跨道車輛的范圍。
2.2 車輛檢測
圖像中包含車輛前方很大視野內(nèi)的物體,如道路、樹木、護欄、標牌以及其他車輛,要從中準確檢測出前方車輛是一項困難的工作,而本文的車輛檢測模塊會根據(jù)圖像背景自動改變設置參數(shù),以適應不斷變化的道路場景和光照條件。
要實現(xiàn)車輛的快速檢測,首先需要根據(jù)車輛的基本特征進行初步檢測,將所有可能的疑似車輛區(qū)域從圖像中提取出來,然后再根據(jù)其他特征對疑似區(qū)域進行篩選排除。
[page]
2.2.1 車輛初步檢測
初步檢測采用的特征是車輛陰影,即一塊位于目標車輛底部、灰度值明顯比附近路面區(qū)域低的區(qū)域。在一般環(huán)境條件下,大部分車輛都具有這一顯著特征。
車 輛初步檢測的流程如圖1所示。車輛陰影和車道一樣具有灰度突變的特點,因此可以調(diào)用車道檢測算法對圖2(a)中的原始圖像做二值化處理,得到圖2(b)中 的邊緣二值化圖像。同時還要對原始圖像進行灰度二值化,得到圖2(c)中的灰度二值化圖像。為提高檢測實時性,以本車附近路面區(qū)域的平均灰度作為二值化閾 值。由于邊緣二值化圖像和灰度二值化圖像都包括了車輛的下底邊,將這兩幅圖像進行“或”運算,就可以得到如圖2(d)所示的車輛陰影圖像。
在 陰影圖像中由下至上逐行搜索,尋找連續(xù)陰影點超過一定閾值的線段,并以此線段為底邊劃出一個矩形區(qū)域作為疑似車輛區(qū)域。為保證疑似區(qū)域包含車輛整體,矩形 的寬度比線段稍寬,高度由寬度按比例給出。為避免重復搜索,將已搜索到的疑似區(qū)域內(nèi)陰影完全抹去。由于同一車輛的各個部分可能分別被檢測為疑似目標,因此 還需要對各個相交的疑似區(qū)域進行合并。由于前方車輛的遮擋,可能會將多個目標認定為一個目標,但是對本車的安全無影響。
2.2.2 篩選驗證
如果單純采用陰影特征進行車輛檢測,在保證較低“漏警”率的同時,也造成了較高的“虛警”率,因此還需要對疑似區(qū)域進行篩選和驗證。
對 于結構化道路,車輛寬度與車道寬度的比值應該是大致固定的,那么當攝像機的焦距、俯仰角等參數(shù)固定后,圖像上車道寬度(像素數(shù))與車輛寬度(像素數(shù))也滿 足這個比例。根據(jù)之前檢測的車道方程,就可以計算出感興趣區(qū)域內(nèi)任意縱坐標上車輛圖像寬度的范圍,并剔除寬度不在此范圍內(nèi)的疑似區(qū)域。
在以往的車輛驗證方法中,最常用的是對稱性測度驗證。這種算法的計算量較大,且對于背景復雜,對稱度差圖像的驗證效果不盡人意。為了解決這個問題,該系統(tǒng)采用了一種基于邊緣二值化圖像,通過搜索車輛左右邊緣進行驗證的算法。
假設疑似區(qū)域的寬度為W,區(qū)域左邊緣的坐標為(X1,Y1),右邊緣的水平坐標為(X2,Y2)。定義函數(shù):
式 中:f(x,y)為(x,y)點的灰度值。在區(qū)間(X1-W/4,X1+W/4)內(nèi)搜索g(u)的最大值點,該點對應的水平坐標X1’就是車輛的左邊緣坐 標。同理也可以搜索到車輛的右邊緣X2’。如果左右邊緣的g(u)值均大于某閾值,那么就可以認定該車輛確實存在。實驗證明,該算法能排除掉大量的“虛 警”區(qū)域并得到真實車輛的兩側(cè)邊緣。
2.3 車輛跟蹤
現(xiàn)關心的是前方車輛與本車相對的二維位置和速度,因此只需要使用卡爾曼濾波器預測橫坐標x、橫向速度Vx、縱坐標y、縱向坐標Vy這四個狀態(tài)向量。此外由于x方向和y方向的狀態(tài)向量沒有直接聯(lián)系,所以可以將其分為兩組分別處理。
在車輛行駛過程中,由于顛簸或遮擋等原因,系統(tǒng)可能會將路牌、灌木叢等物體誤認為是車輛檢測出來,產(chǎn)生虛警。而這些虛警物體往往只能在連續(xù)數(shù)幀圖像中存在。如果不采取措施,系統(tǒng)就會時常產(chǎn)生短促的報警。
當圖像采樣間隔足夠短時,相鄰幀內(nèi)同一車輛的位置會具有很大的相關性。
系 統(tǒng)采用檢測與跟蹤相結合的方法,根據(jù)第n幀圖像獲得的信息,預測車輛在第n+1幀圖像中的位置等信息,并與n+1幀圖像中實際檢測到的結果進行比對。如果 二者匹配度最大且超出一定值,則認定為同一車輛,繼續(xù)進行跟蹤、報警,否則認為此車已被遮擋或消失,暫時不做處理,數(shù)幀后被剔除出去。
[page]
2.4 測距報警
車間測距通常采用幾何投影模型,采用了一種簡化的車距模型公式L×W=C,其中L為兩車間距,單位為m;W為圖像上目標車輛處車道寬度,單位為pixel;C為常數(shù),可通過事先的標定獲得。然而兩車間安全車距S采用文獻推導的臨界安全車距公式動態(tài)得到。
式中:Vr為相對車速,由對測出車距求導得到相對車速后進行卡爾曼濾波得到;Vb為本車車速,由GPS得到。
如果告警頻率過高,容易使駕駛員麻痹大意,過低可能使駕駛員來不及做出反應,因此該系統(tǒng)采用由遠至近的三段報警。
若 車距d≥1.5S,判定為3級威脅,發(fā)出長而緩的報警聲,提醒駕駛員前方有障礙物,但暫無危險;若車距S≤d≤1.5S,判定為2級威脅,發(fā)出較急促的報 警聲,提醒駕駛員減速;若車距d≤S,判定為1級威脅,發(fā)出短而急的報警聲,提醒駕駛員制動;3種狀態(tài)下的告警聲差異很大,駕駛員可以很容易地根據(jù)報警聲 判斷威脅等級。
3 試驗結果
系統(tǒng)框架及所有算法在Boiland C++ Builder 6環(huán)境下編譯完成。為了驗證系統(tǒng)算法的可靠性和實時性,利用在合肥市環(huán)城高速公路上采集不同車型、不同路段、不同環(huán)境光下多組道路圖像作為測試序列,進行了大量實驗。
圖3為典型道路場景下的實驗結果,圖3(a)為大型卡車;(b)為小型面包車;(c)為遠距離處;(d)為近距離處的檢測結果。系統(tǒng)將檢測到的目標用黑框標記出來。
可以看出,系統(tǒng)能夠檢測到本車道內(nèi)不同距離上的各種車型車輛。在高速公路上的實驗結果表明,在最大車速100 km/h的情況下,系統(tǒng)在Celeron M 600 MHz處理器上的處理速度為8 j/s左右,也就是說處理一幀圖像的時間內(nèi)車輛行駛3~4 m,基本滿足實時報警的要求。在一般光照條件下,系統(tǒng)正常報警的縱向距離超過200 m,視場角遠遠大于雷達(一般為±7°)。
為了驗證單目視覺測距準確性,在市內(nèi)道路上采集了前車與本車距離從5~100 m的一組圖像。對采集的圖像進行處理后,根據(jù)公式推導出本車與前車距離以及實際距離見表1。表中數(shù)據(jù)顯示,單目視覺測距的相對誤差都在5%以內(nèi),可以滿足實際工作中測距告警的需要。
4 結語
本 文設計了一個基于單目視覺的汽車追尾預警系統(tǒng)。該系統(tǒng)采用了一種基于光密度差的道路檢測算法,并使用了一種以車輛陰影檢測為主、左右邊緣檢測為輔的車輛探 測方法,同時采用了簡單、實用的測距和報警方法。高速公路上的實驗結果證明了該系統(tǒng)的實時性、魯棒性和準確性。該系統(tǒng)目前還沒有在雨霧天氣或缺少照明的夜 間環(huán)境下進行試驗,未來我們將針對這些使用環(huán)境對系統(tǒng)做進一步改進和優(yōu)化。