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

圖1 殘差層結(jié)構(gòu)圖

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

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

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

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

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

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

該次實(shí)驗(yàn)基于Darknet53.conv.7 預(yù)訓(xùn)練模型,利用優(yōu)化網(wǎng)絡(luò)模型完成11 000 次訓(xùn)練,原始YOLOv3的mAP、loss 函數(shù)曲線如圖6 所示。

圖6 原始YOLOv3的mAP、loss函數(shù)曲線
與原始網(wǎng)絡(luò)結(jié)構(gòu)相比,新的密集型網(wǎng)絡(luò)結(jié)構(gòu)產(chǎn)生的實(shí)驗(yàn)數(shù)據(jù)如圖7 所示,在mAP 上的實(shí)驗(yàn)結(jié)果更加優(yōu)異,其mAP 值提升至90%。

圖7 改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)的mAP、loss函數(shù)曲線
改進(jìn)網(wǎng)絡(luò)的平均檢測(cè)精度提高了4.67%,檢測(cè)速度由19.5 fps 提升到了30.1 fps。改進(jìn)IoU 模型相比原IoU 模型,檢測(cè)速度和精度均明顯改善,對(duì)比如表1 所示。

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

圖8 改進(jìn)DIoU的mAP、loss函數(shù)曲線
通過對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),在邊框選擇、網(wǎng)絡(luò)結(jié)構(gòu)以及DIoU 方面的改進(jìn)工作,大幅提高了航天器模型的檢測(cè)性能。在一個(gè)完整的檢測(cè)體系中,若這三項(xiàng)工作融合使用,則檢測(cè)水平會(huì)進(jìn)一步提高。故將這三處改進(jìn)綜合起來,取該目標(biāo)的mAP 值作為改進(jìn)后模型的整體性能評(píng)估指標(biāo),表2 是綜合改進(jìn)后的mAP 值與原始YOLOv3的mAP 值對(duì)比。

表2 綜合改進(jìn)前后mAP值對(duì)比
如圖9 所示,改進(jìn)后的計(jì)算模型相較于原始狀態(tài)下的檢測(cè)模型,mAP 參數(shù)提高7.67%,同時(shí)其mAP能很快達(dá)到最優(yōu)值且迭代至中后期時(shí)其精確度也更加穩(wěn)定。故而可以確定,在選用了文中經(jīng)過改進(jìn)的方法之后,整個(gè)模型的性能獲得了顯著優(yōu)化,在檢測(cè)精度、速度方面都符合目標(biāo)要求,可用于航天器目標(biāo)檢測(cè)。

圖9 綜合改進(jìn)后的mAP、loss函數(shù)曲線
如圖10 所示,圖中的YOLOv3 算法識(shí)別出的預(yù)測(cè)框明顯大于改進(jìn)后的預(yù)測(cè)框,其準(zhǔn)確度得到了明顯提升。考慮到數(shù)據(jù)的多樣性和復(fù)雜性,特別是針對(duì)數(shù)據(jù)量較小的情形,使用優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)模型往往能改善泛化效果,從而提高航天器檢測(cè)環(huán)境的適應(yīng)能力。

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