董恒祥,潘江如,董芙楠,趙晴,郭鴻鑫
(1.新疆農業大學 交通與物流工程學院,新疆 烏魯木齊 830000;2.新疆工程學院 控制工程學院,新疆 烏魯木齊 830000)
近年來,基于目標檢測算法的非入侵性、檢測速度快和準確率高等優點,使其在各個領域得到了廣泛應用。根據其處理方式,可以將其分為One-stage(單階段)和Two-stage(兩階段)兩類[1]。One-stage 目標檢測算法直接對目標進行檢測,檢測速度快,但準確率較低。典型的One-stage 目標檢測算法包括YOLO(You Only Look Once)[2-5]、SSD(Single Shot Detector)[6]和Retina Net[7]等。Two-stage 目標檢測算法首先生成候選區域,然后對候選區域內的目標進行檢測,檢測速度較慢,但準確率較高。典型的Two-stage 目標檢測算法包括R-CNN[8]、Fast R-CNN[9]、Faster R-CNN[10]和Cascade RCNN[11]等。
現階段,目標檢測算法仍存在檢測精度低、漏檢、誤檢等問題。針對此問題,文獻[12]提出了基于改進YOLOv3 模型和Deep-SORT 算法的車輛檢測方法,有效解決了道路車輛實時檢測遮擋嚴重與小目標車輛漏檢率高的問題,但改進模型的計算量大幅提升,相比于YOLOv3 模型識別幀率有所降低。文獻[13]針對YOLOv3 對中小目標檢測效果不理想的問題,對特征提取網絡進行改進,提高了對中等目標和小目標的平均檢測精度。文獻[14]針對違反交通規則車輛,提出一種基于YOLOv3 的違反道路規則的車輛檢測改進算法。該算法首先為每輛檢測到的車生成一個邊界框,然后將邊界框輸入基于質心的運動物體跟蹤算法中,最后,通過計算每幀中質心高度來確定車輛的方向,并檢測其是否違反道路規則。雖然識別率接近100%,但只聚焦于道路一側檢測逆行車輛。
綜上,目標檢測算法的改進主要集中于對模型框架的改進,缺乏對于邊界框回歸損失函數的研究。因此,本文基于YOLOv5s 模型在UA-DETRA[15]、VisDrone2019[16]、KITTI[17]數據集上針對4 種有代表性的邊界框回歸損失函數進行對比實驗,深入研究其對不同尺度目標的檢測性能。
2016 年Joseph Redmon 等人首次提出YOLO 目標檢測算法,該方法可以實現實時物體檢測,即識別圖像中所有物體的位置和類別,并以較高的幀率(FPS)輸出結果。YOLOv5 是YOLO 系列中較為成熟且穩定的模型,具有較高的速度、準確性和靈活性,已經廣泛應用于道路車輛的實時檢測。YOLOv5 共包含五種模型:YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x,其中較小的模型具有更快的速度但其精度較低,較大的模型擁有較高的精度但其運行速度慢。因此,為滿足道路交通目標檢測的實時性要求,本文以YOLOv5 7.0 版本中的YOLOv5s 模型為基礎,對4 種不同的邊界框回歸損失函數進行對比實驗,其體系結構如圖1 所示,其預測邊界框和真實邊界框相交類型可分為5種,其中最理想狀態為完全相交(第五種),邊界框相交類型如圖2 所示(虛線為真實預測框,實線為預測邊界框)。

圖1 YOLOv5s 體系結構圖

圖2 邊界框相交類型
本文基于YOLOv5s 模型對4 種代表性的邊界框回歸損失函數(CIoU、SIoU、Focal-EIoU 和WIoU)進行對比研究。
CIoU(Complete IoU)[18]是YOLOv5s 模型自身的IoU版本,相比傳統的IoU 指標,CIoU 考慮了目標之間的重疊面積、歸一化中心點距離和長寬比等因素,更加全面地評估了目標檢測結果的準確度。其計算公式為:
式中:S為相似性分數;IoU 為真實框與預測框交并比;D為距離;ρ為歐幾里德距離;p為預測邊界框參數;pgt為真實邊界框參數;c為覆蓋兩個框的最小外接矩形的對角線長度(如圖2 所示);V為長寬比;w和h分別表示預測邊界框的寬度和高度;wgt和hgt分別表示真實邊界框的寬度和高度;α為權衡參數。
由式(1)可以看出,S、D和V不受回歸尺度的影響,并且被歸一化到[0,1]。
歸一化中心點距離如圖3 所示。

