史上最牛高速手勢識別系統(tǒng)解決方案
1設(shè)計摘要
本文引用地址:http://www.ex-cimer.com/article/279622.htm目前,研究自然化的人機交互是當(dāng)今計算機科學(xué)技術(shù)領(lǐng)域的主要研究熱點之一,手勢輸入作為一種自然、豐富、直接的交互手段在人機交互技術(shù)中占有重要的地位。本項目提出以Xilinx公司Spartan 6系列FPGA為核心器件的手勢識別系統(tǒng)設(shè)計的方案,采用FPGA芯片的內(nèi)置DSP硬核作為手勢識別模塊的核心,負責(zé)圖像識別算法的實現(xiàn),采用FPGA作為圖像采集模塊的控制中心,負責(zé)圖像的采集,完成預(yù)處理和攝像頭聚焦和云臺的控制工作,以FPGA高速強大的處理能力保證了系統(tǒng)的實時性。手勢識別部分融合人手顏色信息和手勢運動信息,利用種子算法對復(fù)雜背景下的手勢進行分割。根據(jù)分割出的手勢區(qū)域大大加速了運動特征參數(shù)的提取,并結(jié)合手勢區(qū)域的形狀特征,建立手勢的時空表觀模型。識別時,采用獨立分布的多狀態(tài)高斯概率模型,進行時間規(guī)整,通過DSP和FPGA在處理不同結(jié)構(gòu)算法的優(yōu)勢, 大大提高了手勢識別的處理速度和準確性。高速性將是該手勢識別系統(tǒng)最突出的優(yōu)點,可實現(xiàn)更高層次產(chǎn)品的開發(fā)并擴大應(yīng)用前景。
2項目背景
研究自然化的人機交互是當(dāng)今計算機科學(xué)技術(shù)領(lǐng)域的主要研究熱點之一,手勢是一種自然、直觀、易于學(xué)習(xí)的人機交互手段,手勢輸入是實現(xiàn)自然、直接人機交互不可缺少的關(guān)鍵技術(shù)。目前的手勢識別技術(shù)主要分為基于數(shù)據(jù)手套和基于視覺兩種?;谝曈X的動態(tài)手勢識別系統(tǒng)更是當(dāng)前科學(xué)研究領(lǐng)域的熱點之一。手勢輸入作為一種自然、豐富、直接的交互手段在人機交互技術(shù)中占有重要的地位。
盡管手勢識別技術(shù)的起步比較早,但絕大多數(shù)只是簡單的停留在軟件層次上,這些技術(shù)有的只是進行簡單的比對,速度比較慢,實時性比較差,另外一些這是識別效率較低。因此需要一個從硬件上著手,專門用來識別手勢的設(shè)備,以彌補上述兩個方面的不足。
以現(xiàn)場可編程門陣列FPGA作為核心器件來完成圖像的采集和預(yù)處理系統(tǒng),該系統(tǒng)具有小型化、集成化且實時性好、靈活性高的特點。該系統(tǒng)將一些單調(diào)、不復(fù)雜、工作量大且耗費時間的處理交給FPGA來完成,不僅能充分利用FPGA速度高的優(yōu)越性,也能為DSP提供更多的時間進行更復(fù)雜的手勢圖像分析,使得手勢識別的結(jié)果更為可靠,提高了整個系統(tǒng)的性能。近幾年具有乘法器及內(nèi)存塊資源的大容量FPGA以及基于IP核嵌入的FPGA開發(fā)技術(shù)的出現(xiàn),可以將嵌入式微處理器、專用字器件和高速DSP以IP核的形式方便地嵌FPGA,以硬件編程的方法實現(xiàn)高速信號處理算法。本文的目的在于如何利用DSP和FPGA各自的優(yōu)勢,設(shè)計出滿足實時手勢識別處理要求的硬件平臺。
綜述,本文提出的高速基于DSP+FPGA架構(gòu)的手勢識別系統(tǒng)的設(shè)計,它綜合了FPGA和DSP的優(yōu)點,通過DSP和FPGA在處理不同結(jié)構(gòu)算法的優(yōu)勢,大大提高了手勢識別的速度和準確率。
3應(yīng)用前景
手勢識別技術(shù)的應(yīng)用范圍很廣泛,主要有以下幾個方面:
1、用于虛擬環(huán)境的交互。如虛擬制造和虛擬裝配、產(chǎn)品設(shè)計等。虛擬裝配通過手的運動直接進行零件的裝配,同時通過手勢與語音的合成來靈活的定義零件之間的裝配關(guān)系。還可以將手勢識別用于復(fù)雜設(shè)計信息的輸入;2、智能家居、多媒體設(shè)備的控制。通過手勢識別可以是使用者通過簡單的顯而易見的手勢對多媒體、家具設(shè)備實現(xiàn)控制,如開關(guān)空調(diào)、多媒體展示等;
3、用于多通道、多媒體用戶界面。正如鼠標沒有取代鍵盤,手勢輸入也不能取代鍵盤、鼠標等傳統(tǒng)交互設(shè)備,手勢非常適合于指點、表達形狀、幾何變換和裝配等任務(wù)。語音對于表達抽象概念及離散屬性(或命令)是具有絕對優(yōu)勢的,而且可以涉及視覺不及的對象。視線應(yīng)用于人機交互在目標選擇等方面具有直接性、自然性和雙向性等特點。將手勢輸入和這些交互通道結(jié)合,將增強現(xiàn)有的人機交互模式,從而實現(xiàn)更為直接、自然、和諧的人機接口。這種多模式的人機交互技術(shù)已經(jīng)成為當(dāng)前研究的熱點,多通道人機界面將在可預(yù)見的將來占主導(dǎo)地位,并進一步促進虛擬現(xiàn)實技術(shù)的發(fā)展;
4、聾啞患者與正常人的交流。手語是聾啞人使用,的語言,是由手型動作輔之以表情姿勢由符號構(gòu)成的比較穩(wěn)定的表達系統(tǒng),是一種靠動作/視覺交際的語言。手勢識別可以讓機器“看懂”聾人的手語。識別手語和手語合成相結(jié)合,構(gòu)成一個“人-機手語翻譯系統(tǒng)”便于聾人與周圍環(huán)境的交流;
4系統(tǒng)設(shè)計方案
通過攝像頭采集手勢圖像,將圖像數(shù)據(jù)存儲到SDRAM中, FPGA處理系統(tǒng)通過對SDRAM的控制,實現(xiàn)云臺控制和攝像頭聚焦,且將圖像數(shù)據(jù)按照所需時序從SDRAM中將數(shù)據(jù)讀出,并進行銳化、與背景分離、消除噪聲以及等預(yù)處理,再將預(yù)處理后的數(shù)據(jù)送到MicroBlaze處理器中,在MicroBlaze處理器中對手勢圖像進行復(fù)雜的手勢識別處理,完成手勢分割、手勢識別,并將識別出的手勢信息實時傳給FPGA,由FPGA實時顯示在顯示設(shè)備上。
4.1設(shè)計框圖
圖1 系統(tǒng)設(shè)計框圖
4.2系統(tǒng)設(shè)計
FPGA是整個系統(tǒng)的時序控制中心和數(shù)據(jù)交換橋梁,而且能夠?qū)崿F(xiàn)對底層的信號快速預(yù)處理。在很多信號處理系統(tǒng)中,底層的信號預(yù)處理算法要處理的數(shù)據(jù)量很大,對處理速度要求很高,但算法結(jié)構(gòu)相對比較簡單,適于用FPGA進行硬件編程實現(xiàn)。而高層處理算法的特點是數(shù)據(jù)量較低,但算法控制結(jié)構(gòu)復(fù)雜,適于用運算速度快、尋址靈活、通信機制強大的DSP芯片來實現(xiàn)。
4.2.1圖像采集模塊
普通固定式攝像頭不能調(diào)整方向,難以對移動中的目標進行實時的抓取、捕獲,不能滿足本項目對手勢圖像采集的要求。我們擬采用通過控制云臺來實現(xiàn)對手勢的實時精確抓取。先通過幾何人臉識別的方法識別出目標者,然后通過調(diào)節(jié)云臺上的水平與垂直兩個電機來調(diào)節(jié)攝像頭的方向,最大限度的采集目標者的圖像,然后再通過光學(xué)變焦,使目標者清晰成像,這樣可以在更大范圍內(nèi)獲得包含手勢的目標者的圖像,從而能夠更加精確的提取手勢圖像,進行手勢分割,增加手勢識別的精度。
一體化攝像機內(nèi)置光學(xué)鏡頭,具有變倍、自動聚焦功能的攝像機,其結(jié)構(gòu)小巧、使用方便、監(jiān)控范圍廣。變焦控制可實現(xiàn)圖像的變倍、自動聚焦,是一體化攝像機中的關(guān)鍵技術(shù)之一。步進電機可將電脈沖信號轉(zhuǎn)換成角位移,每接收一個脈沖信號就可驅(qū)動步進電機轉(zhuǎn)動一個固定角度,實現(xiàn)物體的準確定位,通過控制脈沖的頻率可控制電機轉(zhuǎn)動的速度,步進電機已廣泛應(yīng)用于高精度控制系統(tǒng)中。一體化攝像機光學(xué)鏡頭中包含變倍步進電機與聚焦步進電機,變倍電機轉(zhuǎn)動時,為使圖像聚焦清晰,聚焦電機也應(yīng)隨之轉(zhuǎn)動,具體轉(zhuǎn)動步數(shù)與物距有關(guān),具體參數(shù)可由鏡頭生產(chǎn)廠家提供的變焦跟蹤曲線獲得。為了適應(yīng)不同物距的清晰成像,變倍跟蹤結(jié)束后,配合自動聚焦,以顯示清晰的圖像。
可通過人臉幾何特征識別算法識別出目標者,幾何特征的人臉識別方法:幾何特征可以是眼、鼻、嘴等的形狀和它們之間的幾何關(guān)系(如相互之間的距離)。這些算法識別速度快,需要的內(nèi)存小,識別率較低,但是可以滿足方向調(diào)節(jié)的需求。
4.2.2 FPGA預(yù)處理模塊
圖像計算模塊讀取參數(shù)表數(shù)據(jù),FPGA對采集模塊輸入并存儲在外部原始圖像SRAM中的原始圖像數(shù)據(jù)進行計算處理,并將處理好的圖像數(shù)據(jù)存儲到結(jié)果圖像SDRAM中,最后,F(xiàn)PGA內(nèi)部的圖像輸出模塊從結(jié)果圖像SDRAM中將處理后的圖像數(shù)據(jù)讀出。
4.2.3手勢識別模塊
手勢研究分為手勢合成和手勢識別。手勢識別技術(shù)分為基于數(shù)據(jù)手套和基于計算機視覺兩大類。本文針對基于視覺的手勢識別技術(shù),手勢是人手或者手和臂結(jié)合所產(chǎn)生的各種姿勢和動作,它包括靜態(tài)手勢(指姿態(tài),單個手形)和動態(tài)手勢(指動作,由一系列姿態(tài)組成)。靜態(tài)手勢對應(yīng)空間里的一個點,而動態(tài)手勢對應(yīng)著模型參數(shù)空間里的一條軌跡,需要使用隨時間變化的空間特征來表述。
本文提出了單目視覺技術(shù)中一種復(fù)雜背景下的手勢分割和識別方法。首先把運動著的手從復(fù)雜的背景中分割出來,然后提取運動和形狀特征參數(shù),建立手勢的時空表觀模型,采用獨立分布的多狀態(tài)高斯概率模型進行時間規(guī)整,最后得到識別結(jié)果,如圖2。
圖2 手勢識別框圖
手勢分割
手勢分割(Gesture Segmentation)是基于計算機視覺的,是指如何把手勢從手圖像中分離出來。在復(fù)雜背景情況下,手勢分割困難重重,還沒有成熟的理論作為指導(dǎo),現(xiàn)有的算法計算度高,效果也不理想。主要有以下幾種:(a)增加限制的方法,如使用黑色和白色的墻壁,深色的服裝等簡化背景,或者要求人手戴特殊的手套等強調(diào)前景,來簡化手勢區(qū)域與背景區(qū)域的劃分。(b)大容量手勢形狀數(shù)據(jù)庫方法,如密西根州立大學(xué)計算機系的CuiYuntao建立了一個數(shù)據(jù)庫,其中有各種手勢類在各個時刻不同位置不同比例的手型圖像,作為基于模板匹配識別方法的模板。(c)立體視覺的方法,如紐約哥倫比亞大學(xué)計算機系的Gluckman利用兩個不在同一平面鏡子的反射圖像,計算物體與攝像機之間的距離,根據(jù)距離信息分割出人手。
手部區(qū)域中,膚色概率高于一定閾值的像素用一種符號標記,其他像素用另一種符號標記。這樣,就可以得到一張關(guān)于手部區(qū)域的二值圖。在二值圖中,手連通區(qū)域里經(jīng)常會包含一些由于圖像噪音引起的空洞。需要對二值圖逐步求精。在此系統(tǒng)中,采用了形學(xué)分析中的小結(jié)構(gòu)閉運算算子對分割圖進行處理。通過區(qū)域合并與標號的算法,可以計算出手部區(qū)域二值圖中的連通區(qū)域,選取面積最大的區(qū)域作為人手區(qū)域,就得到了平滑后的手部區(qū)域二值圖,進而提取手勢輪廓。如圖3。
圖3 手勢區(qū)域二值圖
②手勢模型
手勢模型對于手勢識別系統(tǒng)至關(guān)重要,特別是對確定識別范圍起關(guān)鍵性作用。模型的選取根本上取決于具體應(yīng)用,如果要實現(xiàn)自然的人機交互,那么必須建立一個精細有效的手勢模型,使得識別系統(tǒng)能夠?qū)τ脩羲龅慕^大多數(shù)手勢做出正確的反應(yīng)。目前,幾乎所有的手勢建模方法都可以歸結(jié)為兩大類:基于表觀的手勢建模和基于3D模型的手勢建模。基于3D模型的手勢建模方法考慮了手勢產(chǎn)生的中間媒體(手和臂),遵循的建模過程:首先給手(和臂)的運動以及姿態(tài)建模,然后從運動和姿態(tài)模型參數(shù)估計手勢模型參數(shù)。
?、凼謩莘治?/p>
手勢分析階段的任務(wù)就是估計選定的手勢模型的參數(shù)。一般由特征檢測和參數(shù)估計組成。在特征檢測過程中,首先必須定位做手勢的主體(人手)。定位技術(shù)有:ⅰ、基于顏色定位:利用限制性背景或者顏色手套。ⅱ、基于運動的定位:這種定位技術(shù)通常跟某些假設(shè)一起使用。例如假設(shè)通常情況下只有一個人在做手勢,并且手勢者相對于背景的運動量很小。ⅲ、基于多模式定位:例如利用運動和顏色信息的融合定位人手,優(yōu)點是能克服單個線索定位的局限。
?、苁謩葑R別
現(xiàn)有的動態(tài)手勢識別技術(shù)可以分歸三類:基于隱馬爾可夫模型(Hidden Markov Models, HMM)的識別,基于動態(tài)時間規(guī)整(Dynamic Time Warping, DTW)的識別,基于壓縮時間軸的識別。我們采取隱馬爾可夫模型來識別手勢,通過幾率的形式來對手勢特征建立相應(yīng)的模型,從而達到手勢識別的目的。
5可行性分析
5.1手勢識別算法
就目前情況來說,目前手勢識別算法已經(jīng)相當(dāng)成熟。通常手勢識別算法分為兩大模塊,即預(yù)處理模塊和識別模塊。
在預(yù)處理階段,主要是對圖像進行銳化處理、與背景分離以及消除噪聲等操作。其中,銳化處理的目的是突出手勢圖像的邊緣輪廓,為此,我們采用拉普拉斯銳化算法:
這里的fxy和f*xy分別為處理前后對應(yīng)的像素分布。
此外,我們分別采用二值化處理和閾值面積消影法來圖像進行分離和消除噪聲。
在識別階段,主要包括邊界特征值的提取和手勢的最終識別。對手部進行特征提取時,我們選用六個自由度,即(x1,x2,x3,x4,x5,x6)。其中,x1:手指個數(shù);x2:指定手指;x3:指間距離集合
x4:指定手指關(guān)節(jié);x5:指定手指指根;x6:特定手勢的檢測。
對于最終的手勢識別,我們采用結(jié)構(gòu)分類的算法,對不同的手勢特征建立相應(yīng)的數(shù)據(jù)庫,其流程如下圖:
圖4 識別流程圖
Spartan-6提供了大量的邏輯資源,有高達14.7萬個邏輯單元,可通過對FPGA的編程實現(xiàn)更多的功能, 多重高效率集成模塊,可以在FPGA中通過編程實現(xiàn)微處理器、存儲管理、RAM管理、總線管理等模塊的構(gòu)建。
優(yōu)化 I/O 標準選擇,具有多電壓、多標準 SelectIO™ 接口 bank,每對差分 I/O 的數(shù)據(jù)傳輸速率均高達 1,080Mb/s,可選輸出驅(qū)動器,每個引腳的電流最高達 24mA,兼容 3.3V ~ 1.2V I/O 標準和協(xié)議, 符合熱插拔規(guī)范可調(diào) I/O 轉(zhuǎn)換速率,提高信號完整性;內(nèi)置高速 GTP 串行收發(fā)器,最高速度達 3.2Gb/s,支持高速接口,包括:串行 ATA、Aurora、1G 以太網(wǎng)、PCI,能夠充分滿足我們所要求的高速數(shù)據(jù)交換的要求。
Spartan-6 FPGA擁有定制低功耗專用的 DSP48A1 Slice,可進行高性能算術(shù)與信號處理,每個 DSP48A1 Slice 都由專用的 18 x 18 位二進制補碼乘法器和 48 位累加器組成,二者均可在最高 390MHz 的速率下運行。DSP48A1 Slice 可提供廣泛而豐富的流水線和擴展功能,能夠為眾多應(yīng)用提升速度與效率,甚至超越數(shù)字信號處理的范疇,比如寬動態(tài)總線移位器、存儲器地址生成器、寬總線多路 復(fù)用器以及存儲器映射的 I/O 寄存器文件等。此外,累加器還可用作同步向上/向下計數(shù)器。乘法器能夠執(zhí)行桶形移位。這樣的優(yōu)點可以加以利用,能完成大量數(shù)據(jù)的處理,實現(xiàn)圖像處理與分 析,目標抓取,進而對手勢進行識別。
基于算法和硬件兩方面的考慮,我們?nèi)蝿?wù)的核心內(nèi)容就是使這些算法在 FPGA平臺上得以實現(xiàn)。從上述分析可以看出,現(xiàn)在手勢識別算法已日趨完善,加之有Spartan-6這種高性能的FPGA芯片,我們不僅有理由相信,而 且有能力達到預(yù)期的設(shè)計目標。除此之外,我們在日后的設(shè)計中會力求更優(yōu)算法,同時使設(shè)計電路更加合理化,以便使我們設(shè)計的手勢識別系統(tǒng)不斷提高精度和速 度。
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
評論