黃雨濤, 鄭景南, 何演權(quán), 謝秀齊
(廣東理工學(xué)院, 廣東 肇慶 430063)
司機(jī)通過(guò)限高橫梁時(shí)常常因?yàn)閷?duì)車(chē)輛車(chē)身高度預(yù)估錯(cuò)誤,導(dǎo)致車(chē)頂部撞擊橫梁或立交橋底;車(chē)輛以較快的速度在通過(guò)較窄路段或限寬墩時(shí),因?yàn)橥ㄟ^(guò)角度或司機(jī)操作失誤,導(dǎo)致車(chē)輛剮蹭或卡住車(chē)輛;駕駛過(guò)程中的司機(jī)注意力不夠集中,忽略前方道路的凹陷或突起等,可能導(dǎo)致行駛的汽車(chē)側(cè)翻或爆胎等。為了解決上述問(wèn)題,本文設(shè)計(jì)了一種基于Kinect 的障礙物識(shí)別和危險(xiǎn)警報(bào)功能的主動(dòng)式車(chē)載路面障礙檢測(cè)系統(tǒng),來(lái)輔助司機(jī)觀測(cè)前方障礙物。
為了達(dá)到上述目的,本文設(shè)計(jì)了一款識(shí)別路面障礙、判定物體危險(xiǎn)程度的輔助駕駛系統(tǒng),它包括固定架、獨(dú)立計(jì)算機(jī)Jstson TX2 模塊、kinect DK 傳感器。使用螺紋固定架或者槽位固定架即可方便地固定在車(chē)輛上,設(shè)備如圖1 所示。該設(shè)備包含3 個(gè)功能模塊,分別為圖像檢測(cè)模塊、圖像識(shí)別模塊、數(shù)據(jù)提取模塊[1-2]。

圖1 主動(dòng)式車(chē)載路面障礙檢測(cè)設(shè)備圖
三維圖像采集設(shè)備采用了Kinect DK,相比于普通攝像產(chǎn)品,Kinect DK 內(nèi)置了100 萬(wàn)像素的TOP 深度相機(jī),能夠在復(fù)雜多變的路面條件下,識(shí)別相關(guān)可能威脅行駛車(chē)輛及駕駛?cè)恕⒊丝偷任矬w。另外Kinect DK 鏡頭包含3 種不同攝像模式,即普通高清鏡頭、紅外線鏡頭、深度鏡頭。可以將物體的不同類(lèi)型數(shù)據(jù)分門(mén)別類(lèi),有序針對(duì)計(jì)算,加快整體處理數(shù)據(jù)速度。
檢測(cè)系統(tǒng)實(shí)時(shí)地對(duì)Kinect DK 采集到的彩色圖像和三維點(diǎn)云數(shù)據(jù)進(jìn)行處理,其計(jì)算量非常大,需要高性能的計(jì)算設(shè)備進(jìn)行分析,同時(shí)系統(tǒng)的復(fù)雜性不能太高,設(shè)備價(jià)格盡量降低。為此,設(shè)備采用了全功能NVIDIA CUDA 平臺(tái)開(kāi)發(fā)組件的Jetson TX2,該設(shè)備可以快速開(kāi)發(fā)和部署用于計(jì)算機(jī)視覺(jué)、機(jī)器人學(xué)以及醫(yī)學(xué)等領(lǐng)域的計(jì)算密集型系統(tǒng)。NVIDIA 提供了BSP 和軟件包,其中包括CUDA、OpenGL 4.4 以及NVIDIA VisionWorks,可以憑借全套的開(kāi)發(fā)和動(dòng)態(tài)分析工具以及對(duì)攝像頭和其他外設(shè)進(jìn)行開(kāi)發(fā),其擴(kuò)展端口用于額外的顯示器、通用IO 以及高帶寬攝像頭接口等,具有多種標(biāo)準(zhǔn)的硬件接口,使其易于集成到廣泛的產(chǎn)品形式中去。經(jīng)檢測(cè),Jetson TX2 能夠完成對(duì)Kinect DK 采集到的彩色圖像和三維點(diǎn)云數(shù)據(jù)進(jìn)行處理,且價(jià)格低廉、安裝簡(jiǎn)單。
系統(tǒng)需要實(shí)時(shí)對(duì)路面上的障礙物進(jìn)行識(shí)別,識(shí)別目標(biāo)的外形尺寸(長(zhǎng)、寬、高)參數(shù)。首先,采用像素點(diǎn)二值性對(duì)目標(biāo)的外圍輪廓線進(jìn)行提取,采用輪廓近似方法實(shí)現(xiàn)。其次,在完成對(duì)深度圖像的輪廓提取后,利用外邊矩形框選圖形的輪廓,并對(duì)矩形框的大小進(jìn)行分析,作為障礙物識(shí)別的依據(jù)。
系統(tǒng)總體流程如下:攝像機(jī)設(shè)備會(huì)通過(guò)Kinect DK 相機(jī)采集物體的點(diǎn)云數(shù)據(jù)、邊緣及特定區(qū)域。在處理數(shù)據(jù)后架構(gòu)相應(yīng)的邊緣模型,并對(duì)自身車(chē)輛信息進(jìn)行對(duì)比,在發(fā)生碰撞的情況下提前對(duì)駕駛者等人發(fā)出警報(bào)。系統(tǒng)工作流程如圖2 所示。

圖2 系統(tǒng)流程圖
在車(chē)輛駕駛室或車(chē)頭前方裝備設(shè)備,當(dāng)前方道路出現(xiàn)其他物體進(jìn)入設(shè)備的檢測(cè)范圍時(shí),Kinect DK 通過(guò)高清鏡頭、紅外鏡頭及深度相機(jī)鏡頭對(duì)物體進(jìn)行拍攝,并將拍攝的高清圖像和三維點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理。
對(duì)上述獲取的三維點(diǎn)云數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,將設(shè)備目標(biāo)下方長(zhǎng)度坐標(biāo)軸及寬度坐標(biāo)軸的點(diǎn)云擬合得出路面平面圖,得到車(chē)輛前方道路的長(zhǎng)度和寬度。
將步驟1 獲取到的三維點(diǎn)云數(shù)據(jù)及步驟2 擬合的地面平面方程,結(jié)合Kinect 掃描目標(biāo)物體,對(duì)目標(biāo)物體進(jìn)行點(diǎn)云聚類(lèi),在進(jìn)行去噪和點(diǎn)云拼接后,獲取物體輪廓點(diǎn)云圖。
對(duì)步驟3 的障礙物輪廓點(diǎn)云數(shù)據(jù)進(jìn)行分析,判斷障礙物大小、高度。一旦威脅到行車(chē)安全即發(fā)出警告。提醒司機(jī)注意,并通過(guò)三維圖的方式告知障礙物的位置和威脅程度。
實(shí)驗(yàn)車(chē)輛行駛時(shí),通過(guò)Kinect DK 不斷收集路面信息,獲取正常路面的水平高度數(shù)據(jù)。當(dāng)障礙物進(jìn)入Kinect DK 視野時(shí),設(shè)備偵測(cè)障礙物并根據(jù)障礙物高于水平路面的特點(diǎn)進(jìn)行三維取樣,如圖3 所示,在實(shí)驗(yàn)車(chē)輛前方路段放置圓柱形障礙物后,Kinect DK 第一時(shí)間判斷出前方障礙物高于正常路面水平,并對(duì)障礙物進(jìn)行圖像分割。

圖3 障礙物示意圖
對(duì)提取的障礙物點(diǎn)云數(shù)據(jù)進(jìn)行三維坐標(biāo)映射,在對(duì)點(diǎn)云數(shù)據(jù)使用部分重點(diǎn)采樣后,由障礙物一般處于水平地面,當(dāng)障礙物y 坐標(biāo)值取最小時(shí),可分割道路與障礙物。
將物體三維數(shù)據(jù)輸入至算法部分,假定障礙物的長(zhǎng)、寬、高(x1、y1及 h1)任一數(shù)值超出限定威脅數(shù)值(假定 x0、y0及 h0),便會(huì)發(fā)出預(yù)警[3-4]。
本文將采樣Kinect DK 和Jstson TX2 對(duì)復(fù)雜多變的交通道路情況進(jìn)行實(shí)時(shí)監(jiān)測(cè)分析,結(jié)合圖像分割和物體邊緣提取算法,設(shè)計(jì)了一款帶物體識(shí)別和危險(xiǎn)警報(bào)功能的主動(dòng)式車(chē)載路面障礙檢測(cè)系統(tǒng)。該系統(tǒng)可以不斷辨別道路上障礙物,判斷物體是否會(huì)對(duì)駕駛者帶來(lái)威脅,在危險(xiǎn)發(fā)生前提前發(fā)出警報(bào),提高車(chē)輛在道路中的行駛安全性。