相关滤波跟踪算法-CSK

0. 写在前面

        对相关滤波算法综述比较强的文档:

        NIUBILITY的相关滤波框架详解 - 知乎 (zhihu.com)

1. 概述

        相关滤波算法问世之前,跟踪算法饱受运行时间的困扰,直到MOSSE算法出现,直接将算法速度提到了615fps,第一次将跟踪算法和相关滤波扯上关系,一下就激发了全民优化的热情。

        从MOSSE(615)->CSK(362)->KCF(175)->CN(152),速度虽然有些下降,但效果越来越好。始终保持在高速水平。

2. CSK

        KCF和DCF这两种算法和CSK差别不大,先从单通道灰度特征的,没有kernel-trick(核技巧)的CSK开始,了解相关滤波算法原理和具体流程。

        1.  岭回归(Ridge Regression),相关滤波也是判别类算法,选择了最简单的机器学习方法岭回归,岭回归和封闭解,见如下公式:

         岭回归简单点描述就是最小二乘法+二次正则项,且最大优势封闭解可以快速优化;卷积操作与相关操作的区别仅在于是否将卷积核旋转180度,如果卷积核对称,卷积就和相关一样了。

        这里还要提一下,线性分类器,训练完成后的分类器参数W可视化之后,能得到目标轮廓的模糊图像,也就是分类模板,同样,类比岭回归,训练中,得到目标的模子之后,测试过程中拿测试样本逐个和模子对比,如果和模子相似,就会得到比较接近1的结果,完全对不上就是0。所以相关滤波也属于模板类方法,所用的特征叫做模板类特征

        2.循环移位(Cyclic shifts),相关滤波的训练样本是通过循环移位产生的,原因有二:

                (1)密集采样得到的样本与循环移位产生的样本很像,可以用循环移位来近似;

                (2)卷积(相关)运算在傅里叶域对应点乘运算,可以减少计算量,循环矩阵经过傅里叶变换会对角化,可以进一步减小计算量

        3. 训练标签,又高斯函数产生的连续值相关滤波是回归非分类原始样本是跟踪框和1~1.5倍padding得到的图像块,再乘一个余弦窗,训练样本集是原始样本通过循环移位得到的,原始图像中心点移位后对应高斯图位置的值就是这个移位样本的标签。

        将封闭解变换到傅里叶域,结合循环矩阵的特性将样本集进行化简,得到最终的封闭解:

        4. 循环移位的样本集是隐形的并未有真正的产生过,只是在推导过程中用到了,所以不需要额外开辟内存空间去存储这些样本

        5. 检测过程,用训练得到的分类器对检测区域图像块的每一块循环移位样本做相关操作,得到一个响应值,所以移位样本的响应值会构成一幅响应图,与特征图的大小一致,最大响应点就是跟踪目标的中心;这里也可以在傅里叶域简化,而不用真正去循环移位产生检测样本并分类,计算高效节省内存;

        举个例子,100*100的检测块,目标中心位于边缘附近(20,20)位置,在检测过程中会持续循环移位并于滤波模板比较,只有当目标移位到中心时响应最大,这个最大值会写入响应图(20,20)位置。

        6. 作者发现给岭回归加入kernel-trick,也可以推导出封闭解,推荐高斯核

        到现在,CSK算法基本成型了,100*100的图像块,经过傅里叶变换和简单的元素级点乘计算,事实上已经完成了10000个样本和10000个样本的检测,复杂度由O(mn*mn)降低到了O(mn*log(mn)),m和n是图像的高乘宽,也就是说CSK的复杂度与图像块的像素点总数有关,padding大小会影响复杂度;循环移位生成的近似样本集结合FFT(傅里叶变换)巨降计算量,;

虽然也有边界效应带来的负面影响,但检测速度和效果都碾压以前的跟踪的算法。

3. 最后

        下一篇就是和MOSSE算法的联系和KCF的改进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9proxy—数据采集工具全面测评

9Proxy数据采集工具Unlock the web with 9Proxy, the top residential proxy provider. Get unlimited bandwidth, affordable prices, and secure HTTPS and Socks5 configurations.https://9proxy.com/?utm_sourceblog&utm_mediumcsdn&utm_campaignyan 前言 在当今数…

2024年04月数据库流行度最新排名

点击查看最新数据库流行度最新排名(每月更新) 2024年04月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…

利用Flutter的混淆工具保护应用代码安全

在移动应用开发中,保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具,帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆,并提供了相关的操作步骤和注意事项。 📝 摘要 本…

我的C++奇迹之旅:值和引用的本质效率与性能比较

文章目录 📝引用🌠引用概念🌉引用特性 🌠使用场景🌉做参数(传值与传地址)🌉传值、传引用效率比较 🌠引用做返回值🌉引用和指针的区别 🌠常引用&am…

苹果开发者账号注册步骤中的常见疑问解答与技巧分享

