柏麗銀,彭亞雄,陸安江,余圣新,張 旭
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)
近年來,國內(nèi)外針對基于計算機(jī)視覺的手勢識別進(jìn)行了廣泛的研究,本文主要研究基于神經(jīng)網(wǎng)絡(luò)的手勢識別,該方法一般主要分為兩個步驟:①復(fù)雜背景下的手勢分割、手勢目標(biāo)檢測;②基于神經(jīng)網(wǎng)絡(luò)的特征提取與識別。文獻(xiàn)[1]利用手勢圖像的深度信息進(jìn)行分割與定位,該方法比已有分割方法更準(zhǔn)確可靠[1]。文獻(xiàn)[2]使用改進(jìn)的YOLOv3對深度手勢圖像進(jìn)行手部目標(biāo)檢測,框出手部目標(biāo),再進(jìn)行識別,該文獻(xiàn)目標(biāo)檢測和識別兩個步驟都使用了深度神經(jīng)網(wǎng)絡(luò)。文獻(xiàn)[1,2]都使用了圖像深度信息,需要的硬件設(shè)備比較高。文獻(xiàn)[3]是基于深度殘差網(wǎng)絡(luò)對手勢進(jìn)行定位與識別,使網(wǎng)絡(luò)能學(xué)習(xí)到抽象的紋理特征來識別手勢。文獻(xiàn)[4-6]基于膚色檢測分割法去除手勢圖像背景,利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行手勢特征提取與識別?;谀w色檢測分割背景易受光照和膚色背景影響,文獻(xiàn)[4-6]均在室內(nèi)背景下進(jìn)行實驗,不滿足任意復(fù)雜背景的需求,而且識別的手勢種類也比較少。
針對以上問題,本文提出一種復(fù)雜背景下多特征融合的手勢識別:①提出一種改進(jìn)的手勢圖像邊緣檢測;②針對復(fù)雜背景、不同光照和手部形狀大小、膚色等因素導(dǎo)致膚色檢測對手勢圖像手部分割不準(zhǔn)確的問題,提出一種利用手勢圖像的邊緣信息與手部膚色相融合的方法,對復(fù)雜背景下的手勢進(jìn)行手部分割;③采用卷積神經(jīng)網(wǎng)絡(luò)的特性,設(shè)計卷積神經(jīng)網(wǎng)絡(luò)模型,對②分割好的手勢圖像進(jìn)行特征提取和分類識別。實驗結(jié)果表明,本文方法在復(fù)雜背景下的魯棒性較好,識別率較高。
在實際應(yīng)用中,手勢的不同角度、不同尺寸、膚色、光照強(qiáng)度以及手勢周圍的環(huán)境等給手勢識別帶來了巨大的挑戰(zhàn)。手勢圖像的背景分為簡單背景和復(fù)雜背景,簡單背景是指不包含任何噪聲的背景,而復(fù)雜背景是指包含噪聲的背景。本文研究的是復(fù)雜背景下的手勢識別,如圖1所示。
圖1 復(fù)雜背景下的手勢
在圖像邊緣提取算法中,Canny算子利用圖像邊緣像素的梯度變化原理來判斷圖像的邊緣,具有較好的魯棒性,該方法信噪比大和準(zhǔn)確率高。Canny算子主要缺點是圖像預(yù)處理時易平滑掉手勢圖像邊緣,增加了邊緣定位的不確定性,另外在判斷邊緣時,需要人工設(shè)置高低閾值,自適應(yīng)性能低[7]。本研究在Canny算子的基礎(chǔ)上對Canny算子檢測手勢圖像邊緣進(jìn)行了改進(jìn)。
在圖像預(yù)處理時使用自適應(yīng)中值濾波的保邊性能和濾除椒鹽噪聲的性能與雙邊濾波相結(jié)合的方法。該方法在降噪時能夠保持圖像邊緣信息。圖像邊緣提取時,在Sobel的基礎(chǔ)上擴(kuò)展45度和135度方向的運算[8,9],增強(qiáng)其對噪聲的適應(yīng)性。定義請參見文獻(xiàn)[10]。在進(jìn)行邊緣檢測時,梯度幅值分為兩類,即邊緣與非邊緣。在不同場景下,邊緣與非邊緣的閾值是不同的,一個固定的值不可能適應(yīng)所有場景。針對手勢圖像的不同場景,本文利用信息論中的最大熵原理自適應(yīng)求取邊緣與非邊緣的最佳閾值,使手勢圖像邊緣檢測更加準(zhǔn)確。
復(fù)雜背景下的手勢圖像邊緣提取實驗結(jié)果如圖2所示。
圖2 手勢圖像邊緣檢測
從實驗結(jié)果圖2可以得出,邊緣檢測基本檢測出了手勢的邊緣,但是,在復(fù)雜背景下拍攝的手勢圖像,除了手勢,還有復(fù)雜的背景。在對其進(jìn)行邊緣檢測時,手勢邊緣與復(fù)雜背景邊緣同時被檢測出來,復(fù)雜背景邊緣對于手勢識別是無用的,且對手勢識別造成一定的干擾,即噪聲。
膚色是人手的特征之一。基于橢圓模型的膚色檢測可以適應(yīng)環(huán)境的光照變化和適應(yīng)與膚色不同顏色的背景。RGB圖像采用非線性變換到Y(jié)CbCr空間后,膚色在圖像中呈現(xiàn)明顯的橢圓分布。定義請參見文獻(xiàn)[11]。檢測結(jié)果如圖3所示。
圖3 橢圓模型膚色檢測手勢圖像
在圖3中,圖3(a)和圖3(b)為同一手勢,不同背景下的膚色檢測結(jié)果對比。圖3(c)和圖3(d)是不同背景不同手勢的實驗結(jié)果對比。由實驗結(jié)果可以得出,在復(fù)雜背景下,沒有膚色的背景檢測出的手勢圖像比較準(zhǔn)確,但是當(dāng)復(fù)雜背景有膚色顏色時,膚色檢測就會檢測出膚色背景。在圖3(a)中有膚色背景,檢測出了手勢與部分背景。圖3(c)中,由于膚色背景的原因,該圖基本沒有過濾掉背景。圖3(d)由于光照變化的原因,在膚色檢測時,手勢部分也會被默認(rèn)為背景,從而檢測不出手勢或檢測出的手勢輪廓不完整。
邊緣檢測基本可以檢測到圖像全部邊緣,但同時也會檢測到復(fù)雜背景下的邊緣。橢圓膚色模型在簡單或者膚色與背景顏色相差較大時,檢測效果較好,在光線較暗、有膚色背景等情況下,基本檢測不出手勢。經(jīng)研究,在復(fù)雜背景下具有膚色背景的邊緣信息比較單一,而手部邊緣信息相對背景邊緣信息較多。根據(jù)上述,本文在手勢圖像邊緣的基礎(chǔ)上,使用膚色檢測判斷邊緣像素是否為手部邊緣,然后提取手部。針對一些光線較暗,無法檢測出膚色的圖像,本文使用圖像邊緣代替。具體結(jié)構(gòu)如圖4所示。
圖4 圖像邊緣與膚色檢測融合結(jié)構(gòu)框架
手勢圖像的邊緣信息與手部膚色融合具體分為3個步驟:①遍歷邊緣圖像,判斷像素點是否是邊緣點。②如果是邊緣點,判斷該像素點8領(lǐng)域內(nèi)是否有膚色點,有,分別保留邊緣像素點和膚色點,沒有,舍去。③判斷經(jīng)過膚色檢測后的邊緣圖像所保留的像素點總數(shù)是否大于全圖邊緣檢測的總像素點的2%,是,則輸出手部圖像邊緣;否,則保留邊緣檢測原圖。根據(jù)上述步驟,最后輸出手勢邊緣圖和手勢邊緣與膚色融合圖。實驗結(jié)果如圖5所示。
圖5 圖像邊緣與膚色融合檢測結(jié)果
圖5中,圖5(a)與圖5(b)是同一手勢在不同復(fù)雜背景(有無膚色)下檢測結(jié)果對比。圖5(b)和圖5(c)是不同手勢不同背景下的檢測結(jié)果對比。由實驗結(jié)果可以得出,手勢圖像邊緣信息與橢圓膚色模型融合,在濾除背景的同時,基本檢測出了手勢手部輪廓。
綜上所述,手勢圖像的邊緣信息與橢圓膚色模型相融合可以有效分隔出手部圖像,優(yōu)于圖像邊緣檢測和膚色檢測。
卷積神經(jīng)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)圖像的特征提取和分類,是一個end to end 的過程。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的特征見文獻(xiàn)[12]。在CNN中局部連接和權(quán)值共享減少訓(xùn)練參數(shù),卷積實現(xiàn)特征提取。在池化層它實現(xiàn)了降維的目的,減少網(wǎng)絡(luò)參數(shù)及過擬合,增加了神經(jīng)網(wǎng)絡(luò)的容錯性能,提升模型魯棒性和減少訓(xùn)練參數(shù)。CNN經(jīng)過特征提取后得到一張二維的特征圖,將二維圖像轉(zhuǎn)化為一維特征圖,進(jìn)行全連接,實現(xiàn)圖像分類與識別,網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文設(shè)計的神經(jīng)網(wǎng)絡(luò)模型共12層,其中包含6個卷積層,每層有32個卷積核,兩個max_pooling層,兩個 dropout 層和兩個全連接層,使用relu激活函數(shù)。該模型第1層使用1*1的卷積核,padding為valid,在信息完整部分采用數(shù)據(jù)加強(qiáng),可以有效提高小目標(biāo)識別率。第2層和第3層分別使用5*5的卷積核、3*3的卷積核對圖像信息進(jìn)行特征提取,padding為valid。第4層為池化層,采用最大池化,采樣窗口為2*2,步長為1。第5層和第6層對第一次降維后的數(shù)據(jù)進(jìn)行再一次的特征提取,第7層對數(shù)據(jù)進(jìn)行第二次降維。第8層使用3*3的卷積核對圖像特征進(jìn)行再次提取,padding為valid。為了防止過擬合,第9層采用dropout,參數(shù)為0.75;第10層為全連接層,感知器為512個;第11層再次使用dropout;第12層為全連接層,使用softmax對提取的圖像特征進(jìn)行分類識別。
本文采用NUS-II手勢數(shù)據(jù)集下的Hand Postures進(jìn)行實驗。NUS-II數(shù)據(jù)集是在室內(nèi)外各種嘈雜背景下采集得到,圖像背景復(fù)雜多變,該數(shù)據(jù)集包含10種手勢。手勢由40個年齡在22歲~56歲之間不同種族的主體展示,包括男性和女性,因此手部膚色、輪廓大小以及攝像頭距離等表觀差異巨大。每張圖片大小為120*160,共2000張。首先對圖像進(jìn)行邊緣提取,然后融合膚色檢測將手部分割出來,再將手勢圖像送入卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行特征提取和識別。
數(shù)據(jù)集原圖只有2000張,在進(jìn)行圖像分割后得到手勢邊緣圖和手勢邊緣與膚色相融合的手勢圖,共4000張手勢圖,在訓(xùn)練時,數(shù)據(jù)較少,本文對手勢邊緣與膚色融合的手勢圖取反,得到2000張圖像。將數(shù)據(jù)集增加到6000張。將數(shù)據(jù)集送入網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,訓(xùn)練次數(shù)為120次。在訓(xùn)練時,訓(xùn)練集為3840張手勢圖,驗證集為960張手勢圖,測試集為1200張手勢圖。訓(xùn)練次數(shù)和損失率關(guān)系如圖7所示,訓(xùn)練次數(shù)與準(zhǔn)確率關(guān)系如圖8所示。
圖7 訓(xùn)練損失率與測試損失率對比
圖8 訓(xùn)練準(zhǔn)確率與測試準(zhǔn)確率對比
從實驗結(jié)果圖可以得出,當(dāng)訓(xùn)練次數(shù)達(dá)到40次以上時,損失率和準(zhǔn)確率基本收斂。平均損失率為0.0753,識別率高達(dá)99.38%,平均識別率為98.81%。為了驗證本文算法識別性能,將本文識別手勢種類和識別率與文獻(xiàn)[4]、文獻(xiàn)[5]、文獻(xiàn)[6]、文獻(xiàn)[12]以及文獻(xiàn)[13]的方法進(jìn)行比較,數(shù)據(jù)見表1。
觀察表1中的數(shù)據(jù),從平均識別率比較,本文算法的平均識別率僅低于文獻(xiàn)[6],而本文識別的種類比文獻(xiàn)[6] 多7類。從手勢種類比較,本文識別手勢種類僅低于文獻(xiàn)[13],但本文平均識別率比文獻(xiàn)[13]的平均識別率高2.81%。綜上述,本文識別性能最優(yōu)。本文算法在手勢與背景分割時,充分考慮了圖像邊緣與手部膚色的特征,使手勢與背景的分割更加準(zhǔn)確。在手勢特征提取時,充分考慮了手部圖像的邊緣細(xì)節(jié),采用數(shù)據(jù)加強(qiáng)的方法使網(wǎng)絡(luò)模型能提取到手勢圖像更加細(xì)節(jié)的信息,提高其識別率。
表1 本文算法與其它算法識別性能比較
本文綜合考慮不同場景光照變化、膚色、不同年齡、手部形狀等因素對手勢識別的影響,利用手勢圖像邊緣信息與橢圓膚色檢測相融合來對復(fù)雜背景下的手勢圖像進(jìn)行手部分割,實驗結(jié)果表明,該算法可以有效分割出手部。在構(gòu)建卷積網(wǎng)絡(luò)模型時,使用1*1的卷積核對數(shù)據(jù)進(jìn)行加強(qiáng),增強(qiáng)卷積網(wǎng)絡(luò)對圖像細(xì)節(jié)特征的提取,有效減少手部形狀大小對手勢識別的影響,提高識別率,識別率為98.81%。在復(fù)雜背景下,具有一定的魯棒性。