目标跟踪整理(1)之MOSSE

2023-11-09

之前读过一遍MOSSE了,读完还是有一种懵懵的感觉。最近还需要入基于相关滤波的目标跟踪的坑,所以又屁颠屁颠跑来深入理解一下,毕竟是相关滤波的始祖啊。

Visual Object Tracking using Adaptive Correlation Filter

 

一、补充知识:

1、复共轭:实部相等,虚部互为相反数(真的连这个都快记不清了。。。)

2、离散傅里叶变换(DFT),是傅里叶变换在时域和频域上都呈现离散的形式,将时域信号的采样变换为在离散时间傅里叶变换(DTFT)频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作经过周期延拓成为周期信号再作变换。在实际应用中通常采用快速傅里叶变换(FFT)以高效计算DFT。

二、卷积与相关:

1、卷积:

y\left ( n \right )= x\left ( n \right )\ast h\left ( n \right )= \sum_{m=0}^{N}x\left ( m \right )\cdot h\left ( n-m \right )

2、相关:

y\left ( n \right )= x\left ( n \right )\circledast h\left ( n \right )= \sum_{m=0}^{N}x\left ( m \right )\cdot h\left ( m-n\right )

3、数学关系:

y\left ( n \right )= x\left ( n \right )\circledast h\left ( n \right )=x\left ( n \right )\ast h\left ( -n \right )

频域关系:

卷积:G= X\odot H;  相关:G= X\odot H^{\ast }

其中\odot表示元素相乘,\ast表示复共轭

4、物理关系:

卷积操作需要将其中一个信号进行反转,再平移、相乘再相加。而相关操作则不需要反转,相关是直接进行平移然后元素相乘再相加的。

三、基于相关滤波的跟踪器:

1、计算输入图像的2D傅里叶变换:F= F(f)F= F\left ( f \right )

2、计算滤波器的2D傅里叶变换:H= HH= F\left ( h \right )

3.1 preprocessing

作者在这里说应用FFT算法会出现的一个问题是图像和滤波器被转化到一个环面的拓扑结构上,换句话说,图像的左边缘与右边缘被连接在了一起。上边缘和下边缘被连接到了一起,进行卷积操作时,图像在环形空间中旋转而不是像在空间域中一样。

是因为在做FFT之前需要现将图像和滤波器都进行周期性延拓

作者采用了三种方法来缓解这个现象所带来的问题:

1、采用对数函数将像素值进行里转换,据说是可以helps with low cintrast lighting situations

2、像素值归一化

3、加余弦窗

3.2 MOSSE filters

开始时需要一系列的训练图像f_{i}和训练的输出g_{i},其中g_{i}一般为峰值在目标中心的2DGaussian

训练一般是在傅里叶域进行的,有:

H_{i}^{\ast }=G_{i}/F_{i}   这里的除法为按元素除法

训练时的优化函数为:

min\sum_{i}\left | F_{i}\odot H^{\ast }-G_{i} \right |^{2}

   需要求解的H^{\ast }为:

H^{\ast }= \frac{\sum_{i}G_{i}\odot F_{i}^{\ast }}{\sum_{i}F_{i}\odot F_{i}^{\ast }}           (5)

作者观察了一下这个解,发现该解的分子为为输入与期望输出的乘积,而分母是输入的能量谱。而且从该公式可以看出UMACE这个跟踪器是MOSSE的一种特殊情况(没有看过UMACE不知道说的是啥意思),反正就是MOSSE更好。

3.3 与ASEF相比:

1、当训练样本只有一个时,求解的滤波器为精确滤波器,此时滤波器可从下式求解:

H_{i}^{\ast }= \frac{G_{i}}{F_{i}}= \frac{G_{i}\odot F_{i}^{\ast }}{F_{i}\odot F_{i}^{\ast }}   (7)

但是只有一个训练样本容易过拟合,故:

2、ASEF采用平均的方法,即

H^{\ast }= \frac{1}{N}\sum_{i}\frac{G_{i}\odot F_{i}^{\ast }}{F_{i}\odot F_{i}^{\ast }}

但是它在小样本时特别是样本本身的频谱能量不高时表现不好(分母太小),而此时MOSSE则更加稳定

3、其次针对样本本身的频谱能量不高的问题,作者认为可以采用正则化的方法缓解,即(5)式的分母更正为:

F_{i}\odot F_{i}^{\ast }+\varepsilon  作者解释说这相当于在训练时候加了白噪声,使得滤波器更加稳定。

3.4 Filter initialization and online updates

1、训练集是在第一帧中采用随机放射变换产生了跟踪窗口的8个小绕动。

模型更新updates:

2、ASEF的更新策略为:

