史上最牛高速手勢識別系統解決方案
1設計摘要
本文引用地址:http://dyxdggzs.com/article/279622.htm目前,研究自然化的人機交互是當今計算機科學(xué)技術(shù)領(lǐng)域的主要研究熱點(diǎn)之一,手勢輸入作為一種自然、豐富、直接的交互手段在人機交互技術(shù)中占有重要的地位。本項目提出以Xilinx公司Spartan 6系列FPGA為核心器件的手勢識別系統設計的方案,采用FPGA芯片的內置DSP硬核作為手勢識別模塊的核心,負責圖像識別算法的實(shí)現,采用FPGA作為圖像采集模塊的控制中心,負責圖像的采集,完成預處理和攝像頭聚焦和云臺的控制工作,以FPGA高速強大的處理能力保證了系統的實(shí)時(shí)性。手勢識別部分融合人手顏色信息和手勢運動(dòng)信息,利用種子算法對復雜背景下的手勢進(jìn)行分割。根據分割出的手勢區域大大加速了運動(dòng)特征參數的提取,并結合手勢區域的形狀特征,建立手勢的時(shí)空表觀(guān)模型。識別時(shí),采用獨立分布的多狀態(tài)高斯概率模型,進(jìn)行時(shí)間規整,通過(guò)DSP和FPGA在處理不同結構算法的優(yōu)勢, 大大提高了手勢識別的處理速度和準確性。高速性將是該手勢識別系統最突出的優(yōu)點(diǎn),可實(shí)現更高層次產(chǎn)品的開(kāi)發(fā)并擴大應用前景。
2項目背景
研究自然化的人機交互是當今計算機科學(xué)技術(shù)領(lǐng)域的主要研究熱點(diǎn)之一,手勢是一種自然、直觀(guān)、易于學(xué)習的人機交互手段,手勢輸入是實(shí)現自然、直接人機交互不可缺少的關(guān)鍵技術(shù)。目前的手勢識別技術(shù)主要分為基于數據手套和基于視覺(jué)兩種?;谝曈X(jué)的動(dòng)態(tài)手勢識別系統更是當前科學(xué)研究領(lǐng)域的熱點(diǎn)之一。手勢輸入作為一種自然、豐富、直接的交互手段在人機交互技術(shù)中占有重要的地位。
盡管手勢識別技術(shù)的起步比較早,但絕大多數只是簡(jiǎn)單的停留在軟件層次上,這些技術(shù)有的只是進(jìn)行簡(jiǎn)單的比對,速度比較慢,實(shí)時(shí)性比較差,另外一些這是識別效率較低。因此需要一個(gè)從硬件上著(zhù)手,專(zhuān)門(mén)用來(lái)識別手勢的設備,以彌補上述兩個(gè)方面的不足。
以現場(chǎng)可編程門(mén)陣列FPGA作為核心器件來(lái)完成圖像的采集和預處理系統,該系統具有小型化、集成化且實(shí)時(shí)性好、靈活性高的特點(diǎn)。該系統將一些單調、不復雜、工作量大且耗費時(shí)間的處理交給FPGA來(lái)完成,不僅能充分利用FPGA速度高的優(yōu)越性,也能為DSP提供更多的時(shí)間進(jìn)行更復雜的手勢圖像分析,使得手勢識別的結果更為可靠,提高了整個(gè)系統的性能。近幾年具有乘法器及內存塊資源的大容量FPGA以及基于IP核嵌入的FPGA開(kāi)發(fā)技術(shù)的出現,可以將嵌入式微處理器、專(zhuān)用字器件和高速DSP以IP核的形式方便地嵌FPGA,以硬件編程的方法實(shí)現高速信號處理算法。本文的目的在于如何利用DSP和FPGA各自的優(yōu)勢,設計出滿(mǎn)足實(shí)時(shí)手勢識別處理要求的硬件平臺。
綜述,本文提出的高速基于DSP+FPGA架構的手勢識別系統的設計,它綜合了FPGA和DSP的優(yōu)點(diǎn),通過(guò)DSP和FPGA在處理不同結構算法的優(yōu)勢,大大提高了手勢識別的速度和準確率。
3應用前景
手勢識別技術(shù)的應用范圍很廣泛,主要有以下幾個(gè)方面:
1、用于虛擬環(huán)境的交互。如虛擬制造和虛擬裝配、產(chǎn)品設計等。虛擬裝配通過(guò)手的運動(dòng)直接進(jìn)行零件的裝配,同時(shí)通過(guò)手勢與語(yǔ)音的合成來(lái)靈活的定義零件之間的裝配關(guān)系。還可以將手勢識別用于復雜設計信息的輸入;2、智能家居、多媒體設備的控制。通過(guò)手勢識別可以是使用者通過(guò)簡(jiǎn)單的顯而易見(jiàn)的手勢對多媒體、家具設備實(shí)現控制,如開(kāi)關(guān)空調、多媒體展示等;
3、用于多通道、多媒體用戶(hù)界面。正如鼠標沒(méi)有取代鍵盤(pán),手勢輸入也不能取代鍵盤(pán)、鼠標等傳統交互設備,手勢非常適合于指點(diǎn)、表達形狀、幾何變換和裝配等任務(wù)。語(yǔ)音對于表達抽象概念及離散屬性(或命令)是具有絕對優(yōu)勢的,而且可以涉及視覺(jué)不及的對象。視線(xiàn)應用于人機交互在目標選擇等方面具有直接性、自然性和雙向性等特點(diǎn)。將手勢輸入和這些交互通道結合,將增強現有的人機交互模式,從而實(shí)現更為直接、自然、和諧的人機接口。這種多模式的人機交互技術(shù)已經(jīng)成為當前研究的熱點(diǎn),多通道人機界面將在可預見(jiàn)的將來(lái)占主導地位,并進(jìn)一步促進(jìn)虛擬現實(shí)技術(shù)的發(fā)展;
4、聾啞患者與正常人的交流。手語(yǔ)是聾啞人使用,的語(yǔ)言,是由手型動(dòng)作輔之以表情姿勢由符號構成的比較穩定的表達系統,是一種靠動(dòng)作/視覺(jué)交際的語(yǔ)言。手勢識別可以讓機器“看懂”聾人的手語(yǔ)。識別手語(yǔ)和手語(yǔ)合成相結合,構成一個(gè)“人-機手語(yǔ)翻譯系統”便于聾人與周?chē)h(huán)境的交流;
4系統設計方案
通過(guò)攝像頭采集手勢圖像,將圖像數據存儲到SDRAM中, FPGA處理系統通過(guò)對SDRAM的控制,實(shí)現云臺控制和攝像頭聚焦,且將圖像數據按照所需時(shí)序從SDRAM中將數據讀出,并進(jìn)行銳化、與背景分離、消除噪聲以及等預處理,再將預處理后的數據送到MicroBlaze處理器中,在MicroBlaze處理器中對手勢圖像進(jìn)行復雜的手勢識別處理,完成手勢分割、手勢識別,并將識別出的手勢信息實(shí)時(shí)傳給FPGA,由FPGA實(shí)時(shí)顯示在顯示設備上。
4.1設計框圖

