Exploiting the Circulant Structure of Tracking-by-detection with Kernels(CSK)

目标跟踪系列十一:Exploiting the Circulant Structure of Tracking-by-detection with Kernels代码思路 这篇文章很赞啊!很有必要将其好好的学习,今天首先记录 阅读详情

Exploiting the Circulant Structure of Tracking-by-detection with Kernels [paper] [code]

目标跟踪CSK代码出自ECCV2012,其主要的贡献是在MOSSE的基础上使用了核函数,同时证明了核函数是循环矩阵,通过循环矩阵可以实现密集采样。

预备知识

作者给出的整体思路


这张图片已经对CSK的整个思路梳理的很清晰。

几点理解

  • 为什么说循环矩阵就可以实现在一张图片上对在搜索区域内的所有子窗口进行密集采样呢?
    我的理解是:循环位移相当于目标框(上一帧得出的以目标中心范围,也可以理解为框的范围)不动,而在当前帧截取的图片(也就是搜索区域)动,每移动一次就可以求出目标框与搜索区域重叠部分的互相关值即C(x)y,这样互相关值越大,就说明越有可能是目标所在位置,这样就可以得出目标框与搜索区域每一部分的互相关值。
  • 代码dense_gauss_kernel.m文件中有将零频分量移到频谱中心的操作,做以下说明:
    通过输出mesh(x)与mesh(xf)可以看到x的能量集中在中心位置(其已经进行过加余弦窗处理),而xf的信号能量将集中在系数矩阵的四个角上。
    这是由二维傅里叶本身性质决定的:若变换矩阵原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅里叶变换矩阵的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。表明了图像能量集中低频区域。
    而MATLAB的fft函数进行傅里叶变换时,其变换矩阵原点就在左上角,因此造成了形成的傅里叶域内的图像能量集中在四角.这就导致了傅里叶变换后频谱图上的各点与图像上各点并不存在一一对应的关系,因此要将其对应回来(MATLAB官方说法是零频分量移到频谱中心),MATLAB官方给出的是使用fftshift函数,而本文作者在下面使用了circshift(ifft2(xyf),floor(size(x)/2))操作,实质上也是将零频分量移到频谱中心。只是fftshift更像是执行块操作(如果 X 是矩阵,则 fftshift 会将 X 的第一象限与第三象限交换,将第二象限与第四象限交换.),而circshift更像是一位一位的移动,直到移动到满足需要移动的位移数为止。
  • 论文P11的Algorithm1的第三个函数function k = dgk(x1, x2, sigma)对于k的求解时除以了numel(x1),这是高斯核,而对于论文中求解的高斯核并没有这一项,论文中也没有解释为什么存在这一项,这里写下自己的理解:
    首先要看到的一点是numel(x1)=numel(x2).
    再就是解释这里为什么除以numel(x1):通过将除numel(x1)和不除两种情况下的mesh(k)输出和查看k的值分析,如若不除以numel(x1),那么除了中心点外在其他位置的k_i都无限趋近于0,k的输出值直接取了0,这就导致了核k会认为除了正好截取到目标,其他情况都认为目标出图找不到了,通俗解释就是跟踪中心点偏一点都不可以,鲁棒性太差。而除以numel(x)后,会将所有的值都在一个很小的范围内,k值输出更平滑,鲁棒性更好。使用dog1数据集进行测试验证了分析,可以看到,当dog1中dog移动不大时,都可以跟踪到,稍微有点偏移就跟踪丢失了。
  • 由论文Eq.4可知C(u)v= F − 1 F^{-1} F−1( F ∗ ( u ) F^*(u) F∗(u) ⨀ \bigodot ⨀F(v)),也就是说C(y)x=ifft(F(xy))=ifft(F(x) .* F*(y)),可以看到只要执行ifft(F(x) .* F*(y)),就是对y进行了循环矩阵操作,同时求得y进行循环后其与x的互相关性,因为C(y)x是将y进行循环后求其与x的互相关性。
    这在给出的源码中就是直接使用的频域内的公式,在时域内就相当于已经进行了循环位移,将时域的循环转至频域内实现。
  • 此算法的重要参数求解都是在傅里叶领域内,是本文的创新点,也是速度快的一个原因。
  • 相关滤波的循环矩阵密集采样缺点:在搜索半径很大时非常慢,因此不适用于很大的采样空间。总的来说,tracking-by-detection类的局部搜索有很缺点,尤其是相关滤波,对快速运动目标很难处理。

