《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于OpenCV的嵌入式車輛駕駛偏離報(bào)警系統(tǒng)
基于OpenCV的嵌入式車輛駕駛偏離報(bào)警系統(tǒng)
2015年微型機(jī)與應(yīng)用第16期
陳潔婧1,,高 錚1,,桂穎溢2
(1.中國農(nóng)業(yè)大學(xué) 信息與電氣工程學(xué)院,北京 100083,; 2.北京理工大學(xué) 光電學(xué)院,,北京 100081)
摘要: 為減少因駕駛員無意識(shí)偏離車道行駛造成的交通事故,,基于ARM和OpenCV建立嵌入式車道偏離報(bào)警系統(tǒng)。重點(diǎn)介紹了系統(tǒng)的設(shè)計(jì),、平臺(tái)的搭建和算法處理流程,。該系統(tǒng)通過攝像頭采集獲取圖像信息,并應(yīng)用OpenCV對(duì)圖像進(jìn)行預(yù)處理,,通過提取圖像中車道線信息,,評(píng)估車輛行駛狀態(tài)是否偏離車道中心位置,根據(jù)車輛的行駛狀態(tài),,發(fā)出報(bào)警,,提醒車輛駕駛?cè)藛T當(dāng)前行駛偏離情況,,以達(dá)到輔助安全駕駛的目的。
Abstract:
Key words :

  摘  要: 為減少因駕駛員無意識(shí)偏離車道行駛造成的交通事故,,基于ARM和OpenCV建立嵌入式車道偏離報(bào)警系統(tǒng),。重點(diǎn)介紹了系統(tǒng)的設(shè)計(jì)、平臺(tái)的搭建和算法處理流程,。該系統(tǒng)通過攝像頭采集獲取圖像信息,,并應(yīng)用OpenCV對(duì)圖像進(jìn)行預(yù)處理,通過提取圖像中車道線信息,,評(píng)估車輛行駛狀態(tài)是否偏離車道中心位置,,根據(jù)車輛的行駛狀態(tài),發(fā)出報(bào)警,,提醒車輛駕駛?cè)藛T當(dāng)前行駛偏離情況,,以達(dá)到輔助安全駕駛的目的。

  關(guān)鍵詞車輛離道報(bào)警系統(tǒng),;嵌入式系統(tǒng),;OpenCV;安全輔助駕駛

0 引言

  近些年隨著智能汽車的發(fā)展,,汽車的主動(dòng)安全性能受到人們的廣泛關(guān)注,,安全輔助駕駛的設(shè)備大量涌現(xiàn),相關(guān)研究已經(jīng)成為智能交通系統(tǒng)研究的重要內(nèi)容,。大量相關(guān)研究表明,,約有44%的車輛事故是由駕駛員疲勞駕駛或其他因素引起的車輛無意識(shí)偏離車道導(dǎo)致的。因此,,車輛離道報(bào)警系統(tǒng)能夠有效避免事故的發(fā)生,,提高駕駛安全性能。

  目前大多數(shù)嵌入式車輛離道報(bào)警系統(tǒng)多由一塊簡單的嵌入式CPU配以DSP或FPGA處理器加速圖像處理部分[1],,抑或在ARM處理器的Linux操作系統(tǒng)上直接運(yùn)行車道偏離檢測(cè)算法[2],。隨著近些年嵌入式處理器性能的大幅度提升,已經(jīng)可以將全部的圖像采集,、處理,、報(bào)警系統(tǒng)全部交給高性能嵌入式CPU進(jìn)行處理,開發(fā)人員只需要在一種平臺(tái)上進(jìn)行設(shè)計(jì),、開發(fā)即可完成全部系統(tǒng)的搭建,,具有降低開發(fā)難度的優(yōu)勢(shì)。本研究在高性能ARM平臺(tái)上移植OpenCV(Open Source Computer Vision Library),,使用OpenCV完成全部圖像采集處理以及報(bào)警功能,,系統(tǒng)集成度高,具有可用性強(qiáng),、穩(wěn)定性高,、維護(hù)與升級(jí)簡單等優(yōu)勢(shì),。

