亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Kinect的手方向?qū)崟r估計系統(tǒng)

        2023-03-15 08:47:06陳建新潘招來黃湘君
        計算機應(yīng)用與軟件 2023年2期
        關(guān)鍵詞:歐拉角卡爾曼濾波骨骼

        姚 玲 陳建新 潘招來 黃湘君

        (南京郵電大學(xué)通信與信息工程學(xué)院 江蘇 南京 210000)

        0 引 言

        人機交互已有30多年的歷史,其發(fā)展極大地豐富了用戶體驗[1]。在人機交互領(lǐng)域,對人體骨骼姿態(tài)的追蹤已經(jīng)變得越來越重要,這主要是由于它們在醫(yī)療、生物醫(yī)學(xué)、人機界面、虛擬現(xiàn)實、機器人技術(shù)等領(lǐng)域的應(yīng)用[2]。手作為人體骨骼中最靈活的關(guān)節(jié),被認為是最方便、最有效的交流工具,因此對手姿勢的估計一直是一個熱門領(lǐng)域。文獻[3]提出了一種將17個慣性傳感器(IMU)和中央處理器(CPU)集成在可穿戴式感應(yīng)手套上來捕捉手關(guān)節(jié)的自由度。文獻[4]提出了一種在大拇指、中指和手背上分別帶三個IMU傳感器來估計手和手指之間的相對方向。這種基于傳感器的方法雖然準(zhǔn)確度較高但是手上需要佩戴設(shè)備,視野和跟蹤范圍受到一定的限制。文獻[5]提出一種利用更快的卷積神經(jīng)網(wǎng)絡(luò)(CNN)的主干生成矩形區(qū)域檢測手并提取特征,旋轉(zhuǎn)網(wǎng)絡(luò)生成一個與手對齊的估計面來估計手方向。文獻[6]提出了一種利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來檢測手的邊界框,并將與手邊界框?qū)R的向量的方向作為手的方向?;诰矸e神經(jīng)網(wǎng)絡(luò)的方法需要大量的數(shù)據(jù)集來訓(xùn)練,準(zhǔn)確度高,但是實時性差,并且在環(huán)境改變時會對準(zhǔn)確度有影響。文獻[7]提出了一種利用幾何方法來計算角度并結(jié)合分解四元數(shù)算法(FQA)[8]對手方向進行估計。文獻[9]提出了一種將手的手掌區(qū)域和手指區(qū)域分離,并提取出手掌中心點和手的中指點、拇指點來估計手方向。幾何方法是計算關(guān)節(jié)角度的一種常用方法,簡單易行,但是在準(zhǔn)確獲取關(guān)節(jié)位置信息的基礎(chǔ)上,抖動和噪聲較大,準(zhǔn)確度不高。因此,上述方法對手方向進行估計時的缺陷可歸結(jié)為實時性差以及準(zhǔn)確率低。針對此問題,本文提出一種基于Kinect的手方向?qū)崟r估計系統(tǒng)。該系統(tǒng)可以準(zhǔn)確、實時對手方向進行估計,并利用開放圖形庫(OpenGL)構(gòu)建一個3D的虛擬手模型,模仿手的實時運動,提高了人機交互的體驗。

        1 系統(tǒng)設(shè)計

        本文系統(tǒng)框圖如圖1所示,首先通過深度數(shù)據(jù)尋找目標(biāo)用戶,結(jié)合從Kinect獲得骨骼數(shù)據(jù)找到目標(biāo)用戶的手腕點的位置,并利用Holt雙指數(shù)平滑濾波算法對手腕位置的骨骼點坐標(biāo)進行平滑處理;然后將從Kinect獲得手腕點的四元數(shù)轉(zhuǎn)換為歐拉角以便可以直觀地觀察手的方向變化。為了消除由Kinect噪聲引起的歐拉角抖動,利用一種將卡爾曼濾波和中值濾波結(jié)合的算法來平滑歐拉角,濾除噪聲。最后,對計算出的歐拉角進行可視化,主要通過兩種方法,分別是在彩色圖像中繪制代表手方向的坐標(biāo)系以及運用OpenGL構(gòu)建3D手模型。

        圖1 手方向?qū)崟r估計系統(tǒng)框圖

        1.1 尋找目標(biāo)用戶

        深度傳感器(Kinect)以其成本低,提供彩色圖像數(shù)據(jù)以及來自紅外傳感器的深度數(shù)據(jù)的特點而在人機交互領(lǐng)域越來越被研究者青睞[10]。與傳統(tǒng)的彩色攝像頭不同的是,Kinect深度傳感器能夠克服彩色攝像頭易受光線等外界干擾的缺點,準(zhǔn)確跟蹤到視野范圍內(nèi)的人體[11]。Kinect可以同時跟蹤六個用戶,并為這六個用戶分配不同的ID信息。為了防止用戶間的相互干擾,導(dǎo)致從Kinect獲取的數(shù)據(jù)不準(zhǔn)確,本文選取距離Kinect最近的用戶ID作為標(biāo)記用戶ID。然后,將當(dāng)前幀的用戶ID與標(biāo)記用戶ID進行匹配。用戶ID完成匹配之后,檢查當(dāng)前幀的用戶ID的跟蹤狀態(tài),因為只有當(dāng)前幀的用戶ID的狀態(tài)處于被跟蹤時,Kinect才能對其信息進行處理。其算法流程如下:

        1) 識別用戶,利用Kinect的深度數(shù)據(jù)找到距離Kinect最近的用戶ID,作為標(biāo)記用戶ID。

        2) 搜索當(dāng)前幀的用戶ID,將其與標(biāo)記用戶ID進行匹配。

        3) 如果ID值相同,則匹配成功,將當(dāng)前幀的用戶作為目標(biāo)用戶。

        4) 檢測目標(biāo)用戶的跟蹤狀態(tài),如果處于被跟蹤狀態(tài),就可以對Kinect輸入幀的信息進行處理。

        5) 如果ID匹配不成功或者目標(biāo)用戶狀態(tài)不是被跟蹤時,返回步驟1)重做處理。

        1.2 骨骼點平滑

        開啟骨骼數(shù)據(jù)流后,當(dāng)目標(biāo)用戶出現(xiàn)在Kinect的有效視野范圍內(nèi),Kinect就可以迅速檢測出人體并獲取其骨骼信息[12]。由于從Kinect獲取的骨骼信息存在噪聲和抖動,因此可以通過對不同幀的骨骼信息濾波來減小抖動。濾波不可避免地會存在一定的延遲。為了確保實時性,本文使用Holt雙指數(shù)平滑濾波算法[13],因為其延遲比其他濾波算法要小。Holt雙指數(shù)平滑濾波算法主要是通過5個參數(shù)進行濾波處理,這5個參數(shù)分別為:

        平滑參數(shù):代表著處理骨骼數(shù)據(jù)時的平滑量,其值在0~1之間,值越大代表平滑得越多,0代表不平滑,平滑參數(shù)增大得越多,返回的骨骼數(shù)據(jù)的延遲就越大。

        修正參數(shù):代表對原始數(shù)據(jù)的修正量,其值在0~1之間,較小的值對原始數(shù)據(jù)修正的速度較慢但會更平滑。

        預(yù)測超前期數(shù):其值應(yīng)該大于等于0.5,增大該值能減小濾波的延遲。

        抖動半徑參數(shù):代表修正的半徑,如果抖動超過了設(shè)置的這個半徑,將會被糾正到這個半徑之內(nèi)。

        最大偏離半徑參數(shù):用來和抖動半徑參數(shù)一起來設(shè)置抖動半徑的最大邊界。

        同時,為了減少骨骼點坐標(biāo)的噪聲,本文對五幀連續(xù)幀的數(shù)據(jù)進行加權(quán)平均來更新當(dāng)前幀的骨骼點坐標(biāo)。

        1.3 四元數(shù)轉(zhuǎn)換

        常用的兩種表示姿態(tài)的方法是四元數(shù)[14-16]和歐拉角。由于四元數(shù)比歐拉角更復(fù)雜并且不夠直觀,因此本文選用歐拉角來表示手的姿態(tài)。歐拉角是用來描述物體旋轉(zhuǎn)姿態(tài)的三個角度[17]。如圖2所示,ψ、θ和φ分別定義為繞Z軸、Y軸和X軸的旋轉(zhuǎn)角度。

        圖2 歐拉角示意圖

        如果用卡爾丹角(Tait-Bryan angles)表示,定義歐拉角的轉(zhuǎn)動順序為Z-Y-X,則ψ、θ和φ分別對應(yīng)偏航角(Yaw)、俯仰角(Pitch)、翻滾角(Roll)。

        本文首先從Kinect獲得手腕點的四元數(shù)q=[w,x,y,z]。然后根據(jù)式(1)將四元數(shù)轉(zhuǎn)換為歐拉角。

        (1)

        用式(1)計算歐拉角會存在奇異解問題,發(fā)生自由度的損失。例如,當(dāng)俯仰角為90度時,偏航和翻滾角就變成一個自由度[18]。為了解決這個問題,本文通過設(shè)置合理的閾值來檢測俯仰角的狀態(tài)。由于當(dāng)俯仰角等于±90度時,wy-xz的值等于±0.5,因此,設(shè)置閾值使其盡可能接近0.5。其算法流程如下:

        1) 設(shè)置閾值為0.499。

        2) 計算四元數(shù)q中的wy-xz的值,如果其值在-0.499到0.499之間,則不存在奇異解問題,用式(1)計算歐拉角。

        3)如果其值不在-0.499到0.499之間,則存在奇異解問題,用式(2)計算歐拉角。

        (2)

        1.4 歐拉角濾波

        由于Kinect傳感器自身存在的噪聲,使得計算得到的歐拉角存在很大的噪聲并且非常不穩(wěn)定。對姿態(tài)進行濾波常用的算法是卡爾曼濾波[19]??柭鼮V波是一種基于狀態(tài)空間的遞歸濾波算法。其模型包括狀態(tài)空間模型和觀測模型。前者使用狀態(tài)方程來描述相鄰狀態(tài)矩陣的轉(zhuǎn)換定律,后者則反映了實際觀測值與狀態(tài)變量之間的關(guān)系。濾波是將觀測信息和狀態(tài)轉(zhuǎn)移定律結(jié)合起來,以獲得對系統(tǒng)狀態(tài)的最優(yōu)估計。假設(shè)動態(tài)系統(tǒng)的狀態(tài)空間模型是:

        xk=Akxk-1+Bkuk+wk

        (3)

        zk=Hkxk+vk

        (4)

        式中:k是時間索引;xk是狀態(tài)向量;zk是測量向量;Ak是狀態(tài)轉(zhuǎn)移矩陣;uk是控制向量;Bk是控制矩陣;wk是系統(tǒng)誤差(噪聲);Hk是測量矩陣;vk是測量誤差(噪聲)。wk和vk均為高斯噪聲,均服從高斯分布,即:

        wk~N(0,Qk)

        (5)

        vk~N(0,Rk)

        (6)

        式中:Qk、Rk分別是wk和vk的協(xié)方差矩陣。

        根據(jù)式(3)和式(4),計算過程主要分為預(yù)測和修正兩個階段。在預(yù)測階段,濾波器使用上一狀態(tài)的估計對當(dāng)前狀態(tài)進行預(yù)測。主要計算過程如下:

        (7)

        (8)

        式中:yk是測量誤差;Kk是最佳卡爾曼增益;xk/k為修正后的狀態(tài)值;Pk/k為修正后的均方誤差。

        傳統(tǒng)的卡爾曼濾波算法僅適用于線性高斯系統(tǒng),且當(dāng)描述系統(tǒng)動態(tài)特性的數(shù)學(xué)模型和噪聲估計模型不準(zhǔn)確時,無法獲得良好的效果[20]。并且,卡爾曼濾波是一個遞歸過程[21],所以隨著濾波次數(shù)增加,舍入誤差將逐漸累積。針對這個問題,本文提出一種將卡爾曼濾波和中值濾波結(jié)合的算法,首先利用卡爾曼濾波器消除在每一幀中歐拉角的噪聲。然后,對連續(xù)幀的卡爾曼濾波輸出進行中值濾波,將中值濾波之后輸出的歐拉角作為代表手旋轉(zhuǎn)方向的角。

        2 實驗設(shè)計

        2.1 實驗環(huán)境

        本文實驗環(huán)境為一臺配置為Intel Xeon E5 2.4 GHz處理器,48 GB內(nèi)存,Windows 10 64位操作系統(tǒng)的計算機,一個用于捕獲手部動作的深度相機Kinect v2。

        2.2 實驗結(jié)果與分析

        為了驗證本文方法與卡爾曼濾波相比平滑效果更好,設(shè)計實驗一如下:將手沿骨骼方向任意旋轉(zhuǎn),并從中選取手水平、手垂直和手傾斜時的這三個代表狀態(tài),繪制了在這三個狀態(tài)時不同方法下的歐拉角變化曲線。

        實驗一的結(jié)果如圖3所示,本文方法和卡爾曼濾波都對原始歐拉角有平滑效果,但是本文方法的平滑效果更好,使得歐拉角的波動幅度減小,變化曲線趨于更平緩,減小歐拉角的抖動的效果更明顯。

        (a) 手水平時的歐拉角濾波效果

        (b) 手垂直時的歐拉角濾波效果

        (c) 手傾斜時的歐拉角濾波效果圖3 手不同狀態(tài)時歐拉角的濾波效果

        當(dāng)手掌平面垂直于Kinect平面時,偏航角Yaw可以表示手沿骨骼旋轉(zhuǎn)的角度。實驗數(shù)據(jù)測量到,當(dāng)手掌平面垂直于Kinect平面且正對時,偏航角等于0。當(dāng)手逆時針旋轉(zhuǎn)時,該角度為正;當(dāng)手順時針旋轉(zhuǎn)時,該角度為負。

        為了驗證本文方法與卡爾曼濾波相比對歐拉角的濾波效果更好,從而使歐拉角更加穩(wěn)定,設(shè)計實驗二如下:將手旋轉(zhuǎn)到任意11個偏航角值,然后,計算手旋轉(zhuǎn)到這11個角度下不同方法濾波后歐拉角的方差。實驗二的結(jié)果如表1-表3所示,表中分別列出了Roll、Pitch、Yaw角的原始方差、經(jīng)過卡爾曼濾波后的方差以及經(jīng)過本文方法濾波后的方差。從實驗結(jié)果可以看出,經(jīng)過本文方法濾波后歐拉角的方差這11個角度下都要小于經(jīng)過卡爾曼濾波后歐拉角的方差。

        表1 不同方法濾波后Roll角的方差比較

        表2 不同方法濾波后Pitch的方差比較

        表3 不同方法濾波后Yaw的方差比較

        重復(fù)上述實驗10次,得到歐拉角方差的平均值。表4列出了卡爾曼濾波和本文方法對原始數(shù)據(jù)方差減小的程度??梢钥闯?,與卡爾曼濾波相比,本文方法對Roll、Pitch、Yaw這三個角原始數(shù)據(jù)的方差的減小程度更大,分別比卡爾曼濾波多減小11百分點、14百分點、15百分點,從而使歐拉角的穩(wěn)定性更好。

        表4 不同方法對原始數(shù)據(jù)方差減小的程度比較(%)

        本系統(tǒng)可以得到手在任何姿勢下的角度,并將角度可視化到彩色圖像上和OpenGL構(gòu)建的3D手模型上,為了驗證可視化效果,設(shè)計實驗三如下:站在Kinect攝像頭面前,旋轉(zhuǎn)手,在彩色圖像上繪制了一個與Kinect具有相同初始狀態(tài)的坐標(biāo)系,然后將計算得到的歐拉角傳遞給坐標(biāo)系和OpenGL構(gòu)建的3D手模型。實驗三的結(jié)果如圖4所示,圖4展示了手旋轉(zhuǎn)在一系列連續(xù)幀的彩色圖像和OpenGL虛擬手模型上的估計結(jié)果,可以看出彩色圖像中的坐標(biāo)系和OpenGL構(gòu)建的3D手模型都隨手的旋轉(zhuǎn)而旋轉(zhuǎn),能夠準(zhǔn)確地模仿手的旋轉(zhuǎn)運動。由于本文方法是基于Kinect骨骼點的四元數(shù)進行手方向估計,Kinect的幀率為30幀/s,滿足實時性要求。

        圖4 手方向估計結(jié)果

        3 結(jié) 語

        本文是基于Kinect的手方向?qū)崟r估計系統(tǒng)。該系統(tǒng)利用Holt雙指數(shù)平滑濾波算法平滑Kinect的骨骼數(shù)據(jù),根據(jù)骨骼數(shù)據(jù)定位到手的位置。由于四元數(shù)旋轉(zhuǎn)較復(fù)雜且不直觀,該系統(tǒng)將四元數(shù)轉(zhuǎn)換為歐拉角,但是在此過程中會出現(xiàn)奇異解問題,該系統(tǒng)通過設(shè)置合理的閾值的方法來解決,使得轉(zhuǎn)換過來的歐拉角不會發(fā)生自由度損失。為了克服Kinect噪聲對歐拉角的影響,該系統(tǒng)提出一種將卡爾曼濾波和中值濾波結(jié)合的算法。實驗結(jié)果表明,與卡爾曼濾波相比,該方法能更有效地消除歐拉角中的噪聲,使得歐拉角更穩(wěn)定。為了驗證系統(tǒng)的準(zhǔn)確性和實時性,本文在彩色圖像中對手方向進行估計,同時運用OpenGL建立了3D手模型,可以實時準(zhǔn)確地模仿手的運動。但是該系統(tǒng)在手不是沿骨骼方向運動時對手方向估計不準(zhǔn)確,因為會出現(xiàn)手掌平面將手腕點遮擋的情況,導(dǎo)致骨骼點不能定位到手腕點,因此,優(yōu)化系統(tǒng),使其能夠解決此問題是下一步的研究方向。

        猜你喜歡
        歐拉角卡爾曼濾波骨骼
        做家務(wù)的女性骨骼更強壯
        中老年保健(2021年5期)2021-12-02 15:48:21
        三減三健全民行動——健康骨骼
        中老年保健(2021年5期)2021-08-24 07:06:28
        基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
        骨骼和肌肉
        小布老虎(2017年1期)2017-07-18 10:57:27
        從CATIA位置矩陣求解歐拉角的計算方法分析
        科技視界(2017年6期)2017-07-01 08:33:34
        一種基于EGI和標(biāo)準(zhǔn)人臉模板的三維人臉點云拼合算法
        基于模糊卡爾曼濾波算法的動力電池SOC估計
        基于擴展卡爾曼濾波的PMSM無位置傳感器控制
        大姿態(tài)角入水時的魚雷半實物仿真方法研究
        四元數(shù)與歐拉角剛體動力學(xué)數(shù)值積分算法及其比較
        亚洲欧洲日产国码无码AV一| 久久婷婷五月国产色综合| 欧美黑人性暴力猛交喷水黑人巨大 | 欧美乱妇高清无乱码在线观看| 久久精品国产精品青草色艺| 素人系列免费在线观看| 久久久精品国产免费看| 日本艳妓bbw高潮一19| 日韩AV不卡六区七区| 成人国产自拍在线播放| 亚洲乱码av乱码国产精品| 人人爽久久涩噜噜噜丁香| 91免费播放日韩一区二天天综合福利电影 | 国产一区二区自拍刺激在线观看| 亚洲精品乱码久久久久久蜜桃不卡| 久久频道毛片免费不卡片| 丰满人妻无套内射视频| 精品一区三区视频在线观看| 老外和中国女人毛片免费视频| 麻豆国产乱人伦精品一区二区| 国内精品少妇久久精品| 亚洲日韩小电影在线观看| 在教室伦流澡到高潮h麻豆| 欧洲AV秘 无码一区二区三 | 精品亚洲成a人在线观看青青| 国产在线欧美日韩精品一区二区| 亚洲一区二区三区熟妇| 日韩少妇内射免费播放18禁裸乳| 色拍拍在线精品视频| 伊人不卡中文字幕在线一区二区| 日韩精品在线视频一二三| 天天天天躁天天爱天天碰| 日韩精品一区二区三区四区| 精品亚洲一区二区三洲| 2020无码专区人妻系列日韩| 福利在线国产| 高清少妇一区二区三区| 亚洲成av人片乱码色午夜| 男人和女人高潮免费网站| 亚洲精品一品二品av | 亚洲欧美乱日韩乱国产|