余添添,吳 松,唐芝青,屈偉軍,肖德勛,李 琪
(1. 北京吉威數(shù)源信息技術(shù)有限公司,北京 100000;2. 湖南省第二測繪院,湖南 長沙 410000)
鐵塔視頻是一種近地、實時的對地監(jiān)測手段,監(jiān)測頻率高、監(jiān)測粒度細,不易受陰雨天氣影響,可實現(xiàn)問題的“早發(fā)現(xiàn)、早制止”。以挖掘機、推土機、打樁機等建設(shè)施工設(shè)備為目標,基于深度學習目標檢測算法可及時發(fā)現(xiàn)疑似違規(guī)/違法施工行為,實現(xiàn)對自然資源高頻率、精粒度的監(jiān)測[1]。鐵塔視頻數(shù)據(jù)具有體量大、價值密度低、背景繁多復(fù)雜等特點,需配以快速高效的算法模型實現(xiàn)數(shù)據(jù)的價值“提純”,因此研究出目標檢測速度快、準度高的網(wǎng)絡(luò)模型是實現(xiàn)鐵塔視頻違規(guī)施工監(jiān)測的必要前提。YOLO 模型自2015年提取以來已歷經(jīng)多次更新改造,其中YOLOv5 推理速度快、檢測精度高,是目前較為廣泛使用的目標檢測網(wǎng)絡(luò),適用于實時視頻目標檢測[2-4]。
由于鐵塔攝像頭焦距縮放范圍大,挖掘機、推土機、打樁機等建設(shè)施工所用到的工程機械設(shè)備目標在實際視頻中呈現(xiàn)出極大的尺度差異,小目標居多,且背景復(fù)雜。而隨著網(wǎng)絡(luò)加深、感受野緩慢增長,容易被大目標主導,小目標提取的特征少,容易被忽略[5-6],因此本文提出一種改進的YOLOv5s算法,提高小目標檢測率,以實現(xiàn)對違規(guī)/違法施工行為快速、準確的識別。
YOLOv5s 是YOLOv5 的輕量化版本,更適合基于視頻的目標實時檢測。YOLOv5s模型網(wǎng)絡(luò)結(jié)構(gòu)由Input部分、Backbone 部分、Neck 部分和Head 部分組成[7],如圖1所示。

圖1 YOLOv5s結(jié)構(gòu)圖
Input部分主要包含數(shù)據(jù)增強、自適應(yīng)錨框、自適應(yīng)圖片縮放等。增強方式包括縮放,色彩空間調(diào)整和Mosaic,其中Mosaic 增強是通過將4 張圖像進行隨機縮放、隨機裁剪、隨機分布方式進行拼接,可使小目標的檢測效果得到提升[8]。自適應(yīng)錨框計算是指YOLOv5會自動按照新的數(shù)據(jù)集的labels自動學習anchors的尺寸,采用k 均值和遺傳學習算法對自定義數(shù)據(jù)集進行分析,獲得適合自定義數(shù)據(jù)集中對象邊界框預(yù)測的預(yù)設(shè)錨定框。自適應(yīng)圖片縮放是指YOLOv5 通過計算圖片最適宜的尺寸,使缺邊補充范圍達到最小,很好地保留了圖片的特征[9]。
Backbone 部分包括focus 結(jié)構(gòu)和CSP 結(jié)構(gòu)。其中Focus結(jié)構(gòu)使用切片并concat的方式替換池化操作,完成下采樣的同時不損失特征。由于減少了卷積層,所以可以減少計算量,同時不損失精度[10]。
YOLOv5 也使用CSPDarknet 作為BackBone 主干網(wǎng)絡(luò),其設(shè)計了2種CSP結(jié)構(gòu),CSP1_X應(yīng)用于Backbone主干網(wǎng)絡(luò),另一種CSP2_X 結(jié)構(gòu)則應(yīng)用于Neck 中。CSP 結(jié)構(gòu)解決了其他大型卷積網(wǎng)絡(luò)結(jié)構(gòu)中的重復(fù)梯度問題,減少模型參數(shù)和檢測速度,既保證了推理速度和準確率,又減小了模型尺寸[11]。在Backbone最后采用了SPPF 將不同感受也的特征圖融合,提高特征圖的表達能力,同時速度快于SPPNet[12]。
Neck部分YOLOv5采用了與YOLOv4一樣的FPN+PAN結(jié)構(gòu),不同點在于YOLOv4的Neck結(jié)構(gòu)中采用的都是普通的卷積操作,而YOLOv5的Neck結(jié)構(gòu)中采用CSP2_X結(jié)構(gòu),加強網(wǎng)絡(luò)特征融合的能力[13]。
Head 部分算法采用GIOU_Loss 作為Bounding box的損失函數(shù),GIOU_Loss 損失函數(shù)在重疊的目標檢測中效果較好,同時YOLOv5 算法合理利用freebie 和specials進行調(diào)優(yōu)處理,平均精度和檢測速度都有一定的提升,可以獲得最優(yōu)目標。
一個成功的、可工程化應(yīng)用的深度學習網(wǎng)絡(luò)大都需要基于大量的樣本數(shù)據(jù)訓練,而實際中樣本本身數(shù)量少,加之在海量視頻中尋找包含目標的數(shù)據(jù)難度大,訓練樣本十分缺乏,因此需要使用數(shù)據(jù)增強方法對樣本數(shù)據(jù)進行增廣擴充,最大程度上提高模型的泛化能力。
Mosaic 圖像增強是在現(xiàn)有樣本數(shù)據(jù)中隨機選擇4個圖像經(jīng)過裁剪拼接形成新的樣本數(shù)據(jù),可以豐富樣本多樣性,增強小目標檢測,降低模型對于多樣性學習的難度。由于本文選用了挖掘機、推土機、打樁機等目標,小目標多、類別不均衡,因此使用Mosaic-9進行數(shù)據(jù)增強,具體方法如圖2 所示,將隨機選取的9 個圖像進行隨機裁剪并拼接,形成新的樣本數(shù)據(jù),其優(yōu)勢在于進一步增加了數(shù)據(jù)量,同時增加了小目標數(shù)量,在歸一化處理時,會計算9 張圖片,不依賴處理參數(shù),減輕了計算量。

