李 珣,李林鵬,南愷愷,王曉華,張 蕾
(西安工程大學 電子信息學院,陜西 西安 710048)
隨著人工智能技術(shù)的不斷發(fā)展,更多機器人服務(wù)場景的應用落地,人機交互將成為新時代的常態(tài)[1]。在未來的智能家居中,人機交互往往需要對人的身份進行快速響應,從而執(zhí)行后續(xù)的一系列權(quán)限操作,同時對陌生人的身份進行判別,在追求準確率的同時也要防止產(chǎn)生延遲的滯后感,因此實時性的身份識別尤為重要[2]。而人臉識別相比其他的生物特征識別具有非接觸性、不易仿冒、方便采集等特點而被大量應用于人物身份識別[3]。
對于人臉識別,文獻[4-5]提出了一種局部二值法來描述圖片的紋理特征,具有灰度尺度不變和光照不變的優(yōu)點,但是對于表情和姿態(tài)表征不夠明顯。之后許多研究人員在LBP算法原有的理論基礎(chǔ)上進行了改進[5-7]。文獻[8]提出使用稀疏系數(shù)來描述人臉圖像,使用最小殘差來判別是否屬于同一張人臉,該算法在應用上具有有效性和魯棒性,但是存在訓練時間過長的問題。文獻[9]提出使用PCA+SRC算法來改善光照因素的影響,文獻[10]使用深度學習的方法在國際權(quán)威人臉識別數(shù)據(jù)庫(labeled faces in the wild,LFW)中識別準確率達到了97.25%。但是在實際應用場景中,基于二維的靜態(tài)數(shù)據(jù)集識別受到光線等因素的影響會造成識別率降低。近年來推出的RGB-D相機可以有效捕捉物體的三維特征[11],Kinect等相機的出現(xiàn)推動了三維人臉識別的發(fā)展[12-14]。文獻[15]使用改進的RISE算法來計算RGB圖像和深度圖像的顯著性,但是并沒有充分的利用人臉的深度信息。文獻[16]使用無監(jiān)督方法從數(shù)據(jù)集中提取緊密二值描述子,在正臉和面部變化較小的情況下達到較好地識別效果,但是對于局部遮擋的情況下,信息損失比較嚴重。當前,基于二維和三維的人臉識別技術(shù)都停留在算法和已有的靜態(tài)數(shù)據(jù)集上,僅是作為一個孤立的任務(wù),將人臉檢測、人臉識別、人臉跟蹤與機器人視覺同步為一個系統(tǒng)可以提高機器人感知世界的能力[17]。在實際應用場合,一個完整的系統(tǒng)還需要考慮許多其他的因素。諸如整個系統(tǒng)的穩(wěn)健性、視頻采集的時效性、機器人檢測運動目標的同步性以及人臉識別算法的完成效率等。
綜上, 本文針對智能家居場景中動態(tài)人臉識別技術(shù)有待提高的問題, 提出了一種結(jié)合深度圖像的人臉實時識別跟蹤方案。 不同于傳統(tǒng)人臉識別技術(shù), 利用深度圖像不同目標像素點的梯度值, 快速分離頭部背景。使用 Hungarian 算法與 HMM 算法相結(jié)合進行人臉跟蹤。 根據(jù)所提出的方案在 Turtlebot 機器人的基礎(chǔ)上進行物理平臺改裝,使用局域網(wǎng)連接機器人端與遠程 PC 端進行訓練數(shù)據(jù)實時傳輸。 最后, 在工作室等現(xiàn)實環(huán)境中進行數(shù)據(jù)采樣訓練以及人臉識別測試, 實驗結(jié)果表明: 本文提出的方法在實時視頻中保持良好的精度, 是一種提高智能家居場景中移動機器人人臉識別準確率的有效方法。
機器人對室內(nèi)移動目標進行檢測識別, 必須兼顧時效性和準確性。因此, 本文在實時運動目標檢測時引入 Viola-Jones 方法[18], 通過積分圖的形式取代傳統(tǒng)的滑動窗口來計算 Haar 特征,加速計算過程;進而結(jié)合 Fisherface 算法將高維數(shù)據(jù)映射到低維空間, 根據(jù)提取的特征向量投影到面部空間進行人臉識別; 最后采用 Hungarian 算法獲得最優(yōu)匹配[19],結(jié)合隱馬爾可夫模型 (hidden markov model,HMM) 過濾掉相鄰采樣之間的虛假目標, 獲得最終檢測與識別結(jié)果, 算法流程如圖1所示。

