張勛,陳亮,胡誠(chéng),孫韶媛
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海201620)
根據(jù)最新全國(guó)人口普查資料表明,我國(guó)有1.5億聽力言語(yǔ)障礙人群,而聽力言語(yǔ)殘疾人群已達(dá)到2057萬(wàn)人,約占全國(guó)總?cè)丝诘?.57%。手勢(shì)是聾啞人用手勢(shì)代替正常言語(yǔ)進(jìn)行交流的一種有效方式。研究手勢(shì)識(shí)別能幫助聾啞人,尤其是一些未得到良好教育的聾啞人之間的交流,同時(shí)也能幫助聾啞人與正常人之間的交流;其次,手勢(shì)識(shí)別是人機(jī)交互的一種便利的方式,研究手勢(shì)識(shí)別能促進(jìn)機(jī)械智能運(yùn)作、移動(dòng)設(shè)備終端的操作、門禁系統(tǒng)、遠(yuǎn)程控制等其他領(lǐng)域的發(fā)展;手勢(shì)識(shí)別的進(jìn)一步研究,還可以提高計(jì)算機(jī)在人類語(yǔ)言理解的程度。
研究者在靜態(tài)手勢(shì)識(shí)別領(lǐng)域有著許多探索。2011年Reyes[1]等人從基于Kinect深度圖像對(duì)不同骨骼節(jié)點(diǎn)訓(xùn)練對(duì)應(yīng)權(quán)重,利用特征加權(quán)的DTW算法,在5類手勢(shì)上通過(guò)交叉驗(yàn)證得到68%的識(shí)別率。2013年Chai等人[2]通過(guò)對(duì)手的三維軌跡匹配的方法進(jìn)行239個(gè)中國(guó)手勢(shì)詞匯的識(shí)別,達(dá)到了83.51%的準(zhǔn)確率。2016年中國(guó)科學(xué)技術(shù)大學(xué)的張繼海[3]在對(duì)手勢(shì)軌跡處理后利用HOG提取手型特征后利用改進(jìn)的隱馬爾可夫模型(HMM)進(jìn)行建模,最后在用基于幀平均概率融合與支持向量機(jī)的融合方法實(shí)現(xiàn)手勢(shì)識(shí)別,準(zhǔn)確率方面也取得了比較不錯(cuò)的效果。
以上方法在準(zhǔn)確率方面取得了不錯(cuò)的進(jìn)步,但要滿足靜態(tài)手勢(shì)的實(shí)時(shí)識(shí)別要求、識(shí)別速度和準(zhǔn)確率有待提升。因?yàn)槿耸止羌懿唤y(tǒng)一、手型多變、手勢(shì)詞匯量大的特點(diǎn),其特征信息很難靈活的獲得,人工通過(guò)建模等方式設(shè)計(jì)手勢(shì)描述特征的過(guò)程十分繁瑣、無(wú)法深度挖掘更高層次、更多維度的特征信息,這就導(dǎo)致基于傳統(tǒng)方法的模型范性差、很難達(dá)到實(shí)時(shí)檢測(cè)目的。
深度學(xué)習(xí)模型[4]是一種突破性的技術(shù),尤其是它在機(jī)器學(xué)習(xí)領(lǐng)域的表現(xiàn)。為了達(dá)到模式分析和分類這樣的目的,它的有監(jiān)督和無(wú)監(jiān)督的特征提取和轉(zhuǎn)換是由多層非線性的組合去完成的。許多國(guó)內(nèi)外科研機(jī)構(gòu)的研究人員在深度學(xué)習(xí)領(lǐng)域進(jìn)行了廣泛的研究,其應(yīng)用方面也做了大量的拓展,效果突出的領(lǐng)域主要表現(xiàn)在語(yǔ)音、圖像等領(lǐng)域。Ross B.Girshick等人提出區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)[5],快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast R-CNN)[6],加速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster R-CNN)[7]。這些方法成為深度學(xué)習(xí)中檢測(cè)識(shí)別領(lǐng)域的里程碑。
盡管以上方法在某些單一方面表現(xiàn)不錯(cuò),例如準(zhǔn)確率方面,但對(duì)于單個(gè)常規(guī)嵌入式系統(tǒng)來(lái)講,計(jì)算負(fù)荷還是過(guò)大,即使用上高端硬件的嵌入式系統(tǒng),要滿足實(shí)時(shí)或接近實(shí)時(shí)的應(yīng)用難度也相當(dāng)大,再或者是以犧牲檢測(cè)精度來(lái)?yè)Q取時(shí)間。2016年Wei Liu等人[8]在ECCV提出了SSD(Single Shot MultiBox Detector)方法。該方法沒有采用區(qū)域建議(RPN),而是用小卷積核去預(yù)測(cè)特征圖上一組默認(rèn)邊界和類別分?jǐn)?shù)及位置偏移,并且從額外卷積層及基礎(chǔ)網(wǎng)絡(luò)層VGG16網(wǎng)絡(luò)的最后一層的特征圖上生成不相同的預(yù)測(cè),最后分離的預(yù)測(cè)結(jié)果是依據(jù)不相同的的寬高來(lái)完成。
本文受Wei Liu文獻(xiàn)的方法啟發(fā),針對(duì)實(shí)時(shí)手勢(shì)檢測(cè)要求對(duì)SSD網(wǎng)絡(luò)進(jìn)行優(yōu)化,提出ASSD模型:將原SSD網(wǎng)絡(luò)中用于特征提取的基礎(chǔ)網(wǎng)絡(luò)VGG16更改為去掉最后兩層全連接層的AlexNet網(wǎng)絡(luò),并對(duì)AlexNet網(wǎng)絡(luò)結(jié)構(gòu)做了修改。因?yàn)槭謩?shì)識(shí)別的目標(biāo)相比自然圖像識(shí)別的目標(biāo)而言沒有那么復(fù)雜,采用略淺層次的深度學(xué)習(xí)特征提取網(wǎng)絡(luò)在會(huì)保證識(shí)別準(zhǔn)確率的同時(shí)可提升整個(gè)網(wǎng)絡(luò)的識(shí)別速率。本文第2小節(jié)給出了ASSD網(wǎng)絡(luò)的結(jié)構(gòu)圖,并給出了修改的特征提取網(wǎng)絡(luò)AlexNet的結(jié)構(gòu);第3小節(jié)給出了實(shí)驗(yàn)過(guò)程及結(jié)果分析,第4小節(jié)為結(jié)論。
圖1為算法流程圖:將靜態(tài)手勢(shì)訓(xùn)練集及對(duì)應(yīng)的真實(shí)標(biāo)簽文件送入ASSD網(wǎng)絡(luò)進(jìn)行迭代學(xué)習(xí),通過(guò)調(diào)整參數(shù),找到效果好的模型作為最終模型,用于手勢(shì)識(shí)別。
圖1 算法流程圖
本文提出的網(wǎng)絡(luò)整體結(jié)構(gòu)如圖2所示。
圖2 ASSD整體框架示例
圖3 網(wǎng)絡(luò)基礎(chǔ)層:改進(jìn)的AlexNet
該網(wǎng)絡(luò)結(jié)構(gòu)有兩個(gè)部分組成:基礎(chǔ)網(wǎng)絡(luò)層(特征提取層)和額外卷積特征層。
網(wǎng)絡(luò)基礎(chǔ)層是一個(gè)類似AlexNet[9]網(wǎng)絡(luò)的結(jié)構(gòu),去掉了最后的全連接層,共有5層,調(diào)整策略有:更改部分卷積核大小;使用更小的卷積核可以提取到手型的細(xì)節(jié)變化;使用1x1大小的卷積核,步長(zhǎng)為1,填充邊界為0,這樣可以保證網(wǎng)絡(luò)深度、減小模型誤差。該網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖3所示。
額外特征提取連接網(wǎng)絡(luò)添加到截?cái)嗟幕A(chǔ)網(wǎng)絡(luò)末尾,為一個(gè)多層網(wǎng)絡(luò),其中有8層為卷積層和1層下采樣池化層(均值池化)。這些層的尺度逐漸減小,用以得到多尺度的預(yù)測(cè)值。
ASSD方法基于前饋卷積網(wǎng)絡(luò),除基礎(chǔ)網(wǎng)絡(luò)特征提取層改變外,其他沿用了SSD方法的特征選擇和匹配策略。
ASSD架構(gòu)圖,如圖4所示。
圖4 SSD架構(gòu)
在訓(xùn)練網(wǎng)絡(luò)期間,輸入ASSD網(wǎng)絡(luò)的僅是每個(gè)對(duì)象的圖像和對(duì)應(yīng)的真實(shí)標(biāo)簽框,如圖4(a)所示。卷積部分,ASDD網(wǎng)絡(luò)會(huì)在不同尺度的特征圖中估測(cè)各個(gè)位置上不同橫寬比的小集合(如4個(gè))默認(rèn)框,如圖4(b)和圖(c)所示。各個(gè)默認(rèn)框中,需要得到全部形狀偏移和置信度,那就要預(yù)測(cè)全部對(duì)象的類別((c 1,c2,...,cp))。在訓(xùn)練時(shí),首先完成的是默認(rèn)框與真實(shí)標(biāo)簽框匹配動(dòng)作。(例如,貓和狗被兩個(gè)默認(rèn)框匹配到,這些匹配到的框視為正,其余視為負(fù))。對(duì)于整個(gè)模型,用位置信損失(如Softmax)和置損失(如Smooth L1)的加權(quán)和的形式來(lái)表示總損失L。
基于前饋卷積網(wǎng)絡(luò)的ASSD方法,會(huì)產(chǎn)生固定大小的邊界框集合以及框中對(duì)象類別的分?jǐn)?shù),再通過(guò)一個(gè)非最大化抑制步驟產(chǎn)生最終的檢測(cè)。網(wǎng)絡(luò)如圖2所示,本文提出的ASSD網(wǎng)絡(luò)基礎(chǔ)網(wǎng)絡(luò)為改進(jìn)的AlexNet網(wǎng)絡(luò);輔助網(wǎng)絡(luò)產(chǎn)生以下主要特征的檢測(cè):
(1)多尺度特征圖檢測(cè):在去掉全連接層AlexNet的基礎(chǔ)網(wǎng)絡(luò)末尾增加額外的卷積特征層,其特征是在逐漸減小的特征層中產(chǎn)生不同尺度檢測(cè)預(yù)測(cè)值。各個(gè)特征層與檢測(cè)的卷積模型不是一一對(duì)應(yīng)的關(guān)系。
(2)檢測(cè)使用卷積預(yù)測(cè)器:如圖2中所示,在各個(gè)額外卷積特征層和去全連接層的AlexNet網(wǎng)絡(luò)特征層上使用一組濾波器去卷積這些特征層從而生成預(yù)測(cè)集合。預(yù)測(cè)集合具體生成規(guī)則是:對(duì)于m×n大小的、并且具有p個(gè)通道的特征層,卷積核大小則為3×3×p,卷積操作后,生成該框中目標(biāo)類別分?jǐn)?shù)、或是代表相對(duì)于默認(rèn)框的坐標(biāo)偏移量,并在每個(gè)m×n大小區(qū)域上進(jìn)行卷積操作,產(chǎn)生一個(gè)輸出值。測(cè)量的邊界框偏移輸出值是相對(duì)于默認(rèn)框的,而默認(rèn)框位置則是相對(duì)于特征圖的。
(3)默認(rèn)框與寬高比:默認(rèn)框如圖4,關(guān)聯(lián)一組默認(rèn)邊界框與頂層網(wǎng)絡(luò)每個(gè)特征圖單元。固定各個(gè)框?qū)嵗鄬?duì)于其對(duì)應(yīng)單元格的位置是通過(guò)在特征圖中用默認(rèn)框作卷積運(yùn)算實(shí)現(xiàn)的。相對(duì)于單元格中的默認(rèn)框形狀的偏移和每個(gè)框中實(shí)例的每類分?jǐn)?shù),是可以在各個(gè)特征映射單元中預(yù)測(cè)的。
訓(xùn)練ASSD關(guān)鍵在于訓(xùn)練圖像中的真實(shí)標(biāo)簽需要賦予到那些固定輸出的默認(rèn)框上:
(1)匹配策略:訓(xùn)練時(shí),需建立真實(shí)標(biāo)簽和默認(rèn)框之間的對(duì)應(yīng)關(guān)系,通過(guò)默認(rèn)框與真實(shí)標(biāo)簽Jaccard匹配重疊程度來(lái)確定這一默認(rèn)框,例如匹配重疊程度高于某閾值0.5。
(2)訓(xùn)練目標(biāo):ASSD訓(xùn)練的目標(biāo)函數(shù),源自Multi-Box[10-11]的目標(biāo)函數(shù)。第i個(gè)默認(rèn)框與p類別目標(biāo)第j個(gè)真實(shí)標(biāo)簽的匹配用表示,相對(duì)的若不匹配則通過(guò)這個(gè)匹配策略可知,必然這就表示第j個(gè)真實(shí)標(biāo)簽有可能匹配多個(gè)默認(rèn)框??偰繕?biāo)損失函數(shù)L(x,c,l,g)是位置損失Lloc和置信損失Lconf的加權(quán)和,如式1所示:
式中,N表示匹配默認(rèn)框的數(shù)量,x表示是以圖像作為輸入的變量。
位置損失Lloc是一個(gè)Smooth L1[6]損失,它介于預(yù)測(cè)框(l)和真實(shí)標(biāo)簽值框(g)參數(shù)之間,回歸邊界框d的中心(cx,cy)以及其寬度w和高度h的偏移量,如式(2)所示:
Softmax損失對(duì)多類別置信(c)和權(quán)重項(xiàng)α設(shè)置為1的交叉驗(yàn)證構(gòu)成了置信損失Lconf,如式3所示:
(3)選擇默認(rèn)框的比例以及橫寬比:?jiǎn)蝹€(gè)網(wǎng)絡(luò)中不同層的特征圖進(jìn)行預(yù)測(cè)以及在所有對(duì)象尺度上共享參數(shù)可以減少計(jì)算與內(nèi)存需求,并且,本網(wǎng)絡(luò)中特征圖的特定位置來(lái)負(fù)責(zé)圖像中特定的區(qū)域和物體特定尺寸,這樣默認(rèn)框不必與每層中感受野對(duì)應(yīng)。通過(guò)預(yù)測(cè)多組分別在許多特征圖的所有位置上不同尺寸和寬高比的所有默認(rèn)框的組合,來(lái)產(chǎn)生多樣化的預(yù)測(cè)集合,這樣就可避免輸入對(duì)象的尺寸和形狀就不敏感。
配置見表1,使用Caffe深度學(xué)習(xí)計(jì)算框架,算法網(wǎng)絡(luò)在修改部分開源項(xiàng)目中train.prototxt,test.prototxt,solver.prototxt文件,用以訓(xùn)練ASSD網(wǎng)絡(luò)。
表1 實(shí)驗(yàn)軟硬件配置
本實(shí)驗(yàn)數(shù)據(jù)是由高清單目攝像頭采集完成。實(shí)驗(yàn)中進(jìn)行靜態(tài)手勢(shì)識(shí)別的26個(gè)字母手勢(shì)中選取5個(gè)字母為代表,分別為A、B、C、D、E。實(shí)驗(yàn)數(shù)據(jù)由8個(gè)人完成,每人對(duì)每個(gè)字母分別錄制視頻,再由MATLAB視頻抽幀程序完成抽幀,去除模糊嚴(yán)重重影的圖像,得到的數(shù)據(jù)集數(shù)量如表2所示,圖片大小均為640×480。用LabelImg程序進(jìn)行人工標(biāo)記得到真實(shí)目標(biāo)標(biāo)簽文件。
訓(xùn)練集由一組組的訓(xùn)練圖像及其對(duì)應(yīng)的真實(shí)標(biāo)簽文件組成,通過(guò)微調(diào)訓(xùn)練參數(shù)不斷迭代使得模型收斂并存儲(chǔ)模型參數(shù)。選取測(cè)試集準(zhǔn)確率最高的模型作為最終模型,用于識(shí)別分類。實(shí)驗(yàn)流程圖可參照?qǐng)D1。
表2 靜態(tài)手勢(shì)數(shù)據(jù)集
利用本文提出的ASSD網(wǎng)絡(luò)訓(xùn)練出來(lái)的模型,采用高清網(wǎng)絡(luò)攝像頭,實(shí)時(shí)采集測(cè)試者做出的A、B、C、D、E手勢(shì),其中部分幀的檢測(cè)結(jié)果如圖5所示:視頻幀中的測(cè)試者隨機(jī)做的靜態(tài)字母A、B、C、D、E手勢(shì)都能夠檢測(cè)出來(lái)并且實(shí)現(xiàn)字母的分類,目標(biāo)邊界正好框出目標(biāo),大部分結(jié)果顯示了很高的概率;同時(shí),檢測(cè)畫面每秒傳輸幀數(shù)fps(frame per second)大多數(shù)都能保持在30fps,這個(gè)可以滿足實(shí)時(shí)檢測(cè)的要求。由于ASSD的額外特征層采取了多尺度檢測(cè)的策略,可對(duì)不同大小的特征圖都做預(yù)測(cè),所以相對(duì)對(duì)于攝像頭不同遠(yuǎn)近的手勢(shì)也能夠準(zhǔn)確檢測(cè)并快速分類。然而本文的手勢(shì)檢測(cè)識(shí)別算法也存在漏檢和錯(cuò)誤分類的情況見圖6。如圖6(a)所示,這是一個(gè)漏檢案例,這是由于手勢(shì)收拾部分被遮擋,從而算法未能檢測(cè)到正確手勢(shì);如圖6(2)所示,這是一個(gè)錯(cuò)誤分類,測(cè)試者所做的手勢(shì)應(yīng)該為字母a(字母a:單手握拳伸大拇指),由于測(cè)試者揮手的速度過(guò)快導(dǎo)致大拇指這種細(xì)小目標(biāo)有嚴(yán)重殘影,以至本算法以0.41的概率將該手勢(shì)識(shí)別為字母d(字母d:?jiǎn)问謨H握拳),值得注意的是這種誤判在人為識(shí)別判斷時(shí)也會(huì)產(chǎn)生。
本文也使用傳統(tǒng)手勢(shì)識(shí)HOG+SVM算法和另一個(gè)深度學(xué)習(xí)網(wǎng)絡(luò)Fast R-CNN在同樣的測(cè)試環(huán)境下進(jìn)行了測(cè)試,并對(duì)比了三者結(jié)果如表3所示:傳統(tǒng)方法方向梯度直方圖+支持向量機(jī)(HOG+SVM)在檢測(cè)速率(0.27fps)和準(zhǔn)確率(0.581)方面都不及深度學(xué)習(xí)框架的方法好,因?yàn)閭鹘y(tǒng)在特征提取過(guò)程的計(jì)算需要大量的時(shí)間并且效果也不理想。Fast R-CNN是一個(gè)深度學(xué)習(xí)常見的網(wǎng)絡(luò),它的檢測(cè)準(zhǔn)確率(0.782)相比傳統(tǒng)方法(HOG+SVM)有了很大的提高,但它采用的搜索性算法比較費(fèi)時(shí),所以檢測(cè)速率(0.58fps)也不太理想,不能用于實(shí)時(shí)檢測(cè)識(shí)別。本文提出的基于改進(jìn)SDD網(wǎng)絡(luò)結(jié)構(gòu)的算法ASSD,是一個(gè)端到端的檢測(cè)算法,檢測(cè)靜態(tài)手勢(shì)的準(zhǔn)確率(0.933)得到保證的同時(shí),極大地提高了檢測(cè)速率(30fps),能夠滿足實(shí)時(shí)檢測(cè)所要求的精度和速度的要求。
表3 算法結(jié)果對(duì)比
本文基于深度學(xué)習(xí)框架的SSD方法,提出一個(gè)用于靜態(tài)手勢(shì)檢測(cè)識(shí)別的深度學(xué)習(xí)網(wǎng)路結(jié)構(gòu)ASSD。用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)AlexNet作為基礎(chǔ)網(wǎng)絡(luò)用于特征提取,保留原SSD方法的額外特征層用以檢測(cè)識(shí)別目標(biāo)。該方法無(wú)需人工通過(guò)建模等手段設(shè)計(jì)目標(biāo)特征,可以自動(dòng)提取目標(biāo)圖像深層特征,用來(lái)描述復(fù)雜靜態(tài)手勢(shì)圖像。經(jīng)實(shí)驗(yàn)結(jié)果表明,本文網(wǎng)絡(luò)能很好地對(duì)靜態(tài)手勢(shì)(字母)進(jìn)行檢測(cè)識(shí)別,正確率(0.933)以及檢測(cè)速度(30fps以上)都滿足實(shí)時(shí)檢測(cè)的要求。
圖5 部分檢測(cè)分類結(jié)果
圖6 錯(cuò)誤案例
[1]Reyes M,Dominguez G,Escalera S.Feature Weighting in Dynamic Timewarping for Gesture Recognition in Depth Data[C].Proceeding of International Coference on Computer Vision Workshops(ICCV workshops).IEEE,2011:1182-1188.
[2]Chai X,Li Y,et al.Sign Language Recognition and Translation with Kinect[C].IEEE conf.on AFGR.2013.
[3]張繼海.基于運(yùn)動(dòng)軌跡和手型特性的手語(yǔ)識(shí)別研究[碩士論文].中國(guó)科學(xué)技術(shù)大學(xué):信息與通信工程,2016.5.
[4]LeCun Y,Bottou L,Bengio Y,Haffner P.Gradient-Based Learning Applied to Document Recognition.Processings of the IEEE,1998,86(11):2278-2324
[5]GirshickR,DonahueJ,DarrellT,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[J].Conference on Computer Vision and Pattern Recognition,2014:580-587.
[6]GirshickR.Fast-RCNN[J].International Conference on Computer Vision,2015:1440-1448.
[7]Ren Shaoqing,HeKaiming,GirshickR,et al.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks[J].Transactions on Pattern Analysis&Machine Intelligence,2016:1-1.
[8]Wei Liu,Dragomir Anguelov,Dumitru Erhan,et al.SSD:Single Shot MultiBox Detector[C],ECCV 2016.
[9]A.Krizhevsky,I.Sutskever,G.Hinton.Imagenet Classification with Deep Convolutional Neural Networks.In Advances in Neural Information Processing Systems 25,pages 1106-1114,2012.
[10]Erhan,D.,Szegedy,C.,Toshev,A.,Anguelov,D.:Scalable Object Detection Using Deep Neural Networks.In:CVPR.(2014).
[11]Szegedy,C.,Reed,S.,Erhan,D.,Anguelov,D.:Scalable,High-Quality Object Detection.arXiv Preprint arXiv:1412.1441 v3(2015).