CN113269098B - 一种基于无人机的多目标跟踪定位与运动状态估计方法 - Google Patents
一种基于无人机的多目标跟踪定位与运动状态估计方法 Download PDFInfo
- Publication number
- CN113269098B CN113269098B CN202110581678.3A CN202110581678A CN113269098B CN 113269098 B CN113269098 B CN 113269098B CN 202110581678 A CN202110581678 A CN 202110581678A CN 113269098 B CN113269098 B CN 113269098B
- Authority
- CN
- China
- Prior art keywords
- target
- frame
- track
- coordinate system
- matching
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000001514 detection method Methods 0.000 claims abstract description 165
- 238000001914 filtration Methods 0.000 claims abstract description 45
- 238000004364 calculation method Methods 0.000 claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000000007 visual effect Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 100
- 239000013598 vector Substances 0.000 claims description 70
- 238000005259 measurement Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 230000009466 transformation Effects 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 5
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 claims description 3
- 230000001629 suppression Effects 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 abstract description 4
- 238000013508 migration Methods 0.000 abstract description 4
- 230000005012 migration Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/13—Satellite images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/30241—Trajectory
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Astronomy & Astrophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于无人机的多目标跟踪定位与运动状态估计方法,其具体步骤包括:输入无人机高空视角航拍下的目标观测图像数据,获得目标检测结果;使用卡尔曼滤波预测目标轨迹参数,然后使用匈牙利算法进行级联匹配,对级联匹配结果再进行IoU的匹配,利用卡尔曼滤波更新目标轨迹的状态,对每个匹配成功的轨迹,用其对应的检测结果进行更新,并处理未匹配轨迹和未匹配检测结果,将该方法移植入ROS环境中,将无人机摄像头拍摄的二维图像上的像素坐标转化到真实世界的空间坐标,并计算目标运动的速度。本发明方法在高空无人机运行过程中完成了对多目标跟踪定位算法的迁移适配,实现了对多目标运动状态的精确计算。
Description
技术领域
本发明涉及目标定位与跟踪领域,尤其涉及一种基于无人机的多目标跟踪定位与运动状态估计方法。
背景技术
目前,多目标跟踪技术(MOT)是自动驾驶、智慧交通、智慧安防等应用场景中的关键共性技术,其目的是将场景中检测到的物体框在时序上关联形成轨迹,并用于物体实时位置的跟踪。MOT的研究难点主要在于相似背景、光照条件变化、遮挡等外界因素干扰,和目标姿态变化、尺度变化、进出视野、运动模糊等自身因素影响下的多目标跟踪。
目前常用的MOT方法主要分为生成式模型方法和判别式模型方法两类。生成式模型方法是通过在线学习方式建立目标模型,然后使用模型搜索重建误差最小的图像区域,完成目标定位,该方法包括卡尔曼滤波,粒子滤波,mean-shift等。但是这一类方法没有考虑目标的背景信息,图像信息没有得到较好的利用,并且该类算法计算代价大耗时长,准确率差。判别式模型方法,又称检测跟踪算法(tracking-by-detection),其将目标跟踪看作是一个二元分类问题,同时提取目标和背景信息用来训练分类器,将目标从图像序列背景中分离出来,从而得到当前帧的目标位置。判别式模型方法与生成类方法最大的区别是,其分类器采用机器学习,训练中用到了背景信息,这样分类器就能专注区分前景和背景,所以判别类方法普遍都比生成类好,也是目前主流的跟踪方法。但是,当前的研究主要是集中在视频监控等纯计算机视觉领域,并且大多研究仅针对低视角下的多目标跟踪与速度计算,其应用大多仅面向监控/车载摄像头和低空视角,很少有工作在高空无人机航拍视角下,并结合机器人操作系统(ROS)来进行迁移适配和开发利用。此外,ROS提供的多种传感器数据(如:GNSS、IMU等)可以与跟踪结果进行深度融合,从而实现对目标运动状态更精确的计算。
发明内容
针对机器人操作系统(ROS)和无人机高空视角航拍下的场景下同时准确地对多目标进行识别、定位、跟踪和状态估计的问题,本发明提出了基于DeepSORT算法的改进型目标跟踪定位和状态计算方法,并将其在ROS系统下进行迁移和适配,使其能在无人机平台上有效运行。
本发明针对遮挡情形造成的ID Switch问题,通过使用准确率更高的ReID模型解决了该问题;为提高跟踪精度,使用了YOLOv4组件,并使用Darknet进行针对性的模型训练;将识别、跟踪、定位和状态计算算法移植到ROS环境下,提出了基于无人机的多目标跟踪定位与运动状态估计方法。
本发明公开了一种基于无人机的多目标跟踪定位与运动状态估计方法,其具体步骤包括:
S1,获取无人机高空视角航拍下的目标观测图像数据,使用目标检测模块,检测当前帧图像中的目标包围框,将检测到的目标包围框转换成目标检测结果,获得目标检测结果,包括检测框,目标类别,置信度信息;
步骤S1具体包括,
S11,初始化目标检测结果的各参数,去掉检测置信度小于0.7的检测结果;
S12,使用非极大值抑制算法(NMS),去除具有重叠检测框的检测结果;
S2,使用卡尔曼滤波预测前一帧图像中的目标轨迹在当前帧的参数,对于每个目标轨迹,计算其多次卡尔曼滤波预测得到的平均轨道位置和实际检测框之间的马氏距离代价矩阵,然后使用匈牙利算法,将卡尔曼滤波预测得到的轨迹和当前帧的实际检测框进行级联匹配。使用N个卡尔曼滤波器来对相应的N个目标运动轨迹进行卡尔曼滤波预测。
卡尔曼滤波需要预测的目标轨迹参数包括:
均值(Mean),表示目标的位置信息,包括由实际检测框的中心坐标(cx,cy),宽高比r,高h,以及各自的速度变化值组成,目标的位置信息表示为8维向量x=[cx,cy,r,h,vx,vy,vr,vh],vx和vy分别表示目标在x轴和y轴上的速度值,vr和vh分别表示目标速度在图像宽度和图像高度方向上的分量值,各个速度值初始化为0。
协方差,表示目标位置信息的不确定程度,用8×8的对角矩阵来表示。
卡尔曼滤波分首先预测目标轨迹在下一时刻的位置,再基于目标检测结果来更新预测的位置,所述的预测,是指当目标经过移动后,通过上一帧图像的目标框和速度等参数,预测出当前帧的目标框位置和速度等参数。卡尔曼滤波算法的计算过程表示为:
x′=Fx,
P′=FPFT+Q,
式中,x为track在t-1时刻的均值,F称为状态转移矩阵,P为轨迹在t-1时刻的协方差,Q为系统的噪声矩阵,代表整个系统的可靠程度,一般初始化为很小的值,该公式预测t时刻的P′。所述的更新,是对预测值和观测值进行更新,对两个正态分布的状态进行线性加权,得到目前系统预测的状态。
卡尔曼滤波的主要过程为:卡尔曼滤波首先根据当前帧的状态进行预测,预测得到下一帧图像的状态;得到测量结果,在Deep SORT中对应的测量就是Detection,即目标检测器提供的实际检测框;将预测结果和测量结果进行更新。
步骤S2具体包括:
S21,对于每个目标轨迹,计算其多次卡尔曼滤波预测得到的平均轨道位置和实际检测框之间的马氏距离代价矩阵,进行目标运动信息的关联;马氏距离代价矩阵中的第i行、第j列元素表示第i个跟踪器的预测框与第j个实际检测框的马氏距离,称为马氏距离度量,其计算公式为:
其中,dj表示第j个实际检测框的位置,j=1,2,…,N,yi表示第i个跟踪器的预测框位置,i=1,2,…,N,第i个跟踪器用来对第i个目标运动轨迹进行跟踪,Si则表示实际检测框的位置与第i个目标的平均轨道位置之间的协方差矩阵。若某一次关联的马氏距离小于指定的马氏距离阈值t(1),则设置运动状态关联成功,其用公式表示为:
S22,计算每个目标对应的跟踪器的跟踪框的最近100个成功关联的特征集与当前帧的每个实际检测框对应的检测结果的特征向量间的最小余弦距离,进行目标外观信息的关联;
对每一个实际检测框,计算其对应的特征向量,第j个实际检测框对应的特征向量为rj,||rj||=1,j=1,2,…,N,通过ReID人工神经网络计算得到实际检测框对应的特征向量,ReID人工神经网络是独立于目标检测和跟踪器的模块,其用于提取目标包围框中的目标特征,利用ReID人工神经网络得到一个固定维度的特征向量,表示该目标的包围框,供计算相似度时使用。对每一个跟踪目标构建一个存储空间,用于存储与该跟踪目标成功关联的最近100帧图像的特征向量,对于第i个目标对应的跟踪器的跟踪框的最近100个成功关联的特征向量集中的特征向量与当前帧第j个检测框对应的检测结果的特征向量间的最小余弦距离d(2)(i,j),其计算公式为:
如果第i个目标对应的跟踪器的跟踪框的最近100个成功关联的特征向量集中的特征向量与当前帧第j个检测框对应的检测结果的特征向量间的最小余弦距离d(2)(i,j)小于指定的阈值,则进行目标外观信息的关联,该过程表示为:
其中,表示目标外观信息的关联状态,其取值为1表示关联成功,其取值为0表示关联失败,上述阈值t(2)是从单独的训练集中得到的;根据每个目标对应的跟踪器的最近100个成功关联的特征集与当前帧的每个检测框对应的检测结果的特征向量间的最小余弦距离构建余弦距离代价矩阵,d(2)(i,j)为余弦距离代价矩阵的第i行、第j列的元素;
计算每个目标对应的跟踪器的最近100个成功关联的特征集与当前帧的每个检测框对应的检测结果的特征向量间的最小余弦距离,判断该最小余弦距离是否小于指定的阈值,如果该最小余弦距离小于指定的阈值,则进行目标外观信息的关联;
S23,将马氏距离代价矩阵中大于马氏距离阈值的元素取值设置为某大于200的极大数值,以便于后续删除,将马氏距离代价矩阵中的不可行目标轨迹设置为无效。将余弦距离代价矩阵中跟踪框和检测框间的余弦距离超过阈值max_distance的对应元素设置为固定值max_distance+1e-5,以消除差异,忽略成本大于此固定值的关联。最后将马氏距离和余弦距离进行融合,使用上述两种距离线性加权作为最终的度量值,对于第i个跟踪器与第j个检测框的最终度量值ci,j,其计算公式为:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j),
其中,λ为最终度量值的加权系数。
只有当马氏距离和余弦距离都满足各自阈值条件的时候,再进行上述融合。马氏距离度量对短期的预测和匹配效果很好,但对于长时间遮挡的情况,使用外观特征的余弦距离度量效果更好。对于存在相机运动的情况,设置λ=0,此时马氏距离的阈值仍然生效,如果不满足马氏距离度量的标准,就不能进入ci,j的融合阶段。
S24,以余弦距离代价矩阵和马氏距离代价矩阵为输入,使用匈牙利算法将预测得到的轨迹和当前帧的实际检测框进行级联匹配,并返回卡尔曼滤波预测得到的轨迹和当前帧的检测框的匹配结果;
匈牙利算法通过计算得到前后两帧的相似度矩阵,再利用级联匹配,获得前后两帧图像中匹配的目标。级联匹配用于完成不同优先级的匹配,针对每一个检测器都分配一个跟踪器,每个跟踪器会设定一个time_since_update参数。如果跟踪器完成匹配并进行更新,那么time_since_update参数会重置为0,否则就会加1。在级联匹配中,根据time_since_update参数来对跟踪器的匹配设定先后顺序,time_since_update参数越小的跟踪器越优先进行匹配,time_since_update参数越大的跟踪器越后进行匹配,即对上一帧最先匹配的跟踪器设定最高的匹配优先权,对近几帧图像都未匹配上的跟踪器降低其匹配优先权。
S25,对步骤S24得到的匹配结果进行筛选,删除与检测框的余弦距离大于筛选阈值的跟踪框;
S26,设置检测帧数Amax=30,循环进行步骤S21至步骤S25,得到初步的匹配结果、未匹配轨迹和未匹配检测;
S3,将所有状态为未确认态的轨迹和级联匹配中没有匹配上的轨迹组合为匹配对,进行IoU的匹配,得到再次处理的匹配结果、未匹配轨迹和未匹配检测,其具体包括:
S31,将步骤S2之后,所有状态为未确定态的目标轨迹和级联匹配中没有匹配上的轨迹组合为匹配对,计算二者之间的IoU距离;
S32,将IoU距离大于0.7的匹配对进行标记,便于后续删除;
S33,构建基于IoU的代价矩阵,将基于IoU的代价矩阵作为输入,使用匈牙利算法,对目标轨迹和检测结果进行匹配,返回匹配结果;
S34,对匹配结果进行筛选,删除IoU距离小于其预设阈值的匹配对的目标轨迹,得到再次处理的匹配结果、未匹配轨迹和未匹配的检测结果;
S4,利用卡尔曼滤波更新目标轨迹的状态,并对目标轨迹进行后续处理,对每个匹配成功的轨迹,用其对应的检测结果进行更新,并处理未匹配轨迹和未匹配检测结果,其具体包括:
S41,更新卡尔曼滤波对轨迹预测的均值和协方差;
基于每个时刻卡尔曼滤波得到的检测结果,校正与其关联的目标轨迹的状态,从而提高目标轨迹的跟踪精度,其具体步骤包括:
y0=z0-Hx′,
S=HP′HT+R0,
K=P′HTS-1,
x″=x′+Ky0,
P=(I-KH)P′,
其中,z0为检测框的均值向量,其不包含速度变化值,即z0=[cx,cy,r,h],H为测量矩阵,P′为更新前的协方差矩阵,将所跟踪得到的目标位置信息均值向量x′映射到检测空间,计算检测框和跟踪框的均值误差向量,y为检测框和跟踪框的均值误差向量,R0为检测器的噪声矩阵,其为一个4x4的对角矩阵,对角线上的四个元素值分别为中心点在宽和高两个方向的坐标值以及相应的坐标值噪声,对R0以任意值进行初始化,初始化时设置其坐标值噪声小于中心点的坐标值,先将更新前的协方差矩阵P′映射到检测空间,然后再加上检测器的噪声矩阵R0,K为卡尔曼增益矩阵,是作用于衡量估计误差的权重量,x″为更新后的目标位置信息均值向量,P为更新后的协方差矩阵,S为卡尔曼滤波的状态变量矩阵。
S42,判断当前目标轨迹的状态是否为确认状态;
对于没有匹配成功的目标都认为可能产生新的轨迹,但由于这些检测结果可能是一些错误警告,所以对于没有匹配成功的目标而新生成的目标轨迹,标注其状态为未确认状态,观察在接下来的连续3帧图像中,该目标轨迹是否连续匹配成功,如果连续匹配成功,则确认该目标轨迹为新产生的目标轨迹,将其标注为确认状态,否则确认该轨迹是假性轨迹,将该轨迹标注为删除状态。
S43,将处于删除状态和未匹配帧数超过Amax的目标轨迹进行删除;
S44,对未匹配的检测分配新的轨迹ID;
S45,使用新的ID和轨迹特征来更新目标位置信息均值向量和卡尔曼滤波的状态变量矩阵,便于下一帧的计算;
S5,将该方法移植入ROS环境中,通过获取无人机摄像头内参以及无人机实时的GNSS坐标,将无人机摄像头拍摄的二维图像上的像素坐标转化到真实世界的空间坐标,并计算目标运动的速度,从而在无人机平台上实现对目标的定位和跟踪,对于一个像素点,从二维坐标系下的坐标转换到世界三维坐标系下的坐标,包括像素坐标系到世界坐标系的转换,以及世界坐标系到WGS84坐标系的转换,其具体包括:
S51,将图像上的像素点,由其在二维坐标系下的坐标转换到世界三维坐标系下的坐标;
对于一个像素点,从其在世界三维坐标系下的坐标转换为二维坐标系下的像素坐标,其转换过程公式表达为:
对上述的转换过程公式进行取逆运算,即得到一个像素点从像素坐标到世界坐标的转化;其中,Zc表示待转换的像素点在相机坐标系下的坐标,[XW,YW,ZW]分别表示所述像素点在世界坐标系下的x轴、y轴和z轴的坐标,[u,v]分别表示所述像素点在像素坐标系下宽和高方向的坐标基本单位,[u0,v0]分别为图像中心点在像素坐标系下宽和高方向的坐标值,图像坐标系的原点为图像中心点,f为相机焦距,图1中,[Xc,Yc,Zc]分别表示相机坐标系下x轴、y轴和z轴的基本单位,相机坐标系的原点为光心,R为旋转矩阵,T为变换矩阵,fx和fy分别表示相机在相机坐标系的x轴和y轴方向上的焦距,dx和dy分别表示相机拍摄图像的行向和列向的每个像素所对应的实际物理长度;其中,由相机内参直接得到,旋转矩阵R和变换矩阵T由相机的外参得到,旋转矩阵R和变换矩阵T是利用无人机飞行控制器的PX4固件提供的无人机位姿的四元数,经过计算得到的矩阵。相机内参和相机外参数均是从无人机飞行控制器的PX4固件中获得。
S52,将上述像素点在世界坐标系下的坐标转换到WGS84坐标系下的坐标;
上述像素点在世界坐标系下的坐标数值等于其在载机地理坐标系下的坐标,载机地理坐标系到WGS84坐标系的转换过程为,
载机地理坐标系向ECEF坐标系变换公式为:
其中,[Xs,Ys,Zs]分别为上述像素点在载机地理坐标系下的X轴、Y轴和Z轴的坐标,[Xg,Yg,Zg]分别为上述像素点在ECEF坐标系下的X轴、Y轴和Z轴的坐标,(L0,B0,H0)分别为无人机在WGS84坐标系下的精度、维度和高度信息,其从无人机飞行控制器的PX4固件中获得;
ECEF坐标系向WGS84坐标系变换公式为:
其中,[L,B,H1]为上述像素点在在WGS84坐标系下的经度值、纬度值和高度值,e0为地球曲率值,H2是无人机所在点的海拔高度,N1是大地水准面高度;
S53,根据目标定位信息计算目标物体的速度信息,通过分别计算出X,Y,Z方向上的相邻两帧图像中目标的位移差以及相邻两帧的时间差,得到目标在各个方向上的速度,t时刻目标速度的计算公式为:
vx=(Xt-Xt-1)/T,
vy=(Yt-Yt-1)/T,
vz=(Zt-Zt-1)/T,
其中,[Xt-1,Yt-1,Zt-1]和[Xt,Yt,Zt]分别表示t-1时刻和t时刻估计得到的目标定位信息,T为t-1时刻和t时刻之间的时间差值。
本发明的有益效果为:本发明面向高空无人机实时航拍视角的场景,使用YOLOv4算法首先训练出一个鲁棒的无人机视角场景的检测模型,针对遮挡的场景,出现ID Switch问题,更换ReID模型提升遮挡情况下跟踪的准确率,此外将算法移植到ROS操作系统中,在高空无人机运行过程中实现了对多目标跟踪定位算法的迁移适配,并通过与无人机的GNSS信息的融合,实现了对多目标运动状态的精确计算。
附图说明
图1为本发明的跟踪流程图;
图2为图像中的一个像素点从像素坐标到世界坐标系的转换过程示意图;
图3为本发明在夜晚场景下的识别跟踪和状态计算效果图;
图4为本发明在高空场景下的识别跟踪和状态计算效果图;
图5为本发明的基于ROS的跟踪和计数仿真系统框图。
具体实施方式
为了更好的了解本发明内容,这里给出一个实施例。
图1为本发明的跟踪流程图,本发明公开了一种基于无人机的多目标跟踪定位与运动状态估计方法,其具体步骤包括:
S1,获取无人机高空视角航拍下的目标观测图像数据,使用YOLOv4作为检测器,检测当前帧中的目标包围框bbox,将检测到的目标包围框bbox转换成目标检测结果,获得目标检测结果,包括检测框,目标类别,置信度等信息。在无人机场景下,目标检测算法使无人机可以快速地检测出地面上的车辆和行人,从而作出实时决策。
步骤S1具体包括,
S11,初始化目标检测结果的各参数,去掉检测置信度小于0.7的检测结果;
S12,使用非极大值抑制算法(NMS),去除具有重叠检测框的检测结果;
S2,使用卡尔曼滤波预测前一帧图像中的目标轨迹在当前帧的参数,对于每个目标轨迹,计算其多次卡尔曼滤波预测得到的平均轨道位置和实际检测框之间的马氏距离代价矩阵,然后使用匈牙利算法,将卡尔曼滤波预测得到的轨迹和当前帧的实际检测框进行级联匹配。使用N个卡尔曼滤波器来对相应的N个目标运动轨迹进行卡尔曼滤波预测。
卡尔曼滤波需要预测的目标轨迹参数包括:
均值(Mean),表示目标的位置信息,包括由实际检测框的中心坐标(cx,cy),宽高比r,高h,以及各自的速度变化值组成,目标的位置信息表示为8维向量x=[cx,cy,r,h,vx,vy,vr,vh],vx和vy分别表示目标在x轴和y轴上的速度值,vr和vh分别表示目标速度在图像宽度和图像高度方向上的分量值,各个速度值初始化为0。
协方差,表示目标位置信息的不确定程度,用8×8的对角矩阵来表示,矩阵对应的值越大,代表不确定程度越高。
卡尔曼滤波分首先预测目标轨迹在下一时刻的位置,再基于目标检测结果来更新预测的位置,所述的预测,是指当目标经过移动后,通过上一帧图像的目标框和速度等参数,预测出当前帧的目标框位置和速度等参数。卡尔曼滤波算法的计算过程表示为:
x′=Fx,
P′=FPFT+Q,
式中,x为track在t-1时刻的均值,F称为状态转移矩阵,P为轨迹在t-1时刻的协方差,Q为系统的噪声矩阵,代表整个系统的可靠程度,一般初始化为很小的值,该公式预测t时刻的P′。所述的更新,是对预测值和观测值进行更新,对两个正态分布的状态进行线性加权,得到目前系统预测的状态。
卡尔曼滤波的主要过程为:卡尔曼滤波首先根据当前帧的状态进行预测,预测得到下一帧图像的状态;得到测量结果,在Deep SORT中对应的测量就是Detection,即目标检测器提供的实际检测框;将预测结果和测量结果进行更新。
步骤S2具体包括:
S21:对于每个目标轨迹,计算其多次卡尔曼滤波预测得到的平均轨道位置和实际检测框之间的马氏距离代价矩阵,进行目标运动信息的关联;马氏距离代价矩阵中的第i行、第j列元素表示第i个跟踪器的预测框与第j个实际检测框的马氏距离,称为马氏距离度量,其计算公式为:
其中,dj表示第j个实际检测框的位置,j=1,2,…,N,yi表示第i个跟踪器的预测框位置,i=1,2,…,N,第i个跟踪器用来对第i个目标运动轨迹进行跟踪,Si则表示实际检测框的位置与第i个目标的平均轨道位置之间的协方差矩阵。马氏距离通过计算检测位置与平均预测位置之间的标准差将状态测量的不确定性进行了考虑,并且通过逆×2分布计算得来的95%置信区间对马氏距离进行阈值化处理。若某一次关联的马氏距离小于指定的马氏距离阈值t(1),则设置运动状态关联成功,其用公式表示为:
S22,计算每个目标对应的跟踪器的跟踪框的最近100个成功关联的特征集与当前帧的每个实际检测框对应的检测结果的特征向量间的最小余弦距离,进行目标外观信息的关联;
当目标运动的不确定性很低的时候,上述的马氏距离匹配是一个合适的关联度量方法,但是在图像空间中使用卡尔曼滤波进行运动状态估计只是一个比较粗糙的预测,特别是相机存在运动时会在图像平面中引入快速位移,从而使得遮挡情况下马氏距离度量非常不准确,使得关联方法失效,造成ID switch的现象。
为克服ID switch现象,引入了第二种关联方法,对每一个实际检测框,计算其对应的特征向量,第j个实际检测框对应的特征向量为rj,||rj||=1,j=1,2,…,N,通过ReID人工神经网络计算得到实际检测框对应的特征向量,ReID人工神经网络是独立于目标检测和跟踪器的模块,其用于提取目标包围框bbox中的目标特征,利用ReID人工神经网络得到一个固定维度的特征向量,表示该目标的包围框bbox,供计算相似度时使用。对每一个跟踪目标构建一个存储空间gallary,用于存储与该跟踪目标成功关联的最近100帧图像的特征向量,对于第i个目标对应的跟踪器的跟踪框的最近100个成功关联的特征向量集中的特征向量与当前帧第j个检测框对应的检测结果的特征向量间的最小余弦距离d(2)(i,j),其计算公式为:
如果第i个目标对应的跟踪器的跟踪框的最近100个成功关联的特征向量集中的特征向量与当前帧第j个检测框对应的检测结果的特征向量间的最小余弦距离d(2)(i,j)小于指定的阈值,则进行目标外观信息的关联,该过程表示为:
其中,表示目标外观信息的关联状态,其取值为1表示关联成功,其取值为0表示关联失败,上述阈值t(2)是从单独的训练集中得到的;根据每个目标对应的跟踪器的最近100个成功关联的特征集与当前帧的每个检测框对应的检测结果的特征向量间的最小余弦距离构建余弦距离代价矩阵,d(2)(i,j)为余弦距离代价矩阵的第i行、第j列的元素;
计算每个目标对应的跟踪器的最近100个成功关联的特征集与当前帧的每个检测框对应的检测结果的特征向量间的最小余弦距离,判断该最小余弦距离是否小于指定的阈值,如果该最小余弦距离小于指定的阈值,则进行目标外观信息的关联;
S23,将马氏距离代价矩阵中大于马氏距离阈值的元素取值设置为某大于200的极大数值,以便于后续删除,将马氏距离代价矩阵中的不可行目标轨迹设置为无效。将余弦距离代价矩阵中跟踪框和检测框间的余弦距离超过阈值max_distance的对应元素设置为固定值max_distance+1e-5,以消除差异,忽略成本大于此固定值的关联。最后将马氏距离和余弦距离进行融合,使用上述两种距离线性加权作为最终的度量值,对于第i个跟踪器与第j个检测框的最终度量值ci,j,其计算公式为:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j),
其中,λ为最终度量值的加权系数。
只有当马氏距离和余弦距离都满足各自阈值条件的时候,再进行上述融合。马氏距离度量对短期的预测和匹配效果很好,但对于长时间遮挡的情况,使用外观特征的余弦距离度量效果更好。对于存在相机运动的情况,设置λ=0,此时马氏距离的阈值仍然生效,如果不满足马氏距离度量的标准,就不能进入ci,j的融合阶段。
仅当关联在两个度量的选通区域内,称其为可接受,实际上在具体实现的过程中,是以外观距离为主,运动距离只是作为门限矩阵进行进一步过滤代价矩阵。
其中,m为关联状态序号。
S24,以余弦距离代价矩阵和马氏距离代价矩阵为输入,使用匈牙利算法将预测得到的轨迹和当前帧的实际检测框进行级联匹配,并返回卡尔曼滤波预测得到的轨迹和当前帧的检测框的匹配结果;
匈牙利算法解决的是一个分配问题,通过计算得到前后两帧的相似度矩阵,再利用级联匹配,获得前后两帧图像中匹配的目标。级联匹配用于完成不同优先级的匹配,针对每一个检测器都分配一个跟踪器,每个跟踪器会设定一个time_since_update参数。如果跟踪器完成匹配并进行更新,那么time_since_update参数会重置为0,否则就会加1。在级联匹配中,根据time_since_update参数来对跟踪器的匹配设定先后顺序,time_since_update参数越小的跟踪器越优先进行匹配,time_since_update参数越大的跟踪器越后进行匹配,即对上一帧最先匹配的跟踪器设定最高的匹配优先权,对近几帧图像都未匹配上的跟踪器降低其匹配优先权。
S25,对步骤S24得到的匹配结果进行筛选,删除与检测框的余弦距离大于筛选阈值的跟踪框;
S26,设置检测帧数Amax=30,循环进行步骤S21至步骤S25,得到初步的匹配结果、未匹配轨迹和未匹配检测;
S3,将所有状态为未确认态的轨迹和级联匹配中没有匹配上的轨迹组合为匹配对,进行IoU的匹配,得到再次处理的匹配结果、未匹配轨迹和未匹配检测,其具体包括:
S31,将步骤S2之后,所有状态为未确定态的目标轨迹和级联匹配中没有匹配上的轨迹组合为匹配对,计算二者之间的IoU距离;
S32,将IoU距离大于0.7的匹配对进行标记,便于后续删除;
S33,构建基于IoU的代价矩阵,将基于IoU的代价矩阵作为输入,使用匈牙利算法,对目标轨迹和检测结果进行匹配,返回匹配结果;
S34,对匹配结果进行筛选,删除IoU距离小于其预设阈值的匹配对的目标轨迹,得到再次处理的匹配结果、未匹配轨迹和未匹配的检测结果;
S4,利用卡尔曼滤波更新目标轨迹的状态,并对目标轨迹进行后续处理,对每个匹配成功的轨迹,用其对应的检测结果进行更新,并处理未匹配轨迹和未匹配检测结果,其具体包括:
S41,更新卡尔曼滤波对轨迹预测的均值和协方差;
基于每个时刻卡尔曼滤波得到的检测结果,校正与其关联的目标轨迹的状态,从而提高目标轨迹的跟踪精度,其具体步骤包括:
y0=z0-Hx′,
S=HP′HT+R0,
K=P′HTS-1,
x″=x′+Ky0,
P=(I-KH)P′,
其中,z0为检测框的均值向量,其不包含速度变化值,即z0=[cx,cy,r,h],H为测量矩阵,P′为更新前的协方差矩阵,将所跟踪得到的目标位置信息均值向量x′映射到检测空间,计算检测框和跟踪框的均值误差向量,y为检测框和跟踪框的均值误差向量,R0为检测器的噪声矩阵,其为一个4x4的对角矩阵,对角线上的四个元素值分别为中心点在宽和高两个方向的坐标值以及相应的坐标值噪声,对R0以任意值进行初始化,初始化时设置其坐标值噪声小于中心点的坐标值,先将更新前的协方差矩阵P′映射到检测空间,然后再加上检测器的噪声矩阵R0,K为卡尔曼增益矩阵,是作用于衡量估计误差的权重量,x″为更新后的目标位置信息均值向量,P为更新后的协方差矩阵,S为卡尔曼滤波的状态变量矩阵。
S42,判断当前目标轨迹的状态是否为确认状态;
对于没有匹配成功的目标都认为可能产生新的轨迹,但由于这些检测结果可能是一些错误警告,所以对于没有匹配成功的目标而新生成的目标轨迹,标注其状态为未确认状态,观察在接下来的连续3帧图像中,该目标轨迹是否连续匹配成功,如果连续匹配成功,则确认该目标轨迹为新产生的目标轨迹,将其标注为确认状态,否则确认该轨迹是假性轨迹,将该轨迹标注为删除状态。
S43,将处于删除状态和未匹配帧数超过Amax的目标轨迹进行删除;
S44,对未匹配的检测分配新的轨迹ID;
S45,使用新的ID和轨迹特征来更新目标位置信息均值向量和卡尔曼滤波的状态变量矩阵,便于下一帧的计算;
S5,将该方法移植入ROS环境中,通过获取无人机摄像头内参以及无人机实时的GNSS坐标,将无人机摄像头拍摄的二维图像上的像素坐标转化到真实世界的空间坐标,并计算目标运动的速度,从而在无人机平台上实现对目标的定位和跟踪,对于一个像素点,从二维坐标系下的坐标转换到世界三维坐标系下的坐标,包括像素坐标系到世界坐标系的转换,以及世界坐标系到WGS84坐标系的转换,其具体包括:
S51,将图像上的像素点,由其在二维坐标系下的坐标转换到世界三维坐标系下的坐标;
从二维坐标系下的坐标转换到世界三维坐标系下的坐标,包含几个坐标系之间的转换:像素坐标系、图像坐标系、相机坐标系、世界坐标系,地心地固坐标系、WGS84坐标系,如图2所示,图2为图像中的一个像素点从像素坐标到世界坐标系的转换过程示意图;
对于一个像素点,从其在世界三维坐标系下的坐标转换为二维坐标系下的像素坐标,其转换过程公式表达为:
对上述的转换过程公式进行取逆运算,即得到一个像素点从像素坐标到世界坐标的转化;其中,Zc表示待转换的像素点在相机坐标系下的坐标,[XW,YW,ZW]分别表示所述像素点在世界坐标系下的x轴、y轴和z轴的坐标,[u,v]分别表示所述像素点在像素坐标系下宽和高方向的坐标基本单位,[u0,v0]分别为图像中心点在像素坐标系下宽和高方向的坐标值,图像坐标系的原点为图像中心点,f为相机焦距,图1中,[Xc,Yc,Zc]分别表示相机坐标系下x轴、y轴和z轴的基本单位,相机坐标系的原点为光心,R为旋转矩阵,T为变换矩阵,fx和fy分别表示相机在相机坐标系的x轴和y轴方向上的焦距,dx和dy分别表示相机拍摄图像的行向和列向的每个像素所对应的实际物理长度,其单位为毫米;其中,由相机内参直接得到,旋转矩阵R和变换矩阵T由相机的外参得到,旋转矩阵R和变换矩阵T是利用无人机飞行控制器的PX4固件提供的无人机位姿的四元数,经过计算得到的矩阵。相机内参和相机外参数均是从无人机飞行控制器的PX4固件中获得。
S52,将上述像素点在世界坐标系下的坐标转换到WGS84坐标系下的坐标;
上述像素点在世界坐标系下的坐标数值等于其在载机地理坐标系下的坐标,载机地理坐标系到WGS84坐标系的转换过程为,
载机地理坐标系向ECEF坐标系变换公式为:
其中,[Xs,Ys,Zs]分别为上述像素点在载机地理坐标系下的X轴、Y轴和Z轴的坐标,[Xg,Yg,Zg]分别为上述像素点在ECEF坐标系下的X轴、Y轴和Z轴的坐标,(L0,B0,H0)分别为无人机在WGS84坐标系下的精度、维度和高度信息,其从无人机飞行控制器的PX4固件中获得;
ECEF坐标系向WGS84坐标系变换公式为:
其中,[L,B,H1]为上述像素点在在WGS84坐标系下的经度值、纬度值和高度值,e0为地球曲率值,H2是无人机所在点的海拔高度,N1是大地水准面高度;
S53,根据目标定位信息计算目标物体的速度信息,通过分别计算出X,Y,Z方向上的相邻两帧图像中目标的位移差以及相邻两帧的时间差,得到目标在各个方向上的速度,t时刻目标速度的计算公式为:
vx=(Xt-Xt-1)/T,
vy=(Yt-Yt-1)/T,
vz=(Zt-Zt-1)/T,
其中,[Xt-1,Yt-1,Zt-1]和[Xt,Yt,Zt]分别表示t-1时刻和t时刻估计得到的目标定位信息,T为t-1时刻和t时刻之间的时间差值。
图3为本发明在夜晚场景下的识别跟踪和状态计算效果图;
图4为本发明在高空场景下的识别跟踪和状态计算效果图;
图5为本发明的基于ROS的跟踪和计数仿真系统框图。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (6)
1.一种基于无人机的多目标跟踪定位与运动状态估计方法,其特征在于,其具体步骤包括:
S1,获取无人机高空视角航拍下的目标观测图像数据,使用YOLOv4作为检测器,检测当前帧图像中的目标包围框,将检测到的目标包围框转换成目标检测结果,获得目标检测结果,包括检测框,目标类别,置信度信息;
S2,使用卡尔曼滤波预测前一帧图像中的目标轨迹在当前帧的参数,对于每个目标轨迹,计算其多次卡尔曼滤波预测得到的平均轨道位置和实际检测框之间的马氏距离代价矩阵,然后使用匈牙利算法,将卡尔曼滤波预测得到的轨迹和当前帧的实际检测框进行级联匹配;使用N个卡尔曼滤波器来对相应的N个目标运动轨迹进行卡尔曼滤波预测;
卡尔曼滤波需要预测的目标轨迹参数包括:
均值Mean,表示目标的位置信息,包括由实际检测框的中心坐标(cx,cy),宽高比r,高h,以及各自的速度变化值组成,目标的位置信息表示为8维向量x=[cx,cy,r,h,vx,vy,vr,vh],vx和vy分别表示目标在x轴和y轴上的速度值,vr和vh分别表示目标速度在图像宽度和图像高度方向上的分量值,各个速度值初始化为0;协方差,表示目标位置信息的不确定程度;
S3,将所有状态为未确认态的轨迹和级联匹配中没有匹配上的轨迹组合为匹配对,进行IoU的匹配,得到再次处理的匹配结果、未匹配轨迹和未匹配检测,其具体包括:
S31,将步骤S2之后,所有状态为未确定态的目标轨迹和级联匹配中没有匹配上的轨迹组合为匹配对,计算二者之间的IoU距离;
S32,将IoU距离大于0.7的匹配对进行标记,便于后续删除;
S33,构建基于IoU的代价矩阵,将基于IoU的代价矩阵作为输入,使用匈牙利算法,对目标轨迹和检测结果进行匹配,返回匹配结果;
S34,对匹配结果进行筛选,删除IoU距离小于其预设阈值的匹配对的目标轨迹,得到再次处理的匹配结果、未匹配轨迹和未匹配的检测结果;
S4,利用卡尔曼滤波更新目标轨迹的状态,并对目标轨迹进行后续处理,对每个匹配成功的轨迹,用其对应的检测结果进行更新,并处理未匹配轨迹和未匹配检测结果,其具体包括:
S41,更新卡尔曼滤波对轨迹预测的均值和协方差;
基于每个时刻卡尔曼滤波得到的检测结果,校正与其关联的目标轨迹的状态,从而提高目标轨迹的跟踪精度,其具体步骤包括:
y0=z0-Hx′,
S=HP′HT+R0,
K=P′HTS-1,
x″=x′+Ky0,
P=(I-KH)P′,
其中,z0为检测框的均值向量,其不包含速度变化值,即z0=[cx,cy,r,h],H为测量矩阵,P′为更新前的协方差矩阵,将所跟踪得到的目标位置信息均值向量x′映射到检测空间,计算检测框和跟踪框的均值误差向量,y为检测框和跟踪框的均值误差向量,R0为检测器的噪声矩阵,对角线上的四个元素值分别为中心点在宽和高两个方向的坐标值以及相应的坐标值噪声,先将更新前的协方差矩阵P′映射到检测空间,然后再加上检测器的噪声矩阵R0,K为卡尔曼增益矩阵,是作用于衡量估计误差的权重量,x″为更新后的目标位置信息均值向量,P为更新后的协方差矩阵,S为卡尔曼滤波的状态变量矩阵;
S42,判断当前目标轨迹的状态是否为确认状态;
对于没有匹配成功的目标而新生成的目标轨迹,标注其状态为未确认状态,观察在接下来的连续3帧图像中,该目标轨迹是否连续匹配成功,如果连续匹配成功,则确认该目标轨迹为新产生的目标轨迹,将其标注为确认状态,否则确认该轨迹是假性轨迹,将该轨迹标注为删除状态;
S43,将处于删除状态和未匹配帧数超过检测帧数Amax的目标轨迹进行删除;
S44,对未匹配的检测分配新的轨迹ID;
S45,使用新的ID和轨迹特征来更新目标位置信息均值向量和卡尔曼滤波的状态变量矩阵,便于下一帧的计算;
S5,将该方法移植入ROS环境中,通过获取无人机摄像头内参以及无人机实时的GNSS坐标,将无人机摄像头拍摄的二维图像上的像素坐标转化到真实世界的空间坐标,并计算目标运动的速度,从而在无人机平台上实现对目标的定位和跟踪,对于一个像素点,从二维坐标系下的坐标转换到世界三维坐标系下的坐标,包括像素坐标系到世界坐标系的转换,以及世界坐标系到WGS84坐标系的转换。
2.如权利要求1所述的基于无人机的多目标跟踪定位与运动状态估计方法,其特征在于,所述的步骤S1,其具体包括,
S11,初始化目标检测结果的各参数,去掉检测置信度小于0.7的检测结果;
S12,使用非极大值抑制算法,去除具有重叠检测框的检测结果。
3.如权利要求1所述的基于无人机的多目标跟踪定位与运动状态估计方法,其特征在于,所述的步骤S2,其具体包括,
S21,对于每个目标轨迹,计算其多次卡尔曼滤波预测得到的平均轨道位置和实际检测框之间的马氏距离代价矩阵,进行目标运动信息的关联;马氏距离代价矩阵中的第i行、第j列元素表示第i个跟踪器的预测框与第j个实际检测框的马氏距离,称为马氏距离度量,其计算公式为:
其中,dj表示第j个实际检测框的位置,j=1,2,…,N,yi表示第i个跟踪器的预测框位置,i=1,2,…,N,第i个跟踪器用来对第i个目标运动轨迹进行跟踪,Si则表示实际检测框的位置与第i个目标的平均轨道位置之间的协方差矩阵;若某一次关联的马氏距离小于指定的马氏距离阈值t(1),则设置运动状态关联成功,其用公式表示为:
S22,计算每个目标对应的跟踪器的跟踪框的最近100个成功关联的特征集与当前帧的每个实际检测框对应的检测结果的特征向量间的最小余弦距离,进行目标外观信息的关联;
对每一个实际检测框,计算其对应的特征向量,第j个实际检测框对应的特征向量为rj,||rj||=1,j=1,2,…,N,通过ReID人工神经网络计算得到实际检测框对应的特征向量,ReID人工神经网络是独立于目标检测和跟踪器的模块,其用于提取目标包围框中的目标特征,利用ReID人工神经网络得到一个固定维度的特征向量,表示该目标的包围框,供计算相似度时使用;对每一个跟踪目标构建一个存储空间,用于存储与该跟踪目标成功关联的最近100帧图像的特征向量,对于第i个目标对应的跟踪器的跟踪框的最近100个成功关联的特征向量集中的特征向量与当前帧第j个检测框对应的检测结果的特征向量间的最小余弦距离d(2)(i,j),其计算公式为:
如果第i个目标对应的跟踪器的跟踪框的最近100个成功关联的特征向量集中的特征向量与当前帧第j个检测框对应的检测结果的特征向量间的最小余弦距离d(2)(i,j)小于指定的阈值,则进行目标外观信息的关联,该过程表示为:
其中,表示目标外观信息的关联状态,其取值为1表示关联成功,其取值为0表示关联失败,上述阈值t(2)是从单独的训练集中得到的;根据每个目标对应的跟踪器的最近100个成功关联的特征集与当前帧的每个检测框对应的检测结果的特征向量间的最小余弦距离构建余弦距离代价矩阵,d(2)(i,j)为余弦距离代价矩阵的第i行、第j列的元素;
计算每个目标对应的跟踪器的最近100个成功关联的特征集与当前帧的每个检测框对应的检测结果的特征向量间的最小余弦距离,判断该最小余弦距离是否小于指定的阈值,如果该最小余弦距离小于指定的阈值,则进行目标外观信息的关联;
S23,将马氏距离代价矩阵中大于马氏距离阈值的元素取值设置为某大于200的极大数值,以便于后续删除,将马氏距离代价矩阵中的不可行目标轨迹设置为无效;将余弦距离代价矩阵中跟踪框和检测框间的余弦距离超过阈值max_distance的对应元素设置为固定值max_distance+1e-5,以消除差异,忽略成本大于此固定值的关联;最后将马氏距离和余弦距离进行融合,使用上述两种距离线性加权作为最终的度量值,对于第i个跟踪器与第j个检测框的最终度量值ci,j,其计算公式为:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j),
其中,λ为最终度量值的加权系数;
S24,以余弦距离代价矩阵和马氏距离代价矩阵为输入,使用匈牙利算法将预测得到的轨迹和当前帧的实际检测框进行级联匹配,并返回卡尔曼滤波预测得到的轨迹和当前帧的检测框的匹配结果;
匈牙利算法通过计算得到前后两帧的相似度矩阵,再利用级联匹配,获得前后两帧图像中匹配的目标;级联匹配用于完成不同优先级的匹配,针对每一个检测器都分配一个跟踪器,每个跟踪器会设定一个time_since_update参数;如果跟踪器完成匹配并进行更新,那么time_since_update参数会重置为0,否则就会加1;在级联匹配中,根据time_since_update参数来对跟踪器的匹配设定先后顺序,time_since_update参数越小的跟踪器越优先进行匹配,time_since_update参数越大的跟踪器越后进行匹配,即对上一帧最先匹配的跟踪器设定最高的匹配优先权,对近几帧图像都未匹配上的跟踪器降低其匹配优先权;
S25,对步骤S24得到的匹配结果进行筛选,删除与检测框的余弦距离大于筛选阈值的跟踪框;
S26,设置检测帧数Amax=30,循环进行步骤S21至步骤S25,得到初步的匹配结果、未匹配轨迹和未匹配检测。
4.如权利要求3所述的基于无人机的多目标跟踪定位与运动状态估计方法,其特征在于,所述的步骤S23,其具体包括,只有当马氏距离和余弦距离都满足各自阈值条件的时候,再进行上述融合;对于存在相机运动的情况,设置λ=0。
5.如权利要求1所述的基于无人机的多目标跟踪定位与运动状态估计方法,其特征在于,所述的步骤S5,其具体包括:
S51,将图像上的像素点,由其在二维坐标系下的坐标转换到世界三维坐标系下的坐标;
对于一个像素点,从其在世界三维坐标系下的坐标转换为二维坐标系下的像素坐标,其转换过程公式表达为:
对上述的转换过程公式进行取逆运算,即得到一个像素点从像素坐标到世界坐标的转化,其中,Zc表示待转换的像素点在相机坐标系下的坐标,[XW,YW,ZW]分别表示所述像素点在世界坐标系下的x轴、y轴和z轴的坐标,[u,v]分别表示所述像素点在像素坐标系下宽和高方向的坐标基本单位,[u0,v0]分别为图像中心点在像素坐标系下宽和高方向的坐标值,图像坐标系的原点为图像中心点,f为相机焦距,图1中,[Xc,Yc,Zc]分别表示相机坐标系下x轴、y轴和z轴的基本单位,相机坐标系的原点为光心,R为旋转矩阵,T为变换矩阵,fx和fy分别表示相机在相机坐标系的x轴和y轴方向上的焦距,dx和dy分别表示相机拍摄图像的行向和列向的每个像素所对应的实际物理长度;其中,由相机内参直接得到,旋转矩阵R和变换矩阵T由相机的外参得到;
S52,将上述像素点在世界坐标系下的坐标转换到WGS84坐标系下的坐标;
上述像素点在世界坐标系下的坐标数值等于其在载机地理坐标系下的坐标,载机地理坐标系到WGS84坐标系的转换过程为,
载机地理坐标系向ECEF坐标系变换公式为:
其中,[Xs,Ys,Zs]分别为上述像素点在载机地理坐标系下的X轴、Y轴和Z轴的坐标,[Xg,Yg,Zg]分别为上述像素点在ECEF坐标系下的X轴、Y轴和Z轴的坐标,(L0,B0,H0)分别为无人机在WGS84坐标系下的精度、维度和高度信息,其从无人机飞行控制器的PX4固件中获得;
ECEF坐标系向WGS84坐标系的变换公式为:
其中,[L,B,H1]为上述像素点在在WGS84坐标系下的经度值、纬度值和高度值,e0为地球曲率值,H2是无人机所在点的海拔高度,N1是大地水准面高度;
S53,根据目标定位信息计算目标物体的速度信息,通过分别计算出X,Y,Z方向上的相邻两帧图像中目标的位移差以及相邻两帧的时间差,得到目标在各个方向上的速度,t时刻目标速度的计算公式为:
vx=(Xt-Xt-1)/T,
vy=(Yt-Yt-1)/T,
vz=(Zt-Zt-1)/T,
其中,[Xt-1,Yt-1,Zt-1]和[Xt,Yt,Zt]分别表示t-1时刻和t时刻估计得到的目标定位信息,T为t-1时刻和t时刻之间的时间差值。
6.如权利要求5所述的基于无人机的多目标跟踪定位与运动状态估计方法,其特征在于,所述的步骤S51,旋转矩阵R和变换矩阵T是利用无人机飞行控制器的PX4固件提供的无人机位姿的四元数,经过计算得到的矩阵;相机内参和相机外参数均是从无人机飞行控制器的PX4固件中获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110581678.3A CN113269098B (zh) | 2021-05-27 | 2021-05-27 | 一种基于无人机的多目标跟踪定位与运动状态估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110581678.3A CN113269098B (zh) | 2021-05-27 | 2021-05-27 | 一种基于无人机的多目标跟踪定位与运动状态估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113269098A CN113269098A (zh) | 2021-08-17 |
CN113269098B true CN113269098B (zh) | 2023-06-16 |
Family
ID=77233060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110581678.3A Active CN113269098B (zh) | 2021-05-27 | 2021-05-27 | 一种基于无人机的多目标跟踪定位与运动状态估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113269098B (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721633B (zh) * | 2021-09-09 | 2023-10-17 | 南京工业大学 | 一种基于行人轨迹预测的移动机器人路径规划方法 |
CN113838091B (zh) * | 2021-09-23 | 2023-12-12 | 哈尔滨工程大学 | 一种稀疏目标跟踪方法 |
CN113850848B (zh) * | 2021-09-26 | 2024-04-02 | 大连海事大学 | 无人艇载航海雷达与视觉图像协同的海上多目标长期检测与跟踪方法 |
CN113589848B (zh) * | 2021-09-28 | 2022-02-08 | 西湖大学 | 基于机器视觉的多无人机探测定位跟踪系统及方法 |
CN114005018B (zh) * | 2021-10-14 | 2024-04-16 | 哈尔滨工程大学 | 一种小算力驱动的水面无人艇多目标跟踪方法 |
CN114022791B (zh) * | 2021-10-15 | 2024-05-28 | 武汉理工大学 | 一种基于高空视角识别系统的车辆轨迹运动特征识别方法 |
CN113983737A (zh) * | 2021-10-18 | 2022-01-28 | 海信(山东)冰箱有限公司 | 冰箱及冰箱的食材定位方法 |
CN113780246B (zh) * | 2021-11-09 | 2022-02-25 | 中国电力科学研究院有限公司 | 无人机三维航迹监测方法、系统以及三维监测装置 |
CN114897944B (zh) * | 2021-11-10 | 2022-10-25 | 北京中电兴发科技有限公司 | 一种基于DeepSORT的多目标连续跟踪方法 |
CN113791140B (zh) * | 2021-11-18 | 2022-02-25 | 湖南大学 | 基于局部振动响应的桥梁梁底内部无损检测方法和系统 |
CN114089675B (zh) * | 2021-11-23 | 2023-06-09 | 长春工业大学 | 一种基于人机距离的机器控制方法及控制系统 |
CN114399528B (zh) * | 2021-11-29 | 2024-06-07 | 深圳先进技术研究院 | 基于二维图像的三维空间运动目标跟踪方法及相关装置 |
CN114445453A (zh) * | 2021-12-21 | 2022-05-06 | 武汉中海庭数据技术有限公司 | 一种自动驾驶中实时多目标跟踪方法及系统 |
CN114299112B (zh) * | 2021-12-24 | 2023-01-13 | 萱闱(北京)生物科技有限公司 | 基于多目标的轨迹识别方法、装置、介质和计算设备 |
CN114663879B (zh) * | 2022-02-09 | 2023-02-21 | 中国科学院自动化研究所 | 目标检测方法、装置、电子设备及存储介质 |
CN114964245B (zh) * | 2022-02-25 | 2023-08-11 | 珠海紫燕无人飞行器有限公司 | 一种无人机视觉侦察定位方法 |
CN114596340A (zh) * | 2022-03-08 | 2022-06-07 | 南京航空航天大学 | 一种监控视频的多目标跟踪方法及系统 |
CN114972418B (zh) * | 2022-03-30 | 2023-11-21 | 北京航空航天大学 | 基于核自适应滤波与yolox检测结合的机动多目标跟踪方法 |
CN115047894B (zh) * | 2022-04-14 | 2023-09-15 | 中国民用航空总局第二研究所 | 一种无人机轨迹测算方法、电子设备及存储介质 |
CN114581480B (zh) * | 2022-05-07 | 2022-08-05 | 西湖大学 | 多无人机协同目标状态估计控制方法及其应用 |
CN115063452B (zh) * | 2022-06-13 | 2024-03-26 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种针对海上目标的云台摄像头跟踪方法 |
CN114926753B (zh) * | 2022-06-16 | 2023-10-13 | 无锡慧眼人工智能科技有限公司 | 一种海量图像条件下的快速目标场景信息提取方法 |
CN114913212A (zh) * | 2022-06-24 | 2022-08-16 | 成都云擎科技有限公司 | 一种基于特征共用的DeepSORT目标跟踪方法 |
CN115144879A (zh) * | 2022-07-01 | 2022-10-04 | 燕山大学 | 一种多机多目标动态定位系统及方法 |
CN115908506B (zh) * | 2022-09-09 | 2023-06-27 | 杭州云栖智慧视通科技有限公司 | 基于卡尔曼预测的多目标跟踪方法 |
CN115908498B (zh) * | 2022-12-27 | 2024-01-02 | 清华大学 | 一种基于类别最优匹配的多目标跟踪方法及装置 |
CN115861860B (zh) * | 2023-02-24 | 2023-06-02 | 杭州靖安科技有限公司 | 一种无人机的目标跟踪定位方法和系统 |
CN116012422B (zh) * | 2023-03-23 | 2023-06-09 | 西湖大学 | 基于单目视觉的无人机6d位姿估计跟踪方法及其应用 |
CN116777950B (zh) * | 2023-04-19 | 2024-05-03 | 长沙理工大学 | 基于相机参数的多目标视觉跟踪方法、装置、设备及介质 |
CN116681721B (zh) * | 2023-06-07 | 2023-12-29 | 东南大学 | 一种基于视觉的直线轨迹检测与跟踪方法 |
CN116952081B (zh) * | 2023-07-26 | 2024-04-16 | 武汉巨合科技有限公司 | 灭火弹落点参数图像空中监测系统及监测方法 |
CN116758110B (zh) * | 2023-08-15 | 2023-11-17 | 中国科学技术大学 | 复杂运动场景下的鲁棒多目标跟踪方法 |
CN116883458B (zh) * | 2023-09-06 | 2024-01-09 | 中国科学技术大学 | 基于Transformer并融合以观测为中心运动特征的多目标跟踪系统 |
CN116881385B (zh) * | 2023-09-08 | 2023-12-01 | 中国铁塔股份有限公司 | 轨迹平滑方法、装置、电子设备及可读存储介质 |
CN117151140B (zh) * | 2023-10-27 | 2024-02-06 | 安徽容知日新科技股份有限公司 | 目标物标识码的识别方法、装置及计算机可读存储介质 |
CN117522924A (zh) * | 2023-11-22 | 2024-02-06 | 重庆大学 | 基于检测定位置信度指导的深度关联多目标跟踪方法 |
CN117830592A (zh) * | 2023-12-04 | 2024-04-05 | 广州成至智能机器科技有限公司 | 一种基于图像的无人机夜间照明方法、系统、设备及介质 |
CN117934549A (zh) * | 2024-01-16 | 2024-04-26 | 重庆大学 | 一种基于概率分布指导数据关联的3d多目标跟踪方法 |
CN117746304B (zh) * | 2024-02-21 | 2024-05-14 | 浪潮软件科技有限公司 | 基于计算机视觉的冰箱食材识别定位方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490901A (zh) * | 2019-07-15 | 2019-11-22 | 武汉大学 | 抗姿态变化的行人检测跟踪方法 |
CN111488795A (zh) * | 2020-03-09 | 2020-08-04 | 天津大学 | 应用于无人驾驶车辆的实时行人跟踪方法 |
WO2020155873A1 (zh) * | 2019-02-02 | 2020-08-06 | 福州大学 | 一种基于深度表观特征和自适应聚合网络的多人脸跟踪方法 |
CN111932580A (zh) * | 2020-07-03 | 2020-11-13 | 江苏大学 | 一种基于卡尔曼滤波与匈牙利算法的道路3d车辆跟踪方法及系统 |
CN112528730A (zh) * | 2020-10-20 | 2021-03-19 | 福州大学 | 一种匈牙利算法下基于空间约束的成本矩阵优化方法 |
-
2021
- 2021-05-27 CN CN202110581678.3A patent/CN113269098B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155873A1 (zh) * | 2019-02-02 | 2020-08-06 | 福州大学 | 一种基于深度表观特征和自适应聚合网络的多人脸跟踪方法 |
CN110490901A (zh) * | 2019-07-15 | 2019-11-22 | 武汉大学 | 抗姿态变化的行人检测跟踪方法 |
CN111488795A (zh) * | 2020-03-09 | 2020-08-04 | 天津大学 | 应用于无人驾驶车辆的实时行人跟踪方法 |
CN111932580A (zh) * | 2020-07-03 | 2020-11-13 | 江苏大学 | 一种基于卡尔曼滤波与匈牙利算法的道路3d车辆跟踪方法及系统 |
CN112528730A (zh) * | 2020-10-20 | 2021-03-19 | 福州大学 | 一种匈牙利算法下基于空间约束的成本矩阵优化方法 |
Non-Patent Citations (1)
Title |
---|
基于单目视觉的健康看护机器人动态目标跟随研究;张亚兵;中国优秀硕士学位论文全文数据库信息科技辑(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113269098A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113269098B (zh) | 一种基于无人机的多目标跟踪定位与运动状态估计方法 | |
CN111932588B (zh) | 一种基于深度学习的机载无人机多目标跟踪系统的跟踪方法 | |
CN109974693B (zh) | 无人机定位方法、装置、计算机设备及存储介质 | |
CN109682373B (zh) | 一种无人平台的感知系统 | |
CN111932580A (zh) | 一种基于卡尔曼滤波与匈牙利算法的道路3d车辆跟踪方法及系统 | |
WO2019092418A1 (en) | Method of computer vision based localisation and navigation and system for performing the same | |
CN111429574A (zh) | 基于三维点云和视觉融合的移动机器人定位方法和系统 | |
CN112069969B (zh) | 一种高速公路监控视频跨镜车辆跟踪方法及系统 | |
CN115661204B (zh) | 一种无人机集群对运动目标的协同搜寻与跟踪定位方法 | |
CN110865650B (zh) | 基于主动视觉的无人机位姿自适应估计方法 | |
CN111679695B (zh) | 一种基于深度学习技术的无人机巡航及追踪系统和方法 | |
CN111474953B (zh) | 多动态视角协同的空中目标识别方法及系统 | |
Engel et al. | Deeplocalization: Landmark-based self-localization with deep neural networks | |
CN114623817B (zh) | 基于关键帧滑窗滤波的含自标定的视觉惯性里程计方法 | |
CN112991391A (zh) | 一种基于雷达信号和视觉融合的车辆检测与跟踪方法 | |
CN110570453A (zh) | 一种基于双目视觉的闭环式跟踪特征的视觉里程计方法 | |
CN111354022B (zh) | 基于核相关滤波的目标跟踪方法及系统 | |
CN114049382A (zh) | 一种智能网联环境下目标融合跟踪方法、系统和介质 | |
CN111812978B (zh) | 一种多无人机协作slam方法与系统 | |
CN116295412A (zh) | 一种基于深度相机的室内移动机器人稠密建图与自主导航一体化方法 | |
Fleck et al. | Robust tracking of reference trajectories for autonomous driving in intelligent roadside infrastructure | |
CN117474950A (zh) | 基于视觉语义跨模态目标跟踪方法 | |
Basit et al. | Joint localization of pursuit quadcopters and target using monocular cues | |
CN115761693A (zh) | 一种基于全景图像下车位标志点检测与车辆跟踪定位方法 | |
CN116259025A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |