本發(fā)明屬于計算機視覺與機器學習的技術(shù)領(lǐng)域,具體涉及一種基于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的第一視角手勢識別與交互方法。
背景技術(shù):
隨著許多虛擬現(xiàn)實(virtualreality,vr)和增強現(xiàn)實(augmentingreality,ar)設(shè)備產(chǎn)品的推出,給人機交互方面研究的熱度又增加了不少??v觀人體全身,手已經(jīng)被認為是最重要和普遍的交互工具了。同時,在人機交互領(lǐng)域,手勢識別已經(jīng)是一個很重要的研究方向。而由于ar與vr的興起,第一視角(egocentricvision)手勢交互技術(shù)逐漸受到大家的關(guān)注,越來越多的學者及企業(yè)也紛紛投入人力物力去做相應(yīng)的研究與開發(fā)。
第一視角的手勢交互主要涉及兩個方面,手勢識別與骨架關(guān)鍵點定位。本發(fā)明將結(jié)合手勢識別與骨架點定位形成一個綜合應(yīng)用。假設(shè)如下場景:用戶在佩戴ar/vr設(shè)備的情況下,需要與設(shè)備中內(nèi)容做相應(yīng)交互,可以直接舉起手進行特定的手勢動作,完成特定的交互操作而無需借助其他外接設(shè)備,大大提高了產(chǎn)品的用戶體驗。
目前,由于數(shù)字攝像頭的廣泛普及,基于圖像和視頻的手勢識別研究已經(jīng)成為計算機視覺領(lǐng)域的一個重要研究方向之一。各種各樣的手勢識別的傳統(tǒng)方法也早已經(jīng)被提出來,例如隱馬爾科夫模型(hmm)、有限狀態(tài)機(fsm)、動態(tài)貝葉斯網(wǎng)絡(luò)(dbn)、動態(tài)時間規(guī)劃(dtw)和人工神經(jīng)網(wǎng)絡(luò)(ann)。這些傳統(tǒng)方法模型通常是需要人工預(yù)定義特征,如尺度不變特征轉(zhuǎn)換(sift)、陳特征(surf)、方向梯度直方圖(hog)、傅里葉描述子等手形特征描述和基于光流、運動跟蹤方法的手勢運動信息描述,人工選擇特征的方法有很大的局限性,通常需要先驗知識、經(jīng)驗和大量的手工調(diào)整,而且算法模型的識別率容易因為手勢操作速度、方向、手形大小的差異產(chǎn)生很大的影響。近年來新起的深度學習技術(shù)在特征選擇方面可以很好的解決上述問題。深度學習善于處理視覺信息,深度卷積神經(jīng)網(wǎng)絡(luò)(cnn)能將圖像淺層特征通過層層非線性變化強化為高級深層特征,在各種視覺分類,回歸問題均能有極佳的表現(xiàn)。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)存在的上述不足,本發(fā)明提出基于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的第一視角手勢識別與交互方法,以解決第一視角下,動態(tài)視頻流中手勢識別與關(guān)鍵骨節(jié)點精準定位問題,并根據(jù)手勢識別結(jié)果及利用骨節(jié)點位置信息,實現(xiàn)一套手勢交互方案。
為了實現(xiàn)上述的目的,本發(fā)明提供如下的技術(shù)方案:基于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的第一視角手勢識別與交互方法,包括以下步驟:
s1、獲取包括多種不同第一視角下的手勢的訓練數(shù)據(jù),人工標定訓練數(shù)據(jù)的標簽,所述訓練數(shù)據(jù)的標簽包括手勢區(qū)域的外接矩陣左上角坐標和右下角坐標、人工標定的手勢類別、人工標定的關(guān)鍵骨架的坐標點;
s2、設(shè)計一個基于區(qū)域卷積的神經(jīng)網(wǎng)絡(luò),使得神經(jīng)網(wǎng)絡(luò)輸入為三通道rgb圖像,輸出為手勢區(qū)域的外接矩陣左上角坐標和右下角坐標,以及手勢類別、手勢骨架關(guān)鍵點;
s3、判斷手勢類別,根據(jù)不同需求輸出相應(yīng)的交互結(jié)果;
s4、利用手勢判別結(jié)果進行指令判別,作出相應(yīng)指令。
優(yōu)選地,步驟s2所述基于區(qū)域卷積的神經(jīng)網(wǎng)絡(luò)包括兩部分,第一部分為包括卷積層-池化層-卷積層-池化層-卷積層-池化層-全連接層的卷積神經(jīng)網(wǎng)絡(luò)cnn模型,用于訓練手部檢測,第一部分的輸入為rgb圖像,訓練輸出為手勢區(qū)域外接矩陣左上角坐標和右下角坐標;第二部分為包括roi池化層-卷積層-池化層-卷積層-池化層-全連接層的卷積神經(jīng)網(wǎng)絡(luò)cnn模型,輸入為第一部分的最后一個池化層圖像,并通過第一部分輸出手勢區(qū)域外接矩陣左上角坐標和右下角坐標,在roi池化層作一致化處理,訓練輸出為手勢類別及關(guān)鍵骨架的坐標位置。
從以上技術(shù)方案可知,本發(fā)明通過單模型訓練與部分網(wǎng)絡(luò)共享,提高了第一視角下手勢識別的識別速度與準確性。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
1、將數(shù)據(jù)格式轉(zhuǎn)為rgb圖像,不同于rbgd圖像,該數(shù)據(jù)采集范圍大,距離遠,可同時使用于室內(nèi)與室外,在第一視角下的手勢識別場景下有很好的表現(xiàn)。
2、通過訓練神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),讓神經(jīng)網(wǎng)絡(luò)自動去學習對于手勢分類有用的時空特征,使得手勢識別方法更加魯棒,手勢識別率更加穩(wěn)定。此外,本發(fā)明所使用神經(jīng)網(wǎng)絡(luò)模型由于有部分網(wǎng)絡(luò)共享,相對于目前已有神經(jīng)網(wǎng)絡(luò)模型在計算上更加快速。
附圖說明
圖1為本發(fā)明第一視角下手勢識別與交互算法流程圖;
圖2中a、b、c、d、e及f為本發(fā)明第一視角下手勢類別樣本示意圖;
圖3為本發(fā)明中區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖。
具體實施方式
下面將結(jié)合實施例及附圖,對本發(fā)明的技術(shù)方案進行清楚、完整的描述,但本發(fā)明的實施方式不限于此。
實施例
如圖1所示,本發(fā)明基于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的第一視角手勢識別與交互方法,包括如下步驟:
s1、獲取訓練數(shù)據(jù),人工標定訓練數(shù)據(jù)的標簽,標簽包括手部區(qū)域的前景趨于的左上角點和右下角點,不同手勢的骨架節(jié)點坐標,以及人工標記的不同手勢類別。
獲取數(shù)據(jù)時,將攝像頭處于人眼位置,視覺方向與眼睛直視方向一致,持續(xù)采集視頻流信息并轉(zhuǎn)化為rgb圖像,圖像包括多種不同手勢(如圖2的a-f所示)。其中,攝像頭為普通2d攝像頭,采集圖像為普通rgb圖像,大小為640*480。訓練數(shù)據(jù)包括多種不同手勢,手勢均為第一視角下的,其中訓練數(shù)據(jù)的標簽包括手勢區(qū)域的外接矩陣左上角坐標和右下角坐標、人工標定的手勢類別、人工標定的關(guān)鍵骨架的坐標點。
s2、設(shè)計一個基于區(qū)域卷積的神經(jīng)網(wǎng)絡(luò)(如圖3所示),包括卷積層、池化層的多級組合,以及最后作為輸出的全連接層,還有特定的roi池化層,用于提取池化層中手部的前景區(qū)域,使得網(wǎng)絡(luò)輸入為三通道rgb圖像,輸出為手勢區(qū)域的外接矩陣左上角坐標和右下角坐標,以及手勢類別、手勢骨架關(guān)鍵點。
基于區(qū)域卷積的神經(jīng)網(wǎng)絡(luò)在用于手部檢測的同時,也用于手勢分類與指尖檢測,其在結(jié)構(gòu)上主要包括兩部分:
第一部分為一個7層卷積神經(jīng)網(wǎng)絡(luò)(cnn模型),用于訓練手部檢測,輸入為三通道rgb圖像,訓練輸出為手勢區(qū)域外接矩陣左上角坐標和右下角坐標;這一部分7層分別為卷積層-池化層-卷積層-池化層-卷積層-池化層-全連接層,卷積層的作用是用它來對圖像進行特征提?。怀鼗瘜拥淖饔檬菍矸e層輸出的特征圖進行壓縮,一方面使特征圖變小,簡化網(wǎng)絡(luò)計算復(fù)雜度,一方面進行特征壓縮,提取主要特征;全連接層作用是連接所有的特征,將輸出值送給最后分類器,得出最后分類結(jié)果,由于第一部分是回歸問題,所以無需用到分類器。
第二部分從第一部分cnn模型中的池化層(pool層)取出圖層,并通過網(wǎng)絡(luò)輸出的前景外接矩形左上角坐標和右下角坐標,切割出感興趣區(qū)域,從而獲得包含手部的前景區(qū)域,將該前景區(qū)域接入roi池化層,作用為做一致性處理,使得不同大小的前景圖像均能變換成相同大小的前景圖像,作為后續(xù)網(wǎng)絡(luò)的輸入;后續(xù)網(wǎng)絡(luò)為一個6層的卷積神經(jīng)網(wǎng)絡(luò)(cnn模型)用于骨節(jié)點檢測與手勢識別,分別為roi池化層-卷積層-池化層-卷積層-池化層-全連接層。這里和第一部分不同,由于第二部分是分類問題,所以加上分類器做最后的輸出。也就是說,第二部分cnn模型的輸入為第一部分cnn模型的最后一個池化層圖像,通過第一部分輸出手勢區(qū)域外接矩陣左上角坐標和右下角坐標切割出感興趣區(qū)域,并在roi池化層作一致化處理,訓練輸出為手勢類別及關(guān)鍵骨節(jié)點的坐標位置。
需說明的是,神經(jīng)網(wǎng)絡(luò)的兩部分模型為一體化模型,共同構(gòu)成一個網(wǎng)絡(luò),一同訓練,第一部分模型優(yōu)化歐氏范數(shù)損失函數(shù),第二部分模型優(yōu)化分段損失函數(shù),通過監(jiān)督競爭學習的方式得到各層的權(quán)值,最后訓練得到整個網(wǎng)絡(luò)的參數(shù)權(quán)值,用于識別檢測手勢類別及關(guān)鍵骨節(jié)點的坐標位置。
s3、判斷手勢類別,根據(jù)不同需求輸出相應(yīng)的交互結(jié)果,若為跟蹤需求,則對手勢骨架關(guān)鍵點進行雙指數(shù)濾波與坐標映射,若為判定需求,則對不同手勢類別做出相應(yīng)的判別結(jié)果,例如確定、取消等。
s4、利用手勢判別結(jié)果進行指令判別,作出相應(yīng)指令。
手勢識別方法可適用于增強現(xiàn)實(ar),虛擬現(xiàn)實(vr)等需要第一視角下手勢交互場景中。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。