ByteTrack算法流程的简单示例
ByteTrack
ByteTrack
算法是将t帧检测出来的检测框集合
D
t
{\mathcal{D}_{t}}
Dt? 和t-1帧预测轨迹集合
T
~
t
?
1
{\tilde{T}_{t-1}}
T~t?1? 进行匹配关联得到t帧的轨迹集合
T
t
{T_{t}}
Tt?。
首先使用检测器检测t帧的图像得到检测框集合 D t {\mathcal{D}_{t}} Dt?,再根据置信度阈值将检测框集合划分为高置信度检测框集合 D t h {\mathcal{D}^{h}_{t}} Dth? 和低置信度检测框集合 D t l {\mathcal{D}^{l}_{t}} Dtl?。
然后ByteTrack
使用卡尔曼滤波,根据t-1帧的轨迹集合
T
t
?
1
{T_{t-1}}
Tt?1? 预测轨迹在t帧的位置;得到t帧的预测轨迹集合
T
~
t
?
1
{\tilde{T}_{t-1}}
T~t?1?。
在ByteTrack
第一阶段,先将高置信度检测框和预测轨迹相匹配;匹配结果有三种情况:
- 高置信度检测框和预测轨迹匹配成功,则更新到t帧的轨迹集合中。
- 高置信度检测框没能和预测轨迹匹配,也更新到t帧的轨迹集合中。
- 预测轨迹没有高置信度检测框与它匹配,则放入到未匹配的预测轨迹 T ~ t ? 1 u \tilde{T}^{u}_{t-1} T~t?1u?。
在ByteTrack
第二阶段,先将未匹配的预测轨迹集合
T
~
t
?
1
u
\tilde{T}^{u}_{t-1}
T~t?1u?划分为活跃轨迹
T
~
t
?
1
u
,
a
\tilde{T}^{u,a}_{t-1}
T~t?1u,a?和非活跃轨迹
T
~
t
?
1
u
,
i
\tilde{T}^{u,i}_{t-1}
T~t?1u,i?;非活跃的预测轨迹直接放入到t帧的轨迹集合中,活跃的预测轨迹用于和低置信度检测框进行匹配关联。同样,匹配结果有三种情况:
- 低置信度检测框和预测轨迹匹配成功,则更新到t帧的轨迹集合中。
- 低置信度检测框没能和预测轨迹匹配,则删除。
- 预测轨迹没能和低置信度检测框匹配,也跟新到t帧的轨迹集合中。
到此,t帧的处理结束,视频后续也是如此流程。
活跃轨迹:前一帧中匹配得到检测框;非活跃轨迹:前一帧中没有匹配得到检测框。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!