熊勇剛,劉亞春,成 威,陳邦國(guó)
(湖南工業(yè)大學(xué)機(jī)械工程學(xué)院,湖南 株洲 412007)
人工智能的快速發(fā)展為仿生機(jī)器人提供了無(wú)限進(jìn)步可能。目前階段在機(jī)器人智能控制方面的研究應(yīng)用,主流還是基于傳感器反饋和人工手動(dòng)控制兩種方式[1]。韓九強(qiáng)[2]在機(jī)器人智能化控制領(lǐng)域,研究方向主要是集中于將視覺識(shí)別、深度學(xué)習(xí)等綜合應(yīng)用多學(xué)科內(nèi)容。通過(guò)對(duì)圖像訓(xùn)練學(xué)習(xí),得到一個(gè)訓(xùn)練的數(shù)據(jù)集。然后并對(duì)采集到的圖像進(jìn)一步的處理檢測(cè),使得能機(jī)器人能夠自主獲得圖像中所需要的有用信息[3-5]。能夠滿足蚱蜢仿生機(jī)器人自主識(shí)別障礙物信息,并為其路徑規(guī)劃奠定了基礎(chǔ)。
為了實(shí)現(xiàn)蚱蜢仿生機(jī)器人能夠自主移動(dòng),需要借助于自身的傳感系統(tǒng)實(shí)時(shí)感知、理解環(huán)境,并自主完成任務(wù)規(guī)劃、動(dòng)作控制。視覺系統(tǒng)則是蚱蜢仿生機(jī)器人能夠?qū)崿F(xiàn)環(huán)境感知的重要手段之一[6]。視覺系統(tǒng)是其自主運(yùn)行的關(guān)鍵[。運(yùn)用了人工智能技術(shù)使蚱蜢仿生機(jī)器人能夠?qū)φ系K物進(jìn)行圖像獲取識(shí)別。選擇使用視覺傳系統(tǒng),是因?yàn)橐曈X系統(tǒng)具有速度快、信息量大、非接觸的優(yōu)點(diǎn),所以對(duì)蚱蜢仿生器人采用以視覺為主的障礙物識(shí)別方法;另外,應(yīng)用視覺作為識(shí)別一個(gè)重要原因是,當(dāng)機(jī)器人遇到難以應(yīng)對(duì)的復(fù)雜環(huán)境時(shí),可以尋求人工幫助。如果采用其它非視覺傳感器,則地面監(jiān)控人員不能直接及時(shí)了解現(xiàn)場(chǎng)環(huán)境和迅速作出反應(yīng)[7]。
在圖像識(shí)別和目標(biāo)檢測(cè)方面,使用了Darknet開源項(xiàng)目yolov3算法。在此之前需要對(duì)攝像頭采集的視頻進(jìn)行處理,使用到了開源計(jì)算機(jī)視覺庫(kù)Opencv對(duì)視頻進(jìn)行抽幀處理[8-9]。然后通過(guò)已經(jīng)訓(xùn)練的YOLOV3障礙物檢測(cè)模型,對(duì)抽幀圖像進(jìn)行檢測(cè)。
并且使用到了雙目式攝像頭,目的是對(duì)兩個(gè)攝像頭對(duì)兩個(gè)攝像頭進(jìn)行標(biāo)定。進(jìn)而拍攝的圖像中的障礙物進(jìn)行檢測(cè)的同時(shí),能夠獲得障礙物的位置信息[10]。
為適應(yīng)蚱蜢仿生機(jī)器人自身小巧、負(fù)載低的特征和野外作業(yè)時(shí)能耗不能太大的特點(diǎn),并且能夠及時(shí)傳輸反饋信號(hào)的特點(diǎn)。在視覺系統(tǒng)硬件結(jié)構(gòu)搭建時(shí),采用兩個(gè)高清攝像頭。并且同時(shí)對(duì)兩個(gè)攝像頭同時(shí)獲取的圖像進(jìn)行檢測(cè),對(duì)檢測(cè)結(jié)果進(jìn)行一個(gè)對(duì)比,使其檢測(cè)結(jié)果更加準(zhǔn)確。硬件的部分結(jié)構(gòu)如圖1所示,硬件結(jié)構(gòu)工作流程如圖2所示。
圖1 硬件結(jié)構(gòu)
圖2 硬件結(jié)構(gòu)工作流程
使用雙目式攝像頭的另一個(gè)優(yōu)點(diǎn)是可以對(duì)攝像頭進(jìn)行標(biāo)定,利用兩個(gè)攝像頭同時(shí)拍攝視頻,再對(duì)拍攝的圖像的信息進(jìn)行處理,可以得到在平面投影的坐標(biāo)點(diǎn)。從而能夠獲取圖像中障礙物的深度位置信息。雙目攝像頭的深度距離測(cè)量原理[11]如圖3所示。
圖3 雙目攝像頭的深度距離測(cè)量原理
圖中b為兩個(gè)攝像頭的頭像中心距離。P點(diǎn)在攝像頭1和攝像頭2垂直投影的坐標(biāo)系中。攝像頭的焦距為f??臻g中任意一點(diǎn)P在左右圖像上的成像點(diǎn)橫坐標(biāo)分別為Xl和Xr,而縱坐標(biāo)相同Y,定義視差D=Xl-Xr,則P到攝像機(jī)中心連線的距離Zc為[12]
(1)
為了能夠滿足在攝像頭與云服務(wù)器之間的指令和數(shù)據(jù)傳輸,使用了4g數(shù)據(jù)收發(fā)模塊。能夠滿足傳輸攝像頭拍攝的視頻和云服務(wù)器對(duì)攝像頭發(fā)出的開關(guān)指令。然后攝像頭開始拍攝視頻,并將拍攝的視頻實(shí)時(shí)上傳云服務(wù)器中。
控制指令主要是包有控制攝像頭開、關(guān)指令,查詢攝像頭是否在線指令,查看攝像頭狀態(tài)指令。其中控制攝像頭的打開的指令為:http://yunfuwuqi:9091/step37/machine_control/?machine_id=${machine_id}&op_camera=${op_camera} 部分指令說(shuō)明如表1所示。
表1 指令說(shuō)明
軟件系統(tǒng)主要是包含的功能:攝像頭的控制部分,主要是能夠控制攝像頭的開關(guān)、以及能夠查詢攝像頭的狀態(tài);視頻的采集部分,主要是采集視頻,并將視頻傳輸?shù)皆品?wù)器;圖像的預(yù)處理部分,主要是對(duì)視頻抽幀、圖像的裁剪;圖像數(shù)據(jù)集的訓(xùn)練部分,主要是運(yùn)用Darknet開源項(xiàng)目yolov3算法,對(duì)采集到的圖像進(jìn)行訓(xùn)練,得到訓(xùn)練集[13]。如圖4所示。其工作的流程如圖5所示。
圖4 軟件系統(tǒng)主要的功能
圖5 軟件系統(tǒng)工作流程
本文是的數(shù)據(jù)集是通過(guò)自己設(shè)計(jì)的硬件系統(tǒng)進(jìn)行拍攝的,將拍攝的視頻抽幀得到訓(xùn)練集的圖像,一共拍攝了三種障礙物樣品,每種樣品圖片數(shù)量500張,一共4500張圖像進(jìn)行訓(xùn)練測(cè)試數(shù)據(jù)集。
由于需要獲取圖片中障礙物的位置坐標(biāo),因此使用了LabelImng軟件進(jìn)行標(biāo)注障礙物[14]。
操作流程為:首先使用該軟件打開樣本圖片,在圖片中用矩形框出障礙物的位置,并對(duì)三種的障礙物注釋上相對(duì)應(yīng)的標(biāo)簽。當(dāng)對(duì)圖像進(jìn)行標(biāo)記完成后,便會(huì)生成圖片對(duì)應(yīng)的 XML 文件。XML 文件包含所對(duì)應(yīng)的圖片路徑、標(biāo)簽和缺陷坐標(biāo)等信息,然后編寫格式轉(zhuǎn)換程序,將 XML 文件轉(zhuǎn)換為包含文件路徑、標(biāo)簽和坐標(biāo)的 TXT 文件[15]。
實(shí)驗(yàn)平臺(tái)先期是在PC電腦上完成的,實(shí)驗(yàn)計(jì)算機(jī)平臺(tái)的軟硬件配置為:操作系統(tǒng)為Ubuntu 16.04.6 LTS,CPU為Intel Core i5-9600K @ 3.70GHz 6CPUs,顯卡為NVIDIA GeForce GTX 2080 Ti GPUs 顯存容量11GB ,內(nèi)存16GB,CUDA 版本10.1,CUDNN版本7.6.0。以 Keras深度學(xué)習(xí)作為框架.并配置 YOLOv3 的運(yùn)行環(huán)境。配置完成后將標(biāo)定完成后的樣本數(shù)據(jù)集使用 YOLOv3 進(jìn)行訓(xùn)練。實(shí)驗(yàn)訓(xùn)練參數(shù)設(shè)置如表2所示。訓(xùn)練模型訓(xùn)練的Loss 曲線如圖6所示,可以看出,網(wǎng)絡(luò)迭代到Epoch=40之后,損失值趨于平緩。圖7 是模型訓(xùn)練的IOU曲線,IOU曲線代表著算法的定位準(zhǔn)確率。從圖中可以看出,當(dāng)訓(xùn)練穩(wěn)定后,IOU值基本在0.8 以上。
表2 實(shí)驗(yàn)訓(xùn)練參數(shù)設(shè)置
圖6 模型訓(xùn)練loss 曲線
圖7 IOU曲線
在對(duì)三種障礙物數(shù)據(jù)集進(jìn)行訓(xùn)練時(shí),均使用 mAP (mean AveragePrecision) 作為評(píng)判模型識(shí)別的的準(zhǔn)確率.mAP 是目標(biāo)檢測(cè)中衡量檢測(cè)精度的常用指標(biāo),指的是多個(gè)類別的平均準(zhǔn)確率的平均值.AP 指的是單個(gè)類別的平均準(zhǔn)確率,衡量的是模型在某一類別上識(shí)別效果的好壞。在訓(xùn)練是設(shè)定的AP默認(rèn)為AP50,即預(yù)測(cè)框與 ground truth 的IOU 在大于 50% 前提下的單類別的平均準(zhǔn)確率.而mAP即為所有AP的平均值.mAP 的值越大表示該模型的總體識(shí)別準(zhǔn)確率越高[16].三種障礙物的mAP值和Ground-Truth Info值如圖8、圖9所示
圖8 mAP值
圖9 Ground-Truth Info值
正在進(jìn)行結(jié)果檢測(cè)時(shí),是使用沒有進(jìn)行訓(xùn)練的圖像,以及三種類型都包含的照片。通過(guò)檢測(cè)識(shí)別,圖像上只有一種障礙物的識(shí)別率準(zhǔn)確率在96%以上;三中障礙物都存在的圖像識(shí)別準(zhǔn)確率在90%以上。能夠有效的實(shí)現(xiàn)障礙物的檢測(cè),整體檢測(cè)結(jié)果比較理想。檢測(cè)識(shí)別結(jié)果如圖10所示。
圖10 檢測(cè)識(shí)別結(jié)果
本文設(shè)計(jì)的視覺系統(tǒng),在硬件上是一個(gè)符合蚱蜢仿生機(jī)器人仿生的特點(diǎn)。使用到了云服務(wù)器有效的減少了本地儲(chǔ)存、運(yùn)算以及本地硬件結(jié)構(gòu)的使用,使得視覺系統(tǒng)整體結(jié)構(gòu)比較小巧,能夠很友好的搭載在蚱蜢仿生機(jī)器人上;在軟件設(shè)計(jì)上,能夠快速的完成對(duì)攝像頭的控制和對(duì)上傳的視頻進(jìn)行處理。并且使用 YOLOV3 架構(gòu)檢測(cè)障礙物的的類別和位置。檢測(cè)識(shí)別障礙物的準(zhǔn)確率高、速度快,為后續(xù)做實(shí)現(xiàn)自主避障和自動(dòng)生成路徑規(guī)劃打下了良好的基礎(chǔ)。能夠快速準(zhǔn)確的對(duì)障礙物進(jìn)行識(shí)別。
5g時(shí)代的到來(lái),實(shí)時(shí)數(shù)據(jù)傳變得更加快捷。這樣系統(tǒng)能更好的適應(yīng)全天候、全環(huán)境。后續(xù)需要對(duì)數(shù)據(jù)集進(jìn)行不斷擴(kuò)展和完善,能夠?qū)崿F(xiàn)全環(huán)境下自主識(shí)別。使得蚱蜢仿生機(jī)器人實(shí)現(xiàn)自主運(yùn)行,智能化控制。