CN116168062B - 一种3d目标跟踪方法及装置 - Google Patents

一种3d目标跟踪方法及装置 Download PDF

Info

Publication number
CN116168062B
CN116168062B CN202310429796.1A CN202310429796A CN116168062B CN 116168062 B CN116168062 B CN 116168062B CN 202310429796 A CN202310429796 A CN 202310429796A CN 116168062 B CN116168062 B CN 116168062B
Authority
CN
China
Prior art keywords
target
point cloud
frame
simulation
current
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.)
Active
Application number
CN202310429796.1A
Other languages
English (en)
Other versions
CN116168062A (zh
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.)
Shenzhen Youjia Innovation Technology Co ltd
Original Assignee
Shenzhen Youjia Innovation 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 Shenzhen Youjia Innovation Technology Co ltd filed Critical Shenzhen Youjia Innovation Technology Co ltd
Priority to CN202310429796.1A priority Critical patent/CN116168062B/zh
Publication of CN116168062A publication Critical patent/CN116168062A/zh
Application granted granted Critical
Publication of CN116168062B publication Critical patent/CN116168062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • 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/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

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

Abstract

本发明公开了一种3D目标跟踪方法及装置。本发明通过利用预先建立的3D目标匹配模型预测相邻两帧点云中各个3D目标框的匹配分数,能够快速准确地关联前后帧点云中的3D目标框,通过结合卡尔曼滤波器不断确定当前帧点云中任一3D目标框,即目标在下一帧点云中匹配的3D目标框,并根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,确定平滑约束后的这些3D目标框的位置生成目标的运动轨迹,能够有效保证目标的运动轨迹平滑可靠,从而实现高效、准确、稳定地关联前后帧点云中的3D目标框进行3D目标跟踪。

Description

