目标跟踪之KCF详解

High-Speed Tracking with Kernelized Correlation Filters

使用内核化相关滤波器进行高速跟踪

        大多数现代跟踪器的核心组件是判别分类器,其任务是区分目标和周围环境。为了应对自然图像变化,此分类器通常使用平移和缩放的样本补丁进行训练。此类样本集充斥着冗余 - 任何重叠的像素都被限制为相同。基于这个简单的观察,我们提出了一个包含数千个翻译补丁的数据集的分析模型。通过证明生成的数据矩阵是循环的,我们可以用离散傅里叶变换对其进行对角化,从而将存储和计算减少几个数量级。有趣的是,对于线性回归,我们的公式相当于一个相关滤波器,被一些最快的竞争跟踪器使用。然而,对于核回归,我们推导了一个新的核化相关滤波器(KCF),与其他核算法不同,它具有与其线性算法完全相同的复杂性。在此基础上,我们还提出了线性相关滤波器的快速多通道扩展,通过线性内核,我们称之为双相关滤波器(DCF)。在 50 个视频基准测试中,KCF 和 DCF 的表现都优于 Struck 或 TLD 等顶级跟踪器,尽管它们以每秒数百帧的速度运行,并且只需几行代码即可实现(算法 1)。为了鼓励进一步的发展,我们的跟踪框架是开源的。

1 相关背景知识

(一)Hog特征(梯度方向直方图Histogram of oriented gradient):

               1.  一文讲解方向梯度直方图(hog) - 知乎

               2.  HOG特征的提取及代码实现 - 知乎

               3. 计算机视觉爱好者必看:特征工程HOG特征描述子指南 - 知乎

(二)SVM(向量机)与核方法:

                Python · SVM(三)· 核方法 - 知乎

(三) 循环矩阵与傅里叶变换:     

                 张量t-product积基础 | 循环矩阵与向量乘积的离散傅立叶变换 · 循环矩阵的傅里叶对角化 - 知乎

                循环移位可视化理解 - 知乎

                通过上面一篇文章,最终得出的结论会用于KCF,即:

(四)判别式跟踪算法:

        判别式跟踪方法将目标跟踪问题转化为寻求跟踪目标与背景间决策边界的二分类问题,通过分类最大化地将目标区域与非目标区域分别开来。因此,目标跟踪的准确性和稳定性很大程度上以来于在特征空间上目标与背景的可分性,如何在线建立能够适应目标和背景外观变化的判别模型,是判别式跟踪算法研究的关键。KCF就是判别式跟踪算法。

2 KCF 详解

(一)KCF基本原理:

                1. :目标跟踪系列--KCF算法 - 知乎

                2. 目标跟踪:KCF_kcf目标追踪是什么-CSDN博客

                3. 相关滤波(一)KCF-CSDN博客

                4. https://www.cnblogs.com/YiXiaoZhou/p/5925019.html

                对于KCF的基本原理以及过程有大致的了解。明白KCF跟踪算法的整体流程

(二)KCF算法流程概述:

                相关滤波(一)KCF-CSDN博客

                KCF目标跟踪算法原理与入门详解_kcf跟踪算法原理_普通网友的博客-CSDN博客

                第一步:初始帧,确定目标的表达形式,确定目标区域的位置以及大小,画出候选框(可以理解为bounding box),(通常由目标检测算法实现,也可以根据实际情况手动标注);然后在初始帧进行目标特征提取,先提取目标区域的hog特征,在初始帧图像中通过循环移位采集大量样本((是对整幅图像进行循环移位)这一步在判别式跟踪算法中也称作“正负样本生成”,有时也被称作“候选框生成”),基于目标hog特征,在正负样本中训练相关滤波模板w,从而生成期望分布,提高判别力。

                第二步:读取下一帧图像,将整副图像图像作为搜索区域,也是提取图像的hog特征,通过余弦窗平滑计算,得到待检测的样本a;然后将待检测样本与相关滤波模板相乘得到当前图像的响应图;将频域响应图f(z) 通过反傅里叶变换求得时域响应图 ,响应值最大的位置就是最佳预测位置;目标的位置进行预测后,根据此位置外观信息,对目标的外观模型以及滤波器模板进行更新。

                第三步:模型更新完毕之后,利用更新后的滤波分类器模板与后续帧图像搜索区域进行响应运算,对后续帧目标位置进行预测。

                第四步:重复二、三步,直到所有的视频序列检测完成。

3 KCF论文地址

https://ieeexplore.ieee.org/abstract/document/6870486

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

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

相关文章

docker下gitlab安装配置

一、安装及配置 1.gitlab镜像拉取 docker pull gitlab/gitlab-ce:latest2.运行gitlab镜像 docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always --privilegedtrue -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v …

