高有濤,劉靖雨,王兆龍,李木子,孫 俊
(1.南京航空航天大學 航天學院,江蘇 南京 210016;2.上海航天控制技術研究所,上海 201109;3.上海市空間智能控制技術重點實驗室,上海 201109)
1975 年,KAU[1]在其論文中提出了通過人工選取地面線型地標進行導航的方法。但是由于數據過于龐大,人工選取容易使得地面地標精確度不高從而導致衛星導航存在嚴重誤差。LEVINE 等[2]基于擴展卡爾曼濾波(EKF)方法建立了針對已知地標和未知地標的軌道確定算法。文獻[3]在此基礎上提出了在衛星拍攝的多幅連續圖像中捕捉相同的點作為地標景物。國內,朱寧龍[4]提出了一種基于海岸線輪廓的遙感影像定位,通過改進的曲線形狀簽名和優化匹配算法實現海岸線曲線匹配,完成近海域衛星遙感影像定位。楊博等[5]提出了一種地標自主導航的高精度地標庫建立方法,該方法采用全球地標點選取的原則,并且通過計算機仿真驗證了該方法的有效性。李木子[6]通過中心投影幾何原理建立觀測模型,并且借助濾波算法構建完整的自主定軌算法,同時分析了晝夜變化和云層遮擋等光照因素對自主定軌的精度影響。
本文提出了一種不預先標定地標點的自主定軌方法,該方法將獲得的遙感圖像先通過深度學習獲得目標區域,縮小圖像范圍,之后將縮小圖像范圍進行圖像匹配,通過匹配獲得像平面特征點,記錄該特征點在實拍圖像和標稱圖像中各自的像平面坐標。通過該點在標稱圖像中的像平面坐標,結合標稱軌道衛星的位姿信息,獲得該特征點的地理坐標。將該地理坐標與其在實拍圖像的像平面坐標作為觀測信息用于之后的濾波算法,最后利用擴展卡爾曼濾波算法實現衛星自主導航。
本文提出的一種不預先標定地標點的遙感圖像自主導航方法,流程如圖1 所示,其自主定軌流程步驟如下:

圖1 無控制點自主定軌流程Fig.1 Autonomous orbit determination process without landmark points
步驟1獲得位于標稱軌道運行的遙感衛星拍攝的遙感圖像,記錄拍攝圖像時衛星的位置和姿態信息,該圖像作為圖像匹配的標稱圖像。
步驟2基于衛星實拍的遙感圖像,利用深度學習識別出待匹配區域,縮小圖像匹配計算量,加快運行時間。
步驟3利用圖像匹配,將其與標稱圖像進行匹配,得到匹配點在各自圖像中的像平面坐標。
步驟4結合標稱軌道衛星拍攝時的位姿信息以及相機參數,計算出匹配特征點在J2000 坐標下的坐標。
步驟5將步驟4 中計算出的坐標與實拍圖像中的像平面坐標結合作為觀測資料,用于最優濾波估計,獲得衛星的軌道信息。
由于遙感數據巨大,因此,首先需要進行目標識別將圖像匹配減少在一定區域內進行,可以減少計算量并且加快運行速度。對于該方法而言,用于觀測資料的地理坐標并不是事先存入的,而是通過事先存入的拍攝標稱圖像衛星的位姿信息,通過幾何模型計算得到的。相較于有控制點來說,該方法會有更多的觀測資料。因為通過圖像匹配出的特征點即可作為觀測資料使用,而非在圖像上尋找事先規定的控制點。由于地理坐標為通過幾何模型計算獲得,因此,地理坐標不可避免地存在一定誤差,圖2 展示了這兩種方法的區別。

