符 俊, 牟金震, 朱文山, 韓 飛, 盛延平
(1. 北京跟蹤與通信技術研究所,北京 100094;2. 南京航空航天大學航天學院,南京 2111062;3. 上海航天控制技術研究所,上海 201109)
獲取非合作慢旋衛星的準確模型信息是實現失效衛星清理、維修和捕獲任務的前提。因此,非合作慢旋衛星的三維稠密重建技術是非常必要的[1]。對于非合作衛星重建,一種解決思路是在位姿估計的同時重建目標的模型,因此研究者將SLAM技術應用到非合作目標重建中。Augenstein[2]提出一種單目視覺的SLAM算法,用于未知目標的姿態跟蹤和模型重建。Schnitzer等[3]基于RANSAC的表面重建方法生成未知目標的模型,該方法對于噪聲、稀疏點云以及非均勻分布的點云的情況仍能取得較好的表面重建結果。Tweddle等[4]基于平滑濾波的SLAM解決翻滾非合作目標模型重建問題。Dor[5]將ORB-SLAM算法用于空間非合作目標的稀疏重建。另一種思路是采用攝影重建方法[6-9],核心思想是利用因式分解法,從2張圖像恢復出場景的幾何結構和攝像機運動信息。此外,Furukaw[10]提出基于面元的三維多視角立體視覺算法。文獻[11-14]提出一種基于序列圖像的空間目標三維重建方法,能夠輸出衛星帆板部位的結構信息,但重建結果缺少表面紋理。以上文獻[2-13]重建的目標模型非常稀疏,無法清晰辨別出衛星的關鍵部件,此外無法應對旋轉帶來的模型失效問題。文獻[14]采用激光雷達能夠實現衛星稠密重建,但激光雷達的成本、功耗較高。王思啟[15]提出一種基于MVSNet的空間目標三維稠密重建的方法,但無法處理旋轉衛星問題。因此,非合作旋轉衛星的稠密三維重建仍然是一個難題。
近年來,TOF相機已在三維重建領域得到了廣泛的應用[16]。TOF屬于主被動融合相機,能夠同時獲取目標的灰度圖和深度圖。其深度圖的獲取方式為主動發射調制激光,經目標表面反射到探測器后解調探測器與目標之間光的飛行時間,解算目標的深度。TOF相機無需掃描機構就能直接獲得目標的深度信息和灰度信息,具有功耗低、實時性好等優點,有可能成為未來非合作衛星三維重建的一種有效手段。因此,基于TOF實現非合作慢旋衛星的稠密重建依然值得研究。
綜上所述,非合作旋轉衛星三維稠密重建的難點在于[17-18]:1)旋轉過程中的圖像尺度變化,傳統特征缺少對旋轉運動的適應性;2)衛星屬于對稱結構,旋轉過程中無法確定閉環,導致模型失效問題;3)星載資源受限,三維稠密重建過程中需要考慮實時性問題。針對以上難題,基于ORB-SLAM框架,提出基于TOF的非合作慢旋衛星稠密重建方法。通過改進ORB特征的提取方法、設計關鍵幀篩選機制及提出子模型拼接重建等措施將ORB-SLAM擴展到旋轉衛星稠密重建領域,并基于仿真環境和半物理環境分別驗證方法的有效性。本文的創新點在于:1)提出預先檢測與自適應閾值方法,解決ORB特征缺少適應性及聚堆現象;2)提出利用兩個運動度量方法來確定關鍵幀,解決旋轉衛星重建出現的模型失效問題;3)提出子模型重建方法,解決系統實時性低問題。
ORB-SLAM方法能從視覺相機獲取的連續圖像中估計關鍵幀的位姿,同時由關鍵幀計算得到目標重建模型。其選擇ORB 特征進行位姿跟蹤與稀疏重建[19],使用g2o (general graphic optimization)圖優化方法優化位姿[20],同時使用視覺詞典實現閉環檢測[21-22]。位姿跟蹤對每幀圖像的相機位姿進行定位,并決定何時插入新的關鍵幀。閉環檢測判斷新插入的關鍵幀是否使得所有關鍵幀形成閉環,如果形成閉環則應用捆集約束進行優化。為此,本文研究了如何將ORB-SLAM擴展到非合作旋轉衛星稠密重建領域,方法流程見圖1。

