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

基于Kinect深度圖像的指尖檢測與手勢識別①

2017-05-17 10:00:16張亞軍北京化工大學機電工程學院北京100029
計算機系統應用 2017年4期
關鍵詞:深度檢測

高 晨, 張亞軍(北京化工大學 機電工程學院, 北京 100029)

基于Kinect深度圖像的指尖檢測與手勢識別①

高 晨, 張亞軍
(北京化工大學 機電工程學院, 北京 100029)

針對基于普通攝像頭的手勢識別系統在不同光照條件和復雜環境下易受影響的問題, 提出一種基于kinect深度圖像進行指尖檢測和手勢識別的算法. 首先利用Kinect傳感器獲取深度圖像, 再利用OpenNI手部跟蹤器檢測出手部的位置, 根據手部位置對手勢進行深度閾值分割. 提出一種結合凸包和曲率檢測指尖的算法, 檢測出指尖數目和位置后, 計算出包括指尖和手掌水平方向的夾角、相鄰兩個指尖夾角以及指尖與掌心的距離的特征向量, 最后利用支持向量機(SVM)對預定的9種數字手勢進行識別. 實驗邀請5位實驗者在復雜環境下每個手勢做30次, 每次的手勢角度不同, 實驗結果表明該方法能夠準確檢測出指尖的數目和位置, 9種數字手勢平均識別率達到97.1%, 該方法使用特征簡單, 實時性好, 有較好的魯棒性.

Kinect傳感器; 指尖檢測; 支持向量機; 手勢識別

1 概述

不同于以往的鼠標、鍵盤等交互設備, 手勢作為一種新的人機交互方式, 不需要直接接觸, 這種人機交互方式更接近人與人之間的交流. 手勢識別系統可以通過攝像頭獲取包含手勢的圖像信息, 根據圖像信息解釋手勢的含義, 成熟的手勢識別系統已經開始應用于很多領域, 如體感游戲, 智能電視, 醫療設備, 手語識別和機器人控制等[1-3].

采用普通攝像頭獲取圖像信息進行手勢識別容易受到光照和背景的影響, 針對此問題, 文獻[4]通過給使用者佩帶有顏色的手套來分割手勢. 但是當背景有和手套顏色一樣的物體時, 仍會影響手勢的分割, 并且文獻[4]使用的普通攝像頭在光線不足的情況無法檢測到手勢. 而微軟推出的Kinect攝像頭可以同時獲取彩色圖像和深度圖像信息, 利用深度圖像進行手勢識別可以避免光照和環境的影響.

近幾年基于Kinect的指尖檢測和手勢識別已經有相關的研究, 文獻[5]采用三維手勢模型, 將手部分成21個不同的部分, 然后使用支持向量機(SVM)做分類器識別常用的手語. 但是其模型復雜, 運算量大, 實時性較差. 文獻[6]和[7]都采用深度閾值分割手勢區域,默認手勢區域是距離攝像頭最近的, 但是當手掌和手臂垂直的情況下就會將手臂也分割出來, 降低手勢識別的準確率. 文獻[8]使用距離直方圖來識別手勢, 而文獻[9]綜合了距離特征和曲率特征使用多級支持向量機來識別手勢. 文獻[10]通過從深度圖像中分割手部區域, 并建立表觀特征, 再用決策樹識別手勢. 文獻[8-10]使用的特征都較復雜, 需要的計算量較大.

針對上述問題本文提出一種把指尖數目, 手部方向, 掌心和指尖距離以及指尖相對于手部水平方向夾角作為特征向量, 再通過支持向量機的方法進行手勢識別的算法, 如圖1所示.

圖1 手勢識別流程圖

主要的工作步驟如下:

Step 1. 檢測到手部區域, 將手部區域從復雜背景中分割出來;

Step 2. 根據分割出來的手勢區域, 計算出手掌掌心、手部水平方向, 再結合凸包和曲率檢測指尖, 最后計算出指尖相對于手部水平方向的夾角, 相鄰指尖之間的夾角和指尖與掌心的距離;

