CN117746388A - 点云标注方法、装置、电子设备和存储介质 - Google Patents
点云标注方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117746388A CN117746388A CN202311767209.6A CN202311767209A CN117746388A CN 117746388 A CN117746388 A CN 117746388A CN 202311767209 A CN202311767209 A CN 202311767209A CN 117746388 A CN117746388 A CN 117746388A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud frame
- target
- bounding box
- frame
- 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 53
- 230000003068 static effect Effects 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 5
- 238000013135 deep learning Methods 0.000 abstract description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本公开提供了一种点云标注方法,涉及人工智能技术领域,尤其涉及深度学习、自动驾驶和智能交通技术领域。具体实现方案为:从点云序列中确定目标对象的初始包围框序列;根据初始包围框序列,确定目标对象的动静态属性;从点云序列中确定基准点云帧,并将除基准点云帧以外的其他点云帧确定为待匹配点云帧;根据目标对象的动静态属性,将待匹配点云帧合并到基准点云帧中,得到更新的基准点云帧;确定更新的基准点云帧中的目标对象的目标包围框;以及根据更新的基准点云帧中的目标对象的目标包围框,确定点云序列中的目标对象的目标包围框序列。本公开还提供了一种点云标注装置、电子设备和存储介质。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及深度学习、自动驾驶和智能交通技术领域。更具体地,本公开提供了一种点云标注方法、装置、电子设备和存储介质。
背景技术
自动驾驶领域中,车辆利用传感器感知周围环境。其中雷达传感器采集的点云数据由于能够带来三维感知效果,因此点云数据的处理备受关注。
目前,点云数据中的障碍物的标注问题一般采取人工标注的方式,来标注出每一帧点云中障碍物的包围框。然而人工标注成本非常高,而且人工标注效率较低。
发明内容
本公开提供了一种点云标注方法、装置、电子设备、存储介质以及计算机程序产品。
根据第一方面,提供了一种点云标注方法,该方法包括:从点云序列中确定目标对象的初始包围框序列;根据初始包围框序列,确定目标对象的动静态属性;从点云序列中确定基准点云帧,并将除基准点云帧以外的其他点云帧确定为待匹配点云帧;根据目标对象的动静态属性,将待匹配点云帧合并到基准点云帧中,得到更新的基准点云帧;确定更新的基准点云帧中的目标对象的目标包围框;以及根据更新的基准点云帧中的目标对象的目标包围框,确定点云序列中的目标对象的目标包围框序列。
根据第二方面,提供了一种点云标注装置,该装置包括:初始包围框序列确定模块,用于从点云序列中确定目标对象的初始包围框序列;动静态属性确定模块,用于根据初始包围框序列,确定目标对象的动静态属性;基准帧确定模块,用于从点云序列中确定基准点云帧,并将除基准点云帧以外的其他点云帧确定为待匹配点云帧;合并模块,用于根据目标对象的动静态属性,将待匹配点云帧合并到基准点云帧中,得到更新的基准点云帧;目标包围框确定模块,用于确定更新的基准点云帧中的目标对象的目标包围框;以及目标包围框序列确定模块,根据更新的基准点云帧中的目标对象的目标包围框,确定点云序列中的目标对象的目标包围框序列。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用点云标注方法和装置的示例性系统架构示意图;
图2是根据本公开的一个实施例的点云标注方法的流程图;
图3是根据本公开的另一个实施例的点云标注方法的流程图;
图4是根据本公开的另一个实施例的点云标注方法的流程图;
图5是根据本公开的一个实施例的点云标注装置的框图;
图6是根据本公开的一个实施例的点云标注方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着深度学习技术的发展,在自动驾驶领域,数据驱动已经成为共识,对于深度学习算法来说,训练数据的质量和数量是非常重要的。为了提高自动驾驶系统的性能和表现,需要收集海量的高质量激光雷达点云数据,并对其中动静态障碍物进行标注工作,以便用于训练和优化深度学习模型。而由于激光雷达点云数据人工标注成本非常高、效率非常低,难以快速获取大规模标注真值数据。此外,由于经验问题,不同标注人员的标注一致性较差。并且人工常采取单帧标注的方式,由于遮挡问题,每帧点云中障碍物可能只有一部分可见,人工逐帧标注无法获取现实世界中完整的障碍物包围框(Bounding Box)。
在一些示例中,可以采取二阶段的自动标注方法,第一阶段先利用基于深度学习的3D目标检测网络检测出点云中的障碍物,获取其粗略的包围框,然后在时序上进行关联获得障碍物的轨迹;第二阶段采用深度学习的方法对每个轨迹进行处理,输出轨迹中每个目标的新的包围框。例如针对每个障碍物的轨迹,将该轨迹的包围框序列中的点云输入深度学习模型,得到该障碍物的新的包围框序列。
虽然二阶段自动标注方法提高了效率,但是其标注精度较差,往往难以获取高精度的障碍物包围框,得到的障碍物包围框的边无法紧致地贴合点云中障碍物的边,无法满足高精度自动标注需求。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
图1是根据本公开一个实施例的可以应用点云标注方法和装置的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括车辆110、网络120、电子设备130等。网络120用以在车辆110和电子设备130之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线和/或无线通信链路等等。
车辆110上可以安装有各种传感器,例如图像传感器、雷达传感器等。这些传感器可以通过网络120与电子设备130交互,以接收或发送消息等。例如,车辆110上的雷达传感器采集的点云数据可以发送给电子设备130,电子设备130可以实现本公开提供的点云标注方法,得到点云数据中的障碍物的标注结果,并且可以将标注结果发送给车辆110的决策和控制系统,以控制车辆运行。
如图1所示的电子设备130可以设置在能够与车载终端建立通信的远端,可以具体实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。
此外需要说明的是,电子设备130还可以设置在车辆110的内部,传感器和电子设备130在车辆内部通信,可以节省数据传输时间,进一步保障车辆运行的安全性。
图2是根据本公开的一个实施例的点云标注方法的流程图。
如图2所示,该点云标注方法200包括操作S210~操作S260。
在操作S210,从点云序列中确定目标对象的初始包围框序列。
目标对象可以是障碍物,障碍物可以包括静态的障碍物,例如道路设施、建筑物等。还包括动态障碍物,例如行人、车辆等。
点云序列包括在时序上连续的多个点云帧,每个点云帧指一帧点云。可以采用3D目标检测网络对输入的按时间排序的点云序列中的每一个点云帧进行目标检测,得到每个点云帧中的障碍物的初始包围框。该初始包围框是粗略的包围框,该初始包围框的边可能没有紧致地贴合点云中障碍物的边。
每个点云帧可以包括至少一个障碍物,针对每个点云帧,可以将该点云帧中的至少一个障碍物分别与其他点云帧中的至少一个障碍物进行关联,使得不同点云帧中的同一障碍物关联在一起,同一障碍物在不同帧上的初始保包围框也关联在一起,得到每个障碍物的初始包围框序列。
例如,点云序列可以是由雷达传感器采集的,点云序列初始时是雷达坐标系中的点云序列。对点云序列进行目标检测,得到的每一帧点云的障碍物的初始包围框也是雷达坐标系中的。
在得到每一帧点云中的障碍物的初始包围框之后,为了进行障碍物关联,可以将每一帧点云中的障碍物的初始包围框转换到世界坐标系中,根据在世界坐标系中,每一帧点云中的至少一个初始包围框与其他点云帧中的至少一个初始包围框之间的特征关系,将属于同一障碍物的来自不同点云帧的初始包围框关联在一起。
例如,初始包围框之间的特征关系可以包括重叠度和速度,当两个初始包围框之间的重叠度大于一定重叠度阈值(例如50%),和/或速度相似度大于一定速度阈值(例如90%),可以将该两个初始包围框关联在一起。由此,每两帧之间进行障碍物的初始包围框的关联,得到每个障碍物的初始包围框序列。该初始包围框序列可以作为障碍物的轨迹。
在操作S220,根据初始包围框序列,确定目标对象的动静态属性。
动静态属性指目标对象是静态障碍物还是动态障碍物。在世界坐标系中,静态障碍物的初始包围框在多帧点云中的位置是不变的,或者有一些较小的变动是由于检测误差造成的。而动态障碍物的初始包围框在多帧点云中的位置是有明显变化的。
因此,针对每个障碍物的初始包围框序列,可以将初始包围框序列转换到世界坐标系中,例如上述操作S210在对障碍物的初始包围框进行关联时,已经将障碍物的初始包围框转换到了世界坐标系,那么得到的每个障碍物的初始包围框序列也是世界坐标系中的初始包围框序列。
在得到世界坐标系中的每个障碍物的初始包围框序列之后,可以根据初始包围框序列中的多个初始包围框的中心位置变化信息,将障碍物划分为静态障碍物或者动态障碍物。
在操作S230,从点云序列中确定基准点云帧,并将除基准点云帧以外的其他点云帧确定为待匹配点云帧。
针对目标对象,基准点云帧可以是点云序列中该包含目标对象最完整的点云帧。该基准点云帧对于该目标对象来说,是最佳观测帧。
可以确定每一帧点云包含该目标对象的点云数量,从点云序列中确定包含该目标对象的点云数量最多的点云帧作为基准点云帧。或者,在每一帧点云中,计算目标对象与指定对象(例如主车)之间的位置关系,从多个点云帧中确定目标对象与指定对象之间的距离最小的点云帧,作为基准点云帧。
在确定基准点云帧之后,可以将点云序列中除基准点云帧以外的其他点云帧确定为待匹配点云帧。
在操作S240,根据目标对象的动静态属性,将待匹配点云帧合并到基准点云帧中,得到更新的基准点云帧。
例如,可以根据目标对象的动静态属性,将除基准点云帧以外的待匹配点云帧中的点云合并到基准点云中,使得基准点云中的目标对象更加完整,不存在由于遮挡而缺失部分点云的情况。
对于静态障碍物,在世界坐标系中的位置可以认为是不变的。因此,如果目标对象是静态障碍物,可以在世界坐标系中将待匹配点云帧中的点云合并到基准点云帧中。
对于动态障碍物,在世界坐标系中的位置是移动的,因此,难以在世界坐标系中将多帧点云中的目标对象融合在一起。因此,可以将点云序列转换到以该动态障碍物本身为中心构建的目标中心坐标系中。在该目标中心坐标系中,该动态障碍物的位置是不变的,因此可以在目标中心坐标系中将待匹配点云帧中的点云合并到基准点云中的,使得在基准点云中得到完整、无遮挡的动态障碍物的点云。
在操作S250,确定更新的基准点云帧中的目标对象的目标包围框。
在得到包含完整目标对象的基准点云帧(即更新的基准点云帧)之后,可以在更新的基准点云帧中计算目标对象的新的包围框(即目标包围框)。该目标包围框由于是基于完整的目标对象的点云计算得到的,因此,目标包围框精度更高,目标包围框的边能够紧致贴合目标对象的边。
在操作S260,根据更新的基准点云帧中的目标对象的目标包围框,确定点云序列中的目标对象的目标包围框序列。
在得到基准点云帧中的目标对象的目标包围框之后,可以基于基准点云帧和待匹配点云帧之间的位姿关系,确定点云序列中每一个点云帧中的目标对象的目标包围框。从而得到点云序列中目标对象的目标包围框序列,该目标包围框序列可以作为点云标注结果。
该点云标注结果包含三维包围框信息和时序信息,是点云的4D(3D空间加时间)标注结果,可以表示点云中障碍物的轨迹,且轨迹中的每一个目标包围框都有较高的精度,能够紧致贴合目标对象的边。
本公开的实施例确定点云序列中目标对象的初始包围框序列,根据初始包围框序列确定目标对象的动静态属性,根据动静态属性,将点云序列中的待匹配点云帧合并到基准点云帧中,得到更新的基准点云帧,更新的基准点云帧中的目标对象更加完整,不存在遮挡和残缺,因此,在更新的基准点云帧中可以确定出精度更高的目标包围框,进而得到高精度的目标包围框序列,提高点云标注的精度。
图3是根据本公开的另一个实施例的点云标注方法的流程图。
如图3所示,该点云标注方法包括操作S310~操作S320、操作S331~操作S335、以及操作S341~操作S345。其中,操作S331~操作S335是针对静态障碍物的操作,操作S341~操作S345是针对动态障碍物的操作。操作S331~操作S335、操作S341~操作S345可以是并行执行的,也可以是先后执行的,本公开的实施例对此不做限制。
在操作S310,从点云序列中确定目标对象的初始包围框序列。
在操作S320,根据初始包围框序列,确定目标对象的动静态属性。
操作S310与操作S210一致,在操作S320与操作S220一致,这里不再赘述。
在操作S331,将基准点云帧和待匹配点云帧转换到世界坐标系中。
基准点云帧可以是点云序列中包含目标对象的点云最多的点云帧,也可以是目标对象距离指定对象(例如主车)最近的点云帧。点云序列中除基准点云帧以外的其他点云帧为待匹配点云帧。
例如,雷达传感器采集到的点云序列初始是在传感器坐标中的点云序列。针对静态障碍物,可以将点云序列转换到世界坐标系中。在一个实施例中,上述操作S320在确定目标对象的动静态属性的过程中,已经将点云序列转换到世界坐标系中了,那么该操作可以跳过。
在操作S332,在世界坐标系中,将待匹配点云帧中的点云合并到基准点云帧中,得到更新的基准点云帧。
例如,可以在世界坐标系中,确定基准点云帧和待匹配点云帧之间的相对位姿,根据相对位姿,将待匹配点云帧中的点云转换到基准点云帧中,并与基准点云帧中的点云合并,得到更新的基准点云帧。
更新的基准点云帧中的目标对象的点云更加完整、不存在遮挡和部分缺失的问题。
在操作S333,确定更新的基准点云帧中的目标对象的目标包围框。
在更新的基准点云帧中确定的目标对象的包围框更加精确,能够紧致贴合目标对象的边。
在操作S334,确定点云序列中的目标对象的目标包围框序列。
基准点云帧和更新的基准点云帧是对齐的,可以基于基准点云帧和待匹配点云帧之间的位姿,将在更新基准点云中的目标对象的目标包围框转换到待匹配点云帧中,得到每一个待匹配点云帧中的目标包围框,从而得到点云序列的目标包围框序列。
该目标包围框序列是在世界坐标系中的目标包围框序列。
在操作S335,将世界坐标系中的目标包围框序列转换到传感器坐标系中。
可以再将世界坐标系中的点云序列的目标包围框序列转换到传感器坐标系中,得到传感器坐标系中的点云序列的目标包围框序列,作为点云标注结果。
在操作S341,将基准点云帧和待匹配点云帧转换到目标中心坐标系中。
基准点云帧可以是点云序列中包含目标对象的点云最多的点云帧,也可以是目标对象距离指定对象(例如主车)最近的点云帧。点云序列中除基准点云帧以外的其他点云帧为待匹配点云帧。
目标中点坐标系是以目标对象本身作为中心构建的坐标系。针对动态障碍物,可以将传感器坐标系中的点云序列转换到目标中心坐标系中。在一个实施例中,上述操作S320在确定目标对象的动静态属性的过程中,已经将点云序列转换到世界坐标系中了,那么该操作可以将世界坐标系中的点云序列转换到目标中心坐标系中。
在操作S342,在目标中心坐标系中,将待匹配点云帧中的点云合并到基准点云帧中,得到更新的基准点云帧。
在操作S343,确定更新的基准点云帧中的目标对象的目标包围框。
在操作S344,确定点云序列中的目标对象的目标包围框序列。
例如,可以在目标中心坐标系中,确定基准点云帧和待匹配点云帧之间的相对位姿,根据相对位姿,将待匹配点云帧中的点云转换到基准点云帧中,并与基准点云帧中的点云合并,得到更新的基准点云帧。
更新的基准点云帧中的目标对象的点云更加完整、不存在遮挡和部分缺失的问题。从而在更新的基准点云帧中确定的目标对象的包围框更加精确,能够紧致贴合目标对象的边。
基准点云帧和更新的基准点云帧是对齐的,可以基于基准点云帧和待匹配点云帧之间的位姿,将在更新基准点云中的目标对象的目标包围框转换到待匹配点云帧中,得到每一个待匹配点云帧中的目标包围框,从而得到点云序列的目标包围框序列。
该目标包围框序列是在目标中心坐标系中的目标包围框序列。
在操作S345,将目标中心坐标系中的目标包围框序列转换到传感器坐标系中。
可以再将目标中心坐标系中的点云序列的目标包围框序列转换到传感器坐标系中,得到传感器坐标系中的点云序列的目标包围框序列,作为点云标注结果。
本公开的实施例针对静态障碍物和动态障碍物,分别将点云序列转换到不同的中间坐标系(世界坐标系/目标中心坐标系)中,在中间坐标系中,将待匹配点云帧的点云合并到基准点云帧中,使得更新的基准点云帧中的障碍物是完整的、不存在因遮挡而缺失部分点云的情况。由此基于更新的基准点云帧帧确定的目标包围框、以及目标包围框序列更加精确,提高点云标注精度。
根据本公开的实施例,基准点云帧可以是点云序列中的第一帧、中间帧或者最后一帧。如果基准点云帧是第一帧,则需要逐帧将位于第一帧之后的每一帧点云合并到基准点云帧中。如果基准点云帧是最后一帧,则需要逐帧将位于最后一帧之前的每一帧点云合并到基准点云帧中。如果基准点云帧中间帧,则需要分别将基准点云帧的在前每一帧和在后每一帧均合并到基准点云帧中。
下面结合图4对基准点云帧是中间帧的情况进行说明。
图4是根据本公开的另一个实施例的点云标注方法的流程图。
如图4所示,该方法包括操作S401~S414。
在操作S401,确定目标对象的初始包围框序列、目标对象的动静态属性。
例如,采用3D目标检测网络对输入的按时间排序的点云序列中每一帧点云进行目标检测,得到每帧点云中动静态障碍物粗略的初始包围框,其中,点云序列可以是雷达传感器采集到的雷达坐标系中的点云序列,检测得到的初始包围框也是雷达坐标系中的初始包围框。
然后,可以将初始包围框转换到世界坐标系,在时序上根据每帧中动静态障碍物粗略初始包围框的位置等特征(例如初始包围框的重叠度),对动静态障碍物进行时序关联,获取每个动静态障碍物的轨迹,轨迹包括障碍物的初始包围框序列。该轨迹可以是世界坐标系中的轨迹。
接下来,针对每条轨迹,根据轨迹中每帧障碍物粗略的初始包围框的中心位置变化,判断该条轨迹是静态障碍物的轨迹或者动态障碍物轨迹。例如,在世界坐标系下,静态障碍物的中心位置不变或者有一些较小的变动是由于检测误差造成的;而动态障碍物中心位置变化明显。由此可以判断出静态障碍物的轨迹和动态障碍物的轨迹。
在操作S402,从点云序列中确定目标障碍物的基准点云帧frame_i,并根据动静态属性,将frame_i转换到世界坐标系/目标中心坐标系,得到基准点云帧frame_i’。
可以先寻找轨迹中的障碍物最佳观测点云帧,例如可以确定轨迹中障碍物点云点数最多的帧作为最佳观测帧。或者,计算每帧中障碍物与主车之间的位置关系,确定障碍物与主车距离最近的帧作为最佳观测帧,最佳观测帧即基准点云帧frame_i。
如果是静态障碍物,将基准点云帧frame_i转换到世界坐标系得到世界坐标系中基准点云帧frame_i′。如果是动态障碍物,则将基准点云帧frame_i转换到目标中心坐标系,得到目标中心坐标系中的基准点云帧frame_i′。其中,目标中心坐标系是以障碍物本身为中心构建的坐标系。
点云序列中除基准点云帧以外的点云帧作为待匹配点云帧frame_j。待匹配点云帧frame_j包括基准点云帧frame_i在前的每一帧,j=i-1,i-2…,i-k,直至达到轨迹第一帧。待匹配点云帧frame_j还包括基准点云帧frame_i在后的每一帧,j=i+1,i+2…,i+k,直至达到轨迹最后一帧。j、j、k均为大于0的整数。
接下来,基于每条障碍物的轨迹,可以开始全时序点云配准。全时序点云配准是指从基准点云帧frame_i开始,逐步向轨迹两端进行点云配准。下面以向轨迹首端配准为例进行说明。
在操作S403,针对待匹配点云帧frame_j,判断目标对象是否为静态障碍物。如果是,执行操作S404。否则执行操作S405。
在操作S404,转换到世界坐标系,得到世界坐标系中的待匹配点云帧frame_j’。
在操作S405,转换到目标中心坐标系,得到目标中心坐标系中的待匹配点云帧frame_j’。
例如,对于待匹配点云帧frame_j(j=i-1),如果是静态障碍物,先将frame.j转换到世界坐标系得到frame_j′,在世界坐标系进行配准。如果是动态障碍物,则将frame_j转换到目标中心坐标系得到frame_j′,在目标中心坐标系进行配准。
在操作S406,确定基准点云帧frame_i’和待匹配点云帧frame_j’之间的初始相对位姿。
初始相对位姿的估计,可以分别提取frame_i′与framej′点云的FPFH(Fast PointFeature Histograms,快速点特征直方图)特征,并对两者特征进行匹配,基于RANSAC(Random Sample Consensus,随机抽样一致性)算法以及匹配成功的点数获取初始相对位姿。该初始相对位姿是粗略的相对位姿。
在操作S407,基于初始相对位姿对基准点云帧frame_i’和待匹配点云帧frame_j’进行配准。
根据本公开的实施例,根据初始相对位姿,在预设距离范围内对基准点云帧和待匹配点云帧进行配准,得到预设距离范围内的对应点信息、配准位姿以及配准误差。
基于初始位姿,可以采用ICP(Iterative Closest Point,最近点迭代)算法对基准点云帧frame_i′与待匹配点云帧frame_j′进行点云配准,点云配准指针对frame_i′中的特征点,在frame_j′中找到与该特征点对应的点。可以设定对应点距离范围,在该距离范围内查找对应点。
ICP算法可以输出预设距离范围内的对应点信息、配准位姿以及配准误差。配准误差可以包括相匹配的点与对应点之间的距离,对应点信息包括距离范围内的对应点数量。
在操作S408,判断配准误差和对应点数量是否符合要求。如果配准误差和对应点数量均符合要求,将配准位姿确定为目标相对位姿,执行操作S411。如果配准误差和对应点数量中的至少之一不符合要求,执行操作S409。
在操作S409,判断配准失败次数是否达到最大失败次数。如果是,则针对下一个待匹配点云帧,返回操作S403。否则执行操作S410,并返回操作S407。
在操作S410,调整对应点距离。
根据本公开的实施例,根据预设距离范围内的对应点信息、配准位姿以及配准误差,确定基准点云帧与待匹配点云帧之间的目标相对位姿,包括:响应于预设距离范围内的对应点信息和配准误差均符合预设要求,将配准位姿确定为目标相对位姿;响应于预设距离范围内的对应点信息和配准误差中的至少之一不符合预设要求,调整预设距离范围,返回根据初始相对位姿,在预设距离范围内对基准点云帧和待匹配点云帧进行配准的步骤,直至预设距离范围内的对应点信息和配准误差均符合预设要求,或者返回次数大于次数阈值。
例如,预设要求包括配准误差小于误差阈值(例如10cm),预设距离范围内的对应点数量大于数量阈值(例如100个)。配准误差和对应点数量均符合要求,配准成功。可以将配准位姿确定为目标相对位姿,该目标相对位姿相比于初始相对位姿更加精确。
如果配准误差和对应点数量中的至少之一不符合要求,确定匹配失败,匹配失败的次数加1。判断匹配失败的次数是否达到次数阈值(例如2),如果失败次数达到次数阈值败,则丢弃当前的待匹配点云帧frame_j′,针对下一个待匹配点云帧,返回操作S403。下一个待匹配点云帧可以是当前待匹配点云帧的前一帧。
如果失败次数还没有达到阈值,需要再对两帧点云进行一次配准,判断是否配准成功。因此,在失败次数未达到阈值的情况下,可以执行操作S410,调整对应点距离,例如增大对应点距离,再返回操作S407,在更大范围内进行匹配。直至配准成功,或者失败次数达到阈值。
根据本公开的实施例,响应于预设距离范围内的对应点信息和配准误差中的至少之一不符合预设要求,调整预设距离范围、误差阈值、以及数量阈值,返回根据初始相对位姿,在预设距离范围内对基准点云帧和待匹配点云帧进行配准的步骤,直至预设距离范围内的对应点信息和配准误差均符合预设要求,或者返回次数大于次数阈值。
例如,在失败次数未达到阈值的情况下,除了执行操作S410增大对应点距离范围以外,还可以增大配准误差阈值、减小对应点数量阈值,在新的匹配成功条件下返回操作S407,再次进行配准。直至配准成功,或者失败次数达到阈值。
在操作S4 11,基于配准位姿,将待匹配点云帧frame_j’转换到参考点云帧frame_j”。
根据本公开的实施例,根据基准点云帧与待匹配点云帧之间的相对位姿,将待匹配点云帧中的点云转换到参考点云帧中,其中,参考点云帧与基准点云帧对齐;将参考点云帧中的点云合并到基准点云帧中,得到更新的基准点云帧。
例如,在配准成功的情况下,利用匹配成功的配准位姿,即frame_i′和frame_j′之间的目标相对位姿,将frame_j’转换到参考点云帧frame_j”。该配准位姿相对于初始相对位姿更加精确。
配准位姿包括旋转矩阵与平移向量,基于旋转矩阵与平移向量对点云帧frame_j′进行坐标转换得到frame_j″,该待匹配点云帧frame_j″和基准点云帧frame_i′是对齐的。
在操作S412,将参考点云帧frame_j”的点云合并到基准点云帧frame_i’中,得到更新的frame_i’。
由于待匹配点云帧framej″与基准点云帧frame_i′是对齐的,可以将framej″的点云合并到frame_i′中,得到更新的基准点云帧frame_i′。
在操作S413,判断是否达到首帧或末帧。如果是,执行操作S414,否则,返回操作S403。
判断当前待匹配点云帧是否达到首帧,如果没有,则针对下一个待匹配点云帧,即当前待匹配点云帧的前一帧,返回操作S403。直至达到首帧,即i-k达到轨迹的一帧。
针对向轨迹末端配准的情况,与操作S403~操作S412是类似地,区别在于当前待匹配点云帧匹配完成后,针对下一帧进行匹配,该下一帧指当前待匹配点云帧的在后一帧。待匹配点云帧匹配完成之后,判断是否达到末帧,即i+k是否达到轨迹最后一帧。
在操作S414,根据更新的frame_i’中每个点的三维坐标,计算目标对象的目标包围框。
根据本公开的实施例,确定更新的基准点云帧中的目标对象的目标包围框包括:确定更新的基准点云帧中的目标对象的朝向;根据朝向,将目标对象的长宽高分别与中间坐标系的各个坐标轴对齐;根据目标对象在各个坐标轴上的最大值和最小值,确定目标对象的尺寸和中心位置;以及根据目标对象的尺寸和中心位置,确定更新的基准点云帧中的目标对象的目标包围框。
例如,完成全时序点云配准后,得到的更新后的基准点云帧frame_i′将是一个完整的、不存在由于遮挡造成的大部分点云缺失的完整点云帧,基于完整点云帧,根据frame_i′中每个点的三维坐标,计算点云frame_i′的障碍物的目标包围框,获得到目标包围框的信息包括中心位置、朝向、尺寸。该目标包围框是与障碍物紧致贴合的包围框。
例如,可以先估计障碍物的朝向,将朝向在当前坐标系中摆正,具体可以是将障碍物的长宽高分别与当前坐标系的各个坐标轴对齐,计算障碍物在各个坐标轴的最大值和最小值,根据最大值和最小值确定长宽高(尺寸),根据尺寸确定中心位置。
对于静态障碍物,当前坐标系为世界坐标系,得到的目标包围框也是世界坐标系中的包围框。
对于动态障碍物,当前坐标系为目标中心坐标系,得到的目标包围框也是目标中心坐标系中的包围框。
在操作S415,确定点云序列中的目标包围框序列。
根据本公开的实施例,确定点云序列中的目标包围框序列包括:根据基准点云帧与待匹配点云帧之间的相对位姿、以及更新的基准点云帧中的目标对象的目标包围框,确定待匹配点云帧中的目标对象的目标包围框;根据更新的基准点云帧中的目标对象的目标包围框以及待匹配点云帧中的目标对象的目标包围框,确定点云序列中的目标包围框序列。
例如,基于基准点云帧frame_i′与轨迹中每一个经匹配点云帧frame_j′之间的配准位姿,将更新的frame_i′的目标包围框的中心位置、尺寸、朝向同步到世界坐标系/目标中心坐标系中,得到frame_j′的目标包围框。再根据世界坐标系/目标中心坐标系中frame_j′与传感器坐标系中的frame_j之间的转换关系,将frame_j′的目标包围框的中心位置、朝向同步到雷达坐标系中,得到原始点云帧frame_j的目标包围框。从而得到雷达坐标系中的点云序列的目标包围框序列。
本公开的实施例首先基于目标检测网络获取障碍物的粗略包围框,进行时序关联获得动静态障碍物的轨迹,然后充分利用障碍物点云的几何特征,进行全轨迹高精度点云配准,配准误差可以达到在厘米级,得到在整个时序上最完整、最优的障碍物点云,进而得到高精度的障碍物包围框。可以低成本、高效获取大量自动驾驶动静态障碍物包围框真值数据,这对于提高自动驾驶系统的表现具有重要的意义,为自动驾驶技术的进一步发展提供了强有力的支持。
图5是根据本公开的一个实施例的点云标注装置的框图。
如图5所示,该点云标注装置500包括初始包围框序列确定模块501、动静态属性确定模块502、基准帧确定模块503、合并模块504、目标包围框确定模块505和目标包围框序列确定模块506。
初始包围框序列确定模块501用于从点云序列中确定目标对象的初始包围框序列。
动静态属性确定模块502用于根据初始包围框序列,确定目标对象的动静态属性。
基准帧确定模块533用于从点云序列中确定基准点云帧,并将除基准点云帧以外的其他点云帧确定为待匹配点云帧。
合并模块504用于根据目标对象的动静态属性,将待匹配点云帧合并到基准点云帧中,得到更新的基准点云帧。
目标包围框确定模块505用于确定更新的基准点云帧中的目标对象的目标包围框。
目标包围框序列确定模块506根据更新的基准点云帧中的目标对象的目标包围框,确定点云序列中的目标对象的目标包围框序列。
合并模块504包括相对位姿确定子模块和第一合并子模块。
相对位姿确定子模块用于确定基准点云帧与待匹配点云帧之间的相对位姿。
第一合并子模块用于根据相对位姿,将待匹配点云帧中的点云合并到基准点云帧中,得到更新的基准点云帧。
相对位姿确定子模块包括初始相对位姿确定单元、配准单元和目标相对位姿确定单元。
初始相对位姿确定单元用于确定基准点云帧与待匹配点云帧之间的初始相对位姿。
配准单元用于根据初始相对位姿,在预设距离范围内对基准点云帧和待匹配点云帧进行配准,得到预设距离范围内的对应点信息、配准位姿以及配准误差。
目标相对位姿确定单元用于根据预设距离范围内的对应点信息、配准位姿以及配准误差,确定基准点云帧与待匹配点云帧之间的目标相对位姿。
目标相对位姿确定单元包括第一目标相对位姿确定子单元和第二目标相对位姿确定子单元。
第一目标相对位姿确定子单元,用于响应于预设距离范围内的对应点信息和配准误差均符合预设要求,将配准位姿确定为目标相对位姿;
第二目标相对位姿确定子单元,用于响应于预设距离范围内的对应点信息和配准误差中的至少之一不符合预设要求,调整预设距离范围,返回根据初始相对位姿,在预设距离范围内对基准点云帧和待匹配点云帧进行配准的步骤,直至预设距离范围内的对应点信息和配准误差均符合预设要求,或者返回次数大于次数阈值。
根据本公开的实施例,预设要求包括配准误差小于误差阈值,预设距离范围内的对应点数量大于数量阈值;目标相对位姿确定单元还包括第三目标相对位姿确定子单元。
第三目标相对位姿确定子单元,用于响应于预设距离范围内的对应点信息和配准误差中的至少之一不符合预设要求,调整预设距离范围、误差阈值、以及数量阈值,返回根据初始相对位姿,在预设距离范围内对基准点云帧和待匹配点云帧进行配准的步骤,直至预设距离范围内的对应点信息和配准误差均符合预设要求,或者返回次数大于次数阈值。
第一合并子模块包括参考点云帧确定单元和合并单元。
参考点云帧确定单元,用于根据基准点云帧与待匹配点云帧之间的相对位姿,将待匹配点云帧中的点云转换到参考点云帧中,其中,参考点云帧与基准点云帧对齐。
合并单元,用于将参考点云帧中的点云合并到基准点云帧中,得到更新的基准点云帧。
合并模块504包括第一坐标系转换子模块和第二合并子模块。
第一坐标系转换子模块用于根据动静态属性,将基准点云帧和待匹配点云帧,转换到中间坐标系中。
合并子模块用于在中间坐标系中,将待匹配点云帧合并到基准点云帧中,得到更新的基准点云帧。
第一坐标系转换子模块包括第一转换单元和第二转换单元。
第一转换单元用于响应于目标对象为静态目标对象,将基准点云帧和待匹配点云帧,转换到世界坐标系中,其中,世界坐标系作为中间坐标系。
第二转换单,用于响应于目标对象为动态目标对象,将基准点云帧和待匹配点云帧,转换到以目标对象为中心构建的目标中心坐标系中,其中,目标中心坐标系作为中间坐标系。
目标包围框确定模块505包括朝向确定子模块、对齐子模块、尺寸确定子模块和目标包围框确定子模块。
朝向确定子模块用于确定更新的基准点云帧中的目标对象的朝向。
对齐子模块用于根据朝向,将目标对象的长宽高分别与中间坐标系的各个坐标轴对齐。
尺寸确定子模块用于根据目标对象在各个坐标轴上的最大值和最小值,确定目标对象的尺寸和中心位置。
目标包围框确定子模块用于根据目标对象的尺寸和中心位置,确定更新的基准点云帧中的目标对象的目标包围框。
目标包围框序列确定模块506包括目标包围框确定子模块和目标包围框序列确定子模块。
目标包围框确定子模块用于根据基准点云帧与待匹配点云帧之间的相对位姿、以及更新的基准点云帧中的目标对象的目标包围框,确定待匹配点云帧中的目标对象的目标包围框。
目标包围框序列确定子模块用于根据更新的基准点云帧中的目标对象的目标包围框以及待匹配点云帧中的目标对象的目标包围框,确定点云序列中的目标包围框序列。
目标包围框序列为中间坐标系中的目标包围框序列;点云标注装置500还包括坐标系转换模块。
坐标系转换模块用于根据中间坐标系与传感器坐标系之间的转换关系,将中间坐标中的目标包围框序列,转换为传感器坐标系中的目标包围框序列。
初始包围框序列确定模块501包括目标检测子模块、初始包围框序列确定子模块和目标对象确定子模块。
目标检测子模块用于对点云序列中的多个点云帧分别进行目标检测,得到每个点云帧中的至少一个初始对象的初始包围框。
初始包围框序列确定子模块用于根据初始包围框的特征,将每个点云帧中的至少一个初始对象与其他点云帧中的至少一个初始对象进行关联,得到至少一个初始对象各自的初始包围框序列。
目标对象确定子模块用于将至少一个初始对象中的任一初始对象确定为目标对象。
动静态属性确定模块502包括第二坐标系转换子模块和动静态属性确定子模块。
第二坐标系转换子模块用于将目标对象的初始包围框序列转换到世界坐标系中。
动静态属性确定子模块用于根据世界坐标系中初始包围框序列中多个初始包围框的中心位置变化信息,确定目标对象的动静态属性。
基准帧确定模块503,用于从点云序列中确定目标对象的点云数量最多的点云帧作为基准点云帧;或者计算每个点云帧中的目标对象与指定对象之间的位置关系,将目标对象与指定对象之间的距离最小的点云帧确定为基准点云帧。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如点云标注方法。例如,在一些实施例中,点云标注方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的点云标注方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行点云标注方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (31)
1.一种点云标注方法,包括:
从点云序列中确定目标对象的初始包围框序列;
根据所述初始包围框序列,确定所述目标对象的动静态属性;
从所述点云序列中确定基准点云帧,并将除所述基准点云帧以外的其他点云帧确定为待匹配点云帧;
根据所述目标对象的动静态属性,将所述待匹配点云帧合并到所述基准点云帧中,得到更新的基准点云帧;
确定所述更新的基准点云帧中的所述目标对象的目标包围框;以及
根据所述更新的基准点云帧中的所述目标对象的目标包围框,确定所述点云序列中的所述目标对象的目标包围框序列。
2.根据权利要求1所述的方法,其中,所述根据所述目标对象的动静态属性,将所述待匹配点云帧合并到所述基准点云帧中,得到更新的基准点云帧包括:
确定所述基准点云帧与所述待匹配点云帧之间的相对位姿;以及
根据所述相对位姿,将所述待匹配点云帧中的点云合并到所述基准点云帧中,得到更新的基准点云帧。
3.根据权利要求2所述的方法,其中,所述确定所述基准点云帧与所述待匹配点云帧之间的相对位姿包括:
确定所述基准点云帧与所述待匹配点云帧之间的初始相对位姿;
根据所述初始相对位姿,在预设距离范围内对所述基准点云帧和所述待匹配点云帧进行配准,得到预设距离范围内的对应点信息、配准位姿以及配准误差;以及
根据所述预设距离范围内的对应点信息、配准位姿以及配准误差,确定所述基准点云帧与所述待匹配点云帧之间的目标相对位姿。
4.根据权利要求3所述的方法,其中,所述根据所述预设距离范围内的对应点信息、配准位姿以及配准误差,确定所述基准点云帧与所述待匹配点云帧之间的目标相对位姿包括:
响应于所述预设距离范围内的对应点信息和所述配准误差均符合预设要求,将所述配准位姿确定为所述目标相对位姿;
响应于所述预设距离范围内的对应点信息和所述配准误差中的至少之一不符合预设要求,调整所述预设距离范围,返回根据所述初始相对位姿,在预设距离范围内对所述基准点云帧和所述待匹配点云帧进行配准的步骤,直至所述预设距离范围内的对应点信息和所述配准误差均符合预设要求,或者返回次数大于次数阈值。
5.根据权利要求4所述的方法,其中,所述预设要求包括所述配准误差小于误差阈值,所述预设距离范围内的对应点数量大于数量阈值;所述方法还包括:
响应于所述预设距离范围内的对应点信息和所述配准误差中的至少之一不符合预设要求,调整所述预设距离范围、所述误差阈值、以及所述数量闽值,返回根据所述初始相对位姿,在预设距离范围内对所述基准点云帧和所述待匹配点云帧进行配准的步骤,直至所述预设距离范围内的对应点信息和所述配准误差均符合预设要求,或者返回次数大于次数阈值。
6.根据权利要求2至5中任一项所述的方法,其中,所述根据所述相对位姿,将所述待匹配点云帧中的点云合并到所述基准点云帧中,得到更新的基准点云帧包括:
根据所述基准点云帧与所述待匹配点云帧之间的相对位姿,将所述待匹配点云帧中的点云转换到参考点云帧中,其中,所述参考点云帧与所述基准点云帧对齐;
将所述参考点云帧中的点云合并到所述基准点云帧中,得到更新的基准点云帧。
7.根据权利要求1所述的方法,所述根据所述目标对象的动静态属性,将所述待匹配点云帧合并到所述基准点云帧中,得到更新的基准点云帧包括:
根据所述动静态属性,将所述基准点云帧和所述待匹配点云帧,转换到中间坐标系中;
在所述中间坐标系中,将所述待匹配点云帧合并到所述基准点云帧中,得到更新的基准点云帧。
8.根据权利要求7所述的方法,其中,所述根据所述动静态属性,将所述基准点云帧和所述待匹配点云帧,转换到中间坐标系中包括:
响应于所述目标对象为静态目标对象,将所述基准点云帧和所述待匹配点云帧,转换到世界坐标系中,其中,所述世界坐标系作为所述中间坐标系;
响应于所述目标对象为动态目标对象,将所述基准点云帧和所述待匹配点云帧,转换到以所述目标对象为中心构建的目标中心坐标系中,其中,所述目标中心坐标系作为所述中间坐标系。
9.根据权利要求7或8所述的方法,其中,所述确定所述更新的基准点云帧中的所述目标对象的目标包围框包括:
确定所述更新的基准点云帧中的目标对象的朝向;
根据所述朝向,将所述目标对象的长宽高分别与所述中间坐标系的各个坐标轴对齐;
根据所述目标对象在所述各个坐标轴上的最大值和最小值,确定所述目标对象的尺寸和中心位置;以及
根据所述目标对象的尺寸和中心位置,确定所述更新的基准点云帧中的所述目标对象的目标包围框。
10.根据权利要求7或8所述的方法,其中,所述根据所述更新的基准点云帧中的所述目标对象的目标包围框,确定所述点云序列中的目标包围框序列包括:
根据所述基准点云帧与所述待匹配点云帧之间的相对位姿、以及所述更新的基准点云帧中的所述目标对象的目标包围框,确定所述待匹配点云帧中的目标对象的目标包围框;
根据所述更新的基准点云帧中的所述目标对象的目标包围框以及所述待匹配点云帧中的目标对象的目标包围框,确定所述点云序列中的目标包围框序列。
11.根据权利要求10所述的方法,其中,所述目标包围框序列为中间坐标系中的目标包围框序列;所述方法还包括:
根据所述中间坐标系与传感器坐标系之间的转换关系,将所述中间坐标中的所述目标包围框序列,转换为传感器坐标系中的目标包围框序列。
12.根据权利要求1所述的方法,其中,所述从点云序列中确定目标对象的初始包围框序列包括:
对点云序列中的多个点云帧分别进行目标检测,得到每个点云帧中的至少一个初始对象的初始包围框;
根据所述初始包围框的特征,将所述每个点云帧中的至少一个初始对象与其他点云帧中的至少一个初始对象进行关联,得到所述至少一个初始对象各自的初始包围框序列;以及
将所述至少一个初始对象中的任一初始对象确定为所述目标对象。
13.根据权利要求1所述的方法,其中,所述根据所述初始包围框序列,确定所述目标对象的动静态属性包括:
将所述目标对象的初始包围框序列转换到世界坐标系中;以及
根据所述世界坐标系中所述初始包围框序列中多个初始包围框的中心位置变化信息,确定所述目标对象的动静态属性。
14.根据权利要求1所述的方法,其中,所述从所述点云序列中确定基准点云帧包括:
从所述点云序列中确定目标对象的点云数量最多的点云帧作为所述基准点云帧;或者
计算每个点云帧中的目标对象与指定对象之间的位置关系,将目标对象与指定对象之间的距离最小的点云帧确定为所述基准点云帧。
15.一种点云标注装置,包括:
初始包围框序列确定模块,用于从点云序列中确定目标对象的初始包围框序列;
动静态属性确定模块,用于根据所述初始包围框序列,确定所述目标对象的动静态属性;
基准帧确定模块,用于从所述点云序列中确定基准点云帧,并将除所述基准点云帧以外的其他点云帧确定为待匹配点云帧;
合并模块,用于根据所述目标对象的动静态属性,将所述待匹配点云帧合并到所述基准点云帧中,得到更新的基准点云帧;
目标包围框确定模块,用于确定所述更新的基准点云帧中的所述目标对象的目标包围框;以及
目标包围框序列确定模块,根据所述更新的基准点云帧中的所述目标对象的目标包围框,确定所述点云序列中的所述目标对象的目标包围框序列。
16.根据权利要求15所述的装置,其中,所述合并模块包括:
相对位姿确定子模块,用于确定所述基准点云帧与所述待匹配点云帧之间的相对位姿;以及
第一合并子模块,用于根据所述相对位姿,将所述待匹配点云帧中的点云合并到所述基准点云帧中,得到更新的基准点云帧。
17.根据权利要求16所述的装置,其中,所述相对位姿确定子模块包括:
初始相对位姿确定单元,用于确定所述基准点云帧与所述待匹配点云帧之间的初始相对位姿;
配准单元,用于根据所述初始相对位姿,在预设距离范围内对所述基准点云帧和所述待匹配点云帧进行配准,得到预设距离范围内的对应点信息、配准位姿以及配准误差;
目标相对位姿确定单元,用于根据所述预设距离范围内的对应点信息、配准位姿以及配准误差,确定所述基准点云帧与所述待匹配点云帧之间的目标相对位姿。
18.根据权利要求17所述的装置,其中,所述目标相对位姿确定单元包括:
第一目标相对位姿确定子单元,用于响应于所述预设距离范围内的对应点信息和所述配准误差均符合预设要求,将所述配准位姿确定为所述目标相对位姿;
第二目标相对位姿确定子单元,用于响应于所述预设距离范围内的对应点信息和所述配准误差中的至少之一不符合预设要求,调整所述预设距离范围,返回根据所述初始相对位姿,在预设距离范围内对所述基准点云帧和所述待匹配点云帧进行配准的步骤,直至所述预设距离范围内的对应点信息和所述配准误差均符合预设要求,或者返回次数大于次数阈值。
19.根据权利要求18所述的装置,其中,所述预设要求包括所述配准误差小于误差阈值,所述预设距离范围内的对应点数量大于数量阈值;所述目标相对位姿确定单元还包括:
第三目标相对位姿确定子单元,用于响应于所述预设距离范围内的对应点信息和所述配准误差中的至少之一不符合预设要求,调整所述预设距离范围、所述误差阈值、以及所述数量阈值,返回根据所述初始相对位姿,在预设距离范围内对所述基准点云帧和所述待匹配点云帧进行配准的步骤,直至所述预设距离范围内的对应点信息和所述配准误差均符合预设要求,或者返回次数大于次数闽值。
20.根据权利要求16-19中任一项所述的装置,其中,所述第一合并子模块包括:
参考点云帧确定单元,用于根据所述基准点云帧与所述待匹配点云帧之间的相对位姿,将所述待匹配点云帧中的点云转换到参考点云帧中,其中,所述参考点云帧与所述基准点云帧对齐;
合并单元,用于将所述参考点云帧中的点云合并到所述基准点云帧中,得到更新的基准点云帧。
21.根据权利要求15所述的装置,其中,所述合并模块包括:
第一坐标系转换子模块,用于根据所述动静态属性,将所述基准点云帧和所述待匹配点云帧,转换到中间坐标系中;
第二合并子模块,用于在所述中间坐标系中,将所述待匹配点云帧合并到所述基准点云帧中,得到更新的基准点云帧。
22.根据权利要求21所述的装置,其中,所述第一坐标系转换子模块包括:
第一转换单元,用于响应于所述目标对象为静态目标对象,将所述基准点云帧和所述待匹配点云帧,转换到世界坐标系中,其中,所述世界坐标系作为所述中间坐标系;
第二转换单元,用于响应于所述目标对象为动态目标对象,将所述基准点云帧和所述待匹配点云帧,转换到以所述目标对象为中心构建的目标中心坐标系中,其中,所述目标中心坐标系作为所述中间坐标系。
23.根据权利要求21或22所述的装置,其中,所述目标包围框确定模块包括:
朝向确定子模块,用于确定所述更新的基准点云帧中的目标对象的朝向;
对齐子模块,用于根据所述朝向,将所述目标对象的长宽高分别与所述中间坐标系的各个坐标轴对齐;
尺寸确定子模块,用于根据所述目标对象在所述各个坐标轴上的最大值和最小值,确定所述目标对象的尺寸和中心位置;以及
目标包围框确定子模块,用于根据所述目标对象的尺寸和中心位置,确定所述更新的基准点云帧中的所述目标对象的目标包围框。
24.根据权利要求21或22所述的装置,其中,所述目标包围框序列确定模块包括:
目标包围框确定子模块,用于根据所述基准点云帧与所述待匹配点云帧之间的相对位姿、以及所述更新的基准点云帧中的所述目标对象的目标包围框,确定所述待匹配点云帧中的目标对象的目标包围框;
目标包围框序列确定子模块,用于根据所述更新的基准点云帧中的所述目标对象的目标包围框以及所述待匹配点云帧中的目标对象的目标包围框,确定所述点云序列中的目标包围框序列。
25.根据权利要求24所述的装置,其中,所述目标包围框序列为中间坐标系中的目标包围框序列;所述装置还包括:
坐标系转换模块,用于根据所述中间坐标系与传感器坐标系之间的转换关系,将所述中间坐标中的所述目标包围框序列,转换为传感器坐标系中的目标包围框序列。
26.根据权利要求15所述的装置,其中,所述初始包围框序列确定模块包括:
目标检测子模块,用于对点云序列中的多个点云帧分别进行目标检测,得到每个点云帧中的至少一个初始对象的初始包围框;
初始包围框序列确定子模块,用于根据所述初始包围框的特征,将所述每个点云帧中的至少一个初始对象与其他点云帧中的至少一个初始对象进行关联,得到所述至少一个初始对象各自的初始包围框序列;以及
目标对象确定子模块,用于将所述至少一个初始对象中的任一初始对象确定为所述目标对象。
27.根据权利要求15所述的装置,其中,所述动静态属性确定模块包括:
第二坐标系转换子模块,用于将所述目标对象的初始包围框序列转换到世界坐标系中;以及
动静态属性确定子模块,用于根据所述世界坐标系中所述初始包围框序列中多个初始包围框的中心位置变化信息,确定所述目标对象的动静态属性。
28.根据权利要求15所述的装置,其中,所述基准帧确定模块,用于从所述点云序列中确定目标对象的点云数量最多的点云帧作为所述基准点云帧;或者计算每个点云帧中的目标对象与指定对象之间的位置关系,将目标对象与指定对象之间的距离最小的点云帧确定为所述基准点云帧。
29.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至14中任一项所述的方法。
30.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至14中任一项所述的方法。
31.一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据权利要求1至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311767209.6A CN117746388A (zh) | 2023-12-20 | 2023-12-20 | 点云标注方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311767209.6A CN117746388A (zh) | 2023-12-20 | 2023-12-20 | 点云标注方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117746388A true CN117746388A (zh) | 2024-03-22 |
Family
ID=90254121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311767209.6A Pending CN117746388A (zh) | 2023-12-20 | 2023-12-20 | 点云标注方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117746388A (zh) |
-
2023
- 2023-12-20 CN CN202311767209.6A patent/CN117746388A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN108279670B (zh) | 用于调整点云数据采集轨迹的方法、设备以及计算机可读介质 | |
CN113989450B (zh) | 图像处理方法、装置、电子设备和介质 | |
CN111563450B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111209978B (zh) | 三维视觉重定位方法、装置及计算设备、存储介质 | |
KR20210052409A (ko) | 차선의 확정방법, 포지셔닝 정밀도의 평가방법, 장치, 기기 및 컴퓨터 프로그램 | |
CN111462029A (zh) | 视觉点云与高精地图融合方法、装置和电子设备 | |
CN113724388B (zh) | 高精地图的生成方法、装置、设备以及存储介质 | |
CN116255992A (zh) | 一种同时定位与建图的方法和装置 | |
CN111652113A (zh) | 障碍物检测方法、装置、设备以及存储介质 | |
CN114926549B (zh) | 三维点云处理方法、装置、设备以及存储介质 | |
CN115719436A (zh) | 模型训练方法、目标检测方法、装置、设备以及存储介质 | |
CN114140759A (zh) | 高精地图车道线位置确定方法、装置及自动驾驶车辆 | |
CN111368860B (zh) | 重定位方法及终端设备 | |
CN117392241B (zh) | 自动驾驶中的传感器标定方法、装置及电子设备 | |
CN114528941A (zh) | 传感器数据融合方法、装置、电子设备及存储介质 | |
WO2022062355A1 (zh) | 一种融合定位方法及装置 | |
CN113932796A (zh) | 高精地图车道线生成方法、装置和电子设备 | |
CN111260722B (zh) | 车辆定位方法、设备及存储介质 | |
CN112308917A (zh) | 一种基于视觉的移动机器人定位方法 | |
CN115239899B (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
CN115239776B (zh) | 点云的配准方法、装置、设备和介质 | |
CN115937449A (zh) | 高精地图生成方法、装置、电子设备和存储介质 | |
CN114429631B (zh) | 三维对象检测方法、装置、设备以及存储介质 | |
CN110363847B (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 |