康 磊 鄺沛江 莊衍豎
華南理工大學(xué)電子與信息學(xué)院
提出了一個(gè)基于嵌入式的汽車安全預(yù)警系統(tǒng),通過(guò)嵌入式平臺(tái)進(jìn)行圖像的采集、處理和信息的輸出,完成路況檢測(cè)任務(wù),輔助駕駛員進(jìn)行安全行駛。
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人們對(duì)交通工具的要求也不斷的提高,汽車的出現(xiàn)無(wú)疑給人們的生活帶來(lái)巨大的便利,但汽車所帶來(lái)的交通事故也不容忽視,而導(dǎo)致事故發(fā)生的原因大多數(shù)是駕駛員注意力的不集中。為了減少事故發(fā)生的幾率,幫助駕駛員安全駕駛汽車,開展汽車安全預(yù)警系統(tǒng)的智能車輛輔助駕駛系統(tǒng)勢(shì)在必行。汽車安全預(yù)警系統(tǒng)能夠在車輛遇到潛在危險(xiǎn)時(shí)能夠以聲音或視覺(jué)信息的方式提醒駕駛員,以使駕駛員能夠及時(shí)的采取正確的措施。
本文提出了一種基于嵌入式平臺(tái)的汽車安全預(yù)警,通過(guò)攝像頭采集圖像數(shù)據(jù),將圖像數(shù)據(jù)傳入嵌入式中,在嵌入式平臺(tái)上對(duì)圖像數(shù)據(jù)進(jìn)行處理,完成汽車安全信息的采集和處理結(jié)果,指導(dǎo)駕駛員能夠及時(shí)的采取正確的措施,避免事故的發(fā)生。本次嵌入式平臺(tái)采用mini6410,程序語(yǔ)言為C++,界面使用QT 搭建。
嵌入式平臺(tái)使用mini6410,系統(tǒng)使用Linux 系統(tǒng),C++語(yǔ)言具有接近底層的特性,具有運(yùn)行速度快的特定,為了保證整個(gè)平臺(tái)的實(shí)時(shí)性,采用C++作為本平臺(tái)的實(shí)現(xiàn)語(yǔ)言。Opencv 是一個(gè)開源的跨平臺(tái)的計(jì)算機(jī)視覺(jué)庫(kù),包含一系列由C 和少量C++實(shí)現(xiàn)的在圖像處理和計(jì)算機(jī)視覺(jué)方面的通用算法。為了減少開發(fā)成本,采用Opencv庫(kù)中一些優(yōu)秀的通用算法。Qt 是一種跨平臺(tái)的C++圖形用戶界面應(yīng)用程序開發(fā)框架,提供給了開發(fā)者建立優(yōu)秀的圖形用戶界面所需的所有功能,為了給使用者良好的用戶體驗(yàn),我們采用Qt 作為預(yù)警系統(tǒng)的用戶界面。
系統(tǒng)架構(gòu)圖如圖1 所示。
本文著重對(duì)基于嵌入平臺(tái)的汽車安全預(yù)警軟件技術(shù)的架構(gòu)進(jìn)行研究,主要工作包括:
(1)攝像頭
攝像頭是為了采集車輛前方的道路的信息,不同的攝像頭具有不同的驅(qū)動(dòng)方式,為了減少開發(fā)成本,采用支持Linux 系統(tǒng)熱拔插的USB 攝像頭來(lái)采集道路信息。攝像頭采集的信息是經(jīng)過(guò)編碼的,而檢測(cè)算法模塊是對(duì)一張張圖片進(jìn)行處理的,因此,需要在嵌入式中解碼以提取一張張圖片。
圖1 系統(tǒng)架構(gòu)圖
圖2 具體設(shè)計(jì)模塊
(2)預(yù)警檢測(cè)
針對(duì)攝像頭獲得的圖像數(shù)據(jù),對(duì)車輛前方進(jìn)行車道線偏離檢測(cè),障礙物檢測(cè),預(yù)警檢測(cè)等相關(guān)信息的檢測(cè),采用Opencv 提供的通用算法和用C++實(shí)現(xiàn)的核心檢測(cè)算法。
輸出信息處理
將由預(yù)警檢測(cè)模塊獲得的信息進(jìn)行綜合,得到所需要的關(guān)鍵的檢測(cè)信息結(jié)果,去除不需要的,干擾的信息。
用戶界面顯示
用Qt C++GUI 進(jìn)行用戶界面的設(shè)計(jì),提供優(yōu)秀的用戶接口,使用戶可以方便的進(jìn)行相關(guān)信息的設(shè)置,并將所需要的結(jié)果提供給用戶。
本文利用計(jì)算機(jī)科學(xué)技術(shù)與信號(hào)和信息處理的相關(guān)技術(shù)來(lái)檢測(cè)道路狀況,目的是為了能夠在車輛遇到潛在危險(xiǎn)時(shí)能夠以聲音或視覺(jué)信息的方式提醒駕駛員,以使駕駛員能夠及時(shí)的采取正確的措施。