当前位置: 首页 > news >正文

Ansys Speos | Speos Camera 传感器机器视觉示例

附件下载

联系工作人员获取附件

概述

在当今快速发展的技术环境中,从汽车到消费电子等各个行业对高质量成像系统的需求至关重要。在关键部件中,相机传感器是现代消费电子和成像设备的重要组成部分。了解和验证相机传感器在3D场景中的性能对于优化图像质量和最佳视场覆盖至关重要。本文介绍Speos在相机图像生成中的应用,并探讨了其在现实场景中的应用。

workflow.png

要在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。

Presentation1.jpg

注意:在Zemax OpticStudio中生成ROM时,请确保设置感兴趣的波长范围。在Zemax OpticStudio的系统资源管理器中,设置至少3个波长,从小到大排列,例如对于可见光范围设置波长范围为400nm到700nm。Zemax OpticStudio中的最小和最大波长决定了Speos中可以模拟的最大波长范围。

Speos根据Zemax OpticStudio的每个波长计算结果插入中间波长采样。为了避免偏差,在Zemax OpticStudio中使用更多的波长采样是更准确的。而OptDistortion文件与样本数量成正比,所以生成*.OPTDistortion会相应的增加时间。建议设置5 ~ 7个波长样本,以平衡精度和计算时间。Zemax OpticStudio中的波长权重不影响ROM文件的导出。

Picture2.jpg

最新ROM说明

最新版本的镜头ROM在OPTDistortion文件中(二进制版本)包括更多信息,以确保准确管理视场,失真畸变,景深,分辨率,入瞳位置,渐晕,动态(滚动快门,运动模糊)和色差。

因此,使用ROM模型进行的模拟结果与直接在CAD透镜模型上进行的模拟结果没有显着差异。二进制版本ROM可以使用ZemaxOpticStudio 2024 R1和更高版本创建生成。

使用OPTDistortion文件到Speos模拟的目标是:执行相机行为的快速模拟(与模拟完整的相机系统相比)再现大多数真实镜头属性执行模拟而不暴露制造商的知识产权。

为了验证二进制ROM的性能,对不同的透镜系统类型进行了测试,包括单双圆锥透镜、库克三重透镜、双高斯透镜、均匀非球面透镜、手机透镜、望远镜透镜。通过对每个配置的MTF结果进行比较来验证。MTF代表调制传递函数,由一个描述图像细节清晰度的函数组成,被广泛应用于成像行业。

通过将ROM与Zemax Opticstudio和Speos中的全镜头系统模拟进行比较,验证透镜系统的ROM。下图所示是Speos ROM和Zemax OpticStudio全镜头模型的对比。

Picture26.png

在另一项测试中,使用具有大光圈和低质量的镜头系统,将ROM模拟与Speos中的全镜头系统几何结构进行比较,两种模拟结果都显示出具有色差的一致图像质量。在本仿真中,一组代表视场不同方向的光源在辐照度传感器上成像:在RTX A5000 GPU内核上,带有ROM的相机仿真在6秒内完成,而在类似的GPU上,完整几何图形的仿真在30分钟内完成,使用GPU速度显著提高。

Picture5.png

上图显示了与全镜头系统和ROM之间的辐照度图的比较。总体而言,Speos中的相机传感器提供了一套全面的工具,用于精确的相机模拟和分析,与在各种应用中使用全镜头模型的情况相比,能够确保色差和更快的图像生成。

如上所述,Speos相机传感器中的几何模式提供了相机传感器参数的简化版本,主要用于快速FOV研究网格生成过程中的默认渲染属性。另一方面,光度/色度模式提供了对相机传感器参数的广泛控制,包括可用于3D场景中图像质量分析的光度定义。

接下来的案例中,将更多地关注创建静态相机模拟(没有运动)和调整相机系统的位置。

第二部分 Camera案例运算

基于从Zemax OpticStudio模型生成的ROM创建了一个相机传感器,以下是本文中使用的Speos机器视觉场景以及操作步骤。

Picture6.png

接下来,在Speos中定义相机传感器参数:

Picture7.jpg

首先定义原点:

在“设计>创建”选项卡中单击原点,作为创建相机传感器轴系统的标准做法。

右键单击在结构树中创建的原点并将其重命名为Camera_origin。

Picture8.png

定义相机传感器:选择Camera Sensor,将相机传感器重命名为Photometric_Camera。

Picture9.jpg

设置相机轴系统:选择创建的Camera_origin来定义相机传感器的方向(原点、水平方向和垂直方向)。

Picture10.png

调整光学参数:设置以下光学参数的值,这些参数决定物镜的性能。选择*.optdistortion文件,代表ROM镜头。