圖1 所提方法流程圖Fig.1 Flowchart of the proposed algorithm
特征點提取的快速性、描述子的尺度不變性和旋轉不變性是實現非合作旋轉衛星實時重建的基礎。ORB為了保證特征的不變特性,在多個尺度空間下對圖像特征點進行提取,并且賦予旋轉不變特性的描述子。為了保證特征匹配的尺度不變性,使用尺度因子將當前幀圖像轉換到8個尺度空間上進行FAST (features from accelerated segment test)角點提取[21-23]。因此,ORB算法特征適合于非合作旋轉衛星的特征提取,但原始ORB算法缺乏對尺度變化的適應性且提取的特征易出現聚堆現象,這會影響后續的匹配以及重建。
針對以上問題,本文改進了ORB算法步驟。在ORB算法中,檢測 M16 模板每一個點的灰度值,若M16 模板中有連續M=9個點的灰度值均大于Ip+T,則判定p為特征點。本文首先增加一個預檢測步驟,在M16模板中先檢測1,5,9,13 處的灰度值。特征點判定函數如式(1)
(1)
若1,5,9,13 處的灰度值均不滿足上式,則放棄此處的特征點,其中T=0.2×Ip為閾值;Ip為該點的像素值。若1,5,9,13 處的灰度值滿足上式,則再檢測剩余的12個點,若同時滿足式(1),那么就可以確定此處M16模板覆蓋的像素為真正的特征點。式(1)所使用的閾值T是根據當前亮度的百分比手動設定的一個固定值,當空間光照變化劇烈時可能會出現特征提取錯誤,因此閾值設計需要將Ip最大值與最小值情況剔除,進而本文提出一種自適閾值方法如式(2)
(2)
其中,Imax是M16所覆蓋的像素最大值;Imin是M16所覆蓋像素的最小值。至此ORB 算法具備了對旋轉目標尺度變化的適應性,且提取出的特征均勻,聚堆現象減少。
假定衛星以5 (°)/s自旋,TOF相機采用頻率大于10 Hz,因此在一個自旋周期內,將獲取大量的序列圖像,一方面存在大量冗余信息,另一方面降低重建速度。ORB-SLAM的關鍵幀方法可以減少冗余幀數,但其關鍵幀選擇機制使得相鄰的兩個關鍵幀的間隔太大,從而導致衛星重建過程中頻繁發生跟蹤丟失問題[23]。針對此問題,本文提出基于運動度量改進的關鍵幀選擇方法。所提的運動度量定義

(3)
其中,φ1表示平移運動度量;(Δx,Δy,Δz)是關鍵幀的平移量;φ2表示旋轉運動度量,(α,β,γ) 是關鍵幀的旋轉角;φ1與φ2由ORB-SLAM初始化后得到。基于此,本文采用運動度量的方法來提取關鍵幀,其思想是只有當相機在相鄰幀產生明顯的運動才把該幀視為關鍵幀,其計算公式如式(4)
minnorm≤φ1+min(2π-φ2,φ2)≤maxnorm
(4)
其中, minnorm表示圖像幀的最小運動,即當相鄰幀運動大于minnorm時則把該幀提取為關鍵幀;maxnorm為圖像幀的最大運動,即當其運動大于 maxnorm時,認為位姿估計錯誤,剔除該幀;φ1表示為關鍵幀的平移運動;φ2表示為關鍵幀旋轉角度。根據實驗經驗,minnorm和maxnorm分別取值為0.3和4。
利用光流法跟蹤每一幀關鍵幀的ORB特征[24]實現位姿跟蹤。光流法利用關鍵幀序列中ORB特征在時間域上的變化,求解衛星在圖像上的瞬時速度G=(u,v),(u,v)表示圖像坐標系下的坐標,從而計算出相鄰關鍵幀之間的姿態信息。假設ORB特征的光流運動微小,得到I(x,y,t)=I(x+dx,y+dy,t+dt),由一階泰勒展開,得
I(x+dx,y+dy,t+dt)=
(5)

