3D点云分割系列4:PointSIFT:SIFT算法在点云处理中的应用,从PointNet++的球查询扩展到8向查询

PointSIFT

《PointSIFT: A SIFT-like Network Module for 3D Point Cloud Semantic Segmentation》2018年发布在arXiv上。

1 引言

PointNet和PointNet++成功实现point-base的3D点云分割。基于此,更多point-base的方法提出,这些方法普遍是对PointNet和PointNet++的改进。本文介绍的PointSHIT即对PointNet++的改进。

首先,我们需要引入SIFT的概念。SIFT即尺度不变特征转换(Scale Invariant Feature Transform)是图像处理领域中的一种局部特征描述算法。SIFT特征对于旋转和尺度均具有不变性,并且对于噪声、视角变化和光照变化具有良好的鲁棒性。

SIFT算法可以简要分成以下三步:

  1. 事先寻找一些关键点。
  2. 然后基于局部图像的梯度方向,为每个关键点位置分配一个或多个方向,后续所有对图像数据的操作都是相对于关键点的方向、尺度和位置进行变换,这些变换提供了不变性。
  3. 在每个关键点周围的区域内以选定的比例计算局部图像梯度,这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。

这三个步骤对应了上图中淡灰色框线的三部分。

2PointSIFT

2.1 PointSIFT module

SIFT算法两个关键点分别是尺度不变检测器和旋转不变描述符。在关键点检测剪短,SIFT算法通过多尺度表示来实现尺度不变性。在特征描述阶段,SIFT检测旋转不变性的主导方向,并综合感知不同方向的图像模式。

2.1.1 Orientation-encoding

PointNet和PointNet++中均使用对称函数MaxPool(属于无序的运算符),但作者认为最大池化会抛弃邻域内除最大值以外的值,会损失部分信息。而使用有序的运算符可以提供更多信息,同时仍然能够保留输入点云的顺序不变性。这里引入了方向编码单元(Orientation-encoding unit),这是一个逐点局部特征描述符,对八个方向的信息进行编码。

OE 嵌入的第一阶段是 Stacked 8-neighborhood (S8N) Search,它在按三个坐标排序划分的八个八分圆中的每一个中找到最近的邻居(图3b)。由于远距离点提供的局部模式描述信息很少,当在某个八分圆的搜索半径 r 内不存在任何点时,复制 p 0 p_0 p0 作为其自身的最近邻居。

为了更好的描述 p 0 p_0 p0点的特征,作者提出使用卷积来对2 × 2 × 2 立方体中的那些邻居的特征进行编码,作为以 p 0 p_0 p0为中心的局部模式描述。作者认为诸如卷积之类的有序运算符可以更好地利用数据的结构。因此,这里提出了方向编码卷积(OE convolution),它是一个三级运算符,依次沿 X、Y 和 Z 轴对 2 × 2 × 2 立方体进行卷积。形式上,相邻点的特征是一个形状为 2×2×2×d 的向量 V,其中前三个维度对应三个轴。向量M的切片是特征向量,例如 M ( 1 , 1 , 1 ) M_{(1,1,1)} M(1,1,1)表示来自右上角八分圆的特征。三级卷积公式为

V x = g ( Conv ⁡ ( W x , V ) ) ∈ R 1 × 2 × 2 × d V x y = g ( Conv ⁡ ( W y , V x ) ) ∈ R 1 × 1 × 2 × d V x y z = g ( Conv ⁡ ( W z , V x y ) ) ∈ R 1 × 1 × 1 × d \begin{aligned} V_{x} & =g\left(\operatorname{Conv}\left(W_{x}, V\right)\right) \in \mathbb{R}_{1 \times 2 \times 2 \times d} \\ V_{x y} & =g\left(\operatorname{Conv}\left(W_{y}, V_{x}\right)\right) \in \mathbb{R}_{1 \times 1 \times 2 \times d} \\ V_{x y z} & =g\left(\operatorname{Conv}\left(W_{z}, V_{x y}\right)\right) \in \mathbb{R}_{1 \times 1 \times 1 \times d}\end{aligned} VxVxyVxyz=g(Conv(Wx,V))R1×2×2×d=g(Conv(Wy,Vx))R1×1×2×d=g(Conv(Wz,Vxy))R1×1×1×d

