閔 鋒,毛一新,侯澤銘,楊朝源,王名茂
武漢工程大學(xué) 智能機(jī)器人湖北省重點(diǎn)實驗室,武漢 430205
目標(biāo)檢測是計算機(jī)視覺領(lǐng)域中的一個重要研究方向,作為圖像理解和計算機(jī)視覺的基石,目標(biāo)檢測是解決分割、場景理解、目標(biāo)跟蹤、圖像描述和事件檢測等更高層次視覺任務(wù)的基礎(chǔ)。近年來,隨著計算機(jī)硬件資源和深度卷積算法在圖像分類任務(wù)中取得的突破性進(jìn)展,基于深度卷積的目標(biāo)檢測算法也逐漸替代了傳統(tǒng)的目標(biāo)檢測算法,在精度和性能方面取得了顯著成果。根據(jù)目前各算法在目標(biāo)檢測公共數(shù)據(jù)集MSCOCO[1]上表現(xiàn),目標(biāo)檢測在性能上仍然存在較大提升空間。
目前被廣泛使用的兩個檢測算法是以R-CNN[2](region-based CNN)系列為代表的基于候選框的兩階段深度學(xué)習(xí)算法和以YOLO(you only look once)系列為代表的基于回歸的單階段深度學(xué)習(xí)目標(biāo)檢測算法。但R-CNN的檢測速度與YOLO系列算法和單點(diǎn)多盒檢測器(single shot multibox detector,SSD)等典型的單階段目標(biāo)檢測算法具有較大差距。文獻(xiàn)[3]提出了第一個單階段目標(biāo)檢測算法YOLO,采用全連接層提取檢測結(jié)果。文獻(xiàn)[4-5]在YOLOv1的基礎(chǔ)上繼續(xù)改進(jìn),又提出了YOLOv2和YOLOv3檢測算法,其中YOLOv2進(jìn)行了多種嘗試,使用了批標(biāo)準(zhǔn)化(batch normalization,BN)技術(shù),引入了錨框機(jī)制;YOLOv3采用darknet-53作為骨干網(wǎng)絡(luò),并且使用了3 種不同大小的錨框,在邏輯分類器中使用sigmoid 函數(shù)把輸出約束在0~1 之間,使得YOLOv3 擁有更快的推理速度。文獻(xiàn)[6]在傳統(tǒng)的YOLO基礎(chǔ)上,加入了一些實用的技巧,提出了YOLOv4算法,YOLOv4是一個高性能、通用的目標(biāo)檢測模型,能一次性完成目標(biāo)定位與目標(biāo)分類兩個任務(wù),因此選擇YOLOv4 作為目標(biāo)檢測的基本框架是可行的。但目前YOLOv4-CSPdarknet53 算法對一些場景下目標(biāo)的獨(dú)特性檢測在檢測速度和檢測精度上仍然存在不足,就需要對YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行相應(yīng)的調(diào)整和改進(jìn)。
目標(biāo)檢測中的經(jīng)典網(wǎng)絡(luò)如Fast R-CNN[7]、SPPNet[8]和Faster R-CNN[9]等大多只是利用了深度神經(jīng)網(wǎng)絡(luò)的末層來進(jìn)行預(yù)測。然而由于特征提取過程中的空間和細(xì)節(jié)特征信息的丟失,難以在深層特征圖中檢測小目標(biāo)。在深度神經(jīng)網(wǎng)絡(luò)中,淺層的感受野更小,語義信息弱,上下文信息缺乏,但是可以獲得更多空間和細(xì)節(jié)特征信息,在提取深度語義信息的過程中,損失了較多的空間位置信息表征,致使在部分目標(biāo)的效果并不好。從這一思路出發(fā),Liu 等[10]提出一種多尺度目標(biāo)檢測算法SSD(single shot multibox detector),利用較淺層的特征圖來檢測較小的目標(biāo),利用較深層的特征圖來檢測較大的目標(biāo),如圖1(a)所示。李成豪等[11]提出一種基于多尺度感受野融合的算法,有效提升了小目標(biāo)的特征提取能力。劉建政等[12]通過淺層的特征映射信息進(jìn)行融合的思想來提高對算法小目標(biāo)的檢測性能,提高了網(wǎng)絡(luò)的目標(biāo)檢測精度。Kong等[13]提出了一種有效的多尺度融合網(wǎng)絡(luò),即HyperNet,通過綜合淺層的高分辨率特征和深層的語義特征以及中間層特征的信息顯著提高了召回率,進(jìn)而提高了目標(biāo)檢測的性能(見圖1(b))。這些方法能有效利用不同尺度的信息,是提升目標(biāo)特征表達(dá)的一種有效手段。但是,不同尺度之間存在大量重復(fù)計算,對于內(nèi)存和計算成本的開銷較大。為節(jié)省計算資源并獲得更好的特征融合效果,文獻(xiàn)[14]結(jié)合單一特征映射、金字塔特征層次和綜合特征的優(yōu)點(diǎn),提出了特征金字塔FPN(feature pyramid network)。FPN 是目前最流行的多尺度網(wǎng)絡(luò),它引入了一種自底向上、自頂向下的網(wǎng)絡(luò)結(jié)構(gòu),通過將相鄰層的特征融合以達(dá)到特征增強(qiáng)的目的(見圖1(c))。向華橋等[15]設(shè)計了扁平的Flat-FPN特征提取網(wǎng)絡(luò)來提高強(qiáng)化底層特征,有效提高目標(biāo)檢測精度,Li 等[16]通過引入多支路空洞卷積,減少下采樣過程中的特征丟失并通過感興趣區(qū)域的尺度融合來增強(qiáng)目標(biāo)特征表達(dá)。趙鵬飛等[17]考慮到淺層卷積層缺乏語義信息等往往導(dǎo)致了對于目標(biāo)檢測的效果不佳,為提高小目標(biāo)檢測的精確性與魯棒性,提出了分組殘差結(jié)構(gòu)用于改善淺層語義特征信息不足的問題。
圖1 三種多尺度學(xué)習(xí)方式Fig.1 Three ways of multi-scale learning
竇允沖等[18]通過增加特征金字塔到主干網(wǎng)絡(luò)的反饋機(jī)制,提高了網(wǎng)絡(luò)分類和定位的有效性。總體來說,上述方法在強(qiáng)化語義特征提取都有較好的表現(xiàn),但傳統(tǒng)目標(biāo)檢測網(wǎng)絡(luò)在提取深度語義信息下采樣至低分辨率過程中,已經(jīng)造成了大量目標(biāo)的空間位置信息缺失,即使在從低分辨率流重新恢復(fù)至高分辨流,該過程仍為不可逆過程。這使得輸入特征圖即使經(jīng)過一系列特征增強(qiáng)的方案,仍會出現(xiàn)較小目標(biāo)的檢測效果差的問題。
與傳統(tǒng)的目標(biāo)檢測算法從由高到低分辨率網(wǎng)絡(luò)產(chǎn)生的低分辨率表示恢復(fù)高分辨率的過程不同,Sun 等[19]考慮到空間位置表征丟失對人體姿態(tài)檢測的影響,提出了人體姿態(tài)估計的高分辨率表示學(xué)習(xí)網(wǎng)絡(luò)HRnet,并刷新了MSCOCO的關(guān)鍵點(diǎn)檢測、姿態(tài)估計、多人姿態(tài)估計這三項任務(wù)的記錄。受HRnet啟發(fā),本文認(rèn)為高分辨率空間位置表征保持對于較小目標(biāo)檢測同樣具有重要意義,并對其進(jìn)行了深度改進(jìn),本文使用CrModule模塊替代了原HRnet中用于同分辨率交互的卷積核大小為3×3的2D卷積,降低深層網(wǎng)絡(luò)的特征冗余性,減少網(wǎng)絡(luò)計算量;提出了基于稀疏表達(dá)的特征超分重構(gòu)與高分辨率表示相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)較小目標(biāo)判別性特征,降低較小目標(biāo)的特征學(xué)習(xí)難度,提升網(wǎng)絡(luò)目標(biāo)檢測性能;并將多尺度融合后的有效特征層使用深度可分離卷積下采樣得到的多分辨率的三個有效特征層取代HRnet 的單個特征層輸出,加強(qiáng)語義表征提取。
在上述設(shè)想下,本文提出了高分辨率保持與特征超分重構(gòu)網(wǎng)絡(luò)CrHRnet。
CrHRnet-YOLOv4 結(jié)構(gòu)框架如圖2 所示,該網(wǎng)絡(luò)架構(gòu)中CrHRnet主干網(wǎng)可提取4個具有強(qiáng)語義信息不同分辨率流并對其進(jìn)行多尺度特征融合,輸出高分辨率特征層,并通過深度可分離卷積提取3個具有強(qiáng)語義信息和空間位置表征的特征層,接著輸入到PANet和SPP結(jié)構(gòu)中進(jìn)行有效特征增強(qiáng),其中SPP結(jié)構(gòu)是用以提高圖像的尺度不變性并減少過擬合,PANet使用自適應(yīng)特征池化和全連接融合2 個模塊,保證特征的完整性和多樣性,并通過全連接融合得到更加準(zhǔn)確的預(yù)測,最終目標(biāo)檢測結(jié)果用YOLO Head輸出。
圖2 CrHRnet-YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.2 Schematic diagram of CrHRnet-YOLOv4 network structure
CrHRnet 網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。以輸入圖片大小416×416×3為例,在進(jìn)入特征提取主干網(wǎng)絡(luò)之前會有一個通道數(shù)匹配的階段(Stem),將圖像輸入到Stem 中,Stem由兩個步長為3×3的卷積組成,步長為2,在完成通道數(shù)匹配后輸入到Backbone中成為網(wǎng)絡(luò)首個階段,圖3中每一種尺度的特征流稱之為一個Stage,每個特征流中只含同分辨率交互的部分稱之為一個Block(僅Stage1 中的每個Block 含一個NLSA 模塊)。Backbone主要由幾個部分組成:(1)基于稀疏表達(dá)的非局部特征超分重構(gòu);(2)并行多分辨率Block特征提?。唬?)重復(fù)多分辨率融合。
圖3 CrHRnet特征提取網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 CrHRnet feature extraction network structure
CrHRnet與ResNet[20]、VGGNet[21]等傳統(tǒng)網(wǎng)絡(luò)模型將輸入圖像編碼由低分辨率表示恢復(fù)高分辨率表示不同,在整個過程中保持高分辨率表示。該網(wǎng)絡(luò)具有三個關(guān)鍵特征:(1)并行連接高分辨率到低分辨率的卷積數(shù)據(jù)流,CrModule 和殘差模塊(Residual-Block)處理同分辨率模塊的特征提取;(2)使用NLSA[22]非局部稀疏注意對特征圖中較小目標(biāo)實現(xiàn)特征超分辨率重構(gòu),提高小目標(biāo)特征可學(xué)習(xí)性,在不同分辨率之間重復(fù)交換信息,加強(qiáng)網(wǎng)絡(luò)特征提取能力,使所產(chǎn)生的特征表示在語義上更豐富,空間位置信息表征更準(zhǔn)確;(3)重復(fù)多分辨率融合,多層有效特征層輸出。
目標(biāo)檢測領(lǐng)域中,公開數(shù)據(jù)集中較小目標(biāo)由本身定義導(dǎo)致的RGB信息過少,因而包含的判別性特征不足,造成目標(biāo)檢測算法檢測精度難以提升,且傳統(tǒng)網(wǎng)絡(luò)中高分辨率特征層在下采樣至低分辨率的語義表征學(xué)習(xí)過程中,損失了大量的空間位置信息,即使將圖像編碼由低分辨率表示恢復(fù)至高分辨率,這種位置信息丟失過程仍為不可逆的,同樣也會造成較小目標(biāo)檢測精度下降。為降低小目標(biāo)檢測對網(wǎng)絡(luò)結(jié)構(gòu)檢測精度的影響,提出了NLSA與高分辨率表示相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)CrHRnet。
NLSA 算法同時兼顧了稀疏表達(dá)和非局部操作的優(yōu)點(diǎn),該算法特征重構(gòu)過程具有良好的健壯性、高效性和抗噪性,在Urban100等數(shù)據(jù)集上的PSNR(peak signalto-noise ratio)等指標(biāo)達(dá)到了目前最先進(jìn)水平。NLSA在CrHRnet 算法中主要是對高分辨率特征圖中的特征塊進(jìn)行超分重建,提高較小物體的特征表示,使之與大物體特征類似,提高網(wǎng)絡(luò)對小目標(biāo)的檢測性能。NLSA能在全局范圍內(nèi)確定特征關(guān)聯(lián)最大的位置,而不關(guān)注不相關(guān)的區(qū)域,從而實現(xiàn)了強(qiáng)大而高效的全局建模操作。
特征層的非局部注意(non-local attention,NLA)的深層網(wǎng)絡(luò)感受野是全局的,NLA 通常是匯總所有位置的信息來增強(qiáng)輸入特征圖,其原理表示如式(1)所示:
其中,xi、xj、xj^分別表示特征層X的第i、j、j^ 個像素級特征,f( )·,· 是高斯投影核函數(shù),用于度量兩個像素特征的相關(guān)性,g()· 是一個特征變換函數(shù),利用得到的權(quán)重對原始圖進(jìn)行映射,yi為目標(biāo)函數(shù)需求結(jié)果。
若需式(2)中λi中的元素應(yīng)保持稀疏,且應(yīng)納入全局中最相關(guān)元素,NLSA 采用球形局部敏感哈希(Spherical-LSH)算法來實現(xiàn)了上述目標(biāo)。LSH 函數(shù)是一類特殊的哈希函數(shù),可有效保留原始數(shù)據(jù)之間的距離屬性;即假設(shè)現(xiàn)有a1、a2、a3三點(diǎn),其中a1、a2相鄰,a1、a3相隔較遠(yuǎn),若Hash(a1)和Hash(a2)碰撞概率要比Hash(a1) 和Hash(a3) 大得多,則此Hash() 屬于LSH 函數(shù)。本文采用的Spherical-LSH算法思想是利用LSH函數(shù)將張量投影到超球體中,如圖4 所示,球體中多面體每個頂點(diǎn)可以視為一個哈希桶,通過數(shù)量積運(yùn)算選擇最近頂點(diǎn)作為其Hash code,假設(shè)圖4中x1與x2具有強(qiáng)相關(guān)性,與x3不具備相關(guān)性,由于LSH算法可有效保留原始特征的空間距離屬性,則x1與x2會被分配在同一個哈希桶中,而與x3分配在不同的哈希桶中。
圖4 Spherical-LSH算法思想示意圖Fig.4 Schematic diagram of Spherical-LSH algorithm
對特征向量實現(xiàn)哈希桶分配,其實際應(yīng)用操作原理如式(3)所示:
CrHRnet 從Stem 的高分辨率輸入流開始,作為Stage1,逐步將高分辨率與低分辨率的流相加,形成新的級,并將多分辨率流并行連接??紤]到特征層學(xué)習(xí)過程本質(zhì)是卷積和多尺度殘差與融合過程,本文提出級聯(lián)殘差結(jié)構(gòu)(cascaded residual module)替代普通卷積提取深度語義信息。較原HRnet 網(wǎng)絡(luò),CrHRnet 采用CrModule結(jié)構(gòu)取代原HRnet卷積核大小為3×3的2D卷積用于同分辨率的語義信息提?。唤档途W(wǎng)絡(luò)特征提取的冗余性,減少模型的計算量。
以輸入和輸出的特征圖尺寸均為104×104×128(H×W×C)為例,單層3×3普通2D卷積合計乘法運(yùn)算次數(shù)為15.9×108次,單層CrModule合計乘法運(yùn)算次數(shù)為0.66×108次,僅為普通卷積運(yùn)算量的4.1%。大幅降低了高分辨率特征圖的卷積運(yùn)算量,實驗結(jié)果表明,CrModule模塊也具有良好的特征提取能力。CrModule(圖5)共分為3個部分。
圖5 CrModule結(jié)構(gòu)示意圖Fig.5 Structural diagram of CrModule
首先將Input 的特征圖進(jìn)行一個普通的1×1 卷積,這是一個少量卷積,例如正常使用m通道的卷積,這里就會得到m/4 通道數(shù)的輸出層,這個1×1卷積的作用類似于特征整合,生成輸入特征層的特征濃縮,接著再進(jìn)行深度可分離卷積,這個深度可分離卷積是逐層卷積(如圖5中ηi),最后將通道數(shù)拼接生成通道數(shù)為m/2 的單級特征層(如圖5中的Part A部分),因此較普通卷積它的計算量更低。接著對Part A獲取的特征層進(jìn)行3×3普通2D卷積,生成通道數(shù)為m/4 的輸出,并繼續(xù)對其進(jìn)行逐層卷積,形成新的級(如圖5 中Part B 部分),將各級特征層拼接構(gòu)建出具有豐富語義特征的殘差塊,最后將級聯(lián)殘差結(jié)構(gòu)獲得的特征濃縮與輸入特征圖殘差連接生成新的同分辨率特征圖(Part C)。實驗表明,CrModule較普通卷積結(jié)構(gòu)而言,計算量大幅減少,提高了算法的檢測性能。
對于不同分辨率大小的特征層融合方式如圖6 所示,高分辨率特征層使用深度可分離卷積進(jìn)行通道數(shù)匹配,同時低分辨率特征層通過上采樣及特征融合形成新的高分辨率表征。
圖6 多尺度特征融合原理圖Fig.6 Multi-scale feature fusion schematic
融合模塊的目標(biāo)是通過多分辨率表示交換信息。它們之間的語義表征會進(jìn)行多次交互,特征層在經(jīng)過網(wǎng)絡(luò)的每個Block模塊后會進(jìn)行多分辨率特征融合??蓪⒃摼W(wǎng)絡(luò)分為四個階段,用Layer(s,f)來表示。用s作為不同階段索引,f表示對應(yīng)階段的對應(yīng)子流索引,其中其邏輯上結(jié)構(gòu)如圖7所示。
圖7 CrHRnet邏輯結(jié)構(gòu)圖Fig.7 Logical structure diagram of CrHRnet
令首個階段的s=1,f=1,則第s個階段Layer(s,f)的通道數(shù)Channels(s,f) 、特征層輸入分辨率大小InputSize(s,f)如公式(4)、公式(5)所示:
本文使用的實驗數(shù)據(jù)集為PASCAL VOC[23]。VOC數(shù)據(jù)集是目標(biāo)檢測和分割常用數(shù)據(jù)集,其中包含4大類和20 個小類。很多優(yōu)秀的計算機(jī)視覺模型比如分類、定位、檢測、分割,動作識別等模型都是基于PASCAL VOC 挑戰(zhàn)賽及其數(shù)據(jù)集上推出的。CrHRnet 性能測試選用VOC2007+VOC2012 的train+val 部分進(jìn)行訓(xùn)練,使用VOC2007的test測試的評估方式。VOC2007 數(shù)據(jù)集的train+val 部分由5 011 張訓(xùn)練樣本12 608 個目標(biāo)數(shù)目組成,VOC2012的train+val中共有11 540張訓(xùn)練樣本以及27 450 個目標(biāo)數(shù)目,VOC2007-test 測試集中由4 952 張測試樣本以及12 032 個待檢測目標(biāo)數(shù)目組成。訓(xùn)練集樣本數(shù)量合計16 551張訓(xùn)練樣本,共40 558個目標(biāo)物體。
本實驗使用的操作系統(tǒng)為Linux,處理器型號為Intel Core i5-10400F,顯卡型號為NVIDIA GeForceRTX3060,采用NVIDIA CUDA 加速工具箱,優(yōu)化器選擇隨機(jī)梯度下降(stochastic gradient descent,SGD)。實驗參數(shù)設(shè)置最高學(xué)習(xí)率為0.01,最低學(xué)習(xí)率為0.000 1,訓(xùn)練Epoch 為1 000 次。為了評價網(wǎng)絡(luò)的性能和證明目標(biāo)檢測網(wǎng)絡(luò)的有效性,選取下列指標(biāo)進(jìn)行評價。
(1)查準(zhǔn)率(Precision,P)和召回率(Recall,R)。查準(zhǔn)率是指網(wǎng)絡(luò)檢測到的正樣本數(shù)量占檢測到的所有樣本數(shù)量的比率;召回率指網(wǎng)絡(luò)檢測到的正樣本數(shù)量占標(biāo)記真實樣本數(shù)量的比率。查準(zhǔn)率和召回率的計算公式如式(6)所示:
其中,真樣本(true positive,TP)表示檢測到的目標(biāo)類別與真實目標(biāo)類別一致的樣本;假樣本(false positive,F(xiàn)P)為檢測到的目標(biāo)類別與真實目標(biāo)類別不一致的樣本;假負(fù)樣本(false negative,F(xiàn)N)為真實目標(biāo)存在但未被網(wǎng)絡(luò)檢測出來的樣本。
(2)平均準(zhǔn)確率(average precision,AP)和平均準(zhǔn)確率均值(mean average precision,mAP)。一個理想的目標(biāo)檢測網(wǎng)絡(luò)應(yīng)該在召回率增長的同時,查準(zhǔn)率在很高的水平,但現(xiàn)實情況是召回率的提高往往需要損失查準(zhǔn)率的值,因此通常情況下采用查準(zhǔn)率-召回率(precision recall,P-R)曲線來顯示目標(biāo)檢測器在準(zhǔn)確率和召回率之間的平衡。對每一個物體類別,該類別的平均準(zhǔn)確率定義為P-R曲線下方的面積;平均準(zhǔn)確率均值是所有類別的平均準(zhǔn)確率的均值。AP 和mAP 的計算公式如式(7)所示:
其中,N表示所有類別的數(shù)量。
(3)幀率(frames per second,F(xiàn)PS)。幀率指目標(biāo)檢測網(wǎng)絡(luò)每秒中能夠檢測的圖片數(shù)量,用該指標(biāo)評價目標(biāo)檢測網(wǎng)絡(luò)的檢測速度。
為驗證CrHRnet 網(wǎng)絡(luò)改進(jìn)的有效性,本文根據(jù)2.2節(jié)的實驗參數(shù)設(shè)置對2.1 節(jié)中介紹的數(shù)據(jù)集進(jìn)行訓(xùn)練。訓(xùn)練集均使用VOC07+12,在測試集使用VOC-Test07的條件下對CrHRnet 以及HRnet 作為YOLOv4 主干特征提取網(wǎng)絡(luò)測試其網(wǎng)絡(luò)性能,共進(jìn)行了7 組消融實驗,實驗結(jié)果如表1所示,表中“√”表示使用了對應(yīng)方法,“×”表示不使用該方法;N 為HRnet 算法中的Normal-Block(2D卷積,卷積核大小為3)、R表示Residual-Block,是將N 模塊輸出的特征層與原始輸入特征層殘差相加的結(jié)構(gòu);C表示CrModule模塊,表中Block1-N表示上述網(wǎng)絡(luò)結(jié)構(gòu)的同分辨率提取Block1 塊使用的方法為Normal-Block,其他選項同理,實驗的FPS測試均在GTX1650設(shè)備上進(jìn)行。
表1 基于YOLOv4架構(gòu)下的消融實驗Table 1 Ablation experiment based on YOLOv4 framework
通過對比表1中1、2組,3、4組以及6、7組的實驗結(jié)果,添加NLSA 模塊在相同網(wǎng)絡(luò)結(jié)構(gòu)下測試mAP 分別提升了1.26、1.62、1.28 個百分點(diǎn),NLSA 模塊有效提升了算法目標(biāo)檢測精度,實驗結(jié)果分析證實了NLSA算法的有效性,基于稀疏表達(dá)的特征超分重構(gòu)方法有利于提升目標(biāo)判別性特征的可學(xué)習(xí)性,可有效提高算法檢測精度。將1、3 組,2、4 組以及4、7 組的實驗所測得的mAP以及FPS結(jié)果進(jìn)行對比易知,CrModule模塊有利于提升網(wǎng)絡(luò)的檢測速度,且通過與淺層殘差結(jié)構(gòu)線性組合,在處理深層次的語義信息過程中,能夠減少特征提取的冗余性,提升網(wǎng)絡(luò)的泛化性能和目標(biāo)檢測精度。CrHRnet將稀疏表達(dá)的非局部注意特征超分重構(gòu)算法與殘差級聯(lián)網(wǎng)絡(luò)融合,有效提升了網(wǎng)絡(luò)的檢測速度和檢測精度,網(wǎng)絡(luò)測試mAP達(dá)到了90.82%,優(yōu)于HRnet的檢測精度。
為更加有效評估CrHRnet-YOLOv4 算法的檢測效果,本文通過實驗對YOLOv4架構(gòu)下不同主干特征提取網(wǎng)絡(luò)模型進(jìn)行了評估(mobilenet_v1[24]、mobilenet_v2[25]、mobilenet_v3[26]、VGGNet等),在訓(xùn)練集均使用VOC07+12 訓(xùn)練的條件下,使用VOC-Test07 的測試性能對比實驗結(jié)果如表2所示。表2的實驗結(jié)果分析可得,CrHRnet在VOC-Test07 上的測試mAP 高于YOLOv4 其他不同Backbone下的目標(biāo)檢測算法多個百分點(diǎn)不等。此外,還使用上述不同算法進(jìn)行了單張圖片的FPS 測試。測試結(jié)果顯示,CrHRnet在具有良好的檢測精度的同時也具有較好的檢測速率,相較于原YOLOv4-CSPdarknet53提升了30%,實驗表明,CrHRnet 在檢測速度和檢測精度有了較好的提升。
表2 YOLOv4架構(gòu)下不同特征提取網(wǎng)絡(luò)性能比較Table 2 Performance comparison of different feature extraction networks under YOLOv4 architecture
圖8 為CrHRnet-YOLOv4 在VOC-Test07 實驗測試后,統(tǒng)計出的各個類別的準(zhǔn)確AP值大小,其中橫坐標(biāo)代表AP 值大小,縱坐標(biāo)代表類別名稱。為進(jìn)一步驗證本文算法的效果,本文將CrHRnet-YOLOv4算法與目標(biāo)檢測中常用的主流目標(biāo)檢測算法進(jìn)行了對比實驗,其檢測結(jié)果對比如表3 所示。其中包括SSD、ResNet、Faster R-CNN、YOLOv5 等經(jīng)典算法以及最新的HSD[27]、DETReg[28]、CoupleNet[29]、Cascade Eff-B7 NAS-FPN[30]算法,根據(jù)表3 所示,對比Faster R-CNN、YOLOv5_s、YOLOv5_m 等經(jīng)典網(wǎng)絡(luò)CrHRnet-YOLOv4 在平均準(zhǔn)確率均值分別有12 個百分點(diǎn)、9.5 個百分點(diǎn)、3.4 個百分點(diǎn)的提升;與最新的優(yōu)秀算法DETReg、NAS-FPN 對比,mAP 分別提升了5.3 個百分點(diǎn)和1.5 個百分點(diǎn),實驗檢測結(jié)果表明,CrHRnet做為特征提取網(wǎng)絡(luò)具有更強(qiáng)的健壯性、更好的泛化能力,更準(zhǔn)確的目標(biāo)檢測精度。
圖8 CrHRnet-YOLOv4在VOC-Test07的各類別的AP值Fig.8 AP values of each category tested by CrHRnet-YOLOv4 in VOC-Test07 dataset
圖9為YOLOv5_s、YOLOv5_m、YOLOv4、CrHRnet-YOLOv4算法在VOC數(shù)據(jù)集中檢測相同樣例的檢測效果對比圖。
圖9 多種檢測算法在VOC數(shù)據(jù)集樣例檢測效果對比圖Fig.9 Comparison of detection effects of various detection algorithms in sample detection of VOC dataset
本文提出了CrHRnet-YOLOv4的網(wǎng)絡(luò)模型,用于處理視覺目標(biāo)檢測問題,通過實驗驗證,取得了較高的檢測精度和較快的檢測速度。網(wǎng)絡(luò)模型算法在視覺目標(biāo)檢測問題上,該算法與現(xiàn)有的算法有幾點(diǎn)根本區(qū)別。(1)連接高分辨率和低分辨率卷積使用的是并聯(lián)而不是串聯(lián)的方式;(2)在整個過程中保持高分辨率,而不是從低分辨率恢復(fù)高分辨率,避免了空間位置信息的缺失;(3)使用NLSA 實現(xiàn)特征塊超分重構(gòu),提升目標(biāo)判別性特征的可學(xué)習(xí)性;(4)同分辨率特征層使用CrModule和Residual-Block 線性組合替代普通卷積,提升算法檢測性能。
高分辨率保持網(wǎng)絡(luò)在人體姿態(tài)關(guān)鍵點(diǎn)檢測以及目標(biāo)檢測均取得了不錯的效果;但在訓(xùn)練低分辨率的數(shù)據(jù)集時,往往得不到較好的效果;經(jīng)過分析可能是因為低分辨率圖片的空間位置信息本身難以抓取和保持,在同分辨率特征層自身進(jìn)行多次信息交互時,空間表征不夠精確,使得待檢測樣本的空間位置信息錯亂冗余,造成檢測效果不佳的結(jié)果。超分辨率重構(gòu)可能是一種最直接的、可解釋的提升本網(wǎng)絡(luò)目標(biāo)檢測性能的方法,但這一類研究仍存在較大的研究空間,如何將超分辨率重構(gòu)中先進(jìn)技術(shù)與目標(biāo)檢測技術(shù)深度結(jié)合是提升目標(biāo)檢測算法精度的一個可行研究思路。