張陽婷,黃德啟,王東偉,賀佳佳
新疆大學電氣工程學院,烏魯木齊830017
近年來,基于深度學習的目標檢測算法在計算機視覺領域取得了長足的發(fā)展,與傳統(tǒng)的計算機視覺技術相比,這些模型表現出卓越的性能,展示了深度學習技術的潛力。目標檢測在于定位和分類物體,并識別物體類別。作為計算機視覺領域中的重要研究方向,目標檢測發(fā)揮著關鍵作用,在人臉檢測[1]、行人檢測[2]、視頻檢測[3]、車輛檢測[4]等領域都有著廣泛的應用。
在計算機視覺領域,目標檢測可以分為傳統(tǒng)目標檢測和基于深度學習的目標檢測兩類。傳統(tǒng)目標檢測的算法主要有DP(deformable parts model)[5]、Selective Search(SIFT+SVM)[6]、Oxford-MKL(HOG+Cascade SVM)[7]、NLPR-HOGLBP(LBP/HOG+Latent SVM/Boosting)[8]等。
但隨著技術及數據的發(fā)展,傳統(tǒng)的檢測算法明顯無法滿足人們的應用需求。傳統(tǒng)特征雖然在某些方面可以幫助深度學習模型精度的提高,但對于傳統(tǒng)檢測算法來說,仍然存在一定的局限性。第一,大多采用滑動窗口算法,其計算時間效率低下,為多流程的步驟處理,處理復雜且準確度低。第二,特征設計與選擇極大程度上依賴于人工,其準確度、客觀性、魯棒性與泛化性都受到了一定的制約。
隨著深度學習的發(fā)展,基于深度學習的目標檢測技術成為計算機視覺鄰域研究的焦點。相較于傳統(tǒng)算法,它能夠充分學習到圖像的特征,性能大幅提升。2012年,Krizhevsky等人[9]提出AlexNet網絡,是第一個現代深度卷積網絡的技術算法,引起了DCNN的研究熱潮。2014年,Girshick等人[10]提出一種基于卷積神經網(convolutional neural network,CNN)的RCNN 網絡,該網絡是目標檢測領域的一個里程碑。2015 年,Redmon 等人[11]提出一種基于單個神經網絡的目標檢測系統(tǒng)YOLO(you only look once:unified,real-time object detection),目標檢測技術有了新的發(fā)展。隨著研究人員深入探索,基于DCNN的目標檢測算法突破了傳統(tǒng)算法的局限,使得目標檢測進入新的時期。
隨著目標檢測的快速發(fā)展,為滿足不同復雜應用場景的需求,提高檢測精度的同時,也需要優(yōu)化檢測速度以支持實時應用。因此,在追求更優(yōu)檢測結果的同時,準確性與速度兩者同樣重要。文章的主要內容如下:(1)綜述了深度卷積神經網絡(DCNN)的發(fā)展,對目前主流的兩階段目標檢測算法架構和單階段目標檢測算法架構的發(fā)展及優(yōu)缺點進行歸納。(2)對近些年來用于目標檢測的主干網絡進行了分析,并比較了相關主干網絡的性能和參數。(3)總結了關于目標檢測的數據集以及評價指標,對比了經典算法的檢測精度,總結經典目標檢測算法的改進策略。(4)對目標檢測的應用進行總結,對其中使用的技術進行了詳細的分析。
目標檢測任務主要是找到圖像中的目標位置并對其進行分類?;谏疃葘W習的目標檢測算法代替?zhèn)鹘y(tǒng)的手動選取特征,主要可以分為Two-stage 目標檢測和One-stage 目標檢測。Two-stage 目標檢測算法先進行區(qū)域生成,該區(qū)域稱為region proposal,再通過卷積神經網絡進行樣本分類。常見Two-stage 目標檢測算法有:R-CNN[10]、Mask R-CNN[12]、SPPNet[13]、Fast R-CNN[14]和Faster R-CNN[15]等。One-stage 目標檢測架構,通過DCNN直接進行定位和分類,單階段目標檢測可以在一個階段中可以直接生成目標的類別概率和位置的坐標,不需要生成候選區(qū)域過程。常見One-stage目標檢測算法有YOLO系列[11]、SSD[16]、DSSD[17]和FSSD[18]。
R-CNN:R-CNN(regions with CNN features)使用了DCNN 作為特征提取骨干網絡,模型結構如圖1 所示,但對每個候選區(qū)域特征的單獨提取沒有利用DCNN的特征共享能力,造成了大量計算資源的浪費,并且會消耗大量的存儲空間。王子琦等人[19]提出的改進R-CNN算法,具有更好的泛化能力。
圖1 R-CNN模型結構Fig.1 R-CNN model structure
SPPNet:它可以任意尺寸輸入,固定大小輸出,可對任意尺寸提取的特征進行池化。如圖2 所示,SPP 層通常被放置在最后一層卷積之后,避免重復計算需要特征圖池化的部分,從而減少計算量,但SPPNet沒有實現端到端訓練,減少了準確性。
圖2 SPPNet模型結構Fig.2 SPPNet model structure
Fast R-CNN:Fast R-CNN是在R-CNN算法的基礎上進行了改進,與R-CNN/SPPNet 相比,減少了存儲空間的占用,具有更高的準確性,但耗時較長,無法滿足實時應用。
Faster R-CNN:Faster R-CNN 中提出了候選區(qū)域網絡(RPN),以取代選擇性搜索算法來生成候選區(qū)域,它在精度和速度上都有很大的提高,結構模型如圖3所示。
圖3 Faster R-CNN模型結構Fig.3 Faster R-CNN model structure
但需要大量的樣本和計算資源,在實時應用場景下速度還不夠快。趙珊等人[19]提出通道分離雙注意力機制的目標檢測算法,通過改進Faster+FPN主干網絡來提高小目標的檢測精度,具有較好的應用性。
Mask R-CNN:Mask R-CNN是由Faster R-CNN和語義分割算法FCN 組成,進行目標分類和邊界框回歸并行的RoI預測分割,同時完成目標檢測和實例分割。
其中的RoIAlign 層使用了雙線性插值來實現像素級對齊,解決兩次量化導致的特征像素丟失和偏差,性能優(yōu)于Faster R-CNN。林娜等人[21]提出一種基于優(yōu)化Mask-RCNN 的提取算法,對高精度遙感圖像的提取具有實際的意義。
Sparse R-CNN:Sparse R-CNN[22]利用了點云(point cloud)和對稱卷積(symmetric convolution)兩種新型神經網絡結構,在減少運算量與參數數量的同時達到更好的精度表現。在保持準確性的同時還大大降低了計算成本,具有很高的實用價值兩階段的目標檢測算法相較于傳統(tǒng)算法,性能大幅提升,表1總結了Two-stage目標檢測算法優(yōu)勢以及局限。
表1 Two-stage目標檢測算法總體分析Table 1 Overall analysis of Two-stage target detection algorithm
從表1 可以看出Two-stage 目標檢測算法的優(yōu)點(1)準確性高。能夠準確地檢測出目標物體,并且對于小目標檢測效果也比較好。(2)可擴展性強??梢酝ㄟ^改變網絡架構和調整參數等方式來適應不同的應用場景和數據集。(3)穩(wěn)定性好。在噪聲和遮擋等情況下的表現相對穩(wěn)定。缺點(1)速度慢。需先生成候選框再進行后續(xù)處理,檢測速度較慢。(2)復雜度高。由于需要進行多次卷積、池化等操作,部署和使用都會帶來一定的困難。(3)特征重復計算。候選框的生成和后續(xù)處理是分開進行的,導致重復計算。
因此,在進行Two-stage 目標檢測算法時需要在保證模型準確性的前提下來考慮如何優(yōu)化模型結構和模型參數的設置,使得算法既可以獲得較高的檢測精度,又可以滿足實際應用場景下的實時性要求。未來的發(fā)展趨勢將會朝向更深、更高效的方向發(fā)展,以提高模型的準確性和速度。
OverFeat:Sermanet等人[23]改進AlexNet提出OverFeat算法,它利用DCNN的特征共享將目標分類和目標定位集成到一個網絡架構中。OverFeat在速度上快于RCNN,但精度較低。
YOLO:YOLO算法是一種端到端的神經網絡,YOLO是一種基于全局圖像信息進行目標預測的算法。其模型結構如圖4 所示,相較于R-CNN 算法,YOLO 采用統(tǒng)一框架,在速度上更具優(yōu)勢。但它的網格單元只能預測兩個邊界框并且只能屬于同一類,因此YOLO不適用于密集的小目標。
圖4 YOLO模型結構Fig.4 YOLO model structure
SSD:SSD(single shot MultiBox detector)是一種基于單階段目標檢測的方法,可以實現快速、高效、準確的物體檢測。RCNN 算法和YOLO 算法在速度和準確性方面有不同的優(yōu)缺點。RCNN 系列具有較高的檢測精度,但檢測的速度較慢。YOLO 雖然檢測速度快,但是在對小目標的檢測效果較差。陳欣等人[24]提出了一種改進型多尺度特征融合SSD方法,能夠降低小目標的漏檢率。為了提高SSD 表達低層次特征圖的能力,DSSD使用ResNet101作為骨干網絡,超越了以前的SSD框架。同樣,FSSD 將低層次的特征融合到基于SSD 的高層次特征中,旨在短時間內提供多樣性模式集,減少了運行時間。
YOLOv2:YOLOv2[24]對YOLOv1進行了改進,讓精度得到了提高。加入BN 層之后,能夠更好地對小目標的物體進行檢測,并且借鑒Faster R-CNN 的做法,YOLOv2 移除了YOLOv1 中的全連接層而采用了卷積核anchor boxes來預測邊界框,提高了檢測的精度。
YOLOv3:YOLOv3[26]改進了前期YOLO 算法的不足,改良了網絡的主干,利用多尺度特征圖進行目標檢測,采用單獨的神經網絡對圖像進行處理,將圖像分割成多個區(qū)域,并預測每個區(qū)域的概率和邊界框信息,從而實現了目標檢測的全局感知和局部精度結合,取得了良好的檢測結果。
YOLOv4:該算法由Alexey Bochkovskiy、Chien-Yao Wang 和Hong-Yuan Mark Liao 共同開發(fā),并于2020 年發(fā)布,采用了一系列的優(yōu)化策略,如快速測試、跨層連接和卷積操作等,使得其在保持高精度的同時可以實現更快的檢測速度。
YOLOv5:2020年6月,Jocher等人提出YOLOv5[27]。在輸入端方面,采用了自適應錨框計算和自適應圖片放縮技術,以獲取合適的錨框并減少模型計算量,并提高整個目標檢測算法的性能表現和效果質量。張艷等人[28]提出基于金字塔分割注意力與線性變換的輕量化目標檢測算法PG-YOLOv5,提高了檢測的精度,更易部署。
YOLOv7:YOLOv7[28]目標檢測算法作為YOLO 系列的最新成果,相較于以往模型具有更高的檢測精度和更快的檢測速度。并且針對不同目標檢測任務,具有YOLOv7-w6、YOLOv7-d6等7種大小不同的模型,具有更強的適應性,可以應用在不同的工作環(huán)境。
表2總結One-stage目標檢測算法改進方式、優(yōu)勢以及局限。從表2 可以看出,從算法性能來說,單階段目標檢測算法的優(yōu)點(1)速度快。不需要生成候選框,直接在特征圖上進行處理,檢測速度較快。(2)簡單高效。不需要多次卷積、池化等操作,模型較簡單,部署和使用都比較容易。(3)對小目標檢測效果好。采用密集檢測的方式,對于小目標檢測效果較好。缺點(1)準確性稍遜:相對于兩階段目標檢測,單階段目標檢測的準確性稍遜,對于小目標、遮擋嚴重、光照暗淡等情況下的檢測效果更為有限。(2)容易過擬合。由于可能存在大量背景樣本,容易出現過擬合現象。
表2 One-stage目標檢測算法總體分析Table 2 Overall analysis of One-stage target detection algorithm
隨著深度學習技術的進步,許多單階段目標檢測算法的性能已經接近或超過兩階段模型,因此在準確性方面具有一定優(yōu)勢。但較于兩階段算法,其檢測精度還有提升空間,對于小目標和密集目標的檢測效果可能不如兩階段算法,因此,在應用單階段目標檢測模型時,需要根據具體應用場景和需求選擇合適的算法,并對其進行適當的調整和優(yōu)化。
作為目標檢測任務的基本組成部分,骨干網絡主要負責將圖像輸入轉換為對應的特征圖輸出,并對輸入圖像進行特征提取和表示,如表3 所示,總結比較了復雜骨干網絡和輕量級骨干網絡,在表3 中TOP5 精度則是指預測結果在前5 名中與標簽相同的標檢測的骨干網絡,主干網絡的TOP1 精度指的是在分類任務中,預測結果與標簽完全相同的比例;而復雜骨干網(complex backbone network,CBN)的精度,在不影響輕量級骨干網絡(lightweight backbone network,LBN)準確性的前提下,以合適的方式減少參數。
表3 復雜骨干網絡(CBN)與輕量級骨干網絡(LBN)的比較Table 3 Comparison of complex backbone network(CBN)and lightweight backbone network(LBN)
ZFNet:ZFNet 使用非池化層和去卷積層來可視化特征圖方法。ZFNet 主要采用更小的卷積核來增加深度,并利用重疊池化技術來充分利用每個像素信息。相對后續(xù)提出深度卷積神經網絡,如VGG、ResNet等,ZFNet網絡結構較淺,可能會限制它在更復雜任務上的表現。
VGGNet:VGGNet具有非常深的網絡結構,并且通過大量的卷積層和池化層來提取圖像特征。但同時也使用參數多,耗費了更多的計算機資源,導致占用的內存較多。劉猛等人[45]提出了基于迭代剪枝VGGNet 的方法,與輕量級的骨干網絡相比,具有較好的性能。
Inception:Inception 使用密集的并行卷積層和池化操作來提取輸入圖像的高層次特征,并使用多個分支來處理不同尺度的信息。它通過分解卷積操作從而減少參數數量和計算量,同時保證了實現更深層次的網絡結構。Inceptionv2中采用了更高效的網絡拓撲結構,提高了模型的性能和穩(wěn)定性。Inceptionv3 則在Inceptionv2的基礎上進一步優(yōu)化了模型,加入了inception-residual模塊,以增大模型可訓練深度。Inceptionv3相比Inceptionv2具有更高的精度和更好的魯棒性,但也因此在計算和存儲上需要更多的資源。兩個模型都在實際應用中得到了廣泛的應用。
ResNet:ResNet 是一個殘差學習模塊,可以加深網絡的深度,增強了網絡的特征表示能力。與其他網絡結構相比,ResNet 有非常深的網絡層數,被廣泛應用于各種計算機視覺任務中。
復雜骨干網絡常用于目標檢測、圖像分類與分割,這些網絡可以提取高級語義特征,幫助識別和定位圖像中的目標物。這些網絡可以學習人臉圖像中的特征表示,用于識別和驗證人臉身份。同時,復雜骨干網絡在醫(yī)學圖像分析領域具有重要應用潛力。它們可用于醫(yī)學圖像的病變檢測、分割和分類,幫助醫(yī)生進行疾病診斷和治療決策。復雜骨干網絡部署需要綜合考慮硬件資源、網絡結構、模型優(yōu)化和部署框架等因素。
骨干網絡的結構復雜,參數眾多,因此需要更多的計算資源以及更長的訓練時間來達到較好的效果。而輕量級骨干網絡可以有效地縮短模型訓練和推理所需的時間,從而提高實際應用的效率和響應速度。此外,在一些需要快速響應和實時決策的場景下,使用輕量級骨干網絡也能夠減少傳輸和處理延遲,提高用戶體驗和數據隱私性。
SqueezeNet:SqueezeNet 的主要設計目標是在保持較高準確率的前提下,大幅壓縮模型大小和計算復雜度。SqueezeNet 中提出了新的網絡架構,稱為Fire Module,進行特征提取與分類,其引入的Fire模塊用來增加神經元數量、提取更強特征,但同時也增加了網絡的計算量。王文秀等人[46]提出了一種基于改進SqueezeNet 的檢測算法,使模型更加輕量化。
Xception:Xception 的全稱是Extreme Inception,它基于Inception架構,通過采用深度可分離卷積替代標準卷積,可以顯著減少卷積層的參數量,降低了計算復雜度和過擬合的風險,同時準確率也有所提高。黃英來等人[47]提出了一種改進Xception 網絡模型的圖像分類方法,有較高的準確性,但對于小數據集而言,可能會出現過擬合問題。
MobileNet:MobileNet使用深度可分離卷積(depthwise separable convolution)架構,減少了需要學習的參數數量和計算復雜度。王志強等人[48]提出MCA-MobileNet模型,具有很高的計算效率和較小的模型。在移動設備等資源受限的場景下實現高效的圖像分類和目標檢測任務。MobileNetV2 針對MobileNet 存在的一些問題進行了改進,使用的反向殘差神經單元結構使得它在同樣精度下擁有更小的模型體積,并且其計算效率也相對更高。
ShuffleNet:ShuffleNet使用了輕量化的組卷積(group convolution)和通道混洗(channel shuffle)技術,可以在幾乎不損失準確率的情況下大幅減少模型大小和計算資源,并且相對于MobileNet 等其他輕量級卷積神經網絡表現更優(yōu)。ShuffleNetV2在精度、速度和模型大小等指標上均優(yōu)于ShuffleNet,提供了更多的可配置參數,如層間通道數比例、非線性激活函數選取等,在實際使用中可以進行更微調的優(yōu)化。
PeleeNet:PeleeNet 是一種輕量級卷積神經網絡模型。采用密集連接思想和逐層縮減的方法設計,緊密地連接預處理、特征提取和分類輸出而不犧牲準確度。PeleeNet的參數量較小,適合在資源受限的環(huán)境下進行嵌入式或移動圖像分類任務。劉星等人[49]提出了一種PeleeNet與YOLOv3相結合的目標檢測算法,具有較小的運算量和參數量。但相對于一些較新的深度學習網絡,PeleeNet在處理更大且更復雜的任務時精度可能會有所降低。
輕量級骨干網絡廣泛應用于移動設備上的計算機視覺任務,如智能手機、平板電腦和嵌入式系統(tǒng)等。由于輕量級骨干網絡具有較低的計算復雜度和模型大小,因此在需要實時響應的應用中得到廣泛應用,例如視頻監(jiān)控、自動駕駛和增強現實等。輕量級模型可以根據特定場景的需求進行優(yōu)化和定制化。在針對人臉檢測、車輛檢測或工業(yè)場景中的物體檢測等特定任務中,可以通過設計輕量級模型,提高檢測的精度和效率。
數據集通常包含多張圖片和每張圖片上對應的目標物體的位置、類別等信息。目標檢測數據集的構建需要大量的人工標注和篩選,例如MNIST[47]、CIFAR-10[51]、ImageNet[52]、Open Images[53]、MS COCO[54]、Pascal VOC[55]、Tiny Images[56]、DOTA[57]、WIDER Face[58]、KITTI Vision Benchmark Suite[59]和MVTec AD[60]等數據集。這些數據集中涵蓋了各種不同的物體類別、尺度、姿態(tài)、光照等變化,以及復雜的背景干擾和遮擋情況,具有較高的多樣性和代表性。這些數據集的廣泛應用推動了計算機視覺領域中的算法開發(fā)和技術進步,在促進圖像識別、目標檢測、圖像分割等方面取得了重要成果,可以廣泛地驗證和優(yōu)化目標檢測算法的效果。
ImageNet 是一個用于視覺對象識別軟件研究的大型可視化數據庫。用于評估算法性能的廣泛而多樣的圖像數據集,被認為是深度學習革命的開始。復雜的數據集可以推動實際應用和計算機視覺任務。它使用了WordNet架構的變體來對對象進行分類,是一個巨大的視覺訓練圖片庫。
MS COCO 數據集是微軟公司提供的一個大型圖像理解數據集,其中包括了各種類型的物體和場景,并且圖像注釋非常詳細。圖像中包含了各種復雜的場景和擁有不同顏色、形狀、大小等屬性的物體。每張圖像都標注了物體位置、類別、數量,以及與該物體有關聯的語義信息。被廣泛應用于圖像識別、目標檢測、圖像生成等多個任務的研究中。
PASCAL VOC 數據集是經典的圖像識別數據集。PASCAL VOC 在學術界廣泛使用,因為其提供了公開和標準的基準測試數據和評估協(xié)議,可以幫助研究者更好地比較算法的性能。相比其他大型數據集如ImageNet和COCO,PASCAL VOC的數據量相對較小,適合小規(guī)模模型訓練和快速原型開發(fā)。
DOTA(detection in aerial images)數據集是一個廣泛用于航空圖像目標檢測的大規(guī)模數據集。它由中國科學技術大學所創(chuàng)建,具有多樣的標注信息,這些圖像覆蓋了188個不同地區(qū)的遙感場景,包括城市、農田、港口、森林等各種環(huán)境。包含15個常見的目標類別,如飛機、船只、車輛、建筑物等。每個目標類別都有不同的形狀和尺寸,從小型車輛到大型建筑物,覆蓋了各種實際場景中的目標。為研究人員提供了一個豐富和多樣的航空圖像目標檢測資源。
WIDER Face數據集應用于人臉檢測,它來自于不同的環(huán)境,包括戶外、戶內、大規(guī)模人群、極端天氣等。其人臉實例具有不同的尺度、姿態(tài)、表情和遮擋情況。這些人臉特征增加了數據集的難度,要求算法具有較強的魯棒性和泛化能力。其大規(guī)模和多樣性成為人臉檢測算法研究的重要基準。
KITTI Vision Benchmark Suite數據集是一個廣泛用于自動駕駛和計算機視覺任務的綜合數據集。該數據集基于真實世界的道路場景,涵蓋了不同的天氣條件下城市和鄉(xiāng)村道路的交通情況。數據集提供了豐富的標注信息,包括車輛、行人、自行車等物體的邊界框標注,道路標記、語義分割等信息。這些標注信息可用于算法訓練和性能評估。
MVTec AD 數據集針對工業(yè)質量控制應用中的缺陷檢測任務。每個產品類別都包含正常樣本和帶有各種常見和罕見缺陷的異常樣本。數據集的圖像是在實際工業(yè)生產環(huán)境中拍攝的,具有真實的光照條件和復雜的背景。這使得數據集更貼近實際應用場景,并具有挑戰(zhàn)性。
表4和表5 分別總結了One-stage 和Two-stage 檢測算法發(fā)表時所用的主干網絡、檢測速率、檢測時的GPU型號,以及在VOC2007 數據集、VOC2012 數據集和COCO 數據集上的檢測精度?!啊北硎緹o相關數據,mAP值中的括號表示以其作為訓練集。
表4 One-stage目標檢測算法性能對比Table 4 One-stage target detection algorithm performance comparison
表5 Two-stage目標檢測算法性能對比Table 5 Two-stage target detection algorithm performance comparison
從表4 和表5 可以得知,One-stage 目標檢測算法在同一系列算法中,其檢測精度不斷提高,甚至超過了Two-stage 目標檢測算法的精度。另外,在相同的算法架構下,主干網絡模型越深,輸入圖片尺寸越大,檢測精度也越高;但是在相同的GPU環(huán)境下,檢測速度會變慢。
評價指標是評價目標檢測算法方法好壞的重要依據。當前,主要的性能評價標準有IoU(intersection over union)、Precision、Recall、AP和mAP(mean average precision)等指標。
IoU 是一種常用的評價目標檢測算法性能的指標。它是通過計算預測框與真實目標框之間的重疊面積大小來量化目標檢測算法的準確率。當IoU 為1 時,表示預測框完全覆蓋了真實目標框;當IoU為0時,表示兩個框沒有交集,預測錯誤。不同任務和數據集可能需要不同的IoU閾值,通常情況下IoU閾值越高,算法的準確率也越高,但同時漏檢率也會相應地增加。
其中TP表示真正例,FP表示假正例。精度越高,表示被視為目標的檢測結果更準確,但可能會漏檢部分實際存在的目標。Precision、Recall公式定義如下:其中,Precisioncij表示類別Ci在第j張圖像中的準確率,Recallcij表示類別Ci在第張圖像中的召回率。其中TP 表示真正例(預測目標正確),FN 表示假反例(未檢測到的目標),召回率越高,表示模型檢測到了更多的目標。
類別的平均精度(AP)如下所示:
mAP 用于描述模型對所有目標類別的檢測性能。在實際場景中,可能會有多個類別的目標檢測,當數據集有多個類別{C1,C2,…,Cn} ,mAP如式(4)所示:
PR 曲線是由準確率和召回率來構建的曲線,可以更準確地評估檢測器的性能。PR曲線的兩個指標都聚集于正例,PR 曲線越靠近右上角越好。ROC(receiver operating characteristic)曲線是與PR曲線對應的接受者操作特征曲線,它是一種比較均衡的評估方法。ROC曲線使用了假陽性率FPR 和真陽性率TPR,與PR 曲線不同的是,ROC曲線越靠近左上角,說明檢測器的性能越好。ROC曲線下面積可以更直觀地表示檢測器的好壞,通常AUC 值介于0.5 和1.0 之間,AUC 值越大表示性能越好。
ROC 曲線兼顧正例和負例,適用于評估分類器的整體性能。如果想要評估相同的類別分布下正例的預測情況,宜選用PR曲線。在實際的應用中,應根據實際需要選擇PR曲線或ROC曲線。
通過改進網絡模型的結構,可以提升目標檢測算法的性能。引入更深的網絡結構或者采用更輕量化的網絡可以提高算法的感受野和特征表示能力。
4.1.1 引入更深的網絡結構
更深的網絡結構可以提供更多的層次抽象表達能力,從而更好地捕捉數據中的特征信息,如ResNet、EfficientNet[63]等。這類網絡結構通常由多個卷積層、池化層和全連接層組成,與淺層的網絡結構相比,較深的網絡結構可以提高模型的表現能力和性能,在一些復雜的任務中取得更好的效果。
因網絡參數增加,其可以適應各種不同規(guī)模度的圖像,相比較傳統(tǒng)的目標檢測方法具有更強的泛化能力。足夠的訓練數據量可以給予更深的網絡更強的適應性和泛化能力,使其在不同數據集、不同場景下都能取得較好的效果,提高目標檢測的準確率和魯棒性。
4.1.2 輕量級模型結構
通過設計輕量級的模型結構,以在保持較高準確率的同時減少參數量和計算復雜度。常見的輕量化設計包括使用深度可分離卷積、輕量化的模塊設計、模型剪枝和模型量化等。
輕量級模型相對于大型復雜模型具有更少的參數,因此可以在計算資源受限的情況下實現較快的推斷速度。Google 團隊[64]提出了MobileNetV3 模型,在保證精度的同時,使計算量減少了15%。Han 等人[64]提出了GhostNet 輕量化模型,采用兩個卷積串聯的結構,利用低精度Full-Resolution Residual Connections(FRRC)解決信息流的問題。輕量級模型結構可以為目標檢測任務的快速實現、較弱計算資源設備上的部署和優(yōu)化等提供解決方案。
常用的輕量級模型部署有剪枝、量化、蒸餾、模型壓縮等方法。設計輕量級的網絡結構和層次結構,例如采用深度可分離卷積、shufflenet等網絡結構來大大減小網絡參數量和計算負載。這些方法可以單獨或組合使用來優(yōu)化模型大小和性能,以適應不同的部署環(huán)境。在實際應用中,需要根據具體要求和限制來選擇適當的方法進行輕量級模型部署。
在目標檢測領域,改進損失函數是常見的研究主題。改進損失函數可以引導目標檢測算法更好地優(yōu)化模型。目標檢測中常用的損失函數有交叉熵損失、平方損失和Smooth L1損失等,這些損失函數對于預測目標類別和位置都有一定的優(yōu)劣性。改進目標檢測損失函數通常會引入一些正則化項或一些特定的度量指標,以增強模型的魯棒性并減少過擬合或偏差問題的發(fā)生。這有助于提高目標檢測模型在新數據集上的泛化能力和可靠性。
傳統(tǒng)的交叉熵損失等損失函數不能很好地適應物體檢測任務,而改進后的損失函數可以更好地判斷目標是否存在、位置是否準確,從而提高模型的準確度。并且有助于解釋模型處理過程中所做的決策,進一步提高目標檢測算法的可解釋性。修改成本函數的策略可以使模型學習更好地利用數據,從而在相同時間內獲得更快和更穩(wěn)定的收斂速度。
區(qū)域生成方法用于生成候選目標框,改進這一步驟可以提高目標檢測算法的效率和準確性。一種常見的策略是引入基于Anchor的方法,如Faster R-CNN、RetinaNet等,通過設計不同尺度和長寬比的Anchor 來生成候選框。另外,也有一些基于候選框生成的方法,如Selective Search、EdgeBoxes等方法,可以用于改進區(qū)域生成的效果。
改進區(qū)域生成方法的輸入條件更加靈活和豐富,其圖像生成過程也可以提供更多的中間結果以及分別對應不同目標屬性的部分圖像信息,如顏色、紋理、形狀等。這使得該方法具有更強的可控性和可解釋性,在特定任務和應用場景下具有較好的效果。
利用目標周圍的上下文信息可以提升目標檢測算法的準確性。一種常見的策略是引入注意力機制,通過引入注意力機制,使模型能夠自動學習重要區(qū)域和關鍵特征。此外,特征融合策略也可以用于擴展模型的感受野并提升目標檢測算法的性能。
4.4.1 引入注意力機制
通過引入注意力機制模塊,針對不同的目標及環(huán)境特征,自適應選擇和調整重要區(qū)域和特征,可以幫助模型在處理圖像時關注重要的目標區(qū)域,從而提高檢測的精度和魯棒性。
全局注意力(global attention):全局注意力是將圖像整體視為一個注意力矩陣,通過對整個圖像進行權重計算,從而實現不同程度的區(qū)域加權。通常采用全連接層或卷積層實現,能夠有效捕獲圖像基本特征和背景信息,但不能很好地處理局部目標和噪聲。
自適應注意力(adaptive attention):自適應注意力是指根據圖像的內容和上下文,自動調整注意力矩陣的大小和形狀,以更好地關注重要的目標區(qū)域。比較常見的是基于空間注意力、通道注意力和特征注意力進行計算和調整。
多層次注意力(multilevel attention):多層次注意力通常將不同深度和尺度的特征分別建立注意力模塊,并分別計算每個位置和通道的權重,然后將所有注意力結果融合起來,并通過反饋機制對模型進行優(yōu)化。能夠較好地處理不同尺度和復雜場景下的目標檢測問題。
注意力機制能夠自動調整關注區(qū)域,在面對不同場景和任務時具有較好的適應能力,能夠提高模型的泛化能力和可遷移性。
4.4.2 特征融合策略
特征融合是利用上下文信息進行目標檢測時廣泛應用的一種策略。它將不同來源和不同維度的特征組合起來,以增強檢測模型對目標的判別能力和魯棒性。常見的特征融合方法包括以下幾種:
早期特征融合(early fusion):將不同分辨率和抽象級別的特征在輸入層直接拼接或相加,構造多通道特征進行統(tǒng)一處理。優(yōu)點是簡單易用,可以較好地保留圖像的粗略低級特征,但同時也容易導致過度擬合和冗余計算。
晚期特征融合(late fusion):將不同層次或位置的特征分開提取、獨立處理,再在輸出層或后續(xù)模塊中融合,具有較好的靈活性和可擴展性。
注意力機制特征融合(attention-based fusion):通過引入學習到的注意力權重,自適應選擇和調整不同特征的貢獻和重要性,從而實現針對性融合。
特征融合是一種有力地利用上下文信息的策略,可以有效提高目標檢測算法的性能和魯棒性,但需要根據具體應用場景和數據情況選擇合適的方法和參數。
通過合理的數據增強策略可以增加目標檢測算法的訓練樣本,提升模型的魯棒性和泛化能力。常見的數據增強技術包括隨機裁剪、縮放、旋轉、顏色變換等,還可以結合圖像語義分割、實例分割等任務進行數據增強。
目標檢測技術已經取得了很大的進展,在圖像識別、目標跟蹤、智能安防等應用場景中顯示出極高的精度和效率,為實現智能化時代的到來奠定了堅實的基礎。目標檢測根據實際場景需求的不同,在技術的實現上也有所不同。在現實的應用場景中,目標檢測具有非常重要的現實意義,具有廣泛的應用前景。本章主要列舉了當前目標檢測的重要應用。目標檢測技術的研究方向正在朝著高效、準確和實時性方面發(fā)展,應用場景也日益多樣化和廣泛。
人臉檢測作為目標檢測中最重要的應用之一,與人們的日常生活密切相連。然而在現實世界中,由于人臉表征的多樣性、外部環(huán)境光照和手勢等因素的影響,人臉檢測任務具有挑戰(zhàn)性。
傳統(tǒng)的人臉檢測主要基于滑動窗口和手工特征提取器,利用人臉模板特征與檢測到的圖像特征進行滑動匹配,以確定人臉的位置。代表方法是Viola和Jones于2001年設計的VJ檢測算法[65]。這種算法使用了Haar特征和級聯AdaBoost 分類器構建檢測器,能夠大大提高檢測速度和準確率。隨著深度學習算法的逐漸發(fā)展,基于深度學習的人臉檢測技術也越來越成熟。
隨著卷積神經網絡的深入研究,基于卷積神經網絡的人臉檢測取得了很好的檢測結果。Najib等人[67]提出一種SSH,通過在不同尺度的特征圖上進行檢測來實現多尺度人臉檢測,提高了檢測速度。Wu等人[68]建立了模板匹配方法,豐富了檢測模型。Jiang等人[69]在Faster R-CNN的基礎上提出了Face R-CNN,并添加了基于Softmax的中心損失,性能得到了提升,但檢測的速度較慢,無法滿足人臉檢測對速度的極高要求。Bazarevsky等人[70]提出了一種用于實時人臉檢測的輕量級網絡模型,具有較快的推理速度和較小的模型尺寸。在今后的研究中,隨著技術水平的發(fā)展,研究結果也將更加貼近實際應用。
顯著性目標檢測通過模仿人的視覺感知系統(tǒng),尋找最吸引視覺注意的目標,已被廣泛應用于圖像理解、語義分割、目標跟蹤等計算機視覺任務中。基于深度學習的顯著性目標檢測方向大致分為基于RGB 圖像、基于RGB-D/T圖像以及基于光場圖像的顯著性目標檢測。
1998年,Itti等人[71]提出了顯著目標檢測方法,基于手工提取圖像特征進行顯著性目標檢測也得到了一定的發(fā)展。隨著深度學習的發(fā)展,此后的研究主要集中于基于深度學習技術開展。李俊文等人[72]提出一個輕量級顯著性目標檢測模型,提高了檢測效率。Sheng等人[73]提出了一種輕量級MobileFaceNets模型,適用于在移動設備上進行高準確度的實時人臉驗證任務。與傳統(tǒng)手工特征提取方法相比,基于深度學習的輕量級目標檢測模型可以充分利用大規(guī)模數據進行模型訓練,實現更精準的特征提取和顯著目標定位,具備更強的應對復雜多變場景的能力。
行人檢測技術在智能交通系統(tǒng)、智能安防監(jiān)控、智能機器人等領域均擁有廣泛的應用前景和價值,已經成為計算機視覺領域的重要研究方向之一。由于行人物體更容易受到人體姿態(tài)、外界光照和視角的影響,因此檢測難度也較高。
在早期時,行人檢測主要依賴于手工設計的特征進行目標表征,利用邊緣的方向和強度信息來描述行人的形狀和外觀。然而,手工特征只能利用行人外觀等淺層信息作為判斷依據,這容易導致誤檢測和低準確率問題的發(fā)生。
隨著深度學習技術的不斷發(fā)展,行人檢測引起了廣泛關注。Mao 等人[72]提出了HyperLearner,通過修改錨點的尺度來增強對行人和背景的識別。對于行人的多尺度問題,Li等人[75]根據大尺度和小尺度的差異設計了兩個子網絡進行并行檢測,通過使用尺度感知來合并兩個子網絡。陳寧等人[76]對遮擋情形下的行人問題進行了研究,總結了不同的方法。Tian等人[77]提出了DeepParts方法,將人體分為多個部分檢測后再進行合并,解決了行人遮擋問題。Wang等人[78]提出了一種基于密集連接的輕量級目標檢測網絡模型,適用于移動設備上的實時行人檢測?;诰矸e神經網絡的深度學習方法在行人檢測領域的發(fā)展中具有重要推動作用。
遙感圖像檢測是指利用遙感技術獲取的衛(wèi)星或航空影像數據進行物體識別和分類的過程。遙感圖像檢測可以應用于土地利用、環(huán)境監(jiān)測、城市規(guī)劃等領域,為決策者提供重要的信息支持。常見的遙感圖像檢測任務包括建筑物檢測、道路提取、農作物識別、水域分類等。
通過遙感技術,可以獲取地表、海洋、大氣等多種地球物理參數信息,為資源調查和環(huán)境監(jiān)測提供了可靠數據支持。張大奇等人[79]提出了一種U-PSP-Net結構的卷積神經網絡,證明了神經網絡結構在含陰影的冰川遙感影像中的可行性和有效性。李坤亞等人[80]改進YOLOv5的遙感圖像目標檢測算法,有效提高了檢測精度。Li等人[81]總結了基于光學遙感影像的船舶檢測與分類方法存在的問題和未來發(fā)展趨。遙感圖像檢測對農田檢測、城市規(guī)劃、城市更新、軍事偵察等領域具有重要意義。
本文對基于深度學習的目標檢測方法進行了全面的回顧,主要包括兩個方面:檢測架構和骨干網絡。綜合兩階段目標檢測方法和單階段目標檢測方法,總結歸納出它們各自的優(yōu)缺點。介紹了數據集和評價指標,并總結了目標檢測的重要應用。隨著目標檢測技術的逐步發(fā)展,檢測精度在目前有了逐漸的提升。但隨著應用場景的多元化發(fā)展,目標檢測技術在改進模型算法、數據預處理、深度學習網絡設計、模型優(yōu)化等方面仍然存在多種挑戰(zhàn)和待解決的問題。綜合當前目標檢測的研究現狀,對今后的研究做出如下展望:
(1)多元化數據集:單一數據集包含信息較少,限制網絡作用發(fā)揮,檢測的效果較弱,建立多元化的數據集,可以用來訓練多領域目標檢測模型是未來的研究方向。
(2)輕量化模型:目前存在的網絡模型架構通常復雜、參數眾多,難以滿足邊緣設備實時檢測的需求。因此,在保證高準確度的前提下,提升檢測速度,讓模型變得更加輕量化,顯得尤為重要。為此,研究人員正在積極探索諸如壓縮算法、量化方法、深度可分離卷積等輕量級技術,來降低模型的計算量和存儲空間占用,從而使目標檢測技術能夠更好地適應實際場景中的需求。
(3)小目標檢測:隨著深度卷積神經網絡的普及,基于深度學習的目標檢測方法已成為主流。然而,一些方法在小目標檢測方面存在較差的表現,并且通過深層網絡對小目標進行特征提取容易出現語義信息丟失的問題。利用超分辨率重建來豐富小目標的細節(jié)信息,如SRCNN、VDSR、EDSR等方法使用卷積層來學習低分辨率圖像的映射,對低分辨率圖像進行學習和重建,能夠提高重建圖像的視覺質量和對小目標細節(jié)的還原能力。
(4)多模態(tài)目標檢測:多模態(tài)數據融合學習方法在提升微弱目標檢測效果方面表現突出,相對于單一模態(tài)具有更加豐富的目標信息,在許多應用場景中有著廣泛的應用。然而,多模態(tài)數據融合也會帶來計算量的增加,從而使得在計算資源受限的環(huán)境下難以實現實時目標檢測效果。因此,如何在保證目標檢測準確率的前提下,提高目標檢測速度以滿足實時監(jiān)測需求,成為了未來發(fā)展的重要挑戰(zhàn)。為此,研究者正在積極探索一系列優(yōu)化策略,諸如網絡剪枝、混合精度訓練、硬件加速等,以解決多模態(tài)數據融合過程中的瓶頸問題,推進目標檢測技術在實踐中的廣泛應用。