一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于卷积神经网络的点云排序预处理方法及装置与流程

2021-10-24 10:29:00 来源:中国专利 TAG:卷积 神经网络 预处理 排序 装置


1.本发明涉及计算机技术领域,特别涉及一种基于卷积神经网络的点云排序预处理方法及装置。


背景技术:

2.随着激光扫描仪等现代三维传感器的兴起,点云在室内导航、自动驾驶、机器人等领域得到了广泛的应用。应用于点云的卷积神经网络在分类、分割等视觉任务中取得了良好的性能。edgeconv使用连接成对距离的坐标作为边缘特征,并使用多层感知作为过滤器。x

conv通过学习变换,将点的局部信息投影到势空间,然后执行标准卷积。现有的点云卷积神经网络大多更关注每个点的空间相关性,而忽略点云数据的排序,为了减少资源消耗,必须根据一定的规则选择一些无序的、独立的点。因此,它们不适合使用空间局部相关性,导致应用于点云的卷积神经网络在深度上不如图像上的卷积神经网络深入,并且消耗大量计算资源。
3.借鉴卷积神经网络应用于二维图像上的经验,这种网格状数据的有序性和规律性使卷积运算能够有效地利用图像的空间相关性。因此,有序的点云数据更有利于卷积运算。大多数三维点云的深度模型都需要进行预处理,例如通过视图投影将不规则的点云转换为立体像素或二维图像。但是这样会导致局部形状保真度或点云自然不变性的损失。
4.因此,需要一种基于卷积神经网络的点云排序预处理方法及装置,能够减少计算资源的消耗,且易于快速训练,达到优秀的分类和分割结果,同时大大减少了空间消耗。


技术实现要素:

5.(一)要解决的技术问题
6.为了解决现有技术的上述问题,本发明提供一种基于卷积神经网络的点云排序预处理方法及装置,能够减少计算资源的消耗,且易于快速训练,达到优秀的分类和分割结果,同时大大减少了空间消耗。
7.(二)技术方案
8.为了达到上述目的,本发明采用的一种技术方案为:
9.一种基于卷积神经网络的点云排序预处理方法,包括步骤:
10.s1、获取点云数据,并通过训练好的pointnet模型进行预处理,得到处理后的数据;
11.s2、对所述处理后的数据进行评分,得到评分结果;
12.s3、根据所述评分结果对点云数据进行排序,输出有序的点云数据。
13.为了达到上述目的,本发明采用的另一种技术方案为:
14.一种基于卷积神经网络的点云排序预处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
15.s1、获取点云数据,并通过训练好的pointnet模型进行预处理,得到处理后的数
据;
16.s2、对所述处理后的数据进行评分,得到评分结果;
17.s3、根据所述评分结果对点云数据进行排序,输出有序的点云数据。
18.(三)有益效果
19.本发明的有益效果在于:通过获取点云数据,并通过训练好的pointnet模型进行预处理,得到处理后的数据;对所述处理后的数据进行评分,得到评分结果;根据所述评分结果对点云数据进行排序,输出有序的点云数据,利用直接评分对点云进行一次评分,逐步评分对点云进行等级评分,减少计算资源的消耗,且易于快速训练,达到优秀的分类和分割结果,同时大大减少了空间消耗。
附图说明
20.图1为本发明实施例的基于卷积神经网络的点云排序预处理方法流程图;
21.图2为本发明实施例的基于卷积神经网络的点云排序预处理装置的整体结构示意图;
22.图3为采用keypointnet(ds)、random、fps、gpool和wcpl方法获得的下行采样结果的可视化示意图。
23.【附图标记说明】
24.1:基于卷积神经网络的点云排序预处理装置;
25.2:存储器;
26.3:处理器。
具体实施方式
27.为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
28.实施例一
29.请参照图1,一种基于卷积神经网络的点云排序预处理方法,包括步骤:
30.s1、获取点云数据,并通过训练好的pointnet模型进行预处理,得到处理后的数据;
31.步骤s1具体为:
32.获取具有n0点的点云数据,将点云特征表示为p={p
i
∈r
d
,i=1,2,

,n0},并通过训练好的pointnet模型进行预处理,得到处理后的数据f
i