Step3. 最后采集9種預設數字手勢樣本, 用支持向量機方法訓練識別手勢.

2 手勢檢測和分割

Kinect攝像頭可以同時獲取深度圖像和RGB彩色圖像, 并且支持骨骼跟蹤和動作識別. Kinect一共有三個攝像頭, 左邊鏡頭為紅外線發射器, 中間鏡頭是一般常見的 RGB 彩色攝像頭, 右邊鏡頭是由紅外線CMOS 攝像頭所構成的 3D 深度傳感器. 根據深度傳感器可以獲取攝像頭一定范圍內物體與攝像頭的距離.

2.1 基于OpenNI的手勢檢測

通過開源庫OpenNI可以檢測到揮手、前推和舉起三種預設手勢動作并獲得手部掌心的坐標. 本文采用識別效果較好的前推動作和揮手動作, 手部對著Kinect攝像頭前推或者揮手時, 即可檢測到手部區域,并且給出掌心的粗略坐標, 識別效果如圖2所示. 距離攝像頭越近的點灰度值越大, 離攝像頭遠的點灰度值越小, 紅色的點為識別出來的掌心位置, 從圖2可以發現OpenNI給出的掌心位置不準確, 本文將根據手部輪廓的最大內切圓重新計算掌心坐標.

圖2 OpenNI檢測出掌心位置

2.2 基于深度閾值的手勢分割

Kinect獲取到的深度數據為16位, 若使用不帶用戶ID的方式存儲深度值, 則16位中的低12位為深度值, 即最大值為4096, 其代表4.096m. 通過OpenNI獲得的粗略掌心坐標包括二維坐標和深度值, 本文采用雙深度閾值方法分割手勢區域, 對掌心深度d在加減閾值T范圍內的像素按照式(1)進行二值化, 公式如下所示:

式(1)中d為掌心的深度值, T為手掌厚度的深度閾值, H(x, y)為分割后手部深度圖像中點(x, y)所對應的像素值, D(x, y)為深度圖像中點(x, y)所對應的深度值.

為了避免手臂和手腕的干擾, 取距離掌心長寬一定的矩形作為包含手勢的感興區域, 分割效果如圖3所示, 從圖3(b)中可以看到經過式(1)分割出的手部區域, 其邊緣存在鋸齒, 會對之后的指尖檢測造成干擾,針對此問題, 本文采用中值濾波和形態學開閉運算對其進行去除噪聲處理, 使手部邊緣平滑, 效果如圖3(c)所示.

圖3 基于深度閾值的手勢分割

3 手部特征提取

3.1 手部邊緣檢測

為了獲取手部輪廓的特征, 本文采用Canny邊緣檢測算法, 邊緣檢測即檢測出圖像亮度變化大的區域, Canny 邊緣檢測算法是對信噪比和定位之乘積的最優化逼近算子, 用來計算圖像邊緣的梯度幅度和相位值,選取合理幅度閾值來確定邊緣點[11]. 從抑制噪聲方面來講, Canny邊緣檢測子不容易受到噪聲的干擾, 而相同尺度下LOG算子卻容易受到噪聲的干擾, 抑制噪聲的能力要弱一些. 此外, 由于Canny邊緣檢測算子采用兩種不同的閾值分別檢測強邊緣和弱邊緣, 并且當弱邊緣和強邊緣相連時, 只將弱邊緣包含在輸出圖像中, 故而Canny算子更容易檢測出真正的弱邊緣, 因此本文采用Canny邊緣檢測來提取手部輪廓. 檢測效果如圖4所示.

圖4 Canny邊緣檢測

3.2 計算手掌掌心位置

