肖振久,趙昊澤,張莉莉,夏 羽,郭杰龍,俞 輝,李成龍,王俐文
(1.遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125000;2.中國(guó)兵器工業(yè)集團(tuán) 航空彈藥研究院有限公司,黑龍江 哈爾濱,150000;3.上海宇航系統(tǒng)工程研究所,上海 201100;4.中國(guó)科學(xué)院 海西研究院 泉州裝備制造研究中心,福建 泉州 362000)
幾年來深度學(xué)習(xí)在交通檢測(cè)、汽車自動(dòng)駕駛技術(shù)[1-2]、目標(biāo)跟蹤[3]、面部識(shí)別[4]、光學(xué)計(jì)量[5]、光學(xué)重建[6-7]等方面都有著十分廣泛的應(yīng)用,深度學(xué)習(xí)在這些場(chǎng)景廣泛的應(yīng)用都?xì)w根于深度神經(jīng)網(wǎng)絡(luò)的快速發(fā)展。
使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)檢測(cè)物體的想法在1998 年就產(chǎn)生了。Lecun[8]等人最先將CNN 分類方 法應(yīng)用 在檢測(cè)圖像中的目標(biāo)。后來,這種網(wǎng)絡(luò)變換方式被稱為全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)[9]。因?yàn)锳lexNet[10]的提出,使得以圖像分類網(wǎng)絡(luò)為主干圖像特征提取網(wǎng)絡(luò)的下游任務(wù)如:3D目標(biāo)檢測(cè)[11]、姿態(tài)檢測(cè)、圖像分割、面部識(shí)別等得到了快速發(fā)展。Girshick 等人將AlexNet 的目標(biāo)識(shí)別功能應(yīng)用到目標(biāo)檢測(cè)中,提出了一個(gè)目標(biāo)檢測(cè)算法(Regions with features,R-CNN[12])。R-CNN 基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)、線性回歸和支持向量機(jī)(Support Vector Machines,SVM[13])等 算法的目標(biāo)檢測(cè)框架,通過大量的計(jì)算開銷實(shí)現(xiàn)了目標(biāo)檢測(cè)技術(shù)。Girshick 等人在2015 年先后提出了Fast R-CNN[14]、Faster R-CNN[15],算法將 目標(biāo)檢 測(cè)任務(wù)分為兩個(gè)階段,并且分類和檢測(cè)共同訓(xùn)練,這種方式增加了檢測(cè)速度和檢測(cè)精度,但仍存在計(jì)算量較大的問題。Joseph 等人在2015 年提出了YOLOv1[16]算 法。但YOLOv1 算法缺 少對(duì)錨 框的預(yù)先設(shè)定,雖然檢測(cè)速度很快,但是檢測(cè)精度卻很低。Joseph 在YOLOv1 算法基礎(chǔ)上引入了不同尺度的預(yù)設(shè)錨框,提出了YOLOv2[17]算法和YOLOv3[18]算法。這些改進(jìn)使得YOLO[19-20]系列算法在保障檢測(cè)速度的同時(shí)也在一定程度上提高了算法的精度。
在深度學(xué)習(xí)的目標(biāo)檢測(cè)算法中,為了使預(yù)測(cè)框更快、更好、更準(zhǔn)地回歸到目標(biāo)的位置,對(duì)邊界框回歸損失函數(shù)的研究也經(jīng)歷了一系列的發(fā)展。在Fast R-CNN 中邊界框的回歸使用了Smooth L1損失函數(shù)。而在早期YOLO 系列算法中使用的是誤差平方和函數(shù)作為損失函數(shù)。以上兩種損失函數(shù)存在回歸數(shù)值和評(píng)價(jià)指標(biāo)不相關(guān)的問題,從而回歸效率不高。Yu[21]等人提出IoU 損失函數(shù),直接對(duì)真實(shí)框和預(yù)測(cè)框相交的部分進(jìn)行優(yōu)化,實(shí)現(xiàn)了到了優(yōu)化對(duì)象和評(píng)價(jià)指標(biāo)的相關(guān)性,但I(xiàn)oU 作為損失優(yōu)化存在無(wú)法梯度回傳的特殊情況。由此Rezatofig H[22]等人提出廣義交并比(Generalized Intersection over Union,GIoU)作為回歸損失部分的損失函數(shù),GIoU 通過回歸縮小不相交區(qū)域來優(yōu)化,但在兩框包含情況下會(huì)退化為IoU 損失。Zheng[23]等人認(rèn)為一個(gè)優(yōu)秀的IoU 損失應(yīng)該考慮回歸3 個(gè)幾何度量,即重疊面積、中心點(diǎn)距離和寬高比,并且在IoU 損失后加入中心點(diǎn)距離懲罰項(xiàng)和寬高比懲罰項(xiàng),提出了Distance-IoU(DIoU)和Complete IoU(CIoU)。但CIoU 中回歸的是寬高的比值,會(huì)出現(xiàn)回歸阻礙的問題?;谝陨蠁栴},本文提出了一種自適應(yīng)聚集CRIoU(Adaptive focal Complete Relativity,AF-CRIoU),完善回歸屬性,解決IoU、GIoU、CIoU 在特殊情況下的回歸阻礙問題。本文主要貢獻(xiàn)總結(jié)如下:
(1)基于IoU系列損失函數(shù)范式,提出A-CRIoU(Around CRIoU)損失函數(shù),完善了回歸任務(wù)和評(píng)價(jià)指標(biāo)的相關(guān)性和邊界框中心點(diǎn)回歸屬性的完整性,提高了檢測(cè)精度和收斂速度,同時(shí)彌補(bǔ)了IoU 與GIoU 在特殊情況下的缺點(diǎn)。將A-CRIoU損失應(yīng)用到傳統(tǒng)NMS 方法中,改善漏檢的情況。
(2)基于A-CRIoU 完善邊界框?qū)捀邔傩曰貧w屬性,不但考慮重疊面積和邊界框距離,進(jìn)一步添加關(guān)于寬高回歸的懲罰項(xiàng),而且懲罰項(xiàng)避免了CIoU回歸寬高比所造成的阻礙回歸問題,保證了回歸邊界框回歸屬性的完整性,提出了CRIoU 損失。結(jié)合Focal Loss 解決分類問題的樣本不均衡問題的方法,解決在回歸過程中高質(zhì)量樣本和低質(zhì)量樣本不均衡的問題,減少低質(zhì)量樣本過多而影響模型的學(xué)習(xí)。選用自適應(yīng)的加權(quán)因子,避免了Focal Loss 中對(duì)超參數(shù)調(diào)整的外開銷,由此定義AF-CRIoU 損失。
(3)將創(chuàng)新的A-CRIoU 損失應(yīng)用到目標(biāo)檢測(cè)網(wǎng)絡(luò)的非極大值抑制(Non-Maximum Suppression,NMS)處理中,通過調(diào)整不同得分閾值,提升了檢測(cè)精度。
(4)將最終創(chuàng)新的AF-CRIoU 損失函數(shù)分別在YOLOv3 和Faster R-CNN 網(wǎng)絡(luò)中進(jìn)行實(shí)驗(yàn),將AF-CIoU 應(yīng)用到安全帽檢測(cè)中并分析結(jié)果。
基于CNN 的目標(biāo)檢測(cè)算法包括單階段檢測(cè)算法和雙階段目標(biāo)檢測(cè)算法。相比于傳統(tǒng)目標(biāo)檢測(cè),基于分類的卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè)有:通過滑動(dòng)窗口提取感興趣區(qū)域、篩選感興趣區(qū)域、后處理的主要3 個(gè)步驟?;瑒?dòng)窗口和后處理部分都是常用的方法。所以這種方法通過對(duì)網(wǎng)絡(luò)中的特征提取模塊和分類模塊的改進(jìn),來提升網(wǎng)絡(luò)的特征提取能力和分類能力,從而獲得更為準(zhǔn)確的感興趣區(qū)域。
單階段目標(biāo)檢測(cè)算法沒有感興趣區(qū)域篩選部分,直接通過卷積神經(jīng)網(wǎng)絡(luò)完成特征提取、邊界框定位以及目標(biāo)分類等任務(wù)。最早被提出的單階段目標(biāo)算法是OverFeat[24]。YOLO 系列算法和SSD[25]通過對(duì)網(wǎng)絡(luò)的錨框定位部分和特征提取結(jié)構(gòu)的改進(jìn)達(dá)到了更好的檢測(cè)效果,其中SSD 算法在多尺度目標(biāo)檢測(cè)中取得了顯著效果。RetinaNet[26]中的Focal Loss 損失函數(shù)解決了數(shù) 據(jù)集中難易樣本和正負(fù)樣本的影響,其優(yōu)秀的結(jié)構(gòu)和檢測(cè)效果受到了廣泛關(guān)注。
IoU 作為一個(gè)評(píng)價(jià)指標(biāo),真實(shí)反映了檢測(cè)任務(wù)中預(yù)測(cè)和真實(shí)物體兩個(gè)形狀的重疊程度。IoU通過面積比值的方式來表示兩個(gè)形狀之間的相交程度。IoU 具有包括尺度不變性在內(nèi)的眾多特質(zhì),這些特質(zhì)保證了IoU 的衡量效果。IoU 計(jì)算公式如式(1):
其中:Overlap 代表兩個(gè)形狀相交部分的面積,Union 代表兩個(gè)形狀面積的總和。由于IoU 特性和計(jì)算結(jié)果滿足了目標(biāo)檢測(cè)任務(wù)中目標(biāo)的定位,它也被應(yīng)用于回歸損失函數(shù)中,并且IoU 損失在目標(biāo)檢測(cè)任務(wù)中取得了較好的結(jié)果。但當(dāng)兩個(gè)形狀沒有相交區(qū)域時(shí),IoU 損失函數(shù)的計(jì)算值為1,因沒有梯度回傳而無(wú)法進(jìn)行優(yōu)化。
GIoU 損失通過在損失函數(shù)中引入懲罰項(xiàng)的方式來避免損失值為0,梯度無(wú)法回傳的情況。如公式(2),式中1-IoU 部分表示真實(shí)框和預(yù)測(cè)框之間不相交的面積,通過對(duì)這一部分進(jìn)行回歸來縮小兩框不相交的面積,從而提高兩框的重疊程度,公式的后半部分表示兩框在最小外接矩形C中A 與B 不相交的空白區(qū)域,所以當(dāng)兩框不相交時(shí),依然可以通過最小化空白區(qū)域來進(jìn)行邊界框回歸。圖1 仿真了GIoU 損失的回歸過程,紅色為目標(biāo)框,綠色和黑色為預(yù)測(cè)框。當(dāng)兩框關(guān)系為互相包含關(guān)系時(shí),GIoU 會(huì)退化成IoU 損失,導(dǎo)致收斂速度變慢。
圖1 不同邊界框損失函數(shù)回歸過程的區(qū)別Fig.1 Difference of regression process of different boundary box loss functions
Zheng[20]等人表示一個(gè)優(yōu)秀的邊界框回歸應(yīng)該考慮重疊面積、中心點(diǎn)距離和寬高比這3 種幾何度量。DIoU 和CIoU 則包含這3 種幾何度量的回歸。DIoU 是在IoU 的基礎(chǔ)上引入了兩框中心點(diǎn)距離的懲罰項(xiàng),CIoU 損失則是在DIoU 的基礎(chǔ)上添加寬高比懲罰項(xiàng),因此CIoU 損失包含了重疊面積、中心點(diǎn)距離和寬高比3 種幾何度量的回歸。但是在CIoU 添加的寬高比懲罰項(xiàng)中回歸的具體數(shù)值是寬高比,CIoU 中的寬高比懲罰項(xiàng)和具體的寬高值沒有真實(shí)的對(duì)應(yīng)關(guān)系。在回歸比值過程中,如果預(yù)測(cè)的寬和高的真實(shí)值增大如圖1 中的CIoU 回歸過程所示,在第二次采樣回歸狀態(tài)時(shí),由于回歸比值,使得預(yù)測(cè)框的高誤差增大,因此CIoU 在回歸比值的情況下會(huì)造成真實(shí)值和預(yù)測(cè)值的誤差變大,這種情況下會(huì)對(duì)邊界框的回歸造成阻礙。
在目標(biāo)檢測(cè)中單階段目標(biāo)檢測(cè)運(yùn)行速度較快,但是受數(shù)據(jù)集中難易樣本和正負(fù)樣本的影響較大,其精度低于兩階段目標(biāo)檢測(cè)。為解決上述問題,Lin 等[26]提出了Focal Loss 函數(shù)。當(dāng)數(shù)據(jù)集中存在大量簡(jiǎn)單的樣本時(shí),這些損失值可以淹沒稀有的困難類,使困難類別不能被學(xué)習(xí)影響目標(biāo)檢測(cè)的精度。而Focal Loss 引入超參數(shù)的調(diào)制因子就是為了解決損失值被大量簡(jiǎn)單樣本淹沒的情況,平衡難易樣本的數(shù)量,使困難樣本在訓(xùn)練期間得以表現(xiàn),避免了只有簡(jiǎn)單樣本對(duì)模型的貢獻(xiàn)。Focal Loss 公式如圖2 中公式所示,γ是控制曲線形狀的超參數(shù),γ的值越大,易分類的樣本的損失就越小,這樣就可以把模型的注意力投向那些難分類的樣本,一個(gè)大的γ讓獲得小損失的樣本范圍變大。同時(shí),當(dāng)γ=0 時(shí),F(xiàn)ocal Loss 會(huì)退化為交叉熵?fù)p失函數(shù),不同參數(shù)值對(duì)應(yīng)的損失狀態(tài)如圖2所示。同樣的問題不僅在分類損失上,對(duì)于邊界框回歸損失也存在著大量低質(zhì)量樣本影響回歸收斂。
圖2 Focal Loss 不同γ 的損失變化情況Fig.2 Loss changes of different γ of Focal Loss
IoU 具有尺度不變性的優(yōu)點(diǎn)。根據(jù)IoU 損失函數(shù)進(jìn)行改進(jìn)通常是在IoU 損失函數(shù)后加入適當(dāng)?shù)膽土P項(xiàng)來對(duì)IoU 損失函數(shù)進(jìn)行修正,本文也根據(jù)同樣的思想進(jìn)行改進(jìn)。使用相關(guān)性較強(qiáng)的IoU 損失作為損失函數(shù)的基礎(chǔ)范式,加入兩框中心點(diǎn)距離信息作為IoU 損失的懲罰項(xiàng),提高了模型的收斂速度和回歸精度。改進(jìn)設(shè)計(jì)的公式范式如公式(3)所示:
其中:L為損失函數(shù),R(G,B)是改進(jìn)的IoU 損失函數(shù)中加入的懲罰項(xiàng),G表示預(yù)測(cè)框的參數(shù),B表示目標(biāo)框的參數(shù)。本文提出的改進(jìn)IoU 損失函數(shù)根據(jù)公式(3),加入帶有特殊信息的懲罰項(xiàng)來提升檢測(cè)效果,并對(duì)GIoU 損失的缺點(diǎn)加以彌補(bǔ)。其中引入的懲罰項(xiàng)之中的特殊信息要包含合適的邊界框的誤差信息,如距離、重疊面積等,因此引入的懲罰項(xiàng)要滿足如下條件:
(a)損失函數(shù)的收斂梯度方向要與兩框重疊程度的評(píng)價(jià)指標(biāo)相同。若優(yōu)化的誤差信息和重疊評(píng)價(jià)指標(biāo)的梯度方向不相同,會(huì)造成模型的收斂方向出現(xiàn)偏差,影響回歸的性能。
(b)懲罰項(xiàng)數(shù)值穩(wěn)定性。原始IoU 損失在引入懲罰項(xiàng)后,收斂速度會(huì)加快。如果懲罰項(xiàng)的數(shù)值穩(wěn)定性低,會(huì)造成懲罰項(xiàng)衰減速度過快,從而損失函數(shù)會(huì)退化成IoU 損失,造成后期回歸性能下降。
(c)尺度不變性。對(duì)于大數(shù)據(jù)集中的目標(biāo)進(jìn)行檢測(cè)時(shí),需要考慮圖像中各個(gè)目標(biāo)的尺度信息。當(dāng)損失函數(shù)只對(duì)特定尺度敏感時(shí),會(huì)降低模型的整體性能,降低了模型的泛化能力。
根據(jù)2.1 節(jié)中的3 個(gè)設(shè)計(jì)思想,本文提出一種新型IoU 損失函數(shù),在IoU 函數(shù)基礎(chǔ)上引入懲罰項(xiàng),懲罰項(xiàng)中包含完整的回歸屬性,使得回歸公式滿足完整相關(guān)的條件。本文選取兩邊界框的中心點(diǎn)所圍成矩形的周長(zhǎng)和包圍兩框的最小外包框的周長(zhǎng)的比值作為懲罰項(xiàng),這個(gè)周長(zhǎng)比值中包含兩框中心點(diǎn)的距離信息,如圖3 中的黑色虛線框長(zhǎng)度為P1,藍(lán)色虛線框長(zhǎng)度為P2。設(shè)計(jì)以廣義周長(zhǎng)比值為距離信息的損失函數(shù)A-CRIoU(Around-Complete Relativity IoU)如公式(4)所示:
圖3 A-CRIoU 懲罰項(xiàng)示意圖Fig.3 Schematic diagram of A-CRIoU penalty items
其中:P1是表示兩框中點(diǎn)所圍成矩形的周長(zhǎng),P2是最小外包框的周長(zhǎng)。當(dāng)預(yù)測(cè)框和回歸框完全重疊時(shí)GIoU=A-CRIoU=1,GIoU LOSS=A-CRIoU LOSS=0;當(dāng)兩框距離無(wú)限遠(yuǎn)時(shí)。GIoU=ACRIoU=-1,GIoU LOSS=A-CRIoU LOSS=2。但是在某些情況下,如圖4 所示,真實(shí)框的寬高都為1,預(yù)測(cè)框?qū)捀叩闹禐?.5。右側(cè)回歸狀態(tài)明顯優(yōu)于左側(cè)回歸狀態(tài)。此時(shí)無(wú)論預(yù)測(cè)框與真實(shí)值的中心點(diǎn)距離如何變化,GIoU 與IoU 的損失值都不變,但是A-CRIoU 的損失卻可以在數(shù)值上很好地反映出兩框的重疊情況,證明了A-CRIoU的數(shù)值穩(wěn)定性。
圖4 包含情況下,不同回歸狀態(tài)時(shí)損失值的區(qū)別。Fig.4 Difference of loss in different regression states under inclusion
本文將A-CRIoU 應(yīng)用到非極大值抑制中,這是因?yàn)锳-CRIoU 中的懲罰項(xiàng)中包含中心點(diǎn)距離信息,在NMS 過程中可以作為更好的信息引入到其中。在圖5 中,A 和B 分別對(duì)應(yīng)兩個(gè)正確預(yù)測(cè)的邊界框,且A 的置信度大于B。但是在兩個(gè)不同物體距離很近時(shí),由于IoU 值比較大,經(jīng)過NMS 處理后,只剩下一個(gè)檢測(cè)框,這會(huì)導(dǎo)致漏檢的錯(cuò)誤發(fā)生。所以引入中心點(diǎn)距離信息,即使兩框IoU 比較大,但是兩個(gè)框的中心點(diǎn)距離信息值比較大時(shí),可能會(huì)認(rèn)為這是兩個(gè)物體的檢測(cè)框,這種漏選情況時(shí)常出現(xiàn)在密集物體檢測(cè)場(chǎng)景中。使用A-IoU-NMS 在除IoU 信息外,引入兩框的中心點(diǎn)距離信息,防止了正確預(yù)測(cè)的框被剔除的情況,減小了漏檢概率。A-CRIoU-NMS 的公式如公式(5)所示:
圖5 密集目標(biāo)檢測(cè)下NMS 和A-CRIoU-NMS 效果對(duì)比Fig.5 Comparison of NMS and a-criou-nms in dense target
其中:M為 最得分預(yù) 測(cè)框,Bi是其 他預(yù)測(cè)框,ε是得分的閾值,Si為分類得分。
參考文獻(xiàn)[20]中的CIoU 損失函數(shù)考慮3個(gè)幾何度量,即重疊面積、中心點(diǎn)距離和寬高比。對(duì)于給定的預(yù)測(cè)框b和真實(shí)框bgt,CIoU 損失定義如公式(6)~(8)所示:
其中:公式(6)中的第三項(xiàng)的分母是邊界框中心點(diǎn)距離的平方,分子則是最小外包框的對(duì)角線平方。最后一項(xiàng)是寬高比懲罰項(xiàng),α是距離因子,可以根據(jù)兩框的包含程度來自適應(yīng)調(diào)節(jié)ν的大小,對(duì)于公式(7)寬高比懲罰項(xiàng)的寬和高的梯度計(jì)算如式(9):
在公式(7)中,ν只回歸了寬高比值,并沒有對(duì)真實(shí)的寬高值做回歸,單純回歸寬高比值會(huì)造成真實(shí)誤差變大的情況,阻礙回歸。公式(9)中對(duì)于梯度方向可以得到公式(10)。在式(10)中兩個(gè)梯度方具有相反的符號(hào),所以在任何情況下寬和高其中一個(gè)增加,另一個(gè)將會(huì)減少,這在回歸過程中是不合理的。如圖1 中的CIoU 回歸過程所示,在最后迭代的預(yù)測(cè)框的寬高按照比例回歸,受尺度不變性影響,寬高真實(shí)值在回歸中變大,這使得真實(shí)的誤差值也變大,造成了回歸的阻礙。由此本文將實(shí)際的寬高平方誤差與包圍兩框最小矩形寬高比值作為懲罰項(xiàng)引入A-CRIoU 中,公式(11)是公式(12)后兩項(xiàng)的計(jì)算方法,最后得到CRIoU 損失函數(shù)如公式(12)所示:
為驗(yàn)證CRIoU 的數(shù)值穩(wěn)定性,本文在以(10,10)中心點(diǎn)、3 為半徑的圓中均勻選取5 000 個(gè)點(diǎn)。以(10,10)為目標(biāo)框的中點(diǎn),預(yù)測(cè)框?yàn)橐? 000 個(gè)點(diǎn)為中點(diǎn)的錨框。目標(biāo)框和預(yù)測(cè)框都具有7 個(gè)面積大小(0.5、0.67、0.75、1、1.33、1.5和2)和7個(gè)尺度(1∶4、1∶3、1∶2、1∶1、2∶1、3∶1 和4∶1),共有1 715 000=7×7×7×5 000 個(gè)回歸案例,其中回歸案例中包含重疊框和非重疊框。對(duì)于這些回歸點(diǎn),本文使用梯度下降算法模擬均勻分布的預(yù)測(cè)框的回歸過程。當(dāng)前預(yù)測(cè)框Bi的坐標(biāo)通過公式(13)計(jì)算:
圖6 不同損失函數(shù)的回歸仿真收斂對(duì)比Fig.6 Comparison of regression simulation convergence for different loss function
圖7 是仿真實(shí)驗(yàn)在最后一輪迭代次數(shù)時(shí)的誤差可視化。由圖(a)和(b)可知,對(duì)于每一個(gè)回歸案例(x,y),誤差越小對(duì)應(yīng)越良好的回歸狀態(tài),由此形成了凹陷部分。但在圖7(a)未形成明顯凹陷部分中可以看到IoU 在非重疊情況下有很大的誤差,在圖7(b)中可以看到GIoU 在水平和垂直位置下有很大誤差,而在(c)和(d)中CIoU 和CRIoU的誤差分布比較均勻,在任何地方都有很小的誤差,保持較好的回歸狀態(tài),CRIoU 回歸誤差總體會(huì)略小于CIoU,但其誤差分布沒有CIoU 穩(wěn)定。
圖7 不同損失函數(shù)最后一輪回歸誤差值分布情況Fig.7 Distribution of the last round regression error values of different loss function
目標(biāo)檢測(cè)算法在進(jìn)行回歸任務(wù)時(shí),存在高質(zhì)量回歸框和低質(zhì)量回歸框不平衡的情況,存在大量的低質(zhì)量回歸框。圖8 中的anchor 機(jī)制生成了大量的先驗(yàn)框樣本,但是能夠檢測(cè)到目標(biāo)的高質(zhì)量樣本數(shù)量遠(yuǎn)小于遠(yuǎn)離目標(biāo)的低質(zhì)量預(yù)測(cè)框。在模型訓(xùn)練過程中低質(zhì)量回歸框會(huì)造成更大的損失值從而造成損失的波動(dòng),影響模型的收斂。本小節(jié)基于Focal Loss函數(shù)的思想,引入加權(quán)因子來平衡低質(zhì)量樣本對(duì)損失造成的波動(dòng)。本文定義加權(quán)因子為IoU,因?yàn)镮oU 可以直觀反映出在回歸任務(wù)中樣本的質(zhì)量。IoU 值越小證明樣本和真實(shí)框的重合度越小,證明該樣本是一個(gè)低質(zhì)量樣本。通過IoU 加權(quán)來減少大量低質(zhì)量樣本帶來的損失波動(dòng),使得損失更加穩(wěn)定,有助于損失收斂。使用IoU 作為平衡樣本質(zhì)量的加權(quán)因子巧妙地避免了Focal Loss 中的加權(quán)因子通過每次對(duì)比實(shí)驗(yàn)的結(jié)果進(jìn)行調(diào)制加權(quán)因子的弊端,賦予了加權(quán)因子自適應(yīng)聚焦與高質(zhì)量邊界框特性,沒有額外的調(diào)參開銷。最后將自適應(yīng)加權(quán)因子定義為公式(14):
圖8 先驗(yàn)框樣本分布情況Fig.8 Distribution of anchors
其中:Bbb為真實(shí)框,Bgt為預(yù)測(cè)框,它們的IoU 為自適應(yīng)的加權(quán)因子μ。在訓(xùn)練過程中預(yù)測(cè)框和真實(shí)框的相交部分越小,預(yù)測(cè)框的質(zhì)量越低,μ值就越小,同時(shí)回歸損失的權(quán)重就越小,這樣就會(huì)降低大量低質(zhì)量樣本對(duì)模型訓(xùn)練的影響。這種加權(quán)方法借鑒了Focal Loss 的聚焦思想,在訓(xùn)練中為高質(zhì)量的預(yù)測(cè)框分配較大的權(quán)重,使得模型訓(xùn)練聚焦于更有意義的高質(zhì)量樣本,并且加權(quán)因子μ隨著樣本質(zhì)量可以自適應(yīng)調(diào)節(jié),避免了大量的調(diào)參開銷。由此在CRIoU 損失的基礎(chǔ)上定義自適應(yīng)聚焦CRIoU 損失函數(shù)(Adaptive Focal CRIoU Focal Loss,AF-CRIoU)如公式(15)所示:
為了驗(yàn)證AF-CRIoU損失函數(shù)的實(shí)際有效性,本文實(shí)驗(yàn)分別使用單階段目標(biāo)檢測(cè)框架YOLOv3和雙階段目標(biāo)檢測(cè)模型Faster R-CNN,并且替換原回歸損失函數(shù)為IoU 系列損失函數(shù)與AF-CRIoU損失函數(shù)進(jìn)行對(duì)比。實(shí)驗(yàn)均為統(tǒng)一的實(shí)驗(yàn)環(huán)境,實(shí)驗(yàn)硬件環(huán)境如表1 所示,實(shí)驗(yàn)軟件環(huán)境如表2 所示。實(shí)驗(yàn)數(shù)據(jù)集使用PASCAL VOC 2012,數(shù)據(jù)集提供了包括分類、檢測(cè)和分割3 個(gè)任務(wù)的數(shù)據(jù)集。其中目標(biāo)檢測(cè)任務(wù)數(shù)據(jù)集里包含20 類物體,共17 125 張圖片。
表1 實(shí)驗(yàn)硬件環(huán)境Tab.1 Experimental hardware environment
表2 實(shí)驗(yàn)軟件環(huán)境Tab.2 Experimental software environment
為了驗(yàn)證AF-CRIoU損失函數(shù)的有效性,實(shí)驗(yàn)使 用YOLOv3 和Faster R-CNN 分別在PASCALVOC2012 上進(jìn)行訓(xùn)練和測(cè)試。通過對(duì)比不同模型在不同數(shù)據(jù)集上的檢測(cè)精度和收斂速度來驗(yàn)證AF-CRIoU的有效性。本文使用平均精度mAP、AP50 和AP75 作為評(píng)價(jià)指標(biāo),將IoU 的閾值設(shè)定為 {0.5,0.55,…,0.95},在此閾值范圍的結(jié)果下除以類別得到mAP。AP50 是IoU 閾值為0.5 時(shí)檢測(cè)各個(gè)類別的平均檢測(cè)精度(AP75 同理),并且沿用參考文獻(xiàn)[19]和參考文獻(xiàn)[20]的實(shí)驗(yàn)評(píng)估標(biāo)準(zhǔn),對(duì)比AF-CRIoU 和其他損失函數(shù)的相對(duì)提升精度(Relative improv.%,RI)。相對(duì)精度計(jì)算方法如公式(16)所示:
使用PASCAL VOC 2012 數(shù)據(jù)集分別計(jì)算在YOLOV3、Faster RCNN下使用不同損失函數(shù)的AP50 和AP75,并且對(duì)比相對(duì)提升精度。如表3和表4 所示。將兩個(gè)目標(biāo)檢測(cè)算法的原來計(jì)算邊界框回歸的損失分別更改為IoU、GIoU、CIoU、AF-CRIoU,加上模型原有的回歸損失函數(shù)(Sum of Square Erro,SSE),分別計(jì)算了PASCAL VOC 2012 數(shù)據(jù)集上的AP75 和AP50。由表3 中數(shù)據(jù)可知,CRIoU 對(duì)比原來模型中的損失函數(shù)SSE在AP75 和AP50 條件下精度分別提升8.52%和8.04%;在AP50 條件下,AF-CRIoU對(duì)比GIoU精度檢測(cè)相對(duì)提升2.46%,在AP75 條件下的精度相對(duì)提升3.18%;在AP50 條件下,AF-CRIoU對(duì)比CIoU 檢測(cè)精度相對(duì)提升1.67%,在AP75條件下的精度相對(duì)提升2.31%。表4 是在Faster RCNN 上的實(shí)驗(yàn)數(shù)據(jù)。由表4 數(shù)據(jù)可知,在AP75和AP50 條件下,AF CRIoU 對(duì)比GIoU 精度分別提升3.06%和2.29%,AF-CRIoU 對(duì)比CIoU 精度分別提升2.53%和2.69%,避免了CIoU 的回歸阻礙,使模型達(dá)到一個(gè)更好的收斂狀態(tài),同時(shí)也解決了IoU 和GIoU 的局限。實(shí)驗(yàn)結(jié)果表明,AFCRIoU 很好地改善了傳統(tǒng)IoU 系列函數(shù)中的回歸退化和回歸阻礙,可以達(dá)到更好的檢測(cè)效果。
表3 不同閾值下YOLOv3 檢測(cè)精度對(duì)比實(shí)驗(yàn)數(shù)據(jù)Tab.3 Comparison of YOLOv3 accuracy under different threshold
表4 不同閾值下Faster RCNN 檢測(cè)精度對(duì)比實(shí)驗(yàn)數(shù)據(jù)Tab.4 Comparison of Faster RCNN accuracy under different threshold
圖9是IoU、GIoU、CIoU損失函數(shù)和AF-CRIoU損失函數(shù)在YOLO v3上使用PASCOL VOC 2012數(shù)據(jù)集的回歸損失曲線圖。從曲線中可以看出,AF-CRIoU 損失在前期收斂速度上優(yōu)于GIoU 損失。這是因?yàn)锳F-CRIoU 引入了包含距離信息的周長(zhǎng)比值懲罰項(xiàng),加快了收斂速度,可在訓(xùn)練前期保持較為穩(wěn)定的收斂趨勢(shì)。通過自適應(yīng)加權(quán)因子可以加強(qiáng)對(duì)高質(zhì)量邊界框的學(xué)習(xí),穩(wěn)定損失,可以使損失收斂到更小,體現(xiàn)了本文方法的有效性。
圖9 不同損失函數(shù)在PASCAL VOC2012 上使用YOLOv3 收斂情況Fig.9 YOLOv3 convergence of different loss functions on PASCAL VOC2012
在PASCAL VOC 2012 上使用YOLOv3 的實(shí)驗(yàn)中,帶入了A-CRIoU 作為非極大值抑制處理。表5 和表6 是使用A-CRIoU-NMS 方法和AFCRIoU 損失函數(shù)對(duì)精度提升效果的消融實(shí)驗(yàn)結(jié)果。表5表明,在AP75條件下不加入AF-CRIoU,原始的NMS 方法在選定的閾值范圍內(nèi)的檢測(cè)精度達(dá)到65.09%,A-CRIoU-NMS 的檢測(cè)精度最高達(dá)到65.23%,對(duì)比NMS 提高了0.14%。使用AF-CRIoU 后,原始NMS 方法檢測(cè)精度達(dá)到65.45%,對(duì)比沒有使用AF-CRIoU 損失的原始NMS 方法檢測(cè)精度提高0.36%。同理對(duì)比只使用A-CRIoU-NMS 方法的檢測(cè)精度提高了0.24%。使用A-CRIoU-NMS 方法和AF-CRIoU損失的情況下,檢測(cè)精度達(dá)到了最高值。同理,表6 中在AP50 條件下對(duì)于不同損失函數(shù)和NMS方法的消融實(shí)驗(yàn)結(jié)果中,也有明顯的提升效果。
表5 AP75 條件下采用不同非極大值抑制方法和損失函數(shù)的實(shí)驗(yàn)結(jié)果對(duì)比Tab.5 Comparison of experimental results using different non maximum suppression methods and loss functions under AP75 conditions
圖10和圖11是在[0.42∶0.47]范圍內(nèi)在PASCAL VOC 2012 的檢測(cè)精度變化趨勢(shì)。4 種線條分別對(duì)應(yīng)原始NMS+AF-CRIoU、原始NMS+原損失、AF-CRIoU+A-CRIoU-NMS 和A-CRIoU-NMS+原損失。由圖中變化趨勢(shì)可知,在調(diào)參過程中,各個(gè)閾值下使用A-CRIoU-NMS 方法或者AF-CRIoU 損失乃至兩種方法都使用的情況下,對(duì)比原始NMS 和回歸損失函數(shù),精度都有明顯提升。
圖11 AP50 條件下不同閾值的AF-CRIoU 和NMS 方法對(duì)比Fig.11 Comparison of AF-CRIoU and NMS methods with different thresholds under AP50 condition
除了使用大型公共數(shù)據(jù)集,本文還選取了具有應(yīng)用背景的安全帽檢測(cè)數(shù)據(jù)集進(jìn)行驗(yàn)證。此數(shù)據(jù)集為實(shí)際應(yīng)用項(xiàng)目中的私有自建數(shù)據(jù)集。場(chǎng)景包含工地、礦場(chǎng),數(shù)據(jù)集包含9 802 張安全帽佩戴圖像,使用了開源工具Labelimg 進(jìn)行標(biāo)注。數(shù)據(jù)集包含兩個(gè)類別,佩戴安全帽樣本標(biāo)簽為hat,未佩戴安全帽樣本標(biāo)簽為nohat。數(shù)據(jù)集按照7∶2∶1 的比例劃分成訓(xùn)練集、驗(yàn)證集、測(cè)試集。實(shí)驗(yàn)環(huán)境如表1 和表2 所示。
實(shí)驗(yàn)網(wǎng)絡(luò)選取yolov3 為檢測(cè)網(wǎng)絡(luò),分別替換IoU、GIoU、CIoU、AF-CRIoU 為網(wǎng)絡(luò)的回歸損失。訓(xùn)練輸入圖像尺寸為618×618,使用預(yù)訓(xùn)練模型,學(xué)習(xí)率設(shè)置為0.001,batch size 設(shè)置為64,學(xué)習(xí)率衰減設(shè)置為0.7,每50 輪衰減一次,共訓(xùn)練200 輪。檢測(cè)結(jié)果如表7 所示。AF-CRIoU 在安全帽檢測(cè)中mAP 達(dá)到73.43%,比CIoU、GIoU 和IoU 分別提升1.28%、3.26%和6.42%。
表7 檢測(cè)精度對(duì)比Tab.7 Comparison of detection accuracy
圖12 為后100 輪訓(xùn)練的損失收斂示意圖。可以看出,當(dāng)訓(xùn)練進(jìn)行到第101 輪時(shí),AF-CRIoU的收斂速度和收斂狀態(tài)最好,其次分別為IoU、GIoU、CIoU。但是隨著訓(xùn)練輪數(shù)的迭代,CIoU和AF-CRIoU 的收斂狀況要優(yōu)于IoU 和GIoU,這是因?yàn)槎叨及吔缈蛑行狞c(diǎn)距離信息,加快了回歸速度,并且AF-CRIoU 取消了對(duì)寬高比的回歸,直接回歸寬高的誤差值,避免了CIoU 回歸寬高比時(shí)出現(xiàn)回歸阻礙的情況,從而可以收斂到一個(gè)更好的狀態(tài)。自適應(yīng)加權(quán)因子的引入,也使AF-CRIoU 在訓(xùn)練中受到低質(zhì)量樣本影響最小,從而收斂狀態(tài)達(dá)到最好。
圖12 后100 輪訓(xùn)練損失收斂情況Fig.12 Convergence of loss in the last 100 rounds of training
在安全帽檢測(cè)數(shù)據(jù)集實(shí)驗(yàn)中,本文同時(shí)保存了后100 輪訓(xùn)練中的預(yù)測(cè)框與真實(shí)框的IoU 來評(píng)估AF-CRIoU 損失的性能。平均交并比(AVG_IoU)[27]是在語(yǔ)義分割中的評(píng)價(jià)指標(biāo),通過記錄每輪的平均交并比,即每個(gè)類別真實(shí)框和預(yù)測(cè)框的平均IoU,根據(jù)平均IoU 的變化趨勢(shì)來評(píng)估回歸質(zhì)量。在圖13 中,經(jīng)過200 輪回歸后,AF-CRIoU 損失的平均IoU 總體保持在0.9 以上,而其他方法的平均IoU 均在小于0.9 以下的范圍波動(dòng)。這是因?yàn)锳F-CRIoU 不但完善了中心點(diǎn)距離屬性和及寬高屬性,而且通過自適應(yīng)加權(quán)的方式平衡了高低質(zhì)量樣本,降低了大量低質(zhì)量樣本對(duì)訓(xùn)練的影響,提高了邊界框回歸質(zhì)量,使得預(yù)測(cè)框和真實(shí)框重疊面積更大,貼合程度更好。
圖13 后100 輪平均交并比Fig.13 Average intersection ratio of the last 100 rounds
圖14~圖16 是隨機(jī)選取測(cè)試集圖片的檢測(cè)效果圖。其中紅色框?yàn)槲磁宕靼踩保G色框?yàn)榕宕靼踩?,紫色橢圓標(biāo)記為漏檢情況,粉色橢圓標(biāo)記為誤檢情況。如圖14 所示IoU 和GIoU 雖然正確檢測(cè)到了目標(biāo),但是出現(xiàn)了誤檢情況,而且也并未完全將目標(biāo)框選。而CIoU 和AF-CRIoU都精準(zhǔn)地檢測(cè)到了目標(biāo)。但是對(duì)于目標(biāo)的框選,AF-CRIoU 要優(yōu)于CIoU。圖15 中每個(gè)損失都檢測(cè)到了目標(biāo),但是AF-CRIoU 的框選依然要比其他方法精準(zhǔn)。圖16 中目標(biāo)較多,其中包含小目標(biāo)和密集目標(biāo),IoU、GIoU、CIoU 均出現(xiàn)了一到兩個(gè)目標(biāo)漏檢,而且對(duì)于目標(biāo)的框選質(zhì)量也很差。AF-CRIoU 雖然框選存在誤差,但對(duì)于小目標(biāo)和密集目標(biāo)都能檢測(cè)出來。綜上結(jié)果可知,CIoU 和AF-CRIoU 二者都完善了回歸屬性,但是AFCRIoU 修改寬高比回歸為誤差回歸,框選更為精準(zhǔn)。AF-CRIoU 因?yàn)樵谟?xùn)練中有自適應(yīng)加權(quán)因子,使得其受負(fù)樣本影響更小,可以收斂得更好,從而達(dá)到較好的檢測(cè)精度。
圖14 安全帽檢測(cè)效果圖1Fig.14 Effect diagram 1 of helmet detection
圖15 安全帽檢測(cè)效果圖2Fig.15 Effect diagram 2 of helmet detection
圖16 安全帽檢測(cè)效果圖3Fig.16 Effect diagram 3 of helmet detection
本文提出一種新型交并比的邊界框損失函數(shù),通過對(duì)IoU 損失函數(shù)的改進(jìn),引入帶有距離信息和寬高比的懲罰項(xiàng)。以兩框中點(diǎn)圍成的矩形周長(zhǎng)比值為距離懲罰項(xiàng),避免了IoU 損失函數(shù)在兩框不相交情況下?lián)p失值無(wú)法優(yōu)化的缺點(diǎn),防止GIoU損失函數(shù)在兩框包圍的特殊情況下退化為IoU損失的情景,加快了函數(shù)的收斂速度。同時(shí)引入寬高誤差懲罰項(xiàng),解決了CIoU 只回歸寬高比時(shí)出現(xiàn)的回歸阻礙情況,使損失值更加穩(wěn)定,更加多樣地反映邊界框回歸中的回歸狀態(tài)。結(jié)合Focal Loss 的加權(quán)思想解決了歸回問題中樣本質(zhì)量不均衡所帶來的函數(shù)收斂問題。本文將改進(jìn)的ACRIoU 應(yīng)用到非極大值抑制處理中,對(duì)比NMS提升了檢測(cè)精度。實(shí)驗(yàn)結(jié)果表明,本文提出的AF-CRIoU 損失函數(shù)在單階段和雙階段的目標(biāo)檢測(cè)算法中起到了提升精度和加快收斂的作用。在PASCAL VOC 2012 數(shù)據(jù)集和安全帽檢測(cè)數(shù)據(jù)集上均有明顯的精度提升,具有一定的實(shí)用價(jià)值。