CurveNet: Curvature-Based Multitask Learning Deep Networks for 3D Object Recognition
CurveNet:用于 3D 对象识别的基于曲率的多任务学习深度网络
IEEE 2021
摘要:在计算机视觉领域,3D 对象识别是许多实际应用中最重要的任务之一。三维卷积神经网络(CNN)已经在 3D 物体识别中展示了其优势。在本文中,我们建议使用 3D 对象的主曲率方向(使用 CAD 模型)来表示几何特征,作为 3D CNN 的输入。我们的框架,即 CurveNet,学习感知相关的显着特征并预测对象类标签。曲率方向包含 3D 对象的复杂表面信息,这有助于我们的框架为对象识别生成更精确和更具辨别力的特征。多任务学习的灵感来自于两个相关任务之间共享特征,我们将姿势分类视为辅助任务,以使我们的 CurveNet 能够更好地概括对象标签分类。实验结果表明,我们提出的使用曲率向量的框架比体素作为 3D 对象分类的输入表现更好。我们通过组合两个网络,以 3D 对象的曲率方向和体素作为输入,进一步提高了 CurveNet 的性能。采用 Cross-Stitch 模块来学习跨多种表示的有效共享特征。我们使用三个公开可用的数据集评估我们的方法,并在 3D 对象识别任务中取得了有竞争力的性能。
一、简介
在计算机视觉领域,使用深度学习(DL)方法的二维图像分析已经取得了显着的进步,并且在许多情况下优于人类视觉(例如图像分类和人脸分析)[1],[2]。然而,理解三维物体仍然是现代计算机视觉研究的一个开放研究问题。三维空间中的真实物体提供了更详细的信息。随着低成本 3D 采集设备的出现,捕获 3D 对象变得更加容易。 3D 模型公共存储库的兴起引起了人们对计算机视觉研究的关注,例如 3D 对象识别、重建、语义分割和检索 [3]。
基于卷积神经网络 (CNN) 的 3D 对象识别系统已经取得了相当大的进步 [4],但 3D CNN 在识别 3D 对象方面并不像 2D CNN 那样成功,特别是在对象标签预测方面。这背后有几个原因,例如,由于 3D 对象复杂的几何结构、相对较小的训练数据库以及 3D CNN 所需的高计算成本,选择 3D 对象 [5] 的输入特征至关重要。最早的体积深度学习方法是 3D ShapeNets [6],它处理包括 3D 对象分类在内的三个任务。最近,已经发布了几种使用深度 CNN 解决 3D 对象识别任务的方法;体素 [6]–[9]、点云 [10]–[12] 和 2D 多视图 [13]–[15] 是 3D 对象识别中最广泛使用的 CNN 表示形式 [4]。使用 2D CNN 的基于二维多视图的方法可实现高性能。这是因为现有的基于 2D 的 CNN 可以直接用于 3D 物体识别,并且需要更少的计算资源。然而,多视图表示存在一些技术问题;例如,选择视图数量来捕获整个 3D 对象的信息仍然是一个悬而未决的问题。此外,将 3D 数据投影到 2D 域会丢弃 3D 对象的固有特征(例如几何、结构和方向信息)。
在3D形状分析中,三维表示是保留3D对象内在特征的唯一方法;因此,需要探索 3D 物体和高级神经网络的新特征来改进 3D 视觉任务 [8]。基于人工智能的计算机视觉系统是使用先进的机器学习 (ML) 算法(例如深度学习)开发的。此外,CNN 的对象分类精度也很大程度上受到输入特征的影响[4]。
在这项研究中,我们将曲率方向作为 3D 对象的输入特征合并到我们新颖的 3D CNN 中以识别对象标签。 3D 对象的主曲率方向被认为是人类视觉系统 (HVS) 的感知相关属性,广泛用于 3D 网格视觉质量评估 [16]、[17]。考虑到 HVS 中的感知特征,曲率图代表了显着的结构3D 对象的特征 [17]。典型 3D CAD 模型的曲率图如图 1 和 2 所示。 1(d)和1(e)。曲率向量图看起来类似于原始 3D 模型的草图。这个想法是,如果典型的神经网络模型可以从 3D 对象的边界信息(来自体素)识别对象,那么它也可以从其草图识别它。
图 1. 不同 3D 表示的比较 (a) 原始 3D Bimba CAD 模型; (b) 体素表示; (c) 点云表示; (d) 使用最大值的曲率方向图[17]; (e) 使用最小值的曲率方向图[17]。
受此启发,我们提出了用于 3D 对象分类的 CurveNet,这是一种新颖的体积 CNN,直接输入曲率点作为低级输入特征。在CNN 中,多任务 [18]、[19] 和多尺度 [20]、[21] 基于学习的方法提供了额外的好处,可以提高网络的对象分类性能。在多任务学习中,辅助任务被认为可以优化损失并提高主任务的性能。我们添加了姿势识别作为辅助任务,以提高 CurveNet 在对象级类别分类方面的性能。一般来说,使用曲率点的分类精度不应该比体素输入的分类精度差,因为它们提供了更多的信息(判别性表面特征),特别是对于曲线表面或复杂结构的3D模型。我们的实验结果表明,基于曲率的输入特征优于具有体素表示的对象边界。引入了一个新的初始模块,用于从低级表面输入特征生成高级全局特征。我们提出的 CurveNet 受益于这个新的初始模块的多尺度学习。为了进一步提高网络性能,我们融合了两个网络,它们以曲率向量点和体素作为输入。应用数据增强来增加训练样本的数量,这有助于降低过度拟合的风险并提高网络的性能。
本文的主要贡献如下: i) 我们建议使用 3D CAD 模型的曲率信息作为 3D 分类器 CurveNet 的输入。据我们所知,这是 3D CNN 第一次直接将曲率向量作为输入,并且优于体素的边界表示。 ii)我们引入了一种新的初始块,由三个卷积层和一个最大池层组成,这是传统多尺度学习策略的有效替代方案。这提高了 CurveNet 的学习能力,并用更少的参数生成非常高级的全局特征。 iii) 我们通过组合多个输入(来自体素和曲率方向的边界信息)来扩展我们的技术,并尝试软硬参数共享的影响,以提高 3D 对象分类的性能。
本文的其余部分组织如下:第二部分回顾了基于神经网络的 3D 对象识别的相关工作。第三节描述了所提出的 CurveNet 架构,包括特征提取方法、网络架构和网络融合技术。
第四节介绍了网络训练以及实验结果和分析。最后,我们在第五节中得出结论。相关作品 用于 3D 对象识别的 3D 对象最常见的表示形式是多视图、点云、体积、超图和 3D 描述符。
1)多视图:最早的 3D 对象识别方法之一是在 RGB-D 图像 [22]、[23] 的背景下提出的。这种特征学习方法类似于图像分类,其中附加输入用于深度信息。多视图卷积神经网络(MVCNN)[13]模型是一种开创性的基于多视图的CNN模型,其中3D对象可以从12到80个视点渲染为2D图像。使用 ImageNet [20] 中的预训练模型在 ModelNet40 数据集 [24] 上训练网络模型以执行 3D 分类任务。 RotationNet [25] 被提出使用 3D 对象的多视图图像联合预测对象标签和姿势。为了利用 3D 对象的多视图图像之间的相关信息,Ma 等人提出了 [26] 一种新颖的基于多视图的网络,用于分类和检索任务。然而,多视图表示丢弃了几何属性,并且很难确定捕获 3D 对象的整个表面所需的投影数量。
2) 点云:点云表示因其易于 3D 形状表示以及直接在 CNN 中用作输入而广受欢迎。 PointNet [12] 是最早提出来解决 3D 对象分类和分割任务问题的方法之一。 PointNet直接输入点集并输出对象类标签。然而,PointNet 并没有捕获逐点特征提取方法引起的局部结构。 PointNet++ [11] 通过处理按层次顺序采样的一组点来解决这个问题。本-沙巴特等人[27]提出了一种混合点云表示,即 3D 修改的 Fisher 向量(3DmFV),它有效地将离散点结构与 Fisher 向量的连续泛化相结合,用于 3D 点云分类和零件分割。 Point2Sequence[10]由Liu等人提出
作为一种通过关注聚合 3D 对象每个局部区域的多尺度区域来捕获细粒度上下文信息和学习点云特征的方法。引入关系形状卷积神经网络(RS-CNN)[28]来学习点云分类和分割问题的上下文形状感知信息。
然而,点云与光栅化数据(体素或像素)有些不同,后者以空间不规则方式形成,但其坐标的主要好处是可以直接在 CNN 中用作输入。由于3D扫描工具的进步,开发点云模型非常容易和快速,但由于点采样无序,该模型无法保留真实环境中物体的表面信息。
3)体积:体积表示是一种非常强大的表示,可以描述3D对象的完整几何形状。它保留了视点信息的内在特征。
体素和八叉树是 3D 对象识别任务中最常用的体积数据表示方法 [3]。 Wu 等人提出了一种用于体积形状分析(包括识别)的深度学习模型,即 3DShapeNets [6],这是利用体积数据进行 3D 对象识别的开创性且最早的方法。下面概述了使用 3D 体素网格表示 [5]、[7]、[12]、[25] 提出的几种卓有成效的体积方法。最近,基于八叉树的体积 CNN [30]-[32] 显着提高了 3D 对象识别的性能,与基于体素的方法相比,消耗的内存更少。此外,还有几种新方法引入了 3D 体积 CNN,例如多任务学习 [33],包括子体积监督 [9]、[14]、[32] 和具有多表示输入的网络融合方法,这些方法具有近年来取得了显着的进展[8],[14],[34]。一般来说,体积 CNN 需要更高的计算成本,这对于实时应用来说可能具有挑战性。 VoxNet 和 LightNet 解决了这个问题,并引入了最小参数分别约为 0.92 M 和 0.30 M 的体积网络。 Brock 等人提出了基于体素的 Voxception-ResNet (VRN) [35] 模型,该模型使用变分自动编码器 (VAE) 学习潜在空间。 VRN 集成迄今为止在 ModelNet 公共数据集 [24] 上实现了最佳分类精度。 Ghadai 等人 [36] 引入了一种多级 3D CNN,它通过利用粗体素网格表示来学习多尺度特征。
4)其他:Luciano 等人引入了一种深度相似网络融合框架,即 DeepSNF [37],用于 3D 对象分类,其中几何形状描述符的特征被输入图卷积神经网络 [38]。最近,使用图 CNN [38] 引入了几种方法,因为这些 CNN 可以处理稀疏数据和无序数据。其中,动态图[39]、超图[40]和多超图[41]基于立体图的方法在3D对象方面取得了显着的改进识别任务。上述这些方法遵循监督学习策略;此外,还有几种用于 3D 物体识别的无监督方法 [42]-[44]。然而,无监督方法的性能通常比监督方法差。三.提出的方法 我们在本文中考虑体积 CNN。在体积数据中,体素通常用于表示 3D 对象。
然而,为了提高体积方法的性能并降低计算成本,已经引入了几种方法,例如八叉树[26]、[28]、组合体素与曲率图[45]和法线向量[8],用作3D CNN 的输入。 3D 和 2D CNN 之间仍然存在很大的性能差距,因为基于 2D 的方法受益于图像处理领域众多现有工作的技术,并且在 3D 对象识别任务中表现更好。为了缩小这一差距,我们提出了一种新颖的 3D CNN 网络,称为 CurveNet,它使用曲率点作为输入。使用 3D CNN 的主要原因是从空间结构中提取丰富的信息,并从不同方向的非平面表面学习精细细节。本节详细介绍输入数据准备、CurveNet 架构及其学习策略。 A. 输入数据准备 使用 CNN 表示 3D 对象的两种流行方式是多视图和体积。多视图表示是从多个视点捕获的 3D 对象的 2D 图像,该图像丢弃了结构信息。另一方面,体积表示保留了具有视点信息的内在特征,被广泛用作 3D CNN 的输入。
e1 e2 n1 n2 我们提取了 3D 网格(3D CAD 模型)的曲率方向图。不规则曲率点向量形成 3D 数据张量,该张量进一步编码为输入到 3D CNN 的规则点。为了计算应用于半径为 r 的圆时的二维曲率方向(图 2),我们在圆上定义两个点 和 ,它们的法线分别来自圆的中心。圆的曲率可以计算为
通过将矢量投影到曲率边缘,可以将 (1) 中的曲率计算扩展到任意 3D 网格,如下所示
然而,(2) 中三角形网格曲率的几何计算并没有为 CNN 提供有意义的信息。为了提取 3D 对象的感知视觉特征,最小和最大曲率方向可提供更真实的表面信息。我们根据正态循环理论使用最大和最小曲率值来映射曲率方向[46]。首先,计算曲线上每条边的曲率张量[17]测地盘窗口 , 是 的面积(见图 3)。计算入射到边 的两个三角形之间的符号角,边的内部部分的长度为 然后,可以在每个顶点 v 上计算曲率张量为
其中 是边的数量,朝向的单位向量及其转置分别为 和 。每个顶点上的两个特征值(非零)是曲率幅度(最小值,最大值),特征向量是曲率方向(最小值,最大值)。
为了提取这些曲率向量(最小值、最大值),我们使用了开源工具 mepp1(3D 网格处理平台),并在 Ubuntu 上修改了 TPDM 指标 [17]。曲率矢量(三维 3D 矢量)以迭代方式计算,并作为非结构化点(3D 张量)存储在本地驱动器上。为了对这些点进行编码,我们将每个 3D 模型的 3D 张量切割为 5k 个点,并使用 Meshlab [47] 通过泊松盘采样将它们均匀分布,并将它们转换为 3D 网格 [7] 作为 CNN 的输入。
图 1 显示了基于体素、点云和曲率点的 3D CAD 模型的表示。 B. CurveNet 网络架构 我们提出的 CurveNet 是一个 3D 深度卷积神经网络,由 conv 层和 FC 层组成。图 4 描绘了 CurveNet 的总体框图。网络是这样设计的以多任务学习策略的形式。在多任务学习中,至少分配两个或多个任务[18]。其中,一项是主要任务,其余任务是辅助任务。辅助任务用于提高主要任务的性能。在这项工作中,对象标签预测是主要任务,姿态预测是CurveNet的辅助任务。 CurveNet的输入层直接输入3D数据张量的二进制,其大小为30×30×30。配备了一个新的初始块,可以使用多尺度训练方法生成判别性特征。
我们使用了三个相同的起始块。每个初始块由三个卷积层和一个最大池层组成。卷积参数表示为(C,S)×N,其中C是卷积核,S是步长,N是指输出特征图的数量。每个卷积层的输出都会传递到一个由批量归一化层、缩放层和负斜率为 0.1 的泄漏修正线性单元 (Leaky ReLU) 层组成的序列。
我们使用了最大池层的典型形式。我们使用核大小为2、步长为2的非重叠池化函数,因此特征图的分辨率下降了2倍。 conv-2和conv-3的输出与输出数量相同连接起来输入到下一个初始块的卷积层的特征图。然而,conv-2 和 conv-3 分别从 conv-1 和 max-pooling 层的输出输入特征,其中两个输入特征的维度分别为(d/2−1)和 (d/2) 。这些多尺度特征由初始块生成并作为输入发送到下一个块,该块生成更多可区分的特征来识别对象类标签。 Inception-1 学习到的特征图数量为 112 个,而后续 Inception 块的数量增加了一倍(224 和 448)。 CurveNet 在顶部使用四个 FC 层,其中最后两个FC,FC-3 和 FC-4,分别用于获取对象标签和姿态的预测分数。 FC-3和FC-4都将FC-2的输出作为输入。我们使用 softmax 分类器来计算 CurveNet 在对象标签分类任务中的准确性和损失 [48]。
C. 两个输入组合的参数共享
在这项工作中,我们在 CurveNet 上采用了网络融合策略,使用曲率方向和体素的表面边界表示作为输入。为了体验参数共享的影响,融合了两个 CurveNet 以提高分类性能,其将体素 [7] 的边界信息和曲率信息作为输入。我们使用三种不同的融合策略来训练 CurveNet,即不共享、硬参数共享和软参数共享。所有融合网络如图 5 所示。训练样本是从具有相似体积分辨率的两个输入的同一对象中选择的。
图 4. CurveNet 框架。提出了一个新的 Inception 模块。Inception 1、2 和 3 是完全相同的,除了输入和输出特征和参数的数量不同(C1 = 3、C2 = 1、C3 = 2、S1 = 2、S2 = 1 和 m = 2)。训练参数总数为3.1M。
图 5. 使用两个 CurveNet 的网络融合方法进行参数共享 (a) 不共享; (b) 硬参数共享; (c)软参数共享。
目的是训练 CurveNet 的融合,以提高使用多个输入的分类精度,并找到有效的特征共享策略。
第一条融合管道如图5(a)所示。该管道是在没有共享策略的情况下进行训练的,并且所有学习到的特征都是在分类之前连接。分类决策来自 FC 输出的线性组合。两个网络学习到的特征的组合在分类器(最顶层的 FC)之前进行融合。然后,共享高标签全局特征以将对象分为两类。我们的目标是识别正确的对象标签(主要任务)。我们设计网络来预测物体姿态作为辅助任务,以使用我们所需任务的方向信息来提高网络性能[18]。在第二个融合管道中,我们遵循硬参数共享(见图 5(b)),其中一个或多个 conv 层和 FC 层可以共享其学习到的特征。我们在 Inception-2 和 Inception-3 层之间共享参数。我们发现共享包括 FC 在内的所有层对提高性能毫无帮助,反而会多消耗 50% 的训练时间。在多任务学习中,某些层对于辅助任务应该是不变的[18],我们发现两个独立的 FC 分支比共享 FC 提供了更好的结果。
α我们通过采用CrossStitch网络[49]实现了软参数共享,如图5(c)所示,其中确定了不同的学习特征是共享还是学习。两个网络的加权参数是可共享和可训练的。共享到后续层的决定由 ,激活图线性组合的矩阵来调节。中介参数决定特征是共享还是学习。
因此,网络分配与任务相关的特征以提高所需任务的预测分数。最后,所有网络内部学习到的特征通过最终中介块转发到分类器层,该中介块能够为特定任务(标签或姿势识别)选择合适且重要的特征。在这两种情况下,两个网络的最终输出层(softmax函数)都会被平均,最大的预测表示目标类别。我们所有的融合网络都遵循基于层的参数共享策略。四.实验和分析 A. 训练和评估设置 我们分别使用 Princeton ModelNet [24] 和 Sydney Urban 对象数据集评估了我们提出的 CurveNet 在两种不同类型的 3D 对象上的分类性能,特别是 3D CAD 模型和 LiDAR 点云。我们的 CurveNet 是在 TensorFlow 深度学习框架上实现的,该框架安装在 Xeon-x5650 CPU 上,并配有由 cuDNN8.0 启用的 Teslak20c GPU。
我们通过随机梯度下降(SGB)[50]以有监督的方式端到端地训练 CurveNet,动量参数设置为 0.9。批量大小设置为 32。初始学习设置为 0.01,并减少了 10 倍。我们在每个输出层之后添加了 dropout 正则化,比率为 0.6。我们使用多项交叉熵损失计算多类损失函数[51]。我们的 CurveNet 花费了大约 26 个小时来训练 90 个 epoch。我们在测试期间应用了投票策略,其中将样本 3D 对象的多次旋转馈送到网络,并对输出进行平均以获得对象类标签的最终预测。 B. 数据对齐和增强 Modelnet40 和 ModelNet10 是广泛用于评估 3D 对象分类性能的两个主要数据集。然而,ModelNet10 中的 3D 模型完美对齐;相比之下,ModelNet40 中有超过 1000 个模型没有对齐。我们首先对未对齐对象的类进行排序,并为每个要对齐的类准备一个参考集。我们采用无监督生成视点 [52] 方法来根据类别对齐对象,并通过使用 90 度旋转运行三个不同的子集来迭代分配对象姿势的标签。一些旋转不变的物体(例如,花盆和瓶子中的样本)被强制分配到第一类,因为它们在不同的姿势下没有提供任何重要的信息。
3D 对象的视觉属性受对象姿势和每类样本数量的影响。我们通过沿 z 轴围绕水平方向旋转每个 3D 模型来扩展数据集样本。我们准备了原始数据集的两个增强子集。我们通过分别以 30 度和 15 度的间隔旋转两个子集,生成每个 3D 模型的 12 和 24 个副本。此增强过程已应用于 ModelNet40 和 ModelNet10 数据集。这种增强方法有助于增加每个类别(姿势和类别)的训练样本数量,有助于提高网络的性能。
C. ModelNet 数据集上的分类性能 ModelNet 数据集是由 Chang 等人[24]于 2015 年专门构建的,用于评估 3D 对象分类器。ModelNet40 是一个大型数据集,包含 12311 个 3D CAD 模型,分为 40 个类别。 ModelNet10 是一个小型数据集,是 ModelNet40 的子集,包含 10 个类别的 4899 个 3D CAD 模型。这些数据集有自己的训练和测试部分。为了保持一致性,我们在实验中使用了数据集的原始分割。在测试过程中,我们将测试样本的所有增强模型批量发送到网络,并通过平均输出层的激活来确定对象类别。
1)分类结果:我们使用体素的表面边界信息和曲率信息评估我们的模型。分类精度(平均类别)如表一所示。我们发现归一化最大曲率方向向量表现出优于体素的优势。
与使用相同网络的表面边界信息相比,我们提出的方法将分类精度提高了 1.2%。它还优于 3DShapeNet [6] 和 VoxNet [7],它们是用于 3D 对象分类的最先进的体积方法。这些改进主要是两个因素的结果:曲率信息作为输入特征和通过添加姿势分类进行辅助学习。 Curvature 为 CNN 提供了相当大的深度和感知特征,辅助姿态学习有助于提高对象分类的准确性,这是我们网络的主要任务。
此外,投票方法是另一种提高分类器性能的常用方法。表二显示了姿势学习和投票方法对使用我们的 CurveNet 提高分类精度的影响。我们使用了来自 ModelNet40 的两个增强数据集,每个样本有 12 个和 24 个副本。实验结果表明,同时使用姿势学习和投票方法时,使用 12 视图的分类精度提高了 3.8%,使用 24 视图的分类精度提高了 3.2%。
使用 24 视图实现了最佳性能,在 ModelNet40 上的平均分类精度为 90.2%。
从这些实验中,我们发现训练样本的数量对分类性能有影响,即训练样本数量多的类具有较高的准确率。然而,两个类之间的类间高度相似性可能会导致这一趋势出现轻微偏差,例如,椅子与凳子以及梳妆台与床头柜(参见图6)。类似的观察结果也在早期的作品中被报道过[30]、[32]。当我们在图 7 中可视化 ModelNet40 的混淆矩阵时,它说明只有当目标对象属于一些相似的对象类别时才会出现这种歧义,例如梳妆台、花盆、水槽和花瓶,这些都是最容易混淆的例子数据库中的对象,因为它们在我们的网络错误分类其中一些的情况下具有接近的视觉属性。
2)参数共享:为了进一步提高分类性能,使用我们提出的体积模型融合了体素和曲率特征。我们在两个网络之间应用了三种参数共享方法,即不共享、硬共享和软共享,如图5所示。两个网络(体素和曲率)都是独立预训练的,以减少训练时间。
在不共享的情况下,不同层生成的特征在最后一个 FC(分类器)层之前连接起来。
此外,对于硬共享,共享Inception-1和Inception-2层,然后将共享特征连续发送到FC层。对于通道级注意,使用十字绣算法共享所有层生成的特征(详细信息请参阅[55])。
总体而言,与单个网络相比,融合网络的分类结果得到了改善。结果列于表III中。我们发现软共享对于取得好的结果有很大的影响。它的平均类别准确率和样本准确率分别为 90.7% 和 93.5%。
此外,硬共享的表现比不共享稍好,平均类别和样本准确率分别提高了 0.2% 和 0.6%。实验结果表明,具有软共享的网络受益于中介特征(参见第III-C节),由此决定参数是否需要共享或学习。另一方面,通过硬共享来共享所有参数并不能显着提高分类结果;相反,使用太多参数系数组合可能会产生更令人困惑的分数这可能会导致网络达到局部最优解。
3)与其他方法的比较:我们的模型的分类精度与表四中最先进的方法进行了比较。我们发现多视图和点云方法在 3D 对象分类任务中仍然占主导地位。此外,我们的方法在体积方法中实现了最高的精度,但不如 VRN 集成 [35]。我们的 CurveNet 有 3.1 M 个参数,而 fusion 包含大约 6.2 M 个参数。与 VRN 集成的 90 M 个参数相比,我们的网络更轻,性能与其他方法相当。此外,我们的网络在小规模 ModelNet10 数据库上也表现良好,平均分类精度达到 94.2%,这也与其他方法相当。
4)从理论上讲,深度网络应该在大型数据集上表现更好,因为它们需要更多的训练样本。然而,ModelNet10 中的样本是使用一些选定的类和来自 ModelNet40 的干净对象构建的。 ModelNet10 的混淆矩阵如图 8 所示,其中对角线值越高,与其他对象的相似性越少。与 ModelNet40 相比,ModelNet10 中的所有类都获得了更高的混淆分数,这意味着对象之间的相似性较低,从而在 ModelNet40 数据集上实现了更好的分类精度。 D. 悉尼城市物体数据集 悉尼城市物体数据集2 由带标签的 Velodyne LiDAR 扫描组成,对 26 个不同类别的 631 个城市道路物体(点云样本)进行扫描,包括车辆、行人、标志和树木。由于它提供了在城市道路的常见场景中扫描的单个 3D 点云样本,我们认为该数据集在对象分类和观察 CurveNet 的性能方面特别有趣。由于点样本无序,我们通过将对象周围的所有点放在边界框中并将它们编码为 303 占用网格体素,将点转换为体积表示 [7]。我们凭经验将体素大小设置为 0.2 m。数据增强和测试投票
5)相应地,围绕 z 轴旋转 24 圈。
6)分类结果:为了将分类结果与最先进的方法进行比较,我们遵循原始数据集的协议[56]。该数据集被折叠为四个标准训练和测试分割,用于 14 个类别的 588 个样本的子集。该数据集比 ModelNet 小;因此,我们仍然保持 0.6 的 drop-out 连接,以减轻训练期间的过度拟合。我们通过平均 F1 分数报告分类性能。我们在表五中列出了不同方法的分类性能。我们的模型获得了 79.3% 的平均 F1。 CurveNet 的分类性能明显优于 VoxNet [7]、ORION [33] 和 NormalNet [8] 等体积方法,但比 LightNet [9] 稍差。这种改进意味着低规模数据集上的分类性能也受到使用我们新颖的初始模块和方向信息辅助学习的组合多尺度特征的影响。
五、结论
在本文中,我们介绍了 CurveNet,它使用曲率方向向量和 3D CNN 进行 3D 对象识别。我们的框架考虑了多任务(标签和姿势)和多尺度学习(在初始模块中)策略。我们应用网络融合和数据增强方法来提高识别率。使用相关的感知特征,我们提出的 CurveNet 比现有的体素表示模型表现得更好。结果与最先进的点云具有竞争力基于方法和基于多视图的方法。相比之下,我们的模型仅适用于 3D 三角形网格(3D CAD 模型)。我们模型的一个弱点是它不适合其他 3D 数据表示(例如点云)。