曾仕峰 吳錦均 葉智文 賴怡雯 葉妙欣



摘要:隨著社會科技的發展和人工智能時代的來臨,輔助駕駛技術逐漸走進人們的視野,開始在社會中發揮作用。為了進一步解決在人為駕駛中存在的主觀因素的交通隱患問題,本項目緊跟目前已有的"機器學習+路徑規劃"技術設計一種基于ROS機器視覺設計的智能輔助駕駛系統。本設計運用激光雷達結合GPS模塊的導航定位技術精確定位輔助駕駛系統的位置并規劃行進路線,再結合“激光雷達+景深攝像頭”可實現系統的環境數據采集和做出規避。
關鍵詞:激光雷達建模;路徑規劃;景深攝像頭;Open CV機器識別
中圖分類號:TP18? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2020)26-0173-03
隨著5G時代的到來以及人工智能技術的發展和完善,現如今我們已不再局限于人為駕駛,輔助駕駛技術開始進入我們的生活。眾所周知,我們現如今在貨物和外賣等一些運輸工作上還有更多完善的空間,且汽車行車過程中的安全問題和風險也需要我們去盡量降低。本設計可以有效監控紅綠燈或突發意外,為人們的生活工作提供幫助。本設計是通過Open CV景深攝像頭模塊對紅綠燈進行跟蹤識別。該無人駕駛汽車對行駛控制進行了優化,例如制動、加速等方面,這對于汽車提高發動機效率、降低污氣排放有積極的作用。同時運用上了結合雷達實地三維建模的視頻處理技術,這將大大地提高小車的性能,更好地實現無人安全駕駛,使無人駕駛技術能夠在生活中得到更好運用。
1 系統總體設計
本設計系統總體設計框圖如圖1所示。
在硬件方面,該項目以英特爾i3工控機作為數據處理中心,激光雷達、景深攝像頭作為環境數據采集模塊,MPU6050、TB6612以及霍爾編碼器電機作為輔助系統姿態控制模塊,雙模GPS作為系統定位模塊。
在軟件方面,英特爾i3工控機搭載ROS(Robot Operating System)對環境信息、GPS位置信息等進行處理。在此過程中,我們可以利用Open CV算法對環境信息中的圖像信息進行備注,并對交通信號以及其他汽車、自行車和行人進行識別,并利用RRT(即Rapid-exploration Random Tree)算法處理當前GPS位置信息來對路徑進行規劃,最終利用PID算法對激光雷達采集的景深和點云數據進行處理,輸出數據,進而控制系統的姿態調整。
工作原理:Lidar采集到環境中的點云數據,而點云數據負責提供二維環境中物體之間的距離;景深攝像頭則采集到的是3D圖像數據,3D圖像數據則提供二維圖像數據。可用于識別標識顏色和字體,幫助檢測道路標志、交通信號燈和街道標記等。3D圖像數據還提供環境中物體的三維數據,用于識別車輛、行人及其他障礙物,幫助系統實現避障和姿態控制。雙模GPS提供全球經緯度數據,用于定位系統位置,幫助系統實現路徑規劃。英特爾i3工控機從激光雷達、景深攝像頭中獲取環境數據,并分別提取距離、圖像數據,再用Open CV處理圖像數據提取特征圖像,用PID算法處理距離數據。工控機從雙模GPS模塊中提取經緯度數據并送入RRT算法[1]中進行處理。經過上述的數據處理過后,最終輸出姿態控制數據給TB6612電機控制板控制系統運動姿態。
2 系統硬件設計
2.1 交通燈的檢測設計
本設計運用景深攝像頭來實現識別檢測,對于交通燈,主要有紅、綠、黃三種顏色,當輔助駕駛系統行駛在公路上,不排除周圍環境也存在其中三種顏色,可想單純用顏色識別進行檢測交通燈是行不通的。所以,首先用基于Open CV的景深攝像頭進行顏色識別,比如:當紅燈亮時,首先利用顏色識別將周圍紅色物體提取出來,再利用Open CV算法[2]進行邊緣檢測,最后再進行霍夫找圓來實現對紅燈的檢測,接著做出識別到了紅燈點亮的判斷,并命令小車停止前進。
2.2 基于Open CV機器識別檢測
本設計采用景深攝像頭,該攝像頭擁有一個一個紅外發射器,RGB彩色攝像頭,一個紅外線CMOS攝像機。紅外線CMOS攝像機在圖像陰影處、光線條件不好的環境下有較好的成像性能,能彌補RGB彩色攝像機的不足,并利用Open CV算法對數據處理,進行監測當前路況,判斷小車是否行駛在安全路段?是否闖紅燈?是否與前后車輛保持安全距離和行駛速度?結合上述三個攝像頭組成了景深攝像頭,能對三維立體空間中的物體進行較為準確地感知,輔助駕駛系統通過對三個攝像頭的數據進行獲取并處理后,能夠構建攝像頭周圍環境,并做出相應的運動或規避。
2.3 自動定位導航設計
本設計利用工作在紅外和可見光波段的激光雷達來實現自動導航[3],并結合近距離精度高特點的GPS模塊[4]來實現輔助駕駛系統的精準定位。激光雷達是以發射激光束探測目標的位置、速度等特征量的雷達系統。向目標發出探測信號(激光束)然后將捕獲到從目標反射回來的信號(回波信號)與發射信號進行比較作適當處理后就可獲取目標的相關信息如目標距離、方位、時速、形狀、甚至位置姿態等參數,再加上具有較強的抗干擾能力,即可實現自主巡航。但激光雷達對于近距離物體的測量精度不夠高,運用于輔助駕駛系統上會大大降低安全性,則可結合近距離高精度的GPS模塊進行補償系統測距問題。
3 系統軟件設計
3.1 主程序設計
如圖3所示為主程序設計流程圖。運作流程為:1)工控機打開電源之后進入Ubuntu系統,然后初始化景深攝像頭和普通攝像頭、GPS定位模塊和激光雷達等模塊;2)初始化成功之后不停地檢查有無指令輸入;3)當收到啟動功能指令后,將目標經緯度和目的地經緯度經行多次對比,然后使用地圖的數據庫規劃出一條正確的路徑;4)景深攝像頭和激光雷達開始工作,工控機開始進行環境3D建模[5];5)確認行車路線無障礙且適合行駛后,使用PID算法對姿態進行調整,并且計算出最終的輸出值,將輸出值轉換為PWM以此驅動電機到達目的地。
3.2 功能程序設計
3.2.1框架的技術設計圖
系統在道路中輔助駕駛的時候會遇到各種不可想象的情況這就對機器視覺部分提出了非常高的要求僅靠激光雷達與深度攝像頭還不足以完成自動駕駛的全部功能所以我們采用了圖像處理Open CV。我們使用了Open CV能夠實現運動車輛的檢測與跟蹤、信號燈與停止線的檢測與識別、車輛超速檢測還有行人檢測[6]等功能。
3.2.2運動車輛的檢測與跟蹤
可以采用基于幀間差分與背景差分的算法[7]對車輛進行追蹤先用攝像機所得到的視頻圖像進行濾波處理之后再用Open CV進行幀間差分和背景差分運算。圖5是基于小波變換的車輛跟蹤流程圖。
3.2.3 信號燈與停止線的檢測與識別
信號燈檢測:首先將攝像頭獲取得到的圖像使用cvtColor函數進行灰度圖的轉換,然后將得到的灰度圖使用inRange函數進行紅色、黃色、綠色這三種顏色色塊的尋找,再將尋找到的色塊區域設置為感興趣區域(ROI),再從ROI區域中使用霍夫找圓函數HoughCircles()對ROI區域進行找圓,如果在紅色區域找到圓則說明當時是紅燈。
停止線檢測:先對停止線進行設定,確定初始的位置,然后將Hough變換[8]應用于固定的區域里進行候選點檢測, 再結合背景圖方面現有的各種先驗知識,將不屬于停止線檢測結果的數據或錯誤的數據排除掉,最后將剩余的可用檢測點集中起來,求取平均值,以此求出運動目標和停止線之間的實際位置情況。
3.2.4車輛超速檢測
方法一:通過GPS獲取到當前車道的行車信息,然后再通過該行車信息進行車速的控制。
方法二:通過識別該車道上的各種路標,例如對攝像機獲取到的限速標志使用Opencv中的cvtColor函數將其轉為灰度圖,然后再使用Canny算法找出圖像中的邊界,再使用霍夫找圓將找到的圓設置為感興趣區域,再將這些感興趣區域與我們之前訓練好的數據庫中的路標進行對比,最后得出該限速路標的最高時速,知道該路段的最大速度后再與系統的自身速度進行對比就可得知小車有無超速。
3.2.5 行人檢測
對于輔助駕駛系統來說,行人檢測是最主要的部分,其關乎人身的安全。這也是我們最難的一部分,我們采用的方案是人工特征+分類器,人體有其自帶的特征,比如衣服的顏色, 人體的邊緣等,這些特征都是我們用來檢測行人的重要標志,我們采用分類器有SVM,AdaBoost這些在機器視覺經常被人們用到的算法[9]。采用HOG+SVM, HOG特征檢測[10]能夠找出行人的形狀和一些重要的外觀信息,找到該信息后就能確定行人的感興趣區域,然后再對該區域使用SVM分類器進行更加確定的分析。
4 總結
本項目致力于研究十字路口人/車交通違章行為AI監測中基于ROS的輔助駕駛技術。運用“雙模GPS導航定位”技術,精確定位輔助駕駛系統的位置并規劃行進路線;其次,本系統設計結合了深度攝像頭,其原理類似于人眼,能夠利用視差進行三維的檢測,因此我們決定用深度攝像頭來對環境進行三維的檢測,以此來輔助雷達進行更加準確的建模,保證準確性,再將數據發送給工控機,工控機再將處理好的數據通過ROS傳輸給驅動板以此來完成輔助駕駛。測試結果表明,系統檢測的精度和靈敏度能夠得到增大,既節省駕駛員的精力,又可以減輕違法違規現象和交通事故的發生,達到了我們所需的設計要求。
參考文獻:
[1] 施楊洋,楊家富,布升強,等.基于RRT改進的智能車輛路徑規劃算法[J].計算技術與自動化,2019,38(4):81-86.
[2] 呂晶晶.機器人視覺識別的設計與研究[J].江蘇科技信息,2016(22):74-76.
[3] 郭子明,蔡伯根,姜維.基于激光雷達的鐵路軌道檢測方法[J].中南大學學報(自然科學版),2020,51(2):560-566.
[4] 王君剛,王解先,陳俊平,等.U-Blox 6接收機解碼與定位測試[J].測繪通報,2015(11):24-27.
[5] 陳超,張偉偉,徐軍.一種基于三維視覺的移動機器人定位與建圖方法[J].現代電子技術,2020,43(6):34-38,42.
[6] 白中浩,李智強,蔣彬輝,等.基于改進YOLOv2模型的駕駛輔助系統實時行人檢測[J].汽車工程,2019,41(12):1416-1423.
[7] 陳媛,蔡曉燕.改進的幀間差分運動目標檢測算法研究[J].現代計算機,2019(33):41-44.
[8] 于升源,陳樂庚,蒙雙,等.基于暗通道優先和Hough變換的霧天車道線識別算法[J].傳感器與微系統,2020,39(1):146-149.
[9] 何松華,章陽.基于快速檢測和AdaBoost的車輛檢測[J].計算機工程與設計,2020,41(1):203-207.
[10] 王阿南,榮憲偉,龐新雨.基于超像素的行人檢測算法研究[J].哈爾濱師范大學自然科學學報,2019,35(3):66-71.
【通聯編輯:唐一東】