狄榮育,馬曉珊,李廣運,彭曉東,3
(1. 中國科學院國家空間科學中心,北京 100190;2. 中國科學院大學,北京 100049;3. 中國科學院大學國科大杭州高等研究院,浙江 杭州 310024;4. 中國兵器科學研究院,北京 100089)
隨著航天技術的發展與應用,人類對空間的探索及活動已經日益頻繁、深入。大量人造衛星發射升空,成為了經濟社會發展不可或缺的一部分[1][2],同時也使得空間環境中除了仍在工作的航天器外,還遺留了很多空間碎片。航天器在軌狀態調整、受損航天器維修、失效航天器回收、空間碎片主動清除等空間操作對空間目標成像仿真提出了迫切的需求。
空間目標成像仿真是涉及多學科多技術領域的復雜系統仿真問題。國內外很多研究團隊分別基于計算機圖形學和遙感物理模型研發了多種仿真系統,比如美國空軍研究實驗室設計的高級跟蹤時域分析仿真軟件[3](The time-domain analysis simulation for advanced tracking,TASAT),美國波音公司開發的基于OpenGL的衛星可視化信號仿真系統[4](the Satellite Visualization and Signature Tool,SVST),中國科學院大學許興星等[5]基于OpenGL建立的空間目標天基觀測仿真系統。2004 年,Matt Pharr 等人[6]設計了一種基于物理渲染的開源離線渲染器(Physically Based Rendering Toolkit,PBRT),采用高效的光線追蹤算法,能夠進行高逼真度場景的高精度計算,充分考慮了對定量遙感至關重要的材質方向反射/透射等特性,同時支持外部物理模型接入,從而實現了基于物理的高精度高效渲染,在光學成像仿真方面具有很強的應用潛力。由于PBRT在輸出仿真結果時采用以視覺逼真為主的RGB三通道方式,響應函數選擇國際照明委員會CIE提出的XYZ色度系統的三刺激值曲線[7],這種做法與空間光學相機的光譜響應曲線并不相同,無法滿足多光譜/高光譜相機的仿真需求。本文基于2015年發布的PBRT-V3渲染器[8],針對空間目標成像需求進行修改,實現多光譜成像仿真,為面向空間操作的智能算法研究提供模擬圖像源。
PBRT的仿真流程如圖1所示[9]。首先將目標的三維模型和材質信息文件通過obj2pbrt.exe轉成目標模型描述文件,加入光譜數據并調整材質信息完成實體配置;利用軟件接口,對成像系統參數進行配置,包括目標、光源、相機的位置信息以及積分器、采樣器、光線追蹤深度等仿真參數,所有參數以鍵值對的形式設置及存儲,一個關鍵字對應著相應的數據;調用主程序后,對所有參數進行讀取、解析和關鍵字處理,從而創建場景、啟動渲染,調用光線追蹤模塊,最后得到仿真圖像。

圖1 PBRT仿真流程
PBRT基于光線追蹤算法的渲染流程主要包括三重循環:首先將圖像分為若干個矩形塊并行渲染;針對具體圖形塊,逐像素點循環計算;針對每個像素點,進行多次采樣,每次采樣進行一次光線追蹤,并計算當前像素點上的此次采樣點上的輻亮度。
單一像素的光線追蹤流程如下:首先通過采樣器在一個像素上選擇光線發出點,再通過相機抽象類生成追蹤光線;檢測場景中是否有三角面片與光線相交,沒有則返回環境光的值;檢測到相交后,根據材質類型,計算相應的反射率;遍歷所有光源,判斷是否有遮擋,計算光照量;對每次采樣點的輻亮度值進行加權求和。
當一個圖形塊中所有像素均完成光線追蹤并且計算到輻亮度貢獻值后,將所有像素合成一個圖形塊,當所有圖形塊均計算完成,則輸出圖像。
PBRT為實現物理上的正確渲染,對定量遙感中的光譜特性進行了充分考慮,提供了兩種表示光譜功率分布(Spectral Power Distribution,SPD)的方法:RGBSpectrum和SampleSpectrum。其中,RGBSpectrum是計算機圖形學中最常用的RGB表示法,SampledSpectrum則是通過指定波長區間上若干離散的采樣點來表示SPD。為實現多光譜成像仿真并分波段輸出仿真結果,本文選用SampleSpectrum類型。
在SampleSpectrum類型下,設置光譜采樣開始的波長位置、光譜采樣結束的波長位置、光譜的分段數。同時設置仿真場景中所有材質類型在上述光譜區間內的反射、折射或散射特性,即可開始仿真。由于PBRT最初是基于計算機圖形學的渲染,在仿真過程中采用從光譜到RGB的轉換方法,將場景中光源和所有物體的光譜輻射或反射通過CIE標準色度系統轉換為三刺激值,最終通過三個通道進行輸出或合成。常用的兩種標準色度系統為CIE1931和CIE1964,分別針對2°和10°觀察者視場給出光譜三刺激值曲線。基于上述標準的三刺激值可以分別通過式(1)和式(2)進行計算[7]