通過OpenNI獲得的手掌掌心坐標不夠準確, 本文通過計算手部輪廓的最大內切圓來確定手掌掌心坐標和掌心圓半徑. 首先計算手部輪廓內每個點到輪廓邊界距離的最小值, 找出其中最大距離值所對應的點即為掌心點, 距離即掌心圓半徑. 這個過程計算量會很大, 影響手勢識別的實時性, 因此本文不計算感興區間內的所有點, 而是每隔N個點計算一個點, 經過實驗驗證當N=4時可以保證速度和準確性. 求出的掌心圓如圖5所示.

圖5 最大內切圓計算掌心圓

3.3 計算手部水平方向

為了計算指尖的相對位置, 要先計算手部水平方向, 如圖6所示, xh為手部水平方向, α為手部水平方向和x軸方向的夾角, θ為手部主軸和x軸方向的夾角, 這兩個夾角可以根據文獻[12]中提出的方法, 利用圖像中心矩計算, 公式如下所示:

式(2)中θ為手部主軸和水平方向的夾角, α為手部水平方向和x軸水平方向的夾角, (2,0)mu和(0,2)mu為圖像的二階中心矩.

3.4 指尖檢測

3.4.1 凸包結合曲率檢測指尖算法

本文采用凸包算法與曲率檢測算法相結合的算法, 可以精確的獲得指尖的位置, 首先求出包圍手部輪廓的最小外接圓, 然后利用OpenCV計算機視覺開源庫中函數convexHull和convexityDefects求出包含手部輪廓的凸包和凸缺陷, 手部輪廓的凸包和凸缺陷模型如圖7所示, A、B、C等為手部輪廓的凸缺陷, 凸缺陷包括起始點Ps、終止點Pe、缺陷上距離輪廓凸包最遠的點pd, 凸包缺陷深度Id. 根據指尖的幾何特征, 指尖點應該滿足的條件如下所示:

1) 凸缺陷深度應該大于掌心圓半徑, 但小于手部輪廓最小外接圓半徑, 即ra

2) 凸缺陷起始點和終止點的夾角應小于90°, 即θα<90o.

3) 指尖點附近最小曲率值應小于60°, 即θk<60o.

圖6 手部水平方向

圖7 凸包和曲率檢測指尖

檢測指尖時首先將滿足上述條件(1)和(2)的凸缺陷的起始點和終止點保存到點集Ap中, 并且刪除重復和距離過近的點, 然后以點集Ap中的點Pi為原點, 在手部輪廓中各取Pi之前和之后的10個點, 計算這20個點的K曲率, 即向量(Ai(j), Ai(j-k))與(Ai(j), Ai(j+k))之間的夾角, 若點Pi的K曲率值小于60°并且是20個點中K曲率值最小的點, 則其為指尖點. 本文算法相比較于傳統的K曲率檢測指尖運算量小, 只需要計算凸缺陷起始點和終止點極其附近的20個點的K曲率, 同時有效地排除了兩個手指指尖的凹點, 通過實驗驗證當K取值30時效果最好.

上述三個條件雖然能較好的滿足基本的指尖檢測, 但是也存在一些不足, 如只有一個指尖時, 是沒有凸缺陷滿足條件1)和2), 此時我們把凸缺陷起始點和終止點夾角 并且凸缺陷深度Id大于閾值Td的凸缺陷起始點和終止點存儲到點集Ap中, 然后通過上述方法計算點集Ap中點的K曲率通過條件3)來檢測指尖. 3.4.2計算指尖點與手部水平方向夾角

在獲得了掌心圓、手部方向, 指尖坐標等特征之后, 接下來計算指尖點和手部水平方向的夾角, 以及相鄰兩個指尖與掌心的夾角. 如圖8所示, 分別計算每個指尖與手部水平方向的夾角α[i](i=0, 1, 2, 3, 4),在計算相鄰兩個指尖和掌心形成的夾角β[i](i=0, 1, 2, 3), 最后計算每個指尖和掌心指尖的距離D[i](i=0, 1, 2, 3, 4), 最后把計算得到的結果保存到特征向量數組中, 如式(4)所示:

