国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于手勢(shì)識(shí)別的機(jī)器人控制技術(shù)研究

2024-01-27 13:41陳小順錢鑫雨
電腦知識(shí)與技術(shù) 2023年36期
關(guān)鍵詞:手勢(shì)識(shí)別

陳小順 錢鑫雨

摘要:增強(qiáng)人機(jī)交互形式,對(duì)機(jī)器人控制具有重要意義。然而,目前控制方式多集中于遙控控制方式,與人的互動(dòng)性不足。研究提出基于手勢(shì)識(shí)別的YOLOv5l算法提升機(jī)器人控制的交互性能。首先,精簡(jiǎn)HaGRID手勢(shì)數(shù)據(jù)集至8類,因手勢(shì)在圖像中屬于小目標(biāo),采用帶有CBAM注意力機(jī)制的YOLOv5l模型進(jìn)行訓(xùn)練;其次,通過(guò)QT平臺(tái)搭建控制系統(tǒng),部署手勢(shì)識(shí)別模型。對(duì)機(jī)器人進(jìn)行Mesh組網(wǎng),以廣播機(jī)制傳輸控制指令。實(shí)驗(yàn)結(jié)果表明,該模型在HaGRID數(shù)據(jù)集上平均準(zhǔn)確度達(dá)到98%,自建數(shù)據(jù)集平均準(zhǔn)確度達(dá)到95%,檢測(cè)速度34FPS,模型大小88.5MB,機(jī)器人可建立Mesh網(wǎng)絡(luò),通過(guò)手勢(shì)識(shí)別控制機(jī)器人運(yùn)動(dòng)。

關(guān)鍵詞:手勢(shì)識(shí)別; YOLOv5; HaGRID; CBAM; Mesh

中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2023)36-0037-05

開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)

智能機(jī)器在如今的科技世界中扮演著越來(lái)越重要的角色。機(jī)器人不僅用于工業(yè)和生產(chǎn)自動(dòng)化,還在醫(yī)療、軍事、農(nóng)業(yè)、服務(wù)業(yè)等多個(gè)領(lǐng)域發(fā)揮著巨大的作用[1-2]。機(jī)器人可以是無(wú)人車、仿生機(jī)器人、無(wú)人機(jī)、機(jī)械臂等。人機(jī)交互是人與機(jī)器之間的溝通,以人為中心,機(jī)器需要能夠理解人的交互手段,其中包含對(duì)于手勢(shì)動(dòng)作的理解。使機(jī)器能夠識(shí)別手勢(shì)的方法通常有3類:3D傳感器、機(jī)器學(xué)習(xí)算法、深度學(xué)習(xí)算法[3]。韓彥鵬等人使用LeapMotion傳感器獲取數(shù)據(jù),使用SVM改進(jìn)的KNN算法進(jìn)行手勢(shì)識(shí)別,理想情況下對(duì)5種手勢(shì)的識(shí)別準(zhǔn)確率達(dá)95%以上[4]。王松林等人使用Kinect景深攝像機(jī)獲取人體骨骼姿態(tài)數(shù)據(jù),進(jìn)而進(jìn)行手勢(shì)分割,使用DTW算法識(shí)別手勢(shì),對(duì)6種動(dòng)態(tài)手勢(shì)識(shí)別的平均準(zhǔn)確率達(dá)到94%[5]。徐玥等人通過(guò)機(jī)器學(xué)習(xí)方法,改進(jìn)手勢(shì)分割和手勢(shì)特征提取方法,基于Opencv采用支持向量機(jī)構(gòu)建手勢(shì)識(shí)別模型,對(duì)13種手勢(shì)平均識(shí)別率達(dá)到89.96%[6]。李國(guó)玄等人提出HOG+SVM的手勢(shì)識(shí)別算法,對(duì)手勢(shì)數(shù)據(jù)集提取HOG特征,通過(guò)SVM進(jìn)行分類識(shí)別,在復(fù)雜背景情況下手勢(shì)識(shí)別率達(dá)95%[7]。谷學(xué)靜等人提出CNN混合LSTM模型識(shí)別動(dòng)態(tài)手勢(shì)類型,對(duì)8種動(dòng)態(tài)手勢(shì)的識(shí)別率達(dá)92.5%[8]。李泰國(guó)等人提出有CBAM模塊的YOLOv5s算法識(shí)別列車駕駛員的手勢(shì)動(dòng)作,在測(cè)試集的識(shí)別率達(dá)95.5%,檢測(cè)速度為71FPS,模型大小15.9MB[9]。王粉花等人通過(guò)對(duì)YOLOv3算法改進(jìn),縮小最大值池化后的通道數(shù)進(jìn)行手勢(shì)識(shí)別訓(xùn)練,減少模型參數(shù)量與計(jì)算量,在UST數(shù)據(jù)集上檢測(cè)精度達(dá)92.24%[10]。孟青云等人提出基于YOLOv8算法進(jìn)行手勢(shì)識(shí)別,實(shí)驗(yàn)得出YOLOv8精確度高于YOLOv5,但是檢測(cè)速度稍慢,準(zhǔn)確率達(dá)到95.7%[11]。針對(duì)現(xiàn)有YOLOv5l神經(jīng)網(wǎng)絡(luò)模型對(duì)手勢(shì)特征表征不足的問(wèn)題[12],采用帶有CBAM注意力機(jī)制[13]的YOLOv5l模型進(jìn)行對(duì)手勢(shì)數(shù)據(jù)集進(jìn)行訓(xùn)練,增強(qiáng)特征表征能力,提高手勢(shì)識(shí)別的分類精度[14-15]。

