空间目标多光谱成像仿真
2023-09-20狄荣育马晓珊李广运彭晓东
狄荣育,马晓珊,李广运,彭晓东,3
(1. 中国科学院国家空间科学中心,北京 100190;2. 中国科学院大学,北京 100049;3. 中国科学院大学国科大杭州高等研究院,浙江 杭州 310024;4. 中国兵器科学研究院,北京 100089)
1 引言
随着航天技术的发展与应用,人类对空间的探索及活动已经日益频繁、深入。大量人造卫星发射升空,成为了经济社会发展不可或缺的一部分[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],针对空间目标成像需求进行修改,实现多光谱成像仿真,为面向空间操作的智能算法研究提供模拟图像源。
2 PBRT渲染器简介
PBRT的仿真流程如图1所示[9]。首先将目标的三维模型和材质信息文件通过obj2pbrt.exe转成目标模型描述文件,加入光谱数据并调整材质信息完成实体配置;利用软件接口,对成像系统参数进行配置,包括目标、光源、相机的位置信息以及积分器、采样器、光线追踪深度等仿真参数,所有参数以键值对的形式设置及存储,一个关键字对应着相应的数据;调用主程序后,对所有参数进行读取、解析和关键字处理,从而创建场景、启动渲染,调用光线追踪模块,最后得到仿真图像。
图1 PBRT仿真流程
PBRT基于光线追踪算法的渲染流程主要包括三重循环:首先将图像分为若干个矩形块并行渲染;针对具体图形块,逐像素点循环计算;针对每个像素点,进行多次采样,每次采样进行一次光线追踪,并计算当前像素点上的此次采样点上的辐亮度。
单一像素的光线追踪流程如下:首先通过采样器在一个像素上选择光线发出点,再通过相机抽象类生成追踪光线;检测场景中是否有三角面片与光线相交,没有则返回环境光的值;检测到相交后,根据材质类型,计算相应的反射率;遍历所有光源,判断是否有遮挡,计算光照量;对每次采样点的辐亮度值进行加权求和。
当一个图形块中所有像素均完成光线追踪并且计算到辐亮度贡献值后,将所有像素合成一个图形块,当所有图形块均计算完成,则输出图像。
3 多光谱图像仿真
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类型的光谱范围和谱段数量,针对每一个光谱段,在合成图形块时,将该波段内计算得到的辐亮度值进行累加,并添加数组存储累加结果,即可实现所有波段的仿真,最后将所有波段的辐亮度值累加结果进行输出,可获得全波段仿真图像,即实现了一次仿真得到多张仿真图像。
4 近地空间目标成像仿真
本文针对近地空间目标开展多光谱图像仿真。首先对空间目标建模,生成目标模型描述文件,添加所有材质的光谱数据,完成目标模型实体配置,随后配置成像系统仿真参数,构建空间目标场景,最后启动光线追踪渲染过程,得到多光谱分波段仿真图像和真实轨道下的仿真图像序列。
4.1 空间目标建模
空间目标使用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)等。
4.2 光源模型
在近地空间场景中主要光源为太阳,太阳辐射可被认为是温度为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为比例因子。
4.3 相机模型
PBRT提供多种相机类型,每种类型提供多种配置参数,包括口径、焦距、视场角等关键参数。本文采用高分二号全色相机,对相机模型各参数进行设置。该相机的光谱响应曲线,如图4所示,光谱范围为400-1000nm。
图4 高分二全色相机光谱响应曲线
4.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波段仿真图像序列
从图中可以清晰的看到不同观测时刻目标卫星的姿态变化及运动轨迹。
5 总结
作为具备高效光线追踪算法并实现了基于物理渲染的开源仿真引擎,PBRT默认输出满足人眼视觉的彩色仿真图像。为满足光学相机对空间目标成像的仿真需求,本文通过修改从光谱到输出的响应方式,实现了基于PBRT的多光谱成像仿真,通过修改辐亮度值存储方式,提升了仿真效率。开展了针对近地空间卫星目标的仿真,获得了不同材质特性的彩色和多光谱仿真图像,以及仿真图像序列,验证了该方法的有效性和高效性。基于该方法能够获得大样本模拟图像,在空间任务规划论证、空间相机在轨性能预估、空间目标识别算法研究等方面有较强的应用前景。后续将不断提升材质光谱特性的准确性,并对程序进行优化,以进一步提高仿真结果的精度和效率。