邢關生,張 慧,劉衛朋,孫鶴旭
(1. 河北工業大學 控制科學與工程學院,天津 300130;2. 河北省控制工程技術研究中心,天津 300130)
基于 Kinect的特定人員魯棒識別與定位
邢關生1,2,張 慧1,劉衛朋1,孫鶴旭2
(1. 河北工業大學 控制科學與工程學院,天津 300130;2. 河北省控制工程技術研究中心,天津 300130)
為避免人機共處時相撞,提出了一種基于 Kinect 視覺的特定人員識別與定位方法.利用 Kinect 傳感器深度圖像中的用戶索引位信息、同步的彩色圖像與深度圖像的對應關系,濾除彩色圖像中的復雜背景,確定感興趣目標區域.進而在彩色圖像內,基于加速魯棒特征算法(SURF)在連續幀間完成特征匹配,快速識別特定目標人員;在深度圖像內,采用無跡卡爾曼濾波(UKF)實現了在攝像機坐標系內的人員定位.實驗結果驗證了算法的魯棒性,表明算法能夠適應光線變化、目標再入和部分遮擋等情況.
人員識別;Kinect相機;加速魯棒特征;無跡卡爾曼濾波;定位
為了保證機器人與人能夠在同一作業環境安全、有效協作完成作業,除了要分析清楚機器人和人的自身特點、工作內容以及各自工作的耦合關系以外,最基本的是要確保人與機器人之間的信息交流以保障人的安全[1],這就需要機器人快速有效的發現并定位其 “合作伙伴”. 其中的關鍵問題是如何利用視覺傳感在復雜的工作環境中實時的、穩健的識別特定人員,并確定其在三維空間中的位置.
傳統的機器人視覺傳感器大多采用采用普通的可見光相機,只能獲取周圍環境的二維圖像,總會受到光照、陰影、物體遮擋的影響.若機器人想獲知周圍環境的三維信息,或采用多目相機、TOF(Time-of-Flight)相機,或借助激光測距儀,容易增加軟件成本和硬件成本,而且在復雜環境下進行人體識別具有較大難度.近年來,微軟公司推出的 Kinect相機受到廣泛關注[2],Kinect相機價格低廉,深度圖像的分辨率更高,而且在人體識別方面有巨大的優勢.已有工作開展了Kinect的人員識別與定位工作.例如,文獻 [3] 采用Kinect相機檢測環境中的人員,并未研究特定人員的識別與跟蹤;文獻 [4] 利用Kinect信息,結合 Camshift算法對人體實時跟蹤,有效避免光照影響并能區分不同深度不同位置的目標;文獻 [5] 利用Kinect感知能力和關節點數據提取能力提出了基于人體結構的向量角和向量模比值的行為表示特征;文獻 [6] 則利用Kinect可以提取人體骨架的特點設計了一個移動機器人跟蹤人體的系統.大多數基于Kinect的人員識別工作并未針對特定人員,且主要利用深度圖像,放棄了大量可用的彩色圖像.深度圖像的數據中僅包含了當前視野內的人員身份信息,目標人員離開后再次返回,身份信息變更,難以基于深度圖像識別目標.
目前已有很多的目標識別算法:基于模型或幾何,外觀和視圖,局部特征匹配以及基于深度圖像的三維物體時別等.文獻 [6] 是基于物體模型的方法,用 CAD 對物體建模,在圖像中對物體描述進行匹配,對復雜物體建模難度較大,此方法普遍應用性較差.文獻 [7-9] 用基于外觀和視圖的方法,該方法直觀且利于理解,但是穩定性差,容易收光照等的影響.基于局部特征的匹配算法主要包括構建特征描述符及特征匹配兩部分,其典型代表是 David Lowe提出的尺度不變特征變換 SIFT(Scale Invariant Feature Tranform)[10-11]以及Bay 提出的基于積分圖像的特征描述方法 SURF(Speeded Up Robust Features)[12].在當前工藝標準下,構建檢測器和描述符的方法相比其他識別算法速度更快、精度更高、魯棒性更強.SURF算法是尺度不變特征變換算法(SIFT)的延伸,可重復性、辨別性、魯棒性更佳,運算速度更快.
為了在光照條件變化、目標暫時離開視野或被遮擋等復雜條件下識別特定人員,提出綜合彩色圖像和深度圖像的方案.彩色圖像包含豐富的目標外觀特征信息,而從深度圖像中能夠快速區分前景人員與復雜背景,所提出的方案同時利用兩方面的特點來快速識別期望的特定目標.首先基于深度圖像分離出目標人員所在的感興趣區域.進一步,在對應的彩色圖像中,目標外觀特征的描述與檢測采用加速魯棒特征算法(Speeded-Up RobustFeatures,簡寫為SURF),穩健的在連續視頻圖像中匹配特定人員特征點,從而實現識別功能;最終基于無跡卡爾曼濾波完成目標定位.
1.1 Kinect簡介
Kinect是美國微軟公司推出的一款 3D 體感攝影機.2012 年 2 月,繼 Kinect for Xbox 360 之后,微軟又發布了Kinect forWindows硬件以及Kinect forWindows SDK 1.0 軟件開發包,用于廣大開發者進行學術研究和軟件開發.Kinect forWindows SDK更適合于開發基于Windows操作系統的應用.
1.2 Kinect相機模型
Kinect主要由 3 部分構成:RGB相機(彩色相機),IR 發射器(紅外發射器)、IR 相機(紅外相機),其結構如圖1所示.
Kinect的深度相機由IR發射器和IR相機組成,能獲取視野范圍內物體到Kinect的三維空間距離,這也是Kinect技術的核心.設三維空間的點 P在深度相機坐標系中的坐標為點 P 在深度圖像平面內對應的像素點坐標用 ud,vdT表示,則兩者間的關系為