转载:注册苹果开发者账号的方法 在2020年以前,注册苹果开发者账号后,就可以生成证书。 但2020年后,因为注册苹果开发者账号需要使用Apple Developer app注册开发者账号,所以需要缴费才能创建ios证书了。 所以新政策出…

蓝桥杯-单片机基础12——对芯片LM555产生的频率脉冲计数思路

蓝桥杯单片机组备赛指南请查看 :本专栏第1篇文章 本文章针对蓝桥杯-单片机组比赛开发板所写,代码可直接在比赛开发板上使用。 型号:国信天长4T开发板(绿板),芯片:IAP15F2K61S2 (使…

如何在CentOS安装StackEdit Markdown编辑器并实现无公网IP远程访问使用

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安…

反射的学习

反射的作用: 1.获取一个类里面的所有信息,获取到之后,在执行其他的业务逻辑 2.结合配置文件,动态的创建对象并调用方法

(4)(4.5) Underwater Sonar (Analog)

文章目录 前言 1 推荐硬件 2 连接和配置 3 参数说明 前言 本页详细介绍了低成本模拟水下声纳(又称"探鱼器")和数字转换器的设置,数字转换器可将模拟读数转换成 NMEA 0183,供 ardupilot 读取。这种设置可以测量船下…

Kubernetes篇(三)— 资源管理

目录 前言资源管理介绍YAML语言介绍资源管理方式命令式对象管理命令式对象配置声明式对象配置 前言 本章节主要介绍yaml语法和kubernetes的资源管理方式 资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。 …

【THM】SQL Injection(SQL注入)-初级渗透测试

简介 SQL(结构化查询语言)注入,通常称为 SQLi,是对 Web 应用程序数据库服务器的攻击,导致执行恶意查询。当 Web 应用程序使用未经正确验证的用户输入与数据库进行通信时,攻击者有可能窃取、删除或更改私人数据和客户数据,并攻击 Web 应用程序身份验证方法以获取私有数据…

java-map接口学习

java-map接口学习 Java Map接口HashMapLinkedHashMapTreeMap例子 Java Map接口 Map接口是基于键(key)和值(value)对的集合。每个键值对被称为一个条目(entry)。Map中的键是唯一的。 如果需要根据键进行搜索、更新或删Java Map接口除元素,那么Map是很有用的。 在Ja…

PCB三大走线,如何高效率检查?

在PCB设计中,走线的布局与检查是至关重要的环节。按照走线类型,可分为直角走线、差分走线及蛇形线,如何针对这三种走线方式进行高效率检查,去也报电路的稳定性和可靠性? 1、直角走线 容性负载:观察直角拐角…

从SQL质量管理体系来看SQL审核(4)- 如何设计一个优秀的SQL审核引擎

如何设计一个优秀的SQL审核引擎 从SQL质量管理体系来看SQL审核系列包括多篇文章,从SQL质量管理体系的角度来讨论如何设计一个优秀SQL审核引擎,欢迎订阅。 从SQL质量管理体系来看SQL审核(1)- SQL质量管理体系概览 从SQL质量管理…

YOLOv9改进策略 :主干优化 | 无需TokenMixer也能达成SOTA性能的极简ViT架构 | CVPR2023 RIFormer

💡💡💡本文改进内容: token mixer被验证能够大幅度提升性能,但典型的token mixer为自注意力机制,推理耗时长,计算代价大,而RIFormers是无需TokenMixer也能达成SOTA性能的极简ViT架构 ,在保证性能的同时足够轻量化。 💡💡💡RIFormerBlock引入到YOLOv9,多个数…

JavaEE 初阶篇-深入了解单例模式(经典单例模式:饿汉模式、懒汉模式)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 单例模式的概述 2.0 单例模式 - 饿汉式单例 2.1 关于饿汉式单例的线程安全问题 3.0 单例模式 - 懒汉式单例 3.1 关于懒汉式单例的线程安全问题 3.1.1 加锁 synchr…

spring boot3登录开发-3(2短信验证登录/注册逻辑实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途 目录 写在前面 上文衔接 内容简介 功能分析 短信验证登录实现 1.创建交互对象 用户短信登录/注册DTO 创建用户登录VO…

IOTX:未来市场爆发点的RWA协议?DePIN赛道被低估的龙头

从基本面来看,IoTeX的目标是创建一个连接的世界,在这个世界中,每个人都能控制自己的数据、设备和身份。通过区块链技术,IoTeX旨在解锁智能设备和数据的潜力,支持新一代的现实世界Dapp和数字资产的发展。IOTX始终致力于…

红黑树剖析

目录 一. 红黑树的概念 二. 红黑树的性质 三. 红黑树节点的定义 四. 红黑树的插入操作 4.1 uncle存在且颜色为红 4.2 uncle不存在或者uncle存在且为黑 五. 整体代码展示 一. 红黑树的概念 红黑树,是一种二叉搜索树,但在每…

OpenCV 4.9基本绘图

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV使用通用内部函数对代码进行矢量化 下一篇:OpenCV系列文章目录(持续更新中......) ​目标 在本教程中,您将学习如何&am…