徐云飛,張篤周,王 立,華寶成,石永強,賀盈波
(北京控制工程研究所空間光電測量與感知實驗室,北京 100190)
隨著航天技術的進步和空間任務的多樣化發展,對于空間非合作目標位姿測量的需求日益迫切。目前用于非合作目標位姿測量的敏感器主要包括相機和激光雷達兩大類。激光雷達的分辨率較低、硬件相對復雜,且功耗較高;相比之下單目相機硬件更為簡單成熟。然而傳統模式下單目相機無法獲得深度信息、點線特征提取不穩定、適應性較差,這些因素使得當前非合作目標的相對姿態求解主要集中于立體視覺和激光雷達[1-2]。隨著深度學習和高性能處理器的發展,為“單目相機+卷積神經網絡”在軌實現姿態測量提供了可能。
德國宇航局開展的“實驗服務衛星(Experi-mental servicing satellite, ESS)”項目[3],通過衛星機械臂上搭載的立體攝像機對目標衛星上的發動機噴嘴進行運動參數識別。美國的FREND機械臂上的立體視覺系統能夠對分離螺栓孔和星箭對接環進行識別和抓捕[4]。王詩強等[5]提出一種通過紋理邊界檢測的橢圓特征提取方法,擬合出對接環的橢圓參數并進行相對姿態測量。徐文福等[6]利用Canny邊沿檢測算子提取目標濾波圖像中的直線特征,再利用雙目系統對直線特征形成的交叉點進行匹配,從而得到目標位姿。王志超等[7]利用雙目相機識別目標航天器上矩形和橢圓形特征并進行特征匹配和位姿測量,利用PLK光流法對其動態軌跡進行跟蹤。然而無論是關鍵點特征、直線特征還是矩形橢圓等,都是人工設計出的幾何特征,難以適用于各類空間條件下,且目標衛星上的天線、帆板、對接環、噴嘴以及衛星本體會隨著其位姿和所受光照條件的變化發生成像模糊,局部遮擋,以及出現陰影等情況。傳統的特征點提取和匹配測量非合作目標姿態的方法難以應對各類工況。
深度學習方法的興起,給目標位姿測量提供了新的思路。如基于稀疏特征[8]、基于稠密圖像塊[9-10]和基于模板匹配[11]等方法,以及基于卷積神經網絡的目標姿態測量方法[12-14]。而針對非合作目標姿態測量問題,張浩鵬等[15]提出在核函數的基礎上通過學習的方法,提取出衛星數據集圖像特征,進而得到衛星姿態角。李想[16]提出利用深度學習方法對空間非合作目標進行三軸姿態估計,利用卷積神經網絡InceptionV3模塊對整幅圖像進行特征提取,建立與三軸姿態角之間的關系,最終實現姿態估計。斯坦福大學Sharma等[17]提出基于卷積神經網絡的非合作目標姿態估計方法,預先定義多種姿態作為圖像標注信息,用AlexNet作為基干網絡,將姿態估計問題作為分類問題處理。北京控制工程研究所王立等[18]提出基于特征建模的非合作目標點云智能化配準方法,利用神經網絡學習點云協方差矩陣中6個參數與非合作目標三軸姿態的關系。
本文通過遷移學習方法減少了網絡對數據集數量的過度依賴,并將姿態測量問題從分類問題轉化成回歸問題,對比了基于ResNet、MobileNet的姿態測量網絡學習效果,能夠保證檢測精度、檢測速度以及網絡尺寸要求。
圖1為空間非合作目標單目姿態測量總體技術路線圖。首先在實驗室采集空間非合作目標圖像,并標注每一幅圖像的俯仰、偏航和翻滾姿態角;對原始圖像進行Sobel邊沿提取,確定衛星在原始圖像中的位置并截出,修改尺寸和通道數后送入特征提取網絡進行特征學習;本文采用遷移學習的方法提取衛星圖像特征,所用的特征提取網絡來源于ImageNet大規模視覺挑戰賽(ILSVRC)上表現優異的網絡(ResNet, MobileNet等)。由于ImageNet上用大數據訓練出的卷積神經網絡,能對任意圖像的底層特征至高維特征進行充分表征,因此可以將這些網絡的卷積層提取出來作為姿態測量任務的圖像特征提取網絡,且只需少量圖片訓練便可對卷積核權重、偏置值完成微調。這一過程相當于對圖像進行特征建模,最終輸出得到了特征向量;之后本文設計了姿態估計網絡并對其進行訓練,構建輸入特征向量到俯仰、偏航和翻滾三軸姿態角之間的非線性映射關系,且輸出類型為連續輸出,即將姿態測量問題設計為回歸問題,相對于分類問題,可以獲得更高的姿態分辨率。

