CN118297872A - 数据处理方法和装置、目标物体检测方法和装置 - Google Patents

数据处理方法和装置、目标物体检测方法和装置 Download PDF

Info

Publication number
CN118297872A
CN118297872A CN202310009189.XA CN202310009189A CN118297872A CN 118297872 A CN118297872 A CN 118297872A CN 202310009189 A CN202310009189 A CN 202310009189A CN 118297872 A CN118297872 A CN 118297872A
Authority
CN
China
Prior art keywords
point cloud
frame point
current frame
target object
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
Application number
CN202310009189.XA
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.)
Beijing Tusimple Technology Co Ltd
Original Assignee
Beijing Tusimple 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 Beijing Tusimple Technology Co Ltd filed Critical Beijing Tusimple Technology Co Ltd
Priority to CN202310009189.XA priority Critical patent/CN118297872A/zh
Priority to PCT/CN2023/137023 priority patent/WO2024146326A1/zh
Publication of CN118297872A publication Critical patent/CN118297872A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10044Radar image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

本公开涉及数据处理技术领域,具体涉及一种数据处理方法和装置、目标物体检测方法和装置、电子设备和计算机可读存储介质。该数据处理方法包括:基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云;确定前序帧点云的前景点云;基于前景点云和残差点云,生成当前帧点云对应的低冗余点云。低冗余点云具有相对于当前帧点云较小的数据量,为后续利用目标物体检测器对低冗余点云中的目标物体进行检测提供了数据量较小的输入数据,提高了对目标物体进行检测的检测效率。

Description

