耿 創,宋品德,曹立佳
(1.四川輕化工大學 自動化與信息工程學院, 四川 宜賓 644000; 2.橋梁無損檢測與工程計算四川省高校重點實驗室, 四川 宜賓 644000; 3.四川輕化工大學 計算機科學與工程學院, 四川 宜賓 644000; 4.人工智能四川省重點實驗室, 四川 宜賓 644000)
目標檢測是計算機視覺領域重要的研究方向之一,主要任務是根據用戶感興趣目標信息找出輸入圖像中所有符合要求的目標,并對目標所屬類別和所處位置進行分析。在實際生活中,輸入圖像往往因為目標在外觀、顏色、姿態上的差異,加上采集圖像數據時光照、遮擋、抖動、輻射等外界因素的干擾或拍照要求的限制,導致成像質量不佳,嚴重影響目標檢測算法的定位精度,使得定位精度問題一直是目標檢測領域極具挑戰性的焦點問題。
傳統的目標檢測方法借助機器學習算法,通過不同尺度的滑動窗口確定目標候選區域,對區域內目標特征如梯度直方圖特征(histogram of oriented gradients,HOG)、尺度不變特征(scale invariant feature transform,SIFT)、局部二值化特征(local binary pattern,LBP)、哈爾特征(haar-like features,Haar)等進行提取,接著將提取到的圖像特征輸入到如支持向量機(support vector machine,SVM)、最近鄰(K-Nearest-Neighbor,KNN)、決策樹(Decision Tree)、迭代器(AdaBoost)等的分類器中對候選目標進行分類。基于傳統的目標檢測方法有其固有缺陷:基于滑窗的區域選擇算法對不同特征目標的針對性弱,時間復雜度高且窗口大量冗余;所提取到的圖像特征本質上是一種手工設計的特征,針對不同的圖像檢測任務,特征好壞對檢測性能有著重大直接的影響,需要研究人員針對所要解決的任務領域設計針對性的特征。此外,基于機器學習的目標檢測方法從圖像底層特征提取到表現特征提取的流程相對復雜,對人工特征的設計依賴性強。因此,傳統基于機器學習的目標檢測方法遇到瓶頸,需要一種更加高效精確的方法完成圖像特征的提取。
與傳統的機器學習相比,基于深度學習的目標檢測算法通過多層神經網絡直接對圖像進行卷積和池化操作來提取圖像的本質特征,在圖像識別領域優勢明顯。
深度學習的發展,特別是基于深度學習的卷積神經網絡(convolutional neural network,CNN)的出現,為圖像特征提取帶來全新的解決方法。CNN是局部連接網絡,在CNN中,選取圖像中小塊區域作為底層輸入數據,信息通過前向傳播經過網絡中各個層,每一層都由過濾器構成,以便能獲得觀測數據的一些顯著特征,其層次間的緊密聯系和空間信息使其特別適用于圖像特征提取工作。
在實際工程應用中,部分場景對于模型精度要求非常高,部分場景對于模型檢測速度要求非常高,但更多的是對速度和精度都有很高要求的情況。所以亟需一種能夠在滿足檢測精度要求的同時達到實時檢測的檢測算法。
2014年,Girshick等在CVPR(IEEE conference on computer vision and pattern recognition)大會上提出了R-CNN(region with CNN feature)網絡,He K等在網絡的全連接層前加了一個空間金字塔(spatial pyramid polling)層,使得該網絡在全連接層輸入不需要歸一化圖像尺寸,提取的特征有更好的尺度不變性,降低了過擬合的可能,在VOC(visual object classes)2012數據集上,將平均準確率(mean average precision,mAP)提升到53.3%。2015年Girshick等和Ren等又相繼提出了Fast R-CNN和Faster R-CNN模型,在提高模型檢測精度的同時優化了檢測速度。2016年Redmon等提出的YOLO(You Only Look Once)V1以45FPS(frames per second)真正達到了實時檢測視頻的速度,這為實時檢測視頻運動目標指明了方向;Liu等提出了SSD(Single Shot MultiBox Detector)物體檢測模型,在實時性和準確率都高于YOLO V1,在VOC數據集測試,mAP達到了74.3%,檢測速度也達到了46FPS;隨后,Redmon等又提出了YOLO V2,在VOC數據集上測試,將mAP提升至78.6%,并且大幅提高了檢測速度,達到了67FPS的實時檢測效果。同時,基于區域建議的CNN目標檢測和基于耦合CNN的弱監督學習方法也被提出來,使得標記成本大幅降低。
姚群力等系統綜述了深度學習在目標檢測中的研究進展,著重介紹了基于R-CNN算法的改進優化算法,對無區域建議的基于回歸的YOLO算法和SSD算法等進行了簡單介紹,提出了一些深度學習在目標檢測領域遇到的難點問題以及研究趨勢。肖雨晴等就非機動車、機動車和行人3個方面對目標檢測在交通場景中的應用做了系統綜述,介紹了幾個目標檢測算法的優化方向與經典算法。員嬌嬌等針對目標檢測領域遇到的小目標檢測問題做了系統綜述,分別就多尺度、提高特征分辨率、上下文語義信息、數據增強和優化網絡這五個方面的多種算法進行介紹,并對算法的特點和網絡進行了對比研究。
基于區域建議的兩步檢測算法在精度上有很好的表現,但是在檢測速度上無法達到實時檢測的要求。基于回歸的算法與基于區域建議的算法相比,在精度上做了讓步,但是在檢測速度上卻有很大提高,完全可以達到實時檢測的要求。YOLO算法相比SSD算法,在YOLO V3時期與SSD算法性能不相上下,但是隨后推出的YOLO V4和YOLO V5,已在性能上遠超SSD算法。
YOLO V2算法的基礎模型為Darknet-19,包含19個卷積層和5個最大值池化層。其中,卷積層主要采用3×3卷積,2×2池化層,可以將特征圖中的通道數增加兩倍。最后由全局平均池化層進行結果預測,并在3×3卷積之間添加1×1卷積對特征圖通道進行壓縮,以降低模型計算量和參數。YOLO V2的Darknet-19模型相比YOLO V1模型,主要在計算量上減少了約33%,Darknet-19結構如圖1所示。

圖1 Darknet-19網絡結構Fig.1 Darknet-19 net structure
海上船舶目標的檢測問題在海事搜救、交通管理和無人船只等領域具有重大意義,船舶目標具有目標小,特征點少和易受環境影響等特點。周薇娜等針對海上船舶目標檢測問題提出了一種改進的網絡結構,結合SELU(scaled exponential linear units)激活函數,有效提高了YOLO V2算法的檢測精度和YOLO V3算法訓練過程的冗余問題,但是在檢測精度上還有待提高。
針對船舶目標檢測任務,于洋等基于YOLO V2網絡,使用-Means算法對自制船舶數據集中的目標框重聚類,優化船舶檢測問題的anchor數據。對輸入圖像的尺寸進行調整,使之每10 epoch改變一次圖像的尺寸,提高網絡對不同尺度目標的檢測能力。考慮到直通層可以將相鄰特征堆疊到不同通道,即把高分辨率的特征映射成低分辨率的特征映射,通過將特征細粒度化,可以達到增強小目標定位問題的特性。于洋等在原YOLO V2的基礎上又增加了一個直通層,以增強對小目標物體的定位能力,同時刪減了網絡中冗余的卷積層和池化層,提升網絡的檢測速度。在與原YOLO V2做對比試驗發現結果如表1所示。

表1 改進算法與原算法結果Table 1 Comparing the improved algorithm with the original one
盡管模型的檢測速度在不影響實時性的基礎上略有降低,但是檢測精度相比原YOLO V2算法有所提高。而且改進網絡在船舶的小目標定位問題上精度更高,針對同一張圖片中出現不同分辨率大小的船舶時,改進網絡的檢測效果更好。
復雜氣象條件下采集到的船舶目標信息具有多種復雜的噪聲,周薇娜等從新加坡海事數據庫(singapore maritime dataset,SMD)數據集中選取了傳感器噪聲、干擾物噪聲、大尺度變化噪聲和惡劣天氣背景噪聲4種極具代表性的噪聲作為檢測對象,驗證改進算法的有效性。試驗結果表明改進算法針對復雜氣象條件下的船舶目標檢測有一定效果,但是檢測精度還有待提高。
針對同樣復雜氣象條件下的目標檢測任務中采集到的圖像數據不清晰等問題,熊詠平等以YOLO V2網絡模型為基礎,針對復雜氣象條件下海上艦船目標的檢測任務,對非極大值抑制算法進行改進,通過將暗通道先驗去霧算法的基本物理特征和圖像亮度值的差異相結合形成的顯著性特征對圖像是否清晰進行判別,不清晰圖像采用去霧算法處理后再進行目標檢測任務。考慮到傳統非極大值抑制算法存在只能對同類目標進行抑制,非同類目標不抑制的問題,以及試驗所用數據集中檢測對象分布稀疏的特點,熊詠平等對所有檢測到的類別進行統一NMS處理,不再單獨處理,以提高模型檢測精度。針對檢測框與真實區域重疊度低的問題,熊詠平等采用基于上下文感知的顯著性算法對檢測結果中顯著性特征進行提取,使用自適應閾值分割方法使得檢測框大小與真實區域更為接近。在2017年中國計算機學會大數據與計算智能大賽使用的數據集上與Faster R-CNN和原YOLO V2算法目標檢測結果如表2所示。
根據表2可以看出,經過熊詠平等的改進之后,模型的檢測速度略微降低,但檢測精度上大幅提高。為復雜氣象條件下遙感圖像目標檢測任務提出一種可行性方案。

表2 復雜氣象條件下目標檢測結果Table 2 Comparison of target detection of performance under complex weather conditions
YOLO網絡中的anchor參數是在VOC數據集上聚類得到的,識別目標種類多但是針對特種對象的目標檢測效果不佳,在面對群簇小目標檢測時即便加入了細粒度特征依舊存在檢測效果不佳的問題。
胡超超等針對道路上自行車與騎行者群簇小目標的目標檢測問題,在YOLO V2的基礎上使用了細粒度特征和殘差網絡對網絡進行改進,提出了YOLO-R網絡模型。并使用聚類算法中類內相似度最大差異和類間差異度最大相似度最小的原則對聚類過程進行優化,提出了基于IOU的評價函數F。


在區分行人與騎行者時,胡超超等通過比較行人框與自行車框的中心坐標距離與位置關系判斷是否為騎行者。實現多目標跟蹤則是根據Kalman濾波與匈牙利匹配算法相結合實現。在同一個行人與騎行者數據集上與原YOLO V2算法進行對比試驗發現結果如表3所示。

表3 YOLO V2與YOLO-R對比試驗結果Table 3 Test results of YOLO V2 and YOLO-R
根據表3不難看出,改進后的YOLO-R算法不管是檢測精度還是檢測速度上都相比較原算法有了很大提高,而且為多物體綜合檢測問題提出了一種基于位置關系的可行性方案。
YOLO V3算法相比YOLO V2,主要有分類層、多尺度融合和骨干網絡架構的改進。這3個方面的改進使得YOLO V3算法相比較YOLO V2算法在不影響速度的情況下,大幅度提高了檢測精度,同時在不提高輸入圖片分辨率的情況下大大提高了對于小目標物體的檢測性能。
YOLO V2的網絡結構在分類時采用的是單標簽多分類的Softmax層,而YOLO V3則改進為適用于多標簽多分類的logistic層。主要是針對實際生后中復雜場景下,同一張圖片中有多個類別物體重疊在一起,影響檢測網絡的性能。同時因為Softmax層可由多個logistic分類器取代且不會對模型分類準確率產生影響。
多尺度方面的改進則是主要借鑒了SSD算法,采用Multi-Scales策略,通過3個不同尺度的特征層進行預測,大大提高了對尺度變換特征明顯的圖片中小目標對象的識別,提高了在遙感目標檢測領域的適用范圍。
骨干網絡的改進主要有加深網絡層,使用殘差網絡模塊,卷積代替池化,使用金字塔池化。網絡層數的加深可以大大提高模型的檢測精度;殘差模塊的加入可以防止因網絡層數過深引起的梯度下降;步長為2的卷積核代替原本的池化操作可以防止因池化導致的信息丟失;金字塔池化的使用則可以實現模型的多尺寸輸入和相同尺寸的輸出。YOLO V3的骨干網絡Darknet-53結構如圖2所示。

