一种基于数据扩容与相似性度量的残缺点云分类网络

文档序号:26396409发布日期:2021-08-24 16:06阅读:113来源:国知局
一种基于数据扩容与相似性度量的残缺点云分类网络

本发明属于三维计算机视觉领域,具体涉及到一种基于数据扩容与相似性度量的面向残缺点云分类网络。



背景技术:

点云不同于二维图像规则的网格结构,而是一组无序的3d点,所以点云分类具有一定挑战性。近年来出现了诸多应用于三维点云的深度学习方法。这些方法对点云进行精准的分类通常依赖于数据的丰富性和可用性,相较于二维图像领域中常用的大体量数据集mscoco和imagenet数据集,三维点云数据集的规模通常要小很多,且样本的丰富度不足。常用的点云分类数据集结构完整表义清晰,而实际应用中的点云数据来源主要有两种方式:第一是利用激光雷达通过测量传感器和被测物体之间的距离的方式,扫描获取离散点云数据;第二是利用rgb-d相机通过测量相机与物体之间的距离的方式获取点云数据。无论以哪种方式采集数据,由于场景中物体间遮挡、光线反射、传感器分辨率和视角的限制,会造成几何和语义信息的丢失,导致点云出现不同程度的残缺。在识别分类中,区域性的缺失会导致点云丢失部分特征,影响形状分类的精度,例如在vkitt数据集中,某些被拦腰截断的房屋容易被网络错误判定为卡车。



技术实现要素:

本发明的目的在于如何将将完整的点云分类网络扩展到残缺点云,从而为面向残缺点云的分类问题提供优秀的解决方案的一种基于数据扩容与相似性度量的面向残缺点云的分类网络。

本发明的目的是这样实现的:

一种基于数据扩容与相似性度量的残缺点云分类网络,包括以下步骤:

s1:对原始点云进行预处理。

该过程首先对未规范化的数据进行规范化,使得数据范围始终保持在[-1,1]中,以便于后续任务。

s2:提出了一种面向三维点云的数据扩容方式——随机区域擦除。

该步骤能够兼顾学习完整点云及残缺点云的语义信息,针对完整点云随机去除部分区域的点云,剥离掉局部信息。这一过程模拟了实际采集点云过程中出现的遮挡、缺失等问题,且增加了数据的复杂性和丰富度,增强了网络的鲁棒性与泛化性能。

s3:设计一个点相似性度量模块,引入注意力机制,完成辅助损失函数的设计。

该步骤中的相似性度量模块以s2输出的完整点云和残缺点云共同作为输入,设定评价指标判断二者之间的相似性。对完整点云应用注意力机制获得不同点之间的权重值,该权重值作为参数参与构建相似性度量损失。相似性损失函数以辅助损失的形式引入总体损失函数,在网络模型的训练过程中引入并在网络的测试环节去除。

s4:对完整点云和残缺点云进行分类。

该步骤利用s2得到的扩容后的数据作为分类网络的输入,分类网络部分延续了pointnet++的encoder-decoder分类结构。多层次的特征提取结构捕获了局部及全局特征,分类损失与相似性度量损失以特定比例结合构成网络的整体损失函数。

与现有技术相比,本发明的有益效果是:

1、本发明提出了一个残缺点云的分类网络ipc-net。它可以将完整的点云分类网络扩展到不完整的点云,从而确保不同完整性的点云分类的鲁棒性。

2、本发明设计了一种针对3d点云的数据扩充方法,该方法在语义层面上注重数据的扩充,具有实际意义。我们提出了一种点相似度测量模块,其中引入并完善了注意力机制来设计辅助损失函数。

3、本发明不依赖于特定数据集,在不同输入数据集上均具有普适性,在modelnet40数据集上达到优秀的分类效果。

附图说明

图1是本发明提出的基于数据扩容与相似性度量的残缺点云分类网络ipc-net的流程图;

图2是ipc-net网络的各模块结构图;

图3是随即区域擦除的流程图;