式(4)中fV儲存特征向量的數組, N為指尖數目, []iα為每個指尖和手部水平方向的夾角, []iβ為相鄰兩個指尖的夾角, D[]i為每個指尖與掌心的距離.

圖8 指尖夾角特征

4 手勢訓練和識別

在得到手部特征向量之后, 要設計分類器根據每種手勢的特征對手勢進行分類. 本文采用支持向量機作為分類器, 支持向量機具有能有效發現目標函數的全局最優解, 最大化決策邊界等特點13. 在解決線性問題中, SVM 能直接在該空間中劃分出分割平面, 但在實際問題中更多的是非線性的問題, 支持向量機首先在低維空間中完成計算, 然后通過核函數將輸入空間映射到高維特征空間, 最終在高維特征空間中構造出最優分離超平面, 從而把平面上本身不好分的非線性數據分開, 常用的核函數包括多項式核函數、徑向基(RBF)核函數和 Sigmoid 核函數. 本文采用徑向基函數, 因為其模型簡單, 參數相對較少, 可以有效的把非線性問題轉換為線性問題, 并經過實驗驗證徑向基核函數的效果最好.

5 實驗結果和分析

為了驗證本文提出方法的可靠性和準確性, 本文使用內存8G, CPU為Intel(R)CoreTMi5-4200H CPU @2.80GHz的筆記本作為處理平臺, 使用微軟Kinect一代攝像頭采集圖像, 通過使用開源庫OpenNI、Opencv進行編程, 編程環境為VS2015, 實驗包括指尖檢測和手勢識別兩個部分, 實驗過程中光照環境不穩定, 實驗者與Kinect攝像頭距離約為1m.

5.1 指尖檢測實驗分析

本文分別對指尖數目為0到5的六種情況進行測試, 測試過程中, 指尖的方向不斷變化, 測試結果如圖9所示. 然后將每種指尖數目的視頻序列保存1000幀, 每隔5幀提取1幀, 共提取200幀, 統計出檢測結果如表1所示.

圖9 不同數目、方向指尖檢測結果

表1 指尖檢測準確率

通過圖9和表1可以看出, 本文提出的結合凸包和曲率檢測指尖的算法平均準確率可以達到97.9%,在手部運動的過程中能準確的檢測出指尖的位置和數目, 可以有效排除手腕處的干擾點, 針對不同方向的指尖都可以準確檢測出來, 具有較好的魯棒性. 同時可以看出1個手指和三個手指的誤判比其他的多, 因為三個手指的情況較多, 在手指沒伸直的情況下, 容易造成誤判, 而一個手指則因為無法使用凸包和曲率結合算法, 容易受手腕干擾, 不同光照下的檢測效果如圖10所示.

圖10 不同光照下指尖檢測結果

5.1 數字手勢識別實驗

為了驗證本文提出的手勢識別算法, 本實驗針對如圖11所示的9種數字手勢進行識別, 實驗前先構建訓練樣本數據庫, 邀請5位實驗者針對每個手勢做10次, 要求每個手勢的角度不同, 總共采集450張樣本圖像, 然后對樣本圖像進行訓練, 計算每張樣本圖像對應的特征向量并保存結果. 訓練完成之后, 為了驗證算法的魯棒性, 再邀請另外的5個人實時檢測手勢, 每個手勢做30次, 即測試樣本圖像共1350張, 每種手勢的識別率如表2所示.

圖11 9種數字手勢

表2 9種數字手勢檢測結果

從圖11和表2可以看出, 用指尖與掌心的距離、指尖與手部水平方向的夾角以及相鄰指尖之間的夾角作為特征向量可以明確的表示出每種手勢的特征, 平均手勢識別率可以達到97.1%, 其中手勢3和手勢6誤檢率最高, 因為手勢3不是正對著攝像頭時容易因為遮擋而識別錯誤, 手勢6因為在運動過程中小拇指會因為噪聲干擾而誤判為手勢8. 每幀手勢識別處理時間平均為0.015秒, 實時性比較好. 本文方法與常用的HOG+SVM、幾何特征、模板匹配方法14相比使用的特征簡單, 計算量小, 準確率也相差不多.

