国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器視覺的火車駕駛員動態(tài)手勢識別方法*

2021-03-05 07:15:26楊森林張曉麗
傳感器與微系統(tǒng) 2021年2期
關(guān)鍵詞:手掌手勢像素點(diǎn)

李 浩,楊森林,張曉麗

(1.西安文理學(xué)院 西安市物聯(lián)網(wǎng)應(yīng)用工程實(shí)驗(yàn)室,陜西 西安 710065;2.西安文理學(xué)院 陜西省表面工程與再制造重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710065)

0 引 言

準(zhǔn)確的火車駕駛員手勢識別是智能交通管理系統(tǒng)的重要組成部分,基于計(jì)算機(jī)視覺的手勢識別屬于非接觸式的手勢采集方式,該類方法設(shè)備成本低,且能更好的滿足人機(jī)交互所需的自然度和舒適度,是目前研究的一個(gè)熱點(diǎn)[1]。

動態(tài)手勢相比于靜態(tài)手勢更具直觀性,適應(yīng)于靈活的人機(jī)交互應(yīng)用。由于其種類多、特征復(fù)雜、變化快,因而導(dǎo)致動態(tài)手勢識別較為困難[2]。文獻(xiàn)[3]提出了一種利用手部骨架變換的識別方法,對二值化的圖像進(jìn)行距離變換,以生成具有骨架抽取效果的手部區(qū)域圖,連接中心點(diǎn)獲得手部骨架,從而對手勢進(jìn)行識別分類,識別正確率幾乎100 %,但方法僅適應(yīng)于單一背景下的手勢檢測,缺少對于復(fù)雜背景條件下的識別檢測,也無法滿足動態(tài)手勢中手掌手指的精確識別。文獻(xiàn)[4]利用Kinect傳感器開發(fā)了一種非侵入式實(shí)時(shí)手勢識別系統(tǒng),通過OpenNI和NITE將Kinect獲取的圖像轉(zhuǎn)換為具有15個(gè)節(jié)點(diǎn)的剛性骨架,并采用隱馬爾可夫模型(hidden Markov model,HMM)對手勢進(jìn)行識別,對訓(xùn)練集內(nèi)的對象識別準(zhǔn)確率達(dá)到85 %,而非訓(xùn)練集內(nèi)的對象識別準(zhǔn)確率達(dá)到73 %。然而,該方法僅能夠?qū)崿F(xiàn)對左手手勢和人體軀干的識別,缺少對手掌骨骼的識別[4]。文獻(xiàn)[5]利用Kinect對手部算術(shù)(阿拉伯?dāng)?shù)字及運(yùn)算符號)及石頭剪刀布進(jìn)行識別,通過深度閾值分割獲得手部區(qū)域精確圖像,并使用指地移動距離(finger Earth moving distance,FEMD)度量測量不同手型之間的差異性來進(jìn)行識別分類,最高識別率達(dá)到了93.9 %。但在手勢識別過程中,測試者手部佩戴的黑色腕帶對識別結(jié)果將產(chǎn)生一定影響,未佩戴腕帶情況下的識別準(zhǔn)確度較低[5]。目前大多數(shù)方法都是針對普通場景下的靜態(tài)通用手勢識別,而對于某些特定場景下的動態(tài)專業(yè)手勢識別效果不佳,無法對這些場景手勢進(jìn)行有效的判斷和識別。

基于以上問題,本文采用Kinect獲取人體骨骼節(jié)點(diǎn)信息,設(shè)定距離差閾值確定近似手掌節(jié)點(diǎn)位置,得到手勢分割圖像,采用支持向量機(jī)(SVM)進(jìn)行手勢識別和評價(jià),并結(jié)合骨骼節(jié)點(diǎn)的運(yùn)動序列,采用DTW算法對火車駕駛員手臂動作進(jìn)行識別檢測,最終得到有效的手勢信息。

1 手勢圖像分割方法