(6)
對于ORB特征所占的N個像素點,則光流表示為
(7)
(8)
如果在當前圖像幀中跟蹤成功,則通過之前圖像幀的運動模型平均值來估計當前相機的位姿,然后重映射ORB匹配點估計其在當前幀上的圖像。兩幅圖像中,最小漢明距離的ORB特征被選為匹配點。如果跟蹤失敗,則利用ORB-SLAM的全局重定位估計相機位姿。
衛星一個周期的慢旋過程中,起點與終點的重合等效于ORB-SLAM的閉環,此時需要檢測閉環,在閉環基礎上位姿圖優化,降低累積誤差。本文利用關鍵幀的相互關聯性進行閉環檢測,這樣就可以將累積的誤差分散到位姿圖中。首先計算關鍵幀Ki的詞袋和其數據關聯視圖附近關鍵幀Kj的相似度S。
(9)
當Ki與Kj相似度越高,則S得分越高。當兩幅圖像無差異時S=1,則閉環存在。由于衛星旋轉的尺度變化等因素,S=1難以滿足,定義相似度閾值為Ts=0.1,當兩幅圖像的相似度得分滿足式(10),則閉環存在。
|S-1| (10) 接著利用g2o優化閉環位姿圖。最后更新重建點云,融合重復的點云。位姿圖優化的目標函數為[25] (11) 其中,Δi,j表示邊的信息矩陣;ei,j表示關鍵幀Ki與關鍵幀Kj之間的位姿誤差函數,由式(12)計算可得 (12) 其中,Xi,j表示關鍵幀Ki到關鍵幀Kj的位姿,Xw,j表示世界坐標系下的Kj位姿,Xw,i表示世界坐標系下的Ki位姿;logsim(3)將轉移矩陣的位姿誤差映射到7維歐氏空間R7,下標sim(3)表示李代數空間。式(11)~(12)的詳細推理過程中見文獻[26]。 在ORB-SLAM 系統中,將匹配的ORB特征通過三角變換投影形成三維點云,其重建的模型屬于稀疏模型[24-26]。針對此問題,本文利用TOF相機獲取的點云來增加三維模型的稠密度。衛星模型稠密重建時,點云數量逐漸稠密后,新加入的點云需要與已重建點云進行匹配,占用較大的計算機內存,從而會降低重建速度[27-28]。針對此問題,本文提出子模型拼接重建法,將整個大模型分成多個包含一定關鍵幀數量的子模型。當子模型規模達到了一定的程度(即一定關鍵幀數量時),將該子模型暫時保存起來,直到所有的子模型全部完成重建后,將所有的子模型通過全局坐標變換的方式拼接為完整的大模型[29-30],如式(13)~(15)所示。本文的子模型規模為30個關鍵幀。 ε= (13) 其中,ε表示最終由子模型組成的完整大模型;εi表示子模型;ρ=30表示關鍵幀數量,εi表示子模型的三維點云。 TOF相機將彩色圖和深度圖像轉換為三維點云如式(14) (14) 其中,fx,fy,cx,cy為相機內參,可通過張正有標定法獲得;(u,v)為圖像坐標系下的像素坐標;(x,y,z)為TOF相機坐標系下的坐標;d為深度相機測得像素點的距離,單位為mm;ζ為實際距離和理論距離d的比例系數,實驗中設置為ζ=1 000。從相機坐標系獲取的點云拼接到重建模型全局坐標系下的變換公式如式(15) Cw,j=Xw,ciCci,j (15) 其中,Xw,ci為第i個關鍵幀的位姿;Cci,j為在第i個關鍵幀在相機坐標系上的點云;Cw,j是全局坐標系的點云。 通過數學仿真校驗本文所提方法的有效性。衛星模型的本體長40 cm、寬30 cm、高60 cm,太陽能帆板長60 cm、寬為30 cm,衛星模型的包覆材料選擇反射系數較高的材質,載荷包括對接環、錐形螺旋天線及噴管等,如圖2所示。將衛星的CAD(computer-aided design,CAD)模型導入到Vrep(virtual reality educational pathfinders,Vrep)仿真環境,設置TOF相機的分辨率為640×480,采集速率為10 frame/s,設置失效衛星的自旋角速度設置為5 (°)/s,設置空間光照環境為高軌正常光照,通過表面材質的反射系數模擬真實圖像。數據采集過程中,設置衛星模型中心與相機光軸中心的距離分別為2.8 m與6.79 m,在每個距離下連續采集2 000張TOF圖像,其中深度圖序列與RGB圖序列一一對應,如圖3所示。 (a) 模型正面 (b) 模型背面 (c) 帆板 (d) 噴管 (e) 鍋形天線圖2 衛星模型Fig.2 The satellite model (b) 深度圖像序列圖3 基于Vrep的TOF圖像序列Fig.3 The acquired TOF sequences based on Verp 利用原始ORB-SLAM對序列圖進行三維重建,其重建結果如圖4和圖5所示。由重建結果可知,衛星模型的重建結果在2.8 m與6.79 m處均為稀疏點云,不能清晰反映出衛星的幾何結構、附件及紋理信息。此外,通過原始ORB-SLAM的時間記錄,在2.8 m處重建所需時間是5 min,在6.79 m處重建所需時間為4 min。 (a) ORB特征提取 (b) 稀疏重建(藍色為相機軌跡)圖4 原始ORB-SLAM在2.8 m處的稀疏重建Fig.4 Sparse reconstruction of the original ORB-SLAM at 2.8 m (a) ORB特征提取 (b) 稀疏重建(藍色為相機軌跡)圖5 原始ORB-SLAM在6.79 m處的稀疏重建Fig.5 Sparse reconstruction of the original ORB-SLAM at 6.79 m 利用改進后的ORB-SLAM對序列圖進行三維重建,其重建結果如圖6和圖7所示。由重建結果可知,衛星模型的重建結果在2.8 m與6.79 m處均為稠密點云,可以清晰反映出衛星的幾何結構、附件及紋理信息。此外,通過改進后的ORB-SLAM時間記錄,在2.8 m處重建所需時間是4 min,在6.79 m處重建所需時間為4 min。與原始ORB-SLAM的重建時間相比,在2.8 m與6.79 m處重建所需時間縮短到3 min。 (a) 模型正面 (b) 模型反面圖6 所提方法在2.8 m處的稠密重建Fig.6 Dense reconstruction of the proposed method at 2.8 m (a) 模型正面 (b) 模型反面 (c) 模型側面圖7 所提方法在6.79 m 處的稠密重建Fig.7 Dense reconstruction of the proposed method at 6.79 m 由圖8(a)可知,衛星自旋過程中,原始ORB特征存在聚堆現象。由圖8(b)可知,本文改進的ORB特征分布更加均勻,減少了聚堆現象。 (a) 在序列化圖像中,ORB的聚堆現象 (b) 改進后的ORB特征圖8 改進后的ORB特征減少聚堆現象Fig.8 The improved ORB features reduce clustering 利用本文所提方法完成TOF圖像序列三維稠密重建后,應用MATALB對此模型進行顯示和統計,其中在2.8 m處點云密度為927.7,在6.79 m處的點云密度為4 380.2,如圖9和圖10所示。在2.8 m處的點云密度比6.79 m處點云密度小的原因在于,TOF相機與衛星模型在2.8 m處存在較多的遮擋和視角受限,導致相機在臨近關鍵幀中不能將ORB特征全部投影為三維點云。通過表1中的數據對比,可以發現改進后的ORB-SLAM重建后的點云具有更好的完整性,可為后續在軌操控任務提供更加可靠的信息。 表1 重建后的參數對比 (a) 模型正面 (b) 模型反面 (c) 模型側面 (d) 模型下面 (a) 模型正面 (b) 模型反面 (c) 模型側面 (d) 模型下面 將本文所提方法與ORB-SLAM、文獻[5, 16, 23]進行對比,重建結果如表2所示。從表2可以看出,本文方法相比于文獻[16]所提的面元重建方法,在距離2.8 m與距離6.79 m兩種情況下,主體尺寸誤差均最小,且點云密度最高。文獻[5]在ORB-SLAM基礎上,改進了圖優化方法,因此在距離2.8 m與距離6.79 m兩種情況下,主體尺寸誤差、點云密度相比于ORB-SLAM均有所改善。文獻[23]在ORB-SLAM基礎上,增加了點線融合,因此在距離2.8 m與距離6.79 m兩種情況下,可以獲得半稠密的點云,因此主體尺寸誤差、點云密度相比于文獻[5]與ORB-SLAM均有所改善。本文在ORB-SLAM基礎上改進了ORB特征、關鍵幀和子模型,因此在距離2.8 m與距離6.79 m兩種情況下,與文獻[5, 23]相比,主體尺寸誤差、點云密度均有所改善。 表2 重建方法對比 在圖1基礎上,該測試系統布置于光學暗室,通過太陽光模擬器以斜照45°的方式照射在衛星模型上,以模擬真實的太空環境。太陽光模擬器包含光源、供電及控制電路等組成部分,其亮度、輻射面積、輻射光束尺寸均可人為調整,以便更為真實地模擬太陽輻射的準直性、均勻性和光譜特性。真實測試場景如圖11所示。本實驗中采用的衛星模型仿照嫦娥二號衛星的外觀,其與實際的嫦娥二號衛星的尺寸比例為1∶5。模型本體長、寬、高的尺寸為400 mm×400 mm×300 mm的立方體,附帶太陽能帆板橫向展開尺寸為600 mm×300 mm,觀測面安裝有直徑為250 mm的圓環狀特征。衛星本體及太陽能帆板的基底材料為亞克力板,總質量約為5 kg。模型本體外層噴涂高反光材料,以便模仿實際衛星本體在空間所具有的高反光特性;帆板噴涂藍色材料,以模仿實際太陽能帆板的顏色。所使用的TOF相機分辨率為320×240,視場角為60°×47°,焦距為5.52 mm,數據采集率為20 Hz。TOF相機距離衛星表面的距離約3 m。利用本文所提方法的重建效果如圖12所示,TOF相機從4個位置分別低目標進行重建,重建的目標基本覆蓋了衛星的所有部組件,重建精度如表3所示。由表3可知,TOF相機正視衛星視角的重建精度相對其他3個視角較高。此外,通過對比表1可知,半物理驗證與數學仿真的重建誤差相當。 (a) 末端 (b) 遠端圖11 半物理仿真環境設置Fig.11 Semi-physical simulation environment (a) 正視 (b) 俯視 (c) 斜視 (d) 側視圖12 半物理場景下的重建效果,粉色框表示相機的位置Fig.12 Reconstruction in semi-physical scene with the pink box showing camera position 表3 重建精度 本文提出基于ORB-SLAM框架的TOF圖像序列三維重構方法,在衛星自旋過程中,TOF相機利用關鍵幀跟蹤衛星并且重建出衛星的稠密模型。所提方法考慮了衛星的旋轉特性、空間光照特性及星載資源受限問題。仿真實驗表明,本文所提方法能夠實現長時間穩定地工作,快速重建出衛星模型的稠密點云,保留了目標的紋理特性,且點云完整性得到較大的提升。但是受光照條件影響,點云模型存在較多空洞或缺損,點云重構誤差較大。因此,如何保證高重建精度將是未來研究工作的重點。1.5 輸出稠密模型
2 仿真校驗
2.1 數學仿真



























2.2 半物理驗證







3 結論