劉金清,陳存弟
1(福州外語(yǔ)外貿(mào)學(xué)院,福州 350202)
2(福建師范大學(xué) 光電與信息工程學(xué)院,醫(yī)學(xué)光電科學(xué)與技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,福州 350007)
車道偏離檢測(cè)和前向車距檢測(cè)的目的是防止無人車偏離本車道或者與前方車輛距離較近時(shí)發(fā)生交通事故.近年來,國(guó)內(nèi)外學(xué)者基于機(jī)器視覺的方法對(duì)車道偏離[1-4]和車距檢測(cè)技術(shù)[5-7]展開了相應(yīng)的研究.本文在前人研究的基礎(chǔ)上,實(shí)現(xiàn)了車道偏離和車距檢測(cè)算法的改進(jìn)與仿真,并移植到嵌入式平臺(tái)上測(cè)試.
車道偏離檢測(cè)算法和車輛前向車距檢測(cè)算法均需要通過相機(jī)采集的圖像重建出三維世界,以此算出客觀世界中的真實(shí)數(shù)據(jù).在機(jī)器視覺中,三維重建可以定義為根據(jù)圖像坐標(biāo)系與世界坐標(biāo)系的轉(zhuǎn)換關(guān)系進(jìn)而計(jì)算到相機(jī)參數(shù),進(jìn)一步推導(dǎo)出圖像坐標(biāo)與世界坐標(biāo)系的關(guān)系,因此車道偏離檢測(cè)與防撞檢測(cè)的首要條件是相機(jī)標(biāo)定.本文采用張氏相機(jī)標(biāo)定方法[8].
相機(jī)標(biāo)定的理論推導(dǎo)涉及4 種坐標(biāo)系,分別是以像素為單位的像素平面坐標(biāo)系(u,v);表示每毫米包含的像素?cái)?shù)量的圖像物理坐標(biāo)系(x,y);相機(jī)坐標(biāo)系(Xc,Yc,Zc)和世界坐標(biāo)系(Xw,Yw,Zw).如圖1 所示.
圖1 坐標(biāo)映射模型
(1)圖像物理坐標(biāo)系到像素坐標(biāo)系的轉(zhuǎn)換
圖像像素坐標(biāo)系(u,v)中的u和v分別表示行和列,其坐標(biāo)原點(diǎn)在圖像的左上角.圖像物理坐標(biāo)系(x,y)的x和y分別與圖像像素的u、v軸平行,相機(jī)的光心與像平面的交點(diǎn)為坐標(biāo)原點(diǎn).假設(shè)光心對(duì)應(yīng)的圖像平面坐標(biāo)為(u0,v0),dx表示x方向每個(gè)像素的毫米寬度,dy表示表示y方向每個(gè)像素的毫米寬度,式(1)為圖像坐標(biāo)系轉(zhuǎn)換為像素坐標(biāo)系.
(2)相機(jī)坐標(biāo)系到物理坐標(biāo)系的轉(zhuǎn)換
光心是相機(jī)坐標(biāo)系(Xc,Yc,Zc)的原點(diǎn),Zc軸與光軸重合且方向相同,Xc與Yc軸各自平行于圖像物理坐標(biāo)系的x和y軸.令相機(jī)的焦距為f,相機(jī)坐標(biāo)系與像素坐標(biāo)系的關(guān)系式為式(2)所示.
(3)世界坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換
世界坐標(biāo)系(Xw,Yw,Zw)到相機(jī)坐標(biāo)的轉(zhuǎn)換實(shí)質(zhì)上是平移和旋轉(zhuǎn)的過程,其中旋轉(zhuǎn)矩陣T為三維平移矢量,旋轉(zhuǎn)矩陣R為3×3 的正交單位矩陣,其轉(zhuǎn)換關(guān)系為式(3)所示.
整合4 個(gè)坐標(biāo)系的轉(zhuǎn)換關(guān)系,可以得出像素坐標(biāo)系與世界坐標(biāo)系的變換過程,其轉(zhuǎn)換過程為:
式(4)中包 含 有fdx、fdy、u0、v0等4 個(gè) 相關(guān)參數(shù),[R,T]是相機(jī)的外參矩陣.在相機(jī)的內(nèi)參數(shù)已知的情況下,就能得到像素坐標(biāo)與世界坐標(biāo)之間的投影矩陣P=A[R,T].因此,對(duì)于世界坐標(biāo)上的任意點(diǎn)M(Xw,Yw,Zw)可以計(jì)算出對(duì)應(yīng)的像素坐標(biāo)(u,v),但是P具有不可逆性,不能用已知的像素坐標(biāo)推導(dǎo)出世界坐標(biāo),而在車道偏離檢測(cè)與車距檢測(cè)中均需要從像素坐標(biāo)計(jì)算出世界中客觀的物理量,這就需要在已知相機(jī)內(nèi)外參數(shù)情況下再次建立相應(yīng)的路面模型計(jì)算出相關(guān)的物理量.
(4)求解相機(jī)畸變參數(shù)
在幾何光學(xué)和陰極射線管顯示中,畸變是對(duì)直線投影的一種偏移,即一條直線投影到圖片上并不是以直線的形式投影在圖像上.一般將畸變分成對(duì)圖像的投影影響較大的徑向畸變和切向畸變,其表達(dá)式為:
(5)OpenCV 上的相機(jī)標(biāo)定
張氏標(biāo)定法簡(jiǎn)單穩(wěn)定,因此得到廣泛的使用.具體標(biāo)定步驟如下:
① 制作棋盤標(biāo)定板:在固定的相機(jī)角度下,拍攝不同角度,多尺度且旋轉(zhuǎn)多變的棋盤圖像20 張,棋盤格數(shù)為9×5.
② 令棋盤的左上角為世界坐標(biāo)原點(diǎn),初始化棋盤格上所有角點(diǎn)的世界坐標(biāo),且Xw軸與Yw軸分別對(duì)應(yīng)棋盤的長(zhǎng)和寬,Zw=0,每個(gè)棋盤格的長(zhǎng)寬為30×30 mm,如圖2 所示.圖3 為檢測(cè)到的棋盤角點(diǎn)結(jié)果.
圖2 棋盤世界坐標(biāo)
圖3 棋盤角點(diǎn)坐標(biāo)
③ 引用calibrateCamera()函數(shù)計(jì)算相機(jī)的內(nèi)外參數(shù)和畸變參數(shù)得到的標(biāo)定參數(shù)為:
畸變系數(shù):
相機(jī)內(nèi)參矩陣:
車距檢測(cè)模型,如圖4 所示.假設(shè)相機(jī)能夠獲取的路面區(qū)域?yàn)锳BCD,路面E點(diǎn)投影在圖像最頂邊的Eo點(diǎn)上;F點(diǎn)是相機(jī)剛好拍到靠近相機(jī)的路面邊界處,其投影在圖像最底邊Fo點(diǎn)上,G點(diǎn)是相機(jī)光心射向的路面焦點(diǎn),該點(diǎn)投影在圖像的o點(diǎn)處;路面上隨意的P點(diǎn)投影在Po點(diǎn)處;Q點(diǎn)表示相機(jī)的位置,h、ZF和ZG可用尺子測(cè)量.∠ZQF=γ ,∠FQG=β,∠TQG=α.假設(shè)P點(diǎn)是檢測(cè)到的車輛,計(jì)算車距即是求解路面上ZP距離,Z是相機(jī)在路面上的投影點(diǎn).
圖4 路面車距檢測(cè)模型
根據(jù)圖4 的路面建模圖,結(jié)合相機(jī)成像規(guī)則,可以得到以下關(guān)系:
本文在實(shí)驗(yàn)室通過模擬車道來測(cè)試算法的可靠性.相機(jī)光心投影在圖像上的像素坐標(biāo)為(u0,v0)=(268.62,192.25),x方向的焦距為fdx=885.78,y方向的焦距為fdy=882.80,相機(jī)距離地面的高度為h=690 mm,通過實(shí)地測(cè)量相機(jī)投影在路面與圖像最低邊在真實(shí)路面上的距離為ZF=2050 mm.
圖5 中隨機(jī)的路面坐標(biāo)Po(300,295),投影在真實(shí)路面上的數(shù)據(jù)為:PT=197.13 mm,ZT=5520.95 mm,通過歐氏公式隨機(jī)路面點(diǎn)到相機(jī)的距離為:ZP=5524.47 mm,實(shí)際距離為5400 mm.模擬的車輛位置與相機(jī)的偏離角度為右偏2.05 度.計(jì)算結(jié)果與實(shí)際測(cè)量的結(jié)果之差僅為| 5524.47-5400|=124.47 mm.
圖5 畸變校正與路面測(cè)距模擬結(jié)果圖
表1 中的距離結(jié)果以mm 為單位,角度單位為度,從模擬路面上的6 組數(shù)據(jù)中可以看出,實(shí)際值與測(cè)量值的誤差較小,在10 m 內(nèi)的誤差控制在200 mm 內(nèi),說明本文建立的車距測(cè)量模型較準(zhǔn)確.在實(shí)際的高速路面上,安全車距不少于50 米,可以通過本文的算法設(shè)置固定的車距安全閾值來實(shí)現(xiàn)車距安全檢測(cè).
表1 無人車相對(duì)于光軸的偏航角和車距測(cè)量表
由于無人車駕駛過程中容易出現(xiàn)偏航現(xiàn)象,如果不及時(shí)調(diào)整方向便會(huì)偏離到其他車道.此外,車輛壓到分道線導(dǎo)致左輪或者右輪偏離在其他車道中,將影響其他車輛的正常運(yùn)行,甚至導(dǎo)致不可預(yù)知的交通事件,因此需要車道偏離提示.車輛準(zhǔn)備超車時(shí)會(huì)提前打開左轉(zhuǎn)向燈,所以,無人車在沒有檢測(cè)到左轉(zhuǎn)向燈打開時(shí),車道偏離報(bào)警系統(tǒng)才會(huì)發(fā)揮相應(yīng)的警報(bào)作用.
無人車正常行駛時(shí),行駛方向與左右分道線趨近平行,因而,可以利用車道俯視圖模型來計(jì)算出偏航的角度和車輛與左右分道的邊距,以做出相應(yīng)的報(bào)警信息反饋.
CCP 算法需要預(yù)知無人車的橫向?qū)挾萣c和車道寬度bl,標(biāo)準(zhǔn)高速公路的車道寬度為3.75 m,可以通過式(6)判斷車道偏離情況.y0表示無人車中心與車道中線的距離.如果△y1<0 或△y2<0,則認(rèn)為是車道偏離;如果 △y1>0 和△y2>0則認(rèn)為是無人車在當(dāng)前行駛的車道內(nèi).如果判別到無人車是左偏離,那么如圖6 所示,可知 △y1是 車輛與左分道線的距離,△y2是車輛與右分道線的距離;如果判別到無人車是右偏離,那么 △y1是車輛與右線的距離,△y2是車輛與左線的距離.
圖6 CCP 車道偏離檢測(cè)
相機(jī)的光心在圖像上的坐標(biāo)為(u0,v0),因此圖像中坐標(biāo)點(diǎn)Fo(u0,Ih)為相機(jī)光軸投影在地面上投影的點(diǎn),Ih是圖像的高,Iw為圖像的寬.如圖7 所示,是一張車身右偏而行駛方向偏左的圖像,圖中L1和L2是左右車道線,L3是L1和L2交叉角的平分線,Pt(u,v)是L3上任意一點(diǎn),L3與 圖像底邊的交點(diǎn)為V(u,v).
圖7 車向偏離示意圖
如圖8 所示,在路面上建立一個(gè)路面坐標(biāo),以分道線平行的中線為正向y軸,無人車所在的位置橫向?yàn)閤軸,右方向?yàn)檎?其中θ 是無人車的偏航角,∠FVoPo=φ,Ib是相機(jī)成像后靠近車輛的底邊,Vo、Po分別是圖像中V、Pt點(diǎn)的實(shí)際路面投影點(diǎn),Po為隨機(jī)投影點(diǎn),像素坐標(biāo)中直線u=u0與車道平分線的交點(diǎn)投影在路面上,即是圖中Po點(diǎn).
圖8 車輛偏離俯視圖模型
(1)無人車偏航角的計(jì)算
① 余太武[9]計(jì)算左右車道的角平分線作為車道中線,而本文計(jì)算車道中線的方法是基于左右車道斜率和截距求平均的方法.
如圖9 所示,基于角平分線求解車道中線的方法存在誤差,而基于式(7)求解的結(jié)果正確.
圖9 求解車道中線的比較
② 基于2.1 節(jié)介紹的路面建模圖像,我們隨機(jī)取車道中線上的某點(diǎn)Pt,接下來,計(jì)算出車道中線上V點(diǎn)坐標(biāo),分別計(jì)算出Fo, V,Pt,分別對(duì)應(yīng)在路面上的F,Vo,Po點(diǎn) ,以此計(jì)算出實(shí)際路面上的距離|FVo|、 |PoVo|和|FPo|.
根據(jù)余弦定理求∠FV0P0=φ:
③ 計(jì)算偏航角:
(2)無人車與左右分道線的距離計(jì)算
② 若Fo.u>V.u,可初步判斷為車輛向左偏離車道中線.
無人車距左分道線距離為:
無人車距右分道線距離:
③ 若Fo.u<V.u,可初步判斷為車輛右偏離車道中線
無人車距左分道線距離:
無人車距右分道線距離:
獲取到無人車與左右分道線的偏離距離和偏航角后,就可以設(shè)定相應(yīng)的閾值來判斷當(dāng)前無人車的行駛狀況.如圖10 所示,沿車道方向分割成安全區(qū)域和報(bào)警區(qū)域.對(duì)于一般小車寬度為1.5-1.8 m 之間,標(biāo)準(zhǔn)高速路寬度為3.7 m.本文設(shè)置車輛與左右分道線0.5 m范圍內(nèi)為報(bào)警區(qū),車道中間2.75 m 內(nèi)為安全區(qū).
圖10 車道安全區(qū)域與報(bào)警區(qū)域的劃分
如圖11 所示為兩幀車道偏離檢測(cè)結(jié)果,其中第1 行輸出為車輛左輪與左分道線的間距和右輪與右分道線的間距;第2 行輸出為車輛行駛方向與車道中線的偏航角,當(dāng)偏航角小于5 度時(shí)表示行駛方向正常.第3 行表示車輛當(dāng)前的運(yùn)行狀態(tài),只有當(dāng)偏航角、無人車與左右分道線的間距不超過設(shè)定的安全閾值時(shí)才會(huì)斷定為正常行駛.
圖11 車道偏離檢測(cè)結(jié)果
如圖12 所示,本文實(shí)驗(yàn)?zāi)M的車道寬度為120 cm,車輛寬度為36 cm,相機(jī)投影在地面到圖像底邊的實(shí)際地面邊界的距離為205 cm,其高為70 cm,模擬得到的結(jié)果為表2 和表3.
圖12 模擬偏航試驗(yàn)圖
表2 無人車相對(duì)于車道的偏航角(度)
表3 無人車與左右分道線距離
TI 公司的DM3730[10,11]整合了具有控制優(yōu)勢(shì)的ARM 核和具有運(yùn)算優(yōu)勢(shì)的DSP 核.DSP 端依靠DSP/BIOS 操作系統(tǒng)來支持音視頻算法,ARM 端依靠Linux 系統(tǒng)來控制芯片的外部設(shè)備,而ARM 與DSP 雙核之間的數(shù)據(jù)傳輸與通信則依賴Codec Engine 架構(gòu)來管理[12].ARM+DSP 框架如圖13 所示.
圖13 DSP+ARM 雙核框架
(1)處理器:DM3730 處理器.
① Pin-to-Pin 兼容DM3730 系列處理器.
② 1000-MHz 主頻ARM CortesxTM-A8 內(nèi)核.
③ 800-MHz DSP TMS320C64x+TM 內(nèi)核.
④ 片內(nèi)集成存儲(chǔ)器用于ARM CPU(16 KB ICache,16 KB D-Cache,256 KB L2 Cache)和片上存儲(chǔ)(64 KB SHared SDRAM,112 KB ROM).
(2)存儲(chǔ)器:Micron mDDR 與NandFlash 集成芯片.
① 256 MByte 32 位mDDR 133 MHz.
② 512 MByte 16 位Nand Flash.
(3)視頻接口、USB 接口、音頻插座、調(diào)試接口、SD/MMC 插座、電源接口、串口插座、擴(kuò)展接口、網(wǎng)絡(luò)接口.
搭建軟件開發(fā)平臺(tái)的資源有:VirtualBox;uBuntu V10.04;PC 端的超級(jí)終端Tera Term Pro.
安裝TI 提供的支持音頻和視頻算法的DVSDK組件包,該包含有各算法支持庫(kù)和各支持庫(kù)的調(diào)用管理引擎(Code Engine),以及XDM 算法的編譯工具xdctools,同時(shí)提供了音頻、視頻算法進(jìn)行編解碼的例程以供參考.利用該包可以很方便地開發(fā)DSP 下的圖像語(yǔ)音處理軟件,并且實(shí)現(xiàn)ARM 與DSP 之間的聯(lián)系.Codec Engine 是DVSDK 組件包的核心模塊,是ARM 和DSP 的通信與數(shù)據(jù)傳輸橋梁,過渡于ARM 應(yīng)用層和DSP 信號(hào)處理層之間.該模塊要與DSP 端建立的Codec Engine 服務(wù)器進(jìn)行通信需要使用DSP/BIOS、DSP Link、DSP 算法接口的標(biāo)準(zhǔn)xDIAS[13]和XDM 協(xié)議.為了發(fā)揮DM3730 的雙核作用,Codec Engine、DSP Link、xDIAS 和XDM 是軟件中不可缺少的部分.
DM3730 開發(fā)板可以從板載的NandFlash 中啟動(dòng),也可以從SD 卡的Fat32 分區(qū)中啟動(dòng).無論是從板載的NandFlash 中啟動(dòng)還是從SD 卡啟動(dòng),都需要用XLoader對(duì)開發(fā)板進(jìn)行一些初始化工作,接著從NandFlash/SD中讀取Uboot 程序到存儲(chǔ)器,然后Uboot 從NandFlash/SD卡讀入啟動(dòng)參數(shù),加載Linux 內(nèi)核uImage 到存儲(chǔ)器,解壓縮后運(yùn)行,直到Linux 內(nèi)核啟動(dòng)后,重新初始化DM3730 板,加載NandFlash/SD 卡上的FileSystem,執(zhí)行FileSystem 中的程序并啟動(dòng)控制臺(tái).由此可見,開發(fā)板上的Xloader、Uboot、uImage 和文件系統(tǒng)在整個(gè)啟動(dòng)過程是層層依賴的關(guān)系.
安裝DVSDK 組件包后有自帶的交叉編譯器—arm-arago-linux-gnueabi-gcc.只需將DVSDK 組件包中的交叉編譯器的安裝路徑添加在用戶目錄中的.bashrc文件中即可.
TFTP 網(wǎng)絡(luò)能將編譯的程序和數(shù)據(jù)燒寫到目標(biāo)版上運(yùn)行,或?qū)⒛繕?biāo)版上文件或者運(yùn)行結(jié)果上傳到Linux主機(jī)端.tftp 工作目錄在/tftpboot,在文件傳輸過程中,均需要先將文件拷貝到該目錄下,然后才能在超級(jí)終端Tera Term Pro 中使用以下命令實(shí)現(xiàn)uBuntu 和目標(biāo)板中文件的傳輸:
(1)tftp -g -r fileName uBuntu 的IP 地址
(2)tftp -p -l fileName uBuntu 的IP 地址
(3)g:get,-r:remote,-p:put,-l:local
OpenCV 開源的視覺庫(kù)提供了豐富的圖像處理算法,在各大操作系統(tǒng)上均可編譯通過生成相應(yīng)的執(zhí)行文件,因此,這些代碼只要經(jīng)過適當(dāng)修改和編譯便可移植在嵌入式系統(tǒng)中.
EMCV 庫(kù)基于C 語(yǔ)言實(shí)現(xiàn),能運(yùn)行于TI DM64x系列DSP 中,移植EMCV 相當(dāng)于把OpenCV 中少部分算法移植到DSP 中[14].
在DM3730 的ARM 應(yīng)用程序中調(diào)用交叉編譯后的OpenCV 接口函數(shù),而在DSP 端調(diào)用EMCV 接口函數(shù).適用cmake 交叉編譯OpenCV 庫(kù)之前,需要編譯安裝ffmpeg 資源包、libx264 和libxvid 兩個(gè)庫(kù)、匯編編譯器yasm,以及l(fā)ibpng 和libjpeg 庫(kù),OpenCV 才能讀取和顯示png 和jpeg 格式圖片,而libpng 庫(kù)的安裝依賴于zlib 庫(kù).
所有庫(kù)的安裝目錄均設(shè)置在交叉編譯的目錄中,且將編譯安裝后的生成庫(kù)通過tftp 網(wǎng)絡(luò)傳送到目標(biāo)板的lib 目錄上.至此,就可以實(shí)現(xiàn)在DM3730 目標(biāo)板的ARM 端調(diào)用OpenCV 庫(kù)函數(shù)了.
本文使用Qt 開發(fā)圖形界面對(duì)處理后的視頻在LCD 上顯示.先在Qt 中的項(xiàng)目文件.pro 中添加OpenCV的頭文件路徑和庫(kù)文件.編譯后生成的二進(jìn)制文件傳送到目標(biāo)板的文件系統(tǒng)上就可以在ARM 端調(diào)用OpenCV 函數(shù)接口,處理后的結(jié)果使用Qt 來顯示.
使用Codec Engine 作為ARM 和DSP 的連接橋梁,模仿Codec Engine 自帶的video_copy 例程來添加算法.針對(duì)EMCV 的移植,將EMCV 的文件添加到video_copy 中,并在配置文件中添加EMCV 的文件名.車道識(shí)別和車輛檢測(cè)算法移植后,進(jìn)而測(cè)試本文的車道偏離檢測(cè)和車距安全檢測(cè)算法,得到的效果良好.
TI 的DVSDK 組件包提供了Codec Engine 軟件模塊來實(shí)現(xiàn)ARM 和DSP 的通信和協(xié)同工作.Codec Engine 是一組應(yīng)用程序編程接口,用于實(shí)例化和運(yùn)行xDAIS 算法,還有VISA(Video,Image,Speech,Audio)接口,用于與xDM 兼容的xDAIS 算法進(jìn)行交互[15,16],使ARM 端的Linux 可以調(diào)用VISA 標(biāo)準(zhǔn)接口來管理ARM 與DSP 的軟件.如圖14 所示,Codec Engine 框架中,Server 集成Codec 端算法,DSPLink 模塊隱藏了APP 調(diào)用Server 端算法的整個(gè)過程,因此在實(shí)例應(yīng)用中只能看到Server 和APP 端.
圖14 ARM 與DSP 的通信框架
如圖15 所示,ARM 應(yīng)用程序調(diào)用Codec Engine的VISA API 接口,VIDENC_process(a,b,c)傳遞a,b,c參數(shù),Codec Engine 的stub 會(huì)把參數(shù)a,b,c以及VISA 接口信息封裝處理,利用消息隊(duì)列msgq 傳遞給DSP 端.DSP 端的skeleton 解開這個(gè)封裝包,把ARM端的參數(shù)a,b,c(虛擬地址)轉(zhuǎn)換成DSP 端的參數(shù)x,y,z(物理地址).DSP 端的處理process 中的請(qǐng)求即能實(shí)現(xiàn)ARM 端VIDENC_process(a,b,c)函數(shù)的操作[17,18].
圖15 ARM 和DSP 通信的函數(shù)傳遞
圖16 為本文算法移植在DM3730 平臺(tái)上的運(yùn)行結(jié)果.已知采集高速車道視頻的相機(jī)內(nèi)外參,使用本文的車距模型和車道偏離模型,計(jì)算的車距和車道偏離角度均顯示在圖片上.車輛正常行駛拍攝到的視頻得到的檢測(cè)結(jié)果良好.
圖16 本文算法在DM3730 平臺(tái)上的運(yùn)行結(jié)果圖
本文的車距檢測(cè)模型[19],不但能夠檢測(cè)前方車輛與無人車的距離,還能計(jì)算出前方車輛相對(duì)于相機(jī)光軸的偏轉(zhuǎn)角度.基于CCP 車道偏離算法,建立車道偏離模型,實(shí)現(xiàn)了無人車當(dāng)前位置和相對(duì)于分道線的偏航角的計(jì)算,并設(shè)定無人車在車道上的安全區(qū)和警報(bào)區(qū)實(shí)現(xiàn)車道偏離的及時(shí)報(bào)警.對(duì)于車距的建模,在實(shí)驗(yàn)室模擬車道計(jì)算路面上的隨機(jī)點(diǎn),得到的誤差較小,穩(wěn)定性較好.對(duì)于車道偏離檢測(cè),模擬高速路車道搭建車道偏離模型,計(jì)算車輛偏離車道的偏航角且車輛與左右分道線的距離,檢測(cè)誤差范圍小,準(zhǔn)確性較高.還使用運(yùn)行狀況良好的高速路視頻測(cè)試本文算法,偏離反饋均顯示正常.盡管本文采用先進(jìn)的ARM+DSP 框架實(shí)現(xiàn)車輛動(dòng)態(tài)圖像識(shí)別的系統(tǒng)設(shè)計(jì),且采用Codec Engine 框架實(shí)現(xiàn)ARM 和DSP 的通信,實(shí)驗(yàn)過程穩(wěn)定性較高,但是在嵌入式平臺(tái)內(nèi)存和運(yùn)行主頻有限且運(yùn)行算法尚未優(yōu)化的情況下難以實(shí)現(xiàn)算法的實(shí)時(shí)性處理,因此有待完善運(yùn)行平臺(tái),更好地協(xié)調(diào)車道檢測(cè)、車輛檢測(cè)與跟蹤、車道偏離檢測(cè)和車距檢測(cè)4 個(gè)模塊.有待進(jìn)一步使用本文的算法在路面上測(cè)試.