许可证:arXiv.org 永久非独占许可证
arXiv:2403.01804v1 [cs.CV] 2024 年 3 月 4 日

PointCore:使用局部-全局特征的高效无监督点云异常检测器

Baozhu Zhao, Qiwei Xiong, Xiaohan Zhang, Jingfeng Guo, Qi Liu, Xiaofen Xing, Xiangmin Xu Corresponding author: Qi Liu (drliuqi@scut.edu.cn)B. Zhao, Q. Xiong, X. Zhang, J. Guo and X. Xu are with the School of Future Technology, South China University of Technology, China 511400 X. Xing is with the School of Electronic and Information Engineering, South China University of Technology, Guangzhou 510640, China.
摘要

三维点云异常检测旨在从训练集中检测异常数据点,是工业检测和自动驾驶等各种应用的基础。 然而,现有的点云异常检测方法通常结合多个特征存储库来完全保留局部和全局表示,这是以计算复杂性和特征之间的不匹配为代价的。 为了解决这个问题,我们提出了一种基于联合局部全局特征的无监督点云异常检测框架,称为 PointCore。 具体来说,PointCore只需要单个存储体来存储局部(坐标)和全局(PointMAE)表示,并且为这些局部-全局特征分配不同的优先级,从而减少推理中的计算成本和不匹配干扰。 此外,为了对异常值具有鲁棒性,引入了归一化排序方法,不仅将不同尺度的值调整到理论上的公共尺度,而且将密集分布的数据转换为均匀分布。 对 Real3D-AD 数据集的大量实验表明,与最先进的 Reg3D-AD 方法和几个竞争对手相比,PointCore 在检测和定位方面实现了有竞争力的推理时间和最佳性能。

索引术语:
3D点云、异常检测、无监督学习

简介

异常检测旨在发现产品的异常区域,在工业质量检测[1, 2]、自动驾驶[3, 4]等各个领域发挥着重要作用。 t1>. 当前的异常检测方法[5,6,7]大多是无监督的,它们针对二维(2D)图像,其中模型通常在具有经过充分研究的架构的图像上进行训练。 对于基于 3D 点云的异常检测任务,当前文献中仍然相对未进行探索。 与2D图像相比,3D点云具有结构信息更丰富的优点,但其相处却是无序、高度稀疏且分布不规则。 为了清楚地处理点云,应用了不同尺度的各种手工制作或基于深度学习的特征描述符。

Refer to caption
图1: 在 Real3D-AD 数据集上通过多种方法获得的异常分数热图。 从可视化中我们看到,与其他方法相比,所提出的方法可以更准确地检测和定位异常数据点。

最近,提供了一个大规模、高分辨率的 3D 异常检测数据集,称为 Real3D-AD [8] Real3D-AD数据集中的物体分辨率为0.001mm-0.0015mm,360度覆盖,原型完美。 [8]中,作者将PatchCore[9]从图像异常检测应用到点云异常检测中,开发了一种通用的基于配准的点云异常检测器,称为Reg3D-AD。 Reg3D-AD采用双特征表示方法来保留训练原型的局部和全局特征,实现了显着的检测精度,但推理速度较慢。 目前的点云异常检测器可分为两类:(1)基于重建的方法,通过自动编码器[10,11,12]重建输入点云数据,并通过比较之间的偏差来识别异常。原始数据和重建数据。 然而,这些方法对点云的分辨率敏感,导致推理速度较慢且精度较差。 (2) 基于记忆库的方法[8, 13],其中记忆库可用于存储代表性特征以隐式构建正态分布并寻找分布外的缺陷。 与前者相比,直接使用预训练的特征提取器构建记忆库,训练速度快,并且不受点云分辨率的影响。 除此之外,现有的点云异常检测器[8, 14]通常会合并多个特征存储库以完全保留局部和全局表示,但这是以计算复杂性和特征之间的不匹配为代价的。