手勢圖像的獲取容易受到外界光照和復(fù)雜背景的影響,選擇合適的手勢采集設(shè)備尤為重要[6]。本文采用Kinect傳感器將手掌姿勢深度信息從復(fù)雜的背景中分割出來。Kinect可以檢測出環(huán)境中物體距離攝像頭之間的距離,在手勢人機(jī)交互中,手掌總是在攝像頭的前方,因此通過選取合適的深度距離閾值可以將手掌姿勢信息從背景中進(jìn)行分離[7]。然而,距離閾值的選取非常困難,閾值選擇不合適容易導(dǎo)致分割出的手勢包含手臂,或者當(dāng)手勢距離身體較近時(shí)根本無法分割出手掌信息。為了克服單純的閾值選擇帶來的缺點(diǎn),本文采用結(jié)合人體骨骼節(jié)點(diǎn)信息和深度圖像信息的手勢檢測方法,采用Kinect獲取人體骨骼節(jié)點(diǎn)數(shù)據(jù),找出手掌節(jié)點(diǎn)的位置,在手掌節(jié)點(diǎn)范圍內(nèi)搜索手勢,當(dāng)整個(gè)手掌上的所有像素點(diǎn)離攝像頭較近時(shí),再設(shè)定一個(gè)距離差閾值就可以將手勢信息從背景中分離,方法流程如圖1所示。

圖1 手勢圖像分割方法示意

由于Kinect跟蹤人體骨骼節(jié)點(diǎn)時(shí)容易發(fā)生節(jié)點(diǎn)漂移現(xiàn)象,此時(shí)手掌節(jié)點(diǎn)到Kinect的距離并不是實(shí)際手掌節(jié)點(diǎn)到Kinect的距離,在進(jìn)行距離差閾值進(jìn)行分割時(shí)會導(dǎo)致手勢分割失敗。為此,開發(fā)了一種近似的手掌節(jié)點(diǎn)位置確定方法,以手掌節(jié)點(diǎn)為圓心,手掌節(jié)點(diǎn)到手腕節(jié)點(diǎn)之間的距離r為半徑的圓內(nèi)對所有白色像素點(diǎn)的位置坐標(biāo)求均值,以均值代表手掌節(jié)點(diǎn)的位置坐標(biāo)因此手掌節(jié)點(diǎn)的(xp,yp)位置為

(1)

式中T為圓內(nèi)白色像素點(diǎn)的個(gè)數(shù)xi表示第i個(gè)白色像素點(diǎn)的橫坐標(biāo),yi為第i個(gè)白色像素點(diǎn)的縱坐標(biāo)。在找出手掌節(jié)點(diǎn)的位置后,通過判斷手掌節(jié)點(diǎn)和周圍區(qū)域像素點(diǎn)到Kinect之間的距離差將手勢分割出來。當(dāng)找到手掌節(jié)點(diǎn)后,需要在手掌節(jié)點(diǎn)周圍搜尋手勢像素點(diǎn),為了防止因手掌節(jié)點(diǎn)發(fā)生漂移導(dǎo)致手勢像素點(diǎn)搜尋出現(xiàn)偏差,在以手掌節(jié)點(diǎn)為中心的一個(gè)大的矩形區(qū)域內(nèi)進(jìn)行手勢像素點(diǎn)搜尋,算法過程如下:

k=1,2,…,W×H

(2)

式中k為搜尋的次數(shù),threshold為手掌節(jié)點(diǎn)與矩形區(qū)域內(nèi)手勢像素點(diǎn)到Kinect之間距離差的閾值,abs(dp-dij)為掌心節(jié)點(diǎn)與手勢像素區(qū)域距離之差的絕對值,Sk為最終檢測到的手勢像素點(diǎn)集。

2 手勢動作識別方法