圖2 Mosaic-9數(shù)據(jù)增強
隨著網(wǎng)絡(luò)加深,網(wǎng)絡(luò)所提取的特征語音信息豐富,但位置精度會隨之降低,尤其是小目標,其影響更為顯著,因此文本在CSP1_1 部分增加一個輸出特征圖,接入NECK 部分。輸入數(shù)據(jù)大小為640×640時,此部分輸出的特征圖大小為160×160,每個特征對應(yīng)的感受野為4×4,可更好地檢測到小目標,也可在特征融合過程中提供更多信息。
SKNet 是通過一種非線性的多核信息聚合方法實現(xiàn)神經(jīng)元的自適應(yīng)感受野大小的算法,是一個基于通道域注意力的輕量級嵌入式模塊。SKNet 模塊可以對特征通道進行重要性加權(quán),使最終得到的特征圖更加關(guān)注對檢測識別等任務(wù)有用的特征通道,并且該模塊會自動選擇調(diào)整最優(yōu)的卷積算子,因此在特征提取后嵌入SKNet,可對特征通道進行重要性加權(quán),再送入目標檢測層,在理論上可以改善檢測識別的性能[14]。
如圖3所示,SKNet由Split、Fuse及Select部分組成。Split是對原特征圖經(jīng)過不同大小的卷積核進行卷積得到?和,為了進一步提高效率,將5O5 核替換為3O3 核、步距為2 的膨脹卷積[15]。Fuse 部分基本思想是使用門來控制信息從攜帶不同信息尺度的多個分支流入下一層的神經(jīng)元,使得神經(jīng)元根據(jù)刺激信號自適應(yīng)調(diào)整感受野大小。為了實現(xiàn)這個目的,需要整合來自所有分支信息, 將兩部分的特征求和?。Fgp為全局平均池化操作,F(xiàn)fc為先降維再升維的2 層全連接層,輸出的2 個矩陣a和b,其中矩陣b為冗余矩陣,在如圖2 個分支的情況下b=1-a。Select是使用跨通道的軟注意自適應(yīng)地選擇不同的信息空間尺度。按照信道的方向使用Softmax函數(shù)計算每個卷積核的權(quán)重。使用a和b兩個權(quán)重矩陣對?和進行加權(quán)操作,再進行相加得到輸出V[15-16]。經(jīng)過以上3部分改造,得到改進的YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu),如圖4所示。

