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

?

基于Kinect的人體骨骼信息提取與手勢識別

2020-08-25 02:07:08陳燕軍
機械工程與自動化 2020年4期
關鍵詞:手勢骨骼濾波

陳燕軍

(江西現(xiàn)代職業(yè)技術學院 機械學院,江西 南昌 330095)

0 引言

Kinect for Windows SDK是微軟專為開發(fā)Kinect傳感器而設計的一套軟件開發(fā)包,它賦予了電腦調用自己的“眼睛”和“耳朵”(即紅外投影器、RGB攝像頭及麥克風陣列等)來實現(xiàn)視聽的功能。

微軟公司發(fā)布了Kinect.NET接口,這使得開發(fā)人員可以在現(xiàn)有的LabVIEW平臺上使用.NET技術來實現(xiàn)Kinect傳感器的開發(fā)。Kinesthesia Toolkit for Microsft Kinect是一個基于LabVIEW平臺的第三方開發(fā)工具包,它將Kinect的.NET控件的功能都封裝成LabVIEW的子VI,從而大大提高了Kinect的開發(fā)效率。

Kinect for Windows SDK的核心包括圖像數(shù)據(jù)API、深度數(shù)據(jù)API和骨骼數(shù)據(jù)API,通過調用這些API函數(shù)實現(xiàn)了體感交互軟件功能的開發(fā),例如姿勢識別、動作識別、手勢識別和聲音識別等[1]。

1 人體骨骼信息的提取

1.1 Kinect骨骼追蹤原理

Kinect骨骼追蹤是通過紅外投影器來感知外部環(huán)境的,因此,無論外部環(huán)境光照條件如何,都可以完成骨骼追蹤的功能。Kinect利用黑白光譜的方式來感知外部環(huán)境,即:純黑代表無窮遠,純白代表無窮近,黑白的灰色地帶對應物體到傳感器的物理距離。Kinect收集視野范圍內的每一點,并形成一幅代表周圍環(huán)境的景深圖像。傳感器以每秒30幀的速度生成景深圖像數(shù)據(jù)流,實時地再現(xiàn)周圍外部環(huán)境[2-4]。

Kinect人體骨骼信息獲取的具體過程為:首先Kinect發(fā)射紅外線并接收紅外光的反射,從而可以計算出視場范圍內每一個像素的深度值,即可獲得深度圖像,從深度圖像中可以提取物體的形狀;然后利用這些形狀信息來匹配人體的各部分;最后計算出人體各關節(jié)的位置[5]。

1.2 深度圖像獲取與人體骨骼關節(jié)點識別

在Kinect人體骨骼識別中,人體的骨骼結構是由20個骨骼關節(jié)點來表示的。全身20個骨骼關節(jié)點分別為:Head(頭部)、ShoulderCenter(雙肩中央)、ShoulderLeft(左肩)、ShoulderRight(右肩)、WristLeft(左腕關節(jié))、WristRight(右腕關節(jié))、AnkleLeft(左踝關節(jié))、AnkleRight(右踝關節(jié))、HandLeft(左手)、HandRight(右手)、Spine(脊柱中段)、HipCenter(臀部中央)、HipLeft(左臀)、HipRight(右臀)、KneeLeft(左膝蓋)、KneeRight(右膝蓋)、ElbowLeft(左肘關節(jié))、ElbowRight(右肘關節(jié))、FootLeft(左腳)、FootRight(右腳)[6]。Kinect骨骼跟蹤的空間坐標系采用笛卡爾坐標系,其中X、Y、Z是深度傳感器的機身坐標軸,遵循右手坐標系規(guī)則。人體骨骼關節(jié)點可以用空間坐標(x,y,z)來表示(單位為m)。Kinect傳感器的位置放置會影響骨骼空間坐標系。為了保證提取到的人體骨骼圖像是豎直站立的,在提取人體骨骼數(shù)據(jù)時應該注意保持Kinect傳感器水平放置。如果Kinect放置在非水平的表面上或者通過傳動馬達調整有效視角范圍都會導致Y軸不垂直于水平面,那么計算得到的坐標系將不再是標準形式,這將會導致圖像中的人體骨骼圖像發(fā)生傾斜[7]。

1.3 LabVIEW平臺下Kinect人體骨骼數(shù)據(jù)提取的實現(xiàn)

在LabVIEW平臺下對骨骼數(shù)據(jù)的提取是利用其功能子VI來實現(xiàn)的,基于功能子VI實現(xiàn)人體骨骼數(shù)據(jù)提取的LabVIEW程序流程如圖1所示。

圖1 人體骨骼數(shù)據(jù)提取的LabVIEW程序流程

由于外界環(huán)境的影響,Kinect深度攝像頭所獲取的深度圖像不是很穩(wěn)定,存在一定的噪聲和空洞,如果直接從中提取骨骼信息,會對提取的結果產生一定的影響,因此需要預先對深度圖像做進一步的噪聲濾波來消除空洞和邊緣模糊現(xiàn)象對深度信息的影響。

在Kinect中,其自身采用了泊松方程來對噪聲進行濾波,通過這種方法可以判斷人體表面特征點是真實的點還是噪聲。其具體實現(xiàn)過程如下:先抓取特征點周邊表面的角度和朝向,從而判斷該點可能存在的空間位置;同時根據(jù)朝向進行判斷,這樣可以利用泊松方程在特征點周圍形成一個虛擬的距離場。通過泊松方程建立這個距離場之后,根據(jù)采樣特征點的位置,盡可能地評估它對周圍的影響,估計周圍表面距離場情況。每個特征點的最終狀態(tài)和特征并不僅僅取決于它本身,還取決于周圍的很多點。如果在采樣面中有一個凸起點,這個點周圍的點在朝向特性上都沒有表現(xiàn)出有凸起的趨勢,則這個點將被判斷成噪聲去除掉,反之則保留[8]。