手勢動作識別方法有很多種,比如神經(jīng)網(wǎng)絡(luò)、SVM、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)等,SVM對二分類處理效果明顯,其訓(xùn)練集之外的數(shù)據(jù)能夠做到預(yù)測準(zhǔn)確、泛化錯(cuò)誤率低和實(shí)時(shí)性能好,因此,本文采用SVM算法對分割后的手勢圖像進(jìn)行識別并對手勢規(guī)范性進(jìn)行評價(jià)[8]。SVM分類結(jié)果為測試手勢與標(biāo)準(zhǔn)手勢之間的置信度,可以作為手掌手勢規(guī)范的評價(jià)標(biāo)準(zhǔn),如式(3)所示

(3)

手勢動作識別流程圖如圖2所示。

圖2 手掌手勢識別流程框圖

3 手臂動作識別方法

Kinect傳感器獲取圖像深度數(shù)據(jù)以及駕駛員骨骼數(shù)據(jù)[9]。駕駛員完成一整套手勢動作不僅包含手掌部分的手勢,還包含手臂部分的動作,因此Kinect傳感器獲取的數(shù)據(jù)應(yīng)包含手掌、手腕、手肘、肩、肩中心等若干個(gè)關(guān)鍵骨骼節(jié)點(diǎn)坐標(biāo)數(shù)據(jù)[10]。駕駛員在做不同手勢動作時(shí),一般來說肩中心節(jié)點(diǎn)相對位置基本保持不變,設(shè)肩中心節(jié)點(diǎn)的坐標(biāo)為Ps=(xs,ys,zs),剩余的手臂骨骼節(jié)點(diǎn)坐標(biāo)為Pi=(xi,yi,zi),i=1,2,3,4,因此節(jié)點(diǎn)Pi和肩中心節(jié)點(diǎn)Ps之間的距離為

i=1,2,3,4

(4)

(5)

根據(jù)得出的DTW距離對輸入的動態(tài)手勢進(jìn)行識別并評價(jià)。駕駛員動態(tài)手勢識別結(jié)果與標(biāo)準(zhǔn)動態(tài)手勢庫中DTW距離最小的樣本類別一致,表示為

(6)

式中Xi為標(biāo)準(zhǔn)動態(tài)手勢樣本,Y為輸入的動態(tài)手勢,i為動態(tài)手勢樣本類別,O為最終識別的動態(tài)手勢類別。

手臂動態(tài)手勢得分的度量方式為DTW距離,測試手勢序列與標(biāo)準(zhǔn)手勢樣本序列越接近,DTW距離也就越小,手臂動態(tài)手勢得分表示為

Parm=

(7)

式中Xi為標(biāo)準(zhǔn)動態(tài)手勢序列,Y為測試手勢序列,N為標(biāo)準(zhǔn)手勢序列樣本數(shù)目,α為標(biāo)準(zhǔn)手勢序列樣本之間的DTW距離平均值。

駕駛員手臂動作識別流程圖如圖3所示。

圖3 駕駛員手臂動作識別流程框圖

4 實(shí)驗(yàn)結(jié)果與分析

由于Kinect獲取的骨骼特征點(diǎn)數(shù)據(jù)較粗糙,特征點(diǎn)少,難以精確描述相近或非標(biāo)準(zhǔn)手勢之間的區(qū)別,選取4種區(qū)別較大的動態(tài)手勢進(jìn)行分析和建庫[11]。同時(shí),選取了手掌、手腕、手肘、肩、肩中心等18個(gè)3D特征點(diǎn)來分析手勢變化,未考慮其它區(qū)域特征點(diǎn)對手勢識別的影響,所建立的樣本庫包含不同光照、不同高度的4個(gè)人手掌握拳食指中指伸出、手掌握拳大拇指翹起、手掌握拳大拇指和小拇指伸出、手掌張開五指并攏4種動作,以及手臂抬起、手臂朝前、手臂手肘彎曲、手臂左右擺動4種手臂動作,如圖5所示,每種動作100組數(shù)據(jù),共25 600組,手勢圖像錄制時(shí)在Kinect前方1.0~2.5 m轉(zhuǎn)動范圍為左右±30°,上下±90°,樣本庫中每張手勢圖像包含144個(gè)特征點(diǎn)的3D坐標(biāo),8個(gè)手部運(yùn)動單元AUs數(shù)值以及4個(gè)手部幾何特征角度。實(shí)驗(yàn)設(shè)備為i7 2.6 GHz 處理器、16 GB RAM的圖形工作站和Kinect 2.0傳感器,軟件開發(fā)平臺為VS2008、OpenCV、Kinect for Windows SDK2.0。選擇90組數(shù)據(jù)作為訓(xùn)練集,10組作為測試樣本。測試時(shí)Kinect深度傳感器距離地面1.0 m,傳感器與人的距離在1.0~2.5 m范圍內(nèi)。