1 系統(tǒng)設(shè)計(jì)

001.jpg

  在汽車行駛過程中,駕駛員,、汽車,、行駛情況(路況)三者呈緊密耦合的閉環(huán)系統(tǒng)[3],如圖1所示,。本文主要從監(jiān)控形式情況中的路面信息入手,,解決駕駛員無意識(shí)行駛偏離情況,通過報(bào)警的方式提醒駕駛員車輛偏離車道,,從而實(shí)現(xiàn)輔助安全駕駛的目的,。

  本文所實(shí)現(xiàn)的系統(tǒng)由硬件平臺(tái)、Linux操作系統(tǒng)和上層OpenCV軟件及算法程序組成,。系統(tǒng)主要實(shí)現(xiàn)功能包括:通過攝像頭獲取包含車道信息的視頻幀圖像,,通過OpenCV對(duì)取得的圖像進(jìn)行預(yù)處理、車道邊緣提取,,再根據(jù)提取出的車道邊緣信息進(jìn)行車輛駕駛離道評(píng)估,,最終根據(jù)評(píng)估結(jié)果進(jìn)行相應(yīng)的報(bào)警措施。其流程圖如圖2所示,。

002.jpg

2 系統(tǒng)搭建

  硬件層面,,本系統(tǒng)的核心處理器選用ARM4412四核處理器,具有1.4~1.6 GHz主頻,,通過Pin口在硬件電路上直接與500萬像素高清晰攝像頭相連,,外圍配以42 V轉(zhuǎn)5 V供電電路,可以直接接入汽車42 V電源系統(tǒng),。

  軟件層面,,本系統(tǒng)在ARM處理器上移植Linux 2.6.38操作系統(tǒng),并配置攝像頭驅(qū)動(dòng),。在宿主機(jī)上通過交叉編譯的方式,向其移植OpenCV,。由操作系統(tǒng)控制,,通過攝像頭采集來的數(shù)據(jù)交付OpenCV進(jìn)行處理,返回的報(bào)警信息經(jīng)操作系統(tǒng)判斷是否為無意識(shí)車道偏離,,并發(fā)送給報(bào)警系統(tǒng),,發(fā)出報(bào)警。系統(tǒng)結(jié)構(gòu)如圖3所示,。

003.jpg

