彭平,羅遠峰
(1.廣州工商學院計算機科學與工程系,廣州 510665;2.廣東技術師范學院計算機科學學院,廣州 510665)
基于SURF-BoW特征的手語識別研究
彭平1,羅遠峰2
(1.廣州工商學院計算機科學與工程系,廣州 510665;2.廣東技術師范學院計算機科學學院,廣州 510665)
在手語識別的研究中,提出一種基于SURF-BoW特征的手語識別方法。該方法通過攝像頭采集圖像,首先對手勢進行定位與跟蹤,然后提取SURF特征,進而構建SURF-BoW作為手語特征并用SVM進行識別。實驗結果表明,該方法對單個字母最好識別率為99.43%,平均識別率為94.38%。
SURF;手語識別;SVM;CamShift
近年來,人工智能、深度學習、虛擬現實(VR)和增強現實(AR)等技術飛速發展,逐步改變著我們的日常生活。在人機交互方式上,如何更自然、更便捷、更智能、更直觀的人機交互方式已成為當前計算機領域的研究熱點。另外,對于聾啞人這部分特殊群體,由于不能用口語進行表達,只能依靠手勢、肢體動作和眼神等方式來溝通交流,而大部分人并不懂手語,由此阻礙了聾啞人與他人的交流、學習、交流和生活。由此,手語識別也迎來了發展的契機,手語識別系統的研究不僅能夠創建一種自然、和諧的人機交互方式,推動計算機視覺領域的發展,而且能夠切實幫助聾啞人改善學習、生活和工作環境,是一個具有重大意義的研究課題。
手語識別研究主要分為基于佩戴式設備的手語識別和基于計算機視覺的手語識別。由于基于佩戴式設備的識方法所采用的跟蹤器或數據手套價格較高,且穿戴復雜,所以很難推廣到實際的應用中。而基于計算機視覺的識別方法只需通過攝像頭采集圖像,再利用算法對圖像進行分析識別,所需設備成本很低且適于普及應用。在手語識別過程中,由于手形變化多樣、形態復雜,加上容易受光照等因素的影響,進一步加大了手勢跟蹤、分割、特征提取和識別的難度,這也是目前需要解決的技術難題。
本文采用普通攝像頭作為手語圖像的采集設備,提出一種基于人體結構的雙手定位方法,實現雙手定位,進而進行跟蹤,再利用SURF進行手勢圖像的特征提取,然后利用K-Means聚類算法構建視覺詞匯表,再構造BoW(Bag of Words)統計手勢圖片各個類別出現的頻率,最后使用SVM進行分類。
手語需要左手、右手、面部表情和肢體動作等相互配合,才能表達打手語者需要表達的意思。對于單手的檢測與定位,前人已做了很多研究,且有很多較好的成果[1-2],但對于雙手的檢測與定位,這方面的研究較少。很多只能在雙手粘合的情況下實現檢測與定位,但對雙手分開且距離較遠時,依然只能檢測出一只手,沒有真正實現雙手的識別。
本文對雙手的檢測與定位進行研究,提出一種基于人體結構的雙手定位方法:該方法在初始化時,首先通過人臉檢測,如果圖像中出現人臉,則認為實驗場景中出現打手語者,然后以人臉膚色的最低像素點將圖像劃分為四個區域(見圖1)。由此,認為區域A和區域B出現的所有膚色都不是打手語者的手。然后再利用面積法過濾掉較小的膚色塊,最后認為區域C中最大的膚色塊即是打手語者的右手,區域D中最大的膚色塊即是打手語者的左手,從而實現雙手的檢測與定位。

圖1 雙手檢測與定位區域劃分
本文實現了這一方法,經過多次測試,這一方法能夠很好的將區域A和區域B中的干擾去除,通過縮小手勢檢測的區域來提高算法的執行效率。另外,對復雜動態背景干擾下的手勢識別有著很好的穩定性,只要區域C中和區域D中不存在比手的膚色塊大的背景,就能夠準確的定位出雙手位置,然后進行跟蹤,算法的實現流程如下:
(1)輸入圖像image,對其進行預處理。
(2)建立YCgCr和YCgCb顏色空間[3]并進行擬合,找出膚色像素并進行二值化操作,輸出膚色檢測結果圖像Bimage。
(3)在圖像中利用OpenCV自帶的人臉檢測器搜索人臉[4],根據人臉將圖像分成A、B、C、D四個區域。
(4)在區域C中檢測輪廓集NC,在區域D中檢測輪廓集ND,用面積法刪除過小的膚色塊。
(5)在區域C中找出最大的輪廓認為是右手,在區域D中找出最大的輪廓認為是左手。
在復雜背景中提取手勢,包括運動手勢區域檢測跟蹤和手勢的特征提取兩個方面。
2.1 CamShift跟蹤
在利用CamShift算法進行手勢跟蹤的過程中,由于CamShift算法是只利用顏色統計來做分析并進行跟蹤,如果背景有與跟蹤目標的顏色相似的物體時,則可能讓CamShift算法的跟蹤窗口中包含與目標無關的物體,從而導致目標跟蹤錯誤。在對手的跟蹤過程中,如果出現另外一手對其進行干擾,則錯誤出現的機率很高。如圖2(A)中所示,在跟蹤右手的時候,使用左手進行干擾時,由于右手的顏色與左手顏色基本相同,CamShift算法將干擾的右手誤判為目標手勢而進行了跟蹤;
另外,當手移動較快時,CamShift算法的窗口寬度會越來越小,最后會出現目標丟失的情況,如圖2(B)中所示,在實驗對字母T進行跟蹤時,由于手移動過快,CamShift算法出現跟蹤目標丟失的情況[5-6]。

