调整深度相机以获得最佳性能

从相机的最佳深度分辨率开始操作

  • Intel RealSense D435: 848x480

可以使用较低的分辨率,但会降低深度精度。 立体深度传感器的深度测距性能来自于匹配左图像和右图像中对象位置的能力。 输入分辨率越高,输入图像越好,深度精度越高。

如果出于计算原因应用程序需要较低的分辨率,我们建议使用后处理算法在接收到数据后立即对较高分辨率的深度图和彩色图像进行子采样(抽取)。 将D4xx摄像机设置为较低分辨率模式的唯一令人信服的原因是:

  • 减小最小工作范围,这将随x-y分辨率而变化

  • 减少USB3.0总线上的带宽,例如,如果已达到带宽限制,则允许更多摄像机同时运行。

确保图像正确曝光

检查自动曝光效果是否良好,或切换到手动曝光以确保彩色或黑白左右图像良好。 接触不良是造成不良性能的主要原因之一。

Example: Good Example: Bad (under exposed)

通常,我们建议先调整曝光以获取最佳效果,同时保持GAIN = 16(最低设置)。 增益的增加趋向于引入电子噪声,并且尽管彩色图像可能看起来更好,但是深度质量将下降。 曝光单位是微秒,因此33000是33ms。 请注意,过度曝光的图像可能与曝光不足的图像一样糟糕,因此请小心找到正确的曝光。

这是使用自动曝光功能时要考虑的两个其他选项。 启用“自动曝光”后,它将对预定义的兴趣区域(ROI)内所有像素的强度求平均,并将尝试将此值保持在预定义的设定点。 ROI和设定点均可在软件中设置。 在英特尔实感查看器中,可以在高级控件/ AE控件下找到设定值。

undefined

ROI也可以在Intel RealSense Viewer中设置,但是只有在流媒体打开后才会显示。 (确保右上开关处于打开状态)。 然后,您将能够在图像上拖动ROI。 当然,在英特尔实感SDK 2.0中也存在相应的软件控件调用。

undefined

注意:RGB ROI需要单独设置,如下所示。 虽然这不会影响深度质量,但会影响彩色图像质量。

img

定期在平坦的墙壁或目标上验证性能

1.在白墙上测试:打开投影仪(红外)并调节激光功率。 我们建议使用标称值150mW,但请向上或向下调整以获得更好的效果。 例如,如果看到局部激光点饱和,请降低激光功率; 如果深度稀疏,请尝试增加激光功率。

2.在带纹理的墙壁上测试:这是验证性能的最佳方法。 使用英特尔推荐的目标,如下所示。 这些可以在这里下载。 该图案可以投影到墙上或印刷并附着在平坦的刚性表面上。 关闭投影机。 指向墙壁并测量平面拟合的RMS误差。 英特尔实感深度质量工具将提供包括RMS误差在内的指标。 生成此特定图案以显示许多不同比例的纹理,因此应在相当大的距离范围内工作。 校准良好的相机应产生小于0.1的亚像素RMS误差。

3.重新校准如果平板目标测试显示性能下降,则可能需要重新校准相机。 例如,如果RMS误差超过中心ROI的〜0.2像素,则可能需要重新校准,尤其是在性能的其他方面(例如填充率或准确性)也下降的情况下。 可以从以下位置下载动态校准工具 https://dev.intelrealsense.com/docs/calibration,或者您可以使用Intel RealSense Viewer运行片上自我校准(更多详细信息,请访问https://www.intelrealsense.com/self-calibration-for-depth-cameras).

4.阅读深度质量白皮书:我们还创建了单独的白皮书,可在此处找到 https://dev.intelrealsense.com/docs/camera-depth-testing-methodology .

5.了解理论极限.使用以下公式了解RMS深度误差的理论限制。 请注意,通常您应该在纹理良好的目标上看到它。 RMS误差表示适合深度值的局部平面的深度噪声:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y2EDFNrH-1617853478233)(/home/zhongsy/.config/Typora/typora-user-images/image-20200925132052551.png)]