一种3D目标跟踪方法及装置
技术领域
本发明涉及自动驾驶技术领域,尤其涉及一种3D目标跟踪方法及装置。
背景技术
在自动驾驶领域中,分析自车周围目标相对于自车的距离和运动轨迹对自车的安全行驶尤为重要,因此,需要对自车周围目标的3D目标框进行时序关联,以便分析自车周围目标的运动轨迹、运动方向和运动速度等。
目前,常用的3D目标跟踪方法主要有两种,一是先采用3D目标检测器检测当前帧点云或图像中的3D目标框,再采用恒速模型将当前帧3D目标框与前一帧3D目标框关联以进行3D目标跟踪,二是采用深度学习模型直接在点云或图像空间中进行3D目标检测和跟踪。第一种方法对非恒定速度目标具有一定的局限性,比如在目标运动速度过快的情况下,容易因前后帧目标运动距离过大,前后帧3D目标框不重合而出现跟踪失效的情况,且目标的关联规则过于简单,无法过滤前期误检的3D目标框。第二种方法的优点是端到端计算,但缺点是模型设计一般较为复杂又计算量大,需要大量标注数据进行训练,计算资源和数据获取的成本较高。另外,应用现有的3D目标跟踪方法得到的自车周围目标的运动轨迹可能并不平滑,难以稳定地进行自动驾驶控制,无法提高3D目标跟踪的鲁棒性。
综上,如何高效、准确、稳定地关联前后帧点云中的3D目标框进行3D目标跟踪,成为当前急需解决的一大难题。
发明内容
为了克服现有技术的缺陷,本发明提供一种3D目标跟踪方法及装置,能够高效、准确、稳定地关联前后帧点云中的3D目标框进行3D目标跟踪。
为了解决上述技术问题,第一方面,本发明的实施例提供一种3D目标跟踪方法,包括:
遍历每一帧所述点云,分别提取当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据;
基于预先建立的3D目标匹配模型,根据当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据,得到当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵;
采用卡尔曼滤波器,根据当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵,判断当前帧所述点云中各个3D目标框是否在下一帧所述点云中有匹配的3D目标框;
以当前帧所述点云中任一3D目标框作为目标,若所述目标在下一帧所述点云中有匹配的3D目标框,则更新所述目标的累计跟踪成功次数,继续遍历每一帧所述点云;
当所述目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对所述目标匹配的所有3D目标框进行平滑约束,生成所述目标的运动轨迹。
进一步地,在所述基于预先建立的3D目标匹配模型,根据当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据,得到当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵之前,还包括:
预先建立所述3D目标匹配模型;
所述预先建立所述3D目标匹配模型,具体为:
响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据;
结合点云编码模块、全局编码模块和特征匹配模块,建立初始3D目标匹配模型;
根据所述训练数据训练所述初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的所述初始3D目标匹配模型作为所述3D目标匹配模型。
进一步地,所述响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据,具体为:
响应所述训练数据获取请求,通过所述仿真软件,根据所述用户选择的地图和交通参与者生成交通流数据,并模拟自车上的雷达采集点云,得到若干帧所述仿真点云;
通过所述仿真软件,分别检测每一帧所述仿真点云中的3D目标框,得到各帧所述仿真点云中的若干个3D目标框;
遍历每一帧所述仿真点云中的每一个3D目标框,截取当前所述3D目标框内的点云数据,将各帧所述仿真点云中各个3D目标框内的所有点云数据作为所述训练数据。
进一步地,在所述通过所述仿真软件,分别检测每一帧所述仿真点云中的3D目标框,得到各帧所述仿真点云中的若干个3D目标框之后,还包括:
遍历每一帧所述仿真点云,根据所述自车在当前帧所述仿真点云的全局位姿,分别将当前帧所述仿真点云中每一个3D目标框的坐标转换为全局坐标。
进一步地,在所述根据所述训练数据训练所述初始3D目标匹配模型之前,还包括:
对所述训练数据进行归一化处理和复筛选处理;
所述对所述训练数据进行归一化处理,具体为:
遍历每一帧所述仿真点云中的每一个3D目标框,分别将当前所述3D目标框内每一个点云数据的坐标转换为以当前所述3D目标框的中心点为原点的坐标;
所述对所述训练数据进行复筛选处理,具体为:
遍历每一帧所述仿真点云中的每一个3D目标框,将当前所述3D目标框内所有点云数据的总量与预设点云数据总量进行比较;
在当前所述3D目标框内所有点云数据的总量大于所述预设点云数据总量时,随机剔除当前所述3D目标框内若干个点云数据,使当前所述3D目标框内所有点云数据的总量等于所述预设点云数据总量;
在当前所述3D目标框内所有点云数据的总量小于所述预设点云数据总量时,在当前所述3D目标框内添加若干个初始点云数据,使当前所述3D目标框内所有点云数据的总量等于所述预设点云数据总量。
进一步地,在所述根据所述训练数据训练所述初始3D目标匹配模型之前,还包括:
遍历每一帧所述仿真点云,随机剔除当前帧所述仿真点云中处于第一目标区域的预设数量的3D目标框,从预存数据集中随机抽取所述预设数量的3D目标框添加到当前帧所述仿真点云的第二目标区域,并对当前帧所述仿真点云中各个3D目标框进行随机抖动;其中,所述第一目标区域为与所述自车的距离超过预设距离阈值或包含点云数据的总量小于预设点云数据总量阈值的区域,所述第二目标区域为背景区域。
进一步地,所述根据所述训练数据训练所述初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的所述初始3D目标匹配模型作为3D目标匹配模型,具体为:
从第二帧所述仿真点云开始遍历每一帧所述仿真点云,将当前帧所述仿真点云中各个3D目标框内的所有点云数据和上一帧所述仿真点云中各个3D目标框内的所有点云数据输入所述初始3D目标匹配模型;
通过所述点云编码模块,提取当前帧所述仿真点云中各个3D目标框内的所有点云数据的特征,得到当前帧所述仿真点云中各个3D目标框的点云特征向量,以及提取上一帧所述仿真点云中各个3D目标框内的所有点云数据的特征,得到上一帧所述仿真点云中各个3D目标框的点云特征向量;
通过所述全局编码模块,根据当前帧所述仿真点云中各个3D目标框的点云特征向量和位置编码,提取当前帧所述仿真点云中各个3D目标框的特征,得到当前帧所述仿真点云中各个3D目标框的位置特征向量,以及根据上一帧所述仿真点云中各个3D目标框的点云特征向量和位置编码,提取上一帧所述仿真点云中各个3D目标框的特征,得到上一帧所述仿真点云中各个3D目标框的位置特征向量;
通过特征匹配模块,结合当前帧所述仿真点云中各个3D目标框的位置特征向量和上一帧所述仿真点云中各个3D目标框的位置特征向量,得到匹配分数矩阵,以确定当前帧所述仿真点云中各个3D目标框与上一帧所述仿真点云中各个3D目标框的匹配分数;
根据所述匹配分数矩阵得到所述初始3D目标匹配模型的网络损失,以基于所述网络损失反向优化所述初始3D目标匹配模型的模型参数,并在累计优化次数达到预设优化次数阈值时,将训练后的所述初始3D目标匹配模型作为所述3D目标匹配模型。
进一步地,所述以当前帧所述点云中任一3D目标框作为目标,若所述目标在下一帧所述点云中有匹配的3D目标框,则更新所述目标的累计跟踪成功次数,继续遍历每一帧所述点云,还包括:
若所述目标在下一帧所述点云中没有匹配的3D目标框,则更新所述目标的累计跟踪失败次数;
当所述目标的累计跟踪失败次数达到第二预设阈值时,从当前帧所述点云中舍弃所述目标。
进一步地,在所述生成所述目标的运动轨迹之后,还包括:
根据所述运动轨迹重置所述卡尔曼滤波器的速度变量。
第二方面,本发明一实施例提供一种3D目标跟踪装置,包括:
数据获取单元,用于遍历每一帧所述点云,分别提取当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据;
目标预测单元,用于基于预先建立的3D目标匹配模型,根据当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据,得到当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵;
目标跟踪单元,用于采用卡尔曼滤波器,根据当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵,判断当前帧所述点云中各个3D目标框是否在下一帧所述点云中有匹配的3D目标框;
所述目标跟踪单元,还用于以当前帧所述点云中任一3D目标框作为目标,若所述目标在下一帧所述点云中有匹配的3D目标框时,更新所述目标的累计跟踪成功次数,继续遍历每一帧所述点云;
轨迹生成单元,用于当所述目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对所述目标匹配的所有3D目标框进行平滑约束,生成所述目标的运动轨迹。
本发明的实施例,具有如下有益效果:
通过遍历每一帧点云,分别提取当前帧点云和下一帧点云中各个3D目标框内的所有点云数据;基于预先建立的3D目标匹配模型,根据当前帧点云和下一帧点云中各个3D目标框内的所有点云数据,得到当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵;采用卡尔曼滤波器,根据当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵,判断当前帧点云中各个3D目标框是否在下一帧点云中有匹配的3D目标框;以当前帧点云中任一3D目标框作为目标,若目标在下一帧点云中有匹配的3D目标框,则更新目标的累计跟踪成功次数,继续遍历每一帧点云;当目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,生成目标的运动轨迹,完成3D目标跟踪。相比于现有技术,本发明的实施例通过利用预先建立的3D目标匹配模型预测相邻两帧点云中各个3D目标框的匹配分数,能够快速准确地关联前后帧点云中的3D目标框,通过结合卡尔曼滤波器不断确定当前帧点云中任一3D目标框,即目标在下一帧点云中匹配的3D目标框,并根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,确定平滑约束后的这些3D目标框的位置生成目标的运动轨迹,能够有效保证目标的运动轨迹平滑可靠,从而实现高效、准确、稳定地关联前后帧点云中的3D目标框进行3D目标跟踪。
附图说明
图1为本发明第一实施例中的一种3D目标跟踪方法的流程示意图;
图2为本发明第一实施例中示例的点云编码模块的结构示意图;
图3为本发明第一实施例中示例的训练初始3D目标匹配模型的流程示意图;
图4为本发明第一实施例中示例的3D目标跟踪方法的流程示意图;
图5为本发明第一实施例中示例的3D目标跟踪结果的示意图;
图6为本发明第二实施例中的一种3D目标跟踪装置的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,文中的步骤编号,仅为了方便具体实施例的解释,不作为限定步骤执行先后顺序的作用。本实施例提供的方法可以由相关的终端设备执行,且下文均以处理器作为执行主体为例进行说明。
如图1所示,第一实施例提供一种3D目标跟踪方法,包括步骤S1~S5:
S1、遍历每一帧点云,分别提取当前帧点云和下一帧点云中各个3D目标框内的所有点云数据;
S2、基于预先建立的3D目标匹配模型,根据当前帧点云和下一帧点云中各个3D目标框内的所有点云数据,得到当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵;
S3、采用卡尔曼滤波器,根据当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵,判断当前帧点云中各个3D目标框是否在下一帧点云中有匹配的3D目标框;
S4、以当前帧点云中任一3D目标框作为目标,若目标在下一帧点云中有匹配的3D目标框,则更新目标的累计跟踪成功次数,继续遍历每一帧点云;
S5、当目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,生成目标的运动轨迹。
作为示例性地,在步骤S1中,在实际场景下,获取自车雷达采集的若干帧点云,即时序点云。遍历每一帧点云,通过3D目标检测器检测当前帧点云中的所有3D目标框,截取当前帧点云中各个3D目标框内的所有点云数据,以及通过3D目标检测器检测下一帧点云中的所有3D目标框,截取下一帧点云中各个3D目标框内的所有点云数据。
在步骤S2中,预先建立3D目标匹配模型,将当前帧点云中各个3D目标框内的所有点云数据和下一帧点云中各个3D目标框内的所有点云数据输入3D目标匹配模型,使3D目标匹配模型预测当前帧点云中各个3D目标框与下一帧点云中各个3D目标框的匹配分数,输出当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵。
在步骤S3中,采用卡尔曼滤波器,根据当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵,判断当前帧点云中各个3D目标框是否在下一帧点云中有匹配的3D目标框。
在步骤S4中,根据实际应用需求,以当前帧点云中任一3D目标框作为目标,若目标在下一帧点云中有匹配的3D目标框,则对目标的累计跟踪成功次数加一,更新目标的累计跟踪成功次数,继续遍历每一帧点云。
在步骤S5中,预先定义平滑约束方程,当目标的累计跟踪成功次数达到第一预设阈值时,根据平滑约束方程对目标匹配的所有3D目标框进行平滑约束,得到平滑约束后的目标匹配的所有3D目标框,以确定这些3D目标框的位置,生成目标的运动轨迹。
本实施例通过利用预先建立的3D目标匹配模型预测相邻两帧点云中各个3D目标框的匹配分数,能够快速准确地关联前后帧点云中的3D目标框,通过结合卡尔曼滤波器不断确定当前帧点云中任一3D目标框,即目标在下一帧点云中匹配的3D目标框,并根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,确定平滑约束后的这些3D目标框的位置生成目标的运动轨迹,能够有效保证目标的运动轨迹平滑可靠,从而实现高效、准确、稳定地关联前后帧点云中的3D目标框进行3D目标跟踪。
在优选的实施例当中,在所述基于预先建立的3D目标匹配模型,根据当前帧点云和下一帧点云中各个3D目标框内的所有点云数据,得到当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵之前,还包括:预先建立3D目标匹配模型;所述预先建立3D目标匹配模型,具体为:响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据;结合点云编码模块、全局编码模块和特征匹配模块,建立初始3D目标匹配模型;根据训练数据训练初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的初始3D目标匹配模型作为3D目标匹配模型。
作为示例性地,接收用户发起的训练数据获取请求,响应该训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据。其中,仿真点云中分布有若干个3D目标框和若干个点云数据。
基于卷积神经网络架构,设计点云编码模块、全局编码模块和特征匹配模块,结合点云编码模块、全局编码模块和特征匹配模块,建立初始3D目标匹配模型。
根据训练数据训练初始3D目标匹配模型,优化初始3D目标匹配模型的模型参数,并在满足预先定义的训练结束条件时,将训练后的初始3D目标匹配模型作为3D目标匹配模型,以便在实际场景中应用3D目标匹配模型对前后帧雷达点云中的3D目标框进行匹配。
本实施例通过选用仿真软件生成的仿真点云获取训练数据,可便捷获取大量训练数据也无需预先对训练数据进行标注,通过结合点云编码模块、全局编码模块和特征匹配模块建立初始3D目标匹配模型,根据训练数据训练初始3D目标匹配模型来得到3D目标匹配模型,可有效学习3D目标框的特征进行匹配,从而能够简化训练数据的获取及模型训练的计算,建立一种3D目标匹配模型,利用3D目标匹配模型快速准确地关联前后帧点云中的3D目标框。
在优选的实施例当中,所述响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据,具体为:响应训练数据获取请求,通过仿真软件,根据用户选择的地图和交通参与者生成交通流数据,并模拟自车上的雷达采集点云,得到若干帧仿真点云;通过仿真软件,分别检测每一帧仿真点云中的3D目标框,得到各帧仿真点云中的若干个3D目标框;遍历每一帧仿真点云中的每一个3D目标框,截取当前3D目标框内的点云数据,将各帧仿真点云中各个3D目标框内的所有点云数据作为训练数据。
作为示例性地,响应训练数据获取请求,确定用户选择的地图和车辆、行人等若干个交通参与者,通过仿真软件,结合地图和各个交通参与者的运动学模型,生成交通流数据,并模拟自车上的雷达采集点云,得到若干帧仿真点云,以及通过仿真软件,对于每一帧仿真点云,检测该帧仿真点云中的3D目标框,得到该帧仿真点云中的若干个3D目标框,并分别截取每一3D目标框内的点云数据,同时获取每一3D目标框的序列跟踪ID,将各帧仿真点云中各个3D目标框内的所有点云数据作为训练数据。
本实施例通过对仿真软件生成的仿真点云进行预筛选处理,仅选择仿真点云中各个3D目标框内的所有点云数据作为训练数据,能够简化训练数据的获取及模型训练的计算,建立一种3D目标匹配模型,利用3D目标匹配模型快速准确地关联前后帧点云中的3D目标框。
在优选的实施例当中,在所述通过仿真软件,分别检测每一帧仿真点云中的3D目标框,得到各帧仿真点云中的若干个3D目标框之后,还包括:遍历每一帧仿真点云,根据自车在当前帧仿真点云的全局位姿,分别将当前帧仿真点云中每一个3D目标框的坐标转换为全局坐标。
作为示例性地,在通过仿真软件获取若干帧仿真点云和各帧仿真点云中的若干个3D目标框的过程中,可同时获取自车在各帧仿真点云的全局位姿,以及各帧仿真点云中所有3D目标框的位置、大小、朝向角。考虑到仿真点云是模拟自车上的雷达采集的,需要在得到各帧仿真点云中的若干个3D目标框之后,对各帧仿真点云中的所有3D目标框进行自运动补偿,即对于每一帧仿真点云,根据自车在该帧仿真点云的全局位姿,分别将该帧仿真点云中每一个3D目标框的坐标转换为全局坐标,使得该帧仿真点云中所有3D目标框的坐标均在全局坐标系下。
本实施例通过对各帧仿真点云中的所有3D目标框进行自运动补偿,能够有效避免训练数据之间的数据差异影响后续的模型训练,有利于保证3D目标匹配模型快速准确地关联前后帧点云中的3D目标框。
在优选的实施例当中,在所述根据训练数据训练初始3D目标匹配模型之前,还包括:对训练数据进行归一化处理和复筛选处理;所述对训练数据进行归一化处理,具体为:遍历每一帧仿真点云中的每一个3D目标框,分别将当前3D目标框内每一个点云数据的坐标转换为以当前3D目标框的中心点为原点的坐标;所述对训练数据进行复筛选处理,具体为:遍历每一帧仿真点云中的每一个3D目标框,将当前3D目标框内所有点云数据的总量与预设点云数据总量进行比较;在当前3D目标框内所有点云数据的总量大于预设点云数据总量时,随机剔除当前3D目标框内若干个点云数据,使当前3D目标框内所有点云数据的总量等于预设点云数据总量;在当前3D目标框内所有点云数据的总量小于预设点云数据总量时,在当前3D目标框内添加若干个初始点云数据,使当前3D目标框内所有点云数据的总量等于预设点云数据总量。
作为示例性地,在一帧仿真点云中,每一个3D目标框内的点云数据有三维坐标信息和反射率信息。由于仿真数据存在反射率失真的问题,考虑到模型泛化到实际场景下,只采用点云数据的三维坐标信息作为模型输入。
在根据训练数据训练初始3D目标匹配模型之前,对各帧仿真点云中所有3D目标框的坐标进行归一化处理,具体为:对于每一帧仿真点云中的每一个3D目标框,以该3D目标框的中心点为原点,归一化该3D目标框内所有点云数据的坐标,将该3D目标框内所有点云数据的坐标均转换为以该3D目标框的中心点为原点的坐标。
在一帧仿真点云中,不同3D目标框容易受自车上的雷达扫描的角度、目标本身的尺寸以及周围环境的遮挡关系等影响,包含有不等数量的点云数据。为统一各个3D目标框内点云数据的总量,根据实际需求确定预设点云数据总量,假设预设点云数据总量为100。
对于每一帧仿真点云中的每一个3D目标框,统计该3D目标框内所有点云数据的总量,将该3D目标框内所有点云数据的总量与预设点云数据总量进行比较,若该3D目标框内所有点云数据的总量大于预设点云数据总量,即100,则随机剔除当前3D目标框内若干个点云数据,使当前3D目标框内所有点云数据的总量等于预设点云数据总量,若3D目标框内所有点云数据的总量小于预设点云数据总量时,在当前3D目标框内添加若干个初始点云数据,使当前3D目标框内所有点云数据的总量等于预设点云数据总量。其中,初始点云数据的三维坐标信息为[0,0,0]。
本实施例通过在根据训练数据训练初始3D目标匹配模型之前,对训练数据进行归一化处理和复筛选处理,能够有效避免训练数据之间的数据差异影响后续的模型训练,有利于保证3D目标匹配模型快速准确地关联前后帧点云中的3D目标框。
在优选的实施例当中,在所述根据训练数据训练初始3D目标匹配模型之前,还包括:遍历每一帧仿真点云,随机剔除当前帧仿真点云中处于第一目标区域的预设数量的3D目标框,从预存数据集中随机抽取预设数量的3D目标框添加到当前帧仿真点云的第二目标区域,并对当前帧仿真点云中各个3D目标框进行随机抖动;其中,第一目标区域为与自车的距离超过预设距离阈值或包含点云数据的总量小于预设点云数据总量阈值的区域,第二目标区域为背景区域。
作为示例性地,在模型训练过程中,训练数据的3D目标框都非常准确,而在模型测试过程中,3D目标框一般通过3D目标检测器预测得到,因此不可避免地存在误检、漏检和预测3D目标框不精确的情况。
为了增强模型的鲁棒性,需要在模型训练过程中模拟相似的数据分布。本实施例提出以下数据增强方法:对于每一帧仿真点云,首先,考虑到距离自车较远的或者包含点云数据较少的3D目标框这类目标是3D目标检测器实际容易漏检的目标,根据预设距离阈值或预设点云数据总量阈值,将该帧仿真点云中与自车的距离超过预设距离阈值或包含点云数据的总量小于预设点云数据总量阈值的区域确定为第一目标区域,针对该帧仿真点云中处于第一目标区域的所有3D目标框,随机剔除预设数量的3D目标框;其次,从预存数据集中随机抽取预设数量的3D目标框,可以理解的是,预存数据集中存储有若干个3D目标框及其大小、位置、朝向信息,将抽取的所有3D目标框随机分布添加到该帧仿真点云中的第二目标区域,即背景区域,以模拟误检测;最后,对该帧仿真点云中保留用于训练的各个3D目标框进行随机抖动,具体包括朝向角的偏移、中心点的偏移以及长宽高的放大缩小等。
本实施例通过在根据训练数据训练初始3D目标匹配模型之前,模拟相似的数据分布增强训练数据,有利于提高3D目标匹配模型的鲁棒性。
在优选的实施例当中,所述根据训练数据训练初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的初始3D目标匹配模型作为3D目标匹配模型,具体为:从第二帧仿真点云开始遍历每一帧仿真点云,将当前帧仿真点云中各个3D目标框内的所有点云数据和上一帧仿真点云中各个3D目标框内的所有点云数据输入初始3D目标匹配模型;通过点云编码模块,提取当前帧仿真点云中各个3D目标框内的所有点云数据的特征,得到当前帧仿真点云中各个3D目标框的点云特征向量,以及提取上一帧仿真点云中各个3D目标框内的所有点云数据的特征,得到上一帧仿真点云中各个3D目标框的点云特征向量;通过全局编码模块,根据当前帧仿真点云中各个3D目标框的点云特征向量和位置编码,提取当前帧仿真点云中各个3D目标框的特征,得到当前帧仿真点云中各个3D目标框的位置特征向量,以及根据上一帧仿真点云中各个3D目标框的点云特征向量和位置编码,提取上一帧仿真点云中各个3D目标框的特征,得到上一帧仿真点云中各个3D目标框的位置特征向量;通过特征匹配模块,结合当前帧仿真点云中各个3D目标框的位置特征向量和上一帧仿真点云中各个3D目标框的位置特征向量,得到匹配分数矩阵,以确定当前帧仿真点云中各个3D目标框与上一帧仿真点云中各个3D目标框的匹配分数;根据匹配分数矩阵得到初始3D目标匹配模型的网络损失,以基于网络损失反向优化初始3D目标匹配模型的模型参数,并在累计优化次数达到预设优化次数阈值时,将训练后的初始3D目标匹配模型作为3D目标匹配模型。
在优选的实施例当中,点云编码模块包括依次连接的若干个1×1卷积层和一个全局池化层;全局编码模块为Transformer全局编码模块;其中,全局池化层为均值池化层或最大池化层。
作为示例性地,假设点云编码模块采用依次连接的三个1×1卷积层和一个全局池化层进行设计得到,点云编码模块的结构示意图如图2所示,全局编码模块采用Transformer全局编码模块进行设计得到,结合点云编码模块、全局编码模块和特征匹配模块,建立初始3D目标匹配模型。
如图3所示,考虑到3D目标框中的点云数据是不均匀非规则分布的稀疏数据,三维卷积神经网络结构应用于此类数据计算量大且不高效,因此本实施例采用类似pointnet的结构,设计如图2所示的点云编码模块,先用三个1×1卷积层编码单个点云数据的特征,再用一个全局池化层编码一个3D目标框内所有点云数据的特征作为该3D目标框的点云特征向量。
其中,全局池化层可以是均值池化层也可以是最大池化层。在实际应用中,因为大部分点云数据属于目标本身,所以少量的噪声点经过全局池化层后对目标特征的影响有限,优先选用均值池化层。
假设第一帧仿真点云有3D目标框集合P=(p1,p2,...,pN1)共N1个3D目标框,第二帧仿真点云有3D目标框集合Q=(q1,q2,...,qN2)共N2个3D目标框,经过相同的点云编码器,编码成为一个d维的点云特征向量,共N=N1+N2个点云特征向量。
由于激光雷达采集的仿真点云缺乏纹理信息,对于位置相近、三维结构相似的不同3D目标框,其点云结构也十分相似,且在自动驾驶场景下,目标的运动是相互影响和制约的,因此目标的跟踪除了利用各个3D目标框自身的点云结构信息,还需要利用空间范围内所有3D目标框的相对位置信息,判断上一帧仿真点云中各个3D目标框在当前帧仿真点云中的最佳匹配目标。
在得到两帧仿真点云中各个3D目标框的点云特征向量后,通过Transformer全局编码模块,根据两帧仿真点云中各个3D目标框的点云特征向量和位置编码,对应提取两帧仿真点云中各个3D目标框的特征,得到两帧仿真点云中各个3D目标框的位置特征向量。
Transformer全局编码模块能够利用注意力机制,编码不同目标特征的相互关系,并具备在较小的算力消耗下,在空间中离散稀疏分布的目标的能力。在Transformer全局编码模块编码的过程中,需要对仿真点云中各个3D目标框的3D位置坐标进行位置编码,作为Transformer全局编码模块的额外输入,用于显式编码不同3D目标框之间真实的三维空间位置关系。其中,位置编码的定义如下:
(1);
式(1)中,d为输入特征维度,PEt为第t个输入的位置编码,i为特征维度的索引。
具体地,分别将N个点云特征向量和N个位置编码对应相加,使各个3D目标框的点云特征向量中包含其自身的3D位置信息,构成Transformer全局编码模块的输入特征。经过Transformer全局编码模块编码,得到共N=N1+N2个位置特征向量。
结合当前帧仿真点云中各个3D目标框的位置特征向量和上一帧仿真点云中各个3D目标框的位置特征向量,得到匹配分数矩阵,以确定当前帧仿真点云中各个3D目标框与上一帧仿真点云中各个3D目标框的匹配分数
在得到两帧仿真点云中各个3D目标框的位置特征向量后,通过特征匹配模块计算N1个3D目标框和N2个3D目标框的位置特征向量两两匹配的匹配分数,组成匹配分数矩阵。
具体地,对N1个3D目标框和N2个3D目标框的位置特征向量进行内积运算,得到N1个3D目标框和N2个3D目标框的位置特征向量两两匹配的匹配分数,用来评价N1个3D目标框和N2个3D目标框的位置特征向量两两之间的相似程度。
考虑到上一帧仿真点云中部分3D目标框可能存在消失的状态,而当前帧仿真点云可能出现新的3D目标框,这都会导致上一帧仿真点云中部分3D目标框无法在当前帧仿真点云中找到匹配目标,因此需要在匹配分数矩阵中增加额外的一行一列,用来描述这种状态,最终的匹配分数矩阵的维度为(N1+1)行*(N2+1)列。
在训练初始3D目标匹配模型的过程中,点云编码模块和Transformer全局编码模块是联合训练的,联合训练的损失函数为:
(2);
式(2)中,Pi,j表示上一帧仿真点云中第i个3D目标框和当前帧仿真点云中第j个3D目标框匹配为同一目标;表示上一帧仿真点云中第i个3D目标框在当前帧仿真点云中没有匹配目标,/>表示当前帧仿真点云中第j个目标在上一帧仿真点云中没有匹配目标。
在训练初始3D目标匹配模型的过程中,基于损失函数,根据匹配分数矩阵得到初始3D目标匹配模型的网络损失,并采用梯度下降的优化方法,基于网络损失不断循环反向优化初始3D目标匹配模型的模型参数,直至累计优化次数达到预设优化次数阈值,此时完成训练初始3D目标匹配模型,将训练后的初始3D目标匹配模型作为3D目标匹配模型。其中,损失函数在验证集上达到最小值时的模型参数作为最佳参数用于后续测试。
本实施例通过设计初始3D目标匹配模型并训练初始3D目标匹配模型,能够保证最终得到的3D目标匹配模型可有效学习3D目标框的特征进行匹配,实现快速准确地关联前后帧点云中的3D目标框。
在优选的实施例当中,所述以当前帧点云中任一3D目标框作为目标,若目标在下一帧点云中有匹配的3D目标框,则更新目标的累计跟踪成功次数,继续遍历每一帧点云,还包括:若目标在下一帧点云中没有匹配的3D目标框,则更新目标的累计跟踪失败次数;当目标的累计跟踪失败次数达到第二预设阈值时,从当前帧点云中舍弃目标。
作为示例性地,根据实际应用需求,以当前帧点云中任一3D目标框作为目标,若目标在下一帧点云中没有匹配的3D目标框,则对目标的累计跟踪失败次数加一,更新目标的累计跟踪失败次数,并判断目标的累计跟踪失败次数是否达到第二预设阈值,若目标的累计跟踪失败次数达到第二预设阈值,则从当前帧点云中舍弃目标,否则继续遍历每一帧点云。
本实施例通过只在当前帧点云中任一3D目标框的累计跟踪失败次数达到第二预设阈值时才从当前帧点云中舍弃该3D目标框,能够针对跟踪失败的目标多次尝试3D目标跟踪,有效应对偶发漏检测和目标短时间遮挡的问题,从而提高3D目标跟踪的鲁棒性和跟踪时长。
在优选的实施例当中,在所述生成目标的运动轨迹之后,还包括:根据运动轨迹重置卡尔曼滤波器的速度变量。
作为示例性地,在3D目标跟踪的开始阶段,由于卡尔曼滤波器无法预知目标的速度变量,因此对于目标的速度不确定性较大,在生成目标的运动轨迹后,根据运动轨迹确定目标的速度,根据目标的速度重置卡尔曼滤波器的速度变量。
本实施例通过在生成目标的运动轨迹后,根据运动轨迹重置卡尔曼滤波器的速度变量,有利于提高3D目标跟踪的鲁棒性和准确性。
作为示例性地,为了更清楚地说明第一实施例提供的一种3D目标跟踪方法,应用3D目标跟踪方法对获取的序列点云进行3D目标跟踪,如图4所示,具体过程如下:
1、获取第t+1帧点云,通过3D目标检测器,检测第t+1帧点云中的所有目标3D框,截取各个3D目标框内的所有点云数据。若t=1,则同时需要通过3D目标检测器,检测第t=1帧点云中的所有3D目标框,截取各个3D目标框内的所有点云数据。
2、将第t帧、第t+1帧两帧点云中各个3D目标框内的所有点云数据输入训练好的3D目标匹配模型,使3D目标匹配模型预测第t帧点云中各个3D目标框与第t+1帧点云中各个3D目标框的匹配分数,输出第t帧点云中各个3D目标框与第t+1帧点云各个3D目标框的匹配分数矩阵。
3、根据第t帧点云中各个3D目标框与第t+1帧点云各个3D目标框的匹配分数矩阵,结合卡尔曼滤波器,完成一次3D目标跟踪。
以第t帧点云中任一3D目标框作为目标,若目标在第t+1帧点云中有匹配的3D目标框,则对目标的累计跟踪成功次数加一,更新目标的累计跟踪成功次数,对t加一,重新执行操作1~3进行下一次3D目标跟踪;若目标在第t+1帧点云中没有匹配的3D目标框,则对目标的累计跟踪失败次数加一,更新目标的累计跟踪失败次数,并判断目标的累计跟踪失败次数是否大于第二预设次数,若是则从第t帧点云中舍弃目标,否则继续在t帧点云中保留目标的状态以尝试下一次3D目标跟踪。
可以理解的是,保留跟踪失败的目标而非马上丢弃目标,可以有效应对偶发漏检测和目标短时间遮挡的问题,从而提高3D目标跟踪的鲁棒性和跟踪时长。
采用卡尔曼滤波器进行3D目标跟踪的原理为:设目标的状态为[x, y, z, l, w,h, yaw, vx, vy, vz],其中,x、y、z表示目标的位置,l、w、h分别表示目标的长、宽、高,yaw表示目标的朝向角,vx、vy、vz表示目标的速度,当使用恒速模型时,xt+1= xt+vx*Δt,Δt为时间间隔。因此,状态转移方程为:
(3);
状态转移矩阵F为:
(4);
式(4)中,F表示x、y、z方向的恒速模型,其他状态变量[x, y, z, l, w, h, yaw,vx, vy, vz]则和上一时刻一致。
状态转移方程预测了t时刻状态变量的值,假设在t时刻根据匹配分数矩阵匹配到观测值,即3D目标检测器检测的3D目标框ot,更新过程如下:
(5);
式(5)中,K为卡尔曼增益,H为一个转变状态变量到观测变量的矩阵,若状态变量和观测变量一致,则H为单位矩阵。
在3D目标跟踪的开始阶段,由于卡尔曼滤波器无法预知目标的速度变量,因此对于目标的速度不确定性较大,本实施例提出利用运动规划中的五次方程约束来完善这一跟踪过程,即运动轨迹满足以下平滑约束方程:
(6);
(7);
式(6)中,c0、c1、c2、c3、c4、c5均为预设系数。
解上述方程需要至少6个轨迹点,在初始跟踪过程中,将第一预设阈值设置为6,当成功完成6次跟踪后,则求取方程参数,再根据参数计算速度值,进而重置卡尔曼滤波器中的速度变量,能够使卡尔曼滤波器尽早收敛到理想状态。最终的3D目标跟踪结果如图5所示,图5中的线段代表通过本实施例提供的一种3D目标跟踪方法获得的每个目标的运动轨迹。
基于与第一实施例相同的发明构思,第二实施例提供如图6所示的一种3D目标跟踪装置,包括:数据获取单元21,用于遍历每一帧点云,分别提取当前帧点云和下一帧点云中各个3D目标框内的所有点云数据;目标预测单元22,用于基于预先建立的3D目标匹配模型,根据当前帧点云和下一帧点云中各个3D目标框内的所有点云数据,得到当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵;目标跟踪单元23,用于采用卡尔曼滤波器,根据当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵,判断当前帧点云中各个3D目标框是否在下一帧点云中有匹配的3D目标框;目标跟踪单元23,还用于以当前帧点云中任一3D目标框作为目标,若目标在下一帧点云中有匹配的3D目标框时,更新目标的累计跟踪成功次数,继续遍历每一帧点云;轨迹生成单元24,用于当目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,生成目标的运动轨迹。
在优选的实施例当中,目标预测单元22,还用于在所述基于预先建立的3D目标匹配模型,根据当前帧点云和下一帧点云中各个3D目标框内的所有点云数据,得到当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵之前,还包括:预先建立3D目标匹配模型;
所述预先建立3D目标匹配模型,具体为:响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据;结合点云编码模块、全局编码模块和特征匹配模块,建立初始3D目标匹配模型;根据训练数据训练初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的初始3D目标匹配模型作为3D目标匹配模型。
在优选的实施例当中,所述响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据,具体为:响应训练数据获取请求,通过仿真软件,根据用户选择的地图和交通参与者生成交通流数据,并模拟自车上的雷达采集点云,得到若干帧仿真点云;通过仿真软件,分别检测每一帧仿真点云中的3D目标框,得到各帧仿真点云中的若干个3D目标框;遍历每一帧仿真点云中的每一个3D目标框,截取当前3D目标框内的点云数据,将各帧仿真点云中各个3D目标框内的所有点云数据作为训练数据。
在优选的实施例当中,在所述通过仿真软件,分别检测每一帧仿真点云中的3D目标框,得到各帧仿真点云中的若干个3D目标框之后,还包括:遍历每一帧仿真点云,根据自车在当前帧仿真点云的全局位姿,分别将当前帧仿真点云中每一个3D目标框的坐标转换为全局坐标。
在优选的实施例当中,在所述根据训练数据训练初始3D目标匹配模型之前,还包括:对训练数据进行归一化处理和复筛选处理;
所述对训练数据进行归一化处理,具体为:遍历每一帧仿真点云中的每一个3D目标框,分别将当前3D目标框内每一个点云数据的坐标转换为以当前3D目标框的中心点为原点的坐标;
所述对训练数据进行复筛选处理,具体为:遍历每一帧仿真点云中的每一个3D目标框,将当前3D目标框内所有点云数据的总量与预设点云数据总量进行比较;在当前3D目标框内所有点云数据的总量大于预设点云数据总量时,随机剔除当前3D目标框内若干个点云数据,使当前3D目标框内所有点云数据的总量等于预设点云数据总量;在当前3D目标框内所有点云数据的总量小于预设点云数据总量时,在当前3D目标框内添加若干个初始点云数据,使当前3D目标框内所有点云数据的总量等于预设点云数据总量。
在优选的实施例当中,在所述根据训练数据训练初始3D目标匹配模型之前,还包括:遍历每一帧仿真点云,随机剔除当前帧仿真点云中处于第一目标区域的预设数量的3D目标框,从预存数据集中随机抽取预设数量的3D目标框添加到当前帧仿真点云的第二目标区域,并对当前帧仿真点云中各个3D目标框进行随机抖动;其中,第一目标区域为与自车的距离超过预设距离阈值或包含点云数据的总量小于预设点云数据总量阈值的区域,第二目标区域为背景区域。
在优选的实施例当中,所述根据训练数据训练初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的初始3D目标匹配模型作为3D目标匹配模型,具体为:从第二帧仿真点云开始遍历每一帧仿真点云,将当前帧仿真点云中各个3D目标框内的所有点云数据和上一帧仿真点云中各个3D目标框内的所有点云数据输入初始3D目标匹配模型;通过点云编码模块,提取当前帧仿真点云中各个3D目标框内的所有点云数据的特征,得到当前帧仿真点云中各个3D目标框的点云特征向量,以及提取上一帧仿真点云中各个3D目标框内的所有点云数据的特征,得到上一帧仿真点云中各个3D目标框的点云特征向量;通过全局编码模块,根据当前帧仿真点云中各个3D目标框的点云特征向量和位置编码,提取当前帧仿真点云中各个3D目标框的特征,得到当前帧仿真点云中各个3D目标框的位置特征向量,以及根据上一帧仿真点云中各个3D目标框的点云特征向量和位置编码,提取上一帧仿真点云中各个3D目标框的特征,得到上一帧仿真点云中各个3D目标框的位置特征向量;通过特征匹配模块,结合当前帧仿真点云中各个3D目标框的位置特征向量和上一帧仿真点云中各个3D目标框的位置特征向量,得到匹配分数矩阵,以确定当前帧仿真点云中各个3D目标框与上一帧仿真点云中各个3D目标框的匹配分数;根据匹配分数矩阵得到初始3D目标匹配模型的网络损失,以基于网络损失反向优化初始3D目标匹配模型的模型参数,并在累计优化次数达到预设优化次数阈值时,将训练后的初始3D目标匹配模型作为3D目标匹配模型。
在优选的实施例当中,点云编码模块包括依次连接的若干个1×1卷积层和一个全局池化层;全局编码模块为Transformer全局编码模块;其中,全局池化层为均值池化层或最大池化层。
在优选的实施例当中,目标跟踪单元23,还用于:若目标在下一帧点云中没有匹配的3D目标框,则更新目标的累计跟踪失败次数;当目标的累计跟踪失败次数达到第二预设阈值时,从当前帧点云中舍弃目标。
在优选的实施例当中,轨迹生成单元24,还用于在所述生成目标的运动轨迹之后,根据运动轨迹重置卡尔曼滤波器的速度变量。
综上所述,实施本发明的实施例,具有如下有益效果:
通过遍历每一帧点云,分别提取当前帧点云和下一帧点云中各个3D目标框内的所有点云数据;基于预先建立的3D目标匹配模型,根据当前帧点云和下一帧点云中各个3D目标框内的所有点云数据,得到当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵;采用卡尔曼滤波器,根据当前帧点云中各个3D目标框与下一帧点云各个3D目标框的匹配分数矩阵,判断当前帧点云中各个3D目标框是否在下一帧点云中有匹配的3D目标框;以当前帧点云中任一3D目标框作为目标,若目标在下一帧点云中有匹配的3D目标框,则更新目标的累计跟踪成功次数,继续遍历每一帧点云;当目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,生成目标的运动轨迹,完成3D目标跟踪。本发明的实施例通过利用预先建立的3D目标匹配模型预测相邻两帧点云中各个3D目标框的匹配分数,能够快速准确地关联前后帧点云中的3D目标框,通过结合卡尔曼滤波器不断确定当前帧点云中任一3D目标框,即目标在下一帧点云中匹配的3D目标框,并根据预先定义的平滑约束方程对目标匹配的所有3D目标框进行平滑约束,确定平滑约束后的这些3D目标框的位置生成目标的运动轨迹,能够有效保证目标的运动轨迹平滑可靠,从而实现高效、准确、稳定地关联前后帧点云中的3D目标框进行3D目标跟踪。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