为了解决上述问题,我们提出了一种基于联合局部全局特征的无监督点云异常检测框架,称为PointCore。 具体来说,我们的贡献总结如下:

  • 1.

    PointCore只需要一个存储体来存储局部-全局表示,并且为这些局部-全局特征分配不同的优先级,以减少计算成本和推理的不匹配干扰。

  • 2.

    我们提出了一种基于排序的归一化方法来消除各种异常分数之间的分布差异,并应用点到平面迭代最近点(点-平面ICP)算法对点云配准结果进行局部优化以进行鲁棒决策。

  • 3.

    对 Real3D-AD 数据集的大量实验表明,与最先进的 Reg3D-AD 方法和几个竞争对手相比,PointCore 在检测和定位方面实现了有竞争力的推理时间和最佳性能。

Refer to caption
图2: PointCore架构的管道 通过全局配准和局部优化方法随机选择并转换模板点云作为参考坐标,使用预训练的PointMAE特征提取器获取PointMAE特征,然后将坐标和特征绑定以建立坐标-PointMAE存储库。 最后,我们计算推理中所有点的异常分数。

方法

II-A 全球和本地注册

与Reg3D-AD模型[8]类似,我们应用FPFH[15]特征描述符和随机样本一致性(RANSAC)算法来实现点云的全局配准。 为了增强点云配准的稳定性,引入点平面ICP[16]来局部优化全球局部配准的输出。 假设需要注册两个点云Xs(源点云)和Xt(目标点云),流程如下:

  1. 1.

    应用从全局配准获得的旋转矩阵和平移向量来变换Xs

  2. 2.

    Xt 中搜索 qi,使其最接近 Xs 中的 pi,其中 qi 的法向量表示为如ni

  3. 3.

    假设最佳旋转欧拉角α,β,γ0,我们有cos(θ)1,sin(θ)0,θ0 旋转矩阵R可近似表示为:

    R[1γβγ1αβα1] (1)
  4. 4.

    假设最优平移向量为t=[tx,ty,tz] 损失函数通过摩尔-彭罗斯逆函数显示为最小二乘问题。

    E(R,t)=i=1n((Rpi+tqi)Tni)2 (2)
  5. 5.

    应用计算出的旋转矩阵和平移向量来变换Xs,并重复步骤2-5,直到损失值低于预定义的阈值。 请注意,用于配准的目标点云Xt是固定的。

II-B 记忆库建设

坐标采样。 我们采用贪婪下采样算法[17]对点云进行采样。 给定点云X和点集Ca,aCa中的点数。 我们的目标是从Ca获得Smax均匀点。 具体流程如下:

  1. 1.

    Ca中随机选择Sinit个点构建初始点集Pinit={P1,P2,P3,,PSinit}

  2. 2.

    计算CaPinit之间的距离以获得维度为a×Sinit的矩阵d2d

d2d=[d11d1Sinitda1daSinit]
  1. 3.

    计算矩阵d2d每一行的平均值以获得d1d=[d1mean,d2mean,damean]

  1. 4.

    找到矩阵d1d中的最大值,并将对应的点添加到Pinit中。 重复步骤2-4,直到Pinit中的元素数量等于Smax

Refer to caption
图3: PointMAE特征插值的过程。

点特征插值。 在 ShapeNet [20] 数据集上预训练的点 Transformer (PointMAE) [18, 19] 用作我们的 3D 特征提取器。 对于每个点云,我们使用坐标采样阶段的坐标作为组的中心点。 每个中心点形成一个记忆元素,它与坐标和PointMAE特征绑定。 这些元素构成了图2中的存储体。 为了降低推理中PointMAE特征计算的计算复杂度,需要对点云坐标进行下采样。 因此,我们进一步进行点特征插值,为特征库中的每个坐标分配一个PointMAE特征值。 特征插值方法如图3所示。

给定一个具有所有中心点坐标的点集Pcentral,对应的PointMAE特征集是Minit 以非中心点Pe为例,我们使用k近邻算法获得点集Pcentral中的三个最近邻点[Pk1,Pk2,Pk3] 对应的欧氏距离和PointMAE特征值分别为[Dk1,Dk2,Dk3][Mk1,Mk2,Mk3] 通过使用等式。 (3),我们获得Pe的PointMAE特征Me 重复这个过程,直到所有非中心点都获得其对应的PointMAE特征。 Me 的计算方式为