圖1 Kinect結構Fig.1 The structureof kinect

2.1 算法框架設計
算法框架主要包括 4 部分:圖像采集、預處理、特定人員識別和目標人員定位.圖像采集負責獲取Kinect的彩色圖像和深度圖像;而預處理階段負責綜合這兩種圖像,完成感興趣目標區域扣取的任務;目標識別模塊中,實現當前幀SURF特征點檢測,將預存儲的模板信息與當前場景提取的信息進行匹配,識別出目標人員;最終應用無跡卡爾曼濾波實現特定人員定位任務.需要解釋的是,特征匹配所需的參考特征的獲取分為離線和在線兩方面.一方面是在離線時,即在實時采集圖像進行識別之前,專門獲取目標人員圖像信息,進行特征點提取和描述符創建,形成初始的特征參考模板;另一方面是在線時,若成功完成特征匹配,則將當前幀中的特征描述符等信息轉存,作為下一幀的參考特征.見圖2.

圖2 算法框架Fig.2 Thealgorithm framework
2.2 基于深度圖的感興趣區域自動提取
Kinect獲取的彩色圖像就是普通的RGB彩色圖像,分辨率為 640 × 480,傳輸速率為 30 FPS;深度圖像傳輸速率也是 30 FPS,分辨率為 320 × 240.由于深度圖像是以灰度圖的形式顯示的,所以在獲取到深度數據信息后,要對其進行歸一化處理(像素值 =255 (256 × DepthData/4 095)),使其取值范圍變為 0 ~ 255,255 表示白色,0 表示黑色,顏色由黑到白表示實際距離由近至遠,純白色區域也可能表示實際距離超出Kinect探測范圍.
Kinect的深度數據占 16bit,其中高 13 位代表深度信息,低三位被稱為用戶索引位(Play ID位).Play ID共有 8 種狀態:000 ~ 111,其中 000 表示非人體區域,實際上Kinect一次最多只能檢測出 6 人.
利用深度數據的 Play ID 屬性,可直接獲知深度圖像中的人體區域,進而由第 2 節中的 Kinect相機模型,可以快速尋找彩色圖像中人員所在區域,將背景濾除.預處理后的圖像只保留感興趣區域,從而減少后續SURF算法的特征檢測運算量,極大的縮短了計算時間.
2.3 基于 SURF 算法的人員特征匹配
SURF[12]算法以積分圖像為輸入,計算主要包含 3 步:第 1 步,選取關鍵特征點,即在積分圖像上建立快速 Hessian 矩陣檢測特征點;第 2 步,構建特征點的描述符,即利用箱式濾波器建立尺度空間,結合 Harr小波響應圖,創建特征向量作為描述符;第3步,根據兩幀圖像的描述符進行特征點匹配,即利用歐氏距離匹配合適的特征點,從而識別特定目標.
2.3.1 積分圖像
積分圖像 I是SURF算法的輸入.I在像素點 X=x,y 的值用積分值 I X 表示,即從原始圖像 G 左上角到點 x,y 所形成矩形區域的內部所有像素點的灰度值之和,如式(4).