[0033][0034]
其中,是第i点的m维特征,f
ij
是元素。
[0035]
s2、对所述处理后的数据进行评分,得到评分结果;
[0036]
步骤s2具体包括:
[0037]
通过池化操作找出所述处理后的数据f
i
每列的最大值f
j
进行直接评分,得到评分结果v
i

[0038]
[0039][0040]
其中,idx
j
表示在第j维中具有最大值f
j
的点,idx=[idx1,idx2,

,idxm]为各个值的向量,m表示维度;
[0041][0042]
其中,v
i
是每个点的分数,1(idx
j
==i)是指标,当idx
j
==i为真时等于1,否则为0。
[0043]
步骤s2具体包括:
[0044]
通过池化操作计算所述处理后的数据f
i
每列由大到小的所有值进行逐步评分,得到评分结果
[0045][0046][0047]
其中,表示具有第k个值的点,表示每列的第k个值的来源向量,m表示维度;
[0048][0049]
其中,v
i
是每个点对第k个值的所有贡献。
[0050]
s3、根据所述评分结果对点云数据进行排序,输出有序的点云数据。
[0051]
实施例二
[0052]
本实施例和实施例一的区别在于,本实施例将结合具体的应用场景进一步说明上述基于卷积神经网络的点云排序预处理方法是如何实现的:
[0053]
1、相关工作
[0054]
由于点云的不规则性和无序性,许多理想的图像处理方法无法在点云上实现。现有的点云处理方法都需要处理成对的空间相关性,可以分为三类:基于多视图的方法、基于立体像素的方法和基于集合的方法。基于多视图的方法将点云投影到不同方向的二维图像中,并采用标准的二维cnn进行识别,但它无法完全表示三维物体,同时丢失了某些维度的信息。基于立体像素的方法通过立体像素化将非结构化点云转化为结构化的三维网格,并利用标准的三维cnn进行特征提取,但这些方法需要消耗大量的内存资源,难以处理大规模点云。另一种解决方案是采用较低的分辨率,但这会引入量化误差。随着深度学习技术的兴起,深度学习方法也在点云上大量应用。应用于点云的卷积神经网络(cnns)获取了强大的分层特征,取得了良好的效果。cnn包含两个处理空间相关性的重要因素:卷积运算和下采样操作。
[0055]
1.1、点云的卷积运算
[0056]
pointnet作为直接在点云上应用深度学习的先驱方法,被认为是一种特殊的cnn,它使用最大似然算法(mlp)对每个点进行卷积运算。该方法很简单,但它的卷积没有考虑任何空间相关性,这限制了它的性能。pointnet 将pointnet作为卷积运算来挖掘点云数据
的空间相关性,其性能优于pointnet。pointcnn设计了x

