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

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

圖 2 人臉檢測流程Fig.2 Face detection process
由于獲得頭部圖像的非統一性,需對圖像進行頭部姿態校正預處理,同時為提高識別的準確率,保證面部光照均勻需對其進行直方圖均衡化,使圖像中的灰度值均勻分布,增強圖像的有效特征。在光照不足的條件下,可使用對數變換來改變灰度值,令
g(x*,y*)=ln(f(x*,y*)+1)
(1)
式中:f(x*,y*)表示原始圖像;g(x*,y*)表示對數圖像。
訓練圖像和測試圖像像素位置的偏差會導致識別性能的下降。為了建立面部方位之間的對應關系,本文進一步使用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線性判別理論對原始數據進行降維分析,期望得到的各類別數據投影點更為集中。通過在空間中尋找最佳的投影向量,使得類內散射矩陣SW最小,類間散射矩陣SB最大。類別為C的類內散射矩陣和類間散射矩陣為
(4)
(5)
式中:μi(i=1,2,…,c)為第i類樣本的均值向量;μ為所有樣本的均值向量;Ni為第i類樣本的個數;xi為第i類樣本的集合;x為n維向量。
假設投影的空間維度為d,基向量(w1,w2,…,wd)構成的矩陣Wn×d,最終求得的準則函數為
(6)

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

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

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

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

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

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