圖2 兩種定軌方式比較Fig.2 Comparison of two autonomous orbit determination schemes
遙感圖像數據巨大,僅單幅遙感圖像分辨率就達到104×104甚至更高,考慮到衛星在軌運行的實際情況,利用遙感圖像進行自主定軌,這就要求在盡可能短的時間內處理圖像,且從圖像中獲得所需信息。
因此,本文嘗試引用機器學習進行目標檢測,一方面可以縮小圖像尺寸,將其規定在較小尺寸內完成匹配,實現加速效果;另一方面由于基準圖像和實拍圖像會存在海岸線或者季節更替帶來的地面景物差異這一問題。為了避免這種差異帶來的定軌誤差,引入特征點匹配而非海岸線輪廓匹配的方法。由于最后的特征匹配在識別出的地標景物圖像中完成,且地標景物一般在較長時間內不發生顯著變化,因此,可以滿足衛星長時間自主定軌任務需求。
目標檢測的任務是在圖像或視頻中尋找出興趣物體,并且檢測出它們的位置和大小,這是機器視覺領域中主要需要解決的兩個問題。
圖像或視頻在檢測過程中,由興趣物體數量、外觀、形狀以及成像時的各種干擾帶來的問題,會導致檢測算法在構造時有一定的難度,與此同時這也給最后檢測的準確率帶來了不小的挑戰。
深度學習方法被提出以來,目標檢測的發展方向主要集中在one stage 算法和two stage 算法這兩個方向上。前者主要是以YOLO[7]、SSD 等算法為代表,該方法主要是基于深度學習回歸,即放棄提取候選區域和區域網絡候選,而是直接在一個網絡中進行回歸和分類,由于減少一個網絡帶來的部分重復計算,因此,在速度上得到了提升;而two stage則是通過提取候選區域并且在相應的區域上進行物體檢測,典型的算法為R-CNN 系列。
YOLOv3[8]使用darknet-53 網絡結構,該結構由53 個卷積層構成。YOLOv3 利用殘差結構,該結構能夠在增加網絡深度的情況下,有效減少模型訓練的計算量。YOLOv3 在進行目標檢測時,主要有調整圖片大小、卷積網絡運算和非極大值抑制3 個過程構成。該算法采用一個CNN 網絡實現檢測,在3 層采用多尺度預測,每層S×S個網格上,分別采用13×13、26×26 和52×52 三個不同尺度進行預測,每個單元負責檢測中心落在該單元格內的目標。最后通過非極大值抑制,在多個預測框和多個類別得分中返回最終的預測框和類別信息[9]。
硬件使用Intel?i7-8750h處理器,1070顯卡,16 GB 內存,軟件為Windows 10 64 位操作系統。基于Darknet 深度學習框架在下對YOLOv3 網絡進行訓練。由于數據集限制,本文中的實驗僅對單一類別進行檢測從而證明該方法的可行性,選取的目標為鳥巢,檢測效果如圖3 所示,紅色框內成功識別出“鳥巢”這一興趣物體。

圖3 識別結果Fig.3 Detection results
對應的損失函數Loss 曲線如圖4 所示。圖中可見,訓練次數在4 500之后,平均損失函數曲線穩定在0.05附近不再繼續優化,因此,可以停止學習過程。

圖4 由YOLOv3 得到的平均損失函數曲線Fig.4 Average loss curve obtained by YOLOv3
在本文的仿真實驗中,圖像匹配是基于SURF[10]算法實現的。SURF算法是在SIFT 算法[11]基礎上的一種改進特征匹配算法,相比于SIFT 具有更快的匹配速度。SURF 中主要用到積分圖像的概念。積分圖像的定義是將任意像素點與坐標原點之間圍成的矩形區域內所有像素值相加得到一個新的值。
SURF 特征匹配主要由特征提取和特征匹配兩部分構成,其中,特征提取先構造Hessian 矩陣來生成尺度金字塔,生成所有興趣點。Hessian矩陣表示為

再對特征點進行定位,定位完成后以特征點為中心,根據特征點鄰域內的點在x、y兩個方向上的Haar 小波響應確定主方向。之后再生成特征描述向量,特征點所在的尺度圖像上,將特征點描述子方向調整為上一步檢測出的主方向;再以特征點為中心,將圖像劃分為4×4 個子塊,每個子塊再用2S(S為檢測出的特征點所在的尺度)的Harr 模板進行響應值計算,因此有4×4×4=64 維的特征數據。相比于SIFT 而言,減少了一半,因此,在特征匹配時,匹配速度被大大加快了。
特征匹配則是通過兩個特征點的SURF 特征向量的歐氏距離作為特征匹配相似性測度。設特征點PA和PB特征描述向量分別為Dva和Dvb,則兩點之間距離定義為

