概述
高精度点云异常检测是识别先进加工和精密制造缺陷的黄金标准。尽管该领域在方法上取得了一些进展,但数据集的稀缺和缺乏系统的基准阻碍了其发展。我们引入了 Real3D-AD,这是一个具有挑战性的高精度点云异常检测数据集,旨在解决该领域的局限性。Real3D-AD 包含 1254 个高分辨率 3D 物品(每个物品的点数从四万到数百万不等),是迄今为止用于高精度 3D 工业异常检测的最大数据集。在点云分辨率(0.0010mm - 0.0015mm)、360 度覆盖和完美原型方面,Real3D-AD 超越了现有的 3D 异常检测数据集。此外,我们为 Real3D-AD 提供了一个全面的基准,揭示了高精度点云异常检测缺乏基线方法的问题。为了解决这个问题,我们提出了 Reg3D-AD,这是一种基于配准的 3D 异常检测方法,结合了一个新的特征记忆库,可保留局部和全局表示。在 Real3D-AD 数据集上进行的大量实验突出了 Reg3D-AD 的有效性。为了便于重现和获取,我们在网站 https://github.com/M-3LAB/Real3D-AD 上提供了 Real3D-AD 数据集、基准源代码和 Reg3D-AD。
论文:Real3D-AD: A Dataset of Point Cloud Anomaly Detection
1. 引言
1.1 Real3D-AD 的动机:3D > 2.5D
非常有必要提出一个高分辨率点云异常检测数据集,以填补学术界和工业界之间的差距,将点云异常检测能力应用到工厂生产中。点云异常检测在现实世界的生产线中广泛应用。然而,学术界发布的 3D 异常检测数据集是 RGBD(2.5D),这不符合工业制造的需求。先进的加工和精密制造要求在整个检测过程中无盲点。但是,由于 RGBD 数据集是通过单视图扫描获得的,所以存在盲点。缺乏真实的点云异常检测数据集阻碍了 3D 异常检测的进一步发展。因此,提出一个满足工业制造需求的点云异常检测数据集至关重要且迫在眉睫。
1.2 当前 3D-AD 数据集的局限性和 Real3D-AD 的优势
为了解决这个问题,我们提出了一个大规模、高分辨率的 3D 异常检测数据集 Real3D-AD,以支持 3D 异常检测方法的研究和开发。虽然已经提出了两个 3D 异常检测数据集(MVTec 3D-AD [20]和 Eyescandies [3]),但仍然存在一些局限性:
- MVTec 3D-AD 的精度不足以满足高精度点云异常检测的要求。具体来说,MVTec 3D-AD 每个对象提供的点云数量有限,为 4147 个,点精度为 0.11mm。与 MVTec 3D-AD 相比,Real3D-AD 每个对象的点云数量要多得多,估计为 130 万个,大约是其 100 倍。此外,Real3D-AD 的点精度高达 0.010mm,比 MVTec 3D-AD 先进 10 倍。
- 如果采用 RGBD 相机收集 3D 数据,如 MVTec 3D 和 Eyescandies,3D 异常检测数据集存在盲点。仅依靠单视图进行检测时,识别缺陷可能具有挑战性。Real3D-AD 是使用高分辨率激光扫描收集的,非常适合全方位检测产品缺陷,如图 1 所示。
- 模拟数据集(Eyescandies)难以扩展到现实场景。由于真实产品的商业隐私,很难收集真实世界产品的 CAD 模型。因此,大多数研究人员采用模拟软件,如 Blender 框架 [9]。然而,合成纹理和异常细节都不能高保真地实现。Real3D-AD 从实际应用中收集产品,并通过高分辨率 3D 扫描仪获得出色的原型。因此,如表 3 所示,我们可以得出结论,Real3D-AD 相对于先前的 3D 异常检测数据集工作有三个关键特征:高精度、无盲点和逼真的高精度原型。
1.3 基准和基线
为了加速开发通用高精度点云异常检测方法的研究工作,我们构建了一个全面且结构化的大规模基准,称为 ADBENCH-3D。此外,我们开发了一种基于配准的基线方法,符合高分辨率 3D 异常检测的先决条件。由于实际限制,每个类别的可用训练数据集数量有限(小于或等于 4 个),因为为每个类别创建高精度原型是一个耗时的过程(每个类别最多需要两天)。ADBENCH-3D 的配置与 3D 领域的当代无监督异常检测任务不同。第 4.1 节提供了设置的全面描述。具体来说,训练示例有限(≤ 4),测试样本仅从一侧扫描。这样做的动机是模拟现实世界的应用:生产线上的扫描位置是固定的,一个位置只能扫描产品一侧的结果。此外,为了便于在社区内进行精确的性能比较并保证可重复性,ADBENCH-3D 框架包含一个全面的端到端管道,包括数据预处理、3D-AD 算法、评估脚本、指标和可视化工具包。ADBENCH-3D 包含一组 8 种基本的 3D 异常检测方法,这些方法已在 Real3D-AD 数据集上实现和测试。此外,表 4 中的结果表明,大多数当前的 3D-AD 技术在 Real3D-AD 中无法获得令人满意的性能,其对象级 AUROC 分数低于 50%就证明了这一点。因此,我们提出了一种基于配准的 3D-AD 方法(Reg3D-AD),作为一种通用解决方案,以满足 Real3D-AD 数据集的要求。Reg3D-AD 模型引入了一个新的特征记忆库,如图 8 所示,旨在保留局部和全局特征。在推理过程中,测试对象与训练原型对齐,并提取其局部和全局特征。通过评估测试对象特征与训练原型之间的距离来识别缺陷。因此,Real3D-AD 和 ADBENCH-3D 朝着统一 3D 异常检测研究中的分散努力迈出了一步,并为更深入地理解 3D 异常检测模型铺平了道路。
本文的主要贡献如下:
- 创建了有史以来第一个高分辨率 3D 异常检测数据集(Real3D-AD),使得设计高分辨率 3D 异常检测算法并将其公开应用成为可能。Real3D-AD 具有三个主要属性,使其与先前的 3D 异常检测数据集研究区分开来。这些属性包括高精度、无盲点和逼真的高精度原型。
- ADBENCH-3D 提供的端到端管道包括数据准备、数据分割、评估指标和脚本以及可视化工具包。ADBENCH-3D 进行了大规模的系统评估(在 Real3D-AD 上评估 8 种主要算法)。
- 提出了一种通用的基于配准的 3D 异常检测方法(Reg3D-AD)。通过在 Real3D-AD 数据集上进行的全面实验证明了 Reg3D-AD 的有效性,其性能明显优于次优方法。
2. 相关工作
2.1 3D-AD 数据集
2D 异常检测(2D-AD)的数据集很丰富,其历史可以追溯到 2007 年 [29]。有超过 20 个不同的 2D-AD 数据集 [11, 25, 17, 31]。众多的 2D-AD 数据集催生了许多相关工作。一些研究从图像重建 [35, 8]、特征蒸馏 [12, 4, 27] 和特征比较 [22] 等角度进行研究。还有一些研究专注于特定场景,如少样本异常检测 [30, 36, 7] 和噪声异常检测 [16]。相比之下,3D 异常检测(3D-AD)的数据集数量相当有限。第一个 3D-AD 数据集于 2021 年推出,目前只有两个 3D-AD 数据集,即 MVTec 3D-AD 数据集 [20] 和 Eyecandies 数据集 [3]。MVTec 3D-AD [20] 是一个专为 3D 点云异常检测设计的新数据集,也是唯一的点云 AD 数据集。它包含 2656 对图像作为训练集,294 对图像作为验证集,249 对正常图像和 948 对异常图像组成测试集。该数据集共有 41 种不同类型的异常,异常区域总数为 1148 个。每对图像由 RGB 图像和表示每个像素空间坐标的 tiff 图像组成。图像分辨率从 400×400 到 900×900 不等。Eyecandies 数据集 [3] 是一个在受控环境中渲染的包含十种不同类别糖果的新型合成数据集。它由 13250 对正常样本和 2250 对异常样本组成。每个深度图像对应六个不同光照条件下的 RGB 图像。MVTec 3D-AD 和 Eyecandies 都是 RGBD 数据集,仅限于单视图信息。为了进一步探索空间信息在 AD 任务中的价值,我们提出了 Real3D-AD 数据集,它将对象信息扩展到 3D 空间。Real3D-AD 训练集中的原型包含来自各个视图的全面对象信息。测试集也包括对象的多视图信息,从而可以更广泛地探索 3D 信息在 AD 任务中的价值。
2.2 3D-AD 方法
最近,在 2D-AD 领域出现了许多高质量的论文 [33, 37, 32, 26]。MVTec 3D-AD 的发布也引发了人们对 3D-AD 异常检测方法的兴趣 [15, 23, 5, 28, 8]。然而,与 2D 异常检测相比,仍需要更多关于 3D 的研究。一些方法仅使用深度信息来去除背景噪声,这限制了深度信息的使用。同时,在不影响性能的情况下结合 RGB 和深度信息仍然是一个挑战。Bergmann 等人 [1] 提出了一种基于师生模型的点云特征提取网络。在训练过程中,学生网络和教师网络保持一致的特征,并在测试时利用提取特征的差异来定位异常。Horwitz 等人 [15] 将手工制作的 3D 描述符与经典的 AD 方法 KNN 框架相结合。虽然这两种方法都有效,但它们的性能较差。AST [23] 在 MVTec 3D-AD 中表现良好,但仅使用深度信息去除背景。AST 仍然使用 2D-AD 方法来检测异常,忽略了对象的深度信息。M3DM [28] 分别从点云和 RGB 图像中提取特征并将它们融合以做出更好的决策。这种方法优于 BTF,但严重依赖预训练的大型模型和内存库。CPMF [6] 也使用 KNN 范式。然而,它从不同角度将点云投影到二维图像中,显著降低了特征提取的复杂性和计算成本,并融合所得信息进行检测。总之,现有的 3D-AD 模型要么性能较差,要么严重依赖预训练模型和内存库。目前,缺乏使用点云信息的异常检测方法,该领域可用的研究数据集只有带有深度信息的 MVTec 3D-AD 和人工合成的 Eyescandies [3] 数据集。为了引起人们对该领域的关注和研究,我们引入了 Real3D-AD 数据集。
3. Real3D-AD 数据集
3.1 数据收集
我们概述了生成 Real3D-AD 数据集的流程,包括高分辨率扫描仪的描述、原型的构建、异常的生成以及该过程所需劳动力和时间的评估。
3.1.1 高分辨率高精度 3D 扫描仪描述
为了获得精确的 3D 异常检测数据,我们使用了一种名为 PMAX-S130 的高分辨率双目 3D 扫描仪,如图 2 所示。PMAX-S130 光学系统由一对低畸变镜头、一个高亮度 LED 和一个蓝光滤镜组成。蓝光扫描仪的镜头滤镜只允许特定波长的蓝光通过。由于蓝光在自然和人工照明中的浓度相对较低,该滤镜有效地过滤了大部分蓝光。然而,使用发蓝光的光源在这种情况下可能会带来独特的障碍。图像传感器可以通过镜头光圈收集光线。因此,环境光的影响大大降低。该设备能够在车间环境中常见的复杂照明条件下进行扫描操作。上述目标是通过采用高亮度 LED 冷光源实现的。这种方法延长了设备的使用寿命,减少了热量排放,同时确保了一致的扫描精度。此外,通过集成一个低畸变镜头提高了设备的扫描精度。表 1 中的数据表明,PMAX-S130 比 MVTec 3D-AD 使用的 Zivid 相机性能更好,特别是在点精度方面。Real3D-AD 的每个点云的点精度和空间距离比 MVTec 3D-AD 分别高 10 倍和 4.28 倍。因此,Real3D-AD 为增强高精度点云异常检测的理解提供了途径。
3.1.2 原型构建
原型构建过程如图 3 所示。首先,静止的物体在转盘完成 360°旋转时进行扫描,使扫描仪能够捕捉物体各个面的图像。随后,将物体翻转,并重复旋转和扫描过程。在对前后扫描结果进行手动校准后,算法对拼接过程进行精确校准。如果结果中有间隙,则重复扫描拼接过程,直到生成点云。
3.1.3 异常类型和标注
点云的异常可分为两类:不完整性和冗余。我们使用 CloudCompare(2016)[10] 来标注点云数据。标注过程如图 4 所示。第一步是将 pcd 文件导入 CloudCompare 软件,并修改视角和点云文件大小。然后,将异常和非异常区域分离,并为每个点云分配相应的标签。最终结果以文本文件呈现。
3.1.4 劳动力和时间消耗
收集和标注3D数据集的过程需要大量劳动力。每个原型构建需要一个三人团队花费 1.2 天完成。第一个人负责进行扫描,第二个人负责手动校准,第三个人主要负责标注任务。为了生成异常,需要一个四人团队来完成任务。第一个人关注点云异常的不足,第二个人负责点云异常的多余部分,第三个人主要负责标注异常。每个异常样本需要 5 小时完成。由于工作量巨大,Real3D-AD 数据集需要一个七人团队花费四个月的时间完成。
3.2 数据统计
Real3D-AD 数据集的统计信息如表 2 所示。该表包括数据集类别、训练原型数量、测试数据集中正常和异常样本数量、测试中异常点的平均比例。Real3D-AD 总共包含 1254 个样本,分布在 12 个不同的类别中。每个特定类别的训练集仅包含四个样本,类似于 2D 异常检测中的少样本场景。这些类别包括但不限于飞机、糖果棒、鸡、钻石、鸭、鱼、宝石、海马、贝壳、海星和太妃糖。所有这些类别都是来自生产线的玩具。表 2 中的数据表明,低异常点比例给异常检测带来了挑战。该类别中的大多数属性与透明度有关,这表明 Real3D-AD 数据集非常适合点云异常检测任务。
此外,箱线图表示了 Real3D-AD 数据集中所有样本的数据点分布,如图 6 所示。从图 6 中可以得出两个推断。点云内不同物品类别之间的点数变异性观察到的差异显示出显著的不同。具体来说,**训练样本提供了 3D 对象的完整原型,而测试样本仅从一侧扫描。**因此,训练样本的数量远多于测试样本。其次,可以观察到在每个测试集中,正常样本和异常样本之间的点值差异相对较小。
3.3 Real3D-AD 与其他数据集
表 3 中的结果表明,Real3D-AD 与 MVTec 3D-AD [20] 和 Eyescandies [3] 相比具有优越的性能,特别是在点分辨率、点精度、无盲点和数据集真实性方面。Real3D-AD 的点分辨率和精度分别为 0.04mm 和 0.011mm,分别比 MVTec 3D-AD 高 4.2分别比 MVTec 3D - AD 高 4.28 倍和 9 倍。此外,Real3D - AD 系统受益于多视图扫描,消除了任何潜在的盲点,从而提高了其异常检测能力。因此,Real3D - AD 被认为更适合在点云异常检测中实现高精度,并能满足工业制造要求。
4. 基准和基线
4.1 问题定义和挑战
- 问题定义:ADBENCH - 3D 设置可以正式表述如下。给定一组训练示例 T = { t i } i = 1 N T = \{t_{i}\}_{i = 1}^{N} T={ ti}i=1N,其中 { t 1 , t 2 , ⋯ , t N } \{t_{1}, t_{2}, \cdots, t_{N}\} { t1,t2,⋯,tN} 是训练原型。在 Real3D - AD 中,每个类别的原型数量是有限的( ≤ 4 \leq4 ≤4)。此外, T n T_{n} Tn 属于某个类别 c j ∈ C c_{j} \in C cj∈C,其中 C C C 表示所有类别的集合。在测试时,给定来自目标类别 c j c_{j}