摘要
二维工业异常检测已被广泛研究,但基于三维点云和RGB图像的多模态工业异常检测仍然有许多未探索的领域。现有的多模态工业异常检测方法通常直接将多模态特征进行拼接,这会导致特征之间产生较大的干扰,从而影响检测性能。本文提出了一种基于混合融合方案的全新多模态异常检测方法——Multi-3D-Memory (M3DM)。首先,我们设计了一种基于分块对比学习的无监督特征融合方法,以增强不同模态特征的交互;其次,我们利用多记忆库的决策层融合方法,以避免信息丢失,并通过附加的新颖分类器做出最终决策。此外,我们提出了一种点特征对齐操作,能够更好地对齐点云与RGB特征。大量实验表明,我们的多模态工业异常检测模型在MVTec-3D AD数据集上的检测和分割精度均优于现有的最先进方法。
创新点
点云数据提取的特征向RGB数据提取的特征的对齐方式,不再是简单的concate而是采用全连接层处理后进行拼接
方法
1. 点特征对齐 (Point Feature Alignment, PFA)
目的
解决点云特征与RGB特征在空间位置上的不匹配问题,为后续多模态特征融合提供统一的空间参考。
实现方法
-
点特征提取
输入点云数据 p p p 是一个包含 N N N 个点的位置序列,通过最远点采样 (FPS) 划分为 M M M 个点组,每组包含 S S S 个点。使用 Point Transformer 编码后,每个点组会生成一个特征向量 g g g。 -
最远点采样是一种广泛用于点云采样的算法。该算法通过逐步选择离已有点集合最远的点来构造一个子集。下面给出具体的算法步骤。
step1 第一个点可以随便初始化
step2 第二点选最远的点
step3 第三个点该怎么选呢? 当然也是要选离第一个和第二个点都最远的点。我们可以让剩余的每个点都与 第一个点和第二个点计算距离,这会有两个距离值,选择最短的那个距离表示他们与这两个点的距离,因为这表示的就是剩下的这些点分别到已经被选的两个点的距离,从这些距离里面选距离值最大的点,也就是最远的那个点,这就能满足我们每次都选最远点的目的了。
step4 后续的点也按照第三步的方式进行,让剩余的点与之前选过的点都进行距离计算,然后选择距离最小的那个作为他们到已选点集的距离,最后再从这些距离值里面选择最大的那个,也就是最远的那个点,就可以了。
step5 重复上面的步骤,直到达到期望的采样点个数即可结束。 -
点特征插值 (Interpolation)
将点组特征插值到原始点云上的所有点:
p j ′ = ∑ i = 1 M α i g i , α i = 1 ∥ c i − p j ∥ 2 + ϵ / ∑ k = 1 M 1 ∥ c k − p j ∥ 2 + ϵ p'_j = \sum_{i=1}^M \alpha_i g_i, \quad \alpha_i = \frac{1}{\|c_i - p_j\|_2 + \epsilon} \Big/ \sum_{k=1}^M \frac{1}{\|c_k - p_j\|_2 + \epsilon} pj′=i=1∑Mαigi,αi=∥ci−pj∥2+ϵ1/k=1∑M∥ck−pj∥2+ϵ1
其中, g i g_i gi 是点组的特征, c i c_i ci 是点组的中心点, p j p_j pj 是输入点云中的任意点, ϵ \epsilon ϵ 是一个小常数,用于避免分母为零。 -
点特征投影 (Projection)
将插值后的点特征通过相机参数投影到二维平面,记为