999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于相關點均值處理的Kinect人手位置檢測方法研究

2021-06-28 06:59:12殷宏彬趙悅唐維彥林閩旭陸熊黃曉梅
南京信息工程大學學報 2021年3期
關鍵詞:深度測量檢測

殷宏彬 趙悅 唐維彥 林閩旭 陸熊 黃曉梅

1 南京航空航天大學 自動化學院,南京,211106

0 引言

近年來,隨著人機交互技術的飛速發展,鼠標、鍵盤和遙控器等傳統人機交互接口已經不能滿足涉及三維信息的人機交互需求,尋找更加便捷、自然的人機交互方式已成為該領域關注的熱點[1-2].而首要問題就是需要機器能夠正確地認識和理解人的行為.在這種背景下,位置檢測問題被人們提出.位置檢測是人機交互的基礎,只有準確檢測到人體位置,才能確保機器對用戶的操作進行正確處理.

在各種新穎的交互技術中,手勢因其靈活性和多樣性而受到越來越多的關注.然而人手的運動是人體運動中最復雜的部分,對人手的位置檢測方法研究具有極大挑戰性[3].在過去的幾十年里,研究人員通常使用數據手套作為標記來跟蹤手的位置[4].例如Glauser等[5]基于拉伸傳感器制作了數據手套以實現人手的追蹤與重建,具有很高的精度.然而,由于佩戴不便、調試復雜等原因,該方法很難廣泛使用.相比之下,非接觸式視覺檢測方法具有成本低、對人體舒適等優點,是目前流行的人手檢測方法.如孫莉紅等[6]和郭怡文等[7]均采用幀差法、膚色分割法等算法進行人手區域分割,實現了基于膚色的手部定位與跟蹤.但由于基于二維圖像序列的識別方法穩定性較差,復雜的背景和光照變化都會影響膚色檢測的效果,因此很難獲得期望的結果.此外,研究人員也通過基于光學、電磁學等其他方法實現了人手位置檢測.如孫俊彬等[8]通過在手指位置安置激光信號接收器,通過計算光學基站發射的激光平面到達被定位物體的掃描時間,實現三維空間中手指位置的精確定位.Ma等[9]提出了一種基于可見光的3D手指跟蹤技術,他們通過投影儀將光編碼圖案投影到桌子、顯示器等物體表面,并使用光傳感器對投影光進行檢測并解碼,從而獲得手指的三維坐標信息.Chen等[10]提出了一種基于電磁場的多點手指跟蹤系統,用戶在指尖佩戴電磁鐵,系統則通過計算電磁體和4個磁性傳感器之間的距離,使用三邊測量法確定電磁體的3D位置,實現手指位置檢測.

2010年微軟推出的Kinect體感設備,因其作為人機交互接口性能優越、價格低廉,而被廣泛應用于人機交互領域.由于Kinect傳感器配備了深度攝像機,大大簡化了基于視覺的手部檢測.例如Zhao等[11]提出了一種基于 Kinect的虛擬康復系統,通過Kinect檢測用戶上肢的位置信息,指導操作者執行指定動作,實現對中風患者的康復

訓練與恢復評估;Mohsin等[12]提出了一種多深度傳感器的標定方法,通過多個Kinect深度傳感器數據的融合,對身體的四肢等關鍵部位進行定位,當主傳感器深度圖像中的任何一個標定點被遮擋時,可以利用標定參數從其他傳感器的深度幀中獲取該點的坐標,克服了遮擋問題;Schr?der等[13]提出了一種實時手部跟蹤和姿態估計方法,通過讓用戶佩戴上彩色手套,并由Kinect的彩色相機與深度相機對其進行檢測,實現對人手的定位與跟蹤;Kumar等[14]則將Kinect與Leap Motion傳感器進行融合,分別從手的下方(Leap Motion)與正前方(Kinect)對人手進行檢測,提高了測量精度.