Claims (7)

1.一种3D目标跟踪方法,其特征在于,包括:
遍历每一帧点云,分别提取当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据;
基于预先建立的3D目标匹配模型,根据当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据,得到当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵;在所述基于预先建立的3D目标匹配模型,根据当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据,得到当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵之前,还包括:
预先建立所述3D目标匹配模型;
所述预先建立所述3D目标匹配模型,具体为:
响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据;
结合点云编码模块、全局编码模块和特征匹配模块,建立初始3D目标匹配模型;
根据所述训练数据训练所述初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的所述初始3D目标匹配模型作为所述3D目标匹配模型;
所述根据所述训练数据训练所述初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的所述初始3D目标匹配模型作为3D目标匹配模型,具体为:
从第二帧所述仿真点云开始遍历每一帧所述仿真点云,将当前帧所述仿真点云中各个3D目标框内的所有点云数据和上一帧所述仿真点云中各个3D目标框内的所有点云数据输入所述初始3D目标匹配模型;通过所述点云编码模块,提取当前帧所述仿真点云中各个3D目标框内的所有点云数据的特征,得到当前帧所述仿真点云中各个3D目标框的点云特征向量,以及提取上一帧所述仿真点云中各个3D目标框内的所有点云数据的特征,得到上一帧所述仿真点云中各个3D目标框的点云特征向量;通过所述全局编码模块,根据当前帧所述仿真点云中各个3D目标框的点云特征向量和位置编码,提取当前帧所述仿真点云中各个3D目标框的特征,得到当前帧所述仿真点云中各个3D目标框的位置特征向量,以及根据上一帧所述仿真点云中各个3D目标框的点云特征向量和位置编码,提取上一帧所述仿真点云中各个3D目标框的特征,得到上一帧所述仿真点云中各个3D目标框的位置特征向量;通过特征匹配模块,结合当前帧所述仿真点云中各个3D目标框的位置特征向量和上一帧所述仿真点云中各个3D目标框的位置特征向量,得到匹配分数矩阵,以确定当前帧所述仿真点云中各个3D目标框与上一帧所述仿真点云中各个3D目标框的匹配分数;根据所述匹配分数矩阵得到所述初始3D目标匹配模型的网络损失,以基于所述网络损失反向优化所述初始3D目标匹配模型的模型参数,并在累计优化次数达到预设优化次数阈值时,将训练后的所述初始3D目标匹配模型作为所述3D目标匹配模型;
采用卡尔曼滤波器,根据当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵,判断当前帧所述点云中各个3D目标框是否在下一帧所述点云中有匹配的3D目标框;
以当前帧所述点云中任一3D目标框作为目标,若所述目标在下一帧所述点云中有匹配的3D目标框,则更新所述目标的累计跟踪成功次数,继续遍历每一帧所述点云;所述以当前帧所述点云中任一3D目标框作为目标,若所述目标在下一帧所述点云中有匹配的3D目标框,则更新所述目标的累计跟踪成功次数,继续遍历每一帧所述点云,还包括:若所述目标在下一帧所述点云中没有匹配的3D目标框,则更新所述目标的累计跟踪失败次数;当所述目标的累计跟踪失败次数达到第二预设阈值时,从当前帧所述点云中舍弃所述目标;
当所述目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对所述目标匹配的所有3D目标框进行平滑约束,生成所述目标的运动轨迹。
2.如权利要求1所述的3D目标跟踪方法,其特征在于,所述响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据,具体为:
响应所述训练数据获取请求,通过所述仿真软件,根据所述用户选择的地图和交通参与者生成交通流数据,并模拟自车上的雷达采集点云,得到若干帧所述仿真点云;
通过所述仿真软件,分别检测每一帧所述仿真点云中的3D目标框,得到各帧所述仿真点云中的若干个3D目标框;
遍历每一帧所述仿真点云中的每一个3D目标框,截取当前所述3D目标框内的点云数据,将各帧所述仿真点云中各个3D目标框内的所有点云数据作为所述训练数据。
3.如权利要求2所述的3D目标跟踪方法,其特征在于,在所述通过所述仿真软件,分别检测每一帧所述仿真点云中的3D目标框,得到各帧所述仿真点云中的若干个3D目标框之后,还包括:
遍历每一帧所述仿真点云,根据所述自车在当前帧所述仿真点云的全局位姿,分别将当前帧所述仿真点云中每一个3D目标框的坐标转换为全局坐标。
4.如权利要求2所述的3D目标跟踪方法,其特征在于,在所述根据所述训练数据训练所述初始3D目标匹配模型之前,还包括:
对所述训练数据进行归一化处理和复筛选处理;
所述对所述训练数据进行归一化处理,具体为:
遍历每一帧所述仿真点云中的每一个3D目标框,分别将当前所述3D目标框内每一个点云数据的坐标转换为以当前所述3D目标框的中心点为原点的坐标;
所述对所述训练数据进行复筛选处理,具体为:
遍历每一帧所述仿真点云中的每一个3D目标框,将当前所述3D目标框内所有点云数据的总量与预设点云数据总量进行比较;
在当前所述3D目标框内所有点云数据的总量大于所述预设点云数据总量时,随机剔除当前所述3D目标框内若干个点云数据,使当前所述3D目标框内所有点云数据的总量等于所述预设点云数据总量;
在当前所述3D目标框内所有点云数据的总量小于所述预设点云数据总量时,在当前所述3D目标框内添加若干个初始点云数据,使当前所述3D目标框内所有点云数据的总量等于所述预设点云数据总量。
5.如权利要求2所述的3D目标跟踪方法,其特征在于,在所述根据所述训练数据训练所述初始3D目标匹配模型之前,还包括:
遍历每一帧所述仿真点云,随机剔除当前帧所述仿真点云中处于第一目标区域的预设数量的3D目标框,从预存数据集中随机抽取所述预设数量的3D目标框添加到当前帧所述仿真点云的第二目标区域,并对当前帧所述仿真点云中各个3D目标框进行随机抖动;其中,所述第一目标区域为与所述自车的距离超过预设距离阈值或包含点云数据的总量小于预设点云数据总量阈值的区域,所述第二目标区域为背景区域。
6.如权利要求1所述的3D目标跟踪方法,其特征在于,在所述生成所述目标的运动轨迹之后,还包括:
根据所述运动轨迹重置所述卡尔曼滤波器的速度变量。
7.一种3D目标跟踪装置,其特征在于,包括:
数据获取单元,用于遍历每一帧点云,分别提取当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据;
目标预测单元,用于基于预先建立的3D目标匹配模型,根据当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据,得到当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵;在所述基于预先建立的3D目标匹配模型,根据当前帧所述点云和下一帧所述点云中各个3D目标框内的所有点云数据,得到当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵之前,还包括:
预先建立所述3D目标匹配模型;
所述预先建立所述3D目标匹配模型,具体为:
响应用户发起的训练数据获取请求,对仿真软件生成的仿真点云进行预筛选处理,得到训练数据;
结合点云编码模块、全局编码模块和特征匹配模块,建立初始3D目标匹配模型;
根据所述训练数据训练所述初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的所述初始3D目标匹配模型作为所述3D目标匹配模型;
所述根据所述训练数据训练所述初始3D目标匹配模型,并在满足预先定义的训练结束条件时,将训练后的所述初始3D目标匹配模型作为3D目标匹配模型,具体为:
从第二帧所述仿真点云开始遍历每一帧所述仿真点云,将当前帧所述仿真点云中各个3D目标框内的所有点云数据和上一帧所述仿真点云中各个3D目标框内的所有点云数据输入所述初始3D目标匹配模型;通过所述点云编码模块,提取当前帧所述仿真点云中各个3D目标框内的所有点云数据的特征,得到当前帧所述仿真点云中各个3D目标框的点云特征向量,以及提取上一帧所述仿真点云中各个3D目标框内的所有点云数据的特征,得到上一帧所述仿真点云中各个3D目标框的点云特征向量;通过所述全局编码模块,根据当前帧所述仿真点云中各个3D目标框的点云特征向量和位置编码,提取当前帧所述仿真点云中各个3D目标框的特征,得到当前帧所述仿真点云中各个3D目标框的位置特征向量,以及根据上一帧所述仿真点云中各个3D目标框的点云特征向量和位置编码,提取上一帧所述仿真点云中各个3D目标框的特征,得到上一帧所述仿真点云中各个3D目标框的位置特征向量;通过特征匹配模块,结合当前帧所述仿真点云中各个3D目标框的位置特征向量和上一帧所述仿真点云中各个3D目标框的位置特征向量,得到匹配分数矩阵,以确定当前帧所述仿真点云中各个3D目标框与上一帧所述仿真点云中各个3D目标框的匹配分数;根据所述匹配分数矩阵得到所述初始3D目标匹配模型的网络损失,以基于所述网络损失反向优化所述初始3D目标匹配模型的模型参数,并在累计优化次数达到预设优化次数阈值时,将训练后的所述初始3D目标匹配模型作为所述3D目标匹配模型;
目标跟踪单元,用于采用卡尔曼滤波器,根据当前帧所述点云中各个3D目标框与下一帧所述点云各个3D目标框的匹配分数矩阵,判断当前帧所述点云中各个3D目标框是否在下一帧所述点云中有匹配的3D目标框;
所述目标跟踪单元,还用于以当前帧所述点云中任一3D目标框作为目标,若所述目标在下一帧所述点云中有匹配的3D目标框时,更新所述目标的累计跟踪成功次数,继续遍历每一帧所述点云;还用于:若所述目标在下一帧所述点云中没有匹配的3D目标框,则更新所述目标的累计跟踪失败次数;当所述目标的累计跟踪失败次数达到第二预设阈值时,从当前帧所述点云中舍弃所述目标;
轨迹生成单元,用于当所述目标的累计跟踪成功次数达到第一预设阈值时,根据预先定义的平滑约束方程对所述目标匹配的所有3D目标框进行平滑约束,生成所述目标的运动轨迹。
CN202310429796.1A 2023-04-21 2023-04-21 一种3d目标跟踪方法及装置 Active CN116168062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310429796.1A CN116168062B (zh) 2023-04-21 2023-04-21 一种3d目标跟踪方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310429796.1A CN116168062B (zh) 2023-04-21 2023-04-21 一种3d目标跟踪方法及装置