conv,根据潜在的规范和潜在的顺序对点进行排序,以便将传统的卷积直接应用于点云。shellnet设计了shellconv,利用不同半径同心壳体的特定统计量来获取具有代表性的特征,解决了点序模糊的问题,从而也可以使传统卷积作用于这些特征。dgcnn设计了edgeconv,通过在动态图中使用knn来计算成对特征,同时满足置换不变性。
[0057]
1.2、点云的下采样方法
[0058]
在点云分类和分割任务中,广泛使用的下采样方法可以分为两类:无模型和模型相关。。
[0059]
随机采样和最远点采样(fps)是对点云进行无模型降下采样的典型方法。随机采样使每个点都有相同的概率被转移到下一层,并且不区分代表点和冗余点。fps点的分布尽可能均匀,对密度信息不敏感,容易受到离群点的影响。此外,这两种方法都是任务无关的,且存在一定的不确定性,即每一层的下采样点都是可以改变的。
[0060]
与无模型方法不同,模型相关方法利用当前层中每个点的特征来决定哪些点可以转移到下一层。gpool使用一个可训练向量和每个点的特征进行乘积操作来评分,这个分数代表了每个点可以保留的信息总量。然而,gpool选择的点是非常局部的,有时会退化为极少的簇,导致了局部拓扑保存失败。wcpl根据其对当前层中全局语义信息的贡献来选择关键点。然而,这可能导致选择关键点过少。为了解决这一问题,wcpl通过在关键点周围进行上采样来增加点,这使得wcpl无法获取局部形状的拓扑。
[0061]
2.1预处理方法(keypointnet)
[0062]
keypointnet是专为对点云数据进行排序,利用不带变换层的pointnet,在相应的任务上经过预训练,然后在pointnet的最后一个最大池化层之后添加评分器(scorer),评分器输出排序的点云数据,无序点通过五个多层感知(mlp),最后由评分器输出有序的点云。在评分器中,设计了两种新的评分机制来衡量每一点的重要性:直接评分(ds)和逐步评分(gs)。为了详细说明这两个评分机制获取具有n0点的点云数据,将点云特征表示为p={p
i
∈r
d
,i=1,2,

,n0},并通过训练好的pointnet模型进行预处理,得到处理后的数据f
i

[0063][0064]
其中,f
i
={f
i1
,f
i2
,

,f
im
}是第i点的m维特征,f
ij
是元素。
[0065]
直接评分(ds):为了评估一个点的重要性,ds计算了点对标签预测的贡献;
[0066]
对所述处理后的数据进行评分,得到评分结果;
[0067]
通过池化操作找出所述处理后的数据f
i
每列的最大值f
j
进行直接评分,得到评分结果v
i

