?

改進YOLOv3模型對航拍汽車的目標檢測

2019-11-27 05:23謝曉竹
裝甲兵工程學院學報 2019年3期
關鍵詞:錨點航拍卷積

謝曉竹, 薛 帥

(陸軍裝甲兵學院信息通信系, 北京 100072)

在小型無人機云臺上加載高清攝像機進行圖像和視頻拍攝,已經成為其應用方式之一[1]。人們通過分析無人機拍攝回來的圖像和視頻,對感興趣的目標對象進行分析,進而獲取有用的信息。根據自動化程度的高低,獲取有用信息的方式可區分為人工手段和智能手段。人工手段是指將無人機傳回的圖像和視頻通過專業人員逐個檢測,進而得到分析結果。但隨著大數據時代的到來,當面臨海量的數據時,這種方式不僅工作效率低,而且耗費了大量的人力和物力,已經不能適應時代的發展。智能手段是計算機輔助分析的一種方式,其中目標檢測是其主要的研究內容和應用前提。

在計算機視覺領域中,目標檢測是指通過計算機分析圖像和視頻,對感興趣的目標進行識別,進而獲取目標的類別和準確位置。傳統的目標檢測算法有很多,如Haar+Adaboost[2]、HOG(Histogram of Oriented Gradient)+SVM(Support Vector Machine)[3]和DPM(Deformable Parts Model)[4]等,這些算法的共同缺陷是需要手工設計特征,難以適應目標的多樣性變化,檢測模型的魯棒性不強。深度學習方法以構建多層卷積神經網絡為基礎,通過對海量的數據進行學習訓練,進而得出優化的網絡模型參數,以此來實現目標的檢測。相對于傳統的方法,該方法不僅在檢測準確率上有了很大提高,其對復雜背景(如光照、陰影、霧氣等)下的目標檢測也有很好的檢測效果。因此,深度學習方法已成為目標檢測的主流。

基于深度學習的目標檢測方法可分為2大類:一類是基于區域建議的方法,通常稱為兩階段檢測,該方法首先提取可能存在目標的候選區域,而后對提取的候選區域進行分類和邊界位置回歸,其優點是檢測準確率高,不足是速度慢,很難滿足實時性要求;另一類是端到端的目標檢測方法,也稱作一階段檢測,相對于兩階段檢測,其主要優勢是速度快、實時性強。筆者基于端到端的目標檢測YOLOv3模型[5],以無人機航拍汽車為檢測對象,結合無人機航拍的應用場景特點,提出改進的模型,為無人機交通監管智能化提供前期的探索性研究參考。

1 YOLOv3模型

YOLOv3模型是當前YOLO(YouOnlyLookOnce)模型[6]的最新改進版本。該模型采用稱作Darknet-53的全卷積網絡結構作為主結構,擁有52個卷積層和1個池化層。同時借鑒了殘差網絡(Residual neural Network,ResNet)[7]和特征金字塔(Feature Pyramid Networks,FPN)[8],可實現多尺度目標的預測。其算法基本思想是:當訓練模型時,利用全卷積網絡提取輸入圖像特征,獲取3種尺度大小的特征圖,分別為N1×N1、N2×N2和N3×N3,相當于將輸入圖像分別劃分為N1×N1、N2×N2和N3×N3個單元格。如果輸入圖像中的被檢測物體中心點落入某個單元格,那么就由該單元格負責預測該目標。該單元格在3種尺度下分別選取和標簽框最大的交并比IOU(Intersection Over Union)進行預測,同時使用多個邏輯分類器進行回歸,從而訓練出網絡結構的每一層權重參數。當預測時,利用訓練好的網絡模型對輸入圖像即可實現一次性輸出,即實現目標的分類和定位,其模型結構如圖1所示。

圖1 YOLOv3模型結構

輸入圖像在經過79層卷積后有3個分支:第1個分支經過3個卷積層生成第一種尺度(大小為13×13像素)的特征圖,相對于原輸入圖像大小,下采樣倍數為32,感受野最大,主要用來檢測圖像中相對尺寸較大的物體;第2分支經過1個卷積層卷積后,進行2倍上采樣操作,然后與卷積層第61層進行特征融合,即相同大小的特征圖維度相加,而后經過一系列卷積后形成第2種尺度(大小為26×26像素)的特征圖,相對于原始輸入圖像大小,下采樣倍數為16,主要用來檢測圖像中中等尺寸大小的物體;第3分支采用同樣的原理,通過融合91層與36層,形成第3種尺度(大小為52×52像素)的特征圖,下采樣倍數為8,感受野最小,適合檢測圖像中尺寸較小的物體。

