相关滤波跟踪算法-CSK

news2025/5/23 23:32:10
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.coloradmin.cn/o/1564039.html

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

相关文章

Makefile:通用部分头文件与条件判断(八)

1、通用部分做头文件 首先举个例子看看为什么需要这个东西,例如在一个文件夹下有两个项目,两个项目都需要编写makefile编译,此时可以使用公共头文件 目录结构如下: 1.1、项目(一) 有a.cpp、b.cpp、c.cpp…

虚拟机安装银河麒麟

背景 由于Centos将于2024-06-30结束维护【脱保】,届时会存在Bug无人修复及功能无人开发等问题,所以要赶在这个节点前完成操作系统升级。可选的就是RedHat、Ubuntu以及国产信创【中标麒麟、银河麒麟、统信等】,或者使用云上操作系统【例如租阿…

嵌入式4-2

今日作业&#xff1a;使用文件IO 实现父进程向子进程发送信息&#xff0c;并总结中间可能出现的各种问题 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <fcntl.h> #include <unistd.h> int m…

C#中值类型与引用类型的存储

目录 值对象与引用对象的存储 引用对象的成员存储 值对象与引用对象的存储 数据项的类型定义了存储数据需要的内存大小及组成该类型的数据成员。类型还决定了对象在内存中的存储位置——栈或堆。 C#中类型分为两种&#xff1a;值类型和引用类型&#xff0c;这两种类型的对象…

YOLOv8全网独家改进: 小目标 | 注意力 |卷积和注意力融合模块(CAFMAttention) | 2024年4月最新成果

💡💡💡本文独家改进:卷积和注意力融合模块(CAFMAttention),增强对全局和局部特征的提取能力,2024年最新的改进思路 💡💡💡创新点:卷积和注意力巧妙设计 💡💡💡如何跟YOLOv8结合:1)放在backbone后增强对全局和局部特征的提取能力;2)放在detect前面,增…

公司只有一个测试,要怎么继续呆下去?

在面试的时候&#xff0c;面试官可能会问&#xff1a;小公司、小团队&#xff0c;岗位就你一个人&#xff0c;怎么做 &#xff1f; 或者已经有的小伙伴已经在公司中面临只有一个测试的处境&#xff0c;这个时候我们应该怎么处理呢&#xff1f; 一 原因分析 公司只有一个测试人…

网易云首页单页面html+css

网页设计与网站建设作业htmlcss 预览 源码查看https://hpc.baicaitang.cn/2083.html

1999-2022年上市公司员工人数数据

1999-2022年上市公司员工人数数据 1、时间&#xff1a;1999-2022年 2、指标&#xff1a;证券代码、时间、员工人数 3、来源&#xff1a;整理自csmar 4、范围&#xff1a;上市公司 5、指标解释&#xff1a; 上市公司员工人数是衡量公司规模和发展状的重要指标。该数据直接…

4.2 JavaWeb Day05分层解耦

三层架构功能 controller层接收请求&#xff0c;响应数据&#xff0c;层内调用了service层的方法&#xff0c;service层仅负责业务逻辑处理&#xff0c;其中要获取数据&#xff0c;就要去调用dao层&#xff0c;由dao层进行数据访问操作去查询数据&#xff08;进行增删改查&…

Vision Pro开发实践(一)

简介 Vision Pro是苹果公司的首款头戴式“空间计算”显示设备&#xff0c;于2023年6月6日在“WWDC2023”正式发布&#xff0c;同时推出的还有专为Vision Pro打造的操作系统平台visionOS&#xff0c;以及一整套“新的”开发工具&#xff0c;之所以打引号&#xff0c;是因为用于…

Taro多行文本最多展示5行,超出“查看更多”展示,点击弹层

Taro中&#xff0c;页面需求&#xff1a; 多行文本&#xff0c;展示最多展示5行&#xff0c;超出5行&#xff0c;展示“查看更多”按钮&#xff0c;点击弹层展示文本详细信息。 弹层代码就不说了&#xff0c;着重说一下怎么获取区域高度&#xff5e; 1.区域设置max-height&am…

【AI绘画/作图】风景背景类关键词模板参考

因为ds官网被墙,所以翻了IDE的源码整理了下stablestudio里的官方模板&#xff0c;顺便每个模板生成了一份…不知道怎么写关键词的可以参考 Stunning sunset over a futuristic city, with towering skyscrapers and flying vehicles, golden hour lighting and dramatic cloud…

java的警示之有危险的行为

&#x1f468;‍&#x1f4bb;作者简介&#xff1a;&#x1f468;&#x1f3fb;‍&#x1f393;告别&#xff0c;今天 &#x1f4d4;高质量专栏 &#xff1a;☕java趣味之旅 欢迎&#x1f64f;点赞&#x1f5e3;️评论&#x1f4e5;收藏&#x1f493;关注 &#x1f496;衷心的希…

ssm016基于 Java Web 的校园驿站管理系统+jsp

校园驿站管理系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对校园快递信息管理混乱&#xff0c;出…

类和对象的下篇

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

从零实现一个Http服务器

HttpServer HTTPServer项目是一个基于C编写的简单的HTTP服务器实现&#xff0c;用于处理客户端的HTTP请求并提供相应的服务。该项目使用了Socket编程来实现服务器与客户端之间的通信&#xff0c;通过监听指定的端口并接受客户端连接&#xff0c;然后解析HTTP请求并生成对应的H…

新版Pubmed初识

PubMed基本检索操作指南。 PubMed和MEDLINE MEDLINE是美国国立医学图书馆&#xff08;The National Library of Medicine&#xff0c;NLM&#xff09;开发的国际性综合生物医学信息书目数据库&#xff0c;是当前国际上最权威的生物医学文献数据库。内容包括美国医学索引&…

通过提交容器的方式修改ubuntu镜像的apt源

通过提交容器的方式修改ubuntu镜像的apt源 步骤总结 问题&#xff0c;每次创建容器之后&#xff0c;都要在容器内手动更改镜像源。 不如&#xff0c;干脆修改镜像的apt源&#xff0c;一次到位。 步骤 先创建一个容器&#xff0c;到容器内执行变更命令。 D:/sandbox> dock…

Sora 基础作品之 DiT:Scalable Diffusion Models with Transformer

Paper name Scalable Diffusion Models with Transformers (DiT) Paper Reading Note Paper URL: https://arxiv.org/abs/2212.09748 Project URL: https://www.wpeebles.com/DiT.html Code URL: https://github.com/facebookresearch/DiT TL;DR 2022 年 UC Berkeley 出…

vue 移动端弹窗带滚动效果 滚动到底的时候弹窗下的页面会跟着滑动

<template><div class"wrap" :style"dynamicStyle"><!--dynamicStyle主要是介个 通过computed设置postion的值 弹窗的时候设置为fixed 关闭弹窗的时候设置为unset--><div class"banner-wrap"><img src"/assets/…