圖 1 算法流程Fig.1 Algorithmic flow
在動態(tài)場景中,二維的人臉檢測存在噪聲及光線等干擾因素。使用RGB-D圖像中的深度信息可以較好地彌補這個缺陷。因此,借助實驗室Kinect可以獲得受光照影響較小深度信息,快速將頭部從背景中分離出來。深度圖像中的頭部檢測步驟優(yōu)先于RGB圖像中的面部檢測,且在光線較差的情況下依舊可以快速檢測出頭部區(qū)域,檢測過程如圖2所示。

圖 2 人臉檢測流程Fig.2 Face detection process
由于獲得頭部圖像的非統(tǒng)一性,需對圖像進行頭部姿態(tài)校正預處理,同時為提高識別的準確率,保證面部光照均勻需對其進行直方圖均衡化,使圖像中的灰度值均勻分布,增強圖像的有效特征。在光照不足的條件下,可使用對數(shù)變換來改變灰度值,令
g(x*,y*)=ln(f(x*,y*)+1)
(1)
式中:f(x*,y*)表示原始圖像;g(x*,y*)表示對數(shù)圖像。
訓練圖像和測試圖像像素位置的偏差會導致識別性能的下降。為了建立面部方位之間的對應關(guān)系,本文進一步使用Viola-Jones分類器[18],利用積分圖來計算特征值,定位眼睛、鼻子等面部標志物。積分圖的表達特征為
s(x*,y*)=s(x*,y*-1)+i(x*,y*)
(2)
t(x*,y*)=t(x*-1,y*)+s(x*,y*)
(3)
式中:s(x*,y*)為(x*,y*)方向上原始像素之和;t(x*,y*)為積分圖。
目標被定位后,將提取到的特征投影到面部空間,利用Fisherface算法對目標進行識別,計算屬于各個標簽的概率分布,得到正確的標簽,如圖3所示。

圖 3 人臉目標識別基本過程示意圖Fig.3 Sketch of basic process of face target recognition
使用LDA線性判別理論對原始數(shù)據(jù)進行降維分析,期望得到的各類別數(shù)據(jù)投影點更為集中。通過在空間中尋找最佳的投影向量,使得類內(nèi)散射矩陣SW最小,類間散射矩陣SB最大。類別為C的類內(nèi)散射矩陣和類間散射矩陣為
(4)
(5)
式中:μi(i=1,2,…,c)為第i類樣本的均值向量;μ為所有樣本的均值向量;Ni為第i類樣本的個數(shù);xi為第i類樣本的集合;x為n維向量。
假設(shè)投影的空間維度為d,基向量(w1,w2,…,wd)構(gòu)成的矩陣Wn×d,最終求得的準則函數(shù)為
(6)

移動機器人技術(shù)結(jié)合人臉識別技術(shù)的優(yōu)勢在于:利用Kinect提高檢測精度,同時規(guī)避Kinect的距離限制,脫離了場地限制,并對需求目標進行基于圖像跟蹤的物理跟蹤。所以找到快速有效的人臉跟蹤解決方案是本文重點研究內(nèi)容之一。
本文使用Hungarian算法構(gòu)建二分圖之間的最大匹配,匈牙利算法的核心思想就是通過不斷的尋找增廣路進行完全匹配[19]。在相鄰的采樣圖像中尋找人臉特征求出最大匹配值。在找到全局最適合的任務(wù)后,用HMM來模擬一段時間內(nèi)的人臉識別過程,HMM是從馬爾可夫鏈中衍生出來的。通過對潛在的隱含狀態(tài)進行分析,根據(jù)人體移動速度的設(shè)定,自動過濾掉目標場景中虛假的人臉模型,將標簽概率視為權(quán)重,為檢測到的人臉分配唯一正確的標簽。
利用Kinect提供的RGB-D視頻流進行數(shù)據(jù)采集的優(yōu)勢在于可以進行多幀交叉檢測,而不是單獨的去分析每張圖像,為將相鄰兩次檢測的圖像進行匹配需要定義一個閾值。之前的檢測i和現(xiàn)在的檢測j之間的匹配程度定義為
Hij=L2‖Xi-Xj‖+ω‖Pi-Pj‖a2
i=1,2,…,Ml,j=1,2,…,Mr
(7)
式中:Xi,Xj分別代表相鄰兩次之間被檢測人臉的三維坐標;Pi,Pj分別表示每個檢測在所有可能標簽上的概率分布;ω是2個距離之間的加權(quán)因子;a為所定義的時間間隔。根據(jù)人體移動速度的假設(shè),如果2個檢測在可能的標簽范圍內(nèi)具有相似的預測,則此成本函數(shù)是有效的。本文用二分圖來描述相鄰兩次檢測結(jié)果的匹配問題,在加權(quán)二分圖中尋找最小成本匹配,用Ml表示先前檢測點的集合,Mr表示當前檢測的集合。對Mr,Ml進行2個子集之間的所有邊數(shù)完全匹配。連續(xù)的識別跟蹤可以保存每個被檢測人員的識別結(jié)果,使識別更加穩(wěn)定,并消除出現(xiàn)的誤檢、漏檢。
根據(jù)所設(shè)計的人臉識別方法,搭建了物理實驗平臺并提出了實時信息處理的方案,整個系統(tǒng)如圖4所示。該系統(tǒng)采用機器人控制端與遠程工作站端相結(jié)合的信息處理模式,局域網(wǎng)無線傳輸數(shù)據(jù)來連接機器人控制端與遠程工作站端,該結(jié)構(gòu)可以保障系統(tǒng)移動端運動連續(xù)性和續(xù)航能力。機器人運動控制端由Kobuki底盤、Kinect深度傳感器以及小型化智能終端等[20]組成,遠程端使用一臺PC工作站來提高機器人的可控性。