1 YOLOv5算法

1.1 數(shù)據(jù)預(yù)處理

手勢(shì)識(shí)別數(shù)據(jù)集HaGRID[16]是一個(gè)大型圖像數(shù)據(jù)集,每張圖片的手勢(shì)部分被額外截取成為新的數(shù)據(jù)集,如圖1所示,數(shù)據(jù)集包含了18種類型手勢(shì),共723GB,共包含553 991張全高清RGB圖像,每個(gè)手勢(shì)數(shù)據(jù)集約40GB大小,每張圖像成像距離相機(jī) 0.5~4 米。

根據(jù)HaGRID數(shù)據(jù)集已有的算法檢測(cè)結(jié)果,結(jié)合手勢(shì)控制機(jī)器的實(shí)際需求,去除容易與peace混淆識(shí)別的rock、three、three2、two up、two up inv手勢(shì),去除容易與one和ok混淆的mute手勢(shì),選取call、dislike、fist、like、ok、one、peace、stop共8類手勢(shì)作為控制機(jī)器人的手勢(shì)數(shù)據(jù)集,每個(gè)手勢(shì)從數(shù)據(jù)集中抽選200張,并額外拍攝真實(shí)使用背景下標(biāo)注的100張圖像作為補(bǔ)充數(shù)據(jù),使得每個(gè)手勢(shì)有300張圖像數(shù)據(jù),提升算法的魯棒性。

HaGRID數(shù)據(jù)集采用COCO數(shù)據(jù)集標(biāo)注形式,需要將數(shù)據(jù)從.xml格式轉(zhuǎn)換為YOLOv5l所使用的.txt 格式。通過(guò)ElementTree工具將.xml文件解析成樹形結(jié)構(gòu),提取.xml文件中鍵值對(duì),獲得輸入數(shù)據(jù)size中的width、height,object中的name,bndbox中的xmin、ymin、xmax、ymax。對(duì)數(shù)據(jù)進(jìn)行歸一化處理,如公式(1)所示,獲得YOLOv5中所需的數(shù)據(jù)格式:calss、x、y、w、h。

其中,分類名name,映射為數(shù)字0~7。x為手勢(shì)框中心點(diǎn)x的坐標(biāo)除以原圖width值、y為手勢(shì)框中心點(diǎn)y的坐標(biāo)除以原圖height、w為手勢(shì)框的寬度除以原圖width、h為手勢(shì)框的高度除以原圖height。手勢(shì)數(shù)據(jù)集來(lái)源:https://github.com/hukenovs/hagrid。

1.2 C3CBAM模塊