Me=Dk1Dk2Mk3+Dk1Dk3Mk2+Dk2Dk3Mk1Dk1Dk2+Dk1Dk3+Dk2Dk3 (3)
表一: Real3D-AD 所有类别的异常检测的 O-AUROC 分数。 我们的方法在大多数类别中明显优于其他方法,并且在平均性能方面具有巨大优势。
Category BTF [14] M3DM [21] PatchCore [9] PointCore
Raw FPFH PointMAE FPFH FPFH+Raw PointMAE PointMAE+Raw FPFH+Raw PointMAE+Raw
Airplane 0.730 0.520 0.434 0.882 0.848 0.726 0.716 0.792 0.660
Car 0.647 0.560 0.541 0.590 0.777 0.498 0.697 0.871 0.866
Candybar 0.539 0.630 0.552 0.541 0.570 0.663 0.685 0.861 0.976
Chicken 0.789 0.432 0.683 0.837 0.853 0.827 0.852 0.842 0.841
Diamond 0.707 0.545 0.602 0.574 0.784 0.783 0.900 0.847 0.963
Duck 0.691 0.784 0.433 0.546 0.628 0.489 0.584 0.642 0.684
Fish 0.602 0.549 0.540 0.675 0.837 0.630 0.915 0.915 0.993
Gemstone 0.686 0.648 0.644 0.370 0.359 0.374 0.417 0.477 0.535
Seahorse 0.596 0.779 0.495 0.505 0.767 0.539 0.762 0.954 0.973
Shell 0.396 0.754 0.694 0.589 0.663 0.501 0.583 0.853 0.882
Starfish 0.530 0.575 0.551 0.441 0.471 0.519 0.506 0.617 0.652
Toffees 0.703 0.462 0.450 0.565 0.626 0.585 0.827 0.728 0.929
Average 0.635 0.603 0.552 0.593 0.682 0.594 0.704 0.783 0.829

II-C 推理块

多特征异常分数计算。 存储体由元素集合组成,即Mtrain={(M1c,lM1p),(M2c,M2p),,(Mnc,Mnp)},其中Mic表示第i点的坐标,Mip 表示第 i 点的 PointMAE 特征。 测试特征库定义为Ftest={(F1c,F1p),(F2c,F2p),,(Fmc,Fmp)},其中Fjc是第j点的坐标,Fjp是PointMAE第j点的特征。 对于Ftest中的元素(Fjc,Fjp),我们使用其坐标信息FjcMtrain中找到三个最近的邻居,记为{(Mic,Mip),(Moc,Mop),(Muc,Mup)} 使用欧氏距离,获得它们的坐标距离{DC1,DC2,DC3}和特征距离{DP1,DP2,DP3} 最终坐标异常得分为Sc=meanDC1,DC2,DC3),PointMAE异常得分为Sp=min(DP1,DP2,DP3)

排名块 由于两个异常分数之间的规模和分布存在差异,因此两个分数都需要标准化。 传统的归一化常常采用区间缩放方法。 对于一组数据Slist,区间缩放过程为Snorm=Slistmin(Slist)max(Slist)min(Slist) 如图4所示,区间尺度方法可以消除两个异常分数之间的尺度差异,但无法解决分布差异。 当坐标异常得分有两个异常值时,最终的异常得分将远小于PointMAE异常得分。 这对基于算术运算的集成策略产生了重大影响。 为此,我们设计了一种基于排序的归一化方法,其中 Sort_rank(Slist) 获得 Slist 中每个值的排序,len(Slist)Slist 的长度。 那是:

Snorm=Sort_rank(Slist)len(Slist) (4)
Refer to caption
(a) Traditional normalization method.
Refer to caption
(b) Ranking-based normalization method.
图4: 通过这两种方法标准化的坐标分布和 PointMAE 异常分数。

III 实验

III-A 实验细节

数据集。 Real3D-AD [8] 数据集总共包含 1,254 个样本,分布在 12 个不同的类别中。 特定类别的每个训练集仅包含四个样本,类似于 2D 异常检测中的少样本场景。 这些类别包括飞机、糖果、鸡肉、钻石、鸭子、鱼、宝石、海马、贝壳、海星和太妃糖。 所有这些类别都是来自生产线的玩具。 Real3D-AD数据集中的物体分辨率为0.001mm-0.0015mm,360度覆盖,原型完美。

