龍輝
摘 要:手勢識別是人工智能范疇的一項生物識別技術,其方便、快捷、可靠和穩(wěn)定等一系列特性使其在多個領域具有廣泛應用。如拍照和視頻中使用手勢增加貼紙和實時特效,將復雜的手語轉化為自然語言,智能家居的輔助控制,輔助駕駛系統(tǒng)等。神經網絡被廣泛應用于圖像識別領域,具有較好的口碑。文章基于深度學習理論設計一種識別精度高,能夠實現實時手勢識別的算法。
關鍵詞:深度學習;卷積神經網絡;實時手勢識別;高效性
中圖分類號:TP393文獻標識碼:A文章編號:2095-1302(2019)02-00-03
0 引 言
人機交互[1]即HCI,是指人們通過相應方式與機器溝通,并獲取機器反饋信息的過程。
深度學習相比傳統(tǒng)的機器學習算法往往在圖像處理方面能獲得更好的效果。其中常用的算法如Faster R-CNN[2],YOLO[3],SSD[4]等均有其獨特魅力,在目標檢測領域具有舉足輕重的作用。
本文基于深度學習理論,采用卷積神經網絡中的輕量級分類網絡MobileNet和目標檢測網絡SSD相結合;基于輸入圖片的尺寸不同對模型的影響、帶孔卷積的引入,對改進后的SSD算法進行微調。為了進一步提升識別速度,使用Deepwise卷積以進一步降低網絡參數和計算量。
1 卷積計算
對于輸入的圖片,CNN[5]無法準確獲悉這些特征與原圖哪些部分相匹配,因此需要用不同尺寸的過濾器提取圖像特征。計算過程被稱為卷積操作,卷積過程如圖1所示。過濾器和圖像中左上角的3×3像素塊卷積后的值為特征圖中的第一個值4。
計算特征圖中像素點和原圖的映射結果。實際計算過程是將過濾器和原圖對應尺寸匹配,相同位置的值相乘,再將所有的乘積結果相加。
2 手勢識別算法模型設計
2.1 算法主干網絡
本文網絡模型是將MobileNet和SSD網絡相結合,然后對網絡進行微調。其中MobileNet使用了MobileNet-v1網絡。截取MobileNet-v1網絡前12層卷積層作為網絡的基礎特征提取層,再加上6層輔助特征提取網絡,組成算法的主干網絡。標簽邊框和默認框之間存在偏移值,因此將偏移值作為網絡學習的內容。結合分類誤差,計算端對端損失函數,進行反向傳播的計算和更新。
2.2 模型微調
(1)將輔助特征提取網絡中的3×3標準卷積使用Deep-wise卷積進行替換,進一步減少網絡參數和計算量。
(2)本文卷積均使用Atrous卷積(帶孔卷積),在減少padding帶來的噪聲的同時,也能減少冗余特征的提取。
(3)對部分輔助特征提取卷積網絡卷積步長或者特征維度進行調整,使輔助特征網絡的尺寸在不斷減小的同時,維度數量也隨之減小,減少冗余特征對訓練和識別結果的影響。
3 手勢識別算法設計
3.1 算法流程
算法流程如圖2所示。首先準備好收集的且已人工標記的訓練集圖片,然后經圖中所示的圖片預處理過程,將訓練集送入上文設計的MobileNet-SSD網絡進行迭代學習訓練,直至模型訓練完成。重復上述步驟,多次實驗,獲得模型。最終選擇在驗證集上表現效果最好的模型,在測試集上進行測試,得到相關數據,作為本文最終的數據,分析本文設計的算法模型的優(yōu)劣。
3.2 手勢數據集
本文共采集了15種手勢的數據圖片。平均每種約為
2 300張。數據集的組成包含石頭,布,ok,比心等。從每種手勢中抽出300張加入驗證集,抽取100張加入測試集。最終,訓練集中有32 327張圖片,驗證集中有4 500張圖片,測試集中有1 500張圖片,數據集共有38 327張圖片。數據集中部分圖片如圖3所示。
3.3 圖片標注
數據集采用LabelImg標定工具進行人工標記得到真實標簽和類別信息。圖4和圖5所示分別為在標注工具中、標注圖片和標注完成將目標信息進行存儲的xml文件信息展示。
3.4 算法環(huán)境
本文的硬件環(huán)境見表1所列。對于神經網絡[6]訓練而言,顯卡的計算能力和CPU的性能至關重要,性能優(yōu)良的顯卡與CPU可以大幅縮減訓練時間與算法的運行時間。
3.5 實驗與分析
3.5.1 實驗步驟
(1)本文手勢數據集中有15個類別,因此先將網絡文件、網絡訓練和測試文件,以及類別定義文件中的相關描述修改為15個類別。
(2)將準備好的圖片和對應包含了標注信息的xml文件制作成caffe框架常使用的lmdb格式數據集。
(3)把caffe框架下的模型文件和訓練文本映射在訓練文本設置好的參數中。
(4)觀察終端輸出迭代過程中l(wèi)oss值的變化,驗證集上輸出的測試準確率,并保存日志文件,方便后期對訓練模型進行分析。
(5)迭代訓練完成后找到生成的模型。若模型在測試集上表現較好,則在測試集上測試;否則,修改參數文件中的相關參數微調模型后繼續(xù)訓練。
3.5.2 實驗結果分析
算法中訓練模型包括如下種類:
(1)SSD經典算法網絡,基礎網絡使用VGG-16,圖片的輸入尺寸為300×300,記為SSD-300;
(2)本文改進的算法輸入尺寸為416×416和600×600,分別記為MN-SSD-416和MN-SSD-600;
(3)輔助特征層卷積使用標準卷積,圖片的輸入尺寸為416×416,模型記為MNS-SSD-416。
模型訓練信息見表2所列。通過對比可知,本文改進后的算法模型在參數量和計算量方面都大幅減少。
將上述模型進行多方比較可得:
(1)通過對比可以發(fā)現改進后的三種網絡在手勢識別精度方面與SSD-300相比未降低,但在識別速度方面卻有很大提高,其中MN-SSD-416和MNS-SSD-416可以實現實時手勢識別。
(2)MNS-SSD-416網絡減少了參數和計算量,使得每秒能夠識別的圖片數提高至43.5幀,mAP僅降低0.3個百分點。由此可得,使用Deepwise卷積替換輔助特征層的標準卷積是成功的,識別速度實現了大幅提高,付出的識別準確率代價較小。
(3)MN-SSD-600和MN-SSD-416具有相同的網絡結構,增大了輸入圖片的尺寸。雖然在識別精度方面表現出了略微優(yōu)勢,能夠使得較難識別的幾類手勢有較好的識別精度,但是大大降低了網絡識別速度,使得識別速度僅為22.6幀/s。說明增大圖片輸入尺寸確實能夠使特征更豐富,識別率也有所提高,但卻大大降低了識別速度。
3.6 手勢識別效果展示
本文展示了識別精度和速度都較好的模型MN-SSD-416的測試效果圖,如圖6所示。左圖中預測“我愛你”手勢類別的置信度為0.895 3;右圖中預測類別是“數字7”的置信度為0.921 1。本文主要考量手勢識別的精度,所以對邊框位置并未考察。但從實際效果可以看出,算法的位置回歸效果也很好。
4 結 語
本文設計的算法能夠滿足多種嵌入式平臺的使用需求,在保證較好的手勢識別精度的前提下,識別速度也有著很大優(yōu)勢,為實時手勢識別提供了一種可行的算法。
參 考 文 獻
[1]張丹潔,侯文君. 三維用戶界面交互范式研究[EB/OL].中國科技論壇,2011.
[2] REN S Q,HE K M,GIRSHICK R,et al. Faster R-CNN:towards real-time oject detection with region proposal networks[J]. Transactions on pattern analysis & machine intelligence,2015,
39(6):1.
[3] HINTON G E,SALAKHUTDINNOV R R. Reducing the dimensionality of data with neural networks[J]. Science,2006(313):500-508.
[4] L IU W,ANGUELOV D,DUMITRU ERHAN,et al. SSD: Single Shot MultiBox Detecot[C]// ECCV 2016.
[5] LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition[C]// Proceedings of the IEEE,November 1998:2278-2324.
[6] DEBEVEC P. A neural network for facial feature location[J]. UC berkeley CS283 project report,1992,22(1):18.
[7]呂耀坤.基于卷積神經網絡的實景交通標志識別[J].物聯網技術,2017,7(1):29-30.
[8]揚晉芳,衛(wèi)建華,劉琪,等.基于紅外的非接觸式手勢識別系統(tǒng)設計[J].物聯網技術,2016,6(11):113-115.