对于质地良好的目标,可以预期子像素<0.1,甚至接近0.05。 通常,在关闭激光的情况下,您应该会看到约30%的子像素变小。

深度噪波往往表现为平面上的凹凸,看起来有点像鸡蛋盒。 这是意料之中的。

使用以下曲线可获得:

  • D415 with HFOV=65deg, Xres=1280, and baseline=55mm,
  • D435 with HFOV=90deg, Xres=848, and baseline=50mm.
    Both are for subpixel=0.08.

undefined

可以看出距离越远深度值误差就会大的多。

使用深度设置

  1. D4 VPU中的深度计算受到40多个不同参数的影响(在“高级模式”API中暴露)。 我们有5种以上不同的“深度预设”或配置,我们推荐尝试一下。 D4 VPU中的默认设置适用于一般用途,但“高密度”将为您提供更好的填充因子,即较少的孔洞。 这对于像深度增强摄影这样的用途是很好的,但对于大多数一般用途也是很好的。

  2. “高精度”预设将施加更严格的标准,并且将只提供那些以非常高的置信度生成的深度值。 这通常会给出一个不那么密集的深度图,但对于那些深度错误的自主机器人来说是非常好的,也就是说。 幻觉,比没有深度要糟糕得多。 为了说明这一点,假设您正在制作一个需要穿过熔岩的机器人。 机器人需要100%准确地知道它是踩在突出的坚硬岩石上,否则后果将是灾难性的。 当然最极端的情况是,我们在深度上过于保守,机器人看不到前方真正的障碍物,但推荐的设置应该不错。也就是说,开启了高精度模式,那么有信息的深度值就会减少,但置信度会很高也会很精确

  3. 有关深度预设以及每个预设的图片的更多信息,请参阅以下内容:https://github.com/IntelRealSense/librealsense/wiki/D400-Series-Visual-Presets 我们要强调的是,D4 VPU深度算法由许多不同的参数控制。 英特尔提供了一组名为“深度预设”的参数选项,可供使用。 本着开源精神,我们确实允许直接访问这些参数。 然而,考虑到所有参数之间存在复杂的相互作用,我们目前使用机器学习来针对不同的用法进行全局优化。 出于这个原因,我们不打算在将来提供任何关于“每个参数做什么”的描述。

尽可能靠近一点

  1. 英特尔实感D400深度摄像头可为附近物体提供最精确的深度测距数据。 深度误差与距离的平方成比例。 因此,在任何可能的情况下,都应尝试尽可能靠近物体,但不要离物体太近以至最小操作距离MinZ。

Looking at Slanted Plane: “MinZ Noise” can be reduced using depth settings.  LEFT= “High Density”,  RIGHT=“High Accuracy” preset

观察倾斜的平面:“MinZ Noise ”可以减少.使用深度设置。左=“高密度”,右=“高精度”预设 (目前用不上)

如果Minz成为一个问题(意味着您需要比Minz更接近),您可以通过降低深度成像器的分辨率来降低此问题。 Minz将随深度传感器的X分辨率线性缩放。 请注意,对于1280x720的D415,Minz约为43.8 cm,而对于848x480的D435,Minz约为16.8 cm。 公式是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f1tcz5hB-1617853478241)(/home/zhongsy/.config/Typora/typora-user-images/image-20200925142836737.png)]

减小minZ的另一种方法是在高级模式api中使用“视差移位”参数。 通常,将深度传感器设置为生成距离minZ到无穷远的对象的深度。 例如,通过将视差移位从0增加到128,您将能够将该范围移位到NewMinZ到NewMaxZ。 通常,我们仅建议在已知没有比MaxZ更远的物体时执行此操作,例如将深度摄像头安装在桌子上方并指向桌子表面。 注意,由于视差与深度之间的反比关系,随着视差偏移的增加,MaxZ的下降速度将比minZ快得多。 因此,建议不要使用比必要的视差偏移更大的视差。 例如,如果使用视差平移128,则newMaxZ大约等于原始MinZ,而newMinZ大约等于原始MinZ的一半。 请注意,以这种方式减小MinZ的权衡之处在于,看不到距离MaxZ更远的对象。也就是说,调节视差位移可以优化min_z

undefined

使用多个深度摄影机

  1. 如果摄像机的视野(FOV)成为同时捕获整个场景的深度的问题,那么可以考虑使用多个深度摄像机来提供更大的覆盖范围。

  2. Intel RealSense D4xx摄像头互不干扰。API提供时间戳和帧计数器,但如果您需要在几微秒(即子帧时间)内进行硬件同步,则也可以通过外部同步电缆将摄像头连接在一起,并告诉其中一个是主摄像头,另一个是从摄像头。(请参见单独的白皮书)See separate white paper on this

  3. 使用多个深度摄影机的最佳方法是使用各自的捕获和处理线程独立处理每个深度摄影机,然后在计算其点云后将它们组合起来。

使用后处理TODO: 比较效果以及处理时间

默认情况下,我们不会对深度进行任何后处理,而是将其留给更高级别的应用程序。 我们在英特尔RealSense SDK 2.0中添加了一些简单的后处理选项,但这些选项并不是详尽的。 通常,我们建议应用以下一些后处理步骤:

  1. 子采样:进行智能子采样。 我们通常建议对像素及其邻居进行非零均值处理。 所有立体声算法确实涉及一些卷积运算,因此降低捕获后的(X,Y)分辨率通常对于减少高级应用程序所需的计算量非常有益。 分辨率降低2倍将使后续处理速度提高4倍,比例因子4将使计算量降低16倍。 此外,子采样可用于使用非零均值或非零中值函数进行一些基本的空洞填充和数据平滑。 最后,子采样实际上也往往有助于点云的可视化。

  2. Temporal filtering:尽可能使用平均时间量来改善深度,并确保不要考虑“空洞”(深度= 0)。 深度数据中存在时间噪声。 我们建议使用IIR滤波器。 在某些情况下,使用“持久性”也可能是有益的,其中无限期或在特定时间范围内保留最后一个有效值。,,

  3. Edge-preserving filtering : 这将平滑深度噪波,保留边缘,同时使表面更平整。 但是,应再次注意使用不会过度积极地删除特征的参数。 我们建议您在视差域(即,深度比例为1 /距离)中进行此处理,并尝试通过逐步增加步长阈值进行实验,直到最适合预期用途为止。 另一种成功的后处理技术是使用由RGB图像引导的域变换滤镜或双线性滤镜。 例如,这可以帮助锐化边缘.在视差域进行处理

  4. Hole-filling :一些应用不能容忍深度的孔。 例如,对于深度增强摄影,重要的是每个像素都有深度值,即使只是猜测。 为此,有必要根据相邻值或RGB图像以最佳猜测填充空洞。这个比较有用>

更改深度步长

  1. 可能需要在高级模式api中更改“深度单位”。 默认情况下,D4 VPU提供16位深度,深度单位为1000um(1mm)。 这意味着最大射程为〜65m。 但是,例如,通过将其更改为5000um,可以将深度报告为最大值5x65 = 325m
  2. 另外,当在非常近距离下操作时,英特尔实感D4xx摄像机可以固有地提供远低于1mm的深度分辨率。 为了避免量化影响,有必要将深度单位减小为100um,最大范围为6.5m。  TODO:如果允许的话,可以调节范围,获取更高的精度

尽管可以通过使用视差平移降低X分辨率并减小深度单位来获得真正接近的物体的深度,但是还有其他因素最终会限制近距离性能。 英特尔实感D4xx摄像头目前聚焦在50厘米至无限远处,因此将在20厘米以下开始失焦。 同样,对于不平坦的物体(例如墙壁),在非常近的范围内,左右摄像机的视野可能会有所不同,因此不会给出任何深度范围。 要理解这一点,请考虑将食指移近眼睛。 在某些时候,您的左眼和右眼实际上会看到手指的另一侧,因此根本无法进行立体声匹配。

