圣文順,余熊峰,林佳燕,陳欣
(南京工業(yè)大學(xué)浦江學(xué)院,江蘇 南京 211200)
傳統(tǒng)機(jī)器學(xué)習(xí)方法是在已有的特定數(shù)據(jù)模型基礎(chǔ)上,通過人工劃分區(qū)域與數(shù)據(jù)篩選對(duì)分類器進(jìn)行訓(xùn)練。這種方法時(shí)間成本較高,而且得到的分類器在與特定數(shù)據(jù)模型差異較大的數(shù)據(jù)集上,表現(xiàn)效果并不理想,存在魯棒性低、泛化能力弱的問題。效果好的分類器不僅需要能夠持續(xù)檢測(cè)目標(biāo)形狀與狀態(tài)的變化,還能夠準(zhǔn)確地預(yù)測(cè)并應(yīng)對(duì)特殊變化所存在的系統(tǒng)魯棒性問題。
在傳統(tǒng)機(jī)器學(xué)習(xí)模型中融合卷積神經(jīng)網(wǎng)絡(luò)[1],可以有效地解決這些問題。因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)可以獨(dú)立自主地學(xué)習(xí)并總結(jié)目標(biāo)對(duì)象的數(shù)據(jù)特征,所以在不同場(chǎng)景的數(shù)據(jù)集上均可自主進(jìn)行特征區(qū)域的選取與特征提取,即使在復(fù)雜環(huán)境下,也具有適用性。融合卷積神經(jīng)網(wǎng)絡(luò)后,目標(biāo)檢測(cè)算法無須人工干預(yù),不僅節(jié)省人力成本,加強(qiáng)泛化能力,同時(shí)提升系統(tǒng)魯棒性,相較于傳統(tǒng)機(jī)器學(xué)習(xí)的人工標(biāo)注方法,在實(shí)際應(yīng)用中表現(xiàn)出了更優(yōu)的性能。因此,將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于輔助完成目標(biāo)檢測(cè)任務(wù),可以加強(qiáng)模型對(duì)于圖像特征的提取能力,提升模型對(duì)象分類的準(zhǔn)確率。研究人員基于R-CNN 檢測(cè)方法,提出Fast R-CNN 算法[2-3],改變?cè)械脑诟信d趣區(qū)域(ROI)[4]選取候選框的策略,不再遍歷地對(duì)所有候選框進(jìn)行特征提取,同時(shí)調(diào)換部分檢測(cè)步驟,使整張待檢測(cè)圖片經(jīng)過卷積后再提取特征,然后在提取后的特征圖上選取感興趣區(qū)域。由于Fast R-CNN 不再逐個(gè)提取特征,因此無須單獨(dú)訓(xùn)練支持向量機(jī)(SVM)分類器[5]和更新位置回歸參數(shù)[6],從而提高訓(xùn)練效率,縮短訓(xùn)練時(shí)間。研究人員以Fast R-CNN 算法為基礎(chǔ)初始模型,使用區(qū)域建議網(wǎng)絡(luò)(RPN)[7]替代原有的選擇搜索(SS)網(wǎng)絡(luò)[8]來預(yù)測(cè)候選框區(qū)域。這種新的目標(biāo)檢測(cè)算法被命名為Faster R-CNN。在Faster R-CNN中,RPN 對(duì)候選框的預(yù)測(cè)大部分在GPU 中完成,可以大幅加快目標(biāo)檢測(cè)的速度。文獻(xiàn)[9-11]提出SSD 算法,借鑒Faster R-CNN 算法中RPN 的錨定原理,引進(jìn)多尺寸理論,兼顧了高低層次信息的采集,但是因?yàn)槟J(rèn)框的形式和網(wǎng)格尺寸固定不變,所以在利用SSD算法測(cè)試較小目標(biāo)時(shí)的有效性并不理想。
VGG16 網(wǎng)絡(luò)模型[12]在對(duì)象識(shí)別應(yīng)用中,因?qū)佣容^淺,導(dǎo)致對(duì)物體特征總結(jié)不充分、表達(dá)能力降低。為解決此類問題,本文提出一種融合CBAM[13]注意力機(jī)制和特征金字塔網(wǎng)絡(luò)(FPN)結(jié)構(gòu)[14]的CF-RCNN 算法。該算法使用表達(dá)能力更強(qiáng)、層次更深的VS-ResNet 網(wǎng)絡(luò)取代傳統(tǒng)Faster R-CNN 算法特征提取模塊中的VGG16 網(wǎng)絡(luò),加強(qiáng)目標(biāo)檢測(cè)模型分析圖像特征能力。將ResNet 50 網(wǎng)絡(luò)[15]改為組卷積[16]模式,減少超參數(shù)個(gè)數(shù),降低模型的復(fù)雜度,將原有的殘差結(jié)構(gòu)改為倒殘差結(jié)構(gòu)[17],使ReLU 激活函數(shù)[18]能更好地保存函數(shù)信息,優(yōu)化RPN,從而減小在物體密集情況下候選框篩選的錯(cuò)誤率?;趥鹘y(tǒng)Faster R-CNN 算法,CF-RCNN 融合FPN 結(jié)構(gòu),提升針對(duì)小尺寸目標(biāo)的檢測(cè)能力;引入CBAM 注意力機(jī)制,重點(diǎn)關(guān)注高效信息,從而提升截?cái)嗷蛘趽跷矬w檢測(cè)的準(zhǔn)確性。
Faster R-CNN 使用VGG16 作為特征提取網(wǎng)絡(luò)。為突破Fast R-CNN 目標(biāo)檢測(cè)模型中區(qū)域選取的瓶頸,研究人員創(chuàng)新性地提出了RPN,替換了Fast R-CNN 和R-CNN 中使用的SS 算法模型,即:Faster R-CNN 算法可以理解為RPN+Fast R-CNN。RPN 根據(jù)圖像顏色、形狀和大小對(duì)圖像選取候選區(qū)域,通常選取2 000 個(gè)可能含有識(shí)別對(duì)象的候選框。Faster R-CNN算法框架如圖1 所示。
圖1 Faster R-CNN 算法框架Fig.1 Framework of Faster R-CNN algorithm
Faster R-CNN 由4 大模塊構(gòu)成,分別為特征提取模塊、候選區(qū)域選擇模塊、感興趣區(qū)域池化層[19]模塊和目標(biāo)分類與位置回歸[20]模塊。RPN 模塊改變了原始SS 算法候選區(qū)域的選取方式,減少了時(shí)間成本。
當(dāng)待檢測(cè)圖像輸入到特征提取網(wǎng)絡(luò)模塊時(shí),經(jīng)過模塊卷積操作后生成特征圖片,將其輸入到RPN 模塊選取候選區(qū)域。該模塊使用滑動(dòng)窗口的中心點(diǎn)被稱為錨點(diǎn),特征圖片中的所有像素點(diǎn)都對(duì)應(yīng)k個(gè)錨點(diǎn),分別生成128、256、512這3種像素面積和1∶1、1∶2、2∶1這3種比例窗口,組合所得9個(gè)窗口。RPN結(jié)構(gòu)如圖2所示。
圖2 區(qū)域建議網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of region proposal network
Faster R-CNN 將生成的候選區(qū)域以及卷積層特征圖輸入到ROI Pooling 模塊中。ROI Pooling 將不同大小的特征圖池化成統(tǒng)一大小。
繼ROI Pooling 模塊后,目標(biāo)分類與位置回歸模塊處理ROI Pooling 層輸出的數(shù)據(jù),得到候選區(qū)域的對(duì)象類別與修正后的圖像框圖,其處理過程的表達(dá)式如式(1)所示:
其中:Px、Py、Pw、Ph分別為候選框中心像素點(diǎn)橫、縱坐標(biāo)與寬度、高度值;dx、dy、dw、dh為N+1 個(gè)類別的候選框回歸參數(shù),共有4×(N+1)個(gè)節(jié)點(diǎn);exp 為以自然數(shù)e 為底數(shù)的指數(shù)函數(shù)。
VGG16網(wǎng)絡(luò)因?qū)訑?shù)較少,導(dǎo)致表達(dá)能力降低。本文使用VS-ResNet 網(wǎng)絡(luò)替代VGG16 網(wǎng)絡(luò)。VS-ResNet網(wǎng)絡(luò)是基于ResNet 50 網(wǎng)絡(luò)改進(jìn)獲得的。在原始Faster R-CNN 中,融合CBAM 注意力機(jī)制和特征金字塔結(jié)構(gòu),加強(qiáng)面對(duì)小尺寸截?cái)嗷蛘趽跷矬w的檢測(cè)能力。
當(dāng)使用深度卷積網(wǎng)絡(luò)進(jìn)行卷積時(shí),部分卷積核的卷積參數(shù)為0,會(huì)造成部分參數(shù)冗余。實(shí)驗(yàn)結(jié)果表明,當(dāng)維度過低時(shí)ReLU 激活函數(shù)的圖片特征信息丟失過多。ReLU 和ReLU6函數(shù)如式(2)和式(3)所示:
卷積塊結(jié)構(gòu)如圖3 所示。針對(duì)此類問題,VS-ResNet網(wǎng)絡(luò)采用倒殘差結(jié)構(gòu),依次使用尺寸為1×1、3×3、1×1 大小的卷積核進(jìn)行卷積,使低維環(huán)境變?yōu)楦呔S環(huán)境,更完整地保存圖片信息,如圖3(a)所示。普通殘差結(jié)構(gòu)首先基于上一層的輸出,使用1×1 尺寸大小的卷積核降維;再通過3×3 尺寸卷積核提取圖像特征;最后使用1×1 大小卷積升維。與普通殘差結(jié)構(gòu)不同,倒殘差結(jié)構(gòu)在升維和降維的順序上正好相反,即:首先使用1×1 尺寸卷積升維;再經(jīng)過3×3 尺寸卷積;最后使用1×1卷積核進(jìn)行降維至原有特征圖大小。
圖3 卷積塊結(jié)構(gòu)Fig.3 Structure of convolution block
ReLU 函數(shù)在x<0 時(shí),輸出為0,在x≥0 時(shí),隨著x的增大,輸出也會(huì)增大,且不限制輸出的最大值。此類激活方式可能會(huì)出現(xiàn)激活后函數(shù)值過大的情況,進(jìn)而影響模型穩(wěn)定性。為消除數(shù)值過大的部分,VS-RCNN 使用ReLU6 函數(shù)替代ReLU 函數(shù)。ReLU6 函數(shù)相比于ReLU 函數(shù),其輸入為負(fù)數(shù)時(shí),輸出的計(jì)算方法與ReLU 函數(shù)一致,2 類函數(shù)差異主要在輸入大于0 時(shí)。ReLU6 設(shè)置了x>0 時(shí)的輸出最大值為6。隨著x的增大,函數(shù)值不會(huì)無限增大,避免出現(xiàn)輸出值過大的情況,保存了輸出值的卷積效用,也保證了模型的穩(wěn)定性。
在上述操作的基礎(chǔ)上,使用分組卷積方式,分組卷積引用Inception 的多維度卷積[21]合并原理,將特征圖單路卷積核卷積操作變?yōu)槎嗦肪矸e核卷積堆疊,減少網(wǎng)絡(luò)中的參數(shù)量,有效降低算法模型的復(fù)雜度,但其準(zhǔn)確率并不會(huì)受到太大影響。VS-ResNet 參考ResNeXt網(wǎng)絡(luò)[22],使用32組、8維度卷積核。對(duì)比圖3(a)和圖3(b)的參數(shù)變化,支路中的128 個(gè)1×1 大小卷積核不變,其參數(shù)個(gè)數(shù)為B=256×1×1×128,同樣保持不變。本文主要考慮主路卷積參數(shù)變化情況,圖3(a)中主路卷積參數(shù)個(gè)數(shù)為M(a)=256×1×1×256+256×3×3×256+256×1×1×128,圖3(b)中主路參數(shù)個(gè)數(shù)為M(b)=因此,使用組卷積方式后,卷積塊的參數(shù)規(guī)模變?yōu)樵械?/p>
隨著網(wǎng)絡(luò)深度不斷加深,特征提取網(wǎng)絡(luò)收斂難度加大,需要保留一定程度的前端網(wǎng)絡(luò)傳播梯度,以緩解梯度消失現(xiàn)象。VS-ResNet分別在ResNet 50網(wǎng)絡(luò)的卷積層2 和卷積層4 后加入輔助分類器[23],保留卷積層2 和卷積層4 的低維輸出信息。在最后的分類任務(wù)中,結(jié)合實(shí)際應(yīng)用情況,設(shè)置固定的效用值,利用淺層的特征復(fù)用進(jìn)行輔助分類。VS-ResNet網(wǎng)絡(luò)中輔助分類器的效用值設(shè)置為0.1。輔助分類器由1 個(gè)平均池化層、1個(gè)卷積層和2個(gè)全連接層組成,如圖4所示。
圖像經(jīng)過ResNet 50 中的卷積層2 提取特征后,生成特征圖輸入到第1 個(gè)輔助分類器。首先通過1 個(gè)平均池化下采樣層減少網(wǎng)絡(luò)參數(shù)量,該層使用14×14 大小的池化尺寸,步距為6;再進(jìn)入卷積層,該卷積層使用128 個(gè)1×1 的卷積核,滑動(dòng)步長為1;然后將得到的結(jié)果展平輸入到繼該層后的全連接層。
在2個(gè)全連接層中進(jìn)行50%的Dropout[24]操作,預(yù)防過擬合情況。第2 個(gè)輔助分類器與第1 個(gè)輔助分類器部分參數(shù)不同,使用5×5 池化尺寸替代了14×14 池化尺寸,步距由6 修改為3,這是基于輔助分類器在卷積神經(jīng)網(wǎng)絡(luò)中的位置做出的修改。2 個(gè)全連接層的輸入分別為2 048和1 024個(gè)神經(jīng)元。將2個(gè)輔助分類器的輸出結(jié)果,乘以VS-ResNet 中設(shè)置的效用比,再添加到最終的分類結(jié)果中。輔助分類器的加入增加了網(wǎng)絡(luò)反向傳播的梯度,緩解了梯度消失現(xiàn)象。
對(duì)于特征提取網(wǎng)絡(luò)模塊,VS-ResNet 將殘差塊結(jié)構(gòu)由漏斗模型改為瓶頸模型,使激活函數(shù)信息得到更好保存。改進(jìn)的ResNet 50 網(wǎng)絡(luò)結(jié)構(gòu)如表1 所示。
表1 改進(jìn)的ResNet 50 網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Structure of improved ResNet 50 network
借鑒ResNeXt-50 的結(jié)構(gòu)參數(shù),第1 個(gè)殘差結(jié)構(gòu)的卷積通道數(shù)由原來的[64,64,256]改為[256,256,128],后3 個(gè)殘差結(jié)構(gòu)同樣依次將[128,128,512]修改為[512,512,256],[256,256,1 024]修改為[1 024,1 024,512],[512,512,2 048]修改為[2 048,2 048,1 024]。在倒殘差結(jié)構(gòu)中引用組卷積方法,組數(shù)數(shù)值設(shè)置為32。本文參考Swin Transformer算法[25]模型,將原有層次結(jié)構(gòu)[3,4,6,3]修改為[3,3,9,3],并且在第2 層與第4 層后加入輔助分類器,在一定程度上加快網(wǎng)絡(luò)收斂速度并緩解梯度消失現(xiàn)象。
注意力機(jī)制能選擇性地忽略圖像中的部分低效信息,重點(diǎn)關(guān)注高效信息,降低對(duì)于低效部分的資源消耗,提升網(wǎng)絡(luò)利用率,并增強(qiáng)目標(biāo)檢測(cè)能力。因此在特征提取網(wǎng)絡(luò)中融入CBAM 注意力機(jī)制,將通道注意力機(jī)制和空間注意力機(jī)制連接起來[26],形成1 個(gè)簡單但有效的注意力模塊,其結(jié)構(gòu)如圖5 所示。
在通道注意力模塊中,首先對(duì)同1 個(gè)輸入特征空間分別進(jìn)行全局平均池化和全局最大池化,得到特征圖的空間信息,再將得到的特征空間信息輸入到下一層的多層感知機(jī)模塊中進(jìn)行降維、升維處理,多層感知機(jī)網(wǎng)絡(luò)中2 個(gè)共享卷積層的權(quán)重是共享的。然后將感知機(jī)網(wǎng)絡(luò)輸出的特征相加,再經(jīng)過Sigmoid 激活函數(shù)處理,得到通道注意力,其計(jì)算式如式(4)所示:
其中:Mc為通道注意力模塊計(jì)算因子;MMLP為多層感知機(jī);F表示特征向量??臻g注意力特征是對(duì)通道注意力的補(bǔ)充,反映輸入值在空間維度上的重要程度。首先對(duì)特征圖進(jìn)行1 個(gè)通道維度的全局平均池化和全局最大池化,然后將2 個(gè)特征拼接,最后通過7×7 的卷積降維到1 個(gè)通道后,使用Sigmoid 函數(shù)[27]處理,生成空間注意力特征圖,其計(jì)算式如式(5)所示:
其中:Ms為空間注意力模塊計(jì)算因子;ε為Sigmoid激活函數(shù);unit 為通道結(jié)合;Conv 為卷積操作。
為方便實(shí)驗(yàn)過程中使用預(yù)訓(xùn)練模型,CBAM 不嵌入所有卷積殘差塊,而是僅作用于不同卷積層。
為緩解Faster R-CNN 算法對(duì)于小目標(biāo)檢測(cè)能力不足的情況,本文將FPN 模型引入到Faster R-CNN目標(biāo)檢測(cè)算法中。FPN 模型分2 支網(wǎng)絡(luò)路線。其中1 支網(wǎng)絡(luò)路線自底而上產(chǎn)生多尺度特征,將高語義、低分辨率的高層特征和高分辨率、低語義的低層特征側(cè)邊連接[28];另1 支網(wǎng)絡(luò)路線自上而下,經(jīng)過部分層的改變后,將高層包含的豐富語義信息進(jìn)行層層傳遞到低層特征中融合[29]。FPN 對(duì)比SSD 算法同樣使用了多級(jí)特征以及多比例錨框,其中SSD 算法單獨(dú)預(yù)測(cè)低層數(shù)據(jù),難以保證較強(qiáng)的語義特征,對(duì)于小目標(biāo)檢測(cè)效果不理想。
圖6 所示為特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)。圖6 中左側(cè)自下而上計(jì)算順序的特征圖為{C2,C3,C4,C5},右側(cè)自下而上的特征金字塔結(jié)構(gòu)為{P2,P3,P4,P5}。CF-RCNN 算法使用上述VS-ResNet 作為FPN 結(jié)構(gòu)的主干提取網(wǎng)絡(luò)。其中圖6 左側(cè)圖像部分為下采樣模型,該模型在特征提取操作時(shí),將步長數(shù)值大小設(shè)置為{4,8,16,32};在右側(cè)圖像的上采樣模型中,上層特征圖經(jīng)過1×1 尺寸大小的卷積核卷積,將步長數(shù)值設(shè)置為1,通道數(shù)為256,以此調(diào)整維度保持一致,使其可以與下層特征融合。然后通過3×3 大小卷積后,消除2 倍上采樣過程中的混疊情況,得到特征圖。{P2,P3,P4,P5}共享RPN 和Fast R-CNN 的權(quán)重,在{P2,P3,P4,P5}特征圖上使用不同的{322,642,1282,2562}錨點(diǎn)尺寸與{1∶2,1∶1,2∶1}的錨點(diǎn)比例,選取待候選框。
圖6 特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Structure of feature pyramid network
非極大值抑制(NMS)[30]是目標(biāo)檢測(cè)算法中的重要部分,主要作用為消除在RPN 中產(chǎn)生的冗余候選框。消除標(biāo)準(zhǔn)和Soft-NMS 分值函數(shù)分別如式(6)和式(7)所示:
其中:Si和分別為NMS 和Soft-NMS 對(duì)應(yīng)的第i個(gè)候選框分值;M表示分值最大的候選框;bi為待評(píng)分候選框;IIoU表示bi和M的合并比;Nt為NMS 中設(shè)置的IIoU閾值。
當(dāng)待評(píng)分候選框與分值最大的候選框交并比大于閾值時(shí),NMS 刪除此待評(píng)分候選框,導(dǎo)致NMS 在部分擁擠且截?cái)喽嗟膹?fù)雜場(chǎng)景中,誤刪除重疊候選框。為解決此問題,CF-RCNN 使用Soft-NMS 算法。如果合并比小于閾值,分值不變,如果大于或等于閾值為Si乘以1 與合并比的差值。Soft-NMS 相比于NMS 并不是直接重疊的候選框,而是重置Si得到更小的分值。
結(jié)合上述改進(jìn)措施,CF-RCNN 算法結(jié)構(gòu)如圖7所示。
圖7 CF-RCNN 整體結(jié)構(gòu)Fig.7 Overall structure of CF-RCNN
首先,CF-RCNN 以圖片流作為輸入,基于倒殘差ResNet 50 模型提取圖像特征,并獲取中間特征矢量圖;其次,使用CBAM 注意力機(jī)制,在空間和通道2 個(gè)維度上計(jì)算注意力權(quán)重,調(diào)整中間特征圖參數(shù);基于FPN 網(wǎng)絡(luò)結(jié)構(gòu),將特征圖多尺度化;在每種特征圖上,RPN 網(wǎng)絡(luò)使用單尺度選擇可能包含物體的區(qū)域,并通過Soft-NMS 平衡正負(fù)樣本比例;最后,對(duì)選取區(qū)域中的物體進(jìn)行分類與位置回歸操作。
本文實(shí)驗(yàn)基于深度學(xué)習(xí)網(wǎng)絡(luò)框架PyTorch 1.81,編程語言為Python 3.8,CPU 配置為10 核Intel?Xeon?Gold 5218R CPU@2.10 GHz,內(nèi)存64 GB。GPU 配置為RTX 3090+CUDA 11.1,顯存24 GB。操作系統(tǒng)使用Ubuntu 18.04 版本。
為驗(yàn)證CF-RCNN 中的改進(jìn)措施對(duì)于提升目標(biāo)檢測(cè)性能的有效性,本文分別在CIFAR-10 數(shù)據(jù)集[31]以及Pascal VOC 2012 數(shù)據(jù)集[32]上進(jìn)行對(duì)象識(shí)別和目標(biāo)檢測(cè)實(shí)驗(yàn)。
CIFAR-10 數(shù)據(jù)集共有6 萬張圖片,分為10 類待識(shí)別物體,每類待識(shí)別物體有6 000 張圖片容量,訓(xùn)練集與測(cè)試集比例為5∶1。
Pascal VOC 2012 數(shù)據(jù)集包含20 個(gè)檢測(cè)類別,共17 125 張圖片,其中應(yīng)用于目標(biāo)檢測(cè)的訓(xùn)練集有5 718 張圖片,驗(yàn)證集有5 824 張圖片,其余圖片用于圖像分割等應(yīng)用。
本文為輔助分類器設(shè)置不同的效用比,分別為0.05、0.10、0.15、0.20、0.30,并且基于CIFAR-10 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。模型在不同效用比下的實(shí)驗(yàn)結(jié)果如表2 所示,當(dāng)效用比為0.10 時(shí),模型分類正確率最高。當(dāng)效用比低于0.10 時(shí),模型不能充分利用圖片的底層信息,當(dāng)效用比過大時(shí),又減弱了VS-ResNet的高層特征提取優(yōu)勢(shì)。
表2 模型在不同效用比下的實(shí)驗(yàn)結(jié)果Table 2 Experimental results of the model under different utility ratios
本文對(duì)比VGG16、ResNet 50 以及VS-ResNet 網(wǎng)絡(luò)在CIFAR-10 數(shù)據(jù)集上隨迭代次數(shù)增加其錯(cuò)誤率的變化。迭代次數(shù)設(shè)置為35 次,訓(xùn)練批次為16,學(xué)習(xí)率設(shè)置為0.000 1。不同網(wǎng)絡(luò)模型的錯(cuò)誤率對(duì)比如表3 和圖8 所示。
表3 不同卷積網(wǎng)絡(luò)最低錯(cuò)誤率對(duì)比Table 3 Comparison of the lowest error rates among different convolutional networks
圖8 VS-ResNet、ResNet 50、VGG16 錯(cuò)誤率對(duì)比Fig.8 Comparison of error rates among VS-ResNet,ResNet 50,VGG16
從表3 可以看出,ResNet 50 網(wǎng)絡(luò)比傳統(tǒng)VGG16網(wǎng)絡(luò)在對(duì)象分類任務(wù)中表現(xiàn)出更優(yōu)的性能,正確率提高了1.65 個(gè)百分點(diǎn)。VS-ResNet 網(wǎng)絡(luò)與初始ResNet 50 相比提高了1.32 個(gè)百分點(diǎn),相比VGG16網(wǎng)絡(luò)提升2.97 個(gè)百分點(diǎn)。
從圖8 可以看出,VGG16 模型在收斂速度上具有一定優(yōu)勢(shì),在迭代前10 次時(shí)優(yōu)勢(shì)較為明顯,在迭代15 次后,VGG16 模型下降梯度變小并逐漸趨于飽和。VS-ResNet 模型在一定程度上緩解了ResNet 50 收斂速度過慢的問題,迭代前5 次收斂速度改善效果明顯,在迭代15 次后的分類錯(cuò)誤率比ResNet 50、VGG16有了明顯優(yōu)勢(shì)。綜上所述,VS-ResNet網(wǎng)絡(luò)加快了ResNet 50 的收斂速度,降低了分類錯(cuò)誤率。
為驗(yàn)證不同優(yōu)化策略對(duì)算法性能的影響,目標(biāo)檢測(cè)實(shí)驗(yàn)以傳統(tǒng)Faster R-CNN 算法為基準(zhǔn),結(jié)合上述優(yōu)化措施進(jìn)行實(shí)驗(yàn)。
3.3.1 AP50檢測(cè)精度對(duì)比
本文實(shí)驗(yàn)將初始化學(xué)習(xí)率設(shè)置為0.005,動(dòng)量參數(shù)設(shè)為0.9,權(quán)值衰減系數(shù)設(shè)為0.000 5。AP50指在IoU 閾值為0.5 情況下的檢測(cè)精度[33]。批次大小為16,迭代數(shù)為20 000 次。不同優(yōu)化策略對(duì)模型性能的影響如表4 所示。
表4 不同優(yōu)化策略對(duì)模型性能的影響Table 4 The impact among different optimization strategies on model performance
從表4 可以看出,CF-RCNN(VS-ResNet+CBAM+FPN+Soft-NMS)與Faster R-CNN(VGG16)相比,其檢測(cè)精度AP50提升了13.9 個(gè)百分點(diǎn),為76.2%,平均處理時(shí)間稍遜于Faster R-CNN,但依舊能夠滿足實(shí)時(shí)性要求。
3.3.2 小尺寸目標(biāo)AP 檢測(cè)精度對(duì)比
為驗(yàn)證改進(jìn)措施對(duì)小尺寸目標(biāo)檢測(cè)能力的影響,本文選取尺寸小于32×32 像素物體作為實(shí)驗(yàn)?zāi)繕?biāo),對(duì)比檢測(cè)精度。AP 值指對(duì)于10 個(gè)不同IoU 閾值0.50∶0.05∶0.95 取得的平均AP 精度,結(jié)果如表5所示。
表5 FPN 與Soft-NMS 對(duì)Faster R-CNN 性能的影響Table 5 The effect of FPN and Soft-NMS on the performance of Faster R-CNN %
從表5 可以看出,F(xiàn)PN 與Soft-NMS 引入到Faster R-CNN 模型后,相比Faster R-CNN 對(duì)于小尺寸物體檢測(cè)AP 值提升15.4 個(gè)百分點(diǎn),緩解了目標(biāo)檢測(cè)算法基于小尺寸物體檢測(cè)性能較弱的問題。
3.3.3 截?cái)嗄繕?biāo)實(shí)例對(duì)比
為驗(yàn)證改進(jìn)后算法是否優(yōu)化了原始算法對(duì)于截?cái)嗄繕?biāo)的檢測(cè)能力。人為編輯圖片,截取部分檢測(cè)物體,本文分別使用CF-RCNN 與Faster R-CNN 進(jìn)行檢測(cè),檢測(cè)結(jié)果如圖9 所示。從圖9 可以看出,CF-RCNN的目標(biāo)檢測(cè)正確率大于Faster R-CNN,且圖像框精準(zhǔn)度與分類可能性更高。
圖9 截?cái)嗄繕?biāo)檢測(cè)結(jié)果對(duì)比Fig.9 Comparison of truncated object detection results
3.3.4 召回率對(duì)比
表6 所示為算法優(yōu)化前后在Pascal VOC 2012 數(shù)據(jù)集上的召回率。AR 值為平均召回率[34],指對(duì)于不同IoU 取最大召回率再求平均值。經(jīng)改進(jìn)后的算法在Pascal VOC 2012 上召回率由原有的53.9%變?yōu)?2.8%,提升8.9 個(gè)百分點(diǎn)。
表6 算法優(yōu)化前后召回率對(duì)比Table 6 Comparison of recall before and after algorithm optimization %
3.3.5 算法效率對(duì)比
本文采用包括YOLOv3 和SSD 算法[35]在內(nèi)的不同經(jīng)典算法與CF-RCNN 算法進(jìn)行對(duì)比,實(shí)驗(yàn)基于相同數(shù)據(jù)集,保證算法的實(shí)驗(yàn)環(huán)境一致。經(jīng)典目標(biāo)檢測(cè)算法與CF-RCNN 算法性能對(duì)比如表7所示。
表7 經(jīng)典目標(biāo)檢測(cè)算法與CF-RCNN 算法性能對(duì)比Table 7 Comparison of performance between classical object detection algorithms and CF-RCNN algorithm
CF-RCNN 相對(duì)其他2 種經(jīng)典目標(biāo)檢測(cè)算法處理時(shí)間較長,但是滿足基本的實(shí)時(shí)性要求,并且檢測(cè)精度高于YOLOv3 和SSD 算法。
3.3.6 適應(yīng)能力對(duì)比
為檢驗(yàn)CF-RCNN 算法對(duì)于物體截?cái)嗯c遮擋情況的適應(yīng)能力,本文在Pascal VOC 2012 數(shù)據(jù)集上篩選出存在物體遮擋或截?cái)嗲闆r的圖像,分別采用Faster R-CNN 與CF-RCNN 進(jìn)行對(duì)比實(shí)驗(yàn)。圖10 所示為算法優(yōu)化前后檢測(cè)結(jié)果對(duì)比。從圖10 可以看出,傳統(tǒng)Faster R-CNN 算法基本可以滿足簡單環(huán)境的截?cái)嗷蛘趽跷矬w的檢測(cè)需求,對(duì)象類別分類的結(jié)果與CF-RCNN 算法差別不明顯,但是在物體位置框選擇方面卻明顯遜于CF-RCNN 算法。在場(chǎng)景較復(fù)雜的物體截?cái)嗷蛘趽跚闆r中,傳統(tǒng)Faster R-CNN存在大部分錯(cuò)檢與漏檢現(xiàn)象;CF-RCNN 算法則彌補(bǔ)了此類缺陷,有效緩解了在遮擋或截?cái)嗲闆r下檢測(cè)結(jié)果不理想的情況。
圖10 算法優(yōu)化前后檢測(cè)結(jié)果對(duì)比Fig.10 Comparison of detection results before and after algorithm optimization
原始Faster R-CNN 算法對(duì)小尺寸目標(biāo)以及遮擋或截?cái)辔矬w的檢測(cè)結(jié)果不理想。本文提出改進(jìn)后的CF-RCNN 算法。設(shè)計(jì)VS-ResNet 網(wǎng)絡(luò),并與VGG16網(wǎng)絡(luò)對(duì)比,該網(wǎng)絡(luò)不僅保留VGG16 網(wǎng)絡(luò)迭代收斂速度快的特點(diǎn),而且提升了網(wǎng)絡(luò)的識(shí)別正確率。FPN與CBAM 模塊的引入,加強(qiáng)了算法針對(duì)小尺寸遮擋或截?cái)辔矬w的檢測(cè)能力。實(shí)驗(yàn)結(jié)果表明,CF-RCNN算法不僅在面對(duì)簡單場(chǎng)景時(shí)具有較優(yōu)的檢測(cè)結(jié)果,而且基于復(fù)雜環(huán)境也具有較優(yōu)的穩(wěn)定性。下一步將探索和研究級(jí)聯(lián)多個(gè)檢測(cè)器的方法,以解決單個(gè)物體存在多個(gè)預(yù)測(cè)框的問題。