(1)

(2)

(3)

(4)
其中x2(λ)、y2(λ)、z2(λ)分別代表CIE1931的光譜三刺激值曲線;x10(λ)、y10(λ)、z10(λ)分別代表CIE1964的光譜三刺激值曲線;φ(λ)為顏色刺激函數,光源色的φ(λ)等于光源的光譜輻射功率函數P(λ),物體色的φ(λ)等于光源光譜輻射功率P(λ)與物體自身光譜反射比ρ(λ)的乘積,Δλ表示波長的采樣步長,k2和k10分別為CIE1931和CIE1964標準色度系統的歸一化系數,可分別由式(3)和式(4)求得[7]。
上述CIE標準色度系統是針對人眼在不同波段的響應曲線,波長采樣范圍為360-830nm,僅能輸出符合人眼視覺的RGB彩色合成圖像,并不適用于光學相機成像仿真。為實現多光譜分波段成像仿真,需將基于標準色度系統的光譜三刺激值曲線修改為探測器光譜響應曲線,則從光譜到探測器響應的計算如下式

(5)

(6)
其中:λB和λE分別表示探測器光譜響應范圍的起始和終止波長。c(λ)為探測器的光譜響應曲線,k為歸一化系數,由式(6)進行計算。
基于仿真前設定的SampleSpectrum類型的光譜范圍和譜段數量,針對每一個光譜段,在合成圖形塊時,將該波段內計算得到的輻亮度值進行累加,并添加數組存儲累加結果,即可實現所有波段的仿真,最后將所有波段的輻亮度值累加結果進行輸出,可獲得全波段仿真圖像,即實現了一次仿真得到多張仿真圖像。
本文針對近地空間目標開展多光譜圖像仿真。首先對空間目標建模,生成目標模型描述文件,添加所有材質的光譜數據,完成目標模型實體配置,隨后配置成像系統仿真參數,構建空間目標場景,最后啟動光線追蹤渲染過程,得到多光譜分波段仿真圖像和真實軌道下的仿真圖像序列。
空間目標使用3D Studio Max軟件進行建模,采用.PNG格式貼圖,并導出.OBJ格式的三維模型及對應的.MTL格式的材質庫文件。材質庫包含根據不同名稱所區別的多種材質,材質指定了漫反射、高光、環境反射的RGB定義值,以及折射、鏡面反射、透明度等其它特征。
本文構建的空間目標三維模型如圖2所示,在該模型上使用的材質如圖3(a-d),分別對應衛星主體、發動機、太陽能帆板、中繼天線。

圖2 空間目標三維模型

圖3 空間目標三維模型材質圖
在幾何建模的基礎上還需配置光譜特性。每一種材質均需配置準確的光譜信息。PBRT提供了多達15種材質類型,針對衛星模型,主要使用金屬(Metal類型)、金屬和非金屬混合(Disney類型)兩種模型。對于金屬材質(如衛星本體)采用Metal類型,對折射率(eta)、吸收系數(k)、粗糙度(roughness)等關鍵參數進行設置。對于金屬和非金屬混合的材質(如太陽能帆板)采用Disney類型,關鍵參數包括材質的底色(color)、折射率(eta)、金屬度(metallic)等。
在近地空間場景中主要光源為太陽,太陽輻射可被認為是溫度為5900K的黑體輻射。由普朗克定律[10],用于測量黑體發出的輻亮度的公式為:

