陳 茜 李蔚清
(南京理工大學計算機科學與工程學院 南京 210094)
近年來,隨著人機交互技術的不斷發(fā)展,基于人類其他感官的交互方式開始出現(xiàn),比如語音交互,腦機交互和手勢交互等。但在一些特定場合中,手勢交互更為簡單直接[1~2]。同時基于視覺的手勢交互擺脫了數(shù)據(jù)手套、肌電傳感器等外部設備的束縛,使得手勢能夠更自然的表達。
基于視覺的手勢識別主要包括手勢分割、特征提取、手勢識別,其中特征提取是識別過程中最為關鍵的一步。翁漢良等[3]將指尖個數(shù)和方向作為手勢特征,結合手部的幾何特征進行手勢識別;文獻[4]中提出了一種基于Hu 矩特征和指尖點檢測的手勢識別方法,但這些方法在光照條件不好時對手勢識別準確度較低。近年來,各種深度相機也逐步應用到手勢識別領域,該設備不僅可以獲取圖像的彩色信息,還可以直接獲取手勢的深度圖像信息,避免了立體視覺算法產(chǎn)生的復雜計算量[5~9]。Almeida 等[10]利用RGB-D 相機獲取手勢的方向、位置和深度信息,并從RGBD圖像中得到7個視覺特征,對34 個手語的平均識別率達到80%。Tiwari 等[11]利用Kinect 捕捉了10 個數(shù)字的手勢圖像,并將手部圖像的DCT信號送入神經(jīng)網(wǎng)絡進行識別,在樣本集的識別率為98%,但是在整個數(shù)據(jù)集上的平均識別率為83.5%。文獻[12]利用CNN 對運動中的靜態(tài)手勢進行訓練識別,在包含12 種不同手勢的自建數(shù)據(jù)庫上進行測試,并與不同算法進行比較,結果表明CNN 在復雜環(huán)境中對靜態(tài)手勢識別具有魯棒性和有效性,但是在旋轉角度下的手勢識別準確率較低。
在增強現(xiàn)實電子沙盤中,根據(jù)特定的手勢指令,本文提出一種融合CNN 提取特征和Hu 矩特征的動態(tài)手勢識別方法。通過Realsense 深度相機獲取手部運動信息,利用深度圖像進行手勢分割,將一系列的手部動作圖像進行特征提取和融合,并結合LSTM模塊識別動態(tài)手勢。
一般地,基于視覺的手勢識別系統(tǒng)主要包括以下5 個模塊:圖像采集、手勢跟蹤、手勢分割、手勢識別和人機交互。圖1 為本文方法的動態(tài)手勢識別系統(tǒng)結構。為了提高在增強現(xiàn)實電子沙盤中動態(tài)手勢識別的準確度,本文在特征提取以及網(wǎng)絡模型進行了多種方法的實驗。

圖1 本文動態(tài)手勢識別系統(tǒng)結構
Intel RealSense SR300 是Intel 公司推出的第2代前置攝像頭。類似于微軟Kinect 與Leap Motion等攝像頭,它能夠被看作一個獨立設備,連接到PC、PAD 以及手機智能設備,從而擴展了深度相機的使用領域[13~14]。
本文方法使用RealSense SR300 相機,獲取視頻中的彩色和深度信息,如圖2。

