熊勇剛,劉亞春,成 威,陳邦國
(湖南工業大學機械工程學院,湖南 株洲 412007)
人工智能的快速發展為仿生機器人提供了無限進步可能。目前階段在機器人智能控制方面的研究應用,主流還是基于傳感器反饋和人工手動控制兩種方式[1]。韓九強[2]在機器人智能化控制領域,研究方向主要是集中于將視覺識別、深度學習等綜合應用多學科內容。通過對圖像訓練學習,得到一個訓練的數據集。然后并對采集到的圖像進一步的處理檢測,使得能機器人能夠自主獲得圖像中所需要的有用信息[3-5]。能夠滿足蚱蜢仿生機器人自主識別障礙物信息,并為其路徑規劃奠定了基礎。
為了實現蚱蜢仿生機器人能夠自主移動,需要借助于自身的傳感系統實時感知、理解環境,并自主完成任務規劃、動作控制。視覺系統則是蚱蜢仿生機器人能夠實現環境感知的重要手段之一[6]。視覺系統是其自主運行的關鍵[。運用了人工智能技術使蚱蜢仿生機器人能夠對障礙物進行圖像獲取識別。選擇使用視覺傳系統,是因為視覺系統具有速度快、信息量大、非接觸的優點,所以對蚱蜢仿生器人采用以視覺為主的障礙物識別方法;另外,應用視覺作為識別一個重要原因是,當機器人遇到難以應對的復雜環境時,可以尋求人工幫助。如果采用其它非視覺傳感器,則地面監控人員不能直接及時了解現場環境和迅速作出反應[7]。
在圖像識別和目標檢測方面,使用了Darknet開源項目yolov3算法。在此之前需要對攝像頭采集的視頻進行處理,使用到了開源計算機視覺庫Opencv對視頻進行抽幀處理[8-9]。然后通過已經訓練的YOLOV3障礙物檢測模型,對抽幀圖像進行檢測。
并且使用到了雙目式攝像頭,目的是對兩個攝像頭對兩個攝像頭進行標定。進而拍攝的圖像中的障礙物進行檢測的同時,能夠獲得障礙物的位置信息[10]。
為適應蚱蜢仿生機器人自身小巧、負載低的特征和野外作業時能耗不能太大的特點,并且能夠及時傳輸反饋信號的特點。在視覺系統硬件結構搭建時,采用兩個高清攝像頭。并且同時對兩個攝像頭同時獲取的圖像進行檢測,對檢測結果進行一個對比,使其檢測結果更加準確。硬件的部分結構如圖1所示,硬件結構工作流程如圖2所示。

圖1 硬件結構

圖2 硬件結構工作流程
使用雙目式攝像頭的另一個優點是可以對攝像頭進行標定,利用兩個攝像頭同時拍攝視頻,再對拍攝的圖像的信息進行處理,可以得到在平面投影的坐標點。從而能夠獲取圖像中障礙物的深度位置信息。雙目攝像頭的深度距離測量原理[11]如圖3所示。

圖3 雙目攝像頭的深度距離測量原理
圖中b為兩個攝像頭的頭像中心距離。P點在攝像頭1和攝像頭2垂直投影的坐標系中。攝像頭的焦距為f。空間中任意一點P在左右圖像上的成像點橫坐標分別為Xl和Xr,而縱坐標相同Y,定義視差D=Xl-Xr,則P到攝像機中心連線的距離Zc為[12]
(1)
為了能夠滿足在攝像頭與云服務器之間的指令和數據傳輸,使用了4g數據收發模塊。能夠滿足傳輸攝像頭拍攝的視頻和云服務器對攝像頭發出的開關指令。然后攝像頭開始拍攝視頻,并將拍攝的視頻實時上傳云服務器中。
控制指令主要是包有控制攝像頭開、關指令,查詢攝像頭是否在線指令,查看攝像頭狀態指令。其中控制攝像頭的打開的指令為:http://yunfuwuqi:9091/step37/machine_control/?machine_id=${machine_id}&op_camera=${op_camera} 部分指令說明如表1所示。

表1 指令說明
軟件系統主要是包含的功能:攝像頭的控制部分,主要是能夠控制攝像頭的開關、以及能夠查詢攝像頭的狀態;視頻的采集部分,主要是采集視頻,并將視頻傳輸到云服務器;圖像的預處理部分,主要是對視頻抽幀、圖像的裁剪;圖像數據集的訓練部分,主要是運用Darknet開源項目yolov3算法,對采集到的圖像進行訓練,得到訓練集[13]。如圖4所示。其工作的流程如圖5所示。

圖4 軟件系統主要的功能

圖5 軟件系統工作流程
本文是的數據集是通過自己設計的硬件系統進行拍攝的,將拍攝的視頻抽幀得到訓練集的圖像,一共拍攝了三種障礙物樣品,每種樣品圖片數量500張,一共4500張圖像進行訓練測試數據集。
由于需要獲取圖片中障礙物的位置坐標,因此使用了LabelImng軟件進行標注障礙物[14]。
操作流程為:首先使用該軟件打開樣本圖片,在圖片中用矩形框出障礙物的位置,并對三種的障礙物注釋上相對應的標簽。當對圖像進行標記完成后,便會生成圖片對應的 XML 文件。XML 文件包含所對應的圖片路徑、標簽和缺陷坐標等信息,然后編寫格式轉換程序,將 XML 文件轉換為包含文件路徑、標簽和坐標的 TXT 文件[15]。
實驗平臺先期是在PC電腦上完成的,實驗計算機平臺的軟硬件配置為:操作系統為Ubuntu 16.04.6 LTS,CPU為Intel Core i5-9600K @ 3.70GHz 6CPUs,顯卡為NVIDIA GeForce GTX 2080 Ti GPUs 顯存容量11GB ,內存16GB,CUDA 版本10.1,CUDNN版本7.6.0。以 Keras深度學習作為框架.并配置 YOLOv3 的運行環境。配置完成后將標定完成后的樣本數據集使用 YOLOv3 進行訓練。實驗訓練參數設置如表2所示。訓練模型訓練的Loss 曲線如圖6所示,可以看出,網絡迭代到Epoch=40之后,損失值趨于平緩。圖7 是模型訓練的IOU曲線,IOU曲線代表著算法的定位準確率。從圖中可以看出,當訓練穩定后,IOU值基本在0.8 以上。

表2 實驗訓練參數設置

圖6 模型訓練loss 曲線

圖7 IOU曲線
在對三種障礙物數據集進行訓練時,均使用 mAP (mean AveragePrecision) 作為評判模型識別的的準確率.mAP 是目標檢測中衡量檢測精度的常用指標,指的是多個類別的平均準確率的平均值.AP 指的是單個類別的平均準確率,衡量的是模型在某一類別上識別效果的好壞。在訓練是設定的AP默認為AP50,即預測框與 ground truth 的IOU 在大于 50% 前提下的單類別的平均準確率.而mAP即為所有AP的平均值.mAP 的值越大表示該模型的總體識別準確率越高[16].三種障礙物的mAP值和Ground-Truth Info值如圖8、圖9所示

圖8 mAP值

圖9 Ground-Truth Info值
正在進行結果檢測時,是使用沒有進行訓練的圖像,以及三種類型都包含的照片。通過檢測識別,圖像上只有一種障礙物的識別率準確率在96%以上;三中障礙物都存在的圖像識別準確率在90%以上。能夠有效的實現障礙物的檢測,整體檢測結果比較理想。檢測識別結果如圖10所示。

圖10 檢測識別結果
本文設計的視覺系統,在硬件上是一個符合蚱蜢仿生機器人仿生的特點。使用到了云服務器有效的減少了本地儲存、運算以及本地硬件結構的使用,使得視覺系統整體結構比較小巧,能夠很友好的搭載在蚱蜢仿生機器人上;在軟件設計上,能夠快速的完成對攝像頭的控制和對上傳的視頻進行處理。并且使用 YOLOV3 架構檢測障礙物的的類別和位置。檢測識別障礙物的準確率高、速度快,為后續做實現自主避障和自動生成路徑規劃打下了良好的基礎。能夠快速準確的對障礙物進行識別。
5g時代的到來,實時數據傳變得更加快捷。這樣系統能更好的適應全天候、全環境。后續需要對數據集進行不斷擴展和完善,能夠實現全環境下自主識別。使得蚱蜢仿生機器人實現自主運行,智能化控制。