H_{i}^{\ast }= \eta \frac{G_{i}\odot F_{i}^{\ast }}{F_{i}\odot F_{i}^{\ast }}+\left ( 1-\eta \right )H_{i-1}^{\ast }    (9)

对该更新策略的理解:

加号后面一项比较好理解,把上一帧的滤波器以一定的权重加到该帧的滤波器中,加号前面的那一项可以结合(7)式去理解,即第一项是根据该帧求得的滤波器的解乘以权重\eta

3、MOSSE的更新策略:

H_{i}^{\ast }= \frac{A_{i}}{B_{i}}                                                            (10)

A_{i}= \eta {G_{i}}\odot F_{i}^{\ast }+\left ( 1-\eta \right )A_{i-1}                    (11)

B_{i}= \eta {F_{i}}\odot F_{i}^{\ast }+\left ( 1-\eta \right )B_{i-1}                    (12)

看完ASEF的更新策略再看MOSSE的更新策略有点懵圈:A_{i}B_{i}都是怎么初始化的呢?根据第一帧(5)式的分子分母初始化?

这样分别更新分子分母,再相除得到更新后的滤波器与ASEF的更新相比优点在哪里呢?文章好像也没有再进行进一步的讨论,A_{i}B_{i}初始化的问题留到阅读完代码吧。

3.5 failture detection and PSR

衡量峰值强度的一个简单方法为 peak to sidelobe ratio(PSR)峰值旁瓣比。计算相关输出g的PSR:根据峰值周围11×11的窗口分别计算峰值(即最大值)和剩下的像素的值。

PSR= \frac{g_{max}-\mu _{s1}}{\sigma _{s1}}

其中g_{max}是峰值,\mu _{s1}\sigma _{s1}是旁瓣的均值和标准差。

PSR:20-60时峰值较稳定,7左右时跟踪失败或者已经发生遮挡

遗留问题:Ai和Bi的初始化、PSR计算方法、附录A的推导也还没搞懂。。。

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标跟踪整理(1)之MOSSE 的相关文章

  • 【论文解读】Observation-Centric SORT:Rethinking SORT for Robust Multi-Object Tracking

    一 介绍 1 1 之前卡尔曼方法存在的问题 1 长时间的运动的线性估计可能是非常不准确的 2 当没有可用于更新卡尔曼滤波器参数的测量时 标准惯例是信任先验状态估计进行后验更新 这导致了在一段时间内错误的积累 1 2 基于假设 假设跟踪目标在
  • 相关滤波的视觉目标跟踪算法学习

    相关滤波的视觉目标跟踪算法学习内容 1 视觉目标跟踪的难点 训练数据有限 通用目标跟踪任务中 目标先验知识缺乏 仅有目标初始位置信息 目标不确定性 跟踪过程中 随着目标尺寸 形状以及姿态等变化 其外观模 型存在明显差异 多目标跟踪任务中 当
  • Fisher信息量检测对抗样本代码详解

    1 引言 在上一篇 Fisher信息量在对抗样本中的应用 中详尽地阐述了Fisher信息量在对抗攻击 防御 以及检测中的应用 并解析了三篇具有代表性的论文 Fisher信息量是可以用来去挖掘深度学习模型对抗行为的深层原因的非常好用一个数学工
  • ByteTrack 多目标跟踪 测试笔记

    目录 多目标跟踪2022个人汇总知识 Results on MOT challenge test set ByteTrack 简介 转自知乎 1 Motivation 2 byte原理
  • 【状态估计】基于卡尔曼滤波器和扩展卡尔曼滤波器用于 INS/GNSS 导航、目标跟踪和地形参考导航研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 算例1 2 2 算例2 2 3 算例3 3 参考文献 4 Matlab代码及数据 1
  • 深度学习实战(四):行人跟踪与摔倒检测报警

    深度学习实战 四 行人跟踪与摔倒检测报警 1 项目简介 1 1 相关工作 2 方法简介 2 1 总体结构 2 2 骨架的图结构 2 3 空间图卷积网络 2 3 1 Sampling Function 2 3 2 Weight Functio
  • 元代理模型可迁移对抗攻击

    1 引言 该论文是关于黑盒攻击可迁移性的文章 在当前大量的研究中 许多方法直接攻击代理模型并获得的可迁移性的对抗样本来欺骗目标模型 但由于代理模型和目标模型之间的不匹配 使得它们的攻击效果受到局限 在该论文中 作者从一个新颖的角度解决了这个
  • SCTracker 跟踪论文阅读笔记

    SCTracker 跟踪论文阅读笔记 SCTracker Multi object tracking with shape and confidence constraints 论文链接 未开源状态 论文主要更新点围绕shape const
  • 匹配算法之 匈牙利算法详解

    参考 算法学习笔记 5 匈牙利算法 漫谈匈牙利算法 匈牙利算法 KM算法 匈牙利算法 二分图 通俗易懂小白入门 二分图最大匹配 匈牙利算法 多目标跟踪之数据关联 匈牙利匹配算法和KM算法 小白学习笔记 一 目标跟踪 匈牙利匹配 一 匈牙利算
  • ECCV2022 多目标跟踪(MOT)汇总

    一 Towards Grand Unification of Object Tracking 作者 Bin Yan1 Yi Jiang2 Peize Sun3 Dong Wang1 Zehuan Yuan2 Ping Luo3 and Hu
  • 【第60篇】多目标跟踪:文献综述

    文章目录 摘要 1 简介 1 1 与其他相关综述的区别 1 2 贡献 1 3 综述的结构 1 4 外延 2 MOT问题 2 1 问题公式化 2 2 MOT的分类 2 2 1 初始化方法 2 2 2 处理方式 2 2 3 输出类型 2 2 4
  • ZYNQ图像处理项目——帧差法运动目标跟踪

    一 帧差法运动目标跟踪概述 1 1 基本原理 帧差法顾名思义就是对输入的前后两帧图像做差值 然后检测出两帧图像不同的地方 并且可以实时跟踪运动的目标轮廓 本设计是基于ZYNQ7010和VIVADO2018 3实现的帧差法运动目标检测 针对运
  • CSTrack: Rethinking the competition between detection and ReID in Multi-Object Tracking

    CSTrack Rethinking the competition between detection and ReID in Multi Object Tracking 论文链接 https arxiv org abs 2010 121
  • 目标跟踪算法

    目标跟踪算法 一 目标跟踪算法简介 1 1 主要任务 1 1 1 Online Visual Tracker BenchMark 1 1 2 VOT 1 2 难点与挑战 1 3 分类 1 3 1 常规分类 1 3 2 时间分类 二 常用算法
  • CVPR-2022- MixFormer: End-to-End Tracking with Iterative Mixed Attention 阅读笔记

    目录 端到端的MixFormer跟踪整体框架 Mixed attention module MAM 基于角的定位头 基于查询的定位头 分数预测模块 SPM 论文地址 https arxiv org abs 2203 11082 代码地址 h
  • 单目标跟踪算法评价指标

    中心位置误差 center location error CLE 中心位置误差为预测的目标中心和真实的目标中心之间的欧氏距离 以像素为单位 xa ya 表示预测目标中心位置 xb yb 表示真实的目标中心位置 距离精度 diatance p
  • 一种全自动的牙齿CBCT三维个体识别和分割方法

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 小白导读 论文是学术研究的精华和未来发展的明灯 小白决心每天为大家带来经典或者最新论文的解读和分享 旨在帮助各位读者快速了解论文内容 个人能力有限 理解难免出现偏差 建议
  • yolov5 deepsort 行人/车辆(检测 +计数+跟踪+测距+测速)

    功能 简介 实现了局域的出 入 分别计数 显示检测类别 ID数量 默认是 南 北 方向检测 若要检测不同位置和方向 需要加以修改 可在 count car traffic py 点击运行 默认检测类别 行人 自行车 小汽车 摩托车 公交车
  • Windows下PP-Tracking多目标跟踪数据训练

    PP Tracking之手把手玩转多目标跟踪 飞桨AI Studio 人工智能学习与实训社区PP Tracking之手把手玩转多目标跟踪 飞桨AI Studio 人工智能学习与实训社区https aistudio baidu com ais
  • 深度学习目标跟踪算法

    ECCV 2022 OSTrack Joint Feature Learning and Relation Modeling for Tracking https blog csdn net qq 41442511 article deta

