CN116823942A - 三维点云的目标标注方法和点云连续帧中目标跟踪方法 - Google Patents

三维点云的目标标注方法和点云连续帧中目标跟踪方法 Download PDF

Info

Publication number
CN116823942A
CN116823942A CN202310461018.0A CN202310461018A CN116823942A CN 116823942 A CN116823942 A CN 116823942A CN 202310461018 A CN202310461018 A CN 202310461018A CN 116823942 A CN116823942 A CN 116823942A
Authority
CN
China
Prior art keywords
point cloud
target
point
marked
ground
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
Application number
CN202310461018.0A
Other languages
English (en)
Inventor
夏亚楠
李秀林
李世龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Databaker Beijng Technology Co ltd
Original Assignee
Databaker Beijng Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Databaker Beijng Technology Co ltd filed Critical Databaker Beijng Technology Co ltd
Priority to CN202310461018.0A priority Critical patent/CN116823942A/zh
Publication of CN116823942A publication Critical patent/CN116823942A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本申请实施例提供一种三维点云的目标标注方法和点云连续帧中目标跟踪方法,该标注方法包括:针对三维点云中的第一区域中的待标注点云,基于待标注点云的不同部分的点的密度,对待标注点云进行地面点云过滤,以获得去除了地面点云的过滤后的点云;对过滤后的点云进行目标分割,以确定目标点云;以及输出所确定的目标点云的位置信息。这种方案计算量小,可以显著提高标注效率。同时,根据待标注点云中不同部分的点的密度进行地面点云过滤的方案可以较精准地去除地面点云,从而可以提高确定出的目标点云的精度,目标标注的准确率也较高。而且,此方案无需训练,实现成本也较低,因此该方案的可实施性好、可拓展性强。

Description

