CPMF论文阅读记录
仅使用点云,并未用到RGB信息
局部几何特征+全局语义特征
(FPFH+ResNet)
主要思想
结合2D和3D特征的互补性
3D特征:handcrafted
伪2D特征:3D到2D映射和渲染转成多视图,然后使用预训练的模型提取语义信息
实现细节
CPMF由3D模态特征提取模块和2D模态特征提取模块组成。这两种方法都可以提取点描述的PCD特征。
(一)3D模态特征抓取
与BTF方法一致:FPFH
(二)伪2D模态特征抓取
1)3D到2D的映射和渲染
I
I
I 是多视角图像,
R
R
R 是渲染函数,
C
C
C 是相机参数

为了后续进行2D到3D的对齐和聚合,需要知道3D点的空间位置和他在2D像素坐标中的位置之间的对应关系,如下:
[
P
3
D
,
i
,
1
]
[P_{3D,i},1]
[P3D,i,1] 是第i个点的空间位置,
[
P
2
d
,
i
,
1
]
[P_{2d,i},1]
[P2d,i,1] 是对应像素坐标的位置,
K
K
K 和
T
T
T 分别是渲染相机的内置和外置矩阵
1
/
Z
c
1/Z_c
1/Zc 是归一化坐标系数

由于3D到2D的降维有可能会损失一部分信息,为了保证点云完整的信息,作者采用不同的旋转矩阵
R
1
,
R
2
,
…
,
R
N
v
{R_1,R_2,…,R_{Nv}}
R1,R2,…,RNv 对点云进行旋转,
N
v
N_v
Nv 是旋转视角的数量,对于第
k
k
k 个旋转PCD第
i
i
i 个点:

对应的多视角图像和2D位置的对应关系如下:

旋转矩阵如何选择?
在
x
,
y
,
z
x,y,z
x,y,z 轴上选择不同的角度即可:

2)预训练特征图提取
F
I
k
F_{I_k}
FIk 是第
k
k
k 个视角下渲染图象的特征图,后面那个
F
I
F_I
FI 的特征提取函数,它可以对
I
k
I_k
Ik 进行特征抓取并且上采样到与
I
k
I_k
Ik 相同的原始像素


3)2D到3D的对齐和聚合
这个步骤做的事情是:对于3D中的每个点,找到其对应的2D模态的特征
so,在第
k
k
k 个视角下,第
i
i
i 个点的2D模态特征
F
2
D
,
k
,
i
F_{2D,k,i}
F2D,k,i 的计算公式如下:

其中, F I k F_{I_k} FIk 是第 k k k 个视角下渲染图像的特征图, P 2 D , k , i P_{2D,k,i} P2D,k,i 是指3D点云的第 i i i 个点在第 k k k 个视角下在2D图像中的位置。
这样就会得到所有视角下所有点的2D模态特征:

通过平均池化得到最终的2D模态特征
(三)聚合
此步骤的目的是将3D特征和2D特征结合起来形成CPMF特征
首先将两个模态的特征归一化为单位向量,以确保3D和2D模态特征具有相同的大小,并在后期的异常检测中具有相似的贡献。
这个是逐点处理的

然后将处理后的特征聚合为CPMF特征

C C C 指的是聚合函数
(四)PCD异常检测
采用PatchCore的思想形成memory bank,
M
M
M 包括训练集中所有点的CPMF特征

在测试阶段,首先提取训练集特征,然后采用最近邻搜索计算异常分数

其中, S i S_i Si 是第 i i i 个点的异常分数
实验过程
数据预处理
与BTF类似,去除无意义背景
具体来说在图像边界周围取一个十像素宽的条带来近似平面。在去除PCD中所有的NaNs (即,噪声)之后,使用来自Open3D库的RANSAC 和DB - Scan 对条带进行平面近似,并用于过滤背景平面。
3D模态特征抓取
与BTF类似,本研究使用FPFH作为3D模态特征,为了加速FPFH计算,本研究将PCD进行下采样,得到了维数是33的3D模态特征
2D模态特征抓取
首先使用Open3D对多视角图像进行渲染,渲染后的图像分辨率为224×224
所有图像使用ImageNet数据集的均值和方差进行归一化处理
在2D特征提取过程中使用ImageNet上预训练的ResNet18的 前**3个块,**得到的特征维度为448
评估指标
Pixel-level的PRO和Image-level的AU-ROC
本人点云小白,若有错误欢迎各位大佬批评指正~
文章介绍了CPMF方法,一种结合3D手工特征(FPFH)和通过3D到2D映射提取的伪2D语义特征的点云分析技术。它通过多视角渲染、预训练模型提取和2D到3D对齐来增强特征表示,最后进行异常检测。

1702

被折叠的 条评论
为什么被折叠?