基于積分圖像 I 定義式 (4),給定原圖像 G 中任意矩形區域的 4 個頂點像素坐標,即可快速計算出該區域的積分值,計算時間與矩形區域大小無關.SURF算法充分利用了積分圖像的這個性質,在計算過程中選擇箱式濾波器進行快速計算,減少計算時間以提高計算速度.
2.3.2 基于Hessian矩陣的特征點檢測
圖像特征點的檢測需基于尺度空間.在尺度空間L中,像素點為X、空間尺度為時的Hessian矩陣為

為了提升算法性能,SURF算法利用箱式濾波器代替形狀不規則的 Laplacian 高斯濾波器核,利用積分圖像加快卷積計算,得到全新的Hessian矩陣

快速Hessian矩陣的行列式為

使用快速 Hessian 矩陣的行列式來表示圖像中 X 處的特征點響應值,對所有像素點進行行列式運算,并將所有響應值存儲在不同尺度下的響應映射中,最后在不同空間尺度下形成特征點響應圖像.
2.3.3 構建特征點描述符
特征描述符實際是一組向量,描述的是由特征點及周圍相鄰像素點一起構成的斑點結構的分布情況.創建特征描述符主要分兩步:確定特征點主方向和計算Harr小波響應.
為了確保描述符對圖像具有旋轉不變性,需要為每個特征點分配一個主方向.創建一個以x方向響應為橫坐標、y方向響應為縱坐標的空間,所有小波響應在該空間里對應為一個響應點,然后以張角的扇形窗
口在該空間里滑動,計算扇形區域內所有響應點的累加和,最大的Haar響應累加值即為特征點主方向.
建立一個矩形區域,以特征點為中心,方向為之前確定的主方向,邊長為 20 s.該矩形區域被分成4×4矩形子區域.計算每個子區域的 Harr 小波響應,然后對響應值進行統計形成的特征向量.SURF算法的特征點最終由一個 64 維的特征向量描述.
由于積分圖像的應用,不僅減少了計算特征及匹配的運算時間,而且增加了算法的魯棒性.另外,利用Hessian 矩陣的跡,即拉普拉斯值,建立快速查詢方法,不僅提高了描述符的穩定性,而且提高了斑點的匹配速度.
2.3.4 特征匹配
在匹配階段,為了加速索引速度,需要借助關鍵特征點的拉普拉斯值,也就是 Hessian 矩陣的跡.特征點及其周圍小鄰域的像素點一起組成斑點結構,按照亮度的不同,可以將特征點分為兩種:黑暗背景中的亮斑點和明亮背景中的暗斑點.這個特征已經在檢測階段計算出來了,所以不會增加額外的計算量.根據拉普拉斯值的符號就可以區別出這兩種斑點結構:若符號為正,則為亮斑點;若符號為負,則為暗斑點.在快速索引階段,可以直接判斷拉普拉斯值進行特征點相似性度量的篩選工作:如果兩個斑點的拉普拉斯值同號,說明斑點與背景之間的對比度相同;否則,兩個斑點的對比度不同,直接放棄進一步的比較.兩個斑點結構的對比度不同,說明兩個點之間沒有匹配成功.
因此,在匹配階段只需要匹配具有相同對比度的特征點,所以在不降低描述符性能的前提下,允許利用最低限度的信息進行快速匹配.這種利用少量信息進行快速查找的索引方法,優越于眾多的索引方法當中是一種優勢.
最后,在篩選出來的特征點中采用歐氏距離法進一步運算,匹配出具有相同特征的特征點.
2.4 基于 UKF 的目標人員定位
利用特征檢測識別出了目標人員區域,采用無跡卡爾曼濾波(UKF)[14]方法實現對目標人員的定位.首先計算出目標人員的質心在彩色圖像空間中的坐標,根據坐標變換確定其在深度圖像空間以及攝像機坐標系中的位置.進而,利用UKF濾波器,根據當前測量值和上一時刻對當前時刻的預測值實現當前時刻目標人員位置的估計.
UKF方法在解決非線性濾波問題時在精度和穩定性方面都優于EKF.UKF不必進行線性化而直接用UT方法,用一組確定的采樣點來近似后驗概率.當高斯型狀態向量由非線性系統進行傳遞時,對任何系統,都能精確到三階的后驗均值和協方差.
2.4.1 UT變換
UT變換是UKF算法的核心和基礎,其思想是:在確保采樣均值和協方差分別為x 和 Pxx的前提下,選擇一組點集(Sigma點集),將非線性變換應用與采用的每個Sigma點集,得到非線性轉換后點集y 和 Pyy.
UT變換如下:
1) 根據輸入變量 x的x 和 Pxx,選擇 Sigma 點集, 以及對應的權值和
2)計算 2n+1 個取樣點 xi及響應的權值 wi