4.1 手勢檢測結(jié)果分析

手勢檢測流程如圖5所示首先處理Kinect傳感器采集到的深度圖像,一方面在手掌區(qū)域內(nèi)進(jìn)行像素點(diǎn)搜尋,另一方面采用人體骨骼節(jié)點(diǎn)圖像判斷掌心節(jié)點(diǎn)位置,由于Kinect檢測骨骼節(jié)點(diǎn)精度較低,節(jié)點(diǎn)容易發(fā)生漂移,因此為了避免手掌檢測的不完全,矩形搜索區(qū)域的大小閾值設(shè)置不能過小,實(shí)驗(yàn)中,當(dāng)t≥3,即矩形搜索區(qū)域大小大于3倍的手掌節(jié)點(diǎn)和手腕節(jié)點(diǎn)之間的距離,此時(shí)手勢搜索效果較為理想。手掌節(jié)點(diǎn)與手勢像素區(qū)域距離差閾值(threshold)的設(shè)置對于手勢分割的結(jié)果同樣重要,當(dāng)threshold設(shè)置過小,手勢分割會不完整;而當(dāng)threshold設(shè)置過大,則容易將手腕等部分分離[12]。實(shí)驗(yàn)結(jié)果表明,當(dāng)threshold∈(15,25)mm時(shí),手勢檢測效果較為理想。圖4為不同threshold值時(shí),手勢檢測與分割效果。

圖4 手勢檢測與分割效果

4.2 手掌動作檢測結(jié)果分析

手掌區(qū)域動作通常包含4種,手掌握拳食指中指伸出(a)、手掌握拳大拇指翹起(b)、手掌握拳大拇指和小拇指伸出(c)、手掌張開五指并攏(d)。

當(dāng)火車駕駛員做手勢動作時(shí),手掌通常會發(fā)生相應(yīng)的形變和旋轉(zhuǎn),因此,在進(jìn)行手勢識別時(shí),需要對檢測到的手勢進(jìn)行大小歸一化,為了減小序列中手勢旋轉(zhuǎn)問題對識別效果的影響,在離線訓(xùn)練SVM分類器時(shí),將旋轉(zhuǎn)樣本參與到分類器訓(xùn)練中,增加分類器的魯棒性,表1為火車駕駛員在做抬手動作時(shí)4種手掌手勢分類識別率。

表1 手掌手勢識別效果

由表1可知,采用文中所提出方法對手掌和手勢進(jìn)行檢測,檢測率較高,首先通過確定手掌掌心節(jié)點(diǎn),在掌心節(jié)點(diǎn)周圍搜尋手勢像素點(diǎn),可以有效避免漏檢情況,通過設(shè)定手勢周圍像素與掌心像素到Kinect之間的距離差閾值,可以降低算法檢測到手腕部分的可能性。在識別方面,利用SVM算法訓(xùn)練多個(gè)手勢序列中手掌手勢圖像,減小因圖像的旋轉(zhuǎn)而導(dǎo)致的錯(cuò)誤識別,火車駕駛員4種手掌手勢平均識別率可達(dá)88 %以上。對于手勢得分,手勢序列識別置信度之和的平均值為最終手勢得分,從而可以有效地判斷火車駕駛員手掌手勢的規(guī)范程度。

