DL Object Finder 检测流程高级配置

本章会详细介绍如何优化 DL Object Finder 检测流程,以及它所提供的高级检测配置。

如何优化

当您使用DL Key Point检测流程无法正确 检测 物体时,您可以检查以下几点

  1. 检查2D匹配结果

    检查您的深度学习模型是否能够正确的检测到物体

    使用快速检测功能,向下滚动页面,然后观察2D匹配是否准确:

    1. 检查红色的边缘是否能够完好的和白色掩码匹配,如果红色的边缘无法很好的匹配白色的掩码 请参考 第三步:调试高级参数

    2. 检查白色的物体掩码是否符合物体的实际位置,白色的物体掩码是深度学习给出的结果。如果深度学习检测失败,请参考 深度学习优化

    ../../_images/qd_modf.png
  2. 检查您的点云质量

    检查是否有点云缺失,是否有点云噪声,导致对齐点云时出现严重偏差, 使用快速检测功能,观察点云是否有缺失,或者噪点。如果点云质量偏差,请参考 相机配置优化

    ../../_images/qd_modf2.png
  3. 优化模型

    当红色边缘无法很好的匹配到白色轮廓时,请检查以下几点:

    1. 2D 模型的参照点是否在物体掩码区域中心

      2D 模型的参照点应当在深度学习给出的掩码中心,这样2D匹配才是最准的。

      ../../_images/dlmodf_refp.png
    2. 2D 模型的边缘是否存在噪点

      擦去任何2D边缘模型中,不属于目标物体的边缘。只保留物体上固有的边缘,如果一个边缘不是每次检测都会固定出现在物体上,那么这个边缘也应该被擦除。

      ../../_images/dlmodf_mask.png
  4. 调试高级参数

    如果两个挨着的物体无法正确的匹配,或者只有其中一个能够被匹配,那么可以适当的提高,重叠模型接受度

高级检测配置

模型的高级参数

在定义和优化模型中,可以调整2D模型的高级参数,以获得更好的匹配结果。

../../_images/dl_modf_adv_setting.png

2D 预处理

  • 增强对比度:

    使用CLAHE操作增强图片的对比度, 使边缘更清晰可见。

    ../../_images/clahe.png
  • 平滑度:

    使用高斯滤波使图像以及边缘变得平滑,在此过程中也会去除一些高斯噪点。

    ../../_images/blur.png
  • 细节等级:

    2D 边缘提取的细节等级,更高的细节等级会提取更多边缘,但是也会产生更多噪点。

    ../../_images/detail_lvl.png
  • 去噪:

    去除边缘提取中短小的边缘,更高的去噪设置会去除 面积更大的噪点。

    ../../_images/noise_rm.png

2D 后处理

  • 2D模型大小:

    调整模型大小并按比例调整图像。较小的模型将加载更快,但可能会降低准确性。

  • 缩放模型以匹配大小:

    勾选启用后,会使用缩放、放大后的模型进行匹配 例如:模型大小范围为0.8-1.2。由于缩放步骤固定为0.1,因此将按0.8、0.9、1、1.1、1.2缩放模型,并使用缩放后的模型进行匹配。

2D匹配

  • 图像中要检测的物体数量:

    每个深度学习给出的掩码中,2D匹配的最大返回结果数。通常设置为1。

  • 2D搜索接受度:

    2D匹配的接受度,更高的接受度会返回更少但是更准的匹配结果,任何匹配结果的匹配度不满足于接受度的,都会被过滤掉。

  • 重叠模型接受度

    当两个物体接近时,边缘会发生重叠,则只有其中一个能够被匹配到。那么如果设置的模型重叠接受度高,那么两个物体都会被匹配到。如果接受度低,则只有其中一个会被匹配到。

拍照

自适应相机:

可以设置最多4个不同的相机参数以预设的方式进行切换,这个功能通常在环境光有很大的变化时为了保持相对固定的成像亮度而使用,比如白天光源比较多,那么就可以使用一个较暗的相机参数。晚上光源变少,那么就可以使用一个较亮的相机参数。

  • 根据时间表加载相机参数:通过时间表,在指定时间范围内,使用指定的相机配置。

    ../../_images/cfg_by_time.png
  • 根据机器人命令加载相机参数:通过调用函数,daoai_cam_config(id) 来进行切换。

    ../../_images/cfg_by_robot.png