圖3 SKNet網(wǎng)絡(luò)結(jié)構(gòu)

圖4 改進yolov5s網(wǎng)絡(luò)結(jié)構(gòu)圖
實驗所用訓練樣本數(shù)據(jù)為使用湖南省第二測繪院所建立的鐵塔檢測系統(tǒng)內(nèi)1779個攝像頭的視頻幀數(shù)據(jù),共計5628張圖片,標注后包含目標7873個,并按照7∶2∶1的比例劃分訓練集和測試集和驗證集。
實驗采用的硬件設(shè)備為Intel Core i7-9700k@3.6 GHz,顯卡為NVIDIA GeoForce RTX 2080 Ti,顯存為11 G,配以CUDA10.0及對應(yīng)的cudnn以提高計算效率。模型訓練批量大小為16,epoch為100,學習率為0.001,采用余弦退火策略降低學習率,衰減系數(shù)設(shè)置為0.0005。
目標檢測常用的評價指標包括平均精度AP、均值平均精度mAP、準確率(Precision,P)和召回率(Recall,R),表達式分別為式(1)、(2)、(3)、(4)。
式中,TP為被正確檢測的正樣本;FP為被錯誤檢測的正樣本;FN為被檢測為目標的負樣本;n為目標類別數(shù),本文所檢測目標只有工程機械一類,因此AP=mAP。
為了驗證改進算法的有效性,本文對比了YOLOv5s 改進前后的檢測效果,改進后AP 值達到了79.63%,而YOLOv5s 的AP 值為74.59%,提升了6.8%。為了進一步證明改進算法的有效性,對比了使用YOLOv5s 改進前后算法的檢測結(jié)果,如圖5~6所示。其中左側(cè)為改進前算法檢測效果,右側(cè)為算法改進后檢測效果,改進前算法對于背景復(fù)雜、隱蔽的小目標、被遮擋的目標等存在漏檢情況,改進后的算法彌補了小目標提取效果不好這一缺點的同時,增加了算法的魯棒性和抗干擾能力。

圖5 背景復(fù)雜的隱蔽目標

圖6 目標被遮擋
為了更直觀地展示改進方法的優(yōu)越性,本文進行了簡單的消融實驗,實驗結(jié)果如表1 所示。由表中數(shù)據(jù)可知,各組改進均可發(fā)揮一定提升作用,其中使用Mosaic-9數(shù)據(jù)增強后,AP提升了0.6%,驗證了Mosaic-9數(shù)據(jù)增強可提升模型目標檢測精度和模型的泛化能力;進一步在YOLOv5s中引入4倍下采樣,優(yōu)化特征提取與融合部分后,AP提升了3.4%,提升較為顯著,尤其是小目標部分,優(yōu)化較為明顯。在此基礎(chǔ)上,引入SKNet注意力模塊,AP 提升了6.7%,注意力模塊對無用信息進行抑制,使模型更加關(guān)注目標,進一步優(yōu)化了模型。

表1 消融實驗結(jié)果
選用挖掘機、推土機、打樁機等工程機械設(shè)備為目標,對違規(guī)/違法占用/破壞自然資源現(xiàn)象進行監(jiān)測。針對目前監(jiān)測算法中對小目標漏檢情況,提出一種改進的YOLOv5s算法。首先采用mosaic-9對數(shù)據(jù)增強方式進行了改進,增加小目標樣本數(shù)量,提高了小目標特征信息量;改進網(wǎng)絡(luò)結(jié)構(gòu),增加了一個檢測尺度,優(yōu)化了特征提取與特征融合過程,提高了小目標的檢測精度。另外在主干網(wǎng)絡(luò)末尾處增加了注意力模塊,通過注意力機制,使模型更加關(guān)注感興趣區(qū)域,抑制無用信息和復(fù)雜背景的干擾,提高算法的檢測準確率。經(jīng)實驗驗證,改進后的YOLOv5s算法在沒有增加過多的參數(shù)和體量的情況下,保證檢測效率不降低的同時,對工程機械目標的檢測精度有了一定的提高,可滿足工程化生產(chǎn)使用。今后可進一步擴充樣本數(shù)據(jù)集,并對模型的網(wǎng)絡(luò)結(jié)構(gòu)做進一步的調(diào)整,以達到更優(yōu)的檢測效果。