3)對每個Sigma點進行 f 非線性變換,得到變換后的Sigma點集 yi

4)對點集 yi進行加權處理,得到輸出變量 y 的統計量y 和 Pyy

2.4.2 UKF算法
在UKF算法中,由于有噪聲項,需要對狀態方程進行擴維,初始條件為

初始擴維條件,即

簡化 UKF 算法為:1)Sigma 點采樣;2)利用狀態方程傳遞采樣點;3) 利用預測采樣點,權值計算預測均值和協方差;4) 利用 2) 預測測量采樣點;5) 預測測量值和協方差;6) 計算 UKF 增益,更新狀態向量和方差.
為測試人員目標識別與定位方法的有效性,基于VisualStudio 2010 開發了算法測試軟件,Kinect彩色相機和深度相機的圖像采集速率均為每秒 30 幀.軟件主界面如圖3 所示,在識別目標之前,通過點擊“Target Acquisition”,獲取特定人員目標圖像 (在界面右側的Sample Image部分顯示的是預處理后的目標圖像).再點擊“Shoot”按鈕,完成特定目標圖像的特征點提取、描述符創建,形成特定目標的模板.先后點擊“Work Scene”和“Track”按鈕,開始執行目標識別和定位任務,現場場景的實時彩色圖像和深度圖像分別顯示在界面左側的Color和 Depth部分,被識別的特定目標人員可由紅色矩形框圈定.圖3 展示的是場景中近距離僅有特定目標一人的情況,驗證了算法的基本識別能力.

圖3 人員識別主界面Fig.3 Themain interfaceof person identification
進一步,為測試方法在多種不同條件下的有效性,分別完成以下幾組實驗.
實驗1:目標人員姿態發生改變時,也能有效識別目標,如圖4所示.

圖4 不同姿態人員識別圖Fig.4 Personal identification of differentattitude
實驗 2:特定目標暫時離開 Kinect視野,由不同非目標人員干擾一段時間,之后再次進入視野范圍也能正確識別特定目標人員,結果如圖5 顯示.表明算法不完全依賴深度圖像中的PlayID數據,能夠避免人員誤判,正確區分不同目標的外觀特征.
實驗 3:多人共存,特定目標被部分遮擋,結果如圖6.通過實驗測試發現,當被跟蹤目標被遮擋部分低于 50%時,具有較高的識別成功率.另外,識別成功率也與特定人員未被遮擋部分的著裝有關.

圖5 目標再入Fig.5 TargetReentry
通過 3 組實驗可以證明:基于Kinect視覺的SURF算法能夠成功識別特定目標人員,計算速度較快,能夠適應Kinect彩色和深度相機的幀速率,對于光照變化、遮擋等具有較強的魯棒性和穩定性.
算法在識別出特定人員的同時,利用UKF實時更新人體中心在Kinect深度相機坐標系下的坐標,繼而計算出人體相對光軸方向的偏角和到相機的距離,8次實驗得到結果如表1所示.
在室內復雜背景下,基于SURF和UKF的目標人員實時識別和定位方法,能夠應對光照變化、遮擋等問題.方法利用Kinect深度傳感器和彩色傳感器間的映射關系對深度圖像扣取的人體區域預處理,得到濾除復雜背景干擾的彩色圖像;然后用SURF算法識別目標人員,節約了運算時間,減少了計算量,提高了運算速度;最后應用無跡卡爾曼濾波算法實現了實時目標人員定位功能.通過實驗已經驗證了所設計方法在特定人員的識別與定位方面的優勢,未來的工作在于設計外部的輔助定位系統,測試并優化算法定位性能.

