杂散光(光晕)文档

杂散光(光晕)文档页面

介绍: 杂散光测试和归一化杂散光简介|Imatest 杂散光分析输出|历史记录

背景: 杂散光示例|根本原因|测试概述|测试因素|测试注意事项|术语表

计算: 度量图像|归一化方法|光源掩膜方法|汇总指标|分析通道|饱和度

说明: Imatest 高级分析说明(主控和 IT) |使用 Imatest 计算归一化杂散光|电动云台说明

设置: 设置列表和 INI 键/值|标准和建议|配置文件输入

页面内容

这是 Imatest 杂散光文档的首页。本页面介绍了杂散光的概念,以及如何使用小型高亮度光源进行杂散光测试。此外,本页面还介绍了“归一化杂散光度量图像”的概念。另请参阅“遮蔽眩光”文档,了解有关使用图表测量遮蔽眩光(一种特殊形式的杂散光)的方法的信息。

杂散光(耀斑)简介

什么是杂散光?如何测量杂散光?

杂散光,也称光晕,是指任何未经过预设光路到达探测器(即图像传感器)的光线(定义来自 IEEE-P2020 预发布标准)。杂散光可以被视为系统性的、与场景相关的光学噪声。根据杂散光产生机制的不同,它会在场景中产生幻影(即重影/鬼影),降低图像某些部分的对比度(例如,眩光),并有效地降低系统动态范围。这些因素会对相机系统在各种应用场景下的性能产生不利影响。 [1]

可以通过拍摄位于相机视野内(或视野外)不同角度的明亮光源的图像来测量相机的杂散光,然后将这些图像处理成杂散光度量图像,其中图像中的每个像素都被归一化以表示一个杂散光度量值。光源本身被排除在外,或在图像中被掩蔽,因为它不被视为杂散光。从生成的杂散光度量图像中可以导出各种信息和汇总统计数据。

Imatest 版本 22.2 引入了杂散光源分析,使用户能够生成归一化的杂散光度量图像和其他相关输出,并具有高度可配置性。

这是一系列由单色近红外相机搭配C接口鱼眼镜头(视场角>180度)拍摄的杂散光图像的GIF动画。相机通过Imatest电动云台旋转。这些图像展示了一个角直径约为0.5度的红外准直光源在220度水平方向上的扫描,视场角增量为1度。在光源的直接像周围可以看到衍射尖峰(这些尖峰可能被归类为杂散光)。一些杂散光伪影仅在特定的光源角度下出现,这凸显了测试覆盖率的重要性。

如何测试杂散光

一种检测杂散光的方法是,在暗室中拍摄一个小型明亮光源的图像。为了获得更全面的图像覆盖范围,可以旋转相机或移动光源,以拍摄不同入射照明角度的图像。使用 Imatest 软件,可以将拍摄的图像处理成“归一化杂散光度量图像”,从而客观地测量图像中杂散光的强度。

至少,要测试杂散光,您需要:

  1. 一间黑暗(黑色)的房间

  2. 一个小而明亮的光源(请注意,光源的大小和焦点会影响它在相机中引起的杂散光的形状)

  3. 一种使被测相机旋转的方法(或者一种使光源围绕被测相机移动的方法)

Imatest 提供多种硬件选项,以帮助进行杂散光测试。

测试环境

Imatest 遮光窗帘装置
这是Imatest总部用于杂散光测试和开发的实验室。测试装置周围设有遮光帘,可有效降低环境温度。

进行杂散光测试的理想环境是真空中无限大且无限黑暗的房间。

对于实际的实验室测试,建议使用表面为深色/黑色的房间。房间表面可能需要在测试所考虑的整个光谱范围内(或相机的通带范围内)进行防反射处理。如果房间本身不够暗,可以使用遮光帘来有效降低环境亮度。遮光帘不应完全包围测试装置,而应在遮光帘与测试装置(相机和光源)之间留出一定空间,以进一步防止不必要的反射。遮光帘越大越好。此外,还可以在整个测试装置中使用额外的挡板,以进一步减少无关反射和环境光。

理想情况下,杂散光测试应在无尘环境中进行。如果测试表面(相机或光源)上有大量灰尘,或光束中漂浮着灰尘,则可能因引起不必要的反射和阻挡光线而影响测量结果。空气过滤器有助于营造更清洁的环境。此外,空气中一定的湿度也有助于减少漂浮灰尘的数量。

光源、设置和对准

这是一张Imatest电动云台的渲染图,图中安装了一台车用级相机,并处于杂散光测试配置中。在此配置下,云台可以控制相机的横滚和偏航,从而在正确设置和对准后,有效地控制光源的视场角和方位角。