圖2 CamShift算法誤跟蹤標和丟失目標實驗
對此,本文在CamShift算法的基礎上,提出一種基于膚色模型和CamShift的手勢跟蹤方法。主要是利用輪廓的質心與CamShift計算出新跟蹤窗口的質心來確定跟蹤目標,在跟蹤過程中不斷修正跟蹤窗口,避免跟蹤丟失。算法的原理是:(1)利用YCgCr與YCgCb顏色空間分割出膚色并進行二值化操作,以減少非膚色區域對跟蹤的干擾;(2)找出圖像中所有的膚色輪廓,利用面積法刪除過小的非手勢輪廓,以減少運算量;(3)計算出滿足條件的輪廓質心,找出CamShift跟蹤窗口質心與輪廓質心距離最短的輪廓,認為該輪廓就是要繼續跟蹤的目標;(4)用該輪廓的矩形包圍框大小修正CamShift跟蹤窗口,計算下一幀。當新跟蹤窗口突然增大一倍時,認為有干擾物體,跟蹤窗口保持不變。
圖3是本文實現的算法實驗效果,圖中橢圓區域為定位的人臉區域,紅色矩形框為跟蹤的左手,紅色小圓圈為左手CamShift的質心,藍色矩形框為跟蹤的右手,紅色小圓圈為右手CamShift的質心??梢?,利用YCgCr與YCgCb顏色空間分割出手勢后再利用輪廓質心與CamShift算法的跟蹤窗口質心的最短距離來選擇跟蹤目標,能夠有效減少非手勢的干擾,提高跟蹤準確率。但是經過多次測試發現,由于是基于膚色的分割模型,當左右手重疊在一起時,兩個CamShift跟蹤同一目標,導致雙手分離后,只能跟蹤其中一只手。對此,在左右手完全重合時,表明圖像中只找到一只手,兩個CamShift跟蹤窗口在跟蹤同一目標。當其分開后,可以重新執行前文中的雙手定位算法,以修正對雙手的跟蹤,增強系統的魯棒性。

圖3 本文的跟蹤方法實驗
2.2 SURF-BoW特征表示
SURF(Speeded Up Robust Features)是對SIFT算法的一種改進,它繼承了SIFT的尺度不變性的優點,同時具有重復性、特異性和魯棒性,SURF與其他算法相比,計算和匹配速度更快,能夠滿足實時性的需求[7-8]。
圖4為SIFT與SURT的特征提取實驗。(a)(c)是同一幅圖像,利用SIFT提取到382個特征點,而SURF提取到851個特征點;(c)(d)是字母Z經過圖像分割后的圖像,利用SIFT提取到的特征點為50個,而SURF提取到71個特征點。可見SURF能夠提取到更多的特征,利于BoW模型的建立。

圖4 SIFT與SURF特征點對比
BoW最早出現在文本分類中,它的基本思想是:對于任意一個文本,忽略其詞序、語法和句法等要素的影響,只把它看作是由一些詞匯組成的集合體。因此,在一個文本中任意位置出現的任意單詞,都不會改變文檔的語意,文本中所有的單詞都是孤立存在的[9]。
將Bag of Words模型應用在手語圖像識別中,即可以將圖像看作是由很多不同的手語視覺詞匯組成的文檔,且不同視覺詞匯之間互不影響,任意組合。但是手語圖像中的手語視覺詞匯不是直觀顯示的,需要對圖像進行特征提取,將手語視覺詞匯從圖像中抽取出來,再建立手語圖像構造BoW。該過程主要有以下幾個步驟:
(1)提取特征:通過圖像預理、手勢檢測定位,應用SURF算法提取手勢的興趣點;
(2)特征表示:采用SURF來表示圖像內容;
(3)視覺單詞生成:將SURF表示的圖像劃分若干個小區域,將各個小區域的圖像量化成手語視覺單詞;
(4)BoW生成:首先統計一幅手語圖像中的各個視覺單詞出現的頻率,然后生成視覺單詞的頻率直方圖,再用BoW模型來表示該手語圖像,最后利用SVM進行分類識別。