本文針對Kinect 2.0在人手位置檢測過程中存在的問題,設計了基于相關點均值處理的人手位置檢測算法,選擇人手食指的骨骼點為目標,對其周圍相關點進行空間平均和時間平均處理,提高人手位置檢測精度和穩定性.本文介紹了算法的整體設計以及人手圖像分割、手指相關點數據獲取、相關點均值處理的實現過程,最后進行了標定實驗,驗證了該算法的有效性和可行性.

1 人手位置檢測算法方案設計

Kinect 2.0可以通過追蹤人體骨骼點,獲取骨骼點的三維位置數據,但該數據波動性較大,波動范圍約在100~130 mm之間,且經過實驗發現測量值與實際值存在較大誤差[15].因此,為了提高人手位置檢測精度,本文進行了基于相關點均值處理的人手位置檢測方法的方案設計,方案流程如圖1所示.

圖1 基于相關點均值處理的人手位置檢測方法流程Fig.1 Flow chart of hand position detection based on mean processing of correlation points

為了獲得更加準確的人手位置檢測數據,首先基于Kinect 2.0獲取的深度數據流,進行人手圖像分割,然后對通過骨骼點獲取的人手位置數據進行處理,將三維位置信息映射到彩色空間,以獲取人手骨骼點及其周圍像素點在相機空間的索引值,調用索引值得到相關點在相機空間中的位置數據,對數據進行空間平均處理,提高位置數據的準確性.由于直接輸出這些數據穩定性較差,所以對經過空間平均處理的位置數據再進行時間上的平均處理,最終得到更加準確和穩定的人手位置信息.

1.1 人手圖像分割

在進行相關點的平均處理前,需要確保所取相關點均屬于人手,所以對人體圖像進行處理,把屬于人手圖像的部分從背景中分割出來.在方案設計中采用基于深度閾值分割的方法,該方法主要分為兩個部分:圖像預處理和深度閾值分割.

1) 圖像預處理

圖像預處理,可以將人體深度圖像從復雜的背景中提取出來.Kinect 除了具有能夠獲取彩色圖像的攝像頭外,還有深度紅外攝像頭和紅外發射器.紅外發射器會主動向空間發射調制過的紅外線激光,當紅外線遇到物體后會被反射,反射回來的紅外線會被深度攝像頭接收,經過運算后得到物體與深度攝像頭平面的垂直距離,用該數值作為深度值來生成深度圖像.

深度圖像每個像素點的深度數據由2個字節、16位組成,高13位代表深度值,低3位代表用戶的人體索引值(bodyIndexFrame)信息,最多可同時追蹤6個人的深度圖像信息.深度值表示了這個像素點到Kinect 2.0傳感器深度攝像頭所在平面的水平距離,可以識別的深度距離范圍在0.5~4.5 m之間.從Kinect 2.0傳感器獲取的深度圖像,可以通過深度值的低3位判斷這個像素點是否屬于人體.通過調用人體索引值,提取出深度數據幀中屬于人體的部分.獲取的人體圖像信息如圖2所示.

圖2 人體深度圖像信息Fig.2 Depth image of human body

2) 深度閾值分割

考慮到在日常生活中的人手動作交流和應用中,大多數情況下人手是在身體前方的,而人手位置較手腕位置總是相對靠前的,所以本文取手腕處骨骼點的深度值作為閾值進行人手分割,可以取得較好的分割效果.將上一步獲取的人體深度信息與該閾值進行比較,如果小于閾值,則判斷該像素點屬于人手,保留該像素點,若大于閾值,則去除,最后即可得到人手深度圖像.

Kinect SDK 2.0為不同坐標系下的圖像信息提供了轉換方法.為了獲取人手彩色圖像,可調用坐標映射函數,將深度圖像中的像素點映射到彩色圖像中對應的像素點,得到人手彩色圖像,如圖3所示.

圖3 人手圖像分割Fig.3 Human hand image segmentation

1.2 手指相關點數據的獲取

