朱憲飛,顏衛(wèi)忠,孫運(yùn)濤,孔凡偉,吳曉斌
(上海航天電子有限公司,上海201800)
人機(jī)交互在未來月球探測(cè)中扮演著越來越重要的角色,航天員手勢(shì)語義控制信息的有效傳達(dá)需要機(jī)器人精準(zhǔn)的解讀。研究人員針對(duì)手勢(shì)識(shí)別提出多種算法,從基礎(chǔ)的圖像背景減除到諸如曲率、指尖檢測(cè)等手勢(shì)特征的提取和訓(xùn)練,從隱馬爾科夫模型(HMM)到人工神經(jīng)網(wǎng)絡(luò)(ANN),取得了一定的研究成果。丁海洋[1]提出多尺度模型,通過提取指尖位置信息,將指尖與掌心距離和夾角作為特征。江冬梅[2]將不同尺度和方向下的手勢(shì)直方圖作為特征。但受空間復(fù)雜背景等影響,以上基于邊緣的檢測(cè)及識(shí)別,受到單一閾值的限制約束。近年來,手勢(shì)檢測(cè)與識(shí)別在機(jī)器學(xué)習(xí)尤其是深度學(xué)習(xí)的技術(shù)支持下發(fā)展迅速。Pugeault[3]利用 RGB圖像和深度圖像,基于OpenNI+NITE框架進(jìn)行手勢(shì)的識(shí)別和跟蹤,但算法計(jì)算復(fù)雜。手勢(shì)檢測(cè)模塊中提取不同尺度下的手勢(shì)特征,將靜態(tài)圖像體現(xiàn)的顏色、邊緣、大小等特征進(jìn)行有效融合,并在手勢(shì)識(shí)別模塊中設(shè)計(jì)算法使得機(jī)器根據(jù)目標(biāo)特征進(jìn)行精準(zhǔn)分類,做出相應(yīng)的語義解讀,這些都成為人機(jī)交互領(lǐng)域的研究熱點(diǎn)。
本文針對(duì)檢測(cè)和識(shí)別兩方面分別提出基于目標(biāo)區(qū)域的手勢(shì)定位算法和基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的手勢(shì)識(shí)別算法。在手勢(shì)定位方面,利用選擇性搜索(Selective Search,SS)算法的多策略融合優(yōu)勢(shì),將待測(cè)圖像生成手勢(shì)目標(biāo)候選區(qū)域,然后提取各區(qū)域分層梯度方向直方圖(Pyramid Histogram of Oriented Gradient,PHOG)特征,結(jié)合支持向量機(jī) (Support Vector Machine,SVM)分類器,檢測(cè)包含手勢(shì)的感興趣區(qū)域(Region of Interest,ROI)并進(jìn)行定位分割。在手勢(shì)識(shí)別方面,將16類手勢(shì)樣本輸入7層卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到迭代模型后,在待測(cè)圖像ROI區(qū)域輸入訓(xùn)練好的模型進(jìn)行類別判斷,得到識(shí)別結(jié)果。最后,進(jìn)行手勢(shì)定位和識(shí)別驗(yàn)證實(shí)驗(yàn)。
在月面壞境下,機(jī)器人捕捉到含有手勢(shì)的靜態(tài)圖像,手勢(shì)可能會(huì)出現(xiàn)在圖像中的任意位置。針對(duì)手勢(shì)目標(biāo)展現(xiàn)的顏色、紋理、邊緣、大小等特征都可能對(duì)手勢(shì)定位產(chǎn)生影響。本文提出基于SS-ROI的手勢(shì)定位方法:首先采用SS算法,生成手勢(shì)目標(biāo)候選區(qū)域,結(jié)合手勢(shì)區(qū)域的矩形特征進(jìn)行初步篩選,得到過濾后的候選區(qū)域集。然后提取各區(qū)域PHOG特征,因其無需進(jìn)行輸入圖像歸一化操作,保留了原本梯度直方圖特征。將提取的特征輸入SVM中進(jìn)行訓(xùn)練,得到分類模型。測(cè)試集測(cè)試分類器得到誤檢的難例,進(jìn)行二次訓(xùn)練,獲得更新后的分類模型。待測(cè)圖片首先生成目標(biāo)候選區(qū)域,分別提取 PHOG特征,輸入訓(xùn)練的SVM模型進(jìn)行判斷,保留判斷標(biāo)簽為1的矩形區(qū)域,對(duì)出現(xiàn)嵌套的區(qū)域采用非極大值抑制算法,完成手勢(shì)目標(biāo)定位。圖1為手勢(shì)定位算法流程圖。
SS算法是一種目標(biāo)域搜索算法。該算法有兩大特點(diǎn):一是采用自底向上的分組策略,可以捕獲圖像中任意尺度的目標(biāo);二是采用多樣化策略對(duì)區(qū)域進(jìn)行相似合并,解決了單一策略無法應(yīng)對(duì)多種類別圖像的問題。其算法過程為[4]:①利用Felzenszwalb和Huttenlocher算法獲取最初區(qū)域,初始化相似區(qū)域集;②計(jì)算每個(gè)相鄰區(qū)域的相似度;③將相似度高的兩個(gè)區(qū)域合并為新集;④循環(huán)計(jì)算新集與其他子集的相似度,直至區(qū)域集為空,提取所有目標(biāo)可選區(qū)域。
本文采用SS算法產(chǎn)生待測(cè)圖片中手勢(shì)目標(biāo)的候選區(qū)域,并分別標(biāo)定正負(fù)樣本集標(biāo)簽。圖2所示為手勢(shì)目標(biāo)的候選區(qū)域。
圖1 手勢(shì)定位算法流程圖Fig.1 Flowchart of gesture location algorithm
圖2 手勢(shì)目標(biāo)候選區(qū)域Fig.2 Proposals of gesture target object
PHOG特征是HOG特征的進(jìn)階,最初由Anna Boschd等[5]人提出。在圖像尺寸固定的情況下,計(jì)算不同尺度下的HOG特征,之后進(jìn)行級(jí)聯(lián)得到,具有較強(qiáng)的形狀描述能力[6]。PHOG特征提取算法過程:①對(duì)3通道彩色圖片灰度化處理,激活Canny算子獲取圖像邊緣特征。②圖像分層。第1層為輸入的整幅圖像,第2層將圖像2×2等分,第3層將圖像4×4等劃分。③對(duì)劃分好的每一層逐像素計(jì)算梯度方向,將所有角度等分為若干份,逐像素操作后得到統(tǒng)計(jì)直方圖,得到一維向量,即 HOG特征。④拼接圖像每一層的HOG特征,然后級(jí)聯(lián)合并各層HOG特征,得到整幅圖像的PHOG特征描述。
本文提取PHOG特征參數(shù)為:圖像分層L=2,角度設(shè)為180°,數(shù)據(jù)分組設(shè)為9,因此可獲得手勢(shì)目標(biāo)候選區(qū)域189維的PHOG特征向量。圖3為待測(cè)圖像的灰度值次數(shù)直方圖,圖4為對(duì)待測(cè)圖像的PHOG特征直方圖。
圖3 灰度值次數(shù)直方圖Fig.3 Occurrence times of grayvalue histogram
圖4 PHOG特征直方圖Fig.4 PHOG feature of images
對(duì)高維數(shù)據(jù)二分類時(shí),支持向量機(jī)SVM解決了低維空間下高維數(shù)據(jù)不可分的問題,即將其映射到1個(gè)高維空間里,根據(jù)訓(xùn)練樣本確定最大分類間隔的分割超平面,找到最優(yōu)分割超平面[7]。本文采用徑向基核函數(shù)進(jìn)行訓(xùn)練,將正負(fù)樣本集的PHOG特征分別標(biāo)簽化后送入SVM訓(xùn)練。生成的模型由測(cè)試集繼續(xù)交叉驗(yàn)證,得到誤檢難例,通過將其反饋回負(fù)樣本集后,SVM重新啟動(dòng)訓(xùn)練更新分類模型。再學(xué)習(xí)后訓(xùn)練效果如圖5所示。
利用SS算法對(duì)不同實(shí)驗(yàn)者手勢(shì)圖像進(jìn)行分割,從得到的區(qū)域中挑選出樣本集,不同尺度大小的正樣本1600張,選取含20%~50%正樣本等圖片作為負(fù)樣本,一共2300張。隨機(jī)選取200張圖像作為測(cè)試集用于模型測(cè)試。圖6所示為訓(xùn)練集中正、負(fù)樣本示例。
圖5 再學(xué)習(xí)后目標(biāo)定位效果圖Fig.5 Result of target localization after learning
圖6 部分樣本圖像Fig.6 Part of samples
在很多手勢(shì)定位算法中,特征的選擇也在由之前單一的邊緣性特征逐漸傾向于魯棒性更好的手勢(shì)特征[7]。方向梯度直方圖(HOG)特征是檢測(cè)中較常用的特征。隨機(jī)選取200張圖片作為測(cè)試數(shù)據(jù)集,結(jié)果如表1所示。從表中可以看出,選擇PHOG特征的誤檢率低于HOG單一性特征的誤檢率2.4%。PHOG特征的魯棒性優(yōu)于HOG特征。
表1 手勢(shì)定位結(jié)果比較Table 1 Comparison of gesture localization results
由于卷積神經(jīng)網(wǎng)絡(luò)對(duì)輸入樣本的平移、縮放、扭曲保留高度不變性優(yōu)勢(shì),選擇7層卷積神經(jīng)網(wǎng)絡(luò)對(duì)手勢(shì)樣本進(jìn)行訓(xùn)練得到迭代模型。
CNN是一種包含卷積層、池化層、全連接層的多層監(jiān)督學(xué)習(xí)網(wǎng)絡(luò),權(quán)值共享的特性減少了權(quán)值數(shù)量使得網(wǎng)絡(luò)易于優(yōu)化,局部連接降低了模型的復(fù)雜度,減小數(shù)據(jù)過擬合的風(fēng)險(xiǎn)。輸入數(shù)據(jù)逐級(jí)經(jīng)過卷積層和池化層等環(huán)節(jié)進(jìn)行前向傳遞,計(jì)算所得殘差通過梯度下降法反方向傳遞,權(quán)重在每一次的傳遞中得到修正。
卷積層作為整個(gè)網(wǎng)絡(luò)的重要結(jié)構(gòu),其通過一個(gè)權(quán)重可調(diào)的卷積核與上一層特征圖進(jìn)行卷積運(yùn)算,經(jīng)過激活函數(shù),得到輸出的特征圖[7],可以使得原始信號(hào)在降低噪聲的同時(shí)得到增強(qiáng)。公式表述為式(1):
式中:l為網(wǎng)絡(luò)層數(shù),X為特征圖,W為卷積核,b為偏置參數(shù),f為激活函數(shù),Mj表示選擇的上一層函數(shù)的集合。池化層主要是進(jìn)行特征圖的降采樣過程,避免了因特征圖維數(shù)過高而出現(xiàn)過擬合現(xiàn)象[7]。全連接層在輸出層通過將相鄰網(wǎng)絡(luò)層之間所有的單元節(jié)點(diǎn)進(jìn)行連接,來對(duì)特征進(jìn)行分類。本文算法采用SoftMax全連接,通過歸一化處理將得到的特征向量分類,輸出分類結(jié)果,并輸出對(duì)應(yīng)類別的概率值,將概率值最高的類作為網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果。目前,已經(jīng)被許多研究人員開發(fā)的 CNN 架構(gòu),有 AlexNet[8]、Inception[9]、LeNet-5-[10]等。本文基于 LeNet-5,配置 MatConvNet工具包,用于圖像分類。圖7為卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)圖。
圖7 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.7 Structure of CNN
卷積神經(jīng)網(wǎng)絡(luò)作為一種有監(jiān)督學(xué)習(xí)方法,其訓(xùn)練過程可以分為數(shù)據(jù)的前向傳遞和誤差的反向傳播[7]。前向傳遞階段中,輸入數(shù)據(jù)進(jìn)行逐層計(jì)算和變換,在輸出層計(jì)算相應(yīng)的實(shí)際輸出,反向傳遞傳播階段中,通過比較實(shí)際輸出與理想輸出,將二者的差值進(jìn)行反饋,調(diào)整網(wǎng)絡(luò)中的權(quán)值和閾值,經(jīng)過多次迭代后,判斷是否滿足精度要求,滿足則停止迭代,保存神經(jīng)元的權(quán)值和閾值等參數(shù),此時(shí)分類器形成,不滿足則再次迭代。
為了增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力,CNN的訓(xùn)練過程引入非線性激活函數(shù)Rectifier,采用Rectifier的單元稱為修正線性單元ReLu,Rectifier在網(wǎng)絡(luò)訓(xùn)練過程中不會(huì)出現(xiàn)“梯度彌散”的現(xiàn)象,加快了網(wǎng)絡(luò)的收斂速度[7]。池化核取為2,步長(zhǎng)為1。表2為CNN的參數(shù)設(shè)置。
表2 CNN參數(shù)設(shè)置Table 2 Parameter setting of CNN
月面機(jī)器人和航天員的交互過程分為艙內(nèi)裸手操作過程和艙外著航天服操作過程。采用裸手?jǐn)?shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。網(wǎng)絡(luò)參數(shù)設(shè)定為初始卷積核大小為5×5,池化核為2,步長(zhǎng)為1,網(wǎng)絡(luò)學(xué)習(xí)速率為0.001。為保證識(shí)別精度和訓(xùn)練速度,選擇7層網(wǎng)絡(luò)進(jìn)行訓(xùn)練,實(shí)驗(yàn)效果如圖8所示。驗(yàn)證誤差為2.37%,驗(yàn)證識(shí)別率可達(dá)97.63%。
圖8 目標(biāo)函數(shù)收斂結(jié)果Fig.8 Convergence result of object function
1)運(yùn)用SS算法采取顏色、紋理等多種策略得到圖像ROI。
2)選取魯棒性更強(qiáng)的PHOG特征進(jìn)行提取,避免了因進(jìn)行歸一化處理導(dǎo)致的特征提取誤差。
3)提出了基于7層CNN網(wǎng)絡(luò)的識(shí)別算法,在ROI區(qū)域基礎(chǔ)上,設(shè)計(jì)7層網(wǎng)絡(luò)結(jié)構(gòu),通過對(duì)16種手勢(shì)的語義進(jìn)行定義,迭代50次,獲得分類模型。并采用實(shí)驗(yàn)進(jìn)行識(shí)別驗(yàn)證,驗(yàn)證識(shí)別率可達(dá)97.63%。因航天員著航天服手勢(shì)樣本數(shù)據(jù)較少,后續(xù)將通過加大航天員著航天服手勢(shì)樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練與驗(yàn)證。
4)航天員與機(jī)器人的手勢(shì)交互過程,通過手勢(shì)檢測(cè)和識(shí)別過程對(duì)手勢(shì)進(jìn)行跟蹤,實(shí)現(xiàn)實(shí)時(shí)信息解讀,后續(xù)將從手勢(shì)跟蹤方面展開研究。