Hole Filling Filter(空洞填充过滤器)

Hole Filling(空洞填充)过滤器可以填充点云中的缺失点。它会在点云中缺失点周围的圆形邻域中插入被认为是丢失的点。缺失点可能是被其他过滤器移除的,或者一开始就没有重建。

备注

建议在添加空洞填充过滤器之前应用 移除过滤器 。这样可以防止噪点的插值。

为什么需要空洞填充过滤器?

如果您的算法需要特定的点云密度,则此过滤器可以帮助填补密度较低的区域。

考虑以下场景,其中有一个装满消费品的箱子:

装有消费品的料箱

在使用消费品(Consumer Goods)类别的快速预设参数时,您将获得下方左侧显示的结果。现在,将其与*默认(default)*和*强(strong)* 空洞填充设置下的结果进行比较。这可能是计算针对所有物体的良好抓取位姿成为可能的原因。

空洞填充过滤器被关闭

空洞填充过滤器被关闭

Hole Filling filter disabled

空洞填充过滤器 0.2(default)

空洞填充过滤器 0.2(default)

Hole Filling filter 0.2 (default)

空洞填充过滤器 0.7(强)

空洞填充过滤器 0.7(强)

Hole Filling 0.7 (strong)

如何控制空洞填充过滤器

Enabled

打开/关闭过滤器

HoleSize

将要填充的孔的相对直径。增加该值会填充更多的点,但需要更多的计算时间。允许填充的最大孔尺寸与成像距离是比例关系,因此我们允许在更远的距离(以毫米为单位)处填充更大的孔。”

Strictness

该参数表示考虑是否应填充一个点时的严格程度。更高级别的严格程度将要求缺失点被更多边上的有效点包围,该缺失点才会被填充。增加这个值会填充更少的点,但填充非圆形间隙的可能性较小,例如两条边之间的间隙。

建议使用以下参数值:

参数

数值

条件

Enabled

no

如果您不接受推断出来的数据,或者如果您负担不了额外增加的处理时间。

yes

如果您的算法需要更高的点云密度,而您目前遇到了点云较为稀疏的问题。

HoleSize

0.01

只填充最小的空洞(快速)

0.2

(默认值)在1000毫米距离处以至多约8毫米的近似半径填充空洞 [1]

0.7

在1000毫米距离处填充半径至多约为25毫米的较大空洞 [1] (慢)

Strictness

1

即使在圆形邻域中几乎没有有效点时也可以填充空洞

4

仅填充圆形邻域中被有效点包围的空洞

可视化Hole Size

在下面的可视化工具中,孔尺寸显示为黄色圆圈。它按比例绘制在Zivid标定板的顶部。轴显示了给定距离处相机的FOV。因此,您实际上可以看到棋盘格占据了多少FOV。

处理时间

由于过滤器的操作方式,处理时间随 hole size 参数呈指数增长。只要您有一台功能强大的PC,那么这通常不是问题,比如 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz with NVIDIA GeForce RTX 3070 。对于较便宜的硬件,尤其是集成GPU,应该注意设置了较大的孔尺寸的处理时间。在低端硬件上最高设置可能需要几秒钟。

备注

空洞填充过滤器在每个3D捕获中会增加以下处理时间:

以毫秒为单位的预期中位数 (±stddev)

过滤器

Intel UHD i5G1

NVIDIA 4070

Intel UHD 770

Low-end [2]

High-end [3]

Hole Filling

65 (±3) ms

9 (±1) ms

40 (±2) ms

以毫秒为单位的预期中位数 (±stddev)

过滤器

Intel UHD 750

Intel UHD i3G1

NVIDIA 3070

High-end [4]

Low-end [5]

High-end [6]

Hole Filling

129 (±4) ms

199 (±103) ms

22 (±3) ms

以毫秒为单位的预期中位数 (±stddev)

过滤器

Intel UHD 750

Intel UHD i3G1

NVIDIA 3070

High-end [7]

Low-end [8]

High-end [9]

Hole Filling

212 (±3) ms

335 (±2) ms

23 (±3) ms

特殊的注意事项

空洞填充为点云增加了点,但实际上并没有增加信息。添加的点是根据应用其他过滤器后保留的信息进行插值处理的。空洞填充适用于系统其他部分有一定柔性的应用。例如,使用吸盘进行抓取的应用,无论抓取目标是单个SKU还是多个SKU。这些应用在密集点云的情况下可能表现更好,因为提供良好抓取位姿的机会更高。

有些应用依赖于每个单独点的绝对精度。比如高分辨率检测和/或3D模型构建。这些应用可能不太适合使用空洞填充功能。

版本历史

SDK

变更

2.9.0

增加了空洞填充过滤器