在獲取人手骨骼點原始數據的過程中,坐標映射是關鍵步驟,關系到不同坐標系之間的轉換.Kinect坐標系的分類如下:

1)相機空間坐標系(CameraSpace),以Kinect傳感器的深度攝像頭為原點,其左方為X軸正方向,上方為Y軸正方向,正前方為Z軸正方向,屬于右手坐標系.該坐標系是Kinect使用的三維坐標系,輸出的骨骼點位置信息則以這個坐標系為基準,輸出的原始單位為m.

2)深度空間坐標系(DepthSpace),以深度圖像的左上角為原點,用于描述深度圖像上像素點的二維位置,用該點的深度值作為像素點的像素值.

3)彩色空間坐標系(ColorSpace),以彩色圖像的左上角為原點,用于描述彩色圖像上像素點的二維位置,與深度空間坐標系類似.

骨骼點的三維位置坐標屬于以深度攝像頭為坐標原點的坐標系,與彩色圖像的坐標系并不對應,如圖4所示.為了使骨架信息與人體彩色圖像相對應,需要調用Kinect SDK中的坐標映射函數,將相機三維空間的點轉換為彩色空間的點.

圖4 Kinect攝像頭工作范圍示意Fig.4 Working range of Kinect camera

通過坐標映射,可以獲取彩色空間中的人手骨骼點在相機空間中的索引值,該索引值是存儲三維位置信息數組的下標值,例如:

i=1 920Ycolor+Xcolor.

(1)

上述表達式中的i表示骨骼點在三維位置信息數組中的索引值,Xcolor表示骨骼點三維坐標經過映射后在彩色空間中的X坐標,Ycolor表示骨骼點三維坐標經過映射后在彩色空間中的Y坐標,如圖5所示.圖5中的每個小方框表示一個像素點,在彩色圖像上一共有1 920×1 080個像素點.

圖5 骨骼點在彩色空間的映射點Fig.5 Mapping point of skeleton point in color space

除了人手骨骼點的索引值,還可以得到該骨骼點在彩色圖像中對應像素點周圍相關點的索引值,通過調用這些索引值,可得到相關點的三維位置坐標.

1.3 相關點的空間平均處理和時間平均處理

為了提高人手位置檢測精度以及穩定性,對通過骨骼點獲得的人手位置數據進行空間平均處理和時間平均處理.

對人手骨骼點進行空間平均處理:取人手骨骼點在彩色空間中對應像素點周圍的8個點,如圖6所示的3×3矩陣,中間的三角形表示目標點,對這9個點的三維位置數據進行空間平均處理,取它們的X、Y、Z三軸的坐標值分別求和,再取其平均值.

圖6 空間平均處理所取點的3×3矩陣Fig.6 The 3×3 matrix chosen in spatial average

在空間平均處理的過程中,考慮到所取的8個點可能存在噪聲,所以需要對進行空間平均處理的點進行判斷,判斷該點與中心目標點差值是否大于5 mm,若大于5 mm,則判斷該點屬于噪聲,舍去,若≤5 mm,則進行累加求和,求和結束后,將最后獲得的總和除以所取點的個數,得到平均值.這里的5 mm是通過實驗評估后選取的.

另外,僅通過空間平均獲得的數據穩定性較差.為了提高人手位置檢測的穩定性,對空間平均處理得到的三維位置信息再進行時間上的平均處理.Kinect傳感器更新圖像信息的速度為30幀/s,考慮到輸出結果的時效性,每更新5幀數據就進行一次平均處理,將平均處理得到的結果進行輸出,得到人手位置信息,實驗結果如圖7所示.

圖7 基于相關點均值處理的人手位置檢測方法的輸出結果Fig.7 Output of hand position detection algorithm based on mean processing of correlation points

2 實驗驗證與分析

2.1 實驗環境

