调整合适的曝光以获取好的点云

介绍

Zivid 3D相机有四种影响曝光的采集设置:

在本教程中,我们将使用Zivid Studio中的直方图功能来帮助我们在调整曝光值时评估点云的质量。当我们调整设置时,我们将探讨在对曝光变量使用不同值时要考虑的事项。

目标是以足够高的SNR曝光尽可能多的像素,以使点云获得较低的时间噪声。在Zivid Studio的 可用视图 中查看信噪比。 SNR值等于或大于7被认为是好的数据,这样的SNR值通常与曝光良好的RGB通道有关,其值在32到255之间。本文中的方法旨在覆盖该区域内尽可能多的像素。

小技巧

When using the Omni Engine, an SNR value of 2 and above is considered good.

本节描述的方法旨在捕获整个场景的完整点云。在许多实际应用中,只需要对场景中的某些对象或区域进行良好的曝光即可。在这些场景中可以应用相同的方法,但不需要对不感兴趣的区域进行曝光调整。

在本教程中,假定场景包括非常闪亮的材料(例如金属圆柱体)和深色材料(例如黑色塑料)。 同时还假设在50 Hz电网频率下的环境光中工作。 下图展示了一个示例场景。

具有高动态范围的示例场景

此类场景所包含的动态范围可能比Zivid 3D相机在单次图像采集中所能捕获的动态范围要更宽,尤其是在使用Phase Engine时。因此,通常需要使用Zivid的HDR功能对不同强度频谱的区域进行多次采集,如下图所示。

备注

Zivid 2+和Zivid 2使用12位图像,因此单次采集覆盖的动态范围比Zivid One+更高。所以,使用Zivid 2+和Zivid 2,可以用更少的采集覆盖相同的动态范围。

备注

Single acquisitions using Omni Engine covers a wider dynamic range than Stripe Engine, which again covers a wider range than Phase Engine. The Stripe and Omni engines provide more benefits than just covering a wider dynamic range such as dealing with reflections.

说明不同采集所覆盖的光强度

直方图

Zivid Studio中的直方图是评估点云质量的强大工具。它会对图像中具有不同强度值的像素分别进行计数,并将它们显示在范围在0到255的分区中。我们用来评估点云质量的直方图方法是基于像素强度与其3D质量之间的关系。像素强度越高(除非饱和),SNR越高,因此其3D质量越高。当使用对数x轴显示直方图时,每一格分区代表一个曝光等级(stop)。这种表示可以很方便地评估需要怎样的曝光值才能很好地曝光场景的某些区域。

光强度直方图的解释

上图是一个场景曝光良好的直方图示例。我们可以看出这一点,因为大多数像素位于对数图的右上半部分。从直方图中也很容易看出,将强度加倍或增加一个曝光等级(stop),会将由强度从64到128的像素形成的驼峰 "移动" 到128-255(直方图的最右侧区域)。比如我们可以通过将曝光时间加倍来实现这一点。

小心

默认的 Color ModeAutomatic,当使用不同采集设置的多采集HDR捕获时,它等同 于 ToneMapping 的设置。色调映射(Tone mapping)会修改像素值而影响到直方图,导致无法使用直方图来评估曝光质量。因此,在使用直方图时,您必须每次评估一个采集项,并 将 Color Mode 设置为 :guilabel:` UseFirstAcquisition` 或 Automatic

小心

Gamma 校正 和 Color Balance 设置会修改像素值,导致无法使用直方图来评估曝光质量。因此,使用直方图时必须将 GammaColor Balance 设置为1.0。

曝光等级(Stops)表格的说明

我们将使用的第二个强大的工具是Stops表格(见下文)。 该表格显示了Zivid 3D相机的stops的跨度,每一行显示了Zivid相机中每个曝光参数的可调整范围。每个单元代表了Zivid相机中四个曝光变量(光圈,曝光时间,亮度和增益)的stop位置。 如果需要增加一个stop的曝光,我们可以将某一个变量向右移动一个单元格。如果需要减少一个stop的曝光,我们可以将某一个变量向左移动一个单元格。 例如:当前曝光时间为10 000μs。如果我们希望增加一个stop的曝光,那么可以将曝光时间增加到20 000μs。

