張曉俊,李長勇
(新疆大學 機械工程學院,新疆 烏魯木齊 830047)
隨著科技水平的提高,機器視覺的手勢識別已成為自然交互的一個重點研究方向,并且在意圖感知、輔助駕駛、輔助教學、醫(yī)學、人機交互、電子游戲等領(lǐng)域應用廣泛[1-3]。手勢檢測主要分為手勢分割和識別2個部分,手勢分割的精度影響手勢識別的準確度。目前手勢識別研究中常用的手勢分割方法是利用YCbCr模型[4-5]和高斯模型[6-7]等進行手勢的分割和檢測,但是YCbCr模型在實際應用中容易受背景類膚色的物體影響,高斯模型也容易受環(huán)境變化和個體差異的影響。在深度學習方法方面,睢丙東等[8]改進YOLOv3網(wǎng)絡,提升了手勢檢測精度,5種手勢的平均識別精度為90.38%。謝錚桂[9]和蔡娟等[10]將采集到的多種手勢圖像數(shù)據(jù)集預處理后送入卷積神經(jīng)網(wǎng)絡中訓練,實驗結(jié)果顯示識別精度均為96%。Flores等[11]對手勢圖像進行預處理后運用卷積神經(jīng)網(wǎng)絡訓練,簡化訓練模型,手勢識別精度高達96%。上述方法雖然在手勢識別領(lǐng)域的研究中取得一定成果,可以識別出簡單的手勢,但實際環(huán)境中手勢分割容易受到背景中類膚色物體或個體差異的影響,且沒有考慮手勢識別的實用性。在實際交互過程中每種手勢有不同的姿態(tài)角度,但上述方法均未考慮手勢不同姿態(tài),導致識別精度較低,具有一定的局限性。
針對上述問題,本文中提出基于深度學習多特征融合的手勢分割識別算法(簡稱本文算法),針對個體差異、手勢大小、手勢角度、背景類膚色物體等的影響導致對手勢分割純度低的問題,提出一種融合膚色聚類特征自適應方法,對手勢進行分割;采用最新的YOLOv4網(wǎng)絡模型對其處理后的多種手勢特征圖像進行特征提取和訓練,實驗驗證其識別效率和魯棒性。
在人機自然交互過程中,背景對手勢識別的影響較大,在手勢圖像背景中存在類膚色物體或手勢角度的不同都會對手勢識別精度有一定影響。手勢圖像采集包含膚色背景手勢圖像、相同手勢不同姿態(tài)角度的圖像以及簡單不包含膚色背景的手勢圖像。本文中主要研究含有膚色背景和不同角度的手勢識別,如圖1所示。
HSV顏色空間在目標檢測方面運用廣泛,可以彌補復雜環(huán)境下對物體特征的識別度[12-13]。雖然HSV顏色空間[12]中色調(diào)分量的膚色聚類特性較好,在復雜的環(huán)境下可以對膚色的提取提供更可靠的信息,YCbCr顏色空間[14]中藍色色度Cb、紅色色度Cr分量也在膚色方面具有較完整的聚類效果;但是,在單一的HSV顏色空間或YCbCr顏色空間對膚色進行分割時容易受到背景膚色物體、亮度、手勢角度變化等因素的影響,因此本文中提出一種融合膚色模型結(jié)合最大類間方差的自適應提取方法,彌補手勢分割時由背景膚色物體和手勢角度變化導致手勢提取純度較低的不足。
運用HSV顏色空間和橢圓膚色模型在不同膚色背景、不同角度手勢圖像中提取手勢,結(jié)果如圖2所示。
由實驗結(jié)果可以看出,在對手勢不同角度分割過程中手勢會有部分缺失,背景中的膚色物體會同時被提取出來。在HSV顏色空間分割的結(jié)果中,圖2(a)背景右上方較多的膚色物體被提取出來,但手部指尖部分有一定的缺失,圖2(b)中的手勢分割較為完整,但存在大量的膚色背景。運用橢圓膚色模型分割的結(jié)果,圖2(c)中手勢較為完整,然而背景的膚色沒有完全過濾,并且手勢角度的變化導致手勢部位的一些區(qū)域被作為背景,圖2(d)中手勢部分缺失較多。
HSV顏色空間和橢圓膚色模型基本可以分割出手勢區(qū)域,但是背景中存在膚色物體和手勢角度變化時都會影響手勢的分割。HSV顏色空間對手勢進行分割時主要是依據(jù)色度分量單一通道進行前景與背景的分割,信息較為單一,導致提取手勢過程受環(huán)境因素影響嚴重。為了更完整地分割手勢,克服背景膚色和手勢角度變換對手勢特征提取的影響,本文中基于HSV顏色空間和橢圓膚色模型,對模型進行融合變換,利用更多的手勢膚色信息結(jié)合最大類間方差法,形成一種融合膚色的手勢分割方法,有效去除背景膚色,解決手勢角度變化導致手勢提取不完整的問題,以便更準確地分割手勢。圖3所示為融合膚色的手勢分割模型示意圖。
圖3 融合膚色的手勢分割模型示意圖
根據(jù)數(shù)據(jù)統(tǒng)計,HSV、YCbCr顏色空間在色調(diào)、藍色色度和紅色色度3個分量上的膚色聚類較好。攝像頭采集到的手勢圖像為RGB圖像,然后從RGB圖像中獲取上述膚色聚類較好的3個分量的信息。從RGB圖像中獲取色調(diào)的數(shù)值,即
V=max{R,G,B},
(1)
式中V為RGB顏色空間中R、G、B分量中較大的一個分量。
根據(jù)以下判斷,獲取色度H分量的值:
如果
V=max{R,G,B},
(2)
那么H=0;
如果
R=max{R,G,B},
(3)
那么
(4)
如果
G=max{R,G,B},
(5)
那么
(6)
如果
B=max{R,G,B},
(7)
那么
(8)
計算YCbCr顏色空間中的藍色色度Cb分量和紅色色度Cr分量的數(shù)值。為了方便后續(xù)計算,引入中間變量Q,即
Q=B-(0.229R+0.587G+0.114B),
(9)
將Q的數(shù)值代入公式,分別得到Cb分量和Cr分量,即
Cb=0.564Q+128,
(10)
Cr=0.713Q+128。
(11)
得到色調(diào)H、藍色色度Cb和紅色色度Cr分量后,根據(jù)3個分量信息遍歷圖像所有像素點,判斷其與膚色范圍,結(jié)合最大類間方差法,得到最優(yōu)分割閾值,輸出手勢圖像。
計算圖像的平均灰度
u=a0x0+a1x1,
(12)
式中:a0為前景像素點數(shù)所占比例;x0為前景像素點平均值;a1為背景像素點數(shù)所占比例;x1為背景像素點平均值。
遍歷灰度級需要用方差T來判斷前景和背景最優(yōu)的閾值,即
T=a0a1(x0-x1)2。
(13)
綜合上述多分量信息融合的方法進行膚色分割,結(jié)果如圖4所示。由圖可以看出,融合膚色的手勢分割方法可以較好地過濾掉膚色背景,同時在手勢角度變化時也可以較好地保留手勢部分,能夠保留完整的手勢信息。
綜上所述,融合膚色的手勢分割方法可以在膚色背景下和手勢角度變化時有效地分割出手勢,優(yōu)于單一的橢圓膚色模型和HSV顏色空間。
由于單一的手勢分割模型不能很好地克服膚色背景的影響,在手勢特征提取過程中還會受到手勢角度變化的影響,因此本文中運用融合膚色的手勢分割方法提取手勢圖像中的手勢特征,減小背景膚色和手勢角度變化對特征提取的影響,提高手勢提取的純度,引入神經(jīng)網(wǎng)絡中進行訓練,可以進一步提升手勢識別精度。手勢分割識別流程如圖5所示。
圖5 手勢分割識別流程圖
Redmon等[15]提出一種基于回歸方法的YOLO識別算法,此后,經(jīng)過改進的新的YOLOv4算法[16-17]依靠更深層次的卷積神經(jīng)網(wǎng)絡進行特征提取,全連接層進行分類和預測,檢測精度顯著提升。該算法采用空間金字塔池化(SPP)模塊以及路徑聚合網(wǎng)絡PANet來增加訓練中的感受區(qū)。為了使分類檢測結(jié)果更加精確,采用學習率余弦退火衰減等方法優(yōu)化網(wǎng)絡[16-17]。深度學習YOLOv4算法網(wǎng)絡結(jié)構(gòu)如圖6所示。
圖6 深度學習YOLOv4算法網(wǎng)絡結(jié)構(gòu)圖
為了避免在數(shù)據(jù)集訓練過程中梯度彌散,其YOLOv4網(wǎng)絡中的Darknet-53網(wǎng)絡結(jié)構(gòu)將神經(jīng)網(wǎng)絡分為多個連續(xù)的節(jié),每個節(jié)的網(wǎng)絡通過殘差方式訓練,使整體損失率達到最小。在手勢識別過程中,通過融合膚色的分割方法將特征圖像提取出來,輸入神經(jīng)網(wǎng)絡中進行訓練,以減少原圖訓練的復雜程度,提高訓練效率。Darknet-53網(wǎng)絡提取手勢特征圖像,在手勢特征細粒度的表征能力方面優(yōu)于一般的方向梯度直方圖(HOG)、幾何等特征提取方法。YOLOv4網(wǎng)絡的預測層分為3個尺度(52×52、26×26和13×13)對手勢進行預測,3個尺度的綜合預測增強了手勢檢測精度,同時網(wǎng)絡中的融合輸入(Concat)層連接提升了收斂性。
驗證實驗中電腦配置如下:Intel i5-8500處理器,主頻為 3.0 GHz,運行內(nèi)存為12 GB,GTX1080Ti顯卡。軟件在Windows 10環(huán)境下運行。
為了驗證手勢識別方法可靠性,在有膚色的復雜背景下采集多種手勢圖像,且對每種手勢的不同角度進行采集,建立手勢數(shù)據(jù)集,其中采集的自定義手勢有10種,共有3 000個手勢圖像樣本。
由于手勢特征提取過程受環(huán)境和角度的影響較為嚴重,因此運用融合膚色的方法進行手勢圖像特征提取,可以有效避免手勢圖像中背景膚色物體影響,且能保證手勢輪廓提取的光滑度,從而提高手勢特征圖的純度,減少因背景膚色及手勢角度變化引起的手勢識別不準確的問題。此外,將處理得到的手勢特征圖輸入深度學習網(wǎng)絡中進行訓練,既可以提高訓練效率,又可以減小原始圖像數(shù)據(jù)集的訓練規(guī)模。
采用融合膚色方法處理后的手勢特征圖像直接進行訓練,并且運用數(shù)據(jù)增強的方法將數(shù)據(jù)集圖像樣本個數(shù)增加到6 000,訓練次數(shù)為10 000。訓練過程中迭代次數(shù)與損失函數(shù)關(guān)系如圖7所示。由圖可以看出,訓練次數(shù)在8 000以后損失率基本達到收斂,通過對手勢識別模型的驗證,手勢識別精度達到99%,平均識別精度為98.8%。
圖7 手勢模型損失率曲線
為了進一步驗證本文算法的性能,分別采用單目標多盒檢測(single shot multibox dectort,SSD)模型[18]、YOLOv3算法[19]進行手勢識別對比,結(jié)果如表1所示。從表中可知,不同算法對手勢識別的效果差異較大,基于深度學習SSD模型的平均識別率為82.6%,且在識別的時效性表現(xiàn)方面較差。YOLOv3算法的識別精度較高,但是手勢特征提取不夠充分,在識別速度和精度上都與本文算法存在一定差距。本文算法通過對手勢圖像進行預處理得到手勢特征圖像作為網(wǎng)絡的輸入樣本,不僅提高了特征圖像提取的純度,而且減少了手勢周圍噪聲的影響,減小了訓練規(guī)模,縮短了訓練時間,利用更深層次的深度學習網(wǎng)絡對手勢特征提取更加充分和精確。此外,本文算法充分考慮手勢在實際識別過程中的不同角度問題,使提取的手勢信息更加細化,具有更高的魯棒性。
表1 不同手勢識別算法的比較
手勢的多樣性、相同手勢的不同角度以及手勢的背景信息等都會影響手勢識別的精度。利用融合膚色的手勢識別方法對手勢進行檢測,實驗結(jié)果驗證了該方法在膚色背景復雜情況下對不同角度的手勢能夠有效分割出手勢部分,進一步提高了手勢特征圖的純度,減小了噪聲對手勢特征提取的影響,從而減小訓練規(guī)模,加快訓練速度。該方法結(jié)合深層次的深度學習網(wǎng)絡算法提取手勢特征,增強手勢細節(jié)特征提取的精度,提高了手勢識別的準確度,平均識別精度達到98.8%,具有較強的魯棒性。