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