安康學院科研處 陳 強
基于ARM9的圖片動態(tài)手勢識別系統(tǒng)
安康學院科研處陳強
為了實現(xiàn)圖片的動態(tài)手勢操作,設計了圖片動態(tài)手勢識別系統(tǒng)。系統(tǒng)以ARM為硬件處理核心,以Linux為軟件操作系統(tǒng),使用數(shù)字圖像處理技術(shù)和嵌入式視覺技術(shù),實現(xiàn)圖片操作的動態(tài)手勢識別過程。由USB攝像頭撲捉幀圖像,經(jīng)Opencv技術(shù)處理識別后,發(fā)出相應命令操作顯示屏上的圖片,從而實現(xiàn)以非接觸式的方式放大、縮小、切換圖片等功能。經(jīng)測試驗證取得了良好的效果,所提出的設計理念為手語輸入、人機交互的設計提供了參考。
ARM;手勢識別;圖片操作;Linux
人機交互的輸入方式一般有鍵盤輸入、鼠標輸入、觸摸屏輸入、語音輸入、掃描輸入、視覺輸入[1,2]。而現(xiàn)在基本是鼠標、鍵盤和觸控的時代。這些方式都有一定的瑕疵——接觸。假如有這樣一種設備,它是一個小型的、能夠放在胸前的電腦,其攝像頭能捕捉到手部運動,從而轉(zhuǎn)換成對應的命令執(zhí)行。這不就可以讓人擺脫人機交互時,接觸的限制嗎?而其中關(guān)鍵技術(shù)是數(shù)字圖像處理技術(shù)和嵌入式視覺技術(shù)。在這個過程中,數(shù)字圖像處理技術(shù)的主要作用是將獲得的低質(zhì)量圖像用計算機處理成更適合人眼觀察或儀器檢測的圖像[3]。嵌入式視覺技術(shù)的主要作用是使用攝像機和計算機代替人眼對目標進行識別、跟蹤和測量[4]。本系統(tǒng)的意圖即是使用上述技術(shù)實現(xiàn)這一過程,通過動態(tài)的手勢,操作顯示屏上的圖片,實現(xiàn)以非接觸的方式放大、縮小、切換圖片等功能。
如圖1所示,動態(tài)手勢識別硬件系統(tǒng)主要由s3c6410處理器、USB攝像頭、USB 控制器、LCD控制器、存儲器控制器等組成[5]。
圖1 動態(tài)手勢識別硬件框圖
圖2 軟件架構(gòu)框圖
s3c6410處理器的部分硬件特性如下:采用ARM1176JZF-S核,包含16KB的指令數(shù)據(jù)Cache和16KB的指令數(shù)據(jù)TCM,ARM Core電壓為1.1V的時候,可以運行到553MHz,在1.2V的情況下,可以運行到667MHz;支持TFT 24Bit LCD屏,分辨率能支持到1024x1024;獨立的USB Host控制器,支持USB Host 1.1;支持SDRAM,DDR SDRAM,mobile SDRAM和mobile DDR SDRAM;具有圖像處理模塊;支持JPEG編解碼功能,最大尺寸為4096x4096;翻轉(zhuǎn)模塊支持對YUV420/422和RGB565/888的數(shù)據(jù)進行硬件翻轉(zhuǎn)。
系統(tǒng)軟件架構(gòu)主要由Linux操作系統(tǒng)、OpenCV、QT/E構(gòu)成。Linux操作系統(tǒng)負責整個系統(tǒng)資源的分配和管理;OpenCV及QT/E完成圖像采集、圖像處理、動作識別、圖像顯示等功能[6,7]。軟件架構(gòu)如圖2所示。
3.1算法實現(xiàn)原理
本系統(tǒng)通過判斷人手的運動方向和幀中人手的面積,操作顯示屏上的圖片。為了處理方便,系統(tǒng)中規(guī)定運動方向為水平,以幀差法為基礎(chǔ),通過記錄兩幀中人手的坐標信息或者面積信息,將次時刻的數(shù)據(jù)與前一時刻的數(shù)據(jù)進行相應的運算處理,即可判斷人手的運動方向,從而操作顯示屏上的圖片[8,9]。本系統(tǒng)以顯示屏的左上角為坐標原點,坐標軸方式如圖3所示。人手動作判斷方法如表1所示。人手運動示意圖如圖4、圖5所示。
圖3 坐標軸示意圖
圖4 切換圖片運動示意圖
圖5 縮放圖片運動示意圖
表1 人手動作判斷方法
3.2軟件流程圖
圖片動態(tài)手勢識別系統(tǒng)的程序設計基于C語言程序,采用模塊化的設計結(jié)構(gòu),由系統(tǒng)初始化、圖像采集、圖像預處理、圖像識別和圖片操作等子程序構(gòu)成。程序流程圖如圖6所示。
主要測試設備包括USB攝像頭、s3c6410平臺、320*240 TFT屏。在攝像頭視野內(nèi),若人手從左向右劃過,則TFT顯示屏上的圖片從左向右滑動切換至前一張圖片;若人手從右到左劃過,則TFT顯示屏上的圖片從右向從滑動切換至下一張圖片。若人手靠近攝像頭,則TFT顯示屏上的圖片放大一定倍數(shù);若人手遠離攝像頭,則TFT顯示屏上的圖片縮小一定倍數(shù)。測試結(jié)果如圖7、8所示。
圖6 軟件流程圖
圖7 圖片切換效果
圖8 圖片縮放效果
本文詳細闡述了動態(tài)手勢操作圖片的方法,并簡單介紹了Linux、OpenCV視覺庫及QT/E的應用。在系統(tǒng)的設計過程中,不斷更新設計思路、調(diào)整設計流程,優(yōu)化設計算法、調(diào)試設計程序,極力爭取找到速度和性能的最佳平衡點,實現(xiàn)了動態(tài)手勢操作圖片的功能。
[1]陳文廣,董士海,岳瑋寧,等.手持移動計算中的人機交互技術(shù)研究[J].計算機應用,2010,25(10):2219-2223.
[2]饒丹,侯喆,姜利華. 嵌入式人機系統(tǒng)軟件開發(fā)方法學研究[J].微型機與應用,2007,6:1-3.
[3]王曉雪,蘇杏麗.數(shù)字圖像處理在車牌識別中的應用[J].自動化儀表,2010,31(7):22-25.
[4]王思華,劉崇春,陳立峰,等.計算機視覺新技術(shù)及其在IC標記質(zhì)量檢驗中的應用[J].電子技術(shù)應用,2000,26(9):25-27.
[5]李文昊.基于SPCA563B芯片的圖像識別系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2006,(8):40-43.
[6]歐文盛.ARM嵌入式Linux應用實例開發(fā)[M].北京:中國電力出版社,2008.
[7]楊柳,岳坤,龐和明,等.Qt/Embedded及嵌入式Linux在智能監(jiān)控系統(tǒng)控制中的應用[J].計算機應用,2010,30(1):289-291.
[8]魏志蓮,汪劍鳴,竇汝振,等.一種新的室內(nèi)機器人手勢指令識別系統(tǒng)[J].天津工業(yè)大學學報,2010,29(1):72-76.
[9]孔曉明,陳一民,陳養(yǎng)彬,等.基于視覺的動態(tài)手勢識別[J].計算機工程與設計,2005,26(11):2934-2936.
Image dynamic gesture recognition system based on ARM9
Chen Qiang
(Department of Science and Technology, An kang University, An kang 725000)
In order to realize the dynamic gesture of the picture, a picture dynamic gesture recognition system is designed. The ARM is system taken as the hardware processing core and Linux as the software operating system in the system, The digital image processing and embedded vision technology are adopted in the system to capture frame by camera, process and identify images by Opencv technology, manipulate pictures on the TFT screen, and achieve the zoom and switch operation of non-contact pictures. The experiment and testing achieced good results. The proposed design provides a reference for the design of sign language input and human computer interaction.
ARM; gesture recognition; picture manipulation; Linux
資助基金:安康學院2013年國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(201311397005 );安康學院2013年校級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(2013aku015)。
陳強(1983-),男,湖北黃岡人,學士,實習研究員,研究方向:計算機系統(tǒng)集成。