張雨晨,甘俊英,余飛,曾軍英
?
基于深度學(xué)習(xí)的應(yīng)急手勢識別算法研究
張雨晨,甘俊英,余飛,曾軍英
(五邑大學(xué)信息工程學(xué)院,廣東 江門 529020)
本文提出了一種基于深度學(xué)習(xí)的應(yīng)急手勢識別算法. 首先采用深度圖像傳感器做手勢分割獲取應(yīng)急手勢數(shù)據(jù)集,其次采用膚色分割算法和本文提出的應(yīng)急手勢識別算法做實(shí)時性測試. 與常規(guī)算法不同的是,本文構(gòu)建了一個應(yīng)急手勢數(shù)據(jù)庫,并建立了深度卷積神經(jīng)網(wǎng)絡(luò)模型,提出了7種應(yīng)用于多種場景的應(yīng)急手勢識別算法. 實(shí)驗(yàn)結(jié)果表明,本文應(yīng)急手勢識別算法優(yōu)于現(xiàn)有的機(jī)器學(xué)習(xí)算法,識別率達(dá)99.95%,可廣泛應(yīng)用于人機(jī)交互場景.
應(yīng)急手勢識別;手勢分割;深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò)
基于視覺的手勢識別技術(shù)是自然人機(jī)交互(Natural Human Computer Interaction,NHCI)中不可缺少的一項(xiàng)關(guān)鍵技術(shù),其以自然、直觀的特性受到研究人員越來越多的廣泛關(guān)注. 由于手勢的多樣性、在時間和空間上的差異性,且人手是復(fù)雜的變形體,以及視覺本身的不確定性,基于視覺的手勢識別成為一個多學(xué)科交叉、富有挑戰(zhàn)性的研究課題.
借助深度圖像傳感器和相關(guān)圖像處理技術(shù)分割所需識別的應(yīng)急手勢圖像,使用計(jì)算機(jī)可以對人手的各種手勢姿態(tài)信息準(zhǔn)確識別,尤其是在靜態(tài)手勢識別技術(shù)中,多數(shù)研究者所用的分類識別方法主要包括基于規(guī)則的分類算法和基于機(jī)器學(xué)習(xí)分類算法. 基于表觀特征的分類算法[2]是通過對手勢圖像獲取手勢輪廓信息,進(jìn)而得到一些具有分類效果的手勢表觀特征,例如手指的個數(shù)、周長、長寬比等,利用這些特征分類,算法簡易但性能不佳,識別率在80%~90%. Y.Liu等[3]采用了多特征融合的方法進(jìn)行手勢識別,識別率稍有提高,但無法滿足實(shí)際應(yīng)用需求. S.Lee等[4]提出了包括隨機(jī)森林和基于規(guī)則兩個階段的手勢識別方法,算法較為繁瑣且識別性能不夠好. G.Plouffe等[5]提出了一種改進(jìn)的DTW(Dynamic Time Warping)算法識別靜態(tài)和動態(tài)手勢,識別率依然沒有突破性的提升. T.Wan等[6]建立一個手勢識別系統(tǒng)來控制移動機(jī)器人的運(yùn)動,有具體的應(yīng)用但沒有可靠的算法識別率. K Rajendran等[7]利用穿戴式數(shù)據(jù)手套設(shè)計(jì)了一種系統(tǒng),該系統(tǒng)提出了一種比現(xiàn)有的符號語言解釋更簡單的新方法幫助捕捉老人或者病人,為識別手指和手移動產(chǎn)生的信號用戶需要佩戴手套,且系統(tǒng)門檻高、體驗(yàn)較差. S.Singhal等[8]提出了一種識別包含5種手語的識別方法,但識別類別較少且識別率不高.
中國人口老齡化正進(jìn)入快速發(fā)展階段,智能陪護(hù)機(jī)器人是照顧居家老人的好幫手[1],而應(yīng)急手勢識別是陪護(hù)機(jī)器人的重要功能之一,可以讓老人在緊急情況下簡單快速地操作機(jī)器人. 結(jié)合手勢識別相關(guān)研究和深度學(xué)習(xí)相關(guān)算法,本文提出一種針對智能陪護(hù)機(jī)器人的應(yīng)急手勢識別解決方案,并提出了一種基于深度學(xué)習(xí)的應(yīng)急手勢識別算法模型,以提升陪護(hù)機(jī)器人的易用性.
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是一種前饋神經(jīng)網(wǎng)絡(luò)[9],它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,對于大型圖像處理任務(wù)有出色表現(xiàn). 它包括卷積層(convolutional layer)和池化層(pooling layer),文獻(xiàn)[10]探討了如何將卷積神經(jīng)網(wǎng)絡(luò)用于有名的深度手勢數(shù)據(jù)庫NYU dataset上并獲取成功的訓(xùn)練和測試結(jié)果.
本文采用的一種深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Networks,DCNN),網(wǎng)絡(luò)模型參考文獻(xiàn)[11]中的LeNet-5網(wǎng)絡(luò)模型,如圖1所示,包含3個卷積層,2個最大池化層和1個全連接層. 選擇LeNet-5網(wǎng)絡(luò)的原因有三點(diǎn):第一,網(wǎng)絡(luò)模型簡單;第二,實(shí)驗(yàn)結(jié)果顯示識別率高;第三,本文數(shù)據(jù)庫都是單通道圖像數(shù)據(jù).
圖1 LeNet5結(jié)構(gòu)
目前,廣泛使用的兩種手勢分割算法是基于膚色或者深度信息的算法,實(shí)驗(yàn)過程中都有使用,一種獲取數(shù)據(jù)集,另一種做模型實(shí)時性測試. 在手勢識別過程中,手勢分割是整個識別流程中非常關(guān)鍵的一步,包含核心算法,分割的效果將直接影響后續(xù)識別準(zhǔn)確率.
由于膚色可以明顯區(qū)別于較多背景顏色,而且膚色在HSV以及YCrCb顏色空間中的分布具有聚簇特性,通過對這兩種顏色空間各個分量的直方圖統(tǒng)計(jì)分析可得到分割膚色所需閾值,進(jìn)而得到閾值分割處理后的二值圖像. 膚色模型分割效果如圖2所示. 其中,圖1-a是原始圖像,圖1-b是圖1-a經(jīng)過圖像增強(qiáng)所得到,圖1-c是基于HSV顏色空間的分割效果圖,圖1-d是基于YCrCb顏色空間的分割效果圖,圖1-e是圖1-b灰度化得到,圖1-f是圖1-e二值化后所得. 從分割效果看基本具有使用價值,但都由于是基于膚色模型分割,同時也帶來了難以處理的問題. 例如,在很多場景中都有類膚色的信息源,對類膚色的干擾沒有很好的解決方法. 所以要想使用這種方法,還要做更多的相關(guān)研究工作來完善結(jié)果,這是一種優(yōu)先級較低的解決方案.
圖2 基于膚色的手勢分割
國內(nèi)外研究者對于基于深度信息的手勢工作做了大量研究,包括制作的深度圖像數(shù)據(jù)集以及手勢識別、手勢估計(jì)算法等. 深度圖像的采集需要用到RGB-D傳感器,主流的RGB-D傳感器有Xbox 360 Kinect、Kinect V2、ASUS Xtion Pro Live、Intel Realsense RS300. 本文使用Kinect V2,其性能較好,代碼開發(fā)方便.
在具體人機(jī)交互場景中,手勢位置都位于身體位置之前,即在深度攝像頭與身體之間,因此,可以利用手勢位置與身體以及背景區(qū)域深度信息的差異來分割出手勢區(qū)域,同一深度的像素點(diǎn)在深度圖像中灰度值相同,但是每次人和深度攝像頭之間的距離不完全相同,無法用固定深度閾值實(shí)現(xiàn)區(qū)域的分割. 雖然可以使用基于灰度直方圖的方法尋找手勢區(qū)域與背景的最佳分割閾值,但增加了算法的復(fù)雜度,降低了處理速度. 深度圖像中的灰度值越大,表明該位置距離深度攝像頭的距離越近. 而在實(shí)際情況中,手勢往往是離深度攝像頭較近的目標(biāo),而且中間沒有其他物體的遮擋或者干擾. 因此,手勢區(qū)域在整個深度圖像中的灰度值是最大的,距離是最小的,只要找到深度圖像中深度值最小的點(diǎn)位置即能鎖定手勢區(qū)域,在設(shè)置合適的手掌深度值即可分割出手勢區(qū)域,本文手掌深度值設(shè)置在70~90之間,手掌深度值表示手掌的厚度轉(zhuǎn)換到深度信息后的值并非真實(shí)的手掌厚度,二值化后即可得到分割的手勢二值圖,分割效果如圖3所示,其中圖3-a是基于深度信息的手勢分割效果圖,圖3-b是灰度化處理的深度信息圖.
圖3 基于深度信息的手勢分割
結(jié)合智能陪護(hù)機(jī)器人的應(yīng)用場景,所做的應(yīng)急手勢識別是有重要作用的,七種應(yīng)急手勢對應(yīng)的七種含義如表1所示.
表1 應(yīng)急手勢及其含義
本文結(jié)合深度學(xué)習(xí)理論,提出一種采用深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)急手勢識別算法,算法流程框圖如圖4所示.
圖4 算法流程框圖
圖5 本文DCNN模型
針對本文的應(yīng)急手勢識別研究,根據(jù)初步設(shè)定的7種靜態(tài)手勢,建了一個用于訓(xùn)練模型的小型數(shù)據(jù)集,包括七種靜態(tài)手勢,由多名志愿者貢獻(xiàn)的數(shù)據(jù)集,每人每種手勢貢獻(xiàn)不低于500張. 采集設(shè)備是微軟Kinect 2代,手勢分割方法是基于深度圖像的分割算法. 為了研究分析基于深度學(xué)習(xí)方法在靜態(tài)手勢識別上的表現(xiàn),對采集的圖像做數(shù)據(jù)擴(kuò)增,所使用的擴(kuò)增方法是圖像模糊,具體操作步驟是使用4種濾波器對每個樣本做圖像模糊操作,分別是中值濾波、均值濾波、高斯濾波和雙邊濾波,每種濾波器使用3次,但這3次的濾波操作使用的模板大小不同,因此共有12種濾波操作,進(jìn)而數(shù)據(jù)集將再一次增加12倍. 數(shù)據(jù)集的分配情況是60%用于訓(xùn)練,20%驗(yàn)證集和20%測試集,分配比例為6︰2︰2. 數(shù)據(jù)擴(kuò)增前的數(shù)據(jù)集分配情況為70%訓(xùn)練集和30%測試集,當(dāng)需要驗(yàn)證集的時候,從測試集中取出50%作為驗(yàn)證集,如表2所示.
表2 實(shí)驗(yàn)用應(yīng)急手勢數(shù)據(jù)集
主機(jī)配置:處理器Intel i7-3770 3.40GHz,內(nèi)存16G,編程語言Python,編程環(huán)境Window 10系統(tǒng)下Anaconda2. 并利用Google公司開發(fā)的深度學(xué)習(xí)框架Tensorflow編程將算法實(shí)現(xiàn).
特征是決定樣本之間的相似性和分類器設(shè)計(jì)的關(guān)鍵,如何找到合適的特征是識別的核心問題. 在實(shí)際問題中,常常不容易找到那些最重要的特征,特征選擇成為構(gòu)造識別系統(tǒng)、提高決策精度最困難的任務(wù)之一. 本文在采用HOG和Gabor特征之前,也做了大量特征篩選工作,選擇了HOG、LBP、Haar-like、Gabor、SIFT、SURF這六種特征,對這六種特征都做了提取并測試分類效果,發(fā)現(xiàn)分類有效的特征是HOG和Gabor特征,識別率都達(dá)到了80%以上,而LBP和Haar-like特征對分類沒有明顯的幫助,由于機(jī)器學(xué)習(xí)算法需要每個樣本的特征向量維度保持一致,對于SIFT和SURF特征,因每個樣本提取的特征點(diǎn)個數(shù)不盡相同,所以不利于結(jié)合的機(jī)器學(xué)習(xí)算法.
本文在做基于深度學(xué)習(xí)的應(yīng)急手勢識別算法之前,還做了基于機(jī)器學(xué)習(xí)的應(yīng)急手勢識別算法,算法模型如圖6所示.
機(jī)器學(xué)習(xí)算法有SVM、SoftMax、GBRT、RF、DT、ELM,采用SVM、SoftMax、GBRT、RF、DT、ELM來訓(xùn)練和測試,其中采用ELM[12]算法時不需要做特征提取. 本文選擇提取的特征包括HOG和Gabor特征,進(jìn)一步融合HOG特征和Gabor特征,將這種組合特征與機(jī)器學(xué)習(xí)算法結(jié)合訓(xùn)練模型并測試,結(jié)果如表3所示.
圖6 機(jī)器學(xué)習(xí)算法流程框圖
表3 機(jī)器學(xué)習(xí)算法模型性能
圖7 模型準(zhǔn)確率和損失曲線圖
實(shí)驗(yàn)結(jié)果表明,融合HOG和Gabor兩種特征結(jié)合SVM分類器的性能較好,其中識別率最好的算法達(dá)到了99.4%,基于卷積神經(jīng)網(wǎng)絡(luò)模型優(yōu)于人工神經(jīng)網(wǎng)絡(luò)模型,識別率達(dá)到了99.95%,如表4所示.
表4 神經(jīng)網(wǎng)絡(luò)模型性能
本文從人機(jī)交互中的一項(xiàng)關(guān)鍵手勢識別技術(shù)出發(fā),結(jié)合深度學(xué)習(xí)和圖像處理理論提出了一種基于深度學(xué)習(xí)的應(yīng)急手勢識別算法,構(gòu)建了一個應(yīng)急手勢數(shù)據(jù)庫,算法采用深度卷積神經(jīng)網(wǎng)絡(luò)模型,通過多層的卷積操作能有效提取圖像特征;與現(xiàn)有算法比較突顯了本文算法的有效性. 實(shí)驗(yàn)結(jié)果表明,本文算法識別率要遠(yuǎn)遠(yuǎn)優(yōu)于現(xiàn)有的機(jī)器學(xué)習(xí)算法. 未來將進(jìn)一步提高算法的實(shí)時性,添加更多手勢類別,研究動態(tài)應(yīng)急手勢識別.
[1] 甘俊英. 面向老人的智能陪護(hù)機(jī)器人:中國,201710035885.2 [P]. 2017.
[2] 屈燕琴,李昕,盧夏衍. 基于表觀特征分析的手勢識別及其應(yīng)用[J]. 計(jì)算機(jī)工程與科學(xué),2015, 37(1): 139-145.
[3] LIU Y, ZHANG L, ZHANG S. A hand gesture recognition method based on multi-feature fusion and template matching [J]. Procedia Engineering, 2012, 29(4): 1678-1684.
[4] DINH D L, LEE S, KIM T S. Hand number gesture recognition using recognized hand parts in depth images [J]. Multimedia Tools & Applications, 2016, 75(2): 1333-1348.
[5] PLOUFFE G, CRETU A M. Static and dynamic hand gesture recognition in depth data using dynamic time warping [J]. IEEE Transactions on Instrumentation & Measurement, 2016, 65(2): 305-316.
[6] WAN T, WANG Y, LI J. Hand gesture recognition system using depth data [C]// International Conference on Consumer Electronics, Communications and Networks. IEEE, 2012: 1063-1066.
[7] RAJENDRAN K, SAMRAJ A, RAJAVEL M. Emergency gesture communication by patients, elderly and differently Abled with care takers using wearable data gloves [J]. Journal of Signal & Information Processing, 2013, 04.
[8] SINGHAL S. Hand gesture recognition using depth data for Indian sign language [D]. Rourkela: National lnstitute of Technology, 2013.
[9] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]// International Conference on Neural Information Processing Systems. Curran Associates Inc, 2012: 1097-1105.
[10] PYO J, JI S, YOU S, et al. Depth-based hand gesture recognition using convolutional neural networks [C]// International Conference on Ubiquitous Robots and Ambient Intelligence. IEEE, 2016: 225-227.
[11] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[12] HUANG Guangbin, ZHOU Hongming, DING Xiaojian, et al. Extreme learning machine for regression and multiclass classification [J]. IEEE transactions on systems, man, and cybernetics. Part B, Cybernetics: a publication of the IEEE Systems, Man, and Cybernetics Society. 2012, 42(2): 513-529.
[責(zé)任編輯:韋 韜]
Research on an Emergency Gesture Recognition Algorithm for Based on Deep Learning
ZHANGYu-chen, GANJun-ying, YUFei, ZENGJun-ying
(School of Information Engineering, Wuyi University, Jiangmen 529020, China)
This paper proposes an emergency gesture recognition algorithm based on deep learning. First, the depth image sensor is used to do gesture segmentation to obtain an emergency gesture dataset. Then, the skin color segmentation algorithm and the emergency gesture recognition algorithm proposed in this paper are used to do real-time testing. Different from the conventional algorithm, this paper establishes a database of emergency hand gestures and builds a deep convolution neural network model based on deep learning theory. Seven emergency hand gesture recognition algorithms are proposed for multiple scenarios. Experimental results show that the proposed emergency gesture recognition algorithm is superior to the existing traditional machine learning algorithms, with a recognition rate of 99.95%. It can be widely used in human-computer interaction scenarios.
emergency gesture recognition; gesture segmentation; deep learning; convolution neural networks
TP391
A
1006-7302(2018)02-0053-07
2018-02-06
國家自然科學(xué)基金資助項(xiàng)目(61771347,61072127,61372193,61070167)
張雨晨(1991—),男,河南信陽人,在讀碩士生,研究方向?yàn)樯锾卣髯R別;甘俊英,教授,博士,碩士生導(dǎo)師,通信作者,研究方向?yàn)樯锾卣髯R別.