(7)
其中λ表示波長(nm),T表示黑體溫度(K),T=5900K,K為溫度單位開爾文,c為光速,c=299792458(m/s),h為普朗克常量,h=6.62606957×10-34(J·s),kb為玻爾茲曼常數,kb=1.3806488×10-23(J/K)。
對于近地衛星,太陽可以被認為是一個定向光源(實際上是面光源),由于距離遠,照明以平行光束到達衛星。針對這一特性,在PBRT主函數中選擇distant光源。該光源實例主要參數有光源位置、光源照射位置、光源亮度,由于該場景中光源為黑體,所以光源亮度通過AddBlackbodySpectrum("L", T, scale)添加為黑體,T為黑體溫度,scale為比例因子。
PBRT提供多種相機類型,每種類型提供多種配置參數,包括口徑、焦距、視場角等關鍵參數。本文采用高分二號全色相機,對相機模型各參數進行設置。該相機的光譜響應曲線,如圖4所示,光譜范圍為400-1000nm。

圖4 高分二全色相機光譜響應曲線
本文仿真過程中涉及到的部分參數如下表所示。設定光源、目標衛星以及觀測相機的放置位置,同時為了更好的測試對目標細節的仿真能力,設定較短的觀測距離,從而使目標在仿真圖像中占據較多像素。
基于CIE標準色度系統的仿真圖像如圖5所示,其中衛星主體采用Metal材質類型,并使用金(Au)的光譜數據,粗糙度設為0.01;發動機使用Disney材質類型,并使用Ti的折射率,粗糙度設為0.05;太陽能帆板使用Disney材質類型,并使用SiO2的折射率,粗糙度設為0.05;中繼天線使用Metal材質類型,并使用鋁(Al)的光譜數據,粗糙度設為0.01。

圖5 基于CIE標準色度系統的彩色圖像仿真結果
與圖2對比,可以看出添加材質光譜數據后,每種材質的質感及反射效果都更加接近現實。
為更直觀的觀察某一材質在不同粗糙度下的仿真結果,將視場角設為7,衛星主體部分(材質為金)在不同粗糙度時的仿真結果如圖6所示,圖a粗糙度為0.01,圖b粗糙度為0.1。粗糙度取值介于0-1之間,數值越小,越接近理想鏡面反射。對比圖6的不同粗糙度結果可知:當粗糙度很低時,表面光滑,鏡面反射效應較強,仿真圖像中出現高亮反射現象;當粗糙度高時,漫反射效應較強,衛星本體整體輻射較為均勻。
將人眼三刺激值曲線改為高分二號相機光譜響應曲線,光譜采樣起始和終止波長分別位置設為400nm和700nm,分為6個波段,步長為50nm,進行了分波段的輸出,如圖7所示。圖a-f為每個波段的成像仿真結果,圖g為全波段合成的仿真圖像,具備針對空間目標的多光譜和全色圖像仿真能力。
當像素分辨率為512*512,其它成像仿真參數與表1相同,不分波段輸出,即仿真一張圖的時間約為1.8s,分波段輸出7張圖(6張波段及1張合成圖)的時間約為2.1s,分波段輸出61張圖(60張波段及1張合成圖)的時間約為5.4s。由此可以看出分波段輸出方法大大的提升了仿真效率。

表1 成像仿真參數
固定相機位置、觀測角度,設定一顆衛星觀測另一顆衛星的仿真場景,記錄下目標衛星從進入視場到離開視場的過程,400-700nm波段仿真圖像序列如圖8所示。

圖8 400-700nm波段仿真圖像序列
從圖中可以清晰的看到不同觀測時刻目標衛星的姿態變化及運動軌跡。
作為具備高效光線追蹤算法并實現了基于物理渲染的開源仿真引擎,PBRT默認輸出滿足人眼視覺的彩色仿真圖像。為滿足光學相機對空間目標成像的仿真需求,本文通過修改從光譜到輸出的響應方式,實現了基于PBRT的多光譜成像仿真,通過修改輻亮度值存儲方式,提升了仿真效率。開展了針對近地空間衛星目標的仿真,獲得了不同材質特性的彩色和多光譜仿真圖像,以及仿真圖像序列,驗證了該方法的有效性和高效性。基于該方法能夠獲得大樣本模擬圖像,在空間任務規劃論證、空間相機在軌性能預估、空間目標識別算法研究等方面有較強的應用前景。后續將不斷提升材質光譜特性的準確性,并對程序進行優化,以進一步提高仿真結果的精度和效率。