田偉杰,郭大波,孫佳
(山西大學物理電子工程學院,山西太原 030006)
隨著航天工業的迅猛發展,航天器數量大幅度增多,航天器自動識別的需求日益增加[1]。在此背景下,現代航天器檢測技術已經開始逐漸融合機器學習技術,作為其學習的核心之一,深度學習技術在未來太空環境和外太空空間探索的工程應用中,為高檢測率、高魯棒性的航天器實時多目標檢測系統提供了良好的技術基礎[2-5]。
考慮到航天器結構、外形等因素[6],該文首次將基于Darknet 深度學習框架下的YOLOv3 算法應用到航天器目標檢測系統中,原有的測量方法效率較低,故而需要改進。基于Darknet 深度學習框架下的YOLOv3 算法,根據航天器特有的特征信息分析選擇出更合適的錨框,采用DIoU 邊框回歸函數改善了原函數計算代價函數時對圖片中心不敏感的問題,利用文中提出的YOLOv3-satellite 網絡模型,實現對航天器數據集的特征性訓練與學習,mAP 高達93.3%,并獲得30.1 fps的檢測速度。
對于YOLOv3 網絡架構來說,通常包括兩部分:①檢測網絡,其功能是多尺度預測;②Darknet53 骨架網絡,是殘差層與卷積層共同作用的結果,多用于特征提取過程[6-8],具體見圖1。系統的運行理念是在網絡層級中構造了“直連通道”,可以將某層級輸出的原始參數直傳到目標層級,有效降低系統運行中由于多級傳輸造成的能量耗損,在一定程度上緩解了深度神經網絡中的梯度消失問題[9-11]。其原理如式(1)所示。

圖1 殘差層結構圖

在式(1)中,殘差層要求的輸入量有兩個,一個是x,另一個是通過兩次卷積運算得到的F(x)。在卷積運算過程中,第一次卷積運算的核尺寸是1×1,選擇1 為步長,第二次卷積運算的核尺寸是3×3,選擇1為步長。此外要提高網絡的整體性能,在各個層級卷積之后,需要將線性單元和批量歸一化層添加在各個層級卷積之后,考慮到收斂時間長的問題,可通過Batch Normalization 層進行改善,考慮到深層網絡梯度消失的問題,可通過leakyRelu 式激活函數進行改善[12-16]。
對于Darknet53 網絡來說,可按照圖2 所示的參數進行配置。將416×416的圖像輸入到Darknet53網絡后,其輸出參數見圖2。右側殘差循環次數顯示在圖2 左側,輸出特征圖的尺度有13×13、26×26、52×52、104×104、208×208。

圖2 Darknet53 網絡結構示意圖
結合該文所用航天器圖像數據集的特點,從網絡結構方面對YOLOv3 模型進行了改進。改進的YOLOv3 算法沿用之前YOLOv3的骨架網絡,將YOLOv3 中(從除net 層開始的第一個卷積層記為第0 層)第62 層至第74 層改為DenseNet的密集連接型結構,取代部分殘差層,并在原第61 層之后增加一層卷積層。這樣使網絡結構對特征較為明顯的數據集會有更加優異的檢測效果,改進的網絡結構如圖3 所示。

圖3 改進的網絡結構圖
相較于原有網絡體系,該網絡結構可以實現更加直接有效地傳遞并利用特征圖與梯度,在每一個層級上,可使用部分原始層的信息,計算系統的損失函數與梯度參數,從而提高網絡特征的提取深度,有效緩解梯度消失問題,也有助于構建更深層次的網絡。
在COCO 數據集基礎上利用YOLOv3 聚類算法得到錨點的數量為9個,分別是(373,326)、(156,198)、(116,90)、(59,119)、(62,45)、(30,61)、(33,23)、(16,30)、(10,13)。對于自制航天器數據集來說,需要重新針對先驗框數量及尺寸進行選擇,采用K-means 聚類算法,從而能更精確、實時地檢測航天器,接著采用維度聚類分析的手段處理目標框的寬度和高度,旨在實現聚類方案和效果的最優化,判斷評估方法好壞的方法是平均交并。根據實驗過程發現,K的取值范圍是1 至某值,平均交并比隨著K值的增大而逐漸減小,取不同K值進行多次實驗,如圖4 所示,當K值小于9 時,平均交并比保持很慢的速度進行優化,故確定先驗框的數量為9 個。