基线。 我们与 BTF [14]、M3DM [21]、PatchCore [9] 进行比较来评估我们的性能。 根据所使用的点云特征,可以分为7种不同的基线,即BTF(Raw)、BTF(FPFH)、M3DM(PointMAE)、PatchCore(FPFH)、PatchCore(FPFH+Raw)、PatchCore(PointMAE) ,PatchCore(PointMAE+RAW),其中Raw表示使用坐标信息。 PointMAE 和 FPFH 是两个不同的特征描述符。

评估指标。 所有评估指标与[8]中完全相同。 我们通过接收者算子曲线下面积(AUROC)和精确召回曲线下面积(AUPR/AP)来评估对象级异常检测性能和点级异常检测性能。 AUROC和AUPR越高,异常检测性能越好。 所有实验均在第 12 代 Intel(R) Core(TM) i9-12900K CPU、64G DDR4 SDRAM 和 GeForce RTX 3090 平台上进行。

表二: 将各种指标与最先进 (SOTA) 模型 Reg3D-AD (PatchCore+PointMAE+RAW) 进行比较,我们的模型在所有指标上都取得了显着改进,同时大幅提高了推理速度。
Category Reg3D-AD PointCore
O-AUROC P-AUROC O-AUPR P-AUPR Time(s) O-AUROC P-AUROC O-AUPR P-AUPR Time(s)
Airplane 0.716 0.631 0.703 0.017 17.759 0.66 0.608 0.667 0.016 5.737
Car 0.697 0.718 0.753 0.135 12.938 0.866 0.706 0.862 0.088 4.830
Candybar 0.827 0.724 0.824 0.109 11.241 0.976 0.760 0.973 0.322 1.743
Chicken 0.852 0.676 0.884 0.044 18.944 0.841 0.780 0.863 0.413 9.043
Diamond 0.900 0.835 0.884 0.191 12.611 0.963 0.810 0.957 0.493 7.443
Duck 0.584 0.503 0.588 0.01 18.014 0.684 0.712 0.623 0.044 8.987
Fish 0.915 0.826 0.939 0.437 10.463 0.992 0.782 0.993 0.510 1.850
Gemstone 0.417 0.545 0.454 0.016 11.108 0.534 0.515 0.548 0.007 3.562
Seahorse 0.762 0.817 0.787 0.182 9.655 0.973 0.841 0.972 0.637 1.362
Shell 0.583 0.811 0.646 0.065 11.091 0.881 0.781 0.774 0.086 2.186
Starfish 0.506 0.617 0.491 0.039 10.145 0.652 0.736 0.585 0.048 1.652
Toffees 0.685 0.759 0.721 0.067 12.293 0.929 0.745 0.938 0.347 2.990
Average 0.704 0.705 0.723 0.109 13.022 0.829 0.731 0.813 0.251 4.282

III-B Real3D-AD 上的异常检测

我们将我们的方法与 Real3D-AD 上的几种方法进行比较,表I显示了 O-AUROC(对象级 AUROC)的异常检测结果。 FPFH和PointMAE特征分别与Raw特征相结合。 结果表明基于 PointMAE 的组合性能更好。 对于所提出的PointCore架构,点云的坐标信息是必不可少的。 II展示了我们的模型和SOTA之间更全面的比较。 PointCore 在所有指标上都取得了具有竞争力的性能,其中 O-AUROC 指标提高了 17.75%。 点级 AUROC (P-AUROC)、对象级 AUPR (O-AUPR) 和点级 AUPR (P-AUPR) 的性能进一步证明了我们的提案在异常检测方面的优越性能。

表三: Real3D-AD 上每个对象的平均推理时间。
Method PointCore BTF M3DM Reg3D-AD
O-AUROC 0.829 0.603 0.552 0.704
P-AUROC 0.731 0.571 0.637 0.705
Time(s) 4.282 3.882 5.061 13.022