随机推荐

  • sql group_contact()、concat()、concat_ws函数

    2019 08 12同事给我上了一课 以前从来没有注意过这group contact 函数 感谢同事兄弟 一 CONCAT 函数 CONCAT 函数用于将多个字符串连接成一个字符串 1 语法及使用特点 CONCAT str1 str2 返回
  • vscode代码行数显示与关闭

    vscode代码行数显示与关闭 在设置里搜索 editor lineNumbers即可
  • 毕业设计-基于深度卷积神经网络的焊缝图像滤波系统

    目录 前言 课题背景和意义 实现技术思路 一 优化网络结构 二 WIF CNN的建立与训练 三 结果与讨论 四 总结 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业
  • 【前端】Vue项目:旅游App-(10)city:以indexBar的形式显示数据

    文章目录 目标 过程与代码 分析数据并展示 封装到一个组件 添加indexBar 样式修改 优化tab栏的切换 效果 总代码 修改或新增的文件 common css city vue currentGroupCity vue main js
  • 主线程和子线程结束的关系

    一 Main线程是个非守护线程 不能设置成守护线程 原因 main线程是由java虚拟机在启动的时候创建的 main方法开始执行的时候 主线程已经创建好并在运行了 对于运行中的线程 调用Thread setDaemon 会抛出异常Excep
  • 推荐:互联网思维必读十本书

    最近在商界最流行的词汇 莫过于 互联网思维 了 互联网思维 就像一部让人垂涎的武林秘籍 得之可化腐朽为神奇 无论是小米 阿芙精油 或是卖煎饼的黄太吉 都宣称自己用互联网思维取得了巨大的胜利 那 互联网思维 究竟是什么呢 有人认为互联网思维就
  • WebRTC音视频通话-iOS端调用ossrs直播拉流

    WebRTC音视频通话 iOS端调用ossrs直播拉流 之前实现iOS端调用ossrs服务 文中提到了推流 没有写拉流流程 所以会用到文中的WebRTCClient 请详细查看 https blog csdn net gloryFlow a
  • openstack排错

    创建云主机失败 neutron agent list 计算节点服务没起来 实际是起来的 观察时间有问题 同步时间 root compute ntpdate controller 再看控制节点 起来了 也能创建云主机了
  • 配置HUE 遇到Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

    错误 Error in sasl client start 4 SASL 4 no mechanism available No worthy mechs found 解决方法 yum install cyrus sasl plain cy
  • c语言中typedef和define的区别

    define是宏替换 编译后代码中不存在 define u8 uint 8 意味着程序中所有u8被替换为uint 8 在最终代码中根本不会存在u8这个符号 只有uint 8这个符号 typedef 是用来定义一种类型的新别名的 它不同于宏
  • Linux搭建服务器之六:安装kafka

    windows安装kafka 请点击 https blog csdn net weixin 44039105 article details 129240685 spm 1001 2014 3001 5502 安装jdk https blo
  • 关于STM32串口烧录后程序正常运行,但是掉电或复位后程序不正常运行的可能解决方法。

    关于STM32串口烧录后程序正常运行 但是掉电或复位后程序不正常运行的可能解决方法 BOOT0 BOOT1 MODE 0 X FLASH 1 1 SRAM 1 0 ISP BOOT0置1 BOOT1置0 开启串口烧录模式 用FlyMcu烧录
  • 回首2021,展望2022

    律回春晖渐 万象始更新 2022年的曙光即将照射到这片平畴沃野 在这辞旧迎新的时刻 观成科技祝大家 新年快乐 吉祥如意 2021年 对于网络安全行业来说又是不平凡的一年 疫情反复 网络安全事件频发 网络安全的攻防对抗烈度和重视程度都达到了一
  • 区块链入门二:区块不可篡改

    区块链入门一 什么是区块链 在上一篇中 简单介绍了什么是区块链 这一篇主要介绍区块链的不可篡改的特性 首先我们来了解下哈希 Hash 算法 这是百度的描述 简单来说就是一种不可逆的摘要算法 哈希算法的目的就是为了验证原始数据是否被篡改 常用
  • 【满分】【华为OD机试真题2023 JAVA&JS】字母组合

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 字母组合 知识点回溯 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 每个数字对应多个字母 对应关系如下 0 a b c 1 d e f 2 g h i 3 j
  • vue面试题汇总

    HTML篇 CSS篇 JS篇 TypeScript篇 React篇 微信小程序篇 前端面试题汇总大全 含答案超详细 HTML JS CSS汇总篇 持续更新 前端面试题汇总大全二 含答案超详细 Vue TypeScript React 微信小
  • MySQL索引底层:B+树详解

    前言 当我们发现SQL执行很慢的时候 自然而然想到的就是加索引 对于范围查询 索引的底层结构就是B 树 今天我们一起来学习一下B 树哈 Mysql有什么索引 索引模型是什么 树简介 树种类 B 树 B 树简介 B 树插入 B 树查找 B 树
  • python3 清除过滤emoji表情

    前段时间发现了一个 人工智能学习网站 通俗易懂 风趣幽默 分享一下给大家 学习链接 python3 清除过滤emoji表情 第一种方法 使用emoji处理库 安装emoji 使用 import emoji test str 服务周到 性价比
  • 汇编语言(王爽第三版)实验二

    实验二 题目预览 使用Debug 将下面的程序段写入程序 逐条进行 根据指令执行后的实际运行情况填空 仔细观察图3 19中的实验过程 然后分析 为什么2000 0 2000 F中的内容会发生改变 1 使用Debug 将下面的程序段写入程序
  • 目标跟踪整理(1)之MOSSE

    之前读过一遍MOSSE了 读完还是有一种懵懵的感觉 最近还需要入基于相关滤波的目标跟踪的坑 所以又屁颠屁颠跑来深入理解一下 毕竟是相关滤波的始祖啊 Visual Object Tracking using Adaptive Correlat