单元格的颜色编码显示了数值”好”的程度:

  • 深绿色:很好

  • 浅绿色:好

  • 黄色:可以使用

  • 红色:除非必要,否则避免

请注意,我们每个相机都有两个表格。请使用正确的表格以便补偿使用了50Hz或60Hz的电源线频率的灯光带来的干扰,该问题在 Exposure Time(曝光时间) 中有所描述。

小技巧

尝试尽可能多地使用曝光级数表中的 绿色 单元格组合来构建您的曝光值。

备注

某些曝光设置的值会影响彩色图像的质量。稍后将在 优化彩色图像调整采集设置 部分中介绍获得良好彩色图像质量的注意事项。

采集设置的stop表
采集设置的stop表
采集设置的stop表
采集设置的stop表
采集设置的stop表
采集设置的stop表

备注

不同的相机型号具有不同的光圈、曝光时间和亮度范围。

准备工作

放宽ROI和过滤器设置

为了评估尽可能多的好的点,我们首先应放宽ROI和所有过滤器的设定值。在找到所有合适的曝光值后,最后一步才是设置过滤器。

  • Region Of Interest: Disabled

  • Cluster: Disabled

  • Noise Removal: 1.0

  • Noise Repair: Disabled

  • Noise Suppression: Disabled

  • Outlier: 50

  • Reflection: Disabled (如果使用Phase Engine)

  • Gaussian: Disabled

  • Contrast Distortion: Disabled (如果使用Phase Engine)

  • Hole Filling: Disabled

调整颜色设置

为了能够使用直方图,请将颜色设置(查看 Histogram 中的注意事项的相关解释)更改为以下值:

  • Color Balance - Red: 1.0

  • Color Balance - Green: 1.0

  • Color Balance - Blue: 1.0

  • Gamma: 1.0

  • Color Mode: UseFirstAcquisition

采集#1 - 曝光高光区域

我们想从曝光高光开始,然后逐渐增加曝光,以覆盖中间区域并最终覆盖低光(深色区域)。 如果以下步骤不足以在场景中的特别光泽和明亮的部分获得良好的数据,我们建议您按 照 处理高光和闪亮的物体 里的步骤设置您的第一次采集。

第1步-设置低曝光值

我们首先关闭除一个采集项之外的所有采集项,因此我们只进行一次采集捕获。然后将曝光设置得非常低,以使图像(或直方图)中没有像素的RGB值为255。以下起始条件应该适用于大多数情况。

  • 光圈 (\(f\)-值): 32

  • Exposure time: 10 000(在60Hz电网频率的地区的设置为8 333)

  • Brightness: max

  • Gain 1.0

捕获后,打开直方图(Histogram )并将其设置为对数模式(Logarithmic mode)。

显示过度曝光图像的直方图 曝光过度的图像

如果图像中仍有曝光过度的区域,如上图所示,请尝试进一步减少曝光时间并增加 \(f\) -number。下图显示了没有过度曝光像素的捕获。如果没有过度曝光的区域,请转到步骤2。

显示曝光不足图像的直方图 曝光不足的图像

第2步-在最亮的像素上获得良好的曝光

通过在曝光等级表中一次向右移动一个stop来减少 \(f\) -number。执行此操作,直到最亮像素的强度接近255。通过观察点云或RGB图像来验证场景中的高光是否具有数据。

在这个示例中,我们需要增加2个stops。 因此,我们的首次采集将包括以下设置值:

  • 光圈 (\(f\)-值):16

  • Exposure time: 10 000(在60Hz电网频率的地区的设置为8 333)

  • Brightness: max

  • Gain 1.0

通常而言,建议使用适用于您的相机型号的最大亮度值。