[0068][0069][0070]
其中,idx
j
表示在第j维中具有最大值f
j
的点,idx=[idx1,idx2,

,idxm]为各个值的向量,m表示维度;
[0071][0072]
其中,v
i
是每个点的分数,1(idx
j
==i)是指标,当idx
j
==i为真时等于1,否则为
0。
[0073]
逐步评分(gs):
[0074]
通过池化操作计算所述处理后的数据f
i
每列由大到小的所有值进行逐步评分,得到评分结果
[0075][0076][0077]
其中,表示具有第k个值的点,表示每列的第k个值的来源向量,m表示维度;
[0078][0079]
其中,v
i
是每个点对第k个值的所有贡献。
[0080]
根据所述评分结果对点云数据进行排序,输出有序的点云数据。
[0081]
ds得到的指标由大到小排列为vi而并非0。此实现与之前的gs实现不同,但结果完全相同。这个实现显示了ds和gs之间的关系,并增加了我们对gs的信任。
[0082]
2.2ccn的keypointnet实例化
[0083]
将用于下采样层的keypointnet嵌入卷积神经网络,它包含三个组件:keypointnet、卷积层和采样层。卷积层可以通过点云的卷积来实例化,如edgeconv、msg等。keypointnet依赖于预先训练的pointnet,以无序的点云为输入,输出有序的点云。在采样层,首先选取关键点,然后对关键点的局部特征进行聚合,类似于二维卷积神经网络的池化操作。对于分类任务,将汇聚层的输出传入mlp,并获得标签。对于分割任务,将池化层的输出与传入mlp的第一卷积模块的输出进行连接,得到分割输出。
[0084]
2.3采样层
[0085]
在下采样层,关键点应该通过聚合其相邻点的特征来描述。描述方法有点类似于标准的二维池化操作,它将其相邻点特征中最大的特征视为关键点特征,公式如下:
[0086][0087]
n(i)是第i个点的相邻点的一组特征,n1是n0/2或n0/4,这样关键点就把自己的局部信息带到下一层,使得关键点的信息更加丰富。同时,一些非关键点还可以将自己的信息整合到关键点到下一层,减少信息丢失,提升网络性能。
[0088]
3实验结果
[0089]
首先评估keypointnet实例化与edgeconv(ds edgeconv,gs edgeconv)、keypointnet以及msg(ds msg,gs msg)在多个三维点云分类任务数据集modelnet40和scanobjectnn上的性能。然后,在相类似的实验环境中,对采样方法进行了比较,最后,对数据集shapenetpart和s3dis进行了分割实验。
[0090]
3.1分类比较
[0091]
数据集:modelnet40包含9843个训练样本和2468个测试样本,共40个类别。该数据
集是人工合成的,其中的对象是完整的、分割良好的、无噪音的。在训练过程中,通过类似的随机变形来增加数据。
[0092]
scanobjectnn包含6个子数据集:obj_only、bj_bg、pb_t25、pb_t25_r、pb_t50_r和pb_t50_rs。其中,obj_only是从真实场景中采集的原始数据集。它包含2902个样本,共分为15类,其中80%是训练样本,20%是测试样本。obj_bg在纯目标模型的基础上加入了背景,大大提高了分类的难度。后四个子数据集分别增加了随机平移、旋转和缩放,使数据集更具挑战性。
[0093]
实验设置:实验中使用的优化方法是随机梯度下降(sgd)。初始学习率为0.01,每20个周期衰减0.8次。在每一层卷积之后使用归一化。激活函数为leaky relu。采用dropout技术,缓解了全连接层的过拟合问题。keypointnet实例化中的下采样点n1和n2的数量分别设置为512,256。
[0094]
实验结果:表1显示了数据集modelnet40上的总体准确率,本发明方法与其他方法进行了比较。ds edgeconv的分类效果最好,比其他算法至少提高了0.4%。此外,与edgeconv相比,本发明获得了1.3%的改进。ds msg也超过pointnet 2.1%。有趣的是,在实验中,ds方法通常优于gs方法。这是因为最大点云嵌入作为参考更能反映每个点的重要性。
[0095]
表1:数据集modelnet40的分类结果
[0096][0097]
表2显示了数据集scanobjectnn上的评估性能。本发明方法超过了所有的比较模型。其中ds edgeconv在pb_t50_rs上的结果达到82.8%,比之前的最佳方法提高了4.7%。
具体来说,除了pointcnn和本发明方法,所有方法在obj_bg上的表现都比obj_only差。结果表明,该模型对前景和背景点混淆引起的干扰具有较好的鲁棒性。正因为本发明方法可以通过keypointnet选择关键点,所以它自动去除了下采样中的噪声点,对背景信息具有很强的鲁棒性。此外,与modelnet40相比,在这个更具挑战性和真实性的数据集上,本发明方法明显优于其他算法。这意味着本发明方法比普通的同类方法具有更强的抗干扰能力,对复杂环境的适应性更强,具有更高的实用价值。
[0098]
表2:数据集scanobjectnn的分类结果
[0099][0100]
以edgeconv为例,本发明在modelnet40和scanobjectnn上进行了对比实验,将本发明方法与其他下采样方法进行了比较,如表1和表2所示。本发明下采样方法处于领先地位。特别是在scanobjectnn上,本发明方法在很大程度上优于其他方法。wcpl与ds相似,但效果很差。例如,在obj_bg上,ds超过wcpl 8.3%。这是因为wcpl是参考每个点对中间点云嵌入的贡献,而这个点云嵌入与任务无关,所以选择的点不仅对任务没有贡献,还会带来干扰。gpool提供了一个评分器,但个评分器是否真的能挑选出更重要的分数还值得怀疑,实验结果表明,该算法选取的点不能很好地代表原始点云。虽然fps和random很简单,但它们也能获得更好的效果,但是它们没有本发明方法好。
[0101]
为了研究提出的方法对点云的影响,将ds、random、fps、wcpl和gpool的每次下采样得到的点进行可视化,如图3所示,演示了本发明方法与其他方法之间的区别。ds更注重点云的区分性结构,例如,在采样过程中仍然保留了点云的骨架。random采样点有点乱。fps会导致密度信息的丢失,点云在视觉上就像被稀释了一样。然而,gpool方法提取的点退化为聚集在一起的点,这是该方法效果不佳的根本原因。wcpl提取的点也会丢失原始点云的一些基本结构。综上所述,本发明方法采样的点具有更强的区分性,从而使网络能够更好地识别点云。
[0102]
3.2采样方法的效果
[0103]
按照规定进行实验。首先,采用不同的方法对数据集modelnet40中的原始点云进行采样,分别保留了512、256、128和64个最关键点。然后,我们使用简化的点云作为训练和测试数据来训练标准pointnet。比较了5种静态方法:random、fps、s