其過程可以概括為:利用匹配點搜索算法(如K-D樹算法、BBF 算法),找到與待匹配點距離最小和次最小的特征點,當最小距離與次小距離的比率小于預設閾值ratio 時(為保證匹配精度通常取0.4~0.6),則認為匹配成功。通過更改之前提到的Hessian 的閾值以及這里的比率閾值,留下特征最強的剩余點,因此,選取合適的Hessian 矩陣閾值可以改善匹配的精度。但是精度的提升隨之而來的是較為少的匹配特征點,閾值過小則特征點過多,會使得計算量增多影響匹配速度,同時閾值過小則可能檢測不出有效特征點造成漏匹配,使得沒有有效觀測資料,從而影響導航精度。
本文使用優化過后的SURF 匹配[12],從特征點中選取較好的匹配點,進一步滿足精度需求。本文的優化算法程序在遙感圖像中的應用以及在不同參數取值情況下的匹配結果如圖5~圖7所示。

圖5 Hessian=2 000,比率=0.8Fig.5 Hessian=2 000,ratio=0.8

圖6 Hessian=2 000,比率=0.4Fig.6 Hessian=2 000,ratio=0.4

圖7 Hessian=6 000,比率=0.4Fig.7 Hessian=6 000,ratio=0.4
像平面坐標系和世界坐標系如圖8 所示[13]。

圖8 像平面坐標和世界坐標對應示意圖Fig.8 Image plane coordinates and world coordinates
為了建立像點坐標與對應的地面控制點之間的聯系,首先對像點坐標在像空間坐標系與像空間輔助坐標系間的轉換關系進行如下描述:

式中:TI為相機的安裝矩陣;TA為從衛星體坐標系向物方坐標系的旋轉矩陣。因為像空間輔助坐標系與物方坐標系坐標軸平行,所以根據相似三角形對應邊長度比相同的原理可以得到

式中:(xg,yg,zg)為地面控制點坐標;(x,y,z)為投影中心坐標,在該問題中等價于衛星位置坐標。因此可以得到描述投影中心位置坐標、地面控制點坐標和對應的像點坐標的關系式:

(a11,…,a33)為(TAT1)?1矩陣中對應的元素。
將需要進行自主定軌的衛星在運行過程中拍攝得到的圖片稱為實拍圖像,若要將式(5)中的信息用于濾波進行自主定軌,則需要得到實拍圖像中的某特征點(u,v)以 及其對應的控制 點(xg,yg,zg)在J2000 坐標系下的坐標。
考慮在軌衛星的實際應用情況,圖像匹配速度應該足夠快,將整張實拍圖像用于特征匹配不符合實際,因此,引入之前測試過的YOLOv3 先對實拍圖像進行目標識別,獲取目標區域。之前驗證通過的鳥巢驗證了YOLOv3 在遙感圖像上對區域的識別。事實上,對標準圖像(如圖9(a)所示)同樣進行目標識別可以有效加快匹配速度和減少誤匹配率,其中,標準圖像是由確定相機參數、位置和姿態的遙感衛星拍攝獲得。
若有目標區域生成(如圖9(b)所示),利用SURF 算法,再將該區域去和標準圖像進行特征匹配。該標準圖像上的任意一點(u1,v1)以及對應的地面特征點坐標(xg,yg,zg)可由式(5)算得,通過進行的SURF 特征匹配,將該地面特征點坐標賦給在目標區域中的匹配點(u2,v2),這樣就獲得了一組觀測數據(u2,v2) ?(xg,yg,zg)。

圖9 觀測資料獲取結果Fig.9 Results of observation data
圖9 可見,匹配點并不在鳥巢本身上,而是在周邊的對應景物上,這主要是由于數據集的分辨率不高導致的,無法針對建筑物本身的特點完成匹配。事實上,現在的遙感衛星相機(如world-view3)已經可以做到0.5 m 的分辨率成像,因此,在特征匹配上會更加準確并且有更多相匹配的點。考慮到誤差等因素,將該地面特征點在三軸上各加上20 m 的誤差用作觀測資料在接下來的導航仿真中使用。
由于實際應用應使得圖像處理速度盡可能快[14],將兩種方法所需的時間進行了對比。對于目標識別+匹配這一方法來說,進行匹配的圖像尺寸得到了大幅縮小,匹配結果見表1,可以看出匹配速度明顯加快。