圖1 系統設計框圖
4.2系統設計
FPGA是整個(gè)系統的時(shí)序控制中心和數據交換橋梁,而且能夠實(shí)現對底層的信號快速預處理。在很多信號處理系統中,底層的信號預處理算法要處理的數據量很大,對處理速度要求很高,但算法結構相對比較簡(jiǎn)單,適于用FPGA進(jìn)行硬件編程實(shí)現。而高層處理算法的特點(diǎn)是數據量較低,但算法控制結構復雜,適于用運算速度快、尋址靈活、通信機制強大的DSP芯片來(lái)實(shí)現。
4.2.1圖像采集模塊
普通固定式攝像頭不能調整方向,難以對移動(dòng)中的目標進(jìn)行實(shí)時(shí)的抓取、捕獲,不能滿(mǎn)足本項目對手勢圖像采集的要求。我們擬采用通過(guò)控制云臺來(lái)實(shí)現對手勢的實(shí)時(shí)精確抓取。先通過(guò)幾何人臉識別的方法識別出目標者,然后通過(guò)調節云臺上的水平與垂直兩個(gè)電機來(lái)調節攝像頭的方向,最大限度的采集目標者的圖像,然后再通過(guò)光學(xué)變焦,使目標者清晰成像,這樣可以在更大范圍內獲得包含手勢的目標者的圖像,從而能夠更加精確的提取手勢圖像,進(jìn)行手勢分割,增加手勢識別的精度。
一體化攝像機內置光學(xué)鏡頭,具有變倍、自動(dòng)聚焦功能的攝像機,其結構小巧、使用方便、監控范圍廣。變焦控制可實(shí)現圖像的變倍、自動(dòng)聚焦,是一體化攝像機中的關(guān)鍵技術(shù)之一。步進(jìn)電機可將電脈沖信號轉換成角位移,每接收一個(gè)脈沖信號就可驅動(dòng)步進(jìn)電機轉動(dòng)一個(gè)固定角度,實(shí)現物體的準確定位,通過(guò)控制脈沖的頻率可控制電機轉動(dòng)的速度,步進(jìn)電機已廣泛應用于高精度控制系統中。一體化攝像機光學(xué)鏡頭中包含變倍步進(jìn)電機與聚焦步進(jìn)電機,變倍電機轉動(dòng)時(shí),為使圖像聚焦清晰,聚焦電機也應隨之轉動(dòng),具體轉動(dòng)步數與物距有關(guān),具體參數可由鏡頭生產(chǎn)廠(chǎng)家提供的變焦跟蹤曲線(xiàn)獲得。為了適應不同物距的清晰成像,變倍跟蹤結束后,配合自動(dòng)聚焦,以顯示清晰的圖像。
可通過(guò)人臉幾何特征識別算法識別出目標者,幾何特征的人臉識別方法:幾何特征可以是眼、鼻、嘴等的形狀和它們之間的幾何關(guān)系(如相互之間的距離)。這些算法識別速度快,需要的內存小,識別率較低,但是可以滿(mǎn)足方向調節的需求。
4.2.2 FPGA預處理模塊
圖像計算模塊讀取參數表數據,FPGA對采集模塊輸入并存儲在外部原始圖像SRAM中的原始圖像數據進(jìn)行計算處理,并將處理好的圖像數據存儲到結果圖像SDRAM中,最后,FPGA內部的圖像輸出模塊從結果圖像SDRAM中將處理后的圖像數據讀出。
4.2.3手勢識別模塊
手勢研究分為手勢合成和手勢識別。手勢識別技術(shù)分為基于數據手套和基于計算機視覺(jué)兩大類(lèi)。本文針對基于視覺(jué)的手勢識別技術(shù),手勢是人手或者手和臂結合所產(chǎn)生的各種姿勢和動(dòng)作,它包括靜態(tài)手勢(指姿態(tài),單個(gè)手形)和動(dòng)態(tài)手勢(指動(dòng)作,由一系列姿態(tài)組成)。靜態(tài)手勢對應空間里的一個(gè)點(diǎn),而動(dòng)態(tài)手勢對應著(zhù)模型參數空間里的一條軌跡,需要使用隨時(shí)間變化的空間特征來(lái)表述。
本文提出了單目視覺(jué)技術(shù)中一種復雜背景下的手勢分割和識別方法。首先把運動(dòng)著(zhù)的手從復雜的背景中分割出來(lái),然后提取運動(dòng)和形狀特征參數,建立手勢的時(shí)空表觀(guān)模型,采用獨立分布的多狀態(tài)高斯概率模型進(jìn)行時(shí)間規整,最后得到識別結果,如圖2。

