CN116071442A - 三维点云数据的处理方法、装置和无人车 - Google Patents
三维点云数据的处理方法、装置和无人车 Download PDFInfo
- Publication number
- CN116071442A CN116071442A CN202310127491.5A CN202310127491A CN116071442A CN 116071442 A CN116071442 A CN 116071442A CN 202310127491 A CN202310127491 A CN 202310127491A CN 116071442 A CN116071442 A CN 116071442A
- Authority
- CN
- China
- Prior art keywords
- cloud data
- point cloud
- coding
- dimensional point
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本公开涉及一种三维点云数据的处理方法、装置和无人车。本公开的方法包括:获取三维点云数据;根据第一编码方式和第二编码方式,确定三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式;基于注意力机制,确定三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;根据三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,提取三维点云数据的特征。
Description
技术领域
本公开涉及人工智能、计算机技术领域,尤其涉及无人驾驶领域,特别涉及一种三维点云数据的处理方法、装置和无人车。
背景技术
目前,无人驾驶设备用于将人或者物从一个位置自动运送到另一个位置,无人驾驶设备通过设备上的传感器采集环境信息并完成自动运送。基于无人驾驶技术控制的无人配送车进行物流运输极大地提高了生产生活的便捷性,节约了人力成本。
在无人驾驶领域,三维点云数据的特征提取任务是一项基础任务。深度神经网络最近在三维点云分析领域取得了广泛的成功,其中神经网络的输入是通过三维相机或者从三维模型中得到的一系列三维坐标点。通过神经网络提取三维坐标点的特征后,可以用于下游的分类任务或分割任务等。
发明内容
发明人发现:目前针对三维点云数据的特征提取方法,旋转鲁棒性较低,即当三维点云数据中发生的局部或全局的旋转时,对于点云数据的内容分析会产生较大的误差,提取的特征不准确,导致后续的下游任务不准确。考虑到在实际应用中对物体的拍摄角度经常会发生变化,这种对于旋转的不稳定性,会极大的影响三维点云数据的特征提取的准确性。
本公开所要解决的一个技术问题是:如何提高三维点云数据的特征提取的准确性。
根据本公开的一些实施例,提供的一种三维点云数据的处理方法,包括:获取三维点云数据;根据第一编码方式和第二编码方式,确定三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式;基于注意力机制,确定三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;根据三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,提取三维点云数据的特征。
在一些实施例中,根据第一编码方式和第二编码方式,确定三维点云数据的第一相对位置编码和第二相对位置编码包括:将三维点云数据输入特征提取模型,其中,特征提取模型包括一个或多个串联的位置编码模块;在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码。
在一些实施例中,基于注意力机制,确定三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重包括:在每个位置编码模块中,基于注意力机制,确定在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;提取三维点云数据的特征包括:在每个位置编码模块中,根据在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;根据最后一个位置编码模块的输出特征,确定三维点云数据的特征。
在一些实施例中,第一编码方式包括:Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种,Z轴旋转不变编码方式为采集三维点云数据时,目标相对于采集装置绕Z轴旋转的情况下的相对位置编码方式,任意轴旋转不变编码方式为采集三维点云数据时,目标相对于采集装置绕任意轴旋转的情况下的相对位置编码方式;第一相对位置编码包括:Z轴旋转位置编码和任意轴旋转位置编码中至少一项;第一编码方式的权重包括:Z轴旋转不变编码方式的权重和任意轴旋转不变编码方式的权重中至少一项。
在一些实施例中,在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码包括:在每个位置编码模块中,将该位置编码模块的输入特征映射为预设通道数的特征,其中,每个位置编码模块对应的预设通道数相同或不同;按照将通道数除以编码方式的种类数的方式,将预设通道数的特征划分为多份特征;将三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及第二编码方式进行编码,得到多份编码结果;根据多份特征分别与对应的编码结果进行融合的多个融合特征,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码。
在一些实施例中,Z轴旋转不变编码方式包括以下方法:Z轴旋转不变编码方式包括以下方法:针对三维点云数据中的每个点及其每个相邻点,根据该点与该相邻点的Z坐标差、该点与该相邻点在X-Y平面上的投影之间的距离、该点在X-Y平面上的投影到原点的距离、该相邻点在X-Y平面上的投影到原点的距离、以及该点和该相邻点在X-Y平面上的投影与原点组成的夹角中至少一项,对该点进行编码,得到该点与该相邻点的Z轴旋转不变相对位置编码。
在一些实施例中,任意轴旋转不变编码方式包括以下方法:针对三维点云数据中的每个点,确定该点的所有相邻点的重心点、经过该点和原点的直线与以该点为圆心的单位圆的交点;针对该点的每个相邻点,根据该点到原点的距离、重心点到交点的距离、该点到交点的距离、重心点到该相邻点的距离、交点到该相邻点的距离、该点到该相邻点的距离、以及第一平面和第二平面的夹角中至少一项,对该点进行编码,得到该点与该相邻点的任意轴旋转不变相对位置编码,其中,第一平面经过该点、重心点和交点的平面,第二平面经过该点、重心点和该点的相邻点的平面。
在一些实施例中,第二编码方式包括以下方法:针对三维点云数据中的每个点及其每个相邻点,根据该点与该相邻点的坐标差,对该点进行编码,得到该点与该相邻点的第二相对位置编码。
在一些实施例中,多个融合特征中每个融合特征采用以下方法确定:针对多份特征中的每份特征,确定该特征中的每个点与其相邻点的特征差,作为该份特征对应的特征差;将该份特征、该份特征对应的特征差以及该份特征对应的编码结果进行拼接后,输入对应的多层感知机,得到该份特征与对应的编码结果进行融合的融合特征。
在一些实施例中,在特征提取模型包括多个位置编码模块的情况下,特征提取模型中的第二个位置编码模块之后包括一个或多个阶段,每个阶段包括:带有下采样的位置编码模块,按照将通道数除以编码方式的种类数的方式,将预设通道数的特征划分为多份特征包括:针对每个带有下采样的位置编码模块,按照预设下采样频率,将预设通道数的特征进行下采样,其中,每个带有下采样的位置编码模块对应的预设下采样频率按照由输入到输出的顺序依次降低;按照将通道数除以编码方式的种类数的方式,将下采样后的预设通道数的特征划分为多份特征;将三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及第二编码方式进行编码,得到多份编码结果包括:针对每个带有下采样的位置编码模块,按照预设下采样频率,对三维点云数据进行下采样;将下采样之后的三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及第二编码方式进行编码,得到多份编码结果。
在一些实施例中,每个位置编码模块包括:注意力机制子模块,注意力机制子模块包括:全连接层和归一化层,基于注意力机制,确定在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重包括:将位置编码模块的输入特征,输入位置编码模块的注意力机制子模块中的全连接层,得到三维点云数据中每个点对应的第一编码方式的初始权重和第二编码方式的初始权重;将三维点云数据中每个点对应的第一编码方式的初始权重和第二编码方式的初始权重,输入位置编码模块的注意力机制子模块中的归一化层,得到在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重。
在一些实施例中,确定该位置编码模块的输出特征包括:根据在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,对在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码进行加权求和;根据加权求和的结果以及该位置编码模块的输入特征,确定该位置编码模块的输出特征。
在一些实施例中,在特征提取模型包括多个位置编码模块的情况下,特征提取模型中的第二个位置编码模块之后包括一个或多个阶段,每个阶段包括:带有下采样的位置编码模块,根据加权求和的结果以及该位置编码模块的输入特征,确定该位置编码模块的输出特征包括:针对每个带有下采样的位置编码模块,将该位置编码模块的输入特征映射为预设通道数的特征;按照预设下采样频率,将预设通道数的特征进行下采样,其中,第二个位置编码模块之后的每个位置编码模块对应的预设下采样频率依次降低;根据加权求和的结果以及下采样后预设通道数的特征,确定该位置编码模块的输出特征。
在一些实施例中,该方法还包括:根据三维点云数据的特征,确定三维点云数据对应的目标的类别。
在一些实施例中,该方法还包括:根据三维点云数据的特征,对三维点云数据进行分割。
根据本公开的另一些实施例,提供的一种三维点云数据的处理方法,包括:将样本三维点云数据输入特征提取模型,其中,样本三维点云数据配置有对应的标注信息,特征提取模型包括一个或多个位置编码模块;在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中样本三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集样本三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集样本三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式;基于注意力机制,确定在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;根据在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及样本三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;根据最后一个位置编码模块的输出特征,确定样本三维点云数据的特征;根据样本三维点云数据的特征,确定样本三维点云数据中每个点的分类结果;根据样本三维点云数据中每个点的分类结果与对应的标注信息,对特征提取模型进行训练。
根据本公开的又一些实施例,提供的一种特征提取模型,包括:输入模块,一个或多个串联的位置编码模块,输出模块,其中,输入模块用于接收输入的三维点云数据;每个位置编码模块用于根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式;基于注意力机制,确定在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;根据在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;输出模块用于根据最后一个位置编码模块的输出特征,输出三维点云数据的特征。
根据本公开的再一些实施例,提供的一种三维点云数据的处理装置,包括:获取模块,用于获取三维点云数据;编码模块,用于根据第一编码方式和第二编码方式,确定三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式;注意力模块,用于基于注意力机制,确定三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;提取模块,用于根据三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,提取三维点云数据的特征。
根据本公开的又一些实施例,提供的一种三维点云数据的处理装置,包括:输入模块,用于将样本三维点云数据输入特征提取模型,其中,样本三维点云数据配置有对应的标注信息,特征提取模型包括一个或多个位置编码模块;编码模块,用于在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中样本三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集样本三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集样本三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式;注意力模块,用于基于注意力机制,确定在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;确定模块,用于根据在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及样本三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;根据最后一个位置编码模块的输出特征,确定样本三维点云数据的特征;分类模块,用于根据样本三维点云数据的特征,确定样本三维点云数据中每个点的分类结果;训练模块,用于根据样本三维点云数据中每个点的分类结果与对应的标注信息,对特征提取模型进行训练。
根据本公开的再一些实施例,提供的一种三维点云数据的处理装置,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的三维点云数据的处理方法。
根据本公开的又一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例的三维点云数据的处理方法。
根据本公开的再一些实施例,提供的一种无人车包括:前述任意实施例的三维点云数据的处理装置。
本公开针对三维点云数据分别采取不同的第一编码方式和第二编码方式进行相对位置编码,其中,第一编码方式为目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为目标相对于采集装置位置不变的情况下的相对位置编码方式,进而基于注意力机制,确定对于每个点,第一编码方式的权重和第二编码方式的权重,最终根据每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,提取三维点云数据的特征。本公开的方法针对三维点云数据,基于注意力机制,判断出不同区域对于旋转鲁棒性的依赖程度,对于旋转鲁棒性需求较高的区域,使用旋转不变的相对位置编码方式;对于不需要旋转鲁棒性的区域,使用对旋转敏感但是性能更高的相对位置编码。这种动态编码的方式,能够有效的提高三维点云数据特征提取的准确性。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开的一些实施例的三维点云数据的处理方法的流程示意图。
图2A示出本公开的一些实施例的特征提取模型的结构示意图。
图2B示出本公开的一些实施例的标准的位置编码模块的结构示意图。
图2C示出本公开的一些实施例的带有下采样的位置编码模块的结构示意图。
图2D示出本公开的一些实施例的动态位置编码多层感知机的结构示意图。
图3示出本公开的另一些实施例的三维点云数据的处理方法的流程示意图。
图4示出本公开的一些实施例的三维点云数据的处理装置的结构示意图。
图5示出本公开的另一些实施例的三维点云数据的处理装置的结构示意图。
图6示出本公开的又一些实施例的三维点云数据的处理装置的结构示意图。
图7示出本公开的再一些实施例的三维点云数据的处理装置的结构示意图。
图8示出本公开的一些实施例的无人车的结构示意图。
图9示出本公开的一些实施例的无人车的结构示意图。
图10示出本公开的一些实施例的无人车的侧视图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在实际采集三维点云数据时,采集装置相对于目标的采集角度会经常发生变化。例如,分别从正面、侧面等不同角度拍摄目标,获得的点云数据整体作为目标的三维点云数据,这种情况下,不同点之间的旋转情况不同,如果针对每个点采用相同的相对位置编码方式,则会导致针对三维点云数据的特征提取不准确。针对该问题,本公开提供一种三维点云数据的处理方法,下面结合图1~3进行描述。
图1为本公开三维点云数据的处理方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S102~S108。
在步骤S102中,获取三维点云数据。
例如,三维点云数据为三维相机、激光雷达等采集装置采集的或者从三维模型中得到的一系列三维坐标点,不限于所举示例。
在步骤S104中,根据第一编码方式和第二编码方式,确定三维点云数据的第一相对位置编码和第二相对位置编码。
在一些实施例中,第一编码方式为采集三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式。
为了进一步提高三维点云数据的特征提取的准确性,将第一编码方式进一步细分。在一些实施例中,第一编码方式包括:Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种,Z轴旋转不变编码方式为采集三维点云数据时,目标相对于采集装置绕Z轴旋转的情况下的相对位置编码方式,任意轴旋转不变编码方式为采集三维点云数据时,目标相对于采集装置绕任意轴旋转的情况下的相对位置编码方式。进一步,第一相对位置编码包括:Z轴旋转位置编码和任意轴旋转位置编码中至少一项。
Z轴旋转,即三维点云数据的纵向坐标保持不变进行旋转,这是实际应用中全局旋转最常见的情况,拍摄角度的不同会导致得到的目标的点云数据围绕Z轴进行旋转,这种情况采用Z轴旋转不变编码方式可以提高编码准确性。任意轴旋转,在实际应用中通常是小目标进行局部旋转会发生的情况,即小目标摆放的角度会任意旋转这种情况采用任意轴旋转不变编码方式可以提高编码准确性。
可以根据三维点云数据的体积是否小于预设值,确定目标是否为小目标,进而选择是否采用任意轴旋转不变编码方式。此外,也可以利用任意轴旋转不变编码方式取代Z轴旋转不变编码方式,即只应用任意轴旋转不变编码方式作为第一编码方式。同时应用Z轴旋转不变编码方式和任意轴旋转不变编码方式,可以进一步提高三维点云数据特征提取的准确性。
第二编码方式,应用于目标相对于采集装置完全不旋转的情况,这种情况下并不要求神经网络具有旋转鲁棒性,通常作为基准输入来判断旋转对于性能的影响。
下面依次描述Z轴旋转不变编码方式、任意轴旋转不变编码方式和第二编码方式的具体方法。
在一些实施例中,Z轴旋转不变编码方式包括以下方法:针对三维点云数据中的每个点及其每个相邻点,根据该点与该相邻点的Z坐标差、该点与该相邻点在X-Y平面上的投影之间的距离、该点在X-Y平面上的投影到原点的距离、该相邻点在X-Y平面上的投影到原点的距离、以及该点和该相邻点在X-Y平面上的投影与原点组成的夹角中至少一项,对该点进行编码,得到该点与该相邻点的Z轴旋转不变相对位置编码。
Z轴旋转不变编码方式可以称为Z-RI(Z-axis Rotation-Invariant,Z轴旋转不变)编码。针对实际应用最常见的Z轴旋转情况,提升三维点云数据的特征的鲁棒性。例如,针对三维点云中的第i个点(后续称为中心点)以及该点的第j个相邻点(后续称为相邻点),Z-RI编码包括以下至少一项:第一部分:中心点和相邻点的Z坐标的坐标差Δzi,j,该坐标差并不会随着目标相对于采集装置绕Z轴旋转而发生改变;第二部分:将中心点的坐标pi和相邻点pj投影到X-Y二维平面上得到p′ i,pj ′,将p′ i和pj ′之间的距离r′i,j,pi i和pj ′到原点的距离r′i、r′j,p′ i和pj ′到原点的夹角θ′i,j,作为Z-RI编码,公式如下:
PZ-RI(pi,pj)=[Δzi,j,r′i,j,r′i,r′j,θ′i,j] (1)
上述五个特征均不会随着目标相对于采集装置绕Z轴旋转的旋转发生变化,即Z轴旋转不变的特征。
在一些实施例中,任意轴旋转不变编码方式包括以下方法:针对三维点云数据中的每个点,确定该点的所有相邻点的重心点、经过该点和原点的直线与以该点为圆心的单位圆的交点;针对该点的每个相邻点,根据该点到原点的距离、重心点到交点的距离、该点到交点的距离、重心点到该相邻点的距离、交点到该相邻点的距离、该点到该相邻点的距离、以及第一平面和第二平面的夹角中至少一项,对该点进行编码,得到该点与该相邻点的任意轴旋转相对位置编码,其中,第一平面经过该点、重心点和交点的平面,第二平面经过该点、重心点和该点的相邻点的平面。
任意轴旋转不变编码方式可以称为A-RI(Arbitrary rotation-invariant,任意旋转不变编码)编码,在Z-RI编码的基础上,进一步提升对旋转不变性的要求,即对目标相对于采集装置任意旋转都不变。在实际应用中,任意轴旋转通常发生在小物体上,物体摆放方位的不同会导致获取点云对任意轴都可能发生旋转。为了构建描述能力更强的A-RI编码,本公开提出了包含辅助点的旋转不变特征。辅助点包括中心点的所有相邻点的重心mi,经过中心点和原点的直线与以中心点为圆心的单位圆的交点si,在这两个辅助点的帮助下,更好的描述中心点于相邻点的相对位置。
A-RI编码包括以下至少一项:中心点到原点距离ri、重心点到交点距离rms,i、中心点到交点距离rps,i、重心点到相邻点距离rmp,i,j、重心点到相邻点距离rsp,i,j、中心点到相邻点距离rpp,i,j和si-pi-mi平面到si-pi-pj平面的到角θmp,i,j,公式如下:
PA-RI(pi,pj)=[ri,rms,i,rps,i,rpm,i,rmp,i,j,rsp,i,j,rpp,i,j,θmp,i,j (2)
A-RI编码中包含的相对位置编码特征在任意旋转的情况下都不会发生变化,即具有目标相对于采集装置任意旋转不变性。
在一些实施例中,第二编码方式包括以下方法:针对三维点云数据中的每个点及其每个相邻点,根据该点与该相邻点的坐标差,对该点进行编码,得到该点与该相邻点的第二相对位置编码。
第二编码方式可以称为CD(Coordinate Difference,坐标差)编码,可以直接把中心点和相邻点的三维坐标差作为编码特征。CD编码可以采用以下公式表示。
PcD(pi,pj)=pj-pi (3)
CD编码是广泛使用的相对位置编码方式,并在目标相对于采集装置不旋转的点云数据上取得了较好的性能。然而这种编码方式对于旋转很敏感,同样的目标从不同角度拍摄的点云数据,在这种位置编码下会具有不同的特征,从而产生错误的分类结果。为了解决这一问题,本公开通过上述Z-RI编码和A-RI编码方式用来提升特征提取模型对于旋转的鲁棒性。
本公开还提供一种改进的神经网络模型,即特征提取模型,下面结合该特征提取模型的结构,描述本公开的方法。
在一些实施例中,特征提取模型包括一个或多个串联的位置编码模块;将三维点云数据输入特征提取模型,在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码。
在一些实施例中,特征提取模型包括输入层、一个或多个串联的位置编码模块和输出层。其中,输入层和一个位置编码模块可以合并为输入映射层,后续还可以包括一个或多个位置编码模块,被划分一个或多个阶段。例如,第一阶段包括一个位置编码模块,第二阶段及以后的各个阶段包括一个带有下采样的位置编码模块和一个位置编码模块。通过实验证明,五个阶段的情况下,对三维点云数据提取的特征效果更好。
如图2A所示,特征提取模型的结构参考了卷积神经网络的设计理念,随着层数逐渐加深,在特征通道数量增加的同时可以减少点云中的点数量。例如,当特征提取模型输入了包含N个点的三维点云坐标,这些点的三维坐标首先被一个全连接层与一个位置编码模块(可以称为SEP(Selective Position Encoding,选择性位置编码)Block)投影进入特征空间,每一个点均被投影到维度为C1的特征空间,输入映射层输出的特征维度为C1×N。
完成输入映射之后,一系列的位置编码模块(SPE Block)被应用在自身的输入特征上。整个三维点云神经网络可以包括五个阶段。在第二到第五个阶段的开头,各包含一个带有下采样的位置编码模块,用来增加特征的维度并降低点云中的点数。例如,第二到第五个阶段中,通过下采样点数依次降低为N/2,N/8,N/32,N/128。最终经过五个阶段的位置编码模块之后,输出的点数下采样例如为N/128,每个点的特征维度(通道数)是C5。
下面具体描述位置编码模块(SPE Block)的结构和功能。
在一些实施例中,在每个位置编码模块中,将该位置编码模块的输入特征映射为预设通道数的特征,其中,每个位置编码模块对应的预设通道数相同或不同;按照将通道数除以编码方式的种类数的方式,将预设通道数的特征划分为多份特征;将三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及第二编码方式进行编码,得到多份编码结果;根据多份特征分别与对应的编码结果进行融合的多个融合特征,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码。
进一步,在一些实施例中,在特征提取模型包括多个位置编码模块的情况下,特征提取模型中的第二个位置编码模块之后包括一个或多个阶段,每个阶段包括:带有下采样的位置编码模块,针对每个带有下采样的位置编码模块,按照预设下采样频率,将预设通道数的特征进行下采样,其中,每个带有下采样的位置编码模块对应的预设下采样频率按照由输入到输出的顺序依次降低;按照将通道数除以编码方式的种类数的方式,将下采样后的预设通道数的特征划分为多份特征;按照预设下采样频率,对三维点云数据进行下采样;将下采样之后的三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及第二编码方式进行编码,得到多份编码结果。
进而,根据多份特征分别与对应的编码结果进行融合的多个融合特征,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码。
进一步,在一些实施例中,针对多份特征中的每份特征,确定该特征中的每个点与其相邻点的特征差,作为该份特征对应的特征差;将该份特征、该份特征对应的特征差以及该份特征对应的编码结果进行拼接后,输入对应的多层感知机,得到该份特征与对应的编码结果进行融合的融合特征。
如图2B和2C所示,位置编码模块(SPE Block):包括标准的位置编码模块、带有下采样的位置编码模块,位置编码模块的核心为动态位置编码多层感知机。位置编码模块是一个特殊设计的残差模块,包含一个动态位置编码多层感知机与其前后共两个全连接层。三个层共同学习了特征残差并与输入特征相加,作为输出特征。
例如,如图2B所示,标准的位置编码模块可以包括一个子输入层,用于将输入特征映射为预设通道数的特征,例如,子输入层包括:全连接层、归一化层和激活层。进而,位置编码模块包括:动态位置编码多层感知机,是位置编码模块的核心部分。位置编码模块还可以包括子输出层,子输出层可以包括:全连接层、归一化层和激活层,激活层的作用是将位置编码模块的输入特征,与经过全连接层和归一化层之后的特征进行融合。
如图2B所示,第i个标准的位置编码模块的输入特征例如为Ci×Ni,子输入层可以将输入特征映射为Ci/2×Ni,经过动态位置编码多层感知机后的特征为Ci/2×Ni,经过全连接层和归一化层之后的特征为Ci×Ni。
例如,如图2C所示,带有下采样的位置编码模块与标准的位置编码模块结构类似。下采样的功能在动态位置编码多层感知机和输入特征映射层实现。动态位置编码多层感知机主要实现位置编码过程中的下采样,输入特征映射层可以包括:全连接层和归一化层,用于实现对输入特征的下采样和映射。
如图2C所示,第i个带有下采样的位置编码模块的输入特征例如为Ci×Ni,子输入层可以将输入特征映射为CO/2×Ni,经过动态位置编码多层感知机后的特征为CO/2×NO,经过全连接层和归一化层之后的特征为CO×NO,经过输入特征映射层之后的特征为CO×NO。例如,第二个阶段中CO为C2,NO为N/2。
下面具体描述动态位置编码多层感知机的结构和功能。
动态位置编码多层感知机(SPE-MLP):在点云分析网络(特征提取模型)中,核心问题是如何编码任一点与其相邻点的相对位置,并将编码得到的特征应用在点云的结构判断中。动态位置编码多层感知机(SPE-MLP)结构包含两个部分:三种不同的相对位置编码和编码选择器。其中三种相对位置编码为旋转敏感的CD编码、对Z轴旋转不变的Z-RI编码和对任意旋转不变的A-RI编码,这三种位置编码方式分别得到对旋转敏感程度不同的特征。而编码选择器则从输入特征来判断对每个点更需要的特征,从而选择对该点特征描述更加有利的特征。这里编码选择器的作用等价于预先判断数据在局部发生旋转的情况,对于旋转时语义会发生改变的区域,选择对旋转敏感的编码特征;对于旋转并不影响语义的区域,使用旋转不变特征,从而更加具有针对性地描述点云地局部结构。
如图2D所示,在动态位置编码多层感知机中,首先按照将通道数除以编码方式的种类数的方式,将预设通道数的特征划分为多份特征。例如,同时采用CD编码、Z-RI编码和A-RI编码的情况下,则按照通道数Cx/3的方式将预设通道数的特征划分为3份特征。将三维点云数据征分别输入CD编码模块、Z-RI编码模块和A-RI编码模块中。CD编码模块、Z-RI编码模块和A-RI编码模块不仅分别实现CD编码方式、Z轴旋转不变编码方式、任意轴旋转不变编码方式,还可以分别将多份特征与对应的编码结果进行融合。例如,经过CD编码后特征为K表示相邻点的个数,NO在带有下采样的位置编码模块中为下采样后的点数,在标准的位置编码模块中则为输入特征对应的点数。针对输入特征进行下采样,针对三维点云数据也进行下采样,可以减少后续的数据运算量,提高效率。表示CD编码对应的一份特征、该份特征对应的特征差以及该份特征对应的编码结果按照通道进行拼接后的通道数。
经过Z-RI编码后特征为经过A-RI编码后特征为之后CD编码模块、Z-RI编码模块和A-RI编码模块输出的特征分别输入一个多层感知机(MLP)进行特征融合。每个多层感知机输出的特征为CO/3×NO×K。
例如,针对一个动态位置编码多层感知机,其输入特征为fi,通过对通道数均匀切分,得到等分的三个子特征fi (1),fi (2),fi (3)。其中每一份特征和一种位置编码方式通过多层感知机来融合,三个子特征与位置编码融合方式如下:
至此,得到每个位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码。
在步骤S106中,基于注意力机制,确定三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重。
在一些实施例中,在每个位置编码模块中,基于注意力机制,确定在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;第一编码方式的权重包括:Z轴旋转不变编码方式的权重和任意轴旋转不变编码方式的权重中至少一项。
在一些实施例中,每个位置编码模块包括:注意力机制子模块,注意力机制子模块包括:全连接层和归一化层,将位置编码模块的输入特征,输入位置编码模块的注意力机制子模块中的全连接层,得到三维点云数据中每个点对应的第一编码方式的初始权重和第二编码方式的初始权重;将三维点云数据中每个点对应的第一编码方式的初始权重和第二编码方式的初始权重,输入位置编码模块的注意力机制子模块中的归一化层,得到在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重。
注意力机制子模块可以称为编码选择器,从每个位置编码模块的输入特征中学习对每个点各种编码方式的重要程度,通过对更重要的编码更高的权重,来动态调整相对位置编码的旋转鲁棒性,即达到动态位置编码的目标。例如针对CD编码、Z-RI编码和A-RI编码,具体可以采用以下公式来确定各种编码方式的权重。
在步骤S108中,根据三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,提取三维点云数据的特征。
在一些实施例中,在每个位置编码模块中,根据在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;根据最后一个位置编码模块的输出特征,确定三维点云数据的特征。
进一步,在一些实施例中,在每个位置编码模块中,根据在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,对在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码进行加权求和;根据加权求和的结果以及该位置编码模块的输入特征,确定该位置编码模块的输出特征。
如图2D所示,通过编码选择器确定三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,进而对第一相对位置编码和第二相对位置编码进行加权求和。例如针对CD编码、Z-RI编码和A-RI编码,具体可以采用以下公式来进行加权求和。
加权求和结果还可以经过最大池化层进行降维,得到动态位置编码多层感知机的输出特征。
如图2B所示,在标准的位置编码模块中,动态位置编码多层感知机的输出特征经过子输出层中的全连接层和归一化层,再通过激活层与该位置编码模块的输入特征进行融合,得到位置编码模块的输出特征。
如图2C所示,在带有下采样的位置编码模块中,动态位置编码多层感知机的输出特征经过子输出层中的全连接层和归一化层,位置编码模块的输入特征经过输入特征映射层,再通过激活层将两者进行融合,得到位置编码模块的输出特征。
最后一个位置编码模块的输出特征经过特征提取模型的输出层,作为输出的三维点云数据的特征。
上述实施例的方法针对三维点云数据分别采取不同的第一编码方式和第二编码方式进行相对位置编码,其中,第一编码方式为目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为目标相对于采集装置位置不变的情况下的相对位置编码方式,进而基于注意力机制,确定对于每个点,第一编码方式的权重和第二编码方式的权重,最终根据每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,提取三维点云数据的特征。上述实施例的方法针对三维点云数据,基于注意力机制,判断出不同区域对于旋转鲁棒性的依赖程度,对于旋转鲁棒性需求较高的区域,使用旋转不变的相对位置编码方式;对于不需要旋转鲁棒性的区域,使用对旋转敏感但是性能更高的相对位置编码。这种动态编码的方式,能够有效的提高三维点云数据特征提取的准确性。
在一些实施例中,根据三维点云数据的特征,确定三维点云数据对应的目标的类别。
在另一些实施例中,根据三维点云数据的特征,对三维点云数据进行分割。
提取的三维点云数据的特征,可以用在识别目标的类别或对目标的点云区域进行分割等任务中。例如,三维点云数据的特征经过平均池化之后,使用一个全连接层来预测各个点的类别,进而确定目标的类别或对目标的点云区域进行分割。
下面结合图3描述本公开中特征提取模型的训练方法。
图3为本公开三维点云数据的处理方法另一些实施例的流程图。如图3所示,该实施例的方法包括:步骤S302~S314。
在步骤S302中,将样本三维点云数据输入特征提取模型,其中,样本三维点云数据配置有对应的标注信息。
特征提取模型包括一个或多个位置编码模块;特征提取模型的结构可以参考前述实施例,在此不再赘述。标注信息例如为样本三维点云数据中每个点的标注类别。
在步骤S304中,在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中样本三维点云数据的第一相对位置编码和第二相对位置编码。
在一些实施例中,第一编码方式为采集样本三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集样本三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式。
在步骤S306中,在每个位置编码模块中,基于注意力机制,确定在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重。
在步骤S308中,在每个位置编码模块中,根据在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及样本三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征。
在步骤S310中,根据最后一个位置编码模块的输出特征,确定样本三维点云数据的特征。
在步骤S312中,根据样本三维点云数据的特征,确定样本三维点云数据中每个点的分类结果。
在步骤S314中,根据样本三维点云数据中每个点的分类结果与对应的标注信息,对特征提取模型进行训练。
可以参考前述实施例中,提取三维点云数据的特征的过程,在此不再赘述。
本公开还提供一种特征提取模型,包括:输入模块,一个或多个串联的位置编码模块,输出模块,其中,输入模块用于接收输入的三维点云数据;每个位置编码模块用于根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式;基于注意力机制,确定在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;根据在该位置编码模块中三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;输出模块用于根据最后一个位置编码模块的输出特征,输出三维点云数据的特征。
特征提取模型的结构和功能可以参考前述实施例,在此不再赘述。
本公开提出了基于动态位置编码的神经网络结构来提升三维点云分析的旋转鲁棒性。本公开的特征提取模型属于输入原始三维点云数据进行内容分析的神经网络,与现有的点云神经网络相比,本公开提出了动态位置编码(SPE)的概念,对于不同点之间的相对位置使用最优的编码方式提取特征,来提升点云分析的性能。基本的思想是在于利用点云中特征的不同,判断出不同区域对于旋转鲁棒性的依赖程度,对于旋转鲁棒性需求较高的区域,使用旋转不变的相对位置编码方式;对于不需要旋转鲁棒性的区域,使用对旋转敏感但是性能更高的相对位置编码。这种动态编码的方式,让神经网络能对点云不同区域使用不同旋转鲁棒性的特征,从而提升对点云分析的性能。
在实际应用中,由于并不知道点云的旋转情况,难以预先选择最优的位置编码方式,如果错误选择位置编码方式,性能则会产生很大的影响。为了解决这一问题,本公开设计的动态位置编码方式,在点云输入神经网络中时,使用注意力机制动态选择三种不同的位置编码方式,让点云中不同的点可以选择不同的位置编码特征,从而更加精确的描述点云的结构信息。
本公开提出了三种不同的相对位置编码方程,分别针对了不同程度的旋转鲁棒性要求,包括旋转敏感的CD编码、Z-RI编码和A-RI编码;进一步提出了使用注意力机制的方式对不同编码得到的特征进行加权,使用加权后的特征作为模块的输出特征,从而动态地调整不同区域特征的旋转鲁棒性。综合以上方法,使得点云分析的综合性能得到提升,提高了三维点云数据的特征提取的准确性。
本公开提供一种三维点云数据的处理装置,下面结合图4进行描述。
图4为本公开三维点云数据的处理装置的一些实施例的结构图。如图4所示,该实施例的装置40包括:获取模块410,编码模块420,注意力模块430,提取模块440。
获取模块410用于获取三维点云数据。获取模块410用于执行步骤S102及其相关实施例的方法,在此不再赘述。
编码模块420用于根据第一编码方式和第二编码方式,确定三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式。
编码模块420用于执行步骤S104及其相关实施例的方法,在此不再赘述。
注意力模块430用于基于注意力机制,确定三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重。
注意力模块430用于执行步骤S106及其相关实施例的方法,在此不再赘述。
提取模块440用于根据三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及三维点云数据的第一相对位置编码和第二相对位置编码,提取三维点云数据的特征。
提取模块440用于执行步骤S108及其相关实施例的方法,在此不再赘述。
在一些实施例中,装置40还包括:目标识别模块450,用于根据三维点云数据的特征,确定三维点云数据对应的目标的类别。
在一些实施例中,装置40还包括:分割模块460,用于根据三维点云数据的特征,对三维点云数据进行分割。
图5为本公开三维点云数据的处理装置的另一些实施例的结构图。如图5所示,该实施例的装置50包括:输入模块510,编码模块520,注意力模块530,确定模块540,分类模块550,训练模块560。
输入模块510用于将样本三维点云数据输入特征提取模型,其中,样本三维点云数据配置有对应的标注信息,特征提取模型包括一个或多个位置编码模块。
编码模块520用于在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中样本三维点云数据的第一相对位置编码和第二相对位置编码,其中,第一编码方式为采集样本三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,第二编码方式为采集样本三维点云数据时,目标相对于采集装置位置不变的情况下的相对位置编码方式。
注意力模块530用于基于注意力机制,确定在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重。
确定模块540用于根据在该位置编码模块中样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及样本三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;根据最后一个位置编码模块的输出特征,确定样本三维点云数据的特征。
分类模块550用于根据样本三维点云数据的特征,确定样本三维点云数据中每个点的分类结果。
训练模块560用于根据样本三维点云数据中每个点的分类结果与对应的标注信息,对特征提取模型进行训练。
输入模块510用于执行步骤S302及其相关实施例的方法,编码模块520用于执行步骤S304及其相关实施例的方法,注意力模块530,用于执行步骤S306及其相关实施例的方法,确定模块540,用于执行步骤S308~S310及其相关实施例的方法,分类模块550,用于执行步骤S312及其相关实施例的方法,训练模块560用于执行步骤S314及其相关实施例的方法,在此不再赘述。
可以参考前述实施例中,提取三维点云数据的特征的过程,在此不再赘述。
本公开的实施例中的三维点云数据的处理装置可各由各种计算设备或计算机系统来实现,下面结合图6以及图7进行描述。
图6为本公开三维点云数据的处理装置的一些实施例的结构图。如图6所示,该实施例的装置60包括:存储器610以及耦接至该存储器610的处理器620,处理器620被配置为基于存储在存储器610中的指令,执行本公开中任意一些实施例中的三维点云数据的处理方法。
其中,存储器610例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图7为本公开三维点云数据的处理装置的另一些实施例的结构图。如图7所示,该实施例的装置70包括:存储器710以及处理器720,分别与存储器610以及处理器620类似。还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730,740,750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口750为SD卡、U盘等外置存储设备提供连接接口。
本公开还提供一种无人车,下面结合图8-10进行描述。
图8为本公开无人车的一些实施例的结构图。如图8所示,该实施例的无人车8包括:三维点云数据的处理装置40/50/60/70。无人车还可以包括采集装置82,用于采集三维点云数据。采集装置82例如为激光雷达、3D相机等等。
图9为本公开无人车的另一些实施例的结构图。如图9所示,该实施例的无人车9包括:无人车9主要包括自动驾驶模块91、底盘模块92、远程监控推流模块93和货箱模块94四部分。
自动驾驶模块91包括自动驾驶传感器和核心处理单元(Orin或Xavier模组)组件911、红绿灯识别相机912、前后左右环视相机9131、9132、9133、9134、多线激光雷达914、定位模块915(如北斗、GPS等)、惯性导航单元916。相机与自动驾驶模块之间可进行通信,为了提高传输速度、减少线束,可采用GMSL链路通信。自动驾驶传感器和核心处理单元(Orin或Xavier模组)组件911包括本公开任意一些实施例中的三维点云数据的处理装置并被配置为执行本公开任意一些实施例的三维点云数据的处理方法。前后左右环视相机9131、9132、9133、9134或多线激光雷达914可以用于获取三维点云数据。
在一些实施例中,自动驾驶模块91还包括交换机917和前后左右补盲雷达9181、9182、9183、9184。
底盘模块92主要包括电池921、电源管理装置922、底盘控制器923、电机驱动器924、动力电机925。电池921为整个无人车系统提供电源,电源管理装置922将电池输出转换为可供各功能模块使用的不同电平电压,并控制上下电。底盘控制器923接受自动驾驶模块下发的运动指令,控制无人车转向、前进、后退、刹车等。底盘模块92还包括主电池926。
远程监控推流模块93由前监控相机931、后监控相机932、左监控相机933、右监控相机934和推流模块934构成,该模块将监控相机采集的视频数据传输到后台服务器,供后台操作人员查看。
货箱模块94为无人车的货物承载装置,包括配送货箱941。货箱模块94上还设置有显示交互模块942。显示交互模块942用于无人车与用户交互,用户可通过显示交互模块进行如取件、寄存、购买货物等操作。货箱的类型可根据实际需求进行更换,如在物流场景中,货箱可以包括多个不同大小的子箱体,子箱体可用于装载货物进行配送。在零售场景中,货箱可以设置成透明箱体,以便于用户直观看到待售产品。
货箱模块94还包括天线943。底盘模块92还包括无线通讯模块927。无线通讯模块927通过天线943与后台服务器进行通信,可实现后台操作人员对无人车的远程控制。
图10是示出根据本公开一些实施例的无人车的侧视图。
如图10所示,无人车包括显示交互模块101、底盘102、左侧补盲雷达103、右侧补盲雷达104、后侧补盲雷达105、激光雷达106、右侧相机107、货箱108。交互模块101、底盘102、左侧补盲雷达103、右侧补盲雷达104、后侧补盲雷达105、激光雷达106、右侧相机107、货箱108的功能可以参考图9中的描述,此处不再赘述。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (22)
1.一种三维点云数据的处理方法,包括:
获取三维点云数据;
根据第一编码方式和第二编码方式,确定所述三维点云数据的第一相对位置编码和第二相对位置编码,其中,所述第一编码方式为采集所述三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,所述第二编码方式为采集所述三维点云数据时,所述目标相对于所述采集装置位置不变的情况下的相对位置编码方式;
基于注意力机制,确定所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;
根据所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及所述三维点云数据的第一相对位置编码和第二相对位置编码,提取所述三维点云数据的特征。
2.根据权利要求1所述的处理方法,其中,所述根据第一编码方式和第二编码方式,确定所述三维点云数据的第一相对位置编码和第二相对位置编码包括:
将三维点云数据输入特征提取模型,其中,所述特征提取模型包括一个或多个串联的位置编码模块;
在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中所述三维点云数据的第一相对位置编码和第二相对位置编码。
3.根据权利要求2所述的处理方法,其中,所述基于注意力机制,确定所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重包括:
在每个位置编码模块中,基于注意力机制,确定在该位置编码模块中所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;
所述提取所述三维点云数据的特征包括:
在每个位置编码模块中,根据在该位置编码模块中所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及所述三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;
根据最后一个位置编码模块的输出特征,确定所述三维点云数据的特征。
4.根据权利要求1或2所述的处理方法,其中,所述第一编码方式包括:Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种,所述Z轴旋转不变编码方式为采集所述三维点云数据时,所述目标相对于所述采集装置绕Z轴旋转的情况下的相对位置编码方式,所述任意轴旋转不变编码方式为采集所述三维点云数据时,所述目标相对于所述采集装置绕任意轴旋转的情况下的相对位置编码方式;
所述第一相对位置编码包括:Z轴旋转位置编码和任意轴旋转位置编码中至少一项;
所述第一编码方式的权重包括:所述Z轴旋转不变编码方式的权重和所述任意轴旋转不变编码方式的权重中至少一项。
5.根据权利要求4所述的处理方法,其中,所述在每个位置编码模块中,根据该位置编码模块的输入特征、所述第一编码方式和所述第二编码方式,确定在该位置编码模块中所述三维点云数据的第一相对位置编码和第二相对位置编码包括:
在每个位置编码模块中,将该位置编码模块的输入特征映射为预设通道数的特征,其中,每个位置编码模块对应的预设通道数相同或不同;
按照将通道数除以编码方式的种类数的方式,将所述预设通道数的特征划分为多份特征;
将所述三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及所述第二编码方式进行编码,得到多份编码结果;
根据所述多份特征分别与对应的编码结果进行融合的多个融合特征,确定在该位置编码模块中所述三维点云数据的第一相对位置编码和第二相对位置编码。
6.根据权利要求4所述的处理方法,其中,所述Z轴旋转不变编码方式包括以下方法:
所述Z轴旋转不变编码方式包括以下方法:针对所述三维点云数据中的每个点及其每个相邻点,根据该点与该相邻点的Z坐标差、该点与该相邻点在X-Y平面上的投影之间的距离、该点在X-Y平面上的投影到原点的距离、该相邻点在X-Y平面上的投影到原点的距离、以及该点和该相邻点在X-Y平面上的投影与原点组成的夹角中至少一项,对该点进行编码,得到该点与该相邻点的Z轴旋转不变相对位置编码。
7.根据权利要求4所述的处理方法,其中,所述任意轴旋转不变编码方式包括以下方法:
针对所述三维点云数据中的每个点,确定该点的所有相邻点的重心点、经过该点和原点的直线与以该点为圆心的单位圆的交点;
针对该点的每个相邻点,根据该点到原点的距离、所述重心点到所述交点的距离、该点到所述交点的距离、所述重心点到该相邻点的距离、所述交点到该相邻点的距离、该点到该相邻点的距离、以及第一平面和第二平面的夹角中至少一项,对该点进行编码,得到该点与该相邻点的任意轴旋转不变相对位置编码,其中,所述第一平面经过该点、所述重心点和所述交点的平面,所述第二平面经过该点、所述重心点和该点的相邻点的平面。
8.根据权利要求4所述的处理方法,其中,所述第二编码方式包括以下方法:
针对所述三维点云数据中的每个点及其每个相邻点,根据该点与该相邻点的坐标差,对该点进行编码,得到该点与该相邻点的第二相对位置编码。
9.根据权利要求5所述的处理方法,其中,所述多个融合特征中每个融合特征采用以下方法确定:
针对所述多份特征中的每份特征,确定该特征中的每个点与其相邻点的特征差,作为该份特征对应的特征差;
将该份特征、该份特征对应的特征差以及该份特征对应的编码结果进行拼接后,输入对应的多层感知机,得到该份特征与对应的编码结果进行融合的融合特征。
10.根据权利要求5所述的处理方法,其中,在所述特征提取模型包括多个位置编码模块的情况下,所述特征提取模型中的第二个位置编码模块之后包括一个或多个阶段,每个阶段包括:带有下采样的位置编码模块,所述按照将通道数除以编码方式的种类数的方式,将所述预设通道数的特征划分为多份特征包括:
针对每个带有下采样的位置编码模块,按照预设下采样频率,将所述预设通道数的特征进行下采样,其中,每个带有下采样的位置编码模块对应的预设下采样频率按照由输入到输出的顺序依次降低;
按照将通道数除以编码方式的种类数的方式,将所述下采样后的预设通道数的特征划分为多份特征;
所述将所述三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及所述第二编码方式进行编码,得到多份编码结果包括:
针对每个带有下采样的位置编码模块,按照预设下采样频率,对所述三维点云数据进行下采样;
将下采样之后的三维点云数据分别按照Z轴旋转不变编码方式和任意轴旋转不变编码方式中至少一种、以及所述第二编码方式进行编码,得到多份编码结果。
11.根据权利要求3所述的处理方法,其中,每个位置编码模块包括:注意力机制子模块,所述注意力机制子模块包括:全连接层和归一化层,所述基于注意力机制,确定在该位置编码模块中所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重包括:
将位置编码模块的输入特征,输入位置编码模块的注意力机制子模块中的全连接层,得到所述三维点云数据中每个点对应的第一编码方式的初始权重和第二编码方式的初始权重;
将所述三维点云数据中每个点对应的第一编码方式的初始权重和第二编码方式的初始权重,输入位置编码模块的注意力机制子模块中的归一化层,得到在该位置编码模块中所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重。
12.根据权利要求3所述的处理方法,其中,所述确定该位置编码模块的输出特征包括:
根据在该位置编码模块中所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,对在该位置编码模块中所述三维点云数据的第一相对位置编码和第二相对位置编码进行加权求和;
根据加权求和的结果以及该位置编码模块的输入特征,确定该位置编码模块的输出特征。
13.根据权利要求12所述的处理方法,其中,在所述特征提取模型包括多个位置编码模块的情况下,所述特征提取模型中的第二个位置编码模块之后包括一个或多个阶段,每个阶段包括:带有下采样的位置编码模块,所述根据加权求和的结果以及该位置编码模块的输入特征,确定该位置编码模块的输出特征包括:
针对每个带有下采样的位置编码模块,将该位置编码模块的输入特征映射为预设通道数的特征;
按照预设下采样频率,将所述预设通道数的特征进行下采样,其中,第二个位置编码模块之后的每个位置编码模块对应的预设下采样频率依次降低;
根据加权求和的结果以及下采样后预设通道数的特征,确定该位置编码模块的输出特征。
14.根据权利要求1所述的处理方法,还包括:
根据所述三维点云数据的特征,确定所述三维点云数据对应的目标的类别。
15.根据权利要求1所述的处理方法,还包括:
根据所述三维点云数据的特征,对所述三维点云数据进行分割。
16.一种三维点云数据的处理方法,包括:
将样本三维点云数据输入特征提取模型,其中,所述样本三维点云数据配置有对应的标注信息,所述特征提取模型包括一个或多个位置编码模块;
在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中所述样本三维点云数据的第一相对位置编码和第二相对位置编码,其中,所述第一编码方式为采集所述样本三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,所述第二编码方式为采集所述样本三维点云数据时,所述目标相对于所述采集装置位置不变的情况下的相对位置编码方式;
基于注意力机制,确定在该位置编码模块中所述样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;
根据在该位置编码模块中所述样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及所述样本三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;
根据最后一个位置编码模块的输出特征,确定所述样本三维点云数据的特征;
根据所述样本三维点云数据的特征,确定所述样本三维点云数据中每个点的分类结果;
根据所述样本三维点云数据中每个点的分类结果与对应的标注信息,对所述特征提取模型进行训练。
17.一种特征提取模型,包括:输入模块,一个或多个串联的位置编码模块,输出模块,其中,
所述输入模块用于接收输入的三维点云数据;
每个位置编码模块用于根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中所述三维点云数据的第一相对位置编码和第二相对位置编码,其中,所述第一编码方式为采集所述三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,所述第二编码方式为采集所述三维点云数据时,所述目标相对于所述采集装置位置不变的情况下的相对位置编码方式;基于注意力机制,确定在该位置编码模块中所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;根据在该位置编码模块中所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及所述三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;
输出模块用于根据最后一个位置编码模块的输出特征,输出所述三维点云数据的特征。
18.一种三维点云数据的处理装置,包括:
获取模块,用于获取三维点云数据;
编码模块,用于根据第一编码方式和第二编码方式,确定所述三维点云数据的第一相对位置编码和第二相对位置编码,其中,所述第一编码方式为采集所述三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,所述第二编码方式为采集所述三维点云数据时,所述目标相对于所述采集装置位置不变的情况下的相对位置编码方式;
注意力模块,用于基于注意力机制,确定所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;
提取模块,用于根据所述三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及所述三维点云数据的第一相对位置编码和第二相对位置编码,提取所述三维点云数据的特征。
19.一种三维点云数据的处理装置,包括:
输入模块,用于将样本三维点云数据输入特征提取模型,其中,所述样本三维点云数据配置有对应的标注信息,所述特征提取模型包括一个或多个位置编码模块;
编码模块,用于在每个位置编码模块中,根据该位置编码模块的输入特征、第一编码方式和第二编码方式,确定在该位置编码模块中所述样本三维点云数据的第一相对位置编码和第二相对位置编码,其中,所述第一编码方式为采集所述样本三维点云数据时,目标相对于采集装置旋转的情况下的相对位置编码方式,所述第二编码方式为采集所述样本三维点云数据时,所述目标相对于所述采集装置位置不变的情况下的相对位置编码方式;
注意力模块,用于基于注意力机制,确定在该位置编码模块中所述样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重;
确定模块,用于根据在该位置编码模块中所述样本三维点云数据中每个点对应的第一编码方式的权重和第二编码方式的权重,以及所述样本三维点云数据的第一相对位置编码和第二相对位置编码,确定该位置编码模块的输出特征;根据最后一个位置编码模块的输出特征,确定所述样本三维点云数据的特征;
分类模块,用于根据所述样本三维点云数据的特征,确定所述样本三维点云数据中每个点的分类结果;
训练模块,用于根据所述样本三维点云数据中每个点的分类结果与对应的标注信息,对所述特征提取模型进行训练。
20.一种三维点云数据的处理装置,包括:
处理器;以及
耦接至所述处理器的存储器,用于存储指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1-16任一项所述的三维点云数据的处理方法。
21.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现权利要求1-16任一项所述方法的步骤。
22.一种无人车包括:权利要求18-20任一项所述的三维点云数据的处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127491.5A CN116071442A (zh) | 2023-02-06 | 2023-02-06 | 三维点云数据的处理方法、装置和无人车 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127491.5A CN116071442A (zh) | 2023-02-06 | 2023-02-06 | 三维点云数据的处理方法、装置和无人车 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116071442A true CN116071442A (zh) | 2023-05-05 |
Family
ID=86171353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310127491.5A Pending CN116071442A (zh) | 2023-02-06 | 2023-02-06 | 三维点云数据的处理方法、装置和无人车 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116071442A (zh) |
-
2023
- 2023-02-06 CN CN202310127491.5A patent/CN116071442A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grigorescu et al. | A survey of deep learning techniques for autonomous driving | |
Bachute et al. | Autonomous driving architectures: insights of machine learning and deep learning algorithms | |
Janai et al. | Computer vision for autonomous vehicles: Problems, datasets and state of the art | |
US20230043931A1 (en) | Multi-Task Multi-Sensor Fusion for Three-Dimensional Object Detection | |
CN110136199B (zh) | 一种基于摄像头的车辆定位、建图的方法和装置 | |
US10915793B2 (en) | Method and system for converting point cloud data for use with 2D convolutional neural networks | |
US9286524B1 (en) | Multi-task deep convolutional neural networks for efficient and robust traffic lane detection | |
US20210223046A1 (en) | Method and device for extracting key frames in simultaneous localization and mapping and smart device | |
JP2021089724A (ja) | 構造的制約及び物理的制約を伴う3d自動ラベル付け | |
CN112912928B (zh) | 用于从点云中动态选择特征相关点的深度神经网络的方法和系统 | |
CN110136058B (zh) | 一种基于俯视拼接图的建图方法及车载终端 | |
CN113228043A (zh) | 移动平台基于神经网络的障碍物检测及关联的系统和方法 | |
CN112740268A (zh) | 目标检测方法和装置 | |
Volden et al. | Vision-based positioning system for auto-docking of unmanned surface vehicles (USVs) | |
CN111256693B (zh) | 一种计算位姿变化方法及车载终端 | |
CN115273002A (zh) | 一种图像处理方法、装置、存储介质及计算机程序产品 | |
Yang et al. | MonoGAE: Roadside monocular 3D object detection with ground-aware embeddings | |
CN113111787A (zh) | 目标检测方法、装置、设备以及存储介质 | |
US11328182B2 (en) | Three-dimensional map inconsistency detection using neural network | |
US20230123184A1 (en) | Systems and methods for producing amodal cuboids | |
CN116071442A (zh) | 三维点云数据的处理方法、装置和无人车 | |
Tomasello et al. | Dscnet: Replicating lidar point clouds with deep sensor cloning | |
US20230072966A1 (en) | Systems and methods for providing and using confidence estimations for semantic labeling | |
CN114612895A (zh) | 非标准道路场景中的道路检测方法及装置 | |
CN114677660A (zh) | 模型训练和道路检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |