题目:Towards High-resolution 3D Anomaly Detection via Group-Level Feature Contrastive Learning
题目:基于组级特征对比学习的高分辨率三维异常检测
Towards 迈向
High-resolution 高分辨率
3D Anomaly Detection 三维异常检测
via 通过
Group-Level Feature 组级特征
Contrastive Learning 对比学习
Abstract 摘要
高分辨率点云(HRPCD)异常检测(AD)在精密机械加工和高端设备制造中起着关键作用。尽管近年来已经提出了大量的三维异常检测方法,但它们仍无法满足高分辨率点云异常检测任务的要求。目前存在几个挑战:其一,由于样本层面点云数量巨大,难以直接捕捉高分辨率点云信息;其二,先进的基于Transformer的方法通常会得到各向异性的特征,导致特征表示能力下降;其三,异常区域的比例非常小,难以进行特征刻画。
为应对这些挑战,我们提出了一种新颖的基于组级特征的网络Group3AD,它具有显著高效的特征表示能力。首先,我们设计了簇间一致性网络(IUN),将特征空间中不同组的映射呈现为多个簇,从而在特征空间中代表点云不同部分的簇之间获得更均匀的分布。然后,设计了簇内对齐网络(IAN),促使簇内的组在特征空间中紧密分布。此外,我们提出了基于几何信息的自适应组中心选择(AGCS) 方法,以提高推理过程中潜在异常区域的像素密度。
实验结果验证了我们提出的Group3AD的有效性,在Real3D - AD数据集上,其对象级受试者工作特征曲线下面积(AUROC)比Reg3D - AD高出5%。我们在网站https://github.com/M-3LAB/Group3AD上提供了代码和补充信息。
Keywords:Anomaly Detection, 3D Point Clouds, Contrastive Learning, Feature Representation
关键词:异常检测、三维点云、对比学习、特征表示
1 Introduction 引言
1.1 二维的缺陷,二维到三维的过渡
异常检测(AD)是机器学习中的一个关键领域,旨在识别不符合预期行为的异常模式或异常情况。传统上,异常检测在二维图像分析中得到了广泛应用,这些方法主要通过像素级差异来识别异常 [3, 5]。然而,这些二维技术存在固有的局限性,例如固定的像素大小以及难以捕捉复杂几何形状,这往往会导致重要空间信息和上下文的丢失 [3 - 7, 11, 14, 38]。从二维图像过渡到三维点云(PCD)有效地克服了这些局限性。三维点云提供了对物体更全面的表示 [12, 44]。
1.2 三维检测的困难和挑战
尽管有这些优势,三维异常检测领域仍面临许多挑战 [1, 8]。高分辨率(HR)三维点云带来了计算复杂性的增加,这是由于数据量的大幅增长以及三维空间分析中涉及的复杂性 [1, 41]。基于高分辨率点云的研究刚刚兴起,如何构建有效的高分辨率点云异常检测表示已成为一个主要挑战。迫切需要提高高分辨率点云异常检测的精度,以满足工业制造(IM)的需求 [1, 41]。
建立高效表示的障碍有三个方面。
①其一,现有的高分辨率点云网络对于大型数据集需要进行下采样,这可能会导致关键语义信息的丢失。
②其二,当前三维异常检测中的特征嵌入方法存在不足。
③其三,高分辨率点云中异常的比例很小且不明显,很容易被忽略 [1, 3, 5, 13, 41]。
1.3 本文:组级特征增强
为了使网络不受高分辨率点云以及训练样本过少的限制,我们引入了组级特征增强的概念。
1.3.1 现有的方法:下采样&自适应采样
现有的高分辨率点云网络在训练或推理过程中,面对由数百万个点组成的对象时,显然需要进行下采样操作 [1, 41]。其中,尽管Reg3D - AD [1] 在高分辨率点云中有更高的组密度,但在实际应用中仍无法直接对高分辨率点云进行训练。这中间存在差距,影响了性能。IMRNet也认识到了下采样的缺点,并提出了自适应采样,但这并不能从根本上解决问题。
1.3.2 在单个样本中建立小组层面的对比学习
我们需要研究一种不受点云分辨率和规模限制的解决方案。与之前的3D对比学习研究[17,18,39]不同,我们在单个样本中建立了小组层面的对比学习,使我们的网络训练不受点云分辨率和规模的限制。这种独特分而治之的设计使我们的网络和批次大小在理论上可以无限大,尽管其批次大小为1。
1.3.2.1 如何在特征空间中创建高分辨率点云异常检测的理想分布
为了实现更好的表示,我们提出了一个关键问题:如何在特征空间中创建高分辨率点云异常检测所需的理想分布?
1.3.2.1.1 现有方法:使用Point Transformer架构
目前,大多数在高分辨率点云方面表现良好的网络骨干使用Point Transformer架构 [1, 41]。编码器提取的嵌入在特征空间中表现出各向异性分布。研究 [9, 15, 16] 表明,基于Transformer的结构更强调表示中的局部上下文信息,而忽略了全局语义信息。这会导致高频组在特征空间中集中分布在中心附近,而低频组相对稀疏且远离原点。
1.3.2.1.2 优秀的特征分布空间
通常,计算特征相似度会广泛使用这种各向异性的特征分布,但这会给特征相似度的度量带来问题。图1展示了一个理想的特征空间分布。
具体来说,优秀的空间分布特征应具有均匀性和对齐性[19, 20]。均匀性要求向量在空间中尽可能均匀且各向同性地分布,而对齐性意味着特征空间中相似向量之间的距离应该更小。
同时,优秀的编码器应该能够在特征空间中轻易区分正常表示和异常表示。
1.3.2.2 论文提出网络:簇间一致性网络(IUN)& 簇内对齐网络(IAN)
考虑到上述分布特征:簇间离散度和簇内紧凑性,我们提出构建组级对比学习架构。所提出的簇间一致性网络(IUN) 在特征空间中推动表示相似的簇彼此远离,以增强特征分布的一致性。在此基础上,簇内对齐网络(IAN) 进一步调整同一簇内的特征,以加强特征分布的对齐性。
1.3.3 更好地捕捉细微特征:AGCS
为了更好地捕捉细微特征,我们设计了自适应组中心选择(AGCS)。受质量检测工程师实践的启发,他们通常会更深入地关注可能存在问题的区域,AGCS同样优先关注三维点云中可能存在异常的区域。
借助快速点特征直方图(FPFH)[40],AGCS加强了对具有显著局部几何变化区域的检测。最后,AGCS使我们的网络在推理过程中能够保留更多潜在异常组,从而增强其异常检测能力。
1.4 本文的贡献
我们的贡献总结如下:
- 设计了一个用于高分辨率点云异常检测任务的Group3AD框架,该框架优化了三维点云的空间信息,提高了异常检测的精度。
- 提出了簇间一致性网络(IUN)和簇内对齐网络(IAN),前者可分散簇间特征,后者可收紧簇内特征。这两个网络共同增强了特征的一致性和对齐性,提高了异常识别特征表示的连贯性。
- 设计了高效的自适应组中心选择(AGCS),它关注可能存在异常的区域,提高了模型的敏感性和检测效率。
- 所提出的Group3AD具有灵活性和可扩展性,可直接与其他网络架构集成,促进其在各种异常检测任务中的更广泛应用。
2 RELATED WORK
2.1 2D Anomaly Detection 二维异常检测
自MVTec AD数据集 [21] 引入以来,二维图像异常检测(2D - AD)受到了越来越多的关注 [3, 5]。目前,该领域主要致力于探索无监督的异常检测技术 [11, 14, 22 - 26, 27, 27 - 31]。大多数基于图像重建的二维方法旨在重建异常图像以逼近正常图像,并通过像素级比较实现异常定位。特征提取型二维异常检测方法则努力提供更具区分性的嵌入,以更好地体现正常特征与异常特征之间的差异。由于许多网络采用前者的训练策略,其性能可能不如使用稳健预训练模型的后者。
①值得注意的例子包括DRAEM [28]、SimpleNet [24] 等。它们通过重建比较创建伪样本并识别异常,在无监督数据集中构建预训练任务。
②PatchCore [22] 的表示已被证明更强大有效,它通过对特征空间块进行稀疏采样的内存高效数据蒸馏来识别异常值。
③Cut - Paste [23] 通过在图像内生成人工切割和粘贴段显著增强了异常检测能力。
④Self - Taught AD [11] 利用师生框架,基于从预训练教师网络转移到学生网络的特征来检测特征差异。
⑤STPM [29] 和MKD [32] 都采用师生架构进行异常检测,其中STPM直接利用多尺度特征,而MKD则专注于通过高效方法将知识从多尺度特征中提炼出来。
⑥归一化流 [45] 方法创建了具有异常样本偏差的特征分布,拓展了其潜力。
尽管二维异常检测方法不能直接用于三维异常检测,但它们凸显了构建易于区分的特征分布以及增强网络表示能力的重要性 [3, 5]。
2.2 RGB-D Anomaly Detection RGB - D异常检测
尽管二维图像异常检测取得了显著进展,但三维点云(PCD)中的异常检测探索仍相对不足 [8, 34, 37]。随着MVTec 3D - AD [12] 等有影响力的三维异常检测数据集的出现,该领域出现了显著增长。三维异常检测的关键挑战在于有效利用深度信息,这在某些情况下可显著增强检测能力。
①虽然AST [33] 通过利用深度信息在MVTec 3D - AD上实现了良好的背景分离效果,但其主要依赖二维技术进行异常检测,忽视了对象的深度特征。设计用于检测点云异常的特征提取模块需要新方法。
近期研究致力于设计具有更强点云表示能力的网络 [7]。
②3D-ST[34]介绍了一种用于PCD中表示学习的自监督学习策略,并采用了基于知识蒸馏的建模模块。
③虽然CPMF[7]通过从不同角度将点云投影到2D图像中来简化异常检测,以降低特征提取的复杂性和计算成本,但这种方法并没有充分利用点云数据的3D特性所固有的优势。
④BTF[35]强调了传统手工制作PCD描述符的有效性,但指出了学习特征的表现不佳。BTF将这一悖论归因于当前小规模PCD数据集上现有预训练特征的可转移性不足。
空间信息在异常检测任务中的应用仍值得进一步探索 [1, 7, 36, 41]。
2.3 High-resolution 3D Anomaly Detection 高分辨率三维异常检测
一些方法在三维点云(PCD)异常表示方向上做出了努力。然而,MVTec 3D - AD [12] 是一个低分辨率的RGB - D数据集,无法进一步探索三维异常检测中的空间信息。包含对象高分辨率多视图信息的Real3D - AD [1] 数据集的提出,为异常检测带来了更多发展空间。Real3D - AD的点云分辨率和精度分别是MVTec 3D - AD的4.28倍和9倍。超高精度为异常检测任务带来了更多潜力和希望,但也给建立点云表示带来了巨大挑战。
①CPMF [7] 试图通过融合手工制作的点云描述符与预训练二维神经网络的能力来实现异常检测。CPMF在RGB - D数据集上表现良好,但在Real3D - AD上表现不佳。
②Reg3D - AD [1] 是基于Real3D - AD构建的基准方法,它基于内存库,在使用预训练模型方面取得了显著性能提升。然而,Reg3D - AD的预训练很难直接在高分辨率点云数据集上建立。
③IMRNet [41] 引入了一种自监督、可扩展的三维点云异常检测框架,利用相对最大重建和几何感知采样来高精度识别和定位异常。然而,IMRNet也受到了下采样对性能负面影响的波及。
鉴于此,我们的工作旨在设计一种方法,充分利用高分辨率点云的空间信息,以无监督的方式增强模型对小样本的泛化能力。
3 APPROACH
3.1 Problem Definition 问题定义
根据Real3D - AD定义的设置,我们的三维异常检测任务涉及一组训练样本
T
=
{
t
i
}
T = \{t_i\}
T={ti} ,其中每个
t
i
t_i
ti是属于特定类别
c
j
c_j
cj的正常点云
C
C
C ,点云
C
C
C代表一整个类别集。
在测试时,需要确定测试集中的点云是否为异常点云,如果是,将整个样本定义为异常并定位异常区域。
3.2 Group3AD
本节深入探讨Group3AD的详细架构,如图2所示。Group3AD是一种专门设计的模型,用于通过组级特征 对比学习来增强三维异常检测的分辨率和准确性。
3.2.1 Intercluster Uniformity Network (IUN) 簇间均匀性网络(IUN)
IUN建立了一个簇间对比学习任务。每个簇由具有相似性的组级特征向量组成。该网络将每个簇设置为对比学习中的负样本,并扩大簇间距离,以获得一个均匀且结构化的样本空间。
3.2.1.1 生成伪异常点云
我们在原始高分辨率点云上构造伪异常,以便编码器在推理过程中对异常组进行编码时仍能保持一致性。
3.2.1.1.1 确定伪异常区域的中心点
给定原始点云
P
P
P,
P
i
P_i
Pi表示
P
P
P中的第
i
i
i个点。首先,计算点云的快速点特征直方图(FPFH)特征:
FPFH
(
P
i
)
=
ComputeFPFH
(
P
i
,
neighbors
(
P
i
)
)
(1)
\text{FPFH}(P_i) = \text{ComputeFPFH}(P_i, \text{neighbors}(P_i)) \tag{1}
FPFH(Pi)=ComputeFPFH(Pi,neighbors(Pi))(1)
接下来,选择具有最高FPFH特征的点
c
c
c作为局部区域的中心:
c
=
argmax
P
i
FPFH
(
P
i
)
(2)
c = \underset{P_i}{\text{argmax}} \text{FPFH}(P_i) \tag{2}
c=PiargmaxFPFH(Pi)(2)
3.2.1.1.2 确定伪异常区域环绕中心点的周围点
然后,基于中心点
c
c
c,在其周围选择占总点云数量
r
r
r(
r
∈
[
1
%
,
10
%
]
r \in [1\%, 10\%]
r∈[1%,10%])的点作为局部区域:
P
local
=
{
P
j
∣
distance
(
P
j
,
c
)
≤
d
,
j
=
1
,
…
,
N
}
(3)
P_{\text{local}} = \{P_j \mid \text{distance}(P_j, c) \leq d, j = 1, \ldots, N\} \tag{3}
Plocal={Pj∣distance(Pj,c)≤d,j=1,…,N}(3)
其中
d
d
d是一个距离阈值,确保
P
local
P_{\text{local}}
Plocal中大约包含点云
P
P
P中
r
r
r比例的点。
3.2.1.1.3 对伪异常区域生成伪异常点
随后,随机选择一个方差
σ
2
∈
[
0.01
,
0.05
]
\sigma^2 \in [0.01, 0.05]
σ2∈[0.01,0.05]的值,并使用
σ
2
\sigma^2
σ2生成正态分布的随机噪声
ϵ
\epsilon
ϵ,其均值为
0
0
0。将此噪声添加到每个点,以生成异常区域
P
anomaly
P_{\text{anomaly}}
Panomaly:
P
anomaly
,
i
=
P
local
,
i
+
ϵ
(4)
P_{\text{anomaly}, i} = P_{\text{local}, i} + \epsilon \tag{4}
Panomaly,i=Plocal,i+ϵ(4)
其中
ϵ
=
N
(
0
,
σ
2
)
\epsilon = \mathcal{N}(0, \sigma^2)
ϵ=N(0,σ2)。对所有
P
P
P的中点重复此过程,以获得异常集
A
A
A:
A
=
P
anomaly
,
i
∣
∀
P
local
,
i
∈
P
local
(5)
A = P_{\text{anomaly}, i} \mid \forall P_{\text{local}, i} \in P_{\text{local}} \tag{5}
A=Panomaly,i∣∀Plocal,i∈Plocal(5)
3.2.1.1.4 获得伪异常点云
将
A
A
A和
P
P
P合并,得到伪异常点云
FakeAnomaly
(
P
)
\text{FakeAnomaly}(P)
FakeAnomaly(P):
FakeAnomaly
(
P
)
=
P
∪
A
(6)
\text{FakeAnomaly}(P) = P \cup A \tag{6}
FakeAnomaly(P)=P∪A(6)
3.2.1.2 K-均值对组级特征进行聚类:利用Elbow方法确定簇的数量
我们使用K - 均值算法(参考文献[42] )对组级特征进行聚类,以确定 ( P i ) (P_i) (Pi)属于哪个簇。
3.2.1.2.1 Elbow方法确定簇的数量
K - 均值算法使用Elbow方法(参考文献[43] )确定簇的数量。
(1)绘制簇内平方和(WCSS)与簇数量
(
K
)
(K)
(K)之间的关系来确定最终的
K
K
K值
通过绘制簇内平方和(WCSS)与簇数量
(
K
)
(K)
(K)之间的关系来确定最终的
K
K
K值。找到“肘部”点,该点在关系图中的位置表明 随着
k
k
k增加,WCSS的下降速率明显放缓 。这个点通常被认为是最佳的簇数量,因为它代表了簇内紧凑性和簇数量之间的最佳平衡。
(2)单个簇WCSSk 簇内距离平方和的计算
WCSS的计算表示为:
W
k
=
∑
x
i
∈
C
k
∥
X
i
−
μ
k
∥
2
2
(7)
W_k = \sum_{x_i \in C_k} \|X_i - \mu_k\|_2^2 \tag{7}
Wk=xi∈Ck∑∥Xi−μk∥22(7)
其中
μ
k
\mu_k
μk是第
k
k
k个簇中心,
C
k
C_k
Ck是第
k
k
k个簇中的点集,
W
k
W_k
Wk是第
k
k
k个簇的WCSS,
∥
X
i
−
μ
k
∥
2
2
\|X_i - \mu_k\|_2^2
∥Xi−μk∥22是点
x
i
x_i
xi到簇中心
μ
k
\mu_k
μk的欧几里得距离的平方。
(3)整个数据集的
W
W
W是所有聚类WCSS的总和
整个数据集
W
W
W是所有聚类WCSS的总和:
W
=
∑
k
=
1
K
W
k
(8)
W = \sum_{k = 1}^{K} W_k \tag{8}
W=k=1∑KWk(8)
3.2.1.2.2 均匀性排名损失函数:最大化不同簇间区分度
(1)不同簇心的欧几里得距离
假设我们有
k
k
k个簇中心,记为
C
=
{
C
1
,
C
2
,
…
,
C
k
}
C = \{C_1, C_2, \ldots, C_k\}
C={C1,C2,…,Ck},其中每个簇中心
C
i
C_i
Ci是一个
n
n
n维向量。对于任意两个不同的簇中心
C
i
C_i
Ci和
C
j
C_j
Cj,我们计算它们之间的欧几里得距离:
d
(
C
i
,
C
j
)
=
∥
C
i
−
C
j
∥
2
(9)
d(C_i, C_j) = \|C_i - C_j\|_2 \tag{9}
d(Ci,Cj)=∥Ci−Cj∥2(9)
其中
∥
⋅
∥
\|\cdot\|
∥⋅∥表示计算欧几里得距离。
(2)选择所有不同簇心距离中的距离最小值
我们比较每对簇中心之间的距离,并选择这些距离中的最小值:
min_dist
=
min
1
≤
i
<
j
≤
K
distance
(
C
i
,
C
j
)
(10)
\text{min\_dist} = \min_{1 \leq i < j \leq K} \text{distance}(C_i, C_j) \tag{10}
min_dist=1≤i<j≤Kmindistance(Ci,Cj)(10)
(3)定义均匀性排名损失函数:最小距离的倒数
将均匀性排名损失函数定义为这个最小距离的倒数:
L
uniformity
=
1
min_dist
(11)
L_{\text{uniformity}} = \frac{1}{\text{min\_dist}} \tag{11}
Luniformity=min_dist1(11)
一致性排名损失函数的值越大,簇中心之间的最小距离越小,簇之间的区分度越低,损失就越大。
(4)最小化损失函数,最大化簇中心之间的最小距离
因此,我们的目标是最小化这个损失函数,从而最大化簇中心之间的最小距离,提高聚类质量。通过优化编码器,特征空间中向量分布的变化由图3(b)中的均匀性排名损失表示。
3.2.2 Intracluster Alignment Network (IAN) 簇内对齐网络(IAN)
IAN建立了一个簇内对比学习任务。每个簇构成一个小批次。簇中的每个向量在对比学习中构成一个正样本。
3.2.2.1 簇内任意两点之间的距离
假设我们有
k
k
k个簇,记为
C
=
{
C
1
,
C
2
,
⋯
,
C
k
}
C = \{C_1, C_2, \cdots, C_k\}
C={C1,C2,⋯,Ck} ,其中每个簇
C
k
C_k
Ck包含一定数量的点。我们用
P
k
=
{
P
k
1
,
P
k
2
,
⋯
,
P
k
n
}
P_k = \{P_{k1}, P_{k2}, \cdots, P_{kn}\}
Pk={Pk1,Pk2,⋯,Pkn}表示簇
C
k
C_k
Ck包含的点集。
对于簇
C
k
C_k
Ck中的任意两点
P
k
i
P_{ki}
Pki和
P
k
j
P_{kj}
Pkj,我们计算它们之间的欧几里得距离:
d
(
P
k
i
,
P
k
j
)
=
∥
P
k
i
−
P
k
j
∥
(12)
d(P_{ki}, P_{kj}) = \|P_{ki} - P_{kj}\| \tag{12}
d(Pki,Pkj)=∥Pki−Pkj∥(12)
其中
∥
⋅
∥
\|\cdot\|
∥⋅∥表示计算欧几里得距离。
3.2.2.2 找出所有内部点对之间的最大距离
对于每个簇
C
k
C_k
Ck,我们需要找出所有内部点对之间的最大距离:
max_dist
k
=
max
P
k
i
,
P
k
j
∈
P
k
d
(
P
k
i
,
P
k
j
)
(13)
\text{max\_dist}_k = \max_{P_{ki}, P_{kj} \in P_k} d(P_{ki}, P_{kj}) \tag{13}
max_distk=Pki,Pkj∈Pkmaxd(Pki,Pkj)(13)
这意味着我们比较簇
C
k
C_k
Ck内所有可能点对之间的距离,并从这些距离中选择最大值。
3.2.2.3 定义对齐排名损失函数:所有簇的最大簇内距离的平均值
最后,我们将对齐排名损失函数定义为所有簇的最大簇内距离的平均值:
L
alignment
=
T
k
∑
k
=
1
K
max_dist
k
2
(14)
L_{\text{alignment}} = \frac{T}{k} \sum_{k = 1}^{K} \text{max\_dist}_k^2 \tag{14}
Lalignment=kTk=1∑Kmax_distk2(14)
其中
T
T
T是一个温度系数,用于使网络训练更加稳定。
3.2.2.4 最小化损失函数:损失函数值越大,簇内点越分散,簇紧凑性越低
较大的簇内距离通常意味着簇内的点更加分散。这个损失函数的值越大,簇内的点就越分散,簇的紧凑性就越低,损失也就越大。如图3(c)所示,IAN的目标是最小化这个损失函数,提高聚类的紧凑性。
3.2.3 Adaptive Group-Center Selection (AGCS) 自适应组中心选择(AGCS)
用于消融实验的AGCS详细算法和参数设置可在补充材料中找到。
3.2.3.1 最远点采样FPS确定组中心点
尽管我们的方法不需要采样,但我们仍需使用最远点采样(FPS)算法来选择组的中心点。
3.2.3.2 FPFH方法采样确定组中心点
如图4所示,AGCS的目标是在推理阶段,在几何变化显著的区域分配更高的组分辨率。
为评估点的几何特征,我们采用快速点特征直方图(FPFH)方法。对于点云
P
P
P中的每个点
p
p
p ,我们计算该点的表面法向量,记为
n
(
⋅
)
n(\cdot)
n(⋅) 。
我们取
n
n
n个相邻点,记为
{
N
1
,
N
2
,
⋯
,
N
n
}
\{N_1, N_2, \cdots, N_n\}
{N1,N2,⋯,Nn}。我们通过欧几里得距离计算点
p
p
p与其相邻点的表面法向量差异,得到周围变化特征
F
F
F,公式如下:
F
p
=
∑
i
=
1
N
∥
f
(
p
)
−
f
(
N
i
)
∥
2
(15)
F_p = \sum_{i = 1}^{N} \|f(p) - f(N_i)\|_2 \tag{15}
Fp=i=1∑N∥f(p)−f(Ni)∥2(15)
这个度量使我们能够基于点及其相邻点的FPFH描述符,量化它们在几何属性上的差异。
3.2.3.3 中心点采样:整合FPFH ( a × n ) (a \times n) (a×n)+FPS ( 1 − a ) × n (1 - a) \times n (1−a)×n
在中心点采样过程中,假设总共需要
n
n
n个中心点。通过FPFH方法采样的中心点为
C
F
P
F
H
C_{FPFH}
CFPFH ,数量为
a
×
n
a \times n
a×n ,其余
(
1
−
a
)
×
n
(1 - a) \times n
(1−a)×n个中心点
C
F
P
S
C_{FPS}
CFPS通过FPS采样获得,其中
a
a
a为分配的权重。
最终,所有中心点
C
C
C由两者组成:
C
=
C
F
P
F
H
∪
C
F
P
S
(16)
C = C_{FPFH} \cup C_{FPS} \tag{16}
C=CFPFH∪CFPS(16)
3.2.4 Overall Pipeline 整体流程
3.2.4.1 训练阶段
3.2.4.1.1 基于三维点云特征的内存库
在Group3AD框架中,训练阶段首先利用预训练的编码器从三维点云初始提取特征。
随后,簇间均匀性网络(IUN)增强编码器的能力,加大不同簇之间的分离度,以提升特征表示的区分度。此外,簇内对齐网络(IAN)进一步细化这些特征,确保它们在每个簇内紧密对齐。
增强后的编码器随后将这些优化后的特征存入内存库。
3.2.4.1.2 基于坐标信息的内存库
此外,还使用了一个基于坐标信息的内存库(类似于Reg3D - AD [1] )来辅助检测。
3.2.4.2 测试阶段
在推理阶段,自适应组中心选择(AGCS)通过将这些区域与内存库进行比较,有选择地针对潜在异常区域,准确计算组的异常分数。
本文中获取每个点的异常分数的插值方法与Reg3D - AD [1] 相同。
Group3AD的训练和推理实现如算法1所述。我们用
P
\mathcal{P}
P表示点云的训练或测试数据加载器,用
P
mod
P_{\text{mod}}
Pmod表示生成伪异常后的修改点云,
F
F
F表示由编码器
Φ
enc
\varPhi_{\text{enc}}
Φenc提取的特征。
C
C
C和
C
centers
C_{\text{centers}}
Ccenters分别表示簇及其中心,
L
IUN
\mathcal{L}_{\text{IUN}}
LIUN和
L
IAN
\mathcal{L}_{\text{IAN}}
LIAN分别是IUN和IAN阶段的损失函数。
C
points
C_{\text{points}}
Cpoints是AGCS选择的中心点,
S
S
S是推理过程中计算出的异常分数。
4 EXPERIMENTS
4.1 Experimental Settings 实验设置
在我们的实验中,我们使用==Real3D - AD ==[1] 数据集。实验设置和评估标准基于Real3D - AD项目。我们使用受试者工作特征曲线下面积(AUROC)和精确率 - 召回率曲线下面积(AUPR),在对象级别和点级别评估异常检测的性能。
4.2 Results and Analysis
4.2.1 Anomaly Detection on Real3D-AD Real3D - AD上的异常检测
表1 - 4总结了Group3AD与其他先进方法在各类别上的比较,这些方法包括Reg3D - AD [1]、CPMF [7]、IMRNNet [11],以及一些在Real3D - AD [1] 中报告的基准方法。
4.2.1.1 O-AUROC
对象级受试者工作特征曲线下面积(O - AUROC)。关于O - AUROC指标,虽然Reg3D - AD [1] 以平均0.704的O - AUROC在当前方法中树立了基准,但这一成绩并非完全理想。然而,新引入的Group3AD方法显著超越了现有标准,其O - AUROC达到了0.751,如表1所示,这表明相较于先前技术有了重大进步。
4.2.1.2 O-AUPR
对象级精确率 - 召回率曲线下面积(O - AUPR)。在O - AUPR方面,Reg3D - AD在当前方法中处于领先地位,平均性能为0.723,这表明在精确率 - 召回率的最佳平衡上仍有差距。新开发的Group3AD方法超越了这些先例,展现出显著的0.74的O - AUPR,如表2所示,这在准确识别异常方面有了实质性的改进 。
4.2.1.3 P-AUROC
点级受试者工作特征曲线下面积(P - AUROC)。我们的研究结果表明,在各种测试场景下的P - AUROC得分方面,Group3AD相较于Reg3D - AD有了显著提升。虽然Reg3D - AD的P - AUROC为0.705,但Group3AD将这一基准提升到了0.735,如表3所示,这表明检测能力有了显著增强。这种改进证明了Group3AD在处理三维异常检测复杂性方面的稳健性。
4.2.1.4 P-AUPR
点级精确率 - 召回率曲线下面积(P - AUPR)。考虑P - AUPR指标,Reg3D - AD以0.109的P - AUPR分数奠定了坚实基础。我们的新方法Group3AD显著提升了这一基准,达到了0.137的P - AUPR,如表4所示,这表明召回能力有了显著提高。
4.2.1.5 总结
回顾O - AUROC、O - AUPR、P - AUROC和P - AUPR指标的性能,很明显,虽然Reg3D - AD [1] 设定了坚实的基准,但Group3AD显著超越了这些基准。
4.2.2 Evaluating Intercluster Uniformity & Intracluster Alignment Method for Anomaly Detection 评估簇间一致性和簇内对齐的异常检测方法
通过比较 启用 和禁用 IUN&IAN组件的模型的性能指标,从表5中我们观察到, 当IUN&IAN处于激活状态时,模型区分正常特征和异常特征的能力显著增强。这种增强与IUN&IAN的主要功能直接相关:优化特征空间中簇的分离和均匀分布。虽然IUN&IAN建立了特征簇的基本分离和分布,但IAN进一步微调这种分布,促使簇更加紧凑和连贯。这种优化显然有助于减少簇之间的模糊性和重叠,从而提升模型的异常检测能力。
4.2.3 Evaluating Adaptive Group-Center Selection for Anomaly Detection 评估用于异常检测的自适应组中心选择
我们进一步研究了AGCS在Group3AD中的作用。表6所示的实验结果表明,AGCS显著提升了模型检测异常的有效性。通过聚焦于存在潜在不规则性的区域,AGCS使模型能够识别那些在均匀采样条件下可能被遗漏的细微但关键的异常。
4.3 Visualization 可视化
图5展示了Group3AD框架在Real3D - AD数据集上聚类结果的可视化呈现。
每个点代表一个组中心,通过由IUN和IAN塑造的精细特征空间确定其位置。簇之间的明显分离体现了UN在增强不同组间特征区分度方面的作用,而每个簇内点的密集程度则证明了IAN在促进特征间一致性方面的作用。
5 Conclusions
在本研究中,我们引入了Group3AD,这是一个专为工业高分辨率三维异常检测设计的稳健框架,它能够有效提高异常检测和定位的准确性。与现有方法相比,Group3AD展现出显著的改进,特别是在减少误报以及利用深度信息实现更清晰的异常识别方面。因此,Group3AD成为适用于实际应用的实用解决方案。未来的工作可能会拓展其适用性和效率,进一步巩固其在工业异常检测任务中的实用价值。
6 Acknowledgments 致谢
本研究工作得到了中国国家自然科学基金(项目编号:62206122、82261138629、62302309)、广东省重点实验室(项目编号:2023B1212060076)、深圳市科技创新委员会(项目编号:JCYJ20220531101412030)、腾讯“犀牛鸟” - 深圳大学青年教师科研基金,以及国家工程实验室大数据系统计算技术内部基金(项目编号:SZU - BDSC - If2024 - 08)的支持。
SUPPLEMENTARY
A Real3D-AD Dataset Real3D - AD数据集
Real3D - AD由1254个高分辨率三维对象组成,每个对象的点数从四万到数百万不等,是目前可用于高精度三维工业异常检测的最广泛的数据集。在点云分辨率(0.0010mm - 0.0015mm)、全面的360度覆盖范围以及完美的原型质量方面,Real3D - AD超过了其他现有的三维异常检测数据集。为确保可重复性和可访问性,Real3D - AD数据集、基准源代码以及Reg3D - AD均发布在网站https://github.com/M3LAB/Real3D - AD上。
Real3D - AD数据集包含12个不同类别的统计数据。每个类别的训练集仅包含四个样本,体现了一种类似于二维异常检测的小样本学习方法。类别涵盖了从飞机、糖果棒到钻石等各种玩具制造生产线。
训练样本提供了三维对象的完整模型,而测试样本仅从一侧进行扫描。该数据集的特点,包括异常点比例低和注重透明度,使其对三维点云异常检测任务而言既极具挑战性又十分适用。
B Evaluation Metrics for Group3AD Group3AD的评估指标
在异常检测中,尤其是在高分辨率三维异常检测这一专业领域,准确评估模型的有效性对于确定其在实际应用中的实用性至关重要。专为该目的设计的Group3AD框架,整合了一系列先进的评估指标,旨在精确衡量模型在三维环境中检测和定位异常的效率。本节将对Group3AD中使用的评估指标进行基础概述,详细阐述其理论基础以及在提升模型诊断能力方面的重要意义。
这些评估指标对于验证Group3AD在各种工业和技术场景中的稳健性和可靠性不可或缺,在这些场景中,精确的异常定位能够显著影响操作安全和效率。选择这些评估指标的依据在于,它们能够从异常检测的不同方面对模型性能进行全面评估,从一般的检测准确率到特定的定位精度,确保Group3AD能够满足高风险应用的严格要求。
B.1 O-AUROC (Object-level Area Under the Receiver Operating Characteristic Curve) 对象级受试者工作特征曲线下面积(O - AUROC)
受试者工作特征(ROC)曲线是一种图形化展示,用于描绘二元分类器系统在判别阈值变化时的诊断能力。该曲线通过绘制不同阈值设置下的真正例率(TPR,即灵敏度)与假正例率(FPR,即1 - 特异度)来生成。受试者工作特征曲线下面积(AUROC)代表ROC曲线下方的面积,它提供了一种对模型在所有可能的分类阈值下性能的综合度量。具有完美判别能力的模型的AUROC为1.0,这意味着它在所有阈值下都能完美地区分不同类别。
O - AUROC评估模型将正常对象和异常对象作为完整实体进行区分的整体能力。它在评估异常情况多样的数据集的性能时特别有效,能够确保模型在实际场景中的稳健性(鲁棒性)。
B.2 P-AUROC (Point-level Area Under the Receiver Operating Characteristic Curve) 点级受试者工作特征曲线下面积(P - AUROC)
与O - AUROC类似,P - AUROC关注模型在更细粒度层面的性能,即三维点云中的每个单独点。对于需要在对象内部进行详细分析的应用场景,该指标至关重要,因为在这些场景中每个点的分类直接影响检测系统的整体效用。
P - AUROC衡量了模型在对对象内每个点进行分类时的精确程度,这对于需要精细异常定位的任务必不可少,例如在制造业或结构完整性评估中,微小的异常可能意味着严重的缺陷。
B.3 O-AUPR (Object-level Area Under the Precision-Recall Curve) 对象级精确率 - 召回率曲线下面积(O - AUPR)
精确率 - 召回率(PR)曲线展示了不同阈值下精确率和召回率之间的权衡关系。与受试者工作特征(ROC)曲线不同,当类别严重不平衡时,PR曲线能更全面地反映算法的性能。精确率 - 召回率曲线下面积(AUPR)是一个综合考量预测模型精确率和召回率的单一性能度量指标,使其成为评估不平衡数据集中模型的理想选择。
O - AUPR对于评估Group3AD在异常情况稀少或非常细微场景下的有效性至关重要,它确保模型不会将正常对象大量误分类为异常对象,这是高度不平衡数据集中常见的问题。
B.4 P-AUPR (Point-level Area Under the Precision-Recall Curve) 点级精确率 - 召回率曲线下面积(P - AUPR)
P - AUPR将O - AUPR的概念拓展到对象内点级评估的粒度。当精确的异常定位至关重要,且误报(正常点被误分类为异常点)会导致不必要的操作(如检查或修复)时,该指标尤为重要。
这些指标共同为评估Group3AD系统提供了一个稳健的框架,确保其满足在工业场景中实际部署所必需的灵敏度和特异度要求。这些指标不仅评估异常检测和定位的有效性,还有助于调整模型,以在各种操作场景中提高其性能。
C Implementation Details 实现细节
在基准方法Reg3D - AD所奠定的基础之上,Group3AD框架对编码器训练过程进行了显著增强,以更好地适应高分辨率三维异常检测任务。与Reg3D - AD类似,实验中Group3AD的memory_size被设置为10000。实验中Group3AD的其他参数以及异常分数计算方法也与Reg3D - AD保持一致,以确保公平性。
IUN&IAN用于强化通过Point - MAE预训练的编码器。以飞机为例,在训练过程中,每个飞机点云被划分为4096个组,每组包含128个相邻点。我们的方法拥有524288个可用点,远远超过传统PointMAE预训练中使用的8192个点。我们的方法更有效地利用了高分辨率点云数据中包含的信息,避免了在降采样过程中异常点云信息的浪费。
AGCS通过分析点云内部的局部几何变化,优先关注可能包含异常的区域。在实验中,AGCS获取的中心点占总中心点的20%,这表明系统更集中地关注这些区域,提高了异常检测过程的灵敏度和准确性。在IUN&IAN的训练过程中,原始点云通过最远点采样(FPS)选择中心点,而不使用我们提出的AGCS模块,以便在内存库中获得更均匀的特征分布。AGCS的具体实现如算法2所示。表9中的消融实验表明,在当前实验条件下,将alpha设置为0.2可获得最佳结果。
D Supplementary testing on other datasets
Real3D - AD [1] 于2023年在NeurIPS会议上发布,是目前唯一可用的高分辨率点云数据集。增加更多实验能够更好地展示Group3AD的有效性。尽管它们并非高分辨率点云数据集,我们还是在MVTec 3D PCD和Anomaly - ShapeNet - new数据集上进行了补充实验。在Anomaly ShapeNet [41] 上的实验使用了12个新发布的样本。MVTec 3D [12] 是一个RGB - D(2.5D)数据集,因此Group3AD无法直接应用。所以,我们将IUN和IAN应用于CVPR2023的SOTA方法M3DM,以证明它们在MVTec 3D PCD上的有效性。表7和表8中的结果展示了Group3AD的有效性。