这里 W x ∈ R 2 × 1 × 1 × d , W y ∈ R 1 × 2 × 1 × d , W z ∈ R 1 × 1 × 2 × d W_x\in {\mathbb{R}_{2 \times 1 \times 1 \times d}},W_y\in {\mathbb{R}_{1 \times 2 \times 1 \times d}},W_z\in {\mathbb{R}_{1 \times 1 \times 2 \times d}} WxR2×1×1×d,WyR1×2×1×d,WzR1×1×2×d为卷积模块的权重。 g g g函数则用 R e L U ReLU ReLU替代。OE卷积最后将输出重塑为 V x y z ∈ R 1 × 1 × 1 × d V_{xyz}\in {\mathbb{R}_{1 \times 1 \times 1 \times d}} VxyzR1×1×1×d。这个输出整合了来自八个方向空间的信息,是特征点 p 0 p_0 p0在八个空间方向上的方向编码信息。

2.1.2 尺度感知

为了能够提取多个尺度的特征,这里遵循了长期以来的多尺度表示方法,在PointSIFT模块中堆叠多个方向编码单元。

高层次的OE单元比低层次的OE单元获得更大的感受野,通过不同层次的OE单元的组合,PointSIFT模块能够获得点云局部区域的多尺度表示,通过多个identity连接这些特征,再通过一个逐点卷积(Pointwise Convolution)来输出d维的多尺度特征。在联合优化特征提取和集成多尺度特征的逐点卷积的过程中,神经网络将学会选择或关注适当的尺度,为模型添加不同尺度的感知。

2.2 PointSIFT模型

PointSIFT模型继承了PointNet和PointNet++的模型结构和一些模块,其中包括PointNet++中的set abstraction(SA)和feature propagation(FP),整体结构与PointNet++相同。

实验

作者设计实验证明球查询和s8N查询的效果差异,将s8N查询用于PointNet++。其余参数相同,结果证明s8N查询获得的效果最好。

结论

提出了一个新的PointSIFT模块。该模型两个关键在于:

  1. 方向编码单元捕获不同方向的信息。
  2. PointSIFT模块的多尺度表示能够处理各种尺度的对象。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
点云配准是将两个或多个点云数据集对齐的过程,使它们在同一个坐标系下对齐。其SIFT(Scale-Invariant Feature Transform)和ICP(Iterative Closest Point)是常用的点云配准算法SIFT算法是一种基于特征的图像匹配算法,可以用于点云数据的特征提取和匹配。通过检测关键点和计算关键点的局部特征描述子,SIFT算法可以在不同尺度和旋转下保持特征不变性。在点云配准,可以使用SIFT算法提取两个点云的特征点,并通过匹配这些特征点来获取初始的配准变换矩阵。 ICP算法是一种迭代最近点算法,用于将一个点云数据集与另一个点云数据集对齐。ICP通过找到两个点云之间的最佳对应点,并计算最小化它们之间距离的刚性变换矩阵,从而实现点云的配准。ICP算法通过迭代的方式不断优化配准结果,直到达到预设的停止条件。 综合使用SIFT和ICP可以实现更精确的点云配准。首先,使用SIFT算法提取特征点,并通过特征匹配获取初始的变换矩阵。然后,使用ICP算法迭代优化配准结果,通过最小化点云之间的距离来进一步调整变换矩阵,直到达到收敛条件。 值得注意的是,点云配准是一个复杂的问题,对于不同的应用场景和数据集可能需要选择不同的算法或调整算法参数。此外,还有其他的点云配准算法可供选择,如基于特征的描述子匹配算法、基于几何约束的配准算法等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yumaomi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值