圖5 構造BoW模型的流程示意圖
實驗運行環境:CPU為Intel i5-4460,主頻3.2GHz;內存為DDR3 1333MHz,8G;顯卡為Nvidia GeForce GT740,顯存1G;攝像頭為羅技C170 USB攝像頭。軟件開發環境為:操作系統是Windows7 64bit;集成開發環境為Visual Studio 2010,應用程序框架MFC,編程語言為C++;計算機視覺庫版本OpenCV 2.4.10。
手指語圖像采集過程中,采取同一人打同一手勢多次,不同人打同一手勢多次的策略,在不同背景和光照環境下進行采集,分別對30個手指語進行采集,每種手指語圖片采集100張,共30×100張,以保證手語訓練特征提取更完整。將采集的手語圖片按照手勢的名字存儲,以備對手語進行訓練。如圖6是手語手采集的過程,其中a為手勢定位與跟蹤,b為膚色分割結果,c為手勢區域選取,d為手勢分割結果。

圖6 手語手采集過程
實驗通過攝像頭實時提取圖像,分割出手勢區域,再利用SURF提取手語手勢特征,建立BoW模型,最后采用徑向基核函數(Radical Basis Function,RBF)SVM模式識別方法實現對中國手指語的識別[10],主要包含以下步驟:
測試過程中采用實時檢測的方式,對30個字母分別進行50次測試,相當于1500張測試圖片,其中不同手勢交替進行識別,同時進行多輪測試,以驗證系統的手勢跟蹤的準確率,最后統計手語識別的正確率?;赟URF-BoW特征和SVM分類器識別結果如表1所示,平均識別率為94.38%。

表1 基于單目視覺的手語識別系統識別結果統計表
在相同的實驗條件下,相同手勢在不同的特征下識別結果如表1所示,其中誤判率為SVM對相似字母的誤識別率。在相同手語庫上的實驗表明,SURF_BoW的方法在各項指標中均優于其他特征描述方法,是一種非常有效的手語特征。
本文提出了一種基于SURF-BoW特征的手語識別方法,對30個中國手指語在不同的環境下進行了識別實驗,可獲得較高的識別率,這說明本文提出的方法是有效的,為手語識別方法的研究提供參考與借鑒。

圖7 手語識別步驟

表2 不同特征的手語識別方法比較
[1]楊志紅,肖忠毅.基于視覺的多特征手勢識別[J].電子技術與軟件工程,2015(9):85-85.
[2]孫麗娟,張立材,郭彩龍.基于視覺的手勢識別技術[J].計算機技術與發展,2008,18(10):214-216.
[3]張爭珍,石詳躍.YCgCr與YCgCb顏色空間的膚色檢測[J].計算機工程與應用,2010,46(34):167-170.
[4]ROBERT L.OpenCV計算機視覺編程攻略[M].第5版.相銀.北京:人民郵電出版社,2015.
[5]楊全.基于表觀建模的中國手語識別技術研究[D].西北大學,2013.
[6]鄒鐵軍,張書偉,蔣杰,等.基于OpenCV的運動目標定位跟蹤系統軟件設計[J].智能計算機與應用,2012,02(3):60-63.
[7]Bay H,Tuytelaars T,Gool L V.SURF:Speeded Up Robust Features[J].Computer Vision&Image Understanding,2006,110(3):404-417.
[8]Yang Q,Peng J Y.Chinese Sign Language Recognition Method Based on Depth Image Information and SURF-BoW[J].Pattern Recognition&Artificial Intelligence,2014,27(8):741-749.
[9]王瑩.基于BoW模型的圖像分類方法研究[D].哈爾濱工程大學,2012.
[10]高幸.基于SVM的圖像分類與標注方法的研究[D].北京交通大學,2015.
Research on Sign Language Recognition Base on SURF-BoW Features
PENG Ping1,LUO Yuan-feng2
(1.Guangzhou College of Technology and Business,Guangzhou 510665;2.Guangdong Polytechnic Normal University,Guangzhou 510665)
In the sign language recognition research,presents a sign language recognition method based on SURF-BoW.It uses ordinary camera as the video capture device.First,tracks gesture detection and.Second,Extracts the SIFT features.Finally,builds SURF-BoW as the feature of sign language and uses SVM for recognition.The experimental results show that the best recognition rate of single manual alphabet can reach 99.43%,while the average recognition rate is 94.38%.
SURF;Sign Language Recognition;SVM;CamShift
1007-1423(2016)33-0037-05
10.3969/j.issn.1007-1423.2016.33.008
彭平(1956-),男,重慶人,碩士,教授,研究生導師,研究方向為系統仿真、軟件工程、智能計算
2016-10-08
2016-11-12
羅遠峰(1987-),男,在讀碩士研究生,研究方向為計算機視覺和BIM應用技術