实现了BTF、M3DM和PatchCore之间的推理时间比较,如表III所示。 可以看出,表III中的BTF虽然速度很快,但在O-AUROC和P-AUROC中表现平庸到较差。 我们的速度是最快的(不包括 BTF)。

表四: 从每个模块的烧蚀实验中获得的结果。 Baseline表示Reg3D-AD,LO(P-P)表示基于点对点ICP算法的局部优化,LO表示基于点对平面ICP算法的局部优化,RB表示Ranking Block。
[Uncaptioned image]

III-C 消融研究

在本节中,我们在表中的 3 视图设置下取消了 Reg3D-AD 上的设计选择。 IV

局部优化 (LO) 的有效性。 Reg3D-AD模型采用FPFH+RANSAC方法[15]进行配准,其中RANSAC算法迭代地寻找最优姿态矩阵。 然而,RANSAC在每次迭代中的随机点选择导致最终配准结果存在显着差异。 我们对 Toffees 数据集中的一对点云进行了 20 次实验。 即使参数相同,结果也显示出很大的差异。 引入局部优化算法,提高配准过程的稳定性。 欧拉角的方差从 1.1058 下降到 (7.7796×106),得分为 0.642±0.01 对于局部优化方法,我们对不同高斯噪声水平下的点对点ICP和点平面ICP算法进行配准误差测试。 结果表明,点平面 ICP 配准方法通常在较低噪声水平下产生更准确的结果。 Reg3D-AD 数据集中的异常样本类似于低噪声水平的点云。 选择点平面ICP作为局部优化方法。

PointCore 架构的有效性。 相比Reg3D-AD架构,PointCore架构可以更好地利用点云的坐标信息,实现更快、更准确的点云异常检测。 在速度方面,我们通过绑定点的坐标信息和PointMAE特征信息来加速推理过程。 这减少了后续 PointMAE 搜索最近邻居所引入的大量计算成本。 相比之下,Reg3D-AD架构将坐标信息和PointMAE特征信息分别存储在不同的存储体中。 在推理过程中,每个坐标和 PointMAE 必须在相应的存储体中找到其最近的邻居。 这带来了巨大的计算挑战,尤其是 PointMAE 特征的 1154 维。 关于准确性,我们增强了坐标信息的主导地位,以避免 PointMAE 特征出现明显的不匹配。 具体来说,在Reg3D-AD架构中,测试点云的PointMAE特征必须在PointMAE存储体中找到最近的邻居,而不利用任何坐标信息。 这个过程会导致局部相似组之间的错误匹配。 通过严格限制坐标的匹配范围,我们显着降低了不匹配的概率。

排名块(RB)的有效性。 从表。 IV,排名块显着提高了对象级 AUROC 和对象级 AUPR。 然而,点级指标的改进是有限的。 这是因为排名块主要用于减轻异常值对不同异常分数分布的实质性影响。 它对于样本量相对较小的对象级异常分数起着重要的平衡作用。 相比之下,点级异常分数本来就有很多样本,异常值的影响很小。

结论

我们提出了一种无监督点云异常检测器,称为 PointCore,它是在具有局部全局特征的单个存储体上开发的,用于存储输入点云的多尺度信息。 在Real3D-AD数据集上进行的大量实验表明,我们的方法具有更好的召回率和更低的误报率,这在需要精确检测缺陷样本的实际应用中是更可取的。 此外,所提出的框架是高效的,因为局部全局特征存储库和多特征异常分数计算都降低了计算成本。

