泰州网站建设费用,产品线上推广方式,wordpress pc站m站,做网站公司平台目标跟踪#xff08;Object Tracking#xff09;是自动驾驶中常见的任务#xff0c;根据跟踪目标数量的不同#xff0c;目标跟踪可分为#xff1a;
单目标跟踪#xff08;Single Object Tracking#xff0c;SOT#xff09;多目标跟踪#xff08;Multi-Objects Tracki…目标跟踪Object Tracking是自动驾驶中常见的任务根据跟踪目标数量的不同目标跟踪可分为
单目标跟踪Single Object TrackingSOT多目标跟踪Multi-Objects TrackingMOT
目标跟踪所要做的是根据传感器量测序列确定真实目标的数量以及每个目标的对应状态位置、速度、航向等 多目标跟踪常用的两个算法为卡尔曼滤波和匈牙利匹配 匈牙利匹配算法用于匹配前后帧目标因为目标检测器的不稳定垃圾往往容易丢失目标或目标框的位置偏移影响匈牙利匹配的结果。 卡尔曼滤波可以基于t时刻的历史状态信息目标框的位置x,y,w,h预计t1时刻的状态信息出现丢失目标的时候比匹配丢失前一帧目标位置目标的运动轨迹要平滑的多也不会存在匹配不到目标的情况。 也可以根据观测量例如位置、检测目标给的信息和在历史观测信息上基于状态转换矩阵例变化速度估计出来的预测量。观测量和预测量都是服从正态分布利用高斯计算公式将他们叠加起来计算一个比较好的结果。 卡尔曼滤波算法 在多目标跟踪中使用的是最基础的 Kalman filter 算法卡尔曼的过程如下所示主要是预测和更新的过程 预测过程方程N均值方差 这个过程类似根据小车左侧位置估计下一时刻的右侧的位置和方差不过在目标跟踪中是预测的目标框的位置 公式①预测t时刻的x也就是高斯分布的均值变化
x:track在t−1时刻的均值t时刻的目标检测框, F:状态转移矩阵线性变化 在上图中
cxcy: 边界框的中心点
w, h: 边界框的宽和高
vx, vy, vw, vh: 变化速度
dt前后帧之间的差cxcxdtvx
公式②预测t时刻的P高斯分布的方差误差变化 我们获取的观测值目标检测框和预测值通过状态转移矩阵推测出来的都会存在一定的误差。 P:track在t−1时刻的协方差,Q:系统噪声矩阵 Q:初始值比较小 F:初始为对角线为1的矩阵 这个方差P随机举例如下图就是我们在估计中的不确定矩阵而这个矩阵需要我们自己进行微调越大的值代表误差越大这个方差在迭代更新过程中会逐渐减小。 更新过程 基于 t 时刻的检测结果测量值和根据跟踪轨迹预测目标在 t 时刻的状态预测值得到一个在 t 时刻更精确的结果状态通过高斯公式计算类似于下图中绿色的部分。 在目标跟踪过程中就是将两个框叠加在一起 更新公式如下所示 公式③中 z 为 detection 的均值向量不包含速度变化值即 z[x, y, a, h]H 称为转移矩阵如下所示它将 track 的均值向量 x’ 映射到检测空间该公式计算 detection 和 track 的均值误差 y 公式 ④中R 为检测器的 噪声矩阵随机举例如下图它是一个 4x4 的对角矩阵对角线上的值分别为中心点两个坐标以及宽高的噪声以任意值初始化一般设置宽高的噪声大于中心点的噪声。该公式先将协方差矩阵 P’ 映射到检测空间然后再加上噪声矩阵 R。 上面的矩阵的值代表对于cx和cy的误差没有那么大而长和宽的预测的误差比较大 公式 ⑤中计算 卡尔曼增益 K 卡尔曼增益用于估计误差的重要程度 公式 ⑥ 和公式 ⑦中计算更新后的均值向量 x 和协方差矩阵 P 匈牙利匹配 在目标跟踪中不同时刻的物体位置会发生变化但我们需要让它保持同一个目标。 建立一个二分图有当前帧t1 和前一帧t0 的节点通过计算优化两帧各个目标的互相的距构建的混合线性整型使用匈牙利或者求解器进行计算得到两帧目标之间的匹配关系。 公式如下 优化代价f可以是两个框体的欧式距离矩阵 可以是两物体之间iou距离矩阵在iou距离时不是求最小而是求最大可以使用1-iou转换为最最小值 也可以是两个框体中图像特征中的相似度距离矩阵 有的算法中使用iou和特征相似度结合构建新的约束矩阵。 这篇文章挺好可以看一下
图说卡尔曼滤波一份通俗易懂的教程 - 知乎 (zhihu.com)