圖6 遮擋實驗Fig.6 Experimentof Occlusion

表1 人員定位實驗Tab.1 Experimentof Personalpositioning
[1]GoodrichM A,Schultz AC.Human-robotinteraction:asurvey[J].Foundationsand trendsinhuman-computerinteraction,2007,1(3):203-275.
[2]Han JG,Shao L,Xu D,et al.Enhanced Computer Vision w ith M icrosoft Kinect Sensor:A Review [J].IEEE Transactions on Cybernetics,2013,43(5):1318-1334.
[3]Xia L,Chen CC,Aggarwal JK.Human detectionusingdepth informationby Kinect[C]//Proceedingsof2011 IEEEComputerSociety Conference on Computer Vision and Pattern RecognitionWorkshops.IEEEComputer Society,2011:15-22.
[4] 韓旭.應用Kinect的人體行為識別方法研究與系統設計 [D].濟南:山東大學,2013.
[5]Machida E,Cao M,Murao T,etal.Humanmotion tracking ofmobile robotw ith Kinect3D sensor[C]//Proceedingsof IEEE 2012SICEAnnual Conference.SICE,2012:2207-2211.
[6]Chen Y,JiZC,Hua C J.3-Dmodelmatching based on distributed estimation algorithm[C]//Proceedingsof 2009Chinese Controland Decision Conference.IEEEComputer Society,2009:5063-5067.
[7]SchieleB,Crow ley JL.Recognitionw ithoutcorrespondenceusingmultidimensional receptive field histograms[J].International JournalofComputer Vision,2000,36(1):31-50.
[8]PontilM,VerriA.Supportvectormachines for3D objectrecognition[J].IEEETransactionson Pattern AnalysisandMachine Intelligence,1998,20(6):637-646.
[9]Roth D,Yang M H,Ahuja N.Learning to recognize three-dimensionalobjects[J].NeuralComputation,2002,14(5):1071-1103.
[10]Lowe DG.Object recognition from localscale-invariant features[C]//Proceedingsof the7th IEEE InternationalConferenceon Computer Vision.IEEE,1999,2:1150-1157.
[11]LoweDG.Distinctive image features from scale-invariantkeypoints[J].International Journalof Computer Vision,2004,60(2):91-110.
[12]Bay H,Tuytelaars T,Van Gool L.Surf:Speeded up robust features[C]//Proceedings of the 9th European Conference on Computer Vision.Springer,2006:404-417.
[13]Smisek J,Jancosek M,and Pajdla T.3Dw ith Kinect[C]//Proceedingsof the IEEE InternationalConferenceon ComputerVision.IEEE,2011:1154-1160.
[14]Wan EA,VanDerMerweR.Theunscented Kalman filter fornonlinearestimation[C]//Proceedingsof the IEEE 2000Adaptive Systems forSignal Processing,Communicationsand Control Symposium.IEEE,2000:153-158.
[責任編輯 代俊秋]
Robust recognition and localization of specific persons using kinect
XING Guan-sheng1,2,ZHANG Hui1,LIU Wei-peng1,SUN He-xu2
(1.School of Control Science and Engineering,Hebei University of Technology,Tianjin 300130,China;2.Control Engineering Technology Research Center of Hebei Province,Tianjin 300130,China)
A Kinect-based person recognition and localizationmethod is proposed to avoid collisions during the co-existenceofhumanand robots.Firstly,by using theplayerindex datain Kinectdepth imagesand the correspondencebetween synchronized depth and RGB images,thebackground in RGB image is rejected toattain the interesttargetarea.Secondly, Speeded-Up Robust Features(SURF)algorithm is used to detect features rapidly in sequential RGB images and then recognize the specific person.Finally,the person's position is estimated using Unscented Kalman Filter(UKF).Experientialresultsverify thealgorithm robustnessand show thatthemethod can adaptto those casesof lightchanging,target re-entering and partialocclusion.
person recognition;kinectcamera;speeded-up robust features;unscented kalman filter;localization
1007-2373(2014)05-0001-07
TP18
A
10.14081/j.cnki.hgdxb.2014.05.001
2014-09-12
國家自然科學基金(61203275);河北省自然科學基金(F2013202101,F2012202100);河北省科技支撐計劃指導項目(13211827)
邢關生(1980-),男(漢族),講師,博士.