CN114764816A - 一种对象状态估计方法、装置、计算设备和车辆 - Google Patents
一种对象状态估计方法、装置、计算设备和车辆 Download PDFInfo
- Publication number
- CN114764816A CN114764816A CN202110044517.0A CN202110044517A CN114764816A CN 114764816 A CN114764816 A CN 114764816A CN 202110044517 A CN202110044517 A CN 202110044517A CN 114764816 A CN114764816 A CN 114764816A
- Authority
- CN
- China
- Prior art keywords
- frame
- point cloud
- state
- optimized
- estimated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000001514 detection method Methods 0.000 claims abstract description 65
- 238000005457 optimization Methods 0.000 claims description 87
- 238000006073 displacement reaction Methods 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 239000000446 fuel Substances 0.000 description 5
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 4
- 230000010267 cellular communication Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003930 cognitive ability Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003502 gasoline Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000001294 propane Substances 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002828 fuel tank Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000010705 motor oil Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/38—Registration of image sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Optical Radar Systems And Details Thereof (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供了一种对象状态估计、装置、计算设备和车辆,用以解决现有状态计算中需要对每帧点云进行目标检测、鲁棒性低的问题。该方法包括:根据对象在当前点云帧中的优化状态,计算所述对象在下一点云帧中的预估状态;根据所述预估状态确定所述对象在所述下一点云帧中的预估点云;通过对所述预估点云作优化来得到所述对象在下一点云帧中的优化状态;其中,预估状态和优化状态均包括所述对象的位置参数和朝向参数的至少一种。本公开实施例摆脱对目标检测的依赖,通过对点云帧中对象的相关点云进行预估和优化,即可确定对象在点云帧中的高精度状态,算法鲁棒性高,适用范围广。
Description
技术领域
本公开涉及点云数据处理领域,尤其涉及一种对象状态估计方法、装置、计算设备和车辆。
背景技术
目前,随着自动驾驶技术和移动机器人技术的发展,激光雷达设备在自动驾驶车辆和移动机器人上已经得到了广泛的应用。为了保证自动驾驶车辆和移动机器人的正常运行,一般需要通过激光雷达采集周围环境的点云数据,以帮助自动驾驶车辆和移动机器人感知自身周围环境,尤其需要感知周围环境中其它车辆的状态,包括位置状态和运动朝向状态等。因此,如何在一段点云序列中准确估计周围车辆的状态对自动驾驶效率和安全性具有重要的意义。
现有的状态估计方法主要基于检测和追踪的多目标追踪范式。针对输入的多帧点云,先利用目标检测方法在每一个单帧点云中提取检测框,其中检测框的位置和朝向代表了车辆的状态;再将不同帧之间的检测框按照“是否属于同一辆车”相关联,从而得到车辆在多帧点云中的状态。
这种方法首先需要在每个单帧点云中进行目标检测,其性能严重依赖于单帧点云的质量。而点云数据广泛存在的稀疏性使得质量较差的部分大量存在,导致现有方法鲁棒性不足。而且,该方案依赖于目标检测模型,需要通过深度学习训练对目标物体外形产生较强的认知能力,从而无法拓展到训练集中没有覆盖到的物体外形类别。另外,由于点云本身存在的稀疏性特征,目标检测往往难以达到厘米级别的精度,影响状态估计的精度,进而影响一些自动驾驶的下游任务。
因此,需要提供一种更高效且高精度的确定车辆状态的方法。
发明内容
本公开的实施例提供一种对象状态估计方法、装置、计算设备和车辆,以提高对象状态计算的准确性和效率。
为达到上述目的,本公开的实施例采用如下技术方案:
本公开实施例的第一方面,提供一种对象状态估计方法,包括:根据对象在当前点云帧中的优化状态,计算对象在下一点云帧中的预估状态;根据预估状态确定所述对象在下一点云帧中的预估点云;通过对预估点云作优化来得到对象在下一点云帧中的优化状态;其中,预估状态和优化状态均包括对象的位置参数和朝向参数的至少一种。
本公开实施例的第二方面,提供一种对象状态估计装置,包括:状态预估模块,适于根据对象在当前点云帧中的优化状态,计算对象在下一点云帧中的预估状态;点云预估模块,适于根据预估状态确定所述对象在所述下一点云帧中的预估点云;状态优化模块,适于通过对所述预估点云作优化来得到对象在下一点云帧中的优化状态;其中,预估状态和优化状态均包括对象的位置和朝向的至少一种。
本公开实施例的第三方面,提供一种计算设备,包括:处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机程序;其中,处理器在运行计算机程序时,执行如上所述的对象状态估计方法。
本公开实施例的第四方面,提供一种算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时实现如上所述的对象状态估计方法。
本公开实施例的第五方面,提供一种车辆,包括如上所述的计算设备。
本公开实施例提供一种对象状态估计方案,对于获取到的点云帧序列,根据对象在当前点云帧中的优化状态,计算对象在下一点云帧中的预估状态,根据预估状态确定对象在下一点云帧中的预估点云;通过对预估点云作优化来得到对象在下一点云帧中的优化状态。本公开直接处理点云数据获得更高精度的状态估计,摆脱了对每帧点云数据目标检测的依赖,不用对物体外形引入额外的先验模型,即可拓展到其它类别的对象状态检测。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种车辆100的结构图;
图2为本公开实施例提供的一种对象状态估计方法200的流程图;
图3为本公开实施例提供的另一种对象状态估计方法300的流程图;
图4为本公开实施例中示意图车辆状态估计和三维重建的效果图;
图5为本公开实施例提供的一种对象状态估计装置500的结构图;
图6为本公开实施例提供的另一种对象状态估计装置600的结构图;
图7为本公开实施例提供的一种计算设备700的结构图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本领域的技术人员更好的了解本公开,下面先对本公开实施例中出现的部分技术术语进行解释如下:
对象:每一帧数据中的目标物体,可包括静态物体和动态物体,例如行人、车辆、动物、障碍物、信号灯、路标等。
状态:物体在三维世界中的位置信息,包括位置坐标和朝向。
状态估计:利用已知信息计算物体在三维世界中的状态。
点云:通过雷达(如激光雷达)采集的周围环境的数据,用一组稀疏的三维空间点标示。
点云序列:一段时间内连续的多幅点云,激光雷达在一段连续时间内采集的点云。
点云配准:通过对齐同一物体的两幅点云,计算该物体在两幅点云之间的运动。
ICP:一种点云配准的算法,根据预测的物体运动将点云点按照最近邻的方式关联,并通过最小化关联点对的距离。
帧(Frame):传感器完成一次观测所接收到的测量数据,如相机的一帧数据为一张图片,激光雷达的一帧数据为一组激光点云。
目标检测:通过算法在原始传感器数据中找到目标物体的位置,一般用长方形或者长方体表示在2D或者3D空间中物体所占据的位置。
目标追踪:对于一段时间内的传感器输入数据和给定目标物体,计算该给定目标物体在每一时刻的状态。
三维重建:获得物体的三维模型,一般用稠密点云或者CAD模型的方式表达。
图1是可以在其中实现本文公开的各种技术的车辆100的示意图。车辆100可以是轿车、卡车、摩托车、公共汽车、船只、飞机、直升机、割草机、挖土机、摩托雪橇、航空器、旅游休闲车、游乐园车辆、农场装置、建筑装置、有轨电车、高尔夫车、火车、无轨电车,或其它车辆。车辆100可以完全地或部分地以自动驾驶模式进行运行。车辆100在自动驾驶模式下可以控制其自身,例如车辆100可以确定车辆的当前状态以及车辆所处环境的当前状态,确定在该环境中的至少一个其它车辆的预测行为,确定该至少一个其它车辆执行所预测行为的可能性所对应信任等级,并且基于所确定的信息来控制车辆100自身。在处于自动驾驶模式时,车辆100可以在无人交互的情况下运行。
车辆100可以包括各种车辆系统,例如驱动系统142、传感器系统144、控制系统146、用户接口系统148、控制计算机系统150以及通信系统152。车辆100可以包括更多或更少的系统,每个系统可以包括多个单元。进一步地,车辆100的每个系统和单元之间可以是互联的。例如,控制计算机系统150能够与车辆系统142-148和152中的一个或多个进行数据通信。从而,车辆100的一个或多个所描述的功能可以被划分为附加的功能性部件或者实体部件,或者结合为数量更少的功能性部件或者实体部件。在更进一步的例子中,附加的功能性部件或者实体部件可以增加到如图1所示的示例中。
驱动系统142可以包括为车辆100提供动能的多个可操作部件(或单元)。在一个实施例中,驱动系统142可以包括发动机或电动机、车轮、变速器、电子系统、以及动力(或动力源)。发动机或者电动机可以是如下装置的任意组合:内燃机、电机、蒸汽机、燃料电池发动机、丙烷发动机、或者其它形式的发动机或电动机。在一些实施例中,发动机可以将一种动力源转换为机械能。在一些实施例中,驱动系统142可以包括多种发动机或电动机。例如,油电混合车辆可以包括汽油发动机和电动机,也可以包括其它的情况。
车辆100的车轮可以是标准车轮。车辆100的车轮可以是多种形式的车轮,包括独轮、双轮、三轮、或者四轮形式,例如轿车或卡车上的四轮。其它数量的车轮也是可以的,例如六轮或者更多的车轮。车辆100的一个或多个车轮可被操作为与其他车轮的旋转方向不同。车轮可以是至少一个与变速器固定连接的车轮。车轮可以包括金属与橡胶的结合,或者是其他物质的结合。变速器可以包括可操作来将发动机的机械动力传送到车轮的单元。出于这个目的,变速器可以包括齿轮箱、离合器、差动齿轮和传动轴。变速器也可以包括其它单元。传动轴可以包括与车轮相匹配的一个或多个轮轴。电子系统可以包括用于传送或控制车辆100的电子信号的单元。这些电子信号可用于启动车辆100中的多个灯、多个伺服机构、多个电动机,以及其它电子驱动或者控制装置。动力源可以是全部或部分地为发动机或电动机提供动力的能源。也即,发动机或电动机能够将动力源转换为机械能。示例性地,动力源可以包括汽油、石油、石油类燃料、丙烷、其它压缩气体燃料、乙醇、燃料电池、太阳能板、电池以及其它电能源。动力源可以附加的或者可选地包括燃料箱、电池、电容、或者飞轮的任意组合。动力源也可以为车辆100的其它系统提供能量。
传感器系统144可以包括多个传感器,这些传感器用于感测车辆100的环境和条件的信息。例如,传感器系统144可以包括惯性测量单元(IMU)、全球定位系统(GPS)收发器、雷达(RADAR)单元、激光测距仪/LIDAR单元(或其它距离测量装置)、声学传感器、以及相机或图像捕捉装置。传感器系统144可以包括用于监控车辆100的多个感应器(例如,氧气(O2)监控器、油量表传感器、发动机油压传感器,等等)。还可以配置其它传感器。包括在传感器系统144中的一个或多个传感器可以被单独驱动或者被集体驱动,以更新一个或多个传感器的位置、方向,或者这二者。
IMU可以包括传感器的结合(例如加速器和陀螺仪),用于基于惯性加速来感应车辆100的位置变化和方向变化。GPS收发器可以是任何用于估计车辆100的地理位置的传感器。出于该目的,GPS收发器可以包括接收器/发送器以提供车辆100相对于地球的位置信息。需要说明的是,GPS是全球导航卫星系统的一个示例,因此,在一些实施例中,GPS收发器可以替换为北斗卫星导航系统收发器或者伽利略卫星导航系统收发器。雷达单元可以使用无线电信号来感应车辆100所在环境中的对象。在一些实施例中,除感应对象之外,雷达单元还可以用于感应接近车辆100的物体的速度和前进方向。激光测距仪或LIDAR单元(或者其它距离测量装置)可以是任何使用激光来感应车辆100所在环境中的物体的传感器。在一个实施例中,激光测距仪/LIDAR单元可以包括激光源、激光扫描仪、以及探测器。激光测距仪/LIDAR单元用于以连续(例如使用外差检测)或者不连续的检测模式进行工作。相机可以包括用于捕捉车辆100所在环境的多个图像的装置。相机可以是静态图像相机或者动态视频相机。
控制系统146用于控制对车辆100及其部件(或单元)的操作。相应地,控制系统146可以包括各种单元,例如转向单元、动力控制单元、制动单元和导航单元。
转向单元可以是调整车辆100前进方向的机械的组合。动力控制单元(例如可以为油门),例如可以被用于控制发动机的运转速度,进而控制车辆100的速度。制动单元可以包括用于对车辆100进行减速的机械的组合。制动单元可以以标准方式利用摩擦力来使车辆减速。在其他实施例中,制动单元可以将车轮的动能转化为电流。制动单元也可以采用其它形式。导航单元可以是任何为车辆100确定驾驶路径或路线的系统。导航单元还可以在车辆100行进的过程中动态的更新驾驶路径。控制系统146还可以附加地或者可选地包括其它未示出或未描述的部件(或单元)。
用户接口系统148可以用于允许车辆100与外部传感器、其它车辆、其它计算机系统和/或车辆100的用户之间的互动。例如,用户接口系统148可以包括标准视觉显示装置(例如,等离子显示器、液晶显示器(LCD)、触屏显示器、头戴显示器,或其它类似的显示器),扬声器或其它音频输出装置,麦克风或者其它音频输入装置。例如,用户接口系统148还可以包括导航接口以及控制车辆100的内部环境(例如温度、风扇,等等)的接口。
通信系统152可以为车辆100提供与一个或多个设备或者周围其它车辆进行通信的方式。在一个示例性的实施例中,通信系统152可以直接或者通过通信网络与一个或多个设备进行通信。通信系统152例如可以是无线通信系统。例如,通信系统可以使用3G蜂窝通信(例如CDMA、EVDO、GSM/GPRS)或者4G蜂窝通信(例如WiMAX或LTE),还可以使用5G蜂窝通信。可选地,通信系统可以与无线本地局域网(WLAN)进行通信(例如,使用)。在一些实施例中,通信系统152可以直接与一个或多个设备或者周围其它车辆进行通信,例如,使用红外线,或者ZIGBEE。其它无线协议,例如各种车载通信系统,也在本申请公开的范围之内。例如,通信系统可以包括一个或多个专用短程通信(DSRC)装置、V2V装置或者V2X装置,这些装置会与车辆和/或路边站进行公开或私密的数据通信。
控制计算机系统150能控制车辆100的部分或者全部功能。控制计算机系统150中的自动驾驶控制单元可以用于识别、评估、以及避免或越过车辆100所在环境中的潜在障碍。通常,自动驾驶控制单元可以用于在没有驾驶员的情况下控制车辆100,或者为驾驶员控制车辆提供辅助。在一些实施例中,自动驾驶控制单元用于将来自GPS收发器的数据、雷达数据、LIDAR数据、相机数据、以及来自其它车辆系统的数据结合起来,来确定车辆100的行驶路径或轨迹。自动驾驶控制单元可以被激活以使车辆100能够以自动驾驶模式被驾驶。
控制计算机系统150可以包括至少一个处理器(其可以包括至少一个微处理器),处理器执行存储在非易失性计算机可读介质(例如数据存储装置或存储器)中的处理指令(即机器可执行指令)。存储器中存储有至少一条机器可执行指令,处理器执行至少一条机器可执行指令实现包括地图引擎、定位模块、感知模块、导航或路径模块、以及自动控制模块等的功能。地图引擎和定位模块用于提供地图信息和定位信息。感知模块用于根据传感器系统获取到的信息和地图引擎提供的地图信息感知车辆所处环境中的事物。导航或路径模块用于根据地图引擎、定位模块和感知模块的处理结果,为车辆规划行驶路径。自动控制模块将导航或路径模块等模块的决策信息输入解析转换成对车辆控制系统的控制命令输出,并通过车载网(例如通过CAN总线、局域互联网络、多媒体定向系统传输等方式实现的车辆内部电子网络系统)将控制命令发送给车辆控制系统中的对应部件,实现对车辆的自动控制;自动控制模块还可以通过车载网来获取车辆中各部件的信息。
控制计算机系统150也可以是多个计算装置,这些计算装置分布式地控制车辆100的部件或者系统。在一些实施例中,存储器中可以包含被处理器执行来实现车辆100的各种功能的处理指令(例如,程序逻辑)。在一个实施例中,控制计算机系统150能够与系统142、144、146、148和/或152进行数据通信。控制计算机系统中的接口用于促进控制计算机系统150和系统142、144、146、148以及152之间的数据通信。
存储器还可以包括其它指令,包括用于数据发送的指令、用于数据接收的指令、用于互动的指令、或者用于控制驱动系统140、传感器系统144、或控制系统146或用户接口系统148的指令。
除存储处理指令之外,存储器可以存储多种信息或数据,例如图像处理参数、道路地图、和路径信息。在车辆100以自动方式、半自动方式和/或手动模式运行的期间,这些信息可以被车辆100和控制计算机系统150所使用。
尽管自动驾驶控制单元被示为与处理器和存储器分离,但是应当理解,在一些实施方式中,自动驾驶控制单元的某些或全部功能可以利用驻留在一个或多个存储器(或数据存储装置)中的程序代码指令来实现并由一个或多个处理器执行,并且自动驾驶控制单元在某些情况下可以使用相同的处理器和/或存储器(或数据存储装置)来实现。在一些实施方式中,自动驾驶控制单元可以至少部分地使用各种专用电路逻辑,各种处理器,各种现场可编程门阵列(“FPGA”),各种专用集成电路(“ASIC”),各种实时控制器和硬件来实现。
控制计算机系统150可以根据从各种车辆系统(例如,驱动系统142,传感器系统144,以及控制系统146)接收到的输入,或者从用户接口系统148接收到的输入,来控制车辆100的功能。例如,控制计算机系统150可以使用来自控制系统146的输入来控制转向单元,来避开由传感器系统144检测到的障碍物。在一个实施例中,控制计算机系统150可以用来控制车辆100及其系统的多个方面。
虽然图1中显示了集成到车辆100中的各种部件(或单元),这些部件(或单元)中的一个或多个可以搭载到车辆100上或单独关联到车辆100上。例如,控制计算机系统可以部分或者全部地独立于车辆100存在。从而,车辆100能够以分离的或者集成的设备单元的形式而存在。构成车辆105的设备单元之间可以以有线通信或者无线通信的方式实现相互通信。在一些实施例中,可以将附加部件或单元添加到各个系统或从系统中移除一个或多个以上的部件或单元(例如,图1所示的LiDAR或雷达)。
如前文所述,现有的状态估计方法主要基于检测和追踪的多目标追踪范式,需要先利用目标检测方法在每一个单帧点云中提取检测框,再对这多帧中的检测框进行匹配。这种方案严重依赖单帧点云的质量和目标检测模型,当点云数据稀疏时鲁棒性不足,且需要通过深度学习训练对目标物体外形产生较强的认知能力,无法拓展到训练集中没有覆盖到的物体外形类别。为此,本公开实施例旨在提出一种鲁棒性更高且应用范围更广泛的状态估计方案。
如图2所示,本公开实施例提供一种对象状态估计方法200,包括:
步骤S201、根据对象在当前点云帧中的优化状态,计算对象在下一点云帧中的预估状态。
步骤S202、根据对象在下一点云帧中的预估状态确定所述对象在下一点云帧中的预估点云。
步骤S203、通过对对象在下一点云帧中的预估点云预估点云作优化,得到对象在下一点云帧中的优化状态。
其中,预估状态和优化状态均包括对象的位置参数和朝向参数的至少一种。位置参数包括对象的关键点在空间坐标系中的第一坐标、第二坐标、第三坐标中的至少一种。第一坐标、第二坐标、第三坐标可对应空间坐标系中的x轴坐标、y轴坐标和z轴坐标。朝向参数包括俯仰角、偏航角、翻滚角中的至少一种。关键点可以为一个或多个,例如可以为对象的中心点或对象的特定部位的中心,或者这些点的集合。例如对于车辆,其关键点可以是车辆中心点,也可以是车头中心点,两侧后轮的中心点,或者多个车身点的集合,本发明对该关键点的数量和位置均不作限制。
为了使本领域的技术人员更好的了解本公开,下面结合附图、实例等对本公开实施例做更为详细的阐述。值得说明的是,本公开实施例中的对象状态估计可以是指安装有雷达的自动驾驶车辆、智能机器人、无人机等对周围环境进行在线感知并检测识别所关注对象(如车辆、行人、障碍物等,但不仅局限于此)的位置和朝向等状态,也可以是离线场景下通过计算设备来对一段点云序列中的每一帧进行预估。当然,应用到对象状态估计的场景还有很多,应该知道的是,能够应用对象状态估计的场景均可能应用到本公开实施例,本公开实施例在此不再一一列举。
在本公开的一实施例中,如图3所示,提供一种对象状态估计方法300,包括:
步骤S301、确定点云序列的初始帧,以及对象在初始帧中的标注状态,设定该初始帧为当前帧,并将该标注状态作为对象在初始帧中的优化状态。其中,标注状态可以通过人工标注或者目标检测结果得到。
这里,通过激光雷达采集真实道路状况的点云数据,形式为长度为L的点云序列T1至TL。针对目标对象,首先在点云序列中确定一个高质量的初始帧,该初始帧可以是人为选定的帧,可以是点云序列的第一帧,也可以是目标检测结果到达预定置信度阈值的帧。初始帧的目标检测结果和标注状态可以通过人工标注得到,也可以通过预先训练的目标检测网络得到,本公开对此不做限制。一般地,在线场景下可利用目标检测算法筛选置信度较高的检测结果,离线应用场景下可以利用人工标注。
目标检测结果或者经过标注后得到的标注结果可以包括对象在初始帧中的边界框、初始状态与该对象相关的点云作为初始点云、以及该对象的形状作为初始形状。其中,边界框可以为二维框(用长和宽标注),也可以为三维框(用长宽高标注),考虑对象为刚性物体,其边界框在点云序列中保持固定大小。本申请实施例的目的之一是通过优化之后得到每帧数据中对象的状态(即优化状态)、与对象相关的点云(即优化点云)、以及对象的形状(即优化形状)。为了用语统一,本申请将将初始帧中标注状态作为对象在初始帧中的优化状态,将初始帧中的初始点云作为对象在初始帧中的优化点云,将初始帧的初始形状作为对象在初始帧中的优化形状。初始形状为对象在点云序列中的初始模型,其可以为二维模型,优选为三维模型。
实际上,本公开仅需要获取初始帧的目标检测结果或者标注结果,之后其他帧并不需要进行目标检测,仅根据点云数据的计算即可得到各帧中对象的优化状态。
步骤S302、根据对象在当前点云帧中的优化状态,计算对象在下一点云帧中的预估状态。
在一种实现方式中,根据对象在当前点云帧中的优化状态Sk和帧间位移值ΔSprior,计算对象在下一点云帧中的预估状态Sk+1',k为第k帧点云。具体而言,下一点云帧的预估状态=当前点云帧中的优化状态+帧间位移值。与状态参数相对应的,帧间位移值也包括位置参数变化值和朝向参数变化值中的至少一种,位置参数变化值包括对象的关键点在空间坐标系中的第一坐标变化值、第二坐标变化值、第三坐标变化值中的至少一种;朝向参数包括俯仰角变化值、偏航角变化值、翻滚角变化值中的至少一种。第一坐标变化值、第二坐标变化值、第三坐标变化值可对应对象在空间坐标系中的x轴坐标变化值、y轴坐标变化值和z轴坐标变化值。假设状态参数表示为x,y,z,θ,则对应的位置参数变化值为Δx、Δy、Δz、Δθ。
若当前帧为初始帧,此时可参考信息较少,因此设定下一帧相对于初始帧的帧间位移值ΔSprior=0;若当前帧非初始帧,此时已经得到了一些帧的优化状态,根据这些已知帧的优化状态,即可得到每两帧之间的位移值,进而通过加权平均可以得到应用于当前点云帧的帧间位移值,也就是下一帧相对于当前帧的帧间位移值;即,帧间位移值是至少一个在前帧之间的平均位移值,该帧间位移值的具体计算过程将在后文详述。
步骤S303、根据对象在下一点云帧的预估状态确定对象在下一点云帧中的预估点云。
在一种实现方式中,根据预估状态确定对象在下一点云帧中的预估点云可以根据以下方式实现:根据对象在下一点云帧的预估状态生成第一检测框,并根据该第一检测框在下一点云帧中筛选与对象相关的点云,作为预估点云。可选地,根据对象状态和检测框的长宽高信息进行点云筛选,筛选的规则是:只将在由对象状态和检测框指定长方体中的点判定为和对象相关的点并保留。对象状态可以是预估状态,也可以是后文中的优化状态,如果是预估状态,则对应得到预估点云;如果是优化状态,则对应得到优化点云。一般地,若当前帧为初始帧,则第一检测框是边界框的第三倍数,即将在初始帧得到的边界框放大第三倍数,得到第一检测框。此时在预估第二帧时可参考信息比较少,因此需在更大范围内筛选与对象相关的点云。可选地,第三倍数设定为2-4倍,优选地为3倍,当然也可以设定为其他数值,本公开对此不做限制。
相应地,若当前帧非初始帧,则第一检测框是边界框的第二倍数,此时已经有一些在前帧的参考信息,因此可以放大稍小倍数,例如设定为1.5倍,当然不限于此。
步骤S304、通过对下一点云帧中的预估点云作优化,得到对象在下一点云帧中的优化状态。
在一种实现方式中,通过对预估点云作优化来得到对象在下一点云帧中的优化状态,可以根据以下方式实现:确定优化帧集合,该优化帧集合包括该下一点云帧和该下一点云帧的至少一个在前帧;之后,通过对优化帧集合内的点云作优化,得到对象在下一点云帧中的优化状态。
应当理解的是,在预测下一帧点云的优化状态前,实际已经知道了对象该下一帧点云的各在前帧的优化状态。因此,本申请实施例通过优化帧集合内的点云作优化时,还会更新对象在至少一个在前帧中的优化状态,得到对应的第二次或第三次优化状态等。
这里,优化帧集合可以是一个预设帧长度的滑窗集合,如四帧长度,这样在计算每个下一点云帧的优化状态时,都结合该下一点云帧的前三帧来作点云优化,此时在优化该下一点云帧的同时,也会对这三个在前帧的点云和状态进行更新。当然,若当前的优化帧集合不满足该预设帧长度,如要优化第三帧时,在前帧只有两帧,此时则将现有的在前帧都纳入优化帧集合。
一般地,每次得到点云的优化状态后,即可根据该优化状态确定该帧数据中与对象相关的点云,作为优化点云。相应的,第一次优化状态有对应的第一次优化点云,第二次优化状态有对应的第二次优化点云,以此类推。这里可能会进行多次筛选迭代过程,当迭代到最大迭代次数时,确定当前的优化点云和优化状态。
如下表所示,当前帧为初始帧时,优化状态为标注状态此时优化帧集合只有初始帧和该初始帧的下一帧,通过对初始帧中的初始点云和该下一帧中的预估点云作优化,得到对象在下一点云帧的优化状态。之后根据该初始状态和当前的帧间位移值ΔSprior计算第二帧的预估状态S2',通过对前两帧的点云进行优化,即对第一帧的优化点云和第二帧的预估点云进行优化,得到对象在第二帧的第一次优化状态S21。进而得到对象在第二帧点云中的第一次优化点云。
之后,根据对象在第二帧的第一次优化状态S21计算对象在第三帧点云中的预估状态S3',通过对前三帧的点云进行优化,即对前两帧的优化点云和第三帧的预估点云进行优化,得到对象在第三帧的第一次优化状态S31,同时会得到对象在第二帧的第二次优化状态S22。
同理,根据对象在第三帧的第一次优化状态S31计算对象在第四帧的预估状态S4',通过对前四帧点云进行优化,得到对象在第四帧的第一次优化状态S41,同时会得到对象在第三帧的第二次优化状态S32、以及对象在第二帧的第三次优化状态S23。
继而,根据对象在第四帧的第一次优化状态S41计算对象在第五帧的预估状态S5',通过对第2-5帧点云进行优化,得到对象在第五帧的第一次优化状态S51,同时会得到对象在第四帧的第二次优化状态S42、以及对象在第三帧的第三次优化状态S33、以及对象在第二帧的第四次优化状态S24。
依次类推,直到优化到点云序列的最后一帧,这样,假设预设优化帧集合为n帧,则除了初始帧和最后几帧,中间的每一帧都会参与n次点云优化,得到n次优化状态。当然,每次点云优化后,都会得到每帧点云的最新优化点云,此时可采用该最新优化点云来参与后续的优化帧集合内的点云优化。一般地,在线场景下对数据的实时性要求较高,因此在线场景可输出每一帧的第一次优化状态,而离线场景下可输出每一帧最后更新后的优化状态和优化点云。
另外,考虑初始帧的数据置信度比较高,因此在每次的优化帧集合中都可以加入初始帧,以结合该初始帧对集合内的其他点云作优化。而当优化帧集合内有初始帧时,该初始帧的标注状态和初始点云可以被更新,不过考虑该初始帧的数据置信度较高,因此该标注状态和初始点云也可以不更新。
根据一个实施例,对优化帧集合内的点云作优化,具体可以为:在优化帧集合内对与对象相关的点云作优化,计算优化的损失函数,并根据该损失函数确定对象在下一点云帧的优化状态。对象状态的优化来自对损失函数的最小化,损失函数包括但不限于以下几种约束项:
1)连续多个点云帧之间的帧间位移值变化约束:也即连续多个帧间位移值之间的变化值不能超过预定阈值。
2)对象在初始帧和在下一点云帧中距离地面的高度差变化约束:也就是对象在初始帧和在该下一点云帧的离地高度差不能超过预定阈值。具体地,先确定地面点云,并根据该地面点云确定地面高度,根据与对象相关的点云来确定对象相距地面高度。其中,与对象相关的点云根据所在帧是否已被优化,可以为预估点云或优化点云。
3)至少一个在前帧之间的优化点云的配准距离约束:如任两个在前帧之间的配准距离不能超过预定阈值。
5)至少一个在前帧的优化点云与下一点云帧的预估点云的配准距离约束:如在前帧与该下一帧配准后满足一致性约束,这里可包括:
以上每种约束项都有其对应的权重,将各约束项进行加权,即可得到损失函数,并根据该损失函数来对优化帧集合内的点云进行优化。其中部分约束项的计算公式如下:
其中,其中,Ok-1代表第k-1帧点云的优化点云,代表第k帧点云的预估点云,代表Ok-1和之间的配准点集,代表点集中的点个数,(ΔSk,Sk-1)⊙p代表将点p从第k-1帧的状态Sk-1移动ΔSk的距离,q为点p在第k帧点云中所配准的点,||||2代表二范数。
M1代表初始帧点云的优化形状,代表M1和之间的配准点集,代表将点p从初始帧点云的初始状态移动的距离,Sk为第k帧点云的优化状态。Mk-1代表第k-1帧点云的优化形状,代表Mk-1和的配准点集。v为第k-1帧到第k帧点云的帧间位移值,Δxk为其中一个坐标位移值,θk-1和θk分别为第k-1帧和第k帧点云的旋转角。
步骤S305、根据对象在下一点云帧的优化状态确定对象在下一点云帧中的优化点云,以及根据对象在至少一个在前帧的更新后的优化状态确定对象在至少一个在前帧中更新后的优化点云。
在一种实现方式中,根据对象在下一点云帧的优化状态对象在下一点云帧中的优化点云,可根据以下方式实现:根据对象在下一点云帧中的优化状态生成第二检测框;根据第二检测框在下一点云帧中筛选与对象相关的点云,作为该对象的优化点云。其中,第一检测框大于等于第二检测框,第二检测框为对象的边界框的第一倍数(结合前文,第三倍数>第二倍数>第一倍数≥1)。可选地,第一倍数设定为1-1.5倍,优选地为1.1倍,当然不限于此。
步骤S306、根据对象在当前点云帧和下一点云帧中的优化状态,计算对象在该两个点云帧之间的位移值,以及根据所计算出的位移值更新帧间位移值,以根据更新后的帧间位移值计算对象在其他点云帧中的预估状态。
这里主要是对对象的运动模型进行更新,即对帧间位移值的更新。本公开实施例利用车辆的运动模型维护一个运动观测值,代表对下一帧运动的预测。实际运算中用滑动平均的方法维护,每当有新的帧间运动被预测,则会自动更新帧间位移值。具体地,可根据该下一点云帧和下一点云帧的至少一个在前帧的优化状态来更新帧间位移值,该至少一个在前帧可以仅是优化帧集合内的帧,也可以包括优化帧集合外的帧,进一步可以包括所有在前帧。
在一种实现方式中,在前帧的优化状态为第一次优化状态,假设第k-1帧点云对应的帧间位移值为ΔSprior,第k-1帧和第k帧的优化状态分别为Sk-1和Sk,则第k帧对应的帧间位移,也就是更新后的帧间位移值为ΔSprior=αΔSprior+(1-α)(Sk-Sk-1)。
在另一种实现方式中,在前帧的优化状态为更新后的优化状态,则可根据更新后的优化状态重新计算每两帧之间的帧间位移值,并对该每两帧的位移值进行加权平均,得到更新后的帧间位移值。
需要说明的是,上述步骤S305和步骤S306没有先后顺序,可以先执行步骤S305,也可以先执行步骤S306,或者两者同时执行,本公开对此均不做限制。
步骤S307、将当前点云帧更新为下一点云帧,并返回执行步骤S302,以根据更新后的当前点云帧,继续计算下一点云帧的优化状态,直到计算得到最后一帧点云帧的优化状态。这里,首先判断是否预测到了最后一帧点云,若否,则将当前点云帧更新为该下一点云帧。
除了更新对象的运动模型,本公开实施例还提供了一种新的对对象的三维点云模型进行更新的方法。现有的三维重建方法基于有监督学习,通过CAD模型训练深度神经网络将稀疏点云补全成CAD模型对应的稠密点云。在实际应用中,利用深度神经网络将每一帧的单帧稀疏点云补全成稠密点云。这种方法需要额外的CAD模型作为训练数据,拓展性差,无法拓展到数据集中不存在的外形类别。而且,该方案主要基于单帧的点云数据,因此在单帧点云较为稀疏、不包含足够信息时,无法产生高质量的三维重建。
为此,本公开实施例提供一种通过点云序列的多帧、多视角信息即可实现高质量三维重建的方法,不需要监督数据,也不需要强依赖于单帧点云数据。
在一种实现方式中,根据对象在至少一个在前帧的优化形状与对象在下一点云帧的优化点云,确定对象在下一点云帧中的优化形状。其中,初始帧的优化形状为从初始帧的目标检测结果中确定得到的初始形状。
本公开算法按照每一帧估计的对象状态和观测到的点云,将不同帧的点云叠加成稠密的点云模型,并在算法结束时获得高质量的物体三维重建。对于车辆的重建效果如图4中第二栏所示,可以看出其可以真实还原车辆的3D形态。
需要说明的是,当前点云帧和下一点云帧可以是点云序列中相邻的两帧,也可以是相隔预定帧序的两帧。对象的状态优化可以每帧都进行,对象的三维重建可以间隔预定帧序进行。因此,在确定对象在下一点云帧中的优化形状之前,还可以先判断该下一点云帧是否为预设的优化周期的帧序,若是,才确定对象在下一点云帧中的优化形状。其中,优化周期的帧序从初始帧起算,例如每十帧进行一次三维重建。在具体实现中,可按照时间关系每隔1秒钟选取叠加一次点云来更新3D模型。
综上所述,本公开以初始帧作为开始,利用迭代优化算法逐帧估计对象在每一帧点云中的状态,并选择关键帧叠加点云重建三维模型。每一帧的估计中,首先确定预估状态,之后迭代筛选点云、优化状态,在优化完成后输出优化状态并更新对象的运动模型和3D模型。
另外,如图5所示,本公开实施例还提供一种对象状态估计装置500,包括状态预估模块501、点云预估模块502和状态优化模块503。其中,
状态预估模块501根据对象在当前点云帧中的优化状态,计算对象在下一点云帧中的预估状态。可选地,状态预估模块501根据对象在当前点云帧中的优化状态和帧间位移值,计算对象在下一点云帧中的预估状态。
点云预估模块502根据所述预估状态确定对象在下一点云帧中的预估点云。
状态优化模块503通过对预估点云作优化来得到对象在下一点云帧中的优化状态。
在一种实现方式中,状态优化模块503确定优化帧集合,优化帧集合包括所述下一点云帧和所述下一点云帧的至少一个在前帧;通过对优化帧集合内的点云作优化,得到对象在下一点云帧中的优化状态,以及更新对象在至少一个在前帧中的优化状态。可选地,状态优化模块503在优化帧集合内对与对象相关的点云作优化,计算优化的损失函数,并根据该损失函数确定对象在下一点云帧的优化状态。
如图6所示,本公开实施例提供了另一种对象状态估计装置600。装置600是装置500的优化方案,包括状态预估模块601、点云预估模块602、状态优化模块603、点云优化模块604、更新模块605和形状优化模块606。其中,状态预估模块601、点云预估模块602、状态优化模块603和装置500中的状态预估模块501、点云预估模块502、状态优化模块503的实现方式相同,这里不再展开赘述。
点云优化模块604根据对象在下一点云帧的优化状态确定对象在下一点云帧中的优化点云;以及根据对象在至少一个在前帧的更新后的优化状态确定对象在至少一个在前帧中更新后的优化点云。
在一种实现方式中,点云优化模块604根据对象在下一点云帧中的优化状态生成第二检测框;根据第二检测框在下一点云帧中筛选与对象相关的点云,作为优化点云。其中,第一检测框大于等于第二检测框,第二检测框为对象的边界框的第一倍数,边界框从初始帧的目标检测结果中确定得到,第一倍数大于等于1。另外,若当前点云帧非初始帧,则帧间位移值为至少一个在前帧之间的平均位移值,第一检测框为边界框的第二倍数,且第二倍数大于第一倍数;若当前点云帧为初始帧,则帧间位移值为0,第一检测框为边界框的第三倍数,且第三倍数大于第二倍数。
更新模块605根据对象在当前点云帧和下一点云帧中的优化状态,计算对象在该两个点云帧之间的位移值,并根据所计算出的位移值更新帧间位移值,以根据更新后的帧间位移值计算对象在其他点云帧中的预估状态。
形状优化模块606根据对象在至少一个在前帧的优化形状与对象在下一点云帧的优化点云,确定对象在所述下一点云帧中的优化形状。其中,初始帧的优化形状为从初始帧的目标检测结果中确定得到的初始形状。可选地,形状优化模块首先判断下一点云帧是否为预设的优化周期的帧序,若是,则根据优化点云与对象在所述至少一个在前帧的优化形状,确定对象在下一点云帧中的优化形状。
需要说明的是,本公开实施例提供的对象状态估计装置500和600的具体实现方式在对图1-图4的描述中已详细公开,此处不再赘述。
另外,本公开实施例还提供一种计算机可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,实现如前文所述的对象状态估计方法。
另外,本公开实施例还提供一种如图7所示的计算设备700,包括存储器701,以及与存储器通信连接的一个或多个处理器702。存储器701中存储有可被一个或多个处理器702执行的指令,指令被一个或多个处理器702执行,以使一个或多个处理器702实现如前文所述的对象状态估计方法。计算装置700还可以进一步包括一个通信接口703,该通信接口703可以实施一个或多个通信协议(LTE、Wi-Fi,等等)。
根据本公开的技术方案,摆脱对目标检测的依赖,直接对物体的状态进行估计;不用对物体外形引入额外的先验模型,使之可以拓展到其它类别;通过直接处理点云数据获得更高精度的状态估计;通过点云序列的多帧、多视角信息实现高质量三维重建,不需要监督数据,也不需要强依赖于单帧的点云数据。
本公开可用于自动驾驶的在线感知模块或者离线分析模块。在线场景中,本公开利用通用计算设备(CPU)处理雷达点云获得对周围车辆绝对状态的估计,供给下游的规划和感知模块等。离线场景中,本公开通过离线分析数据提供周围车辆的3D模型信息和运动状态信息,为规划、融合等部分提供Benchmark数据,也可以用于创建虚拟的复杂雷达场景。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本公开中应用了具体实施例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (22)
1.一种对象状态估计方法,包括:
根据对象在当前点云帧中的优化状态,计算所述对象在下一点云帧中的预估状态;
根据所述预估状态确定所述对象在所述下一点云帧中的预估点云;
通过对所述预估点云作优化来得到所述对象在下一点云帧中的优化状态;
其中,预估状态和优化状态均包括所述对象的位置参数和朝向参数的至少一种。
2.根据权利要求1所述的方法,其中,所述当前点云帧为初始点云帧时,所述初始帧的优化状态为所述对象在所述初始点云帧中的标注状态,所述标注状态通过人工标注或者目标检测结果得到。
3.根据权利要求1所述的方法,其中,所述当前点云帧和所述下一点云帧为点云序列中相邻的两帧或相隔预定帧序的两帧。
4.根据权利要求1所述的方法,其中,通过对所述预估点云作优化来得到所述对象在下一点云帧中的优化状态,包括:
确定优化帧集合,所述优化帧集合包括所述下一点云帧和所述下一点云帧的至少一个在前帧;
通过对所述优化帧集合内的点云作优化,得到所述对象在所述下一点云帧中的优化状态。
5.根据权利要求4所述的方法,还包括:
通过对所述优化帧集合内的点云作优化,更新所述对象在所述至少一个在前帧中的优化状态。
6.根据权利要求5所述的方法,还包括:
根据所述对象在所述下一点云帧的优化状态确定所述对象在所述下一点云帧中的优化点云;以及
根据所述对象在所述至少一个在前帧的更新后的优化状态确定所述对象在所述至少一个在前帧中更新后的优化点云。
7.根据权利要求4所述的方法,其中,在所述优化帧集合内作优化,包括:
在所述优化帧集合内对与所述对象相关的点云作优化,计算所述优化的损失函数,并根据该损失函数确定所述对象在所述下一点云帧的优化状态。
8.根据权利要求7所述的方法,其中,所述损失函数包括以下至少一项:
连续多个点云帧之间的帧间位移值变化约束;
在初始帧和在所述下一点云帧中对象距离地面的高度差变化约束;
所述至少一个在前帧之间的优化点云的配准距离约束;
所述至少一个在前帧的优化点云与所述下一点云帧的预估点云的配准距离约束。
9.根据权利要求1所述的方法,其中,根据对象在当前点云帧中的优化状态,计算所述对象在下一点云帧中的预估状态,包括:
根据所述对象在当前点云帧中的优化状态和帧间位移值,计算所述对象在所述下一点云帧中的预估状态。
10.根据权利要求1所述的方法,其中,根据所述预估状态确定所述对象在所述下一点云帧中的预估点云,包括:
根据所述预估状态生成第一检测框,并根据所述第一检测框在所述下一点云帧中筛选与所述对象相关的点云,作为所述预估点云。
11.根据权利要求1所述的方法,其中,根据所述对象在所述下一点云帧的优化状态在所述下一点云帧中确定与所述对象相关的点云作为优化点云,包括:
根据所述对象在所述下一点云帧中的优化状态生成第二检测框;
根据所述第二检测框在所述下一点云帧中筛选与所述对象相关的点云,作为所述优化点云。
12.根据权利要求11所述的方法,其中,所述第一检测框大于等于第二检测框,所述第二检测框为所述对象的边界框的第一倍数,所述边界框从初始帧的目标检测结果中确定得到,所述第一倍数大于等于1。
13.根据权利要求11所述的方法,其中,
若所述当前点云帧非初始帧,则所述帧间位移值为所述至少一个在前帧之间的平均位移值,所述第一检测框为所述边界框的第二倍数,且第二倍数大于第一倍数;
若所述当前点云帧为初始帧,则所述帧间位移值为0,所述第一检测框为所述边界框的第三倍数,且第三倍数大于第二倍数。
14.根据权利要求1所述的方法,还包括:
根据所述对象在当前点云帧和下一点云帧中的优化状态,计算所述对象在该两个点云帧之间的位移值;
根据所计算出的位移值更新所述帧间位移值,以根据更新后的帧间位移值计算所述对象在其他点云帧中的预估状态。
15.如权利要求9所述的方法,其中,
所述位置参数包括所述对象的关键点在空间坐标系中的第一坐标、第二坐标、第三坐标中的至少一种;
所述朝向参数包括俯仰角、偏航角、翻滚角中的至少一种;
所述帧间位移值包括位置参数变化值和朝向参数变化值中的至少一种。
16.根据权利要求15所述的方法,其中,所述关键点为所述对象的中心点或所述对象的特定部位的中心点。
17.根据权利要求5所述的方法,还包括:
所述对象在所述至少一个在前帧的优化形状与所述对象在所述下一点云帧的优化点云,确定所述对象在所述下一点云帧中的优化形状;
其中,初始帧的优化形状为从初始帧的目标检测结果中确定得到的初始形状。
18.根据权利要求17所述的方法,其中,在根据所述优化点云与所述对象在所述至少一个在前帧的优化形状,确定所述对象在所述下一点云帧中的优化形状之前,还包括:
判断所述下一点云帧是否为预设的优化周期的帧序,若是,则根据所述优化点云与所述对象在所述至少一个在前帧的优化形状,确定所述对象在所述下一点云帧中的优化形状;其中,所述优化周期的帧序从初始帧起算。
19.一种对象状态估计装置,包括:
状态预估模块,适于根据对象在当前点云帧中的优化状态,计算所述对象在下一点云帧中的预估状态;
点云预估模块,适于根据所述预估状态确定所述对象在所述下一点云帧中的预估点云;
状态优化模块,适于通过对所述预估点云作优化来得到所述对象在下一点云帧中的优化状态;
其中,所述预估状态和优化状态均包括所述对象的位置和朝向的至少一种。
20.一种计算设备,包括:
处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机程序;
其中,所述处理器在运行所述计算机程序时,执行权利要求1-18任一项所述的方法。
21.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时实现权利要求1-18任一项所述的方法。
22.一种车辆,包括如权利要求20所述的计算设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110044517.0A CN114764816A (zh) | 2021-01-13 | 2021-01-13 | 一种对象状态估计方法、装置、计算设备和车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110044517.0A CN114764816A (zh) | 2021-01-13 | 2021-01-13 | 一种对象状态估计方法、装置、计算设备和车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114764816A true CN114764816A (zh) | 2022-07-19 |
Family
ID=82364454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110044517.0A Pending CN114764816A (zh) | 2021-01-13 | 2021-01-13 | 一种对象状态估计方法、装置、计算设备和车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114764816A (zh) |
-
2021
- 2021-01-13 CN CN202110044517.0A patent/CN114764816A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110550029B (zh) | 障碍物避让方法及装置 | |
US11915492B2 (en) | Traffic light recognition method and apparatus | |
CN111123952B (zh) | 一种轨迹规划方法及装置 | |
CN112640417B (zh) | 匹配关系确定方法及相关装置 | |
CN107796374B (zh) | 一种图像定位方法、系统和装置 | |
CN112639883B (zh) | 一种相对位姿标定方法及相关装置 | |
CN115690146A (zh) | 一种多目标跟踪方法、装置、计算设备和存储介质 | |
CN110356401B (zh) | 一种自动驾驶车辆及其变道控制方法和系统 | |
US11702108B2 (en) | Distributed computing systems for autonomous vehicle operations | |
EP4083943A1 (en) | Method and apparatus for detecting lane lines, electronic device and storage medium | |
EP4027638A1 (en) | Method for presenting face in video call, video call apparatus and vehicle | |
CN115042821B (zh) | 车辆控制方法、装置、车辆及存储介质 | |
CN115993825A (zh) | 一种基于空地协同的无人车集群控制系统 | |
CN112810603B (zh) | 定位方法和相关产品 | |
CN114708292A (zh) | 一种对象状态估计方法、装置、计算设备和车辆的改进方法 | |
CN115205848A (zh) | 目标检测方法、装置、车辆、存储介质及芯片 | |
CN114764816A (zh) | 一种对象状态估计方法、装置、计算设备和车辆 | |
CN115035357A (zh) | 目标检测模型构建方法、目标检测方法、装置和计算设备 | |
CN115601386A (zh) | 一种点云处理方法、装置、计算设备和存储介质 | |
US20230237793A1 (en) | False track mitigation in object detection systems | |
CN112639910B (zh) | 交通元素的观测方法和装置 | |
Liang et al. | Research on Navigation Recognition Optimization of Unmanned Self-Built Map | |
US20230150543A1 (en) | Systems and methods for estimating cuboid headings based on heading estimations generated using different cuboid defining techniques | |
US20240075923A1 (en) | Systems and methods for deweighting veering margins based on crossing time | |
CN118279845A (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 |