位置: IT常识 - 正文

【MOT】目标追踪DeepSORT与ByteTrack(目标追踪模型)

编辑:rootadmin
【MOT】目标追踪DeepSORT与ByteTrack 基础知识

推荐整理分享【MOT】目标追踪DeepSORT与ByteTrack(目标追踪模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:目标追踪的原则,目标追踪工具,目标追踪的原则,目标追踪的具体内容是,目标追踪器,目标追踪器,mosse目标跟踪,目标追踪模型,内容如对您有帮助,希望把文章链接给更多的朋友!

匹配算法:

SORT算法: Kalman滤波, 匈牙利算法(匹配算法), 马氏距离(损失指标);

Kalman滤波是通过对上一帧每个检测对象进行预测,得到一个BBox_predicted,然后再将predicted与当前帧的检测对象BBox_measure进行匹配,这样的话就能固定ID了; 如果不用Kalman滤波,将当前帧的BBox_measure与上一帧的BBox_measure’进行匹配?

追踪为什么需要卡尔曼滤波?

通常要对一些事物的状态去做估计,为什么要做估计呢?因为我们通常无法精确的知道物体当前的状态。为了估计一个事物的状态,我们往往会去测量它,但是我们不能完全相信我们的测量,因为我们的测量是不精准的,它往往会存在一定的噪声,这个时候我们就要去估计我们的状态。卡尔曼滤波就是一种结合预测(先验分布)和测量更新(似然)的状态估计算法;其二,若出现视频中目标运动过快,前后两帧中同一个目标运动距离很远,那么这种直接匹配的方式就会失效。因此,可以通过现预测目标下一帧出现的位置,然后与检测的位置进行匹配关联,这样就不会由于速度太快而产生误差。 参考1

匈牙利算法

匈牙利算法只是尽可能地多匹配,而对于准确度没有很好的约束;

马氏距离

欧式距离是度量两点间的距离方法,而马氏距离针对的是多变量情况下的协方差距离。

即当量纲不同,考虑各种特性之间的联系下的一种距离尺度。由公式可知,欧式距离除以了一个协方差距离。

方差:方差是标准差的平方,而标准差的意义是数据集中各个点到均值点距离的平均值。反应的是数据的离散程度。协方差: 标准差与方差是描述一维数据的,当存在多维数据时,我们通常需要知道每个维数的变量中间是否存在关联。协方差就是衡量多维数据集中,变量之间相关性的统计量。比如说,一个人的身高与他的体重的关系,这就需要用协方差来衡量。如果两个变量之间的协方差为正值,则这两个变量之间存在正相关,若为负值,则为负相关。协方差矩阵: 当变量多了,超过两个变量了。那么,就用协方差矩阵来衡量这么多变量之间的相关性。余弦距离

余弦相似度的取值范围是[-1,1],相同两个向量的之间的相似度为1。

余弦相似度定义公式: cos(A,B)=A⋅B∥A∥2∥B∥2cos(A,B) = \frac{A\cdot{B}}{\lVert{A}\rVert_2\lVert{B}\rVert}_2cos(A,B)=∥A∥2​∥B∥A⋅B​2​ 余弦距离定义: dist(A,B)=1−cos(A,B)=∥A∥2∥B∥2−A⋅B∥A∥2∥B∥2dist(A,B) = 1 - cos(A,B) = \frac{{\lVert{A}\rVert_2\lVert{B}\rVert_2}-A\cdot{B}}{\lVert{A}\rVert_2\lVert{B}\rVert_2}dist(A,B)=1−cos(A,B)=∥A∥2​∥B∥2​∥A∥2​∥B∥2​−A⋅B​

DeepSORTSORT

SORT算法是通过检测的测量值和卡尔曼滤波得到的预测值进行IOU匹配。

对于没有匹配到的detections,创建新的trackers;

【MOT】目标追踪DeepSORT与ByteTrack(目标追踪模型)

对于成功匹配的detections,对kalman的trackers进行更新;

对于未成功匹配的trackers,则进行剔除。

DeepSORTalgorithm base对于每个tacker,有三种状态,分别是tentative,confirmed, unconfirmed;其中,第一种状态为每个tacker的初始化状态;tentative转换为confirmed状态,需要连续匹配上n_init次;对于每一个tracker,有time_since_update参数,每次与detection关联更新后重置为0;级联匹配根据time_since_update来作为优先级,先匹配那些一直得到更新的tracker,对于状态为confirmed,但没有得到更新的tracker(tracker每predict一次,time_since_update增加一次),也能使之得到更新,只是优先级靠后;即根据time_since_update参数来控制更新的顺序。由小到达对消失时间相同的轨迹进行匹配。当time_since_update>max_age(70)时,则将confirmed状态改变为deleted状态;unconfirmed trackers和 unmatched trackers 一起组成iou candicates,与unmatched detections进行IOU匹配;

cost matrix使用平方马氏距离来度量tracker和detection之间的距离;实际代码中没有用到运动信息(保留)使用cosine距离来度量表观特征之间的距离;综合匹配度通过运动模型和外观模型加权得到。

其中λ\lambdaλ是一个超参数,在代码中默认为0。作者认为在摄像头有实质性移动的时候这样设置比较合适,也就是在关联矩阵中只使用外观模型进行计算。但并不是说马氏距离在Deep SORT中毫无用处,马氏距离会对外观模型得到的距离矩阵进行限制,忽视掉明显不可行的分配。

Mahalanobis Distance/Cosine Distance

两者分别针对运动信息和外观信息的计算。马氏距离就是加强版的欧式距离。它实际上是规避了欧氏距离中对于数据特征方差不同的风险,在计算中添加了协方差矩阵,其目的就是进行方差归一化,从而使所谓的“距离”更加符合数据特征以及实际意义。马氏距离是对于差异度的衡量中,的一种距离度量方式,而不同于马氏距离,余弦距离则是一种相似度度量方式。前者是针对于位置进行区分,而后者则是针对于方向。换句话说,我们使用余弦距离的时候,可以用来衡量不同个体在维度之间的差异,而一个个体中,维度与维度的差异我们却不好判断,此时我们可以使用马氏距离进行弥补,从而在整体上可以达到一个相对于全面的差异性衡量。而我们之所以要进行差异性衡量,根本目的也是想比较检测器与跟踪器的相似程度,优化度量方式,也可以更好地完成匹配。

代码在linear_assaignment._match.gated_metric下,将外观余弦距离和马氏距离进行了封装。(保留意见)。

Cascaded match

级联匹配是Deep SORT区别于SORT的一个核心算法,致力于解决目标被长时间遮挡的情况。为了让当前Detection匹配上当前时刻较近的Track,匹配的时候Detection优先匹配消失时间较短的Track。

当目标被长时间遮挡,之后卡尔曼滤波预测结果将增加非常大的不确定性(因为在被遮挡这段时间没有观测对象来调整,所以不确定性会增加), 状态空间内的可观察性就会大大降低。在两个Track竞争同一个Detection的时候,消失时间更长的Track往往匹配得到的马氏距离更小, 使得Detection更可能和遮挡时间较长的Track相关联,这种情况会破坏一个Track的持续性,这也就是SORT中ID Switch太高的原因之一。

使用级联匹配算法,是为每个追踪器设定一个time_since_update参数。如果跟踪器完成匹配并进行更新,那么参数会重置为0,否则就会+1。实际上,级联匹配换句话说就是不同优先级的匹配。在级联匹配中,会根据这个参数来对跟踪器分先后顺序,参数小的先来匹配,参数大的后匹配。也就是给上一帧最先匹配的跟踪器高的优先权,给好几帧都没匹配上的跟踪器降低优先权(慢慢放弃)。

在级联匹配中,通过根据每个tracker的time_since_update是否等于max_age level来控制track更新的顺序;即有限匹配距上次出现间隔短的目标;

IOU match

在级联匹配后的IOU匹配中,更新对象是unmatch_trackers和unconfirmed trakcers,且since_time_update=1,即仅仅对上一帧的tracker进行iou匹配;

现在处理上面未参与外观匹配的新的轨迹,即uncofirmed tracks,同时把那些虽然是confirmed track,但外观匹配仅在上一帧没有成功的track放进来;那些长时间没有被匹配成功的track不用iou匹配,因为长时间没有匹配到,人早就走掉了,iou重合率也会非常低,iou比较高的也不太可能是同一个人.

Steps

说明:在deep sort代码中,tracker.py主要是匹配算法;track为每一个tracker的类属性

本文链接地址:https://www.jiuchutong.com/zhishi/298342.html 转载请保留说明!

上一篇:vue 3 项目实战一(绘制登录界面)(vue3.0项目实战视频)

下一篇:基于C#开发 B/S架构的实验室管理系统 云LIS系统(MVC + SQLserver + Redis)(c#开发入门及项目实战)

  • opporeno4怎么使用耳机(opporeno4使用技巧)

    opporeno4怎么使用耳机(opporeno4使用技巧)

  • 苹果手机空白桌面如何删除(苹果手机空白桌面截图)

    苹果手机空白桌面如何删除(苹果手机空白桌面截图)

  • 三星s10为什么还卡顿(三星s10为什么还没上市)

    三星s10为什么还卡顿(三星s10为什么还没上市)

  • 微信统计功能在哪里(微信统计数据统计)

    微信统计功能在哪里(微信统计数据统计)

  • 闲鱼买家故意拒收可以不退吗(闲鱼买家故意拒绝签收)

    闲鱼买家故意拒收可以不退吗(闲鱼买家故意拒绝签收)

  • 微信付款码可以截图发给别人付款吗(微信付款码可以找到本人吗)

    微信付款码可以截图发给别人付款吗(微信付款码可以找到本人吗)

  • 32位能改64位吗

    32位能改64位吗

  • 苹果xr双卡只能显示1张卡(苹果xr放2张卡怎么只能用一张)

    苹果xr双卡只能显示1张卡(苹果xr放2张卡怎么只能用一张)

  • nova7和pro的区别(nova7和pro有什么区别)

    nova7和pro的区别(nova7和pro有什么区别)

  • 红米k30耗电怎么那么快(红米k30电量消耗快)

    红米k30耗电怎么那么快(红米k30电量消耗快)

  • iphonexsmax正确充电方式(苹果手机xsmax怎么充电对电池好)

    iphonexsmax正确充电方式(苹果手机xsmax怎么充电对电池好)

  • 笔记本电脑白屏有鼠标(笔记本电脑白屏用一键恢复)

    笔记本电脑白屏有鼠标(笔记本电脑白屏用一键恢复)

  • 华为手机滚动截屏突然不能用了(华为手机滚动截屏方法)

    华为手机滚动截屏突然不能用了(华为手机滚动截屏方法)

  • qq扩列错过怎么找回(qq扩列错过加好友怎么办)

    qq扩列错过怎么找回(qq扩列错过加好友怎么办)

  • 手机灯怎么关(手机电灯开关在哪里)

    手机灯怎么关(手机电灯开关在哪里)

  • 抖音老是卡是什么原因(抖音怎么老是卡)

    抖音老是卡是什么原因(抖音怎么老是卡)

  • 哪些手机支持4g十网络(哪些手机支持4k播放)

    哪些手机支持4g十网络(哪些手机支持4k播放)

  • id地址相同是什么意思(id有地址的意思吗)

    id地址相同是什么意思(id有地址的意思吗)

  • 苹果11防水不(苹果14plus防水吗)

    苹果11防水不(苹果14plus防水吗)

  • qq音乐铭牌怎么使用(qq音乐铭牌怎么买)

    qq音乐铭牌怎么使用(qq音乐铭牌怎么买)

  • win10wi-fi图标不见了(win10wifi图标不见了怎么把它找回来)

    win10wi-fi图标不见了(win10wifi图标不见了怎么把它找回来)

  • 三星s10支持无线充电吗(三星s10支持无线充电多少瓦)

    三星s10支持无线充电吗(三星s10支持无线充电多少瓦)

  • 怎样查电脑浏览器版本(怎样查电脑浏览记录历史)

    怎样查电脑浏览器版本(怎样查电脑浏览记录历史)

  • 苹果防偷看屏如何设置(苹果手机屏幕防止偷看)

    苹果防偷看屏如何设置(苹果手机屏幕防止偷看)

  • 三维触控是啥意思(三维触控什么意思)

    三维触控是啥意思(三维触控什么意思)

  • 蓝牙耳机怎么重置数据(蓝牙耳机怎么重置恢复出厂)

    蓝牙耳机怎么重置数据(蓝牙耳机怎么重置恢复出厂)

  • 网络密钥在哪里找(网络密钥是什么,如何查看)

    网络密钥在哪里找(网络密钥是什么,如何查看)

  • 抖音蓝v有什么用(抖音蓝v有什么区别)

    抖音蓝v有什么用(抖音蓝v有什么区别)

  • ai格式手机用什么打开(ai格式手机用什么软件)

    ai格式手机用什么打开(ai格式手机用什么软件)

  • 纯CSS实现边框流光效果(跑马灯效果)(css边框怎么做)

    纯CSS实现边框流光效果(跑马灯效果)(css边框怎么做)

  • 餐饮企业购入的啤酒不拿消费税吗
  • 税后净营业利润英文
  • 计提坏账部分收入怎么算
  • 对公账户余额和实际不符
  • 上年多做收入今年可以直接冲减吗
  • 公司股东和自然人股东可否代持股权
  • 收到商业承兑汇票到期,向银行办妥有关入账手续
  • 增值税加计抵减最新政策2022
  • 手撕汽车票在哪里弄到
  • 数量金额式明细账模板
  • 一次性发放年终奖怎么税务筹划
  • 员工拿发票报销可以公转私吗
  • 给分公司开发票由总公司付款怎么办?
  • 地产企业不动产登记入哪个科目?
  • 开办费转入管理费用分录
  • 软件著作权如何入账
  • 已付款未收到发票怎么做分录
  • 防洪费2019年税率
  • 应交印花税会计分录
  • 小规模季度不超30万需要交什么税
  • 生产成本和主营业务成本哪个大
  • 初级备考计划表
  • 离退休人员福利
  • 长期待摊费用多少钱
  • pc端微信怎么更新
  • 农业合作社农民合作社
  • windows无法配置用户文件
  • win10哪个版本流畅兼容性好
  • 固定资产原值和账务账套原值不平
  • php图片库
  • 波特兰在哪
  • php数组去重函数
  • 日本的萤火虫
  • 建筑业红冲发票如何处理
  • 第二季度企业所得税怎么计提
  • 详解Yii2.0 rules验证规则集合
  • typescriptlang
  • php引用传值
  • Squarespace 和 WordPress 的区别
  • 小规模纳税人的企业所得税税率
  • 验证码php代码
  • 未分配利润的核算内容
  • 帝国cms使用手册
  • ps灰色模式怎么换回来快捷键
  • SQL Server 2016 TempDb里的显著提升
  • Mysql数据库分库分表语句
  • 外贸企业出口货物会计分录
  • 交强险和车船税在哪里买
  • 增值税专用设备是什么
  • 检测费账务处理
  • 工业总产值如何计算的
  • 资产计提减值如何进行账面记录
  • 购买方退货的会计分录怎么写
  • 明细账要如何做账
  • mysql优化的几种方法
  • 触发器的用法
  • windows xp的设备管理器在哪
  • 极速一键装机
  • w3dbsmgr.exe是什么进程
  • SPBBCSvc.exe - SPBBCSvc进程是什么文件 有什么作用
  • 什么叫linux
  • win10周年更新版是什么意思
  • 基于重大误解实施的民事法律行为
  • node与js的区别
  • Default style sheet for HTML 4
  • js date用法
  • android 科大讯飞语音引擎 调用无响应
  • shell 读取文件中的每一行并存储到数组
  • unity入门教学
  • jquery fadein不起作用
  • 轻松实现js图片识别
  • 22号天蝎座的运势
  • js合并字符串
  • 国家税务局文件查询
  • 销售哪些产品需办许可证
  • 小微企业 2018
  • 工会经费征收范围规定
  • 取得土地使用权后两年未开发
  • 大理市国税局
  • 出口退税预申报有疑点怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设