2 模型的改進

2.1 航拍汽車目標的特點

與普通拍攝相比,航拍汽車具有如下特點[9]:

1) 汽車目標相對尺度多樣。由于拍攝的高度及角度不同,如50 m高空拍攝與300 m高空拍攝,正上方拍攝和側上方拍攝,會形成圖像或視頻幀中的汽車目標大小不一,形狀各異,這是檢測的難點之一。

2) 拍攝圖像質量差異多變。萬里晴空下,成像質量較高。不良氣候下,受到風力及無人機自身飛行穩定性能的限制,雖然有云臺發揮作用,但抖動還是不可避免。同時,受陰雨、霧霾等不良天氣的影響,成像畫面模糊,汽車特征不明顯。

3) 拍攝視野廣。航拍的圖像或視頻幀中包含很多與檢測目標無關的干擾信息,并且通常情況下一張圖像或視頻幀中包含的檢測目標也較多,增大了檢測的難度。

2.2 YOLOv3模型的改進

傳統的YOLOv3模型通過在3個尺度中實現高層特征與低層特征的融合,形成了類似于金字塔式的語義信息,增強了網絡的表示能力。相對于YOLOv2模型[10],雖然提升了對多尺度目標的檢測能力,但對小目標的檢測精度還不是很高,定位時IOU較低。結合單類別目標檢測的特點和航拍汽車檢測的實際應用場景需要,筆者對YOLOv3模型主要進行如下2個方面的改進。

2.2.1 增強分支融合

在YOLO系列模型思想中,網格分得越細,對尺寸較小的目標檢測能力越強,但同時也會帶來網絡參數的成倍增加,增大了模型的訓練難度和復雜度,進而會影響模型的實際檢測精度和速度。綜合衡量,為增強對小目標檢測能力,提高定位精度,筆者提出了改進大尺度分支網絡結構的模型,命名為ZQ-YoloNet,主要是通過加強第3分支的語義表征能力和位置信息,進而優化檢測效果。改進的模型依然使用YOLOv3的主結構,在其他2個分支結構不變的情況下,卷積層(第79層)特征圖經過4倍上采樣后與第36層特征圖進行級聯融合,而后再與經過2倍上采樣后的卷積層(第91層)特征圖進行級聯融合,最后與經過數次卷積后的卷積層(第11層)進行級聯融合,最終構成尺度3分支結構,改進模型的結構如圖2所示。

圖2 改進模型的結構

2.2.2 優化生成錨點框(anchors)

YOLOv3模型使用k-means聚類(dimension clusters)方法自動生成錨點框,默認輸入圖像大小為416×416像素,使用距離公式為

d(box,centroid)=1-IOU(box,centroid),

(1)

式中:d(box,centroid)為標簽框與中心框的距離;IOU(box,centroid)為標簽框與中心框的交并比。因為應用場景的差異,原模型使用的錨點框是由COCO(Common Objects Context)數據集中得出的,并不適用于本文訓練使用的數據集,因此需要分析k值的大小并重新生成相應的錨點框。與原模型不同,本文使用k-means++聚類[11]方法,其算法基本流程如下:

1) 初始化。獲取訓練數據集中標簽框坐標(xi,yi,wi,hi),i=1,2,…,n,其中n為訓練集中標簽框的總數,(xi,yi)為標簽框中心坐標,wi、hi分別為標簽框的寬和高。同時從數據集中隨機選定一個樣本作為聚類中心C。

3) 重復第2)步,直至選出k個聚類中心,對應的大小為(Wj,Hj),j=1,2,…,k,其中Wj、Hj分別為中心框的寬和高。

4) 計算每個標簽框與中心框的距離:d=1-IOU((xi,yi,wi,hi),(xi,yi,Wj,Hj)),將標簽框歸為距離最小的那個中心框類。

6) 返回第4)、5)步重新計算,直至(Wj,Hj)變化趨于0。

3 實驗及結果分析

3.1 實驗平臺和數據集

實驗環境配置如表1所示。

構建的數據集共有1 300張圖像,其中訓練集1 000張,驗證集300張。圖像最小為528×278像素,最大為1 280×720像素,標注工具使用yolo_mark軟件。

表1 實驗環境配置

3.2 模型的訓練

3.2.1 生成錨點框

使用K-means++聚類方法生成錨點框。首先求取不同k值對應生成的錨點框和標簽框的平均IOU,該值反映了錨點框與標簽框的相似程度。當平均IOU越大時,選取的錨點框越接近標簽框,越有利于模型的初始訓練。同時,簇數k值越大,模型越復雜,訓練中也就越難收斂。這里取k值為1~15,得出k與平均IOU關系曲線,如圖3所示。

