馮清娟+何志寬



摘 要: 為了提高視頻圖像中手指特征識別的精度和速度,提出一種基于矩形模板的動態閾值算法。該算法采用矩形模板平滑圖像,用灰度閾值法提取目標邊緣,實現對手指特征的準確識別。Matlab仿真結果表明,該算法受環境噪聲影響較小,能清晰準確地分割出手指邊緣。在FPGA平臺上設計了一套基于計算機視覺的手指特征識別系統,并對該系統的實時性、手指識別精度等性能進行了測試。測試結果表明,該系統的運行速度與攝像頭攝取圖像的速度基本同步,可滿足系統對實時性要求。系統對手指位置識別的坐標偏差約為3個像素,基本滿足系統對識別精度的要求。
關鍵詞: 計算機視覺; 手指特征識別; 動態閾值算法; 矩形模版
中圖分類號: TN911?34; TP37 文獻標識碼: A 文章編號: 1004?373X(2017)12?0113?04
Abstract: In order to improve the accuracy and speed of the finger feature recognition in video image, a dynamic threshold algorithm based on rectangle template is proposed. The rectangle template is used in the algorithm to smooth the image, and the gray threshold method is used to extract the edge of the target to recognize the finger feature accurately. The Matlab simulation results show that the algorithm is lightly influenced by environmental noise, and can segment the edge of the finger clearly and accurately. A finger feature recognition system based on computer vision was designed on FPGA platform. Its real?time performance, finger recognition accuracy and other performances were tested. The test results show that the running speed of the system is synchronous with the speed of capturing the image by camera, which can meet the real?time requirement of the system. The coordinates deviation of the finger position recognized by the system is about 3 pixels, which can basically meets the accuracy requirement of the system.
Keywords: computer vision; finger feature recognition; dynamic threshold algorithm; rectangle template
隨著科學技術的飛速發展,人與計算機之間的交互活動越來越密切,并逐漸成為人們日常生活的重要組成部分。傳統觸摸屏是現階段一種最常見,也是最重要的人機交互方式,其是通過一種附加在顯示器表面的透明介質,依賴使用者的手指觸摸該介質來實現對計算機的輸入控制[1?2]。目前,這種觸摸屏技術已經相當成熟,但是,技術上不容易做到大尺寸,且成本相對較高,也易于破損。為了突破傳統觸摸屏這種人機交互方式的局限,把任何成像平面變成可用手指進行交互的系統,本文提出了一種基于計算機視覺的手指特征識別算法,并在FPGA平臺上建立了一套基于計算機視覺的手指特征識別硬件系統。這種基于計算機視覺的手指特征識別方法可為基于視覺的人機互動提供一種新的技術解決途徑。其與傳統觸摸屏的區別在于,不需要在成像屏幕上安裝任何特殊介質,使用壽命得到大幅延長,應用范圍有了很大擴展。
1 圖像采集平臺
本文所采用的圖像采集平臺如圖1所示,在任何與計算機連接的顯示設備(如投影屏幕、等離子電視等)的左上角、右上角安裝兩個攝像頭,通過這兩個攝像頭便可確定手指在屏幕上的二維坐標信息(x1,x2)。然后,將此坐標點傳至計算機,并與Windows系統的鼠標程序關聯即可實現人機交互功能。圖2是圖像采集平臺的側視圖。其中虛線框表示攝像頭視野中系統需要處理的區域,即手指出現的區域。
2 手指特征識別算法及仿真
在系統實現過程中,如何從攝像頭所拍攝的畫面中準確地識別并提取出手指信息是其難點之一。在目前的圖像處理技術中,用于識別背景圖案中目標物體的算法很多,本文在分析基于色彩聚類的膚色識別算法的基礎上,結合課題特殊需求,提出一種基于矩形模板的動態閾值算法,并在Matlab中對上述算法的處理效果進行了仿真。
從圖像采集平臺可以看出,本系統只關心距屏幕很近的小視野內是否出現區別于背景的目標物體。因此,只需從攝像頭拍攝的圖像當中截取一部分,如圖3中的小矩形框所示。
2.1 基于色彩聚類的膚色識別算法
膚色是人體區別于其他物體的一個重要特征,人體膚色特征不受位置、角度、大小等因素影響,具有較強的穩定性。因此,本文首先選定基于色彩聚類的膚色提取識別算法進行研究。在色彩聚類方法中,Anil K.Jain的Cb,Cr橢圓聚類方法最為典型[3?4]。采用非線性分段膚色分割得到的膚色區域在Cb,Cr空間中近似于橢圓,如下:
由圖5可知,利用該算法分割手指信息的效果尚可,能從比較友好的環境中迅速準確地識別出手指信息。圖6為利用橢圓聚類膚色分割算法對從圖像采集平臺讀取圖像的手指識別效果。可見,該算法在普通環境下對手指的識別效果良好。但當屏幕上的顏色影響手指膚色時,該算法的識別能力就會有所降低。可見,該算法對皮膚顏色的純度要求較高,適用范圍受限。圖7為屏幕出現大面積藍色時對手指識別造成的影響效果。
2.2 基于正方形模板的動態閾值算法
基于正方形模板的動態閾值算法,即采用灰度閾值法,用正方形模板平滑圖像[5?6]。圖8(a)是3×3模板動態閾值算法平滑圖像的過程。
應用基于3×3模板的動態閾值算法對原圖4進行邊緣提取的仿真效果如圖9(a)所示。可見,應用3×3模板可以提取出目標物體的邊緣,但不夠清晰。雖然可以通過增大模板取得比較理想的效果(圖9(b)為采用基于101×101模板的動態閾值算法的處理效果),但會使計算量劇增,同時也縮小了模板所能完全覆蓋的范圍,使圖像邊緣產生無效的白色區域。
2.3 基于矩形模板的動態閾值算法
根據課題實際需要,即所要處理的目標區域為長方形窄條區域(如圖3所示),本文提出一種基于矩形模板的動態閾值算法。該算法與基于正方形模板算法的區別在于,平滑圖像時所用的模板為窄條形,如3×5模板,3×15模板,3×41模板等。圖8(b)是3×9模板動態閾值算法平滑圖像的過程。
圖10給出了采用基于3×9模板、3×14模板、3×81模板、3×101模板動態閾值算法對原圖4進行手部邊緣提取的仿真效果。由仿真效果可知,基于矩形模板的動態閾值算法在模板取值為3×9的情況下,便能夠清晰提取出目標物體的邊緣。而且,隨著模板取值的增加,目標物體邊緣的提取效果更加清晰準確。與基于正方形模板的動態閾值算法相比,基于矩形模板的動態閾值算法計算量較小,節約了系統的計算資源。
3 基于FPGA的手指特征識別算法的系統測試
為了驗證本文所提出的基于矩形模板的動態閾值算法能否滿足屏幕交互系統的整體要求,本文通過編寫軟件程序在FPGA開發板上對這種算法進行了硬件實現和系統測試。
3.1 硬件實現
本文所采用的硬件實現系統主要是基于美國Altera公司生產的型號為EFA?CY1C12的“紅色颶風”(Red Cyclone)系列FPGA開發板,并另外集成了用Ommvison公司的型號為OV9655的CMOS數字攝像頭,以及ISSI公司的型號為IS61LV25616AL的SRAM存儲器[7?10]。最終搭建的硬件系統如圖11所示。
3.2 系統測試
本文主要對系統的實時性、手指提取精度、資源占用情況等影響系統運行的重要技術指標進行了測試。
(1) 實時性
OV9655攝像頭在1 280×1 024分辨率下,能提供15 f/s的圖像采集速率,課題所設計的軟件程序可以在一幀圖像的處理時間內完成了數據的采集、手指邊緣的識別等運算,實現了系統執行速度與攝像頭拍攝速度的同步,達到了系統對實時性要求。
(2) 手指識別精度
由于課題在軟件設計過程中編入了圖像采集防抖動處理程序,提高了圖像采集的穩定性,也提高了手指識別的精度。經過測試,本系統得到的手指位置信息的坐標偏差為3個像素,基本滿足大屏幕交互系統對識別精度的需求。
(3) 資源占用情況
從Quartus Ⅱ的編譯報告中可以看出,本系統的軟件運行已占用FPGA的9 702個邏輯單元,占邏輯單元總數的80%。可見,該硬件系統的FPGA運算資源基本能滿足系統的實際需要。
4 結 語
本文通過對基于矩形模板的動態閾值算法的研究和基于FPGA的手指特征識別硬件系統的實現,建立了一套基于計算機視覺的手指特征識別系統。該算法受環境噪聲影響較小,能清晰準確地分割出手指邊緣,且隨著矩形模版取值的增大,算法的識別效果會更加良好。該系統的實時性、手指識別精度及資源占用情況均可滿足系統要求。這種基于計算機視覺的手指識別方法成本低、靈活性好,為基于視覺的人機交互提供了一種新的技術途徑。
參考文獻
[1] 呂明,呂延.觸摸屏的技術現狀、發展趨勢及市場前景[J].機床電器,2012,39(3):4?7.
[2] 陳康才,李春茂.電阻式觸摸屏兩點觸摸原理[J].科學技術與工程,2012,12(18):4525?4529.
[3] MAITRE H.現代數字圖像處理[M].北京:電子工業出版社,2006:79.
[4] 帕科爾,景麗.圖像處理與計算機視覺算法及應用[M].2版.北京:清華大學出版社,2014:104.
[5] GONZALEZ R C,WOODS R E,EDDINS S L.數字圖像處理的Matlab實現[M].2版.北京:清華大學出版社,2013:301.
[6] RUSS J C.數字圖像處理[M].6版.北京:清華大學出版社,2014:216.
[7] 于楓.Altera可編程邏輯器件應用技術[M].北京:科學出版社,2014:68.
[8] 姚智剛,付強.基于低成本CMOS攝像頭智能監控系統的設計[J].現代電子技術,2006,29(3):126?128.
[9] 方彥軍,王運濤.一種機器人視覺系統模塊的設計[J].微計算機信息,2005(14):93?94.
[10] 劉彬,謝偉,谷京朝,等.SRAM型FPGA系統的設計與實現[J].電子元器件應用,2007(7):43?46.