CBAM模塊整體結(jié)構(gòu)如圖2所示,模塊由通道注意力模塊和空間注意力模塊組成。

如公式(2)所示,給定一個(gè)輸入的特征F∈RC×H×W,對(duì)F做Mc∈RC×1×1通道注意力計(jì)算,并與F做元素相乘,得到計(jì)算結(jié)果F′,對(duì)F′做Ms∈R1×H×W空間注意力計(jì)算,并與F′做元素相乘,得到計(jì)算結(jié)果F″。

YOLOv5模型一共有5個(gè)版本,分別為:YOLOv5n、YOLOv5s、 YOLOv5m 、YOLOv5l、 YOLOv5x。

如圖3所示,添加CBAM注意力機(jī)制的YOLOv5l算法網(wǎng)絡(luò)結(jié)構(gòu)分為Backbone、Head兩大部分,共25大層,769小層,48 065 087個(gè)參數(shù)。YOLOv5每個(gè)版本深度不同,但基礎(chǔ)框架相同。其中P0~P9為Backbone,P10~P23為Neck與P24的Detect合稱Head。

如表1所示,將原Backbone中P2、P4、P6、P8層的C3結(jié)構(gòu)替換為C3CBAM結(jié)構(gòu),其他保持不變。各層參數(shù)量、參數(shù)及數(shù)據(jù)來(lái)源如表1所示,其中from表示數(shù)據(jù)來(lái)源,-1為上一層數(shù)據(jù)。P12、P16、P19、P22層分別由(P6、P11)、(P4、P15)、(P14、P18)、(P10、P21)張量拼接所得。

C3結(jié)構(gòu)即(CSP Bottleneck with 3 Convolutions),如圖4所示,C3可以增強(qiáng)CNN的學(xué)習(xí)能力,使網(wǎng)絡(luò)輕量化的同時(shí)提升準(zhǔn)確度。C3參考CSPNet方法,利用n個(gè)Bottleneck、3個(gè)卷積模塊、1個(gè)Concat來(lái)實(shí)現(xiàn)。增強(qiáng)了backbone的學(xué)習(xí)能力、降低內(nèi)存成本。

Bottleneck用于減少模型計(jì)算量和參數(shù)量。如圖5所示修改原有結(jié)構(gòu),在Conv2與Add(shortcut)之間添加CBAM模塊。

1.3 模型訓(xùn)練與分析

實(shí)驗(yàn)使用Anaconda+Pycharm集成開(kāi)發(fā)環(huán)境,使用PyTorch框架實(shí)現(xiàn)。GPU設(shè)備型號(hào)GTX1070、8G顯存、內(nèi)存32GB。手勢(shì)數(shù)據(jù)集中80%用于模型訓(xùn)練、10%用于測(cè)試、10%用于驗(yàn)證。訓(xùn)練參數(shù)epochs設(shè)置為200,batch-size設(shè)置為4,初始weights設(shè)置為YOLOv5l.pt,optimizer設(shè)置為SGD,學(xué)習(xí)率設(shè)置為0.01。最終訓(xùn)練時(shí)長(zhǎng)33 h,模型大小88.5 MB。項(xiàng)目訓(xùn)練源碼、訓(xùn)練方法、數(shù)據(jù)集、格式轉(zhuǎn)換、模型參數(shù)、測(cè)試方法、測(cè)試結(jié)果等數(shù)據(jù)已上傳至倉(cāng)庫(kù):https://gitee.com/destiny_shun/yolov5-master。

F1 值綜合考慮Precision和recall雙面因素,如圖6所示,模型訓(xùn)練后的F1值達(dá)到了0.99。

如圖7所示,模型對(duì)8個(gè)手勢(shì)類別均有較好的識(shí)別效果,其中peace手勢(shì)識(shí)別精度較低,只有0.967。