圖3 k與平均IOU關系曲線

考慮到模型的訓練復雜度和錨點框初始化的效果,這里選取k=9,并進行錨點框的生成,聚類生成圖如圖4所示。

圖4 k=9的聚類生成圖

3.2.2 改進模型的訓練

采用多尺度訓練模式,模型初始輸入大小為416×416像素,每4個迭代循環后,從320~608,步長為32的范圍中隨機選擇一個數值作為新的輸入,使用darknet53.conv.74作為初始化訓練權重參數[12],共迭代5 000次。訓練過程主要參數選取如表2所示。

表2 訓練過程參數選取表

訓練中根據迭代次數動態調整學習率。初始學習率隨機指定,當迭代次數>1 000次時,采用指定策略更新學習率。更新策略為:迭代次數在區間(1 000,2 000]時,學習率為0.001;在區間(2 000,3 000]時,學習率為0.000 1;在區間(3 000,5 000]時,學習率為0.000 01。訓練收斂曲線如圖5所示,平均IOU與訓練迭代次數關系曲線如圖6所示。

圖5 訓練收斂曲線

圖6 平均IOU與迭代次數關系曲線

3.3 模型評測與分析

3.3.1 模型的評判標準

目標檢測領域中,檢測模型的評價指標通常包括平均精度mAP(mean Average Precision)、精確率P(precision)、召回率R(recall)和交并比IOU。結合本文的應用場景,具體評價指標計算如下:

當檢測目標為單一類別時,平均精度mAP即為AP,其計算公式為

(2)

式中:ci為單張圖像中目標檢測的準確率;m為圖像總數。

P=TP/(TP+FP),

(3)

R=TP/(TP+FN),

(4)

式中:TP為被正確檢出的數量;FP為錯誤檢出的數量;FN為漏檢的數量。

IOU=A/U,

(5)

式中:A為預測框與標簽框重疊的面積;U為預測框與標簽框的并集面積。

除此之外,P和R的調和平均數F-Score也是一種評價指標,它綜合衡量了精確率P與召回率R,其計算公式為

F-Score=(β2+1)×P×R/(β2×P+R),

(6)

式中:β為調和系數,本文取β=1,即使用F1-Score評價標準。

3.3.2 模型對比分析

使用同樣的數據集和訓練參數對原YOLOv3模型進行訓練,在驗證集中進行分析比較,改進后的YOLOv3模型ZQ-YoloNet和原模型性能參數對比如表3所示。

表3 模型性能參數對比 %

由表3可以看出:改進后的ZQ-YoloNet模型平均精度比原YOLOv3模型提高了0.2%,F1-Score指標提升了0.19%,平均IOU提升了2.18%,說明改進后的模型綜合性能更好,檢測準確率和定位精度更高。當對大小為1 280×720像素的mp4格式的視頻進行檢測時,幀速率不低于40幀/s,相對于PAL(Phase Alteration Line)制式和NTSC(National Television Standards Committee)標準,可以滿足對視頻實時檢測的要求。

圖7、8分別展示了對圖像和視頻的測試效果??梢钥闯觯涸P驮跈z測目標時標出的矩形框范圍過大,即定位不夠準確。改進的模型在檢測目標時標出的矩形框范圍相對合理,即定位較為準確,并且物體的置信度百分比也比原模型有所提高。經過驗證,改進的模型對小型無人機航拍圖像和視頻中汽車的檢測具有良好的效果。

圖7 模型改進前后圖像檢測效果對比

圖8 模型改進前后視頻檢測效果對比

4 結論

筆者提出的ZQ-YoloNet模型,在驗證集中獲得了較好的檢測精確率和定位精度,同時通過對數據集之外的小型無人機航拍圖片和視頻進行驗證檢測,也得到了良好的檢測效果。由于自身條件限制,本文制作的數據集圖像分辨率不高,這在一定程度上降低了訓練模型的性能。在后續學習中,將在研究深度學習模型結構的同時,制作出高分辨率的圖像數據集,以此獲得更好的試驗效果。

猜你喜歡
錨點航拍卷積
藝術史研究的錨點與視角
——《藝術史導論》評介
基于3D-Winograd的快速卷積算法設計及FPGA實現
一種并行不對稱空洞卷積模塊①
5G手機無法在室分NSA站點駐留案例分析
5G NSA錨點的選擇策略
航拍巴彥呼碩
5G NSA組網下錨點站的選擇策略優化
從濾波器理解卷積
航拍,蒼穹下的醉美視角
難忘的航拍
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合