掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及自动驾驶目标识别技术领域,具体而言,涉及一种用于自动驾驶图像处理的点云数据的特征提取方法、系统及存储介质。

背景技术

点云数据在自动驾驶系统中十分常用,相比传统二维图像数据,它提供了丰富的深度信息。然而由于它具有高度不规则的稀疏性,因此在以点云数据为输入的目标识别算法中,主干网络之前常常需要特征提取网络学习提取点云数据特征。

目前特征提取网络可分为两类:基于点的特征提取网络和基于网络的特征提取网络。前者会通过最大点采样、图聚类等方法将点云数据划分为点集,此方法的运算开销和延迟开销较大。后者基于网格的特征提取网络会将点云数据划分为多个体素或柱,随后通过编码网络对每个体素或柱进行特征编码,此方法以其高度规则化的数据信息和高准确率的优点,被目前多种主流自动驾驶目标识别网络所采用。

目前基于体素或柱的特征提取网络的优化策略主要依靠剪枝和量化来减小网络的规模,然而面临着网络准确率降低的问题;并且由于网络算法的强耦合性,原始算法必须等待整一个体素或柱内所有点信息均得到才能进行特征提取,且在网络运行时需要存储大量的中间运算结果,因此算法会占用大量的显存;同时算法在运行时默认输入数据是稠密的,而实际应用场景下输入数据高度不规则的稀疏性最终导致算法对于零值数据大量的冗余运算。经统计,基于网格的特征提取网络算法延迟在自动驾驶目标识别网络算法整体延迟占比高达51.8%。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

为克服上述现有技术的不足,本发明例一种用于自动驾驶图像处理的点云数据的特征提取方法、系统及介质,能够在保证算法识别准确率不变的条件下,减少算法运行时对于中间运算结果的存储,大幅度降低算法的显存占用,完全消除对于零值数据的冗余运算,显著提升了网络特征提取算法的处理效率。

一种用于自动驾驶图像处理的点云数据的特征提取方法,其特点在于,包括:

S1,获取目标表面的点云数据;

S2,对所述点云数据逐点、逐体素或逐柱进行特征提取,确定点所属体素或柱;

S3,根据输入点所属体素或柱位置信息,更新点的私有特征,并通过特征编码网络进行编码,存储私有特征的编码特征;

S4,根据输入点所属体素或柱位置信息,判断当前点的对公有特征是否是体素或柱内最后一点,若是,则通过特征编码网络进行编码,存储公有特征的编码特征,否则,则累积相应体素或柱的公有特征;

S5,将步骤S4和步骤S5得到的体素或柱对应的特征点的私有特征的编码特征和公有特征的编码特征进行加和,即得到完整的编码特征。

基于当前的输入点,算法首先会判断输入点所属的体素或柱,并将点的特征解耦为私有特征和公有特征,以基于柱的特征提取算法为例:

私有特征:(x

公有特征:(0,0,0,0,-x

公有特征是一个逐渐累积的过程,只有当该点所属的体素或柱内所有点均被处理过后,公有特征才会被集齐,此时公有特征才会经过特征编码网络进行运算;而私有特征是一个可以立即获得的过程,当输入点确定后,私有特征即可立即确定,可以直接经过特征编码网络进行运算;

基于上述特征点特征解耦的方法,数据块内的点可以被特征编码网络随机且顺序的处理,在处理私有特征时会不断保留和更新关键的中间结果信息,此时网络的输出还是部分运算结果;当处理公有特征时会融合中间结果信息,与私有特征处理结果进行相加,最终网络的输出是完整运算结果。

本发明还提供一种用于自动驾驶图像处理的点云数据的特征提取系统,其特点在于,包括:

获取点云数据模块,用于获取目标表面的点云数据;

提取特征模块,用于对所述点云数据逐点、逐体素或逐柱进行特征提取,确定点所属体素或柱;

编码特征模块,用于点的私有特征和私有特征通过征编码网络进行编码,得到编码后的私有特征和公有特征;

合并编码模块,用于对编码后的私有特征和公有特征进行合并,得到完整的编码特征。

本发明还提供一种计算机可读介质,其上存储有计算机陈序,其特点在于,所述程序被执行时采用上述所述的方法。

由于采用了上述技术方案,本发明的有益效果是:

1)由于本发明方法采用了逐点解耦处理而非逐体素或柱处理的方法,避免了原算法中体素或柱特征点“少则补零”的操作,进而减少了对于零值数据的冗余运算。同时由于将点的特征解耦为私有特征和公有特征,在原算法中同一个体素或柱内点的公有特征将会重复的计算多次,而解耦后同一个体素或柱内公有特征仅会计算一次。经过评估,减少了VoxelNet特征提取网络91.5%的冗余运算,减少了PointPillar特征提取网络86.67%的冗余运算。

2)由于本发明方法采取对点云数据分块处理的思路,且采用了数据特征解耦处理的方法,网络运行过程中需要存储的数据仅有每一层体素或柱特征编码后的最大值数据,大大减少了数据的存储规模。经过评估,减少VoxelNet特征提取网络95.36%的存储开销,减少PointPillar特征提取网络96.88%的存储开销。

3)由于本发明方法在减少特征提取网络冗余运算和存储开销的同时,解耦的运算逻辑与原算法相同,因此经过网络的重训练,本发明方法应用的VoxelNet和PointPillar网络精度没有损失。

4)本发明方法通过优化特征提取网络,可以较为明显的提升基于体素和柱的自动驾驶目标识别网络的推理速度,在自动驾驶的场景下,可以较大程度的减少检测车辆周围三维物体的延迟,提高自动驾驶目标检测时效性和可靠性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种特征提取网络算法优化方法的流程示意图;

图2示意性地示出了本发明面向的原始特征提取网络算法的流程示意图;

图3示意性地示出了本发明实施例的特征提取网络体素和柱内有效特征点的数目统计图;

图4示意性地示出了本发明实施例的一种点云数据分块示意图;

图5示意性地示出了本发明实施例的PointPillar特征提取网络数据解耦算法流程示意图;

图6示意性地示出了本发明实施例地VoxelNet特征提取网络数据解耦算法流程示意图;

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法固有的其它步骤或单元。

下面参考图1,图1为本发明一实施例提供的一种特征提取网络算法优化方法的流程示意图。需要注意的是,本发明的实施方式可以应用于使用的任何场景。

图1所示的本发明一实施例提供的一种特征提取网络算法优化方法的流程,包括:

步骤S101,获取激光雷达扫描得到的一帧点云数据,根据实际情况,选择是否对点云数据进行预处理。若进行预处理,需要确定合适的块划分尺寸,对点云数据进行数据分块操作。值得注意的是,点云数据是否执行预处理,点云数据分块操作的形状,数据分块的尺寸不对本方案造成限制。

每一个数据块中包含了多个体素或柱,在数据进行存储时,可以将相同体素或柱内的点顺序存储在一起,或者不对点的顺序进行调整。值得注意的是,数据块内数据具体的存储顺序,存储方式不对本方案造成限制。图4示意性地示出了本发明实施例的点云数据分块示意图,帮助加深本领域技术人员对于数据分块模型抽象的理解。

基于所述点云数据块,特征提取网络于点云数据块内运行,运行时不会首先对数据块进行体素或柱的划分,而是采用类似展开的方式,对数据块内的点随机逐个进行处理,从而避免了对于体素或柱的补零措施。

步骤S102,基于划分后的点云数据块,逐点进行特征提取算法处理。相比原始算法首先将点云数据划分成多个体素或柱,随后逐体素或柱进行特征编码的方式不同,本发明采取的改进方法会逐点进行操作,输入点的点会首先进行所属体素或柱位置的判断。图2示意性地示出了本发明面向的原始特征提取网络算法的流程示意图,帮助加深本领域技术人员对于原始算法的理解。值得注意的是,本方案也支持逐体素或柱处理的方式,逐点或逐体素处理的方式不对本方案造成限制。逐点处理方式的出发点在于:可以避免逐体素处理时的补0措施,在算法实现时可以避免大量冗余操作,获得较好的能效提升,

步骤S103,确定输入点所属体素或柱位置信息后,会更新特征点的私有特征,累积相应体素或柱的公有特征(体素或柱中所有点坐标平均值数据)。

本发明实施例中,输入点的特征会进行解耦,分解为多个特征向量的线性组合,例如分解为私有特征和公有特征,点的原始特征是这两者的加和。值得注意的时,输入点特征的解耦方式,具体分解为的特征向量线性组合的形式,不对本方案造成限制。