找到第一次采集后的直方图 找到第一次采集后的彩色图像

采集#2-曝光中间色调

在覆盖了高光之后,我们将继续曝光图像中的更多区域。通过查看直方图,我们确认需要曝光的下一部分图像为曝光强度低于32的部分。我们希望将该区域在图像的上半部向上移动到255,通常可通过增加3-4个stops来完成 。

说明额外采集效果的直方图

第1步-新采集项

添加另一个采集并禁用第一个采集。

添加另一个采集并禁用第一个采集

第2步-增加曝光

总共向右移动3或4个stops。 第一个stop应该使亮度最大化,而其他的stops通常通过设置光圈实现。

The example, acquisition #1 from above has an aperture of 16. Therefore, move three aperture stops to the right (count aperture columns in the Stops Table), which results in aperture 5.6.

采集#2的设置值如下:

  • 光圈(\(f\)-值):5.6

  • Exposure time: 10 000(在60Hz电网频率的地区的设置为8 333)

  • Brightness: max

  • Gain: 1.0

找到第二次采集后的直方图 第二次采集的彩色图像

采集 #N - 继续增加对低光区域的曝光

重复采集#2的步骤。找到需要更高曝光的下一个像素区域,并计算使这些像素的强度接近255所需的stops。请记住仅在启用一个采集项的情况下使用直方图。

如果我们的下一个区域的强度大约为16,我们希望将强度提高到255左右,即增加另外4个stops。 我们可以通过增加增益,光圈和曝光时间来获得这些stops:

采集#3:

  • 光圈(\(f\)-值):2.8

  • Exposure time:20 000(在60Hz电网频率的地区的设置为16 667 )

  • Brightness: max

  • Gain: 2.0

找到第三次采集后的直方图 第三次采集的彩色图像

我们可能需要非常高的曝光才能从最暗的区域提取数据。这可能需要在最后一个采集中使用高曝光时间和增益。

继续添加采集,直到几乎所有像素都位于对数直方图的右侧,如下图所示。

完全覆盖时最后一次采集的直方图 最后一次采集的彩色图像

享受使用HDR

启用所有采集项并捕获HDR以确认您已覆盖增加的动态范围。

最后一次采集的彩色图像

专家提示:以时间为代价进一步改善噪音

如果时间预算允许,可以通过重复采集以实现额外的SNR的提升。 进行多次相同设置的采集相当于执行过采样,因此最多可将噪声抑制 \(\sqrt{N}\),其 中 \(N\) 表示采集次数。重复采集是一种以时间为代价最大化点云质量的绝佳方法,在处理需要更高精度的区域时可以复制针对该区域的采集项进行采样。

重复的关键采集

注意你的取舍

曝光变量

优点

缺点

Exposure Time

  • 对噪声的影响最小

  • 会增加采集时间

  • 错误的使用可能会收到环境光的干扰(典型值为50Hz/60Hz的电网),导致点云伪像以波纹/波浪的形式出现

  • 具有不同曝光时间值的HDR增加了(一些)时间开销在不同的采集之间调整Zivid(仅限于Zivid One+)

Aperture

  • 快速调整(在HDR中快速获得高动态范围)

  • 最高的曝光stops数

  • 焦深/焦点的变化会增加噪点和对比度失真的现象

  • 较小的f-值可能会导致2D图像模糊

Projector Brightness

  • 更高的投影仪亮度能够获得更好的SNR

  • 较低的投影仪亮度,较低的信号,较多的噪音

  • 高占空比会激活热节流

Gain

  • 非常快速的调整(在HDR中获得高动态范围的最快方法)

  • 更高的增益,更多的噪声

  • 较高的值会导致颗粒状的2D图像

备注

对于Zivid 2+和Zivid 2,更改曝光时间比更改光圈更快。对于Zivid One+,更改光圈比更改曝光时间更快。

进一步阅读

在正确曝光采集后,就可以按照 调整过滤器 的说明来设置过滤器了