目标跟踪之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.rhkb.cn/news/263450.html

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

相关文章

【AI链接】 大模型语言模型网站链接

目录 GPT类1. chatgpt2. GROP3. Google AI Studio4. Moonshot AI (国内) 解读论文类:1. txyz 编程辅助插件:1. Fitten Code GPT类 1. chatgpt https://chat.openai.com/ 2. GROP https://groq.com/ 3. Google AI Studio https://aistudio.google…

爬取m3u8视频

网址:https://www.bhlsm.com/cupfoxplay/609-3-1/ 相关代码: #采集网址:https://www.bhlsm.com/cupfoxplay/609-3-1/ #正常视频网站:完整视频内容 # pip install pycryptodomex #流媒体文件:M3U8(把完整的…

在那静谧的冬天你飘落我荒凉心园

北风 - 刘蓝溪/梁弘志 --女--在那静谧的冬天你飘落我荒凉心园恰似北风一袭吹去秋意无限带来几片相思带来往日笑靥只见北风又起撒落枯叶片片--男--在那静谧的冬天你走进我冷漠心田恰似北风一袭吹去秋意无限北风婵媛白云白云本是轻烟只见北风又见带来白云片片--合--喔喔喔 海角…

中国象棋开源人工智能程序(带UI)搬运

我的老父亲一直想买一个人工智能象棋机器人陪他下棋,我就在Github上找了一个开源项目,带UI的中国象棋人工智能程序,其训练方法类似AlphaZero,因而叫Chinese Chess Zero (cczero)。虽然看起来很久没有维护了,但是棋力也…

Linux——静态库

Linux——静态库 静态库分析一下 ar指令生成静态库静态库的使用第三方库优化一下 gcc -I(大写的i) -L -l(小写的l),头文件搜索路径,库文件搜索路径,连接库 今天我们来学习静态库的基本知识。 静态库 在了解静态库之前,我们首先来…

冯诺依曼体系结构 计算机组成的金字塔

01 冯诺依曼体系结构:计算机组成的金字塔 学习计算机组成原理,到底是在学些什么呢?这个事儿,一两句话还真说不清楚。不过没关系,我们先从“装电脑”这个看起来没有什么技术含量的事情说起,来弄清楚计算机到…

Linux的进程

在Linux中,可以使用多种方式来结束进程。以下是8种常见的方式: 终端中断(Ctrl C):在终端中运行的程序可以通过按下Ctrl C组合键来发送SIGINT信号,终止该进程的执行。 kill命令:使用kill命令可…

汉诺塔问题—java详解(附源码)

来源及应用 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如图1)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍…

fly-barrage 前端弹幕库(2):弹幕内容支持混入渲染图片的设计与实现

如果弹幕内容只支持文字的话,只需要借助 canvas 绘图上下文的 fillText 方法就可以实现功能了。 但如果想同时支持渲染图片和文字的话,需要以下几个步骤: 设计一个面向用户的数据结构,用于描述弹幕应该渲染哪些文字和图片&#x…

学习JAVA的第二天(基础)

目录 基本概念 关键字 class关键字 字面量 练习 变量 定义格式 变量使用 数据类型 基本数据类型 标识符 命名规则 键盘录入 1.导包 2.创建对象 3.接受数据 运算符 算术运算符 练习 隐式转换(自动类型提升) 强制转换 自增自减运算符 …

【Docker】构建pytest-playwright镜像并验证

Dockerfile FROM ubuntu LABEL maintainer "langhuang521l63.com" ENV TZAsia/Shanghai #设置时区 #安装python3依赖与下载安装包 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \&& apt update \&&…

【Spring MVC篇】简单案例分析

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、加法计算器二…

Windows下搭建EFK实例

资源下载 elasticSearch :下载最新版本的就行 kibana filebeat:注意选择压缩包下载 更新elasticsearch.yml,默认端口9200: # Elasticsearch Configuration # # NOTE: Elasticsearch comes with reasonable defaults for most …

MySQL数据库基础(十三):关系型数据库三范式介绍

文章目录 关系型数据库三范式介绍 一、什么是三范式 二、数据冗余 三、范式的划分 四、一范式 五、二范式 六、三范式 七、总结 关系型数据库三范式介绍 一、什么是三范式 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库&…

5.2.鸿蒙LiteOS-M los_dispatch

目录 一、cortex-m4 los_dispatch.S代码分析坚持就有收获 一、cortex-m4 los_dispatch.S代码分析 .syntax unified #.syntax [unified | divided], 指定arm 汇编语法规则 .arch armv7e-m #指定平台, 与命令行参数-march同样的作用 .fpu fpv4-sp-d16 #指定浮点运算…

week04day02(爬虫02)

<span>: 通常用于对文本的一部分进行样式设置或脚本操作。<a>: 定义超链接&#xff0c;用于创建链接到其他页面或资源的文本。<img>: 用于插入图像。<br>: 用于插入换行。 姓名&#xff1a;<input type"text" value"lisi">…

【Linux】docker构建环境编译运行linux内核

文章目录 1. 使用docker构建linux内核编译运行环境1.1. 为普通用户安装docker并验证是否安装成功1.1.1. 安装docker稳定版1.1.2. 启动docker1.1.3. 将当前用户加入docker用户组1.1.4. 验证docker是否安装成功 1.2. docker基本使用1.2.1. 列出所有镜像1.2.2. 查看当前所有容器的…

2024年 最新python调用ChatGPT实战教程

2024年 最新python调用ChatGPT实战教程 文章目录 2024年 最新python调用ChatGPT实战教程一、前言二、具体分析1、简版程序2、多轮对话3、流式输出4、返回消耗的token 一、前言 这个之前经常用到&#xff0c;简单记录一下,注意目前chatgpt 更新了&#xff0c;这个是最新版的&am…

Mysql 8.0新特性详解

建议使用8.0.17及之后的版本&#xff0c;更新的内容比较多。 1、新增降序索引 MySQL在语法上很早就已经支持降序索引&#xff0c;但实际上创建的仍然是升序索引&#xff0c;如下MySQL 5.7 所示&#xff0c;c2字段降序&#xff0c;但是从show create table看c2仍然是升序。8.0…

SQL使用大全

一、SQL简介 SQL是一种用于管理关系型数据库的编程语言。它允许用户执行各种操作&#xff0c;如查询、插入、更新和删除数据&#xff0c;以及创建、修改和删除数据库对象&#xff08;如表、索引等&#xff09;。 目录 二、数据类型 SQL支持多种数据类型&#xff0c;包括数值…