本实施例将点特征分解为私有特征和公有特征的方式,私有特征为(x,y,z,r,x,y,z,x-z

步骤S104,处理得到的私有特征会经过特征编码网络进行编码,特征编码网络包括了全连接操作、取最大值操作、特征拼接操作等。

步骤S106,私有特征经过特征编码网络,只会得到部分运算结果,因为原特征点的信息既包括了私有特征,又包括了公有特征,因此得到的部分运算结果需要进行暂时的存储。

步骤S105,基于当前点所属的体素或柱位置信息,在更新了相应的公有特征后,会进行判断,判断当前点是否是体素或柱内最后一点,若是最后一点,说明公有特征已经集齐,可以进入到特征编码网络中进行处理。

步骤S107,公有特征经过特征编码网络进行运算,得到部分运算结果。

值得注意的是,公有特征对于同一个体素或柱内所有点都是相同的,因此只需要经过特征编码网络处理一次。在原算法流中,并未采取特征解耦的方式,因此每个点都会携带公有特征执行一次特征编码,将会导致大量的冗余运算。

步骤S108,当体素或柱对应的特征点私有特征和公有特征均经过特征编码网络处理后,两者经过加和,即可得到完整的编码特征。

经过上述编码过程,原始的三维点云数据被栅格化为离散的网络来进行表示。随后会经过传统的二维卷积神经网络或三维稀疏神经网络从网格中提取特征。最后,可以从网格单元格中检测出三维物体。在自动驾驶应用场景下,本发明加速了点云数据特征编码过程,编码后特征后续进一步经骨干神经网络处理后可以实时监测车辆周围的物体,提高自动驾驶目标检测时效性和可靠性。

以基于体素的卷积神经网络VoxelNet为实施例,整个网络可以分为特征学习网络、中间卷积层、区域候选网络三部分构成。本发明通过利用前文提出的特征解耦等优化方法,可以加速特征学习网络的推理过程,随后编码后的特征会经过中间卷积层、区域候选层网络进行进一步的特征学习与提取,最后可以检测出输入点云数据中的三维物体。

值得注意的是,上述基于VoxelNet的实施例介绍仅作为实施例的一种,其它诸如PointPillar等引入特征提取网络的算法,均可采用本发明进行特征提取加速。

在介绍了本发明示例性实施方式的方法后,接下来参考图3介绍本发明实施例的特征提取网络体素和柱内有效特征点的数目统计图,从而进一步说明本发明采取的基于特征解耦的逐点处理数据流优势。从统计图看出,在对点云数据进行体素或柱的划分后,仅有0.6%的体素和3.7%的柱是非空的,而这些非空的体素和柱中,点数大于10点的又仅占了不足3%。在原算法中,由于是逐体素或柱进行处理,采用“少则补零”的措施,例如会使得每个体素中的点数为恒定的35个点,通过统计结果分析,这样将会对于补0的大量冗余运算。而采用改进后的算法则会规避上述问题。值得注意的是,若采用逐体素或柱进行处理的方式,可以通过对体素和柱额外添加标签的方式,标注体素和柱内有效特征点的数目,辅以专用硬件结构,也可规避对于0值数据的冗余运算,此种处理思路也属于本设计发明的一种解决方案。

以具体算法为例,图5示意性地示出了本发明实施例的PointPillar特征提取网络数据解耦算法流程示意图。原本算法会对整一个柱进行操作处理,首先柱内所有点会经过全连接层得到相应的运算结果,随后通过取最大值操作,选择最能表示该柱的特征向量。改进的算法采取逐点处理的方式,将点的特征按照上文所述分解成私有特征和公有特征,私有特征会经过全连接层处理,对于每一个柱,会存储柱内私有特征经历全连接层运算后的最大值,这个最大值会不断的进行更新。当柱内最后一点的私有特征处理完毕后,整个柱的公有特征即可获得,同样会经历全连接层运算,运算的结果会与存储的最大值进行相加,最终得到表征该柱的特征向量。

图6示意性地示出了本发明实施例地VoxelNet特征提取网络数据解耦算法流程示意图,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,该算法的解耦流程图原理,可以参考前述方法实施例中的对应过程,在此不再赘述。

值得注意的是,图5和图6所实现的解耦算法运算流,只是采用了特定的特征解耦方式而设计出的运算流,点特征解耦的方式不同,相应的算法运算流也会发生改变。图5和图6展示的算法运算流不对本设计方案造成限制。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,上述描述只是提出了算法层面的改进方法,实际对算法进行实现时,既可以通过多种软件语言进行编写,又可以将算法映射为专用硬件架构来实现。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

相关技术
  • 一种数据特征提取方法、系统及电子设备和存储介质
  • 一种激光点云数据的识别方法、装置、设备和介质
  • 一种仿真点云数据的生成方法、装置、设备及存储介质
  • 一种应用于3D建模的数据处理方法、系统、终端及介质
  • 一种自动驾驶系统性能评估方法、装置、设备及存储介质
  • 点云数据的特征提取方法、系统、计算机装置和存储介质
  • 一种适用于多源跨尺度数据精确配准的点云特征提取方法
技术分类

06120116338000