4.3 手臂動作檢測結(jié)果分析

文中選取手臂抬起、手臂向前、手臂手肘彎曲、手臂左右擺動共4種動態(tài)手勢,識別率與得分如表2所示。

表2 手臂動作識別效果數(shù)據(jù)表

表2為本文手勢識別算法對于4種火車駕駛員手臂動作識別效果,由表中可知,4種常用的動態(tài)手勢平均識別率可達(dá)85 %以上,本文采用的DTW算法非常適合于火車駕駛員動態(tài)手臂動作識別。手臂動作得分的計(jì)算通過分析測試手勢序列和樣本庫中標(biāo)準(zhǔn)手勢序列之間的DTW距離的關(guān)系,可以有效改進(jìn)算法的識別度和準(zhǔn)確度。

表3為經(jīng)典的HMM算法和本文方法對于火車駕駛員4種手臂動態(tài)手勢識別效果對比,由表中可知,平均識別率DTW算法高于HMM算法4.3 %,由于駕駛員動態(tài)手勢序列長度時(shí)時(shí)刻刻都在發(fā)生變化,DTW算法通過動態(tài)規(guī)劃方法可以解決不同長度運(yùn)動序列的匹配問題。因此,相對于HMM算法來說,DTW算法更適合于處理火車駕駛員動態(tài)手臂動作識別問題。

表3 HMM算法與DTW算法效果對比 %

4.4 動態(tài)手勢識別效果

圖5中左側(cè)顯示的是手臂動態(tài)動作識別結(jié)果與得分,右側(cè)顯示的是手掌動態(tài)手勢識別結(jié)果與得分。通過多次測試,該手勢識別與評價(jià)系統(tǒng)不僅結(jié)果可靠,運(yùn)行穩(wěn)定,而且運(yùn)行速度可達(dá)25幀/s,非常適合于火車駕駛員手勢識別與規(guī)范性評價(jià)。

圖5 動態(tài)手勢識別效果

5 結(jié) 論

本文論述了一種能夠動識別動態(tài)手勢的方法,該方法通過將人體骨骼節(jié)點(diǎn)信息與深度圖像信息相結(jié)合的方法將手掌位置信息提取,并將手掌圖像信息從背景中分離出來,采用SVM算法對分割后的手勢圖像進(jìn)行識別,最終通過手臂骨骼節(jié)點(diǎn)的運(yùn)動序列,利用DTW算法進(jìn)行動態(tài)手勢最優(yōu)匹配。實(shí)驗(yàn)數(shù)據(jù)表明了該方法在處理動態(tài)手勢識別中的有效性。

文中選取了4種動態(tài)手勢進(jìn)行識別,同時(shí)選取了手掌、手腕、手肘、肩、肩中心等18個(gè)3D特征點(diǎn)用來分析手勢變化,未考慮其它區(qū)域特征點(diǎn)對手勢識別的影響。在下一步的工作中,將考慮如何找出不同手勢特征點(diǎn)之間的詳細(xì)特征描述,對更多動態(tài)進(jìn)行識別。

猜你喜歡
手掌手勢像素點(diǎn)
挑戰(zhàn)!神秘手勢
攤開手掌
V字手勢的由來
手掌上的童話
基于canvas的前端數(shù)據(jù)加密
勝利的手勢
基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
手掌上的“小洞”
基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
苏尼特右旗| 于都县| 桃园县| 城固县| 象州县| 嘉定区| 定结县| 黄骅市| 乐山市| 三江| 抚州市| 延安市| 布尔津县| 晋江市| 九江市| 山东省| 祁阳县| 邹平县| 竹溪县| 通州市| 和林格尔县| 马鞍山市| 南和县| 泽库县| 炉霍县| 吉首市| 龙游县| 永德县| 河曲县| 泸定县| 孟州市| 合阳县| 瓦房店市| 黔西县| 子长县| 河西区| 信丰县| 惠安县| 阿鲁科尔沁旗| 菏泽市| 宁海县|