圖 4 遠程在線人臉識別跟蹤系統(tǒng)實物圖Fig.4 Physical map of remote online face recognition and tracking system
為了確保本文提出的方案與平臺在真實環(huán)境中的實用價值,本文的所有實驗都是在實際環(huán)境直接進行,實驗場地為背景復雜的工作室和光照不均勻的樓道。Kinect提供的視頻為30 f/s,根據(jù)機器人的運動特性以及移動過程中的角度變化,設(shè)置每隔10 f/s提取一張圖片,同時遠程PC端對提取的圖片進行訓練。樣本組人員切換不同的方位和角度,保證在訓練過程中提取到更加豐富的特征。利用人臉檢測節(jié)點對視頻中的人臉進行檢測時,若未檢測到,返回繼續(xù)采集檢測,將捕捉到的人臉圖像標準化尺寸為92×112的圖片用于訓練。
為驗證本文方法在真實場景中的有效性,切換不同的背景、角度和距離對模型進行測試,單目標識別結(jié)果如圖5所示。藍色框和綠色框分別代表頭部與面部,同時在遠程工作站可視化輸出目標的識別效果,在檢測識別框的下方實時顯示被測試人員姓名。

圖 5 單目標識別結(jié)果Fig.5 Single target recognition results
本文算法可以完成多目標聯(lián)合檢測,采用相同的設(shè)置對多目標進行檢測識別實驗驗證,可視化結(jié)果如圖6示例所示。當相機檢測新的目標的進入視界范圍內(nèi),系統(tǒng)能夠快速對新進入目標進行鎖定,并將識別結(jié)果可視化輸出到PC端。

圖 6 多目標識別結(jié)果Fig.6 Multi-target recognition results
為了驗證本文算法在物理平臺的識別效率,并統(tǒng)計檢測、識別算法的實用性,本文以30名人員作為訓練樣本集,隨機選取6名成員進行150次驗證測試統(tǒng)計機器人在移動過程中的人臉識別時間及識別準確率,統(tǒng)計結(jié)果分別如表1和表2所示。

表 1 人臉識別時間測試表Table 1 Face recognition timetable
訓練完成后,需要對機器人平臺進行人臉識別測試來得到頭部定位的時間。首先遮擋攝像頭,測試人員完全進入視野范圍后移開擋板,從表1可知,平均定位時間為76 ms,識別時間平均維持在751.17 ms。在新的目標進入相機視野,頭部進入檢測范圍有一個動態(tài)的過程,受到距離以及不同環(huán)境的影響檢測時間會發(fā)生波動,面部進入視頻后識別時間維持在1 s左右,基本滿足實用需求。

表 2 人臉識別率統(tǒng)計表Table 2 Statistical table of face recognition rate
測試結(jié)果顯示出不同目標的識別結(jié)果存在波動現(xiàn)象。分析其原因,本文選取的實驗環(huán)境是在背景復雜的工作室和光照差異較大的樓道,實驗結(jié)果會受到環(huán)境因素以及測試人員面部表情和距離Kinect相機的遠近等因素影響,從表2可知,平均識別率達到了94.3%,可以滿足移動機器人在室內(nèi)環(huán)境中的需求。
為了滿足智能家居機器人實時人臉識別需要,提出了一種基于移動機器人平臺的動態(tài)人臉識別跟蹤方法。算法部分利用深度圖像的光照不變性快速定位頭部位置,保證動態(tài)視頻中面部識別匹配的魯棒性,提出Hungarian和HMM算法相結(jié)合的目標跟蹤模式。將算法移植到Turtlebot移動機器人搭建物理平臺,遠程PC端加速數(shù)據(jù)處理過程。最后在現(xiàn)實環(huán)境中采集視頻進行實驗,動態(tài)環(huán)境中平均識別率達到了94.3%。在接下來的工作中,將研究深度信息和彩色信息的融合方案,在保持系統(tǒng)時效性的同時進一步提高識別準確率。