随着自动驾驶技术的飞速发展,行业对测试精度和安全性的要求也越来越高。与传统的道路测试相比,虚拟仿真能够模拟各种复杂的驾驶环境,不受天气、道路条件等因素限制。自动驾驶系统需要依靠搭载的传感器感知外界环境,识别道路标志、检测行人、估测物体距离等,从而做出安全、精准的驾驶决策。海克斯康作为自动驾驶汽车开发全链路测试方案的提供方,其VTD(Virtual Test Drive)软件被广泛应用于各类自动驾驶算法及汽车研发的测试工作中,该软件在模拟高精度的交通仿真场景的同时,还兼具各类传感器数据的物理仿真。
01 海克斯康VTD Camera仿真概述
自动驾驶仿真系统能够对传感器数据进行分析处理来感知周围环境,并以此为依据进行决策。视觉感知是自动驾驶系统的关键技术,在传感器仿真中,相机传感器尤为重要。基于逼近真实道路场景的视觉环境,VTD的相机传感器能够配置现实世界中真实相机的内参外参,模拟镜头畸变、CMOS成像、ISP仿真等多种相机成像数据。不仅能够模拟虚拟环境中的光照、天气、物体遮挡等因素,还可以还原真实相机的物理特性,更加贴近真实驾驶环境,从而为自动驾驶测试中传感器算法提供逼真的图像数据。
02 Camera仿真的数据链路
简化相机模型
Camera=Lens+Cmos(raw,R/G/B)+ISP(Control+rgb/Yuv)+feature&noise(env&cam)
为了更加真实地模拟实际相机的物理过程,仿真相机传感器的数据处理链路分为镜头、CMOS传感器、图像信号处理(ISP)模块,以及特性和噪声模拟四个主要部分,用以在仿真系统中再现真实相机的工作机制和输出结果。
1、镜头仿真与畸变模拟
镜头是光学系统的核心,它决定了光线进入相机时的折射、聚焦和畸变。为了模拟真实相机镜头中的畸变效应,VTD提供了lensDistortion工具,包含两种畸变仿真方法:
方法一:基于OpenCV的参数化方法
该方法依赖于供应商提供的相机规格数据,通过OpenCV的畸变参数(如k1、k2、k3、p1、p2)以及内参矩阵参数(fx、fy、cx、cy),结合相机的视场角(fov)和分辨率(resolution)等数据,进行畸变建模。利用这些参数,我们可以重构镜头中的几何畸变效应,模拟图像在不同镜头下的真实扭曲与变形情况。
方法二:基于实验的拟合方法
在此方法中,我们使用实际的相机镜头进行拍摄实验,通过实验数据(如实际Fov、实际像高)结合理论值(理论像高、畸变率、CMOS像素尺寸、分辨率等参数),利用多项式拟合出二者的对应关系。该过程模拟了真实相机镜头对图像的影响,从而获得最贴近真实情况的畸变效果。
2、CMOS仿真:
CMOS传感器是相机的核心部件,它将物理世界中的光信号转换为电信号进行记录。VTD通过模拟真实相机的CMOS功能模块,准确再现相机在不同光照条件下的响应特性。
VTD开发了一套完整的图像色彩转换流程,涵盖从真实世界的图像数据采集、仿真生成,到两者之间的对比分析与调整。CMOS仿真主要为三通道RGB图像到RAW图像的转换,通过数学拟合方法,对真实相机拍摄的图像与VTD渲染出的图像之间的参数进行拟合调整。
针对特定的CMOS传感器,我们支持基于实验数据拟合的方式。在暗室环境中使用24色标准色卡进行拍摄实验,收集相机拍摄到的Raw图数据,建立VTD渲染的RGB图像到Raw数据之间映射关系,将RGB图像转化为不同格式(如RCCC、YUV)的Raw图像(如下图),再现真实相机拍摄下的图像信号特性。
后处理结果图和Raw图
3、ISP仿真:
ISP是实际相机中用于调整和优化图像质量的模块,通常包括自动曝光控制、白平衡调节、对比度调整等功能。在仿真世界里,ISP仿真模块通过VTD中的后处理模块实现。
VTD在图像渲染过程中对每个像素的颜色、亮度及其他属性进一步处理,以模拟真实相机ISP的效果,可以调整图像的曝光、白平衡,使得输出图像在这些参数上与真实相机图像具有更加一致的色温,为测试环境提供更为丰富真实的图像。
曝光效果图
白平衡效果图
4、特性(feature)及噪声(Noise)仿真:
特性是指因相机本身设计而对最终图像造成的影响效果,例如景深和动态模糊等。景深是和光圈大小,镜头焦距,CMOS像素尺寸都相关的一个特性,下图展示了VTD中对于景深的仿真,可以看到距离最近的骰子相对模糊,而远处的骰子和车相对清晰。
景深效果图
噪声是实际相机在工作过程中不可避免的现象,主要来源于自然环境(如树叶遮挡、大雾、雨滴、光晕、灰尘等)和硬件缺陷(如传感器噪声、硬件划痕、白平衡偏差等)。为了模拟真实噪声效果,VTD提供了多种噪声仿真方法,通过调整物体材质、环境光照及后处理的着色器模块等,逼真地再现了这些相机噪声效果。
太阳晕光
镜头雨滴
例如,在雨天场景中,仿真相机可以模拟雨滴打在镜头上的效果;在晴朗的白天,太阳光照射到相机镜头上产生的光晕效果。此外,还可以加入人为的硬件噪声模拟,如传感器老化导致的图像信号损坏或自动白平衡功能失效引起的色彩偏差。这些噪声模拟的引入,增强了仿真系统在极端场景中的鲁棒性测试能力,使得自动驾驶算法在更加多样性和复杂的环境中得到验证。
通过这条相机传感器的数据处理链路,VTD能够模拟相机从光线进入镜头、经过CMOS传感器到ISP处理再到最终图像输出的全过程。这不仅使得相机仿真图像在视觉上高度逼近现实,还为相机感知算法的开发和验证提供了一个稳定而逼真的测试平台。
03 Camera语义分割图仿真
语义分割图是指对图像中的像素点基于目标级别进行分类,使每个像素点都有其对应于三维空间的目标从属。语义分割图对于基于视觉的感知算法进行后续工作起着重要作用。VTD中可以根据不同的材质/物体对渲染图像进行语义分割,通过加载colorSegmentation工程来实现,支持自定义配置。
左图为原始图,右图为对应的语义分割图
深度图
深度图也被称为距离影像,是指将图像采集器到场景中各点的距离(深度)作为像素值的图像。在深度数据流所提供的图像帧中,每个像素点表示在深度感应器视野中对应的坐标处物体离摄像头平面最近的表面到该相机平面的距离。
上图为VTD中的深度图像截图,可以将此深度图像的深度值z-buffer转换为物体到相机平面的距离。z-buffer 值与物体表面到相机坐标系 xy 平面的距离关系如下:
z = 0.5*(f+n)/(f-n) + (-f*n)/(f-n) * (1/d) + 0.5
其中,z为z-buffer 值(归一化为0~1),d为物体最近表面到相机坐标系 xy 平面的距离,n和f分别为 近裁剪面和远裁剪面。z-buffer 值通常在0~1范围内。z-buffer 值为“0”的像素位于近裁剪面(near clip)上,值为“1”的像素位于远裁剪面(far clip)上。
多相机组
在空间不同位置上配置多个相机,从不同视角采集图像或视频数据,可以实现多视角同步显示或三维空间投影等功能,满足多种用户仿真测试目标。
在VTD的多显示器相机组中,可以单独配置每个相机的内参和外参,灵活调节相机的主轴、光心位置、成像平面等,达到工程实际应用的多种需求。下图展示了相机视锥角度的计算过程。
04 总 结
基于海克斯康提供的VTD虚拟仿真测试方案,在为用户提供高质量的虚拟交通场景图像和对标真实相机参数的视觉模拟的同时,还能为自动驾驶系统的测试和优化提供重要的数据支持。同时结合VTD软件基于光线追踪技术的其他传感器仿真方案(激光雷达、毫米波雷达等),一起为自动驾驶仿真提供全方位的支持。
(海克斯康工业软件)
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