馬佳良,陳 斌,孫曉飛
(1.中國(guó)科學(xué)院成都計(jì)算機(jī)應(yīng)用研究所,成都 610041;2.中國(guó)科學(xué)院大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,北京 100049;3.哈爾濱工業(yè)大學(xué)(深圳)人工智能研究院,廣東深圳 518055)
(*通信作者電子郵箱chenbin2020@hit.edu.cn)
近年來(lái),隨著深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的發(fā)展,計(jì)算機(jī)視覺研究人員見證了目標(biāo)檢測(cè)技術(shù)的快速進(jìn)步?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)器可分為兩類:二階段檢測(cè)器[1-5]和一階段檢測(cè)器[6-8]。一階段檢測(cè)器直接產(chǎn)生目標(biāo)的類別概率和位置坐標(biāo),經(jīng)過(guò)一次檢測(cè)即可直接得到最終的檢測(cè)結(jié)果。二階段檢測(cè)器則首先產(chǎn)生候選框,然后再對(duì)每個(gè)候選框預(yù)測(cè)類別和位置。二階段檢測(cè)器具備錯(cuò)誤率低和漏報(bào)率低的特點(diǎn),因此無(wú)論是在工業(yè)應(yīng)用還是學(xué)術(shù)研究中,針對(duì)二階段檢測(cè)器的改進(jìn)都受到廣泛關(guān)注。
二階段檢測(cè)器的檢測(cè)流程如圖1 所示,首先將一張圖片輸入骨干網(wǎng)絡(luò)提取特征,然后在圖片上均勻鋪設(shè)矩形錨框,再根據(jù)錨框和目標(biāo)的交并比進(jìn)行排序篩選,確定訓(xùn)練樣本,最后在特征圖上裁剪目標(biāo)特征送至后續(xù)的子網(wǎng)絡(luò)進(jìn)行訓(xùn)練。這個(gè)流程簡(jiǎn)單有效,幾乎成為了所有二階段檢測(cè)器的固定范式?;谠摲妒剑瑱z測(cè)器訓(xùn)練的成功與否取決于兩個(gè)關(guān)鍵方面:1)所選區(qū)域樣本是否具有代表性;2)輸入任務(wù)網(wǎng)絡(luò)的視覺特征是否準(zhǔn)確。使用物體的最小外接矩形來(lái)表示目標(biāo)的位置雖然很適合卷積運(yùn)算,但這種形狀無(wú)關(guān)的設(shè)計(jì)顯然弱化了目標(biāo)的表示能力。這給上述兩個(gè)方面帶來(lái)了顯著的問(wèn)題,這些問(wèn)題不僅阻礙了模型功能的充分利用,還限制了模型的檢測(cè)性能。
下面詳細(xì)描述這兩個(gè)問(wèn)題:
1)無(wú)論是在判斷樣本正負(fù)還是在應(yīng)用非極大值抑制(Non-Maximum Suppression,NMS)時(shí),交并比(Intersection over Union,IoU)都是評(píng)價(jià)包圍框質(zhì)量的最重要的標(biāo)準(zhǔn),高IoU往往代表著優(yōu)質(zhì)樣本。但實(shí)際上,由于物體的形狀各不相同,錨框內(nèi)的特征除了包含物體內(nèi)的有效信息,還有物體外的背景信息,非目標(biāo)的背景區(qū)域會(huì)誤導(dǎo)模型的判斷。具體來(lái)說(shuō),如圖1 所示,在右下的目標(biāo)附近預(yù)設(shè)了包圍框A 和包圍框B,根據(jù)交并比計(jì)算公式,包圍框A 與真值(Ground Truth,GT)框的IoU 為0.69,包圍框B 與GT 的IoU 僅為0.64。但通過(guò)觀察很容易發(fā)現(xiàn),包圍框A 位于有效目標(biāo)的外部,而包圍框B 位于目標(biāo)的內(nèi)部,顯然包圍框B包含更多的有效信息,應(yīng)當(dāng)是更有效的樣本。
圖1 二階段檢測(cè)器檢測(cè)過(guò)程示意圖Fig.1 Schematic diagram of detection process of two-stage detector
2)為了解決候選區(qū)域尺寸各異、數(shù)量龐大的問(wèn)題,F(xiàn)ast R-CNN(Fast Region-based Convolutional Neural Network)[1]首先提出感興趣區(qū)域池化(Region of Interest Pooling,RoI Pooling)操作,RoI Pooling 從分辨率不同的輸入特征中獲得固定大小的特征圖來(lái)完成后續(xù)任務(wù),這一改進(jìn)極大地提高了二階段檢測(cè)器的效率,成為了往后大部分目標(biāo)檢測(cè)器的標(biāo)配組件。但RoI Pooling 是一種均勻的網(wǎng)格下采樣方法,無(wú)論候選區(qū)域框是什么形狀,長(zhǎng)寬比例多么懸殊,最后都會(huì)被采樣成為固定尺寸的、更小的正方形特征圖。在這個(gè)過(guò)程中,目標(biāo)的幾何形狀信息會(huì)嚴(yán)重受損,特征也會(huì)發(fā)生扭曲變形,這不利于后續(xù)子任務(wù)的準(zhǔn)確完成。
針對(duì)上述問(wèn)題,在傳統(tǒng)Faster R-CNN(Faster Regionbased Convolutional Neural Network)[2]算法基礎(chǔ)上,提出了一個(gè)改進(jìn)的二階段目標(biāo)檢測(cè)框架——Accurate R-CNN。在該框架的實(shí)現(xiàn)中,首先提出了有效交并比(Effective IoU,EIoU),它基于越靠近目標(biāo)中心的包圍框越有效的啟發(fā)式認(rèn)識(shí),以中心度權(quán)重衡量有效主要樣本。該判別依據(jù)使模型對(duì)有效樣本更加敏感。除此之外,本文還提出了一個(gè)上下文內(nèi)容相關(guān)的特征重分配模塊(Feature Reassignment Module,F(xiàn)RM)。該組件通過(guò)兩種內(nèi)核編碼水平垂直方向上的孤立遠(yuǎn)程關(guān)系和全局多尺度上下文,并根據(jù)目標(biāo)的幾何信息對(duì)特征進(jìn)行重編碼,以彌補(bǔ)常規(guī)池化方法引起的特征扭曲變形。
本文在微軟多場(chǎng)景通用目標(biāo)(MS COCO)檢測(cè)和實(shí)例分割數(shù)據(jù)集上驗(yàn)證了模型的性能。在無(wú)需額外技巧的情況下,針對(duì)目標(biāo)檢測(cè)任務(wù),使用殘差網(wǎng)絡(luò)(Residual Network,ResNet)進(jìn)行驗(yàn)證,本文實(shí)驗(yàn)采用ResNet50 和ResNet101 作為主干,Accurate R-CNN 相較于Faster R-CNN 的平均精度(Average Precision,AP)提高了1.7 個(gè)百分點(diǎn)和1.1 個(gè)百分點(diǎn),顯著地超越了使用同樣骨干網(wǎng)絡(luò)的基于掩膜的檢測(cè)器。除此之外,在添加掩膜分支后,使用ResNet50 和ResNet101 作為主干,Accurate R-CNN 相較于Mask R-CNN(Mask Regionbased Convolutional Neural Network)的掩膜平均精度(mask Average Precision,mAP)也能提高1.2 個(gè)百分點(diǎn)和1.1 個(gè)百分點(diǎn)。最后在更小的PASCAL VOC 檢測(cè)數(shù)據(jù)集上進(jìn)一步驗(yàn)證了Accurate R-CNN 的檢測(cè)效果,Accurate R-CNN 同樣在平均精度上取得了1.4 個(gè)百分點(diǎn)的提升,驗(yàn)證了本文方法的通用性。
He等[9]通過(guò)在卷積層和全連接層之間加入空間金字塔池化結(jié)構(gòu),對(duì)候選框所對(duì)應(yīng)的特征采用金字塔空間池化,提取出固定長(zhǎng)度的特征向量,顯著地提高了網(wǎng)絡(luò)的訓(xùn)練速度。RoI Pooling[1]從深度神經(jīng)網(wǎng)絡(luò)提取的特征中獲得的固定大小的特征圖,在顯著地提高了網(wǎng)絡(luò)訓(xùn)練和推理速度的同時(shí),提高了檢測(cè)的準(zhǔn)確率。RoI Warping Pooling[10]引入了雙線性插值來(lái)生成更小的感興趣區(qū)域,這使得池化方式對(duì)位置信息更加敏感。除此之外,下采樣過(guò)程也有了梯度的傳導(dǎo),采樣結(jié)果更加準(zhǔn)確。Position-Sensitive RoI Pooling[11]為骨干網(wǎng)絡(luò)提取的特征設(shè)計(jì)了一個(gè)位置敏感的分?jǐn)?shù)圖,人工引入位置信息到通道維度,從而有效改善較深的神經(jīng)網(wǎng)絡(luò)對(duì)物體位置信息的敏感程度。RoI Align[4]是在Mask R-CNN[4]這篇論文里提出的一種區(qū)域特征聚集方式,它很好地解決了ROI 池化操作中兩次量化造成的區(qū)域不匹配問(wèn)題,具體來(lái)說(shuō),RoI Align取消了原來(lái)的量化操作,使用雙線性插值的方法,對(duì)坐標(biāo)為浮點(diǎn)數(shù)的像素取周圍的多個(gè)近鄰像素計(jì)算目標(biāo)采樣值,從而將整個(gè)特征聚集過(guò)程轉(zhuǎn)化為一個(gè)連續(xù)的操作。Precise RoI Pooling[12]不再有RoI Align中取近鄰像素點(diǎn)數(shù)目的參數(shù),也不再涉及量化取整操作,該方法針對(duì)整個(gè)感興趣區(qū)域里的特征圖求積分,采樣點(diǎn)更密集,同時(shí)所有的像素值也都有梯度的傳遞。Deformable RoI Pooling[13]首先從感興趣區(qū)域中生成池化后的特征圖,然后通過(guò)全連接層生成對(duì)應(yīng)感興趣區(qū)域采樣點(diǎn)的偏移量,擴(kuò)大池化范圍。這種可變形池化技術(shù)顯著地改善了無(wú)人駕駛汽車對(duì)魚眼相機(jī)中畸變目標(biāo)的重建模能力[14]。不同于先前的工作,本文關(guān)注的不是更密集的采樣點(diǎn)或擴(kuò)大感興趣區(qū)域的池化感受野,而是提出了一個(gè)內(nèi)容相關(guān)的特征重分配模塊,它同時(shí)考慮目標(biāo)的孤立區(qū)域和全局區(qū)域的上下文,對(duì)感興趣區(qū)域內(nèi)的特征重新建模,以減少下采樣過(guò)程中的目標(biāo)幾何語(yǔ)義的損失。
上下文建模方法被廣泛地應(yīng)用于目前最先進(jìn)的場(chǎng)景分析(或語(yǔ)義分割)方法中。早期用于場(chǎng)景分析的上下文關(guān)系建模技術(shù)涉及條件隨機(jī)場(chǎng)(Conditional Random Field,CRF)[15-16],它們大多是在離散的標(biāo)簽空間中建模的,而且計(jì)算量大。對(duì)于連續(xù)的特征空間學(xué)習(xí),先前的工作使用多尺度特征聚合[17-20]來(lái)融合上下文信息,通過(guò)多個(gè)視野的過(guò)濾器或池化操作來(lái)融合上下文信息。Chen 等[21-22]通過(guò)擴(kuò)張卷積(Dilated Convolution)融合不同的擴(kuò)張率特征,以增加網(wǎng)絡(luò)的感受野,獲取更多的上下文信息。在后續(xù)的改進(jìn)中[23],作者進(jìn)一步引入編碼器-解碼器(encoder-decoder)結(jié)構(gòu),更好地利用骨干網(wǎng)絡(luò)提取的低層特征。DenseASPP(Dense Atrous Spatial Pyramid Pooling)[24]使用密集連接的方式將每個(gè)擴(kuò)張卷積的輸出結(jié)合到一起,通過(guò)一系列的擴(kuò)張卷積組合級(jí)聯(lián),后面的神經(jīng)元會(huì)獲得越來(lái)越大的感受野,同時(shí)也避免了過(guò)大擴(kuò)張率的卷積導(dǎo)致的卷積退化。除此之外,聚合非局部上下文對(duì)模型捕獲長(zhǎng)距依賴也很有效,CCNe(tCriss-Cross attention Network)[25]對(duì)于每個(gè)像素使用一個(gè)交叉注意力模塊來(lái)獲得其交叉路徑上的上下文信息,并通過(guò)一個(gè)循環(huán)操作,使得每個(gè)像素可以捕獲所有像素的長(zhǎng)依賴關(guān)系。形狀可變上下文算法[26]對(duì)于每一個(gè)目標(biāo)像素設(shè)置其對(duì)應(yīng)的上下文窗口,利用一個(gè)卷積對(duì),計(jì)算上下文窗口中所有其他位置的卷積響應(yīng)與目標(biāo)像素處的卷積響應(yīng)之差,根據(jù)差的大小確定某位置與目標(biāo)像素的關(guān)聯(lián)程度。提高感受野的另一個(gè)研究方向是空間金字塔池化[27],通過(guò)在每個(gè)金字塔級(jí)別采用一組具有唯一內(nèi)核大小的并行池操作,網(wǎng)絡(luò)能夠捕獲更大范圍的上下文。在本文的工作中,為了捕獲不同形狀的目標(biāo)的全局和局部依賴,針對(duì)目標(biāo)的幾何特點(diǎn)設(shè)計(jì)了對(duì)應(yīng)的內(nèi)核,最后結(jié)合所有幾何特征學(xué)習(xí)特征圖的變形函數(shù)。
深度學(xué)習(xí)中針對(duì)包圍框采樣方法的改進(jìn)主要分兩個(gè)方向:第一個(gè)方向是從損失函數(shù)入手,通過(guò)反向傳播間接地突出重要的包圍框。OHEM(Online Hard Example Mining)[28]在訓(xùn)練的過(guò)程中選用損失值最大的前一部分包圍框當(dāng)作困難樣例,給這些樣例更大的損失權(quán)重。聚焦損失函數(shù)(Focal Loss)[6]解決了目標(biāo)檢測(cè)中正負(fù)樣本比例嚴(yán)重失衡的問(wèn)題,降低了大量簡(jiǎn)單負(fù)樣本在訓(xùn)練中所占的權(quán)重。第二個(gè)方向是在交并比的基礎(chǔ)上,啟發(fā)式地選擇合適的預(yù)設(shè)包圍框。角度加權(quán)交并比[29]利用方向信息和包圍框邊的空間位置關(guān)系改進(jìn)訓(xùn)練集中包圍框的選擇。SCSiamRPN(Strong-Coupled Siamese Region Proposal Network)[30]在原始交并比上添加近似約束,通過(guò)在包圍框回歸任務(wù)的損失函數(shù)中添加以交并比為主變量的加權(quán)系數(shù),提高中心樣本的貢獻(xiàn),進(jìn)而提升邊框的定位精度。交并比平衡采樣(IoU-balanced sampling)[31]在統(tǒng)計(jì)了全部錨框和真值的交并比后,針對(duì)負(fù)樣本的交并比分布設(shè)計(jì)了分層抽樣。主要樣本注意力(PrIme Sample Attention,PISA)[32]提出了IoU Hierarchical Local Rank,它既反映了局部的IoU 關(guān)系(即每個(gè)真值目標(biāo)周圍的包圍框),又反映了全局的IoU 關(guān)系(即覆蓋整個(gè)圖像的包圍框)。Dynamic R-CNN(Dynamic Region-based Convolutional Neural Network)[33]根據(jù)訓(xùn)練期間感興趣區(qū)域的統(tǒng)計(jì)信息自動(dòng)調(diào)整標(biāo)簽分配標(biāo)準(zhǔn)(IoU閾值),逐步提高正樣本篩選的閾值。Cascade R-CNN(Cascade Regionbased Convolutional Neural Network)[5]級(jí)聯(lián)不同IOU 閾值來(lái)界定正負(fù)樣本的輸出,使不同IOU 值檢測(cè)與其相對(duì)應(yīng)的IOU 值的目標(biāo)。不同于之前的工作,本文在IoU 的基礎(chǔ)上提出了一種新的樣本評(píng)價(jià)標(biāo)準(zhǔn)——有效交并比(EIoU),該標(biāo)準(zhǔn)針對(duì)包圍框的幾何特點(diǎn),根據(jù)包圍框的中心度衡量有效主要樣本。
本文提出的Accurate R-CNN 的整體架構(gòu)如圖2 所示。本章首先介紹提出的有效交并比,該評(píng)價(jià)標(biāo)準(zhǔn)應(yīng)用于錨框初始化和非極大值抑制中,可以使網(wǎng)絡(luò)獲得更準(zhǔn)確的有效樣本,學(xué)習(xí)到更準(zhǔn)確的目標(biāo)特征。然后,介紹提出的特征重分配模塊,該模塊在檢測(cè)網(wǎng)絡(luò)中放置于感興趣區(qū)域池化操作之前,可以根據(jù)局部和全局上下文學(xué)習(xí)一種內(nèi)容相關(guān)的特征變形方法,有效地緩解常規(guī)池化導(dǎo)致的特征損失。最后,介紹整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)和一些實(shí)現(xiàn)細(xì)節(jié)。
圖2 Accurate R-CNN示意圖Fig.2 Schematic diagram of Accurate R-CNN
交并比作為相似程度的度量,是判斷包圍框準(zhǔn)確與否的關(guān)鍵指標(biāo),無(wú)論是在感興趣區(qū)域篩選,還是非極大值抑制中,交并比都是判斷一個(gè)包圍框的位置質(zhì)量的第一標(biāo)準(zhǔn)。由于原始交并比的設(shè)計(jì)缺陷,一些對(duì)檢測(cè)很重要的包圍框被視為冗余而被剔除了。針對(duì)第1 章提出的假設(shè),即使交并比值相等,在目標(biāo)內(nèi)的包圍框應(yīng)該比在目標(biāo)外的包圍框更重要。受到FCOS(Fully Convolutional One-Stage object detection)[8]的 啟發(fā),本文使用“中心度”來(lái)衡量一個(gè)包圍框在目標(biāo)內(nèi)的程度,中心度通常用來(lái)表示包圍框的中心到目標(biāo)的真值包圍框的中心的標(biāo)準(zhǔn)化距離。EIoU 啟發(fā)式地認(rèn)為,更靠近真值包圍框中心的錨框,可能包含更多的有效目標(biāo),應(yīng)當(dāng)被認(rèn)為更重要。
最后使用中心度權(quán)重修正原始交并比值得到EIoU:
其中:IoU為包圍框B和真值框的交并比值。可以在圖3 中看到,使用中心度權(quán)重校正包圍框的交并比之后,靠近目標(biāo)內(nèi)部的包圍框得分更高。
圖3 EIoU的中心度權(quán)重示意圖Fig.3 Schematic diagram of centrality weight of EIoU
針對(duì)不同目標(biāo),感興趣區(qū)域池化操作無(wú)差別地將其下采樣成正方形。但由于目標(biāo)的形狀各不相同,特征圖的長(zhǎng)寬比例也沒(méi)有固定的關(guān)系,在這個(gè)過(guò)程中,特征可避免地會(huì)因?yàn)樽冃味鴵p失一些幾何特點(diǎn)。為了解決這個(gè)問(wèn)題,本文設(shè)計(jì)了一個(gè)可學(xué)習(xí)的特征重分配模塊,它根據(jù)目標(biāo)的全局上下文和幾何結(jié)構(gòu)特點(diǎn)對(duì)像素位置進(jìn)行重分配,以彌補(bǔ)下采樣過(guò)程中的特征損失。
如圖4 所示,提出的特征重分配模塊以特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[3]提取的目標(biāo)的分層特征為輸入,由分別捕獲不同位置之間短距離和長(zhǎng)距離依賴關(guān)系的兩種內(nèi)核組成。對(duì)于一個(gè)通道數(shù)為C、高為H、寬為W的輸入特征圖F,首先使用降維卷積壓縮輸入特征圖的通道數(shù)。對(duì)于長(zhǎng)距離依賴,使用水平和垂直的條帶池化操作來(lái)捕獲窄特征,這種條帶池化操作使分散在整個(gè)場(chǎng)景中的區(qū)域之間的連接成為可能。對(duì)于語(yǔ)義區(qū)域分布緊密的情況,使用輕量級(jí)的金字塔池化模塊[27]來(lái)獲取局部上下文信息,并在每個(gè)池化層后面接一個(gè)3×3的卷積使捕獲到的上下文更加精準(zhǔn)。該金字塔池化模塊總共包含兩個(gè)后接卷積層的自適應(yīng)池化層,和一個(gè)用于保存原始空間信息的二維卷積層,其中兩個(gè)自適應(yīng)池化層的池化因子設(shè)置為2×2 和5×5。最后通過(guò)連接操作將所有子路徑合并,得到特征最終的幾何編碼信息稱之為Fc。
圖4 特征重分配模塊示意圖Fig.4 Schematic diagram of feature reassignment module
接下來(lái)根據(jù)目標(biāo)的幾何編碼信息重分配目標(biāo)特征,以抵消感興趣區(qū)域池化操作引起的特征損失和變形。具體來(lái)說(shuō),對(duì)于輸入特征圖F,首先根據(jù)其幾何編碼信息Fc來(lái)學(xué)習(xí)特征圖上每一個(gè)像素點(diǎn)在水平和垂直方向上的移動(dòng)量δ∈R2×H×W,這個(gè)過(guò)程定義如下:
其中:conv1(?)是一個(gè)輸出通道為2的3×3卷積。定義特征圖F上的像素的初始位置為p,則該位置的像素值可寫為F(p),將歸一化后的位置移動(dòng)量δ(p)加到p上,得到該位置元素的新位置p*為:
其中:H和W表示感興趣區(qū)域特征圖的高和寬。
為了解決浮點(diǎn)偏移引起的量化問(wèn)題,采用雙線性機(jī)制確定采樣值,該機(jī)制以采樣點(diǎn)最近鄰的四個(gè)像素的值來(lái)近似輸出,該過(guò)程有如下定義:
其中:N(p)表示位置p的像素周圍最近的四個(gè)像素點(diǎn);wP表示根據(jù)每個(gè)鄰近像素和p的距離計(jì)算得到雙線性核權(quán)重。對(duì)所有像素應(yīng)用上述變形函數(shù)得到其對(duì)應(yīng)的重分配位置,并將重分配的特征圖作為后續(xù)RoI池化的輸入。
網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖2 所示,把錨框生成階段和RPN(Region Proposal Network)的NMS 階段中的IoU 判別標(biāo)準(zhǔn)替換為EIoU。除此之外,為了降低特征金字塔的相鄰特征層在合并時(shí)存在的語(yǔ)義鴻溝,在FPN的每組相鄰特征之間,對(duì)上采樣后的較粗糙分辨率的特征圖應(yīng)用一個(gè)3×3的可變形卷積網(wǎng)絡(luò)(Deformable Convolution Network,DCN)[13]。
檢測(cè)網(wǎng)絡(luò)的分類任務(wù)損失函數(shù)為:
其中:CE(Pi,Gi)表示交叉熵?fù)p失函數(shù),即單一樣本分類損失。對(duì)于真值標(biāo)簽為Gi,預(yù)測(cè)標(biāo)簽為Pi的候選框i,其交叉熵?fù)p失函數(shù)計(jì)算如下:
邊框回歸任務(wù)的損失函數(shù)如下所示:
其中:smoothL1(di[j])表示smooth L1 損失函數(shù);di為樣本i對(duì)應(yīng)的某一個(gè)邊框的預(yù)測(cè)值與正則化之后的真值的差(包括邊框的中心橫縱坐標(biāo)x和y,邊框的寬w和高h(yuǎn));Pos表示正樣本。其中smooth L1損失函數(shù)的計(jì)算方法如下:
總的損失函數(shù)的形式如下:
其中:Gi*在對(duì)應(yīng)錨框?yàn)殛?yáng)性時(shí)設(shè)置為1,否則設(shè)置為0。
本文在兩個(gè)公開數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn):
第一個(gè)是包含80 個(gè)類別的MS COCO 目標(biāo)檢測(cè)數(shù)據(jù)集和實(shí)例分割數(shù)據(jù)集。MS COCO 包含118 287 張用于訓(xùn)練的圖像(train2017),5 000 張用于驗(yàn)證的圖像(val2017)和20 000 張用于測(cè)試的圖像(test-dev)。其中test-dev數(shù)據(jù)集沒(méi)有公開標(biāo)簽,因此在MS COCO 官方服務(wù)器上測(cè)評(píng)test-dev 并匯報(bào)測(cè)試集的結(jié)果,使用val2017數(shù)據(jù)集匯報(bào)消融實(shí)驗(yàn)的結(jié)果。匯報(bào)的結(jié)果都遵循MS COCO 標(biāo)準(zhǔn)的平均精度(AP)指標(biāo),其中AP50表示使用IoU 閾值0.5 來(lái)確定預(yù)測(cè)的包圍框或者掩膜在評(píng)估中是否為陽(yáng)性,AP75同理。APS表示面積小于32×32個(gè)像素的目標(biāo)的平均精度值,APM表示面積在32×32個(gè)像素到96×96個(gè)像素之間的目標(biāo)的平均精度值,APL表示面積大于96×96個(gè)像素的目標(biāo)的平均精度值。后面不帶閾值表示的AP,指IoU 以0.50到0.95區(qū)間內(nèi)每隔0.05作為閾值時(shí)的平均結(jié)果。
第二個(gè)數(shù)據(jù)集是包含20 個(gè)類別的PASCAL VOC 目標(biāo)檢測(cè)數(shù)據(jù)集,其中有用于訓(xùn)練的12 000 張(VOC2007+VOC2012)圖像和用于驗(yàn)證的5 000張(VOC2007)圖像,在VOC驗(yàn)證數(shù)據(jù)集上報(bào)告的結(jié)果遵循VOC style的平均精度指標(biāo)。
本文中所有實(shí)驗(yàn)都是基于MMDetection[34]實(shí)現(xiàn)的。為了公平起見,本文使用該檢測(cè)庫(kù)重新實(shí)現(xiàn)了所有被對(duì)比的基線方法,值得注意的是重新實(shí)現(xiàn)的基線方法的效果比原始論文提高了超過(guò)1 個(gè)百分點(diǎn)。本文使用2 個(gè)NVIDIA GeForce RTX TITAN GPU 訓(xùn)練,該顯卡內(nèi)存為24 GB。對(duì)于COCO 數(shù)據(jù)集,輸入圖像的大小被等比例縮放到短邊為800 像素的尺寸,將每個(gè)GPU的批處理大小設(shè)置為8;對(duì)于VOC數(shù)據(jù)集,輸入圖像的大小被等比例縮放到短邊為600 像素的尺寸,將每個(gè)GPU的批處理大小設(shè)置為16。在兩個(gè)數(shù)據(jù)集上初始學(xué)習(xí)率均設(shè)為0.02,總共訓(xùn)練12 輪,在第8 和第11 輪以0.1 的比率下降學(xué)習(xí)率。所有實(shí)驗(yàn)使用設(shè)置動(dòng)量的隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化器訓(xùn)練,動(dòng)量設(shè)置為0.9。
在COCO test-dev 數(shù)據(jù)集上評(píng)估了本文提出的Accurate R-CNN,并與其他最先進(jìn)的二級(jí)檢測(cè)器進(jìn)行比較。所有結(jié)果見表1。
針對(duì)目標(biāo)檢測(cè)任務(wù),當(dāng)使用ResNet50 作為骨干網(wǎng)絡(luò)時(shí),提出的Accurate R-CNN 的AP比基于ResNet50 的Faster R-CNN 提高了1.7 個(gè)百分點(diǎn)。當(dāng)使用ResNet101 作為骨干網(wǎng)絡(luò)時(shí),提出的Accurate R-CNN 比基于ResNet101 的Faster RCNN 提高了1.1 個(gè)百分點(diǎn)。針對(duì)實(shí)例分割任務(wù),當(dāng)在Accurate R-CNN 中添加了掩膜分支后,如表1 所示,使用ResNet50 作為骨干網(wǎng)絡(luò)時(shí),Accurate R-CNN 的AP相比Mask RCNN(Mask Region-based CNN)在包圍框質(zhì)量上提高了1.5個(gè)百分點(diǎn),在掩膜質(zhì)量上提高了1.2 個(gè)百分點(diǎn)。當(dāng)使用ResNet101 作為骨干網(wǎng)絡(luò)時(shí),Accurate R-CNN 相比Mask RCNN,包圍框質(zhì)量提高了1.2個(gè)百分點(diǎn),掩膜質(zhì)量提高了1.1個(gè)百分點(diǎn)。這充分說(shuō)明了該方法在不同任務(wù)上的通用性。
表1 在COCO tes-dev數(shù)據(jù)集上的檢測(cè)結(jié)果Tab.1 Detection results on COCO test-dev dataset
本文還在PASCAL VOC 的驗(yàn)證數(shù)據(jù)集上測(cè)試了Accurate R-CNN 的性能,如表2 所示:當(dāng)使用ResNet50 作為骨干網(wǎng)絡(luò)時(shí),檢測(cè)性能提高了1.4 個(gè)百分點(diǎn);當(dāng)使用ResNet101 作為骨干網(wǎng)絡(luò)時(shí),檢測(cè)性能提高了1.4個(gè)百分點(diǎn)。在圖5中可視化了和基線方法相比每一類上的檢測(cè)效果,可以看到Accurate R-CNN幾乎對(duì)全部類別的檢測(cè)都有提升。
圖5 PASCAL VOC測(cè)試集上的檢測(cè)表現(xiàn)Fig.5 Detection performance on PASCAL VOC test set
表2 在PASCAL VOC數(shù)據(jù)集上的檢測(cè)結(jié)果Tab.2 Detection results on PASCAL VOC dataset
由圖6(a)和圖6(b)可知,在MS COCO 數(shù)據(jù)集上,針對(duì)目標(biāo)檢測(cè)的回歸和分類任務(wù),本文方法可以穩(wěn)定地降低訓(xùn)練過(guò)程中的損失函數(shù),使檢測(cè)目標(biāo)逐漸精準(zhǔn)。除此之外,在圖6(c)和圖6(d)中可以觀察到,和基線方法Faster R-CNN 相比,Accurate R-CNN 可以在相同的迭代次數(shù)下更快地提升包圍框的準(zhǔn)確性。當(dāng)添加了掩膜分支后,和基線方法Mask R-CNN相比,Mask Accurate R-CNN具備更快更好的掩膜分割性能。
圖6 訓(xùn)練過(guò)程中的損失和精度變化Fig.6 Loss and accuracy change in training process
通過(guò)一定的消融實(shí)驗(yàn)來(lái)分析本文方法,結(jié)果如表3 所示。首先對(duì)每個(gè)單獨(dú)改進(jìn)的效果進(jìn)行了實(shí)驗(yàn)驗(yàn)證,然后對(duì)不同組件組合后的改進(jìn)效果進(jìn)行分析。
表3 在COCO val數(shù)據(jù)集上基于ResNet-50骨干網(wǎng)絡(luò)的消融研究結(jié)果Tab.3 Ablation study results based on ResNet-50 backbone network on COCO val dataset
在使用EIoU 來(lái)代替原來(lái)的包圍框評(píng)價(jià)標(biāo)準(zhǔn)IoU 之后,平均精度提高了0.5 個(gè)百分點(diǎn),雖然提升幅度有限,但AP75和APM均提升了超過(guò)1個(gè)百分點(diǎn),這說(shuō)明對(duì)于中等大小尺寸的目標(biāo),包圍框混淆現(xiàn)象是很容易發(fā)生的。由于缺乏完全貼合的預(yù)設(shè)包圍框,模型會(huì)在真值包圍框的附近選擇部分次優(yōu)包圍框,EIoU有利于過(guò)濾掉質(zhì)量低的次優(yōu)包圍框。
在將FRM 單獨(dú)添加到基線檢測(cè)器中時(shí),模型取得了0.8個(gè)百分點(diǎn)的提升,其中大部分指標(biāo)的提升超過(guò)1 個(gè)百分點(diǎn),無(wú)論是大目標(biāo)還是小目標(biāo),均受益于FRM 優(yōu)秀的特征建模能力。這說(shuō)明FRM 有效地避免了不同形狀的目標(biāo)因?yàn)橄虏蓸映鼗鴮?dǎo)致的特征畸變。
在特征金字塔的相鄰特征層之間添加DCN 后,可以看到平均精度提升了0.8個(gè)百分點(diǎn),其中AP50、AP75均取得了超過(guò)1個(gè)百分點(diǎn)的提升。這說(shuō)明特征金字塔的相鄰特征層間是存在語(yǔ)義鴻溝的,直接將其放大并相加不夠準(zhǔn)確。可變形卷積在卷積核中引入偏移量,有效地緩解了特征合并過(guò)程中的語(yǔ)義差異,使特征金字塔構(gòu)建的分層特征更加準(zhǔn)確。
當(dāng)在基線方法中插入提出的FRM,并將IoU 替換為EIoU時(shí),相較于基線方法取得了1.0 個(gè)百分點(diǎn)的提升。當(dāng)在特征金字塔中添加可變形卷積,并在感興趣區(qū)域池化之前插入提出的FRM時(shí),相較于基線方法取得了1.4個(gè)百分點(diǎn)的提升,其中AP75取得了超過(guò)2 個(gè)百分點(diǎn)的提升。當(dāng)將全部組件添加到基線模型時(shí),可以達(dá)到38.8%的平均精度,相較于基線方法取得了1.6個(gè)百分點(diǎn)的提升。
在MS COCO 數(shù)據(jù)集中隨機(jī)選擇了3 000 張圖片用于檢測(cè)結(jié)果對(duì)比,骨干網(wǎng)絡(luò)為ResNet50,設(shè)置檢出分?jǐn)?shù)閾值為0.5。在全部檢測(cè)結(jié)果中挑選了10 對(duì)有代表性的對(duì)比結(jié)果進(jìn)行可視化,基線方法(Faster R-CNN)和本文方法(Accurate R-CNN with ResNet50)的檢測(cè)效果如圖7 所示。從圖7 可看出:本文方法Accurate R-CNN針對(duì)尺度差異大的目標(biāo)具有更高的檢出率,針對(duì)尺寸較大的目標(biāo)檢測(cè)到的邊框也更加準(zhǔn)確。
圖7 包圍框檢測(cè)效果對(duì)比(ResNet50)Fig.7 Comparison of bounding box detection effect(ResNet50)
本文方法Accurate R-CNN在實(shí)例分割任務(wù)上同樣表現(xiàn)出了較好的性能。針對(duì)添加了掩膜分支的Accurate R-CNN,檢測(cè)效果如圖8 所示。從圖8 可看出:對(duì)于長(zhǎng)寬相差懸殊(如長(zhǎng)凳、列車、提包)和由于遮擋而損失特征(如皮椅、紙杯)的兩類目標(biāo),帶掩膜分支的本文方法Accurate R-CNN 比基線方法均實(shí)現(xiàn)了更高的檢出率和更準(zhǔn)確的掩膜分割結(jié)果。
圖8 掩膜檢測(cè)效果對(duì)比Fig.8 Comparison of mask detection effect
本文從所選區(qū)域樣本是否具有代表性和輸入任務(wù)網(wǎng)絡(luò)的視覺特征是否準(zhǔn)確兩方面分析了基于深度學(xué)習(xí)的二階段檢測(cè)器的設(shè)計(jì)缺陷。針對(duì)該缺陷,在Faster R-CNN 的基礎(chǔ)上作出了幾個(gè)改進(jìn)使檢測(cè)效果會(huì)更加準(zhǔn)確。具體來(lái)說(shuō),本文提出了名為Accurate R-CNN 的二階段檢測(cè)器,通過(guò)有效交并比EIoU和特征重分配模塊FRM 兩個(gè)簡(jiǎn)單的組成部分,Accurate RCNN 可以在MS COCO 和PASCAL VOC 兩個(gè)數(shù)據(jù)集上顯著地改善基線方法。目前,本文提出的特征重分配模塊雖然可以方便地插入到大部分二階段檢測(cè)方法中,但對(duì)于不使用感興趣區(qū)域池化操作的單階段檢測(cè)器來(lái)說(shuō)尚不適用,后續(xù)研究將考慮把特征重分配的思想應(yīng)用到單階段檢測(cè)器中。