6 結語

本文通過使用Kinect深度圖像信息進行指尖檢測和手勢識別, 有效地解決了在不同光照條件和復雜背景下指尖檢測和手勢識別的難題, 提出一種結合凸包和曲率檢測指尖算法, 避免傳統曲率檢測誤判點多和凸包檢測位置不準確的缺點. 檢測出指尖后, 提出一種需要樣本少, 方法簡單的手勢識別算法, 該方法利用指尖與手部水平方向夾角, 相鄰指尖夾角以及指尖和掌心距離作為特征向量, 使用支持向量機做分類器.通過實驗證明該算法手勢識別精度較高, 指尖檢測較準確, 能夠在不同光照條件和復雜背景下進行檢測,魯棒性較好.

但是本文提出的方法在手指并在一起等一些特殊情況無法準確檢測出指尖, OpenNI的手部跟蹤器效果不是很好, 在有遮擋的情況會跟丟手部區域, 在今后的工作中研究更精確, 魯棒性更好的跟蹤算法.

1 孫麗娟,張立材,郭彩龍.基于視覺的手勢識別技術.計算機技術與發展,2008,18(10):214–216.

2 易靖國,程江華,庫錫樹.視覺手勢識別綜述.計算機科學, 2016,43(6A):103–108.

3 李勇,高文,姚鴻勛.基于顏色手套的中國手指語字母的動靜態識別.計算機工程與應用,2002,17:55–58.

4 Lamberti L, Camastra F. Real-time hand gesture recognition using a color glove. Springer Proc. of the 16th International Conference on Image Analysis and Processing, 2011, 6978(1): 365–373.

5 Keskin C, Kirac F, et al. Real time hand pose estimation using depth sensors. IEEE International Conference on Computer Vision Workshops, 2011, 28(5): 1228–1234.

6 王艷,張奇志.基于Kinect深度信息的手勢識別.北京信息科技大學學報,2013,28(1): 22–26.

7 鄧瑞,周玲玲,應忍冬.基于Kinect深度信息的手勢提取與識別研究.計算機應用研究,2013,30(4):1263–1265.

8 Ren Z, Yuan J, Zhang Z. Robust hand gesture recognition based on finger earth mover’s distance with a commodity depth camera. Proc. of ACM Conference on Multimedia. 2011. 1093–1096.

9 Domini F, Donadeo M, Marin G. Hand gesture recognition with depth data. ARTEMIS ’13 Proc. of the 4th ACM/IEEE International Workshop on Analysis and Retrieval of Tracked Events and Motion in Imagery Stream. 2013. 9–16

10 曹雛清,李瑞峰,趙立軍.基于深度圖像技術的手勢識別方法.計算機工程,2012,38(8):16–18.

11 薛麗霞,李濤,王佐成.一種自適應的Canny邊緣檢測算法.計算機應用研究,2012,27(9):3588–3590.

12 Liao SX, Pawlak M. Image Analysis by Moments. The University of Manitoba Winnipeg, 1993.

13 祁亨年.支持向量機及其應用研究綜述.計算機工程,2004, 30(10):6–9.

14 劉淑萍,劉羽,淤俊,汪增福.結合手指檢測的HOG特征的分層靜態手勢識別.中國圖像圖形學報,2015,20(6):781–788.

Fingertip Detection and Hand Gesture Recognition Based on Kinect Depth Image

GAO Chen, ZHANG Ya-Jun
(Beijing University of Chemical Technology, College of Mechanical and Electrical Engineering, Beijing 100029, China)