表1 圖像處理時間對比Tab.1 Comparison of image processing time ms
事實上,這里的圖像匹配用的圖像還是實際拍攝圖像的處理圖,將原來104×104的圖像處理成2 000×2 000 左右,即使這樣仍需要4 438 ms。但是,本文所述的方法使用時間為731.067 ms,相比僅采用圖像匹配的單一方法,圖像處理的速度得到了極大的提升。
坐標系選取J2000 地心赤道慣性坐標系。攝動量僅考慮地球非球形引力攝動J2 項、三體問題的日月引力攝動以及大氣阻力攝動,系統的狀態方程為

式中:x、y、z分別為衛星三軸的位置;xsun、ysun、zsun為太陽的三軸位置;xmoon、ymoon、zmoon為月亮的三 軸位置;rxsun、rxmoon分別為衛星與太陽和月球之前的距離;rsun、rmoon分別為地日距離和地月距離;vx、vy、vz分別為衛星的三軸速度;μearth、μsun、μmoon分別為地球、太陽和月亮的引力常數;J2為攝動系數;vrel為航天器相對于大氣的速度;vrel|x、vrel|y、vrel|z為速度矢量vrel在地心慣性坐標系上的3 個分量;S/m為面質比;ρ為大氣密度;Rv為地球平均半徑。
根據之前的像點與世界坐標的幾何關系可以建立定軌觀測模型,該觀測模型的具體表達式如下:

式中:η為二維測量誤差,根據之前的式(5)可以進一步推得該觀測模型下的測量矩陣為

關于衛星初始時刻狀態見表2。

表2 仿真初始條件Tab.2 Initial conditions of simulation
關于地面圖像定軌仿真誤差參數見表3。

表3 仿真誤差參數Tab.3 Error parameters of simulation
如果我們不考慮光照條件約束,默認任意時刻的遙感圖像中均包含濾波所需要的觀測信息,在整個仿真周期內(1 d)的自主導航的誤差如圖10和圖11所示。

圖10 不考慮光照條件約束的位置狀態量誤差圖Fig.10 Position state errors without illumination constraints

圖11 不考慮光照條件約束的速度狀態量誤差圖Fig.11 Velocity state errors without illumination constraints
具體的位置速度誤差見表4。從表中不難看出,相比于事先標定地表點這一有控制點的方法,無控點由于根據成像模型解算的地面點存在一定的位置誤差,因此自主導航的精度稍顯不足。

表4 無光照約束位置速度平均誤差Tab.4 Average position and velocity state errors without illumination constraints
然而考慮到光照約束,即衛星處在背陽面運行時,衛星拍攝獲得的遙感圖像無法獲得任何有效觀測信息;以及當衛星在海洋、森林上空運行時,拍攝獲得的該類景物遙感圖像由于不存在明顯的差異,因此無法通過圖像匹配獲得有效特征點。所以整個仿真過程采用擴展卡爾曼濾波[15]和動力學積分相結合,在有觀測資料讀入的情況下通過卡爾曼濾波解算當前位置最優解,如果沒有觀測資料讀入則采用動力學積分,直到有觀測資料讀入。
該次仿真中的衛星默認對地定向,保持三軸穩定。假設衛星每30 s 對地成像一次,判斷成像時的衛星是否處于地球陰影之中,如果處在地球陰影之中則認為無導航信息,否則認為成像成功,對于成像成功的時刻來說,引入比例系數20%,即考慮天氣或者云層遮擋等因素,仍有20%的情況下無法獲得有效導航信息。對于無導航信息的衛星來說,動力學積分至下一成像時刻判斷是否有觀測資料讀入。
所有的仿真均在J2000 坐標系下完成,仿真時長為1 d。其中,位置量和速度量與標稱軌道的誤差如圖12 和圖13 所示。

圖12 考慮光照約束的位置狀態量誤差圖Fig.12 Position state errors with illumination constraints