如圖8所示,圖中為在數(shù)據(jù)集上檢測(cè)出錯(cuò)的示例,手勢(shì)在數(shù)據(jù)集中屬于小目標(biāo),極易受到背景信息干擾,當(dāng)人體手勢(shì)動(dòng)作與皮膚、強(qiáng)光、陰影疊加在一起,遇到相似顏色造型,錯(cuò)檢、漏檢率上升。如圖9混淆矩陣所示,模型在目標(biāo)檢測(cè)任務(wù)中,主對(duì)角線顏色深,表示正確預(yù)測(cè)數(shù)量多,其中ok、one、peace三類存在預(yù)測(cè)錯(cuò)誤情況。如圖10所示,模型分類損失、置信度損失、邊框損失在迭代200次訓(xùn)練后已經(jīng)收斂,模型mAP值可達(dá)99.1%,模型的Precision、recall值趨于穩(wěn)定。

如表2所示,從HaGRID數(shù)據(jù)集中,每個(gè)手勢(shì)類別抽選100張新的圖像,測(cè)試模型檢測(cè)效果。由于實(shí)驗(yàn)平臺(tái)限制,模型在第一次迭代次數(shù)設(shè)置為100次,并未有明顯收斂,故而設(shè)置為200次,訓(xùn)練時(shí)長(zhǎng)達(dá)到33h,出現(xiàn)較為明顯的、穩(wěn)定的收斂現(xiàn)象,故而此次訓(xùn)練過(guò)程有效。由于模型在數(shù)據(jù)集上檢測(cè)效果非常好,為驗(yàn)證模型是否在數(shù)據(jù)集上出現(xiàn)過(guò)擬合現(xiàn)象,額外抽取、拍攝數(shù)據(jù)集外手勢(shì)數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試結(jié)果表明,模型檢測(cè)具有良好的精確度。模型在數(shù)據(jù)集上平均識(shí)別準(zhǔn)度率為98%。自建數(shù)據(jù)集中每個(gè)手勢(shì)分別拍攝100張圖像,結(jié)果表明,模型在自建數(shù)據(jù)集上平均識(shí)別準(zhǔn)確率為95%。模型加載后,平均檢測(cè)時(shí)間為0.028 7s,480×640分辨率圖片,幀率為34,達(dá)到實(shí)時(shí)檢測(cè)效果。

1.4 控制平臺(tái)設(shè)計(jì)

Qt是跨平臺(tái)開(kāi)發(fā)常用工具,方便后續(xù)嵌入式移動(dòng)端的使用[17]。在Pycharm平臺(tái)上安裝PyQt5庫(kù),并嵌入QtDesigner界面設(shè)計(jì)工具、pyuic5界面代碼轉(zhuǎn)換工具。

如圖11所示,完成簡(jiǎn)易控制界面設(shè)計(jì),界面加載訓(xùn)練好的best.pt模型,可調(diào)用電腦攝像頭,視頻實(shí)時(shí)識(shí)別手勢(shì),根據(jù)手勢(shì)類型發(fā)送控制指令。

1.5 機(jī)器人及mesh組網(wǎng)設(shè)計(jì)

機(jī)器人之間的通信是機(jī)器人控制的關(guān)鍵組成部分,這包括使用Wi-Fi、藍(lán)牙、Zigbee、LoRa等不同的通信技術(shù),以便機(jī)器人之間進(jìn)行信息共享和協(xié)同工作[18]。ESP8266 Mesh是一種用于構(gòu)建自組織、低功耗物聯(lián)網(wǎng)(IoT)網(wǎng)絡(luò)的技術(shù),由樂(lè)鑫公司開(kāi)發(fā)。它建立在ESP8266 Wi-Fi模塊之上,提供了一種方便的方式來(lái)連接和管理大量ESP8266設(shè)備,使它們能夠相互通信和協(xié)同工作[19]。將手勢(shì)識(shí)別模型應(yīng)用到機(jī)器人控制中,能夠增加人機(jī)交互的互動(dòng)性。將集群中的所有機(jī)器人的舵機(jī)控制板通過(guò)串口通信連接ESP8266模塊,舵機(jī)控制板通過(guò)上位機(jī)預(yù)先錄入指定動(dòng)作及編號(hào),ESP8266編寫指令完成機(jī)器人的Mesh組網(wǎng)。通過(guò)Mesh組網(wǎng)全網(wǎng)廣播命令,實(shí)現(xiàn)機(jī)器人的集群控制[20]。

