CN117197419A - 雷达点云的标注方法、装置、电子设备及存储介质 - Google Patents
雷达点云的标注方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117197419A CN117197419A CN202311163344.XA CN202311163344A CN117197419A CN 117197419 A CN117197419 A CN 117197419A CN 202311163344 A CN202311163344 A CN 202311163344A CN 117197419 A CN117197419 A CN 117197419A
- Authority
- CN
- China
- Prior art keywords
- numerical value
- dimensional
- radar
- frame
- coordinates
- 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
- 238000002372 labelling Methods 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012163 sequencing technique Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Radar Systems Or Details Thereof (AREA)
Abstract
本申请实施例提供了一种雷达点云的标注方法、装置、电子设备及计算机可读存储介质,涉及计算机视觉领域。该方法根据雷达点云和二维标注框在世界坐标系的坐标,从雷达点云中确定参考点集;确定参考点集中各个雷达点在坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量;对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定目标对象的三维包围盒在相应坐标轴的边缘。本申请实施例减少了大量的人工标注成本,使自动驾驶场景的标注场景的标注效率提升了5‑10倍。
Description
技术领域
本申请涉及计算机视觉领域,具体而言,本申请涉及一种雷达点云的标注方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
在自动驾驶领域,为了训练自动驾驶算法模型,各大公司需要使用车载雷达,对行驶中的真实世界进行激光采样,采到的激光雷达数据,称之为“点云数据”或者“雷达点云”,每个雷达点都包含了坐标,反射强度等信息。
雷达点云在投喂给算法模型之前,需要进行数据清洗和打标,在点云图上精准标注出对象,形成的结构化数据,才能投喂算法,达到较好的模型训练效果。
目前针对点云数据的标注主流方式依然是全人工标注,即人工调整三维包围盒的8个顶点坐标,使得三维包围盒的边缘贴合待标注的点云。该方式标注效率极低,单框的标注速度在20秒左右,熟练工也需要10秒左右。
发明内容
本申请实施例提供了一种雷达点云的标注方法、装置、电子设备、计算机可读存储介质及计算机程序产品,可以解决现有技术的上述问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种雷达点云的标注方法,该方法包括:
获得雷达点云和二维标注框在世界坐标系下的坐标,所述二维标注框是在所述雷达点云的俯视图中,对所述雷达点云中的目标对象进行标注获得的;
根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集,所述参考点集中的雷达点在竖直方向上投影位于所述二维标注框内;
对所述世界坐标系的每个坐标轴,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量;
对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定所述目标对象的三维包围盒在相应坐标轴的边缘。
根据本申请实施例的另一个方面,提供了一种雷达点云的标注装置,该装置包括:
标注框确定模块,用于获得雷达点云和二维标注框在世界坐标系下的坐标,所述二维标注框是在所述雷达点云的俯视图中,对所述雷达点云中的目标对象进行标注获得的;
参考点击确定模块,用于根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集,所述参考点集中的雷达点在竖直方向上投影位于所述二维标注框内;
统计模块,用于对所述世界坐标系的每个坐标轴,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量;
遍历模块,用于对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定所述目标对象的三维包围盒在相应坐标轴的边缘。
作为一种可选的实施方式,统计模块确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量,包括:
对于所述参考点集中的每个雷达点,确定所述雷达点在所述坐标轴的分量所处的数值区间;
若确定存在键为所述数值区间的键值对,则对所述键值对的值增加预设数值;
若确定不存在键为所述数值区间的键值对,则创建键为所述数值区间的新的键值对,并对所述新的键值对的值设置为所述预设数值。
作为一种可选的实施方式,遍历模块对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,包括:
对各个数值区间根据大小进行排序,获得有序数组;
分别从所述有序数组的两端向中间遍历,对于当前遍历的数值区间,查询键为所述当前遍历的数值区间的参考键值对;
若所述参考键值对的值大于所述预设阈值,则确定所述当前遍历的数值区间为相应坐标轴的边缘的一个极值,停止从所述当前遍历的数值区间向中间遍历;
若所述参考键值对的值不大于所述预设阈值,则继续从所述当前遍历的数值区间向中间遍历。
作为一种可选的实施方式,统计模块确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,之前还包括:
获得所述二维标注框对应的三维标注框,所述三维标注框在水平方向的边界所述二维标注框在所述世界坐标系的坐标,所述三维标注框在竖直方向的边界为预设坐标;
遍历模块确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,包括:
从所述参考点集中确定位于所述三维标注框的边界外的参考点子集;
对于竖直方向的坐标轴,确定所述参考点子集集中各个雷达点在所述坐标轴的分量所处的数值区间。
作为一种可选的实施方式,标注框确定模块获得二维标注框在世界坐标系下的坐标,包括:
展示所述雷达点云的俯视图;
响应于对所述目标对象的标注操作,生成二维标注框;
确定所述二维标注框在屏幕坐标系的坐标;
将所述二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标。
作为一种可选的实施方式,标注框确定模块将所述二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标,包括:
对二维标注框在屏幕坐标系的坐标进行归一化处理,获得归一化屏幕坐标;
对距离向量进行归一化处理,获得归一化距离向量,所述距离向量用于表征归一化屏幕坐标与预设的相机位置间的距离;
确定相机位置和距离向量在竖直方向的分量上的比值,根据归一化距离向量与所述比值,获得二维标注框与相机位置间的距离;
根据相机位置以及所述二维标注框与相机位置间的距离,获得所述二维标注框在世界坐标系的坐标。
作为一种可选的实施方式,预设阈值的大小与所述参考点集中的雷达点的数量成正比。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行所述计算机程序以实现上述雷达点云的标注方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述雷达点云的标注方法的步骤。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述雷达点云的标注方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
通过在雷达点云的俯视图中对目标对象进行标注,得到二维标注框,由于实际应用时雷达点云不存在竖直方向上对象重叠的情况,所以在俯视图中对对象进行标注可以保证二维标注框在世界坐标系下也仅包括一个对象,也即目标对象,相比现有技术从3个坐标轴分别进行标注才能最终获得三维包围盒,能够极大提升标注效率,本申请根据雷达点云和二维标注框在世界坐标系,确定参考点集,参考点集是雷达电鱼哪种在竖直方向上投影位于二维标注框的雷达点,其中包含了属于目标物体的雷达点和目标物体以外的雷达点,本申请进一步对每个坐标轴的坐标值设置为多个数值区间,统计每个数值区间中的雷达点数量,目的是为了避免将数量稀少的雷达点——往往为干扰对象(例如漂浮在空气中的固体颗粒物)的雷达点作为目标对象的雷达点,最后通过将数值区间的序列从两端想中间遍历,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间,即可认为找到了三维包围盒在相应坐标轴的边缘,本申请实施例减少了大量的人工标注成本,使自动驾驶场景的标注场景的标注效率提升了5-10倍。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1a为本申请实施例提供的实现雷达点云的标注的***架构示意图;
图1b为本申请实施例提供的一种雷达点云的标注方法的场景示意图;
图2a为本申请实施例提供的一种雷达点云的标注方法的流程示意图;
图2b为本申请实施例提供的一种在雷达点云的俯视图中标注的二维标注框的示意图;
图2c为本申请实施例提供的一种获得二维标注框的流程示意图;
图2d为本申请实施例提供的一种雷达点和二维标注框的位置关系示意图;
图2e为本申请实施例提供的一种对序列进行遍历的示意图;
图2f为本申请实施例提供的一种三维包围盒的不同视角的示意图;
图3为本申请实施例提供的一种确定目标对象的三维包围盒在相应坐标轴的边缘的流程示意图;
图4a为本申请实施例提供的一种二维标注框对应的三维标注框的示意图;
图4b为本申请实施例提供的一种三维标注框在空间坐标系的相对位置的示意图;
图5a为本申请实施例提供的一种标注雷达点云的操作界面示意图;
图5b为本申请实施例提供的一种从俯视的角度展示目标对象的点云的操作界面示意图;
图5c为本申请实施例提供的一种展示二维标注框的操作界面示意图;
图5d为本申请实施例提供的一种展示目标对象的三维包围盒的操作界面示意图;
图6为本申请实施例提供的一种雷达点云的标注方法的流程示意图;
图7为本申请实施例提供的一种应用于自动驾驶算法训练的场景示意图;
图8为本申请实施例提供的一种雷达点云的标注装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
数据标注,指将原始数据中的特定信息或特征进行标记或注释,以便计算机程序能够理解和处理这些数据。数据标注通常用于机器学习和人工智能领域,以帮助算法更好地理解和学习数据。
点云,是一种三维数据表示形式,它由大量的点组成,每个点都有其在三维空间中的坐标和可能的其他属性,例如颜色、法向量、强度等。点云通常是通过激光雷达、摄像头或其他传感器采集的,可以用于建立三维模型、地形分析、物体识别、机器人导航等应用。点云数据可以被存储为文本文件、二进制文件或数据库中的记录,可以使用各种软件工具进行处理、可视化和分析。点云技术在计算机视觉、机器学习和人工智能等领域中得到了广泛的应用,成为了数字化时代中不可或缺的一部分。
三维包围盒,也称之为3D框体,是一种三维物体表示形式,通常用于计算机视觉和机器学***面组成的长方体,每个平面由四个顶点组成,可以用来表示三维空间中的对象位置、大小和方向。在对象检测任务中,三维包围盒可以用来标记图像或点云中的对象,以便算法能够识别和定位对象。在机器学习中,三维包围盒可以作为训练数据的标注,帮助算法学习对象的形状和位置信息。
在自动驾驶领域,为了训练自动驾驶算法模型,各大公司需要使用车载雷达,对行驶中的真实世界进行激光采样,采到的激光雷达数据,称之为“点云数据”或者“雷达点云”,每个雷达点都包含了坐标,反射强度等信息。
雷达点云在投喂给算法模型之前,需要进行数据清洗和打标,在点云图上精准标注出对象,形成的结构化数据,才能投喂算法,达到较好的模型训练效果。
目前针对点云数据的标注主流方式依然是全人工标注,即人工调整三维包围盒的8个顶点坐标,使得三维包围盒的边缘贴合待标注的点云。该方式标注效率极低,单框的标注速度在20秒左右,熟练工也需要10秒左右。
本申请提供的雷达点云方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,旨在解决现有技术的如上技术问题。
本申请具体涉及到人工智能技术中的计算机视觉技术(Computer Vision,CV)。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、追随和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
而本申请主要涉及到了通过计算机视觉技术,识别出目标对象在三维的点云数据中所在的位置,具体可以参见下述实施例中的描述。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1a为本申请实施例提供的实现雷达点云的标注的***架构示意图,***架构可以包括服务器200和激光雷达集群,激光雷达集群可以包括一个或者多个激光雷达,这里将不对激光雷达的数量进行限制。如图1a所示,多个激光雷达具体可以包括激光雷达100a、激光雷达101a、激光雷达102a、…、激光雷达103a;如图1a所示,激光雷达100a、激光雷达101a、激光雷达102a、…、激光雷达103a均可以与服务器200进行网络连接,以便于每个激光雷达可以通过网络连接与服务器200之间进行数据交互。
如图1a所示的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等智能终端。下面以激光雷达100a与服务器200之间的通信为例,进行本申请实施例的具体描述。
请一并参见图1b,图1b是本申请实施例提供的一种雷达点云的标注方法的场景示意图。其中,上述激光雷达100a可以是行驶的车辆中所搭载的车载设备,在车辆行驶过程中,激光雷达100a可以对行驶道路中的场景进行激光扫描,得到点云数据帧(也即雷达点云)。点云数据帧为三维图像,点云数据帧具有连续性。
因此,激光雷达100a在获取到多个连续的点云数据帧之后,可以将该多个连续的点云数据帧发送给服务器200。服务器200在获取到该多个连续的点云数据帧之后,可以对该多个连续的点云数据帧进行目标对象的标注。
其中,点云数据帧中包括目标对象,该目标对象指点云数据帧中需要检测的对象。因此,目标对象的标注,也即在点云数据帧中标注出目标对象所在的3D立体外接框(三维包围盒)。
本申请实施例中提供了一种雷达点云的标注方法,如图2a所示,该方法包括:
S2101、获得雷达点云和二维标注框各自在世界坐标系下的坐标。
具体的,本申请实施例中的执行主体可以是任意一个计算机设备或者多个计算机设备构成的计算机集群。其中,该计算机设备可以是终端设备,也可以是服务器,具体可以根据实际应用场景决定。此处,以本申请实施例中的执行主体为服务器为例进行说明。
本申请实施例首先在终端展示雷达点云,然后在雷达点云的俯视图中,由标注者标注出一个二维标注框,将雷达点云的目标对象包围在二维标注框中。
请参见图2b,其示例性地示出了本申请实施例提供在雷达点云的俯视图中标注的二维标注框的示意图,如图所示,该雷达点云2201是一个物体的雷达点云,在该雷达点云2201的俯视图中,可以由工作人员手动进行标注出二维标注框2202,由于二维标注框并不要求贴合雷达点云的边缘雷达点,因此,只需要保证物体的点云包围在二维标注框中即可,因此工作人员的标注速度是极快的,通常只需要1~2秒即可完成一个二维标注框的标注。
在一些实施例中,图1b中的激光雷达还配置图像采集设备,激光雷达在进行激光扫描时,还同时通过图像采集设备拍摄得到多个连续的图像帧,也即每一个点云数据帧都具有对应的图像帧,图像帧为平面的图像(二维图像)。
请参见图2c,其示例性地示出了本申请实施例提供的获得二维标注框的流程示意图,如图所示,首先可以通过预先训练的图像识别模型对图像帧中的对象进行分类识别,确定目标对象,并确定目标对象在图像物理坐标系中的第一坐标,将图像帧对应的点云数据帧同样投影至图像物理坐标系,获得点云数据帧的第二坐标,从点云数据帧中第二坐标等于第一坐标的点云子集,这一步的目的是实现二维图像中的物体和三维点云数据的物体的初步关联,继续将点云子集作为一个初始的聚类,对点云数据帧中所有雷达点在世界坐标系的X-Y平面的距离,确定可以与点云子集聚为一类的雷达点,从而构成聚类结果,这一步的目的则是从雷达点云的俯视图中,基于聚类算法将目标物体的点云进行初步的识别,最后对聚类结果在X-Y平面的边缘外扩预设比例,即可作为二维标注框,通过外扩一定比例,相对于对识别的目标物体的点云范围进行扩大,避免遗漏目标物体的雷达点。
本申请实施例之所以从雷达点云的俯视图中获得二维标注框,是因为在水平方向上,一个对象的附近通常还有其他的对象,如果从侧视图中获得二维标注框,无法基于该单个的二维标注框完成水平方向的边缘检测。并且,本申请实施例在竖直方向的雷达点还可以用来进行地面检测,从而让三维包围盒能够贴着地面,而不是飘在空中。
并且需要注意的是,雷达点云所在的坐标系为世界坐标系,世界坐标系是***的绝对坐标系,世界坐标系定义为:带有小圆的圆心为原点ow,xw轴水平向右,yw轴向下,zw由右手法则确定。而二维标注框所在的坐标系则是屏幕坐标系(screen coordinate),屏幕坐标是以像素来定义的,屏幕左下角为原点(0,0),右上角为(Screen.width,Screen.height),width是屏幕的宽度,height是屏幕的高度,Z值是摄像机世界坐标取反,并且以相机的世界单位来衡量的。而二维标注框则是在终端的屏幕上标注的,因此二维标注框初始的坐标是屏幕坐标系下的坐标。屏幕坐标系是以显示界面的左上方为原点的二维坐标系,以像素点所在的行数和列数构成屏幕坐标。
由于雷达点云和二维标注框一开始并不再同一坐标系,因此步骤S2101还包括将雷达点云和二维标注框统一至同一坐标系,也即世界坐标系中,以获得雷达点云和二维标注框各自在世界坐标系下的坐标。
本申请仅需要由人工在俯视图上标注一次二维标注框即可,并不需要如相关技术那样在3个平面内分别标注3次二维标注框,不仅大大降低了人工标注的次数,同时还省略了视图转换的操作时间,极大地提升了标注效率。
S2102、根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集,所述参考点集中的雷达点在竖直方向上投影位于所述二维标注框内;
为了获得目标对象的三维包围盒,本申请实施例需要先找到竖直方向上投影位于所述二维标注框内的雷达点,只要竖直方向上投影位于二维标注框内,就不可能是其他对象的雷达点——因为标注者在俯视图中标注二维标注框时会控制框体的范围,不会将多个对象囊括在一个二维标注框中。所以后续在确定目标对象的三维包围盒时,可从参考点集中筛选出处于边缘的雷达点。
请参见图2d,其示例性地示出了本申请实施例提供的雷达点和二维标注框的位置关系示意图,从图中可以看出,雷达点E在竖直方向的投影位于二维标注框内,而雷达点F在竖直方向的投影部位与二维标注框外。由于判断一个点是否位于矩形内,可以通过该点是否位于矩形的上下两条边和左右两条边之间进行判断,而要判断一个点是否位于两条线段之间,则可以根据一个点是否在某条线段的一条边上进行判断,也即利用叉乘的方向性,来判断夹角是否超过180°。
以图2d中的雷达点E为例,雷达点E必然满足:(AB×AE)*(CD×CE)≥0,以及(DA×DE)*(BC×BE)≥0。
在本申请实施例,确定参考点集的方法包括:
对于任意一个雷达点,确定雷达点在竖直方向的投影点的坐标,也即雷达点在X轴和Y轴(X轴和Y轴为水平方向相互垂直的坐标轴)的坐标分量,还确定二维标注框的四个顶点在X轴和Y轴的坐标分量,将四个顶点沿顺时针(也可以沿逆时针方向)分别定义为第一顶点、第二顶点、第三顶点和第四顶点。
确定第一向量和第二向量的第一叉乘结果,第一向量为第一顶点至第二顶点的向量,第二向量为第一顶点至投影点的向量;
确定第三向量和第四向量的第二叉乘结果,第三向量为第三顶点至第四顶点的向量,第四向量为第三顶点至投影点的向量;
确定第五向量和第六向量的第三叉乘结果,第五向量为第四顶点至第一顶点的向量,第六向量为第四顶点至投影点的向量;
确定第七向量和第八向量的第三叉乘结果,第七向量为第二顶点至第三顶点的向量,第八向量为第二顶点至投影点的向量;
若第一叉乘结果和第二叉乘结果的乘积大于0且第三叉乘结果和第四叉乘结果的乘积大于0,则确定雷达点在竖直方向的投影在二维标注框内。
S2103、对所述世界坐标系的每个坐标轴,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量。
本申请实施例对于每个坐标轴上的坐标轴,划分多个区间,在实际应用时,点云的坐标值通常精确到小数点后七位以上,可以对原坐标值取两位精度,也即取小数点后两位值获得分区的区间。例如,在以0.01为单位划分区间时,若存在4个雷达点的坐标分别为-3.92323924、-3.93316546、-3.91954651、-3.90123234,可知4个雷达点分别属于-3.92、-3.93、-3.92以及-3.90区间,进一步可以确定-3.92区间有两个雷达点,-3.93有一个雷达点,-3.90区间有1个雷达点。
一个区间内雷达点的数量能够有效反映该雷达点是否为目标对象,所以本申请实例里通过统计每个坐标轴的每个区间的雷达点,为判断一个区间是否为可靠的边缘奠定了基础。
S2104、对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定所述目标对象的三维包围盒在相应坐标轴的边缘。
由于每个坐标轴上的边缘包括极大值和极小值两个点,因此,本申请实施例针对每个坐标轴,基于数值区间对应的数值大小进行排序,构成序列,从序列的两端向中间遍历各个数值区间,请参见图2e,其示例性地示出了对序列进行遍历的示意图,如图所示,该序列从左到右数值区间逐渐变大,分别从序列的两端向中间遍历,以左端(低位,lowAxis)为例,首先判断-4.06区间内的雷达点数量是否大于预设阈值,若不大于,则继续判断-4.05区间内的雷达点数量是否大于预设阈值,若确定-4.05区间内的雷达点数量大于预设阈值,则确定-4.05为目标对象的三维包围盒在相应坐标轴的一个极值。本申请实施例对于每一端,当遍历到雷达点数量大于预设阈值的数值区间时,视为找到了边缘对应的一个点,当两端均遍历到目标数值区间时,两个目标数值区间对应的坐标间的连线即可构成目标对象的三维包围盒在相应坐标轴的边缘。通过获得3个坐标轴的边缘,即可获得目标对象的三维包围盒。
请参见图2f,其示例性地示出了本申请实施例提供的一种三维包围盒的不同视角的示意图,如图所示,三维包围盒边界内的雷达点用空心点表示,三维包围盒边界外的雷达点用实心点表示,通过侧视图和俯视图可以更方便理解,三维包围盒的边缘,俯视图展示了三维包围盒在竖直方向的边缘,包括上边缘和下边缘,可以看出上边缘和下边缘相比雷达点云的上极值点和下极值点都有一定的距离。俯视图中则展示了三维包围盒在X轴和Y轴的4个边缘。
本申请实施例通过在雷达点云的俯视图中对目标对象进行标注,得到二维标注框,由于实际应用时雷达点云不存在竖直方向上对象重叠的情况,所以在俯视图中对对象进行标注可以保证二维标注框在世界坐标系下也仅包括一个对象,也即目标对象,相比现有技术从3个坐标轴分别进行标注才能最终获得三维包围盒,能够极大提升标注效率,本申请根据雷达点云和二维标注框在世界坐标系,确定参考点集,参考点集是雷达电鱼哪种在竖直方向上投影位于二维标注框的雷达点,其中包含了属于目标物体的雷达点和目标物体以外的雷达点,本申请进一步对每个坐标轴的坐标值设置为多个数值区间,统计每个数值区间中的雷达点数量,目的是为了避免将数量稀少的雷达点——往往为干扰对象(例如漂浮在空气中的固体颗粒物)的雷达点作为目标对象的雷达点,最后通过将数值区间的序列从两端想中间遍历,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间,即可认为找到了三维包围盒在相应坐标轴的边缘,本申请实施例减少了大量的人工标注成本,使自动驾驶场景的标注场景的标注效率提升了5-10倍。
在上述各实施例的基础上,作为一种可选实施例,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量,包括:
对于所述参考点集中的每个雷达点,确定所述雷达点在所述坐标轴的分量所处的数值区间;
若确定存在键为所述数值区间的键值对,则对所述键值对的值增加预设数值;
若确定不存在键为所述数值区间的键值对,则创建键为所述数值区间的新的键值对,并对新的键值对的值设置为所述预设数值。
本申请实施例确定雷达点的三维坐标系的每个坐标轴的分量,在相应坐标轴的数值区间,也就是说,一个雷达点的三个坐标轴的分量在相应坐标轴的数值区间通常是不同的。例如,一个雷达点的坐标为(1.23123,4.79809,2.46971),若数值区间的精度为小数点后两位,则该雷达点的三个轴的分量分别位于数值区间1.23、4.80以及2.47。
本申请在确定雷达点在坐标轴的分量所处的数值区间后,进一步判断是否已存在键为该数值区间的键值对,如果存在,则将对该键值对值增加预设数值,该预设数值可以为1,如果不存在,则创建新的键值对,并对所述新的键值对的值设置为所述预设数值。
本申请实施例可以对每个坐标轴以从大到小或者从小到大的顺序遍历参考点集中的所有雷达点在该坐标轴的分量,以创建该坐标轴对应的所有键值对。
在一些实施例中,本申请实施例可以利用HashMap存储键值对。HashMap是Java集合框架中的一种实现了Map接口的键值对存储结构。它使用哈希表来存储数据,并根据键的哈希值来决定存储的位置,从而实现快速的***、删除和查找操作。
HashMap中的键和值可以是任意类型的对象,但要求键是唯一的,而值可以重复。HashMap允许使用null作为键和值,并且允许存储null键对应的值。
HashMap的内部实现是基于数组和链表(或红黑树)的组合结构,每个数组元素称为桶bucket,每个桶中存储了若干个键值对的链表(或红黑树)。当存储和检索数据时,根据键的哈希值通过哈希函数计算出在数组中的位置,然后在对应的链表(或红黑树)中进行操作。HashMap提供了高效的***、删除和查找操作,并且具有较快的访问速度。
在上述各实施例的基础上,作为一种可选实施例,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,包括:
对各个数值区间根据大小进行排序,获得有序数组;
分别从所述有序数组的两端向中间遍历,对于当前遍历的数值区间,查询键为所述当前遍历的数值区间的参考键值对;
若所述参考键值对的值大于所述预设阈值,则确定所述当前遍历的数值区间为相应坐标轴的边缘的一个极值,停止从所述当前遍历的数值区间向中间遍历;
若所述参考键值对的值不大于所述预设阈值,则继续从所述当前遍历的数值区间向中间遍历。
本申请实施例对于获得的每个坐标轴对应的数值区间,根据从小达到或者从大到小的顺序进行排序,获得有序数组。有序数组中的每个数,即为一个数值区间,从有序数组的两端向中间进行遍历,目的是分别获得边缘的极大值和极小值。针对每个有序数组可以设置两个线程,两个线程分别从有序数组的一端向中间遍历。对于每个线程当前变量的数组区间,线程查询键为所述当前遍历的数值区间的参考键值对,如果参考键值对的值大于所述预设阈值,则确定所述当前遍历的数值区间为相应坐标轴的边缘的一个极值,停止从所述当前遍历的数值区间向中间遍历,结束该进程;如果所述参考键值对的值不大于所述预设阈值,则继续从所述当前遍历的数值区间向中间遍历。
请参见图3,其示例性地示出了本申请实施例提供的确定目标对象的三维包围盒在相应坐标轴的边缘的流程示意图,如图所示,该流程可以包括两个部分,其中第一部分为统计数值区间的雷达点数量,第二部分为遍历序列:
对于第一部分,首先保留每个雷达点在该坐标轴的分量的预设位精度,作为相应雷达点在该坐标轴的分量所处的数值区间,例如一个雷达点在Z轴的分量为1.231234,若保留小数点后2位精度,则确定雷达点在Z轴的分量所处的数值区间为1.23。进一步判断HashMap中是否已存在键为数值区间的键值对,若确定存在键为所述数值区间的键值对,则对所述键值对的值增加预设数值;若确定不存在键为所述数值区间的键值对,则创建键为所述数值区间的新的键值对,并对所述新的键值对的值设置为所述预设数值。
对于第二阶段,首先对获得的数值区间按照大小进行排序,构成有序数组,然后通过双指针(Two Pointers)遍历有序数组,双指针是指在遍历元素的过程中,不是使用单个指针进行访问,而是使用两个指针进行访问,从而达到相应的目的。如果两个指针方向相反,则称为「对撞指针」。如果两个指针方向相同,则称为「快慢指针」。本申请实施例采用对撞指针,对撞指针指的是两个指针left、right分别指向序列第一个元素和最后一个元素,然后left指针不断递增,right不断递减,直到两个指针的值相撞(即left==right),或者满足其他要求的条件为止。
本申请并不需要两个指针的值相撞,而是需要满足特定的条件:参考键值对的值大于预设阈值,本申请实施例的预设阈值为3,也就是说,如果遍历到的参考键值对的值大于3,则指针不再变化,并确定该值为边缘的极值,如果参考键值对的值不大于所述预设阈值,则继续从所述当前遍历的数值区间向中间遍历。
在上述各实施例的基础上,作为一种可选实施例,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,之前还包括:
获得所述二维标注框对应的三维标注框,所述三维标注框在水平方向的边界所述二维标注框在所述世界坐标系的坐标,所述三维标注框在竖直方向的边界为预设坐标。
本申请实施例根据在二维标注框在世界坐标系的位置,进一步创建二维标注框对应的三维标注框,请参见图4a,其示例性地示出了本申请实施例提供的一种二维标注框对应的三维标注框的示意图,如图所示,二维标注框4101是标注者在雷达点云的俯视图标注的,一般情况下目标对象的所有雷达点在竖直方向的投影都位于二维标注图中,本申请实施例可以根据需要标注的物体的平均高度,设置三维标注框4102在竖直方向的长度。
需要注意的是,在自动驾驶的点云标注场景,所有车辆的点云可以任务上处于同一水平面,也即,一方面不存在两个车辆存在重叠的情况,另一方面,大量雷达点的高度是比较集中的,因此,本申请实施例通过统计物体的常规高度,设置三维标注框的高度,例如一般汽车的高度为1.5米,就可以在世界坐标系中对应设置三维标注框的竖直方向的长度。
确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,包括:
从所述参考点集中确定位于所述三维标注框的边界外的参考点子集;
对于竖直方向的坐标轴,确定所述参考点子集集中各个雷达点在所述坐标轴的分量所处的数值区间。
请参见图4b,其示例性地示出了申请实施例提供的一种三维标注框在空间坐标系的相对位置的示意图,从图中可以清楚地看出,空间4201中的所有坐标在竖直方向的投影均位于二维标注框4202中,而三维标注框4203位于空间4201的中部,三维标注框4203的上方存在目标对象的三维包围盒的竖直方向的上边缘,下方存在目标对象的三维包围盒的竖直方向的下边缘,在计算Z轴边界的时候,通过将三维标注框内的雷达点进行排除,从而只需要对少数的雷达点进行遍历,并且由于三维标注框位于空间的中部,因此,也不会影响竖直方向上边缘的确认,本申请实施例可以在保证准确性的同时节省标注的算力。
在上述各实施例的基础上,作为一种可选实施例,本申请实施例的预设阈值的大小与参考点集中雷达点的数量成正比。也就是说,当参考点集中的雷达点比较少时,可以将预设阈值设置的小一些,而如果参考点集中的雷达点比较多时,则可以将预设阈值设置的大一些。通过在不同的场景下,调整预设阈值的取值,就可以使得边缘探测更加的准确。
在上述各实施例的基础上,作为一种可选实施例,获得二维标注框在世界坐标系下的坐标,包括:
展示所述雷达点云的俯视图;
响应于对所述目标对象的标注操作,生成二维标注框;
确定所述二维标注框在屏幕坐标系的坐标;
将所述二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标。
在本申请实施例中,标注者通过启动标注程序,并向标注程序导入待标注的雷达点云,展示图5a所示的标注雷达点云的操作界面示意图,从图中可以看出操作界面中包括雷达点云5101、用于调整视角的第一控件5102以及用于调整雷达点云的比例尺的第二控件5103,标注者可以提供第一控件5102调整到从相应坐标轴观察雷达点云的视角图,标注者还可以通过第二控件5103将比例尺调大,则雷达点云显示的更大、详细,将比例尺调小,则雷达点云显示的更小、更粗略,标注者通过第一控件和第二控件可以快速地确定想要标注的目标对象。当标注者通过第一控件将雷达点云调整为俯视图以及通过第二控件将雷达点云的比例尺调整至合适的距离时,展示图5b所示的从俯视的角度展示目标对象的点云的操作界面示意图,操作界面中还包括用于标注的第三控件5104,响应于标注者点击第三控件5104,操作界面展示可调节大小的二维标注框5105,标注者通过调整二维标注框5105的大小,将目标对象包围在二维标注框5105中,展示图5c所示的展示二维标注框的操作界面示意图,应当理解的是,二维标注框5105的大小并没有严格的限定,只需要在肉眼可见的情况下,将目标对象的尽可能多的雷达点囊括即可,标注者进一步点击指示选定完成的第四控件5105后,展示图5d所示的展示目标对象的三维包围盒5106的操作界面示意图,从图中可以看出,标注程序根据本申请实施例自动生成了目标对象的三维包围盒,标注者可以继续通过操作第一控件和第二控件,观察三维包围盒在不同视角下的样式以及不同比例尺下的样式,从而人工检查三维包围盒是否准确。
本申请实施例生成二维标注框时,首先确定的是该二维标注框在屏幕坐标系中的坐标,而最终的三维包围盒则是世界坐标系中的位置,所以本申请实施例需要将二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标,具体地,这个转换过程可以分为以下几个步骤:
首先,获取了二维标注框的各个顶点在屏幕坐标系的坐标(称之为屏幕坐标),该坐标这是一个二维坐标(x,y)。
然后,将屏幕坐标转换为归一化屏幕坐标,具体通过将屏幕坐标除以容器的宽度和高度,然后乘以2并减去1来实现的。这个过程可以用以下公式表示:
vec.x=2(clientPos.x/container.width)-1
vec.y=-2(clientPos.y/container.height)-1
Vec.z=0.5;
其中,vec.x、vec.y以及vec.z分别表示归一化屏幕坐标在x、y和z轴方向的分量,需要说明的是,z轴与屏幕的方向垂直,clientPos.x和clientPos.y分别表示屏幕坐标在X、Y轴方向的分量,container.width和container.height分别为容器的宽度和高度,容器即显示屏幕的显示区域。
需要注意的是,计算clientPos.x/container.width以及clientPos.y/container.height是为了将屏幕坐标进行归一化处理,使其范围位于[0,1]范围内,例如,如果一个顶点位于屏幕的正中间,那么clientPos.x/container.width以及clientPos.y/container.height的值就是0.5。
计算(clientPos.x/container.width)×2是为了将屏幕坐标映射到[0,2]的范围内,如果上一步得到的结果为0.5,bane这一步得到的结果就是1。
计算2(clientPos.x/container.width)-1以及-2(clientPos.y/container.height)-1是为了将屏幕坐标映射到[-1,1]的范围内,也就是归一化屏幕坐标,如果上一步得到的结果为1,那么这一步得到的结果就是0。
通过上述归一化处理,能够将屏幕坐标转化为渲染官限汇总使用的坐标系,后续就可以在该坐标系下进行计算和操作。
接着,将归一化设备坐标转换为世界坐标。
这是通过使用unproject方法来实现的,该方法将一个范围为(-1,1)的归一化屏幕坐标转换为相机空间。在计算机图形学中,世界坐标系和相机空间(或视图空间)是两种不同的坐标***,它们用于描述物体在三维空间中的位置和方向。相机空间,这是一个相对于观察者(或相机)的坐标***。在相机空间中,相机位于原点,朝向-z轴方向,y轴通常定义为"上"方向。所有的物体都相对于相机进行定位和方向设置。换句话说,物体的位置和方向都是相对于相机的位置和方向来确定的,这使得我们可以更容易地处理视觉效果,例如透视和视场裁剪。
本申请实施例将采集雷达点云的相机视为透视相机。
首先,将归一化屏幕坐标与相机位置的差值(也称之为距离向量)进行归一化,然后计算相机位置到平面的距离,最后将这个距离乘以归一化的向量并加上相机的位置,得到世界坐标。这个过程可以用以下公式表示:
Nvec=normalize(vec-camera.position)
distance=-camera.position.z/Nvec.z
worldPos=camera.position+Nvec×distance
上述公式中,-camera.position是指相机在相机空间中的位置,而距离向量Nvec则是在相机空间中的向量,通过将Nvec×distance(标量),然后将结果加在camera.position上,我们可以得到一个新的位置pos,这个位置也是在世界坐标系中的,其中之所以需要由camera.position的z轴分量与Nvec的z轴分量相除,是因为在俯视图中相机垂直于X-Y平面。
请参见图6,其示例性地示出了本申请实施例的雷达点云的标注方法的流程示意图,如图所示,包括:
S601、展示所述雷达点云的俯视图,响应于对所述目标对象的标注操作,生成二维标注框;
S602、确定所述二维标注框在屏幕坐标系的坐标,将二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标;
S603、根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集;
S604、对于所述参考点集中的每个雷达点,确定所述雷达点在所述坐标轴的分量所处的数值区间;
S605、若确定存在键为所述数值区间的键值对,则对所述键值对的值增加预设数值,反之,则创建键为所述数值区间的新的键值对,并对所述新的键值对的值设置为所述预设数值;
S606、对各个数值区间根据大小进行排序,获得有序数组;
S607、分别从所述有序数组的两端向中间遍历,对于当前遍历的数值区间,查询键为所述当前遍历的数值区间的参考键值对;
S608、若所述参考键值对的值大于所述预设阈值,则确定所述当前遍历的数值区间为相应坐标轴的边缘的一个极值,停止从所述当前遍历的数值区间向中间遍历;反之,则继续从所述当前遍历的数值区间向中间遍历。
请参见图7,其示例性地示出了本申请实施例应用于自动驾驶算法训练的场景示意图,如图所示,该场景包括部署激光雷达701的车辆702、终端703、标注服务器704以及模型训练服务器705,具体地,车辆702在道路行驶过程中,通过激光雷达扫描周围环境,获得雷达点云并发送至终端703,终端703展示雷达点云的俯视图,由标注者在俯视图中标注出至少一个目标物体的二维标注框,终端703将二维标注框在屏幕坐标系的坐标以及雷达点云在世界坐标系的坐标发送至标注服务器704,标注服务器704将二维标注框在屏幕坐标系的坐标转化为世界坐标系的坐标,根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集,所述参考点集中的雷达点在竖直方向上投影位于所述二维标注框内;对所述世界坐标系的每个坐标轴,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量;对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定所述目标对象的三维包围盒在相应坐标轴的边缘。标注服务器704将标注的雷达点云发送至模型训练服务器705,模型训练服务器705根据标注的雷达点云理解车辆702的状态,具体可以包括:根据目标对象,例如车道线、障碍物、红绿灯等信息对车辆的状况进行判断,并根据目标对象的优先级等外部环境对车辆的影响进行感知,并且,还可以根据障碍物信息判断出障碍物的轨迹或者意图,根据短期的轨迹和意图,判断障碍物相对长期的轨迹。
本申请实施例提供了一种雷达点云的标注装置,如图8所示,该雷达点云的标注装置可以包括:标注框确定模块801、参考点击确定模块802、统计模块803以及遍历模块804,其中,
标注框确定模块801,用于获得雷达点云和二维标注框在世界坐标系下的坐标,所述二维标注框是在所述雷达点云的俯视图中,对所述雷达点云中的目标对象进行标注获得的;
参考点击确定模块802,用于根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集,所述参考点集中的雷达点在竖直方向上投影位于所述二维标注框内;
统计模块803,用于对所述世界坐标系的每个坐标轴,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量;
遍历模块804,用于对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定所述目标对象的三维包围盒在相应坐标轴的边缘。
作为一种可选的实施方式,统计模块确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量,包括:
对于所述参考点集中的每个雷达点,确定所述雷达点在所述坐标轴的分量所处的数值区间;
若确定存在键为所述数值区间的键值对,则对所述键值对的值增加预设数值;
若确定不存在键为所述数值区间的键值对,则创建键为所述数值区间的新的键值对,并对所述新的键值对的值设置为所述预设数值。
作为一种可选的实施方式,遍历模块对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,包括:
对各个数值区间根据大小进行排序,获得有序数组;
分别从所述有序数组的两端向中间遍历,对于当前遍历的数值区间,查询键为所述当前遍历的数值区间的参考键值对;
若所述参考键值对的值大于所述预设阈值,则确定所述当前遍历的数值区间为相应坐标轴的边缘的一个极值,停止从所述当前遍历的数值区间向中间遍历;
若所述参考键值对的值不大于所述预设阈值,则继续从所述当前遍历的数值区间向中间遍历。
作为一种可选的实施方式,统计模块确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,之前还包括:
获得所述二维标注框对应的三维标注框,所述三维标注框在水平方向的边界所述二维标注框在所述世界坐标系的坐标,所述三维标注框在竖直方向的边界为预设坐标;
遍历模块确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,包括:
从所述参考点集中确定位于所述三维标注框的边界外的参考点子集;
对于竖直方向的坐标轴,确定所述参考点子集集中各个雷达点在所述坐标轴的分量所处的数值区间。
作为一种可选的实施方式,标注框确定模块获得二维标注框在世界坐标系下的坐标,包括:
展示所述雷达点云的俯视图;
响应于对所述目标对象的标注操作,生成二维标注框;
确定所述二维标注框在屏幕坐标系的坐标;
将所述二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标。
作为一种可选的实施方式,标注框确定模块将所述二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标,包括:
对二维标注框在屏幕坐标系的坐标进行归一化处理,获得归一化屏幕坐标;
对距离向量进行归一化处理,获得归一化距离向量,所述距离向量用于表征归一化屏幕坐标与预设的相机位置间的距离;
确定相机位置和距离向量在竖直方向的分量上的比值,根据归一化距离向量与所述比值,获得二维标注框与相机位置间的距离;
根据相机位置以及所述二维标注框与相机位置间的距离,获得所述二维标注框在世界坐标系的坐标。
作为一种可选的实施方式,预设阈值的大小与所述参考点集中的雷达点的数量成正比。
本申请实施例的装置可执行本申请实施例所提供的雷达点云的标注方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现雷达点云的标注方法的步骤,与相关技术相比可实现:本申请实施例通过在雷达点云的俯视图中对目标对象进行标注,得到二维标注框,由于实际应用时雷达点云不存在竖直方向上对象重叠的情况,所以在俯视图中对对象进行标注可以保证二维标注框在世界坐标系下也仅包括一个对象,也即目标对象,相比现有技术从3个坐标轴分别进行标注才能最终获得三维包围盒,能够极大提升标注效率,本申请根据雷达点云和二维标注框在世界坐标系,确定参考点集,参考点集是雷达电鱼哪种在竖直方向上投影位于二维标注框的雷达点,其中包含了属于目标物体的雷达点和目标物体以外的雷达点,本申请进一步对每个坐标轴的坐标值设置为多个数值区间,统计每个数值区间中的雷达点数量,目的是为了避免将数量稀少的雷达点——往往为干扰对象(例如漂浮在空气中的固体颗粒物)的雷达点作为目标对象的雷达点,最后通过将数值区间的序列从两端想中间遍历,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间,即可认为找到了三维包围盒在相应坐标轴的边缘,本申请实施例减少了大量的人工标注成本,使自动驾驶场景的标注场景的标注效率提升了5-10倍。
在一个可选实施例中提供了一种电子设备,如图9所示,图9所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种雷达点云的标注方法,其特征在于,包括:
获得雷达点云和二维标注框在世界坐标系下的坐标,所述二维标注框是在所述雷达点云的俯视图中,对所述雷达点云中的目标对象进行标注获得的;
根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集,所述参考点集中的雷达点在竖直方向上投影位于所述二维标注框内;
对所述世界坐标系的每个坐标轴,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量;
对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定所述目标对象的三维包围盒在相应坐标轴的边缘。
2.根据权利要求1所述的方法,其特征在于,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量,包括:
对于所述参考点集中的每个雷达点,确定所述雷达点在所述坐标轴的分量所处的数值区间;
若确定存在键为所述数值区间的键值对,则对所述键值对的值增加预设数值;
若确定不存在键为所述数值区间的键值对,则创建键为所述数值区间的新的键值对,并对所述新的键值对的值设置为所述预设数值。
3.根据权利要求2所述的方法,其特征在于,所述对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,包括:
对各个数值区间根据大小进行排序,获得有序数组;
分别从所述有序数组的两端向中间遍历,对于当前遍历的数值区间,查询键为所述当前遍历的数值区间的参考键值对;
若所述参考键值对的值大于所述预设阈值,则确定所述当前遍历的数值区间为相应坐标轴的边缘的一个极值,停止从所述当前遍历的数值区间向中间遍历;
若所述参考键值对的值不大于所述预设阈值,则继续从所述当前遍历的数值区间向中间遍历。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,之前还包括:
获得所述二维标注框对应的三维标注框,所述三维标注框在水平方向的边界所述二维标注框在所述世界坐标系的坐标,所述三维标注框在竖直方向的边界为预设坐标;
确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,包括:
从所述参考点集中确定位于所述三维标注框的边界外的参考点子集;
对于竖直方向的坐标轴,确定所述参考点子集集中各个雷达点在所述坐标轴的分量所处的数值区间。
5.根据权利要求1所述的方法,其特征在于,所述获得二维标注框在世界坐标系下的坐标,包括:
展示所述雷达点云的俯视图;
响应于对所述目标对象的标注操作,生成二维标注框;
确定所述二维标注框在屏幕坐标系的坐标;
将所述二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标。
6.根据权利要求5所述的方法,其特征在于,所述将所述二维标注框在屏幕坐标系的坐标转换为世界坐标系的坐标,包括:
对二维标注框在屏幕坐标系的坐标进行归一化处理,获得归一化屏幕坐标;
对距离向量进行归一化处理,获得归一化距离向量,所述距离向量用于表征归一化屏幕坐标与预设的相机位置间的距离;
确定相机位置和距离向量在竖直方向的分量上的比值,根据归一化距离向量与所述比值,获得二维标注框与相机位置间的距离;
根据相机位置以及所述二维标注框与相机位置间的距离,获得所述二维标注框在世界坐标系的坐标。
7.根据权利要求1所述的方法,其特征在于,所述预设阈值的大小与所述参考点集中的雷达点的数量成正比。
8.一种雷达点云的标注装置,其特征在于,包括:
标注框确定模块,用于获得雷达点云和二维标注框在世界坐标系下的坐标,所述二维标注框是在所述雷达点云的俯视图中,对所述雷达点云中的目标对象进行标注获得的;
参考点击确定模块,用于根据所述雷达点云和二维标注框在所述世界坐标系的坐标,从所述雷达点云中确定参考点集,所述参考点集中的雷达点在竖直方向上投影位于所述二维标注框内;
统计模块,用于对所述世界坐标系的每个坐标轴,确定所述参考点集中各个雷达点在所述坐标轴的分量所处的数值区间,并统计每个数值区间中的雷达点数量;
遍历模块,用于对于每个坐标轴,对相应的数值区间按照数值大小进行排序,从序列的两端向中间遍历各个数值区间,当两端分别遍历到雷达点数量大于预设阈值的目标数值区间时,根据两个目标数值区间对应的坐标值确定所述目标对象的三维包围盒在相应坐标轴的边缘。
9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7任一项所述雷达点云的标注方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的雷达点云的标注方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311163344.XA CN117197419A (zh) | 2023-09-08 | 2023-09-08 | 雷达点云的标注方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311163344.XA CN117197419A (zh) | 2023-09-08 | 2023-09-08 | 雷达点云的标注方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117197419A true CN117197419A (zh) | 2023-12-08 |
Family
ID=88983003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311163344.XA Pending CN117197419A (zh) | 2023-09-08 | 2023-09-08 | 雷达点云的标注方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117197419A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118041918A (zh) * | 2024-04-12 | 2024-05-14 | 天城智创(天津)科技有限公司 | 一种用于数字化可视平台的分布式信息化数据传输方法 |
-
2023
- 2023-09-08 CN CN202311163344.XA patent/CN117197419A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118041918A (zh) * | 2024-04-12 | 2024-05-14 | 天城智创(天津)科技有限公司 | 一种用于数字化可视平台的分布式信息化数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109461211B (zh) | 基于视觉点云的语义矢量地图构建方法、装置和电子设备 | |
CN111563442B (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及*** | |
KR102125959B1 (ko) | 포인트 클라우드 데이터 사이의 매칭 관계를 확정하는 방법 및 장치 | |
Schauer et al. | The peopleremover—removing dynamic objects from 3-d point cloud data by traversing a voxel occupancy grid | |
CN108898676B (zh) | 一种虚实物体之间碰撞及遮挡检测方法及*** | |
CN109034077B (zh) | 一种基于多尺度特征学习的三维点云标记方法和装置 | |
CN111665842B (zh) | 一种基于语义信息融合的室内slam建图方法及*** | |
CN110176078B (zh) | 一种训练集数据的标注方法及装置 | |
Hoppe et al. | Incremental Surface Extraction from Sparse Structure-from-Motion Point Clouds. | |
KR102195164B1 (ko) | 다중 라이다를 이용한 다중 물체 인식 시스템 및 방법 | |
CN112097732A (zh) | 一种基于双目相机的三维测距方法、***、设备及可读存储介质 | |
CN111402414A (zh) | 一种点云地图构建方法、装置、设备和存储介质 | |
CN117197419A (zh) | 雷达点云的标注方法、装置、电子设备及存储介质 | |
CN112257668A (zh) | 主辅路判断方法、装置、电子设备及存储介质 | |
Singer et al. | Dales objects: A large scale benchmark dataset for instance segmentation in aerial lidar | |
Carrillo et al. | Urbannet: Leveraging urban maps for long range 3d object detection | |
CN112381873B (zh) | 一种数据标注方法及装置 | |
US20230169680A1 (en) | Beijing *** netcom science technology co., ltd. | |
CN115683109B (zh) | 基于cuda和三维栅格地图的视觉动态障碍物检测方法 | |
CN116642490A (zh) | 基于混合地图的视觉定位导航方法、机器人及存储介质 | |
CN114627365B (zh) | 场景重识别方法、装置、电子设备及存储介质 | |
WO2023283929A1 (zh) | 双目相机外参标定的方法及装置 | |
CN114565906A (zh) | 障碍物检测方法、装置、电子设备及存储介质 | |
CN113901903A (zh) | 道路识别方法和装置 | |
Madake et al. | Visualization of 3D Point Clouds for Vehicle Detection Based on LiDAR and Camera Fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |