跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

优化成像质量#

本主题介绍您可以调整哪些参数来获得立体图像和深度图像的最佳 Quality。

相机参数(如 帧率、Exposure Time 和 增益)决定了图像捕获的时间和方式。除此之外,它们对图像 Quality 也有着巨大的影响。为了进一步提高深度图像的 Quality,您可以调整许多立体匹配参数。

这两种参数都可以使用 pylon 3D Viewer 进行配置。这使您可以立即在相应的图像窗口中看到任何设置更改的效果。

相机参数#

要检查您所做的更改,请使用 Intensity 图像窗口。

帧速率#

可达到的最大帧率(以每秒帧数 = fps 为单位)取决于相机的配置和主机系统的硬件。有几个关键因素会影响帧率:

  • 照明控制:投射器的占空比限制在最大 2.5%。加上最多 5 ms 的 Exposure Time,这限制了图像捕获的速度。
  • Exposure Time:Exposure Time 直接影响图像采集之间的间隔。较短的 Exposure Time 允许更高的帧率,而较长的 Exposure Time 会降低可能的最大帧率。
  • 深度计算: 计算深度图像所需的时间取决于通过以下方式设置的分辨率: BslDepthResolution 参数以及主机系统上可用的处理硬件(CPU 或 GPU)。更高的分辨率和性能较低的硬件会增加处理时间,从而降低可实现的帧率。

帧率决定了通过 GigE Vision 接口传输多少图像。降低帧率可以显着降低网络负载以及 Stereo ace 相机和接收主计算机的计算负载。在许多应用中,可以也应该降低帧率,以满足系统性能,同时仍满足应用的要求。

Exposure Time 和 Gain#

Exposure Time 是在图像采集过程中图像传感器暴露在光线下的时间。它会影响捕获图像的亮度。Exposure Time 通常在几毫秒的数量级。如果场景中的光线较少,则需要更长的 Exposure Time。但是,如果场景中的对象或 Stereo ace 相机本身移动,较长的 Exposure Time 可能会导致模糊。

影响图像亮度的第二个参数是增益。增益是一个放大系数,允许您使图像显得更亮。但与此同时,它也会增加图像噪声。

通过配置 Exposure Time 和增益,您可以专注于与您的应用相关的场景部分,例如场景中心的对象。必须避免感兴趣区域内的曝光过度,但可以容忍与应用无关的场景部分中的曝光过度。

作为一般规则,对于图像处理而言,曝光过度比曝光不足更糟糕,因为像素饱和过快会导致曝光过度区域中的信息丢失。相比之下,曝光不足的区域通常包含足够的信息进行图像处理。因此,最好将参数配置为图像偏暗而不是太亮。

仅应在光线不足的情况下或为了避免运动模糊而要减少 Exposure Time 时才增加增益。作为一般规则,增益值应始终尽可能低。

立体匹配参数#

要检查您所做的更改,请使用 Point Cloud、Depth Map 和 Confidence 图像窗口。

工作范围#

首先,您需要考虑应用的工作范围。通过设置 BslDepthMaxDepth 参数设置为某个值将使深度图像中较远的所有像素无效。这是排除与应用无关的场景部分的简便方法。

类似地,您可以增加 BslDepthMinDepth 如果确定没有任何目标物体比指定的距离更靠近 Stereo ace 相机,则可以使用该参数。增加最小深度不仅能缩短计算深度图像所需的时间,还能提高帧率。

延迟#

在某些应用中,计算深度图像的延迟比深度值的 Quality 更重要。在这种情况下,您可以减少 BslDepthResolution 参数从 Full 更改为 High 或 Low. 较低的深度分辨率会缩小立体匹配前的图像尺寸。这可以显著减少处理时间并提高可实现的帧率。但是,计算深度图像的帧率始终受相机帧率设置的限制。

如果主机端传输和显示负载成为瓶颈,您还可以减少 BslIntensityResolution.

如上所述,如果可能,应增加最小深度,因为这也有助于减少延迟并提高可实现的帧率。

Density#

密度是衡量图像中无效像素数量的指标。密度越高,无效像素越少。深度图像通常包含无效值,在 pylon 3D Viewer 显示的深度图中这些无效值呈现为黑色。对于超出指定工作范围的场景部分以及物体左侧的区域,都会出现这种情况。这是因为左侧相机是参考相机,右侧相机无法看到背景的一部分。这称为遮挡,是一种正常现象。

一般来说,无效像素是不可取的。它们是由立体匹配方法无法计算深度引起的。原因多种多样。有五种不同的(且互补的)策略可用于提高深度图像的密度:

  • 调整图像曝光:过曝区域不包含足够的信息来进行匹配,因此会显示为无效。此外,如果图像噪声比场景纹理更强,区域也可能会显示为无效。如Exposure Time and Gain部分所述,调整曝光时间和增益设置可以解决这两个问题。
  • 利用 Static Scene: 如果在图像捕获过程中场景和 Stereo ace 相机保持静止,Basler 建议使用静态模式(BslDepthStaticScene parameter). When this parameter is enabled, the Stereo ace camera internally collects consecutive images and averages these images to reduce noise. This permits stereo matching even for weakly textured objects. This often results in much denser depth images.
  • 通过投影仪改善场景纹理:室内环境中出现无效区域最常见的原因之一是缺乏纹理或存在高度重复的纹理。通常,墙壁和桌子是单色且没有任何纹理的。其他结构则是高度重复的。这两种情况其实都不利于成功进行立体匹配。如果这些纹理过多或过少的物体和场景部分对应用至关重要,唯一的捕获方法就是通过投影仪人工添加纹理。
  • 选择 Illumination Mode: 要在场景中不使用投影图案的情况下检索强度数据,请使用 AlternateActive Illumination Mode。在此模式下,每次图像捕获会执行两次曝光:一次启用投影仪用于深度计算,另一次用于捕获强度数据。请注意, AlternateActive 会增加延迟。如果只需要视差数据,您可以通过设置来减少延迟 BslIlluminationMode 更改为 AlwaysActive 而不是 AlternateActive. 这样,投影仪在曝光期间将始终处于启用状态。
  • 配置照明: 调整 Illumination Strength 参数 BslIlluminationStrength 和 BslIlluminationMode 以优化适合您场景的投影图案。增加 Illumination Strength 可以提高投影图案的可见度,尤其是在环境光很强的场景中。同时,您必须确保不超过占空比和最大激活时间。选择适当的 Illumination Mode 以将投影仪与相机曝光同步,从而获得最佳效果。在 AlternateActive Illumination Mode 下,如果环境光较少且没有投影图案的图像太暗,请尝试降低 Illumination Strength 并增加曝光时间以获得更好的图像亮度。

Depth Artifacts#

以下深度伪影很常见:

  • 野值(Outliers):通常是可能出现在工作范围内的任意位置的小块深度值。
  • 几何误差:被判定为不正确但接近真实深度的深度值。

滤波错误是指将错误的深度值设为无效值。此 BslDepthFill 参数可用于内插通常由错误滤波引起的小面积区域。较高的 fill-in 值会增加可内插区域的数量。内插区域的大小直接取决于错误滤波的分割设置。

离群值 可以使用 BslDepthSeg 参数进行滤除。该参数指定要移除的最大连接像素数。所有像素较少的斑块都将被设为无效。该大小也用于 BslDepthFill 参数。由此滤镜引起的孔洞通常会被内插。

另一种减少离群值可能性的方法是提高最低置信度,因为置信度是像素不是离群值的概率。

具有潜在高 几何误差 的深度值可以使用 BslDepthMaxDepthErr 参数。

进行滤波。对于某些应用,深度图像中的曲面必须保持平滑。启用 Smoothing 参数即可实现这一点。

如果相机图像包含未在深度图像中重建的高光(镜面反射),您可以验证这些高光是否由相机的投影仪引入(例如,只需关闭投影仪)。在这种情况下,Basler 建议使用 Double-Shot 模式。