PointCNN论文笔记

说明:
1.此乃本人阅读论文过程中所记录的笔记,由于本人水平有限,难免会出现遗漏重点或表述不清等问题,请各位见谅。同时希望各位指出我的问题,让我发现问题所在,谢谢大家Thanks♪(・ω・)ノ。
2.有些用词根据原文翻译(或是直接用原文),可能语句不通畅。(毕竟我是一个六级考了五次的憨憨)
3.数据处理部分和结论分析部分没有加入,此处主要为了理清文章描述方法的处理流程。

待填的坑:
[32]Hyeonwoo Noh, Seunghoon Hong, and Bohyung Han. Learning deconvolution network for semantic segmentation. In ICCV, ICCV ’15, pages 1520–1528, Washington, DC, USA, 2015. IEEE Computer Society.
[34]Charles R. Qi, Hao Su, Matthias Nießner, Angela Dai, Mengyuan Yan, and Leonidas J. Guibas. Volumetric and multi-view cnns for object classification on 3d data. In CVPR, pages 5648–5656, 2016
[38]Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-net: Convolutional networks for biomedical image segmentation. In Nassir Navab, Joachim Hornegger, William M. Wells, and Alejandro F. Frangi,editors, MICCAI, pages 234–241, Cham, 2015. Springer International Publishing.

原文题目:PointCNN:Convolution On X-Transformed Points

  1. 摘要:点云无法直接使用卷积操作,所以提出X-transform,达到以下两个目的:
    — 加强输入特征和点的联系
    — 将无序点云重新排列成隐含空间的有序点云
    然后使用卷积操作,本文将这套流程命名为PointCNN。

  2. 介绍
    传统卷积操作不适用于点云的原因
    在这里插入图片描述
    如图i所示,传统的卷积操作可以作用于图像数据,因为图像本质是矩阵,像素的顺序是固定的,可以直接从潜在的空间结构中获取数据。
    但是点云数据是点的集合,在同一区域采样的数据点的顺序可能是任意的,如图ii、iii、iv所示,卷积核为 K = [ k α , k β , k γ , k δ ] T K = [k_{\alpha},k_{\beta},k_{\gamma},k_{\delta}]^{T} K=[kα,kβ,kγ,kδ]T,直接使用卷积的结果如下
    在这里插入图片描述
    由此知,图ii和图iii的显示结果不同,但是卷积操作结果相同;图iii和图iv的显示结果相同,但是卷积操作结果不同。说明传统卷积操作无法适应点云的无序性。
    本文提出利用K×K的X-transformation矩阵对K个输入点进行变换,以上图为例,操作变动如下:
    在这里插入图片描述
    其中 χ i i \chi_{ii} χii χ i i i \chi_{iii} χiii从不同形状的点中学习得,它们也是不同的,使得 f i i f_{ii} fii f i i i f_{iii} fiii;对于 χ i i i \chi_{iii} χiii χ i v \chi_{iv} χiv,如果它们的学习结果满足 χ i i i \chi_{iii} χiii= χ i v × ∏ \chi_{iv}\times\prod χiv× ,其中 ∏ \prod 是将(c,a,b,d)排列成(a,b,c,d)的排列矩阵,这样可以满足 f i i i = f i v f_{iii}=f_{iv} fiii=fiv
    (此处的思想和PointNet的T-net是相似的,都是对点云的无序性进行处理。作者也指出,虽然实验结果相对于PointNet和PointNet++有明显进步,但是结果还是不够理想,目前无法找到合适的变换满足N个点的N!种排列)

3.网络架构
PointCNN的输入: F 1 = { ( p 1 , i , f 1 , i ) : i = 1 , 2 , . . . , N 1 ) } \mathbb{F}_{1}=\{(p_{1,i},f_{1,i}):i=1,2,...,N_{1})\} F1={(p1,i,f1,i):i=1,2,...,N1)},其中 { p 1 , i : p 1 , i ∈ R D i m } \{p_{1,i}:p_{1,i}\in\mathbb{R}^{Dim}\} {p1,i:p1,iRDim}为点集, { f 1 , i : f 1 , i ∈ R C 1 \{f_{1,i}:f_{1,i}\in\mathbb{R}^{C_{1}} {f1,i:f1,iRC1为相应的特征。
输出: F 2 = { ( p 2 , i , f 2 , i ) : i = 1 , 2 , . . . , N 2 ) } \mathbb{F}_{2}=\{(p_{2,i},f_{2,i}):i=1,2,...,N_{2})\} F2={(p2,i,f2,i):i=1,2,...,N2)},其中 { p 2 , i } \{p_{2,i}\} {p2,i} { p 1 , i } \{p_{1,i}\} {p1,i}中的具有代表性的点的集合。( F 2 \mathbb{F}_2 F2 F 1 \mathbb{F}_1 F1有更小的空间分辨率和更多的特征通道,即 N 2 < N 1 N_2<N_1 N2<N1 C 2 > C 1 C_2>C_1 C2>C1)
注:具有代表性的点的集合 { p 2 , i } \{p_{2,i}\} {p2,i}是由有利于信息“投影”或分类的点组成,在本文中,对于分类任务使用随机下采样方法,对于分割任务使用最远点采样方法,因为分割任务更需要均匀点分布。

X-Conv运算
具体流程如下:
在这里插入图片描述
其中p为 { p 2 , i } \{p_{2,i}\} {p2,i}中的点, f f f为点p的特征, N \mathbb{N} N为点p在 { p 1 , i } \{p_{1,i}\} {p1,i}中的K个邻近点的集合,则X-Conv运算对于点p的输入为 S = { ( p i , f i ) : p i ∈ N } \mathbb{S}=\{(p_i,f_i):p_i\in\mathbb{N}\} S={(pi,fi):piN} S \mathbb{S} S可分解为K×Dim矩阵 P = ( p 1 , p 2 , . . . , p K ) T P=(p_1,p_2,...,p_K)^T P=(p1,p2,...,pK)T K × C 1 K\times C_1 K×C1矩阵 F = ( f 1 , f 2 , . . . , f K ) T F=(f_1,f_2,...,f_K)^T F=(f1,f2,...,fK)TK表示训练卷积核。
输出特征 F p F_p Fp可归结为以下公式:
F p = χ − C o n v ( K , p , P , F ) = C o n v ( K , M L P ( P − p ) × [ M L P δ ( P − p ) , F ] ) F_{p}=\chi-Conv(K,p,P,F)=Conv(K,MLP(P-p)\times[MLP_{\delta}(P-p),F]) Fp=χConv(K,p,P,F)=Conv(K,MLP(Pp)×[MLPδ(Pp),F])
其中 M L P δ ( . ) MLP_{\delta}(.) MLPδ(.)是应用于每个点上的多层感知机,类似于PointNet。
注意,此处X-Conv运算中的所有操作都是可微的,因此可以插入神经网络进行反向传播训练。

PointCNN结构
在这里插入图片描述
如图a所示,一个有着两层X-Conv层的PointCNN,将所有点的特征聚合到一个点,最后添加全连接层,用于训练神经网络。

由于图a所示,由于训练样本的数目下降过快,不能进行有效训练,所以提出了如图b所示的有着更稠密连接的PointCNN。我们想在保持网络深度的同时,保持感受野的增长率,让更深层的具有代表性的点能够逐渐观察到整体形状(让X-Conv运算的最后输出能保持更多全局特征,聚合到一个点会造成特征信息丢失过多)。此处,我们不取K个邻近点作为输入,我们从K×D个邻近点中随机采样K个输入点,其中D为膨胀率。这样,感受野从K/N增长为(K×D)/N,却没有增长邻近点数目或者卷积核大小。

对于分割任务,需要高维的点输出,这可以通过使用Conv-DeConv结构[32]构建PointCNN,其中DeConv部分负责传播全局信息到高维预测(如图c所示)。注意,“Conv”和“DeConv”都是X-Conv运算。它们的唯一不同是“DeConv”层有更多的点和更少的特征,而且它的高分辨率点来自于前面的“Conv”层,遵循U-Net的设计[38]。

为了减少过拟合,在最后一个全连接层前面应用Dropout。同时,利用[34]中的“subvolume supervision”方法进一步解决过拟合问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值