首先在平面上(本實驗中以墻為平面)準確畫出X、Y坐標軸,如圖8所示,精度為1 mm,用來對獲取的三維位置信息中的X和Y值進行標定.通過使用激光源,確定了X、Y坐標軸相對于深度攝像頭的坐標原點,如圖9所示.

圖8 精度測量實驗中的X、Y坐標軸 Fig.8 X and Y coordinate axes in measuring accuracy experiment

圖9 激光源標定坐標原點Fig.9 Coordinate origin calibrated by laser

使用一根測量尺,精度為1 mm,使其與Kinect傳感器的深度攝像機保持平行,如圖10所示,用來對獲取的三維位置信息中的Z值進行標定.

圖10 實驗中的測量尺Fig.10 Measuring stick used in experiment

2.2 實驗流程與結果

在實驗中,記錄基于骨骼點的位置檢測數據、均值化處理后的檢測數據和真實的測量數據,計算每組數據的差值和測量精度公式[16]如下:

差值=真實測量數據-Kinect檢測數據,

(2)

(3)

式(2)、(3)中的Kinect檢測數據包括基于骨骼點的位置檢測數據和均值化處理后的檢測數據.

實驗主要針對人手位置檢測獲取的X、Y、Z值,所測數據以mm為單位進行輸出.計算位置檢測數據的測量精度,驗證基于相關點均值處理的位置檢測方法的有效性.

實驗主要分為對X和Y值的數據精度以及對Z值的數據精度進行測量.

對X和Y值的精度測量實驗,具體步驟如下:

1)運行程序,打開深度攝像機,讓被測者站在標定實驗的X、Y坐標軸前,坐標軸精度為1 mm,使手掌平面與墻面貼合,記錄初始狀態下右手食指的真實位置數據;

2)取步徑長度為10 mm,被測者右手食指每移動10 mm記錄一次基于骨骼點的位置檢測數據、均值化處理后的檢測數據和真實的測量數據;

3)由于激光源與Kinect的深度攝像頭在Y軸方向上有一定間隔距離,經過測量,對每組真實測量數據加20 mm的修正值;

4)計算每組數據的差值和測量精度,并對計算結果進行分析.

X軸精度測量實驗中位置檢測數據和真實測量數據如圖11所示,測量精度如圖12所示.

圖11 X軸精度測量實驗中位置檢測數據和真實測量數據Fig.11 Kinect detected (blue),mean processed Kinect (red) and real (green) position data in X-axis measurement experiment

圖12 X軸測量實驗的測量精度Fig.12 Comparison of measuring accuracy at X-axis,blue for Kinect detection and red for mean processed Kinect results

Y軸精度測量實驗中位置檢測數據和真實測量數據如圖13所示,測量精度如圖14所示.

圖13 Y軸精度測量實驗中位置檢測數據和真實測量數據Fig.13 Kinect detected (blue),mean processed Kinect (red) and real (green) position data in Y-axis measurement experiment

圖14 Y軸測量實驗的測量精度Fig.14 Comparison of measuring accuracy at Y-axis,blue for Kinect detection and red for mean processed Kinect results

對Z值的精度測量實驗,具體步驟如下:

1)運行程序,打開深度攝像機,讓被測者站在Kinect傳感器前方,初始時被測者手掌平面與Kinect端面保持平行,且距離Kinect端面1 050 mm;

2)取步徑長度為10 mm,即被測者手掌平面向Kinect端面每移動10 mm(靠近Kinect方向)記錄一次基于骨骼點的位置檢測數據、均值化處理后的檢測數據和真實的測量數據;

3)由于Kinect端面與深度攝像機有一定間隔距離,經過測量,對每組測量數據加35 mm的修正值;

4)計算每組數據的差值和測量精度,并對結果進行分析.

在標定Z軸的實驗中,位置檢測數據和真實測量數據如圖15所示,測量精度如圖16所示.

圖15 Z軸精度測量實驗中位置檢測數據和真實測量數據Fig.15 Kinect detected (blue),mean processed Kinect (red) and real (green) position data in Z-axis measurement experiment

