• 目标跟踪初步了解


    卡尔曼滤波

    与 光流法 :  都可以用来预测当前帧中的目标在下一帧的位置(用于得到上一帧目标更新到当前帧的位置等)------本质上是一个运动模型,来预测目标在当前帧时刻运动到的位置
    

    3个矩阵:

    1. 状态转移矩阵F: F * x_previous[x,y,h,w,vx,vy,vh,vw] = x_current[x,y,h,w,vx,vy,vh,vw],在卡尔曼滤波模型中认为目标是匀速的!
    2. 噪声矩阵
    3. 测量矩阵

    匈牙利算法:

    找出当前帧的某个目标,是否与前一帧的某个目标(而这个前一帧的目标并不是从前一帧取,而是用卡尔曼滤波等预测得到的前一帧目标在当前帧的位置)相同。
    ( 位置距离 + 特征距离 = 是同一目标衡量)

    #本质上是匹配模型,但是多目标的全局匹配,被匹配的对象是运动预测到的上一帧目标在当前帧时刻的所有目标(位置) 及 检测到的当前帧所有目标(位置)
    		
    		
    		解决的是基于代价的分配问题.那么只需要将目标间的距离作为代价,来分配ID
    			    Person_c1       person_c2         person_c3
    		
    		person_p1      d11             d12                d13
    		
    		person_p2      d21	       d22                d23
    		
    		person_p3      d31             d32                d33
    		  
    		最终设定一个d阈值,如果最终分配的路径结果中,比如为d11 d22 d33,但是d11>d_thresh则,认为当前帧的person_c1是没有分配成功的目标,认为其为新增目标,分配新增ID!!!
    
    因此先用卡尔曼滤波或光流法对将上一帧目标更新到当前帧,然后用这些与当前帧的新的检测detections进行匈牙利匹配,来确定是直接分配前帧已有ID还是新增ID.
    结果:有些前帧的ID与当前帧的detections匹配上了,有些没匹配可能导致前帧的ID在当前帧没了(跟丢),也可能导致当前帧的detections没有匹配(新增ID))
    

    跟踪调研

    现在主流的跟踪基于检测的,tracking by detecting
    目标跟踪更多考虑的是对目标的表达,跟踪过程中对目标表示的更新,跟踪中对周围环境变化信息、对时空信息的利用等等;
    跟踪的难点在于关联和状态估计(位置/速度/旋转)
    正因如此,跟踪任务才即可被看作是生成式任务,也可以被看作为判别式任务,既可以通过深度学习的方法来暴力解决,也可以通过传统统计学、机器学习的方法来解决优化。
    

    关于跟踪:

    基于颜色特征
    基于相关滤波
    基于深度学习
    

    MOTA指标:multiple objects tracking accuracy

    多目标跟踪准确率 = 1-(所有帧中未正确跟踪的目标数/所有帧中包含的目标数)

    最大是1, 最小是-infinity;越小模型越不准!

    跟踪不需要识别,但是现在主流的跟踪都是基于检测的跟踪

    运动目标检测(从背景中分离出运动的前景):

    1. 帧间差分
    2. 背景差分
    3. 光流法

    运动目标跟踪:

    1. 卡尔曼滤波
    2. 均值飘移
    3. 相关滤波(上个时代的巅峰)
    4. 深度学习:基于SiamFC系列发展

    人的行为识别

    (属于模式识别,有一段典型动作编码,只需与此编码比对,区分行为动作类型。
    目的:给一段视频序列打动作类型标签)

    应用:视频检索,视频推荐

    1. 模板匹配法:鲁棒性差(13年论文,传统方法)
    2. 状态空间法:(概率转移法):通过将系列动作构建状态图,然后通过某种概率将这些状态节点的依存关系联系起来
      动态贝叶斯网络
      隐马科夫模型
    3. 图卷积

    DeepSORT:

    track by detect

    demo结果可见明显的问题:(why)
    1. 当两个目标靠的较劲有overlap,id会被影响,赋予最新的ID(作为新目标出现)
    2. 目标即使没有靠的近,也会发生跟丢,进而分配最新的ID的情况

    处理问题1中的短时间遮挡导致的id交叉:

    1. 同时考虑了运动信息deep motion features---DMF表观特征信息deep appearance features---DAF,来计算tracks和detections的代价矩阵,基于卡尔曼滤波预测下一帧位置
    2. 且对检测的每一帧都用一个小型的Reid网络来记录特征信息,如果同时满足两种信息则不会赋予新的ID
  • 相关阅读:
    查看mysql线程数,包数,事务是否自动提交的
    404
    JCE加密和解密 bouncycastle
    在数据库中限制某个用户的CPU使用率
    Oracle常用SQL语句大全
    深入理解JavaScript中的精度丢失
    java字符串比较是否都可直接使用==?
    通过CSS控制解决elementUI只显示一个message提示框的问题。
    Vue--ElementUI实现退出功能
    vue-element-admin--环境搭建
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/13918284.html
Copyright © 2020-2023  润新知