此外,還需要對Kinect采集到的深度信息進行濾波,本文采用中值濾波法。中值濾波的具體方法是采用特定結構的二維滑動模板,按照像素值大小對模板內的像素進行排序,生成單調上升或下降的二維數(shù)據(jù)序列。中值濾波算法流程如圖2所示。

通過實驗可以獲取人體的視頻圖像及骨骼數(shù)據(jù),圖3顯示的實驗結果是不同姿勢的二維圖像和骨骼數(shù)據(jù)。

2 人體手勢識別

2.1 手勢識別的概念

如前所述,體感控制包括人體姿勢控制和手勢控制,姿勢可以由手產生,也可以由整個身體產生,而手勢只能通過人手產生。姿勢和手勢的區(qū)別在于手勢更強調手的運動,而姿勢則更強調整個身體的形態(tài)。

在人機交互領域,可以根據(jù)手勢所表達的意義對其進行如下分類:一類為無意義的動作,另一類為用戶意圖手勢。用戶意圖手勢可以分為操作手勢和交流手勢。操作手勢是用來操控環(huán)境中的物體,例如旋轉、平移等;交流手勢本質上是為了傳遞某種信息,它可以分為動作手勢和符號手勢。符號手勢分為指示手勢和語氣手勢,其具有語言描述的作用;動作手勢分為模仿手勢和指向手勢,在人機交互領域中經常使用動作手勢來實現(xiàn)控制功能[9]。手勢識別過程是指把模型參數(shù)中的點或者軌跡劃分到該空間里某個子集的過程,靜態(tài)手勢對應的是空間子集里的一個點,動態(tài)手勢對應的是空間子集里的一條運動軌跡。基于計算機視覺的手勢識別過程分為動態(tài)手勢識別過程和靜態(tài)手勢識別過程,其具體流程分別如圖4和5所示。

圖2 中值濾波算法流程

圖3 人體骨骼數(shù)據(jù)采集與顯示

圖4 靜態(tài)手勢識別流程 圖5 動態(tài)手勢識別流程

2.2 基于Kinect的手勢識別

Kinect手勢識別實質是基于視覺的手勢識別,主要是通過提取手部運動特征來實現(xiàn)。常見的手部運動特征主要包括左右手的向前、向左、向右、向上伸展等手勢。利用Kinect獲取的人體骨骼信息來識別手勢動作,并通過計算不同骨骼關節(jié)之間的夾角來識別人體的特定姿勢,其具體的流程如圖6所示。

圖6 手勢特征識別與處理流程

首先通過Kinect RGB傳感器獲取人體彩色圖,通過獲取的人體骨骼數(shù)據(jù)來構建人體骨架,然后再對手臂骨骼數(shù)據(jù)進行分析并與已定義的手勢進行分析比較,最后根據(jù)比較得出的信息對手勢進行識別并輸出控制信息。

在手勢識別的過程中,首先需要對手勢進行定義,其次是根據(jù)骨骼信息來識別已定義的手勢。在具體實現(xiàn)中,本文是利用手臂的關節(jié)組成的向量與X、Y、Z軸方向向量之間的夾角來進行條件判定的。當手臂關節(jié)組成的向量與方向向量的夾角在一定的范圍內,則認為實際手勢與已定義的手勢是相匹配的,從而得出控制指令信息并用來驅動相應的應用程序。

3 結束語

通過分析Kinect骨骼追蹤的原理、人體手勢識別的原理,以及在LabVIEW平臺下對Kinect進行開發(fā)的具體流程,提取并顯示人體二維圖像及三維骨骼信息,并利用人體骨骼三維信息求解人體關節(jié)角度的空間向量法,實現(xiàn)通過Kinect來對人體骨骼信息及人體手勢的識別,從而進一步拓寬了體感控制的應用范圍。

猜你喜歡
手勢骨骼濾波
做家務的女性骨骼更強壯
中老年保健(2021年5期)2021-12-02 15:48:21
三減三健全民行動——健康骨骼
中老年保健(2021年5期)2021-08-24 07:06:28
挑戰(zhàn)!神秘手勢
V字手勢的由來
骨骼和肌肉
小布老虎(2017年1期)2017-07-18 10:57:27
勝利的手勢
RTS平滑濾波在事后姿態(tài)確定中的應用
基于線性正則變換的 LMS 自適應濾波
遙測遙控(2015年2期)2015-04-23 08:15:18
基于隨機加權估計的Sage自適應濾波及其在導航中的應用
基于Sage—Husa濾波的GNSS/INS組合導航自適應濾波
临江市| 龙泉市| 临沭县| 华阴市| 武清区| 东阿县| 西丰县| 汉沽区| 铁岭市| 仙桃市| 迁安市| 启东市| 郓城县| 涪陵区| 庆阳市| 托克逊县| 永州市| 丰宁| 杭锦旗| 湖南省| 沿河| 鄂伦春自治旗| 德江县| 遵义市| 腾冲县| 佛坪县| 永德县| 奉化市| 吉林省| 大荔县| 海林市| 晋中市| 年辖:市辖区| 中方县| 永年县| 深圳市| 准格尔旗| 乐陵市| 绍兴县| 涡阳县| 松滋市|