圖1 非合作目標姿態測量網絡架構設計Fig.1 Architecture design of non-cooperative target attitude measurement network
圖2展示了不同特征提取網絡在圖像分類任務中準確率與相對檢測時間差異,在空間非合作目標姿態測量任務中,期望網絡在保證高準確率的同時具有相對小的計算量與存儲空間開銷(如表1所示)。以圖中虛線為界,之上的網絡兼顧圖像特征提取能力和檢測速度。因此本文對比兩類網絡,分別以殘差網絡ResNet和輕量化網絡MobileNet作為特征提取網絡。

圖2 不同特征提取網絡性能對比Fig.2 Performance comparison of different feature extraction networks

表1 不同特征提取網絡存儲開銷與參數量Table 1 Storage overhead and parameter amount of different feature extraction network
殘差網絡ResNet最大的意義在于解決了隨著網絡深度增加,訓練集上準確率下降的問題。相比于以往的卷積網絡結構(AlexNet、Vgg等),殘差網絡引入了殘差模塊(如圖3所示)。

圖3 殘差網絡結構Fig.3 Structure of residual network
對于兩層的殘差網絡有如下表達式:
G=W2σ(W1x)
(1)
式中:σ為激活函數ReLu,Wi(i=1,2)為卷積層Li權重。
之后x通過一個捷徑(Shortcut),與第二個ReLu相加得到整個殘差模塊的輸出:
y=G(x,{Wi})+x
(2)
殘差模塊的引入能夠解決網絡退化的問題,即隨著網絡層數的增加,輸出誤差逐漸增大,從而保證空間非合作目標姿態測量精度。
輕量化網絡MobileNet_V1在模型結構上采用了逐通道(Depth wise, DW)卷積搭配逐點(Point wise, PW)卷積的方式來提取特征,這兩個操作合起來被稱為深度可分離卷積結構(Depth-wise separable convolution)。這種結構在理論上可以成倍地減少卷積層的時間復雜度和空間復雜度。由式(3)可知,因為卷積核的尺寸通常遠小于輸出通道數Cout,因此標準卷積的計算復雜度近似為DW+PW組合卷積的K2倍。

(3)
輕量化網絡MobileNet_V2在延用MobileNet_V1深度可分離卷積結構的基礎上融入了殘差網絡的思想,使用Shortcut將輸入與輸出相連接。與殘差網絡不同的是MobileNet_V2采用先升維再降維的方式,將圖像特征提取放在高維進行,以適應DW結構。MobileNet_V2的使用可以在保證姿態測量精度要求的前提下減小模型尺寸,從而能在嵌入式系統中實時輸出測量結果。
將姿態測量問題作為回歸問題來處理,設計了基于回歸模型的姿態映射網絡。特征提取網絡輸出n維特征向量(n取決與特征提取網絡的輸出維度),對原始圖像進行深層次高維表征,并作為姿態映射網絡的輸入。姿態映射網絡是由三個神經元組成的全連接層,分別對應輸出的俯仰、偏航和翻滾三軸姿態角A=[θψφ],并采用均方根誤差(Root mean square error, RMSE)作為損失函數,如式(4)所示:
(4)

姿態映射網絡結構如圖4所示。

圖4 姿態映射網絡結構Fig.4 Structure of attitude mapping network
學習過程中三個神經元根據反向傳播鏈式求導法,采用優化器對全連接層3n個參數進行自學習,經過訓練能夠學習到特征向量到姿態角之間的非線性映射關系,但由于姿態映射網絡的“黑箱”問題,映射關系F(x)只能通過所學習的權重體現,而無法給出明確公式或直觀的物理意義。
神經網絡訓練的本質為最小化損失函數,因此在定義好損失函數后,需選擇合適的優化器對損失函數進行優化。經典的優化器包括批量梯度下降(Batch gradient descent, BGD)、隨機梯度下降(Stochastic gradient descent with momentum, SGDM)、小批量梯度下降(Mini-batch gradient descent)等。然而這些優化器存在收斂速度慢、學習率不可調節、對噪聲魯棒性差等缺點,因此本文選取性能較優的自適應動量估計(Adaptive momentum estimation,ADAM)[19]優化器。
ADAM優化器相比于經典的優化器在更新參數時,學習率能夠具有自適應性。除了存儲歷史梯度平方的指數衰減平均值vl(如Adadelta和RMSprop),ADAM還保持歷史梯度的指數衰減平均值,類似于動量(Momentum)條件:
(5)
式中:m為梯度一階矩(均值),v為梯度二階矩(方差),β為衰減系數,取值范圍[0,1]。
然而對于ml,vl初始化為零向量的時刻,會產生一個趨近于0的偏差,經偏差修正后的ml,vl如式(6)所示:
(6)
使用ADAM優化器得到的網絡參數更新公式為:
(7)
ADAM優化器相對于傳統優化器而言,能夠根據訓練參數修改訓練時的學習率,并且對優化中的損失函數具有一定的自適應性。相對于其他自適應學習優化方法效果更優。
針對某型號非合作目標模型建立數據集。三軸旋轉角度區間為[-30°, +30°],用太陽模擬光源從不同位置進行照射。[-30°,+30°]區間每個軸間隔6°取樣,總共得到113張圖片并作為訓練集;[-27°,+23°]區間每個軸間隔10°取樣,總共得到63張圖片并作為驗證集。本文在原始圖像預處理過程中利用Sobel算子提取原始圖像中的邊緣信息,并兩次求取型心獲得衛星在原始圖像中的大致位置并以矩形框截取,從而能夠濾除黑暗的空間背景以及其他物體的干擾,將有用的像素信息送入特征提取網絡用以訓練,如圖5所示。