自己总结的论文及相关公式推导


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

目标跟踪系列十三:Exploiting the Circulant Structure of Tracking-by-detection with Kernels 公式详细的推导 Exploiting the Circulant Structure of Tracking-by-detection with Kernels 公式详细的推导,整个的推导过程就是这样的,我是花了几个月的,分享给大家! 阅读详情

相关推荐

目标跟踪系列十二:Exploiting the Circulant Structure of Tracking-by-detection with Kernels代码关键记录

代码关键点记录:成功不远了!O(∩_∩)O 哈哈~ 1. Input : load_video_info.m 读入视频文件groundtruth_rect.txt(里面是4个一组的点,x,y, width ,height ?),得到有用的参数: target_sz = [ground_truth(1,4), ground_truth(1,3)];  得到的是目标的尺寸(这里好像

ikerpeng 7354

ECCV 2012 CSK:《Exploiting the circulantstructure of tracking-by-detection with kernels》论文笔记

  理解出错之处望不吝指正。   本文模型就是大名鼎鼎的CSK。   本文的贡献:     (1)稠密采样、循环移位;     (2)循环矩阵带来的快速计算;     (3)计算了不同的核函数的封闭解。 .   稠密采样、循环移位       如上图所示,以往的方法中,采用的都是随机采样,作者说这会带来很大的冗余,并且只使用到了bbox的局部特征。而作者提出的稠密采样可以...

lch的博客 2781

Tracking-Learning-Detection翻译

TLD 算法 Tracking-Learning-Detection翻译

Exploiting the Circulant Structure of Tracking-by-detection with Kernels 笔记

这是一篇ECCV2014年的paper,在这篇paper中作者提出了kernelized correlation filter,并将其应用到了tracking中,从而有了15年PAMIN的那篇文章,我再之前博客中也记录过 http://blog.youkuaiyun.com/carrierlxksuper/article/details/46461245 这篇文章的公式推导比较复杂,感兴趣的可以去看看

carrierlxksuper的专栏 3817

Kernelized Correlation filters(KCF)

论文《High-Speed Tracking with Kernelized Correlation Filters》的程序,可以在32位和64位机器上运行。

CSK论文翻译.doc

Exploiting the Circulant Structure of Tracking-by-detection with Kernels(CSK)的论文翻译

【论文阅读笔记】Exploiting the Circulant Structure of Trackin-by-detection with Kernels

论文发布时间:2012年 全文概括   这个方法,命名为CSK(Circulant Strructure … Kernels)。   作者发现,离散的分类器可以用于跟踪系统上,借鉴足够快速的线性分类器使用对偶空间的核机制的想法,使用循环结构的快速傅里叶变换可以加速跟踪的进行。【个人解读:用过滤器窗口在图片上遍历,找到最大相应的思想,和分类找到最大概率的类别是差不多的】 简介   之前的方法都有一...

时光机 °的博客 668

二次开发vba_CATIA VBA(VBS)二次开发:使用Search批量选择元素

在CATIA二次开发中很多在程序中进行自动交互的方法或函数都需要使用选择集作为参数,将几何元素按照要求批量添加到选择集中也是实现程序自动运行的有效方法。在前面的文章《CATIA使用VBA(VBS)二次开发时用户的交互选择》和《CATIA使用VBA(VBS)二次开发时工程图和草图位置的交互选择函数Indicate2D》中介绍了在CATIA VBA(VBS)二次开发中用户和选择集之间的交互操...

weixin_32497403的博客 1321

csk跟踪方法学习与探究

Exploiting the Circulant Structure of Tracking-by-detection with Kernels

u014085471的博客 1657

记录汇川:自由口通信-梯形图

最常见的就是MODBUS通信协议,指令主要通过RS232和RS485端口进行报文发送,所以通信报文格式可以选择MODBUS RTU通信格式或MODBUS ASCII通信格式。255---Y10-Y17:ON(1111 1111)指令进行报文的发送与接收,但是报文内部的数据格式不是由主站PLC决定, 而是由。修改从站一个保持寄存器数据。修改从站多个保持寄存器数据。读取从站的输出信号状态。读取从站的输入信号状态。读取从站保持寄存器数据。读取从站输入寄存器数据。

m0_61837027的博客 4914

STM32实战:电容触摸屏I2C转USB HID设备全解析

本文详细解析了基于STM32的电容触摸屏I2C转USB HID设备实现方案。通过硬件选型、协议分析和代码实现,展示了如何将GT911触摸屏数据转换为标准USB HID协议,并提供了关键调试经验与性能优化技巧,为智能家居控制面板等应用提供高性价比解决方案。

weixin_42548829的博客 320

目标检测之CSK(Exploiting the Circulant Structure of Tracking-by-detection with Kernels)

本文在MOSSE1的基础上,引入了Dense Sampling的采样方法和核函数。 Visual Object Tracking using Adaptive Correlation Filters ↩︎

u010948546的博客 1001

换频道——假想《道德经》与量子力学的一些联系

之前看到一位AI PM的前辈分享了自己对于PM境界的看法: 境界一,行事被放心。 境界二,独立主导产品线从0到1,做正确的事,并把事做正确。 境界三,一切以灵魂境界为基础,产品作为其理念的衍生。 对于我,3个月尝试于目标而无获,但塞翁失马焉知非福。自己已经具备境界一,虽然境界二尚未成熟,但境界三却有幸有所思考。 今天,往澳门的动车途中有感而发,为随笔。

1021

阅读笔记4:CSK:Exploiting the Circulant Structure of Tracking-by-detection with Kernels

本文是ECCV 2012一篇文章,是利用循环矩阵做目标追踪的里程碑文章,重点着眼于如何利用circulant 结构做目标跟踪以及背后的理论依据。 传统跟踪算法是根据当前帧目标位置,然后采样正,负样本,一般情况下离目标比较远的判定为负样本,离目标比较近的判定为正样本。由于考虑到实时跟踪的要求,为了减少计算量采用random sample样本,虽然这样降低了计算量但是对最终的分类器性能会有一定的影响

godloveme的专栏 1841

OpenClaw本地部署教程

本文详细介绍了在Windows 11系统上部署OpenClaw与Ollama本地模型的完整流程。主要内容包括:硬件要求说明、Node.js环境配置、Ollama模型安装与定制(重点扩展上下文窗口至32768 tokens)、OpenClaw核心框架安装与对接、常见问题解决(如模型上下文窗口过小报错)以及可选技能扩展和飞书接入方案。部署全程约需1-2小时,强调使用备用设备或虚拟机以确保安全,并提供关键配置参数和排错命令。该方案实现了"数据不出门、推理本地化"的私有化部署目标。

技术引领业务创新 2580

openpi 入门教程(一)安装、训练、微调与推理

OpenPI是由物理智能团队发布的机器人开源模型和软件包,包含两种主要模型:基于流的扩散视觉-语言-动作模型(VLA)的π₀模型和基于FAST动作标记器的自回归VLA的π₀-FAST模型。这些模型已在超过10,000小时的机器人数据上进行了预训练,并提供了基础模型检查点,支持开箱即用或根据用户数据集进行微调。OpenPI的实验性质意味着它可能不适用于所有平台,但鼓励研究人员和从业者进行创造性实验。运行这些模型需要至少具备NVIDIA GPU,推荐使用RTX 4090或更高规格的显卡。OpenPI支持在Ubu

2506_90492529的博客 5107

Exploiting the Circulant Structure of Tracking-by-detection with Kernels(CSK) 相关滤波跟踪器详解

ConquerHuang的博客 327

315、弱电基础知识介绍

常见的弱电系统包括:闭路电视监控系统、防盗报警系统、门禁系统、电子巡更系统、停车场管理系统、可视对讲系统、家庭智能化系统及安防系统、背景音乐系 统、LED显示系统、等离子拼接屏系统、DLP大屏系统、三表抄送系统、楼宇自控系统、防雷与接地系统、寻呼对讲及专业对讲系统、弱电管道系统、UPS不 间断电源系统、机房系统、综合布线系统、计算机局域网系统、物业管理系统、多功能会议室系统、有线电视系统、卫星电视系统、卫星通讯系统、消防系统、电话 通讯系统、酒店管理系统、视频点播系统、人力资源管理系统等等。

qq_43416206的博客 1365

ECCV2012跟踪算法CSK的配置(Exploiting the Circulant Structure of Tracking-by-detection with Kernels)

作者提供的代码下载地址为: http://www.robots.ox.ac.uk/~joao/circulant/ 1、下在matlab版本代码 2、打开run_tracker.m,更改数据集所在目录(此处使用的是OTB100数据集,下载地址为:https://blog.youkuaiyun.com/qq_17783559/article/details/82079220) 3、 打开loa...

博博有个大大大的Dream 1529

PCL 三维重建 基于B样条曲线的曲面重建算法

本文将介绍如何使用B样条曲线进行三维点云数据的曲面重建。B样条曲线和曲面是一种强大的数学工具,在计算机图形学、CAD设计等领域中广泛应用。通过对点云数据进行曲面拟合和优化,最终得到精确的曲面模型。本示例展示了如何利用PCL中的B样条曲线拟合算法进行三维曲面重建,并对重建结果进行可视化。

纵马踏花向自由 658

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

核-岭回归?循环卷积快速计算?CSK算法详尽推导:Exploiting the Circulant Structure of Tracking-by-Detection with Kernels

由于最近要写文献报告,读了这篇tracking经典文献后感觉里面的公式推导还是有些绕圈圈的,因此花了两天时间从头到尾推导了一下的公式! 在这里说明一下关于这篇Paper网上也有不少解析,但很多推导都有些问题,这篇Paper的中的问题也比较多,作者好像也修改了好几次。我第一次读的那个版本就把循环卷积和相关搞混了,以至于浪费了很多时间(嘤嘤嘤)。 下图的公式就错了。 这是最终版的Paper,但是我认为...

m0_37975036的博客 617

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Paper Reading:Exploiting the Circulant Structure of Tracking-by-detection with Kernels

论文链接:http://120.52.51.15/www.robots.ox.ac.uk/~joao/publications/henriques_eccv2012.pdf 摘要 阐述近年来开始使用判别器在跟踪系统中,并在目标跟踪上取得成功。由于该方法采用线上实时训练过程中采集样本点的方式,大规模的样本数会造成计算资源和实时性之间的冲突。与此同时适当删减样本数量也会导致跟踪效果变差。本文采...

demonszjin 355

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

CSK跟踪算法简介及代码的解读

(Exploiting the Circulant Structure of Tracking-by-detection with Kernels)Csk算法通过使用高斯核计算相邻两帧之间的相关性,取响应最大的点为预测的目标中心。该算法是固定目标大小的,对发生尺度变化的目标不鲁棒。        论文中涉及到很多公式的推导。对于一个线性的分类器,需要解决的问题就是:

独行 2万+

目标跟踪系列十一:Exploiting the Circulant Structure of Tracking-by-detection with Kernels代码思路...

Tracking学习系列原创,转载标明出处: http://blog.youkuaiyun.com/ikerpeng/article/details/40144497 这篇文章非常赞啊!非常有必要将其好好的学习,今天首先记录它的代码思路(具体的推导过程后面会给出的)。 首先,这篇文章使用的决策函数是一个结构风险最小化的函数:                                ...

weixin_34321977的博客 165
上一篇: Recent Tracker Development
下一篇: 恢复Microsoft Store等应用
QiujieDong
博客等级 码龄12年 58粉丝 98原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值