圖4 anchors數量和平均交并比評估圖
如圖5 所示,根據數據的寬、高分布信息,橫坐標表示目標的寬度值,縱坐標表示目標的高度值,經過多次實驗測試生成該尺度下的最優anchor box 尺寸為(51,80,99,123,209,157,335,109,176,222,150,331,342,218,249,303,360,352)。

圖5 該文數據集的目標歸一化后的寬高分布圖
現階段,圖像分割、目標跟蹤、目標檢測對邊界框回歸的精確度提出了很高的要求,對于邊界框來說,通常將其回歸損失函數確定為L2 范數和L1 范數,往往忽略了預測框與真實框的交并比IoU(Intersection over Union)在邊界框回歸中的重要性,IoU 定義如式(2)所示。

原始IoU 沒有考慮真實框與預測框中心點的距離信息,實際情況下,中心點的距離越小預測得越準。DIoU 可以很好地反映中心點距離的情況,anchor 越靠近邊緣,誤差越大,那些與目標框沒有重疊的anchor 基本無法回歸,而DIoU 對于不同距離、不同方向的anchor,DIoU 都能做到較好的回歸。從而表現出較之前更為精確的結果,改進后的DIoU 關系式如式(3)所示。

該次實驗基于Darknet53.conv.7 預訓練模型,利用優化網絡模型完成11 000 次訓練,原始YOLOv3的mAP、loss 函數曲線如圖6 所示。

圖6 原始YOLOv3的mAP、loss函數曲線
與原始網絡結構相比,新的密集型網絡結構產生的實驗數據如圖7 所示,在mAP 上的實驗結果更加優異,其mAP 值提升至90%。

圖7 改進網絡結構的mAP、loss函數曲線
改進網絡的平均檢測精度提高了4.67%,檢測速度由19.5 fps 提升到了30.1 fps。改進IoU 模型相比原IoU 模型,檢測速度和精度均明顯改善,對比如表1 所示。

表1 不同網絡模型在數據集上的mAP與速度對比
與原始IoU 計算方法相比,改進網絡的平均檢測精度提高了1.34%。可以看出loss 函數下降很快,這是因為DIoU 損失可以直接最小化兩個邊界框的距離,因此收斂速度比原始IoU 邊界框預測函數快得多,改進DIoU的mAP、loss 函數曲線如圖8 所示。

圖8 改進DIoU的mAP、loss函數曲線
通過對比實驗發現,在邊框選擇、網絡結構以及DIoU 方面的改進工作,大幅提高了航天器模型的檢測性能。在一個完整的檢測體系中,若這三項工作融合使用,則檢測水平會進一步提高。故將這三處改進綜合起來,取該目標的mAP 值作為改進后模型的整體性能評估指標,表2 是綜合改進后的mAP 值與原始YOLOv3的mAP 值對比。

表2 綜合改進前后mAP值對比
如圖9 所示,改進后的計算模型相較于原始狀態下的檢測模型,mAP 參數提高7.67%,同時其mAP能很快達到最優值且迭代至中后期時其精確度也更加穩定。故而可以確定,在選用了文中經過改進的方法之后,整個模型的性能獲得了顯著優化,在檢測精度、速度方面都符合目標要求,可用于航天器目標檢測。

圖9 綜合改進后的mAP、loss函數曲線
如圖10 所示,圖中的YOLOv3 算法識別出的預測框明顯大于改進后的預測框,其準確度得到了明顯提升。考慮到數據的多樣性和復雜性,特別是針對數據量較小的情形,使用優化卷積神經網絡模型往往能改善泛化效果,從而提高航天器檢測環境的適應能力。

圖10 對比YOLOv3-satellite算法與原YOLO算法的結果
文中對原YOLOv3 算法進行改進,得到一種全新的YOLOv3 特征提取網絡,將DIoU 作為邊界框回歸損失函數,同時為改善檢測過程中的重復率、錯誤率、漏檢率問題,將Darknet53 與DenseBlock 融入到改進后的YOLOv3 特征提取網絡中。基于航天器數據集獲取先驗框的方法選擇K-means 聚類分析,在航天器數據集中應用改進后的YOLOv3 算法的檢測速度和mAP 分別是30.1 fps、93.3%,驗證了改進方案的可行性與可靠性。