梅 準,劉世超,曹巨江,張 佳
(1.陜西科技大學機電工程學院,陜西 西安 710021;2.中航西安飛機工業集團股份有限公司,陜西 西安 710089;3.西安交通大學城市學院,陜西 西安 710018)
隨著我國及世界主要國家人口老齡化程度的逐步加深,老年人的日常生活陪伴與護理這一社會問題已經得到越來越多的關注。特別是對于半失能、語言或聽力受損的老年人,如何完成與護工或助老機器人間的交互,成為了影響這類機器人實現方式與使用效能的重要因素,視覺技術、人工智能等相關技術的發展為這一問題的解決提供了途徑。
手勢識別是通過人手部的姿態或動作識別來傳輸特征信息以控制設備或機器人作為一種輸入方式,實現人與機器之間的交互。目前,手勢識別在手語識別[1]、虛擬現實、機器人控制[2]、交通指揮[3]、醫療輔助等領域有較多的研究。隨著計算機視覺和人工智能的不斷發展,因基于視覺的手勢識別具有非接觸、成本低、簡單直觀且自然便捷的特點,成為了機器交互領域的重要解決方式。
基于視覺的手勢識別主要通過Kinect、立體相機、RGB-D 等深度攝像機作為采集設備對手部圖像進行采集和處理,實現手勢的識別。由于手勢的多樣性和現實環境背景的復雜性,采集到的手部圖像容易受光照強度、膚色、服裝、噪聲、遮擋以及背景復雜環境的影響。因此手部圖像的分割以及邊緣、紋理等特征的提取是手勢識別的難點[4],同時提取過程中也會難以避免的產生錯誤識別和無法識別,導致識別的成功率降低,魯棒性較差。近年來,各國學者在該領域展開了研究,并取得了顯著的進展。為了能在訓練集較少的情況下實現較好的識別率,文獻[5]采用了分類的方法,提出使用基于離散小波變換和費舍爾比率的特征提取對復雜環境的靜態手勢進行識別。在機器人動態物料搬運中,學者研究了基于OpenCV 進行物料輪廓提取與曲線擬合實現典型零件特征識別的方法[6]。為了得到可信度更高的手勢識別特征點,學者提出了基于特征跟蹤的人機交互多點手勢識別方法[7]。在文獻[8]中,為了實時迅速的自動識別出籃球比賽視頻中裁判員的手勢,作者提出了一種基于定向梯度直方圖和局部二值式(LBP)特征的圖像分割方法,但該方法采用的邊緣檢測算法提取的邊緣信息較少,影響了識別的成功率。在文獻[9]中,作者提出了一種低成本可用于穿戴設備的手勢識別方法,該方法通過TOF 深度相機捕捉手掌區域,并進行邊緣切割計算,同時可以減少計算時間,但該方法采用的相機成本高,同時識別成功率偏低。
為了將手勢姿態識別應用于助老服務機器人的交互場景中,提出了一種基于SURF 特征點匹配算法和YCbCr 膚色模型相結合的方法對復雜背景中的手勢圖像進行識別與分割。首先通過SURF 特征點匹配算法對復雜背景中的手進行一次粗識別?;赟URF特征點的匹配可以解決特征提取數據量過大的問題,同時提高了識別的效率。此外,SURF 特征還具有尺度、方向不變性,光照條件下保持穩定的優點。膚色模型可以實現手部區域的分割,提高了識別的準確性。最后對提出的方法進行了實驗的驗證,證實了算法的可行性。
提出的靜態手勢識別過程如圖1 所示。主要包括:圖像預處理、特征提取與分割、形態學處理等步驟。其中特征提取與分割是手勢識別的核心。

圖1 靜態手勢識別過程
由于手勢圖像在形成或運輸的過程中會受到復雜環境的干擾產生噪聲[10],這些噪聲會導致圖像模糊、圖像失真和圖像特征缺失。為了不影響后續手勢識別和手部分割等工作的進行,本文采用中值濾波對手勢圖像進行圖像平滑處理,去處圖像中的椒鹽噪聲。中值濾波可定義為:
式中:g(s,t)為原始圖像;f(x,y)為濾波后圖像;Sxy為濾波器模板。
如圖2 所示為手部圖像降噪后的結果。

