林 佳,阮曉鋼,于乃功
(1.北京工業(yè)大學(xué) 信息學(xué)部,北京 100124; 2.計算智能與智能系統(tǒng)北京市重點(diǎn)實驗室,北京 100124)
基于頭肩模型的人體識別方法
林 佳1,2,阮曉鋼1,2,于乃功1,2
(1.北京工業(yè)大學(xué) 信息學(xué)部,北京 100124; 2.計算智能與智能系統(tǒng)北京市重點(diǎn)實驗室,北京 100124)
針對移動機(jī)器人跟蹤特定人體的要求,提出了一種基于頭肩模型的人體識別方法;首先從人體檢后得到的圖像中提取所有的人體頭肩模型;接著提取各頭肩模型的降維加權(quán)的Hu不變矩作為特征向量;然后根據(jù)一定的閾值將各頭肩模型分類為正背面或側(cè)面;最后采用正背面或側(cè)面K最近鄰(K Nearest Neighbor, KNN)分類器判斷哪個頭肩模型屬于移動機(jī)器人需要跟蹤的人體;實驗結(jié)果表明本方法具有較高的平均識別準(zhǔn)確率98.3%,且滿足實時性的要求。
人體識別;頭肩模型;不變矩;最近鄰分類器
近年來,人體識別已成為機(jī)器人視覺領(lǐng)域中的一個重要的研究方向,是實現(xiàn)移動機(jī)器人跟蹤人體的主要步驟。國內(nèi)外人體識別的研究成果很多,一般是通過整個人體或部分人體的二值輪廓圖像的特征來識別。李慶忠[1]和Mao[2]等將人體頭肩部的不變矩特征作為BP神經(jīng)網(wǎng)絡(luò)的輸入來識別人。Ding等[3]采用級聯(lián)的SVM對人體頭肩部的HOG特征進(jìn)行分類識別。Xu等[4]通過對提取的人體頭肩部進(jìn)行卡爾曼濾波實現(xiàn)對人體的識別與跟蹤。王麗佳等[5]提取人體的運(yùn)動、顏色和頭肩特征來實現(xiàn)人體跟蹤。劉琳等[6]利用Sobel 算子和均值漂移聚類檢測人體輪廓,然后提取頭肩模型,并結(jié)合傅里葉描述子和神經(jīng)網(wǎng)絡(luò)來識別人體。谷靈康等[7]根據(jù)頭頂像素點(diǎn)的梯度方向快速確定頭肩部區(qū)域,并采用BWH 算法融合照度不變性色彩特征與旋轉(zhuǎn)不變性LBP 紋理特征,結(jié)合HIKSVM 分類器實現(xiàn)人體檢測。
上述方法大都是利用頭肩模型來進(jìn)行人體識別,這是由于人體運(yùn)動的非剛性,運(yùn)動時手臂和雙腿會發(fā)生擺動,造成人體區(qū)域的形狀差別很大,但人體頭肩部的區(qū)域形狀是變化最小的,比身體其他部分有更好的穩(wěn)定性[1]。另外人體之間、人體與物體之間的相互遮擋,使得視頻中通常只能顯示人的上半身,即頭肩部分。這些方法都可有效的識別出場景中存在的人體,但又都局限于用來識別人體和非人體,難以滿足場景中存在多個人體時移動機(jī)器人識別待跟蹤人體的需要。在上述方法的基礎(chǔ)上,經(jīng)過一定的改進(jìn),本文提出了一種基于頭肩模型的人體識別方法。通過實驗對比,提出方法得到了較高的識別準(zhǔn)確率,且具有實時性,可以很好的滿足移動機(jī)器人識別待跟蹤人體的要求。
圖1 基于頭肩模型人體識別的原理框圖
提出的基于頭肩模型的人體識別方法的原理如圖1所示,具體步驟為:
1)從人體檢后得到的圖像中提取所有的人體頭肩模型;
2)提取個頭肩模型的Hu不變矩特征,并根據(jù)特征各維對提高識別準(zhǔn)確率的貢獻(xiàn)大小進(jìn)行降維加權(quán)處理;
3) 根據(jù)一定的閾值將各頭肩模型區(qū)分為正背面和側(cè)面,分別用相應(yīng)的正背面或側(cè)面KNN分類器進(jìn)行分類識別,實現(xiàn)對待跟蹤人體的識別。
人體頭肩模型的提取分兩步進(jìn)行:首先,確定人體檢測后的圖像中的人體數(shù)目;然后,根據(jù)確定的人體數(shù)目依次提取各個人體的頭肩模型。
2.1 人體數(shù)目的確定
一般情況下運(yùn)動人體之間都相隔一定距離,即便人體發(fā)生不完全遮擋時頭肩部間仍存在一定距離。因此可根據(jù)如下步驟確定人體數(shù)目[1]:
1)計算人體檢測后獲得的二值圖像f(x,y)的垂直投影直方圖Hf(y):
(1)
2)求平滑后的垂直投影直方圖SHf(y):
(2)
3)求脈沖函數(shù)P(y):
(3)
4)寬度大于w的正脈沖數(shù)目即為人體的總個數(shù)N,f(x,y)中僅保留N個脈沖對應(yīng)的連通區(qū)域,每個連通區(qū)域?qū)?yīng)一個人體。
2.2 頭肩模型的提取
依次從二值圖像f的N個人體區(qū)域中提取頭肩模型,如圖2所示為f中的一個人體區(qū)域。計算其水平投影直方圖,如圖3(a)所示。點(diǎn)A對應(yīng)的是人體的頭頂點(diǎn)。對于一個通常情況下的投影直方圖曲線,頭頂附近的局部最大值點(diǎn)B的縱坐標(biāo)即為頭部的寬度,由人體解剖學(xué)的知識可取頭部寬度的2.5~3.0倍作為頭肩模型的高度H[5,8];若找不到局部最大值點(diǎn)B,則找出水平投影直方圖的全局最大值點(diǎn)B1,點(diǎn)B1的縱坐標(biāo)即為人體寬度,根據(jù)人體解剖學(xué)的知識人體的寬高比為0.28~0.36,計算出人體的近似高度,再根據(jù)人體頭肩模型高度與人體高度的比值為0.22~0.30,計算出頭肩模型的高度H。圖上A點(diǎn)到C點(diǎn)的距離H即為頭肩模型的高度。這樣A點(diǎn)與C點(diǎn)之間的直方圖即為頭肩模型的水平投影直方圖。圖3(b)為頭肩模型的垂直投影直方圖,E點(diǎn)、F點(diǎn)分別為頭肩模型的最左點(diǎn)、最右點(diǎn),L為頭肩模型的寬度。
對于f的其余人體區(qū)域,可分別采用同樣的方法提取其頭肩模型,并按順序?qū)⑺蓄^肩模型編號,編號數(shù)目應(yīng)與確定出的人體數(shù)目相等。
圖2 二值圖像f中的一個人體區(qū)域
Hu不變矩[9-11]特征不隨圖像的位置、方向、大小的變化而改變,具有縮放、平移、旋轉(zhuǎn)不變性。同時由于不變矩特征是通過計算目標(biāo)區(qū)域內(nèi)的點(diǎn)得出來的,不易受噪聲等因素的影響。因此本文采用頭肩模型的Hu不變矩特征[φ1,…,φ4,…φ7]作為待識別人體的特征。
圖3 頭肩模型的投影直方圖
3.1 頭肩模型Hu不變矩提取
為減小數(shù)值的分布范圍以便于比較,同時考慮到結(jié)果可能出現(xiàn)負(fù)值,實際采用的不變矩[2]為:
(4)
由表1中數(shù)據(jù)可知M3,M4,M5和M7的值的數(shù)字范圍比較小。在下面用KNN分類器計算距離時,這些數(shù)字范圍相對較小的特征會被數(shù)字范圍較大的特征壓倒,使其對距離的計算沒有什么貢獻(xiàn),其對分類結(jié)果的影響也就可能被忽略。為了避免這種數(shù)字問題的出現(xiàn),可以將數(shù)字范圍較小的特征值乘以相應(yīng)的系數(shù),使其歸一化到數(shù)字范圍較大的特征值的數(shù)量級。不變矩特征向量取為:p=[M1,M2,10M3,50M4,2000M5,M6,100M7]。
表1 部分不變矩提取結(jié)果
由于機(jī)器人跟蹤人體對系統(tǒng)的實時性要求比較高,因此應(yīng)該盡可能的降低特征向量的維數(shù),以提高特征提取的速度和降低分類的計算量。本文采用的KNN分類器主要是通過距離度量來確定目標(biāo)的分類,這里可以簡單的應(yīng)用歐氏距離來判斷各維特征向量對分類識別的貢獻(xiàn),保留對提高識別準(zhǔn)確率有益的特征,去掉不利于提高識別準(zhǔn)確率的特征。然后根據(jù)保留的特征向量對提高識別準(zhǔn)確率的貢獻(xiàn)賦予相應(yīng)的權(quán)值。
實驗中采集了一個由11 040張含有人體的圖片組成的圖像庫,并按上述方法分別提取頭肩模型組成頭肩模型樣本庫。由320個頭肩模型作為訓(xùn)練樣本,其中待跟蹤人體樣本80個;隨機(jī)抽取4 240個頭肩模型作為測試樣本,其中待跟蹤人體樣本1 200個。分別提取這些頭肩模型的不變矩特征向量,采用歐氏距離作為距離度量對測試樣本進(jìn)行分類識別,統(tǒng)計錯分個數(shù)m,并計算識別準(zhǔn)確率;依次去除不變矩特征向量的第l維,然后按上面的過程進(jìn)行分類識別,統(tǒng)計錯分個數(shù)ml(l=1,2,…7),并計算識別準(zhǔn)確率。如表2所示為相應(yīng)的錯分個數(shù)和識別準(zhǔn)確率。
在微電網(wǎng)控制中,集中控制需要通過中央控制器控制所有DG單元的信息,對通信要求高,一旦某條線路發(fā)生通信故障,將無法確定其余DG單元的控制指令,情況嚴(yán)重時會造成系統(tǒng)崩潰,可靠性不高。
表2 錯分個數(shù)和識別準(zhǔn)確率
根據(jù)表中數(shù)據(jù)依次去掉M3、M4、M5后識別準(zhǔn)確率都有所提高,說明此三維特征向量不利于識別準(zhǔn)確率的提高,應(yīng)該舍棄。相對的,依次去掉M1、M2、M6、M7后識別準(zhǔn)確率有所下降,說明此四維特征向量有益于提高識別準(zhǔn)確率,應(yīng)該保留。根據(jù)下式計算不變矩M1、M2、M6、M7的權(quán)值:
(5)
結(jié)果分別為μ1=0.321 9,μ2=0.234 2,μ6=0.216 0,μ7=0.227 9。
3.2 頭肩模型正背面、側(cè)面區(qū)分
由于機(jī)器人跟蹤人體時大部分時間內(nèi)攝像機(jī)拍攝的是人體的背面,只有人體轉(zhuǎn)身或者拐彎時才拍攝人體的側(cè)面。因此,如圖4所示,將頭肩模型分為兩大部分,八個區(qū)域。兩大部分包括正背面、側(cè)面。八個區(qū)域分為正面、背面、左側(cè)面、右側(cè)面、左前半側(cè)面、左后半側(cè)面、右后半側(cè)面、右前半側(cè)面。其中正面、背面屬于正背面區(qū)域,人體頭肩模型在正面、背面區(qū)域左、右微偏5o仍可認(rèn)為其屬于正背面部分;左側(cè)面、右側(cè)面、左前半側(cè)面、左后半側(cè)面、右后半側(cè)面、右前半側(cè)面屬于側(cè)面部分。
過對大量人體頭肩模型不變矩特征的研究找出可以區(qū)分頭肩模型正背面和側(cè)面的閾值。當(dāng)0.59≤M1≤0.61時,若M2>0.24&M6>0.15,為正背面;若M2≤0.24|M6≥0.15,為側(cè)面。當(dāng)M1<0.59時,為側(cè)面。當(dāng)M1>0.61時,為正背面。從而實現(xiàn)對頭肩模型正背面和側(cè)面的區(qū)分。
圖4 頭肩模型的劃分
KNN(K Nearest Neighbor, KNN)分類算法的主要思想是:先計算待分類樣本與已知類別的訓(xùn)練樣本之間的距離,找到與待分類樣本距離最近的k個鄰居;待分類樣本的k個鄰居中占多數(shù)的類別即為待分類樣本的類別[12]。一般采用歐氏距離來確定樣本距離,還可采用曼哈頓距離作為距離度量。
由于將頭肩模型分為正背面和側(cè)面分別進(jìn)行分類識別,因此需要訓(xùn)練兩個KNN分類器,即正背面KNN分類器和側(cè)面KNN分類器。當(dāng)待分類樣本被確定為正背面時則用正背面KNN分類器分類,被確定為側(cè)面時則用側(cè)面KNN分類器分類。當(dāng)同一圖片中出現(xiàn)多個人體時,按已提取的頭肩模型的編號順序提取不變矩特征向量。按確定的閾值將其分為正背面或側(cè)面,最后用相應(yīng)的KNN分類器分類識別。若分類識別結(jié)果為待跟蹤人體,記錄分類結(jié)果所屬類別的鄰居中最小的歐氏距離值。
當(dāng)圖像中只有一個人體時,可根據(jù)KNN分類器分類結(jié)果確定是否為待跟蹤的人體。當(dāng)圖像中出現(xiàn)多個人體,且有多于一個人體被分類為待跟蹤人體時,則比較記錄的歐氏距離值,歐氏距離最小的人體即為待跟蹤的人體。
機(jī)器人跟蹤人體時,若待跟蹤人體的頭肩模型已存儲在樣本庫中時,則可直接使用此樣本作為相應(yīng)KNN分類器的訓(xùn)練樣本;若待跟蹤人體的頭肩模型未存儲在樣本庫中,則此人體在機(jī)器人前慢速旋轉(zhuǎn)360o,機(jī)器人將拍攝視頻按幀提取對應(yīng)頭肩模型,并進(jìn)行正背面和側(cè)面區(qū)分,然后存儲到已存在的正背面或側(cè)面樣本庫中。增加后的樣本庫可作為相應(yīng)KNN分類器的訓(xùn)練樣本庫。
相較于SVM,BP神經(jīng)網(wǎng)絡(luò)等分類器,采用KNN分類器可以避免預(yù)先訓(xùn)練針對不同待跟蹤人體的多個分類器;當(dāng)有未存儲在訓(xùn)練樣本庫中的待跟蹤人體需要被跟蹤時直接按上述方法將其頭肩模型加入到訓(xùn)練樣本庫中,可以避免離線訓(xùn)練新分類器的過程。
本實驗分為人體檢測后圖像中有單個人體、兩個人體、3個人體出現(xiàn)的情況。采用距離度量為歐氏距離的KNN分類器和本文方法的KNN分類器,分別測試不區(qū)分與區(qū)分頭肩模型時的識別準(zhǔn)確率和耗時。
本文第二部分采集的頭肩模型樣本庫中的正背面頭肩模型樣本組成正背面樣本庫,側(cè)面頭肩模型樣本組成側(cè)面樣本庫。實驗中的正背面KNN分類器的訓(xùn)練樣本由正背面樣本庫中的部分樣本組成,側(cè)面KNN分類器的訓(xùn)練樣本由側(cè)面樣本庫中的部分樣本組成。
不區(qū)分頭肩模型正背面與側(cè)面的情況下,訓(xùn)練樣本由正背面樣本庫中320個樣本(待跟蹤人體樣本40個)和側(cè)面樣本庫中的960個樣本(待跟蹤人體樣本120個)組成。區(qū)分頭肩模型正背面和側(cè)面的情況下,正背面KNN分類器的訓(xùn)練樣本由前面選出的320個正背面樣本組成,側(cè)面KNN分類器的訓(xùn)練樣本由前面選出的960個側(cè)面樣本組成。只有單個人體的實驗從圖像庫中選取只有單個人體的4 864張圖片,分別提取頭肩模型作為測試樣本。有兩個人體的實驗從圖像庫中選取含有兩個人體的1 400張圖片,分別提取頭肩模型作為測試樣本。有3個人體的試驗從圖像庫中選取有3個人體的3 000張圖片,分別提取頭肩模型作為測試樣本。實驗結(jié)果如表3、表4所示。
表3 KNN分類器采用歐氏距離的實驗結(jié)果
表4 KNN分類器采用本文方法的實驗結(jié)果
從實驗結(jié)果可以看出區(qū)分頭肩模型正背面和側(cè)面的情況下識別準(zhǔn)確率明顯提高,平均為98.3%。在同時存在多個人體時識別準(zhǔn)確率也完全可以滿足跟蹤人體的需要。實際系統(tǒng)應(yīng)用中可通過比較連續(xù)幾幀的識別結(jié)果來判定,以更加準(zhǔn)確地識別待跟蹤的人體。同時每個頭肩模型的識別時間平均減少了1.82 ms, 提高了對系統(tǒng)實時性要求的滿足程度。
通過比較表3和表4中的實驗結(jié)果,還可發(fā)現(xiàn)采用本文方法的KNN分類器進(jìn)行分類識別,識別準(zhǔn)確率也有了不同程度的提高。
本文針對移動機(jī)器人跟蹤人體的要求,對只能識別人體與非人體的人體識別方法進(jìn)行了改進(jìn)。首先提取人體檢測后圖像中的頭肩模型;接著提取頭肩模型降維后的Hu不變矩,并賦予其相應(yīng)的權(quán)值作為特征向量;然后根據(jù)經(jīng)驗閾值將頭肩模型區(qū)分為正背面或側(cè)面;最后利用相應(yīng)的正背面或側(cè)面KNN分類器進(jìn)行分類識別。提出方法實現(xiàn)了對待跟蹤人體的快速與準(zhǔn)確識別,較好地解決了場景中存在多個運(yùn)動人體時移動機(jī)器人不能很好的識別待跟蹤人體的問題。本研究還可應(yīng)用于人機(jī)交互、智能視頻監(jiān)控和人體行為分析等領(lǐng)域。對于人體彎腰或舉高手臂等特殊情況下的圖像,本文方法不再適用。因為此時無法提取出適用的頭肩模型,這種特殊情況下的人體識別方法有待后續(xù)研究解決。
較好地解決了場景中存在多個運(yùn)動人體時移動機(jī)器人不能很好的識別待跟蹤人體的問題。
[1]李慶忠,陳顯華,王力紅.一種視頻運(yùn)動目標(biāo)的檢測與識別方法[J].模式識別與人工智能, 2006, 19(2): 238-242.
[2]Mao Y, Huang X. Human recognition based on head-shoulder moment feature[A]. IEEE/ INFORMS Int. Conf. on Service Operations and Logistics, and Informatics[C]. Beijing, China: IEEE, 2008: 622-625.
[3]Ding X, Xu H, Cui P, et al. A cascade SVM approach for head-shoulder detection using histograms of oriented Ggradients[A]. IEEE Int. Symp. on Circuits and Systems[C]. Tainan, China: IEEE, 2009: 1791-1794.
[4]Xu H, Lv P, Lei M. A People counting system based on head-shoulder detection and tracking in surveillance video[A]. Int. Con. On Computer Design and Applications[C]. Qinhuangdao, China: IEEE, 2010: 394-398.
[5]王麗佳, 賈松敏, 李秀智,等.多特征提取的雙目機(jī)器人目標(biāo)跟蹤[J]. 控制與決策, 2013, 28(10): 1568-1572.
[6]劉 琳, 耿俊梅, 顧國華, 等. 輪廓特征與神經(jīng)網(wǎng)絡(luò)相結(jié)合的行人檢測[J]. 光電工程, 2014, 41(7): 50-56.
[7]谷康靈, 周鳴爭. 多特征融合下的快速行人檢測[J]. 光電工程, 2015, 42(9): 14-20.
[8]Jia S, Sheng J, Chugo D, et al. Human recognition using RFID technology and stereo vision[A]. IEEE Int. Conf. on Robotics and Biomimetics[C]. Sanya, China: IEEE, 2007: 1488-1493.
[9]Hu M K. Visual pattern recognition by moment invariants[J]. IRE Transaction on Information Theory, 1962, 8(2): 179-187.
[10]馬 琦, 馬蔚碰, 劉 彥, 等. 基于支持向量機(jī)的圖像飛機(jī)目標(biāo)自動識別算法研究[J]. 計算機(jī)測量與控制, 2014, 22(9): 2851-2852, 2899.
[11]李樂平, 高 楊. 一種高準(zhǔn)確率的交通監(jiān)控視頻車輛檢測算法[J]. 計算機(jī)測量與控制, 2015, 23(3): 852-864, 857.
[12]Peter E H. The condensed nearest neighbor rule[J]. IEEE Transactions on Information Theory, 1968, 14 (3): 515-516.
Human Recognition Approach Based on Head-shoulder Model
Lin Jia1,2,Ruan Xiaogang1,2, Yu Naigong1,2
(1. Faculty of Information Technology, Beijing University of Technology, Beijing 100124, China; 2. Beijing Key Laboratory of Computational Intelligence and Intelligent System, Beijing 100124, China)
According to the requirements of tracking desired human for mobile robots, a human recognition approach which is based on the head-shoulder model is proposed. Firstly, the human head-shoulder models are extracted from the image obtained by human detection. Next, dimensionality reduction and weighted Hu moment invariants of the head-shoulder models are extracted as the feature vectors. Then, the head-shoulder models are identified as the front-back or profile models according to certain thresholds. Finally, the front-back or profile K Nearest Neighbor (KNN) classifier is used to determine which head-shoulder model belongs to the desired human, who needs to be tracked by a mobile robot. The experimental results show that the proposed approach has high average recognition accuracy 98.3% and is provided with real-time performance.
human recognition; head-shoulder model; moment invariant; nearest neighbor classifier
2016-10-28;
2016-11-01。
國家自然科學(xué)基金項目(61375086);北京市自然科學(xué)基金項目/北京市教育委員會科技計劃重點(diǎn)項目(KZ201610005010)。
林 佳(1987-),男,山東人,博士研究生,主要從事機(jī)器視覺、人機(jī)交互方向的研究。
阮曉鋼(1958-),男,四川人,教授,博士研究生導(dǎo)師,主要從事認(rèn)知科學(xué)、機(jī)器人學(xué)方向的研究。
1671-4598(2016)12-0205-04
10.16526/j.cnki.11-4762/tp.2016.12.059
TP 391.41
A
于乃功(1966-),男,山東人,教授,碩士研究生導(dǎo)師,主要從事機(jī)器人定位與導(dǎo)航方向的研究。