如圖12所示,Esp8266 Mesh允許機(jī)器人內(nèi)部相互廣播通信,網(wǎng)絡(luò)無(wú)中心節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都可以作為中繼節(jié)點(diǎn),節(jié)點(diǎn)數(shù)量與范圍更大,各個(gè)機(jī)器人節(jié)點(diǎn)之間根據(jù)節(jié)點(diǎn)編號(hào)和控制命令可以相互通信也可以獨(dú)立控制,網(wǎng)絡(luò)自主修復(fù)能力好,心跳包斷連和接入均可自更新完成,通過(guò)與路由器相連可以實(shí)現(xiàn)遠(yuǎn)程互動(dòng)控制。

如圖13所示,手勢(shì)控制界面可以通過(guò)stop手勢(shì)停止所有機(jī)器人動(dòng)作,通過(guò)fist手勢(shì)立正機(jī)器人,通過(guò)call手勢(shì),激活舞蹈模式,通過(guò)like與dislike手勢(shì)切換舞蹈動(dòng)作,fist手勢(shì)作為中間過(guò)渡手勢(shì),無(wú)實(shí)際意義,OK手勢(shì)為確認(rèn)執(zhí)行當(dāng)前動(dòng)作。one、peace手勢(shì)分別表示調(diào)整機(jī)器人語(yǔ)音音量大小。機(jī)器人收到各類手勢(shì)執(zhí)行指令時(shí),通過(guò)語(yǔ)音播報(bào)與實(shí)施者確認(rèn)是否準(zhǔn)確識(shí)別命令。

2 結(jié)論

通過(guò)手勢(shì)動(dòng)作控制機(jī)器人,提升人機(jī)交互性能,手勢(shì)識(shí)別的精確度是指令發(fā)出的關(guān)鍵。手勢(shì)數(shù)據(jù)集HaGRID提供了手勢(shì)數(shù)據(jù)來(lái)源,手勢(shì)動(dòng)作在實(shí)際使用過(guò)程中屬于較小的檢測(cè)目標(biāo),需要深層與淺層特征圖在語(yǔ)義性與空間性上得到更好的均衡。使用帶有CBAM注意力機(jī)制的YOLOv5算法模型進(jìn)行訓(xùn)練。在實(shí)驗(yàn)準(zhǔn)備階段,對(duì)COCO數(shù)據(jù)標(biāo)注形式的數(shù)據(jù)進(jìn)行轉(zhuǎn)化,并添加真實(shí)使用場(chǎng)景圖像補(bǔ)充數(shù)據(jù)集,用以增強(qiáng)算法魯棒性。實(shí)驗(yàn)過(guò)程中,選擇YOLOv5l模型,使用官方Y(jié)OLOv5.pt作為初始參數(shù)展開(kāi)訓(xùn)練。最終得到此次訓(xùn)練測(cè)試最好的best.pt模型文件,實(shí)現(xiàn)對(duì)手勢(shì)的識(shí)別,同時(shí)搭建可視化平臺(tái)驗(yàn)證手勢(shì)控制機(jī)器人的可行性。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的模型在測(cè)試數(shù)據(jù)集上的檢測(cè)精度達(dá)到98%,在自建數(shù)據(jù)集上的檢測(cè)精度達(dá)95%,最終的權(quán)重文件大小88.5MB,預(yù)測(cè)一張尺寸大小為640×480的圖像需要28.7ms,處理速度達(dá)到34FPS,可以滿足實(shí)時(shí)檢測(cè)要求。在實(shí)際控制中,機(jī)器人間可以穩(wěn)定組網(wǎng)運(yùn)行,能夠通過(guò)手勢(shì)識(shí)別控制機(jī)器人及集群運(yùn)動(dòng)。

參考文獻(xiàn):

[1]王成,李敏,王克宇.基于改進(jìn)Faster RCNN的機(jī)器人運(yùn)動(dòng)控制與視覺(jué)抓取研究[J/OL].機(jī)械設(shè)計(jì)與制造:1-12.