3 算法設(shè)計(jì)

  本系統(tǒng)核心算法實(shí)現(xiàn)于OpenCV上,,在OpenCV上對(duì)采集來的圖像進(jìn)行按幀處理,通過以下算法進(jìn)行車道圖像的預(yù)處理,、車道檢測(cè),、偏離報(bào)警功能,。

  在原始圖像中,由于路面障礙物,、車道遠(yuǎn)方景物以及天空等信息具有很強(qiáng)的干擾性,,因此,需要將圖像進(jìn)行預(yù)處理后才能用于車道的檢測(cè),。預(yù)處理階段將圖像初始化,,裁剪選擇適當(dāng)?shù)膮^(qū)域[4],以減少干擾并提高計(jì)算效率,。為了消除畫面中的噪聲,,同時(shí)提高后續(xù)算法的準(zhǔn)確性,還需要對(duì)圖像進(jìn)行濾波操作,。在綜合考慮處理效果與運(yùn)算速度的情況下,,本系統(tǒng)在預(yù)處理階段首先對(duì)圖像進(jìn)行灰度化,以便加快后續(xù)處理速度,;再對(duì)畫面進(jìn)行高斯模糊,,去除原始圖像中的噪點(diǎn);然后進(jìn)行連通域?yàn)V波,,通過預(yù)先設(shè)定的面積閾值,,消除畫面中小面積的干擾圖像,使畫面中干擾點(diǎn)大幅度降低,。

  對(duì)經(jīng)過預(yù)處理后的圖像進(jìn)行車道提取時(shí),,首先使用Canny算子運(yùn)算,提取出畫面中物體的邊緣,,由于Canny算子使用時(shí)需要確定閾值,,一些圖像識(shí)別算法采用動(dòng)態(tài)閾值的方法進(jìn)行處理,而導(dǎo)致運(yùn)算量增加,,系統(tǒng)實(shí)時(shí)性降低[5],。本文通過實(shí)驗(yàn)確定在較高時(shí)速行駛時(shí)Canny算子恰當(dāng)閾值,采用固定閾值算法進(jìn)行運(yùn)算,,在保證實(shí)時(shí)性的前提下,,達(dá)到準(zhǔn)確檢測(cè)車道的目的[6]。提取邊緣后,,通過霍夫變換[7]提取圖片中車道的信息,。再通過拋物線車道線擬合,將車道信息變換成數(shù)學(xué)模型,,即完成完整的車道信息提取步驟,。

  將處理好的車道線數(shù)學(xué)模型經(jīng)過運(yùn)算,求出車道中心點(diǎn),,并與車輛中心點(diǎn)進(jìn)行比較,。由于本系統(tǒng)選用前置攝像頭模式,,并默認(rèn)將攝像頭安裝在車頭的中央,畫面的中心即為車輛的中心,,因此將車道中點(diǎn)與畫面中心坐標(biāo)進(jìn)行對(duì)比判斷,,即可得出車輛相對(duì)于車道的偏移量,從而得出車輛的離道情況,。根據(jù)道路寬度和車輛的寬度,,本系統(tǒng)默認(rèn)設(shè)置車輛偏離車道達(dá)到約30 cm時(shí)為偏離,約50 cm時(shí)為嚴(yán)重偏離,,該閾值可以在系統(tǒng)中進(jìn)行調(diào)整,。總體流程圖如圖4所示,。

004.jpg

4 實(shí)際效果

005.jpg

  以實(shí)際路面為例,,顯示本系統(tǒng)在不同階段處理圖像后的結(jié)果。圖5為原始圖像經(jīng)過灰度,、高斯模糊后的圖像,,圖6為Canny算子運(yùn)算后的圖像,圖7為提取出的車道線以及其延長線,。

5 結(jié)論

  本系統(tǒng)創(chuàng)新之處在于將OpenCV移植到嵌入式平臺(tái)上,,通過高性能的嵌入式處理器,支持系統(tǒng)的高性能運(yùn)作,。相較于以往的車輛離道報(bào)警系統(tǒng),,本系統(tǒng)良好地屏蔽了嵌入式環(huán)境,提供了更好的開發(fā)模式,,易于升級(jí)和系統(tǒng)維護(hù),。

參考文獻(xiàn)

  [1] 芮晴波.基于DSP Builder的行車道檢測(cè)的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2007,,33(6):60-61.

  [2] 李曉松.基于ARM汽車視覺導(dǎo)航的車道線識(shí)別技術(shù)研究[D].武漢:湖北工業(yè)大學(xué),,2013.

  [3] 陳清陽,李健,,安向京,,等.嵌入式車道跑偏告警系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)仿真,2008,,25(11):261-265.

  [4] 劉紀(jì)紅,康小霞,,楊麗.結(jié)合機(jī)器視覺的車道偏離識(shí)別算法研究[J].電子技術(shù)應(yīng)用,,2013,39(3):133-135.

  [5] BERTOZZI M,, BROGGI A,, CELLARIO M,, et al. Artificial vision in road vehicles[C]. Proceedings of the IEEE, 2002,,90(7):1258-1271.

  [6] 雒濤,,鄭喜鳳,丁鐵夫.改進(jìn)的自適應(yīng)閾值Canny邊緣檢測(cè)[J].光電工程,,2009,,36(11):106-111.

  [7] 韓博.嵌入式車道偏離預(yù)警系統(tǒng)[D].吉林:東北師范大學(xué),2014.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。