車輛智慧自動駕駛一直是當今前沿的科學與技術,大部分的當前自動駕駛汽車控制包括獨立的調節速度、能夠進行輕度的轉向干預、自動巡航控制、防追尾防碰撞功能。當前的自動駕駛車輛技術尚未穩定,特別在安全效能方向上。目前的自動駕駛功能主要實現輔助駕駛,緊急情況還是得駕駛員人工操作控制車輛。本次利用的樹莓派3B+控制板與實現了基本的方向控制方向、車道識別、障礙物等識別和檢測,進行自動轉向及速度控制。
本設計的車道線檢測主要基於道路特徵檢測,主要是利用車道線與周邊環境的特徵差異進行對比分析處理,然後根據車道線特徵,分割出車道,實現車道線檢測。該檢測方法,實時實用性較高,不容易受到道路環境干擾影響,但是複雜度較也較高。車道線檢測過程中,為了提高道路檢測安全準確性,系統還確定車道的影象模型,如直線型車道形狀、S型車道形狀,組合型車道等等,車道數等資訊。該方法檢測車道,有較高的準確度,但系統的運算量大需要較高的硬體效能。
車道線檢測在高速上效果較好,但是如果碰到道路破損,光照環境影響攝像頭採集影象等特殊性況,還是需要進一步演算法,本例主要採用多特徵融合及影象均衡演算法,能夠較好地抑制干擾。本設計車道檢測部分主要通過影象灰度化、二值化、高斯濾波、邊緣檢測、霍夫變換演算法、迴歸演算法、計算斜率以及判斷車道線轉彎與否進行車道判定。
道路障礙車輛及行人等障礙物檢測,主要採用直方圖均衡化演算法,演算法主要增強動態範圍較小的影象反差,從而增強了畫素灰度值的動態範圍,增強影象整體對比度的效果,實現障礙物特徵提取。直方圖處理障礙物識別演算法,使用每個灰度級的頻率是計算並存儲在媒介作進一步處理的灰度影象,演算法處理時平均從儲存載體的連續九個頻率的計算,得出的影象均值向量用於計算受訓練的影象和測試影象的絕對差異,最後選定與測試影象的最小差異標準影象,得出障礙物類別及特徵,以供車倆進行操控判斷,此識別的方法經不完全統計測試,準確率達96%。
本設計原本用40引腳的觸控LCD屏進行系統開發,因其在汽車上裝配不了,故用藍芽上傳到IPAD的linux作業系統上的上位機進行顯示處理過程,傳輸介質採集藍芽傳輸,因距離短傳輸速率高,未影響畫質。因汽車方向盤及油門改裝,本人不懂,因此只能進行簡單電機控制方向及速度模擬。但整體效果良好。如果支援轉載的人多,後期可以貼出程式碼,給大家參考。
現實行車中採集到的道路情況影象受到諸如天氣、光線環境、汽車抖動等很多因素影響,識別控制效果受到很多制約。若要進一步提高自動駕駛能力及適用範圍,則還需要結合其它演算法,如PCA、神經網路演算法等。本設計實現及測試只是簡單為學生參賽做的設計,只是實現基本初級的自動駕駛功能,並不是成熟的方案,提醒各位技術控,請不要隨意改裝車輛及在現實生活中隨便測試自動駕駛。