三维点云的目标标注方法和点云连续帧中目标跟踪方法
技术领域
本申请涉及点云处理技术领域,具体地,涉及一种三维点云的目标标注方法、一种点云连续帧中目标跟踪方法、一种三维点云的目标标注***、一种点云连续帧中目标跟踪***、一种电子设备及一种存储介质。
背景技术
点云是分布在N维空间中的离散点集,主要以三维为主。它是对物体表面信息的离散采样,通常由激光雷达扫描获取,在自动驾驶等领域发挥着重要作用。
在点云处理技术领域中,常常需要对三维点云中的目标进行识别标注。以自动驾驶领域为例,自动驾驶车辆主要是依靠激光雷达来对车外环境做出感应,以在道路上安全行驶。激光雷达生成的三维点云图像经过标注可以用于训练自动驾驶***。随着自动驾驶***性能的不断改进,其需要的训练样本的数据量也随之增长。因此,自动驾驶***需要大量的三维点云的标注数据。
现有技术中的三维点云的目标标注方法通常包括传统的手动标注模式和智能标注模式。手动标注模式通常为人工使用标注工具标点或者拉框实现。这种方式完全依赖人工,工作效率低,同时也易出错。智能标注模式通常利用训练好的深度学习模型对点云进行标注分割,以实现自动化标注分割。然而,这种深度学习模式往往需要大量数据对模型进行训练,对训练样本的依赖程度非常高。对于未学习的数据则难以实现较准确的标注分割。因此,这种基于深度学习的智能点云标注方法实现成本较高,且标注的准确度也较低。
发明内容
为了至少部分地解决现有技术中存在的上述问题,根据本申请的一个方面,提供一种三维点云的目标标注方法,包括:针对三维点云中的第一区域中的待标注点云,基于待标注点云的不同部分的点的密度,对待标注点云进行地面点云过滤,以获得去除了地面点云的过滤后的点云;对过滤后的点云进行目标分割,以确定目标点云;以及输出所确定的目标点云的位置信息。
示例性地,基于待标注点云的不同部分的点的密度,对待标注点云进行地面点云过滤,包括:基于待标注点云的不同部分的点的密度,将待标注点云划分为稀疏点云部分和稠密点云部分;对稀疏点云部分执行渐进式形态学滤波,以获得滤波结果,其中滤波结果包括去除了稀疏点云部分中的地面点云的经滤波的稀疏点云部分;合并稠密点云部分和经滤波的稀疏点云部分,以得到第一合并点云;以及基于第一合并点云确定过滤后的点云。
示例性地,滤波结果还包括:稀疏点云部分中的地面点云的高度范围,基于第一合并点云确定过滤后的点云,包括:基于高度范围,删除第一合并点云中的地面点,以得到过滤后的点云,其中,地面点的高度在高度范围内。
示例性地,将待标注点云划分为稀疏点云部分和稠密点云部分,包括:利用半径异常点滤波器,对待标注点云进行滤波,并将滤波后的点云作为稠密点云部分;以及将待标注点云中的稠密点云部分之外的其他点云确定为稀疏点云部分。
示例性地,在对待标注点云进行地面点云过滤之前,方法还包括:将待标注点云中的每个点的坐标和每个点的索引信息进行绑定并存储索引信息;输出所确定的目标点云的位置信息,包括:输出所确定的目标点云中的各个点的索引信息。
示例性地,在输出所确定的目标点云的位置信息之前,方法还包括:计算所确定的每一个目标点云的真实外包围框的位置信息,以作为该目标点云的位置信息。
示例性地,所述计算所确定的每一个目标点云的真实外包围框的位置信息,包括:对于所确定的每一个目标点云,根据该目标点云的点,确定该目标点云的初始外包围框;确定初始外包围框的中心点,以中心点为旋转中心,将该目标点云沿高度方向旋转180°,以得到旋转点云;以及将旋转点云和目标点云进行合并,并计算合并后的点云的外包围框的位置信息,以作为该目标点云的真实外包围框的位置信息。
示例性地,在对待标注点云进行地面点云过滤之前,方法还包括:对待标注点云执行降采样,以得到降采样之后的待标注点云。
示例性地,对过滤后的点云进行目标分割,以确定目标点云,包括:对过滤后的点云进行目标分割,以得到过滤后的点云中的至少一个分割点云;对于每个分割点云,采用随机采样一致性分割方法确定表征该分割点云的直线;确定该分割点云中的、落在直线上的点的数目占比;若占比小于预设占比阈值,则将该分割点云确定为目标点云。
示例性地,对过滤后的点云进行区域目标分割,包括:采用欧式聚类分割的方法对过滤后的点云进行目标分割。
示例性地,在基于待标注点云中的点的密度,对待标注点云进行地面点云过滤之前,方法还包括:响应于用户对可视化界面中所显示的三维点云的第一操作,确定第一区域;以及确定三维点云的、第一区域中的各个点组成的点集,作为待标注点云。
示例性地,方法还包括:在待标注点云的点的数目小于预设阈值的情况下,采用随机采样一致性滤波方法,对待标注点云进行地面点云过滤,以获得过滤后的点云;其中,基于待标注点云中的不同部分的点的密度,对待标注点云进行地面点云过滤,在待标注点云的点的数目不小于预设阈值的情况下执行。
根据本申请的另一方面,提供一种点云连续帧中目标跟踪方法,包括:获取待跟踪目标的三维点云的连续帧以及连续帧的当前帧中待跟踪目标的目标点云的位置信息,其中,位置信息包括目标点云的外包围框的位置信息;对于连续帧中除了当前帧以外的每一其他帧,至少基于外包围框的位置信息,确定该其他帧中的划选点云,其中,外包围框在该其他帧中的位置对应框内的点云是划选点云中的一部分;对划选点云进行目标分割,以确定分割点云;对外包围框中的点云进行跟踪运算,以确定待跟踪目标的、该其他帧中的预测包围框;以及基于预测包围框,确定分割点云中的待跟踪目标的目标跟踪点云;其中,获取连续帧的当前帧中待跟踪目标的目标点云的位置信息是利用上述三维点云的目标标注方法得到的;和/或对划选点云进行目标分割,以确定分割点云,包括:以划选点云为待标注点云,以分割点云为目标点云,利用上述三维点云的目标标注方法确定分割点云。
根据本申请的另一方面,提供一种三维点云的目标标注***,包括:过滤模块,用于针对三维点云中的第一区域中的待标注点云,基于待标注点云的不同部分的点的密度,对待标注点云进行地面点云过滤,以获得去除了地面点云的过滤后的点云;分割模块,用于对过滤后的点云进行目标分割,以确定目标点云;以及输出模块,用于输出所确定的目标点云的位置信息。
根据本申请的另一方面,提供一种点云连续帧中目标跟踪***,包括:获取模块,用于获取待跟踪目标的三维点云的连续帧以及连续帧的当前帧中待跟踪目标的目标点云的位置信息,其中,位置信息包括目标点云的外包围框的位置信息;第一确定模块,用于对于连续帧中除了当前帧以外的每一其他帧,至少基于外包围框的位置信息,确定该其他帧中的划选点云,其中,外包围框在该其他帧中的位置对应框内的点云是划选点云中的一部分;分割模块,用于对划选点云进行目标分割,以确定分割点云;跟踪运算模块,用于对外包围框中的点云进行跟踪运算,以确定待跟踪目标的、该其他帧中的预测包围框;以及第二确定模块,用于基于预测包围框,确定分割点云中的待跟踪目标的目标跟踪点云;其中,获取模块获取连续帧的当前帧中待跟踪目标的目标点云的位置信息是利用上述三维点云的目标标注方法得到的;和/或分割模块具体用于:以划选点云为待标注点云,以分割点云为目标点云,利用上述三维点云的目标标注方法确定分割点云。
根据本申请的另一方面,提供一种电子设备,包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述三维点云的目标标注方法和/或上述点云连续帧中目标跟踪方法。
根据本申请的另一方面,提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述三维点云的目标标注方法和/或上述点云连续帧中目标跟踪方法。
根据上述方案,先后通过过滤待标注点云中的地面点云以及对去地面后的点云进行目标分割,即可快速且准确地确定出目标点云。最终通过输出目标点云的位置信息,实现对三维点云的目标标注。这种方案计算量小,可以显著提高标注效率。同时,根据待标注点云中不同部分的点的密度进行地面点云过滤的方案可以较精准地去除地面点云,从而可以提高确定出的目标点云的精度,目标标注的准确率也较高。而且,此方案无需训练,实现成本也较低,因此该方案的可实施性好、可拓展性强。
在发明内容中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本申请内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
以下结合附图,详细说明本申请的优点和特征。
附图说明
本申请的下列附图在此作为本申请的一部分用于理解本申请。附图中示出了本申请的实施方式及其描述,用来解释本申请的原理。在附图中,
图1示出根据本申请一个实施例的三维点云的目标标注方法的示意性流程图;
图2a示出根据本申请一个实施例的目标点云的初始外包围框的示意图;
图2b示出根据本申请一个实施例的目标点云的旋转点云的示意图;
图2c示出根据本申请一个实施例的目标点云的真实外包围框的示意图;
图3示出根据本申请另一个实施例的三维点云的目标标注方法的示意性流程图;
图4示出根据本申请一个实施例的点云连续帧中目标跟踪方法的示意性流程图;
图5示出根据本申请一个实施例的三维点云的目标标注***的示意性框图;
图6示出根据本申请一个实施例的三维点云的目标标注***的示意性框图;以及
图7示出根据本申请一个实施例的电子设备的示意性框图。
具体实施方式
在下文的描述中,提供了大量的细节以便能够彻底地理解本申请。然而,本领域技术人员可以了解,如下描述仅示例性地示出了本申请的优选实施例,本申请可以无需一个或多个这样的细节而得以实施。此外,为了避免与本申请发生混淆,对于本领域公知的一些技术特征未进行详细描述。
为了至少部分地解决上述技术问题,本申请实施例提供一种三维点云的目标标注方法。
图1示出根据本申请一个实施例的三维点云的目标标注方法100的示意性流程图。如图1所示,三维点云的目标标注方法100包括步骤S120、步骤S140和步骤S160。
步骤S120,针对三维点云中的第一区域中的待标注点云,基于待标注点云的不同部分的点的密度,对待标注点云进行地面点云过滤,以获得去除了地面点云的过滤后的点云。
根据本申请实施例,三维点云中可以是至少一个目标的三维点云。目标可以是任何合适的物体,其可以是静态物体,也可以是动态物体。在一个具体示例中,目标可以是行驶中的汽车。该三维点云例如是当前自动行驶中的汽车A的激光雷达实时采集其车外环境所得到的三维点云的连续帧中的一帧。可以理解,在汽车A的车外环境中可能包括位于其周围的行人、道路和其他车辆等等。因此,在该三维点云中也可以包括这些环境中的物体。在该示例中,目标可以是位于汽车A周围的其他车辆。在汽车A周围包括多个车辆的情况下,目标可以是其中一个车辆,也可以是其中的多个车辆,可以根据实际的标注需求指定目标。
三维点云可以是利用任何现有的或者未来研发的合适的点云采集装置直接采集到的原始点云数据,也可以是对原始点云数据进行预处理操作后的点云。该预处理操作可以包括诸如对原始点云进行坐标转换、点云降采样、点云滤波等方便后续处理的各种合适的操作。
根据本申请实施例,三维点云中的第一区域可以是任意尺寸、任意形状的区域。在一个示例中,该第一区域可以是预设的固定区域。例如,第一区域可以是在预设标定位置的预设坐标范围内的区域。具体地,在上述三维点云为自动行驶中的汽车A的周围环境的点云的示例中,第一区域例如是以三维点云的坐标原点(例如对应汽车A的顶部的雷达采集中心)为中心,且长宽高均为5米的立方体区域。在另一示例中,该第一区域也可以是根据用户输入的区域参数所确定的。可选地,用户可以在人机交互界面中直接输入期望标注的第一区域的尺寸参数,该尺寸参数诸如区域的角点坐标或中心点坐标、以及区域的长、宽和高等。替代地,也可以提供显示该三维点云的可视化窗口的人机交互界面,用户可以在该界面中通过诸如“区域选择”工具栏,输入期望标注的第一区域。具体地,在上述三维点云为自动行驶中的汽车A的周围环境的点云的示例中,可以在人机交互界面中显示俯瞰视角下汽车A的周围环境的三维点云,用户可以利用诸如界面中的矩形框选定一个矩形区域,作为第一区域。例如用户期望对汽车A周围的汽车B的位置进行标注,则可以通过控制鼠标左键大致沿汽车B的四周划定一矩形框,使得汽车B位于该矩形框内,并通过点击界面中的“确定”控件输入至***中。
根据本申请实施例,待标注点云可以是三维点云中落入第一区域内的点云部分。例如,在上述用户利用诸如界面中的矩形框选定一个矩形区域来作为第一区域的示例中,该矩形区域的两边可以分别与三维点云的x轴方向和y轴方向平行。该矩形区域例如表示为“200≤x≤700且100≤y≤330”,则待标注点云可以是由三维点云中x坐标和y坐标在该相应坐标范围内的所有点的组成的点云。具体地,在上述用户沿汽车B的四周划定矩形框作为第一区域的示例中,待标注点云可以包括矩形框内的汽车B的所有点以及在矩形框内的诸如地面点的其他点。
可以理解,第一区域为待标注的大致区域。第一区域内的待标注点云中除了包括待标注的目标的目标点云之外,还可以包括位于目标周边的地面点云以及其他对象的点云。为了标注出目标的准确位置,在此步骤中,可以对待标注点云进行地面点云过滤,以获得去除了地面点云的过滤后的点云。
通常情况下,诸如激光雷达等点云采集装置所采集的三维点云中,对应地面部分的地面点云中的点的密度相对较小,即点的分布较为稀疏。而对应目标的目标点云中的点的密度则相对较大,即点的分布较为稠密。因此,可以根据待标注点云中的不同部分的点的密度,对待标注点云进行地面点云过滤。可以基于任何合适的过滤逻辑,并可以采用任何现有的或者未来研发的合适的点云过滤算法对待标注点云进行地面点云过滤。
示例性而非限制性地,可以首先根据待标注点云的不同部分的点的密度,将其划分为多个点云部分;然后,可以对多个点云部分中的至少一个点云部分采用相应的过滤方法去除该点云部分中的地面点云;最后,可以根据经过滤的点云部分,获得去除了地面点云的过滤后的点云。
示例性地,可以将待标注点云划分为合适数目的点云部分。可选地,可以将待标注点云划分为两种点云部分。例如,可以将待标注点云划分为点的密度较大的点云部分以及点的密度较小的点云部分。点的密度较小的部分,可以称作是点分布较稀疏的稀疏点云部分。点的密度较大的部分,可以称作是点分布较密集的稠密点云部分。替代地,也可以将待标注点云划分为三种或三种以上的点云部分。诸如,可以将待标注点云划分为低密度点云部分、中等密度点云部分和高密度点云部分等。
以上述将待标注点云划分为稠密点云部分和稀疏点云部分为例,可以采用多种合适的划分标准进行划分。可选地,可以确定待标注点云的每个点的预设邻域内的点的数目。若该数目不小于第一数目阈值,则可以将该点作为稠密点;反之,若该数目小于第一数目阈值,则可以将该点作为稀疏点。进而,可以将所确定的稠密点的点集作为待标注点云的稠密点云部分,而将所确定的稀疏点的点集作为待标注点云的稀疏点云部分。示例性而非限制性地,可以利用半径异常点滤波器进行划分。替代地,也可以将第一区域划分为多个单位区域,确定待标注点云中落在每个单位区域内的点的数目和该单位区域中相邻两点间的平均距离。可以将点的数目小于第二数目阈值并且平均距离较大的区域中的各个点确定为稀疏点,并可以将所确定的稀疏点的点集确定为稀疏点云部分,而可以将待标注点云中的其他点的集合作为稠密点云部分。
同样以上述将待标注点云划分为稠密点云部分和稀疏点云部分为例。可选地,在确定稠密点云部分和稀疏点云部分之后,可以对这两种点云部分分别采用合适的过滤方法进行过滤,去除每个点云部分中的地面点云,最终合并过滤后的这两种点云部分,以得到去除了地面点云的过滤后的点云。由于目标(例如车辆)的点云通常是较稠密的,而目标的背景(例如路面)的点云通常是较稀疏的。为了更准确地标注目标,可以对三维点云中的稠密点云部分不做过滤处理。即替代地,也可以仅对其中的一种点云部分进行过滤,例如可以仅对稀疏点云部分进行过滤得到过滤后的稀疏点云部分。然后,可以将过滤后的稀疏点云部分和划分出的稠密点云部分进行合并,可以基于合并后的点云确定去除了地面点云的过滤后的点云。此步骤中,可以采用各种合适的过滤算法对划分出的点云部分进行地面点云过滤。示例性而非限制性地,该过滤算法可以包括随机采样一致性滤波算法、渐进式形态学滤波的算法等。
步骤S140,对过滤后的点云进行目标分割,以确定目标点云。
在获取到去除了地面点云的过滤后的点云之后,可以进一步对该点云进行目标分割。根据本申请实施例,该目标分割可以采用任何现有的或者未来研发的点云分割算法实现。这些点云分割算法可以包括但不限于随机采样一致性分割算法、欧式聚类分割算法、区域生长分割算法等。
根据本申请一个优选实施例,采用欧式聚类分割的方法对过滤后的点云进行目标分割。采用欧式聚类分割算法的计算量更小,分割结果也较准确。由此,保证了目标标准的准确性。
可以理解,在对第一区域中的待标注点云进行地面点云过滤之后,该待标注点云中可以包括落在该第一区域范围内的各个目标的目标点云。例如,若第一区域中仅包括汽车B,则经地面点云过滤之后的点云中可以包括对应汽车B的目标点云,或者还包括其周围的少量的干扰点云。在此步骤中采用诸如欧式聚类分割的方法对经地面点云过滤之后的点云进行目标分割,可以将点数目较小的干扰点云去掉,可以得到仅包括汽车B的点的目标点云。类似地,若第一区域中包括汽车B和汽车C,则经地面点云过滤之后的点云中可以包括对应汽车B的目标点云和对应汽车C的目标点云。则在此步骤中,通过例如欧式聚类分割的方法对经地面点云过滤之后的点云进行分割,可以分割仅包括汽车B的点的目标点云和仅包括汽车C的点的目标点云,即可以分割出两个目标点云。
可以理解,先后通过步骤S120的地面点云过滤步骤和步骤S140中的目标分割步骤,可以得到第一区域中对应每一目标的较为精确的目标点云。
步骤S160,输出所确定的目标点云的位置信息。
在确定第一区域中所包含的每一目标的目标点云之后,可以确定出每一目标点云的位置信息,以作为标注数据。可选地,目标点云的位置信息可以包括目标点云中每个点的位置信息。此步骤中可以直接输出每个目标点云中每个点的位置坐标。或者,可以预先建立或获取待标注点云中每个点的位置坐标和位置索引序号之间的对应关系,并可以存储该位置索引序号。而在此步骤中则可以不输出点的位置坐标,而仅输出目标点云中各个点的位置索引序号。替代地,目标点云的位置信息也可以用目标点云的最小外包围框的位置信息表示。在此步骤之前可以采用任何合适的方法确定每个目标点云的最小外包围框。该最小外包围框例如是轴对齐包围框、有向包围框和点云凸包等。优选地,该最小外包围框可以是目标点云的最小有向包围框。在此步骤中可以输出每个最小外包围框的位置信息。以最小有向包围框OBB为例,该位置信息可以包括OBB的中心位置坐标、OBB的三个方向上(长、宽、高)的单位向量以及OBB的三个方向上的尺寸。
根据本申请实施例,还可以根据用户期望的标注模式,输出相应的位置信息。示例性而非限制性地,标注方式可以包括外包围框标注方式和分割标注方式。在此步骤之前,还可以向用户提供人机交互界面,以获取用户期望的标注模式,进而可以基于该标注模式,确定相应的目标点云的位置信息。例如,人机交互界面中可以包括名称为“立体框标注模式”的第一选择控件和名称为“分割标注模式”的第二选择控件。示例性地,若接收到用户对第一选择控件的选择指令,则可以确定当前的标注模式为外包围框标注方式,则可以在此步骤中输出每个目标点云的最小外包围框的位置信息;若接收到用户对第二选择控件的选择指令,则可以确定当前的标注模式为分割标注方式,则可以在此步骤中直接输出每个目标点云中各个点的位置坐标或者位置索引序号。
根据本申请实施例,可以将上述标注方法100加载在任何现有的或者未来研发的合适的点云基础处理平台中实现。例如,可以采用浏览器/服务器模式(Browser/Server,简称B/S结构),提供HTTP API调用,各个步骤中所涉及的点云处理算法可以通过点云库(Point Cloud Library,简称PCL)中的各种相关的基础处理算法实现。基于成熟的点云处理库的方案处理计算量更小,处理效率也更高,并且可拓展性也较强。
根据上述方案,先后通过过滤待标注点云中的地面点云以及对去地面后的点云进行目标分割,即可快速且准确地确定出目标点云。最终通过输出目标点云的位置信息,实现对三维点云的目标标注。这种方案计算量小,可以显著提高标注效率。同时,根据待标注点云中不同部分的点的密度进行地面点云过滤的方案可以较精准地去除地面点云,从而可以提高确定出的目标点云的精度,目标标注的准确率也较高。而且,此方案无需训练,实现成本也较低,因此该方案的可实施性好、可拓展性强。
示例性地,在步骤S120基于待标注点云中的点的密度,对待标注点云进行地面点云过滤之前,方法100还包括步骤S111和步骤S112。
步骤S111,响应于用户对可视化界面中所显示的三维点云的第一操作,确定第一区域。如前所述,可以基于B/S架构实现标注。例如,可以在客户端的可视化界面中显示待进行标注的三维点云。示例性地,对于待进行标注的三维点云为多帧的情况,可以一次显示一帧三维点云,用户可以实时利用可操作控件对显示在界面中的三维点云进行人机交互操作,从而可以确定三维点云中待标注的区域范围。第一操作可以是任何合适的人机交互操作。示例性而非限制性地,当用户期望标注所显示的三维点云中的某一区域范围内的目标时,可以利用界面中的诸如“区域选择”工具栏,输入期望标注的第一区域。例如,可以在三维点云的俯视图中,选定矩形框工具,并通过控制鼠标左键,在界面中框选出期望标注的矩形区域作为第一区域,并可以通过点击鼠标右键确定该操作。当然,第一操作也可以包括其他合适的人机交互操作,本申请不对其进行限制。
步骤S112,确定三维点云的、第一区域中的各个点组成的点集,作为待标注点云。示例性地,在确定第一区域之后,客户端可以将该三维点云中落在第一区域内的各个点的位置坐标传递给服务器端。服务器端可以基于接收到的所有点的点集创建出点云数据结构,作为待标注点云。例如,可以基于第一区域内的各个点的点的坐标创建PCL点云数据结构,作为待标注点云。
上述方案中,可以基于用户的人机交互操作,准确确定第一区域,进而确定第一区域中的待标注点云。这种方案充分考虑用户的个性化需求,使得标注更人性化,也更高效,从而方法可用性也更好。
如前所述,对于采用分割标注模式进行标注的情况,可以输出所确定的目标点云中的每个点的位置信息,作为标注数据。该位置信息可以是点的位置坐标,但是点云中点的数据量可能较大,输出点的位置坐标的方案所占用的存储量也较大。
示例性地,对于采用分割标注模式的情况,在步骤S120对待标注点云进行地面点云过滤之前,该方法100还包括步骤S113。
步骤S113,将待标注点云中的每个点的坐标和每个点的索引信息进行绑定并存储索引信息。示例性地,如上所述,在客户端将该三维点云中落在第一区域内的各个点的位置坐标传递给服务器端的同时,还可以将每个点的索引信息传递给服务器端。点的索引信息例如是表示点的序号的扩展字段如“data[3]”。服务器端可以将接收到的每个点的位置坐标和点的索引信息进行绑定。即可以将点的xyz坐标与其索引序号组成联合体。进而,可以基于绑定后的点的组合信息创建PCL点云数据结构,作为待标注点云。同时保存每个点的索引信息。
步骤S160输出所确定的目标点云的位置信息,包括步骤S161。在步骤S161,输出所确定的目标点云中的各个点的索引信息。在对待标注点云进行地面点云过滤,并对过滤后的点云进行目标分割得到目标点云之后,可以确定出目标点云中每个点的位置坐标。由于在步骤S113已将每个点的位置坐标和点的索引信息进行绑定,因此,可以基于点的位置坐标确定点的索引信息。在此步骤中可以用点的索引信息表示点的位置信息,可以输出所确定的目标点云中的各个点的索引信息。例如,服务器端可以将所确定的目标点云中的每个点的索引信息作为标注信息返回给客户端。这样,可以显著提高数据传输速度。
上述方案中,通过将待标注点云中每个点的坐标和点的索引信息进行绑定,并将所确定的目标点云的点的索引信息作为标注数据输出。可以在保证标注精度的基础上,节约数据存储和传输所需的空间,显著提高数据传输速度,从而可以有效提高标注效率。
示例性地,在步骤S120对待标注点云进行地面点云过滤之前,方法100还包括步骤S114。步骤S114,对待标注点云执行降采样,以得到降采样之后的待标注点云。可以采用任何现有的或者未来研发的合适的点云降采样方法对待标注点云进行降采样。示例性而非限制性地,可以采用随机降采样、滑动最小二乘法降采样、半径滤波降采样、泊松盘降采样等降采样算法实现。可以理解,通过点云降采样,可以在保证待标注点云整体几何特征不变的基础上降低待标注点云的密度,进而可以降低地面点云滤波和目标分割等步骤中的点云处理的数据量和算法复杂度,从而可以显著提高标注效率。
如前所述,对于采用外包围框标注模式进行标注的情况,则无需输出每个点的位置信息,而可以输出所确定的目标点云的外包围框,作为标注数据。在这种情况下,在对待标注点云进行处理标注时则只要保证点云整体几何特征不变,即可准确确定出其外包围框。因此,对于采用外包围框标注模式的情况,尤其适于在上述步骤S114中对待标注点云执行降采样,以在保证输出结果的准确性的同时,降低后续处理步骤的计算量并且提高标注效率。
示例性地,方法100还包括步骤S120’。在步骤S120’,在待标注点云的点的数目小于预设阈值的情况下,采用随机采样一致性滤波方法,对待标注点云进行地面点云过滤,以获得过滤后的点云。其中,上述步骤S120基于待标注点云中的不同部分的点的密度,对待标注点云进行地面点云过滤,在待标注点云的点的数目不小于预设阈值的情况下执行。
根据本申请实施例,在对待标注点云进行地面点云过滤之前,可以首先统计待标注点云中的点的数目,根据所统计的数目确定合适的地面点云过滤算法,以平衡地面点云过滤的精度和效率。换言之,视待标注点云中点的数目,步骤S140的目标分割所针对的过滤后的点云可以是通过步骤S120’或步骤S120获得的。
具体地,当确定待标注点云中点的数目小于预设阈值时,可以直接采用随机采样一致性滤波算法进行地面点云过滤。预设阈值可以是根据数据测试得到的经验值,对于不同的点云数据可以设置不同的预设阈值。例如,预设阈值可以是1500。即,当待标注点云中点的数目小于1500个点时,可以直接采用随机采样一致性滤波算法去除待标注点云中的地面点云。利用随机采样一致性滤波算法去除点云中的地面点云的方案处理速度更快,并且对于点数目较小的点云的过滤精度也较好。
当确定待标注点云中点的数量大于或等于预设阈值时,直接利用随机采样一致性滤波算法去除待标注点云中的地面点云的过滤精度可能相对较差。对于这种情况,可以根据待标注点云中的不同部分的点的密度,对待标注点云进行地面点云过滤。
上述方案中,在待标注点云的数据量较小时,直接利用随机采样一致性滤波算法去除地面点云,处理速度更快。而对于待标注点云数据量较大时,则根据待标注点云中的不同部分的点的密度进行地面点云过滤,以保证处理效率和处理精度。这种根据待标注点云的数据量大小采用匹配的地面点云过滤方法的方案执行逻辑更合理,可以更大程度地平衡点云的处理速度和处理精度。
示例性地,步骤S120中基于待标注点云的不同部分的点的密度,对待标注点云进行地面点云过滤,包括步骤S121至步骤S124。
步骤S121,基于待标注点云的不同部分的点的密度,将待标注点云划分为稀疏点云部分和稠密点云部分。
在一个示例中,可以利用半径滤波器对待标注点云进行滤波,以确定稀疏点云部分和稠密点云部分。具体地,步骤S121将待标注点云划分为稀疏点云部分和稠密点云部分,包括步骤S121.1和步骤S121.2。步骤S121.1,利用半径异常点滤波器(Radius OutlierRemoval,简称ROR),对待标注点云进行滤波,并将滤波后的点云作为稠密点云部分。步骤S121.2,将待标注点云中的稠密点云部分之外的其他点云确定为稀疏点云部分。
根据本申请实施例,步骤S121.1可以遍历待标注点云中的每个点,利用半径异常点滤波器,并设置合适的滤波半径和点数阈值,过滤掉待标注点云中的稀疏点,得到由稠密点组成的稠密点云部分。这种方法可以快速且准确地去除待标注点云中的稀疏点。过滤后的点云即为稠密点云部分。而在步骤S121.2,则可以通过对比待标注点云和过滤后的稠密点云部分,将稠密点云部分之外的其他点的点集确定为稀疏点云部分。这种划分方法更简单,也更准确。总之,基于上述技术方案,可以将待标注点云以较少的计算代价准确地划分为稀疏点云部分和稠密点云部分。
步骤S122,对稀疏点云部分执行渐进式形态学滤波,以获得滤波结果,其中滤波结果包括去除了稀疏点云部分中的地面点云的经滤波的稀疏点云部分。可以理解,由于地面点云中点的分布通常更稀疏,因此,步骤S121中所得到的稀疏点云部分中可以包括大部分的地面点云。进而,在步骤S122,可以对稀疏点云部分进行地面点云过滤。具体地,在此步骤中可以采用渐进式形态学滤波方法去除稀疏部分点云中的地面点云。可以设置合适的高差阈值和逐渐增加的窗口等参数,并基于将这些参数利用PCL库中的渐进式形态学滤波算法,得到稀疏点云部分中的地面点云和非地面点云。并可以删除稀疏点云部分中的地面点云,即可得到去除了稀疏点云部分中的地面点云的经滤波的稀疏点云部分。
利用渐进式形态学滤波方法可以适用于各种场景下的地面点云过滤,过滤效果也较好,可以去除掉稀疏点云部分中的大部分地面点云。然而,该方法对稠密点云的处理速度较慢,而此步骤中通过仅对稀疏点云部分进行渐进式形态学滤波,既可以保证较快的处理速度,又可以保证较好的处理效果。
步骤S123,合并稠密点云部分和经滤波的稀疏点云部分,以得到第一合并点云。可以将步骤S121中得到的稠密点云部分和步骤S122得到的经滤波的稀疏点云部分直接合并为一组点云,得到第一合并点云。
步骤S124,基于第一合并点云确定过滤后的点云。可选地,可以直接将第一合并点云作为过滤后的点云。替代地,也可以对该第一合并点云进行进一步处理,例如还可以采用各种合适的方法对该第一合并点云进行二次地面点云过滤,将经二次地面点云过滤之后的点云作为过滤后的点云,执行后续的目标分割。
上述方案中,通过基于待标注点云的不同部分的点的密度,将待标注点云划分为稀疏点云部分和稠密点云部分,并通过利用形态学技术仅对稀疏点云部分进行地面点云过滤,实现了快速准确地去除待标注点云中的大部分地面点云的目的。此外,还合并过滤后的稀疏点云部分和稠密点云部分,并基于合并后的点云确定地面点云过滤后的点云,保证待标注点云中除地面点云之外的点云的完整性。因此,该方案一方面较大程度地保证了地面点云过滤的较好的处理效率和处理精度,另一方面保证了待标注点云中目标点云的完整性,进而确保了目标标注效果。
示例性地,滤波结果还包括:稀疏点云部分中的地面点云的高度范围。可以理解,利用诸如渐进式形态学滤波算法还可以输出稀疏点云部分中的地面点云的数字地形模型(Digital Terrain Model,简称DTM)。基于该数字地形模型还可以得到地面点云的高度范围。该高度范围例如是稀疏点云部分中的地面点云的Z坐标值的取值范围。
步骤S124基于第一合并点云确定过滤后的点云可以包括步骤:基于高度范围,删除第一合并点云中的地面点,以得到过滤后的点云。其中,地面点的高度在稀疏点云部分中的地面点云的高度范围内。
可以理解,对于大场景下的三维点云,其地面并非理想的平面,而是在一定高度范围内呈现出高度起伏的状态。因此,采用上述地面点云过滤方法可能无法将地面点云完全去除掉。例如,对于稠密点云部分,其中也可能包括地面点云,这部分点云包括在第一合并点云中。而在此方案中,还可以利用渐进式形态学滤波算法所输出的数字地形模型中所表示的地面高度范围,进一步过滤掉第一合并点云中所包含的剩余地面点云。以数字地形模型中所表示的地面高度范围为0米≤z≤1米为例,可以遍历第一合并点云中的各个点,将z坐标值在该范围内的点去除掉。具体地,可以基于该高度范围,利用PCL中的直通滤波器过滤掉该地面高度范围内的点,得到过滤后的点云。
该方案可以进一步提高地面点云过滤的彻底性,避免残留的地面点云对后续目标识别的干扰,从而有助于提高目标标注的效率和精度。
示例性地,步骤S140对过滤后的点云进行目标分割,以确定目标点云,包括步骤S141。在步骤S141,对过滤后的点云进行目标分割,以得到过滤后的点云中的至少一个分割点云。步骤S140还包括:对于每个分割点云,执行以下步骤S142至步骤S144。步骤S142,对于每个分割点云,采用随机采样一致性分割方法确定表征该分割点云的直线。步骤S143,确定该分割点云中的、落在直线上的点的数目占比。步骤S144,若占比小于预设占比阈值,则将该分割点云确定为目标点云。
可以理解,在步骤S141可以利用任意合适的分割算法实现点云的目标分割,例如欧式聚类分割算法、区域生长分割算法等,以获得一个或多个分割点云。每个分割点云可以是点云分割的不同分割结果。例如,利用欧式聚类分割算法将过滤后的点云分割为对应对象D的第一分割点云和对应对象E的第二分割点云。对应第一分割点云的对象D可能并非为期望分割的目标。例如,对象D可能不是目标汽车,而可能是其他干扰物体的一部分,例如是树木。即,第一分割点云并非为期望标注的目标点云,而是无效的分割结果。因此,可以通过步骤S142至步骤S144的方法将第一分割点云中的无效分割结果过滤掉。具体地,可以在步骤S142采用随机采样一致性的方法获取表征每个分割点云的直线(或平面)。并可以在步骤S143计算该分割点云中落在该直线上的点的数量占该分割点云中所有点的数目的比值。然后,在步骤S144,根据占比与预设占阈值,删除掉无效的分割点云。预设占比阈值可以根据实际处理需求进行设置。例如50%。即,若某一分割点云所计算的占比大于或等于50%,则可以直接将该分割点云去掉。
上述方案中,通过随机采样一致性的直线拟合方法可以过滤掉无效的分割结果,从而可以进一步提高所确定的目标点云的准确性,保证较好的标注精度。
如前所述,对于采用外包围框标注模式的情况,可以输出目标点云的真实外包围框的位置信息。示例性地,在步骤S160输出所确定的目标点云的位置信息之前,该方法100还包括步骤S150。
步骤S150,计算所确定的每一个目标点云的真实外包围框的位置信息,以作为该目标点云的位置信息。可以采用任何合适的方法计算每个目标点云的真实外包围框的位置信息。该真实外包围框可以是各种合适的外包围框,诸如轴对齐包围框、方向包围框、固定方向凸包等。示例性地,目标点云的真实外包围框可以是包围该目标点云的最小立方体外包围框。目标点云例如是汽车的点云,则其外包围框可以是底面平行于地面的最小长方体外包围框。可选地,可以直接根据目标点云中各个点的三维坐标,采用各种合适的外包围框拟合算法,确定出每个目标点云的外包围框。替代地,也可以利用诸如PCL等点云基础处理平台中已有的方法获取初始***框,进而通过对初始***框进行调整得到期望的外包围框,作为真实外包围框。
上述确定并输出目标点云的真实外包围框的方案较简单,标注效率较高。
示例性地,步骤S150计算所确定的每一个目标点云的真实外包围框的位置信息,包括对于所确定的每一个目标点云,执行步骤S151至步骤S154。
步骤S151,对于所确定的每一个目标点云,根据该目标点云的点,确定该目标点云的初始外包围框。步骤S152,确定初始外包围框的中心点。步骤S153,以中心点为旋转中心,将该目标点云沿高度方向旋转180°,以得到旋转点云。步骤S154,将旋转点云和目标点云进行合并,并计算合并后的点云的外包围框的位置信息,以作为该目标点云的真实外包围框的位置信息。
图2a示出根据本申请一个实施例的目标点云的初始外包围框的示意图。该实施例中,目标是汽车。如图所示,可以利用PCL中的最小有向包围框的确定方法,确定每个汽车点云的初始最小有向包围框(图中的灰色外包围框所示)。
可以理解,由于在诸如雷达扫描汽车的过程中,汽车的有些面可能被遮挡而未被扫到。因此得到的点云中并非较完整的汽车点云。例如,汽车的右侧面数据缺失,从而导致PCL中所确定的目标点云的初始有向包围框偏离其真实位置。例如,所确定的矩形有向包围框的底面与地面不贴合,或说角度偏差较大。从而,根据本申请的实施例,还对所确定的每个目标点云的初始外包围框进行调整,得到每个目标点云的真实外包围框。具体地,可以首先采用各种合适的方法确定初始外包围框的中心。认为初始外包围框的中心对应目标点云的中心,因此,可以基于初始外包围框的中心,将目标点云进行位置变换,使得变换后的目标点云可以大致补全扫描缺失的点云部分。
图2b示出根据本申请一个实施例的目标点云的旋转点云的示意图。基于诸如汽车等目标多为对称的物体,如图所示,可以以所确定的初始外包围框的中心点为旋转中心,将目标点云沿高度方向旋转180°,得到旋转点云。高度方向可以是目标的高度方向,例如是汽车的高度方向,即垂直于地面的方向。可以理解,对于大场景中目标的三维点云,点云的z轴方向通常对应目标的高度方向。因此,可以将诸如汽车点云的目标点云以中心点为旋转中心,绕z轴方向旋转180°。得到旋转点云。以目标点云为汽车点云为例,可以理解,汽车大体为左右对称的结构。旋转后的汽车点云的左侧与旋转前的汽车点云的右侧可以贴合在一起。
图2c示出根据本申请一个实施例的目标点云的真实外包围框的示意图。如图所示,将旋转后的汽车点云与旋转前的汽车点云合并在一起,合并后的点云可以大致补全原始点云所缺失的一面的点云数据。具体地,对于雷达可见的汽车的左侧点云在其旋转后可以大体表示雷达不可见的汽车的右侧面,即可以作为汽车的右侧点云。由此,将汽车的点云补充完整,避免其受到雷达视角的负面影响。最后,可以利用PCL中的有向包围框确定方法,确定合并点云的最小有向包围框。由此,该最小有向包围量的长度方向可以准确对应车身方向,且高度方向可以有效对应汽车的高度方向。最终,可以将该最小有向包围框作为目标点云的真实外包围框,并输出该真实外包围框的位置信息,作为标注信息。
上述方案所确定的每个目标点云的真实外包围框可以更准确地表示汽车的位置信息,从而标注信息更准确。并且,此方案执行逻辑简单,计算量较小,从而处理效率也较高,实时性较好。
图3示出根据本申请另一个实施例的三维点云的目标标注方法300的示意性流程图。三维点云可以是自动驾驶中的汽车A的车外环境的点云。如图3所示,可以采用B/S架构,并提供HTTP API调用,采用PCL中的点云处理算法实现三维点云的目标标注。首先,可以响应于用户对该三维点云的显示界面的第一操作,确定三维点云中的第一区域中的待标注点云,即划选区域分割。例如,用户可以通过可操作控件在三维点云中框选出一个矩形区域,即第一区域。客户端可以向服务器发出HTTP请求,该请求中包括关于该矩形区域的位置的信息。服务器可以基于该矩形区域的位置,计算当前帧中落在该矩形区域内的点云,并构建PCL点云数据,作为待标注点云。在此步骤中,还可以绑定点云中每个点的位置信息和索引信息,并存储点的索引信息。此外,还可以基于用户对标注模式的选择操作,确定当前的标注模式。该标注方式可以包括外包围框标注方式和分割标注方式。在确定当前的标注方式为外包围框标注方式的情况下,可以首先对该待标注点云执行点云的降采样,使得待标注点云中点的数目下降以减少计算量,提高处理效率。通常情况下,降采样后的点云的数目可以减少至预设数目阈值以下,即可降采样后的点云进行进一步地去地面等的处理。在确定当前的标注方式不是外包围框标注方式,而是分割标注方式的情况下,则不做点云的降采样,而可以直接对该待标注点云进行去地面等处理。具体地,可以计算待标注点云或降采样后的点云中的点的数目。若数目小于或等于预设数目阈值,则可以直接采用PCL中的随机采样一致性滤波方法,去除地面点云,得到过滤后的点云。若数目大于预设数目阈值,可以基于待标注点云中不同部分的点的密度,对待标注点云进行地面点云过滤,以获得去除了地面点云的过滤后的点云。具体地,可以通过半径过滤器将待标注点云分为稠密点云部分和稀疏点云部分。对稀疏点云部分采用渐进式形态学滤波方法进行过滤,去除该部分点云中的地面点云,得到过滤后的稀疏点云部分。同时,还可以根据渐进式形态滤波的结果,确定地面点云的高度取值范围,例如确定z的取值范围为[10,200]。合并过滤后的稀疏点云部分和稠密点云部分,得到合并后的点云。根据所确定的地面点云的高度取值范围(z坐标范围),过滤掉合并后的点云中的剩余地面点云,得到过滤后的点云。可以采用直通滤波器,去除合并点云中z坐标值在区间[10,200]中的点。然后,可以采用诸如欧式聚类分割的方法对过滤后的点云进行分割,确定待标注点云中的汽车点云。可以将欧式聚类分割得到的每个分割点云执行分割后处理操作。进而,可以确定每个汽车点云的外包围框,诸如矩形最小有向包围框,作为标注包围框。具体地,对于每个分割点云,可以利用随机采样一致性的方法获取每个分割点云所包含的直线。并计算该分割点云中落在直线上的点的数目与该分割点云中所有点的数目的占比。然后,根据占比与预设占比阈值,删除掉无效的分割点云。预设占比阈值可以根据实际处理需求进行设置。例如50%。即,若某一分割点云所计算的占比大于或等于50%,则可以直接将该分割点云去掉。从而,可以以剩余的每个分割点云为目标点云,确定每个目标点云的位置信息。对于采用区域分割标注方式的情况,可以直接输出每个目标点云中的点的索引信息。对于采用外包围框标注模式的情况,可以确定并输出目标点云的真实外包围框的位置信息。具体地,对于所确定的每一个目标点云,首先可以根据该目标点云的点,确定该目标点云的初始外包围框。然后,可以确定初始外包围框的中心点。并可以以中心点为旋转中心,将该目标点云沿绕z轴旋转180°,以得到旋转点云。并将旋转点云和目标点云进行合并,并计算合并后的点云的外包围框的位置信息,以作为该目标点云的真实外包围框的位置信息。示例性地,待所有后处理异步任务完成之后,可以输出所有目标点云的位置信息,作为标注数据。
根据本申请另一方面,还提供一种点云连续帧中目标跟踪方法。图4示出根据本申请一个实施例的点云连续帧中目标跟踪方法400的示意性流程图。如图4所示,该跟踪方法400包括步骤S410、步骤S420、步骤S430、步骤S440和步骤S450。
步骤S410,获取待跟踪目标的三维点云的连续帧以及连续帧的当前帧中待跟踪目标的目标点云的位置信息。其中,位置信息包括目标点云的外包围框的位置信息。
根据本申请实施例,此步骤中可以直接利用点云采集装置获取三维点云的连续帧,也可以间接调用预先存储好的连续帧。例如,用户可以利用客户端向服务器发送待跟踪的连续帧的统一资源定位符(URL),而此步骤中则可以基于接收到的连续帧URL从网络存储多线程拉取该连续帧。拉取连续帧和获取待跟踪目标的、连续帧的当前帧中的目标点云的位置信息可以按照各种合适的执行顺序执行。目标点云的位置信息包括目标点云的外包围框的位置信息。可选地,目标点云的外包围框可以是预先标注好的,可以称作标注包围框。此步骤中可以先获取标注好的目标点云的标注包围框和待跟踪的连续帧URL,然后再基于连续帧URL拉取连续帧。替代地,也可以先拉取待进行目标跟踪的连续帧,再获取待跟踪目标的、连续帧的一帧中的标注包围框。例如,可以在拉取连续帧之后,接收用户利用客户端输入的对当前帧中的待跟踪目标的标注包围框,或者也可以采用合适的目标标注算法确定出该标注包围框。
在一个示例中,连续帧的当前帧可以是连续帧中的任意一帧,只要在该帧中包括待跟踪目标即可。在另一示例中,该当前帧也可以是连续帧中的特定帧。该特定帧例如是连续帧中的中间帧,或者是连续帧中的第一帧等。根据本申请实施例,该标注包围框可以是当前帧中对应待跟踪目标的目标点云的立体外包围框。该标注包围框可以是任何合适的立体外包围框。包括但不限于轴对齐包围框、有向包围框和点云凸包等。优选地,该标注包围框可以是当前帧中对应待跟踪目标的目标点云的最小有向包围框。
步骤S420、步骤S430、步骤S440和步骤S450针对步骤S410所获取的连续帧中除了当前帧以外的每一其他帧执行,以确定这些其他帧中的目标跟踪点云。
步骤S420,对于连续帧中除了当前帧以外的每一其他帧,至少基于外包围框的位置信息,确定该其他帧中的划选点云,其中,外包围框是前述当前帧中待跟踪目标的目标点云的外包围框,外包围框在该其他帧中的位置对应框内的点云是划选点云中的一部分。
可以理解,前述当前帧中所标注的待跟踪目标的标注包围框为待跟踪目标在当前帧中的真实包围框。在一段时间内所获取的连续帧中,待跟踪目标的位置很可能发生移动。例如,对于行驶中的汽车A,其车外环境不断发生改变。具体以待跟踪目标为位于汽车A旁边的汽车B为例,汽车A和汽车B在短时间内的相对位置关系可能发生变化。因此,对于采集到的汽车A的车外环境的连续帧中,汽车B在不同帧中的位置可以不同。可以理解,连续帧中同一目标的位置变化通常是循序渐进的。因此,可以在确定了连续帧的某一帧中目标的位置之后,可以根据该帧中目标的位置估计目标在其他帧中的大致位置范围。根据本申请实施例,在步骤S410确定待跟踪目标在当前帧中的标注包围框之后,可以根据标注包围框在当前帧中的位置参数,对连续帧中当前帧以外的每一其他帧中的待跟踪目标进行跟踪。具体地,可以在此步骤S420中根据标注包围框在当前帧中的位置参数,确定每一其他帧中的划选点云。划选点云可以是表示待跟踪目标可能所在的划选区域内的点云。该划选区域可以是包含且大于待跟踪目标在该其他帧中的真实位置区域的区域。
根据本申请实施例,可以根据标注包围框在当前帧中的位置参数,采用各种合适的确定逻辑确定出每一其他帧中的划选点云。示例性而非限制性地,可以根据标注包围框在当前帧中的位置参数,确定出每一其他帧中的、大于该标注包围框的位置对应框所在区域的划选区域,并将落在所确定的划选区域内的点云确定为划选点云。例如,在上述汽车A的车外环境的连续帧的实施例中,若所确定的当前帧中汽车B的标注包围框表示为“200≤x≤700,100≤y≤330且100≤z≤330”,则可以在每一其他帧中确定划选区域,该划选区域可以是其他帧中包括且大于位置对应框“200≤x≤700,100≤y≤330且100≤z≤330”的区域。该划选区域例如为沿位置对应框的预设方向进行延伸后得到的大区域。该预设方向例如是确定的待跟踪目标的移动方向。例如,可以先采用任何合适的方法确定出待跟踪目标的移动方向。具体例如,标注包围框为矩形框,移动方向可以是矩形框的长边方向。在确定移动方向之后,可以将位置对应框沿着该移动方向进行外扩,将外扩后的区域作为划选区域,进而确定每一当前帧中落在该划选区域中的划选点云。该预设方向也可以是点云的三维坐标轴的方向,如将位置对应框沿着至少一个维度方向进行外扩,得到划选区域,并确定落在划选区域中的划选点云。
步骤S430,对划选点云进行目标分割,以确定分割点云。
可以理解,划选点云中除了包括待跟踪目标的目标点云之外,还可以包括待跟踪目标周围的非目标点云。例如,在上述汽车A的车外环境的连续帧的实施例中,在确定的每一个其他帧的划选点云中,除了包括汽车B对应的目标点云,还可以包括汽车B附近的非目标点云。例如,划选点云中还可能包括位于地面的地面点云和汽车C对应的点云。在此步骤中,可以采用任何合适的方法对划选点云进行目标分割,以确定作为分割结果的分割点云。可选地,可以直接采用根据现有的或者未来研发的合适的点云分割算法进行分割,得到分割结果。这些点云分割算法可以包括但不限于随机采样一致性分割算法、欧式聚类分割算法、区域生长分割算法中的任一种。例如,可以直接采用欧式聚类分割的方法对划选点云进行目标分割,得到分割点云。由于采用欧式聚类分割算法的计算量更小,分割结果也较准确。替代地,还可以先对划选点云进行地面点云过滤,然后再采用诸如欧式聚类分割算法对过滤后的划选点云进行目标分割,得到分割点云。这种方案可以更准确地分割出期望的分割点云。
可以理解,此步骤中所确定的分割点云的数目可能为1个,也可能为多个。在一个示例中,如划选点云中仅包括对应汽车B的目标点云和其周围的少量干扰点云。则在此步骤中可以采用诸如欧式聚类分割的方法对划选点云进行目标分割,可以得到一个对应汽车B的分割点云。在另一示例中,如划选点云中包括对应汽车B的目标点云和对应汽车C的点云和附近的地面点云,则可以在此步骤中先对划选点云进行地面点云过滤,得到过滤后的点云。可以理解,过滤后的点云中可以包括对应汽车B的点云和对应汽车C的点云。然后可以通过例如欧式聚类分割的方法对经地面点云过滤之后的点云进行分割,可以分割出仅包括汽车B的点的分割点云和仅包括汽车C的点的分割点云,即可以得到两个分割点云。类似地,若分割点云中包括2个以上的汽车,则此步骤中可以分割出2个以上的分割点云。当然,对于一些情况下,此步骤中所确定的分割点云的数目也可能为0个。例如,某些其他帧中也可以不存在待跟踪目标,在这种情况下,此步骤中所确定的分割点云的数目可以是0个。
步骤S440,对外包围框中的点云进行跟踪运算,以确定待跟踪目标的、该其他帧中的预测包围框。
对标注包围框中的点云进行跟踪,确定出待跟踪目标在连续帧中每一个其他帧中的位置,进而确定出待跟踪目标在每个其他帧中的预测包围框。例如,可以计算待跟踪目标的标注包围框在当前帧中包含的点,并构建出点云数据,作为待跟踪点云。然后,可以将待跟踪点云输入到PCL跟踪算法模块中,并启动连续帧的跟踪任务。可选地,可以直接针对每个其他帧的点云执行待跟踪点云的跟踪。例如,可以将每个其他帧的点云输入至PCL跟踪算法模块中,输出待跟踪目标在每帧中的预测包围框。替代地,也可以针对上述步骤S420中所确定的每个其他帧中的划选点云执行待跟踪点云的跟踪。例如,可以仅将每个其他帧中的划选点云输入至PCL跟踪算法模块中,输出待跟踪目标在划选点云中的预测包围框。这种方案可以显著减少计算量,提高目标跟踪的效率,并可以提高跟踪的准确率。
根据本申请实施例,可以采用任何现有的或者未来研发的合适的目标跟踪算法实现此步骤中的目标跟踪。包括但不限于基于匈牙利算法的目标跟踪方法、基于卡尔曼滤波的目标跟踪方法、基于相关滤波的目标跟踪方法等。
步骤S450,基于预测包围框,确定分割点云中的待跟踪目标的目标跟踪点云。
根据本申请实施例,可以根据步骤S430中通过目标分割所确定的分割点云与预测包围框的相对位置关系,确定目标跟踪点云。具体地,目标跟踪点云可以是所确定的分割点云中的一组。换言之,可以通过目标跟踪结果所得到的预测包围框,对目标分割结果得到的分割点云进行筛选,确定最终的目标跟踪点云。示例性地,对于每个其他帧,可以根据预测包围框和每个分割点云的相对位置关系,筛选出符合预设标准的分割点云,作为目标跟踪点云。该相对位置关系可以通过多种方法来确定。
在一个示例中,可以通过每个分割点云中落在预测包围框中的点的数目来表示相对位置关系,从而确定目标跟踪点云。例如,对于步骤S430中所确定的分割点云为多个的情况,可以分别确定各个分割点云中落在预测包围框中的点的数目,然后可以直接将确定的数目最多的分割点云确定为目标跟踪点云。特别地,这种情况下,对于步骤S150中仅确定一个分割点云的情况,可以直接将其确定为目标跟踪点云。或者,也可以设置数目阈值,若点的数目大于或等于数目阈值,则可以将该分割点云作为备选的目标跟踪点云,进而从备选的目标跟踪点云中将确定的点的数目最多的一个确定为目标跟踪点云。该数目阈值可以根据实际需求进行任意设置,例如可以设置为3、5、10等。在这种示例中,对于各个分割点云中落在预测包围框中的点的数目均小于预设阈值的情况,还可以返回“待复核”等提示信息,可以进一步由人工复核确定该其他帧中是否存在目标跟踪点云。
在另一示例中,也可以先根据步骤S430的目标分割结果,确定出每个分割点云的外包围框。然后,可以根据每个分割点云的外包围框和预测包围框的相对位置关系,确定目标跟踪点云。例如,可以计算每个分割点云的外包围框和预测包围框的交集区域的面积。可以将交集区域的面积最大的分割点云确定为目标跟踪点云。或者,也可以设置面积阈值,将交集区域的面积大于面积阈值的分割点云作为备选的分割点云,从中将交集区域的面积最大的分割点云确定为目标跟踪点云。
当然,也可以采用任何其他合适的方法确定出预测包围框和每个分割点云的相对位置关系,进而确定目标跟踪点云。
步骤S410中获取连续帧的当前帧中待跟踪目标的目标点云的位置信息可以是利用上述的三维点云的目标标注方法100得到的。具体地,可以采用步骤S120中的地面点云过滤方法,对当前帧中的第一区域的待标注点云进行地面点云过滤,得到过滤后的点云。然后通过步骤S140的分割方法,确定当前帧中的每个目标点云。并输出每个目标点云的位置信息。该位置信息包括目标点云的外包围框的位置信息。
步骤S430对划选点云进行目标分割,以确定分割点云可以包括:以划选点云为待标注点云,以分割点云为目标点云,利用上述三维点云的目标标注方法100确定分割点云。类似地,可以采用步骤S120中的地面点云过滤方法过滤掉划选点云中的地面点云。并可以采用步骤S140的分割方法,确定每个其他帧中的分割点云。
上述方案可以显著提高点云连续帧中目标的跟踪精度。同时,此方案的执行逻辑较简单、计算量也较小,从而跟踪的效率也较高。并且,该方案的适用性较好,可以适用于各种场景下的三维点云的连续帧的目标跟踪。
根据本申请另一方面,还提供一种三维点云的目标标注***。图5示出根据本申请一个实施例的三维点云的目标标注***500的示意性框图。如图所示,该***500包括过滤模块510、分割模块520和输出模块530。过滤模块510,用于针对三维点云中的第一区域中的待标注点云,基于待标注点云的不同部分的点的密度,对待标注点云进行地面点云过滤,以获得去除了地面点云的过滤后的点云。分割模块520,用于对过滤后的点云进行目标分割,以确定目标点云。输出模块530,用于输出所确定的目标点云的位置信息。
根据本申请另一方面,还提供一种点云连续帧中目标跟踪***。图6示出根据本申请一个实施例的三维点云的目标标注***600的示意性框图。该***600包括获取模块610、第一确定模块620、分割模块630、跟踪运算模块640和第二确定模块650。获取模块610,用于获取待跟踪目标的三维点云的连续帧以及连续帧的当前帧中待跟踪目标的目标点云的位置信息,其中,位置信息包括目标点云的外包围框的位置信息。第一确定模块620,用于对于连续帧中除了当前帧以外的每一其他帧,至少基于外包围框的位置信息,确定该其他帧中的划选点云。其中,外包围框在该其他帧中的位置对应框内的点云是划选点云中的一部分。分割模块630,用于对划选点云进行目标分割,以确定分割点云。跟踪运算模块640,用于对外包围框中的点云进行跟踪运算,以确定待跟踪目标的、该其他帧中的预测包围框。第二确定模块650,用于基于预测包围框,确定分割点云中的待跟踪目标的目标跟踪点云。其中,获取模块610获取连续帧的当前帧中待跟踪目标的目标点云的位置信息是利用上述三维点云的目标标注方法100得到的;和/或分割模块630具体用于:以划选点云为待标注点云,以分割点云为目标点云,利用如上述三维点云的目标标注方法100确定分割点云。
根据本申请另一方面,还提供一种电子设备。图7示出根据本申请一个实施例的电子设备700的示意性框图。如图7所示,该电子设备700包括处理器710和存储器720,其中,存储器720中存储有计算机程序指令,计算机程序指令被处理器710运行时用于执行上述三维点云的目标标注方法100和/或上述点云连续帧中目标跟踪方法400。
根据本申请另一方面,还提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述三维点云的目标标注方法100和/或上述点云连续帧中目标跟踪方法400。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的三维点云的目标标注***或点云连续帧中目标跟踪***中的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种三维点云的目标标注方法,其特征在于,包括:
针对三维点云中的第一区域中的待标注点云,基于所述待标注点云的不同部分的点的密度,对所述待标注点云进行地面点云过滤,以获得去除了所述地面点云的过滤后的点云;
对所述过滤后的点云进行目标分割,以确定目标点云;以及
输出所确定的目标点云的位置信息。
2.如权利要求1所述的三维点云的目标标注方法,其特征在于,所述基于所述待标注点云的不同部分的点的密度,对所述待标注点云进行地面点云过滤,包括:
基于所述待标注点云的不同部分的点的密度,将所述待标注点云划分为稀疏点云部分和稠密点云部分;
对所述稀疏点云部分执行渐进式形态学滤波,以获得滤波结果,其中所述滤波结果包括去除了所述稀疏点云部分中的地面点云的经滤波的稀疏点云部分;
合并所述稠密点云部分和所述经滤波的稀疏点云部分,以得到第一合并点云;以及
基于所述第一合并点云确定所述过滤后的点云。
3.如权利要求2所述的三维点云的目标标注方法,其特征在于,所述滤波结果还包括:所述稀疏点云部分中的地面点云的高度范围,
所述基于所述第一合并点云确定所述过滤后的点云,包括:
基于所述高度范围,删除所述第一合并点云中的地面点,以得到所述过滤后的点云,其中,所述地面点的高度在所述高度范围内。
4.如权利要求2所述的三维点云的目标标注方法,其特征在于,所述将所述待标注点云划分为稀疏点云部分和稠密点云部分,包括:
利用半径异常点滤波器,对所述待标注点云进行滤波,并将滤波后的点云作为所述稠密点云部分;以及
将所述待标注点云中的所述稠密点云部分之外的其他点云确定为所述稀疏点云部分。
5.如权利要求1至4任一项所述的三维点云的目标标注方法,其特征在于,在所述对所述待标注点云进行地面点云过滤之前,所述方法还包括:
将所述待标注点云中的每个点的坐标和每个点的索引信息进行绑定并存储所述索引信息;
所述输出所确定的目标点云的位置信息,包括:
输出所确定的目标点云中的各个点的索引信息。
6.如权利要求1至4任一项所述的三维点云的目标标注方法,其特征在于,
在所述输出所确定的目标点云的位置信息之前,所述方法还包括:
计算所确定的每一个目标点云的真实外包围框的位置信息,以作为该目标点云的位置信息。
7.如权利要求6所述的三维点云的目标标注方法,其特征在于,所述计算所确定的每一个目标点云的真实外包围框的位置信息,包括:
对于所确定的每一个目标点云,
根据该目标点云的点,确定该目标点云的初始外包围框;
确定所述初始外包围框的中心点,
以所述中心点为旋转中心,将该目标点云沿高度方向旋转180°,以得到旋转点云;以及
将所述旋转点云和所述目标点云进行合并,并计算合并后的点云的外包围框的位置信息,以作为该目标点云的真实外包围框的位置信息。
8.如权利要求1至4任一项所述的三维点云的目标标注方法,其特征在于,在所述基于所述待标注点云中的点的密度,对所述待标注点云进行地面点云过滤之前,所述方法还包括:
响应于用户对可视化界面中所显示的所述三维点云的第一操作,确定所述第一区域;以及
确定所述三维点云的、所述第一区域中的各个点组成的点集,作为所述待标注点云。
9.一种点云连续帧中目标跟踪方法,其特征在于,包括:
获取待跟踪目标的三维点云的连续帧以及所述连续帧的当前帧中所述待跟踪目标的目标点云的位置信息,其中,所述位置信息包括所述目标点云的外包围框的位置信息;
对于所述连续帧中除了所述当前帧以外的每一其他帧,
至少基于所述外包围框的位置信息,确定该其他帧中的划选点云,其中,所述外包围框在该其他帧中的位置对应框内的点云是所述划选点云中的一部分;
对所述划选点云进行目标分割,以确定分割点云;
对所述外包围框中的点云进行跟踪运算,以确定所述待跟踪目标的、该其他帧中的预测包围框;以及
基于所述预测包围框,确定所述分割点云中的所述待跟踪目标的目标跟踪点云;
其中,所述获取所述连续帧的当前帧中所述待跟踪目标的目标点云的位置信息是利用如权利要求1至8任一项所述的三维点云的目标标注方法得到的;和/或
所述对所述划选点云进行目标分割,以确定分割点云,包括:以所述划选点云为待标注点云,以所述分割点云为目标点云,利用如权利要求1至8任一项所述的三维点云的目标标注方法确定所述分割点云。
10.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至8任一项所述的三维点云的目标标注方法和/或如权利要求9所述的点云连续帧中目标跟踪方法。
CN202310461018.0A 2023-04-26 2023-04-26 三维点云的目标标注方法和点云连续帧中目标跟踪方法 Pending CN116823942A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310461018.0A CN116823942A (zh) 2023-04-26 2023-04-26 三维点云的目标标注方法和点云连续帧中目标跟踪方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310461018.0A CN116823942A (zh) 2023-04-26 2023-04-26 三维点云的目标标注方法和点云连续帧中目标跟踪方法