使用外部投影仪

TODO: 在黑夜的环境下可以增加一个外部红外投影

  1. 虽然内置投影机非常好(如下所示),但实际上功率很低,并且不能照亮非常大的房间。 因此,有时增加一台或多台额外的外部投影仪是有益的。 D4xx摄像机将从投影到没有固有纹理(例如平坦的白墙)的场景上的任何其他纹理中受益。 通常,使用任何外部投影机时,只要D4 VPU连续打开或以> 50KHz的频率闪烁,就无需在D4 VPU中进行调整,以免干扰传感器的滚动快门或自动曝光性能。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hwCpldsj-1617853478245)(https://files.readme.io/5ab2b4e-b11.png)]

  1. 外部投影仪在固定安装中非常有用,因为固定安装中低功耗并不重要,例如静态盒子测量设备。 通过增加靠近对象的照明,它也可以照亮远处的对象。

  2. 关于特定的投影图案,我们建议使用5000至300,000个半随机点。 我们通常建议比例不变的模式。 这意味着,如果投影仪和深度传感器之间的间距发生变化,则深度传感器仍会在很大的距离范围内看到纹理。

  3. 可以使用可见光或近红外光(范围为~400-1000 nm),尽管我们通常推荐850 nm是一种很好的折衷方案,既能让人眼看不见,又能让红外传感器看到,灵敏度降低约15-40%,具体取决于使用的传感器。

  4. 使用基于激光的投影仪时,采取一切必要措施以减少激光散斑非常重要,否则会严重影响深度。 非相干光源将在深度噪声方面带来最佳效果,但通常无法在远距离产生高对比度的图案。 即使采用所有减少斑点的方法,看到被动目标或LED投影仪的深度也要比基于激光的投影仪好30%以上。

  5. 投影仪不需要与深度传感器放在同一位置。 如果需要,也可以移动或摇动投影仪,但不需要这样做。

  6. 确保投影仪是人眼安全的。

使用左侧彩色相机

  1. 虽然D415和D435相机都具有内置的第三色相机,该相机通过ISP处理以提供与深度无关的良好色彩,但是有很多原因代替(或另外)使用立体声对的左相机。

  2. “左IR”相机的优点是始终1.与深度图完全对齐、校准和重叠,2.完全时间同步,3.不需要额外的计算开销来对齐颜色到深度,以及4.不提供额外的遮挡瑕疵,因为它是完全共同对齐的。 主要的缺点是,如果打开投影仪,它通常会显示投影仪图案。

  3. D415使用颜色传感器进行深度测量,而D435使用单色传感器。 D415的一项非常出色的专利功能是,深度D4 VPU能够基本删除IR投影图案,而无需额外的CPU或功耗。 仅适用于1280x720分辨率的D415。 它基于将高级模式API中的颜色校正矩阵更改为以下12个值。 请注意,激光尚未关闭,因此深度完全不会受到影响。 但是,绿色会减少。

选择最适合这项工作的相机

D415和D435之间的主要区别在于D415的水平视场(HFOV)约为64度,而D435的水平视场约为86度。 后者也使用全局快门成像器,而不是前者中的滚动快门成像器。 另一个区别是,D415在一个加劲肋上都具有左+右成像器,发射器和RGB传感器,从而使第3色成像器的校准强度提高了一个数量级。 D435摄像机基于D430模块,并使用连接到单独的加强板的单独的RGB摄像机。 该选择基于前几代相机和模块的反馈,其中一些客户希望灵活地选择所需的RGB相机。 另一个区别是D415使用2x 2百万像素成像仪(OV2740),基线为55mm。 D435是2x 1百万像素(OV9282),基线为50mm。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nHbTG5iy-1617853478246)(/home/zhongsy/.config/Typora/typora-user-images/image-20200925153959831.png)]