圖2 手勢識別框圖
手勢分割
手勢分割(Gesture Segmentation)是基于計算機視覺(jué)的,是指如何把手勢從手圖像中分離出來(lái)。在復雜背景情況下,手勢分割困難重重,還沒(méi)有成熟的理論作為指導,現有的算法計算度高,效果也不理想。主要有以下幾種:(a)增加限制的方法,如使用黑色和白色的墻壁,深色的服裝等簡(jiǎn)化背景,或者要求人手戴特殊的手套等強調前景,來(lái)簡(jiǎn)化手勢區域與背景區域的劃分。(b)大容量手勢形狀數據庫方法,如密西根州立大學(xué)計算機系的CuiYuntao建立了一個(gè)數據庫,其中有各種手勢類(lèi)在各個(gè)時(shí)刻不同位置不同比例的手型圖像,作為基于模板匹配識別方法的模板。(c)立體視覺(jué)的方法,如紐約哥倫比亞大學(xué)計算機系的Gluckman利用兩個(gè)不在同一平面鏡子的反射圖像,計算物體與攝像機之間的距離,根據距離信息分割出人手。
手部區域中,膚色概率高于一定閾值的像素用一種符號標記,其他像素用另一種符號標記。這樣,就可以得到一張關(guān)于手部區域的二值圖。在二值圖中,手連通區域里經(jīng)常會(huì )包含一些由于圖像噪音引起的空洞。需要對二值圖逐步求精。在此系統中,采用了形學(xué)分析中的小結構閉運算算子對分割圖進(jìn)行處理。通過(guò)區域合并與標號的算法,可以計算出手部區域二值圖中的連通區域,選取面積最大的區域作為人手區域,就得到了平滑后的手部區域二值圖,進(jìn)而提取手勢輪廓。如圖3。