由數據分析可知,經過基于相關點均值處理的位置檢測方法的系統實現,人手位置檢測精度得到提高,均值處理后讀取的位置檢測數據與真實測量值十分接近,絕對誤差小于5 mm,且最大測量精度不超過0.014 3.由此可以得到結論,在Kinect視野范圍內(0.5~4.5 m),基于相關點均值處理的位置檢測方法能夠提高人手位置檢測精度.

3 結束語

基于Kinect 2.0傳感器,提出了一種高精度的實時人手位置檢測算法.首先,利用Kinect檢測原始手指骨骼點,并基于手腕處骨骼點的深度與人體索引值進行人手圖像分割;然后,通過Kinect SDK提供的坐標映射函數將人手骨骼點映射到彩色空間坐標系下獲取其像素索引值;最后,對獲得的人手像素索引值進行空間和時間平均,實現三維工作空間中高精度的人手實時跟蹤.實驗結果表明,與Kinect 2.0直接獲取的人手骨骼點空間位置坐標相比,本文所設計算法的位置檢測精度有明顯的提高.本文提出的算法可以應用于人機交互領域中,提供更準確的人手位置信息,以實現更為真實、自然的多模態人機交互.

猜你喜歡
深度測量檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
深度理解一元一次方程
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
深度觀察
深度觀察
深度觀察
滑動摩擦力的測量與計算
主站蜘蛛池模板: 在线播放国产一区| 67194在线午夜亚洲| 久久这里只有精品2| 91精品免费久久久| 国产主播一区二区三区| 国产成人综合亚洲欧洲色就色| 亚洲美女AV免费一区| 91免费国产高清观看| 青青草91视频| 免费毛片在线| 中国一级特黄大片在线观看| 在线中文字幕网| 女人天堂av免费| 婷婷六月综合网| 国产精品3p视频| 在线视频亚洲色图| 精品国产黑色丝袜高跟鞋| 国产sm重味一区二区三区| 91久久偷偷做嫩草影院电| 久久精品视频一| 国产成人永久免费视频| 精品国产99久久| 亚洲午夜福利精品无码不卡 | 波多野结衣国产精品| 色婷婷国产精品视频| 国产特级毛片aaaaaaa高清| 青草精品视频| 凹凸精品免费精品视频| 国产成人调教在线视频| 999精品色在线观看| 国产美女自慰在线观看| 国产美女91视频| 国产高清色视频免费看的网址| 中美日韩在线网免费毛片视频| 1024国产在线| 亚洲国产午夜精华无码福利| 九九九国产| 日韩精品免费在线视频| 国产激情在线视频| 91亚瑟视频| 在线视频亚洲色图| 无码精油按摩潮喷在线播放 | 538国产视频| 国产又大又粗又猛又爽的视频| 久久激情影院| 米奇精品一区二区三区| 国产亚洲精品yxsp| 国产精品女在线观看| 色婷婷国产精品视频| 26uuu国产精品视频| 九九热精品视频在线| 欧美精品成人一区二区视频一| 亚洲人成高清| 久久婷婷色综合老司机| 欧洲高清无码在线| 亚洲国产精品久久久久秋霞影院| 天堂成人av| 欧美成人一区午夜福利在线| 婷婷午夜天| 黑色丝袜高跟国产在线91| 亚洲黄色网站视频| 欧美人在线一区二区三区| 国产精品第一区在线观看| 中国特黄美女一级视频| 欧美日韩综合网| 成人福利在线免费观看| 日韩在线播放中文字幕| 亚洲天堂网视频| 国产大全韩国亚洲一区二区三区| 国产激情第一页| 91精品在线视频观看| 91欧美在线| 尤物午夜福利视频| 亚洲an第二区国产精品| 91国语视频| 国产欧美日韩va| 成人午夜视频免费看欧美| 亚洲日本www| 波多野结衣久久精品| 无码AV动漫| 久久午夜影院| 在线一级毛片|