蔡鴻峰,吳觀茂
(安徽理工大學 計算機科學與工程學院,安徽 淮南 232001)
目標檢測包含目標的定位和分類。早期的目標檢測方法是使用手工提取特征,再在此基礎上構造模型。使用該方法設計的模型結構復雜,提升模型精度困難。卷積神經網絡具有較好的學習特征能力,Girshick等[1]將CNN應用到目標檢測中,提出了R-CNN模型,使模型的檢測性能有了很大提升,但其網絡只能輸入固定尺寸的圖像,且R-CNN通過SS算法生成的候選區大量重疊,造成計算資源浪費。針對R-CNN模型的這類缺點,He等[2]提出了SPP-Net網絡。Girshick[3]與Ren等[4]先后提出了Fast R-CNN與Faster R-CNN模型。從R-CNN發展到Faster R-CNN,模型的檢測速度與檢測精度均有所提高,但這類兩階段的檢測方法在檢測速度上與單階段檢測方法仍存在一定差距。典型的單階段目標檢測方法有YOLO系列算法和SSD算法。Redmon等[5]在2015年提出了第一個單階段檢測方法YOLO算法,Liu等[6]借鑒了YOLO和Faster R-CNN的優點提出了SSD算法,檢測速度快并且實現了多尺度預測。在YOLO v1的基礎上,Redmon等[7-8]又提出了YOLO v2和YOLO v3算法。其中,YOLO v2進行了各種嘗試,使用了批標準化技術;YOLO v3使用了Darknet-53和sigmoid函數。本文以YOLO v3作為研究基礎,通過網絡結構和損失函數的改進來提升小目標檢測的精度。
相較于YOLO v2,YOLO v3算法在整體網絡結構上有較大改變,使用sigmoid函數代替了softmax函數,并實現了多尺度預測。YOLO v3能夠在3個不同位置的3個不同尺寸的特征圖上使用大小為1×1的卷積核實現檢測,其中的2個特征圖是經過上采樣和特征融合以后得到的。Darknet-53作為主干網絡進行特征提取,借鑒了殘差網絡的結構,實現了跳層連接與殘差模塊。……