Publications (2)

Publication Number Publication Date
CN116168062A CN116168062A (zh) 2023-05-26
CN116168062B true CN116168062B (zh) 2023-09-29

Family

ID=86413408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310429796.1A Active CN116168062B (zh) 2023-04-21 2023-04-21 一种3d目标跟踪方法及装置

Country Status (1)

Country Link
CN (1) CN116168062B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269172B1 (en) * 1998-04-13 2001-07-31 Compaq Computer Corporation Method for tracking the motion of a 3-D figure
WO2007147171A2 (en) * 2006-06-16 2007-12-21 Verificon Corporation Scalable clustered camera system and method for multiple object tracking
CN110443295A (zh) * 2019-07-30 2019-11-12 上海理工大学 改进的图像匹配与误匹配剔除算法
CN110675431A (zh) * 2019-10-08 2020-01-10 中国人民解放军军事科学院国防科技创新研究院 一种融合图像和激光点云的三维多目标跟踪方法
CN111476822A (zh) * 2020-04-08 2020-07-31 浙江大学 一种基于场景流的激光雷达目标检测与运动跟踪方法
CN113468950A (zh) * 2021-05-12 2021-10-01 东风汽车股份有限公司 一种基于深度学习的无人驾驶场景下的多目标跟踪方法
CN114063098A (zh) * 2020-08-05 2022-02-18 北京万集科技股份有限公司 多目标跟踪方法、装置、计算机设备和存储介质
CN114937177A (zh) * 2022-06-06 2022-08-23 阿里巴巴(中国)有限公司 自动打标、检测模型训练及目标识别方法、和电子设备
CN115464659A (zh) * 2022-10-05 2022-12-13 哈尔滨理工大学 一种基于视觉信息的深度强化学习ddpg算法的机械臂抓取控制方法
CN115482255A (zh) * 2022-08-03 2022-12-16 广州文远知行科技有限公司 障碍物追踪方法、装置、设备及存储介质
CN115984586A (zh) * 2022-12-12 2023-04-18 北京易航远智科技有限公司 一种鸟瞰视角下的多目标跟踪方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144761B2 (en) * 2016-04-04 2021-10-12 Xerox Corporation Deep data association for online multi-class multi-object tracking

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269172B1 (en) * 1998-04-13 2001-07-31 Compaq Computer Corporation Method for tracking the motion of a 3-D figure
WO2007147171A2 (en) * 2006-06-16 2007-12-21 Verificon Corporation Scalable clustered camera system and method for multiple object tracking
CN110443295A (zh) * 2019-07-30 2019-11-12 上海理工大学 改进的图像匹配与误匹配剔除算法
CN110675431A (zh) * 2019-10-08 2020-01-10 中国人民解放军军事科学院国防科技创新研究院 一种融合图像和激光点云的三维多目标跟踪方法
CN111476822A (zh) * 2020-04-08 2020-07-31 浙江大学 一种基于场景流的激光雷达目标检测与运动跟踪方法
CN114063098A (zh) * 2020-08-05 2022-02-18 北京万集科技股份有限公司 多目标跟踪方法、装置、计算机设备和存储介质
CN113468950A (zh) * 2021-05-12 2021-10-01 东风汽车股份有限公司 一种基于深度学习的无人驾驶场景下的多目标跟踪方法
CN114937177A (zh) * 2022-06-06 2022-08-23 阿里巴巴(中国)有限公司 自动打标、检测模型训练及目标识别方法、和电子设备
CN115482255A (zh) * 2022-08-03 2022-12-16 广州文远知行科技有限公司 障碍物追踪方法、装置、设备及存储介质
CN115464659A (zh) * 2022-10-05 2022-12-13 哈尔滨理工大学 一种基于视觉信息的深度强化学习ddpg算法的机械臂抓取控制方法
CN115984586A (zh) * 2022-12-12 2023-04-18 北京易航远智科技有限公司 一种鸟瞰视角下的多目标跟踪方法及装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
3D Object Tracking with Transformer;Yubo Cui 等;《arXiv》;1-13 *
FANTrack: 3D Multi-Object Tracking with Feature Association Network;Erkan Baser 等;《arXiv》;1-8 *
Target Tracking and 3D Trajectory Reconstruction Based on Multicamera Calibration;Junfang Song 等;《Journal of Advanced Transportation》;1-8 *
基于Transformer网络的机载雷达多目标跟踪方法;李文娜 等;《雷达学报》;第11卷(第3期);469-478 *
结合卷积 Transformer 的目标跟踪算法;王春雷 等;《计算机工程》;第49卷(第4期);281-288,296 *
结合运动平滑约束与灰度特征的卫星视频点目标跟踪;吴佳奇 等;《测绘学报》;第46卷(第9期);第1135-1146页,第1.3、1.5节 *

