吳 鑫,劉沄沄
(湘潭大學 公共管理學院,湖南 湘潭 411105)
目標檢測是計算機視覺領域的一個基本問題。近年來,在智能監(jiān)控、智能分類和產(chǎn)品檢測方面取得了長足的進步[1]。然而,自然條件下的目標檢測任務仍然存在很多挑戰(zhàn),其中遮擋因素對檢測效果的影響很大。因為遮擋會導致圖像中被檢測目標的局部特征丟失,影響目標特征的完整性,從而影響檢測過程中的實際檢測精度[2]。
為了達到較高的準確率,檢測模型被廣泛應用于目標檢測領域。利用卷積神經(jīng)網(wǎng)絡提取圖像各部分的特征,直接對目標信息進行回歸,實現(xiàn)目標檢測。在YOLO9000模型的基礎上,將Fast R-CNN的瞄框引入YOLOv1并結(jié)合全卷積網(wǎng)絡,提高模型的識別精度和速度[3]。上述方法雖然提高了圖像中大小目標的檢測精度,但在實際檢測中,遮擋仍然會影響檢測精度。因此,為了更好地解決遮擋中的目標檢測精度問題,一般認為YOLOv3是更好的解決方案。理論上,與基于YOLOv1的檢測模型相比,基于YOLOv3網(wǎng)絡的檢測模型可以增強目標邊緣檢測的能力。平均檢測精度會明顯高于傳統(tǒng)的YOLOv1模型,可以達到更好的檢測效果。
本文研究了傳統(tǒng)目標檢測模型的應用現(xiàn)狀。根據(jù)調(diào)查分析結(jié)果,傳統(tǒng)的基于YOLOv1網(wǎng)絡的物體檢測模型在檢測被遮擋物體時,往往存在檢測不準確、精度低等技術問題。針對這個問題,提出了一種基于YOLOv3網(wǎng)絡模型的改進優(yōu)化設計。本文基于YOLOv3網(wǎng)絡模型,進行了整體框架重構, 優(yōu)化了特征融合算法、加入注意力機制等一系列操作,大大提高了檢測精度。為了進一步驗證優(yōu)化模型的實際效果,本文對YOLOv3網(wǎng)絡模型和YOLOv1網(wǎng)絡模型進行了仿真測試對比。通過對檢測結(jié)果的分析,可以看出改進后的模型進一步提高了模型在復雜背景和目標被遮擋環(huán)境下的檢測精度。
YOLOv3目標檢測算法是2018年Joseph Redmon和Ali Farhadi提出的基于回歸的實時目標檢測算法,一種卷積神經(jīng)網(wǎng)絡,可以同時預測多個目標幀的位置和類別。它是對YOLOv1模型的改進。YOLOv3使用殘差神經(jīng)網(wǎng)絡作為特征提取的基本網(wǎng)絡;在此基礎上,加入卷積層,對3種不同尺度的圖像進行預測,從而獲得更高的語義信息。另外,考慮到分類標簽的重疊性,YOLOv3使用logistic分類器代替softmax分類器,分類損失也通過二元交叉熵損失來計算。YOLOv3利用FPN網(wǎng)絡在多個尺度上檢測不同大小的目標。單元越細,可以越細地檢測到目標信息。每個預測任務的特征圖大小如下:
其中為N目標大小,3為每個目標周圍的瞄框數(shù),4為瞄框的坐標數(shù),1為目標預測值,class_num為類別數(shù)。
YOLOv3網(wǎng)絡平等分配每個通道的特征,這顯然在某種程度上限制了網(wǎng)絡的性能。為了進一步提升網(wǎng)絡精度,本文使用Triad Attention對YOLOv3中的Darknet53特征提取模塊網(wǎng)絡進行改進,改進后的模型命名為ENYOLOv3。Triad模塊是一種非常有效的注意力機制,網(wǎng)絡結(jié)構如圖1所示。
圖1 Triad attention網(wǎng)絡結(jié)構
其原理是通過3個分支分別捕獲空間維度和通道維度中的特征依賴關系,其中一個分支負責捕獲特征圖在任意兩個位置之間的空間依賴關系,另一個分支負責捕獲任意兩個通道之間的通道依賴關系,剩下的一個分支用來捕獲全局范圍內(nèi)的特征依賴關系,通過三分支的輸出進行融合后來實現(xiàn)維度交互。
傳統(tǒng)的FCNs生成的特征會將物體錯誤分類,但本文引入的分支模塊在局部特征上建立了豐富的上下文關系,融合了更廣泛的上下文信息;傳統(tǒng)的通道注意力機制會選取高層特征圖進行全局池化,將每個輸出通道的二維特征壓縮為一個實數(shù),但會丟失大量的空間信息,無法挖掘出通道圖之間的相互依賴關系,降低了特定語義特征的表達。本文設計的通道模塊可以很好的挖掘出通道圖之間的相互依賴關系,明顯突出了特征圖之間相互的依賴關系,提高了特定語義的特征表達。結(jié)合三分支注意力模塊改進的T-YOLOv3模型骨干網(wǎng)絡結(jié)構如圖2所示。
圖2 ENYOLOv3骨干網(wǎng)絡結(jié)構
YOLOv3針對目標框回歸采用均方誤差損失,類別和置信度采用交叉熵損失,具體形式如下所示:
其中λcoord,λclass,λnoobj分別代表坐標損失、置信度損失以及類別損失占總loss的權重,S表示grid size,B表示box,如果表示在i,j處的box有目標,其值為1,反之則為0,表示如果在i,j處的box沒有目標,則其值為1,反之則為0。(ωi,xi,yi,hi,ci,pi)分別代表真實目標框的寬、中心坐標、高、置信度和類別;分別代表預測目標框的中心坐標、寬、高、置信度和類別。
由于交通標志數(shù)據(jù)存在樣本不均衡且不宜分類等問題,采用MSE損失函數(shù)對于目標框的坐標回歸并不能準確地反映其預測框和目標框之間IOU,因而使用Focal loss來優(yōu)化分類損失,該損失函數(shù)可以解決一階段模型中背景分類不平衡和正負樣本嚴重失衡的問題,改進的Focal loss計算公式如式(6)所示:
本實驗在計算機環(huán)境配置為Windows 10,CUDA10.0,CUDNN7.0。硬件配置為Intel-CPU-i7-10870H處理器,顯卡為NVIDIA GEFORCE GTX 2080Ti,調(diào)用GPU進行加速訓練。
本文在德國交通標志檢測數(shù)據(jù)集(GTSDB)上進行了消融實驗,驗證前文所述方法的提升效果,GTSDB數(shù)據(jù)集中圖片拍攝角度以及分類更規(guī)范,因此作為本文算法的主要研究數(shù)據(jù)集。GTSDB數(shù)據(jù)集共包含3大類交通標志,選取了數(shù)據(jù)集中的4 000張圖片,并通過裁剪、翻轉(zhuǎn)、變化顏色通道等操作擴充數(shù)據(jù)集。在GTSDB數(shù)據(jù)集中選取這3類交通標志作為檢測識別對象,分別為“prohibition”“warning” “direction”,共計5 860個標簽。將標注信息生成與之對應的XML格式的目標區(qū)域位置的信息,編寫Python程序?qū)ML格式的目標區(qū)域位置信息統(tǒng)一轉(zhuǎn)換為TXT格式,以便能讓YOLOv3讀取圖片標注信息位置。最后按照VOC2007數(shù)據(jù)集格式進行了整理,分別按3∶1比例將數(shù)據(jù)集中的圖片分為訓練集和測試集兩種。
此實驗以YOLOv3為網(wǎng)絡檢測算法框架,基于遷移學習的方法,使用預訓練模型作為提取基礎特征的網(wǎng)絡,整個過程共迭代了300次,其中批量大小設置為16,使用隨機梯度下降的方法,初始學習率為0.001,動量和權重衰減率分別設置為0.936和0.000 5。
本文采用多個標準來評估不同算法的性能,包括準確率P(precision)、F1值、平均準確率均值mAP(mean Average Precision)以及檢測速率幀每秒(Frame Per Second)。計算公式如下:
其中,TP表示針對某一目標類,被正確分類的正樣本數(shù)目,F(xiàn)P表示被錯誤分類的負樣本的數(shù)目,F(xiàn)N表示被錯誤分類的正樣本數(shù)目。mAP為所有類別平均準確率的均值,p(rc)表示在c類召回率為rc時的準確率。
為了論證上述改進方法的有效性,本文在GTSDB數(shù)據(jù)集上實行消融實驗,構建基礎網(wǎng)絡baseline,通過組合上述所提及的CSPResNeXt、三分支注意力(Triad attention)、Focal loss,來驗證不同模塊對網(wǎng)絡性能的提升。測試結(jié)果如表1所示。表1列出了precision,recall,F(xiàn)1和mAP(IoU=0.5)4種指標。與baseline和模型A,B,C可知,CSPResNeXt、三分支注意力(Triad attention)、Focal loss對于模型的性能均有所提升,并在mAP上分別提高了1.20%,1.70%,0.6%。而集合3個模塊的T-YOLOv3在precision,recall,F(xiàn)1,mAP上均取得了最好的結(jié)果,與baseline相比,分別提升了4.4%,4.3%,4.7%、5.1%。表2為GTSDB 數(shù)據(jù)集上對比實驗結(jié)果。
表1 GTSDB 數(shù)據(jù)集上消融實驗結(jié)果
表2 GTSDB 數(shù)據(jù)集上對比實驗結(jié)果
實驗結(jié)構可知,CSPResNeXt,Triad attention,F(xiàn)ocal loss對于網(wǎng)絡性能的提升是有效的。
針對使用 YOLOv3 網(wǎng)絡直接檢測交通標志圖像時存在的部分漏檢與檢測精度不高的問題,本文提出了一種Triad Attention 機制的名為T-YOLOv3的目標檢測方法。實驗表明,T-YOLOv3模型相比于原始模型在本文數(shù)據(jù)集上檢測交通標志的平均準確率和平均速率均有一定的提升,具有一定的泛化性。