圖3 歸一化中心點距離
權衡參數α定義為:
由式(2)可知:當IoU<0.5時,CIoU 損失將退化為DIoU[19]損失,即當兩個框重疊面積較小時,將長寬比權重變為0,去除長寬比大小對損失的影響;當IoU≥0.5時,兩個框的重疊面積較大,長寬比對損失的影響較大,通過長寬比對損失進行重新定義,提高檢測精度。
SIoU 是由Gevorgyan[20]提出,通過回歸矢量的角度對損失指標重新定義。
SIoU 首先引入角度損失,其定義為:
其中:
角度損失如圖4 所示。

圖4 角度損失
距離損失根據角度損失重新進行定義,其公式為:
其中:
形狀損失定義公式為:
其中:
綜上,損失函數公式為:
可以看出:當α趨于0時,角度成本Λ也將趨于0,即Λ對SIoU 的影響大幅降低;當α趨于π/4時,Λ取最大值,即對SIoU 的影響最大。
針對目標檢測中BBR(Bounding Box Regression)收斂速度緩慢、回歸結果不準確和不平衡的問題,文獻[21]提出了一種高效的交并比損失(EIoU),并提出了一種回歸損失,使其聚焦于高質量的錨框。得到一個新的損失函數,即Focal-EIoU 損失。
EIoU 定義如下:
其中:LIoU為IoU 損失;Ldis為距離損失;Lasp為縱橫比損失;wc和hc是覆蓋兩個框的最小包圍框的寬度和高度。
Focal-EIoU 定義如下:
式中γ是控制異常值抑制程度的參數。
可以看出:EIoU 損失直接最小化目標框和錨定框的寬度和高度之間的差異,導致更快的收斂速度和更好的定位結果[21]。為了使EIoU 損失專注于高質量的目標框,使用IoU 的值對EIoU 損失進行重新加權,其性能得到了進一步提升。
由于 Focal-EIoU 使用靜態FM(Focusing Mechanism),非單調FM 的潛力沒有被完全利用。基于此,文獻[22]采用了動態非單調FM,這使得WIoU 能夠專注于普通質量的錨框并改善目標檢測的整體性能。WIoU 共三個版本(WIoUv1、WIoUv2、WIoUv3),本文中使用WIoUv3,因此只對WIoUv3 進行分析。其計算公式為:
其中:
式中:r為梯度增益;β為異常度;α和δ為超參數(此處取值為1.9 和3);“*”表示將wc和hc從計算圖中分離出來,防止產生阻礙收斂的梯度。
可以看出:當β=δ時,r=1,WIoUv3 退化為v1 版本。由于LIoU是動態的,錨框的質量劃分標準也是動態的,這使得WIoUv3 能夠根據每個時刻的情況制定最符合當前情況的梯度增益分配策略,從而提高目標檢測的整體性能[22]。
3.1.1 KITTI
KITTI 數據集由德國卡爾斯魯厄理工學院和豐田美國技術研究院聯合創辦,該數據集是在德國卡爾斯魯厄及其周圍進行拍攝獲得,包含市區、鄉村和高速公路等場景。原始數據集包含類別有:Car(汽車)、Van(面包車)、Truck(卡車)、Pedestrian(行人)、Person(sitting)(人坐著)、Cyclist(騎自行車的)、Tram(有軌電車)和Misc(雜項,例如:拖車)。經數據預處理將原來的8 種類別轉換為4 類:Pedestrian、Car、Van、Cyclist。將原來的Pedestrian、Person(sitting)合并為Pedestrian類,把原來的Car、Truck、Tram 合并為Car類,原來的Van、Cyclist 類保持不變,將其余類刪除。KITTI數據集共包含7 481 張圖像,本文按照8∶1∶1(5 987∶747∶747)的比例將其隨機劃分為訓練集、驗證集和測試集。
此數據集在同一水平面下對車輛進行拍攝,適用于自動駕駛領域。其中Pedestrian 實例共3 619個,Car實例共24 227個,Van 實例共2 343個,Cyclist實例共1 311 個。
3.1.2 VisDrone2019
VisDrone2019 數據集由天津大學機器學習和數據挖掘實驗室AISKYEYE 團隊收集。基準數據集由10 209 幅靜態圖像組成,是在不同的場景、不同的天氣和光照條件下收集的,涵蓋Pedestrian(行人)、People(人)、Bicycle(自行車)、Car(汽車)、Van(面包車)、Truck(卡車)、Tricycle(三輪車)、Awning-tricycle(遮陽棚-三輪車)、Bus(巴士)、Motor(摩托車)10 類目標檢測類別。經數據分析處理,將Pedestrian、People 類合并為Pedestrian類,將Car、Truck 類合并為Car類,Van、Bus 類保持不變,其余類別刪除。最終保留了道路常見的Pedestrian、Car、Van 和Bus 類共7 017 張圖片,按照8∶1∶1(5 615∶701∶701)隨機將其分為訓練集、驗證集以及測試集。
此數據集為航拍圖像,具有小目標、目標重疊、背景復雜等特點。其中Pedestrian 實例共95 815個,Car 實例共138 449個,Van實例共21 522個,Bus實例共4 967個。
3.1.3 UA-DETRA
UA-DETRA 數據集由100 個視頻組成,視頻是利用佳能EOS 550D 相機在中國北京和天津不同天氣下(多云、夜間、晴天和雨天)采集的,包含城市高速公路、交通路口和T 形路口,拍攝時長超過10 h。視頻以25 f/s 的速度錄制,JPEG 圖像分辨率為960×540 像素,涵蓋Car(汽車)、Bus(巴士)、Van(面包車)和Others(例如:卡車、油罐車)4 類。經數據分析處理將Car、Others 類合并為Car類,Van、Bus 類保持不變,最終保留10 870 張圖片,并按照8∶1∶1(8 696∶1 087∶1 087)隨機將其分為訓練集、驗證集以及測試集。
此數據集為道路監控視頻,適用于智慧交通領域。其中Car實例共73 154個,Van 實例共7 166個,Bus 實例共6 195 個。
本文所使用的實驗環境配置及參數設定如表1所示。

表1 實驗環境配置及參數設定
本文以漏檢率(Miss rate)、誤檢率(False alarm)、準確率(Precision)、召回率(Recall)、精度(mAP@0.5)指標對模型進行評估。
漏檢率:正樣本被判定為負樣本的個數占總正樣本的比例。
誤檢率:負樣本被判定為正樣本的個數占總負樣本的比例。
Precision:判定為正樣本中真實為正樣本的個數占判定為正樣本總數的比例。
Recall:正樣本被判定為正樣本的個數占總正樣本的比例。
式中:TP 為將正樣本判定為正樣本的個數;TN 為將負樣本判定為負樣本的個數;FP 為將負樣本判定為正樣本的個數;FN 為將正樣本判定為負樣本的個數。
mAP@0.5:數據集的平均準確率。
式中:AP 為單類別的平均準確率;k為類別數量。
3.4.1 實驗結果分析
本文主要對邊界框回歸損失函數進行對比,為分析其適用環境及有效性,利用KITTI、VisDrone2019、UADETRA 測試數據集進行驗證。每組實驗使用相同的實驗環境配置及參數,每次實驗只對算法的一個變量進行更改,實驗結果如表2 所示。

表2 實驗結果 %
由表2可知:對于UA-DETRA 道路監控數據集(大目標),Focal-EIoU 準確率指標最高,但召回率和mAP@0.5指標無提升;SIoU 和WIoU 的召回率指標最高,但SIoU準確率指標較低,WIoU 的mAP@0.5 指標最高,即WIoU整體性能最好。VisDrone2019 航拍數據集(小目標)中WIoU 準確率指標最高,達到了66.2%,但mAP@0.5 指標最低,只有51.7%;Focal-EIoU 的召回率和mAP@0.5 指標最高,整體性能最好。KITTI 自動駕駛數據集(中型目標)中SIoU 準確率指標最高,但召回率指標較低,mAP@0.5 指標略微提升;WIoU 的召回率和mAP@0.5 指標最高,但準確率指標較低只有92.9%,即SIoU 和WIoU整體性能較好。證明了SIoU 適用于中型目標檢測任務,Focal-EIoU 適用于小型目標檢測任務,WIoU 適用于大型目標和中型目標檢測任務,且均優于原始邊界框回歸損失函數(CIoU)。其邊界框損失迭代過程可視化如圖5 所示(左側為訓練集迭代過程,右側為驗證集迭代過程)。

