丁 哲 陸文總 閆芬婷
(西安工業(yè)大學(xué)電子信息工程學(xué)院 陜西 西安 710021)
隨著計(jì)算機(jī)視覺技術(shù)的蓬勃發(fā)展,目標(biāo)檢測(cè)已然成為當(dāng)前的研究熱點(diǎn),人們對(duì)目標(biāo)檢測(cè)技術(shù)也提出了更高的需求。雖然該領(lǐng)域已研究了數(shù)十年,但仍然存在行人目標(biāo)背景復(fù)雜、形態(tài)不一、目標(biāo)相互遮擋和檢測(cè)精度有待提高等問題。因此,研發(fā)一種準(zhǔn)確率高且魯棒性強(qiáng)的行人檢測(cè)算法具有重要意義。
2005年Dalal等[1]將HOG特征圖像局部變化與HOG-LBP特征相結(jié)合,并采用SVM分類器配合對(duì)目標(biāo)進(jìn)行檢測(cè)。近年來基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法層出不窮,2014年Girshick等[2]提出了基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)R-CNN,但計(jì)算候選框的耗時(shí)較大,實(shí)時(shí)性難以滿足。2015年Redmon等[3]提出了YOLO算法,采用一個(gè)單獨(dú)的卷積神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)端到端的目標(biāo)檢測(cè),檢測(cè)速度有所提升,但對(duì)小目標(biāo)檢測(cè)效果不好。2016年Liu等[4]提出了SSD(Single Shot MultiBox Detector)算法,其結(jié)合了Faster R-CNN算法[5]和SSD算法的優(yōu)勢(shì),在檢測(cè)精度和實(shí)時(shí)性方面均有一定的突破。
本文采用SSD算法作為基礎(chǔ)檢測(cè)框架,為了彌補(bǔ)卷積神經(jīng)網(wǎng)絡(luò)中難以學(xué)習(xí)到圖像統(tǒng)計(jì)特征、邊緣約束弱等不足,針對(duì)卷積神經(jīng)網(wǎng)絡(luò)深層輸出特征對(duì)目標(biāo)分類不準(zhǔn)確現(xiàn)象,提出一種將卷積神經(jīng)網(wǎng)絡(luò)淺層提取的特征與深度特征[6]融合的SSD檢測(cè)方法,建立融合多特征的網(wǎng)絡(luò)模型,有效地提高了行人檢測(cè)的準(zhǔn)確率。
多特征信息融合[7]的目標(biāo)檢測(cè)模型主要由基礎(chǔ)網(wǎng)絡(luò)部分、特征提取層部分、原始包圍框生成部分和卷積預(yù)測(cè)部分組成。融入多特征的檢測(cè)模型是在VGG16[8]網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上只增加了兩層3×3×256的卷積層以滿足目標(biāo)尺度變化,而且較原SSD模型提升了實(shí)時(shí)性。本文在神經(jīng)網(wǎng)絡(luò)第二個(gè)卷積層后提取圖像的方向梯度直方圖(HOG)、RGB顏色加權(quán)直方圖和LBP紋理[9]加權(quán)直方圖三種手工特征;同時(shí)在多個(gè)特征圖上利用Softmax分類與位置回歸,得到一系列固定大小的邊界框和目標(biāo)類別[10]的得分;最后根據(jù)非極大值抑制得到檢測(cè)識(shí)別的結(jié)果。圖1為SSD算法特征融合框圖。
圖1 SSD算法特征融合框圖
融合多特征的SSD算法為每個(gè)單元設(shè)置長(zhǎng)寬比和尺度不同的先驗(yàn)框,然后以這些先驗(yàn)框?yàn)榛鶞?zhǔn)預(yù)測(cè)邊界框位置,降低模型訓(xùn)練的難度。在訓(xùn)練過程中,圖像中的目標(biāo)會(huì)根據(jù)先驗(yàn)框匹配原則在設(shè)置的多個(gè)先驗(yàn)框中挑選出最適合它們的先驗(yàn)框進(jìn)行訓(xùn)練。先驗(yàn)框的設(shè)置主要為長(zhǎng)寬比和大小兩個(gè)方面,先驗(yàn)框的尺度呈線性遞增,特征圖的先驗(yàn)框和大小尺度也呈線性關(guān)系。
(1)
式中:n為特征圖的個(gè)數(shù);sh為先驗(yàn)框大小相對(duì)圖片的比例;smax為比例的最大值;smin為比例最小值。對(duì)于特定的長(zhǎng)寬比,先驗(yàn)框?qū)嶋H的寬和高為:
(2)
式中:ar為常數(shù)。
本文多特征信息融合的目標(biāo)檢測(cè)方法總的損失函數(shù)定義為定位損失(loc)和置信損失(conf)的加權(quán)和,即:
(3)
(4)
(5)
式中:smoothL1(·)函數(shù)從兩個(gè)方面限制梯度,當(dāng)預(yù)測(cè)框與ground truth差別過大時(shí),梯度不至于過大,當(dāng)預(yù)測(cè)框與ground truth差別很小時(shí),梯度值足夠??;(gcx,gcy,gw,gh)表示預(yù)測(cè)包圍框;(dcx,dcy,dw,dh)表示錯(cuò)誤包圍框;(lcx,lcy,lw,lh)表示預(yù)測(cè)的包圍框相對(duì)于錯(cuò)誤包圍框的偏移量。
對(duì)目標(biāo)檢測(cè)過程中,大量的候選框會(huì)在同一目標(biāo)的位置產(chǎn)生,但候選框之間有大量重疊,從最大概率候選矩形框開始,分別判斷候選框與目標(biāo)真實(shí)包圍框的交并比是否大于某一固定閾值,選擇概率最大的目標(biāo)邊界框,將其他概率低的邊界框消除掉。不斷重復(fù),找到所有被保留下來的包圍框。檢測(cè)窗口的重疊率p(δ1,δ2)可表示為:
(6)
式中:δ1和δ2為兩個(gè)檢測(cè)窗口;將閾值φ設(shè)定為0.7,將重疊率低于0.7的窗口消除,從而提高檢測(cè)速度。
卷積神經(jīng)網(wǎng)絡(luò)中,基礎(chǔ)網(wǎng)絡(luò)用來提取輸入圖像的淺層特征和深層特征。其中,淺層特征直接用于目標(biāo)檢測(cè)與包圍邊框回歸??紤]到卷積神經(jīng)網(wǎng)絡(luò)在迭代過程中易出現(xiàn)梯度流失現(xiàn)象,損失網(wǎng)絡(luò)提取到的有效特征信息會(huì)影響目標(biāo)檢測(cè)的準(zhǔn)確性。本文利用SSD卷積神經(jīng)網(wǎng)絡(luò)將提取深層特征和淺層特征信息在網(wǎng)絡(luò)中的Flatten層將其轉(zhuǎn)化成一維向量進(jìn)行融合,在淺層卷積加入RGB顏色特征、方向梯度直方圖(HOG)和局部二值模式(LBP)三種人工特征,圖2為多特征信息融合框架。
圖2 多特征信息融合框架
該多特征信息融合框架以VGG16為基礎(chǔ)網(wǎng)絡(luò)模型,是神經(jīng)網(wǎng)絡(luò)由淺到深不斷迭代的過程,整個(gè)框架共17層,在第二個(gè)卷積層之后提取圖像目標(biāo)的三種人工特征,最后在網(wǎng)絡(luò)的Flatten層融合人工特征和深度特征并對(duì)其分類、回歸。
通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來提取圖像的方向梯度直方圖(HOG)特征。HOG對(duì)圖像局部進(jìn)行方格單元操作,因此對(duì)圖像的幾何形變具有良好的不變性,并且在較強(qiáng)的局部光學(xué)歸一化、精細(xì)的方向抽樣與粗的空域抽樣條件下,只需要行人保持直立的姿勢(shì),行人微小的肢體動(dòng)作不會(huì)影響檢測(cè)效果,能夠很好地對(duì)運(yùn)動(dòng)行人目標(biāo)進(jìn)行描述。行人目標(biāo)提取HOG特征如圖3所示。
圖3 HOG特征圖
顏色特征是目標(biāo)最直觀的特征,提取該特征的速度快,而且有很好的區(qū)分度。RGB顏色直方圖是用來描述不同色彩在整幅圖像中所占的比例,本文考慮到模板內(nèi)顏色的分布情況,因此設(shè)目標(biāo)區(qū)域有n個(gè)像素,其中心像素坐標(biāo)為u0,像素集為{x1,x2,…,xn},目標(biāo)模板在R分量的特征是{λ=0,1,…,L-1},G分量與B分量的特征均為{λ=0,1,…,(L-4)/4},然后對(duì)每個(gè)bin內(nèi)像素點(diǎn)統(tǒng)計(jì),得到該區(qū)間像素點(diǎn)占整幅圖像像素的比例。在統(tǒng)計(jì)圖像過程中,離跟蹤框中心越近的點(diǎn)對(duì)識(shí)別跟蹤的貢獻(xiàn)越大。圖4為行人目標(biāo)所對(duì)應(yīng)的RGB顏色直方圖。
(7)
式中:K(·)表示每個(gè)像素權(quán)重大小的核函數(shù),使得目標(biāo)中心區(qū)域范圍的權(quán)重較大;b(ui)表示像素點(diǎn)ui處的特征值;d為檢測(cè)窗口的帶寬。
圖4 RGB顏色特征直方圖
當(dāng)目標(biāo)基本特征區(qū)分度較低的情況下,采用LBP紋理特征對(duì)目標(biāo)進(jìn)行區(qū)分,LBP紋理特征是描述圖像局部特征的方法,可以反映目標(biāo)表面的固有特征。本文為適應(yīng)不同尺度的紋理特征,實(shí)現(xiàn)灰度和旋轉(zhuǎn)的不變性,利用圓形領(lǐng)域代替方形領(lǐng)域。改進(jìn)的LBP算子在半徑為R的圓形領(lǐng)域內(nèi)可以有任意多個(gè)像素點(diǎn),改進(jìn)前后對(duì)比如圖5所示,圖6為行人目標(biāo)LBP紋理加權(quán)直方圖。
圖5 LBP算子改進(jìn)前后對(duì)比圖
圖6 LBP紋理加權(quán)直方圖
改進(jìn)后的SSD模型的融合特征層由淺層人工特征與深層網(wǎng)絡(luò)特征組成,淺層特征通過下采樣以減小維度,深層特征通過上采樣增加維度。上采樣方法為直接填充,即用原特征圖上某點(diǎn)的值填充上采樣后該點(diǎn)對(duì)應(yīng)區(qū)域的所有值。將提取的所有在Flatten層的特征值轉(zhuǎn)化為一維向量并融合,然后訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型。特征融合方式如圖7所示。
圖7 特征融合方式
本文實(shí)驗(yàn)環(huán)境如下:操作系統(tǒng)為Ubuntu 16.04,CPU環(huán)境為:2× Intel Xeon Gold 6128 CPU@3.40 GHz,內(nèi)存32 GB,1T 7200 SATA3.5+512 GB SSD,GPU環(huán)境為:2× NVIDIA Quadro P2000 5 GB顯卡。本文選用VOC2007數(shù)據(jù)集進(jìn)行模型測(cè)試,數(shù)據(jù)集中共包含20個(gè)種類,其中訓(xùn)練集有5 011幅,測(cè)試集有4 952幅。本文算法模型搭建環(huán)境為TensorFlow 1.12.0+Keras 2.2.2+Python 3.4.0,VOC函數(shù)利用準(zhǔn)確率(P)、召回率(R)和平均精度(mAP)評(píng)估識(shí)別效果。本文以校園采集視頻序列作為測(cè)試數(shù)據(jù),對(duì)模型進(jìn)行評(píng)估測(cè)試。為了驗(yàn)證融合多特征目標(biāo)檢測(cè)算法的性能,本文又在VOC2007數(shù)據(jù)集對(duì)模型進(jìn)行測(cè)試。表1為幾種常見的目標(biāo)檢測(cè)算法在VOC2007數(shù)據(jù)集上的性能對(duì)比結(jié)果。準(zhǔn)確率及召回率計(jì)算公式如下:
(8)
(9)
式中:NR為當(dāng)前幀真正目標(biāo)的像素集合;ND為通過檢測(cè)算法檢測(cè)到的目標(biāo)的像素集合;NC為檢測(cè)到的目標(biāo)和真實(shí)目標(biāo)的交集部分的像素集合。
表1 算法檢測(cè)性能對(duì)比表
可以看出,僅融合多特征的SSD目標(biāo)檢測(cè)算法的平均精度比其他幾種算法都略高一些,幀頻為27幀/s-1。選取VGG16為基礎(chǔ)網(wǎng)絡(luò)模型,并在網(wǎng)絡(luò)中加入手工特征后,對(duì)目標(biāo)的分類能力比原始SSD模型有所提升,而且穩(wěn)定性也較好。僅采用非極大值抑制算法(NMS)能夠有效消除多余的重疊邊框。本文將閾值設(shè)置為0.7,可以看出,使用NMS的SSD目標(biāo)檢測(cè)、識(shí)別算法的均值平均精度mAP比原始SSD算法提升1.3%。本文算法在融合多特征的SSD算法基礎(chǔ)上加入非極大值抑制(NMS),mAP比原始SSD算法提升4.3%。
為定量對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,本文采用中心位置誤差和覆蓋率2個(gè)指標(biāo)評(píng)價(jià)本文算法的定位性。中心位置誤差是指圖像定位候選框的中心位置與原圖像目標(biāo)的真實(shí)位置之間的歐式距離。覆蓋率是指目標(biāo)定位框與目標(biāo)真實(shí)位置的重疊部分所占的比重。對(duì)VOC2007數(shù)據(jù)集中的9 963幅圖像進(jìn)行實(shí)驗(yàn),本文算法與其他幾種算法的中心位置誤差和覆蓋率對(duì)比如表2所示。
表2 中心位置誤差和覆蓋率
通過本文算法與其他幾種算法的對(duì)比可以得出,本文算法的目標(biāo)檢測(cè)定位精度明顯優(yōu)于原SSD算法。
對(duì)融合多特征的SSD算法與原始SSD算法進(jìn)行實(shí)驗(yàn)對(duì)比,對(duì)校園內(nèi)采集的一組圖像序列進(jìn)行實(shí)驗(yàn),改進(jìn)前后實(shí)驗(yàn)結(jié)果對(duì)比圖如圖8所示。
(a) 原始SSD算法 (b) 融合多特征的SSD算法圖8 改進(jìn)前后SSD算法檢測(cè)結(jié)果對(duì)比
可以看出,融合前的算法對(duì)不完整的行人目標(biāo)、目標(biāo)大面積遮擋和較小目標(biāo)無法準(zhǔn)確檢測(cè),而通過多特征融合后的SSD算法能識(shí)別出大面積遮擋的目標(biāo)和不完整的目標(biāo)。與原始SSD等方法相比,改進(jìn)后的SSD方法在VOC2007公開數(shù)據(jù)集上具有更低的平均誤檢率,平均準(zhǔn)確率較傳統(tǒng)SSD算法提升4%左右,其融合了行人淺層和深層特征,提高了目標(biāo)預(yù)測(cè)的穩(wěn)定性和魯棒性,采用非極大值抑制算法,能夠有效提升檢測(cè)速度,而且對(duì)小目標(biāo)和大面積遮擋目標(biāo)有更好的檢測(cè)效果。
基于SSD檢測(cè)網(wǎng)絡(luò)框架,在卷積神經(jīng)網(wǎng)絡(luò)的淺層提取目標(biāo)的手工特征,并且與卷積網(wǎng)絡(luò)中深度特征進(jìn)行融合,通過非極大值抑制(NMS)算法消除重疊得分較低的窗口。不僅可以降低計(jì)算成本,提高檢測(cè)速度,而且提高了檢測(cè)準(zhǔn)確率。通過多特征信息融合后的SSD網(wǎng)絡(luò)模型在VOC2007公開數(shù)據(jù)集上進(jìn)行驗(yàn)證,結(jié)果表明,本文方法較原SSD檢測(cè)方法在小目標(biāo)檢測(cè)的準(zhǔn)確率和穩(wěn)定性方面有明顯優(yōu)勢(shì)。