[2] 叢玉華,何嘯,邢長(zhǎng)達(dá),等.基于計(jì)算機(jī)視覺(jué)手勢(shì)識(shí)別的人機(jī)交互技術(shù)研究[J].兵器裝備工程學(xué)報(bào),2022,43(1):152-160.

[3] 解迎剛,王全.基于視覺(jué)的動(dòng)態(tài)手勢(shì)識(shí)別研究綜述[J].計(jì)算機(jī)工程與應(yīng)用,2021,57(22):68-77.

[4] 韓彥鵬,秦飛舟.基于LeapMotion的手勢(shì)識(shí)別算法改進(jìn)與研究[J].電子設(shè)計(jì)工程,2023,31(1):7-10,15.

[5] 王松林.基于Kinect的手勢(shì)識(shí)別與機(jī)器人控制技術(shù)研究[D].北京:北京交通大學(xué),2014.

[6] 徐玥,周輝.簡(jiǎn)單背景下基于OpenCV的靜態(tài)手勢(shì)識(shí)別[J].計(jì)算機(jī)科學(xué),2022,49(S2):393-398.

[7] 李國(guó)玄,馬凱凱,王文博.基于HOG特征提取和SVM的手勢(shì)識(shí)別方法研究[J].傳感器世界,2022,28(12):30-36.

[8] 谷學(xué)靜,周自朋,郭宇承,等.基于CNN-LSTM混合模型的動(dòng)態(tài)手勢(shì)識(shí)別方法[J].計(jì)算機(jī)應(yīng)用與軟件,2021,38(11):205-209.

[9] 李泰國(guó),張英志,張?zhí)觳?,?基于改進(jìn)YOLOv5s算法的列車駕駛員手勢(shì)識(shí)別[J].鐵道學(xué)報(bào),2023,45(1):75-83.

[10] 王粉花,黃超,趙波,等.基于YOLO算法的手勢(shì)識(shí)別[J].北京理工大學(xué)學(xué)報(bào),2020,40(8):873-879.

[11] 孟青云,戴佳蔚,查佳佳,等.基于YOLOv8算法的常用手勢(shì)識(shí)別[J].現(xiàn)代儀器與醫(yī)療,2023,29(4):12-20.

[12] 李熙尉,孫志鵬,王鵬,等.基于YOLOv5s改進(jìn)的井下人員和安全帽檢測(cè)算法研究[J].煤,2023,32(3):22-25.

[13] WOO S,PARK J,LEE J Y,et al.CBAM:convolutional block attention module[C]//Proceedings of the European Conference on Computer Vision (ECCV).Munich: ECCV,2018:3-19.

[14] 胡宗承,段曉威,周亞同,等.基于多模態(tài)融合的動(dòng)態(tài)手勢(shì)識(shí)別研究[J].計(jì)算機(jī)工程與科學(xué),2023,45(4):665-673.

[15] 胡宗承,周亞同,史寶軍,等.結(jié)合注意力機(jī)制與特征融合的靜態(tài)手勢(shì)識(shí)別算法[J].計(jì)算機(jī)工程,2022,48(4):240-246.

[16] KAPITANOV A,MAKHLYARCHUK A,KVANCHIANI K.HaGRID - HAnd gesture recognition image dataset[EB/OL].2022:arXiv:2206.08219.http://arxiv.org/abs/2206.08219.pdf

[17] 潘雪熒,吳慶達(dá).基于Qt的仿蠶機(jī)器人上位機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代制造技術(shù)與裝備,2023,59(8):193-196.

[18] 夏田,張大為,代斌斌.全向移動(dòng)的送餐機(jī)器人控制系統(tǒng)研究與仿真[J].制造業(yè)自動(dòng)化,2022,44(5):17-20.

[19] 張申毅,樊紹勝,程嘉翊,等.基于STM32的軌道式巡檢機(jī)器人控制系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2020(9):93-97,116.

[20] 劉成濤,郭帥.基于手勢(shì)識(shí)別的智能小車無(wú)線控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2023,46(16):182-186.

【通聯(lián)編輯:唐一東】

猜你喜歡
手勢(shì)識(shí)別
基于手勢(shì)識(shí)別的工業(yè)機(jī)器人操作控制方法