本發(fā)明涉及圖像識別領(lǐng)域,具體涉及一種基于極限學(xué)習(xí)機(jī)的手勢識別方法。
背景技術(shù):
如今,人機(jī)交互的主要方式仍然還是鼠標(biāo)和鍵盤。但是這些需要操作一定設(shè)備的交互方式,對交互而言并不方便流暢,同時(shí)也制約著交互的速度。而隨著科學(xué)技術(shù)的日益進(jìn)步和發(fā)展,計(jì)算機(jī)的性能在不斷提高,其對人們生活的影響也在逐漸擴(kuò)發(fā)和加深。高性能的計(jì)算機(jī)急需更自然順暢的人機(jī)交互方式,同時(shí)也為實(shí)現(xiàn)這些人家交互方式提供了必要的條件。計(jì)算機(jī)的發(fā)展推動著人機(jī)交互技術(shù)的不斷革新。而手勢識別作為其中一個(gè)重要領(lǐng)域,更是吸引著眾多學(xué)者的研究。
目前的手勢識別方式一般分為兩類:基于數(shù)據(jù)手套和基于計(jì)算機(jī)視覺兩類。現(xiàn)在基于數(shù)據(jù)手套的手勢識別方式雖然已經(jīng)能夠做到較高的識別率,但是其復(fù)雜的操作、昂貴的設(shè)備使其無法在實(shí)際應(yīng)用普及。此外需要佩戴的設(shè)備這一點(diǎn)也使得基于數(shù)據(jù)手套的手勢識別方法沒有基于計(jì)算機(jī)視覺的手勢識別方法方便。
雖然目前不少學(xué)者提出了基于計(jì)算機(jī)視覺的手勢識別方法,但目前方法的研究仍存在諸多問題,如現(xiàn)有的基于計(jì)算機(jī)視覺的手勢識別方法大多只是利用了普通攝像頭采集rgb圖像,由于采集數(shù)據(jù)的種類單一,沒有更多的有用信息提供給系統(tǒng)進(jìn)行判別,因此算法難以將手勢跟背景完全分離。此外,目前的基于計(jì)算機(jī)視覺的手勢識別方法在手勢特征提取方面通常只采用一種特征描述手勢,導(dǎo)致系統(tǒng)存在一定的誤判率。再者如今用于手勢分類的智能算法一般需要花大量的時(shí)間進(jìn)行算法的訓(xùn)練,才能較好的保證分類的準(zhǔn)確率。而在算法執(zhí)行的過程中一般還需要花費(fèi)大量的計(jì)算機(jī)資源進(jìn)行計(jì)算,不利于系統(tǒng)的實(shí)時(shí)工作。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)存在的缺點(diǎn)與不足,本發(fā)明提供一種基于極限學(xué)習(xí)機(jī)的手勢識別方法。
本發(fā)明采用如下技術(shù)方案:
一種基于極限學(xué)習(xí)機(jī)的手勢識別方法,包括如下步驟:
用普通攝像頭采集rgb圖像,用紅外攝像頭采集紅外圖像;
采用閾值分割的方法確定紅外圖像中屬于人體的像素點(diǎn)區(qū)域,然后結(jié)合rgb圖像得到人體rgb圖像,根據(jù)人體rgb圖像,通過膚色模型得到圖像中的膚色區(qū)域,然后利用閥值法判別膚色區(qū)域的形狀復(fù)雜度,得到手勢二值圖像;
提取手勢區(qū)域的hog特征和hu矩作為特征向量;
最后將極限學(xué)習(xí)機(jī)運(yùn)用于手勢特征向量的分類中,完成手勢識別任務(wù)。
所述膚色模型采用如下公式進(jìn)行線性灰度變換:
f″(x,y)=0.8×f′(x,y)。
所述提取手勢區(qū)域的hog特征和hu矩作為特征向量,具體為:
根據(jù)手勢二值圖像提取手勢的hu矩特征,結(jié)合手勢二值圖像和rgb圖像,提取手勢的hog特征,并結(jié)合hu矩特征組成手勢的特征向量。
計(jì)算hog特征時(shí),將手勢區(qū)域分成16個(gè)子區(qū)域,將每個(gè)子區(qū)域像素的梯度方向分成10個(gè)區(qū)間進(jìn)行加權(quán)的直方圖統(tǒng)計(jì),將16個(gè)直方圖分別進(jìn)行歸一化操作并串聯(lián)起來,作為手勢的hog特征。
所述將極限學(xué)習(xí)機(jī)運(yùn)用于手勢特征向量的分類中,完成手勢識別任務(wù),具體為:
利用樣本的手勢特征向量訓(xùn)練極限學(xué)習(xí)機(jī),訓(xùn)練階段包括隨機(jī)初始化參數(shù)、計(jì)算隱含層數(shù)據(jù)和計(jì)算輸出權(quán)重;
用已訓(xùn)練的極限學(xué)習(xí)機(jī)對手勢特征向量分類,分類階段包括計(jì)算隱含層輸出和輸出分類結(jié)果。
所述極限學(xué)習(xí)機(jī)的隱含層激活函數(shù)為sigmoid函數(shù),隱含層節(jié)點(diǎn)數(shù)為200。
本發(fā)明的有益效果:
本發(fā)明通過結(jié)合hog特征和hu矩特征,提高手勢識別準(zhǔn)確率。同時(shí)運(yùn)用極限學(xué)習(xí)機(jī)有效提手勢識別的訓(xùn)練速度識別速度,使手勢識別系統(tǒng)具有快速、準(zhǔn)確率高、泛化性高等優(yōu)點(diǎn)。
附圖說明
圖1為一種基于極限學(xué)習(xí)機(jī)的手勢識別方法的總體流程圖;
圖2為一種基于極限學(xué)習(xí)機(jī)的手勢識別方法的手勢分割流程圖;
圖3為一種基于極限學(xué)習(xí)機(jī)的手勢識別方法的特征提取流程圖;
圖4為一種基于極限學(xué)習(xí)機(jī)的手勢識別方法的手勢分類流程圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例及附圖,對本發(fā)明作進(jìn)一步地詳細(xì)說明,但本發(fā)明的實(shí)施方式不限于此。
實(shí)施例
如圖1所示,一種基于極限學(xué)習(xí)機(jī)的手勢識別方法,其流程依次為圖像采集階段、手勢分割階段、特征提取階段以及手勢分類階段。
圖像采集階段:用普通攝像頭采集rbg圖像,用紅外攝像頭采集紅外圖像;
所述攝像頭和紅外攝像頭都應(yīng)安裝于人體正前方,且距離人體大約0.6m的地方。攝像頭和紅外攝像頭之間的距離大約在2cm左右。
手勢分割階段:
如圖2所示,手勢分割階段包括如下步驟:
(1)紅外圖像采用閾值分割的方法確定圖像中屬于人體的像素點(diǎn)區(qū)域,并結(jié)合rgb圖像得到手勢rgb圖像,具體公式為:
其中f(x,y)為rgb圖像中位于坐標(biāo)(x,y)的rgb像素值;f′(x,y)為人體rgb圖像中位于坐標(biāo)(x,y)的rgb像素值;h(x,y)為紅外圖像中位于坐標(biāo)(x,y)的灰度值;hmin為閾值法的灰度最小值;hmax為閾值法的灰度最大值。
(2)根據(jù)人體rgb圖像,通過膚色模型得到圖像中的膚色區(qū)域,具體如下:
i)進(jìn)行線性灰度變換。具體公式如下:
f″(x,y)=0.8×f′(x,y)
其中f′(x,y)為人體rgb圖像中位于坐標(biāo)(x,y)的rgb像素值;f″(x,y)為灰度變換后的人體rgb圖像中位于坐標(biāo)(x,y)的rgb像素值。
ii)將灰度變換后的人體rgb圖像轉(zhuǎn)換到y(tǒng)cbcr空間中,具體公式如下:
y(x,y)=0.299×r(x,y)+0.587×g(x,y)+0.114×b(x,y)
cr(x,y)=(r(x,y)-y(x,y))×0.713
cb(x,y)=(b(x,y)-y(x,y))×0.564
其中r(x,y),g(x,y),b(x,y)分別為灰度變換后的人體rgb圖像中位于坐標(biāo)(x,y)紅、綠、藍(lán)三個(gè)分量;y(x,y)為灰度變換后的人體rgb圖像中位于坐標(biāo)(x,y)的灰度值;cr(x,y)為ycbcr空間中位于坐標(biāo)(x,y)的cr分量;cb(x,y)為ycbcr空間中位于坐標(biāo)(x,y)的cb分量。
iii)采用閾值法分割出膚色區(qū)域,具體公式如下:
其中bi(x,y)為膚色區(qū)域二值圖像中位于坐標(biāo)(x,y)的值;cr(x,y)為ycbcr空間中位于坐標(biāo)(x,y)的cr分量;cb(x,y)為ycbcr空間中位于坐標(biāo)(x,y)的cb分量;crmin、crmax、cbmin、cbmax分別為閾值法cr分量最小值、最大值、cb分量最小值、最大值。
然后利用閾值法判別膚色區(qū)域的形狀復(fù)雜度,得到手勢二值圖像。復(fù)雜度小于0.3連通域標(biāo)為手勢區(qū)域,其值置為1;反之標(biāo)為非手勢區(qū)域,其值置為0。復(fù)雜度計(jì)算公式如下:
其中c為連通域的復(fù)雜度;p為連通域的邊長;a為連通域的面積。
(3)特征提取階段,如圖3所示,包括如下步驟:
a)根據(jù)手勢二值圖像提取手勢的七個(gè)矩不變量,組成hu矩特征。其形式如下:
其中
b)結(jié)合手勢二值圖像和rgb圖像,提取手勢的hog特征,并結(jié)合hu矩特征組成手勢的特征向量。具體做法如下:
i)將rgb圖像轉(zhuǎn)化為灰度圖,進(jìn)行灰度壓縮后分別與[-1,0,1]和[-1,0,1]t兩個(gè)梯度算子卷積,得到圖像gx和gy?;叶葔嚎s公式如下:
i′(x,y)=i(x,y)0.5
其中i′(x,y)為灰度壓縮后位于圖像(x,y)的灰度值;i(x,y)為灰度壓縮前位于圖像(x,y)的灰度值。
ii)計(jì)算梯度大小和梯度方向。具體公式如下:
其中g(shù)(x,y)、α(x,y)分別為位于圖像(x,y)的梯度大小和梯度方向;gx(x,y)、gy(x,y)分別為圖像gx和gy在(x,y)的值。
iii)根據(jù)手勢二值圖像得到圖像中的手勢區(qū)域,將手勢區(qū)域分成16個(gè)手勢子區(qū)域。將360度等分成10份,采用以梯度大小為權(quán)值的加權(quán)投影方式,分別得到16個(gè)手勢子區(qū)域的梯度方向直方圖。將16個(gè)梯度方向直方圖分別進(jìn)行歸一化并串聯(lián)起來,得到hog特征。最后結(jié)合hu特征得到167維的手勢特征向量。
(4)手勢分類階段,如圖4所示,包括如下步驟:
a)在使用極限學(xué)習(xí)機(jī)前需要利用樣本的手勢特征向量訓(xùn)練極限學(xué)習(xí)機(jī)。具體方法如下:
i)隨機(jī)生成輸入權(quán)重以及輸入偏置,其中輸入權(quán)重的取值范圍為[-1,1],輸入偏置的取值范圍為[0,1]。
ii)計(jì)算樣本的隱含層節(jié)點(diǎn)輸出,具體公式如下:
其中h為隱含層節(jié)點(diǎn)輸出;xi是第i個(gè)樣本手勢特征向量;g(x)為隱含層節(jié)點(diǎn)的激勵函數(shù);本發(fā)明采用sigmoid函數(shù);ai為第i個(gè)隱含層節(jié)點(diǎn)的輸入權(quán)重;bi為第i個(gè)隱含層節(jié)點(diǎn)的輸入偏置;n為樣本總數(shù);l為隱含層節(jié)點(diǎn)數(shù),本發(fā)明中l(wèi)=200。
iii)計(jì)算極限學(xué)習(xí)機(jī)的輸出權(quán)重。具體公式如下:
其中
b)用已訓(xùn)練的極限學(xué)習(xí)機(jī)對手勢特征向量分類。具體做法如下:
i)計(jì)算待分類手勢特征的隱含層輸出。具體公式如下:
h′=[g(a1·x′+b1)…g(al·x′+bl)]
其中h′為待分類手勢特征的隱含層輸出,x′是待分類手勢特征向量,g(x)為隱含層節(jié)點(diǎn)的激勵函數(shù),本發(fā)明采用sigmoid函數(shù),ai為第i個(gè)隱含層節(jié)點(diǎn)的輸入權(quán)重,bi為第i個(gè)隱含層節(jié)點(diǎn)的輸入偏置,l為隱含層節(jié)點(diǎn)數(shù),本發(fā)明中l(wèi)=200。
ii)計(jì)算并輸出分類結(jié)果。具體公式如下:
y=h′*β
其中y是基于極限學(xué)習(xí)機(jī)的手勢分類結(jié)果,β是隱含層輸出權(quán)重,h′為隱含層輸出。
上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受所述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。