圖2 SR300獲取的視頻流
動態(tài)手勢序列是一組靜態(tài)手勢圖像構成的序列集合,并且涉及時間、空間概念。由于動態(tài)手勢具有連續(xù)性以及復雜多樣性,在進行實時識別動態(tài)手勢時,確定動態(tài)手勢的開始與結束,分割出手勢的起止狀態(tài)序列,是動態(tài)手勢識別的基礎。由于Realsense 深度相機識別范圍是0.2m~1.2m,本方法設計實驗中,人手運動在1.2m 之內(nèi),通過是否有深度流的判斷來截取包含動態(tài)手勢運動的視頻幀。
在識別動態(tài)手勢時,相機拍攝的視頻中有很多噪聲,事實上只需要完整包含手部的圖像,故在Realsense 相機拍攝后,深度網(wǎng)絡實時識別前,需要對每一幀的圖像進行基本的圖像處理。
先將彩色圖像轉為灰度圖像,采用全局自適應閾值再變換成二值圖像,去除掉部分的噪聲。接著使用5*5 的像素運算,對圖像先腐蝕后膨脹,在不明顯的改變其面積的前提下,消除多余的小物體、分離只有纖細點相連物體以及平滑較大物體的邊界。計算初步處理后圖像的最大輪廓,得到最大輪廓的最小外接矩陣。若求得的矩陣面積小于50*50,將其視為噪聲,不進行處理,反之能求出包含運動中包含手部的矩形框。為了便于后續(xù)處理,統(tǒng)一將圖像調(diào)整為64*64大小。圖3為部分存儲的分割后的RGB圖像和深度圖像。

圖3 手部分割后的視頻幀
一幅圖像中計算出來的矩集,可以描述該圖像形狀的全局特征。矩陣值能體現(xiàn)大量的關于該圖像的幾何特征,比如位置、大小、形狀及方向等。在計算出的矩集中包含零階矩、一階矩、二階矩、三階矩……手勢圖像的p+q階普通矩、中心矩以及歸一化中心矩公式如下:
其中,f(x,y)是點(x,y)處的灰度值,M和N分別是代表圖像的寬度和高度(x0,y0)為手勢圖像的重心坐標。
Hu 利用二階和三階中心矩構造了七個Hu 不變矩,它們在連續(xù)圖像條件下可保持平移、旋轉和尺度不變性[15]。對于不同的實驗者,做出的手勢都會有不同的傾斜角度,以及在合理范圍內(nèi)與相機的距離不同。并且同時相較于SIFT 特征、SURF 特征等傳統(tǒng)特征,Hu 矩的計算速度快。故選取Hu 矩與接下來卷積網(wǎng)絡模塊提取的特征進行融合。實驗中計算發(fā)現(xiàn),由手部圖像計算得到的Hu 不變矩特征值通常很小,本文使用-lg(|xi|)對Hu 不變矩中的值進行處理。表1 為“five”張開手掌動態(tài)手勢中的一幀圖像的7階Hu矩特征。

表1 手勢張開的HU矩特征

表2 9種手勢語義
本文的CNN 提取特征網(wǎng)絡包含4 個卷積模塊和3 個全連接層。卷積模塊內(nèi)有卷積層、池化層、激勵層和歸一化層。卷積層使用3*3 卷積核進行特征提取,池化層把數(shù)據(jù)降維,可以有效地避免過擬合。圖4(a)為手勢“OK”的RGB 圖像,經(jīng)過第一個卷積模塊后產(chǎn)生的特征圖的可視化結果;圖4(b)為手勢“OK”的RGB圖像,經(jīng)過最后一個卷積模塊后產(chǎn)生特征圖的可視化結果。可以發(fā)現(xiàn)越是開始的模塊提取的特征圖,捕捉的底層次像素信息越多,特征圖中手的輪廓也越清晰。越到高的模塊,網(wǎng)絡提取的特征圖越抽象。

圖4 部分特征圖可視化
CNN 一般用于處理圖像信息,大多數(shù)情況下,LSTM 用于處理與時間序列相關的數(shù)據(jù)。 Jeff Donahue 等[16]在2015 年提出了一種結合傳統(tǒng)CNN 網(wǎng)絡和LSTM 的新網(wǎng)絡結構LRCN,該網(wǎng)絡既可以處理帶有時序信息的視頻流也可以處理單幀圖片,網(wǎng)絡也具備輸出預測的能力。這使得LRCN 成為處理包含圖像的序列輸出輸入信息的首選網(wǎng)絡結構。
Jeff Donahue在文章中通過實驗提出,相較與光流輸入,如果視頻流中包含著目標,并且目標是識別的關鍵,那么使用RGB 輸入網(wǎng)絡的效果更好。圖5是本文基于LRCN 搭建的動態(tài)手勢識別網(wǎng)絡模塊。卷積網(wǎng)絡模塊對視頻幀進行特征提取,此時輸出的特征是離散的,即每一幀是每一幀的特征。輸出的離散的單幀特征被LSTM按照時間序列重新聯(lián)系在一起,最終輸出完整的動態(tài)手勢識別結果。

