1. 介绍
这篇文章收录于2023年CVPR,文章下载链接,代码下载链接。文章的代码目前已经137星了,在异常检测领域尤其是RGB-D异常检测这个一个细分领域中应该是非常难得的高星代码了,其影响力和经典程度由此可见一斑。这篇文章提出了一个很新颖的多模态融合方式,取得了最高分数的同时也启发了很多其他同领域的学者,后续又出现了几篇对它的升级和完善的文章,我也会在随后的博客中逐一介绍并作出对比分析。
文章所提出的模型的整体结构如下图:
输入为RGB图像和点云。文章采用了DINO作为RGB的特征提取器,PointMAE作为点云的特征提取器。作者将M3DM划分为3大组成部分:(1)PFA: Point Feature Alignment,(2)UFF:Unsuperviesd Feature Fusion;(3)DLF:Decision Layer Fusion。这三部分正好对应图中的三层,下面依次对这三部分进行分析。
2. Point Feature Alignment
文章的第一大部分是点云特征的对齐。因为点云所获得的特征是逐点的,在特征融合阶段,只有将三维点云中的点的特征和与之对应的二维图像中的像素点的特征融合在一起才是合理的,所以这里使用的方式具体如下:
- 点云特征提取:首先对点云进行farthest point sampling(最远点采样),具体来说就是随机选定一个点加入集合,之后再选择距离这个点最远的点加入集合,之后不断迭代,每次选择距离点云中剩下的点中距离集合中的所有点的距离最小值最大的那个点加入集合。经过迭代就得到了M个点。最大值采样的作用是能够大幅度的降低点云的规模,并保留充足的整体信息。当然文章中并没有将采样后剩余的点去掉,而是以这些点为中心将原始点云划分成了M个组。最远点采样的作用就是让组分布的均匀且覆盖完整的点云。Point Transformer提取每个组的特征,输出一个特征向量,并将这个向量视作是组中心点的特征向量;
- 特征插值:经过上述步骤,一个组的s个点中仅有中心点有对应的特征向量,其他点的特征需要进一步进行特征的插值得到。具体的,特征的权重根据根据这个点距离每个中心点的距离成反比;
- 特征投影:每个点都具有了特征向量后,根据相机的内外参将点投影至2D,找到点对应的像素。因为点云采集过程中不可避免的有值为Nan的位置,反应到图像上就是不是所有像素都有对应的点,这些像素的特征值被设置为0;得到了像素的特