与D415相比,由于FOV更宽,基线更小,传感器分辨率更小,因此D435在任何给定范围内的深度噪声(> 2x)都更大。 但是,D435确实受益于在相同分辨率下具有更小的最小工作距离(minZ)。 这意味着您可以靠近物体。 例如,在848x480下,D415的minZ约为31cm,而D435的minZ约为19.5cm。

更改背景

尽管许多应用程序不允许更改环境,但某些用法却可以。 例如,如果目的是检查放在桌子上的包裹,则如果桌面上有无光泽的纹理图案(如上图3b中所示),将对测量有很大帮助。 这优于白色光泽的背景,例如白色的桌面。也就是说白色对相机有比较大的影响

更换红外线滤镜或背景照明

  1. 英特尔实感D415和D435都能看到可见光和红外光。 原因是英特尔实感视觉处理器D4 VPU可以很好地从纯被动场景中提取深度,而无需使用任何投影仪,并且实际上受益于使用红色,绿色,蓝色图像。 但是,如果目的是要在室内长距离看到白墙,则可能有必要提高投影激光图案的SNR。 当然,这可以通过增加激光功率来实现,但是也可以通过在左+右成像器的前面放置一个红外带通滤波器来实现。 要确定这是否会改善性能,您可以尝试在关闭投影机电源的同时关闭所有灯光,因为这将有效地模拟您在打开IR滤镜时所看到的性能。 这样,“白墙”范围可以从〜3m增加到10m。

  2. 在英特尔RealSense D4xx摄像机前面放置任何光学窗口或滤镜时,务必确保投影仪发出的激光不会反射回成像仪,因为这会对深度产生不利影响。 我们建议对左右两个成像器使用不同的窗口。

避免重复结构(eg.铁丝网)

立体深度计算取决于确定左右图像之间的匹配。 如果场景中有重复的结构,例如栅栏或铁丝网,则此确定可能会变得模棱两可。 我们用于确定置信度的工具之一是高级API设置“ DSSecondPeakThreshold”。 英特尔实感D4 VPU确定最佳匹配和次最佳匹配的匹配分数-如果最佳匹配的质量与次最佳匹配的质量相似,则很可能由于重复结构导致的混叠而发生-差异如何 这两个匹配需要由“ DSSecondPeakThreshold”参数确定。 通过增加其值,更多的深度结果将显示为黑色或零,从而减少了因混叠而导致的匹配次数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5GrXE1bW-1617853478248)(https://files.readme.io/44d8b18-b17.jpg)]

  1. 可能有帮助的另一种缓解策略是使相机相对于水平方向倾斜几度(例如20至30度)。

使用阳光,但避免眩光

  1. 大多数深度相机在阳光下会急剧退化。 相比之下,英特尔实感D415和D435都倾向于在强光下表现更好。 理解这一点的方法是,英特尔实感D4xx中的深度质量与输入图像的质量直接相关。 众所周知,小型手机摄像机(以及英特尔实感D4xx系列中使用的摄像机)在弱光条件下的图像质量较差,但在明亮的阳光下却能提供出色的图像。 阳光减少了传感器的噪音,并倾向于“带出”物体的纹理。 此外,可以将曝光减少到接近1ms,这也减少了运动伪像。 因此,结果是Intel RealSense D4xx摄像机在阳光下实际上表现非常出色。

  2. 一个需要注意的问题是指着太阳或靠近太阳时的镜头眩光。 建议使用挡板遮挡镜片,以降低镜片眩光的风险。

  3. 在室外操作英特尔实感D4xx摄像机时,在自动曝光方面要特别小心,尤其是在图像中可见太阳或太阳反射的情况下,这一点很重要。 默认情况下,自动曝光算法会尝试将整个图像的平均强度保持在一定范围内。 如果太阳在该图像中,其他所有物体都会突然变黑。 对于许多应用程序,例如自动驾驶机器人或汽车,它有助于将自动曝光算法的关注区域更改为较小的尺寸,或者特别是更改为图像的下半部分。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