圖5 動態(tài)手勢識別網(wǎng)絡模塊
每一幀圖像在本文設計的網(wǎng)絡中,經(jīng)過幾次卷積后得到特征信息。感受野越大,網(wǎng)絡提取出的特征越就抽象,是一種高層特征。同時計算此幀圖像的Hu 不變矩,將兩種特征在分別標準化后進行組合,形成71維的向量。
本系統(tǒng)將包含手部的RGB 圖像以及對應的深度圖像壓縮成序列保存。本文訓練的數(shù)據(jù)庫的錄制工作有5 位錄制者參與,每位錄制者對本文定義的九類動態(tài)手勢錄制20 次,則總共得到5(參與錄制人數(shù))*9(手勢總數(shù))*20(錄制次數(shù)/每人)=900份動態(tài)手勢數(shù)據(jù)。
本文在設計的網(wǎng)絡結構基礎上,設置了4 種實驗方案。將數(shù)據(jù)集的70%作為訓練集,30%作為測試集。每50 個batch 全測試集檢測,用于準確度曲線。圖6(a)為輸入三通道RGB 圖像未融合Hu 特征和融合Hu 征訓練時在測試集上的準確率,圖6(b)為輸入四通道RGBD 圖像未融合Hu 特征和融合Hu特征訓練時在測試集上的準確率。

圖6 訓練模型在測試集上的準確度
由此可見,當輸入為RGB 圖像時,融合Hu 矩特征使得測試集上準確率升高,對于網(wǎng)絡模型的訓練有較大提升;當輸入為RGBD 圖像時,多了深度這一通道信息,網(wǎng)絡的訓練也有較大提升,但此時融合Hu 矩特征對網(wǎng)絡模型的訓練沒有明顯的加強。
本文基于影創(chuàng)AR眼鏡設計并實現(xiàn)了增強現(xiàn)實電子沙盤手勢交互系統(tǒng),驗證文中動態(tài)手勢識別方法應用效果。在該系統(tǒng)中,指揮員通過穿戴AR 智能眼鏡,查看電子沙盤,通過動態(tài)手勢對電子沙盤中的對象進行操作,達到自然交互的目的。本系統(tǒng)包括以下的9種手勢語義。
以戰(zhàn)斗機模型的移動操作任務為例。指揮員通過手勢“1”操作,將編號為1 的戰(zhàn)斗機模型選中為操作對象,如圖7(a)所示。通過向外揮手的手勢操作,操控戰(zhàn)斗機模型向右移動,交互效果如圖7(b)所示。

圖7 移動戰(zhàn)斗機模型效果圖
表3 為多種方案下的實驗結果。由實驗數(shù)據(jù)表明,實時識別以及不同光線下,動態(tài)手勢識別的準確度均有下降。

表3 多種方案的的實驗結果
方案1 和方案2 的實驗結果顯示,當輸入多一個深度通道或者融合Hu 矩特征時,準確度都有較大提升,并且加入深度信息會減少光照對實時識別動態(tài)手勢的影響;方案3 的實驗結果顯示,當輸入多一個深度通道的同時融合Hu 矩特征,在動態(tài)手勢實時識別時準確度最高并且具有一定的魯棒性。
本文通過CNN 模塊來提取高層特征同時融合Hu不變矩,再使用LSTM模塊對每一幀的輸出進行時序建模,從而識別動態(tài)手勢。嘗試了RGB 特征和深度圖像特征以及Hu 不變矩特征的融合,在增強現(xiàn)實電子沙盤在進行了驗證。實驗表明這三種特征之間相互融合會提高動態(tài)手勢識別的準確度,后續(xù)工作將會針對實時識別中導致準確度下降的原因進行研究。