適應(yīng)加權(quán)系數(shù)w2;當(dāng)b)手部運(yùn)動方向主要平行于深度相機(jī)光軸時,色彩信息的自適應(yīng)加權(quán)系數(shù)W1小于深度信息的自適應(yīng)加權(quán)系數(shù)W2。
[0043]實施本發(fā)明的手勢識別方法與裝置,具有以下有益效果:本發(fā)明同時利用深度信息和色彩信息識別出手部輪廓,并通過自適應(yīng)加權(quán)的方法,對手勢進(jìn)行識別,由于深度信息在深度間距的準(zhǔn)確識別,避免了色彩信息不能分辨前后距離的缺陷,同時可以利用高分辨率、高像素的色彩圖像,具備準(zhǔn)確度高、精度高的優(yōu)點。
【附圖說明】
[0044]下面將結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步說明,附圖中:
[0045]圖1為根據(jù)本發(fā)明優(yōu)選實施例的手勢識別方法的流程圖;
[0046]圖2為根據(jù)本發(fā)明優(yōu)選實施例的手勢識別裝置的模塊框圖。
【具體實施方式】
[0047]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
[0048]請參閱圖1,為根據(jù)本發(fā)明優(yōu)選實施例的手勢識別方法的流程圖。如圖1所示,本發(fā)明優(yōu)選實施例提供的手勢識別方法包括訓(xùn)練步驟和識別步驟:
[0049]其中,訓(xùn)練步驟進(jìn)一步包括步驟S1-S4。
[0050]首先,在步驟SI中,同步獲取具有深度信息和色彩信息的待訓(xùn)練圖像。該步驟可以通過一部深度相機(jī)、至少一部色彩相機(jī)和相機(jī)固定組件來實現(xiàn)。通過控制器實現(xiàn)對深度相機(jī)和色彩相機(jī)采集圖像的同步控制。該步驟中可以采用深度相機(jī)結(jié)合色彩相機(jī),對深度圖像和色彩圖像進(jìn)行匹配,同步獲得的RGB-D色彩和深度圖像。
[0051]該步驟中的獲取具有深度信息的圖像的方法包括但不限于以下方法:(I)基于結(jié)構(gòu)光獲取的深度信息,例如light coding (光編碼)結(jié)構(gòu)光方法的深度相機(jī),激光散斑法的深度相機(jī)Primesense,微軟的深度相機(jī)kinect ;投影光柵、條紋掃描方法獲取的深度圖。
(2)基于激光測距獲取的深度信息。以及(3)基于視覺技術(shù)獲取的深度信息等。
[0052]隨后,在步驟S2中,基于所述待訓(xùn)練圖像的深度信息確定步驟SI中獲取的待訓(xùn)練圖像的手部輪廓作為初級手部輪廓。
[0053]在本發(fā)明的一個實施例中,可以直接基于待訓(xùn)練圖像的深度信息構(gòu)成的深度圖像對手部區(qū)域進(jìn)行檢測,實現(xiàn)手部輪廓的提取。
[0054]在本發(fā)明的另一個實施例中,該步驟可以分為兩個步驟實現(xiàn):
[0055]首先,在步驟S21中使用待訓(xùn)練圖像的深度信息,進(jìn)行人體檢測,獲取人體區(qū)域輪廓,提取出人體區(qū)域的深度信息和色彩信息。待訓(xùn)練圖像的深度信息構(gòu)成了深度圖像,在基于深度信息將人體區(qū)域從背景環(huán)境中分離出來時,可以先使用拉普拉斯-高斯算子等方法,對深度圖像進(jìn)行濾波去噪聲,采用噪聲閾值處理。在噪聲處理過程中,當(dāng)深度圖像出現(xiàn)較明顯噪聲點時,可以使用OpenCV里面的〈cvErode〉函數(shù),定義合適的結(jié)構(gòu)元素對源圖像進(jìn)行腐蝕,去掉多余噪聲點之后,緊接著用〈cvDilate〉函數(shù)對得到的結(jié)果圖像進(jìn)行膨脹,以此去除大多的噪聲點。在去除噪聲后,可以調(diào)用整幅深度圖像,使用邊緣檢測、用OpenCV的〈autothreshold〉函數(shù)進(jìn)行動態(tài)深度閾值設(shè)定、人體目標(biāo)特征點分類(Classificat1n)等方法,將人體區(qū)域從整幅深度圖像中分割出來,同時據(jù)此分割出對應(yīng)區(qū)域的色彩信息,從而實現(xiàn)人體檢測,提取出人體區(qū)域的色彩和深度信息。本實施例中,先提取出人體區(qū)域的色彩和深度圖像,在后繼的處理流程中,可以只傳輸人體區(qū)域的數(shù)據(jù),從而降低了運(yùn)算負(fù)荷,提高了處理速度。
[0056]隨后,在步驟S22中使用步驟S21中提取的人體區(qū)域的數(shù)據(jù),根據(jù)深度信息,識別出手部區(qū)域,獲取手部區(qū)域輪廓作為初級手部輪廓,提取手部區(qū)域的色彩信息和深度信息。
[0057]在本發(fā)明的一個實施例中,使用深度信息提取到人體區(qū)域之后進(jìn)行手部檢測,可以使用分類器的方法,基于手部區(qū)域特征,訓(xùn)練識別人體模型,用于檢測出手部區(qū)域。具體為:使用深度信息檢測到手部區(qū)域的大致位置,可以采用openCV提供的〈Canny〉、〈findContours〉等函數(shù)對深度信息進(jìn)行處理,可以進(jìn)一步分割出較為準(zhǔn)確手部區(qū)域輪廓,通過設(shè)定輪廓面積的閾值,通過與輪廓面積閾值進(jìn)行比較,篩選出符合的結(jié)果,可以得到人手的輪廓,以此分割獲取手部輪廓。
[0058]隨后,在步驟S3中,調(diào)用步驟S2中確定的待訓(xùn)練圖像中的初級手部輪廓內(nèi)的色彩信息,對手部輪廓進(jìn)行識別,分割出待訓(xùn)練圖像的精確手部輪廓。在本發(fā)明的一些實施例中,可以基于步驟S2中獲取的初級手部輪廓,調(diào)用對應(yīng)的手部區(qū)域的色彩信息,通過膚值閾值判定、邊緣提取等方法,獲得手部的精確輪廓,包括手指邊緣,實現(xiàn)對手部的精確分割。
[0059]基于深度信息識別的手部輪廓是不圓滑,較為粗糙的,而圖像的色彩信息一般是采用高分辨率彩色相機(jī)獲取,其圖像分辨率很高,結(jié)合手掌區(qū)域的色彩信息可獲得精度很好的手部信息。在該步驟中首先提取深度圖像獲取的手部區(qū)域在彩色圖像中的對應(yīng)區(qū)域,通過膚色閾值判定,可以排除其他不是人手的物體等不符合要求的輪廓,篩選出符合的結(jié)果,獲取只有人手的輪廓,以此減少無關(guān)信息的干擾,接著對得到的結(jié)果進(jìn)行邊緣的提取,可獲得高精度的手部輪廓,包括手指的精確輪廓。
[0060]最后,在步驟S4中,調(diào)用步驟S3中確定的待訓(xùn)練圖像的精確手部輪廓內(nèi)的深度信息和色彩信息,通過自適應(yīng)加權(quán)的方法計算加權(quán)平均值,建立三維手勢模型,并采用分類器的方法對多個待訓(xùn)練圖像的三維手勢模型進(jìn)行訓(xùn)練獲得優(yōu)化的三維手勢模型。該自適應(yīng)加權(quán)計算加權(quán)平均值的公式為:
[0061]T = W1.Cftfi+W2.Dss (I)
[0062]其中,W1是色彩信息的自適應(yīng)加權(quán)系數(shù),W2是深度信息的自適應(yīng)加權(quán)系數(shù),06|為色彩信息,Dss為深度信息。
[0063]在本發(fā)明的一些實施例中,可以建立的三維手勢模型包括但不限于以下一種或幾種模型:(a)特征點聯(lián)結(jié)模型;(b)帶皮膚紋理信息的模型;(C)深度點云聯(lián)網(wǎng)的模型;(d)幾何體模型。
[0064]在本發(fā)明的優(yōu)選實施例中,重點使用(a)特征點聯(lián)結(jié)模型,主要通過以下步驟建立:首先,調(diào)用所述待訓(xùn)練圖像的精確手部輪廓內(nèi)的深度信息和色彩信息,通過自適應(yīng)加權(quán)找出所述精確手部輪廓的凹凸缺陷,確定手指的指尖位置、手指與手掌的連接位置;隨后用帶有深度信息的線段標(biāo)示各個手指,并按比例設(shè)定手指關(guān)節(jié)標(biāo)志點,以此建立所述特征點聯(lián)結(jié)模型。隨后可以通過采集足夠多的訓(xùn)練樣本,對模型進(jìn)行訓(xùn)練,得到優(yōu)化的三維手勢模型。本發(fā)明還可以對該特征點聯(lián)結(jié)模型進(jìn)行設(shè)定邊界條件:1、對手指關(guān)節(jié)活動角度范圍進(jìn)行設(shè)定;2、對手部運(yùn)動關(guān)聯(lián)進(jìn)行設(shè)定。設(shè)定的邊界條件與特征點聯(lián)結(jié)模型的自由度有關(guān)聯(lián)。本發(fā)明的一個實施例,通過設(shè)定邊界條件,建立了具有38個自由度的特征點聯(lián)結(jié)模型。
[0065]本發(fā)明可以采集真實的深度-色彩圖和/或采用計算機(jī)視覺方法虛擬生成的深度-色彩圖作為訓(xùn)練樣本,即待訓(xùn)練圖像,進(jìn)行精確手部輪廓的識別以及三維手勢模型的建立。其中,計算機(jī)視覺方法可以使用虛擬深度圖生成器和基于計算機(jī)視覺的3D動畫技術(shù),生成大量深度圖并結(jié)合色彩圖作為訓(xùn)練樣本。三維手勢模型對應(yīng)于靜態(tài)手勢??梢圆捎胹vm分類方法、AdaBoosting算法對靜態(tài)手勢進(jìn)行分類,基于足夠多的訓(xùn)練樣本,建立優(yōu)化的三維手勢模型。訓(xùn)練數(shù)據(jù)生成的大致步驟是:1)采集大量常見手勢動作,并通過關(guān)鍵幀聚類生成手部深度圖像,作為靜態(tài)訓(xùn)練手勢;2)在一定范圍內(nèi)隨機(jī)生成攝像機(jī)參數(shù),對齊渲染與真實世界坐標(biāo),使用計算機(jī)圖形渲染技術(shù)生成人物深度圖像與部位標(biāo)識圖;3)對手部的深度圖像進(jìn)行后處理,包括加噪、重采樣等,使其更接近深度相機(jī)拍攝的真實圖片。
[0066]本發(fā)明優(yōu)選實施例提供的手勢識別方法中的識別步驟進(jìn)一步包括步驟S5-S8。
[0067]在步驟S5中,同步獲取具有深度信息和色彩信息的待識別圖像。該步驟與前述步驟SI相同,區(qū)別在于獲取的圖像為需要進(jìn)行識別的目標(biāo)圖像。
[0068]在步驟S6中,基于步驟S6獲取的待識別圖像的深度信息確定待識別圖像的初級手部輪廓。該步驟與前述步驟S2相同,區(qū)別在