Aiming at the problem that hand gesture recognition system based on ordinary camera is susceptible to the different lighting conditions and complex background, a fingertip detection and hand gesture recognition algorithm based on Kinect depth image is proposed. First, we get depth image by Kinect sensor. Then the hand region is extracted by putting the depth of thresholds on hand point detected by using OpenNI library. Fingertip detection based on convex hull and curvature is proposed. After the number of fingertips and the location of fingertips being detected, it calculates a feature vector including the number of fingers, the angles between fingertips and horizontal of the hand, the angles between two consecutive fingers, and the distance between fingertips and hand center point. Finally, a support vector machine(SVM) is applied to identify nine scheduled number hand gesture. Five experimenters are invited to perform 9 different hand gestures in the complex environment, which each gesture is repeated at thirty times and the angle of hand gesture is different every time. The experiment results show that this algorithm can detect the number and location of fingertips, and the recognition rate of nine hand gesture is 97.1% on average. This proposed method uses simple features and has good robustness, also it is real-time.

Kinect sensor; fingertip detection; support vector machine; hand gesture recognition

2016-07-31;收到修改稿時間:2016-09-23

10.15888/j.cnki.csa.005701

猜你喜歡
深度檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
深度理解一元一次方程
深度觀察
深度觀察
深度觀察
深度觀察
主站蜘蛛池模板: 98超碰在线观看| 国产精品视频猛进猛出| 伊人福利视频| 国产成人综合日韩精品无码不卡| 欧美综合区自拍亚洲综合绿色| 亚洲欧州色色免费AV| 白丝美女办公室高潮喷水视频| 国产一级毛片网站| 日韩欧美中文| A级毛片无码久久精品免费| 再看日本中文字幕在线观看| 日本福利视频网站| 国产精品午夜福利麻豆| 午夜福利无码一区二区| 久久久成年黄色视频| 91精品久久久久久无码人妻| 1024你懂的国产精品| 欧美另类一区| 国产精品亚洲精品爽爽| 久久中文字幕不卡一二区| 久久semm亚洲国产| 毛片最新网址| 浮力影院国产第一页| 秋霞国产在线| 久久综合一个色综合网| 亚洲精品自产拍在线观看APP| 99热最新网址| 伊人丁香五月天久久综合 | 欧美精品三级在线| 国产91无码福利在线| 青青青亚洲精品国产| 操操操综合网| 久热精品免费| 欧美午夜网| 韩国自拍偷自拍亚洲精品| 91综合色区亚洲熟妇p| 国产成人无码AV在线播放动漫 | 97视频在线观看免费视频| 欧美国产中文| 国产精选小视频在线观看| 中文字幕亚洲专区第19页| 欧美视频免费一区二区三区| 美女扒开下面流白浆在线试听| 欧美午夜理伦三级在线观看| 日韩欧美一区在线观看| 久久99热这里只有精品免费看| 一级福利视频| 国产成人1024精品| 日韩在线中文| 国产免费一级精品视频| 国产精品亚洲天堂| 欧美成人免费一区在线播放| 亚洲人成色在线观看| 国产美女91视频| 亚洲国产清纯| 尤物国产在线| www成人国产在线观看网站| 手机精品福利在线观看| 国产在线拍偷自揄观看视频网站| 欧美激情首页| 伊人网址在线| 精品剧情v国产在线观看| 婷婷六月综合网| 久久伊人操| 日韩av电影一区二区三区四区 | 漂亮人妻被中出中文字幕久久 | 欧美怡红院视频一区二区三区| 国产小视频网站| a亚洲视频| 欧美日韩中文字幕在线| 国产va在线| 亚洲欧美日韩色图| 狠狠色婷婷丁香综合久久韩国| 国产成人精品三级| 欧美翘臀一区二区三区| 国产精品无码AV中文| 国产精品视频系列专区| 精品国产三级在线观看| 丁香五月激情图片| 日韩精品一区二区三区免费在线观看| 永久在线播放| 操国产美女|