圖3 手勢區域二值圖
?、谑謩菽P?/p>
手勢模型對于手勢識別系統至關(guān)重要,特別是對確定識別范圍起關(guān)鍵性作用。模型的選取根本上取決于具體應用,如果要實(shí)現自然的人機交互,那么必須建立一個(gè)精細有效的手勢模型,使得識別系統能夠對用戶(hù)所做的絕大多數手勢做出正確的反應。目前,幾乎所有的手勢建模方法都可以歸結為兩大類(lèi):基于表觀(guān)的手勢建模和基于3D模型的手勢建模?;?D模型的手勢建模方法考慮了手勢產(chǎn)生的中間媒體(手和臂),遵循的建模過(guò)程:首先給手(和臂)的運動(dòng)以及姿態(tài)建模,然后從運動(dòng)和姿態(tài)模型參數估計手勢模型參數。
?、凼謩莘治?/p>
手勢分析階段的任務(wù)就是估計選定的手勢模型的參數。一般由特征檢測和參數估計組成。在特征檢測過(guò)程中,首先必須定位做手勢的主體(人手)。定位技術(shù)有:ⅰ、基于顏色定位:利用限制性背景或者顏色手套。ⅱ、基于運動(dòng)的定位:這種定位技術(shù)通常跟某些假設一起使用。例如假設通常情況下只有一個(gè)人在做手勢,并且手勢者相對于背景的運動(dòng)量很小。ⅲ、基于多模式定位:例如利用運動(dòng)和顏色信息的融合定位人手,優(yōu)點(diǎn)是能克服單個(gè)線(xiàn)索定位的局限。
?、苁謩葑R別
現有的動(dòng)態(tài)手勢識別技術(shù)可以分歸三類(lèi):基于隱馬爾可夫模型(Hidden Markov Models, HMM)的識別,基于動(dòng)態(tài)時(shí)間規整(Dynamic Time Warping, DTW)的識別,基于壓縮時(shí)間軸的識別。我們采取隱馬爾可夫模型來(lái)識別手勢,通過(guò)幾率的形式來(lái)對手勢特征建立相應的模型,從而達到手勢識別的目的。
5可行性分析
5.1手勢識別算法
就目前情況來(lái)說(shuō),目前手勢識別算法已經(jīng)相當成熟。通常手勢識別算法分為兩大模塊,即預處理模塊和識別模塊。
在預處理階段,主要是對圖像進(jìn)行銳化處理、與背景分離以及消除噪聲等操作。其中,銳化處理的目的是突出手勢圖像的邊緣輪廓,為此,我們采用拉普拉斯銳化算法:

