郭紫嫣, 韓慧妍, 何黎剛, 韓 燮
(1. 中北大學(xué) 大數(shù)據(jù)學(xué)院, 山西 太原 030051; 2. 華威大學(xué), 計(jì)算機(jī)系, 考文垂 CV4 7AL)
手勢是人們?nèi)粘I钪袦贤ń涣鞯囊徊糠郑?隨著科技的進(jìn)步以及智能設(shè)備的發(fā)展, 手勢作為一種自然、 直觀的交互方式逐漸應(yīng)用于人機(jī)交互, 在模擬實(shí)戰(zhàn)游戲、 航空航天、 智能家居、 安全駕駛等方面都有廣泛應(yīng)用. 手勢識別是使用采集設(shè)備獲取各種手勢動作, 通過模式識別或者其他方法對人類手勢動作進(jìn)行解釋的新型技術(shù)[1]. 在人機(jī)交互中, 為了使計(jì)算機(jī)能夠準(zhǔn)確識別手勢, 理解手勢代表的含義并做出相應(yīng)的操作, 提升手勢識別的準(zhǔn)確率就顯得尤為重要. 目前, 對手勢識別的研究主要分為三類: 基于外部硬件設(shè)備的手勢識別、 基于計(jì)算機(jī)視覺的手勢識別以及基于深度學(xué)習(xí)的手勢識別.
基于外部設(shè)備的手勢識別技術(shù)通常需要借助一些外部設(shè)備對手勢進(jìn)行采集與識別[2-4], 如基于可穿戴數(shù)據(jù)手套、 Kinect、 Leap Motion的手勢識別. 這一類方法識別準(zhǔn)確度高、 速度快, 但是其硬件設(shè)施昂貴、 操作不方便. 基于計(jì)算機(jī)視覺的手勢識別主要包括手勢分割、 特征提取和識別三部分. 手勢分割是利用膚色在RGB[5]、 HSV[6]、 YCbCr[7]等顏色空間下建模對人手進(jìn)行分割提取. 特征提取通常采用SIFT[8]、 HOG[9]、 SURF[10]等描述符對手勢進(jìn)行特征提取. 手勢識別算法包括基于模板匹配和基于數(shù)據(jù)分類的方法[11-12], 這類方法容易受到光照、 人工設(shè)計(jì)特征、 計(jì)算復(fù)雜度高等影響而導(dǎo)致手勢識別率不高、 魯棒性較差.
近年來, 深度學(xué)習(xí)在圖像分類、 目標(biāo)檢測等計(jì)算機(jī)視覺領(lǐng)域得到了巨大的發(fā)展. 與傳統(tǒng)的手勢識別方法相比, 基于深度學(xué)習(xí)的方法避免了手工提取特征, 使模型具有更好的自適應(yīng)能力. 目前, 深度學(xué)習(xí)的目標(biāo)檢測算法分為兩大類: 一類是以YOLOV3[13]為代表的基于回歸的目標(biāo)檢測算法, 如SSD, YOLOV4[14]等, 不生成候選區(qū)域, 直接利用檢測網(wǎng)絡(luò)產(chǎn)生目標(biāo)的位置信息和類別, 有更高的檢測速度, 滿足實(shí)時(shí)性; 另一類是以Fast R-CNN[15]為代表的基于區(qū)域建議的目標(biāo)檢測算法, 如SPP-Net, Faster R-CNN[16]等, 需要先生成候選區(qū)域, 使得檢測速度較慢, 不滿足實(shí)時(shí)性的需求. 在手勢識別中, 要求手勢識別準(zhǔn)確率以及識別速度盡可能高, 因此本文選用YOLOV4用于手勢識別, 使其能很好地平衡識別精度和速度. 若將原算法直接用于手勢識別, 會出現(xiàn)以下問題: 1)由于人手目標(biāo)大小不一, 無法有效檢測不同尺度的目標(biāo)手勢; 2)由于不同手勢的相似性, 導(dǎo)致部分手勢漏檢以及誤檢的問題, 識別率不高.
鑒于上述問題, 本文利用數(shù)據(jù)增強(qiáng)的方法解決手勢數(shù)據(jù)較少的問題, 其次對YOLOV4進(jìn)行改進(jìn), 改變原特征圖的分辨率使其能夠檢測到更多的特征, 利用K-means聚類算法調(diào)整先驗(yàn)框尺寸, 加強(qiáng)對不同尺度手勢的檢測能力, 進(jìn)一步提高手勢識別的準(zhǔn)確率, 在標(biāo)準(zhǔn)數(shù)據(jù)集以及自制的手勢數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).
YOLOV4是一種端到端的目標(biāo)檢測算法. YOLOV4首先通過主干網(wǎng)絡(luò)Darknet53提取輸入圖像的特征, 輸出19×19, 38×38, 76×76三種尺度的特征, 送入檢測網(wǎng)絡(luò). 檢測網(wǎng)絡(luò)對這三種特征進(jìn)行回歸, 使用非極大值抑制算法刪除置信度較低的預(yù)測框, 保留置信度較高的預(yù)測框并將其作為目標(biāo)檢測框, 從而得到目標(biāo)的類別和位置. 將得到的類別和位置輸出作為最后的目標(biāo)檢測結(jié)果.
YOLOV4算法是在原有YOLOV3目標(biāo)檢測架構(gòu)基礎(chǔ)上, 從數(shù)據(jù)處理、 主干網(wǎng)絡(luò)、 網(wǎng)絡(luò)訓(xùn)練、 激活函數(shù)等各個(gè)方面引入一些優(yōu)化方法, 使得模型在檢測速度和精度上達(dá)到了最優(yōu)匹配. 在YOLOV3基礎(chǔ)上的改進(jìn)如下:
1) YOLOV4的主干網(wǎng)絡(luò)采用了CSPDarknet53網(wǎng)絡(luò). CSPDarknet53比YOLOV3的主干網(wǎng)絡(luò)Darknet53多了5個(gè)CSP模塊, CSP模塊將基礎(chǔ)層的特征映射劃分為兩部分, 再通過跨階段層次結(jié)構(gòu)合并, 在減少計(jì)算量的同時(shí)保證準(zhǔn)確率. YOLOV4只在主干網(wǎng)絡(luò)中使用了Mish函數(shù), 其余部分使用Leaky_Relu激活函數(shù), 使用Dropblock正則化方式隨機(jī)刪除神經(jīng)元的數(shù)量, 簡化網(wǎng)絡(luò)結(jié)構(gòu).
2) 為了使預(yù)測框獲取更大的感受野, 有效分離數(shù)據(jù)中的顯著特征, YOLOV4在CSPDarknet53結(jié)構(gòu)后添加了SPP模塊. SPP結(jié)構(gòu)能有效地增加主干網(wǎng)絡(luò)的特征接受范圍, 顯著地分離出重要的特征信息.
3) YOLOV4采用了FPN+PAN模塊. 與YOLOV3的FPN不同的是, YOLOV4在FPN后面還添加了一個(gè)自底向上的特征金字塔, 其包含兩個(gè)PAN結(jié)構(gòu). 運(yùn)用這種改進(jìn)的結(jié)構(gòu)取代了YOLOV3中單一的FPN結(jié)構(gòu), FPN層從頂部到底部傳達(dá)了強(qiáng)大的語義特征, 而特征金字塔不同, 是從底部到頂部傳達(dá)了強(qiáng)大的定位特征, 進(jìn)而使得改進(jìn)后的FPN+PAN結(jié)構(gòu)可用于不同級別檢測器的參數(shù)聚合, 進(jìn)一步提高了特征提取的能力, 從而提升對目標(biāo)的檢測能力.
YOLOV4算法在通用的PASCAL VOC數(shù)據(jù)集上進(jìn)行訓(xùn)練后不能很好地檢測手勢, 這是因?yàn)镻ASCAL數(shù)據(jù)集中有20個(gè)分類模型, 其中并不包含手勢模型, 故而不能很好地檢測出手勢. 針對此情況, 本文在原始YOLOV4算法的基礎(chǔ)上優(yōu)化了YOLOV4的網(wǎng)絡(luò)結(jié)構(gòu), 改變原特征圖的分辨率, 同時(shí)利用K-means聚類算法重新調(diào)整先驗(yàn)框尺寸, 使網(wǎng)絡(luò)對小尺度目標(biāo)更加敏感, 避免因人手目標(biāo)大小不一和手勢相似而導(dǎo)致手勢的誤檢和漏檢, 加強(qiáng)對不同手勢的檢測能力, 提高手勢的識別準(zhǔn)確率.
YOLOV4使用Darknet53網(wǎng)絡(luò)提取輸入圖像的特征, 通過對圖像進(jìn)行5次下采樣, 得到5個(gè)不同尺度的特征圖. 具有大分辨率的淺層特征圖能夠包含更多像素點(diǎn)的信息, 也就是細(xì)節(jié)信息, 如輪廓、 邊緣、 紋理等, 并且目標(biāo)定位準(zhǔn)確, 具有小分辨率的深層特征圖包含更多的語義信息, 利于物體分類. 如果將淺層特征與深層特征相融合, 可以擴(kuò)大分類網(wǎng)絡(luò)的接受域, 同時(shí)學(xué)習(xí)到更多的全局信息, 淺層特征圖可以提高模型的語義表示能力, 從而提高網(wǎng)絡(luò)區(qū)分不同目標(biāo)的能力. 為了提高不同手勢的識別率, 本文對YOLOV4模型提取的特征圖進(jìn)行修改并融合, 首先將原特征圖的三個(gè)尺度19×19、 38×38、 76×76修改為兩個(gè)較大的尺度38×38、 76×76, YOLOV4模型在這兩個(gè)尺度下對目標(biāo)進(jìn)行預(yù)測, 其流程圖如圖1 所示.
圖1 改變原特征圖分辨率流程圖
先驗(yàn)框的提出將目標(biāo)檢測轉(zhuǎn)化為兩個(gè)問題且同時(shí)進(jìn)行, 即固定網(wǎng)格內(nèi)是否有目標(biāo)和判斷預(yù)測框與真實(shí)框距離的問題, 由于拋棄了其他網(wǎng)絡(luò)中的滑動窗口環(huán)節(jié), 所以使得目標(biāo)檢測的精度和速度大大提升. 先驗(yàn)框的大小對于YOLOV4目標(biāo)檢測網(wǎng)絡(luò)十分重要, 原始的YOLOV4的先驗(yàn)框是在VOC數(shù)據(jù)集的標(biāo)注上聚類得到的. 由于VOC數(shù)據(jù)集中的物體多樣, 長寬比例差別大, 先驗(yàn)框的差別也很大. 然而在手勢數(shù)據(jù)集中, 由于人手距離攝像頭遠(yuǎn)近不同或者人手大小不一, 直接使用原來的先驗(yàn)框并不能很好地滿足識別要求. 為了提高手勢識別的精度, 重新使用K-means聚類算法對本文數(shù)據(jù)集進(jìn)行聚類分析, 得到先驗(yàn)框的尺寸. 首先對已標(biāo)注的數(shù)據(jù)集進(jìn)行聚類, 不斷增加聚類中心的個(gè)數(shù), 經(jīng)過迭代, 分別獲得聚類中心, 然后將聚類中心與預(yù)測框和真實(shí)框的交并比IoU作為K-means聚類算法的相似度參數(shù). 距離計(jì)算公式為
d=1-IoU,
(1)
式中:IoU表示預(yù)測框與真實(shí)框的交并比. 式(1)在一定程度上使得生成的預(yù)測框更加接近于目標(biāo)真實(shí)的標(biāo)記框.
對于手勢數(shù)據(jù)集, 使用上述方法重新進(jìn)行聚類分析, 得到的先驗(yàn)框分別為(62, 70), (83, 132), (114, 93), (186, 128), (254, 127), (374, 404). 先驗(yàn)框尺寸與特征圖尺度大小成反比, 在較大的特征圖上用較小的先驗(yàn)框, 用于檢測較小的目標(biāo), 在較小的特征圖上用較大的先驗(yàn)框, 用于檢測較大的目標(biāo). 因此, 尺度較小的特征圖38×38 使用較大的先驗(yàn)框(186, 128), (254, 127), (374, 404), 尺度較大的特征圖76×76分配較小的先驗(yàn)框(62, 70), (83, 132), (114, 93). 具體如表1 所示.
表1 改進(jìn)的YOLOV4先驗(yàn)框尺寸
本文實(shí)驗(yàn)中采用的手勢數(shù)據(jù)集為標(biāo)準(zhǔn)手勢數(shù)據(jù)集以及實(shí)驗(yàn)室自制的手勢數(shù)據(jù)集.
標(biāo)準(zhǔn)手勢數(shù)據(jù)集為Sign Language Digis Dataset數(shù)據(jù)集, 是由土耳其安卡拉Ayranc阿納多盧高中學(xué)生準(zhǔn)備的手語數(shù)字?jǐn)?shù)據(jù)集, 數(shù)據(jù)集網(wǎng)址為: https://github.com/ ardamavi/Sign-Language-Digits-Dataset. 由每個(gè)學(xué)生拍攝十種手勢, 分別表示數(shù)字0~9, 共有2 180張手語數(shù)字圖像, 此數(shù)據(jù)集是在同一背景下拍攝的.
自制的手勢數(shù)據(jù)集是由實(shí)驗(yàn)室采用紅外攝像頭進(jìn)行拍攝的. 選取五種手勢作為代表, 分別為手勢張開(hand_palm), 手半彎曲(hand_wan), 握拳(hand_fist), 食指型(hand_finger), OK手勢(hand_ok), 采用紅外攝像頭對8名實(shí)驗(yàn)者的五種手勢進(jìn)行不同距離不同角度的手勢圖像采集.
為了豐富手勢訓(xùn)練集, 獲得更好的訓(xùn)練結(jié)果, 本文使用隨機(jī)轉(zhuǎn)換的方式增強(qiáng)手勢數(shù)據(jù)集, 包括圖像翻轉(zhuǎn)、 順時(shí)針旋轉(zhuǎn)、 逆時(shí)針旋轉(zhuǎn)、 尺度變換等對手勢數(shù)據(jù)集進(jìn)行擴(kuò)充, 由原來五種手勢的600張圖像擴(kuò)充到5 000張.
手勢數(shù)據(jù)集(標(biāo)準(zhǔn)數(shù)據(jù)集以及自制的數(shù)據(jù)集)參考VOC2007數(shù)據(jù)集的格式制作. 使用LabelImg圖像標(biāo)注軟件, 對JPEGImages中的圖像進(jìn)行人工標(biāo)注, 對圖像中的手勢以最小外接矩形進(jìn)行畫框標(biāo)定, 得到手勢區(qū)域的邊界框以及手勢所屬的類別標(biāo)簽并生成對應(yīng)的XML文件, 完成VOC2007數(shù)據(jù)集格式的轉(zhuǎn)換. 之后將數(shù)據(jù)集按照8: 2的比例隨機(jī)生成了訓(xùn)練驗(yàn)證集和測試集, 再進(jìn)行模型訓(xùn)練及測試.
本文采用精準(zhǔn)率P(Precision)和召回率R(Recall)作為手勢識別的評價(jià)指標(biāo). 精準(zhǔn)率計(jì)算的是所有被正確識別的樣本占所有被識別到的樣本的比例, 而召回率指的是所有被正確識別的樣本占所有應(yīng)該被識別到的樣本的比例, 計(jì)算公式為
(2)
式中:TP表示正確識別的手勢圖像數(shù)量, 即真陽性;FP表示錯誤識別的手勢圖像數(shù)量, 即假陽性;FN表示漏識別的手勢圖像數(shù)量, 即假陰性. 除此以外, 檢測時(shí)間也作為評價(jià)指標(biāo), 每張手勢圖像的檢測時(shí)間越短說明算法的運(yùn)行速度越快.
本文所有的實(shí)驗(yàn)均在Windows10系統(tǒng)下進(jìn)行, 硬件環(huán)境: GPU NVIDIA GTX970; CUDA版本號為CUDA10.1; cuDNN版本號為cuDNN7.6; 訓(xùn)練設(shè)置如下: 每次迭代訓(xùn)練樣本數(shù)為64, 分16個(gè)批次, 動量因子設(shè)置 為 0.949, 權(quán)重衰減系數(shù)為0.000 5, 最大迭代次數(shù)設(shè)置為10 000, 學(xué)習(xí)率為0.001; 訓(xùn)練迭代次數(shù)達(dá)到6 000 和8 000時(shí), 將學(xué)習(xí)率分別降至初始學(xué)習(xí)率的10%和1%.
在自制的手勢數(shù)據(jù)集上訓(xùn)練, 對應(yīng)的迭代次數(shù)與損失函數(shù)的關(guān)系如圖2 所示.
圖2 迭代次數(shù)與損失函數(shù)的關(guān)系圖
由圖2 的曲線可以看出, 在迭代至10 000次左右的時(shí)候, 模型達(dá)到了收斂, 損失值在0.1上下浮動.
為驗(yàn)證本文改進(jìn)算法的有效性, 在標(biāo)準(zhǔn)手勢數(shù)據(jù)集以及自制的手勢數(shù)據(jù)集上分別進(jìn)行了Faster R-CNN算法、 原始YOLOV4算法與改進(jìn)后的YOLOV4算法的對比實(shí)驗(yàn).
3.4.1 改進(jìn)算法對小目標(biāo)手勢的識別結(jié)果
改進(jìn)先驗(yàn)框尺寸后, 對距離攝像頭較遠(yuǎn)的小目標(biāo)手勢的識別結(jié)果如圖3 所示, 目標(biāo)框代表識別手勢所在的位置, 文本第一部分表示手勢的識別結(jié)果, 第二部分表示手勢的置信度, 圖4~圖6 類似. 對小目標(biāo)手勢的識別結(jié)果分析如表2 所示, 其中, 未識別的手勢以及識別錯誤的手勢其置信度以及目標(biāo)框定位用“×”表示.
表2 小目標(biāo)手勢識別結(jié)果分析
圖3 改進(jìn)先驗(yàn)框?qū)π∧繕?biāo)手勢識別的實(shí)驗(yàn)結(jié)果
圖3 中第一行(圖(a)、 (b)、 (c))為改進(jìn)前的手勢識別結(jié)果, 第二行(圖(d)、 (e)、 (f))為改進(jìn)先驗(yàn)框后的對應(yīng)手勢識別結(jié)果.
通過表2 分析可以得知, 算法經(jīng)過改進(jìn)后, 可以準(zhǔn)確識別小目標(biāo), 避免漏檢問題, 且置信度有所提高, 對于不同大小尺度的目標(biāo)能同時(shí)識別且準(zhǔn)確定位.
3.4.2 三種算法在標(biāo)準(zhǔn)數(shù)據(jù)集上的識別結(jié)果
在標(biāo)準(zhǔn)手勢數(shù)據(jù)集上分別使用改進(jìn)前與改進(jìn)后的YOLOV4算法、 Faster R-CNN算法對手勢進(jìn)行檢測. 部分手勢檢測結(jié)果如圖4 所示, 手勢識別的結(jié)果分析如表3 所示, 三種算法手勢識別率的比較結(jié)果如表4 所示, 圖中使用目標(biāo)框來標(biāo)出手勢所在的位置, 方框左上角為該手勢所屬的類別以及置信度, 置信度表示該手勢被正確識別的概率, 但是文字較模糊, 為此, 在圖像的右上角再次標(biāo)記出來.
表3 標(biāo)準(zhǔn)數(shù)據(jù)集上三種算法的手勢識別結(jié)果分析
表4 三種算法在標(biāo)準(zhǔn)數(shù)據(jù)集上的手勢識別率比較
圖4 Faster R-CNN算法與改進(jìn)前后算法在標(biāo)準(zhǔn)數(shù)據(jù)集上的手勢識別結(jié)果對比
圖4 為標(biāo)準(zhǔn)數(shù)據(jù)集上的部分手勢識別結(jié)果圖. 圖4 中第一行為Faster R-CNN算法的識別結(jié)果, 簡寫為F R, 第二行為原始YOLOV4手勢識別結(jié)果, 第三行為改進(jìn)YOLOV4手勢識別結(jié)果. 由表3 的分析可得出, 使用Faster R-CNN算法以及改進(jìn)前的算法, 會出現(xiàn)手勢定位不準(zhǔn)確、 漏檢、 誤檢現(xiàn)象, 且置信度較低; 而改進(jìn)后的算法檢測效果良好, 可以準(zhǔn)確識別各種手勢, 置信度較高且目標(biāo)框定位準(zhǔn)確, 同時(shí)手勢的漏檢、 誤檢現(xiàn)象得到了改善.
表4 結(jié)果表明, 改進(jìn)后的YOLOV4算法在標(biāo)準(zhǔn)手勢數(shù)據(jù)集上的精準(zhǔn)率為97.80%, 召回率為92.45%, 相比于改進(jìn)前的算法, 識別精度提高5.35%, 召回率提高4.85%, 相比于Faster R-CNN算法, 識別精度提高8.47%, 召回率提高7.75%. 平均單幅圖像的檢測時(shí)間為0.086 s, 比原始算法及Faster R-CNN時(shí)間短, 很好地滿足了實(shí)時(shí)性.
3.4.3 三種算法在自制數(shù)據(jù)集上的識別結(jié)果
為了進(jìn)一步驗(yàn)證本文改進(jìn)網(wǎng)絡(luò)的優(yōu)越性, 使用Faster R-CNN算法在自制的手勢數(shù)據(jù)集上進(jìn)行訓(xùn)練. Faster R-CNN也是通用的目標(biāo)檢測算法, 使用區(qū)域建議的方式生成候選區(qū)域來進(jìn)行目標(biāo)檢測. 自制數(shù)據(jù)集共有5 000張手勢圖像, 隨機(jī)選取其中的1 000張作為測試集, 分別使用本文原始算法、 改進(jìn)算法以及Faster R-CNN算法進(jìn)行檢測, 文中選取了其中的10張圖像(簡單背景下5張, 復(fù)雜場景下5張)作為代表進(jìn)行識別效果的比對. 簡單背景手勢識別結(jié)果如圖5 所示, 識別結(jié)果分析如表5 所示, 并計(jì)算其平均精準(zhǔn)率、 召回率以及檢測時(shí)間, 如表6 所示. 復(fù)雜場景識別結(jié)果如圖6 所示, 識別結(jié)果分析如表7 所示.
圖6 復(fù)雜背景的手勢識別結(jié)果
圖5 中第一行為利用Faster R-CNN獲得的手勢識別結(jié)果, 其中將Faster R-CNN簡寫為F R, 第二行為原始YOLOV4算法手勢識別結(jié)果, 第三行為改進(jìn)YOLOV4算法檢測結(jié)果. 表5 的識別結(jié)果分析表明, 相比較原始YOLOV4算法和Faster R-CNN算法, 本文改進(jìn)算法能準(zhǔn)確識別各種手勢, 且目標(biāo)框定位準(zhǔn)確, 識別置信度高, 說明本文改進(jìn)算法的性能優(yōu)于前兩種算法.
表5 簡單背景下三種算法的手勢識別結(jié)果分析
表6 結(jié)果表明, 改進(jìn)后的YOLOV4算法的精準(zhǔn)率為98.57%, 召回率為93.89%, 相比于改進(jìn)前的算法, 識別精度提高了5.24%, 召回率提高了4.57%, 相比于Faster R-CNN算法, 識別精度提高了8.61%, 召回率提高了8.46%. 平均單幅圖像的檢測時(shí)間為0.090s, 比原始算法以及Faster R-CNN檢測時(shí)間都短. 綜上可以看出, 本文方法能同時(shí)兼顧檢測精度和檢測速度, 滿足手勢實(shí)時(shí)識別的需求.
表6 三種算法在簡單場景的手勢識別率比較
圖6 中, 第一行為利用Faster R-CNN獲得的手勢識別結(jié)果, 將Faster R-CNN簡寫為F R, 第二行為原始YOLOV4算法手勢識別結(jié)果, 第三行為改進(jìn)YOLOV4算法檢測結(jié)果. 由表7 得出, 在復(fù)雜場景中, 本文改進(jìn)算法相比較Faster R-CNN算法和原始YOLOV4算法, 能準(zhǔn)確識別各種手勢, 且目標(biāo)框定位準(zhǔn)確, 手勢置信度較高, 充分說明改進(jìn)后的YOLOV4算法用于手勢識別任務(wù)時(shí)具有較高的精度和魯棒性.
表7 復(fù)雜場景下三種算法的手勢識別結(jié)果分析
手勢交互實(shí)驗(yàn)主要是通過識別不同的手勢控制場景中的坦克模型進(jìn)行相應(yīng)的動作, 其對應(yīng)關(guān)系如表8所示. 表8 給出了截取手勢圖像以及包含坦克模型的部分場景圖像. 由系統(tǒng)的手勢識別模塊所得結(jié)果可以看出, 該系統(tǒng)能正確識別手勢圖像, 從而控制坦克模型做出正確的動作.
表8 不同手勢對應(yīng)的坦克動作
本文提出了一種基于改進(jìn)YOLOV4的手勢交互算法, 利用數(shù)據(jù)增強(qiáng)的方法來解決手勢數(shù)據(jù)較少的問題, 同時(shí)優(yōu)化YOLOV4的網(wǎng)絡(luò)模型, 利用K-means聚類算法重新計(jì)算先驗(yàn)框的尺寸, 加強(qiáng)了對不同手勢的檢測能力. 在標(biāo)準(zhǔn)的手勢數(shù)據(jù)集以及自制的手勢數(shù)據(jù)集上對本文的算法進(jìn)行了驗(yàn)證, 實(shí)驗(yàn)結(jié)果表明, 本文提出的方法在手勢識別準(zhǔn)確率方面優(yōu)于傳統(tǒng)算法和Faster R-CNN算法, 滿足實(shí)時(shí)性要求, 可以實(shí)現(xiàn)手勢的快速檢測, 同時(shí)能識別復(fù)雜場景下的手勢, 可進(jìn)行實(shí)時(shí)手勢交互, 控制坦克模型做相應(yīng)的動作. 下一步將對受環(huán)境光照影響或者背景劇烈變化而導(dǎo)致的手勢識別精度差等問題進(jìn)行研究, 以獲得更高的識別率.