熊凱龍 范方亮 汪保玉 吳建華



摘 ?要: 在機(jī)器視覺領(lǐng)域中,目標(biāo)檢測是一個至關(guān)重要的研究問題,提出一種新的目標(biāo)檢測算法。該算法在MB?LBP特征級聯(lián)分類器的基礎(chǔ)上再串聯(lián)兩個分類器,分別為基于SIFT特征分類器和基于SURF特征分類器。首先,當(dāng)測試圖像通過MB?LBP特征級聯(lián)分類器時,所有的目標(biāo)都沒漏檢,但是有部分非目標(biāo)被誤檢為目標(biāo),接著依次通過基于SIFT特征分類器和基于SURF特征分類器,檢測結(jié)果只剩下目標(biāo)和極少數(shù)非目標(biāo)。實驗結(jié)果表明,由MB?LBP特征級聯(lián)分類器、基于SIFT特征分類器和基于SURF特征分類器構(gòu)成的新級聯(lián)分類器可以有效提高查準(zhǔn)率。
關(guān)鍵詞: 目標(biāo)檢測; 級聯(lián)分類器; MB?LBP; SIFT; SURF; 查準(zhǔn)率
中圖分類號: TN911.1?34; TP75 ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)01?0048?05
An object detection system based on a new cascade classifier
XIONG Kailong1, FAN Fangliang2, WANG Baoyu1, WU Jianhua1
Abstract: In the field of machine vision, object detection is a crucial issue in the research. A new algorithm of object detection is proposed in this paper. On the basis of MB?LBP feature cascade classifier, the algorithm is connected in series with other two classifiers (the classifier based on SIFT feature and the classifier based on SURF feature). When the images under test are sent through the MB?LBP feature cascade classifier, all of the objects are detected, which means there is no missing detection, however, some non?objects are mistakenly detected as the objects. Then they are sent through the classifier based on SIFT feature and the classifier based on SURF feature in sequence, and the result is that only the objects and a very few non?objects are accepted. Experimental results show that the new cascade classifier constructed by MB?LBP feature cascade classifier, the classifier based on SIFT feature and classifier based on SURF feature can effectively improve the precision ratio.
Keywords: object detection; cascade classifier; MB?LBP; SIFT; SURF; precision ratio
0 ?引 ?言
目標(biāo)視覺檢測是機(jī)器視覺領(lǐng)域一個至關(guān)重要的問題,在自動駕駛、人機(jī)交互、人臉檢測、車牌識別、視頻監(jiān)控等方面具有重要研究意義和應(yīng)用價值[1]。
文獻(xiàn)[2]最先將Haar?like特征級聯(lián)分類器用于人臉檢測,取得了良好的效果。但是Haar?like特征集太大,包含許多冗余信息,并且其過于簡單,需要大量的矩形特征才能實現(xiàn)較好的性能[3]。文獻(xiàn)[3]根據(jù)文獻(xiàn)[2]的思想將MB?LBP特征替換為Haar?like特征應(yīng)用于人臉檢測,相對Haar?like特征而言,MB?LBP特征可以獲取更多的圖像結(jié)構(gòu)信息,展現(xiàn)更好的性能。然而將MB?LBP特征級聯(lián)分類器用在點膠機(jī)的工件目標(biāo)檢測中,仍有部分的非目標(biāo)被誤檢為目標(biāo)。因此,本文提出一種新的級聯(lián)分類器的目標(biāo)檢測算法,該算法是在MB?LBP特征級聯(lián)分類器的基礎(chǔ)上依次串聯(lián)了基于SIFT特征和基于SURF特征的分類器。
本文提出的算法由三個分類器組成,分別為:MB?LBP特征級聯(lián)分類器、基于SIFT特征分類器和基于SURF特征分類器。MB?LBP特征級聯(lián)分類器是由多個通過Adaboost算法訓(xùn)練得到的分類器串聯(lián)而成的。本文將所有樣本的SIFT特征與正樣本的平均SIFT特征作內(nèi)積得到一個相似度直方圖,然后用OTSU算法對直方圖求最佳閾值,進(jìn)而得到基于SIFT特征分類器,通過相同的方法同時得到基于SURF特征分類器。當(dāng)測試圖像經(jīng)過第一個分類器時,可以去掉一部分的非目標(biāo)圖像,剩下的是目標(biāo)和一部分非目標(biāo)圖像;經(jīng)過第二個分類器時,又去掉一部分非目標(biāo)圖像;當(dāng)經(jīng)過最后一個分類器時,剩下的僅有目標(biāo)和極少數(shù)非目標(biāo)。實驗結(jié)果表明,本文提出的目標(biāo)檢測算法與MB?LBP級聯(lián)分類器相比,查準(zhǔn)率明顯提高。
1 ?基礎(chǔ)工作
1.1 ?MB?LBP特征
文獻(xiàn)[4]提出多塊局部二值模式(Multi?block Local Binary Pattern, MB?LBP)特征,其為文獻(xiàn)[5]提出的局部二值模式(Local Binary Pattern,LBP)特征的一種變形。它的核心思想是用中心像素塊(像素塊大小為[n×n],其中,[n]為像素塊的邊長)的平均灰度值作為閾值,將周圍像素塊的平均灰度值與閾值比較,若大于等于閾值則記為1,否則記為0。將這些0,1依次排列可生成一個8位二進(jìn)制數(shù)來表示圖像紋理特征。當(dāng)[n]為1時,即得到原始的LBP特征。
以大小為3×3的像素塊為例,MB?LBP特征提取過程如圖1所示。圖1a)中的每個數(shù)字為對應(yīng)每個像素塊的平均灰度值。
MB?LBP可以表示為:
[MB?LBP=p=072pf(gp-gc)] (1)
式中:[gc],[gp]分別為中心塊和第[p]個鄰域塊的平均灰度值;[f(x)]為階躍函數(shù),定義如下:
[f(x)=1, ? ?x≥00, ? ?x<0] (2)
1.2 ?SIFT特征
文獻(xiàn)[6]在計算機(jī)視覺國際會議上首次提出了SIFT特征描述子,在圖像處理、機(jī)器視覺、模式識別等領(lǐng)域產(chǎn)生了重大影響。文獻(xiàn)[7]將SIFT進(jìn)行了完善,使其在光照和3D視覺變化的條件下都有很好的穩(wěn)定性。
SIFT特征描述子的生成過程如下[6?8]:
1) 構(gòu)建圖像尺度空間:將原圖像和一個尺度變化的高斯函數(shù)進(jìn)行卷積,從而構(gòu)建一個圖像尺度空間:
[L(x,y,σ)=G(x,y,σ)*I(x,y)] (3)
式中:[I(x,y)]為原圖像;[G(x,y,σ)]為高斯函數(shù);[σ]為尺度。
2) 構(gòu)造差分圖像尺度空間:
[D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)] (4)
在差分圖像尺度空間中搜索局部極值點作為特征點,其屬性包括位置[(x,y)]和尺度[σ]。
3) 對于在尺度[σ]下檢測到的特征點,根據(jù)特征點的尺度值得到最近似這一尺度的高斯圖像為:
[L(x,y)=G(x,y,σ)*I(x,y)] ? ?(5)
4) 計算該尺度下以特征點為中心、[3×1.5σ]為半徑的區(qū)域內(nèi)的圖像梯度的幅值和相位:
[m(x,y)=]
[[L(x+1,y)-L(x-1,y)]2+[L(x,y+1)-L(x,y-1)]2] ?(6)
[θ(x,y)=arctanL(x,y+1)-L(x,y-1)L(x+1,y)-L(x-1,y)] ?(7)
5) 統(tǒng)計鄰域內(nèi)像素的梯度幅值和方向,構(gòu)成梯度方向直方圖,梯度相位值作為橫坐標(biāo),梯度相位值對應(yīng)的梯度幅值累加值作為縱坐標(biāo)。梯度方向直方圖將梯度相位值(0°~360°)分成了36個柱,每個柱為10°。
6) 選取主方向:特征點的主方向為直方圖峰值對應(yīng)的梯度方向。
7) 將坐標(biāo)軸旋轉(zhuǎn)至特征點的主方向,重新選取以特征點為中心的鄰域,鄰域的大小為8×8,將其劃分為4個4×4的子窗口。在每個子窗口內(nèi)計算8個方向的梯度方向直方圖,即形成一個種子點。每個種子點包含8個方向向量信息,即其維度為8維,如圖2所示。為了增強(qiáng)匹配穩(wěn)定性,Lowe建議每個關(guān)鍵點由4×4=16個種子點構(gòu)成,則最終形成的SIFT特征向量的維度為4×4×8=128維。
8) 對得到的128維SIFT特征向量進(jìn)行L2范數(shù)歸一化處理,從而去除光照變化影響,增強(qiáng)魯棒性。
1.3 ?SURF特征
文獻(xiàn)[9]結(jié)合Lowe的思路提出加速的魯棒特征(Speed Up Robust Features,SURF)。SURF特征生成過程是在積分圖像上操作,利用Hessian矩陣快速地構(gòu)建尺度空間。
SURF特征描述子生成過程如下[8?9]:
1) 構(gòu)建Hessian矩陣,對于圖像[I(x,y)],在尺度[σ]下的Hessian矩陣為:
[H(x,y,σ)=Lxx(x,y,σ)Lxy(x,y,σ)Lxy(x,y,σ)Lyy(x,y,σ)] (8)
式中:[Lxx(x,y,σ)]為圖像[I(x,y)]與[G(x,y,σ)]卷積對像素點[(x,y)]的二階導(dǎo)數(shù);[Lxy(x,y,σ)],[Lyy(x,y,σ)]的含義與其類似。
2) 通過Hessian矩陣的判別式,判別特征點。將Hessian矩陣的行列式作為其判別式,式(7)中高斯二階導(dǎo)數(shù)可用盒濾波器近似,近似值分別用[Dxx],[Dxy]和[Dyy]表示,則Hessian判別式為:
[det(Happrox)=DxxDyy-(0.9Dxy)2] (9)
3) 構(gòu)建尺度空間:使用不同尺寸的方框濾波器對原圖像濾波,以9×9濾波器的輸出作為初始尺度,其尺度用[s]表示,且[s=]1.2(對應(yīng)[σ=]1.2高斯二階微分濾波器)。
4) 特征點定位:使用不同尺寸的盒濾波模板和積分圖求取Hessian矩陣行列式的響應(yīng)圖像,然后在響應(yīng)圖像上利用3維非極大值抑制提取特征點。
5) 特征點方向分配:選取一個圓形區(qū)域,其中心為特征點、半徑為[6s]([s]為特征點的尺度),對圓形區(qū)域內(nèi)每個像素計算邊長為[4s]的哈爾小波響應(yīng)值。計算角度為60°的扇形滑動窗內(nèi)像素的哈爾小波響應(yīng)值d[x]和d[y],并進(jìn)行累加,從而得到一個矢量[(mω,θω)],[ω]表示滑動窗口,如圖3a)所示,即:
[mω=ωdx+ωdy] (10)
[θω=arctanωdxωdy] (11)
圓內(nèi)模值最大向量的方向作為特征點的主方向。
6) 特征描述符生成:選取一個邊長為[20s]([s]為特征點的尺度)的正方形區(qū)域,該正方形區(qū)域的中心為特征點,且該正方形的邊和特征點的主方向向量垂直。沿主方向?qū)⒄叫螀^(qū)域劃分為4×4個子塊。在每個子塊內(nèi)計算尺寸大小為2[s]的哈爾小波響應(yīng)值,然后對響應(yīng)值進(jìn)行統(tǒng)計([dx],[dx],[dy],[dy]),形成特征向量,如圖3b)所示。每個子塊得到一個4維的特征向量,一共有16個子塊,最終形成一個16×4=64維的SURF特征向量。
1.4 ?Adaboost算法
Adaboost算法由文獻(xiàn)[10?11]提出。該算法的核心思想是針對同一個訓(xùn)練集訓(xùn)練出多個不同弱分類器,再將得到的所有弱分類器進(jìn)行線性組合,從而得到一個強(qiáng)分類器。Adaboost算法實現(xiàn)步驟如下[10?12]:
1) 給定數(shù)據(jù)集:
[T={(x1,y1),(x2,y2),…,(xN,yN)}yi∈{-1,+1}, ?i=1,2,…,N] ?(12)
初始化訓(xùn)練數(shù)據(jù)的權(quán)重分布:
[D1=(ω1,1,ω1,2,…,ω1,N), ?ω1,i=1N;i=1,2,…,N] (13)
2) 總共迭代次數(shù)設(shè)為[M],當(dāng)?shù)赱m]次迭代時:
① 對初始化權(quán)重后的訓(xùn)練數(shù)據(jù)進(jìn)行學(xué)習(xí),獲得基本分類器:
[Gm(x):x→{-1,+1}] (14)
② 計算[Gm(x)]在訓(xùn)練數(shù)據(jù)上的分類誤差:
[em=i=1Nωm,i1(Gm(xi)≠yi)] ? ?(15)
其中,[1](false)=0,[1](true)=1。
③ 計算[Gm(x)]的加權(quán)系數(shù):
[αm=12log1-emem] (16)
④ 更新訓(xùn)練數(shù)據(jù)集的權(quán)重分布:
[Dm+1=(ωm+1,1,ωm+1,2,…,ωm+1,N)] ? (17)
[ωm+1,i=ωm,iZmexp(-αmyiGm(xi)), i=1,2,…,N ? ?] (18)
其中,[Zm]為規(guī)范因子:
[Zm=i=1Nωm,iexp(-αmyiGm(xi))] ?(19)
3) 構(gòu)建基本分類器的線性組合:
[f(x)=m=1MαmGm(x)] (20)
4) 得到最終的分類器:
[G(x)=sgn(f(x))=sgnm=1MαmGm(x)] (21)
式中sgn([x])為符號函數(shù)。
2 ?本文算法
2.1 ?本文算法框架
針對點膠機(jī)的工件目標(biāo)檢測問題,本文采用3個分類器串聯(lián)構(gòu)成一種新的級聯(lián)分類器的目標(biāo)檢測算法。第一級為MB?LBP級聯(lián)分類器;第二級為基于SIFT特征分類器;第三級為基于SURF特征分類器。目標(biāo)檢測算法框圖如圖4所示。
本文的MB?LBP特征級聯(lián)分類器由10個分類器串聯(lián)而成,其中每一個分類器都是通過Adaboost算法訓(xùn)練得到的,其檢測率為0.999,拒絕率為0.5,則MB?LBP特征級聯(lián)分類器最終的檢測率為0.99910≈99%,假陽性率0.510≈0.09%。基于SIFT特征和基于SURF特征的分類器檢測率都能達(dá)到0.999以上,并且有較高的拒絕率。MB?LBP級聯(lián)分類器與基于SIFT特征分類器和基于SURF特征分類器依次串聯(lián)之后,檢測率大致不變,假陽性率明顯減少。本文最終得到的新級聯(lián)分類器具有較高的檢測率和較低的假陽性率。3個分類器的訓(xùn)練過程見2.2節(jié)。
2.2 ?分類器訓(xùn)練
本文一共訓(xùn)練3個分類器,分別為MB?LBP特征級聯(lián)分類器、基于SIFT特征分類器和基于SURF特征分類器。
1) 借助OpenCV 3.3.0中的訓(xùn)練程序完成MB?LBP特征級聯(lián)分類器的訓(xùn)練。訓(xùn)練步驟如下:
① 準(zhǔn)備正樣本,截取只含有檢測目標(biāo)的圖像作為正樣本,并進(jìn)行灰度化和尺寸歸一化。
② 準(zhǔn)備負(fù)樣本,將不含檢測目標(biāo)的圖像作為負(fù)樣本。
③ 將正負(fù)樣本的圖像名稱做成TXT文件。
④ 借助opencv_createsample.exe程序生成樣本描述文件。
⑤ 借助opencv_traincascade.exe程序進(jìn)行訓(xùn)練得到MB?LBP特征級聯(lián)分類器。
2) 基于SIFT特征分類器的訓(xùn)練步驟如下:
① 提取所有正樣本的SIFT特征,計算平均SIFT特征。
② 提取所有正負(fù)樣本的SIFT特征,分別和步驟①中計算的平均SIFT特征作內(nèi)積,得到一組相似度的值。
③ 統(tǒng)計相同相似度值的樣本個數(shù),構(gòu)建其和相似度值的直方圖。
④ 使用OTSU算法求得直方圖的最佳閾值,得到一個分類器。
3) 基于SURF特征分類器的訓(xùn)練步驟如下:
① 提取所有正樣本的SURF特征,計算平均SURF特征。
② 提取所有正負(fù)樣本的SURF特征,分別和步驟①中計算的平均SURF特征作內(nèi)積,得到一個相似度值。
③ 統(tǒng)計相同相似度值的樣本個數(shù),構(gòu)建其和相似度值的直方圖。
④ 使用OTSU算法求得直方圖的最佳閾值,得到一個分類器。
3 ?實驗結(jié)果與分析
本文對貼片LED點膠工件進(jìn)行檢測實驗,對于其他種類工件,只需將其他種類的工件當(dāng)作樣本進(jìn)行訓(xùn)練。本次實驗運行硬件環(huán)境為Intel[?] CoreTM i7?4790 CPU @3.60 GHz,軟件環(huán)境為Windows 7系統(tǒng)下的Visual Studio 2017和OpenCV 3.3.0。
本文算法先對訓(xùn)練集進(jìn)行學(xué)習(xí),再使用一共含有目標(biāo)308個的多張圖像作為測試集來檢測系統(tǒng)的性能。將本文的目標(biāo)檢測系統(tǒng)與MB?LBP特征級聯(lián)分類器的檢測結(jié)果進(jìn)行對比,并分別計算查準(zhǔn)率(precision),如表1所示。查準(zhǔn)率[P]計算公式如下:
[P=TP(TP+FP)×100%] (22)
式中TP,F(xiàn)P分別代表檢測結(jié)果中為目標(biāo)和假目標(biāo)的個數(shù)。
表1中分類器1,2分別代表MB?LBP特征級聯(lián)分類器和本文提出的目標(biāo)檢測分類器。
從表1的數(shù)據(jù)可以看出,本文提出的目標(biāo)檢測算法相對MB?LBP級聯(lián)分類器,查準(zhǔn)率提高了9.7%。部分目標(biāo)檢測結(jié)果如圖5所示。圖5中任何一種顏色的矩形框標(biāo)記的是通過MB?LBP特征級聯(lián)分類器時檢測到的目標(biāo),綠色(虛線)矩形框標(biāo)記的是第二個分類器去除的非目標(biāo),黃色(點線)矩形框標(biāo)記的是第三個分類器去除的非目標(biāo),紅色(實線)矩形框標(biāo)記的是測試圖像依次通過三個分類器之后剩下的目標(biāo)。
跟蹤程序執(zhí)行過程可以得到:當(dāng)用MB?LBP級聯(lián)分類器檢測時,一共檢測到345個目標(biāo),接著通過基于SIFT特征分類器檢測到的目標(biāo)只剩下318個,減少了27個錯誤的目標(biāo),最后通過基于SURF特征分類器,檢測到的目標(biāo)剩下了311個,又減少了7個錯誤的目標(biāo)。因此本文提出的算法相較于MB?LBP特征級聯(lián)分類器而言,查準(zhǔn)率明顯提升。
4 ?結(jié) ?語
當(dāng)用MB?LBP特征級聯(lián)分類器進(jìn)行目標(biāo)檢測時,仍有較多的非目標(biāo)被錯誤地檢測為目標(biāo),因此本文提出一種新的級聯(lián)分類器的目標(biāo)檢測算法,即在MB?LBP特征級聯(lián)分類器的基礎(chǔ)上再串聯(lián)了基于SIFT特征和基于SURF特征的分類器。實驗結(jié)果表明,本文提出的目標(biāo)檢測算法可以彌補(bǔ)MB?LBP特征級聯(lián)分類器的不足,明顯提高了查準(zhǔn)率。本文的特征提取仍然屬于人工選定特征,Adaboost算法沒有自動學(xué)習(xí)能力,今后可以考慮用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行自動特征提取和學(xué)習(xí),使得目標(biāo)檢測算法更加泛化。
參考文獻(xiàn)
[1] 張慧,王坤峰,王飛躍.深度學(xué)習(xí)在目標(biāo)視覺檢測中的應(yīng)用進(jìn)展與展望[J].自動化學(xué)報,2017,43(8):1289?1305.
[2] VIOLA P, JONES M J. Robust real?time face detection [J]. International journal of computer vision, 2004, 57(2): 137?154.
[3] ZHANG L, CHU R, XIANG S, et al. Face detection based on Multi?Block LBP representation [C]// Advances in Biometrics, International Conference. Heidelberg, Berlin: Springer?Verlag, 2007: 11?18.
[4] LIAO S, ZHU X, LEI Z, et al. Learning multi?scale block local binary patterns for face recognition [C]// Advances in Biome?trics, International Conference. Heidelberg, Berlin: Springer?Verlag, 2007: 828?837.
[5] OJALA T, PIETIK?INEN M, HARWOOD D. A comparative study of texture measures with classification based on featured distributions [J]. Pattern recognition, 1996, 29(1): 51?59.
[6] LOWE D G. Object recognition from local scale?invariant feature [C]// Proceedings of the Seventh IEEE International Conference on Computer Vision. Kerkyra, Greece: IEEE, 1999: 1150?1157.
[7] LOWE D G. Distinctive image feature from scale?invariant keypoints [J]. International journal of computer vision. 2004, 60(2): 91?110.
[8] 楊化超.圖像局部不變性特征及其匹配問題研究與應(yīng)用[M].北京:測繪出版社,2013:27?58.
[9] BAY H, ESS A, TUYTELAARS T, et al. Speeded?up robust feature [J]. Computer vision & image understanding, 2008, 110(3): 346?359.
[10] FREUND Y, SCHAPIRE R E. A decision?theoretic generalization of on?line learning and an application to boosting [J]. Journal of computer and system sciences. 1997, 55(1): 119?139.
[11] FREUND Y, SCHAPIRE R E. Experiments with a new boos?ting algorithm [C]// Proceedings of the Thirteenth International Conference on Machine Learning. Bari, Italy: Morgan Kaufmann, 1996: 148?156.
[12] 周志華.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社,2015:173?178.
作者簡介:熊凱龍(1994—),男,碩士研究生,從事信號處理與機(jī)器視覺研究。
范方亮(1984—),男,碩士研究生,講師,從事隨機(jī)過程研究。
汪保玉(1994—),男,碩士研究生,從事信號處理與機(jī)器視覺研究。
吳建華(1956—),男,博士,教授,從事信號處理、模式識別研究。