劉洺睿,車 奔,董洪波,朱若籬
(1.長安大學(xué) 地質(zhì)工程與測繪學(xué)院,陜西 西安 710061;2.西安電子科技大學(xué) 廣州研究院,廣東 廣州 510555;3.中煤科工西安研究院(集團(tuán))有限公司,陜西 西安 710077;4.Department of Economics,Queen’s University,Ontario Kingston K7L3N6)
露天煤礦是我國煤炭生產(chǎn)體系的重要組成部分,目前我國露天煤礦總計450 余座,總產(chǎn)能約為9.5 億t/a,占我國煤炭總產(chǎn)量的25%以上[1]??梢哉f,露天煤礦為國家能源安全與經(jīng)濟(jì)發(fā)展提供了重要支撐。露天煤礦采場中車輛眾多,交通情況復(fù)雜,重型車輛、設(shè)備的視野盲區(qū)面積較大,碰撞、側(cè)翻事故時有發(fā)生,給礦山安全生產(chǎn)帶來了極大隱患,嚴(yán)重影響著煤礦的生產(chǎn)和安全。因此,加強(qiáng)露天煤礦車輛的位置監(jiān)測,及時確定車輛的位置信息對于降低安全事故隱患,提高生產(chǎn)效率至關(guān)重要。
隨著新一代信息技術(shù)與智能化技術(shù)加速融合,露天煤礦的智能化建設(shè)也明顯提速,無人機(jī)搭載光學(xué)傳感器進(jìn)行智能化監(jiān)測就是其中之一。無人機(jī)遙感影像技術(shù)在近年來快速發(fā)展,因其能夠快速高效獲得高分辨率的低空遙感圖像,有效降低人力成本,而被廣泛應(yīng)用[2]。其中程健等[3]應(yīng)用無人機(jī)采集采空區(qū)圖像,并且提出一種混合域注意力網(wǎng)絡(luò)對地裂縫進(jìn)行分析。秦曉輝等[4]針對礦山場景下目標(biāo)尺度跨度大的特殊性,提出了CDDPP (Convolution Downsampling with Different Padding Positions)下采樣方法,改進(jìn)預(yù)測Head,顯著提高了實(shí)際應(yīng)用中模型的檢測精度。利用無人機(jī)遙感圖像實(shí)時獲取露天礦區(qū)的畫面,精確識別煤礦采場中車輛位置,合理利用無人機(jī)技術(shù)能切實(shí)有效的保障運(yùn)輸過程中車輛和人員的安全性,減少事故的發(fā)生。基于礦區(qū)采場地域范圍大,地面監(jiān)控監(jiān)測困難,消耗人力物力多等問題,研究無人機(jī)遙感圖像的智能識別對于預(yù)防礦區(qū)采場車輛事故很有必要。
無人機(jī)遙感圖像中目標(biāo)物體的像素通常只有幾十個像素,在高分辨圖像中占比極少,應(yīng)用一般的檢測方法難以精確的檢測[5]。近年來,學(xué)者們針對遙感圖像中目標(biāo)尺度差異大、小目標(biāo)密集分布的問題對一些主流檢測器做出了改進(jìn)。其中Wei Zhiwei 等[6]提出了尺度自適應(yīng)模塊,通過動態(tài)調(diào)整圖像塊的尺寸來平衡目標(biāo)尺度,使目標(biāo)信息更加明確。Yin Ruihong 等[7]設(shè)計了AF-SSD,通過多層特征融合結(jié)構(gòu)融合較淺層和較深層的特征信息,以此來增加檢測目標(biāo)的有效信息。M.Zand[8]、M.Kim[9]、J.Redmon[10]等均以YOLOv3模型為基礎(chǔ),融合深層淺層特征的結(jié)構(gòu)以完成遙感圖像小目標(biāo)檢測任務(wù),同時保證了較高的推理速度??紤]到對整張圖像或者特征圖進(jìn)行超分辨非常耗時,Wu Jingqian 等[11]通過關(guān)鍵點(diǎn)預(yù)測獲得可能存在目標(biāo)的潛在位置,然后在這些位置對應(yīng)的圖像區(qū)域進(jìn)行超分辨和檢測,避免了無目標(biāo)區(qū)域的無效運(yùn)算。此外,Ran Qiong 等[12]設(shè)計了一個輕量級的檢測模型MSCCA,通過融合多尺度的背景信息和增強(qiáng)的通道注意力來增強(qiáng)光學(xué)遙感圖像中的小目標(biāo)檢測。
綜上所述,研究者們常見的做法是改進(jìn)特征提取方式、改進(jìn)損失函數(shù)、增加小目標(biāo)檢測頭以及應(yīng)用各類注意力機(jī)制,以此來與主流檢測器結(jié)合,增強(qiáng)算法對遙感圖像的檢測能力。而在露天煤礦采場遙感影像中背景信息更復(fù)雜、車輛尺寸占比更小,應(yīng)用之前的深度學(xué)習(xí)算法仍無法有效提取出車輛的特征信息。此外,露天煤礦采場的地形復(fù)雜,應(yīng)用傳統(tǒng)的影像采集設(shè)備成本較高、效率低下,而且無法完整地收集到全局場景信息。針對以上問題,本文提出一種改進(jìn)的YOLOv7[13]模型,將深度學(xué)習(xí)的目標(biāo)檢測方法進(jìn)行優(yōu)化提升,并創(chuàng)新應(yīng)用于煤礦采場無人機(jī)遙感圖像的小目標(biāo)檢測,高精度識別采場中礦用卡車的位置,為礦區(qū)卡車行駛安全提供理論支撐。
基于深度學(xué)習(xí)的遙感圖像目標(biāo)檢測已經(jīng)在海洋、氣象、天文、軍事等領(lǐng)域得到了廣泛的應(yīng)用,但是應(yīng)用在煤礦露天采場監(jiān)測領(lǐng)域的研究還較少[2]。隨著目標(biāo)檢測方法的不斷發(fā)展,檢測精度高且速度快的目標(biāo)檢測算法層出不窮。目前,較為流行的目標(biāo)檢測算法大致可分為兩種:一種是兩階段方法,其中具有代表性的是R-CNN[14]、Fast R-CNN[15]、Faster R-CNN[16]等,這類算法檢測精度高,但是計算量大,結(jié)構(gòu)復(fù)雜,檢測推理速度慢;另一種是單階段方法,采用單一回歸分類思想,其中具有代表性的是YOLO[17]、SSD[18]等算法,直接在原始圖像上完成輸入和輸出,具有端到端檢測的特點(diǎn),相較于兩階段檢測方法,其在精度差距不大的情況下大大提高了檢測速度。本文選取目前最具代表性的單階段目標(biāo)檢測算法YOLOv7,在保持高速的同時不失精確度,并在此基礎(chǔ)上進(jìn)一步優(yōu)化。首先,由于通用目標(biāo)檢測算法對于小目標(biāo)檢測缺乏關(guān)注,檢測不敏感,往往檢測出較多無用的信息,本文將著重關(guān)注包含小目標(biāo)信息的特征層,加強(qiáng)對感興趣區(qū)域的關(guān)注程度,引入強(qiáng)化圖像局部和顯著性特征的通道注意力機(jī)制[19]。其次,為了更好滿足目標(biāo)檢測輸出的實(shí)時性,加快神經(jīng)網(wǎng)絡(luò)的推理速度,引入部分卷積神經(jīng)網(wǎng)絡(luò)(Partial Convolution)[20],以此來進(jìn)一步增強(qiáng)網(wǎng)絡(luò)的性能;最后,基于交并比(IoU)[21]的度量(例如IoU 本身及其擴(kuò)展)對微小物體的位置偏差非常敏感,并且在用于基于錨的檢測器時會大大降低檢測性能,為此使用一種稱為歸一化Wasserstein 距離NWD(Normalized Wasserstein Distance)的新度量[22],通過它們對應(yīng)的高斯分布計算他們之間的相似性,從而進(jìn)一步提高對小目標(biāo)檢測的準(zhǔn)確性。
YOLOv7 是目前比較先進(jìn)的單階段實(shí)時目標(biāo)檢測器,它主要由兩部分構(gòu)成:主干網(wǎng)絡(luò)Backbone 負(fù)責(zé)初步提取圖片的信息;Head 部分對提取到的特征做進(jìn)一步的加工及合理利用,最終檢測頭解析前面提取的特征,從而做出分類檢測。YOLOv7 網(wǎng)絡(luò)模型的主干網(wǎng)絡(luò)部分主要由卷積模塊CBS、ELAN 模塊、MP 模塊和SPPCSPC 模塊構(gòu)成。YOLOv7 的原始網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 YOLOv7 原始網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Original network structure of YOLOv7
為了同時減少計算冗余和內(nèi)存訪問,設(shè)出更快速的神經(jīng)網(wǎng)絡(luò),Chen Jierun 等[20]提出了Partial Convolution 模塊(之后稱為PConv 模塊)用以更有效地提取空間特征。它只需在輸入通道的一部分上應(yīng)用常規(guī)卷積進(jìn)行空間特征提取,保持其余通道不變。對于連續(xù)或規(guī)則的內(nèi)存訪問,將第一個或最后一個連續(xù)的Cp通道視為整個特征圖的代表進(jìn)行計算,其計算量CFLOPs為:
式中:h為輸入通道的高度;w為輸入通道的寬度;Cp為輸入通道的深度;k為卷積核的長度。其計算量僅為常規(guī)卷積的計算量CFLOPs的。PConv 模塊的內(nèi)存訪問較小,約為h×w×2Cp,僅為常規(guī)卷積的。
PConv 模塊基本工作原理如圖2 所示。
圖2 PConv 模塊基本工作原理Fig.2 Basic principle of the PConv module
ELAN 模塊是一個高效的網(wǎng)絡(luò)結(jié)構(gòu),它通過控制最短和最長的梯度路徑,使網(wǎng)絡(luò)能夠?qū)W習(xí)到更多的特征,并且具有更強(qiáng)的魯棒性。由于PConv 模塊相對于普通卷積Conv 模塊可以更快速地提取輸入分支的特征,更好地訪問內(nèi)存,所以本文使用PConv 模塊來代替普通卷積Conv 模塊,在不失去通道特征數(shù)的同時,來保持高效的計算速度。改進(jìn)后的ELAN-P 模塊如圖3 所示。
圖3 ELAN 與ELAN-P 對比Fig.3 Comparison between the ELAN and ELAN-P modules
eSE(Effective Squeeze and Extraction Block)是基于SE(Squeeze and Extraction)注意力模塊而來[23]。SE注意力模塊,是一種通道注意力模塊;常常被應(yīng)用于視覺模型中,通過它能對輸入特征圖進(jìn)行通道特征加強(qiáng),而且最終SE 模塊輸出,不改變輸入特征圖的大小。SE 模塊基本工作原理如圖4 所示。
圖4 SE 模塊工作原理Fig.4 Principle of the SE module
SE 模塊中,為避免模型過于復(fù)雜,2 個FC 層(全連接層)需要減小通道數(shù)量。第一FC 層使用縮小率r將輸入特征通道C減少到C/r,第二FC 層將縮小的通道擴(kuò)展為C,這會導(dǎo)致通道信息丟失。而eSE 僅使用一個具有C通道的FC 層,而不使用降低通道尺寸的兩個FC,從而維護(hù)了通道信息,從而提高了性能。eSE 模塊針對SE 模塊升級部分如圖5 所示。
圖5 SE 模塊與eSE 模塊Fig.5 Comprison between the SE and eSE modules
針對遙感圖像背景信息復(fù)雜,待檢測目標(biāo)在圖像中像素占比較小,提取小目標(biāo)特征困難,通過結(jié)合通道注意力機(jī)制進(jìn)一步提取小目標(biāo)特征,加強(qiáng)對特征區(qū)域的關(guān)注程度。針對普通卷積輸出特征速度慢的問題,本文在eSE 注意力模塊的輸入通道上結(jié)合PConv 模塊提出一種新的注意力模塊PC-eSE 模塊,并將PCeSE 模塊嵌入到Y(jié)OLOv7 原始網(wǎng)絡(luò)Backbone 的3 個輸出通道中,進(jìn)一步快速且有效地提取特征。改進(jìn)后的YOLOv7 模型如圖6 所示。
圖6 PC-eSE 模塊工作流程Fig.6 Flow chart of the PC-eSE module
無人機(jī)遙感圖像小目標(biāo)檢測是一個非常具有挑戰(zhàn)性的問題,由于小目標(biāo)在原始圖片中所占像素小和檢測器原始損失函數(shù)的固有缺陷,使用YOLOv7 原本的損失函數(shù)始終不能得到令人滿意的結(jié)果?;贗oU 度量的損失函數(shù)本身對小目標(biāo)的位置偏差非常敏感,在基于Anchor 的檢測器中使用時,嚴(yán)重降低了性能?;诖藛栴},本文采用基于Wasserstein 距離的小目標(biāo)檢測評估方法NWD 度量(可以很容易地嵌入到任何基于Anchor 的檢測器的損失函數(shù)中),將檢測邊框Bounding Boxs 建模為二維高斯分布,通過它們對應(yīng)的高斯分布計算它們之間的相似性。經(jīng)過對比這種方法可以有效提高YOLOv7 檢測器的檢測精度,使之更好地識別出遙感圖像中的小目標(biāo)。
connecting rod→conrod連桿;variable resistor→varistor可變電阻。
對于水平邊框D=,其中 (cx,cy),w和h分別為中心坐標(biāo)。水平邊界框可以建模為二維高斯分布N(μ,Σ),其中:
邊界框A和B之間的相似性可以轉(zhuǎn)化為2 個高斯分布之間的分布距離,此處使用Wasserstein distance(w2)來計算分布距離。對于邊界框A=(cxa,cya,wa,ha)和B=(cxb,cyb,wb,hb) 建模的Na和Nb,可進(jìn)一步得出:
通過得到的距離,使用指數(shù)形式歸一化,得到新的度量NWD,即:
式中:S為與數(shù)據(jù)集相關(guān)的一個超參數(shù),可通過模型訓(xùn)練得到。與IoU 相比,NWD 對位置偏差更平滑,在相同的閾值下,可以更好地區(qū)分出目標(biāo)位置?;谝陨戏治?,Loss 函數(shù)可設(shè)為:
式中:Np為 預(yù)測框p的高斯分布模型;Ng為GT boxes g的高斯分布模型。經(jīng)過對比分析,NWD 方法可以顯著降低假陰性。
本文實(shí)驗環(huán)境為Ubuntu20.04、Python3.8、PyTorch1.13.0,相關(guān)硬件配置和模型參數(shù)見表1,其中訓(xùn)練次數(shù)epoch 為100。
表1 硬件配置和模型參數(shù)Table 1 Hardware configuration and model parameters
本文采用的數(shù)據(jù)集為露天煤礦采場礦用卡車數(shù)據(jù)集。露天煤礦采場礦用卡車數(shù)據(jù)集來源為無人機(jī)低空遙感影像,均為無人機(jī)搭載光學(xué)數(shù)碼相機(jī)拍攝的露天煤礦采場工作時的視頻影像,包含不同煤礦和不同天氣情況的采場工作場景。本文將遙感影像逐幀截取,由于所獲得的遙感圖像重復(fù)率較高,可能會增加訓(xùn)練成本和計算負(fù)擔(dān),所以每隔兩幀就移除一幀圖像,最終共獲得露天煤礦采場遙感圖像3 789 張。按照7∶2∶1 的比例劃分,其中2 653 張用于訓(xùn)練集,758 張用于驗證集,378 張用于測試集。部分?jǐn)?shù)據(jù)集示例如圖7 所示。接著通過LabelImg 工具進(jìn)行標(biāo)注,采用的是水平框,標(biāo)簽格式為YOLO 格式,其中只包含車(car)一個類型,卡車統(tǒng)一標(biāo)記為car。標(biāo)注后的數(shù)據(jù)集包含復(fù)雜場景和簡單場景,共有36 320 個目標(biāo)框,能充分體現(xiàn)露天煤礦采場中的現(xiàn)實(shí)情景,為本次實(shí)驗的主要研究對象。
圖7 煤礦卡車數(shù)據(jù)集示例Fig.7 Examples of the dataset of mining trucks
本文針對模型性能優(yōu)劣采用的評價指標(biāo)為精確度P(precision),即模型預(yù)測目標(biāo)中,預(yù)測正確的比例,計算公式為:
式中:TP為將正類預(yù)測為正類數(shù),即正確預(yù)測;FP為將負(fù)類預(yù)測為正類數(shù),即錯誤預(yù)測。
召回率R(recall)是所有真實(shí)目標(biāo)中,模型預(yù)測正確的比例,計算公式為:
式中:FN為將正類預(yù)測為負(fù)類數(shù),即錯誤預(yù)測。
平均精度Pmav(mean average precision,mAP)是所有類別預(yù)測精準(zhǔn)的平均值,計算公式為:
式中:Pav為每一類別P值的平均值,本次采用的Pmav僅是閾值為0.5 時計算出來的值;N為類別總數(shù);t為時間。
檢測速度采用的指標(biāo)是每秒檢測圖片數(shù)量,即幀率,單位為帖/s,模型大小采用的指標(biāo)是參數(shù)量,即模型參數(shù)的數(shù)量總和,單位為Mb。
為了驗證所提出模型性能,使用上文所提到的訓(xùn)練參數(shù)及數(shù)據(jù)集。在YOLOv7 改進(jìn)網(wǎng)絡(luò)中訓(xùn)練使用的官方數(shù)據(jù)增強(qiáng)方法,圖幅大小在輸入網(wǎng)絡(luò)結(jié)構(gòu)時會被有效調(diào)整為640×640 和1 280×1 280,在這2 種圖幅大小下都進(jìn)行了驗證,最終640×640 大小的效果較優(yōu),也是本文選取的圖幅大小,隨后對改進(jìn)的YOLOv7 模型進(jìn)行多次實(shí)驗,最終模型均收斂,并且獲得了較好的精確度與召回率。對比原始的YOLOv7 模型,Pmav(IoU為0.5)由87.3%上升到94.5%,對比增加了7.2%,改進(jìn)前后的P-R曲線如圖8 所示。
圖8 YOLOv7 改進(jìn)前后P-R 曲線對比Fig.8 Comparison between the precision-recall curves of the original and improved YOLOv7 models
改進(jìn)前后的YOLOv7 網(wǎng)絡(luò)效果如圖9 所示,在圖9a 中有卡車未被成功檢測,性能較差,而圖9b 為改進(jìn)后的網(wǎng)絡(luò)模型檢測效果,可以有效改善卡車目標(biāo)的漏檢。
圖9 YOLOv7 改進(jìn)前后效果對比Fig.9 Comparison between the extraction effects of the original and improved YOLOv7 models
對每張圖片的平均推理速度由76 帖/s 上升到95 帖/s,對比增加了19 帖/s。有效證明改進(jìn)模型可以快速檢測出露天煤礦采場的礦用卡車小目標(biāo)。
為了進(jìn)一步驗證模型的改進(jìn)效果,采用消融實(shí)驗對各個改進(jìn)方面進(jìn)行驗證。消融實(shí)驗驗證的標(biāo)準(zhǔn)包括模型的精確度Pmav和參數(shù)量(Mb)。其中,模型參數(shù)量越小代表模型越輕量化。結(jié)果見表2。
表2 消融實(shí)驗Table 2 Results of ablation experiments
通過表2 可以看出,改進(jìn)后的YOLOv7 網(wǎng)絡(luò)模型在輸入相同尺寸圖片的情況下,Pmav值超過了其他的組合,有效提升了檢測精度。
將改進(jìn)后的YOLOv7 網(wǎng)絡(luò)模型與其他深度學(xué)習(xí)目標(biāo)檢測網(wǎng)絡(luò)模型進(jìn)行對比和分析。實(shí)驗將YOLOv5、YOLOv6、YOLOv8、Faster-RCNN 和YOLOv7 原始網(wǎng)絡(luò)進(jìn)行比較。實(shí)驗選用Pmav(閾值為0.5)作為檢測指標(biāo)。最終結(jié)果見表3。
表3 對比實(shí)驗(IoU=0.5)Table 3 Results of comparison experiments (IoU=0.5)
其中,F(xiàn)aster-RCNN 原始網(wǎng)絡(luò)較其他原始網(wǎng)絡(luò)表現(xiàn)好,但是其屬于雙階段目標(biāo)檢測算法,相比于其他算法計算推理速度慢,需要的算力資源更多。YOLOv5、YOLOv6 和YOLOv8 都屬于YOLO 系列,它們的優(yōu)點(diǎn)是檢測速度快但是對于小物體的檢測不夠精確,對比YOLOv7 原始網(wǎng)絡(luò)它們檢測精度低,容易造成漏檢現(xiàn)象。改進(jìn)后的YOLOv7 網(wǎng)絡(luò)相較于其他的深度學(xué)習(xí)檢測方法精度有明顯的提高,彌補(bǔ)了原始網(wǎng)絡(luò)在小目標(biāo)檢測方面的不足,進(jìn)一步提高了網(wǎng)絡(luò)的魯棒性。
a.針對露天煤礦采場環(huán)境復(fù)雜、礦用卡車位置檢測困難的問題,提出一種基于露天煤礦場景深度學(xué)習(xí)的無人機(jī)遙感影像目標(biāo)檢測算法。通過構(gòu)建2 種不同模塊和一種新的損失函數(shù)引入到Y(jié)OLOv7 原始網(wǎng)絡(luò)中,提高了對無人機(jī)遙感圖像中小目標(biāo)的識別精度。
b.在煤礦采場卡車數(shù)據(jù)集上對所提出改進(jìn)YOLOv7方法進(jìn)行評估,其檢測精度Pmav比原始YOLOv7 網(wǎng)絡(luò)模型提高7.2%,相比于其他主流遙感目標(biāo)檢測方法在精度上有明顯提升。實(shí)驗結(jié)果表明,該算法具有較高的識別精度,能夠?qū)ΦV區(qū)卡車的位置進(jìn)行準(zhǔn)確定位。
c.將進(jìn)一步改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)及模型,降低模型的參數(shù)量,使模塊可以快速部署于邊緣設(shè)備。