圖2 手部圖像降噪結果
SURF 算法采用了SIFT 算法的思想[11],在特征提取和描述方式上進行了改進,提高了算法的效率和穩定。該算法核心在于采用Hessian 檢測圖像尺度不變關鍵點,生成穩定的邊緣點,提高了算法的魯棒性。SURF 算法的步驟如下:①檢測關鍵點;②構建圖像尺度空間;③選取特征主方向;④特征點描述;⑤特征點匹配。
(1)檢測關鍵點
設圖像為I(x,y),(x,y)是尺度為σ的圖像中的像素點,其Hessian 矩陣為:
其中Lxx為高斯濾波函數卷積后的二階微分,同理其余三項含義相似??梢缘玫矫總€像素點Hessian 的判別式為:
其中ω為平均近似代替誤差的權值,滿足一定閾值條件Det(H)的像素點,即為檢測的關鍵點。
(2)構建圖像尺度空間
通過構建圖像尺度空間,獲得尺度不變的特征點,SURF 算法主要通過改變濾波器的大小對圖像進行高斯模糊,不改變圖像的尺寸大小,得到多層的尺度空間圖像。最后,使用相同尺寸的濾波器檢測特征點。
(3)選取特征主方向
首先利用閾值進行特征點的篩選,獲取特征點的位置,其次統計6s(s 為尺度因子)鄰域內像素水平和垂直方向的Harr 小波特征。最后,使用60°的扇形進行旋轉,然后統計區域內Harr 小波特征值,將小波特征值大的方向作為特征點主方向。
(4)特征點描述
在得到的特征點主方向后,將周圍20s × 20s 的矩形區域劃分為16 個子區域。分別計算每個子區域內像素點在水平方向和豎直方向的Harr 小波特征值之和Σdx和Σdy,然后再分別計算水平方向和豎直方向的特征絕對值之和最后把4個值作為每個子區域的特征向量,一共得到64 維特征向量。
(5)檢測關鍵點
通過計算圖像對之間兩個特征點的歐式距離,在參考圖與待匹配圖中找到與它距離最近的兩個特征點,通過設定的閾值進行判斷,若兩個點都小于閾值,那么兩個點可以進行特征點匹配,反之則需要剔除。
如圖3 所示為手勢特征點匹配的結果,圖4 所示為手勢識別的粗識別。

圖3 SURF 特征點匹配結果

圖4 手勢識別的粗識別結果1.3 YCbCr 膚色模型分割
在完成了手勢的粗識別后,為了提高手勢識別的準確性,需要把手部區域從圖像背景中分割出來,減少復雜環境的干擾。膚色在手勢識別中具有明顯的特征,YCbCr 顏色模型是色度和亮度分割的空間[12],符合人類視覺感知,對膚色的聚類效果較好,不易受光照等其他因素干擾。因此采用了基于YCbCr 的皮膚顏色模型進行手部的分割。
在YCbCr 顏色空間中,Y 表示亮度,Cb 代表藍色色度,Cr 代表紅色色度,將手部圖像由RGB 色彩空間轉換到YCbCr 色彩空間的關系如下:
確定空間轉換的橢圓膚色模型,在CbCr 平面上手部膚色可以近似集中在一個橢圓內,其函數模型公式如下:
經統計實驗發現,可以確定的參數值為:Cx=109.38,Cy= 152.02,a= 25.39,b= 14.03,θ= 2.53。對于任意的坐標,若在橢圓內或邊緣處,則被認為是手部膚色像素點,反之將其去除。若某個像素點的Y、Cb 和Cr,不在設定的閾值范圍,則不屬于膚色像素點,屬于背景點。圖5 是YCbCr 膚色模型分割的手部結果。

圖5 YCbCr 膚色模型分割結果
手部膚色模型分割后可以分離出大致的手部輪廓信息,但背景環境中存在較多的干擾因素,邊緣部分存在不平滑和孔洞等現象。因此需要對分割后的手部圖像進行處理。本文采用組合形態學算法對手部圖像進行膨脹處理、孔洞填充和連通域處理,使手勢識別達到較好的效果。具體步驟如下:
首先進行膨脹處理,將邊界向外部擴張,填充手部圖像中的小孔及其缺失凹陷部分,確保手部邊界的平滑。膨脹處理的公式為:
其中A⊕B表示結構元素B對圖像A的膨脹。
孔洞填充將手部圖像中封閉區域的孔洞進行填充,保證手部區域圖像的完整性??锥刺畛涞墓綖椋?/p>
其中Xk為待填充區域分割的區域塊;X0為由0 組成的陣列,也是邊界的初始位置;B為已知對稱的結構元;Ac為即A的補集。
連通域處理可以將除手部圖像以外的區域進行過濾,只將連通域面積大的手部保留下來。
如圖6 所示為最終的手勢識別結果。

圖6 手勢的最終識別圖
為了驗證提出方法的可行性,在復雜背景下對5種不同的手勢動作進行了識別。每種特定的手勢動作重復了30 次,從不同的角度和合適的距離對手勢動作圖像進行采集。如圖7(a)所示為5 種不同的手勢動作,圖7(b)為最終的識別結果。

圖7 5 種手勢動作和5 種手勢的識別
5 種不同手勢分別進行了30 次的實驗結果見表1。從表中可以看到,“寫字”手勢的識別成功率為83%,因為兩只手會增加識別的誤差,需要將兩只手都識別出來才算識別成功?!巴埔巫印笔謩莸淖R別成功率最高,為96.7%,椅子背景較其他手勢復雜背景而言相對單一,因此識別成功率較高。此外,光照條件和目標物表面的反光也會影響手勢識別的成功率。

表1 5 種不同手勢的識別結果
本文提出一種基于SURF 和YCbCr 結合的靜態手勢識別方法。中值濾波算法用來去除手部背景的噪聲干擾;基于SURF 特征點匹配算法對手部圖像進行粗識別,用于在復雜背景中找到手部特征信息,減少了算法處理占用的內存空間,提高了識別的準確率。基于YCbCr 膚色模型的手勢分割算法,可以將手部特征分割出來,實現了手勢的精確識別。然后通過組合的形態學算法對分割出來的手部圖像和干擾背景進行細化處理,將復雜背景中的干擾物去除,只保留手部的重要信息。最后對5 種不同的手勢進行了實驗驗證,其中“推椅子”手勢識別結果的成功率最高為96.7%,實驗結果表明所提出的方法具有很好的準確性和魯棒性。