程 擎,王元濟,李彥冬
(中國民用航空飛行學院空中交通管理學院,廣漢 618300)
機場跑道異物(foreign object debris,FOD)是指飛行區(qū)內(nèi)可能會損傷航空器、設(shè)備或威脅機場工作人員和乘客生命安全的外來物體[1]。常見的機場跑道異物包括螺絲、輪胎碎片、維修工具等,大部分的跑道異物體積微小,直徑一般不超過5 cm,卻具有強大的破壞力,嚴重影響著民航客機的飛行安全。全球民航業(yè)每年因機場跑道異物而產(chǎn)生的直接損失高達11 億美元[2]。目前,我國大部分現(xiàn)有機場的跑道異物檢測工作是靠人工完成的,由專人步行或乘車進行撒網(wǎng)式巡檢的方法,該模式占用跑道時間較長,效率低下,易出現(xiàn)漏檢;新建的樞紐型機場配備了雷達和光電復(fù)合式自動檢測系統(tǒng),無需占用跑道,實時檢測效率高,但設(shè)備成本高昂,難以普及。因此,基于圖像的跑道異物檢測方法的研究成為民航領(lǐng)域的一個熱點。
傳統(tǒng)的目標檢測算法由于滑動窗口法時間冗余度高,手工設(shè)計的特征魯棒性差,其檢測速度和精度都受到了很大程度的限制。2013 年以來,人工智能得到了跨越式發(fā)展,國內(nèi)外有眾多學者針對機場跑道異物檢測任務(wù),展開了對深度學習檢測算法的研究和創(chuàng)新。Xu 等[3]創(chuàng)建了一個FOD 圖像數(shù)據(jù)集,并提出了一種基于遷移學習和主流深度卷積神經(jīng)網(wǎng)絡(luò)(D-CNN)模型的新型FOD 識別方法。郭曉靜等[4]針對機場跑道異物的小目標特點,提出了一種以YOLOv3網(wǎng)絡(luò)為基礎(chǔ),采用運算復(fù)雜度相對更低的Darknet-49 作為特征提取網(wǎng)絡(luò)的FOD 目標檢測算法,該算法有效解決了原YOLOv3存在的定位精度偏低和漏檢問題。蘭庭信等[5]設(shè)計了一種基于無人機的FOD 檢測與定位系統(tǒng),采用多架無人機迂回飛行,采集機場跑道圖像,使用Faster R-CNN 算法實現(xiàn)對FOD 的檢測與定位。馮明寬[6]設(shè)計并實現(xiàn)了基于高分辨率網(wǎng)絡(luò)、基于IoU閾值級聯(lián)、基于全局上下文信息的三種FOD 檢測算法,在FOD3數(shù)據(jù)集上的實驗結(jié)果表明,這三種算法均顯著提升了對FOD 中小目標的檢測準確率。
上述研究表明,機場跑道異物檢測在實際生產(chǎn)環(huán)境中需要兼顧速度與精度,因此本文選擇了2020 年發(fā)布的高精度、高速度YOLOv5 網(wǎng)絡(luò)作為研究對象,在保持模型輕量化和高效率的同時,針對機場跑道異物的漏檢率高和小目標占比高的特點,對YOLOv5 網(wǎng)絡(luò)進行有效改進,從而實現(xiàn)更高精度的跑道異物檢測。
YOLOv5 目標檢測算法于2020 年首次發(fā)布,是 由Ultralytics LLC 團 隊 基 于YOLOv3[7]和YOLOv4[8]進行改進的目標檢測網(wǎng)絡(luò)。YOLOv5 提供了4 個版本(s/m/l/x),其中YOLOv5s 的模型深度和寬度均為最小,另外三種可認為在前者的基礎(chǔ)上進行了加深和加寬,提高了檢測精度的同時也增加了運算時間??紤]到跑道異物檢測的實時性需求,本文選擇檢測速度最快的YOLOv5s 檢測網(wǎng)絡(luò)作為基礎(chǔ)算法進行改進。如圖1所示,YOLOv5 的網(wǎng)絡(luò)模型可分為4 個部分,包括輸入端、主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和輸出端。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)圖
YOLOv5 網(wǎng)絡(luò)在輸入端采用了Mosiac 增強、自適應(yīng)錨框和自適應(yīng)圖片縮放等策略。輸入端相較于YOLOv4的一個創(chuàng)新,是采用了自適應(yīng)錨框計算,即根據(jù)不同數(shù)據(jù)集的標簽,采用K-means聚類和遺傳算法自動學習,調(diào)整YOLOv5預(yù)設(shè)的錨框尺寸。
YOLOv5 采用CSPDarknet53 作為主干網(wǎng)絡(luò)進行特征提取,在主干網(wǎng)絡(luò)使用Focus 模塊、CBL 模塊、CSP 模塊和SPP 模塊。其中,F(xiàn)ocus模塊結(jié)構(gòu)是首次出現(xiàn)在YOLO 系列網(wǎng)絡(luò)中,其主要思想是通過切片操作對輸入圖片直接進行裁剪處理,在減少信息丟失的同時,提升了運算速度。
頸部網(wǎng)絡(luò)使用SPP+PANet 的結(jié)構(gòu),該結(jié)構(gòu)可以提高網(wǎng)絡(luò)的多尺度預(yù)測能力。路徑聚合網(wǎng)絡(luò)(PANet)結(jié)構(gòu)[9]由特征金字塔網(wǎng)絡(luò)(FPN)和金字塔特征層級(PAN)結(jié)構(gòu)共同組成,兩種結(jié)構(gòu)從不同的主干層對不同的檢測層進行參數(shù)聚合,完成了對高層級特征圖中豐富的語義信息和低層級特征圖中豐富的位置信息的有效融合。
YOLOv5在輸出端采用三種損失函數(shù)分別計算分類、定位和置信度損失,并通過非極大值抑制方法解決多目標和遮擋嚴重導致檢測不準確的問題,提高網(wǎng)絡(luò)預(yù)測的準確度。YOLOv5采用CIoU Loss作為損失函數(shù)和邊界框預(yù)測函數(shù)。
本文考慮到機場跑道異物數(shù)據(jù)集的小目標占比高和背景干擾強兩種特性,在主干網(wǎng)絡(luò)引入了有效通道注意力機制模塊(ECA-Net)[10],并在頸部網(wǎng)絡(luò)使用Bi-FPN 替換PAN-Net,最后在邊界框預(yù)測部分使用EIoU Loss 更換CIoU Loss。
計算機視覺中的注意力機制就是借鑒了人類的視覺注意機制,從圖像背景的大量信息中篩選出與目標最相關(guān)的區(qū)域,利用加權(quán)的方法強化重要特征并抑制非必要特征,從而高效捕獲目標。常見的注意力機制有通道注意力機制(SENet)、坐標注意力(CA)、卷積注意力(CBAM)和瓶頸注意力(BAM)等,其中SENet 注重使用通道注意力,CA 將位置信息嵌入到了通道注意力中,CBAM 則同時運用了通道注意力機制和空間注意力機制。
本文的主干有效通道注意力機制模塊(ECANet),該模塊是由Wang等[10]于2019年提出的一個簡單而高效的注意力模塊。ECA-Net可以簡單視為通道注意力機制(SENet)的改進,SENet 的結(jié)構(gòu)如圖2 所示。通過避免SE 模塊多次降維的負面影響,以及改進低效的局部跨通道交互,設(shè)計了基于快速的一維卷積產(chǎn)生通道注意的ECA-Net,該模塊能夠通過增加少量的參數(shù),而帶來明顯的性能增益,其結(jié)構(gòu)如圖3所示。
圖2 通道注意力機制的結(jié)構(gòu)示意圖
圖3 有效通道注意力機制模塊結(jié)構(gòu)示意圖
該注意力機制模塊具備添加在YOLOv5網(wǎng)絡(luò)任何位置的特性,本文選擇將ECA-Net 模塊與C3模塊相結(jié)合,以提升其性能表現(xiàn)。
本文在頸部網(wǎng)絡(luò)使用加權(quán)雙向特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)(Bi-FPN)替換PANet,以獲取更高效的多尺度融合。Bi-FPN 是谷歌公司團隊在EfficientDet[11]中提出的一種加權(quán)的雙向特征金字塔網(wǎng)絡(luò),它允許簡單和快速的多尺度特征融合,其內(nèi)部結(jié)構(gòu)如圖4所示。傳統(tǒng)的特征金字塔只能進行單向的特征融合,PANe 則在此基礎(chǔ)上添加了一個自底向上的路徑,Bi-FPN 則更進一步地處理每個雙向路徑(自頂向下和自底而上)作為一個特征網(wǎng)絡(luò)層,并重復(fù)同一層多次,以實現(xiàn)更高層次的特征融合。
圖4 Bi-FPN結(jié)構(gòu)示意圖
為了提高特征融合的效率,Bi-FPN 針對跨尺度連接,優(yōu)化掉了信息貢獻量少的只有一條輸入邊的節(jié)點,從而降低了網(wǎng)絡(luò)的復(fù)雜程度。相比于傳統(tǒng)的特征金字塔平等地對待不同尺度特征的融合方式,Bi-FPN 專門引入了權(quán)重,在特征融合過程中為每個輸入添加一個額外的權(quán)重,讓網(wǎng)絡(luò)來學習每個輸入特征的重要性,更好地平衡不同尺度的特征信息。
損失函數(shù)能夠反映模型和實際數(shù)據(jù)間存在的差異,YOLOv5 默認使用CIoU 函數(shù)進行邊框界預(yù)測計算,該函數(shù)的特點是不僅關(guān)注真實框與預(yù)測框的重疊區(qū)域、非重疊區(qū)域,還綜合考慮了兩框之間的重疊率、中心點距離、長寬比等關(guān)鍵因素。其計算公式如式(1)和式(2)所示。
本文使用EIoU[12]替代CIoU 作為目標框回歸的損失函數(shù),CIoU 僅將長寬比作為影響因子,沒有考慮到真實框與預(yù)測框的長寬比相同、值不同的情形,導致與回歸目標不相符。EIoU 在此基礎(chǔ)上綜合考慮了長度損失和寬度損失,并且添加了Focal loss 解決樣本的類別不平衡和難度差異問題,使得目標框回歸過程中更加穩(wěn)定,收斂的精度更高,其計算公式見式(3)和式(4)。
式中:b和bgt分別表示檢測框和目標框的中心點;w和h分別表示兩個框的寬度和高度;ρ表示兩個中心點間的歐式距離;c為覆蓋檢測框和目標框之間最小矩形的斜距;α是一個平衡參數(shù),不參與梯度計算;v是用來衡量長寬比一致性的參數(shù);γ是用來表示異常值抑制程度的參數(shù)。
本文進行實驗的軟件環(huán)境采用Windows 10操作系統(tǒng),使用Python編程語言,CUDA版本為11.1,Pytorch版本為1.8.0。訓練循環(huán)100次,圖片輸入尺寸為300像素。
目前網(wǎng)絡(luò)上公開發(fā)布的機場跑道異物數(shù)據(jù)集較少,本文使用的數(shù)據(jù)集是FOD-A(FOD in airports)數(shù)據(jù)集[13],包含31 個種類,圖片總量超過3萬張。盡管該數(shù)據(jù)集的總量巨大,但其圖像內(nèi)部之間存在相似度較高的問題,易導致出現(xiàn)泛化能力差的現(xiàn)象。因此本文選擇其中具有代表性、差異性的占比約10%的圖像,并且加入了500 張自制圖像,建成了一個包含3479 張跑道圖像的數(shù)據(jù)集。在原數(shù)據(jù)集基礎(chǔ)上,擴充了訓練樣本的豐富程度,為YOLOv5網(wǎng)絡(luò)模型提供了更多的特征信息,降低了過擬合現(xiàn)象的可能性。
本文使用均值平均精度(mean average precision, mAP)作為模型檢測準確性能的評價指標,平均精度綜合考慮了目標檢測的精確率(precision, P),召回率(recall, R)以及平均精度(average precision,AP)。
圖5分別展示了改進前后檢測算法的效果實例,表1 展示了原YOLOv5s 網(wǎng)絡(luò)以及本文改進后的YOLOv5s 網(wǎng)絡(luò)在FOD-A 數(shù)據(jù)集上的檢測結(jié)果。本文改進的YOLOv5s 網(wǎng)絡(luò),其均值平均檢測精度mAP@0.5 相比于原YOLOv5s 網(wǎng)絡(luò)提升了1.6個百分點。
圖5 檢測結(jié)果
表1 模型評價指標對比結(jié)果 單位:%
本文針對跑道異物檢測任務(wù),提出了一種改進的YOLOv5目標檢測算法。在主干網(wǎng)絡(luò)添加有效通道注意力機制模塊(ECA-Net),提高了算法提取全局特征的能力;在頸部網(wǎng)絡(luò),使用Bi-FPN 模塊替換原有的PA-Net,以獲取更高效的多尺度融合;最后采用EIoU Loss 作為損失函數(shù),加快了函數(shù)的收斂速度,提升了回歸精確度。改進后的檢測算法能夠有效避免漏檢和誤檢,提高了對跑道異物小目標的檢測能力,改進后算法的均值平均精度mAP@0.5 相比于YOLOv5 網(wǎng)絡(luò)提升了1.6 個百分點,滿足在機場復(fù)雜環(huán)境下對跑道異物檢測的準確性需求。