圖5 圖像預處理Fig.5 Image preprocessing
之后根據圖片編號批量生成標注信息,完成數據集的構建(如圖6所示)。

圖6 部分圖像與對應姿態角標注Fig.6 A part of images and corresponding attitude angle annotations
采用遷移學習的方法,利用預訓練過的卷積網絡提取非合作目標圖像特征,得到高維特征向量。之后姿態映射網絡,通過學習得到特征向量和俯仰、偏航、翻滾三軸姿態角之間的非線性映射關系。以ResNet101為基干設計的姿態測量網絡結構如表2所示。
在使用遷移學習對特征提取網絡進行參數微調時,應根據實際任務情況考慮兩點:訓練數據量大小、與原數據集(ImageNet)相似程度。并參考不同的訓練方式(見表3)。

表2 基于ResNet101的姿態測量網絡Table 2 Attitude measurement network based on ResNet101

表3 不同任務遷移學習方式參考Table 3 Reference of transfer learning methods for different task
由于非合作目標數據集與原數據(ImageNet)相似度低,綜合比較適用于“淺層固定(Conv1、Conv2)+高層微調”的遷移學習方式,淺層參數對邊沿、紋理表征,具有通用性,因此可利用淺層參數并加以固定避免訓練過程中微調帶來的過擬合,高層參數微調可將原用于圖像分類的高層特征調整為適用于姿態測量任務的高層特征;相對于“各層參數微調”方法,在一定程度上避免數據量不充足帶來的過擬合問題。而“各層固定”、“各層/高層重新訓練”方法可能由于高層特征不適用、數據量不充足導致模型訓練無法收斂。
設置網絡訓練超參數,訓練選用ADAM優化器,設置小批量尺寸大小為32,訓練50代且每代訓練結束后打亂訓練集順序重新訓練,初始學習率為0.0001并每20代后調節學習率下降0.1倍。實驗環境:CPU: Intel(R) Xeon(R) Silver 4114 CPU @2.20 GHz 20核; GPU: NVIDIA Quadro P4000(顯存6 G);MATLAB R2019b, Deep Learning Toolbox, CUDA 10.1。訓練結果如圖7所示,從圖中可以看出損失函數RMSE曲線通過訓練可以收斂,驗證集RMSE可收斂至0.711°,后驗結果表明了姿態測量網絡設計和訓練的可行性。

圖7 姿態測量網絡訓練曲線Fig.7 Training curves of attitude measurement network
卷積網絡在訓練中學習到圖像的底層至深層特征,并保留在卷積核權重中,將其中某些層可視化得到圖8。

圖8 姿態測量網絡(左)與ResNet101(右)權重可視化對比Fig.8 Comparison of weights visualization between attitude measurement network (left) and ResNet 101 (right)
圖8左側為姿態測量網絡卷積權重,右側為預訓練過的分類網絡ResNet101卷積權重,分別對兩個網絡Conv1~Conv5中的部分卷積層進行了可視化。縱向比較發現Conv1中64個卷積核提取圖像中點、線特征,Conv2、Conv3提取圖像邊沿輪廓特征,而Conv4、Conv5通過深層整合(Conv2~Conv5只顯示了前30個卷積核),能夠充分捕捉到圖像豐富復雜的紋理特征;橫向比較二者發現姿態測量網絡的卷積層參數在預訓練過的ResNet101卷積層上進行了微調,Conv1~Conv5層特征大體相似,只是由于空間非合作目標圖像為灰度圖像,整體顏色特征偏暗,可視化的結果證明遷移學習的可行性,預訓練過的卷積網絡適用于姿態測量任務。
輸入一張空間非合作目標圖像,可以查看圖像在特定特征提取層的輸出激活,如圖9所示。