图4是modelnet40数据集随机擦除的可视化结果;

图5是用于判断ipc-net泛化性能的自制数据集可视化图。

具体实施方式

下面结合附图对本发明具体实施方式做进一步说明。

本申请中提到的点云,是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合。

本申请中提到的点云分类,是为每个点分配一个语义标记。点云的分类是将点云分类到不同的点云集,同一个点云集具有相似或相同的属性。

本申请中提到的点云补全,是一种在三维物体的检测识别领域应用广泛的用于修补有所缺失的点云的方法,从缺失点云出发估计完整点云,从而获得更高质量的点云。面向残缺点云的分类网络是对点云分类网络的进一步推广,残缺点云的常用分析方法主要是点云补全网络。点云补全是实现残缺点云分类的先验任务,获取完整点云数据后再进行形状分类。但是,在点云分类任务中,点云补全操作是冗余的。因为网络可以通过学习残缺点云的语义信息来实现分类,而不需要生成具有不明显特征的局部细节。此外,在分类网络之前添加点云完成网络也将增加模型的复杂性。与此同时在深度学习分析3d点云的研究中,训练数据起着举足轻重的作用。但是,实际的训练数据通常存在体积小,复杂度低,丰富性差的问题。因此,数据扩容是一种常用的训练方法。数据扩容是正则化的一种显示形式,旨在仅通过人工操作使用数据来扩展训练集的数量和丰富性。由于在此过程中进行了操作转换,数据扩充使网络可以学习的语义信息最大化,这也成为防止卷积神经网络模型过度拟合的关键部分。

本发明内容主要包括数据扩容模块和点相似性度量模块。数据扩容部分主要通过随机区域擦除来实现。随机区域擦除过程在实际应用中模拟了点云的遮挡,从而提高了网络的泛化性能。点相似性度量模块将注意力机制与相似性度量结合在一起,以指导不完整的点特征向原始点特征学习。同时,本发明利用注意力获得原始点云不同点之间的权重,使网络更加关注具有高信息量的学习特征。本发明还使用pointnet++的分层分类结构作为参考,演示了ipc-net,并演示了其在几何任务上的有效性。

下面结合说明书附图对本发明创造进一步的详细说明。

图1为本发明提出的基于数据扩容与相似性度量的残缺点云分类网络ipc-net的流程图,图2为ipc-net网络各模块的具体结构图。具体包括如下步骤:

s1,预处理输入数据;

s2,对原始点云进行数据扩容;

s3,利用相似性度量模块评估完整点云与残缺点云之间差异,并输出相似性度量损失;

s4,利用分类网络实现残缺点云分类。

下面结合附图所示,更加具体的描述前述基于数据扩容和点云相似性度量的残缺点云分类网络。

步骤s1,对原始点云进行归一化,将不同大小的点云数据归一化到[-1,1]范围内,原始点云的可视化结果如图5所示。

步骤s2中对结构完整的原始点云实行数据扩容,数据扩容过程主要是通过随机区域擦除实现的,随即区域擦除流程如图3所示,其具体步骤如下所示:

s2.1,在训练过程中,原始点云数据输入网络后复制本身获得与之相同的“复本”作为随机区域擦除模块的输入数据。

s2.2,随机区域擦除的方法会在“复本”点集中随机选择一个点作为擦除的区域中心。

s2.3,随机区域擦除模块设置了一个擦除的范围,并随机选定范围内的任意一大小作为擦除半径以形成一个可供擦除的球域。

s2.4,将擦除球域内的点云数据清除,与此同时模块需要判断经过擦除的点云所保留的点数是否满足后续分类网络的要求下限,分类网络的输入点数为1024,故当擦除后剩余点数不满1024时,网络则放弃对该点云数据实行随机区域擦除。

本发明的数据扩容模块保证了最大程度的随机原则,首先是擦除区域中心点的位置是随机的,其次是擦除区域的半径大小也是随机的,最后由于可能存在点高度集中于擦除区域的现象,所以对于一个点云数据,能否执行擦除操作也是随机的,图4可视化的显示了随机擦除的完整流程。

步骤s3,将经过最远点采样的输入点云引入相似性度量模块,利用评估指标将完整点云与残缺点云联系起来,通过评估二者之间的差异性获得点云相似性度量损失,该过程具体步骤如下:

s3.1,将数据量不同的完整点云与残缺点云共同降采样,降采样的方法为最远点采样,经过最远点采样的完整点云与残缺点云各保留1024个采样点。

s3.2,对下采样后的完整点云应用注意力机制,以此获得各个点之间的权重,获取注意力的公式为:

a=g(qi,w)

其中qi={qj|1≤j≤i}代表了完整点云,w是共享多层感知机的可学习权重。

s3.3,利用点云补全中的评价指标评估残缺点云与完整点云的关系,该部分主要包括如下步骤:

s3.3.1,采用点云补全中的倒角距离(cd)来评估完整点云q与残缺点云p之间的关系,cd表示一个点云中每一个点到另一个点云中与之最近的邻居点之间的平均距离,由此构成cd损失,其具体公式为:

s3.3.2,采用点云补全中的地球移动距离(emd)来评估完整点云q与残缺点云p之间的关系,emd距离表示的是一个点云“移动”成另一个点云的最优规划路径下的最小消耗,由此构成emd损失,其具体公式为:

其中φ是一个可以使对应点之间的平均距离最小的双射,且和的大小必须相同。

s3.3.3,将cd损失与emd损失相结合,cd计算效率高时间复杂度低,emd对单个点云的个性特征及局部细节有更好的区分度,将二者结合起来共同构建相似性度量损失,该损失函数公式为:

s3.4,将完整点云经过注意力模块获得的权重作为参数,引入完整点云与残缺点云之间距离dij的计算中,dij是相似性度量损失的核心部分,其公式如下:

dij=a·||q-p||

s4.1,将扩容后的完整点云与残缺点云共同输入分类网络实现残缺点云分类。其具体步骤如下:

s4.1.1,利用pointnet++的编码部分中的sa层实现特征提取,sa层具体包括sampling,grouping,pointnet三个模块,具体步骤如下:

s4.1.1.1,sa层中的sampling模块首先对输入模块的点云进行下采样,采样方式是最远点采样,采样点数为1024个点。

s4.1.1.2,sa层中的grouping模块以所选取点为质心,通过邻域算法选取固定区域内合适数目的点构成局部点集,每个邻域内选取的点数为32个。

s4.1.1.3,sa层的pointnet部分则使用最大池化(max-pooling)作为对称函数实现点云的排列不变性,使用mlp模块提取局部特征,该过程的公式如下:

f({x1,...,xn})≈g(h(x1),...,h(xn))

在该实现过程中,h代表mlp,g代表max-pooling函数,max-pooling函数表示特征中最大值且满足置换不变性,该公式为:

max(x1,x2,x3,...)≡max(xα1,xα2,xα3,...),xi∈rd

s4.1.2,重复两次s411的过程,逐步获得不同层次的局部特征及全局特征。

s4.1.3,解码部分将编码部分所得降采样得到的全局特征作为输入引入全连接网络,并通过softmax完成分类。

s4.2,将分类网络得到的损失函数与s3得到的相似性度量损失相结合组成ipc-net的损失函数,分类网络部分的损失函数lcls为nllloss。相似性度量损失由s333所得,并以辅助函数的形式应用于模型的训练过程,在测试环节去除。超参数alpha用于均衡两种损失,本发明中的alpha值经由实验确定为0.05,ipc-net的损失函数为:

lcon=0.95lcls+0.05lsm

结合以上所描述的残缺点云分类方法,在输入点云为完整点云或为缺损程度不同的残缺点云时,利用本发明提出的icp-net网络,均能实现较好的分类效果,且网络具备较强的鲁棒性。

虽然本发明已以较佳实例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1