参考

  • [1] D. Carrera, F. Manganini, G. Boracchi, and E. Lanzarone, “Defect detection in sem images of nanofibrous materials,” IEEE Transactions on Industrial Informatics, p. 551–561, Apr 2017.
  • [2] K. Song and Y. Yan, “A noise robust method based on completed local binary patterns for hot-rolled steel strip surface defects,” Applied Surface Science, p. 858–864, Nov 2013.
  • [3] D. Hendrycks, S. Basart, M. Mazeika, M. Mostajabi, J. Steinhardt, and D. Song, “A benchmark for anomaly segmentation,” arXiv preprint arXiv:1911.11132, vol. 1, no. 2, p. 5, 2019.
  • [4] Y. Xu, W. Hu, S. Wang, X. Zhang, S. Wang, S. Ma, Z. Guo, and W. Gao, “Predictive generalized graph fourier transform for attribute compression of dynamic point clouds,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 31, no. 5, pp. 1968–1982, 2020.
  • [5] V. Zavrtanik, M. Kristan, and D. Skočaj, “Draem – a discriminatively trained reconstruction embedding for surface anomaly detection,” International Conference on Computer Vision, International Conference on Computer Vision, Aug 2021.
  • [6] J. T. Zhou, L. Zhang, Z. Fang, J. Du, X. Peng, and Y. Xiao, “Attention-driven loss for anomaly detection in video surveillance,” IEEE transactions on circuits and systems for video technology, vol. 30, no. 12, pp. 4639–4647, 2019.
  • [7] Y. Wang, Q. Liu, and Y. Lei, “Ted-net: Dispersal attention for perceiving interaction region in indirectly-contact hoi detection,” IEEE Transactions on Circuits and Systems for Video Technology, pp. 1–1, 2024.
  • [8] J. Liu, G. Xie, R. Chen, X. Li, J. Wang, Y. Liu, C. Wang, and F. Zheng, “Real3d-ad: A dataset of point cloud anomaly detection,” Advances in Neural Information Processing Systems, vol. 36, 2024.
  • [9] K. Roth, L. Pemula, J. Zepeda, B. Scholkopf, T. Brox, and P. Gehler, “Towards total recall in industrial anomaly detection,” in 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Jun 2022.
  • [10] W. Li and X. Xu, “Towards scalable 3d anomaly detection and localization: A benchmark via 3d anomaly synthesis and a self-supervised learning network,” arXiv preprint arXiv:2311.14897, 2023.
  • [11] W. Zhu, Z. Ma, Y. Xu, L. Li, and Z. Li, “View-dependent dynamic point cloud compression,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 31, no. 2, pp. 765–781, 2020.
  • [12] H. Peng and G. Tong, “Class-aware 3d detector from point clouds with partial knowledge diffusion and center-weighted iou,” IEEE Transactions on Circuits and Systems for Video Technology, 2023.
  • [13] H. Xiao, Y. Li, W. Kang, and Q. Wu, “Distinguishing and matching-aware unsupervised point cloud completion,” IEEE Transactions on Circuits and Systems for Video Technology, 2023.
  • [14] E. Horwitz and Y. Hoshen, “Back to the feature: classical 3d features are (almost) all you need for 3d anomaly detection,” in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2023, pp. 2967–2976.
  • [15] R. B. Rusu, N. Blodow, and M. Beetz, “Fast point feature histograms (fpfh) for 3d registration,” in 2009 IEEE International Conference on Robotics and Automation, 2009, pp. 3212–3217.
  • [16] S. Rusinkiewicz and M. Levoy, “Efficient variants of the icp algorithm,” in Proceedings Third International Conference on 3-D Digital Imaging and Modeling, 2001, pp. 145–152.
  • [17] L. Yang and W. Guo, “Greedy local-set based sampling and reconstruction for band-limited graph signals,” in 2016 23rd International Conference on Telecommunications (ICT), 2016, pp. 1–5.
  • [18] Y. Pang, W. Wang, F. E. Tay, W. Liu, Y. Tian, and L. Yuan, “Masked autoencoders for point cloud self-supervised learning,” in European conference on computer vision. Springer, 2022, pp. 604–621.
  • [19] H. Zhao, L. Jiang, J. Jia, P. Torr, and V. Koltun, “Point transformer.” in 2021 IEEE/CVF International Conference on Computer Vision (ICCV), Oct 2021.
  • [20] A. Chang, T. Funkhouser, L. Guibas, P. Hanrahan, Q. Huang, Z. Li, S. Savarese, M. Savva, S. Song, H. Su, J. Xiao, L. Yi, and F. Yu, “Shapenet: An information-rich 3d model repository,” arXiv: Graphics,arXiv: Graphics, Dec 2015.
  • [21] Y. Wang, J. Peng, J. Zhang, R. Yi, Y. Wang, and C. Wang, “Multimodal industrial anomaly detection via hybrid fusion,” in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2023, pp. 8032–8041.