韓淑梅,王陽萍,2,于 坤,楊景玉,2,張占平,任鵬百,2
(1.蘭州交通大學電子與信息工程學院,蘭州 730070;2.蘭州交通大學甘肅省人工智能與圖形圖像處理工程研究中心,蘭州 730070;3.國華衛(wèi)星數(shù)據(jù)科技有限公司,蘭州 730050)
鐵路沿線存在的違建地物目標不但影響鐵路系統(tǒng)正常運營,而且可能導(dǎo)致鐵路事故發(fā)生,如何快速、高效地檢測這些地物目標已成為鐵路運營的首要問題.近年來,計算機視覺、航拍遙感技術(shù)及邊緣計算的快速發(fā)展為排查鐵路周圍的違建地物提供了一種新的解決方法.基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)的算法以其魯棒性強、檢測精度高,且能滿足復(fù)雜背景下多尺度目標需求等特點,被廣泛應(yīng)用于遙感影像目標檢測.文獻[1]提出了一種面向多類目標檢測的IOU(intersection over union)-自適應(yīng)可變形R-CNN框架,一定程度上減少了訓(xùn)練過程中小目標信息丟失的問題.文獻[2]提出一種改進的Faster R-CNN算法用于識別建筑物,采用 DRNet(deformable R-CNN network)和 RoI(region interest)對齊的方式解決區(qū)域不匹配問題.但上述兩階段的目標檢測方法在實現(xiàn)高精度的同時,計算成本過高,無法達到實際應(yīng)用需求,帶來了速度方面的不足.
以 YOLO(you only look once)系列(YOLOv3[3],F(xiàn)E-YOLO[4],YOLOv4[5]等)為代表的一階段目標檢測算法,可以直接回歸目標所屬類別及其邊界框的位置,使目標實時檢測成為可能.文獻[6]將Faster R-CNN,YOLOv3和SSD用于遙感影像農(nóng)業(yè)溫室地物檢測研究中,并從檢測精度和速度方面進行對比,得到Y(jié)OLO算法在檢測速度方面優(yōu)于其他兩者.2020年,Bochkovskiy等[5]基于 CSPNet(cross stage partial network)骨干網(wǎng)絡(luò)、Mosaic數(shù)據(jù)增強、Mish激活、SPP(spatial pyramid pooling)和 GIOU(generalized intersection over union)損失提出YOLOv4,其結(jié)合了大量的目標檢測中最新研究技巧,實現(xiàn)了精度和速度的最優(yōu)平衡,能夠得到更快更精確的檢測結(jié)果.上述地物檢測方法模型復(fù)雜度較高,且僅適用于計算能力較強的計算設(shè)備.近年來,受限于無人機平臺的算力,對網(wǎng)絡(luò)模型進行輕量化,實現(xiàn)無人機航拍設(shè)備實時目標檢測已成為研究重點.文獻[7]提出單階段遙感影像檢測框架DF-SSD(deep framework single shot multibox detector),使用 DepthFire模塊改進骨干網(wǎng)絡(luò)SqueezeNet,以減少計算量并提高處理效率.文獻[8]為解決遙感圖像機載實時檢測,提出輕量級單級多尺度特征融合檢測器MSF-SNET(multiscale feature fusion detector-shuff lenet),使用輕量級SNET作為主干網(wǎng)減少了參數(shù)量和計算復(fù)雜度.文獻[9]為實現(xiàn)嵌入式設(shè)備對目標的實時檢測,提出一種輕量級目標檢測網(wǎng)絡(luò)SSD7-FFAM(SSD7-feature fusion and attention mechanism),通過減少卷積層數(shù)節(jié)省存儲空間和計算量,并使用特征融合和注意力機制方法提高檢測精度.文獻[10]針對無人機下存在大量的遠程小目標,將空間注意模塊SAM引入到MobileNetv3中,并將引入SAM后的MobileNetv3作為YOLOv3的骨干網(wǎng)絡(luò)用于行人檢測,驗證了改進模型在無人機下的行人檢測任務(wù)中的表現(xiàn).然而,現(xiàn)有的輕量化模型雖然能部署到嵌入式設(shè)備實現(xiàn)目標檢測,但隨著模型參數(shù)的減少,其檢測精度有所下降.
無人機航拍影像檢測算法一般部署在無人機或地面站,無人機采集的圖像傳回地面站進行目標檢測會增加信息傳輸所帶來的延遲和能耗,容易導(dǎo)致目標信息丟失等問題.隨著無人機數(shù)量的增多,對地面設(shè)備的性能要求也更高.針對上述問題,為實現(xiàn)地物檢測模型在移動、嵌入式設(shè)備運行,本文采用輕量級MobileNetv3對YOLOv4骨干網(wǎng)進行改進,以減少模型參數(shù)量,同時引入CBAM(convolutional block attention module)注意力機制提高網(wǎng)絡(luò)性能;最后,提出一種基于差分進化(differential evolution,DE)的最優(yōu)錨配置算法平衡所有地物類別檢測精度.
YOLOv4網(wǎng)絡(luò)將輸入圖像調(diào)整為固定大?。?16像素×416像素或608像素×608像素),并劃分為S×S的網(wǎng)格單元作為網(wǎng)絡(luò)的輸入,基于回歸獲得邊界框的位置及其所屬類別,從而實現(xiàn)端到端的目標檢測.它由輸入網(wǎng)絡(luò)、特征提取骨干網(wǎng)絡(luò)、Neck部分和輸出網(wǎng)絡(luò)組成.主干網(wǎng)借鑒CSPNet[11]網(wǎng)絡(luò)以及ResNet[12]殘差網(wǎng)絡(luò)中殘差塊的跳躍連接思想,將YOLOv3算法中特征提取網(wǎng)絡(luò) DarkNet53優(yōu)化為CSPDarkNet-53,由52個卷積層和1個全連接層組成,激活函數(shù)為Mish[13].該網(wǎng)絡(luò)加入了數(shù)據(jù)增強模塊,以擴大訓(xùn)練數(shù)據(jù)集的數(shù)量.在Neck部分,借鑒了SPP特征金字塔的思想,對CSPDarkNet-53主干網(wǎng)絡(luò)輸出的不同尺度特征圖進行多尺度融合處理.由于小尺度特征映射提供較深層的語義信息,而大尺度特征映射提供更細粒度的特征信息,采用多尺度融合的方式將表達出不同尺度目標的特征信息.與YOLOv3算法相比,YOLOv4算法在目前的公開數(shù)據(jù)集上mAP(mean average precision)和 FPS(frames per second)都有所提高.
盡管YOLOv4在檢測速度、模型大小、訓(xùn)練時間和硬件要求方面優(yōu)于其他算法,但將其用于鐵路沿線地物檢測中仍然存在模型結(jié)構(gòu)復(fù)雜、參數(shù)量大、占用資源多等不足,難以滿足移動或嵌入式目標檢測任務(wù)中的實時性需求.因此,本文對其進行輕量化,用于鐵路沿線地物檢測.
考慮到無人機端使用嵌入式設(shè)備,其存儲和計算資源受限,而傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)大多模型復(fù)雜,很難應(yīng)用于移動設(shè)備,基于此,本文提出一種輕量化網(wǎng)絡(luò)模型,并將其定義為YOLOv4-UAV,其使用Mobile-Netv3作為YOLOv4的特征提取網(wǎng)絡(luò),同時在網(wǎng)絡(luò)輸出端引入CBAM注意力機制,提高網(wǎng)絡(luò)檢測精度.YOLOv4-UAV模型結(jié)構(gòu)如圖1所示.
圖1中,Input為輸入部分,Backbone為骨干網(wǎng),Neck介于骨干網(wǎng)和預(yù)測結(jié)果之間,是為了更好地利用骨干網(wǎng)提取特征的網(wǎng)絡(luò)頸部部分,Prediction為預(yù)測結(jié)果;CBH表示對輸入特征圖進行二維卷積運算,由Conv,BN和Hard-swish激活函數(shù)組成,Conv為卷積,BN為批量歸一化;CBL由 Conv,BN和Leaky-ReLU激活函數(shù)組成;Bneck表示MobileNetv3中的 BottleNeck,是構(gòu)成 Bneck的基本單元[14],Bneck x由 CBH,DeCBH,SE,Conv,BN組成,DeCBH表示深度可分離卷積,SE為通道注意力機制SENet模塊;SPP為特征金字塔,由3個 Maxpool連接而成,Maxpool表示最大池化;CBAM表示通道空間卷積塊注意力機制模塊,NMS(non-maximum suppress)表示非極大值抑制算法,Detection results表示檢測結(jié)果,Concat表示連接操作.
圖1 輕量級YOLOv4-UAV模型結(jié)構(gòu)Fig.1 Lightweight YOLOv4-UAV model structure
該網(wǎng)絡(luò)主要由四部分組成:首先將輸入圖像調(diào)整到固定大小,然后經(jīng)過以MobileNetv3為骨干網(wǎng)絡(luò)的YOLOv4進行特征提取,再經(jīng)過Neck部分從輸入圖像的不同層提取顯著特征.該網(wǎng)絡(luò)設(shè)計了一個由特征金字塔和三尺度預(yù)測層組成的預(yù)測管道,將多個分支的特征轉(zhuǎn)化為預(yù)測結(jié)果.特征金字塔能夠有效地融合從低分辨率顯著特征圖中獲得的有意義語義信息和從早期分支中提取的細粒度信息,利用三尺度預(yù)測網(wǎng)絡(luò)預(yù)測邊界框的編碼參數(shù)和類.最后,通過非極大值抑制算法對預(yù)測框進行濾波,得到最終的預(yù)測結(jié)果.
本文使用MobileNetv3作為YOLOv4骨干網(wǎng)絡(luò)進行特征提取.MobileNetv3主要采用深度可分離卷積,與普通卷積不同,深度可分離卷積主要由深度卷積和逐點卷積組成.普通卷積和深度可分離卷積的計算過程如圖2~3所示.
圖2 普通卷積Fig.2 Ordinary convolution
圖2 中,DF表示輸入圖像大小,D表示圖像矩陣,F(xiàn)表示圖像大小為F×F,M表示輸入特征圖通道數(shù),DK表示卷積核大小,N表示輸出通道數(shù).從圖2可以看出:普通卷積的卷積核通道數(shù)等于輸入特征矩陣通道數(shù),輸出特征矩陣等于卷積核個數(shù),其計算量ACP如式(1)所示.
從圖3(a)可知,深度卷積的卷積核通道數(shù)為1,其輸入特征矩陣通道數(shù)等于卷積核個數(shù)及輸出特征矩陣通道數(shù).圖3(b)中的逐點卷積為特殊的普通卷積,只不過其卷積核大小為1×1.深度可分離卷積的計算量ACD如式(2)所示.
圖3 深度可分離卷積Fig.3 Depth-separable convolution
普通卷積與深度可分離卷積的計算量之比如式(3)所示.通常卷積核為3×3,因此,理論上普通卷積計算量約為深度可分離卷積計算量的8~9倍.
普通卷積層由N個尺寸為M DKDK的三維卷積核組成,因此,其參數(shù)總量PQp為
而對于深度可分離卷積,其總參數(shù)量PQD為
從參數(shù)量來看,普通卷積與深度可分離卷積的參數(shù)量之比為
所以,在輸入輸出通道數(shù)相同的情況下,使用深度可分離卷積替換全卷積的壓縮比為D2K,N的取值往往遠大于D2K(D2K=9).從實驗分析可得,將 Mobile-Netv3作為YOLOv4骨干網(wǎng)用于特征提取,其模型大小降低約80%.無論是理論分析,還是實驗驗證,MobileNetv3能夠使YOLOv4模型大大減少,因此,其可以用于YOLOv4模型實現(xiàn)快速地物目標檢測.MobileNetv3詳細結(jié)構(gòu)見表 1,其中:(416,416,3)表示 3通道的輸入特征圖大小為416像素×416像素;(208,208,3)表示3通道的輸出特征圖大小為208像素×208像素;(3,3,2)表示2個3像素 ×3像素的卷積核;SE-ratio表示是否使用SE通道注意力機制.
表1 M obileNetv3網(wǎng)絡(luò)結(jié)構(gòu)Tab.1 MobileNetv3 network parameters
考慮到減少模型參數(shù)會影響檢測精度,為提高網(wǎng)絡(luò)性能,在YOLOv4網(wǎng)絡(luò)的每一層卷積層之后引入CBAM注意力機制,利用通道和空間注意力提取更深層信息,進行自適應(yīng)細化特征以提高網(wǎng)絡(luò)性能[15].CBAM由通道注意模塊和空間注意模塊兩部分組成,其結(jié)構(gòu)如圖4所示,其中:×表示逐元素相乘.
兩個獨立模塊的原理實現(xiàn)如下:
1)通道注意模塊為匯集空間信息.首先,對H×W×C(H和W分別表示輸入特征圖的高和寬,C表示輸入通道數(shù))的輸入特征圖進行全局平均池化和最大池化;然后,通過兩層1×1卷積和sigmoid函數(shù)得到每個通道的權(quán)重,如圖5所示,其中:MLP表示帶有一個隱藏層的多層感知器;Mc(F)表示特征圖F在通道上的注意.
圖5 通道注意模塊Fig.5 Channel attention m odule
2)空間注意模塊:首先,使用最大池化和平均池化操作聚合通道信息,并將結(jié)果連接;然后,通過一個7×7卷積和一個sigmoid函數(shù)獲得每個點對應(yīng)的權(quán)重,并對圖像矩陣邊緣進行Padding=3的填充操作,如圖6所示,其中:Ms(F)表示特征圖F在空間上的注意.
圖 4 CBAM 模塊Fig.4 CBAM module
圖6 空間注意模塊Fig.6 Spatial attention module
錨框配置作為網(wǎng)絡(luò)模型訓(xùn)練的超參數(shù),在很大程度上影響模型的性能.優(yōu)化的錨框配置可以在不增加額外消耗的情況下提高網(wǎng)絡(luò)精度,然而,面對遙感影像中地物目標尺度變化較大的情況,YOLOv4中使用的anchor配置方案,即K-means聚類,會導(dǎo)致anchor分配設(shè)置有偏差.準確率的提高往往集中在目標數(shù)量較多的類別上.之前的研究廣泛使用的關(guān)鍵評估指標是mAP分數(shù),它體現(xiàn)為所有類別的AP平均分.過度提高某個類別的AP分數(shù)可以在一定程度上提高模型的整體準確率,但是,由于對AP分數(shù)非常低的其他類別的檢測能力有限,因此,無法進一步改進,這意味著訓(xùn)練后的模型存在偏差.一般來說,更合理的方法是同時考慮所有類別目標數(shù)量和大小的分布,并制定一種方案,既能提高神經(jīng)網(wǎng)絡(luò)的整體性能,又能平衡所有目標類別的精度[16].
為了更好地捕捉目標尺度和數(shù)量之間的關(guān)系,提出一種基于差分進化的改進錨配置算法,同時考慮所有類別目標數(shù)量和大小的分布,并制定一種方案,以提高神經(jīng)網(wǎng)絡(luò)的整體性能并平衡所有目標類別精度.該方法將錨點的高度和寬度作為變量,并將地面真值標簽框到錨框的最近距離的總和作為適應(yīng)度函數(shù);此外,在距離計算中加入一個權(quán)重值,以避免神經(jīng)網(wǎng)絡(luò)可能的偏置訓(xùn)練;最后,利用差分進化算法求出適應(yīng)度函數(shù)的最小值,達到距離最小的目的.地面真實框truth與錨框anchor距離關(guān)系如圖7所示.
圖7 地面真實框與錨框的距離關(guān)系圖Fig.7 Distance relationship between ground truth and anchor box
更具體地說,對于給定的數(shù)據(jù)集,從一個地面真實框到一個錨框的距離可以表述為
其中:IOU(truth,anchor)表示地面真實框與錨框的交并比.交并比的計算公式為
其中:Soverlap為地面真實框與錨框的重疊區(qū)域;Sunion為地面真實框與錨框的并集區(qū)域.xij與錨框之間的距離可表示為
即選擇距離最小的錨框作為最佳匹配,其中:xij表示第i類的第j個地面真實框;θk表示第k個錨框.因此,所有樣本(X)與錨框(θ)間的距離可表示為
其中:m1,m2,…,mn表示第 n個類別中地面真實框的樣本數(shù).
式(10)中,將適應(yīng)度函數(shù)中不同類別的權(quán)重設(shè)為與地物目標數(shù)量成反比,這有助于消除大量目標物體對更多錨的吸引效應(yīng).
在最優(yōu)錨配置算法中,首先,使用K-means聚類算法對錨框聚類;然后,使用 DE[17]來解決式(10)的優(yōu)化問題.式(10)中,xij和 θk的真值范圍均被縮放到[0,1].DE通過不斷的迭代來尋找最小函數(shù)的最佳錨點.最優(yōu)錨配置算法流程圖如圖8所示,其中:Cr為交叉率;FS為比例因子;Np為種群大小.
圖8 基于改進差分進化的最優(yōu)錨配置算法流程圖Fig.8 Flow chart of optimal anchor placement algorithm based on improved differential evolution
在初始化階段,所提算法對由決策變量Pti組成的種群P執(zhí)行初始化操作,其中:Pti表示第t次迭代中的第i個個體.初始化的種群根據(jù)種群Np分布在一個確定的區(qū)域,每個個體代表一個候選解.通常,初始種群應(yīng)該覆蓋整個搜索空間,隨著種群大小Np的增加,得到全局最優(yōu)解的概率也增加.本文中,每個個體被定義為一個特定的錨配置.
在接下來的迭代中,重復(fù)執(zhí)行K-means聚類、微分突變、交叉和選擇的步驟.微分變異的目標是創(chuàng)造具有一定概率成為最優(yōu)解的新個體群體,突變體引起的親代和子代之間的差異由比例因子FS定量控制;然后,將個體中的元素θj(j=1,2,…,k)通過交叉操作隨機交換為當前迭代及其微分突變組,該過程促進種群多樣性,交叉概率由Cr控制;最后,比較新生成的個體和當前個體,選擇更好的個體傳遞到下一次迭代,繼續(xù)迭代,直到找到最佳的個體和目標函數(shù)值.通過上述算法,可以得到適應(yīng)度函數(shù)的最小值,對應(yīng)于最佳錨框值.
本文使用某段鐵路沿線地物目標圖像1 676張,并用數(shù)據(jù)增強方法實現(xiàn)數(shù)據(jù)擴充.數(shù)據(jù)包括鐵路(Rail)、房屋(House)、樓宇建筑(Building)、農(nóng)田(Farmland)和水池(Pool)五類,并將這五類地物目標作為檢測對象,其中:鐵路764張,房屋130張,樓宇建筑220張,農(nóng)田562張,水池372張.數(shù)據(jù)集詳細信息見表2.
表2 數(shù)據(jù)集信息Tab.2 Data set information
通過旋轉(zhuǎn)、鏡像、改變亮度、高斯濾波、平移和縮放對數(shù)據(jù)集進行擴充,將數(shù)據(jù)集擴充為原來的3倍,擴充后的數(shù)據(jù)集共包含地物目標圖像5 028張.使用70%的數(shù)據(jù)集作為訓(xùn)練集,10%作為驗證集,20%作為測試集.
本文算法運行環(huán)境:操作系統(tǒng)為Windows10,平臺為 Keras,語言為 Python,CPU為 Intel(R)Xeon(R)2.40 GHz,顯卡為 16 GB的 NVIDIA Quadro P5000,運行內(nèi)存為128 GB.
為了分別驗證輕量級MobileNetv3、CBAM注意力機制和DE算法對地物目標的檢測有效性,本文設(shè)計了消融實驗,部分實驗結(jié)果如圖9所示.其中:圖9(a)為遙感影像原圖;圖9(b)為原 YOLOv4算法檢測結(jié)果;圖9(c)為使用輕量級MobileNetv3作為YOLOv4骨干網(wǎng)的檢測結(jié)果;圖9(d)為在圖9(c)基礎(chǔ)上引入CBAM注意力機制的檢測結(jié)果;圖9(e)為在圖9(c)和圖9(d)基礎(chǔ)上使用 DE算法的檢測結(jié)果.客觀評價分析見表3.
圖9 消融實驗結(jié)果Fig.9 Results of ablation experim ent
表3中,精確度表示正確預(yù)測的百分比,衡量模型的準確性,召回率是衡量模型中捕獲所有正例的準確性的指標,F(xiàn)1表示目標預(yù)測得分,是體現(xiàn)精確度和召回率的重要指標.
表3 消融實驗結(jié)果對比分析Tab.3 Comparative analysis of the results ablation experiments
從實驗結(jié)果可得:通過使用MobileNetv3進行特征提取,模型大小降低了81.83%,提高了檢測速度,但檢測準確率降低了2.72%,尤其對樓宇建筑存在漏檢現(xiàn)象;通過在輸出網(wǎng)絡(luò)之前引入CBAM注意力機制,模型大小基本沒有變化,但檢測準確率有所提高,對樓宇建筑檢測效果明顯;通過使用基于差分進化的最優(yōu)錨配置算法,模型大小沒有增加,即沒有增加額外的消耗量,但對每一種地物類別檢測準確性都有所提高,且對每一類地物目標檢測精度有所平衡.實驗結(jié)果表明,這些改進效果可行.
為了驗證本文優(yōu)化后的輕量化模型在地物檢測中的有效性,實驗中將本文方法與 YOLOv3,YOLOv4-tiny,YOLOv4,YOLOv5算法在性能方面進行了比較,更直觀的預(yù)測結(jié)果如圖10所示.其中:圖10(a)為遙感影像原圖;圖10(b)為 YOLOv3算法檢測結(jié)果;圖10(c)為YOLOv4-tiny算法檢測結(jié)果;圖10(d)為 YOLOv4算法檢測結(jié)果;圖 10(e)為YOLOv5算法檢測結(jié)果;圖10(f)為本文方法檢測結(jié)果.表4顯示了數(shù)據(jù)集上不同方法的性能.
表4 不同目標檢測算法實驗結(jié)果對比分析Tab.4 Comparative analysis of experimental results of different target detection algorithm s
圖10 多種目標檢測方法實驗結(jié)果Fig.10 Experiment resu lts of mu ltip le target inspection methods
表4中,AP表示各個類別的平均精確度.表4表明:本文輕量化模型YOLOv4-UAV在各方面都優(yōu)于YOLOv3和YOLOv4算法,模型大小僅為45.90 MB,相比于YOLOv3,YOLOv4,YOLOv5分別減少了81.42%,81.67%,19.61%,mAP比原YOLOv4提高了3.22%,因此,本文模型有效提高了鐵路沿線地物目標檢測效果.雖然本文算法模型大小比YOLOv4-tiny略大,但其精度比YOLOv4-tiny提高了5.91%.從實驗結(jié)果可知:YOLOv5算法對小地物目標和某一類別目標檢測效果較好,尤其對房屋和農(nóng)田檢測效果更好,但其對長條狀的鐵路目標和密集分布的水池目標檢測效果較差;本文模型對長條狀鐵路目標檢測效果明顯,并且能夠平衡所有地物目標類別檢測精度.考慮模型參數(shù)和精度兩方面的因素,本文算法效果較好,因此,可以將其用于移動或嵌入式設(shè)備運行.
本文提出了一種輕量型的YOLOv4-UAV遙感影像地物目標檢測模型,在滿足模型輕量化的同時,有效提高了地物目標的檢測準確性.為了降低模型復(fù)雜度,提高檢測速度,首先,采用輕量級Mobile-Netv3作為YOLOv4骨干網(wǎng)絡(luò)進行特征提?。唤又?,結(jié)合時空注意機制CBAM提取地物的重要特征,該模型可以提高地物目標檢測精度,且未增加顯著的計算開銷;在此基礎(chǔ)上,提出了一種最優(yōu)錨配置方案,以解決遙感影像中目標尺度變化較大而難以獲得偏錨框的問題;最后,對數(shù)據(jù)集進行了評估,與先進的目標檢測模型比較表明,提出的輕量級模型在處理速度和檢測精度等方面具有顯著優(yōu)勢,能夠運行于移動、嵌入式設(shè)備.