王春哲,安軍社,姜秀杰,邢笑雪,崔天舒
(1. 中國(guó)科學(xué)院國(guó)家空間科學(xué)中心 復(fù)雜航天系統(tǒng)電子信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100190;2. 中國(guó)科學(xué)院大學(xué),北京 100049;3. 長(zhǎng)春大學(xué),吉林 長(zhǎng)春 130022)
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)研究領(lǐng)域的一個(gè)基本問(wèn)題,在機(jī)器人導(dǎo)航,目標(biāo)的視覺(jué)跟蹤,視頻智能監(jiān)控等方面有著廣泛的應(yīng)用[1-3]。目標(biāo)檢測(cè)的最終目的為確定圖像中是否含有目標(biāo)及目標(biāo)所在圖像位置。
在過(guò)去幾十年中,解決該問(wèn)題的主要方法是采用滑動(dòng)窗口范式,該類(lèi)方法計(jì)算量大,僅在單尺度目標(biāo)檢測(cè)中,每張圖像需處理104~105個(gè)候選窗口。在現(xiàn)代目標(biāo)檢測(cè)框架中,還需要預(yù)測(cè)目標(biāo)的寬高比,這將使得每張圖像處理106~107個(gè)窗口[1]。因此,基于滑動(dòng)窗口范式的檢測(cè)需要耗費(fèi)巨大的計(jì)算資源。
最近,學(xué)者們提出替代滑動(dòng)窗口范式的檢測(cè)框架:基于候選區(qū)域(Region Proposals,RP)的目標(biāo)檢測(cè)[1]?;诤蜻x區(qū)域的目標(biāo)檢測(cè),是在待檢測(cè)的圖像中生成可能出現(xiàn)目標(biāo)的候選區(qū)域,并對(duì)候選區(qū)域進(jìn)行目標(biāo)的識(shí)別與定位。該類(lèi)方法極大降低了需處理的候選窗口數(shù),從而提高了目標(biāo)檢測(cè)效率。
當(dāng)前生成候選區(qū)域的主要策略有:分組提案(Grouping Proposals,GP)策略及窗口評(píng)分(Window Scoring Proposals,WSP)策略[1]。
GP策略試圖生成可能包含目標(biāo)的分割段,并通過(guò)超像素(Super Pixels,SP)、顏色等線(xiàn)索合并包含目標(biāo)的分割段,以達(dá)到獲取候選區(qū)域的目的。GP策略的主要方法有:選擇性搜索算法(Selective Search,SS)[4]以及CPMC[5]算法。這類(lèi)方法能夠生成較高質(zhì)量的候選區(qū)域,缺點(diǎn)在于算法復(fù)雜度較高。
WSP策略是對(duì)可能出現(xiàn)目標(biāo)的滑動(dòng)窗口評(píng)分,并根據(jù)得分篩選滑動(dòng)窗口。與GP策略相比,該方法速度較快。該類(lèi)方法主要有Objectness[6],BING[7]以及Edge Boxes[8]。Edge Boxes通過(guò)生成邊緣特征圖及統(tǒng)計(jì)滑動(dòng)窗口中邊緣段的數(shù)量,篩選候選區(qū)域。該方法對(duì)于較小的目標(biāo)或較平滑的目標(biāo),由于產(chǎn)生的邊緣信息不多,使得滑動(dòng)窗口得分過(guò)低,甚至低于設(shè)置的閾值,造成目標(biāo)的漏檢。
顯著性是目標(biāo)區(qū)別于目標(biāo)背景的一種度量方法[8]。所謂目標(biāo)的顯著性,是統(tǒng)計(jì)待檢測(cè)圖像中目標(biāo)區(qū)別與背景的一些特征,諸如目標(biāo)的顏色,紋理及形狀等信息[9]。為使得Edge Boxes算法更加高效,本文將顯著性檢測(cè)融入到Edge Boxes算法中,提出了一種基于顏色距離與Edge Boxes候選區(qū)域算法。該方法首先在待檢測(cè)的圖像上無(wú)重疊采樣若干圖像塊,并根據(jù)顏色直方圖計(jì)算每個(gè)圖像塊的顯著性得分;然后通過(guò)滑動(dòng)窗口內(nèi)包含該圖像塊的個(gè)數(shù)統(tǒng)計(jì)滑動(dòng)窗口內(nèi)的平均顯著性得分;最后,根據(jù)滑動(dòng)窗口內(nèi)的平均顯著性得分及滑動(dòng)窗口內(nèi)的邊緣信息,計(jì)算該滑動(dòng)窗口的最終得分,并利用該得分篩選滑動(dòng)窗口。
本文所述候選區(qū)域算法主要包括3部分:(1)滑動(dòng)窗口內(nèi)邊緣段得分;(2) 滑動(dòng)窗口內(nèi)目標(biāo)顯著性得分;(3) 篩選滑動(dòng)窗口。圖1為本文所述算法得實(shí)現(xiàn)框圖。
如圖1所示,邊緣段得分包括邊緣點(diǎn)聚合、邊緣段相似性及邊緣段的權(quán)值計(jì)算3個(gè)部分。
2.1.1 邊緣點(diǎn)聚合及邊緣段相似度
對(duì)于邊緣段sk的邊緣點(diǎn)集合P,邊緣段sk中的任意邊緣點(diǎn)p(p∈P),用邊緣強(qiáng)度mp,邊緣方向θp,邊緣點(diǎn)位置(xp,yp)表示,則邊緣段sk的位置(xsk,ysk)定義為:
(1)
邊緣段sk的方向角θsk定義為:
(2)
因此邊緣段sk可用三維向量來(lái)唯一表示,(xsk,ysk,θsk)[8-9]。給定一個(gè)邊緣段集合T,在集合T任意取兩個(gè)邊緣段ti、tj,計(jì)算兩邊緣段之間的相似度:
圖1 基于顏色距離與Edge Boxes候選區(qū)域算法框圖Fig.1 Block diagram of region proposals algorithm based on color distance and Edge Boxes
a(ti,tj)=|cos(θi-θij)cos(θj-θij)|γ,
(3)
式中:θi、θj分別為邊緣段ti、tj的方向角;θij為邊緣段ti與tj的重心連線(xiàn)間的方向角;γ用于調(diào)整邊緣段方向角變化對(duì)相似度的影響程度,鑒于Edge Boxes中γ的取值,本文取γ=2[8-9]。
2.1.2 滑動(dòng)窗口內(nèi)邊緣段的權(quán)值
給定任意一邊緣段sk,及滑動(dòng)窗口b,為表示邊緣段sk被滑動(dòng)窗口b的包圍程度,將邊緣段sk賦予權(quán)重wb(sk)∈[0,1]。若sk被滑動(dòng)窗口b完全包圍,則wb(sk)=1;若sk在滑動(dòng)口b外部,則wb(sk)=0[8-9]。
(4)
根據(jù)邊緣段的權(quán)值,統(tǒng)計(jì)每個(gè)滑動(dòng)窗口內(nèi)邊緣段的數(shù)量,作為滑動(dòng)窗口的邊緣段得分:
(5)
式(5)中:mi表示第i個(gè)邊緣段si的邊緣強(qiáng)度;bh與bw表示滑動(dòng)窗口的高度和長(zhǎng)度;k是一常數(shù),借鑒Edge Boxes 中k的取值,本文取k=1.5[9]。
圖2 C-S圖像塊的顏色距離Fig.2 Color distanceof C-S image patch
目標(biāo)的顯著性是指目標(biāo)與周?chē)尘爸g的差異度,其目的在于研究人眼的視覺(jué)關(guān)注情況[10-15]。在文獻(xiàn)[10]中,作者通過(guò)使用目標(biāo)及目標(biāo)周邊的顏色,紋理等信息區(qū)分目標(biāo)與背景。文獻(xiàn)[10]中指出,對(duì)于任意完全包含目標(biāo)的矩形框bc及對(duì)應(yīng)的輪廓矩形框bs(bc?bs),不包含目標(biāo)的矩形框br及對(duì)應(yīng)輪廓矩形框bm(br?bm),則顏色距離關(guān)系有ds{bc,bs}>ds{br,bm},如圖2所示。將矩形框bc,br稱(chēng)為Center圖像塊,輪廓矩形框bs、br稱(chēng)為Surround圖像塊。為方便起見(jiàn),分別記作C圖像塊,S圖像塊。為此,本文將目標(biāo)顯著性引入到Edge Boxes算法中。
2.2.1C-S圖像塊
對(duì)于上述的彩色圖像X,其圖像尺寸為M×N×3,3為圖像的通道數(shù)。首先,將圖像分割成互不重疊的,尺寸為d×d的圖像塊,因此一張圖像將會(huì)產(chǎn)生Nm=(M/d)×(N/d)個(gè)圖像塊。為便于闡述,將每個(gè)圖像塊稱(chēng)C圖像塊,記作Cxi(i=1,L,Nm)。由于彩色圖像有R、G、B 3個(gè)通道,因此每通道記作Cxi(R)、Cxi(G)、Cxi(B)。
為計(jì)算顯著性得分,需將每個(gè)圖像塊Cxi向四周延拓像素,形成S圖像塊,記Sxi(i=1,L,Nm)。其選取S圖像塊策略:對(duì)于尺寸為d×d的Cxi,向上下左右分別延拓2×d個(gè)像素;對(duì)位于X邊界上的Cxi,則僅向含有像素的方向延拓2×d個(gè)像素。
2.2.2 C圖像塊的卡方距離
選好圖像塊Cxi與圖像塊Sxi后,分別計(jì)算Cxi的3通道直方圖,記為HCR、HCG、HCB;圖像塊Sxi中三通道的顏色直方圖分別記為HSR、HSG、HSB。為衡量Cxi與Sxi兩圖像塊的顏色差異性,使用顏色直方圖的卡方距離來(lái)表示,則有:
R通道的顏色直方圖的卡方距離:
(6)
G通道顏色直方圖的卡方距離:
(7)
B通道顏色直方圖的卡方距離:
(8)
其中,n為一常數(shù),n=256,將3通道顏色直方圖的卡方距離進(jìn)行加權(quán)平均,作為兩圖像塊Cxi與Sxi最終顏色的卡方距離:
χ2(HC,HS)=λ×χ2(HCR,SCR)+μ×χ2(HCG,SCG)+(1-λ-μ)χ2(HCB,SCB),
(9)
式(9)中,0<λ<1,0<μ<1為調(diào)節(jié)各顏色通道卡方距離重要性參數(shù)。對(duì)于給定的滑動(dòng)窗口b,統(tǒng)計(jì)滑動(dòng)窗口b中Cxi的平均的卡方距離,作為最終滑動(dòng)窗口b的顯著性得分:
(10)
對(duì)于給定的滑動(dòng)窗口b,將計(jì)算的顯著性得分賦予合適權(quán)重融合到邊緣段得分,則滑動(dòng)窗口b的最終得分為:
(11)
α為一參數(shù),用于調(diào)整hb及sal(b)兩者之間的相互重要程度。精調(diào)得分高的滑動(dòng)窗口,并執(zhí)行非極大值抑制(Non-Maximum Suppression,NMS),最終獲得選取的候選區(qū)域。
為衡量本文算法的有效性,本文在PASCAL VOC 2007數(shù)據(jù)庫(kù)上進(jìn)行實(shí)驗(yàn),PASCAL VOC 2007數(shù)據(jù)集有:訓(xùn)練集,驗(yàn)證集及測(cè)試集共20類(lèi)目標(biāo)的圖像數(shù)據(jù)。數(shù)據(jù)集中共有9 963張圖像,包含24 640標(biāo)注的目標(biāo)。PASCAL VOC 2007的基本情況如表1所示。
表1 PASCAL VOC 2007數(shù)據(jù)庫(kù)特性Tab.1 Properties of PASCAL VOC 2007 database
本文使用兩個(gè)評(píng)價(jià)指標(biāo)來(lái)衡量所提算法的有效性,分別為召回率和達(dá)到某召回率下所需候選框的最小數(shù)目,用符號(hào)MinN表示。其中,召回率是衡量算法預(yù)測(cè)性能的重要指標(biāo),公式如下:
(12)
式(12)中,num(g)表示g的數(shù)目;TP為檢測(cè)的正確目標(biāo),F(xiàn)N為檢測(cè)的虛假目標(biāo)。確定TP的標(biāo)準(zhǔn)是通過(guò)候選區(qū)域與所標(biāo)注區(qū)域的交并比(Intersection Over Union,IOU)實(shí)現(xiàn)。假定候選區(qū)域?yàn)閜rbx,標(biāo)注區(qū)域?yàn)間rbx,確定prbx是TP的準(zhǔn)則如下:
(13)
式(13)中,符號(hào)∩、∪表示取交集與并集,thr表示所設(shè)置的閾值。召回率越高,表明所提算法越好。確定候選框最小數(shù)目MinN,可以有效反映所提算法的預(yù)測(cè)性能,其值越小越好。MinN確定規(guī)則如下:
(1)預(yù)先設(shè)置候選區(qū)域數(shù)目為nums={100,200,500,1 000,2 000,5 000,10 000},同時(shí),計(jì)算相應(yīng)候選區(qū)域數(shù)目下的召回率Ri,i=1,2,…,7。
(2) 對(duì)集合nums中數(shù)據(jù)求對(duì)數(shù),記為ms=log(nums)。
(4)計(jì)算召回率達(dá)到Rt所需要的候選區(qū)域數(shù)目:
(14)
研究參數(shù)λ、μ及α與召回率之間的關(guān)系。選取λ和μ的取值范圍為0.1~0.5,步長(zhǎng)為0.1,共5個(gè)值;α的取值為0.025,0.05,0.075,0.1共4個(gè)值。其參數(shù)(λ,α)、(λ,μ)、(μ,α)與召回率之間的關(guān)系分別如圖3、圖4及圖5所示。圖3~5中紅點(diǎn)表示召回率取最大值對(duì)應(yīng)的參數(shù)點(diǎn)。從3幅圖中可發(fā)現(xiàn),當(dāng)λ=0.5,μ=0.4,α=0.075時(shí),召回率為最大值。
首先分析參數(shù)λ、μ、α與召回率之間的關(guān)系。由于參數(shù)λ、μ及α之間相互聯(lián)系,因此,將會(huì)有3種組合形式,分別為:(λ,μ)、(λ,α)及(μ,α)。固定圖像尺寸d,接下來(lái)分析窗口尺寸d與召回率之間的關(guān)系。固定參數(shù)λ、μ、α的最優(yōu)值,分別為λ=0.5,μ=0.4,α=0.075,并選取d的取值范圍為4~32,步長(zhǎng)為4,共8個(gè)值,各窗口尺寸d與召回率之間的關(guān)系如圖6所示。從圖6中可明顯發(fā)現(xiàn),當(dāng)d=8時(shí),取得最大值點(diǎn)。
圖3 參數(shù)λ、α與召回率的關(guān)系。Fig.3 Relation of the parameterλ,αand recall.
圖4 參數(shù)λ、μ與召回率的關(guān)系。Fig.4 Relation of the parameterλ,μand recall.
圖5 參數(shù)μ、α與召回率的關(guān)系。Fig.5 Relation of the parameterμ,αand recall.
圖6 參數(shù)d與召回率的關(guān)系。Fig.6 Relation of the parameterdand recall.
因此,本文最終選取參數(shù)值為λ=0.5,μ=0.4,α=0.075,d=8。
為說(shuō)明本文方法的有效性,將本文方法與SS[4]、CPMC[5]、Objectness[6]、BING[7]、Edge Boxes[8]、Rand.Prim’s[16]、Rand.Prim’s-MTSE[17]、Rantalankila[18],MCG[19]共9種算法進(jìn)行比較。其中:SS通過(guò)使用貪婪搜索策略合并圖像中的超像素來(lái)生成候選區(qū)域[1,4];CPMC從構(gòu)建前景、后景的種子點(diǎn),能量方程并優(yōu)化其參數(shù)的角度生成候選區(qū)域[5];Objectness首先根據(jù)目標(biāo)顯著性生成初始化候選窗口,并通過(guò)邊緣,顏色等信息篩選分?jǐn)?shù)較高的候選區(qū)域[6];BING通過(guò)在邊緣特征上訓(xùn)練線(xiàn)性分類(lèi)器及使用滑動(dòng)窗口范式獲取候選區(qū)域;Rand.Prim’s算法則引入了一種隨機(jī)超像素合并(Randomized Super Pixels Merging,RSPM) 機(jī)制來(lái)達(dá)到獲取候選區(qū)域的目的[16];Rand.Prim’s-MTSE是對(duì)Rand.Prim’s的改進(jìn)算法;Rantalankila則從全局與局部搜索合并超像素的角度,提取圖像中的候選區(qū)域[17];MCG算法使用快速多尺度分層分割產(chǎn)生分割段、并基于邊緣強(qiáng)度合并分割段,生成候選區(qū)域。
為衡量本文算法的有效性,本文在PASCAL VOC 2007驗(yàn)證集上進(jìn)行實(shí)驗(yàn)。首先選取交并比IOU的取值范圍0.5~1,步長(zhǎng)為0.05,共11個(gè)值,計(jì)算各算法在不同交并比IOU下獲得的召回率,實(shí)驗(yàn)結(jié)果如圖7~10所示。圖7~10分別為候選區(qū)域數(shù)目為100,1 000,5 000,10 000時(shí),各算法在不同交并比IOU下的召回率。
為更細(xì)致觀(guān)察所提算法召回率的提升,在召回率曲線(xiàn)圖中進(jìn)行局部放大,如圖7~10所示。從圖7~10中可發(fā)現(xiàn),當(dāng)交并比IOU為0.75時(shí),本文所提算法的召回率相比于Edge Boxes分別提高了0.08%,0.43%,0.46%和0.46%。這表明當(dāng)IOU為0.75時(shí),在不同候選區(qū)域數(shù)目的情況下,本文所提算法均在一定程度上提高了召回率。
圖7 候選區(qū)域數(shù)為100時(shí)的10種算法的召回率Fig.7 Recall rate of 10 algorithms in 100 region proposals
圖8 候選區(qū)域數(shù)為1 000時(shí)的10種算法的召回率Fig.8 Recall rate of 10 algorithms in 1 000 region proposals
圖9 候選區(qū)域數(shù)為5 000時(shí)的10種算法的召回率Fig.9 Recall rate of 10 algorithms in 5 000 region proposals
圖10 候選區(qū)域數(shù)為10 000時(shí)的10種算法的召回率Fig.10 Recall rate of 10 algorithms in 10 000 region proposals
為進(jìn)一步說(shuō)明所提算法的有效性,本文測(cè)試了當(dāng)交并比IOU為0.7,召回率分別達(dá)到@45%,@60%,@75%時(shí),10種算法所需候選區(qū)域的最小數(shù)目MinN,如表2所示。表2中“--”表示無(wú)窮大;符號(hào)@表示達(dá)到的召回率;最小數(shù)目用加粗字體標(biāo)識(shí)。由表2知,當(dāng)召回率達(dá)到@60%時(shí),相比于Edge Boxes,所提算法的MinN降低了10個(gè);當(dāng)召回率達(dá)到@75%,所提算法的MinN降低了31個(gè)。這表明本文算法能夠有效降低達(dá)到所需候選區(qū)域的數(shù)目,這將提高后續(xù)目標(biāo)檢測(cè)算法的效率。
表2 達(dá)到某召回率10種算法所需候選區(qū)域的最小數(shù)目Tab.2 Minimum number of proposals needed to achieve specified recall for 10 algorithms
為衡量所提算法在不同交并比IOU下的魯棒性,本文從實(shí)際中常用IOU的角度,選取IOU為0.5,0.6,0.7,候選區(qū)域分別為1 000,2 000時(shí)的各算法的召回率,實(shí)驗(yàn)結(jié)果如表3和表4所示。
從表3可知,當(dāng)IOU為0.5,0.6,0.7時(shí),與Edge Boxes算法相比,所提算法的召回率分別提高了0.32%,0.18%,0.39%;而平均結(jié)果顯示,召回率提高了0.29%。
從表4可知,當(dāng)IOU為0.5,0.6,0.7時(shí),所提算法較Edge Boxes算法的召回率分別提高了0.46%,0.35%,0.57%;平均結(jié)果顯示,召回率提高了0.46%。因此由表3~4可知,所提算法在一定程度上改善了召回率。
表3 候選區(qū)域數(shù)為1 000時(shí)的10種算法召回率對(duì)比Tab.3 The recall rate of 10 algorithms in 1 000 region proposals
為說(shuō)明本文所提算法的運(yùn)算效率,本文在Intel(R)Core(TM)i7-7700 K CPU@4.20 GHz,RAM內(nèi)存為32 G的計(jì)算機(jī)上進(jìn)行測(cè)試,以一張圖像(333×500)進(jìn)行實(shí)驗(yàn),各算法運(yùn)行時(shí)間如表5所示。除Edge Boxes與本文算法外,其他算法時(shí)間參考了文獻(xiàn)[9]。從表5可看出,CPMC算法運(yùn)行時(shí)間最長(zhǎng);相對(duì)于Edge Boxes,所提算法處理每張圖像增加大約0.18 s,但提高了算法的召回率。盡管所提算法增加了運(yùn)算時(shí)間,但得益于當(dāng)前計(jì)算機(jī)強(qiáng)大的處理能力,所提算法的綜合效益得到了提升。
本文列出了所提算法的目標(biāo)檢測(cè)結(jié)果,如圖11所示。其中,綠色實(shí)線(xiàn)代表真實(shí)的標(biāo)注框;藍(lán)色虛線(xiàn)便是所提算法的預(yù)測(cè)候選區(qū)域;紅色實(shí)現(xiàn)代表漏檢目標(biāo);左上角的數(shù)字,代表預(yù)測(cè)目標(biāo)的所得分?jǐn)?shù)。
從圖中發(fā)現(xiàn),針對(duì)較小的目標(biāo)出現(xiàn)漏檢情況。這是因?yàn)樾∧繕?biāo)邊緣信息少,低于閾值,如何提高較小目標(biāo)的檢測(cè)準(zhǔn)確性是接下來(lái)繼續(xù)研究的內(nèi)容。
表4 候選區(qū)域數(shù)為2 000時(shí)的10種算法召回率對(duì)比Tab.4 Recall rate of 10 algorithms in 2 000 region proposals
表5 10種算法運(yùn)行時(shí)間對(duì)比Tab.5 Comparison of computation time of 10 algorithms s/image
圖11 所提算法的目標(biāo)檢測(cè)結(jié)果Fig.11 Object detection results of proposed algorithm
本文根據(jù)Edge Boxes算法生成候選區(qū)域的原理,將目標(biāo)顯著性引入到Edge Boxes框架中,提出了一種基于顏色距離與Edge Boxes候選區(qū)域算法。首先根據(jù)結(jié)構(gòu)化邊緣檢測(cè)算子,邊緣點(diǎn)聚合及邊緣段相似性統(tǒng)計(jì)滑動(dòng)窗口內(nèi)的邊緣段得分;然后在待檢測(cè)圖像上無(wú)重疊采樣若干個(gè)圖像塊,以此形成C-S圖像塊。根據(jù)顏色直方圖計(jì)算C-S圖像塊顏色的卡方距離,作為該C圖像塊的顯著性得分;最后,統(tǒng)計(jì)滑動(dòng)窗口內(nèi)邊緣段得分及顯著性得分,作為該滑動(dòng)窗口的最終得分,并根據(jù)該得分篩選候選區(qū)域。在PASCAL VOC 2007上驗(yàn)證集上實(shí)驗(yàn),IOU取0.5,0.6,0.7。與Edge Boxes相比,當(dāng)候選區(qū)域取1 000時(shí),本文算法的召回率分別提高了0.32%,0.18%,0.39%;當(dāng)候選區(qū)域取2 000時(shí),本文算法召回率分別提高了0.46%,0.35%,0.57%。