net、ds和gs。
[0104]
结果如表3所示。结果表明,即使点云小了16倍,结果也只低了0.5%。在其他情况
下,用本发明方法简化点云更方便网络识别。充实验结果分表明,本发明方法消除了冗余点和干扰点,剩余点更能代表原始点云,携带的信息最多。
[0105]
表3:不同采样方法的分类结果
[0106][0107]
3.3分割比较
[0108]
数据集:shapenetpart包含来自16个对象类别的16881个三维形状,总共注释了50个部分。从每个训练形状中采样2048个点,并且大多数样本点集的标记少于6个部分。
[0109]
s3dis包括6个室内区域的三维扫描点云,共272个房间。每个点都属于13个语义类别中的一个。有木板、书架、椅子、天花板和横梁等杂物。我们遵循相同的设置,每个房间被分割成面积为1m
×
1m的方块,每个点都表示为9d向量(xyz、rgb和规范化空间坐标)。
[0110]
实验设置:使用的优化器是adam。初始学习速率为0.001,在shapenetpart和s3dis上每20个训练轮次变化为原来的0.5倍和0.7倍。每一层卷积后使用归一化处理。激活函数为leaky relu。并采用dropout技术来缓解全连接层的过拟合问题。shapenetpart上的n1为512,n2为128。在s3dis上,n1是1024,n2是256。
[0111]
实验结果:shapenetpart上的实验结果如表4所示,s3dis上的实验结果如表5所示。本发明方法网络分割结果与基线的平均结果非常相似,但在一些小类分割上有所不同。结果表明,本发明的网络可以充分发挥基线的卷积效应。当然,由于卷积的局限性,本发明方法与一些最新的方法相比还有一定的差距。
[0112]
表4:数据集shapenetpart的分割结果
[0113][0114]
表5:数据集s3dis的分割结果
[0115][0116]
如表6所示,本发明比较了带keypointnet和不带keypointnet的卷积神经网络的模型大小。结果表明,keypointnet使dgcnn或pointnet 的内存消耗降低,而使用keypointnet的实例化网络的分割效果与dgcnn或pointnet 相当。由于直接在点云上运行的分割模型会使用动态搜索最近相邻点甚至动态建立边缘的操作,这些操作会产生大量的
中间变量,因此在很多情况下内存消耗是不能接受的。本发明方法省去了解码过程,直接将最终的全局特征和浅层特征拼接作为每个点的特征,大大减少了内存消耗。其中在shapenetpart上,gs msg降低了57.9%的内存消耗,gs edgeconv降低了48.8%的内存消耗。在s3dis上,gs msg减少了64.1%的内存消耗,gs edgeconv减少了40.5%的内存消耗。以上结果表明,本发明的网络结构更加实用。
[0117]
表6:不同模型的内存消耗
[0118][0119]
5结论
[0120]
本发明设计了keypointnet使不规则和无序的点变得有序。提出了两种新的点云排序方法:直接计分(ds)和逐步计分(gs)。有序的点云有利于下采样层选择更重要的点。然后以edgeconv和msg为例,给出了两个实现点云分类和分割任务的实例化网络。实验结果表明,该方法使不规则的点云变得整齐有序,能够较好地保持下采样层的重要点。keypointnet在降低cnn模型规模的同时,实现了优越的点云分类性能和与之相当的点云分割性能。
[0121]
实施例三
[0122]
请参照图2,一种基于卷积神经网络的点云排序预处理装置1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述程序时实现实施例一中的各个步骤。
[0123]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