【软件测试】--功能测试4-html介绍

1.1 前端三大核心 html:超文本标记语言&#xff0c;由一套标记标签组成 标签&#xff1a; 单标签&#xff1a;<标签名 /> 双标签:<标签名></标签名> 属性&#xff1a;描述某一特征 示例:<a 属性名"属性值"> 1.2 html骨架标签 <!DOC…

Ubuntu20.04安装Carla0.9.15

文章目录 环境要求下载Carla解压Carla运行Carla测试官方用例创建python环境安装依赖包案例&#xff1a;生成车辆案例&#xff1a;测试自动驾驶 参考链接 环境要求 系统配置要求&#xff1a; 至少3G显存的GPU&#xff0c;推荐3060及以上的显卡进行Carla拟真。预留足够的硬盘空…

CS_上线三层跨网段机器(完整过程还原)

以前讲过用cs_smb_beacon上线不出网机器&#xff0c;但是真实的网络拓扑肯定不止这么一层的网络&#xff01; 所以我就来搭建一个复杂一点的网络环境&#xff01;&#xff01; 当然了&#xff0c;这三台电脑之间都是不同的网段&#xff0c;&#xff08;但是同属于一个域环境&a…

Acwing数学与简单DP(二)

摘花生 原题链接&#xff1a;https://www.acwing.com/problem/content/1017/ 最后一步&#xff0c;有两种可能&#xff1a; 从上面走从下面走 也就是max(dp[i-1][j],dp[i][j-1])&#xff0c;再加上最后一个位置的值。 #include"bits/stdc.h"using namespace std;i…

pandas两列或多列全组合

现有星期、国家、标签三类数据&#xff0c;希望得到全部组合&#xff0c;实现方式如下&#xff1a; #星期和国家全组合 a1pd.DataFrame(indexrange(7),columns[星期],datanp.arange(0,7)) b1pd.DataFrame(data[美国,新加坡],columns[国家]) c1pd.DataFrame(data[a,b],columns[…

HTTP 的 multipart 类型

上一篇文章讲到 http 的 MIME 类型 http MIME 类型 里有一个 multipart 多部分对象集合类型&#xff0c;这个类型 http 指南里有讲到&#xff1a;MIME 中的 multipart&#xff08;多部分&#xff09;电子邮件报文中包含多个报文&#xff0c;它们合在一起作为单一的复杂报文发送…

11 Redis之高并发问题(读+写) + 缓存预热+分布式锁

8. 高并发问题 Redis做缓存虽减轻了DBMS的压力&#xff0c;减小了RT(Response Time)&#xff0c;但在高并发情况下也是可能会出现各种问题的。 8.1 缓存穿透 当用户访问的数据既不在数据库中也不在缓存中&#xff0c;如id为“-1”的数据或id为特别大不存在的数据, 这时的用户…

【数据结构和算法】5.超详解析,带你手撕单向链表(图文解析,附带源码)

欢迎来sobercq的博客喔&#xff0c;本期系列为【数据结构和算法】5.超详解析&#xff0c;带你手撕单向链表&#xff08;图文解析&#xff0c;附带源码&#xff09;&#xff0c;带大家理解单向链表在内存中的分布&#xff0c;以及链表的实现&#xff0c;最后还会有源码分享&…

CSS——PostCSS简介

文章目录 PostCSS是什么postCSS的优点补充&#xff1a;polyfill补充&#xff1a;Stylelint PostCSS架构概述工作流程PostCSS解析方法PostCSS解析流程 PostCSS插件插件的使用控制类插件包类插件未来的CSS语法相关插件后备措施相关插件语言扩展相关插件颜色相关组件图片和字体相关…

FOD8342TR2采用拉伸体 SOP6引脚 3.0A输出电流,高速门极驱动光耦合器

FOD8342TR2概述&#xff1a; FOD8342TR2是一款 3.0 A 输出电流门极驱动光耦合器&#xff0c;能够驱动中等功率 IGBT/MOSFET。它适用于电机控制逆变器应用和高性能电源系统中使用的功率 IGBT 和 MOSFET 的快速开关驱动。FOD8342TR2利用拉伸体封装&#xff0c;可实现 8 毫米的漏…

绘图提高篇 | Python-R-三相元图(ternary plots)绘制

这期推文&#xff0c;我们将介绍如何使用Python和R制作三相元图( ternary plots),涉及的知识点如下&#xff1a; Python-ternary包绘制三相元图 R-ggtern包绘制三相元图 所有完整代码都已整理之我们的线上课程&#xff0c;有需要的同学v yidianshuyulove 咨询 Python-terna…