圖2 Darknet-53網絡結構示意圖Fig.2 Darknet-53 net structure
YOLO V3算法中目標函數是基于誤差平方和建立,存在目標函數和評價函數不統一的問題,容易出現目標局部最優不一定是IOU局部最優的問題,Rezatofighi等提出了GIOU指標,為解決該問題提供了新的可行性方案。但是針對在模型訓練開始時出現真實框與預測框不相交的問題,原YOLO V3算法進行了優化,隨著訓練過程的進行,這種情況的次數會不斷降低,而Rezatofighi等提出的GIOU-YOLO V3并未考慮這種情況,直接對目標函數進行了替換,這會對模型的訓練過程造成一定影響。
王兵等基于YOLO V3網絡,融合IOU與GIOU的優點,提出一種將包含真實框和預測框的最小框減去兩框相交區域的目標函數,同時修改模型的IOU計算方法,降低預測框中負樣本對訓練過程的影響。在VOC2007和自制施工現場安全帽佩戴檢測數據集中試驗結果如表4所示。

表4 改進算法結果Table 4 Performance comparison of improved algorithms
根據表4可知,改進后的YOLO V3算法相比較GIOU-YOLO V3、原YOLO V3算法和SSD算法在檢測精度上最佳。王兵等自己采集制作的安全帽數據集對安全帽目標的標注在精度上很高,針對真實情況下安全帽檢測任務有很好的效果。
YOLO V3算法屬于單結構回歸密集型檢測,每個特征圖上都預設有一定數量的錨框,每個錨框設定一個訓練樣本,根據單結構網絡回歸對預測錨框所屬類別和相對于真實框的偏移量進行預測。但是錨框與真實框匹配后,數據集中屬于背景的負樣本數量就會遠大于屬于檢測對象的正樣本數量,導致正負樣本比例不平衡。針對這種情況,基于回歸的SSD算法在訓練過程中選擇只取一些損失比較大的負樣本加入訓練,但是對于YOLO V3算法,Lin等為了控制正負樣本在損失函數中的權重使用改進的交叉熵損失函數(Focal Loss)代替原損失函數以減少數據集中負樣本所占權重,但是試驗發現模型的精度反而出現下降的情況。
趙瓊等基于YOLO V3網絡,在原YOLO V3網絡中增加卷積模塊對聚類結果錨框進行粗調,之后使用原預測網絡進行細調。為了解決正負樣本不均衡問題,在YOLO V3特征融合層后增加卷積模塊對樣本中的背景樣本進行分類,設置閾值生成mask標簽,對預測為負樣本且高于閾值的區域,mask值設為0,其余為1。然后將其映射到預測層上,mask值為0的區域樣本不參與訓練和預測,解決了正負樣本不均衡問題。同時對損失函數進行了部分改進,在其基礎上添加了針對預測錨框的寬高損失和針對前景背景的類別損失兩部分。在VOC數據集上與原算法試驗結果如表5所示。

表5 算法結果Table 5 Algorithmic performance comparison
可見,改進后的算法相較原算法在精度上略有提高,并未出現精度下降問題。
在實際工程應用中針對遙感圖像建筑物的目標檢測很難達到實時檢測的任務要求,而且遙感圖像中目標建筑物小也對檢測任務造成很大困難。張曼等基于YOLO V2目標檢測算法,對算法的特征維度和卷積過程進行改進,略微提升了檢測精度,但是在檢測速度上有所降低。同時提供了一種大幅遙感圖像的通用處理框架,有效解決了遙感圖像分辨率過大導致檢測網絡無法識別的問題。
董彪等基于YOLO V3網絡,對算法的特征提取網絡方面進行了改進,提高了模型的性能。考慮到原YOLO V3算法中采取的3個尺度(13×13、26×26、52×52)融合的方法對遙感圖像中小目標檢測的不利影響,董彪等將其修改為26×26和52×52兩個較大尺度的分辨率,并對特征圖進行修改。將原網絡的26×26特征圖作為第一尺度,將61層結果進行5次卷積操作后使用1×1卷積操作降維,通過上采樣與36層融合,結果用3×3卷積核消除混疊得到52×52的特征圖作為第二尺度特征。考慮到基于原YOLO V3算法中的聚類結果是在COCO數據上得到的,對于特種目標檢測任務效果較差,于是使用-Means算法對遙感建筑物數據集進行重聚類。與原YOLO V3和SSD算法在自制遙感建筑物數據集上試驗結果如表6所示。

表6 算法結果Table 6 Performance comparison
改進后的YOLO V3算法相比原YOLO V3算法和SSD算法在精度上有大幅度提高。
目前目標檢測算法中,利用高層特征的語義信息和底層特征的細節信息最多也是比較好的方式是FPN的架構方式。YOLO V3和RetinaNet采用的是concatenation和element-wise的直接銜接或者相加的架構方式,這種方式對FPN的多層不同尺度的特征的利用不夠完善,而且多層特征尺度與待檢測目標之間存在不一致的問題,比如大特征圖識別小目標,小特征圖識別大目標。同一個目標在不同特征層可能會出現分類完全相反的情況,這樣的矛盾信息對于目標檢測任務很不利。所以SongTao Liu等基于FPN架構,通過更新權重參數的方式將FPN的多層特征圖融合在一起得到新的特征圖進行最終預測,提出了一種基于自適應空間特征的融合方法。將ASFF這種架構方式應用到YOLO V3中驗證ASFF的有效性,結果如表7所示。
根據表7可知,改進后的算法在不影響實時性的情況下在檢測精度上有大幅提高。

表7 ASFF算法結果Table 7 ASFF algorithm comparison
YOLO V3算法中使用-Means算法作為聚類算法,該算法對噪聲點和孤立點敏感,容易造成聚類結果出現偏差,進而影響模型訓練效果。岳曉新等針對該聚類算法存在的問題,提出一種基于融合DBSCAN(density-based spatial clustering of applications with noise)算法和-Means算法的聚類算法,DBSCAN算法可以減弱噪聲點和孤立點數據對試驗的影響,為-Means算法提供準確的值或Anchor Box個數,提高-Means算法的聚類性能,達到優化小目標檢測的Anchor Box的目的。岳曉新等還針對Sigmoid激活函數在輸出較大時可能存在梯度消失,造成網絡收斂速度變慢的情況,使用Focal Loss損失函數替代原YOLO V3算法中的損失函數。對KITTI數據集中行人類別識別進行消融試驗結果如表8所示。
根據表8可知,改進聚類算法和優化損失函數都可以提高網絡的檢測精度,同時使用2種優化方法得到的試驗結果最佳。

表8 算法結果Table 8 Algorithm performance comparison
韋若禹等發現目前軌道線路養護工作自動化程度不高,大多依靠人工巡檢的方式進行,準確率低而且效率不高。基于此問題,韋若禹等用高速工業相機采集了某地鐵線路軌道的DTVI2型扣件的圖像數據制作了軌道扣件缺陷檢測專用數據集,并通過數據增強技術對缺陷樣本數據進行擴展,解決了缺陷樣本稀缺的問題。然后對YOLO V3網絡的聚類算法和特征選取方面進行了改進,減少了算法的運算量,提高了檢測速度,改進后的YOLO V3網絡結構如圖3所示。

圖3 改進YOLO V3網絡結構框圖Fig.3 Improved YOLO V3 net structure
與Faster R-CNN、SSD和原YOLO V3算法試驗結果如表9所示。

表9 改進YOLO V3算法試驗結果Table 9 Comparing test results of improved YOLO V3 algorithm
根據表9可知,改進后的YOLO V3算法在檢測精度和檢測速度上均有大幅度提高。韋若禹等還針對軌道扣件檢測任務制作了專用的數據集,大大提高了該領域目標檢測任務的精度。
YOLO V4模型的輸入端借鑒了Sangdoo Yun等提出的CutMix數據增強方式,提出了Mosaic數據增強方法。Alexey Bochkovskiy等提出的Mosaic數據增強方式在CutMix的使用兩張圖片進行拼接的基礎上,使用了四張圖片以隨機的縮放、裁切和排列等方式進行拼接,大大增強了模型針對大、中、小樣本目標不均衡問題的魯棒性。而且Mosaic數據增強提高了單GPU訓練的效果,降低了訓練成本。
YOLO V4主網絡由YOLO V3的Darknet-53升級為CSP-Darknet-53,借鑒了Chien-Yao Wang等提出的CSPNet,CSPNet主要解決了模型卷積過程中出現的重復問題,減少了模型的參數和計算量。激活函數也由ReLU替換為Mish,Mish相比ReLU具有更加平滑的梯度,可以更好地保持模型準確度。
特征提取則采用了SPP和PANet兩大改進,分別利用4個不同尺度的最大池化層對特征進行處理,最大化增大感受野面積,使圖像上下文特征更加顯著。YOLO V4的整體網絡結構如圖4所示。

圖4 YOLO V4整體網絡結構框圖Fig.4 YOLO V4 overall structure
Li Kang等提出一種基于YOLO V4算法的安全帽佩戴檢測方法,通過對運動對象目標進行圖像分割定位人所在區域,根據人身體比例的五分之一判斷頭部所在位置。Aziz,Kheireddine等根據圖像處理,篩選出工人膚色區域,通過設定骨架點對頭部區域與身體夾角進行計算,識別出頭部所在區域。上述2種方法只能檢測直立狀態下的施工人員,而且基于傳統機器學習方法的目標檢測算法在魯棒性和適用性上不及基于深度學習的目標檢測算法。
針對實際工程應用中施工人員在復雜姿態下的是否佩戴安全帽的目標檢測問題,王雨生等基于YOLO V4網絡,提出一種融合膚色特征提取和區域位置判斷的安全帽佩戴檢測方法。通過圖像色彩變換、形態學處理篩選出疑似頭部區域,與算法頭部區域檢測結果進行交叉驗證確定頭部區域。因為疑似頭部區域的判斷是通過膚色區域面積判定,考慮到存在工人手持安全帽的情況,王雨生等根據膚色區域空間位置判斷頭部所在區域,通過頭部區域和安全帽中心點坐標的距離計算,判斷工人是否安全佩戴安全帽,為安全帽佩戴檢測提出一種基于位置的可行性方案。通過Li Kang和Aziz Kheireddine的安全帽檢測,結果如表10所示。

表10 算法結果Table 10 Performance comparison
由表10可知,王雨生等的改進算法在安全帽佩戴檢測上的精度遠超Li Kang和Aziz Kheireddine的檢測算法。而且Li Kang和Aziz Kheireddine的檢測算法在面對施工人員復雜姿態下安全帽佩戴問題上存在嚴重的漏檢情況。
小目標檢測是遙感圖像目標檢測中的難點問題,針對小目標檢測問題,目前常用的解決方法是采用多尺度特征融合的方法,提高對小目標對象檢測的語義特征,進而提高小目標對象的檢測精度。王銀等以YOLO V4網絡為基礎,融合PANet-D特征網絡提取到的4個尺度特征圖,獲取小目標的語義特征,增強對小目標對象的檢測能力。
徐佰祺等基于YOLO V4網絡模型提出一種基于多尺度特征和融合注意力機制的M-YOLO V4模型。考慮到圖像特征金字塔底層特征圖包含大量目標的特征信息,但是感受野小、缺乏目標語義信息的問題。徐佰祺等將104×104尺度的特征圖通過下采樣與52×52的特征圖融合,對底層特征圖的語義信息進行補充,將融合后的結果經過7次卷積后送入到注意力機制模塊中達到更好的融合效果。考慮過多的背景信息會降低模型運行速度,徐佰祺等在模型中添加了注意力機制。SSD、YOLO V3、YOLO V4算法在RSOD-Dataset數據集下的試驗結果如表11所示。
根據表11可知,改進后的M-YOLO V4算法在準確率和檢測速度上均超越同類基于回歸的檢測算法。

表11 算法結果Table 11 Algorithm performance comparison
通常,把信噪比小于3的目標視為弱目標,空間領域的紅外弱目標檢測技術是重要的國防科技項目,目前國內針對弱目標的檢測任務不多。因為弱目標信噪比低,導致目標紋理特征和結構形狀模糊,給目標檢測任務帶來很大難度。相比可見光狀態下的目標檢測任務,紅外圖像的紋理單一、分辨率低,特征提取困難,而且紅外圖像下的目標和周圍背景對比度低,幾何輪廓模糊,難以提取有效的邊緣信息。王國剛等針對紅外弱小目標在高層感受野信息丟失問題提出了一種基于多通道多尺度特征融合的紅外弱小目標檢測算法(J-MSF)。
劉楊帆等基于YOLO V4網絡,對原算法進行重聚類,使其適應紅外弱目標檢測任務。考慮到弱目標尺寸過小,特征金字塔中底層特征包含少量語義信息,上層特征包含特征信息過少,所以對52×52尺度特征進行上采樣與104×104特征融合經過5次卷積后輸出,即擴展原算法的3個尺度為4個尺度(13×13、26×26、52×52、104×104),提出一種基于多尺度融合的MY-YOLO V4模型。YOLO V3與YOLO V4在COCO數據集和自制紅外數據集上試驗結果如表 12所示。