Publications (1)

Publication Number Publication Date
CN116823942A true CN116823942A (zh) 2023-09-29

Family

ID=88119215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310461018.0A Pending CN116823942A (zh) 2023-04-26 2023-04-26 三维点云的目标标注方法和点云连续帧中目标跟踪方法

Country Status (1)

Country Link
CN (1) CN116823942A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117894015A (zh) * 2024-03-15 2024-04-16 浙江华是科技股份有限公司 点云标注数据优选方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117894015A (zh) * 2024-03-15 2024-04-16 浙江华是科技股份有限公司 点云标注数据优选方法及***
CN117894015B (zh) * 2024-03-15 2024-05-24 浙江华是科技股份有限公司 点云标注数据优选方法及***

Similar Documents

Publication Publication Date Title
JP5430456B2 (ja) 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置
CN110176078B (zh) 一种训练集数据的标注方法及装置
CN109887033A (zh) 定位方法及装置
CN110673107B (zh) 基于多线激光雷达的路沿检测方法及装置
CN112651944B (zh) 基于cad模型的3c部件高精度六维位姿估计方法及***
CN106080397B (zh) 自适应巡航***及车载设备
CN112161622B (zh) 一种机器人足迹规划方法、装置、可读存储介质及机器人
CN114485698B (zh) 一种交叉路口引导线生成方法及***
CN115082881A (zh) 目标检测方法、存储介质、电子设备及车辆
CN116823942A (zh) 三维点云的目标标注方法和点云连续帧中目标跟踪方法
CN112744217A (zh) 碰撞检测方法、行驶路径的推荐方法及其装置和存储介质
CN115205803A (zh) 自动驾驶环境感知方法、介质及车辆
CN112435336B (zh) 一种弯道类型识别方法、装置、电子设备及存储介质
Cho et al. Real-time 3D reconstruction method using massive multi-sensor data analysis and fusion
Rozsa et al. Immediate vehicle movement estimation and 3D reconstruction for Mono cameras by utilizing epipolar geometry and direction prior
CN113867371B (zh) 路径规划方法和电子设备
JP2022513828A (ja) 位置決めのための環境モデルを生成する方法およびシステム
CN114037975A (zh) 路面标识线提取方法、装置、电子设备及存储介质
CN116523963A (zh) 点云连续帧中目标跟踪方法、***、电子设备及存储介质
Zieliński et al. 3d dense mapping with the graph of keyframe-based and view-dependent local maps
Chu et al. Convergent application for trace elimination of dynamic objects from accumulated lidar point clouds
CN111947670B (zh) 机器人建图方法、装置、智能设备和存储介质
JP2004093166A (ja) 目標識別装置
Ridene et al. Feature-based quality evaluation of 3d point clouds–study of the performance of 3d registration algorithms
CN117456489A (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