薛志峰, 蔣 剛,2, 留滄海, 王一田
(1.西南科技大學(xué) 制造科學(xué)與工程學(xué)院,四川 綿陽 621000;2.成都理工大學(xué) 核技術(shù)與自動(dòng)化工程學(xué)院,四川 成都 610039)
六足機(jī)器人自誕生以來,以其獨(dú)特的高承載能力、地形適應(yīng)能力強(qiáng)、靈活性好等特性在多個(gè)領(lǐng)域得到了廣泛的應(yīng)用,已經(jīng)從傳統(tǒng)的機(jī)器人延伸到智能機(jī)器人,并且在星球探測、深海探索等新的領(lǐng)域不斷的拓展[1]。在六足機(jī)器人的智能化領(lǐng)域,大多研究都集中于機(jī)器人控制算法與機(jī)械結(jié)構(gòu)的優(yōu)化和創(chuàng)新,以提高機(jī)器人的環(huán)境適應(yīng)能力和智能性等方面性能,但是在一些特殊環(huán)境中,因局部適應(yīng)性等原因,六足機(jī)器人無法發(fā)揮出最優(yōu)性能,需要通過人工干預(yù)手段以有效解決。此外,人機(jī)交互一般依賴于鍵盤、鼠標(biāo)、遙控器、觸摸屏等簡單的裝置,具有一定的固有缺陷。
在圖像處理基礎(chǔ)上的手勢與姿態(tài)識(shí)別研究中,主要集中于以下幾個(gè)方面:1) 傳感器:基于Kinect,FDC2214電容式傳感器等[2,3];2)深度學(xué)習(xí):基于BP神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)等[4,5];3)機(jī)器學(xué)習(xí):隱馬爾科夫模型 (HMM)、貝葉斯網(wǎng)絡(luò)(BN)、支持向量機(jī) (support vector machine,SVM)等方法在識(shí)別問題中也被廣泛采用[6,7]。彭玉青提出了一種基于YOLO v3的改進(jìn)算法,結(jié)合了手勢檢測的特點(diǎn),解決了原始YOLO對(duì)小物體檢測效果差、定位準(zhǔn)確度不高的問題,在識(shí)別階段,利用CNN進(jìn)行識(shí)別,并針對(duì)手勢區(qū)域的尺寸多樣性引入了空間金字塔池化(SPP)來解決 CNN 的多尺度輸入問題.最后在訓(xùn)練過程中聯(lián)合線下和實(shí)時(shí)2種數(shù)據(jù)增強(qiáng)方法避免過擬合問題,提升 HGDR-Net 的泛化能力。YOLO v3是目前檢測領(lǐng)域最優(yōu)秀的算法之一,檢測準(zhǔn)確率高且時(shí)效性好。
基于上述原因,本文提出了一種新型的人機(jī)交互模式,即基于樹莓派的手勢交互六足機(jī)器人,以更符合人類習(xí)慣的手勢與機(jī)器人直接交互。實(shí)現(xiàn)了通過手勢識(shí)別結(jié)果控制六足機(jī)器人的步態(tài)與動(dòng)作,使六足機(jī)器人具備更好的環(huán)境適應(yīng)能力、全方位移動(dòng)能力和良好的通過性等性能[8]。
本系統(tǒng)由攝像頭、樹莓派3B、STM32、舵機(jī)驅(qū)動(dòng)板、六足機(jī)器人、傳感器六部分組成。其中樹莓派3B為圖像處理模塊,STM32單片機(jī)為控制模塊,六足機(jī)器人為執(zhí)行模塊。樹莓派一方面負(fù)責(zé)與攝像頭連接進(jìn)行環(huán)境圖像采集與手勢識(shí)別,另一方面利用串口通信方式將圖像識(shí)別數(shù)據(jù)下發(fā)至STM32。當(dāng)用戶發(fā)起手勢控制六足機(jī)器人事件請(qǐng)求,STM32響應(yīng)這一事件,根據(jù)事件請(qǐng)求類型,要求樹莓派讀取攝像頭采集到的圖像信息并進(jìn)行圖片處理與手勢識(shí)別,然后將手勢識(shí)別結(jié)果發(fā)送到STM32,驅(qū)動(dòng)板根據(jù)STM32計(jì)算得到的舵機(jī)數(shù)據(jù)進(jìn)行六足機(jī)器人舵機(jī)控制,同時(shí)機(jī)器人自身傳感器采集六足機(jī)器人狀態(tài),將狀態(tài)信息發(fā)送至STM32,形成閉環(huán)控制,完成手勢對(duì)六足機(jī)器人的控制。
YOLO(you only look once) 算法最初是 Redmon J等人[9]在2016年提出的一種基于回歸的目標(biāo)識(shí)別方法,到2018年已經(jīng)發(fā)展到了第3代YOLO v3,該算法在精確度相當(dāng)情況下,速度是其他模型的3,4倍,只需一次前向運(yùn)算就可以實(shí)現(xiàn)對(duì)多物體的識(shí)別檢測。
YOLO v3網(wǎng)絡(luò)繼承了YOLO v2網(wǎng)絡(luò)的快速檢測的優(yōu)點(diǎn),同時(shí)大大提高了識(shí)別的正確率,特別是在檢測與識(shí)別小目標(biāo)方面,準(zhǔn)確率有很大提升。YOLO v3借鑒了殘差網(wǎng)絡(luò)結(jié)構(gòu),形成更深的網(wǎng)絡(luò)層次,以及多尺度檢測,提升了mAP及小物體檢測效果。YOLO v3的檢測流程首先將輸入圖像整體縮放為 416×416,并將圖像劃分成13×13個(gè)網(wǎng)格,如果某一目標(biāo)的中心落入某一網(wǎng)格,則該網(wǎng)格負(fù)責(zé)預(yù)測該目標(biāo)[10]。
目前,有很多學(xué)者基于YOLO v3做了許多研究。其中,郭進(jìn)祥和鄭志強(qiáng)等人分別提出了飛機(jī)識(shí)別方法[11,12],錢弘毅等人實(shí)現(xiàn)了交通信號(hào)燈的快速檢測與識(shí)別,徐曉濤等人在血細(xì)胞自動(dòng)計(jì)數(shù)方面做出了研究,羅凡波等人實(shí)現(xiàn)了人群異常行為識(shí)別等。
研究中,數(shù)據(jù)庫由室內(nèi)與室外復(fù)雜背景下采集的手勢數(shù)據(jù)集組成,包括5中不同類型手勢(1,2,3,4,5),每種類型樣本400張,一共2 000張三原色(RGB)圖片。數(shù)據(jù)集中的手勢位于任意位置且采集角度不固定,由樹莓派Camera V2拍攝視頻文件,然后通過抽幀處理將視頻文件轉(zhuǎn)為連續(xù)圖片。
為提高模型應(yīng)對(duì)不同光照和方向模糊條件下檢測的魯棒性,豐富數(shù)據(jù)庫并且防止過擬合,需要對(duì)原始數(shù)據(jù)集進(jìn)行擴(kuò)充。通過翻轉(zhuǎn)、旋轉(zhuǎn)、縮放和對(duì)比度變換等方法生成新的樣本數(shù)據(jù),通過這一步將訓(xùn)練數(shù)據(jù)擴(kuò)充3倍,最終每類樣本1 200張,一共6 000張,其中4 800張為訓(xùn)練集,1 200張為測試集。需要對(duì)生成的每一張圖片歸一化為416×416大小并進(jìn)行人工標(biāo)注,把圖片中人的手勢進(jìn)行框選。本實(shí)驗(yàn)采用的標(biāo)注工具為精靈標(biāo)注助手。標(biāo)注矩形框的大小會(huì)影響預(yù)測效果,不能太大或者太小。在對(duì)手勢完成標(biāo)注后,需要對(duì)生成的標(biāo)簽圖片進(jìn)行檢查,保證每張圖片只對(duì)應(yīng)一個(gè)標(biāo)簽,導(dǎo)出為.xml文件。圖1為5種手勢數(shù)據(jù)樣本分別在室內(nèi)與室外自然場景下的示意。
圖1 手勢樣本
YOLO v3訓(xùn)練后得到的模型存儲(chǔ)文件夾中,在樹莓派運(yùn)行時(shí)調(diào)用模型。在YOLO v3訓(xùn)練得到的模型中,測試集的手勢識(shí)別mAP在室內(nèi)與室外分別可以達(dá)到95.08 %與89 %,其中每種手勢類別在室內(nèi)與室外的手勢識(shí)別準(zhǔn)確率:手勢1為96.25 %與89.58 %,手勢2為95.42 %與89.17 %,手勢3為94.58 %與87.92 %,手勢4為95 %與88.75 %,手勢5為94.17 %與89.58 %。每種手勢類別在室內(nèi)與室外的識(shí)別效果如圖2所示,識(shí)別準(zhǔn)確率如圖3所示,其中橫坐標(biāo)為樣本類型,縱坐標(biāo)為準(zhǔn)確率。
圖2 手勢識(shí)別效果
圖3 準(zhǔn)確率
本系統(tǒng)采用STM32單片機(jī)控制六足機(jī)器人。STM32控制機(jī)器人完成動(dòng)作,六足機(jī)器人通過手勢控制所需執(zhí)行的動(dòng)作有以下5種:前進(jìn)、后退、左移、右移、步態(tài)切換,分別對(duì)應(yīng)手勢的1,2,3,4,5。
如圖4所示,以黑色X為基準(zhǔn),在攝像頭正面給出手勢1時(shí),六足機(jī)器人完成了前行動(dòng)作,在給出手勢5時(shí),六足機(jī)器人完成了由三角步態(tài)到螃蟹步態(tài)的行走步態(tài)切換。六足機(jī)器人在接收到一種手勢命令時(shí),機(jī)器人會(huì)執(zhí)行相應(yīng)動(dòng)作并維持該動(dòng)作,直到接收到新的手勢命令時(shí)才會(huì)進(jìn)行動(dòng)作切換。
圖4 手勢交互效果圖
基于樹莓派為核心的手勢交互六足機(jī)器人,運(yùn)用樹莓派Camera V2進(jìn)行圖像采集,YOLO v3完成手勢識(shí)別,識(shí)別結(jié)果由樹莓派發(fā)送給STM32,再由STM32計(jì)算得到六足機(jī)器人每條腿舵機(jī)的轉(zhuǎn)動(dòng)信息并下發(fā),實(shí)現(xiàn)手勢與六足機(jī)器人的交互。手勢識(shí)別準(zhǔn)確率表明:手勢1的準(zhǔn)確率最高,手勢5的準(zhǔn)確率最低,當(dāng)手勢平面與攝像頭平行時(shí)準(zhǔn)確率最高,當(dāng)手勢平面與攝像頭平面垂直時(shí)準(zhǔn)確率最低。受光線以及其他背景影響,室內(nèi)的手勢識(shí)別準(zhǔn)確率明顯大于室外。實(shí)驗(yàn)結(jié)果中的對(duì)比分析將為機(jī)器人在自然環(huán)境下人機(jī)交互研究與實(shí)現(xiàn)提供數(shù)據(jù)支撐。但本實(shí)驗(yàn)中,手勢距離攝像頭保持在3 m以內(nèi),沒有進(jìn)行更遠(yuǎn)距離的實(shí)驗(yàn),這是本次實(shí)驗(yàn)的不足,也是后續(xù)的研究方向。