• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Kinect深度信息的指尖檢測

    2018-01-17 00:52:12徐春鳳王蒙蒙翟宏宇胡漢平
    關鍵詞:指尖手勢手部

    徐春鳳,王蒙蒙,翟宏宇,胡漢平

    (長春理工大學 計算機科學技術學院,長春 130022)

    人機交互正從計算機為中心逐步轉移到以人為中心,人與機器的交互可以表示成一個多維矢量,例如用戶通過鼠標、鍵盤和語音等方式實現(xiàn)和系統(tǒng)的交互。近年來,隨著計算機的軟硬件水平的不斷提高,以及各種傳感器技術的逐漸成熟,帶動了新一代的人機交互技術的飛速發(fā)展,越來越多的研究方向著手于該研究領域。任天堂的Wii-Cotroller遙控器,通過內置的加速度傳感器感知人手的運動,Schl?mer T[1]等人將其應用于手勢識別,通過Wii-Cotroller獲取用戶的手勢并用隱馬爾科夫模型對手勢進行識別。C.Yang等人[2]使用Kinect深度數(shù)據(jù)來識別手勢應用到媒體播放器程序。他們使用隱馬爾科夫模型(HMM)分類器識別手勢。Li Y[3]利用Kinect的深度信息定位人手、依據(jù)輪廓和凸凹點檢測確定五個手指位置并通過計算三點的夾角特征識別靜態(tài)手勢。王勁東等人[4]利用Kinect提出了基于深度信息的人手定位,然后在手部區(qū)域的輪廓上根據(jù)曲率來檢測類指尖點,結合凸包計算排除凹點和手臂點,最后根據(jù)手指的兩側接近平行的特性排除彎曲的手指或者非手指,最終檢測出有效的指尖。然而,以上基于Kinect的深度信息獲取指尖的位置的步驟較繁瑣,本文借助于現(xiàn)有的NITE庫函數(shù)簡化手部提取步驟,進而簡化了指尖獲取的整個步驟,而且精確度高。

    1 Kinect傳感器獲取手部信息

    1.1 Kinect簡介

    Kinect傳感器可以同時獲取RGB和深度圖像數(shù)據(jù),能夠實時的對全身骨骼進行追蹤,且識別一系列的動作。圖1為Kinect外觀圖。

    圖1 Kinect外觀圖

    如圖1所示,Kinect有三個鏡頭,最左邊鏡頭為紅外線發(fā)射器,中間的鏡頭為RGB彩色攝像頭,最右邊鏡頭是紅外線CMOS攝像頭所構成的3D深度傳感器。Kinect也內建陣列式麥克風,由四個麥克風同時采集聲音,比對后消除雜音,進而進行語音識別和聲源定位。Kinect具有感知世界的CMOS紅外傳感器,它收集視野范圍內的每一點,并形成一幅代表周圍環(huán)境的景深圖像。傳感器以每秒30幀的速度生成深度圖像流,實時重現(xiàn)周圍環(huán)境[5]。在人機交互中,能夠實時且準確的獲取手勢跟蹤,可以給用戶帶來更好的人機交互體驗。

    1.2 獲取掌心和指尖坐標

    實驗中,人坐在電腦屏幕前,手距離Kinect大約1米遠,Kinect對準人體的左肩,角度向上傾斜便于完整的采集到手部信息。對Kinect的深度圖像中的手的細分是一個復雜的問題,特別是在一般情況下。因此在本研究中,為了簡化問題,調用了NITE庫函數(shù)來提取手,掌心朝向Kinect并垂直于桌面,手指之間分開,并確保手在身體任何部位的最前面。如下圖2所示:

    圖2 Kinect擺放位置及手的姿勢

    利用Kinect獲取指尖坐標的流程圖如下圖3所示。在進行指尖獲取前,必須要先將手提取出來,這樣方便更準確的進行指尖的定位。本文利用了NITE庫函數(shù)來精確的將手從身體的其他部分中分離出來,然后利用手勢輪廓和凸包進行計算,從而識別指尖。

    圖3 Kinect獲取指尖流程圖

    1.2.1 手的分割

    NITE庫是PrimeSense針對OpenNI這個深度感應器程式開發(fā)Framework所推出的一個中間件,其主要作用是提供人體骨架分析與跟蹤和手的跟蹤等。NITE中的手勢探測識別主要是由HandTracker類提供的,該類提供了手部位置的跟蹤,NITE并不只針對用戶的手勢識別,而是針對整個界面幀信息進行分析,然后找到符合的手勢,它探測識別的手勢只有三種,分別是:GESTURE_WAVE(揮手)、GESTURE_CLICK(手掌前推再縮回來)和GESTURE_HAND_RAISE(手舉起)。但是該API并沒有提供自制的手勢探測。通過調用NiteCAPI.h底層函數(shù)niteInitializeHandTrackerByDevice()來開始手勢跟蹤。在探測手勢符合NITE中的三種手勢之一后,則開始定位獲取手的手心坐標并跟蹤。

    實驗中,先通過Kinect捕捉到人體的輪廓,然后設置觸發(fā)手部追蹤的手勢(如揮手、手掌前推再縮回來),手的動作不能過慢或過快,直到檢測到手之后,系統(tǒng)就會調用NITE庫來返回掌心的坐標。設返回的掌心坐標的y值為m,那么分割手的上下門限分別設為m+Δ和m-Δ,根據(jù)實際測試,取7cm<Δ<14cm為宜,根據(jù)上下門限截取的圖像區(qū)域H,即可準確的將手部提取出來。提取的手部圖像如下圖4所示。

    圖4 提取的手的深度圖像

    1.2.2 指尖的定位

    (1)將提取的圖像區(qū)域H進行聯(lián)合雙邊濾波[6]后選擇合適的閾值T進行二值化:

    (2)應用Opencv庫中的findContours()函數(shù)來檢索二值化后的圖像Ht(x,y)中的所有特征點的輪廓Ci,每一個輪廓都是一個多邊形,且由像素序列組成,表達公式(2)如下:

    (3)利用approxPolyDP函數(shù)來對指定的點集進行逼近,找出輪廓的多邊形擬合曲線,該函數(shù)采用的是道格拉斯-普克(Douglas-Peucker)算法[7]。該算法也以Douglas-Peucker算法和迭代終點擬合算法為名。算法的目的是給出由線段組成的曲線,來找到具有較少點的相似曲線。算法的基本思路是:對每一條曲線的首末點虛連一條直線,求所有點與直線的距離,并找出最大距離值dmax,用dmax與限差D相比:若dmax<D,這條曲線上的中間點全部舍去;若dmax≥D,保留dmax對應的坐標點,并以該點為界,把曲線分為兩部分,對這兩部分重復使用該方法。

    (4)利用convexHull()函數(shù)檢索上步驟最大面積值的輪廓Cmax的凸包殼hull,畫出凸包點,然后將其作為convexityDefects()函數(shù)的參數(shù)來檢索輪廓Cmax中的凸缺陷di。缺陷中離凸包線距離最遠的點的坐標即為凸缺陷點,凸缺陷被定義為相對于其凸包的輪廓凹形的部分。

    根據(jù)以上步驟,對提取的手的深度圖繪制出手的輪廓及凸包殼如下圖5所示。

    圖5 手的輪廓及凸包殼

    (5)定位輪廓中與手部有關的點,在該點的周圍提取出滿足一定要求的區(qū)域,對該區(qū)域進行濾波后得到的區(qū)域就是手部了。本文采用基于曲率特征的輪廓分析方法對指尖進行識別。然后利用凸包和凹陷的數(shù)學幾何方法,畫出手指和手指凹陷處的點,以及手的輪廓線,并在圖像中顯示出來。如下圖6所示。

    圖6 凸缺陷點及指尖點

    (6)指尖識別,根據(jù)輸出的點像素坐標,如果手位于圖像的右(左)半部分,則像素列索引的遞增(遞減)次序對指尖像素Ti進行排序。從而去除凹陷點,保留指尖點。

    2 實驗結果及分析

    實驗過程中,在復雜的背景下,實驗環(huán)境如圖7所示,通過對不同的手勢進行識別,能夠實時的對手的指尖進行準確定位。不同手勢的檢測效果如下圖8所示。

    圖7 實驗環(huán)境

    圖8 不同情況下的指尖定位結果

    本文分別針對15種不同手勢和背景下進行了實驗,每種情況下分別做80次采集。實驗結果,在復雜的環(huán)境背景下,15種情況下的指尖識別率見表1,通過圖8和表1可以看出,本文提出的檢測指尖的算法平均準確率可以達到80%,針對不同手勢的指尖都可以準確檢測出來,具有較好的魯棒性。

    從圖8和表1中的5和6、10和11可以看出,當人臉出現(xiàn)在手的后方時,仍然能夠準確的定位到手的指尖。該結果證明當出現(xiàn)與手同膚色的物體時,手仍然能夠被分離出來,解決了普通相機手勢識別時出現(xiàn)同膚色物體無法準確提取人手的問題。從12、13、14和15幾種情況來看,當手指發(fā)生并攏時指尖檢測的誤差變大,當手指完全并攏時,如第15個手勢,指尖完全檢測出來的概率為0,另外第1個手勢手指誤判率也較高,對于識別失敗的情況,主要原因有:首先是Kinect體感設備返回的深度圖時而會出現(xiàn)破碎的情況,尤其是在手指見并攏時,指尖連結成一片,導致凸包點的識別出現(xiàn)錯誤,最終致使識別結果出錯;其次,由于手指的彎曲程度不同,導致提取出的手形輪廓容易把未完全彎曲的手指錯判為指尖,在今后的工作中還將對指尖識別算法進一步改進。

    表1 15種情況下的指尖識別率

    3 結論

    本文利用了NITE庫函數(shù)定位手的位置,能夠快速的將手從復雜的背景中提取出來。然后利用道格拉斯-普克算法得到手的輪廓曲線。另外,本文使用輪廓分析法從凸包點中識別出指尖,相較于模板匹配法,該方法具有更高的準確性。最后,本文通過15個不同的情況來鑒別該方法的指尖識別的準確率,實驗表明,該方法指尖的檢測識別率較高。在今后的工作中,將根據(jù)指尖的位置來進行各種手勢的判斷和改進,增加對更多其他手勢的識別。

    [1]Schl?mer T,Poppinga B,Henze N,et.al.Gesture recognition with aWiicontroller[C].Proceedingsof the 2nd internationalconference on Tangible and embedded interaction.ACM,2008.

    [2]Yang C,Jang Y,Beh J,et al.Gesture recognition using depth-based hand tracking for contactless controller application[C].IEEE International Conference on Consumer Electronics,2012:297-298.

    [3]LiY.Hand gesturerecognition using Kinect[C].IEEE 3rd InternationalConference on Computer Science and Automation Engineering,2012(5):196-199.

    [4]王勁東,武頻.一種基于Kinect的指尖檢測算法[J].計算機技術與發(fā)展,2016,26(7):14-18.

    [5]袁方劍,王毅軒,王毅剛,等.基于Kinect深度圖像的指尖識別及手勢判定[J].電子科技,2014,27(8):6-10.

    [6]李華,張超,權巍,等.一種基于Kinect深度圖的人像自動摳像算法[J].長春理工大學學報:自然科學版,2016,39(6):81-84.

    [7]孫浩鵬,李楊.道格拉斯-普客算法在數(shù)據(jù)手套數(shù)據(jù)優(yōu)化中的應用[J].吉林工程技術師范學院學報,2013,29(10):79-81.

    猜你喜歡
    指尖手勢手部
    手部皮膚軟組織缺損修復的皮瓣選擇
    治理“指尖亂像”不宜一散了之
    當代陜西(2022年6期)2022-04-19 12:12:26
    虔誠之花在指尖綻放
    學生天地(2020年22期)2020-06-09 03:07:46
    挑戰(zhàn)!神秘手勢
    指尖上的生活,指尖上的美
    V字手勢的由來
    指尖童話
    Coco薇(2017年9期)2017-09-07 20:50:46
    勝利的手勢
    兩種皮瓣修復手部軟組織缺損的比較
    發(fā)生于手部的硬下疳一例
    宜兰市| 莱州市| 东丽区| 呼图壁县| 西乌珠穆沁旗| 宁明县| 东明县| 凤山县| 镇赉县| 承德县| 芜湖县| 双牌县| 海兴县| 平凉市| 平利县| 葫芦岛市| 厦门市| 尼勒克县| 松溪县| 隆回县| 古蔺县| 化隆| 新平| 资中县| 崇明县| 铜梁县| 馆陶县| 斗六市| 吴江市| 榆树市| 邵阳市| 繁昌县| 南丹县| 福贡县| 绥芬河市| 鞍山市| 贵定县| 贡觉县| 南宁市| 公安县| 土默特左旗|