這里的fxy和f*xy分別為處理前后對應的像素分布。
此外,我們分別采用二值化處理和閾值面積消影法來(lái)圖像進(jìn)行分離和消除噪聲。
在識別階段,主要包括邊界特征值的提取和手勢的最終識別。對手部進(jìn)行特征提取時(shí),我們選用六個(gè)自由度,即(x1,x2,x3,x4,x5,x6)。其中,x1:手指個(gè)數;x2:指定手指;x3:指間距離集合

x4:指定手指關(guān)節;x5:指定手指指根;x6:特定手勢的檢測。
對于最終的手勢識別,我們采用結構分類(lèi)的算法,對不同的手勢特征建立相應的數據庫,其流程如下圖:

圖4 識別流程圖
Spartan-6提供了大量的邏輯資源,有高達14.7萬(wàn)個(gè)邏輯單元,可通過(guò)對FPGA的編程實(shí)現更多的功能, 多重高效率集成模塊,可以在FPGA中通過(guò)編程實(shí)現微處理器、存儲管理、RAM管理、總線(xiàn)管理等模塊的構建。
優(yōu)化 I/O 標準選擇,具有多電壓、多標準 SelectIO™ 接口 bank,每對差分 I/O 的數據傳輸速率均高達 1,080Mb/s,可選輸出驅動(dòng)器,每個(gè)引腳的電流最高達 24mA,兼容 3.3V ~ 1.2V I/O 標準和協(xié)議, 符合熱插拔規范可調 I/O 轉換速率,提高信號完整性;內置高速 GTP 串行收發(fā)器,最高速度達 3.2Gb/s,支持高速接口,包括:串行 ATA、Aurora、1G 以太網(wǎng)、PCI,能夠充分滿(mǎn)足我們所要求的高速數據交換的要求。
Spartan-6 FPGA擁有定制低功耗專(zhuān)用的 DSP48A1 Slice,可進(jìn)行高性能算術(shù)與信號處理,每個(gè) DSP48A1 Slice 都由專(zhuān)用的 18 x 18 位二進(jìn)制補碼乘法器和 48 位累加器組成,二者均可在最高 390MHz 的速率下運行。DSP48A1 Slice 可提供廣泛而豐富的流水線(xiàn)和擴展功能,能夠為眾多應用提升速度與效率,甚至超越數字信號處理的范疇,比如寬動(dòng)態(tài)總線(xiàn)移位器、存儲器地址生成器、寬總線(xiàn)多路 復用器以及存儲器映射的 I/O 寄存器文件等。此外,累加器還可用作同步向上/向下計數器。乘法器能夠執行桶形移位。這樣的優(yōu)點(diǎn)可以加以利用,能完成大量數據的處理,實(shí)現圖像處理與分 析,目標抓取,進(jìn)而對手勢進(jìn)行識別。
基于算法和硬件兩方面的考慮,我們任務(wù)的核心內容就是使這些算法在 FPGA平臺上得以實(shí)現。從上述分析可以看出,現在手勢識別算法已日趨完善,加之有Spartan-6這種高性能的FPGA芯片,我們不僅有理由相信,而 且有能力達到預期的設計目標。除此之外,我們在日后的設計中會(huì )力求更優(yōu)算法,同時(shí)使設計電路更加合理化,以便使我們設計的手勢識別系統不斷提高精度和速 度。
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
評論