陳幻杰,王琦琦+,楊國威,韓佳林,尹成娟,陳 雋,王以忠
1.天津科技大學(xué) 電子信息與自動化學(xué)院,天津 300222
2.麥克馬斯特大學(xué) 電子與計(jì)算機(jī)工程系,加拿大 漢密爾頓 L8E、L8W
隨著計(jì)算機(jī)視覺的快速發(fā)展,目標(biāo)檢測技術(shù)受到了越來越廣泛的關(guān)注[1-4]。深度學(xué)習(xí)[5]作為人工智能的新興領(lǐng)域,在目標(biāo)檢測上相比于傳統(tǒng)方法[6-7]具有更高的魯棒性和準(zhǔn)確性。近年來,相繼出現(xiàn)了多種基于深度學(xué)習(xí)[8-10]的目標(biāo)檢測方法,如R-CNN(region-based convolutional neural network)[11]模型、Fast R-CNN[12]模型、Faster R-CNN[13]模型、SSD(single shot multibox detector)[14]模型等。其中,SSD模型是檢測精確度相對更高的網(wǎng)絡(luò),但是由于SSD模型用于檢測的低層特征層只有一層,特征細(xì)節(jié)信息較少,導(dǎo)致其對小占比目標(biāo)檢測效果較差。
很多學(xué)者在提升SSD模型小占比目標(biāo)檢測能力方面進(jìn)行了相應(yīng)的研究。Wen等[15]提出一種改進(jìn)SSD算法,即通過引入Atrous[16]濾波器、SeLU[17]激活函數(shù)以及新設(shè)計(jì)的數(shù)據(jù)增廣規(guī)則以提高小占比目標(biāo)檢測效果。Xing等[18]以SSD算法為基礎(chǔ),根據(jù)不同尺寸目標(biāo)分布規(guī)律以優(yōu)化特征層縮放因子,其在行人檢測目標(biāo)尺寸較小以及遮擋問題上有了一定的改善,并獲得了較低的漏檢率。Tang等[19]在SSD模型的基礎(chǔ)上提出了多視窗方法,即利用多個視窗多通路的SSD模型進(jìn)行同時(shí)檢測以提升準(zhǔn)確率,但該方法區(qū)域劃分方式不固定,目標(biāo)被拆分檢測,其對于目標(biāo)檢測的魯棒性和準(zhǔn)確性將產(chǎn)生一定的影響。Fu等[20]提出了DSSD(deconvolutional SSD)模型,其采用特征提取能力更強(qiáng)的網(wǎng)絡(luò)Residual-101,并結(jié)合反卷積模塊加入上下文信息提高小占比目標(biāo)檢測能力,其檢測精確度(mean average precision,mAP)相比SSD模型提升1.4%。但由于該模型網(wǎng)絡(luò)層數(shù)更深,其在TITAN X顯卡上檢測速度為每秒9幀圖像,而SSD模型檢測速度為每秒46幀圖像,DSSD模型檢測實(shí)時(shí)性較差。Jeong等[21]提出RSSD(rainbow SSD)模型,即通過改進(jìn)特征融合的方式,結(jié)合池化和反卷積操作更加充分地利用模型特征,使得檢測到更多的小占比目標(biāo),其在檢測精度mAP上相比于SSD模型提升1.3%,相比于DSSD模型基本持平。Li等[22]提出FSSD(feature fusion SSD)模型,通過特征融合和下采樣操作重構(gòu)模型多尺度特征,豐富特征細(xì)節(jié)信息,以提高在小目標(biāo)上的檢測效果,其檢測精確度mAP相比于RSSD模型提升了0.3%,相比DSSD模型提升0.2%,相比SSD模型提升1.6%。由于該模型為輕量級特征融合模塊,其檢測速度更接近SSD模型,其檢測性能超過了許多先進(jìn)的目標(biāo)檢測算法。本文方法檢測速度為每秒23幀圖像,相比于SSD模型雖有所下降,但是依然具有一定的實(shí)時(shí)性。
本文根據(jù)SSD模型不同特征層對不同大小目標(biāo)在檢測上的針對性,在主要用于檢測小占比目標(biāo)的低層特征層和中等占比目標(biāo)的高層特征層上分別進(jìn)行相應(yīng)的改進(jìn),并對改進(jìn)后的SSD網(wǎng)絡(luò)進(jìn)行了再訓(xùn)練。本文選取FSSD模型做對比實(shí)驗(yàn),通過比較mAP值驗(yàn)證本文模型對中目標(biāo)和小目標(biāo)的檢測效果。實(shí)驗(yàn)結(jié)果表明再訓(xùn)練后的改進(jìn)型SSD網(wǎng)絡(luò),比再訓(xùn)練同樣次數(shù)的原有SSD網(wǎng)絡(luò)的檢測能力更強(qiáng),對中目標(biāo)和小目標(biāo)的檢測效果更佳。
SSD模型是端到端的單次卷積神經(jīng)網(wǎng)絡(luò),在結(jié)構(gòu)上,SSD模型主要是在基礎(chǔ)網(wǎng)絡(luò)VGG(visual geometry group network)上添加新的網(wǎng)絡(luò)結(jié)構(gòu),并采用多尺度卷積檢測的方式來進(jìn)行目標(biāo)檢測。具體SSD模型結(jié)構(gòu)如圖1所示。
SSD模型多尺度作用體現(xiàn)在利用不同層級、不同尺度的特征圖來進(jìn)行目標(biāo)框定檢測,其多尺度計(jì)算過程在數(shù)學(xué)上的定義公式為[23]:
Fig.1 Structure map of SSD圖1 SSD模型
其中,Tn為第n層特征圖,φn為由第n-1層特征圖得到第n層特征圖的非線性運(yùn)算,φ1(I)為由輸入圖像I得到第一層特征圖的運(yùn)算,dn(?)為第n層特征圖上相應(yīng)尺度范圍的檢測結(jié)果,D(?)為將所有中間檢測結(jié)果進(jìn)行集合得到的最終結(jié)果R。
由式(1)、式(2)可看出,第n層特征信息由第n-1層特征信息決定,且每層特征圖只負(fù)責(zé)其對應(yīng)尺度的檢測。因此,對于SSD模型需假設(shè)每層特征足夠復(fù)雜才能更精確地檢測目標(biāo)。其特征圖需具有足夠的分辨率以表達(dá)細(xì)節(jié)特征,由足夠深的網(wǎng)絡(luò)提取得到更抽象特征,還需包含適當(dāng)?shù)纳舷挛男畔⒉拍芨鼫?zhǔn)確地檢測出目標(biāo)。
而在SSD模型中特征提取逐層抽象,低層特征主要對應(yīng)于細(xì)節(jié)信息,高層特征主要對應(yīng)于抽象的語義信息[24]。如果目標(biāo)在原圖中占比越小,特征信息經(jīng)過層層卷積、池化等操作,在高層特征層上保留的信息越少,對于占比越小的目標(biāo)檢測也越不敏感。因此SSD模型主要利用低層細(xì)節(jié)特征檢測小占比目標(biāo),高層抽象特征檢測中等占比目標(biāo)和大目標(biāo)。但是SSD模型中用于小目標(biāo)檢測的低層卷積層僅有一層為Conv4_3,特征表達(dá)能力不夠,細(xì)節(jié)信息不足。而高層卷積層雖包含5層,但其對于中目標(biāo)的特征提取依然不充分,這導(dǎo)致SSD模型對于中目標(biāo)和小目標(biāo)檢測效果弱于大目標(biāo)。具體的SSD模型中目標(biāo)和小目標(biāo)檢測結(jié)果如圖2所示。
Fig.2 Feature detection results of each layer of SSD圖2 SSD模型各層特征檢測結(jié)果比較
圖2 中將SSD模型用于檢測的低層特征層Conv4_3、高層特征層Fc7、Conv9_2進(jìn)行可視化,并對各特征層相應(yīng)目標(biāo)檢測結(jié)果進(jìn)行比較。圖2表明,其輸入圖像中檢測目標(biāo)為人的概率值在0.14至0.47之間。低層特征層檢測概率值偏低,只有0.14,且存在誤檢的情況。高層特征層檢測中等占比目標(biāo)的概率相比低層雖有所提高,但也只在0.22至0.47之間,且存在無法檢測出目標(biāo)的情況。因此,SSD模型對于中目標(biāo)和小目標(biāo)的檢測精確度有待提升。
針對SSD模型存在對于中目標(biāo)、小目標(biāo)檢測能力不足的問題,本文采用改進(jìn)的多尺度卷積檢測的方式進(jìn)行目標(biāo)檢測,利用SSD模型多尺度特性對低層和高層特征層分別采用不同的改進(jìn)策略以提高對中、小目標(biāo)的檢測效果。
為提高SSD模型低層特征層對小目標(biāo)的檢測能力,提出了一種特征區(qū)域放大提取的方法。對低層特征層通過特征提取、反卷積操作獲得高分辨率特征圖,同時(shí)針對小占比目標(biāo)特征區(qū)域,采用區(qū)域映射操作在高分辨特征圖上實(shí)現(xiàn)有針對性的特征提取,以提高對小占比目標(biāo)的檢測效果。具體框架如圖3所示。
圖3中利用反卷積操作增大特征層Conv4_3分辨率,將現(xiàn)有SSD模型的輸出作為建議提取區(qū)域按比例映射到特征圖Conv4_3中,進(jìn)而提取出可能存在目標(biāo)的特征,之后將建議區(qū)域特征池化為固定尺寸以便進(jìn)行相應(yīng)卷積檢測。對特征層Conv3_3進(jìn)行特征層提取,同樣將現(xiàn)有SSD模型的輸出作為建議區(qū)域按比例映射到對應(yīng)特征圖上,之后再通過卷積檢測器進(jìn)行目標(biāo)檢測。
Fig.3 Framework of feature region enlargement and extraction圖3 特征區(qū)域放大提取框架圖
反卷積操作可獲得更高分辨率的特征圖,特征圖分辨率越高獲得細(xì)節(jié)信息也就越多,但是隨著特征圖的增大,相應(yīng)的冗余信息也會增大,同時(shí)也會降低檢測速度,進(jìn)而影響整體檢測效果。具體如圖4所示。
Fig.4 Deconvolution feature maps圖4 反卷積特征圖
圖4 (a)為輸入圖像,尺寸為300×300,圖4(b)為SSD模型原特征層Conv4_3可視化特征圖,尺寸為38×38,圖4(c)、圖4(d)、圖4(e)為對特征層Conv4_3進(jìn)行反卷積操作獲得的不同尺寸反卷積特征圖。
特征層的放大程度受SSD模型特征提取能力的影響,既要能夠獲得豐富的細(xì)節(jié)信息,也要保證檢測速度。因此,本文在保證細(xì)節(jié)信息和檢測速度之間進(jìn)行衡量選擇,首先對低層特征層Conv4_3進(jìn)行反卷積操作將其分辨率增大至300×300,一方面可獲得更加充分的細(xì)節(jié)信息,另一方面由于現(xiàn)有SSD模型輸出建議區(qū)域的位置信息針對于尺寸為300×300的輸入圖像,在進(jìn)行建議區(qū)域映射時(shí)為更加準(zhǔn)確地獲得目標(biāo)區(qū)域特征,選擇將Conv4_3特征層分辨率增大為300×300。
其次,額外引入更低一層特征層Conv3_3,進(jìn)一步增加用于目標(biāo)檢測特征層中所包含的細(xì)節(jié)信息,其特征層分辨率為75×75,相對于特征層Conv4_3較大,細(xì)節(jié)信息較為豐富,具體如圖5所示。
Fig.5 Low-level feature map圖5 低層特征圖
圖5 (a)為輸入圖像,尺寸為300×300,圖5(b)為SSD模型原Conv4_3可視化特征圖,圖5(c)為SSD模型原Conv3_3可視化特征圖,由圖5中可看出,特征層Conv3_3所包含的細(xì)節(jié)信息相對于特征層Conv4_3更豐富。
為保證模型檢測實(shí)時(shí)性,且降低反卷積操作所增加的冗余信息對檢測效果的影響,本文直接對Conv3_3進(jìn)行特征層提取,再將現(xiàn)有SSD模型的輸出作為建議區(qū)域映射到特征層Conv3_3獲得目標(biāo)區(qū)域特征層即可。
低層特征層包含的細(xì)節(jié)信息相對較多,豐富其特征細(xì)節(jié)信息可以更準(zhǔn)確地檢測目標(biāo)。本文采用反卷積[25-28]操作,通過參數(shù)調(diào)整將低層低分辨特征圖映射為高分辨率特征圖,利用更大分辨率的特征圖以提高特征表達(dá)能力。反卷積操作過程與卷積操作相反,即反卷積的正向傳播過程對應(yīng)于卷積的反向傳播,卷積的正向傳播過程對應(yīng)于反卷積的反向傳播。具體傳播過程如圖6所示。
Fig.6 Sketch of convolution and deconvolution operations圖6 卷積和反卷積操作示意圖
圖6 (a)為卷積正向傳播過程,其為將3×3卷積核作用在4×4特征圖中,經(jīng)過卷積得到2×2特征圖。圖6(b)為反卷積正向傳播過程,其與卷積操作相反,輸入為2×2特征圖,通過填充補(bǔ)零,并與3×3反卷積核作用得到4×4特征圖。
反卷積操作特征圖尺寸計(jì)算公式為:
其中,s代表步長,k代表卷積核尺寸,d為反卷積圖尺寸,i為對應(yīng)卷積圖尺寸。本文在改進(jìn)低層特征層Conv4_3時(shí),設(shè)定步長s=8、k=4,對尺寸為38×38的特征層Conv4_3進(jìn)行反卷積得到尺寸為300×300反卷積圖。
在低層特征層上進(jìn)行區(qū)域映射放大時(shí),根據(jù)特征圖與輸入圖像之間的尺寸比例關(guān)系,將建議區(qū)域映射到特征圖目標(biāo)對應(yīng)位置處,其區(qū)域映射公式為:
其中,rw、rh代表建議區(qū)域在待映射特征圖上寬度和高度,dw、dh代表輸出建議區(qū)域?qū)挾群透叨?,fw、fh代表待映射特征圖寬度和高度,imgw、imgh代表輸入圖像寬度和高度。
圖7即為反卷積操作區(qū)域映射可視化特征圖。
圖7(b)為尺寸38×38 的卷積層Conv4_3可視化特征圖,圖7(c)為反卷積得到的300×300高分辨率特征圖,圖7(d)為將建議區(qū)域映射到300×300反卷積特征圖上后并池化得到的38×38區(qū)域特征圖。由圖7可看出,圖7(d)與圖7(b)的特征圖尺寸相同,但是圖7(d)的特征信息相比于圖7(b)有所增大。
Fig.7 Feature maps of region mapping圖7 區(qū)域映射特征圖
SSD模型中高層特征圖包含的特征相對抽象,本文利用其抽象信息,額外提取SSD模型中的多個高層特征層,在現(xiàn)有SSD模型基礎(chǔ)上增加網(wǎng)絡(luò)深度,通過參數(shù)再訓(xùn)練以提高中等占比目標(biāo)的檢測效果。具體框架如圖8所示。
Fig.8 Improved high level feature extraction framework圖8 改進(jìn)高層特征提取框架圖
圖8 中通過特征層提取的方法,分別提取出現(xiàn)有SSD模型中Fc7層、Conv8_2層、Conv9_2層、Conv10_2層、Conv11_2層對應(yīng)的卷積特征圖,并在現(xiàn)有SSD模型的特征參數(shù)基礎(chǔ)上進(jìn)行特征提取,通過多次迭代參數(shù)再訓(xùn)練以得到最優(yōu)模型,其中現(xiàn)有SSD模型是已訓(xùn)練好的原SSD模型。
針對前文中提出的策略,本文進(jìn)行了新的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)。具體結(jié)構(gòu)如圖9所示。
圖9中虛線框1對應(yīng)于低層改進(jìn)方法,采用區(qū)域放大提取的方法,結(jié)合反卷積操作以保證小占比目標(biāo)的檢測精確度。虛線框2對應(yīng)于高層改進(jìn)方法,利用特征層提取,通過加深網(wǎng)絡(luò)層數(shù)改善中等占比目標(biāo)檢測效果。虛線框3是本文根據(jù)改進(jìn)的低層和高層特征添加的位置和類別檢測器,以融合多特征層檢測結(jié)果。
Fig.9 Sketch of model in this paper圖9 本文方法結(jié)構(gòu)圖
整體流程為:首先對于低層改進(jìn)小占比目標(biāo)檢測,將圖像(300×300)輸入到現(xiàn)有SSD模型中,利用現(xiàn)有SSD模型的輸出作為特征圖的建議區(qū)域,將其映射到低層改進(jìn)高分辨率特征層Conv*3_3、Deconv4_3上,實(shí)現(xiàn)區(qū)域特征放大提取。同時(shí)進(jìn)行區(qū)域特征池化,以便采用位置和類別卷積檢測器對其進(jìn)行檢測。其次,對于高層改進(jìn)中等占比目標(biāo)檢測,挑選用于目標(biāo)檢測的高層特征層,在現(xiàn)有特征層上進(jìn)行提取,并經(jīng)過卷積檢測器以實(shí)現(xiàn)高層特征層檢測。最后使用卷積檢測器將多層特征目標(biāo)檢測結(jié)果進(jìn)行融合篩選并輸出。
模型訓(xùn)練時(shí)直接提取現(xiàn)有SSD模型中相應(yīng)的特征參數(shù),從輸入端開始對整體結(jié)構(gòu)進(jìn)行訓(xùn)練調(diào)參,多次訓(xùn)練迭代以得到最終模型。
利用SSD模型多尺度卷積檢測的方式,通過默認(rèn)框映射機(jī)制在改進(jìn)的不同分辨率特征層上生成多尺寸的默認(rèn)框,并使用一組位置和類別卷積濾波器在特征圖上進(jìn)行卷積滑窗來檢測默認(rèn)框位置和類別信息。對于尺寸為m×n、通道數(shù)為t的卷積特征圖,分別采用3×3×t的位置和類別卷積濾波器來進(jìn)行檢測,位置和類別卷積濾波器的個數(shù)Ln、Cn計(jì)算公式分別為:
其中,k為默認(rèn)框個數(shù),4為邊界框坐標(biāo)個數(shù),c為檢測類別數(shù)。由于在卷積特征圖的每個位置處需要(c+4)×k個輸出,相應(yīng)的卷積檢測時(shí)需要濾波器的總個數(shù)為Ln+Cn個,而對于尺寸為m×n的特征圖共需要(c+4)×k×m×n個輸出,而其輸出值即為每個默認(rèn)框的類別信息和位置偏移檢測值。
在SSD模型低層和高層改進(jìn)特征圖上產(chǎn)生映射默認(rèn)框時(shí),對應(yīng)的默認(rèn)框映射機(jī)制也需進(jìn)行相應(yīng)調(diào)整,以重新建立原圖目標(biāo)與其對應(yīng)特征之間的映射關(guān)系,之后再根據(jù)調(diào)整的默認(rèn)框映射機(jī)制重新產(chǎn)生不同尺度默認(rèn)框,并利用卷積檢測器進(jìn)行重新目標(biāo)檢測。
3.6.1 默認(rèn)框映射機(jī)制調(diào)整原理
默認(rèn)框映射用于建立起圖像目標(biāo)位置和其特征之間的對應(yīng)關(guān)系,將用于檢測的特征圖中每個單元格位置映射到原圖中相應(yīng)的位置處,并在原圖相應(yīng)位置處產(chǎn)生不同尺寸的默認(rèn)框以實(shí)現(xiàn)默認(rèn)框映射。其原理如圖10。
Fig.10 Sketch of default boxes mapping圖10 默認(rèn)框映射原理
圖10 (a)是尺寸為300×300的輸入圖像,圖10(b)是尺寸為5×5用于產(chǎn)生默認(rèn)框的特征圖,圖10(a)中紅色、藍(lán)色和綠色的框代表不同尺度的默認(rèn)框。假設(shè)選擇位置為(1,0)處的特征圖單元格進(jìn)行默認(rèn)框映射,根據(jù)輸入圖像尺寸和特征圖尺寸之間的比例關(guān)系,得到映射間隔為300/5=60,相應(yīng)地在輸入圖像的(60,0)處產(chǎn)生對應(yīng)的默認(rèn)框,根據(jù)這個原理即可依次將特征圖的每個單元格映射到輸入圖像對應(yīng)位置處,并在對應(yīng)位置處生成不同的默認(rèn)框,其默認(rèn)框是在輸入圖像的整個區(qū)域上進(jìn)行映射。本文方法中用于檢測的高層特征圖是通過提取現(xiàn)有SSD模型中對應(yīng)特征圖得到的,未做區(qū)域映射。根據(jù)圖10默認(rèn)框映射原理,改進(jìn)高層特征層默認(rèn)框映射也是針對輸入圖像的整個區(qū)域。
改進(jìn)低層特征層利用區(qū)域放大提取的方法,將現(xiàn)有SSD模型的輸出作為建議區(qū)域映射到低層特征層上,區(qū)域映射后得到目標(biāo)區(qū)域特征圖,并非輸入圖像對應(yīng)的整張?zhí)卣鲌D,原SSD模型在進(jìn)行默認(rèn)框映射時(shí),默認(rèn)框針對輸入圖像整個區(qū)域進(jìn)行映射,而對應(yīng)于低層目標(biāo)區(qū)域特征圖,默認(rèn)框需針對輸入圖像的目標(biāo)區(qū)域進(jìn)行映射。具體如圖11所示。
Fig.11 Sketch of area mapping principle圖11 區(qū)域映射原理示意圖
通過比較圖11(b)中本文模型低層Conv4_3對應(yīng)區(qū)域特征圖和圖11(a)中SSD模型低層Conv4_3對應(yīng)的原特征圖,可看出區(qū)域映射后的特征圖對應(yīng)于輸入圖像中的目標(biāo)區(qū)域而非整張輸入圖像。
根據(jù)本文方法的區(qū)域映射原理,默認(rèn)框映射機(jī)制需要作出相應(yīng)的調(diào)整,調(diào)整機(jī)制原理如圖12所示。
Fig.12 Sketch of adjusted mapping mechanism圖12 默認(rèn)映射機(jī)制調(diào)整
圖12 (a)為輸入圖像,圖12(b)為產(chǎn)生默認(rèn)框的區(qū)域映射特征圖,尺寸為5×5,圖12(a)中黑色框代表現(xiàn)有SSD模型輸出的建議區(qū)域,其位置信息為左上角和右下角的坐標(biāo)值,假設(shè)為(170,90,270,290),其X軸方向上的映射間隔為(270-170)/5=20,Y軸方向上的映射間隔為(290-90)/5=40,若選擇(0,0)位置處特征單元格進(jìn)行默認(rèn)框映射,則對應(yīng)在輸入圖像黑色建議框起始位置(170,90)處產(chǎn)生默認(rèn)框,若選擇(1,0)位置處特征單元格,根據(jù)X軸方向上的映射間隔,則在輸入圖像(190,90)處產(chǎn)生默認(rèn)框,若選擇(0,1)位置處特征單元格,根據(jù)Y軸方向上的映射間隔,則在輸入圖像(170,130)處產(chǎn)生默認(rèn)框。根據(jù)此原理,可將區(qū)域特征圖每個單元格按比例映射到輸入圖像建議區(qū)域?qū)?yīng)位置處,并產(chǎn)生不同尺寸的默認(rèn)框。
3.6.2 默認(rèn)框映射公式
根據(jù)改進(jìn)低層和高層的默認(rèn)框映射原理,相應(yīng)的默認(rèn)框映射公式應(yīng)進(jìn)行調(diào)整,其用于檢測的高層特征層默認(rèn)框映射公式為:
其中,fw、fh分別代表用于產(chǎn)生默認(rèn)框的特征圖寬度和高度,imgw、imgh分別代表輸入圖像的寬度和高度,(cx,cy)為默認(rèn)框在特征圖上的中心坐標(biāo),(imgcx,imgcy)為默認(rèn)框映射到輸入圖像的中心坐標(biāo),wk、hk分別代表默認(rèn)框映射到輸入圖像上的寬度和高度,(xmin,ymin,xmax,ymax)為默認(rèn)框映射到輸入圖像上的邊界框坐標(biāo),分別對于左上角和右下角。
用于檢測的低層特征層上結(jié)合了區(qū)域映射方法,其建議區(qū)域特征圖的默認(rèn)框應(yīng)映射到輸入圖像中建議區(qū)域?qū)?yīng)的位置處,其默認(rèn)框映射公式為:
其中,fw、fh分別代表用于產(chǎn)生默認(rèn)框的區(qū)域特征圖寬度和高度,fcenterx、fcentery代表默認(rèn)框在輸入圖像對應(yīng)位置的中心點(diǎn)坐標(biāo),cx、cy代表默認(rèn)框在區(qū)域特征圖上的中心坐標(biāo),(dxmin,dymin,dxmax,dymax)為建議框左上角和右下角的坐標(biāo)。
實(shí)驗(yàn)的軟硬件環(huán)境為深度學(xué)習(xí)框架Caffe[29]、ubuntu16.04系統(tǒng),GPU顯卡型號為NVIDIA TITAN Xp。模型算法訓(xùn)練和測試在PASCALVOC2007(http://host.robots.ox.ac.uk/pascal/VOC/)、PASCAL VOC2012以及 MS COCO(http://cocodataset.org/)公開數(shù)據(jù)集上進(jìn)行比較,其中在VOC2007和VOC2012數(shù)據(jù)集上進(jìn)行訓(xùn)練,針對MS COCO數(shù)據(jù)集上的中目標(biāo)和小目標(biāo)分別進(jìn)行測試,其MS COCO官網(wǎng)將圖像目標(biāo)區(qū)域分割掩碼中像素?cái)?shù)量小于1 024為小占比目標(biāo),圖像目標(biāo)區(qū)域分割掩碼中像素?cái)?shù)量大于1 024且小于9 216為中等占比目標(biāo)。本文目標(biāo)檢測的類別為自行車、公交車、汽車、貓、狗、摩托車、人7類。
模型訓(xùn)練與測試過程分為兩步:第一步采用原SSD模型方法,針對目標(biāo)檢測中的7類,利用VOC數(shù)據(jù)集訓(xùn)練得到現(xiàn)有SSD模型。第二步采用本文方法,首先在VOC2007數(shù)據(jù)集中挑選出3 376張同樣7類圖像作為訓(xùn)練集,由于MS COCO數(shù)據(jù)集中的中目標(biāo)和小目標(biāo)相對較多,在MS COCO數(shù)據(jù)集中挑選600張圖像作為測試集,其中不同尺度中等占比目標(biāo)圖像為355張、小占比目標(biāo)圖像245張。在第一步訓(xùn)練得到的現(xiàn)有SSD模型參數(shù)基礎(chǔ)上,將訓(xùn)練集輸入到本文改進(jìn)的SSD模型中,采用隨機(jī)梯度下降算法進(jìn)行參數(shù)再訓(xùn)練調(diào)參,共迭代47 600次以得到最優(yōu)模型,并對MS COCO數(shù)據(jù)集中目標(biāo)和小目標(biāo)測試集進(jìn)行測試比較。
最后,使用訓(xùn)練本文模型相同的訓(xùn)練集和測試集對第一步得到的現(xiàn)有SSD模型進(jìn)行訓(xùn)練測試,采用原SSD模型方法調(diào)參,在與訓(xùn)練本文模型相同的參數(shù)調(diào)節(jié)下得到最優(yōu)的現(xiàn)有SSD再訓(xùn)練模型,并對中目標(biāo)和小目標(biāo)測試集進(jìn)行測試比較。
本文方法中低層特征層主要用于檢測小占比目標(biāo),高層特征層主要用于檢測中等占比目標(biāo),為驗(yàn)證各層特征層的作用,將現(xiàn)有SSD再訓(xùn)練模型和本文模型中用于檢測的低層和高層特征層分別單獨(dú)抽取出來進(jìn)行目標(biāo)檢測,并比較各檢測效果。圖13為不同算法模型中低層特征層對小占比目標(biāo)的檢測結(jié)果。
Fig.13 Detection results of low level feature layer圖13 低層特征層檢測結(jié)果
圖13 (a)為現(xiàn)有SSD再訓(xùn)練模型中低層特征層對小占比目標(biāo)的檢測結(jié)果,圖13(b)為本文模型中低層特征層對小占比目標(biāo)的檢測結(jié)果。由圖13表明,本文方法檢測出目標(biāo)為人的概率是0.13,相比于SSD模型方法檢測概率提升了10%。
圖14為對現(xiàn)有SSD再訓(xùn)練模型中不同的高層特征層對于中等占比目標(biāo)的檢測結(jié)果。
Fig.14 Detection results of high level feature layers of SSD model圖14 SSD模型高層特征層檢測結(jié)果
從圖14中可看出,卷積層Fc7層、Conv8_2層、Conv9_2層分別用于檢測中等占比目標(biāo),但是目標(biāo)檢測結(jié)果并不理想,其存在人、自行車目標(biāo)未被檢測出的情況,檢測效果仍存在提高的余地。
圖15為本文模型中高層特征層對于中等占比目標(biāo)的檢測結(jié)果。
Fig.15 Results of high level feature layers detection of model in this paper圖15 本文模型高層特征層檢測結(jié)果
圖15 中人、自行車已被檢測出,且整體檢測值相比圖14更高。通過比較圖14和圖15中不同層目標(biāo)檢測結(jié)果,文本方法相比于原SSD模型方法檢測出的目標(biāo)更多且對應(yīng)的概率值更高,其在整體上的檢測效果提升明顯。
在相同的訓(xùn)練集和測試集條件下對本文模型和現(xiàn)有SSD再訓(xùn)練模型檢測結(jié)果進(jìn)行比較,其檢測結(jié)果使用精確度mAP[30]評價(jià)指標(biāo)來衡量模型檢測效果。具體如表1所示,在置信度閾值為0.3的條件下,分別對比不同類別下兩種模型對于中等占比目標(biāo)的檢測精確度。
Table1 Comparison of mAP of different categories of medium objects表1 中等占比目標(biāo)不同類別mAP對比 %
從表1可以看出,本文模型針對中等占比目標(biāo)的mAP值為75.1%,相較于現(xiàn)有SSD再訓(xùn)練模型有16.3%的提升。
表2列出了本文模型和現(xiàn)有SSD再訓(xùn)練模型在置信度閾值為0.1的條件下,不同類別的小占比目標(biāo)測試結(jié)果對比。
Table2 Comparison of mAP of different categories of small objects表2 小占比目標(biāo)不同類別mAP對比 %
對比表2結(jié)果,針對小占比目標(biāo),本文模型在不同類別下相比現(xiàn)有SSD再訓(xùn)練模型均有明顯的提升,其mAP值為40.5%,相比SSD模型方法提高了23.1%。
圖16為本文模型和現(xiàn)有SSD再訓(xùn)練模型對MS COCO測試集圖像中不同類別在相同置信度閾值下的目標(biāo)檢測結(jié)果,其驗(yàn)證了本文方法相比于SSD模型方法目標(biāo)檢測精確度有較好的提升。
圖16中綠色框代表現(xiàn)有SSD再訓(xùn)練模型相比于本文模型漏檢的目標(biāo),黃色框代表現(xiàn)有SSD再訓(xùn)練模型誤檢的目標(biāo),紫色框代表本文模型相比于現(xiàn)有SSD再訓(xùn)練模型檢測概率值高的目標(biāo)。通過比較圖16中不同算法模型檢測結(jié)果,原SSD模型方法出現(xiàn)誤檢、漏檢目標(biāo),而本文方法對于誤檢、漏檢的情況有較好的改善,且檢測出的中目標(biāo)和小目標(biāo)更多,檢測概率值更高,整體的檢測效果優(yōu)于原SSD模型方法。
本文選取了基于SSD模型改進(jìn)的FSSD模型做對比實(shí)驗(yàn),F(xiàn)SSD模型在目前流行的改進(jìn)型SSD模型中檢測性相對更好,在相同的實(shí)驗(yàn)條件下,對FSSD模型進(jìn)行復(fù)現(xiàn),并對現(xiàn)有SSD再訓(xùn)練模型、FSSD模型、本文模型分別做訓(xùn)練與測試。表3對比了不同算法模型針對中等占比目標(biāo)測試集的檢測結(jié)果。
Fig.16 Comparison of detection results圖16 檢測結(jié)果對比
Table3 Comparison of medium object mAP between different models表3 中等占比目標(biāo)不同檢測算法mAP對比 %
比較表3的結(jié)果可看出,F(xiàn)SSD模型在中等占比目標(biāo)上的檢測精確度mAP值相比于現(xiàn)有SSD再訓(xùn)練模型有7.3%的提升,本文模型的檢測精確度相比于FSSD模型提升了9.0%,相比現(xiàn)有SSD再訓(xùn)練模型提升16.3%。針對小占比目標(biāo)測試集進(jìn)行相應(yīng)的測試比較,表4給出了不同模型在小占比目標(biāo)上的檢測結(jié)果。
Table4 Comparison of small object mAP between different models表4 小占比目標(biāo)不同檢測算法mAP對比 %
表4中本文模型檢測效果最好,其mAP值為40.5%,相較于FSSD模型提升了16.4%,而FSSD模型相較于現(xiàn)有SSD再訓(xùn)練模型提升了6.7%。本文方法在中目標(biāo)和小目標(biāo)檢測效果上相較于其他模型方法有較好的改善。
另外,針對類別人,本文在MS COCO數(shù)據(jù)集中挑選中目標(biāo)和小目標(biāo)共1 072個,并通過檢測率衡量其目標(biāo)檢測效果[31]:
其中,P為檢測率,C為對應(yīng)類別樣本被正確分類的個數(shù),S為對應(yīng)類別樣本總數(shù)。檢測率結(jié)果對比如表5所示。
表5中本文模型檢測率相比于FSSD模型提升了9.0%,相比于現(xiàn)有SSD再訓(xùn)練模型提升了9.7%,F(xiàn)SSD模型檢測率相比于現(xiàn)有SSD再訓(xùn)練模型只有0.7%的提升,由上述表5中對比結(jié)果可看出,本文方法對于中目標(biāo)和小目標(biāo)實(shí)現(xiàn)了更準(zhǔn)確的定位和分類。
Table5 Comparison of detection rates between different models表5 不同算法檢測率對比 %
在本文實(shí)驗(yàn)環(huán)境下,表6對比了基于SSD模型改進(jìn)的不同算法在顯卡TITAN Xp上的檢測速度。
Table6 Comparison of detection speed between different models表6 不同算法檢測速度對比 (frame/s)
表6中,SSD模型每秒檢測53幀圖像,F(xiàn)SSD模型每秒檢測47幀圖像,其與SSD模型相差不大,本文模型檢測速度為每秒23幀圖像,檢測單張圖像耗時(shí)均為SSD模型和FSSD模型的近2倍,檢測速度相比于SSD模型、FSSD模型有所下降。
模型檢測速度之所以下降,是由于本文方法在低層特征層上采用反卷積操作,其在提高特征圖分辨率的同時(shí)亦使計(jì)算量有所增加,而在多個高層特征層進(jìn)行特征提取時(shí),加深了網(wǎng)絡(luò)深度,但是也增加了模型運(yùn)行時(shí)間,從而最終影響了模型檢測速度。
但是本文模型在檢測精確度上相比于SSD模型、FSSD模型有較為明顯的提升,其在中等占比目標(biāo)測試集上的檢測精確度為75.1%,分別比SSD模型、FSSD模型提高了16.3%、9.0%,在小占比目標(biāo)測試集上的檢測精確度為40.5%,分別比SSD模型、FSSD模型提升了23.1%、16.4%。而FSSD模型在檢測速度上雖與SSD模型基本持平,但其在中等占比目標(biāo)測試集上的檢測精確度比SSD模型提高了7.3%,在小占比目標(biāo)測試集上的檢測精確度比SSD模型提升了6.7%,本文模型的精確度提升效果優(yōu)于FSSD模型。一般視頻流為每秒25幀圖像,因此,本文模型在提高目標(biāo)檢測精確度的同時(shí),可以滿足實(shí)時(shí)性的要求。
針對中目標(biāo)和小目標(biāo)檢測任務(wù),本文在SSD模型中的低層特征層上結(jié)合反卷積、特征層提取和區(qū)域映射方法以提高小占比目標(biāo)檢測精確度。在高層特征層進(jìn)行特征層提取,利用更深的網(wǎng)絡(luò)結(jié)構(gòu)改善中等占比目標(biāo)檢測效果,并使用相對少量的訓(xùn)練樣本在已學(xué)習(xí)到的參數(shù)基礎(chǔ)上再訓(xùn)練。實(shí)驗(yàn)結(jié)果表明本文方法檢測精確度優(yōu)于原SSD模型方法。在未來的研究工作中,將繼續(xù)研究改進(jìn)網(wǎng)絡(luò)模型,既可以嘗試將文中方法與其他深度學(xué)習(xí)模型相結(jié)合,也可以調(diào)整相應(yīng)模型參數(shù),進(jìn)一步提高中目標(biāo)和小目標(biāo)檢測性能。