本發(fā)明涉及虛擬現(xiàn)實(shí)解析技術(shù)領(lǐng)域,尤其是一種虛擬現(xiàn)實(shí)系統(tǒng)的手部動(dòng)作捕捉方法。
背景技術(shù):
在傳統(tǒng)的手部動(dòng)作捕捉方法中,系統(tǒng)的設(shè)計(jì)者自行設(shè)計(jì)手勢(shì)的開始動(dòng)作來(lái)劃分手部的動(dòng)作過(guò)程的開始、穩(wěn)定、結(jié)束三個(gè)階段,比如做L型的直線等。但這些方法的缺陷在于要求用戶在每個(gè)手勢(shì)前都要做一個(gè)附加動(dòng)作使動(dòng)作捕捉變得繁瑣且不友好。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出的一種虛擬現(xiàn)實(shí)系統(tǒng)的手部動(dòng)作捕捉方法,大大提高動(dòng)作捕捉的正確率及速度,滿足實(shí)時(shí)捕捉的要求。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
一種虛擬現(xiàn)實(shí)系統(tǒng)的手部動(dòng)作捕捉方法,手部的動(dòng)作過(guò)程分為開始、穩(wěn)定、結(jié)束三個(gè)階段,當(dāng)處于穩(wěn)定階段時(shí)手是保持不變的,而在開始和結(jié)束階段都有手的運(yùn)動(dòng),具體捕捉過(guò)程包括以下步驟:
步驟1:初始化faceLable=0,start=0,gesture=0;
步驟2:攝像頭開啟后,不斷的檢測(cè)人臉,當(dāng)檢測(cè)到可靠人臉時(shí),獲得膚色區(qū)域的膚色像素建立膚色高斯模型(當(dāng)建立膚色模型后在后續(xù)幀中就不用檢測(cè)臉部區(qū)域);并將此幀圖像設(shè)定為背景圖bgimg,標(biāo)記faceLable=1轉(zhuǎn)步驟3,否則繼續(xù)檢測(cè)視頻流直至獲取可靠的人臉區(qū)域;
步驟3:當(dāng)在視頻流中檢測(cè)到start=1且gesture=-1時(shí)轉(zhuǎn)步驟4,否則繼續(xù)檢測(cè);
步驟4:用當(dāng)前幀與步驟1中設(shè)定的背景圖bgimg做差分的到差分二值圖chafenimg,獲取差分圖中的最大運(yùn)動(dòng)區(qū)域moveROI中的每個(gè)像素標(biāo)記為obj、 bkg或者是unknown從而獲得分割模板maskimg,如果maskimg中標(biāo)記為obj的像素個(gè)數(shù)大于閾值objNum,則判斷此幀為手勢(shì)穩(wěn)定幀,令gesture=1轉(zhuǎn)步驟5,否則,用當(dāng)前幀更新背景bgimg,并重置start=0,gesture=0轉(zhuǎn)步驟3;
步驟5:在moveROI區(qū)域中,結(jié)合分割模板maskimg,利用Graph Cuts算法進(jìn)行圖像分割,得到手部動(dòng)作二值圖,
本發(fā)明通過(guò)提供的虛擬現(xiàn)實(shí)系統(tǒng)的手部動(dòng)作捕捉方法,其有益效果在于:實(shí)時(shí)建立膚色模型,對(duì)光照及不同用戶膚色的差異具有一定的魯棒性,并且允許用戶的臉部進(jìn)入攝像頭視野減少對(duì)用戶的限制;采用雙閾值法,保證手部像素的正確標(biāo)記,能獲得完整的手部動(dòng)作;利用背景差分法,可去除背景中的類膚色區(qū)域,將分割區(qū)域限制在比較小的感興趣區(qū)域moveROI內(nèi),大大提高動(dòng)作捕捉的正確率及速度,滿足實(shí)時(shí)捕捉的要求。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為手部動(dòng)作的三個(gè)階段轉(zhuǎn)換圖;
圖2為手部動(dòng)作捕捉流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人 員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本實(shí)施例的虛擬現(xiàn)實(shí)系統(tǒng)的手部動(dòng)作捕捉方法,在實(shí)施時(shí)需要基于以下兩點(diǎn)要求:1、視頻的前幾幀檢測(cè)人臉時(shí),用戶并沒(méi)有手勢(shì);2、為了獲得較好的分割效果,用戶做手勢(shì)時(shí)要求要在頭部以上的區(qū)域進(jìn)行,避免和人臉重合,并且每個(gè)手勢(shì)要停頓幾秒。一般情況下,這兩點(diǎn)要求是合理的并且可以達(dá)到。
在實(shí)際情況中,用戶手部的動(dòng)作過(guò)程分為開始、穩(wěn)定、結(jié)束三個(gè)階段,開始,即抬起手部到維持某種手勢(shì)的過(guò)程;穩(wěn)定,即維持某種靜態(tài)手勢(shì)的階段;結(jié)束,即手勢(shì)完成放下手部的過(guò)程。三個(gè)階段的轉(zhuǎn)換如圖1所示。
本實(shí)施例中,采用標(biāo)識(shí)start、gesture來(lái)區(qū)分這三個(gè)階段,start,標(biāo)識(shí)手勢(shì)的開始,避免對(duì)同一次手勢(shì)多次重復(fù)采集和識(shí)別;gesture,標(biāo)識(shí)手勢(shì)的穩(wěn)定,只有在這個(gè)階段采集到的手勢(shì)才是準(zhǔn)確的手勢(shì)。
在自然狀態(tài)下,當(dāng)處于穩(wěn)定階段時(shí)手是保持不變的,而在開始和結(jié)束階段都有手的運(yùn)動(dòng),故將手部動(dòng)作劃分這三個(gè)階段:當(dāng)前后兩幀幀差圖中有運(yùn)動(dòng)物體時(shí)則令start=1;當(dāng)start=1且又檢測(cè)到幀差圖沒(méi)有運(yùn)動(dòng)物體時(shí)令gesture=-1,此時(shí)可能為手勢(shì)的穩(wěn)定階段也可能只是背景中其他的運(yùn)動(dòng)物體引發(fā)了此狀態(tài),只有當(dāng)此幀分割出的前景區(qū)域中,膚色像素個(gè)數(shù)大于某閾值時(shí),才確定此幀為手勢(shì)穩(wěn)定的關(guān)鍵幀并令gesture=1,否則用此幀來(lái)更新背景,并重置start=0,gesture=0,繼續(xù)檢測(cè)視頻流。
如圖2所示,具體捕捉過(guò)程包括以下步驟,:
步驟1:初始化faceLable=0,start=0,gesture=0;
步驟2:攝像頭開啟后,不斷的檢測(cè)人臉,當(dāng)檢測(cè)到可靠人臉時(shí),獲得膚色區(qū)域的膚色像素建立膚色高斯模型(當(dāng)建立膚色模型后在后續(xù)幀中就不用檢測(cè)臉部區(qū)域);并將此幀圖像設(shè)定為背景圖bgimg,標(biāo)記faceLable=1轉(zhuǎn)步驟3,否則繼續(xù)檢測(cè)視頻流直至獲取可靠的人臉區(qū)域;
步驟3:當(dāng)在視頻流中檢測(cè)到start=1且gesture=-1時(shí)轉(zhuǎn)步驟4,否則繼續(xù)檢測(cè);
步驟4:用當(dāng)前幀與步驟1中設(shè)定的背景圖bgimg做差分的到差分二值圖chafenimg,獲取差分圖中的最大運(yùn)動(dòng)區(qū)域moveROI中的每個(gè)像素標(biāo)記為obj、bkg或者是unknown從而獲得分割模板maskimg,如果maskimg中標(biāo)記為obj的像素個(gè)數(shù)大于閾值objNum,則判斷此幀為手勢(shì)穩(wěn)定幀,令gesture=1轉(zhuǎn)步驟5,否則,用當(dāng)前幀更新背景bgimg,并重置start=0,gesture=0轉(zhuǎn)步驟3;
步驟5:在moveROI區(qū)域中,結(jié)合分割模板maskimg,利用Graph Cuts算法進(jìn)行圖像分割,得到手部動(dòng)作二值圖,
算式中,maskimg(x)表示分割模板圖中點(diǎn)x被標(biāo)記的值,它的取值是obj、bkg或者是unknown中的一種,chafenimg(x)表示在背景差分圖中點(diǎn)x的像素值,若為255表示前景,為0表示背景。p(x)為像素x的膚色概率,TH1、TH2為概率閾值且TH1>TH2。對(duì)區(qū)域moveROI中的任一點(diǎn)x,若它在差分圖中是前景,則它很有可能是手勢(shì),此時(shí)若其膚色概率值p(x)大于高閾值,就肯定其為手勢(shì)種子點(diǎn),若p(x)雖小于高閾值大于低閾值,則不能判定改點(diǎn)為手勢(shì)還是背景,將其標(biāo)記為unknown;若它在差分圖中為背景,則它很有可能是背景,但是若其膚色概率值p(x)大于高閾值,則不能確定其為手勢(shì)或北京,也將其標(biāo)記為unknown;其他情況都將其為背景種子點(diǎn)。算式中的高概率閾值TH1保證被標(biāo)記為obj的正確率,低概率閾值防止將某些手部像素標(biāo)記為bkg。
運(yùn)用本實(shí)施例提出的方法,應(yīng)用在虛擬現(xiàn)實(shí)系統(tǒng)中,可實(shí)時(shí)建立膚色模型,對(duì)光照及不同用戶膚色的差異具有一定的魯棒性,并且允許用戶的臉部進(jìn)入攝像頭視野減少對(duì)用戶的限制;采用雙閾值法,保證手部像素的正確標(biāo)記,能獲得完整的手部動(dòng)作;利用背景差分法,可去除背景中的類膚色區(qū)域,將分割區(qū)域限制在比較小的感興趣區(qū)域moveROI內(nèi),大大提高動(dòng)作捕捉的正確率及速度,滿足實(shí)時(shí)捕捉的要求。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。