Also Published As

Publication number Publication date
CN116168062A (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US10755120B2 (en) End-to-end lightweight method and apparatus for license plate recognition
Sadeghian et al. Sophie: An attentive gan for predicting paths compliant to social and physical constraints
CN109902677B (zh) 一种基于深度学习的车辆检测方法
US10672131B2 (en) Control method, non-transitory computer-readable storage medium, and control apparatus
US10963738B2 (en) Method for processing input on basis of neural network learning and apparatus therefor
US10482609B2 (en) Optical flow determination system
CN112288770A (zh) 基于深度学习的视频实时多目标检测与跟踪方法和装置
CN108805016B (zh) 一种头肩区域检测方法及装置
US10943352B2 (en) Object shape regression using wasserstein distance
CN112464912B (zh) 基于YOLO-RGGNet的机器人端人脸检测方法
CN111354022B (zh) 基于核相关滤波的目标跟踪方法及系统
CN115546519B (zh) 一种提取伪图像特征的图像和毫米波雷达目标的匹配方法
CN111652181B (zh) 目标跟踪方法、装置及电子设备
CN116168062B (zh) 一种3d目标跟踪方法及装置
CN112529917A (zh) 一种三维目标分割方法、装置、设备和存储介质
CN116485796A (zh) 害虫检测方法、装置、电子设备及存储介质
CN115937520A (zh) 基于语义信息引导的点云运动目标分割方法
CN115565146A (zh) 基于自编码器获取鸟瞰图特征的感知模型训练方法及系统
CN116152770B (zh) 一种3d目标匹配模型建立方法及装置
CN115205806A (zh) 生成目标检测模型的方法、装置和自动驾驶车辆
Pratama et al. Application of yolo (you only look once) v. 4 with preprocessing image and network experiment
CN113658218B (zh) 一种双模板密集孪生网络跟踪方法、装置及存储介质
CN115239954B (zh) 一种用于点云全景分割的系统及方法
Krucinski et al. Machine Learning for Missile Streak Detection and Localization
US20240159871A1 (en) Unsupervised object detection from lidar point clouds

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Floor 25, Block A, Zhongzhou Binhai Commercial Center Phase II, No. 9285, Binhe Boulevard, Shangsha Community, Shatou Street, Futian District, Shenzhen, Guangdong 518000

Applicant after: Shenzhen Youjia Innovation Technology Co.,Ltd.

Address before: 518051 401, building 1, Shenzhen new generation industrial park, No. 136, Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong Province

Applicant before: SHENZHEN MINIEYE INNOVATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant