


關鍵詞: 目標檢測 計算機視覺 深度學習 檢測框架
中圖分類號: TP391.41;TP18 文獻標識碼: A 文章編號: 1672-3791(2023)16-0185-04
目標檢測是數字圖像處理和計算機視覺的一個研究熱門方向,廣泛應用于智能交通[1]、工業缺陷檢測[2]、無人輔助駕駛[3]、航空航天[4]、智慧農業[5]等諸多領域,通過計算機視覺減少對人力資本的消耗,具有重要的現實意義。因此,目標檢測也就成為了近年來理論和應用的研究熱點,它是圖像處理和計算機視覺學科的重要分支,也是智能監控系統的核心部分,同時目標檢測也是泛身份識別領域的一個基礎性的算法,對后續的人臉識別[6]、姿態估計[7]、目標跟蹤[8]、圖像分割[9]等任務起著至關重要的作用。由于深度學習的廣泛運用,目標檢測算法得到了較為快速的發展,本文廣泛調研國內外目標檢測方法,主要介紹基于深度學習的兩種目標檢測算法思路,分別為基于侯選窗口的Two-Stage目標檢測算法和基于回歸的One-Stage 目標檢測算法。
1 基于候選窗口的Two-Stage 檢測算法
1.1 R-CNN
2014 年,RSHICK R 等人提出R-CNN[10],這是繼承傳統目標檢測思想的R-CNN 系列的第一代算法,將目標檢測作為一個分類問題來處理,先抽取一系列目標的候選區域,再對候選區域進行分類。具體如圖1所示。
1.2 FastR-CNN
2015年,GIRSHICK R提出了Fast R-CNN[11]檢測器,進一步融合了R-CNN 和SPP-Net。在相同的網絡配置下,Fast R-CNN 可以讓我們同時訓練檢測器和邊界框回歸器。Fast R-CNN 在VOC07 數據集上將mAP 從58.5%(RCNN)提升至70.0%,檢測速度超過R-CNN 的200 倍。具體如圖2 所示。
1.3 FasterR-CNN
2015年,REN S等人提出了Faster R-CNN[12]檢測模型,FasterR-CNN是第一個端到端深度學習的檢測算法,也是第一個接近實時的目標檢測器。FasterR- CNN的主要貢獻是引入了區域提案網絡(RPN)從而允許幾乎所有的cost-free的區域提案。從R-CNN到FasterR-CNN,提案檢測、特征提取、邊界框回歸等目標檢測系統中的大部分獨立區塊已經逐步整合為統一的端到端學習框架。
2 基于回歸的One-Stage 檢測算法
2.1 YOLO
2016 年,REDMON J 等人提出了一種單階段算法YOLO[13]目標檢測器。YOLO 算法基于GoogleNet 網絡架構思想,其核心思想是將目標檢測轉化為一個回歸問題,利用整張圖像作為網絡的輸入,只需通過一個卷積神經網絡,就能獲得待測目標邊界框的位置和所屬類別。
2.2 YOLOv2
2017 年,REDMON J 等人在YOLOv1 的基礎上做了很多改進,提出了YOLOV2[14]。重點解決YOLOV1在召回率、定位精準度等方面存在的不足之處。與YOLOV1 是利用全連接層直接預測邊界框坐標相比,YOLOV2 借鑒了FasterR-CNN 的理念,引入了Anchor機制。使用K-means 聚類的方法在訓練集中聚類中計算出更好的Anchor 框,使算法的召回率大大提高。同時將淺層特征與深層特征相結合,結合圖像細粒度特征,對探測小尺寸目標有所幫助。并提出DarkNet-19骨干網絡進行更高效的特性提取。
2.3 YOLOv3
2018 年,REDMON J 等人在YOLOv2 的基礎上做了一些改進提出了YOLOv3[15] 。借助殘差網絡(ResNet)的思想,YOLOv3 特征提取部分用Darknet-53 網絡結構代替了原來的Darknet-19,Darknet-53 主要由1×1 和3×3 的卷積層組成,為了防止過度擬合每個卷積層后包含一個批量歸一化層和一個LeakyReLU。在Darknet-53 中,卷積層、批量歸一化層和LeakyReLU 共同組成基本卷積單元DBL。因為在Darknet-53 中共包含53 個這樣的DBL,所以稱其為Darknet-53。利用特征金字塔網絡(FPN)結構實現了多尺度檢測,使用邏輯回歸分類方法代替了Softmax,在兼顧實時性的同時保證了目標檢測的準確性。
2.4 YOLOv4
2020 年,BOCHKOVSKIY A 等人在YOLOv3 的基礎上做出了進一步創新,提出YOLOv4[16]。它將原來的Darknet53 結構換為了CSPDarknet53,引入了路徑增強網絡PANet 進行更好的特征融合和小目標檢測,并繼承YOLOV3 Head 層偵測頭進行多尺度預測。在改進網狀結構的基礎上,還引入了增加網絡模型檢測精度的各種Tricks 訓練技巧。
2.5 YOLOv5
2020 年,Ultralytics 等人提出了YOLOv5,它是在YOLOv4 的基礎上添加了一些新的改進思路,使其速度與精度都得到了極大的性能提升。在輸入端模型訓練階段,提出了Mosaic 數據增強、自適應錨框計算、自適應圖片縮放等方法;在BackBone 網絡,融合Focus 結構與CSP 結構;在Neck 網絡,在BackBone 與最后的Head 輸出層之間插入了FPN 和PAN 結構;在Head 輸出層,繼承了YOLOV4 的錨框機制,主要改進了訓練時的損失函數GIOU_LOSS,以及DIOU_NMS 被預測框篩選。
3 算法性能比較與分析
表1、表2 分別列出了本文所介紹的代表性目標檢測算法基于固定骨干網絡在公開數據集檢測精度與檢測速度對比,其中公開數據集分別為PascalVOC 2007+2012 和MS COCO。考慮到不同算法檢測框架在相同數據集下的檢測能力不僅與算法網絡模型和圖片尺寸大小有關,同時還與計算機硬件設備的有關。因此,在表1、表2 中所統計的檢測指標為未完全統計指標,其中“—”代表未知。從表中數據可以看出,本文所介紹的兩階段算法檢測精度高,但實行性差;單階段目標檢測算法兼具檢測精度和實時性。
4 總結與思考
本文以侯選窗口的Two-Stage 目標檢測算法和回歸的One-Stage 目標檢測算法為基礎進行了總結,介紹了各檢測器的主要框架模型結構,并指出了它們對于同系列前代檢測器的改進之處。最后進行不同算法檢測框架在相同數據集下的檢測精度與檢測速度的對比,進一步確定不同算法檢測框架的好壞。
同時,在深度學習目標檢測算法的未來研究發展中也存在一些困難,如檢測算法網絡模型大,訓練模型需要計算能力高的顯卡;小目標檢測準確性差,定位容易丟失;工業應用需要大量訓練數據集訓練模型,采集困難等。因此,如何解決以上問題將是未來深度學習目標檢測算法研究突破的重點。