圖9 各層輸出結果可視化Fig.9 Visualization of output results of each layer
圖9展示了輸入圖像在Conv2、Conv3層的激活輸出,將Conv層內某個通道的特定輸出激活提取并放大對比可以發現,網絡能夠提取出非合作目標局部特征。每層的1/2/3通道激活中,灰度高的區域為卷積核提取出的區域,灰度低的區域為卷積核不關注的區域,對比4通道原圖發現1/2/3通道分別能夠對非合作目標星體與支架上的橫向邊沿、柱狀噴嘴及形體上零部件和星體中間區域的矩形等特征進行有效提取,且網絡越深,提取出的特征更簡明抽象,并最終化為特征向量送入后面的姿態映射網絡中學習非線性映射關系F(x)。姿態映射網絡的參數可視化分別對應了特征向量到俯仰、翻滾、偏航三軸姿態角之間的映射關系。

圖10 特征向量與三軸姿態角的對應映射關系Fig.10 Mapping relationship between eigenvector and attitude angle of three-axis
按照表征學習觀點,特征提取網絡中的卷積層和池化層能夠對輸入數據進行特征提取,姿態映射網絡中的全連接層作用則是對提取的特征進行非線性組合得到輸出,即全連接層本身不具有特征提取能力,而是試圖利用現有的高階特征完成端到端的擬合。
實驗對比了不同遷移學習方法以及不同特征提取網絡在姿態測量任務中的性能差異。

表4 不同遷移學習方法訓練結果對比Table 4 Comparison of training results of different transfer learning methods
訓練結果證明采用各層微調和“淺層固定+高層微調”的方法模型能夠收斂,且后者精度更高,證明遷移學習方法可行性,以及固定淺層參數避免過擬合方法的有效性。以標準差σ作為網絡性能的評價標準。圖7中RMSE曲線中的虛線表示網絡在驗證集上的標準差。圖11分別展現了兩種遷移學習方法標準差結果:兩種方法1σ誤差都在1°內,3σ誤差在2°內。但其中紅色離群點分布明顯采用“淺層固定+高層微調”方法更優。具體誤差分析如表5、表6所示。

圖11 三軸誤差分布Fig.11 Error distribution of three-axis

表5 各層微調驗證集結果(基于ResNet101)Table 5 Validation results of fine-tuning on each layer (based on ResNet101)

表6 淺層固定+高層微調驗證集結果(基于ResNet101)Table 6 Validation results of shallow layers freezed+fine-tuning on deep layers(based on ResNet101)


圖12 部分測量結果Fig.12 Parts of the measurement results
由于空間非合作目標姿態估計工作最終需要在軌進行,因此卷積神經網絡尺寸大小以及檢測時間決定了網絡能否部署在嵌入式系統以及進行在軌實時檢測。本文對比了ResNet101、ResNet50、ResNet18、MobileNet_V2的網絡大小、檢測精度和檢測時間,如表7所示。
本文利用測量精度相對較高的ResNet101網絡測量姿態角精度為0.711°,優于文獻[16]中的平均誤差2.68°、文獻[20]中的平均誤差7.3°以及文獻[6, 18]中的精度2°;與文獻[16-18]相比,將姿態測量問題轉化為回歸問題而非分類問題,可得到連續準確的姿態角輸出。橫向比較不同的卷積神經網絡可以看出,通過刪減卷積層或提出新型網絡結構后的輕量化網絡尺寸更小、平均檢測時間更短,但會損失一定的檢測精度。本文算法不需要依賴于非合作目標人工特征的提取和匹配,而是對整幅圖像底層邊沿特征至高層抽象特征自動提取,相對而言此方法可用于各類型的非合作目標,且能夠通過完善訓練集來提高姿態測量精度和魯棒性。

表7 不同預訓練網絡測量結果對比Table 7 Comparison of measurement results of different pre-training networks
本文給出了一種空間非合作目標姿態測量的方法。針對單目相機獲取的圖像,利用卷積神經網絡對衛星姿態進行估計,標準差為0.711°,單幅圖片的檢測時間可達0.02 s。輕量化網絡的檢測精度雖有一定損失,但在模型存儲大小和檢測時間上存在明顯優化,根據任務需求不同選取不同的卷積神經網絡。本文方法在精度和檢測時間上也優于一些既有的傳統算法,且無需人工設計特征提取和特征匹配步驟。驗證了利用“單目相機+卷積神經網絡”方法進行空間非合作目標姿態測量的可行性。