圖13 考慮光照約束的速度狀態量誤差圖Fig.13 Velocity state errors with illumination constraints
為了探究在利用事先無標地面控制點進行自主定軌下的精度水平,設置1 組仿真進行對照,該對照仿真在事先標定地面控制點的情況下進行自主定軌。相比于無控點,該方法有更為精確的地面控制點坐標,但是觀測資料的數量會大大減少,上面的仿真結果圖已經展示了兩者的區別。
可以看出,位置誤差在100 m 的范圍之內震蕩,而速度誤差則在0.1 m/s 的范圍之內震蕩,這是因為觀測資料不連續造成的。本文中的衛星繞地1 圈需2 h 左右,而有觀測資料的時間僅為15 min左右,剩下的時間衛星軌道均在動力學積分下完成,在濾波與積分之間的切換導致在每段濾波初始時刻存在一定誤差,從而造成了位置和速度誤差的震蕩。
用平均誤差比較兩種導航方式的精度,具體結果見表5。從表5 中可以看出,對于無控制點的圖像導航來說,1 d 內的平均位置誤差為31.943 8 m,平均速度誤差為0.038 4 m/s。事實上由于所建動力學模型積分下的軌道與其對應參數在STK 軟件中生成的標稱軌道有著不小的誤差,因此,如果積分模型能夠更接近衛星的動力學模型,這個誤差可以得到進一步的縮小。

表5 考慮光照約束的位置速度誤差Tab.5 Position and velocity state errors with illumination constraints
相比于基于有控制點的地標導航來說,無控點通過模型計算出來的控制點與事先標定的控制點存在一定的誤差,且在圖像匹配的像素精度上也有一定差距,但是基于無控點的自主定軌有更多的觀測資料讀入,彌補了地面控制點在精度上的不足。
兩者相比具有較為接近的自主定軌精度,無控點在位置速度精度上都略有優勢,這是由于更多的觀測資料帶來的。更多的觀測資料使得衛星在動力學積分下的累計誤差得到很好的減弱,因此,精度得到了更一步的提升,導航位置精度和速度精度分別提升了21.64%和19.33%,且該方法省去了事先標定高精度地標點的過程,更易于實際的使用。
接下來比較兩種方法在第1 段濾波下而非整個定軌時長下的誤差,觀察地面點的精度在濾波過程中的誤差,見表6。值得注意的是,無控點的濾波時間是長于有控制點的,與兩者結合的方法濾波時間則相同。

表6 僅濾波弧段下位置速度誤差Tab.6 Position and velocity state errors in filtering arc
從表中數據可以看出,無控點由于地面標志點精度的誤差,與有控點相比,平均位置誤差在10 m左右,平均速度誤差為0.016 m/s 左右,證明了該方法在濾波階段的精度可行性,并且更多的觀測資料可以使得在僅動力學積分的情況下累計誤差得到縮小。考慮到無控點的觀測資料和觀測時間均多于有控制點這一情況下,不妨將這兩者進行結合,即如果在圖像中檢測到事先標定的地標點則采用該地標點作為濾波的觀測資料,而不存在地標點時則采用本文所講的無控點方法作為觀測資料。具體的第1 濾波段下的平均誤差結果在表5 中已經給出,而其在整個仿真周期內的位置速度誤差則為29.359 4 m 和0.035 3 m/s。不難看出,該方法的自主導航結果最優,因此,在實際應用中可以考慮使用該兩者結合的方法。
事實上,在僅采用圖像信息進行自主導航的情況下,由于動力學方程的不準確,不可避免地會造成一定程度的定軌精度發散;又或者在圖像設備出現故障時,仍應保障其自主導航的正常運行。因此,嘗試引入星敏感器帶來的測角信息,與圖像信息結合幫助衛星完成自主導航,具體數值上的誤差見表7。

表7 引入測角位置速度誤差Tab.7 Position and velocity state errors with angle measurement
仿真結果如圖14 和圖15 所示。在引入測角信息共同構成觀測量后,相比于單測角信息,測角與圖像這一方法的結合能夠提高自主導航精度,這里采用的是上述無地標與有地標相結合的方法。

圖14 仿真位置狀態量誤差圖Fig.14 Position state errors obtained by simulation

圖15 速度狀態量誤差圖Fig.15 Velocity state errors obtained by simulation
本文針對基于遙感圖像的衛星自主定軌,提出了一種無地面標志點的自主定軌方法。該方法在利用深度學習的基礎上實現圖像識別,從而進行特征匹配完成自主導航。這一方法既能充分利用基于遙感圖像的自主定軌的優勢,在引入測角信息后又能實現長期的自主定軌,為航天器自主定軌提供了一種解決思路,且該方法的自主定軌精度相比有地面標志點的自主定軌精度有較大提高。該方法的定軌精度與特征點的在軌解算精度有關系,如果地面特征點通過幾何模型能夠解算得更為精確,則自主導航精度會得到進一步的提高。