另请参阅“杂散光测试概述”页面,了解有关该测试的高级概述。

对于受控测试,通常建议使用明亮、准直的“点光源”。但是,如果相机设备的前端面积很大,或者相机应用中关注的光源并非位于“无穷远处”,则发散光源也可能有用。

光源应为点光源,因为光源的角尺寸会影响图像中杂散光的形状。需要注意的是,图像中光源的大小是相对于相机的瞬时视场而言的。较小的“点光源”会产生清晰的高频杂散光伪影,而较大的“扩展光源”则会产生模糊的低频杂散光(类似于眩光)。这并非意味着点光源不会产生眩光,而是说扩展光源不太可能产生明显的重影。扩展光源产生的杂散光是点光源杂散光在其覆盖区域上的卷积。这正是基于图表的杂散光测试方法仅限于测量眩光的根本原因[1] 。

光源发出的光线应充满摄像头设备的正面,包括任何可能影响光路的正面表面。使用仅充满摄像头设备正面的较小光束(聚焦或准直光束)有助于减少来自测试环境或装置的潜在杂散反射。例如,对于一款具有多个摄像头模块并被保护玻璃面板覆盖的手机,在测试任何一个摄像头模块时,都应使整个玻璃面板充满光线,因为杂散光可能源自该表面。

关于对准,相机应与光束中心平移对准,且光束在照射相机的区域内应保持空间均匀。为了找到对应于零视场角的参考位置(通常位于光轴上),可以旋转相机,使光源的直接像与图像的“中心”(通常是数值中心)对齐。有关参考图像的示例,请参阅“归一化补偿”部分。

旋转相机或光源时,旋转中心应位于相机前端或可能影响光路的设备的最前端表面。例如,如果相机带有遮光罩,则应将相机放置在遮光罩前端位于旋转中心的位置。这样做的首要原因是尽量减小投射光束的面积(绕非前端旋转可能会产生杠杆作用,导致需要更大的光束才能在所有角度均匀地充满设备)。另一个原因是,相机前端可能是杂散光路径的起点。

图示为基本的杂散光测试配置。旋转中心应位于相机正面。光束应充满相机正面。

测试覆盖范围:范围和抽样

方位角和视场角表示光源相对于相机的位置。为了进行杂散光测试,视场角为零时应与图像空间中的光学中心重合。为了进行更全面的测试,建议分析中包含光源位于超出相机最大视场角范围的视场角时的图像。

测试覆盖率是杂散光测试的关键方面,它涵盖了范围(检测范围)和采样(检测增量)。杂散光是一个高维问题,因为有很多因素会影响它的测量。足够的测试覆盖率对于准确理解图像中杂散光的各种表现形式至关重要。

测试覆盖率的原理与仅使用图像中心测量清晰度(MTF/SFR)有些类似,但这种单一测量可能无法代表图像其他位置(例如图像角落)的性能。类似地,最基本的杂散光测试可能涉及分析单个光源的图像。然而,杂散光与场景相关,因此,应在光源相对于相机处于不同角度的情况下进行测试。这可以包括光源位于相机视场 (FOV) 之外的图像。

光源相对于相机的位置或角度可以用两个属性来定义:视场角和方位角。杂散光“捕获方案”可以定义为一系列具有这两个属性的位置。对于 Imatest 杂散光分析,可以通过配置文件定义并引用每个输入图像的光源方位角和视场角以进行分析。

一个简单的杂散光捕获方案示例是光源的单轴扫描,其中旋转相机(或移动光源)使光源覆盖相机整个视场角(例如,180度弧)。请注意,为了进行全面测试,根据相机的视场角,可能需要1度或更小的视场角增量才能显示所有杂散光路径。另请注意,灰尘、镜头表面缺陷或相机光机设计中的其他不对称性可能会导致某些杂散光路径,从而造成杂散光性能的不对称。

全面的测试可能包括对光源进行多轴扫描,其中相机旋转以在多个方位角上执行多次扫描。例如,一个有效的拍摄方案可以是:在视场角从 0 度到 90 度(以 0.1 度为增量)的范围内进行测试,方位角分别对应于水平、垂直和对角线方向,其中对角线方向与图像的角点相交。

一段GIF动画展示了使用相机对光源进行多轴扫描,并呈现出明显的“花瓣状光晕”效果。相机通过Imatest电动云台旋转,拍摄了一系列图像,光源相对于相机处于不同的方位角和视场角,包括光源位于相机视野之外的视场角。

输入图像数据

归一化杂散光的一个基本假设是输入数据是线性的。某些图像信号处理(ISP),特别是那些影响线性度的处理(例如伽马校正),会影响图像中相对杂散光的响应,从而影响测量结果。尽管如此,处理后的图像仍然可以进行分析,因为了解相机的ISP如何影响感知到的杂散光仍然很有价值。

Imatest 杂散光分析支持包含单色或三通道(例如 RGB)图像数据的输入图像文件。使用“读取原始数据”设置也支持未格式化的原始图像。支持的文件格式详见“图像文件格式和采集设备”部分。

归一化杂散光度量图像

Imatest杂散光分析的主要输出结果是杂散光度量图像。杂散光度量图像可以以FITS文件和颜色映射图(保存为图像文件和/或视频文件)的形式输出。

这是一张归一化杂散光度量图像的彩色映射图。输入的线性图像数据已通过参考图像中光源直接像的亮度(数字值/像素值)进行归一化。对于参考图像,我们使用了较短的曝光时间,并使用中性密度滤光片衰减光源,使光源的直接像不饱和。我们计算了参考图像中光源直接像内的平均亮度。然后,我们补偿了参考图像和测试图像之间的亮度差异,计算出一个高于饱和度的理论亮度值,作为最终的“补偿”归一化因子。此处,度量图像中的杂散光亮度约为光源直接像亮度的0.0006%或更低,尽管饱和杂散光(黄色)的强度可能更大。所用光源的角直径约为 0.5 度(与太阳相似),计算指标为扩展光源抑制比 (ESRR) [2] 。由于光源的直接像并非杂散光,因此会被屏蔽掉。

归一化杂散光背景

在 Imatest 中进行分析时,输入数据应为完全黑暗的房间内小型明亮光源(例如,点光源)的线性图像。该测试的一个关键假设是,这些图像中的任何响应均为杂散光,而非光源直接像的响应。光源的直接像是指图像中代表光源实际大小的小区域(即,假设图像中不存在杂散光或光晕) [1] 。由于光源的直接像并非杂散光,因此在分析过程中会被屏蔽(忽略)。

使用 Imatest,可以将输入图像中的每个像素归一化,以表示杂散光度量,其中归一化方法决定了该度量值。概括来说,归一化杂散光的计算可以简单地写成:

请注意,该方程的这种形式对应于杂散光透射,而其倒数则对应于杂散光衰减。

Imatest 支持的主要归一化方法是根据光源直接成像区域内的图像级别(平均数字值 (DN) 或像素值)进行归一化。采用这种方法,度量图像中的值代表图像中杂散光相对于光源直接输出的水平/响应。如果使用点光源进行测试,则此归一化方法对应于点光源抑制比 (PSRR) 指标[2] 。如果使用扩展光源进行测试,则该指标为扩展光源抑制比 (ESRR) [2] 。例如,太阳是一个位于“无穷远”的扩展光源,其角直径约为 0.53 度,这与其他更遥远的恒星(被视为点光源)不同。光源的角大小会影响图像中杂散光的形式,这也是使用小型、高亮度光源进行此类测试的根本原因之一。

标准化补偿

该测试的另一个关键假设是,用于归一化测试图像数据的饱和度(即归一化因子)低于饱和度。饱和度,或者说被测相机的动态范围,本质上限制了测试本身的动态范围。通过饱和度进行归一化会产生相对无意义的结果,因为饱和度的定义并不明确。如果通过饱和度进行归一化,得到的度量图像的值将介于 0 到 1 之间,其中 1 对应于饱和度。对于许多相机而言,可能需要使光源的直接图像达到饱和状态,才能在图像中引入杂散光。在这种情况下,我们可以使用来自单独曝光良好的参考图像的信息,这些参考图像的光强已被衰减,使得光源的直接图像未达到饱和状态。根据相机可用的控制功能,可以使用不同的技术来生成光源的未饱和图像,然后生成“测试图像等效”(补偿后)的归一化因子,例如[1] :

这些技术可以单独使用,也可以组合使用,以形成补偿系数。这将作为基本归一化因子的乘数。计算补偿归一化因子(最终用于对测试图像数据进行归一化)。在这种情况下,基本归一化因子是参考图像[1]中源图像的直接图像的图像级别(数字值或像素值)。整个过程可以用几个简单的方程式来描述:

在哪里

和

请注意,这些技术假设相机数据是线性的或可线性化的,并且互易律成立[1] 。以下部分提供了一个使用补偿因子计算归一化杂散光的示例。

图 2:参考图像,显示了光源的未饱和直射像。该图像的拍摄曝光时间比测试图像短,且光源前加装了 ND 2.5 滤镜。在单独的测试图像(未显示)中,光源的直射像已饱和,并出现明显的光晕,从而暴露出杂散光。

解释归一化杂散光度量图像数据

