張 智,王 慧,蘇 麗,聶文昌
(哈爾濱工程大學(xué) 自動(dòng)化學(xué)院, 哈爾濱 150001)
人體檢測(cè)是目標(biāo)檢測(cè)領(lǐng)域中不可或缺的一個(gè)分支,其中,室內(nèi)環(huán)境下的靜態(tài)圖像中的人體檢測(cè)具有比較積極的研究意義.特別是對(duì)于視覺(jué)服務(wù)機(jī)器人來(lái)說(shuō),準(zhǔn)確的識(shí)別人體是做出下一步行動(dòng)的首要前提.特別是近年來(lái)深度學(xué)習(xí)技術(shù)發(fā)展迅速,作為統(tǒng)計(jì)學(xué)習(xí)的方法,深度學(xué)習(xí)已在各個(gè)領(lǐng)域發(fā)揮重要作用[1],并已被用于人體檢測(cè)、動(dòng)作識(shí)別、行為理解等問(wèn)題的研究[2],作為統(tǒng)計(jì)學(xué)習(xí)方法的一種,深度學(xué)習(xí)與傳統(tǒng)的分類器(如SVM)相比,在準(zhǔn)確率上提升效果顯著,但深度學(xué)習(xí)往往需要足夠大的樣本集,且對(duì)計(jì)算系統(tǒng)硬件性能要求較高,所以傳統(tǒng)方法仍然有積極的學(xué)術(shù)研究及應(yīng)用價(jià)值.常見的傳統(tǒng)的人體識(shí)別方法主要分為3類:
1)利用圖割的方法進(jìn)行人體檢測(cè)[3],利用各種分割算法結(jié)合Ncut[4,5]方法能夠準(zhǔn)確的對(duì)圖像進(jìn)行分割并提取人體.但由于分割的條件不同,可能會(huì)存在目標(biāo)人體分割不完整,分割塊數(shù)過(guò)大或過(guò)小等問(wèn)題.
2)利用統(tǒng)計(jì)學(xué)習(xí)的方法對(duì)人體進(jìn)行檢測(cè)[6],一般需要提取目標(biāo)特征建立分類器模型,而后利用分類器模型對(duì)人體進(jìn)行檢測(cè),該算法能達(dá)到比較好的檢測(cè)效果,缺點(diǎn)是人體檢測(cè)和建模耗時(shí)較多,實(shí)時(shí)性不能得到滿足.
3)利用模型匹配的方法進(jìn)行人體檢測(cè)[7],該方法能夠?qū)?fù)雜人體姿態(tài)進(jìn)行精度較高的檢測(cè),但是實(shí)時(shí)性較低,復(fù)雜環(huán)境下效果較差.又由于人體的非剛性所以并不能有一個(gè)統(tǒng)一的模型運(yùn)用于人體檢測(cè)中來(lái).
雖然傳統(tǒng)方法能夠?qū)崿F(xiàn)目標(biāo)檢測(cè),但在構(gòu)建實(shí)際應(yīng)用系統(tǒng)時(shí),僅依靠單一方法有時(shí)難以獲得理想的效果,往往需要多種方法結(jié)合,并將任務(wù)特點(diǎn)及先驗(yàn)知識(shí)有機(jī)融入算法,才能不斷提高系統(tǒng)性能.本文相比傳統(tǒng)的人體識(shí)別方法,加入了meanshift分割,并且加入了中間處理環(huán)節(jié)使得分割塊數(shù)更加的符合檢測(cè)目標(biāo)的特性,并且先驗(yàn)知識(shí)的約束很好的解決了人體目標(biāo)被分割比較零碎的情況,同時(shí)先分割后識(shí)別的策略使得人體檢測(cè)時(shí)間和準(zhǔn)確率以及完整度都得到了較大的優(yōu)化.為將研究重點(diǎn)聚焦在方法融合上面,在統(tǒng)計(jì)學(xué)習(xí)方法的選擇上本文仍選取簡(jiǎn)單易行的SVM[8-10]方法,訓(xùn)練樣本集直接選用實(shí)驗(yàn)室環(huán)境拍攝的小樣本集(SVM恰在小樣本分類上具有優(yōu)勢(shì)),最終通過(guò)方法融合以及先驗(yàn)約束的加入,使得本文算法在小樣本集的情況下仍獲得了很好的檢測(cè)結(jié)果.
2005年Dalal提出了HOG-SVM算法[11-13],該算法利用HOG提取人體特征,利用SVM分類.圖像的邊緣對(duì)應(yīng)于圖像的邊界,HOG特征不僅能完整的提取圖像的邊界減少處理的信息量而且很好地保留了物體的輪廓信息.SVM可以對(duì)輸入數(shù)據(jù)進(jìn)行分類建立分類模型.兩者結(jié)合用于人體檢測(cè),實(shí)驗(yàn)結(jié)果表明HOG-SVM在行人檢測(cè)方面具有快速高效準(zhǔn)確的特點(diǎn),能夠?qū)?chǎng)景中的人體進(jìn)行識(shí)別標(biāo)示.
梯度直方圖(Histogram of oriented Gradients,HOG)是目前計(jì)算機(jī)視覺(jué)及模式識(shí)別里常見的描述圖像局部紋理特征的算法,它通過(guò)計(jì)算圖像某一局部區(qū)域的梯度信息,得到該區(qū)域的直方圖,該直方圖即為該區(qū)域的特征描述.將圖片分為多個(gè)小區(qū)域,獲取每一個(gè)小區(qū)域的梯度直方圖,串聯(lián)后即可得到整幅圖片的特征描述.由Vapnik等人在1995年提出的支持向量機(jī)(Support Vector Machine,SVM),由于其較強(qiáng)的泛化能力及學(xué)習(xí)能力,所以常常被應(yīng)用于各識(shí)別分類場(chǎng)景中.
2.1.1 HOG特征計(jì)算步驟
采用梯度方向直方圖提取圖像特征,HOG算法是將圖像均勻的分成相鄰的小塊,采用有重疊和無(wú)重疊兩種方式對(duì)所有小塊進(jìn)行塊內(nèi)直方圖統(tǒng)計(jì),常見的HOG結(jié)構(gòu)大致有三種:矩形HOG、圓形HOG和中心環(huán)繞HOG,本文采用有重疊的矩形HOG以及最簡(jiǎn)單的[-1,0,1]算子提取特征.
特征提取具體流程如下
步驟1.將圖片統(tǒng)一尺寸為64×128,其中以8×8的像素為一個(gè)Cell,以2×2的Cell為一個(gè)Block.采用矩形HOG重疊遍歷Cell網(wǎng)格,即每個(gè)塊之間都有重疊的Cell.
步驟2.對(duì)8×8大小的彩色圖片按比例實(shí)現(xiàn)顏色空間歸一化并對(duì)每個(gè)Cell的像素點(diǎn)i進(jìn)行伽馬校正,目的是減小光照對(duì)不同圖片的影響.
按比例顏色空間歸一化
Gray=0.3R+0.59G+0.11B
(1)
R,G,B分別代表圖像中的3通道,Gray為像素點(diǎn)三通道按比例歸一化后的灰度值.
伽馬校正
Y(x,y)=I(x,y)γ
(2)
其中,取γ=0.5對(duì)應(yīng)伽馬校正中的系數(shù),I(x,y)代表(x,y)點(diǎn)像素值大小,Y(x,y)為像素點(diǎn)(x,y)Gamma校正后的值.
步驟3.計(jì)算每個(gè)8×8大小的cell經(jīng)過(guò)顏色空間歸一化及γ校正后每一個(gè)像素的梯度的大小和方向.
用[-1,0,1]梯度算子對(duì)原圖像做卷積,得到水平方向梯度Gx(x,y),然后用[-1,0,1]T梯度算子對(duì)原圖像做卷積,得到豎直方向梯度為Gy(x,y)
Gx(x,y)=I(x+1,y)-I(x-1,y)
(3)
Gy(x,y)=I(x,y+1)-I(x,y-1)
(4)
其中,I(x,y)對(duì)應(yīng)代表各點(diǎn)像素值大小.
該像素點(diǎn)(x,y)梯度大小G(x,y)和梯度方向θ(x,y)分別為
(5)
(6)
步驟4.最后以梯度方向?yàn)橐罁?jù)以梯度大小為權(quán)重獲取9bin的直方圖統(tǒng)計(jì);而后對(duì)一個(gè)Block內(nèi)的像素點(diǎn)的直方圖進(jìn)行歸一化處理,將所有的Block的直方圖串聯(lián)在一起組合成一個(gè)大的HOG特征向量.本文因采用8×8的Cell及2×2的Block,所以統(tǒng)一尺寸后的64×128的圖片包含的維數(shù)為3780.
2.1.2 HOG-SVM模型建立
HOG-SVM模型的建立過(guò)程是:利用HOG 檢測(cè)算法提取并保存圖片像素梯度歸一化后的信息,訓(xùn)練選取正負(fù)樣本,圖片來(lái)源為實(shí)驗(yàn)室雙目相機(jī)在實(shí)驗(yàn)室環(huán)境拍攝所得.統(tǒng)一圖片尺寸為64×128,每個(gè)圖片可以得到105個(gè)Block,每個(gè)Block包含36維向量,歸一化之后每幅圖片可以得到3780維HOG特征和一維非(1)即(-1)的標(biāo)志位共3781維.將正負(fù)樣本的HOG特征輸入到SVM中,選擇合適的參數(shù)獲取效果較好的正負(fù)支持向量機(jī),使用得到的支持向量機(jī)去預(yù)測(cè)接下來(lái)的待檢測(cè)的圖像,框畫出人體的位置.
1957年,Fukunaga等人首先提出了MeanShift理論[14],1995年經(jīng)過(guò)Cheng進(jìn)一步改進(jìn),直到2002年MeanShift成功的應(yīng)用于圖像處理和計(jì)算機(jī)視覺(jué)領(lǐng)域,其中就包括MeanShift算法與Ncut相結(jié)合的圖像分割方法.
假設(shè)有任意n個(gè)樣本點(diǎn)xi,(i=1,2,…,n),定義某一像素點(diǎn)x的概率密度的核函數(shù)估計(jì)為
(7)
其中,K(x)為核函數(shù),h為帶寬參數(shù).
則MeanShift向量的數(shù)學(xué)表達(dá)式為
(8)
其中,g(x)=-k′(x),k(x)是K(x)的輪廓函數(shù).
對(duì)于彩色圖像每個(gè)像素點(diǎn)至少包含顏色和位置信息,因此利用顏色和特有的位置信息將彩色圖像中的每一個(gè)像素點(diǎn)都可表示成一個(gè)五維信息向量,在表達(dá)式x=(x,y,r,g,b)中xs=(x,y)表示像素點(diǎn)的位置坐標(biāo)信息,xr=(r,g,b)表示的是像素點(diǎn)的rgb顏色特征向量.
則核函數(shù)的表達(dá)式為
(9)
式中,C為歸一化常量,hs為空間域帶寬,hr表示色度域帶寬.
MeanShift分割需要依次對(duì)圖片進(jìn)行平滑、聚類.
步驟2.圖像聚類.圖片經(jīng)過(guò)平滑后,將位于圖像邊框內(nèi)并尚未標(biāo)記區(qū)域的點(diǎn)進(jìn)行聚類,將滿足空間距離小于hs且顏色差值小于hr的點(diǎn)劃分為一類.
如圖1所示為訓(xùn)練過(guò)程.算法首先通過(guò)特征提取建立分類器模型,而后利用模型進(jìn)行人體檢測(cè).具體流程如下:提取正負(fù)樣本的HOG特征,將特征數(shù)據(jù)輸入到SVM中進(jìn)行訓(xùn)練,得到一個(gè)二分類器,分類器建立之后,保存模型,進(jìn)行下一步的人體識(shí)別.
圖1 訓(xùn)練流程圖Fig.1 Training flow chart
具體預(yù)測(cè)過(guò)程為:首先對(duì)待檢測(cè)圖片進(jìn)行MeanShift分割,目的是選取人體疑似區(qū)域,疑似區(qū)域經(jīng)HOG特征提取和SVM1粗分類判斷,目的是初步篩除部分非人體區(qū)塊并確保人體區(qū)塊沒(méi)有完全被漏檢,針對(duì)人體被分為多個(gè)零散部分進(jìn)行基于先驗(yàn)知識(shí)的二次聚類,而后對(duì)聚類后的區(qū)域進(jìn)行基于SVM2的精判斷,目的是去除干擾.最后以外接矩形表示該區(qū)域?yàn)槿梭w.
給定圖像后,首先采用第3節(jié)描述方法將圖像分割成小塊,然后對(duì)圖像進(jìn)行模糊聚類,得到有限數(shù)量的圖塊,模糊聚類方法如下:
步驟1.對(duì)圖像分割及區(qū)域標(biāo)號(hào)后,任取圖像區(qū)域中的一點(diǎn),尋找其四鄰域區(qū)域中標(biāo)號(hào)不同的另外一點(diǎn).
步驟2.求取當(dāng)前點(diǎn)所在區(qū)域和鄰域點(diǎn)所在區(qū)域rgb差值的平方為N,當(dāng)前點(diǎn)所在區(qū)域面積為M.并設(shè)定合適的面積閾值及顏色差值閾值.
步驟3.假使當(dāng)前點(diǎn)所在區(qū)域面積M小于設(shè)定的面積閾值900并且rgb的差值平方N也小于設(shè)定的顏色差值閾值49,則將該點(diǎn)所在區(qū)域與其鄰域點(diǎn)所在區(qū)域合二為一,相對(duì)應(yīng)的區(qū)域總數(shù)減少一.
圖像原始分割時(shí)包含人體的小塊區(qū)域較多,算法通過(guò)模糊聚類來(lái)減小分塊數(shù)量,從圖2圖像分割及聚類結(jié)果圖可以看到經(jīng)分割和模糊聚類后,可以將人體所在區(qū)域分割出來(lái),且人體和背景區(qū)域能夠很好地區(qū)分,雖然有些人體區(qū)域被分成多個(gè)子塊,但后續(xù)的二次聚類及粗-精識(shí)別策略能夠有效解決該問(wèn)題.
圖2 圖像分割及聚類結(jié)果Fig.2 Image segmentation and clustering results
對(duì)預(yù)測(cè)圖片采用粗-精結(jié)合的方法進(jìn)行人體識(shí)別(方法示意見圖1),首先利用MeanShift分割對(duì)待檢測(cè)圖片做先期的預(yù)處理,提取出疑似人體區(qū)域后再獲取該區(qū)域的HOG特征,最后將該區(qū)域的特征數(shù)據(jù)輸入到不同的SVM中.當(dāng)以SVM1為訓(xùn)練模型時(shí)閾值較為寬松,確保人體區(qū)域不存在漏識(shí)別,此過(guò)程稱為粗識(shí)別;以SVM2為訓(xùn)練模型時(shí)采用較嚴(yán)格的閾值,對(duì)粗識(shí)別的區(qū)域二次聚類后,提取特征輸入閾值較大的SVM2模型中,解決粗識(shí)別造成的誤識(shí)別過(guò)多的問(wèn)題,只留下僅包含人體的區(qū)域,此過(guò)程稱為精識(shí)別.模型訓(xùn)練具體過(guò)程如下:
1)利用MeanShift算法分割訓(xùn)練圖片,人為選取分割區(qū)域中的人體部位(如頭部,腿部,上肢)作為正樣本訓(xùn)練得到預(yù)測(cè)模型SVM1,當(dāng)利用模型SVM1進(jìn)行預(yù)測(cè)時(shí),對(duì)應(yīng)的分類閾值取較寬松的即較小的值.稱利用SVM1進(jìn)行預(yù)測(cè)的過(guò)程為粗識(shí)別.
2)利用剪裁的純?nèi)梭w區(qū)域(只包含完整的人體,無(wú)其他干擾)作為正樣本訓(xùn)練得到預(yù)測(cè)模型SVM2,當(dāng)利用SVM2預(yù)測(cè)二次聚類后的區(qū)域時(shí),對(duì)應(yīng)的分類閾值取較嚴(yán)格的即較大的值.稱利用SVM2進(jìn)行預(yù)測(cè)的過(guò)程為精識(shí)別.
SVM閾值的大小影響人體檢出率的高低.預(yù)測(cè)100張圖片,其中50張為人體,50張為物體.
則粗-精識(shí)別實(shí)驗(yàn)數(shù)據(jù)見表1.
表1 粗-精識(shí)別實(shí)驗(yàn)數(shù)據(jù)
Table 1 Rough-precision identification experiment data
識(shí)別過(guò)程正樣本檢出率%負(fù)樣本檢出率%粗識(shí)別過(guò)程10036精識(shí)別過(guò)程945
注:檢出率=正負(fù)樣本檢出個(gè)數(shù)/各自樣本總數(shù)。
由于粗識(shí)別后的人體仍然是分散的,所以粗識(shí)別后要對(duì)人體進(jìn)行基于人體先驗(yàn)知識(shí)的二次聚類.主要參考的人體縱向上的先驗(yàn)知識(shí)是,人體的腿部框的寬度一定會(huì)小于人體的肩寬,人體的頭部框的寬度也一定會(huì)小于人體的肩寬.人體橫向上參考的的先驗(yàn)知識(shí)是當(dāng)人體的胳膊有一定延展動(dòng)作時(shí),胳膊存在被Meanshift單獨(dú)分割成為獨(dú)立部分的可能,所以考慮胳膊所在的框畫區(qū)域一定與人體存在連結(jié)性,滿足連接點(diǎn)的橫坐標(biāo)必定大于身體邊界區(qū)域的橫坐標(biāo).基于人體各部分縱向與橫向上的位置關(guān)系的知識(shí)的方法稱為人體先驗(yàn)知識(shí).
1)橫縱向二次聚類原理示意圖(圖3).
圖3 橫縱向二次聚類示意圖Fig.3 Horizontal and vertical quadratic clustering
圖3中{(XHlt,yHlt),(XHlr,yHlr),(XHrb,yHrb)}分別表示人體頭部外接矩形的左上、左右、右下坐標(biāo).
{(XBlt,yBlt),(XBlr,yBlr),(XBrb,yBrb)}分別表示身體外接矩形的左上、左右、右下坐標(biāo).
{(XGlt,yGlt),(XGlr,yGlr)}分別表示腿部外接矩形的左上、左右坐標(biāo).
{(XDlt,yDlt),(XDlr,yDlr),(XDrb,yDrb)}分別表示被分割出去的手部外界矩形的左上、左右和右下坐標(biāo).以圖像的左上角為參考原點(diǎn)則:
if {XHlt> XBlt&& XHlr< XBlr&& yHrb if { XGlt> XBlt&& XGlr if { XDlr>XBlt&& XDlr 圖4 人體二次聚類圖Fig.4 Human quadratic clustering 圖4(a)所示是實(shí)驗(yàn)室實(shí)際圖片聚類效果演示,圖4(b)粗識(shí)別后的預(yù)測(cè)結(jié)果,與粗識(shí)別前圖2(b)相比較部分誤識(shí)別的區(qū)域有所減少,圖4(c)是對(duì)粗識(shí)別后的人體基于人體先驗(yàn)知識(shí)二次聚類. 從圖示可以很明顯的看到原本零散的人體區(qū)域,被完整地聚類到了一起.由以上兩幅圖可以說(shuō)明,粗識(shí)別后如果不基于先驗(yàn)知識(shí)聚類,人體各部分零散分布,人體識(shí)別比較零碎,不能稱之為識(shí)別完成.基于人體先驗(yàn)知識(shí)二次聚類后可以看到完整的人體,人體可以非常明顯的被框示出來(lái),總體結(jié)果很明顯優(yōu)于未聚類前. 粗識(shí)別之后人體各個(gè)部位零散的被框示出來(lái),經(jīng)過(guò)二次聚類人體雖能夠被完整框示出來(lái).但仍然存在部分誤識(shí)別.為了有效消除誤識(shí)別,本文提出精識(shí)別的思路,即利用閾值調(diào)高之后所得模型SVM2,其判決條件相比粗識(shí)別模型SVM1更加嚴(yán)格,所以它可以有效地消減誤識(shí)別(如圖5所示). 圖5 精識(shí)別后Fig.5 After careful identification 本節(jié)開展基于HOG-SVM的靜態(tài)人體識(shí)別的綜合實(shí)驗(yàn),算法在Visual C++ 6.0環(huán)境下編寫,計(jì)算機(jī)配置為Intel(R)Core(TM)i3-2350 CPU @ 2.30GHz 2.30 GHz,Windows 7,4GB內(nèi)存,實(shí)驗(yàn)中選用的圖片大小均為512*384.各組圖中精識(shí)別的結(jié)果圖中粗線條框是使用傳統(tǒng)的HOG和SVM實(shí)現(xiàn)的,人體檢測(cè)細(xì)線條框是使用本文方法實(shí)現(xiàn)的人體檢測(cè). 圖6是采用雙目攝像機(jī)拍攝的某一實(shí)驗(yàn)室多人圖片.設(shè)置MeanShift算法的參數(shù)(hs,hr,T)=(6,16,0.15),設(shè)置糊聚類的終止條件為區(qū)域大小不低于900,顏色閾值不低于49,粗識(shí)別給定的SVM1的γ值為1,閾值為-0.5,精識(shí)別給定的SVM2的γ值為4,閾值為-0.01.實(shí)驗(yàn)室多人實(shí)驗(yàn)效果圖如圖6所示. 圖6 多人的實(shí)驗(yàn)圖Fig.6 Multi-person experimental chart 由實(shí)驗(yàn)效果圖可以看到,粗線條畫框標(biāo)識(shí)的是傳統(tǒng)方法實(shí)現(xiàn)的人體識(shí)別結(jié)果,實(shí)驗(yàn)效果出現(xiàn)了目標(biāo)框畫不完整的現(xiàn)象,部分圖片出現(xiàn)漏識(shí)別現(xiàn)象.試驗(yàn)中可驗(yàn)證本文方法相對(duì)傳統(tǒng)的HOG與SVM方法,在識(shí)別人體的完整性和準(zhǔn)確率以及時(shí)間消耗上都有明顯的優(yōu)勢(shì).取100張實(shí)驗(yàn)圖片對(duì)比試驗(yàn)數(shù)據(jù)見表2. 檢出率=檢測(cè)到的人體/總的人體總數(shù) 有圖表分析可得,在檢出率上,由于本文首先采用Mean-shift分割算法找出疑似人體區(qū)域,而后采用HOG和SVM進(jìn)行人體識(shí)別,通過(guò)模糊聚類以及“粗-精”兩級(jí)識(shí)別的架構(gòu),提高了目標(biāo)檢出率,后期結(jié)合先驗(yàn)知識(shí)將過(guò)分割的人體目標(biāo)二次合并,進(jìn)一步解決了傳統(tǒng)方法對(duì)人體目標(biāo)定位不準(zhǔn)確(無(wú)法框住完整人體)及漏識(shí)別的問(wèn)題.在時(shí)間上,摒棄傳統(tǒng)方法對(duì)圖像采用多尺度金字塔縮放識(shí)別方法,大大減少了掃描圖像的數(shù)量,單張圖片處理時(shí)間縮短一半左右. 表2 HOG-SVM與Meanshft-HOG-SVM實(shí)驗(yàn)數(shù)據(jù) 識(shí)別過(guò)程HOG-SVMMeanshft-HOG-SVM單張時(shí)間(ms)41252302檢出率(%)7894 本文以機(jī)器人視覺(jué)中的人體識(shí)別問(wèn)題為背景,研究了基于HOG-SVM的人體識(shí)別的算法,并以MeanShift分割為基礎(chǔ),將圖像分割與統(tǒng)計(jì)學(xué)習(xí)結(jié)合,提出了基于粗-精兩級(jí)支持向量機(jī)的人體檢測(cè)方法.識(shí)別過(guò)程中首先通過(guò)分割及模糊聚類獲取初步圖像塊集合,并結(jié)合人體先驗(yàn)知識(shí)對(duì)預(yù)分割的圖像塊進(jìn)行二次合并,快速篩選疑似人體區(qū)域,使算法不僅能夠有效提取圖片中疑似人體區(qū)域,還能成功的融合分割過(guò)程中被零散分割的人體.兩級(jí)支持向量機(jī)檢測(cè)的方法能夠保證盡量減少人體漏檢的同時(shí),降低誤識(shí)別率.算法中分割合并以及兩級(jí)檢測(cè)的思想也可與其它統(tǒng)計(jì)學(xué)習(xí)方法結(jié)合,并可用于其它目標(biāo)檢測(cè)領(lǐng)域.4.4 基于精識(shí)別的干擾去除
5 綜合實(shí)驗(yàn)與對(duì)比分析
Table 2 HOG-SVM and Meanshft-HOG-SVM experimental data6 結(jié)束語(yǔ)