2. 中国科学院大学 材料科学与光电工程中心&微电子学院, 北京 100049;
3. 威富集团形象认知计算联合实验室, 北京 100083;
4. 广州南方学院, 广东 广州 510970;
5. 珠海复旦创新研究院, 广东 珠海 518057;
6. 新疆大学软件学院, 新疆 乌鲁木齐 830091;
7. 半导体神经网络智能感知与计算技术北京市重点实验室, 北京 100083
2. Center of Materials Science and Optoelectronics Engineering & School of Microelectronics, University of Chinese Academy of Sciences, Beijing 100049, China;
3. Cognitive Computing Technology Joint Laboratory, Wave Group, Beijing 100083, China;
4. Nanfang College Guangzhou, Guagnzhou 510970, China;
5. Zhuhai Fudan Innovation Institute, Zhuhai 518057, China;
6. School of Software, Urumqi 830091, China;
7. Beijing Key Laboratory of Semiconductor Neural Network Intelligent Sensing and Computing Technology, Beijing 100083, China
当前, 计算机感知外界事物通常处理的是由相机投影而来的2D图像. 然而, 2D图像丢失了3D世界的相对位置和几何深度信息, 容易造成背景干扰等问题. 近年来, 随着激光雷达等传感设备的可用性不断提高, 3D视觉技术已经广泛应用于众多领域, 例如机器人技术[1, 2]、自动驾驶[3, 4]、遥感[5, 6]等. 其中, 3D点云是描述物体三维结构的主要数据形式, 但是点云的无序性、不规则性, 导致目前的许多技术无法有效地捕捉准确的局部形状信息.
点云是一组在3D物体表面离散采样的无序点的集合. 这些点通常用3D坐标(x, y, z)表示, 有时也会携带其他附加信息, 比如RGB信息、表面法向量和强度等信息. 改变点的顺序不影响对物体的表示. 因此, 2D卷积神经网络不能直接用来处理这种不规则的点云信息. 随着目前深度学习在2D领域取得显著的成功, 一些研究者[7−10]试图将3D点云映射为2D图像, 然后使用2D卷积神经网络处理映射后的2D图像, 或者利用体素化技术[11, 12]将非结构的点云转换为结构化的网格数据, 然后使用3DCNN进行处理. 这些间接处理点云的方法不仅需要占用较大的内存和计算复杂度, 而且也忽略了大量的几何信息.
目前的主流方法是在点云上直接使用深度学习技术. PointNet[13]是该类方法的开山之作. 该工作通过共享的多层感知器(multi-layer perceptrons, MLP), 直接将每个点映射到高维空间, 然后使用最大值池化聚合物体的全局特征. 但是该方法仅仅是孤立地处理每个点, 忽略了点对之间隐含的形状信息. 为了解决该问题, PointNet++[14]通过堆叠集合抽象层(set abstraction layer, SA-Layer)提取物体全局特征. 在每个SA-Layer中, 通过最远点采样(farthest point sampling, FPS)的方法确定每个采样点, 然后在每个采样点, 通过k近邻(k-nearest neighbor, KNN)或者球形查询得到局部邻域. 最后, 在每个局部邻域使用PointNet作为局部特征提取器. 但是这种方法在每个局部邻域依然没有提取到有效的局部信息. 后续的许多方法[15−17]基本都是沿着这种局部特征提取方法研究. 尽管这种方式有利于提取局部形状信息, 但局部邻域的点与点之间通过简单的仿射基函数(affine basis function, ABF)[18]进行映射, 如图 1(a)所示, 其输出实质上是局部邻域点在特征空间中到一个超平面的距离, 这种方式表达能力有限, 而且容易忽略局部特征在空间的分布关系. 另一方面, 现有的网络为了增加网络的表达能力, 通常采用增加多尺度、增加通道数量和网络深度等策略, 这会使用更多的算力. 因此, 局部特征表示仍然存在很大的挑战.
![]() |
图 1 |
为了解决上述问题, 如图 1(b)所示, 考虑到局部邻域的空间性和相似性[19, 20], 我们试图在局部邻域构建多个各向异性的空间几何体感知潜在的形状信息. 因此, 我们借鉴深度可分离卷积的运算形式, 提出一种新型的DC-Conv. 首先, 我们提出一种SCOP作为深度卷积. 该算子的权重由邻域点和采样点的坐标通过MLP学习得到, 邻域点的边缘特征作为该算子的输入特征. 该算子的实质就是在局部邻域的特征空间中建立各项异性的空间几何体, 从而从坐标空间和特征空间中挖掘局部邻域中隐含的高阶形状信息. 然后, 我们在局部邻域中使用多个SCOP, 并使用注意力系数将这些算子动态组合在一起. 其中, SCOP的注意力系数由邻域点的坐标自适应学习得到. 最后, 通过MLP作为逐点卷积, 将SCOP的输出映射到高维空间, 实现更强大的形状感知表示. 通过分层堆叠DC-Conv, 构建了用于点云形状识别的动态覆盖卷积神经网络(dynamic cover convolutional neural network, DC-CNN). 通过实验证明: 即使在单尺度的情况下, DC-Conv也可以挖掘到局部邻域更丰富的形状信息.
因此, 本文的主要贡献有以下3个方面.
(1) 在本文中, 我们提出一种新型的SCOP. 该算子通过在局部邻域中构建各向异性的空间几何体, 把握局部邻域坐标空间和特征空间的亲和度;
(2) 为了提高局部邻域表示能力, 我们提出一种DC-Conv. 该卷积的权重由点坐标自适应学习得到, 领域点的边缘特征坐标作为该卷积的输入特征, 并从点坐标中自适应学习注意力系数, 将多个SCOP进行动态组装, 从而能够更加灵活地挖掘局部邻域中隐含的丰富的形状信息;
(3) 通过分层堆叠DC-Conv, 构建了DC-CNN. 实验结果表明: 在单尺度的情况下, 该网络在点云分类中就能取得优越的分类效果.
1 相关研究工作 1.1 基于投影的方法早期的一些学者[8−10, 21]从多个视角对点云进行投影, 然后使用卷积神经网络对投影的2D图像进行处理. MVCNN[21]是多视角学习的开山之作, 它将每个视图通过共享的卷积层和池化层整合成描述3D物体的全局特征, 然后将聚合后的特征输入到全连接层, 得到分类结果. 后续的一些作品主要解决视角选择和视角信息融合问题. 但是基于多视图的方法仍然需要人为设定视角, 对遮挡也比较敏感. 同时, 这类方法在一定程度上导致了几何结构信息的丢失.
另一种基于投影的方法[11, 12, 22]是利用体素的方法将3D物体转换为3D网格, 然后应用3DCNN对3D网格进行进一步处理. VoxNet[11]是最早基于体素方法的3D CNN模型, 该模型展示了3D CNN从体素化网格中学习特征的潜力. 虽然体素模型的提出解决了点云无序性和非结构化的问题, 但三维数据的稀疏性与空间信息的不完整性, 导致体素化方法计算开销更大, 并且限制了体素模型的分辨率.
1.2 直接处理点云的方法 1.2.1 非局部特征聚合该类方法通过构建非局部网络, 直接计算任意两个位置之间的交互关系来捕获远程依赖性. PointNet[13]是直接处理点云的开山之作, 它直接通过共享的MLP将每个点映射到高维空间, 然后使用最大值池化聚合所有点的信息, 从而得到描述3D物体的全局特征. 但是该方法仅仅孤立地处理每个点, 忽略了点间的依赖关系. Guo等人[23]提出一种PCT (point cloud transformer)模型, 将Transformer应用到3D点云分析. 该模型的核心思想是: 利用Transformer固有的排列不变性, 避免需要定义点云数据的顺序, 并通过注意力机制进行特征学习. CurveNet[24]在点云曲面上生成连续的点线段序列, 来学习点云的非局部特征聚合.
1.2.2 局部特征聚合目前, 许多工作主要是以解决局部特征聚合问题而提出的. 该类方法通过在采样点周围按照某种规则确定局部邻域, 然后计算采样点和局部点的位置和特征关系, 最后将其传递到局部特征聚合模块中提取局部特征. 在基于逐点MLP的方法中, PointNet++[14]为了解决PointNet忽略局部几何结构的问题, 通过FPS将点云划分为有重叠的局部邻域, 并在每个邻域中使用PointNet作为特征提取器进行局部特征聚合. 该方法在局部特征聚合方面, 仍然没有充分学习局部点间的几何关系. 结构关系网络(SRN-PointNet++)[25]通过学习局部区域的几何关系和位置关系, 建模局部区域之间的结构依赖关系. RandLA-Net[26]使用随机采样法替代FPS, 然后通过局部特征聚集模块捕获局部几何特征, 该方法在存储和计算方面实现了显著的提高. PointWeb[27]通过自适应特征调整模块学习点之间的局部特征. PointASNL[28]通过自适应模块减弱噪声和异常值, 然后通过local-nonlocal模块聚合局部特征和全局特征. 在基于卷积的方法中, PointCNN[29]提出了X-Conv算子探索点云的排列顺序, 然后用常规卷积处理局部邻域. PointConv[30]根据3D连续卷积的蒙特卡洛估计, 在局部邻域上实现了卷积操作. Thomas等人[31]通过一组可学习的内核点, 设计了一种可形变的KPConv. RS-CNN[32]通过将邻域点和采样点的低层关系映射到高维空间, 然后通过MLP实现卷积操作. 还有一些工作基于图的方法[15, 33, 34]聚合局部图形的特征.
基于局部特征聚合的方法大都采用共享的MLP来转换点的特征, MLP在表示能力上是有限的, 而且多尺度架构会引起感受野的重叠, 导致计算冗余. 因此, 在本文中, 我们根据局部邻域的几何关系提出一种DC- Conv, 以提高网络对点云复杂空间变化的拟合能力
1.3 动态卷积学习由于小型网络深度和宽度的限制, 在局部区域使用单一的卷积核, 限制了网络的表达能力. 因此, 在2D图像分析领域, 动态卷积已经被广泛研究. DY-CNN[35]在一个卷积层中用到了多个卷积核, 并且用注意力机制去结合不同卷积核的输出信息. CondConv[36]通过一组组合系数将多个卷积核组合一起, 再处理输入信息. DRConv[37]主要是为具有特征相似表示的相应空间区域自动地分配定制的卷积核. 在3D点云中, 仅有PAConv[38]提出了一种即插即用的动态卷积核. 但是该方式使用共享的MLP变换函数, 表达能力有限. 另一方面, 权重矩阵忽略了点的空间关系. 为此, 我们提出了DC-Conv, 该卷积的卷积核和组合系数均由局部领域点的几何先验中自适应学习得到, 可以获得潜在的局部几何关系, 即使在单尺度的情况下, 也实现了卓越的效果.
2 基础知识在局部特征聚合中, 通常在某一层中使用FPS得到采样点集, 然后通过球形查询或者最近邻确定每个采样点的局部邻域. 假设在某一层有Ns个采样点, 该采样点集可以表示为Ps={N1, N2, …, Ns}, d通常为采样点的坐标维度, 即d=3. 该点集的特征集合可表示为
2D连续卷积可以表述为
$ s(x, y) = f*w = \int_{ - \infty }^{ + \infty } {\int_{ - \infty }^{ + \infty } {f(x + u, y + u)w(u, v){\text{d}}u{\text{d}}v} } $ | (1) |
图像处理中常用的是离散卷积, 并且基本是通过互相关函数实现的, 即:
$ s(x, y) = \sum\limits_u {\sum\limits_v {F(x + u, y + v)W(u, v)} } $ | (2) |
借鉴2D的卷积计算方式, 在3D点云中使用的卷积计算可以表述为
$ s_i=A\left(\left\{L\left(\varphi\left(p_i, p_{i j}\right), \theta\left(f_{i, } f_{i j}\right)\right) \mid \forall p_{i j} \in \mathbb{N}\left(p_i\right)\right\}\right) $ | (3) |
其中, φ(pi, pij)是表示邻域点几何先验的函数, 它可以为pi和pij的位置差、3D距离或者拼接; θ(fi, fij)表示fi和fij之间的边缘特征或者单独的fi或fij; L为邻域点的特征变换函数, 通常情况下, L=WTfij或者L=wij⊙fij; Α为对称函数(例如平均池化、最大值池化或者求和池化), 其作用是将局部邻域点的特征fij在通道方向上进行聚合, 从而将整个局部邻域特征归纳为si.
在2D图像分析中, 假设卷积层的输入特征图大小为Hi×Wi×Ci, 输出特征图大小为Ho×Wo×Co, 卷积核大小为Hk×Wk×Ci×Co, 且卷积层使用填充方法使输入和输出具有相同的空间大小, 则常规卷积[39]的参数量为Hk×Wk×Ci×Co×Hi×Wi. 深度可分离卷积[40](如图 2(b)所示)由深度卷积和逐点卷积构成. 类似地, 假设卷积层的输入特征图大小为Hi×Wi×Ci, 输出特征图大小为Ho×Wo×Co, 深度卷积的卷积核大小为Hk×Wk×Ci×1, 逐点卷积的卷积核大小为1×1×Ci×Co, 则深度卷积的计算量为Hk×Wk×Ci×Hi×Wi, 逐点卷积的计算量为Ci×Co×Hi×Wi. 因此, 深度可分离卷积和常规卷积的参数量之比为
![]() |
图 2 图像和点云中的卷积 |
图 2中, 图 2(a)为2D常规卷积; 图 2(b)为2D深度可分离卷积; 它由深度卷积和逐点卷积组成; 图 2(c)为PointConv, 它是图 2(a)在3D点云中的扩展, SOP表示对称操作; 图 2(d)为空间覆盖卷积(space cover convolution, SC-Conv), 它是图 2(b)在3D点云中的扩展, 并且只是用一个SCOP, SCOP实现的是深度卷积操作, 然后通过1*1卷积实现逐点卷积操作.
3 动态覆盖卷积在本节, 我们主要介绍DC-Conv的生成(如图 3所示), 并分析了该卷积的特性, 最后, 基于PointNet++[14]架构提出DC-CNN.
![]() |
图 3 DC-Conv的结构 |
首先使局部邻域中的邻居点和采样点在位置空间中产生信息交互, 然后利用这种几何先验知识生成多组权重wij. 通过wij对邻域点的边缘特征fij−fi进行线性变换, 可以得到邻域点的多组特征. 同理, 从邻域点的几何先验中学习注意力系数, 将邻域点的多组特征进行动态组装. 最后, 通过对称函数得到局部邻域的特征
为了能使DC-Conv具有更强的感知局部几何结构的能力, 我们借鉴PointConv[30]和RS-CNN[32]的方式, 从采样点和邻域点的位置信息中, 自适应生成卷积权重. 对于每个采样点, 邻域点的几何先验可以编码为
$ \varphi\left(p_i, p_{i j}\right)=p_i \oplus p_{i j} \oplus\left(p_{i j}-p_i\right) \oplus\left\|p_{i j}-p_i\right\| $ | (4) |
其中, ⊕表示拼接操作, ||⋅||表示计算3D欧式距离.
因此, 局部邻域点的卷积权重可以表述为
$w_{i j}=\phi\left(\varphi\left(p_i, p_{i j}\right)\right)$ | (5) |
其中, ϕ是一个通过MLP实现的非线性函数. 公式(5)通过数据驱动的方式将局部邻域的几何先验知识编码在卷积权重中, 增强了适应复杂的空间几何变化的能力.
3.2 空间覆盖算子从上述分析可知: 当仅仅使用简单的共享的MLP转换邻域点的特征, 限制了模型适应空间变化的能力.因此在本小节中, 我们提出一种表达能力更强的SCOP, 它可以利用点云的坐标和特征信息的相关性, 在局部邻域中建立复杂的几何形状学习局部结构中隐含的形状信息.
在该算子中, 我们采用局部邻域点相对于采样点的边缘特征作为输入, 即:
$ θ(f_{i}, f_{ij})=f_{ij}−f_{i} $ | (6) |
SCOP可表示为
$ {s_i} = { A}(\{ {f_{{p_{ij}}}}|\forall {p_{ij}} \in \mathbb{N}({p_i})\} ) = { A}(\{ {\rm{sgn}} {({w_{ij}}, {f_{ij}}, {f_i})^s} \odot |{w_{ij}} \odot ({f_{ij}} - {f_i}){|^p} - \varepsilon |\forall {p_{ij}} \in \mathbb{N}({p_i})\} ) $ | (7) |
其中, s∈{0, 1}, 符号函数
当Α为求和操作时, 图 4可视化了SCOP的几何形状. 其中, s控制SCOP的封闭性, p控制SCOP的胖瘦, wij控制SCOP是否各向异性, fi控制SCOP在空间中的位置. 由图 4可知:
![]() |
图 4 SCOP的不同形状可视化 |
● 当s=1, p=1, fi均为0时, 则SCOP就是si=Α(wij⊙fij−ε), 我们将该函数称为仿射基函数(ABF)[18], 其本质是高维空间中的超平面(如图 4(g)所示);
● 当s=0, p=2, wij均为1时, 则SCOP就是径向基函数(radial basis function, RBF)[41]: si=Α(wij⊙(fij−fi)2−ε), 其本质是各向同性的封闭超球体(如图 4(d)所示).
s决定输出特征的方向性和SCOP的封闭性: 当s为0时, 改变wij和p, fij的轨迹就封闭超曲面; 当s为1时, fij的轨迹是不封闭超曲面. wij决定了神经元的体态, 而且wij由局部邻域的几何先验自适应学习得到. 因此, SCOP对复杂的几何空间具有更加灵活的拟合能力.
3.3 逐点卷积SCOP通过逐点相乘对局部邻域的点特征进行线性变换, 然后在通道方向对局部特征进行聚合, 这种操作可以视为深度卷积. 但是这种操作没有增加通道数量, 从而限制了模型的表达能力. 因此, 我们提出逐点卷积实现不同通道间的交互, 从而得到局部几何结构的抽象表达. 该卷积可以表示为
$ {f_{{p_i}}} = \gamma ({s_i}) $ | (8) |
其中,
因此, 我们将SCOP和逐点卷积的组合称为空间覆盖卷积(space cover convolution, SC-Conv).
3.4 动态覆盖卷积的注意力组装我们发现: 在局部邻域使用单一的SC-Conv, 将会限制模型的表达能力. 虽然可以通过提高网络的宽度、深度或者更复杂的设计解决该问题, 但是这会增加模型的复杂度. 因此, 我们通过在局部邻域使用多个卷积权重解决该问题.
我们定义ϕ={ϕm|m=1, …, M}, 其中, ϕm表示通过MLP实现的非线性函数, M表示由公式(5)生成的卷积权重的个数, 即
$ f_{{p_{ij}}}^m = {\rm{sgn}} {(w_{ij}^m, {f_{ij}}, {f_i})^s} \odot |{w_{ij}} \odot ({f_{ij}} - {f_i}){|^p} - \varepsilon $ | (9) |
由上述分析可知, 每个局部邻域点将会有M个特征输出, 我们通过注意力系数将这些特征进行动态组装.考虑到局部点特征与采样点和邻域点的特定关系, 我们参考卷积权重wij的生成过程, 从点位置中自适应生成注意力系数. 该系数矩阵可表示为
$ \alpha_{i j}={softmax}\left(\sigma\left(\varphi\left(p_i, p_{i j}\right)\right)\right)$ | (10) |
其中,
于是, 我们通过注意力系数将邻域点的特征动态组装起来, 即:
$ {f_{{p_{ij}}}} = \sum\limits_{m = 1}^M {\alpha _{ij}^mf_{{p_{ij}}}^m} $ | (11) |
因此, 公式(11)和公式(7)、公式(8)结合, 就构成了基于注意力系数的DC-Conv. 其计算过程如下所示.
算法1. DC-Conv.
输入: 采样点pi, 采样点特征fi, 邻居点pij, 邻居点特征fij;
输出: 局部邻域特征
1. 计算邻居点与采样点的三维欧氏距离||pi, pij||
2. 将邻居点坐标转化为相对于采样点的相对坐标
3. 计算每个邻居点的几何先验知识φ(pi, pij)
4. 使用ϕm将φ(pi, pij)映射到高维空间, 得到卷积权重
5. 计算邻居点特征相对于采样点特征的边缘特征
6. 通过公式(9)得到变换后的邻域点特征
7. 利用σ和Softmax生成注意力系数αij=softmax(σ(φ(pi, pij)))
8. 然后得到加权后的邻域点特征
9. 计算SCOP的输出
10. 最终, 得到DC-Conv在局部邻域的输出特征
为了更好地与其他局部特征聚合方法进行比较, 在不需要任何附加操作的情况下, 我们沿用了PointNet++[14]提取特征的网络结构, 并采用统一的采样策略. 利用DC-Conv作为局部特征提取器, 通过叠加SA-Layer构成了分层学习的DC-CNN, 图 5显示了用于点云分类的网路结构.
![]() |
图 5 用于点云分类的DC-CNN的架构 |
从图 5可以看出: 动态覆盖卷积神经网络的输入是由1 024个点组成的点云, 通过两层的集合抽象层和共享的全连接层得到描述物体的全局特征, 最后通过全连接层得到物体的分类分数. 其中, SA-Layer由采样层(FPS)、分组层(球形查询)和局部特征提取层(DC-Conv)组成. 该网络最大的特性是, 在每一层的SCOP的阶数都是可学习的. 因此, DC-CNN可以学习到不同阶次的特征. 另一个特性是在每个卷积层, 动态特性使得DC- CNN充分提取局部几何信息, 从而形成更准确的形状感知表示.
对于模型优化, 在本文中, 我们使用分类任务中最常使用的交叉熵损失函数作为模型的目标函数. 此外, 为了加速模型的训练, 我们期望空间覆盖算子的指数p不要太大. 因此, 通过反向传播算法更新参数时, 我们通过截断函数限制了指数p的范围, 具体公式如下所示:
$ \hat p = \left\{ {\begin{array}{*{20}{l}} {p, {\text{ }}c \leqslant p \leqslant d} \\ {c, {\text{ }}p \leqslant c} \\ {d, {\text{ }}d \leqslant p} \end{array}} \right. $ | (12) |
其中, c和d为截断区间的两个端点,
在本节中, 我们首先进行了点云分类实验, 并与一些目前先进的算法进行了比较; 然后, 我们研究了SCOP的参数的影响; 最后, 我们对DC-CNN的池化函数选择、鲁棒性和模型复杂度等进行了分析.
5.1 形状分类 5.1.1 数据集● 合成数据集
● 真实世界数据集
我们对ModelNet40数据集和ModelNet10数据集的每个CAD模型表面进行均匀采样1 024个点作为网络的输入, 这些点只保留了(x, y, z)坐标信息, 并被归一化到单位球内, 并在全连接层使用丢弃率为0.5的dropout层. 在训练阶段, 我们遵从RS-CNN[32]的数据增强设置, 将点云在[0.66, 1.5]范围内进行随机缩放, 在坐标的3个方向上进行[−0.2, 0.2]范围内的随机平移. 在参数优化过程中, 我们使用Adam优化函数, 并且初始学习率设置为0.002, 每经过25个迭代次数, 学习率衰减为原来的0.7倍. 模型总共被训练200个迭代次数. 在测试阶段, 我们也对待测试点云在[0.66, 1.5]范围内随机缩放, 并使用投票机制进行了预测, 投票结果的平均值作为预测的最终结果. 训练阶段和测试阶段的批次大小均设置为16.
同样, 我们对ScanObjectNN数据集的每个物体均匀采样1 024个点作为网络的输入. 在该实验中, 我们使用的是多尺度DC-CNN, 即在每一层中, 通过球形邻域查询确定每个尺度的邻居点, 然后进行特征提取并将每个尺度的特征进行拼接. 具体地, 第1个SA-Layer的球形邻域半径分别为0.1, 0.2和0.4, 对应的邻居点数分别为16, 32, 128; 第2个SA-Layer的邻域半径分别为0.1, 0.2和0.4, 对应的邻居点数分别为16, 32和128.训练和测试阶段的批次分别为32和16. 在该实验中, 我们对输入没有使用任何的数据增强技术, 其他设置与ModelNet40上的相同.
5.1.3 结果表 1报告了我们的DC-CNN和SC-CNN与最近的一些工作的比较结果(Π表示在单尺度的情况下使用球形查询建立局部邻域). 从表中可以看出: 即使仅仅使用位置信息的情况下, 我们的方法与其他模型在ModelNet40数据集和ModelNet10数据集上取得了相当甚至更好的结果. 与使用ABF的RS-CNN[32]相比, 在单尺度的情况下, SC-CNN比RS-CNN的准确率提高了0.8%. 这说明SCOP能够覆盖局部几何结构, 从而实现更复杂的形状感知表达. 特别是在单尺度的情况下, DC-CNN在ModelNet40数据集和ModelNet10数据集上的10次投票的平均准确率分别达到了93.6%和96.2%, 特别是在ModelNet10数据集上的准确率比SC-CNN(只使用一个空间覆盖算子)提高了0.4%. 这表明DC-Conv在很大程度上增强了局部特征在通道上的多样性.
![]() |
表 1 DC-CNN的点云分类结果 |
表 2报告了DC-CNN和SC-CNN在现实ScanObjectNN基准测试上的分类准确度. 从实验结果看: 我们的DC-CNN在分类准确度上有显著的提高, 超过了所有方法. 例如, 我们的准确率比PRANet高出1.1%. 即使与多视图投影方法SimpleView相比, 我们的DC-CNN仍然表现得更好(高出1.6%). 同时, DC-CNN比SC- CNN高出0.7%, 说明我们提出的动态覆盖卷积比空间覆盖卷积表达能力更强. 此外, ScanObjectNN数据集的物体是从真实世界中获取的, 在具有遮挡、背景和几何扭曲等干扰因素的情况下, DC-CNN仍能达到82.1%的准确率, 说明我们的方法具有良好的稳健性和一定的泛化能力.
![]() |
表 2 DC-CNN在ScanObjectNN数据集上的分类结果 |
5.2 动态覆盖卷积有效性分析
为了更好地理解DC-Conv, 我们在ModelNet40数据集上进行了DC-Conv的有效性分析: 首先, 我们对SCOP的阶数P进行了研究; 其次, 探究了SCOP的个数对点云分类效果的影响; 然后, 讨论了池化操作的选择和DC-CNN的鲁棒性; 最后, 对模型复杂度进行了比较. 特别地, 除非特殊声明, 其他细节均与上述其他设置相同.
5.2.1 阶数P研究根据上述分析, 阶数s和p影响SCOP的几何形状的表达. 在这里, 我们探索了当s分别为0或1、p可学习时, 网络性能的表达.
结果见表 3(“−”表示结果不可知): 当s为1时, 对p值的范围不进行限制, 即p∈(−∞, +∞), 模型在训练时出现崩溃的情况, 因而在这里我们使用了截断函数对p的范围进行了限制. 当s为1时, DC-CNN在ModelNet40数据集上的准确率高于当s为0时的准确率. 特别是当p∈[1,2]时, 分类准确率达到了93.6%. 当p的范围增大时, 准确率有稍微的下降. 这主要是因为p作为SCOP的阶数, 当该值增大时, 在学习过程中增大了模型训练的难度.
![]() |
表 3 SCOP的参数对网络性能的影响 |
5.2.2 局部特征提取器的选择
为了比较局部特征提取器的性能, 本组实验对MLP、常规卷积、深度可分离卷积(空间覆盖卷积)和动态覆盖卷积分别作为局部特征提取器时, 对最终结果的影响.
实验结果见表 4, 可以观察到, 直接使用MLP聚合局部点云特征的效果最差. 这是因为该操作是对每个邻域点分别操作, 通过最大值池化只保留了每个通道中最重要的信息, 从而导致细节信息的丢失. 而使用深度可分离卷积优于常规卷积的结果, 从实验层面验证了深度可分离卷积能够通过相对较少的参数实现优越的性能. 最终, 使用动态覆盖卷积的效果最好. 这表明动态覆盖卷积考虑到了局部点云的分布空间, 充分捕捉到更加全面的局部信息.
![]() |
表 4 不同局部特征操作方式在Modelnet40上的分类结果 |
5.2.3 卷积权重的个数
虽然卷积权重个数的增加有利于局部特征的表达, 但是当增加到一定程度时, 也会带来模型训练困难的问题. 因此在本小节, 我们探究了卷积权重个数对网络性能的影响.
从表 5可知: 当增加少量的参数量的情况下, 权重个数为4的时候, 模型的性能达到了93.6%. 但是随着卷积权重个数的增加, 模型复杂度也在增加, 由于优化的问题, 模型性能并不能更进一步得到提升.
![]() |
表 5 拥有不同的SCOP个数的DC-Conv在Modelnet40上分类结果 |
5.2.4 池化方法的选择
我们也探究了3种对称函数(平均池化、最大值池化和求和池化)对DC-Conv的影响. 实验结果见表 6所示. 最大池化的性能最好, 其次是求和池化, 平均池化的效果最差. 该结论与PointNet[13]是一致的.
![]() |
表 6 动态覆盖卷积神经网络基于不同池化策略在ModelNet40数据集上的分类结果 |
5.2.5 鲁棒性分析
DC-Conv通过在局部特征空间中建立空间几何体和对称函数聚合局部邻域特征, 具有一定的鲁棒性. 因此, 我们在无数据增强的训练中得到测试模型, 分别测试DC-Conv对置换、旋转和平移的鲁棒性.
由表 7可知, 上述方法均具有置换不变性. 但是PointNet和PointNet++的稳定性较差, RS-CNN具有一定的鲁棒性, 但是DC-Conv在面对平移和旋转时具有更优的鲁棒性.
![]() |
表 7 DC-Conv在ModelNet40数据集上的鲁棒性结果(%) |
5.2.6 模型复杂度
复杂度是对模型性能检测的另一个有价值且重要的度量指标, 包括时间复杂度和空间复杂度. 因此, 表 8展示了我们的方法与其他先进方法的模型复杂度比较结果. 可以看出, SC-CNN在参数量和计算量比其他方法均得到大幅下降. 特别是, 在SC-CNN的基础上设计的DC-CNN在增加少量的计算量的情况下, 准确率提高了0.4%. 虽然比使用ABF的RS-CNN在计算量上有所增加, 但是在参数量上减少了7.1%. 这表明DC-CNN能够在较少的参数和时间下, 收敛到先进的精度, 因此有助于未来在实时任务中的应用.
![]() |
表 8 动态覆盖卷积神经网络在ModelNet40数据集上的复杂度 |
6 总结
本文提出一种动态覆盖卷积, 这是一种在点云中动态学习局部几何的新方法. 动态覆盖卷积的核心是, 在局部邻域的特征空间中使用多个空间覆盖算子捕捉丰富的局部特征. 空间覆盖算子是在局部特征邻域构建各向异性的几何体学习局部特征, 该算子的权重从局部邻域点中自适应学习得到. 通过从点位置中自适应学习注意力系数, 将多个空间覆盖算子组装在一起. 基于动态覆盖卷积设计的动态覆盖卷积神经网络, 在点云分类中实现了显著的效果. 大量的实验也证明了动态覆盖卷积的有效性.
此外, 在本文中, 动态覆盖卷积的阶数P的学习范围是受限的, 且相比于传统的神经元, 参数量上只增加了阶数P, 但是增加了一些计算量, 这就会影响动态覆盖卷积在大规模点云中的实际应用. 因此, 如何解决阶数P的学习问题、简化动态覆盖卷积的计算方式, 使模型更加鲁棒和轻量化, 是我们下一步研究的重点. 同时, 作为一种新型的点云分析方法, 我们将在点云分割、检测等复杂任务以及将主流图像卷积网络体系结构引入点云数据中, 进一步探索动态覆盖卷积的实用性和优越性.
[1] |
Deng W, Huang K, Chen X, et al. Semantic RGB-D SLAM for rescue robot navigation. IEEE Access, 2020, 8: 221320-221329.
[doi:10.1109/ACCESS.2020.3031867] |
[2] |
Gul F, Rahiman W, NazliAlhady SS. A comprehensive study for robot navigation techniques. Cogent Engineering, 2019, 6(1): 1632046.
[doi:10.1080/23311916.2019.1632046] |
[3] |
Yurtsever E, Lambert J, Carballo A, et al. A survey of autonomous driving: Common practices and emerging technologies. IEEE Access, 2020, 8: 58443-58469.
[doi:10.1109/ACCESS.2020.2983149] |
[4] |
Grigorescu S, Trasnea B, Cocias T, et al. A survey of deep learning techniques for autonomous driving. Journal of Field Robotics, 2020, 37(3): 362-386.
[doi:10.1002/rob.21918] |
[5] |
Zhang J, Lin X. Advances in fusion of optical imagery and LiDAR point cloud applied to photogrammetry and remote sensing. Int'l Journal of Image and Data Fusion, 2017, 8(1): 1-31.
[doi:10.1080/19479832.2016.1160960] |
[6] |
Li Y, Ma J, Zhang Y. Image retrieval from remote sensing big data: A survey. Information Fusion, 2021, 67: 94-115.
[doi:10.1016/j.inffus.2020.10.008] |
[7] |
Zhu XX, Shahzad M. Facade reconstruction using multiview spaceborne TomoSAR point clouds. IEEE Trans. on Geoscience and Remote Sensing, 2013, 52(6): 3541-3552.
[doi:10.1109/TGRS.2013.2273619] |
[8] |
Li L, Zhu S, Fu H, et al. End-to-end learning local multi-view descriptors for 3D point clouds. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2020. 1919-1928. [doi: 10.1109/cvpr42600.2020.00199]
|
[9] |
Wei X, Yu R, Sun J. View-GCN: View-based graph convolutional network for 3D shape analysis. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2020. 1850-1859. [doi: 10.1109/cvpr42600.2020.00192]
|
[10] |
Yang Z, Wang L. Learning relationships for multi-view 3D object recognition. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2019. 7505-7514. [doi: 10.1109/ICCV.2019.00760]
|
[11] |
Maturana D, Scherer S. VoxNet: A 3D convolutional neural network for real-time object recognition. In: Proc. of the IEEE/RSJ Int'l Conf. on Intelligent Robots and Systems. 2015. 922-928. [doi: 10.1109/IROS.2015.7353481]
|
[12] |
Riegler G, Ulusoy AO, Geiger A. Octnet: Learning deep 3D representations at high resolutions. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017. 3577-3586. [doi: 10.1109/CVPR.2017.701]
|
[13] |
Qi CR, Su H, Mo K, et al. Pointnet: Deep learning on point sets for 3D classification and segmentation. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017. 652-660. [doi: 10.1109/CVPR.2017.16]
|
[14] |
Qi CR, Yi L, Su H, et al. PointNet++: Deep hierarchical feature learning on point sets in a metric space. Advances in Neural Information Processing Systems, 2017, 30: 5099-5108.
|
[15] |
Wang Y, Sun Y, Liu Z, et al. Dynamic graph CNN for learning on point clouds. ACM Trans. on Graphics, 2019, 38(5): 1-12.
[doi:10.1145/3326362] |
[16] |
Wang C, Samari B, Siddiqi K. Local spectral graph convolution for point set feature learning. In: Proc. of the European Conf. on Computer Vision. 2018. 52-66. [doi: 10.1007/978-3-030-01225-0_4]
|
[17] |
Komarichev A, Zhong Z, Hua J. A-CNN: Annularly convolutional neural networks on point clouds. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2019. 7421-7430. [doi: 10.1109/CVPR.2019.00760]
|
[18] |
Rosenblatt F. The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 1958, 65(6): 386.
[doi:10.1037/H0042519] |
[19] |
Ning X, Li WJ, Li HG, et al. Uncorrelated locality preserving discriminant analysis based on bionics. Journal of Computer Research and Development, 2016, 53(11): 2623-2629(in Chinese with English abstract).
[doi:10.7544/issn1000-1239.2016.20150630] |
[20] |
Ning X, Li WJ, Tang B, et al. BULDP: Biomimetic uncorrelated locality discriminant projection for feature extraction in face recognition. IEEE Trans. on Image Processing, 2018, 27(5): 2575-2586.
[doi:10.1109/TIP.2018.2806229] |
[21] |
Su H, Maji S, Kalogerakis E, et al. Multi-view convolutional neural networks for 3D shape recognition. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2015. 945-953. [doi: 10.1109/ICCV.2015.114]
|
[22] |
Klokov R, Lempitsky V. Escape from cells: Deep kd-networks for the recognition of 3D point cloud models. In: Proc. of the IEEE Int'l Conf. on Computer Vision. 2017. 863-872. [doi: 10.1109/ICCV.2017.99]
|
[23] |
Guo MH, Cai JX, Liu ZN, et al. PCT: Point cloud transformer. Computational Visual Media, 2021, 7(2): 187-199.
[doi:10.1007/s41095-021-0229-5] |
[24] |
Xiang T, Zhang C, Song Y, et al. Walk in the cloud: Learning curves for point clouds shape analysis. In: Proc. of the IEEE/CVF Int'l Conf. on Computer Vision. 2021. 915-924.
|
[25] |
Duan Y, Zheng Y, Lu J, et al. Structural relational reasoning of point clouds. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2019. 949-958. [doi: 10.1109/CVPR.2019.00104]
|
[26] |
Hu Q, Yang B, Xie L, et al. Randla-net: Efficient semantic segmentation of large-scale point clouds. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2020. 11108-11117. [doi: 10.1109/CVPR42600.2020.01112]
|
[27] |
Zhao H, Jiang L, Fu CW, et al. PointWeb: Enhancing local neighborhood features for point cloud processing. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2019. 5565-5573. [doi: 10.1109/CVPR.2019.00571]
|
[28] |
Yan X, Zheng C, Li Z, et al. Pointasnl: Robust point clouds processing using nonlocal neural networks with adaptive sampling. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2020. 5589-5598. [doi: 10.1109/cvpr42600.2020.00563]
|
[29] |
Li Y, Bu R, Sun M, et al. Pointcnn: Convolution on x-transformed points. Advances in Neural Information Processing Systems, 2018, 31: 820-830.
|
[30] |
Wu W, Qi Z, Fuxin L. Pointconv: Deep convolutional networks on 3D point clouds. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2019. 9621-9630. [doi: 10.1109/CVPR.2019.00985]
|
[31] |
Thomas H, Qi CR, Deschaud JE, et al. KPConv: Flexible and deformable convolution for point clouds. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2019. 6411-6420. [doi: 10.1109/ICCV.2019.00651]
|
[32] |
Liu Y, Fan B, Xiang S, et al. Relation-shape convolutional neural network for point cloud analysis. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2019. 8895-8904. [doi: 10.1109/CVPR.2019.00910]
|
[33] |
Qi X, Liao R, Jia J, et al. 3D graph neural networks for RGBD semantic segmentation. In Proc. of the IEEE Int'l Conf. on Computer Vision. 2017. 5199-5208. [doi: 10.1109/ICCV.2017.556]
|
[34] |
Simonovsky M, Komodakis N. Dynamic edge-conditioned filters in convolutional neural networks on graphs. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017. 3693-3702. [doi: 10.1109/CVPR.2017.11]
|
[35] |
Chen Y, Dai X, Liu M, et al. Dynamic convolution: Attention over convolution kernels. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2020. 11030-11039. [doi: 10.1109/CVPR42600.2020.01104]
|
[36] |
Yang B, Bender G, Le QV, et al. CondConv: Conditionally parameterized convolutions for efficient inference. Advances in Neural Information Processing Systems, 2019, 32: 1307-1318.
|
[37] |
Chen J, Wang X, Guo Z, et al. Dynamic region-aware convolution. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2021. 8064-8073. [doi: 10.1109/CVPR46437.2021.00797]
|
[38] |
Xu M, Ding R, Zhao H, et al. PAConv: Position adaptive convolution with dynamic kernel assembling on point clouds. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2021. 3173-3182. [doi: 10.1109/CVPR46437.2021.00319]
|
[39] |
Zeiler MD, Fergus R. Visualizing and understanding convolutional networks. In: Proc. of the European Conf. on Computer Vision. Cham: Springer, 2014. 818-833. [doi: 10.1007/978-3-319-10590-1_53]
|
[40] |
Kaiser L, Gomez AN, Chollet F. Depthwise separable convolutions for neural machine translation. In: Proc. of the Int'l Conf. on Learning Representations. 2018.
|
[41] |
Moody J, Darken CJ. Fast learning in networks of locally-tuned processing units. Neural Computation, 1989, 1(2): 281-294.
[doi:10.1162/neco.1989.1.2.281] |
[42] |
Wu Z, Song S, Khosla A, et al. 3D shapenets: A deep representation for volumetric shapes. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2015. 1912-1920. [doi: 10.1109/CVPR.2015.7298801]
|
[43] |
Hua BS, Tran MK, Yeung SK. Pointwise convolutional neural networks. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2018. 984-993. [doi: 10.1109/CVPR.2018.00109]
|
[44] |
Li J, Chen BM, Lee GH. So-net: Self-organizing network for point cloud analysis. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2018. 9397-9406. [doi: 10.1109/CVPR.2018.00979]
|
[45] |
Atzmon M, Maron H, Lipman Y. Point convolutional neural networks by extension operators. ACM Trans. on Graphics, 2018, 37: 1-12.
[doi:10.1145/3197517.3201301] |
[46] |
Lin Y, Yan Z, Huang H, et al. FPconv: Learning local flattening for point convolution. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2020. 4293-4302. [doi: 10.1109/cvpr42600.2020.00435]
|
[47] |
Han XF, Jin YF, Cheng HX, et al. Dual transformer for point cloud analysis. arXiv: 2104.13044, 2021.
|
[48] |
Mao J, Wang X, Li H. Interpolated convolutional networks for 3D point cloud understanding. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2019. 1578-1587. [doi: 10.1109/ICCV.2019.00166]
|
[49] |
Liu Z, Hu H, Cao Y, et al. A closer look at local aggregation operators in point cloud analysis. In: Proc. of the European Conf. on Computer Vision. Cham: Springer, 2020. 326-342. [doi: 10.1007/978-3-030-58592-1_20]
|
[50] |
Liu Y, Fan B, Meng G, et al. Densepoint: Learning densely contextual representation for efficient point cloud processing. In: Proc. of the IEEE/CVF Int'l Conf. on Computer Vision. 2019. 5239-5248. [doi: 10.1109/ICCV.2019.00534]
|
[51] |
Xu M, Zhou Z, Qiao Y. Geometry sharing network for 3D point cloud classification and segmentation. In: Proc. of the AAAI Conf. on Artificial Intelligence. 2020, 34(7): 12500-12507. [doi: 10.1609/AAAI.V34I07.6938]
|
[52] |
Zhang J, Chen L, Ouyang B, et al. PointCutMix: Regularization strategy for point cloud classification. arXiv: 2101.01461, 2021.
|
[53] |
Lee D, Lee J, Lee J, et al. Regularization strategy for point cloud via rigidly mixed sample. In: Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition. 2021. 15900-15909. [doi: 10.1109/CVPR46437.2021.01564]
|
[54] |
Ben-Shabat Y, Lindenbaum M, Fischer A. 3DMFV: Three-dimensional point cloud classification in real-time using convolutional neural networks. IEEE Robotics and Automation Letters, 2018, 3(4): 3145-3152.
[doi:10.1109/LRA.2018.2850061] |
[55] |
Xu Y, Fan T, Xu M, et al. Spidercnn: Deep learning on point sets with parameterized convolutional filters. In: Proc. of the European Conf. on Computer Vision. 2018. 87-102. [doi: 10.1007/978-3-030-01237-3_6]
|
[56] |
Uy MA, Pham QH, Hua BS, et al. Revisiting point cloud classification: A new benchmark dataset and classification model on real-world data. In: Proc. of the IEEE/CVF Int'l Conf. on Computer Vision and Pattern Recognition. 2019. 1588-1597. [doi: 10.1109/ICCV.2019.00167]
|
[57] |
Qiu S, Anwar S, Barnes N. Dense-resolution network for point cloud classification and segmentation. In: Proc. of the IEEE/CVF Winter Conf. on Applications of Computer Vision. 2021. 3813-3822. [doi: 10.1109/WACV48630.2021.00386]
|
[58] |
Qiu S, Anwar S, Barnes N. Geometric back-projection network for point cloud classification. IEEE Trans. on Multimedia, 2021.
[doi:10.1109/TMM.2021.3074240] |
[59] |
Goyal A, Law H, Liu B, et al. Revisiting point cloud shape classification with a simple and effective baseline. In: Proc. of the Int'l Conf. on Machine Learning. PMLR, 2021.
|
[60] |
Cheng S, Chen X, He X, et al. Pra-net: Point relation-aware network for 3D point cloud analysis. IEEE Trans. on Image Processing, 2021, 30: 4436-4448.
[doi:10.1109/TIP.2021.3072214] |
[19] |
宁欣, 李卫军, 李浩光, 等. 基于仿生学的不相关局部保持鉴别分析. 计算机研究与发展, 2016, 53(11): 2623-2629.
[doi:10.7544/issn1000-1239.2016.20150630] |