表12 算法結果Table 12 Performance comparison
由表12可知,改進后的算法在滿足實時性的前提下,準確度相比原算法有所提高。
通常,為了提高模型的性能,一般選擇調整模型的網絡結構、參數或者修改替換模型的某些計算公式,但是一個好的數據集也會對模型的性能產生一定影響。一個好的數據集中圖像噪聲不會太大,不存在冗余數據或者臟數據,對于訓練結束后分析模型的收斂曲線等參數有很大幫助。下面介紹一些目標檢測常用的數據集。
Pascal VOC:PASCAL VOC挑戰賽(The PASCAL Visual Object Classes)專用數據集,屬于公開數據集,全稱Pattern Analysis,Statical Modeling and Computational Learning。自2005年起舉辦,2012年為最后一屆,每年舉辦一次,最初只有4個類別,到2007年增至20個類別,目前使用最廣的是VOC2007和VOC2012。
COCO:由微軟團隊發布,常用于目標檢測、圖像分割、關鍵點識別等任務,包含大量的小目標和日常場景中的常見物體類別,并提供像素級的實例標注,共計91類目標,328 000張圖像和250萬個標注框。
Open Images:由谷歌團隊發布,常用于目標檢測、語義分割等任務,包含600個類別,190萬張標注圖片,平均每張圖片有8個標簽,標簽框由專業注釋人員手動標注,確保標簽的一致性和準確度,是現有的包含位置標注信息的最大數據集。
ImageNet:目前世界上最大的圖像識別數據庫。由專門的團隊維護,常用于目標檢測、分類和場景識別等方面,包含2萬多個類別,約1 420萬張圖像。其中超過百萬圖像有精確類別和位置標注信息,并有200個類別可用于目標檢測任務。
DOTA:常用于遙感圖像目標檢測,包含15個類別,2 806張航空遙感圖像,188 282張標簽框,圖像尺寸為4k×4k。標注格式為四點確定的任意形狀和方向的四邊形。特點是圖像的尺度變化性大,包含大量小目標。
NWPU-VHR-10:由西北工業大學發布,常用于遙感目標檢測等方面,包括飛機、輪船、車輛等10個類別,800張高分辨率衛星拍攝圖像,圖像取自Google Earth和Vaihingen,專家手動標注,背景圖150張。
UCAS-AOD:由中國科學院大學發布,常用于遙感圖像的目標檢測等方面,只包含汽車、飛機2類目標以及背景負樣本。共有2個版本,其中包含1 000張飛機圖像,7 482個飛機樣本,以及510張汽車圖像,7 114個汽車樣本,和910張背景負樣本圖像。
RSOD-Dataset:由武漢大學發布,常用于航空遙感等方面,包含飛機、操場、立交橋、油桶4類目標。有976張圖像,6 950個標簽,飛機類別最多。
Tsinghua-Tencent100K:由清華大學和騰訊公司合作發布,常用于交通標志的目標檢測任務,包含3萬個交通標志類別,10萬張交通標志的圖像。
URPC 2018:水下圖像的數據集,常用于小目標檢測和重疊目標檢測,包含海參、海膽、海星和扇貝4個類別,2901張訓練圖像和800張測試圖像。
Tiny Person:由中國科學院大學發布,常用于小目標檢測等方面。該數據集在海上和海灘場景圖像中人分辨率很小,包含sea person和earth person兩個類別。在船上、躺在水里或者身體的一半以上在水里的為sea person,其他的是earth person。圖像中人的識別有密集人群和水中倒影的影響,為長距離和大量背景的微小物體檢測開辟了一個新的方向,包含794張訓練圖像和816張測試圖像。
YOLO目標檢測算法是目標檢測領域不可替代的經典算法,但是隨著目標檢測算法的發展,YOLO目標檢測算法不可避免地在一些方面落后于其他算法,對此提出一些未來的研究趨勢:
數學理論尚待完善進步。只有充分的數學理論支撐,才能研究出更加先進,更為優化的YOLO算法模型,同時因為缺乏一定的數學理論支撐,導致YOLO目標檢測算法框架模型無法進一步提高性能。數學理論的發展可以為YOLO算法模型的改進提供原理性的指導,避免在改進模型時僅能依靠過往的經驗和虛無縹緲的直覺。
無監督式的學習。因為隨著社會的發展,人力成本越發昂貴,導致數據集的標注工作成為一個極度浪費人力、財力和時間的項目,而且數據的標注工作非常枯燥,標注過程中易出現誤差或錯誤。神經網絡模型是以人為模板進行研究的,而人的學習過程以無監督式學習為主導的,所以研究出融合無監督式學習的YOLO算法模型,對降低標注成本,豐富目標檢測數據集有很好的效果。
融合圖像細節信息和語義信息的結構。對于小目標檢測而言,僅細節特征信息很難將檢測精度提高到極限,但是加上圖像語義信息,比如上下文關聯信息和場景信息,結合細節信息構建出新的特征圖,那么檢測精度必定會有極大提高。目前已經有很多學者針對改進YOLO算法提取特征的過程進行改進,融合上下層語義信息和細節信息來提高YOLO算法針對小目標問題的檢測精度。但是,目前關于這個方向的改進并沒有很大的提高,亟需一種更好的特征融合提取結構來提高YOLO算法的性能。
提高復雜氣象條件下YOLO目標檢測算法的性能。隨著時代的發展,在極端條件下與復雜氣象條件下的人員搜救與目標檢測逐漸成為一個新的研究方向。極端條件下的風沙遮擋,灰塵覆蓋,海上颶風以及復雜氣象條件下雨霧,陰云和雷暴等的種種不利條件,都會嚴重影響目標檢測算法的性能。這些不利條件會導致數據采集過程中相機的記錄失真或難以記錄有效場景信息。YOLO算法還沒有很好的改進措施來解決復雜氣象條件下的目標檢測任務。所以,針對復雜氣象條件下的改進YOLO算法需要進一步創新發展。
更加先進的融合目標檢測算法。比如說針對夜間的目標檢測任務使用可見光與紅外光融合的多模態檢測,以提高模型檢測精度;針對特定對象的目標檢測任務使用融合注意力機制,可以減少計算量,提高檢測速度。目前通過多類別傳感器協同作用完成目標檢測任務的例子很少,仿生的算法未來尚還需要努力。
目標檢測是計算機視覺熱點問題,也是未來人工智能發展不可或缺的一部分。從傳統基于機器學習的目標檢測算法人工設計特征到基于深度學習的卷積神經網絡自動選擇特征,對于目標檢測算法的要求始終都是為了提高檢測算法的性能,提高精度、速度以及更加輕量化。基于區域的目標檢測算法盡管精度很高,但是檢測速度無法達到實時性要求,很難適應實際的社會需求,基于回歸的目標檢測算法則在滿足實時性要求的前提下擁有足夠的精度,但是未來的改進依舊是更高的精度以及實時性要求,YOLO算法自其提出以來不斷,融合各種不同網絡結構,不斷提高檢測性能,相信它未來的發展更好。