数据处理方法和装置、目标物体检测方法和装置
技术领域
本公开涉及数据处理技术领域,具体涉及一种数据处理方法和装置、目标物体检测方法和装置、电子设备和计算机可读存储介质。
背景技术
目标物体检测方法是在传感器检测到的点云数据中检测出目标物体位置的方法。具体而言,传感器(例如,雷达)被安装在可移动设备(例如,无人车)上,并持续探测周围区域,得到周围区域的多帧点云数据。多帧点云数据被叠加成一帧点云后输入目标物体检测器,目标物体检测器即可输出标注出目标物体位置的点云。
然而,多帧点云数据被叠加成一帧点云会导致该帧点云包括的数据量较大,进而导致目标物体检测器对该帧点云的检测效率较低。
发明内容
有鉴于此,本公开实施例提供了一种数据处理方法和装置、目标物体检测方法和装置、电子设备和计算机可读存储介质,以解决叠加后的一帧点云的数据量大,进而导致目标物体检测器对该帧点云的检测效率低的问题。
第一方面,本公开提供了一种数据处理方法,包括:基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云,其中残差点云包括至少一个残差点,至少一个残差点存在于当前帧点云中的预设空间,且前序帧点云在预设空间中不存在点;基于前序帧点云,确定前序帧点云的前景点云,其中前景点云用于表征目标物体在前序帧点云中的信息;及基于前景点云和残差点云,生成与当前帧点云对应的低冗余点云,以对低冗余点云中的目标物体进行检测。
第二方面,本公开提供了一种目标物体检测方法,包括:获取多帧点云中的前序帧点云和当前帧点云;利用第一方面提及的数据处理方法,基于多帧点云中的前序帧点云和当前帧点云,生成与当前帧点云对应的低冗余点云;及对低冗余点云进行目标物体检测,得到当前帧点云中的目标物体。
第三方面,本公开提供了一种数据处理装置,包括:残差点检测模块,配置为基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云,其中残差点云包括至少一个残差点,至少一个残差点存在于当前帧点云中的预设空间,且前序帧点云在预设空间中不存在点;前景点云确定模块,配置为基于前序帧点云,确定前序帧点云的前景点云,其中前景点云用于表征目标物体在前序帧点云中的信息;及低冗余点生成模块,配置为基于前景点云和残差点云,生成与当前帧点云对应的低冗余点云,以对低冗余点云中的目标物体进行检测。
第四方面,本公开提供了一种目标物体检测装置,包括:确定模块,配置为获取多帧点云中的前序帧点云和当前帧点云;生成模块,配置为利用第一方面提及的数据处理方法,基于多帧点云中的前序帧点云和当前帧点云,生成与当前帧点云对应的低冗余点云;及检测模块,配置为对低冗余点云进行目标物体检测,得到当前帧点云中的目标物体。
第五方面,本公开提供了一种电子设备,包括:处理器;以及存储器,在存储器中存储有计算机程序指令,计算机程序指令在被处理器执行时,使得处理器执行如第一方面或第二方面提及的方法。
第六方面,本公开提供了计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令在被由计算装置的一个或者多个处理器执行时,使得计算装置执行如第一方面或第二方面提及的方法。
本公开提供的数据处理方法,先基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云,再确定前序帧点云的前景点云,从而可以基于前景点云和残差点云,生成当前帧点云对应的低冗余点云,以对低冗余点云中的目标物体进行检测。换句话说,通过残差点检测,去除了当前帧点云中的部分冗余点,使得生成的低冗余点云的数据量较小,进而为后续利用目标物体检测器对低冗余点云中的目标物体进行检测提供了数据量较小的输入数据,提高了对目标物体进行检测的检测效率。
另外,由于前序帧点云中的前景点云能够表征目标物体在前序帧点云中的信息,使得基于前景点云和残差点云所生成的与当前帧点云对应的低冗余点云包含了目标物体的信息,保证了对低冗余点云中的目标物体进行检测的检测精度。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1所示为本公开一实施例提供的数据处理方法的应用场景示意图。
图2所示为本公开一实施例提供的数据处理方法的流程示意图。
图3所示为本公开一实施例提供的数据处理方法的原理示意图。
图4所示为本公开一实施例提供的残差点云、前景点云和背景点云的示意图。
图5所示为本公开另一实施例提供的数据处理方法的流程示意图。
图6所示为本公开另一实施例提供的数据处理方法的流程示意图。
图7所示为本公开另一实施例提供的目标物体检测方法的流程示意图。
图8所示为本公开一实施例提供的数据处理装置的结构示意图。
图9所示为本公开一实施例提供的目标物体检测装置的结构示意图。
图10所示为本公开一实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开是一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
目标物体检测是自动驾驶领域的重要技术。在无人车的行驶过程中,通过雷达对无人车周围的区域进行持续探测,得到周围区域的多帧点云数据。为了能够更准确地检测出点云数据中的目标物体的位置,传统的目标物体检测方法是将多帧点云数据叠加成一帧点云,然后将该帧点云输入目标物体检测器,目标物体检测器即可输出标注出目标物体位置的点云。由于雷达探测多帧点云数据之间的时间间隔较短,且一般无人车行驶的场景里存在着许多静止的背景物体,导致多帧点云数据之间的差异不大。如果直接将多帧点云数据叠加成一帧点云,叠加后的该帧点云中会存在很多距离接近,甚至完全重合的点,这些重合的点在叠加后的该帧点云中提供的位置信息是完全一样的,即这些重合的点实际上是冗余点。因此,直接叠加多帧点云数据得到的该帧点云中包括大量的冗余点,导致该帧点云的数据量较大,进而导致目标物体检测器对该帧点云的检测效率较低。
本公开提供的数据处理方法,先基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云,再确定前序帧点云的前景点云,从而可以基于前景点云和残差点云,生成当前帧点云对应的低冗余点云,以对低冗余点云中的目标物体进行检测。换句话说,通过残差点检测,去除了当前帧点云中的部分冗余点,使得生成的低冗余点云的数据量较小,进而为后续利用目标物体检测器对低冗余点云中的目标物体进行检测提供了数据量较小的输入数据,提高了对目标物体进行检测的检测效率。
另外,由于前序帧点云中的前景点云能够表征目标物体在前序帧点云中的信息,使得基于前景点云和残差点云所生成的与当前帧点云对应的低冗余点云包含了目标物体的信息,保证了对低冗余点云中的目标物体进行检测的检测精度。
下面结合图1进行应用场景的举例说明。
图1所示为本公开一实施例提供的数据处理方法的应用场景示意图。如图1所示,本实施例提及的应用场景包括可移动设备100、点云获取设备110和服务器120。具体地,点云获取设备110安装于可移动设备100上,且点云获取设备110与服务器120通信连接。点云获取设备110用于获取多帧点云,并发送给服务器120。服务器120接收多帧点云后,利用本公开的数据处理方法,对多帧点云进行处理,得到当前帧点云对应的低冗余点云。
在一些实施例中,服务器120得到当前帧点云对应的低冗余点云后,还可以利用目标物体检测器对当前帧点云对应的低冗余点云进行目标物体检测,从而得到当前帧点云对应的低冗余点云中的目标物体。
更具体地,本实施例提及的应用场景可以是无人驾驶场景,即,可移动设备100可以是无人车,点云获取设备110可以是雷达,例如,激光雷达。服务器120可以是车载服务器,即服务器120也安装于无人车上。具体而言,无人车在行驶过程中,雷达可以持续探测无人车周围区域,以得到周围区域的多帧点云,然后将多帧点云传输给车载服务器,车载服务器利用本公开的数据处理方法,对多帧点云进行处理,得到当前帧点云对应的低冗余点云,然后利用目标物体检测器对当前帧点云对应的低冗余点云进行目标物体检测,从而得到当前帧点云对应的低冗余点云中的目标物体,进而可以根据目标物体在低冗余点云中的信息控制无人车的行驶。
雷达可以持续探测无人车周围区域,然后持续将当前时间节点探测到的当前帧点云传输给车载服务器,车载服务器可以基于当前帧点云和前序时间节点接收的前序帧点云,利用本公开的数据处理方法,对多帧点云进行处理,得到当前帧点云对应的低冗余点云。车载服务器可以持续输出当前帧点云对应的低冗余点云,进而持续利用目标物体检测器对当前帧点云对应的低冗余点云进行目标物体检测,得到当前帧点云对应的低冗余点云中的目标物体,然后根据目标物体在低冗余点云中的信息持续控制无人车平稳行驶。
在一些实施例中,服务器120也可以是独立的服务器,即,服务器120并未随可移动设备100移动。例如,服务器120可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。服务器120也可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。本公开实施例中提供的数据处理方法一般由服务器120执行,相应的数据处理装置一般设置于服务器中。
下面结合图2举例说明数据处理方法的具体实施过程。
图2所示为本公开一实施例提供的数据处理方法的流程示意图。如图2所示,该数据处理方法包括如下步骤。
步骤210,基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云。
残差点云包括至少一个残差点,至少一个残差点存在于当前帧点云中的预设空间,且前序帧点云在预设空间中不存在点。残差点检测是确定至少一个残差点的过程。
前序帧点云可以是一帧前序帧点云,也可以是多帧前序帧点云。如果前序帧点云是多帧前序帧点云,则至少一个残差点存在于当前帧点云中的预设空间,且多帧前序帧点云在预设空间中均不存在点。多帧前序帧点云可以为当前帧点云提供更完整的目标物体的信息,进而可以提高后续对当前帧点云对应的低冗余点云进行目标物体检测的准确性。
预设空间可以是根据实际需求定义为在多帧点云所对应的空间中的一部分。具体而言,预设空间可以是定义为后述的一个或多个体素所占据的空间。
示例性地,如图3所示,安装在无人车300前部的雷达310可以探测无人车300前方125立方米的空间(例如,长L、宽W、高H均为5米的立方体空间)。多帧点云中的每帧点云都可以是雷达针对无人车前方125立方米的预先设定的空间进行探测得到的点云。
为了便于后续说明对于点云坐标的离散化,可以在无人车300的探测空间中假设存在多个体素v。由于雷达的探测范围不变,所以多帧点云可以对应于相同的这些多个体素v。例如,在一实施例中,对应于当前帧点云的体素v大小为0.001立方米,体素个数为125000个,且一个体素v在长宽高三个方向上均为0.1米(10厘米)。则,对应于前序帧点云的体素v大小也同样为0.001立方米,体素个数为125000个,且一个体素v在长宽高三个方向上均为0.1米(10厘米)。具体而言,此假设的多个体素v的大小与数量可以依据实际需求而设置。
步骤220,基于前序帧点云,确定前序帧点云的前景点云。
前景点云用于表征目标物体在前序帧点云中的信息。具体地,前景点云可以表征目标物体在前序帧点云中的位置信息。前景点云是相对于背景点云而言,前序帧点云可以包括前景点云和背景点云,前景点云可以是前序帧点云中表示目标物体的点云,而背景点云可以是前序帧点云中的除了表示目标物体的点云之外的点云。
下面具体举例说明如何确定前序帧点云的前景点云。首先,在前序帧点云中,获取对应于目标物体的目标预测框;然后,利用目标预测框对前序帧点云进行前景点提取,以确定前景点云。
具体地,针对每个当前帧点云,最后会生成当前帧点云的低冗余点云,然后对低冗余点云中的目标物体进行检测,即可得到当前帧点云中的对应于目标物体的目标预测框。前序帧点云是相对于当前帧点云而言,探测时间节点更靠前的点云,即在探测到当前帧点云时,前序帧点云已经完成了目标物体检测的步骤,得到了前序帧点云中的目标物体的目标预测框。因此,在前序帧点云中,获取对应于目标物体的目标预测框,可以是直接获取前序帧点云中的对应于目标物体的目标预测框。
在一实施例中,如果遇到雷达重新开机、雷达损坏等特殊情况,当前帧点云对应的前序帧点云中没有对应于目标物体的目标预测框,可以利用训练好的目标物体检测模型对前序帧点云进行目标物体检测,得到前序帧点云中对应于目标物体的目标预测框。
利用目标预测框对前序帧点云进行前景点提取,以确定前景点云,可以执行为:对目标预测框内的点云进行提取,并将提取到的点云确定为前景点云。
步骤230,基于前景点云和残差点云,生成与当前帧点云对应的低冗余点云,以对低冗余点云中的目标物体进行检测。
基于前景点云和残差点云,生成与当前帧点云对应的低冗余点云,可以执行为:将前景点云与残差点云进行叠加,得到当前帧点云对应的低冗余点云。
低冗余点云是指:相对于直接将前序帧点云和当前帧点云进行叠加而言,仅叠加前景点云和残差点云得到的冗余点更少的点云。示例性地,低冗余点云可以是稀疏点云或超稀疏点云。
图4所示为本公开一实施例提供的残差点云、前景点云和背景点云的示意图。如图4所示,用矩形框41标注出来的是残差点云,用矩形框42标注出来的是前景点云,除残差点云和前景点云之外的是背景点云。当前帧点云对应的低冗余点云可以仅包括残差点云和前景点云。由于残差点云分布范围较广且离散分布,因此图4并未标注出所有的残差点云,仅示意性的标注出了部分残差点云。
通过残差点检测,去除了当前帧点云中的部分冗余点(例如,背景点云),从而使得生成的低冗余点云的数据量较小,进而为后续利用目标物体检测器对低冗余点云中的目标物体进行检测提供了数据量较小的输入数据,提高了对目标物体进行检测的检测效率。
另外,由于前序帧点云中的前景点云能够表征目标物体在前序帧点云中的信息,使得基于前景点云和残差点云所生成的与当前帧点云对应的低冗余点云包含了目标物体的信息,保证了对低冗余点云中的目标物体进行检测的检测精度。
在实际应用中,针对未使用本公开的数据处理方法得到的叠加后的点云、使用本公开的数据处理方法得到的低冗余点云进行了目标物体检测实验。实验利用WaymoOpenDataset,在RTX3090GPU上进行测试。利用先验目标物体检测器直接对未使用本公开的数据处理方法得到的叠加后的点云进行目标物体检测,每检测一次需要112毫秒(ms)。利用先验目标物体检测器对使用本公开的数据处理方法得到的低冗余点云进行目标物体检测,每检测一次仅需要66毫秒,且多次实验结果显示,利用低冗余点云进行目标物体检测实验的检测精度并未下降。
在图2所示实施例的基础上,结合图5举例说明进行残差点检测的具体实施例。
图5所示为本公开另一实施例提供的数据处理方法的流程示意图。如图5所示,在本公开实施例中,基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云的步骤之前,包括如下步骤。
步骤510,将前序帧点云中的多个第一点映射到哈希表。
哈希表(Hashtable,又称散列表),是根据关键码值(key和value)而直接进行访问的数据结构。哈希表通过把一对关键码值(即,一个表项)映射到表中的一个条记录,以加快对多条记录的查找速度。针对哈希表,存在哈希函数f()。对于给定的key,带入哈希函数f(),可进而得到value。
将前序帧点云中的多个第一点映射到哈希表,具体可以执行为:针对多个第一点中的每个第一点的坐标进行离散化,将离散化后的第一点的坐标确定为key,然后根据哈希函数f()计算得到value,并将该离散化后的第一点的坐标对应的key和value存储到哈希表的一行,得到一条记录,实现了将该第一点映射到哈希表。
在一实施例中,将前序帧点云中的多个第一点映射到哈希表之前,可以将多帧点云都转换到同一个坐标系,以便后续进行映射计算。
下面具体举例说明如何将前序帧点云中的多个第一点映射到哈希表。首先,获得哈希表,其中哈希表包括多个表项,分别对应于多个体素的体素坐标;初始化哈希表,以使多个表项的每一个的值为空;最后,离散化前序帧点云中的多个第一点的每一个的坐标,以确定第一点所属的体素的体素坐标;以及更新哈希表中与第一点所属的体素的体素坐标对应的表项的值为非空,其中表项的值为非空用于表征对应的体素中存在第一点。
具体地,离散化前序帧点云中的多个第一点的每一个的坐标,以确定第一点所属的体素的体素坐标可以执行为:将前序帧点云对应的空间划分为假设的多个体素。体素是体积元素的简称,表示三维空间上的最小分割单位。在实际应用中,本申请假设的体素的边长的范围可以例如是10厘米至40厘米,以保证后续目标物体检测的准确性。多个体素的每一个具有体素坐标,体素坐标可以是体素的中心位置的坐标。
哈希表中的每个表项可以对应一对关键码值(key-value),key可以表示体素坐标,value可以表示体素坐标对应的值是否为空。在实际应用中,可以用1表示非空,用0表示空。初始化哈希表,以使多个表项的每一个的值为空,可以执行为,将所述多个表项的每一个的值初始化为0。
离散化前序帧点云中的多个第一点的每一个的坐标,以确定第一点所属的体素的体素坐标,进一步可以执行为:针对前序帧点云中的多个第一点的每一个,先确定第一点所在的空间属于哪个体素,再确定第一点所属的体素的体素坐标。
更新哈希表中与第一点所属的体素的体素坐标对应的表项的值为非空,可以执行为:将第一点所属的体素的体素坐标(key)对应的value的值更新为1,说明前序帧点云在该体素存在点。
由于哈希算法本身计算效率很高,基于哈希算法建立哈希表和更新哈希表的过程效率也很高。
步骤520,针对当前帧点云中的多个第二点的每一个,在哈希表中进行查询,得到第二点的查询结果。
查询结果用于表征第二点是否为当前帧点云对应的残差点。
下面具体举例说明如何在哈希表中进行查询,得到第二点的查询结果。首先,离散化当前帧点云中的多个第二点的每一个的坐标,以确定第二点所属的体素的体素坐标;及根据哈希表中与第二点所属的体素的体素坐标对应的表项,得到第二点的查询结果。
具体地,离散化当前帧点云中的多个第二点的每一个的坐标,以确定第二点所属的体素的体素坐标,可以执行为:将当前帧点云对应的空间划分为前述的假设的多个体素。
离散化当前帧点云中的多个第二点的每一个的坐标,以确定第二点所属的体素的体素坐标,进一步可以执行为:针对当前帧点云中的多个第二点的每一个,先确定第二点所在的空间属于哪个体素,再确定第二点所属的体素的体素坐标。
根据哈希表中与第二点所属的体素的体素坐标对应的表项,得到第二点的查询结果,可以执行为:根据哈希表中与第二点所属的体素的体素坐标(key)对应的value的值,得到第二点的查询结果。当哈希表中与第二点所属的体素的体素坐标对应的表项的值为空时,第二点的查询结果为:第二点是当前帧点云对应的残差点。当哈希表中与第二点所属的体素的体素坐标对应的表项的值为非空时,第二点的查询结果为:第二点不是当前帧点云对应的残差点。
在哈希表中进行查询,可以实现多点并行查询,进一步提高了在哈希表中进行查询的效率。
下面结合图6,具体举例说明如何基于前景点云和残差点云,生成与当前帧点云对应的低冗余点云。
图6所示为本公开另一实施例提供的数据处理方法的流程示意图。如图6所示,在本公开实施例中,基于前景点云和残差点云,生成与当前帧点云对应的低冗余点云的步骤,包括如下步骤。
步骤610,对前景点云进行采样处理,得到采样点云。
对前景点云进行采样处理,可以是对前景点云进行随机采样处理,得到采样点云。
在一实施例中,对前景点云进行采样处理,可以是对前景点云进行最远点采样处理。对前景点云进行最远点采样处理具体可以执行为:针对前景点云,先在前景点云中随机选择一个点P0作为起始点,得到采样点集合S={P0},然后计算前景点云中尚未被选择的所有点到P0的距离,从中选择最大距离对应的点作为P1,以更新采样点集合为S={P0,P1}。接着,继续计算尚未被选择的所有点到更新的采样点集合S={P0,P1}的距离,从中选择最大距离对应的点作为P2,以更新采样点集合为S={P0,P1,P2}。以此类推,直到采样点集合中包括预设数量的点,并将采样点集合作为采样点云。
在一实施例中,对前景点云进行采样处理,可以是对前景点云进行体素降采样处理。对前景点云进行体素降采样处理具体可以执行为:将前景点云的空间划分为多个体素,然后针对多个体素中的每一个,先确定前景点云位于该体素中的点,然后在前景点云位于该体素的点中随机采样预设数量的点,最后将从每个体素中采样得到的点组成采样点云。
步骤620,叠加采样点云和残差点云,以生成低冗余点云。
采样点云可以表示目标物体在前序帧点云(之前时刻的点云)中的骨架。
由于采样点云能够表示目标物体在前序帧点云中的骨架,残差点云能够表示当前帧点云(当前时刻的点云)相对于前序帧点云(之前时刻的点云)的差异,因此,叠加采样点云和残差点云生成的低冗余点云既能够包括关于目标物体在之前时刻的点云的骨架的信息,也包括关于当前时刻的点云和之前时刻的点云的差异的信息。如此一来,后续对低冗余点云进行目标物体检测的准确性得以保证。
本公开还提供了一种目标物体检测方法,下面结合图7对目标物体检测方法进行描述。
图7所示为本公开一实施例提供的目标物体检测方法的流程示意图。如图7所示,在本公开实施例中,目标物体检测方法包括如下步骤。
步骤710,获取多帧点云中的前序帧点云和当前帧点云。
获取多帧点云中的前序帧点云和当前帧点云,可以执行为:基于激光雷达检测,获取多帧点云。多帧点云包括当前帧点云和前序帧点云。前序帧点云的探测时间节点在当前帧点云的探测时间节点之前。
在一实施例中,获取多帧点云可以是实时获取多帧点云。在实际应用中,激光雷达是持续进行探测的,因此激光雷达会持续生成多帧点云。因此,服务器可以实时获取多帧点云。
步骤720,基于多帧点云中的前序帧点云和当前帧点云,生成与当前帧点云对应的低冗余点云。
具体地,可以利用上述实施例的数据处理方法,基于多帧点云中的前序帧点云和当前帧点云,生成与当前帧点云对应的低冗余点云,在此不再赘述。
步骤730,对低冗余点云进行目标物体检测,得到当前帧点云中的目标物体。
对低冗余点云进行目标物体检测,得到当前帧点云中的目标物体,可以执行为:利用先验物体检测模型,对低冗余点云进行目标物体检测,得到当前帧点云中的目标物体。具体而言,可以将低冗余点云输入先验物体检测模型,先验物体检测模型即可输出标注有目标物体的点云。
利用上述实施例的数据处理方法,基于多帧点云中的前序帧点云和当前帧点云,生成与当前帧点云对应的低冗余点云,从而可以对低冗余点云进行目标物体检测,得到当前帧点云中的目标物体,降低了进行目标物体检测的数据量,提高了进行目标物体检测的效率。
上文结合图2至图7,详细描述了本公开实施例的方法实施例,下面结合图8和图9,详细描述本公开实施例的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图8所示为本公开实施例提供的数据处理装置的结构示意图。如图8所示,本公开实施例的数据处理装置800包括:残差点检测模块810、前景点云确定模块820和低冗余点生成模块830。
具体地,残差点检测模块810配置为,基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与当前帧点云对应的残差点云,其中残差点云包括至少一个残差点,至少一个残差点存在于当前帧点云中的预设空间,且前序帧点云在预设空间中不存在点。前景点云确定模块820配置为,基于前序帧点云,确定前序帧点云的前景点云,其中前景点云用于表征目标物体在前序帧点云中的信息。低冗余点生成模块830配置为,基于前景点云和残差点云,生成与当前帧点云对应的低冗余点云,以对低冗余点云中的目标物体进行检测。
在本公开一实施例中,残差点检测模块810进一步配置为,将前序帧点云中的多个第一点映射到哈希表;及针对当前帧点云中的多个第二点的每一个,在哈希表中进行查询,得到第二点的查询结果,其中查询结果用于表征第二点是否为当前帧点云对应的残差点。
在本公开一实施例中,残差点检测模块810进一步配置为,获得哈希表,其中哈希表包括多个表项,分别对应于多个体素的体素坐标;初始化哈希表,以使多个表项的每一个的值为空;离散化前序帧点云中的多个第一点的每一个的坐标,以确定第一点所属的体素的体素坐标;及更新哈希表中与第一点所属的体素的体素坐标对应的表项的值为非空,其中表项的值为非空用于表征对应的体素中存在第一点。
在本公开一实施例中,残差点检测模块810进一步配置为,离散化当前帧点云中的多个第二点的每一个的坐标,以确定第二点所属的体素的体素坐标;及根据哈希表中与第二点所属的体素的体素坐标对应的表项,得到第二点的查询结果。
在本公开一实施例中,残差点检测模块810进一步配置为,当哈希表中与第二点所属的体素的体素坐标对应的表项的值为空时,第二点的查询结果为:第二点是当前帧点云对应的残差点。
在本公开一实施例中,低冗余点生成模块830进一步配置为,对前景点云进行采样处理,得到采样点云;及叠加采样点云和残差点云,以生成低冗余点云。
在本公开一实施例中,前景点云确定模块820进一步配置为,在前序帧点云中,获取对应于目标物体的目标预测框;及利用目标预测框对前序帧点云进行前景点提取,以确定前景点云。
图9所示为本公开一实施例提供的目标物体检测装置的结构示意图。如图9所示,本公开实施例的目标物体检测装置900包括:确定模块910、生成模块920和检测模块930。
具体地,确定模块910配置为,获取多帧点云中的前序帧点云和当前帧点云。生成模块920配置为,利用上述实施例的数据处理方法,基于多帧点云中的前序帧点云和当前帧点云,生成与当前帧点云对应的低冗余点云。检测模块930配置为,对低冗余点云进行目标物体检测,得到当前帧点云中的目标物体。
在本公开一实施例中,确定模块910进一步配置为,基于激光雷达检测,获取多帧点云。
图8提供的数据处理装置800中的残差点检测模块810、前景点云确定模块820和低冗余点生成模块830,以及图9提供的目标物体检测装置900中的确定模块910、生成模块920和检测模块930的操作和功能可以参考上述图2至图7提供的数据处理方法和目标物体检测方法,为了避免重复,在此不再赘述。
图10所示为本公开一实施例提供的电子设备的结构示意图。如图10所示,该电子设备1000包括:一个或多个处理器1001和存储器1002;以及存储在存储器1002中的计算机程序指令,计算机程序指令在被处理器1001运行时使得处理器1001执行如上述任一实施例的数据处理方法和/或目标物体检测方法。
处理器1001可以是中央处理单元(CentralProcessingUnit,CPU)或者具有数据传输能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器1002可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RandomAccessMemory,RAM)和/或高速缓冲存储器(Cache)等。非易失性存储器例如可以包括只读存储器(ReadOnlyMemory,ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行程序指令,以实现上文的本公开实施例的各个实施例的数据处理方法和/或目标物体检测方法中的步骤以及/或者其他期望的功能。
在一个示例中,电子设备1000还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(图10中未示出)互连。
此外,该输入装置1003还可以包括例如键盘、鼠标、麦克风等等。
该输出装置1004可以向外部输出各种信息。该输出装置1004可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图10中仅示出了该电子设备1000中与本公开实施例有关的组件中的一些,省略了诸如总线、输入装置/输出接口等组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开实施例的实施例还可以是计算机程序产品,包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上述任一实施例的数据处理方法和/或目标物体检测方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开实施例的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开实施例各种实施例的数据处理方法和/或目标物体检测方法中的步骤。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(ErasableProgrammableReadOnly Memory,EPROM)或闪存、光纤、便携式紧凑盘只读存储器(CompactDiskReadOnly Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开实施例的基本原理,但是,需要指出的是,在本公开实施例中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开实施例的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开实施例为必须采用上述具体的细节来实现。
本公开实施例中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本公开实施例的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开实施例的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开实施例。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开实施例的范围。因此,本公开实施例不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开实施例的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
以上仅为本公开实施例的较佳实施例而已,并不用以限制本公开实施例,凡在本公开实施例的精神和原则之内,所作的任何修改、等同替换等,均应包含在本公开实施例的保护范围之内。

Claims (14)

1.一种数据处理方法,其特征在于,包括:
基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与所述当前帧点云对应的残差点云,其中所述残差点云包括至少一个残差点,所述至少一个残差点存在于所述当前帧点云中的预设空间,且所述前序帧点云在所述预设空间中不存在点;
基于所述前序帧点云,确定所述前序帧点云的前景点云,其中所述前景点云用于表征目标物体在所述前序帧点云中的信息;及
基于所述前景点云和所述残差点云,生成与所述当前帧点云对应的低冗余点云,以对所述低冗余点云中的所述目标物体进行检测。
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与所述当前帧点云对应的残差点云,包括:
将所述前序帧点云中的多个第一点映射到哈希表;及
针对所述当前帧点云中的多个第二点的每一个,在所述哈希表中进行查询,得到所述第二点的查询结果,其中所述查询结果用于表征所述第二点是否为所述当前帧点云对应的残差点。
3.根据权利要求2所述的数据处理方法,其特征在于,所述将所述前序帧点云中的多个第一点映射到哈希表,包括:
获得所述哈希表,其中所述哈希表包括多个表项,分别对应于多个体素的体素坐标;
初始化所述哈希表,以使所述多个表项的每一个的值为空;
离散化所述前序帧点云中的所述多个第一点的每一个的坐标,以确定所述第一点所属的体素的体素坐标;及
更新所述哈希表中与所述第一点所属的体素的体素坐标对应的表项的值为非空,其中表项的值为非空用于表征对应的所述体素中存在所述第一点。
4.根据权利要求3所述的数据处理方法,其特征在于,所述针对所述当前帧点云中的多个第二点的每一个,在所述哈希表中进行查询,得到所述第二点的查询结果,包括:
离散化所述当前帧点云中的所述多个第二点的每一个的坐标,以确定所述第二点所属的体素的体素坐标;及
根据所述哈希表中与所述第二点所属的体素的体素坐标对应的表项,得到所述第二点的查询结果。
5.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述哈希表中与所述第二点所属的体素的体素坐标对应的表项,得到所述第二点的查询结果,包括:
当所述哈希表中与所述第二点所属的体素的体素坐标对应的表项的值为空时,所述第二点的查询结果为:所述第二点是所述当前帧点云对应的残差点。
6.根据权利要求1至5任一项所述的数据处理方法,其特征在于,所述基于所述前景点云和所述残差点云,生成与所述当前帧点云对应的低冗余点云,包括:
对所述前景点云进行采样处理,得到采样点云;及
叠加所述采样点云和所述残差点云,以生成所述低冗余点云。
7.根据权利要求6所述的数据处理方法,其特征在于,所述采样处理包括以下处理中的至少一种:随机采样处理、最远点采样处理和体素降采样处理。
8.根据权利要求1至5任一项所述的数据处理方法,其特征在于,所述基于所述前序帧点云,确定所述前序帧点云的前景点云,包括:
在所述前序帧点云中,获取对应于所述目标物体的目标预测框;及
利用所述目标预测框对所述前序帧点云进行前景点提取,以确定所述前景点云。
9.一种目标物体检测方法,其特征在于,包括:
获取多帧点云中的前序帧点云和当前帧点云;
利用权利要求1至8任一项所述的数据处理方法,基于所述多帧点云中的所述前序帧点云和所述当前帧点云,生成与所述当前帧点云对应的低冗余点云;及
对所述低冗余点云进行目标物体检测,得到所述当前帧点云中的目标物体。
10.根据权利要求9所述的目标物体检测方法,其特征在于,所述获取多帧点云中的前序帧点云和当前帧点云,包括:
基于激光雷达检测,获取所述多帧点云。
11.一种数据处理装置,其特征在于,包括:
残差点检测模块,配置为基于多帧点云中的前序帧点云和当前帧点云进行残差点检测,得到与所述当前帧点云对应的残差点云,其中所述残差点云包括至少一个残差点,所述至少一个残差点存在于所述当前帧点云中的预设空间,且所述前序帧点云在所述预设空间中不存在点;
前景点云确定模块,配置为基于所述前序帧点云,确定所述前序帧点云的前景点云,其中所述前景点云用于表征目标物体在所述前序帧点云中的信息;及
低冗余点生成模块,配置为基于所述前景点云和所述残差点云,生成与所述当前帧点云对应的低冗余点云,以对所述低冗余点云中的所述目标物体进行检测。
12.一种目标物体检测装置,其特征在于,包括:
确定模块,配置为获取多帧点云中的前序帧点云和当前帧点云;
生成模块,配置为利用权利要求1至8任一项所述的数据处理方法,基于所述多帧点云中的所述前序帧点云和所述当前帧点云,生成与所述当前帧点云对应的低冗余点云;及
检测模块,配置为对所述低冗余点云进行目标物体检测,得到所述当前帧点云中的目标物体。
13.一种电子设备,包括:
处理器;及
存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令在被由计算装置的一个或者多个处理器执行时,使得所述计算装置执行如权利要求1至10中任一所述的方法。
CN202310009189.XA 2023-01-04 2023-01-04 数据处理方法和装置、目标物体检测方法和装置 Pending CN118297872A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310009189.XA CN118297872A (zh) 2023-01-04 2023-01-04 数据处理方法和装置、目标物体检测方法和装置
PCT/CN2023/137023 WO2024146326A1 (zh) 2023-01-04 2023-12-07 数据处理方法和装置、目标物体检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310009189.XA CN118297872A (zh) 2023-01-04 2023-01-04 数据处理方法和装置、目标物体检测方法和装置

Publications (1)

Publication Number Publication Date
CN118297872A true CN118297872A (zh) 2024-07-05

Family

ID=91673175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310009189.XA Pending CN118297872A (zh) 2023-01-04 2023-01-04 数据处理方法和装置、目标物体检测方法和装置

Country Status (2)

Country Link
CN (1) CN118297872A (zh)
WO (1) WO2024146326A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114270410A (zh) * 2019-10-17 2022-04-01 深圳市大疆创新科技有限公司 移动物体的点云融合方法、系统及计算机存储介质
TW202139712A (zh) * 2020-04-13 2021-10-16 財團法人工業技術研究院 編碼和解碼點雲的電子裝置和方法
CN113866743B (zh) * 2021-12-06 2022-03-15 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种用于车路协同感知的路侧激光点云精简方法和系统

Also Published As

Publication number Publication date
WO2024146326A1 (zh) 2024-07-11

Similar Documents

Publication Publication Date Title
EP3627180B1 (en) Sensor calibration method and device, computer device, medium, and vehicle
JP6745328B2 (ja) 点群データを復旧するための方法及び装置
US11328521B2 (en) Map construction method, electronic device and readable storage medium
US11054518B2 (en) Method and apparatus for determining obstacle speed
EP3505866B1 (en) Method and apparatus for creating map and positioning moving entity
KR102581263B1 (ko) 위치 추적 방법, 장치, 컴퓨팅 기기 및 컴퓨터 판독 가능한 저장 매체
CN113264066A (zh) 障碍物轨迹预测方法、装置、自动驾驶车辆及路侧设备
CN111753862B (zh) 训练神经网络模型的方法及装置、图像识别方法
CN111316328A (zh) 车道线地图的维护方法、电子设备与存储介质
CN114993328B (zh) 车辆定位评估方法、装置、设备和计算机可读介质
CN113325389A (zh) 一种无人车激光雷达定位方法、系统及存储介质
CN117031491A (zh) 地图构建方法、装置、自动导航小车及电子设备
CN114119673A (zh) 初始位姿的确定方法和装置、电子设备和存储介质
CN113436233A (zh) 自动驾驶车辆的配准方法、装置、电子设备和车辆
CN115016435A (zh) 一种自动驾驶车辆测试方法、装置、系统、设备和介质
CN117746133B (zh) 目标检测方法、模型训练方法、装置、设备及存储介质
CN117990085A (zh) 一种基于双毫米波雷达的自主探索地图生成方法及系统
CN118297872A (zh) 数据处理方法和装置、目标物体检测方法和装置
CN116679698A (zh) 用于车辆的自动驾驶方法、装置、车辆、设备和介质
CN115586763A (zh) 一种无人驾驶汽车避障测试设备
CN116295466A (zh) 地图生成方法、装置、电子设备、存储介质、及车辆
CN112180910B (zh) 一种移动机器人障碍物感知方法和装置
EP4125062A1 (en) Vehicle positioning method and apparatus, electronic device, non-transitory computer-readable storage medium and computer program product
CN116681884B (zh) 一种对象检测方法和相关装置
CN115131458A (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