Cluster Filter(聚类过滤器)
The Cluster Filter removes floating points and isolated clusters from the point cloud.
小技巧
This filter is especially useful if you use collision avoidance while picking objects. Let’s say there is a cluster of points above an object, but that cluster doesn’t exist in the reality. The robot can interpret such floating clusters as real obstacles instead of something it can physically collide with. That can lead to undesirable picking poses of the object or even the inability to pick it.
如何控制聚类过滤器
Enabled
打开/关闭过滤器
MaxNeighborDistance
仍归类为属于同一簇的相邻点之间的最大归一化距离。该过滤器会移除相邻点之间的距离比MaxNeighborDistance更远的聚集的噪点(密度低于此阈值的聚集噪点)。设定值越低,过滤越积极。
MinArea
聚集噪点的面积,以平方毫米为单位。过滤器会移除面积低于此阈值的聚集噪点。增大该参数会导致移除更大的聚集噪点。
对于希望移除的点,它必须属于满足 MaxNeighborDistance
和 MinArea
要求的聚集噪点。
参数 |
数值 |
条件 |
---|---|---|
|
|
If you do not have floating points, isolated clusters, or if you cannot afford the added processing time |
|
If you want to remove floating points or isolated clusters |
|
|
|
稀疏的聚集噪点,适用于大多数场景 |
|
密集的聚集噪点 |
|
|
非常密集的聚集噪点,通常由反射产生 |
|
|
|
适用于离群值过滤器未能移除的聚集噪点 |
|
适用于典型大小的聚集噪点 |
|
|
用于移除通常由反射导致的幽灵平面 |
移除漂浮的聚集噪点
噪声过滤器 和 离群值过滤器 是几乎总是会用到的基本移除过滤器。这些过滤器与 反射过滤器 (尤其是Local模式)可能无法在不移除很多正常点的情况下移除所有的漂浮点和聚集噪点。这通常是具有挑战性的场景的情况。 聚类过滤器可以移除剩余的错误点,而不会从场景的其余部分移除好的数据。
对离群值过滤器的补充
在下图中,聚类过滤器已关闭,我们可以看到不同大小和密度的漂浮的聚集噪点。
在左下角的图像中,我们可以看到离群值过滤器在设置为最严格的情况下的表现,会保留一些漂浮的噪点,同时移除了一些正常的点。在右下角的图像中,我们看到聚类过滤器(在本例中使用默认值)是如何移除这些漂浮噪点,同时保留正常的点。
Strict Outlier Filter settings (Threshold set to 1 mm); Cluster Filter turned off - Clusters not removed |
Cluster Filter (with default values) - Clusters removed |
对反射滤波器 - Local模式的补充
反射过滤器 ,尤其是在Local模式下,可能会遗留更多的漂浮的聚集噪点,如左下角的图像所示。在右下角的图像中,我们可以看到使用了聚类过滤器后(在本例中使用默认值),这些漂浮的噪点被移除了。
Reflection Filter with Local mode and Cluster Filter turned off - Clusters are not removed |
Reflection Filter with Local mode and Cluster Filter turned on (default values) - Clusters removed |
移除幽灵面
幽灵面是现实中不存在的虚假点云数据,通常是由物体之间的互相反射或与箱壁的互相反射造成的。这些漂浮的聚集噪点的一端通常与由正常数据组成的点云表面相连。有时可以通过微调聚类过滤器来移除幽灵面。这些伪影通常密度和面积都较大。因此,必须调整较为严格的过滤器设置才能将其移除,但是这可能会导致移除一些正常的数据,包括部分对象或整个(较小的)对象。
警告
When using the cluster filter to remove ghost planes, carefully observe whether any critical data is removed.
In the following example scene, a ghost plane above the cylinder appears due to the reflection between the top of the cylinder and the bin wall. Notice that in the color image, we can see the reflection of the cylinder on the top bin wall.
该幽灵面(左下图)可能被视为机器人拾取物体的障碍物。这些障碍可能导致得出不佳的抓取位姿,甚至根本没有合适的抓取位姿。在右下角的图像中,我们可以看到通过积极地调整聚类过滤器,最终移除了该幽灵面。在此示例中, MaxNeighborDistance
被设置为5.00, MinArea
被设置为1400.00。作为权衡,圆柱体底部的部分数据也被移除了。
Cluster Filter off - Ghost planes |
Cluster Filter on - No ghost planes |
如果料箱中仅存在单一类型的物体,那么调整聚类过滤器来移除幽灵面会更加容易。这是因为可以确定点云中需要保留的最小对象特征的区域。然后,可以相应地设置 MinArea
。
处理时间
警告
使用Intel或AMD GPU时,聚类过滤器会显着增加处理时间。
版本历史
SDK |
变更 |
---|---|
2.9.0 |
增加了聚类过滤器 |