Ansys Speos | Speos Camera 传感器机器视觉示例
附件下载
联系工作人员获取附件
概述
在当今快速发展的技术环境中,从汽车到消费电子等各个行业对高质量成像系统的需求至关重要。在关键部件中,相机传感器是现代消费电子和成像设备的重要组成部分。了解和验证相机传感器在3D场景中的性能对于优化图像质量和最佳视场覆盖至关重要。本文介绍Speos在相机图像生成中的应用,并探讨了其在现实场景中的应用。
要在Speos中模拟相机的行为,可以创建包含相机完整光学系统的模拟,或者可以使用镜头系统的降阶模型(ROM)创建相机模拟。当需要全面比较光学系统的性能时,特别是在眩光和杂散光,通常会选择完整的镜头系统,但由于考虑所有光路,通常需要更长的模拟时间。然而使用镜头ROM降阶模型的相机允许更快的进行不同光学系统性能的比较。ROM的特点是通过聚焦于光路主序列,预先计算透镜系统的光学行为来提升仿真计算效率。
本文主要基于ROM的相机传感器仿真,实现了快速准确的相机传感器仿真。通过再现关键的真实相机镜头属性,在不损害镜头制造商知识产权的前提下,根据传感器前捕获的辐照度生成光度结果。
解决方案所需的主要工具
-
Speos 24R2模拟相机传感器的辐照度图。
-
Zemax OpticStudio 24R1及更高版本导出镜头模型,或输出镜头系统的ROM模。
第一部分 Camera参数说明
Speos相机传感器定义
Speos中的相机传感器,使用镜头系统的ROM实现与实际相机相同的光线集成。Speos相机传感器具有两种模式:
1. Geometric几何模式,可以定义相机传感器,而无需配置每个参数,与从数据表(V1)中提取的关键光线角(CRA)数据兼容,可以灵活调整以下参数:相机的位置和方向,系统的降阶模型,传感器尺寸和分辨率。
这些参数为用户提供了在几何模式下对相机设置的简洁性,进行快速FOV验证,快速的计算模拟,而且在几何模式下,不需要光学属性,Speos使用CAD中的渲染属性。
2.Photometric/Colorimetric光度/色度模式,这种模式详细全面的对传感器的参数进行了完整的定义,包括:相机的位置和方向(根据ROM版本的不同,原点的位置不同:使用V1 ROM时,原点在入瞳位置,而使用V2和二进制ROM时,原点在成像仪的中心),物镜系统的降阶模型,传感器尺寸和分辨率,采集信息包括积分时间和滞后时间(可选-如果在仿真中启用了时间轴功能),传感器的轨迹(可选-如果相机处于运动状态),波长范围用于指定光谱传播范围,相机传感器定义中的Layer选项允许将仿真结果按光源分层,并单独探索从每个光源生成的图像。
Speos相机传感器功能可以在3D场景中对各种相机类型(如可见光、红外或热像仪)进行精确建模,复制真实的照明条件并生成可量化的辐照度结果。通过启用时间轴模拟和指定相机积分和滞后时间,以及相机或物体在场景中的轨迹,照度或辐照度地图可以转换为曝光结果。曝光图表示传感器接收到的功率,基本上是辐照度数据乘以积分时间,单位为J/mm2,可用于运动模糊和滚动快门结果的展示。
透镜系统光学降阶模型(ROM)
为了将Zemax OpticStudio镜头设计的ROM集成到Speos相机定义中,并在更广泛的模型环境中复制相机镜头的效果,Speos使用带有*.OPTDistortion扩展项文件。这些文件封装了镜头系统的ROM。这些ROM可以从来自数据表(V1)的临界光线角(CRA)数据中导出,或者为了提高精度,直接从Zemax OpticStudio(二进制版本)设计的镜头系统中提取。
Zemax OpticStudio提供了一个专用的“Export Reduced Order Model to Speos”工具,可通过文件菜单访问,方便调整如下所述的各种参数:
-
Sensor Width and Sensor Height:定义传感器的尺寸。
-
Skip System Reversal:选中此选项时,将跳过导出过程中所需的系统反转,适用于不能正确反转与自动反转的系统。
-
Use Radial Symmetry:对于轴对称系统,径向对称可以进行计算,取消选中此选项将显示非对称系统(包括镜头系统和成像仪)。
-
X and Y Sensor Sampling:对于非轴对称系统,指定传感器在X和Y方向上的采样数量。
-
R Sensor Sampling:确定图像空间中径向采样点的个数以生成数据。根据镜头系统的畸变程度,它通常的范围从~10最小失真的镜头系统到高达50的鱼眼镜头类型,表现出显著的失真,典型值为30。
-
Ray Sampling:指定用于计算传输到Speos的参数的射线采样网格,该参数定义用于计算传输到Speos的参数的射线采样网格,通常,默认值足以满足大多数场景。然而,在镜头有强烈的像差的情况下,或者当处理镜头系统包含镜头偏移和倾斜时,64x64可能是有意义。但是建议避免值超过128x128。
-
Configuration:从多配置操作数的下拉菜单中选择一个配置来修改反向系统,并将所选配置导出到Speos。
注意:在Zemax OpticStudio中生成ROM时,请确保设置感兴趣的波长范围。在Zemax OpticStudio的系统资源管理器中,设置至少3个波长,从小到大排列,例如对于可见光范围设置波长范围为400nm到700nm。Zemax OpticStudio中的最小和最大波长决定了Speos中可以模拟的最大波长范围。
Speos根据Zemax OpticStudio的每个波长计算结果插入中间波长采样。为了避免偏差,在Zemax OpticStudio中使用更多的波长采样是更准确的。而OptDistortion文件与样本数量成正比,所以生成*.OPTDistortion会相应的增加时间。建议设置5 ~ 7个波长样本,以平衡精度和计算时间。Zemax OpticStudio中的波长权重不影响ROM文件的导出。
最新ROM说明
最新版本的镜头ROM在OPTDistortion文件中(二进制版本)包括更多信息,以确保准确管理视场,失真畸变,景深,分辨率,入瞳位置,渐晕,动态(滚动快门,运动模糊)和色差。
因此,使用ROM模型进行的模拟结果与直接在CAD透镜模型上进行的模拟结果没有显着差异。二进制版本ROM可以使用ZemaxOpticStudio 2024 R1和更高版本创建生成。
使用OPTDistortion文件到Speos模拟的目标是:执行相机行为的快速模拟(与模拟完整的相机系统相比)再现大多数真实镜头属性执行模拟而不暴露制造商的知识产权。
为了验证二进制ROM的性能,对不同的透镜系统类型进行了测试,包括单双圆锥透镜、库克三重透镜、双高斯透镜、均匀非球面透镜、手机透镜、望远镜透镜。通过对每个配置的MTF结果进行比较来验证。MTF代表调制传递函数,由一个描述图像细节清晰度的函数组成,被广泛应用于成像行业。
通过将ROM与Zemax Opticstudio和Speos中的全镜头系统模拟进行比较,验证透镜系统的ROM。下图所示是Speos ROM和Zemax OpticStudio全镜头模型的对比。
在另一项测试中,使用具有大光圈和低质量的镜头系统,将ROM模拟与Speos中的全镜头系统几何结构进行比较,两种模拟结果都显示出具有色差的一致图像质量。在本仿真中,一组代表视场不同方向的光源在辐照度传感器上成像:在RTX A5000 GPU内核上,带有ROM的相机仿真在6秒内完成,而在类似的GPU上,完整几何图形的仿真在30分钟内完成,使用GPU速度显著提高。
上图显示了与全镜头系统和ROM之间的辐照度图的比较。总体而言,Speos中的相机传感器提供了一套全面的工具,用于精确的相机模拟和分析,与在各种应用中使用全镜头模型的情况相比,能够确保色差和更快的图像生成。
如上所述,Speos相机传感器中的几何模式提供了相机传感器参数的简化版本,主要用于快速FOV研究网格生成过程中的默认渲染属性。另一方面,光度/色度模式提供了对相机传感器参数的广泛控制,包括可用于3D场景中图像质量分析的光度定义。
接下来的案例中,将更多地关注创建静态相机模拟(没有运动)和调整相机系统的位置。
第二部分 Camera案例运算
基于从Zemax OpticStudio模型生成的ROM创建了一个相机传感器,以下是本文中使用的Speos机器视觉场景以及操作步骤。
接下来,在Speos中定义相机传感器参数:
首先定义原点:
在“设计>创建”选项卡中单击原点,作为创建相机传感器轴系统的标准做法。
右键单击在结构树中创建的原点并将其重命名为Camera_origin。
定义相机传感器:选择Camera Sensor,将相机传感器重命名为Photometric_Camera。
设置相机轴系统:选择创建的Camera_origin来定义相机传感器的方向(原点、水平方向和垂直方向)。
调整光学参数:设置以下光学参数的值,这些参数决定物镜的性能。选择*.optdistortion文件,代表ROM镜头。
定义传感器和灵敏度参数:定义每个通道的整体灵敏度。这包括传感器的像素灵敏度和彩色滤波器阵列。
调整波长:在模拟中使用的光谱带宽和精度。
Speos可以在3D窗口中可视化相机:右键单击模拟树中的Photometric_Camera传感器,选择option选项以使用对象场可视化半径调整传感器的预览。这只是为了可视化的目的,与模拟无关。
在3D视图中获取相机传感器的观察视角,请单击传感器定义界面得自动取景图标,
查看该传感器在模拟期间能够捕获的场景内容。
Speos中的相机传感器专门需要与inverse逆向仿真一起工作。光线以相反的方向传播,从传感器开始进入3D场景。
在仿真树中,选择inverse simulation,点击工具指南图标包括用于选择和验证窗口中的几何图形、光源和传感器的选项,并通过绿色复选标记选择内容。
可以修改模拟停止条件,如持续时间或通过Pass次数。运行模拟,右键单击Camera模拟,选择“计算”进行CPU计算或GPU计算。模拟完成后,计算文件将出现在模拟树下,其中包括以下文件:HTML文件,XMP文件(Radiance),XMP文件(irradiance),PNG图像文件,HDR文件。
注意:如前所述,如果相机定义中使用二进制版本的ROM,若需要运行考虑色散的反向模拟,则需要启用色散,需要右键单击模拟树中的inverse模拟(例如,Camera_sim1),然后选择'Options' > ‘ inverse simulation ‘并勾选’ dispersion ’。
注意:在相机传感器定义中,以下参数会影响辐照度图:
其他参数用于创建HDR和PNG。强烈建议使用辐照度结果,因为生成PNG和HDR结果会因为适应显示而做出图像处理,并不能真是表征结果,特别是如果需要真实的镜头表征。如果对生成电子地图、原始图像或最终处理图像感兴趣,建议使用Ansys Speos Sensor System简称SSS。
关于SSS的介绍,可以查看往期文章:Ansys Speos SSS|传感器特性与EMVA1288标准以及Lumerical传感器验证
双击*. Irradiance.XMP结果,可以清楚地看到,条形码在视图中更具可读性,照明更均匀,失真更少。也可以检查xmp结果中的伪色图(而不是真色),并在像素级探索辐照度值。
总结
Speos相机传感器允许用户快速生成相机从3D场景中捕获的光量,考虑关键相机参数。可以评估不同行业的各种传感器类型(可见光,SWIR, MWIR, LWIR)的性能。此外,用户还可以探索相机动态,包括当相机或场景中的物体移动时的滚动快门和运动模糊效果,以及由相机感知到的光源调制引起的闪烁效果。