甘恩碩 胡偉
摘 要:隨著新冠疫情肆虐全球,為了減少人員接觸和提高清掃效率,設計了一款基于深度學習的無人駕駛垃圾清掃車,項目采用NVIDIA jetson nano平臺,通過搭載的深感攝像頭以及激光雷達采集路面信息,使用PID控制算法控制車輛行進方向和速度,利用仿真軟件對車輛進行建模,確保能夠實現較好的全局路徑規劃,進而實現對垃圾清掃的無人化和高效化。
關鍵詞:人工智能;無人駕駛;圖像處理
當前環境下疫情再次卷土重來,為了進一步減少人與人的接觸,能在各類場景下殺菌消毒的無人駕駛消毒殺菌清掃車在國內外的市場前景廣闊。以機器視覺和open-cv為基礎的無人駕駛深度學習算法,以北斗高精度導航為導航系統,以麥克納姆輪為底盤的全向移動駕駛平臺的垃圾清掃車,其具備環境感知能力,智能決策能力,節能環保等特點,可以實現在公共場合下的環境采集數據、圖像信息傳輸等日常巡檢工作,有效的減少人力勞動,提高工作效率[1]。為完善低速清掃車無人駕駛功能,通過理論分析設計了本研究方案,最后通過仿真道路測試驗證了無人清掃車行駛過程中安全可靠性[2]。
一、系統整體結構
本系統是采用NVIDIA Jetson nano為無人駕駛車硬件,該平臺是將視覺計算、信息傳遞、圖像處理和模式識別技術結合在一起的綜合信息處理平臺。它將車載傳感器實時觀測到的各種路況信息經過采集、處理并經過準確識別,快速給出實時準確的路況報告,為車輛進一步的安全行駛提供科學依據。車輛控制系統主要分三個部分:圖像信息采集部分、圖像處理與模式識別部分和行進與方向控制部分。
二、系統設計
(一)總體設計
本項目是基于NVIDIA jetson nano 平臺作為無人車的核心進行開發設計,配合深感攝像頭模塊,車輛電機驅動模塊,激光雷達模塊等構成無人車的控制系統硬件,再搭配Ubuntu20.04系統實現無人駕駛和清掃等功能。麥克納姆輪可以實現全方位移動,搭配電機實現制動,停止,正向轉動,反向轉動等功能,以應對車輛在復雜條件下的運動要求。
(二)圖像信息采集
道路圖像信息的采集依靠車載攝像頭傳感器完成,并將采集到的圖像信息傳遞給處理器進行加工和圖像預處理。為了提高相關信息的可檢測性,對數字圖像信息進行數據類型轉換,形狀變換,翻轉,高亮,歸一化,平滑和復原等操作,可最大限度地簡化數據,從而提高資源提取、圖像分割和圖像識別的可靠性。處理過程所用的高斯平滑核如圖2所示。
(三)圖像與模式識別整體設計
(1)識別車道線和汽車前置車道邊界。依靠圖像處理和深度學習技術,將每一幀的圖像進行反向透視,確定車道線位置與走向,再利用卷積神經網絡(CNN)完成對車道線的特征提取和分類,最后將不同情況即遮擋,陰影,逆光,圖像質量,路況,道路問題都不同的數據加入訓練集進行訓練,保證車輛在不會越過邊界的前提下安全穩定地行駛。
(2)識別交通標志。依靠圖像處理和模式識別技術,將圖像信息轉化為數字信息與已知的交通標識模式對照以辨別出具體交通標志種類,確保車輛在無人駕駛過程中在不違反交通規則的前提下行駛或停止,SSD模型結構用于在圖像的輸出平面處添加一個逐漸減少的折疊層以進行多尺度預測。對于每個新添加的層,可以使用一組折疊核心進行預測,以預測每個位置的相應值。即相對其他box的偏移量,這里的box就是在特征圖中各處預測的若干個box,基本完成后再進行訓練和測試。
(3)進行車輛和行人的檢測與跟蹤。運用圖像處理與模式識別技術,仍可以利用SSD架構標記出路上的車輛和行人并進行實時的追蹤,以便在行駛中可及時地跟車或讓行,保證安全。可以使用SSD卷積神經網絡對box的概念進行對象檢測,設置不同尺寸和比率的預定義框,然后對于每一個box,SSD卷積網絡可檢測該box內是否存在物體,并計算物體邊界框和固定boxes之間的偏移量,最后再對偏移量使用損失函數最小化。
(四)車輛檢測方法
(1)幀間差分法(Temporal difference)
采用對相鄰的二或三幀信號差異實現,并進行了場景變換測試,由于對動態場景有很強的適應性,單檢測準確率并不高,難以達到精確描述。
(2)背景減除法(Background subtraction)
應用于攝像機的靜止情形時,其關鍵為背景模型,性能主要與監測場景的復雜情形和系統特點相關,經典算法主要有高值模型、自適應模型、高斯模型、以及多模態的均值模型。
(3)光流法(Optical flow)
可用于攝像機運動情形,提取目標完整信息(包括運動信息),計算復雜度高,抗噪性能差。在攝像機固定的情況下應用較少。
(五)行進與方向控制部分
預測和更新車輛位置,通過無損卡爾曼濾波器,在已測得實時車輛速度的條件下,預測下一幀圖像中車輛的位置并實時更新,保證車輛能夠平穩地行駛或停止[3]。首先需要產生sigma點集并計算其均值,后寫出對估計狀態的不確定性即協方差矩陣,然后通過公式與矩陣變換預測sigma點集和其均值與方差,最后完整地按照卡爾曼濾波的更新步驟計算即可,完整流程如圖1。
三、算法實現
首先該算法是在GPU上運行,不采用粒子濾波框架,而使用卡爾曼濾波可及時獲得準確特征。其次對整個Network,進行大量訓練,對于每個Branch網絡作訓練mini-batch,選擇32個正樣本和96個負樣本。最后進行跟蹤,對每個待跟蹤目標建立一個FC6全連接層[4]。對于輸入每一幀圖像,在該目標位置附近采樣256個Box 作為Candidates;所有Candidates 歸一化到 107*107尺寸,輸入到訓練好的 MD-Net 網絡(shared + FC6-k);網絡輸出是一個二維的向量(Box ID,目標概率),最終目標是概率值最高的Box;每隔一段時間,根據可行度高的正負樣本,進行網絡更新。
四、gazebo仿真測試
通過gazebo仿真,對設計的車輛進行建模,利用Gazebo強大的傳感器模型庫,包括camera,depth camera,laser,imu等機器人常用的傳感器,基于Gazebo真實的物理仿真引擎,添加重力,阻力,慣性等等,創建出一個符合設計的小車,通過上述的算法,對小車無人駕駛功能進行測試,最終實現其路徑規劃避障等無人駕駛功能[5]。圖2所示為設計的小車模型。
五、結論
本文設計和研究的方法為無人駕駛清掃車提供了一種新的解決方案。適用于在疫情復雜情況下,在減少人員接觸的前提下,對環境進行清掃,代替保潔人員完成清掃任務,在一定程度上降低疫情傳播風險,提高了環境清掃的穩定性、高效性和安全性。在現如今新冠肆虐的大環境下,具有很好的推廣和應用價值。
參考文獻:
[1] 劉浩;鐘宙明;覃坤雪;陳永強;李猛;消毒防疫智能巡檢機器人的設計,電子制作,2020
[2] 朱忠攀;吳憲;李剛;施超;低速無人清掃車遠程監控系統架構及控制模型[J],機電一體化,2017
[3] 徐繼寧;曾杰;基于深度強化算法的機器人動態目標點跟隨研究[J],計算機科學,2019
[4] 馬靜;基于機器視覺的3C電子輔料泡棉背膠檢測系統設計與實現[J],電子測試,2020
[5] 王彥臻;林彬;金松昌;武云龍;趙名揚;基于Gazebo和Docker的群體機器人仿真系統設計晏杰[J],組合機床與自動化加工技術,2021