• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      陳燕軍

      (江西現(xiàn)代職業(yè)技術(shù)學(xué)院 機(jī)械學(xué)院,江西 南昌 330095)

      0 引言

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

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

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

      1 人體骨骼信息的提取

      1.1 Kinect骨骼追蹤原理

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

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

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

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

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

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

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

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

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

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

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

      2 人體手勢識別

      2.1 手勢識別的概念

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

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

      圖2 中值濾波算法流程

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

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

      2.2 基于Kinect的手勢識別

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

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

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

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

      3 結(jié)束語

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

      猜你喜歡
      手勢骨骼濾波
      做家務(wù)的女性骨骼更強(qiáng)壯
      中老年保健(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)確定中的應(yīng)用
      基于線性正則變換的 LMS 自適應(yīng)濾波
      遙測遙控(2015年2期)2015-04-23 08:15:18
      基于隨機(jī)加權(quán)估計(jì)的Sage自適應(yīng)濾波及其在導(dǎo)航中的應(yīng)用
      基于Sage—Husa濾波的GNSS/INS組合導(dǎo)航自適應(yīng)濾波
      东城区| 安阳市| 济宁市| 伊宁县| 军事| 芜湖县| 侯马市| 剑川县| 海伦市| 商水县| 宁蒗| 定远县| 安陆市| 社旗县| 娱乐| 达日县| 台南市| 永寿县| 桐柏县| 榆树市| 晋州市| 张北县| 南召县| 都兰县| 虞城县| 绿春县| 罗山县| 泰安市| 神池县| 连城县| 扶余县| 扎鲁特旗| 佛坪县| 定西市| 沈丘县| 咸丰县| 永泰县| 安顺市| 中江县| 剑阁县| 丘北县|