按高度过滤物体

这个功能会保留最上方的一层点云 并过滤掉指定距离以外的点云。例如,当场景中有堆放有几层的箱子,那么使用这个功能就可以只保留最上面一层箱子的点云。

../../_images/dynamic_box.png
  • 相机与点云中最高点的距离(毫米):设定了一层的高度,以参考系为准, z轴最高的一个点开始,往下保留多少毫米内的点云。

  • 去除一些点/噪声:场景中有噪声时,该功能会被高出的噪点影响,以至于保留错误的层位置。那么移除一些噪声,就可以避免这个问题。

2D匹配

2D 精确度

中(默认):默认匹配,会以深度学习为参考点,匹配2D边缘模型。 高: 在默认匹配的基础上,再进行一次额外的匹配以获得更好的结果,会增加检测时间。

../../_images/modf_2d_setting.png

3D匹配

匹配方法:

匹配方法指的时点云的对齐方式, 通常,在使用点云模型进行匹配时,就选择点对点;在使用CAD模型进行匹配时,就选择点对面。

../../_images/align_setting.png
  • 点对点:匹配时使用模型的每个点匹对场景中的点。

  • 点对面:匹配时,仅使用模型的表面点云来匹配场景中的点。

3D 搜索范围:
../../_images/search_reg.png
  • 小:仅使用初步匹配的小范围空间进行点云对齐匹配。优点是会节约匹配时间,缺点是会在初步匹配误差过大时,无法对齐物体。

  • 大:不限制点云对齐时的对齐范围。优点是更可能产生到高质量的结果,缺点是会增加计算量和对齐时间。

3D 精确度:
../../_images/error_tol.png
  • 这里的精度指的时3D对齐时的,需要多少精度误差,才可以接受并算作成功的物体匹配。通常选择低,会得到更好的匹配结果,但是可能会增加匹配时间。

空间下采样:
../../_images/downsample.png
  • 该设置会使点云的密度降低,以加速匹配时间。通常下采样更低,匹配结果越好,匹配时间也就越久。

物体位姿过滤
../../_images/obj_filter.png

这个功能会过滤设定范围以外的物体检测结果。以参考物体为准,平移或者旋转超出了设定范围的物体匹配结果会被过滤掉。

  • 点最小值,当匹配到的物体,相对与定义物体时的位置坐标的任意(x,y,z)值小于所设定的值,那么改物体检测结果会被移除。

  • 点最大值,当匹配到的物体,相对与定义物体时的位置坐标的任意(x,y,z)值大于所设定的值,那么改物体检测结果会被移除。

  • 平移范围,当匹配到的物体,相对与定义物体时的位置坐标的任意(x,y)值超出所设定的范围,那么改物体检测结果会被移除。

  • 倾斜范围,当匹配到的物体,相对与定义物体时的位置坐标的任意(rx,rt)值超出所设定的范围,那么改物体检测结果会被移除。

深度学习

深度学习设置可以用来过滤结果,或者对深度学习结果进行后处理。

../../_images/dl_setting.png
  • 特征值x:

    特征值会过滤横向大小超出设定范围的掩码。因为错误的掩码的大小通常会也有错误。那么就可以使用这个范围来过滤错误的掩码。

腐蚀卷积核的大小/像素

  • 腐蚀卷积核的大小/像素

    腐蚀操作的卷积核大小,通常的大小为,3,5,7,9。卷积核越大,腐蚀后的掩码图就越小。

  • 腐蚀迭代/次数

    腐蚀操作的应用次数,次数更多,腐蚀后的掩码图就越小

膨胀卷积核的大小

  • 膨胀卷积核的大小

    膨胀操作的卷积核大小,通常的大小为,3,5,7,9。卷积核越大,膨胀后的掩码图就越大。

  • 膨胀迭代/次数

    膨胀操作的应用次数,次数更多,膨胀后的掩码图就越大

../../_images/erode_dilate.png

原图(左),腐蚀操作后的图(中),膨胀操作后的图(右)

验证

验证功能会对检测到的物体与检测模型进行比对验证,如果验证失败,那么该物体检测结果会被移除。

  • 验证:开启/关闭验证功能。

  • 置信度:调整验证的置信度,置信度越高,验证结果越严格。