圖5 邊界框損失迭代過程可視化
由圖5 可知:UA-DETRA 訓練迭代過程中Focal-EIoU 收斂速度快,迭代前250 次損失優于其他三種損失函數,迭代250 次之后WIoU 與其損失最小,驗證迭代過程中Focal-EIoU 損失最優;VisDrone2019 訓練以及驗證迭代過程Focal-EIoU 損失遠優于其他損失函數。KITTI訓練以及驗證迭代過程Focal-EIoU 和WIoU 損失最小;CIoU 和SIoU 在三種數據集中損失基本持平,除在VisDrone2019 數據集,損失值均高于其他損失函數。證明了Focal-EIoU 在檢測小目標時遠優于其他損失函數,且在三種數據集中損失均處于最優;WIoU 在中大型目標檢測任務中損失較低;SIoU 損失結果與表2 分析結果相違背,為進一步分析其有效性,對檢測結果進行對比研究。
3.4.2 檢測結果分析
為對4 種邊界框損失函數的有效性進一步分析,對KITTI、VisDrone2019、UA-DETRA 測試數據集的實際檢測效果進行對比,對比結果如圖6 所示(從左到右依次為:原始、CIoU、SIoU、Focal-EIoU 和WIoU 圖像),可以看出:在三種類型數據集下4 種邊界框損失函數檢測結果無明顯差別。因此,對其漏檢率以及召回率指標進行對比,實驗結果如表3 所示。

表3 實驗結果 %

圖6 檢測結果
由表3 可知:在UA-DETRA 數據集中WIoU 漏檢率最低,但誤檢率較高;Focal-EIoU 誤檢率最低,但漏檢率較高;但相比于另外兩種損失函數,WIoU 和Focal-EIoU整體性能較優。在VisDrone2019 數據集中Focal-EIoU漏檢率最高,但其誤檢率遠優于其他損失函數,整體性能最優。在KITTI 數據集中,SIoU 和WIoU 漏檢率最低,但WIoU 誤檢率較高;Focal-EIoU 雖然漏檢率較高,但其誤檢率遠低于其他損失函數;綜合比較,SIoU 和Focal-EIoU 性能優于CIoU 和WIoU。
本文基于YOLOv5s 模型對4 種代表性的邊界框回歸損失函數進行對比研究,通過漏檢率、誤檢率、準確率、召回率、mAP@0.5、迭代過程的邊界框損失值以及目標檢測結果對其進行分析研究。
1)在準確率、召回率和mAP@0.5 的對比實驗中顯示:CIoU 性能最差,SIoU 適用于中型目標檢測任務,Focal-EIoU 適用于小型目標檢測任務,WIoU 適用于大型目標和中型目標檢測任務。
2)在迭代過程的邊界框損失值對比實驗中顯示:CIoU 和SIoU 在三種數據集下邊界框損失值均較高;Focal-EIoU 在小型目標檢測任務中邊界框損失值最小;WIoU 在中大型目標檢測任務中損失值較低。
3)在目標檢測結果對比實驗中顯示:4 種邊界框回歸損失函數對不同目標的識別效果無明顯差異。
4)在漏檢率和誤檢率對比實驗中顯示:在UADETRA 數據集中WIoU 和Focal-EIoU 整體性能較優;在VisDrone2019 數據集中Focal-EIoU 整體性能最優,在KITTI 數據集中,SIoU 和Focal-EIoU 整體性能較優。
5)當檢測目標為小尺度時,優先選用Focal-EIoU損失函數;當檢測目標為中尺度時,優先選用SIoU 損失函數;當檢測目標為大尺度時,優先選用WIoU 損失函數;若檢測目標繁雜,優先選用Focal-EIoU 損失函數。