考虑以下针对输出线性化 16 位图像数据的相机的示例测试程序:

  1. 对于测试图像,我们将光源亮度和相机曝光时间设置为100毫秒,使得图像中出现明显的、可测量的杂散光伪影。然而,在这些图像中,光源的直接成像已经饱和。
  2. 对于参考图像,我们将相机的最小曝光时间设置为 1 毫秒,并在光源前放置一个密度为 2.5(透射率 = 10^(-2.5) = 0.316%)的 ND 滤光片,以衰减光线,使光源的直接图像在图像中不会饱和。
  3. 我们从参考图像中测量源直接图像内的(平均)饱和度。我们测得平均未饱和度(像素值)为 31941.617。这是基准归一化因子。我们将用它来对测试图像数据进行归一化。
  4. 我们通过计算测试图像亮度与参考图像亮度的比值来补偿基础归一化因子,该比值是通过利用已知的ND滤光片透射率和曝光差异得到的。补偿因子为:补偿后的归一化因子为:该归一化因子以 DN(数字值或像素值)为单位。因此,我们实际上是通过高于饱和度的理论像素值进行归一化。
  5. 在计算度量图像的过程中,我们屏蔽(忽略,设置为 NaN)测试图像中光源的直接图像,因为它不是杂散光。
  6. 我们计算归一化杂散光度量图像:

从结果可以看出,杂散光度量图像中的值范围为 0 到 6.476E-5。这表明图像中杂散光的最大响应约为光源直接成像响应的 0.0006476%。此处,6.476E-5 的值对应于饱和的图像数据(对于此相机的图像数据,饱和度为 65408,除以 10 ...我们得到 6.476E-5)。在这个水平上,杂散光已经失去了意义,因为我们无法测量饱和的数据。具体来说,饱和的杂散光强度可能远大于可测量的量级。然而,未饱和的数据(对应于小于 6.476E-5 的杂散光值)对我们来说仍然有意义。再次强调,这些归一化的杂散光值代表了杂散光相对于直接光源响应的响应。如果数据确实是线性的,并且互易律成立,我们可以推断,如果我们使用不同强度的光源或不同的相机曝光时间,这些归一化值不会发生显著变化。尽管不同的曝光时间或光源强度仍然会揭示出不同强度的杂散光供我们测量(例如,更长的相机曝光时间会揭示出更微弱的杂散光伪影)。

可接受的杂散光水平取决于相机的具体应用。这类似于“可接受的MTF测量值是多少”这个问题,该问题也相对模糊,取决于系统应用。尽管如此,我们仍可考虑相机所关注的光源特性来确定可接受的杂散光水平。例如,太阳是一个小而亮的光源,以下是ADAS/汽车应用相机的示例[1] :

在生成的测试图像中,杂散光水平应与应用程序中的杂散光水平相符。但是,最终可接受的杂散光水平仍由用户自行决定。

可接受的杂散光水平也可能取决于相机系统的曝光算法。对于给定的相机,可以使用不同的自动曝光算法或测光技术来对特定场景进行曝光,从而允许不同的饱和度。例如,如果相机的曝光算法阻止图像达到饱和状态,则可接受的杂散光水平可能高于曝光算法允许大量饱和度和光晕的情况(此时我们可能会看到更多的杂散光)。此外,在低光照条件下工作的相机可能更关注较低的杂散光水平。因此,以上述示例为例,这意味着归一化杂散光值为 6.476E-5 对于某些相机和场景来说可能存在问题,但对于其他相机和场景则不会。

总体而言,杂散光测量图像可能需要进行客观和主观两方面的分析。客观分析可能包括查看测量的杂散光水平,并基于杂散光测量图像数据导出统计信息(例如,绘制各种统计信息随光源场角变化的曲线)。主观分析可能涉及目视检查图像数据,以确定杂散光伪影的颜色、形状和大小是否会对图像质量产生负面影响,以及/或者这些伪影是否会影响相机的应用。例如,是否存在任何可能类似于真实物体(例如交通信号灯)的清晰重影伪影,或者它们仅仅是令人不悦/分散观看者的注意力?是否存在明显的眩光,它会如何影响系统的对比度分辨率或调制传递函数(MTF)?图像中的任何杂散光伪影是否可能导致系统故障?

[mathjax]

参考

  1. JS Knappen, “综合杂散光(耀斑)测试:经验教训”,载于《IS&T电子成像会议论文集》 ,2023年,第127-1至127-7页, doi: 10.2352/EI.2023.35.16.AVM-127。↩ a ↩ b ↩ c ↩ d ↩ e ↩ f ↩ g
  2. B. Bouce 等, 《GUERAP II 用户指南》, Perkin-Elmer 公司,1974 年。↩ a ↩ b ↩ c