定义传感器和灵敏度参数:定义每个通道的整体灵敏度。这包括传感器的像素灵敏度和彩色滤波器阵列。

调整波长:在模拟中使用的光谱带宽和精度。

Capture1.JPG

Speos可以在3D窗口中可视化相机:右键单击模拟树中的Photometric_Camera传感器,选择option选项以使用对象场可视化半径调整传感器的预览。这只是为了可视化的目的,与模拟无关。

Picture12.png

在3D视图中获取相机传感器的观察视角,请单击传感器定义界面得自动取景图标,

查看该传感器在模拟期间能够捕获的场景内容。

Picture16.png

Speos中的相机传感器专门需要与inverse逆向仿真一起工作。光线以相反的方向传播,从传感器开始进入3D场景。

在仿真树中,选择inverse simulation,点击工具指南图标包括用于选择和验证窗口中的几何图形、光源和传感器的选项,并通过绿色复选标记选择内容。

Picture17.png

可以修改模拟停止条件,如持续时间或通过Pass次数。运行模拟,右键单击Camera模拟,选择“计算”进行CPU计算或GPU计算。模拟完成后,计算文件将出现在模拟树下,其中包括以下文件:HTML文件,XMP文件(Radiance),XMP文件(irradiance),PNG图像文件,HDR文件。

注意:如前所述,如果相机定义中使用二进制版本的ROM,若需要运行考虑色散的反向模拟,则需要启用色散,需要右键单击模拟树中的inverse模拟(例如,Camera_sim1),然后选择'Options' > ‘ inverse simulation ‘并勾选’ dispersion ’。

Capture.JPG

注意:在相机传感器定义中,以下参数会影响辐照度图:

其他参数用于创建HDR和PNG。强烈建议使用辐照度结果,因为生成PNG和HDR结果会因为适应显示而做出图像处理,并不能真是表征结果,特别是如果需要真实的镜头表征。如果对生成电子地图、原始图像或最终处理图像感兴趣,建议使用Ansys Speos Sensor System简称SSS。

图片

关于SSS的介绍,可以查看往期文章:Ansys Speos SSS|传感器特性与EMVA1288标准以及Lumerical传感器验证

Picture19.png

双击*. Irradiance.XMP结果,可以清楚地看到,条形码在视图中更具可读性,照明更均匀,失真更少。也可以检查xmp结果中的伪色图(而不是真色),并在像素级探索辐照度值。

Picture23.png

总结

Speos相机传感器允许用户快速生成相机从3D场景中捕获的光量,考虑关键相机参数。可以评估不同行业的各种传感器类型(可见光,SWIR, MWIR, LWIR)的性能。此外,用户还可以探索相机动态,包括当相机或场景中的物体移动时的滚动快门和运动模糊效果,以及由相机感知到的光源调制引起的闪烁效果。

http://www.dtcms.com/a/263921.html

相关文章:

  • vue-35(使用 Jest 和 Vue Test Utils 设置测试环境)
  • 列表元素滚动动画
  • LAN8720 寄存器概览和STM32 HAL库读写测试
  • CSS 安装使用教程
  • FreeRTOS任务切换
  • 力扣网C语言编程题:寻找两个正序数组的中位数
  • RIP 技术深度解析
  • 文心一言开源版测评:能力、易用性与价值的全面解析
  • [创业之路-457]:企业经营层 - 蓝海战略 - 价值创新不仅仅是技术创新
  • Java项目:基于SSM框架实现的智慧养老平台管理系统【ssm+B/S架构+源码+数据库+毕业论文】
  • 大麦基于HarmonyOS星盾安全架构,打造全链路安全抢票方案
  • 【机器学习深度学习】模型微调的基本概念与流程
  • 06会话管理
  • 前端计算机视觉:使用 OpenCV.js 在浏览器中实现图像处理
  • 量化选股策略 聚宽
  • 如何利用Charles中文版抓包工具提升API调试与网络性能
  • 二刷 苍穹外卖day10(含bug修改)
  • 如何使用StartUML绘制类图,用例图,时序图入门
  • 转录组分析流程(二):差异分析
  • MySQL MVCC 详解
  • ChatGPT使用限额记录与插件统计
  • 杭州来未来科技 Java 实习面经
  • [C#] WPF - 自定义样式(Slider篇)
  • 【Hive SQL优化完全指南:从0.x到4.x的性能进化之路】
  • c# IO密集型与CPU密集型任务详解,以及在异步编程中的使用示例
  • [2025CVPR]DE-GANs:一种高效的生成对抗网络
  • 微分几何、旋量理论、李群李代数、黎曼度量、微分流形、SE(3)、SO(3)
  • java微服务-linux单机CPU接近100%优化
  • Jenkins × 容器技术:构建未来DevOps生态的超级引擎
  • 插入排序解析