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