题目:PO3AD: Predicting Point Offsets toward Better 3D Point Cloud Anomaly Detection
题目:PO3AD:通过预测点偏移量实现更优的三维点云异常检测
CVPR 2025 论文地址
Predicting 预测
Point Offsets 点偏移
toward 通过…实现
Better 更好的
3D Point Cloud Anomaly Detection 三维点云缺陷检测
Abstract 摘要
在无异常样本情况下进行点云异常检测面临重大挑战,因为这需要精确捕捉三维正常数据的特征,以识别异常情况。当前的研究工作主要聚焦于设计重建任务,如从原始数据或其伪异常样本中恢复正常表示。我们的研究发现,将注意力平均分配给正常数据和伪异常数据,往往会分散模型对异常偏差的关注。而三维点云数据本身无序且稀疏的特性,进一步加剧了这一挑战。
针对这些难题,我们引入一种创新方法,重点关注学习点偏移量,目标是更多地关注信息丰富的伪异常点,从而更有效地提炼正常数据表示。我们还精心设计了一种增强技术,该技术由法向量引导,有助于生成可信的伪异常样本,提高训练过程的效率。
在Anomaly - ShapeNet和Real3D - AD数据集上进行的全面实证评估表明,我们提出的方法优于现有的先进方法,在这些数据集上的AUC - ROC检测指标上平均分别提高了9.0%和1.4%。
1. Introduction 引言
点云异常检测旨在识别有缺陷的样本,并定位偏离预期数据模式的异常区域 [26, 40]。由于采集和标记异常样本成本高昂,这一任务通常在仅包含正常样本的训练集中实施。该框架的关键挑战在于有效捕捉三维正常数据的独特特征,使系统能够识别和分类那些偏离正常模式的实例为异常。此外,三维点云数据固有的无序和稀疏性质,极大地增加了获取这些判别特征的难度。
1.1 问题:对正常点和伪异常点赋予相等的损失权重
作为解决这一任务的合理途径,近期的研究致力于设计重建任务以捕捉正常表示,如图2(a)所示 。例如,IMRNet [20] 通过重建随机掩码的正常点云样本并比较输入与重建输出来检测异常。这种方法可能无法检测未掩码区域中的异常。为解决这一局限,R3D - AD [40] 从其伪异常变量中重建正常样本。然而,在三维空间中从点坐标重建会对正常点和伪异常点赋予相等的损失权重。提取正常模式依赖于从伪异常点中学习以恢复正常区域,但相等的损失权重会在这一过程中分散网络对正常点的关注,从而限制检测性能。图1中的经验证据表明,随着正常点损失权重的降低(伪异常点的损失权重固定在1.0),该模型更关注伪异常区域,从而提高了性能。
在基于重建的点云异常检测方法中,损失权重主要体现在以下方面:
- 正常点与伪异常点权重:在重建过程中,对于正常点和伪异常点会分别赋予不同权重来计算损失。比如文中提到在某些基于重建的方法里,伪异常点权重固定为1.0 ,而正常点权重会有不同设置,像0.1 normal weight、0.5 normal weight、1.0 normal weight 等情况。当正常点权重设置较低时,模型会更多关注伪异常点,但也可能存在对正常点特征学习不足的问题;若正常点权重设置不当,还会分散网络对正常点的关注,限制检测性能。
- 重建误差权重:计算原始点云与重建后点云之间的误差时,也会涉及权重设置。例如可能对不同维度(如 x x x、 y y y、 z z z坐标维度 )的重建误差赋予不同权重,或者对不同区域(如点云的不同局部区域 )的重建误差设置权重,以此来引导模型更关注某些重要部分的重建准确性。
1.2 本文提议预测伪异常中的点偏移量:专注于伪异常区域
在本文中,我们提议预测伪异常中的点偏移量(如图2(b)所示),这使模型能够专注于伪异常区域,从而有效地提取正常表示。点偏移量本质上由大小和方向两个属性表征。
1.2.1 伪异常中异常点的偏移量
伪异常中异常点的偏移量由这些属性定义,代表它们相对于原始正常点云中对应点的位移距离和方向。
1.2.2 伪异常中正常点的偏移量
相比之下,伪异常中正常点的偏移量主要由其位移距离决定,因为它们相对于原始正常点云中的对应点保持不变,使得方向属性在幅度为零的情况下相关性较低。
1.2.3 点偏移量预测任务聚焦于伪异常区域
点偏移量预测任务要求模型仅估计正常点的偏移量大小,同时预测伪异常点的偏移量大小和方向。
这种方法显著不同于当前主流的基于重建的方法,后者需要精确恢复点坐标,因此在正常点和伪异常点之间平均分配注意力。实证证据支持我们的方法,如图1(b)所示。我们的方法成功聚焦于伪异常区域,而基于重建的方法(1.0正常权重)未能做到。此外,在推理过程中,预测的偏移量可直接作为异常程度指标,而基于重建的方法依赖于人工设计的指标来生成异常分数。
1.3 PO3AD
基于上述观察,我们提出一种名为PO3AD的新型框架,它能高效地预测点偏移量并充分捕捉正常表示。为便于实际应用,为使模型能够学习预测偏移量的知识,我们进一步提出一种由法向量引导的异常模拟方法,名为Norm - AS 。我们的Norm - AS利用法向量来控制局部点云的移动方向,从而生成类似于真实异常的可信伪异常(如图4(d)所示),进而提高学习效率。相比之下,先前的异常模拟方法 [40] 忽略了点的移动方向。这可能导致伪异常区域与正常区域重叠(如图4©所示),从而使模型困惑,导致学习效率降低。伪异常样本中各点的偏移量作为训练标签。在测试时,预测的偏移量用于识别异常。
我们的贡献可总结如下:
- 提出一种名为PO3AD的新型框架,用于预测点偏移量,使模型能够专注于伪异常区域,并确保有效地学习三维点云异常检测的正常表示。
- 设计一种由法向量引导的点云伪异常生成方法,即Norm - AS,用于从正常样本中创建可信的伪异常,以提高训练效率。
- 在两个基准点云异常检测数据集上进行的大量实验证明了我们的方法相对于现有技术的优越性,在Anomaly - ShapeNet和Real3D - AD数据集上的检测AUC - ROC分别平均提高了9.0%和1.4% 。
2. Related Work
2.1 2D anomaly detection 二维异常检测
近年来,在无异常场景下针对二维图像数据的异常检测方法已得到广泛研究。为解决训练过程中异常样本缺失的问题,一种直接的方法是生成伪异常样本 [14, 19, 22, 30, 36, 38],使模型能够学习区分正常数据和异常数据。另一种解决此任务的方式依赖于构建一个存储由预训练编码器生成的正常特征的内存库 [1, 18, 26, 34] 。这类方法通过将测试数据的特征与正常训练样本的特征进行对比来检测异常。基于流的方法 [10, 27] 使用归一化流来估计特征分布,以检测异常。==基于重建的方法 ==[6, 12, 25, 35, 37] 旨在捕捉正常表示;通过比较输入与重建结果来检测异常。在本文中,我们关注三维点云异常检测。由于点云数据具有无序和稀疏的特性,这项任务尤其具有挑战性。
2.2 3D anomaly detection 三维异常检测
尽管二维异常检测已取得显著进展,但三维数据的异常检测研究仍然十分有限。早期的研究 [4, 28, 33] 侧重于将三维几何信息与二维图像特征相结合来处理该任务。相比之下,3D - ST [2] 和BTF [13] 通过提取仅有的三维特征来检测异常,已证明具有不错的效果。随着纯点云异常检测数据集Real3D - AD [21] 和Anomaly - ShapeNet [20] 的提出,近期的研究致力于纯点云数据的异常检测。Reg3D - AD [21] 和Group3AD [41] 将经典的二维方法PatchCore [26] 与RANSAC算法 [3] 相结合,开发出基于内存库的框架用于点云异常检测。尽管它们效果显著,但存在计算量和存储量过高的问题。IMRNet [20] 和R3D - AD [22] 采用基于二维重建的方法。它们训练模型来恢复正常数据样本或伪异常变量,然后通过比较测试时的输入与输出结果来检测异常。与先前的方法不同,我们首次尝试提出预测点偏移量的方法,以捕捉有效的正常点云表示用于异常检测。
2.3 Point offset learning 点偏移学习
预测点偏移量在三维分割和目标检测中已得到广泛应用 [12, 17, 32, 39] 。然而,在三维异常检测领域,它尚未得到探索。我们首次尝试将点偏移学习应用于点云异常检测,促使模型聚焦于伪异常点,从而能够有效地提取正常表示。
3. Methodology 方法论
问题陈述:点云异常检测涉及一个训练集
D
t
r
a
i
n
e
=
{
P
q
∈
R
N
×
3
}
q
=
1
M
\mathcal{D}_{train}^e = \{P_q \in \mathbb{R}^{N\times3}\}_{q = 1}^M
Dtraine={Pq∈RN×3}q=1M ,它由属于特定类别
e
e
e的
M
M
M个正常样本组成,每个样本包含
N
N
N个点。测试集
D
t
e
s
t
e
=
{
P
q
∈
R
N
×
3
,
t
q
∈
T
}
q
=
1
K
\mathcal{D}_{test}^e=\{P_q \in \mathbb{R}^{N\times3}, t_q\in\mathcal{T}\}_{q = 1}^K
Dteste={Pq∈RN×3,tq∈T}q=1K ,由
K
K
K个样本
P
q
P_q
Pq和标签
t
q
t_q
tq组成,其中
t
q
∈
{
0
,
1
}
t_q\in\{0, 1\}
tq∈{0,1} (
0
0
0表示正常样本,
1
1
1表示异常样本)。目标是在
D
t
r
a
i
n
e
\mathcal{D}_{train}^e
Dtraine上训练一个深度异常检测模型,以构建一个评分函数
ϕ
:
R
N
×
3
→
R
\phi: \mathbb{R}^{N\times3}\to\mathbb{R}
ϕ:RN×3→R ,用于定量评估点云实例的异常程度。
概述:我们框架的概述如图3所示。为说明我们的流程,给出一个样本。
①我们的伪异常点云是通过Norm - ASO从正常样本生成的。正常样本与伪异常样本的差值用作训练标签。
②然后,将伪异常样本输入主干网络以提取其特征。
③接着,偏移预测模块接收这些特征作为输入来生成预测偏移。之后,通过偏移损失优化模型参数。
④在测试时,将预测的偏移应用于测试数据以评估其异常程度。
3.1. Offset Prediction Learning 偏移预测学习
为捕捉用于异常检测的正常表示,我们提议预测点偏移量。实际操作中,我们构建一个偏移预测网络,并利用偏移损失来监督网络学习估计点偏移量的知识。我们的偏移预测学习使模型能够专注于伪异常点,正如图1(b)所示。这有助于实现有效的正常表示提取,以用于异常检测。
3.1.1. Offset Prediction Network 偏移预测网络
我们的网络由两个模块组成:主干网络和偏移预测器。
3.1.1.1 主干网络:MinkUNet
受三维领域杰出工程成果 [8, 15, 31, 39] 的启发,我们采用MinkUNet[6, 7] 作为我们方法的主干网络。
具体来说,MinkUNet 是一种基于体素的稀疏卷积网络[9, 11],它能有效地从点云中捕捉详细的局部特征。这使得在训练过程中能够提取细粒度的伪异常特征,从而有助于点云正常表示学习。
3.1.1.1.1 点云体素化
给定一个点云样本 P ∈ R N × 3 P \in \mathbb{R}^{N\times3} P∈RN×3,将其体素化为 V ∈ R N V × 3 V \in \mathbb{R}^{N_V\times3} V∈RNV×3,其中 N V N_V NV表示体素的数量。需要注意的是, N V ≤ N N_V \leq N NV≤N,且 N V N_V NV与体素大小成反比 。
3.1.1.1.2 通过MinkUNet提取体素特征
MinkUNet 的函数 f u v f_{uv} fuv将 V V V映射为潜在的体素化特征 G V ∈ R N V × C = f u v ( V ) G^V \in \mathbb{R}^{N_V\times C}=f_{uv}(V) GV∈RNV×C=fuv(V),其中 C C C表示每个体素特征的维度。
3.1.1.1.3 体素特征通过体素-点索引转换为逐点特征
然后,利用体素 - 点索引将 G V G^V GV转换为潜在的点特征 G P ∈ R N × C G^P \in \mathbb{R}^{N\times C} GP∈RN×C,用于预测逐点偏移。
3.1.1.2 偏移预测器
3.1.1.2.1 偏移预测值
我们的偏移预测器
f
o
f_{o}
fo是使用 多层感知器(MLP) 实现的, 它以
G
P
G^P
GP作为输入来估计每个点的偏移量
O
p
r
e
∈
R
N
×
3
=
f
o
(
G
P
)
O^{pre} \in \mathbb{R}^{N\times3}=f_{o}(G^P)
Opre∈RN×3=fo(GP) 。
每个点的偏移量由三个坐标(x、y、z)的偏移量组成。每个坐标中的偏移量
O
p
r
e
O^{pre}
Opre指的是沿特定坐标的偏移量。
3.1.1.2.2 偏移真值
O g t ∈ R N × 3 O^{gt} \in \mathbb{R}^{N\times3} Ogt∈RN×3是通过 P ^ − P \hat{P}-P P^−P得到的,其中 P ^ \hat{P} P^是通过Norm - ASO从点云样本 P P P创建的伪异常样本。
3.1.2. Offset Loss 偏移损失
我们采用偏移损失来引导网络学习预测点偏移量的知识。这些点偏移量是描述伪异常点云中的每个点相较于正常点云中对应点的位移距离和方向的向量。
相应地,使用L1损失和负余弦相似度损失分别监督网络预测点偏移量的距离和方向,从而得到偏移损失:
L
o
f
f
=
L
d
i
s
t
+
L
d
i
r
(1)
\mathcal{L}_{off} = \mathcal{L}_{dist} + \mathcal{L}_{dir} \tag{1}
Loff=Ldist+Ldir(1)
L
d
i
s
t
=
1
N
∑
i
=
1
N
∥
o
i
p
r
e
−
o
i
g
t
∥
,
o
i
p
r
e
∈
O
p
r
e
,
o
i
g
t
∈
O
g
t
(2)
\mathcal{L}_{dist} = \frac{1}{N}\sum_{i = 1}^{N} \left\lVert o_i^{pre} - o_i^{gt} \right\rVert, \quad o_i^{pre} \in O^{pre}, o_i^{gt} \in O^{gt} \tag{2}
Ldist=N1i=1∑N
oipre−oigt
,oipre∈Opre,oigt∈Ogt(2)
L
d
i
r
=
−
1
N
∑
i
=
1
N
o
i
p
r
e
∥
o
i
p
r
e
∥
2
+
ϵ
⋅
o
i
g
t
∥
o
i
g
t
∥
2
+
ϵ
,
o
i
p
r
e
∈
O
p
r
e
,
o
i
g
t
∈
O
g
t
(3)
\mathcal{L}_{dir} = - \frac{1}{N} \sum_{i = 1}^{N} \frac{o_i^{pre}}{\left\lVert o_i^{pre} \right\rVert_2 + \epsilon} \cdot \frac{o_i^{gt}}{\left\lVert o_i^{gt} \right\rVert_2 + \epsilon}, \quad o_i^{pre} \in O^{pre}, o_i^{gt} \in O^{gt} \tag{3}
Ldir=−N1i=1∑N∥oipre∥2+ϵoipre⋅
oigt
2+ϵoigt,oipre∈Opre,oigt∈Ogt(3)
其中,
L
d
i
s
t
\mathcal{L}_{dist}
Ldist和
L
d
i
r
\mathcal{L}_{dir}
Ldir的权重相等,以避免偏向某一种损失。这里,
ϵ
\epsilon
ϵ设为
1
e
−
8
1e - 8
1e−8,是为了防止除以零。值得注意的是,
L
d
i
r
\mathcal{L}_{dir}
Ldir仅对伪异常点起作用,因为每个正常点的真实偏移量是零向量。
L
d
i
s
t
\mathcal{L}_{dist}
Ldist和
L
d
i
r
\mathcal{L}_{dir}
Ldir在捕捉正常表示方面的重要性将在4.5节中阐述。
点的法向(Normal Vector)
在三维点云数据中,点的法向是垂直于该点所在局部表面的向量 。它描述了点云表面在该点处的朝向信息。比如在一个三维物体表面的点,法向量方向指向物体表面的外侧。计算点的法向常见方法有:
- 基于邻域点拟合平面法:对于目标点,先确定其邻域点(如通过K近邻算法找到 k k k个最近邻点 ),然后基于这些邻域点拟合一个平面(比如使用最小二乘法 ),该平面的法向量就可作为目标点的法向量。
- 基于点云曲率估计法:先计算点云的曲率等几何属性,再根据曲率信息确定点的法向,例如曲率较大的区域(尖锐部分 )法向确定方式可能与曲率较小的平滑区域有所不同。
负余弦相似度(Negative Cosine Similarity)
余弦相似度用于衡量两个向量方向的相似程度,取值范围在[-1, 1] ,公式为:
Cosine Similarity = a ⃗ ⋅ b ⃗ ∥ a ⃗ ∥ 2 ∥ b ⃗ ∥ 2 \text{Cosine Similarity} = \frac{\vec{a} \cdot\vec{b}}{\|\vec{a}\|_2 \|\vec{b}\|_2} Cosine Similarity=∥a∥2∥b∥2a⋅b
其中 a ⃗ ⋅ b ⃗ \vec{a} \cdot\vec{b} a⋅b是向量 a ⃗ \vec{a} a和 b ⃗ \vec{b} b的点积, ∥ a ⃗ ∥ 2 \|\vec{a}\|_2 ∥a∥2和 ∥ b ⃗ ∥ 2 \|\vec{b}\|_2 ∥b∥2分别是向量 a ⃗ \vec{a} a和 b ⃗ \vec{b} b的L2范数(即向量模长)。
你给出的公式
L d i r = − 1 N ∑ i = 1 N o i p r e ∥ o i p r e ∥ 2 + ϵ ⋅ o i g t ∥ o i g t ∥ 2 + ϵ \mathcal{L}_{dir}=-\frac{1}{N} \sum_{i = 1}^{N} \frac{o_{i}^{pre}}{\left\|o_{i}^{pre}\right\|_{2}+\epsilon} \cdot \frac{o_{i}^{gt}}{\left\|o_{i}^{gt}\right\|_{2}+\epsilon} Ldir=−N1i=1∑N∥oipre∥2+ϵoipre⋅ oigt 2+ϵoigt
是负余弦相似度在特定损失函数场景下的应用:
- 这里 o i p r e o_{i}^{pre} oipre和 o i g t o_{i}^{gt} oigt分别是预测的偏移向量和真实的偏移向量(可能对应点云中点的偏移 )。
- 先对预测向量 o i p r e o_{i}^{pre} oipre和真实向量 o i g t o_{i}^{gt} oigt分别进行归一化(除以自身模长并加上一个小常数 ϵ \epsilon ϵ防止分母为0),得到方向向量。
- 然后计算这两个归一化后向量的点积,这个点积值就是余弦相似度(在取值范围[-1, 1] 内 ),前面加负号后,就变成负余弦相似度,当预测向量和真实向量方向越一致时,负余弦相似度值越小(趋近于 - 1),当方向越不一致时,值越大(趋近于1)。对 N N N个点的负余弦相似度求平均,就得到整体的损失项 L d i r \mathcal{L}_{dir} Ldir,用于在训练中约束模型使预测偏移向量方向接近真实偏移向量方向。
3.2. Norm-AS
为生成可信的伪异常样本以提高训练效率,我们开发了一种由法向量引导的新型异常模拟方法。我们提出的Norm - AS方法是通过将随机区域的点沿法向量方向或反方向移动,从而生成凸起或凹陷类型的异常。该区域是通过将点云划分为多个小块,然后随机采样其中一个小块来选定的。
3.2.1 点云划分位指定数目的块
给定一个训练用的正常点云样本 P ∈ R N × 3 P \in \mathbb{R}^{N\times3} P∈RN×3,将其划分为 J J J个小块 P H = { p h b ∈ R N h × 3 } b = 1 J PH = \{ph_b \in \mathbb{R}^{N_h\times3}\}_{b = 1}^J PH={phb∈RNh×3}b=1J,其中 N h N_h Nh是每个小块中的点数,且 N h = N / J N_h = N / J Nh=N/J 。具体来说,每个小块是通过从 P r P^r Pr中随机选择一个点及其最近的 N h − 1 N_h - 1 Nh−1个点来迭代确定的, P r P^r Pr表示点云 P P P中尚未包含在任何小块中的点。基于此, p h b ph_b phb具有多种形状,而不只是圆形,这使得能够创建出具有各种形状的伪异常。
3.2.2 随机采样得到的块 生成伪异常区域
3.2.2.1 法向量引导下生成的伪异常
随后,随机采样得到的
p
h
b
ph_b
phb通过以下方式生成伪异常区域:
p
h
^
b
=
p
h
b
+
α
⋅
n
v
b
⋅
(
1
−
w
)
⋅
β
(4)
\hat{ph}_b = ph_b + \alpha \cdot nv_b \cdot (1 - w) \cdot \beta \tag{4}
ph^b=phb+α⋅nvb⋅(1−w)⋅β(4)
3.2.2.1.1 块中的点移动沿法向量的方向 { − 1 , 1 } \{-1, 1\} {−1,1}
其中 n v b ∈ R N h × 3 nv_b \in \mathbb{R}^{N_h\times3} nvb∈RNh×3是 p h b ph_b phb的法向量, α \alpha α从 { − 1 , 1 } \{-1, 1\} {−1,1}中随机采样,用于控制该点是沿 n v b nv_b nvb方向( α = 1 \alpha = 1 α=1)还是反方向( α = − 1 \alpha = -1 α=−1)移动;
3.2.2.1.2 块中的点距离中心点越远移动距离越短
w w w是一个具有 N h N_h Nh个元素的矩阵,每个元素表示 p h b ph_b phb中一个点到中心点的归一化距离,通过执行 1 − w 1 - w 1−w,我们的目标是将中心移动最大的距离,而距离中心点较远的点移动距离较短;
3.2.2.1.3 中心点的移动距离:具有经验设置范围的均匀分布采样
β \beta β表示中心点的移动距离,它从[0.06, 0.12]的具有经验设置范围的均匀分布中采样,以产生具有不同偏移距离的伪异常。
3.2.2.1.4 异常块的生成
通过用 p h ^ b \hat{ph}_b ph^b替换 P P P中的相应区域来生成伪异常。伪异常区域的大小等于 N / J N / J N/J,由J决定,其对正常表示学习的影响将在4.6节中讨论。
3.2.2.2 没有法向量引导情况下生成的伪异常
Norm - AS能够创建出类似于真实异常的伪异常,如图4(d)所示。相比之下,在没有法向量引导的情况下生成的伪异常(如图4©所示),其中的伪异常点与正常点重叠,这可能会阻碍模型提取该区域的有效特征,从而降低训练效率。补充材料6的图8中提供了更多我们生成的伪异常示例。生成由法向量引导的伪异常对于正常表示学习的重要性将在4.5节中进行验证。
3.3. Anomaly Score for Inference 推理的异常分数
3.3.1 点级异常分数
测试数据中每个点的异常程度通过其预测的偏移量来评估。具体而言,一个点的异常分数是通过将沿三个坐标(x、y、z)的偏移距离相加来计算的。点级异常分数函数
ϕ
(
p
i
)
\phi(p_i)
ϕ(pi)定义如下:
ϕ
(
p
i
)
=
∣
o
i
,
x
p
r
e
∣
+
∣
o
i
,
y
p
r
e
∣
+
∣
o
i
,
z
p
r
e
∣
(5)
\phi(p_i) = \vert o_{i,x}^{pre} \vert + \vert o_{i,y}^{pre} \vert + \vert o_{i,z}^{pre} \vert \tag{5}
ϕ(pi)=∣oi,xpre∣+∣oi,ypre∣+∣oi,zpre∣(5)
其中
p
i
∈
P
p_i \in P
pi∈P,且
{
o
i
,
x
p
r
e
,
o
i
,
y
p
r
e
,
o
i
,
z
p
r
e
}
=
o
i
p
r
e
∈
O
p
r
e
\{o_{i,x}^{pre}, o_{i,y}^{pre}, o_{i,z}^{pre}\} = o_i^{pre} \in O^{pre}
{oi,xpre,oi,ypre,oi,zpre}=oipre∈Opre 。
3.3.2 对象级异常分数
根据
ϕ
(
p
i
)
\phi(p_i)
ϕ(pi),对象级异常分数函数
ϕ
(
P
)
\phi(P)
ϕ(P)通过以下方式获得:
ϕ
(
P
)
=
1
N
∑
i
=
1
N
ϕ
(
p
i
)
(6)
\phi(P) = \frac{1}{N} \sum_{i = 1}^{N} \phi(p_i) \tag{6}
ϕ(P)=N1i=1∑Nϕ(pi)(6)
正常样本或点的异常分数期望尽可能小。异常分数越大,样本或点越有可能是异常的。
4. Experiments 实验
4.1. Experimental Settings 实验设置
4.1.1 Datasets 数据集
遵循两个基准 [20, 21],我们的评估涵盖两个现有的纯点云异常检测数据集:Anomaly - ShapeNet [20] 和 Real3D - AD [21]。
4.1.1.1 Anomaly - ShapeNet 数据集
Anomaly - ShapeNet 是基于ShapeNet [5] 数据集的合成数据集,它由属于40个类别的1600个样本组成。每个类别的训练集包含4个正常样本。
4.1.1.2 Real3D - AD 数据集
Real3D - AD 是基于12个类别的真实物体的高分辨率点云数据集。每个类别包含4个训练正常样本和100个测试实例。在Real3D - AD数据集中,训练样本和测试样本之间存在很大差异,训练样本进行了360°扫描,而测试样本仅从一个侧面进行扫描。
4.1.2 Evaluation metrics评估指标
实验按照先前的工作 [20, 21] 进行。受试者工作特征曲线下面积(AUC - ROC)被用作我们的评估标准。它可以在不对决策阈值做任何假设的情况下,客观地评估检测(对象级)和定位(点级)性能。
4.2. Implementation Details 实现细节
MinkUNet34C [6, 7] 作为我们用于特征提取的主干网络。
一个带有PReLU激活函数的三层多层感知器(MLP)构成偏移预测器。
我们将潜在特征的维度
C
C
C设置为32,体素大小设置为0.03 。我们的网络训练1000个轮次,批量大小为32(训练集被复制100次以获得400个样本)。模型参数使用Adam优化器进行优化,初始学习率为0.001,按照余弦退火调度 [23] 进行衰减。
我们的方法不涉及点云下采样。训练样本在归一化之前进行随机旋转。所有输入点云通过将其重心与坐标原点对齐并将其维度缩放到 - 1到1的范围来进行归一化。我们为Norm - AS设置的块数
J
J
J为64 ,它在归一化之后执行。法向量从官方数据集OBJ文件中获取。
4.3. Baseline Methods 基线方法
我们将所提出的方法与八种出色的方法进行比较:BTF [13]、M3DM [33]、PatchCore [26]、CPMF [4]、Reg3D - AD [21]、IMRNet [20]、R3D - AD [40] 和Group3AD [41] 。
PatchCore原本是一种二维异常检测方法,通过替换特征提取器将其应用于三维领域。BTF、M3DM、PatchCore和CPMF的结果通过Real3D - AD和IMRNet实现。其他方法的结果从它们的论文中获取。
4.4. Main Results 主要结果
4.4.1. Results on Anomaly-ShapeNet Anomaly - ShapeNet数据集上的结果
表1和表2分别展示了在Anomaly - ShapeNet数据集上,我们的方法与其他竞争方法在检测和定位任务上的结果。我们的方法在这两项任务中均取得了最佳的整体性能,在检测任务上比第二优的方法平均高出9.0%,在定位任务上平均高出23.0% 。为防止少数类别主导平均结果,我们还计算了平均排名(↓)用于比较。值得注意的是,我们的方法在对象级和点级AUC - ROC指标上均获得了最佳(最低)平均排名,在类别层面显著超越了竞争方法。我们的方法不仅在大多数类别中优于竞争对手,还在其余类别中保持了有竞争力的性能。此外,与各类别中最佳的对比方法(如bag0和bowl4等类别)相比,我们的方法在性能上有显著提升。总体而言,这些比较结果验证了我们方法的优越性。此外,对象级AUC - PR结果可在补充材料7的表5中找到。
4.4.2. Results on Real3D-AD Real3D - AD数据集上的结果
表3展示了在Real3D - AD数据集上对象级AUC - ROC结果的对比。根据平均排名,我们的方法以微弱优势位居榜首,相较于第二优的方法,平均AUC - ROC提升了1.4% 。在类别层面,我们的方法在6个类别中取得了最佳或次佳的结果,在其余类别中也表现出色。需要注意的是,Real3D - AD数据集的训练数据和测试数据之间存在巨大差异,即训练样本进行了360°扫描,而测试点云仅从一个侧面进行扫描。基于内存点的方法(如Reg3D - AD、Group3AD)在处理这种情况时具有优势,因为它们利用模板配准技术来检测异常。尽管如此,我们的方法在平均性能和平均排名上仍超过了它们。与基于重建的方法相比,我们的方法在大多数类别中取得了最佳结果:与R3D - AD相比有8个类别,与IMRNet相比有7个类别。总体而言,这些对比结果证明了我们方法的有效性。
4.5. Ablation Study 消融研究
我们选取Anomaly - ShapeNet数据集中名称以0结尾的15个类别进行消融研究。平均结果见表4。
4.5.1 L d i r \mathcal{L}_{dir} Ldir的重要性
正常表示学习严重依赖 L d i r \mathcal{L}_{dir} Ldir:我们设计了 “变体1”,该模型仅由 L d i s t \mathcal{L}_{dist} Ldist监督 。缺少 L d i r \mathcal{L}_{dir} Ldir会导致网络难以精确估计伪异常点的偏移方向。根据实验结果,“变体1”的性能远低于我们的方法,这验证了 L d i r \mathcal{L}_{dir} Ldir对于捕捉有效的正常表示的重要性。
4.5.2 L d i s t \mathcal{L}_{dist} Ldist的重要性
L d i s t \mathcal{L}_{dist} Ldist对于捕捉有效的正常表示至关重要:“变体2”学习单一目标,即预测点偏移方向。显然,它明显不如我们的方法。没有 L d i s t \mathcal{L}_{dist} Ldist,模型无法学习正常点和伪异常点的偏移距离。此外,由于 L d i r \mathcal{L}_{dir} Ldir不适用于正常点,该模型完全忽略了正常点。因此, L d i s t \mathcal{L}_{dist} Ldist在我们基于偏移预测的框架中不可或缺。
4.5.3 法向量引导生成伪异常的重要性
由法向量引导生成伪异常有助于正常表示学习:在“变体3”中观察到性能大幅下降,因为随机方向移动点可能会产生不适当的伪异常,使模型困惑,导致学习效率降低。这表明所提出的Norm - AS对于促进正常表示的提取至关重要。此外,“变体3”的性能进一步证明了我们基于偏移预测的框架相较于基于重建的R3D - AD(77.2%)的优越性。
4.6. Analysis on Patch Number 小块数量分析
图5展示了对象级和点级AUC - ROC结果与不同小块数量的关系,这些结果是在Anomaly - ShapeNet数据集中名称以0结尾的15个类别上的平均值。伪异常区域的大小与小块数量
J
J
J成反比。合适的区域大小对于学习正常表示至关重要。对于过大的区域,预测点偏移会有困难,这可能会阻碍模型收敛。相反,对于过小的区域,学习点偏移可能会妨碍模型捕捉足够的正常表示。然而,尽管存在这些影响,我们的方法总体上对伪异常区域的大小不太敏感。根据给出的结果,当小块数量分别为32和64时,检测和定位性能达到最佳。在我们的实现中,为了在定位性能上取得最佳效果,我们将小块数量设置为64,这会略微牺牲检测性能。
4.7. Robustness to Noisy Data 对含噪数据的鲁棒性
在现实场景中,环境的复杂性和设备的不稳定性可能导致扫描的点云包含噪声,即含噪数据。为分析我们的方法对含噪数据的鲁棒性,我们对包含标准差为0、0.001、0.003和0.005(0表示干净数据)的高斯噪声的测试样本进行实验。
选取bottle0、bottle1和bottle3作为示例类别,分析结果如图7所示。可以观察到,随着噪声标准差的增加,性能仅略有下降。此外,我们方法的最差情况仍高于在干净数据上测试的竞争方法(如R3D - AD在bottle0、bottle1和bottle3上对象级AUC - ROC分别为73.3%、73.7%和78.1% )。这些实验结果证明了我们的方法对含噪数据的鲁棒性。补充材料8的图9中展示了含噪点云的可视化。
4.8. Qualitative Results 定性结果
图6展示了Anomaly - ShapeNet数据集中五个类别的定位异常图。异常图是在推理过程中通过应用点级评分函数
ϕ
(
p
i
)
\phi(p_i)
ϕ(pi) 直接得到的。我们的方法能够精确地定位异常区域,并且为正常点分配相对较低的异常程度,这验证了我们方法的有效性。
5. Conclusion
在本文中,我们设计了一种基于点偏移预测的新型框架PO3AD,以捕捉有效的正常表示,用于三维点云异常检测。此外,我们提出了一种由法向量引导的异常模拟方法Norm - AS,从正常样本中生成可信的伪异常,以促进正常表示的提取。在Anomaly - ShapeNet和Real3D - AD数据集上进行的大量实验证明,我们的方法优于现有的最佳方法。
局限性与未来工作。需要注意的是,我们目前的设计仍处于每类一个模型的学习范式下,即每个类别都需要一个专门训练的检测模型,这会带来过高的计算量和存储需求。在未来的工作中,我们打算研究类别间的共同模式,探索一种适用于点云异常检测的一类通用模型的学习范式。
Supplementary Material
6. Visualizations of Our Pseudo Anomalies 我们的伪异常可视化
图8展示了正常样本、真实异常样本以及我们的伪异常样本的可视化结果。可以观察到,使用Norm - AS方法生成的伪异常与真实异常非常相似,这证明了我们的方法在创建可信伪异常实例方面的有效性。
7. Additional Experimental Results 额外的实验结果
7.1 Anomaly - ShapeNet数据集上的对象级AUC - PR结果
表5展示了我们在Anomaly - ShapeNet数据集上对对象级AUC - PR进行比较分析的结果。这些结果表明,我们的方法在排名上取得了最佳成绩,并且在AUC - PR方面比第二优的方法平均高出26.0%。这样的实验结果证明了我们方法的优越性。
7.2 使用PTv3作为主干网络的结果
选择四个性能有显著提升的类别,使用PTv3作为主干网络进行实验,结果见表6。将PTv3用作特征提取的主干网络时,我们的方法仍然优于R3D - AD,验证了我们基于偏移预测方法的有效性。
8. Visualizations of Noisy Data 含噪数据的可视化
图9展示了一个干净点云及其具有不同标准差的含噪变体的可视化结果。可以观察到,随着噪声标准差的增加,点云表面逐渐变得不那么平滑。
9. Visualizations of Model Attention Maps 模型注意力图的可视化
图10展示了模型注意力图的可视化结果。显然,我们的方法成功聚焦于伪异常区域,从而能够有效地提取正常表示以用于异常检测。