基于孪生网络的目标跟踪

news2024/11/15 18:01:31

一、目标跟踪

目标跟踪是计算机视觉领域研究的一个热点问题,其利用视频或图像序列的上下文信息,对目标的外观和运动信息进行建模,从而对目标运动状态进行预测并标定目标的位置。具体而言,视觉目标(单目标)跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下,预测后续帧中该目标的大小与位置。

目标跟踪算法从构建模型的角度可以分为生成式(generative)模型和判别式(discrimination)模型两类;从跟踪目标数量可分为单目标跟踪和多目标跟踪。目标跟踪融合了图像处理、机器学习、最优化等多个领域的理论和算法,是完成更高层级的图像理解( 如目标行为识别) 任务的前提和基础。

二、孪生网络

孪生神经网络是一种包含两个或多个相同子结构的神经网络架构,各子网络共享权重。孪生神经网络的目标是通过多层卷积获取特征图后,比较两个对象的相似程度,在人脸认证、手写字体识别等任务中常被使用。其网络结构如下图所示,两个输入分别进入两个神经网络,将输入映射到新的空间,形成输入在新空间中的表示,通过损失的计算,评价两个输入的相似度。

孪生网络

此外,该网络的特点是可以充分利用有限的数据进行训练,这一点对目标跟踪来说至关重要,因为在跟踪时能够提供的训练数据与目标检测相比较少。

若子网络之间不共享权重,则称为伪孪生神经网络。对于伪孪生神经网络,其子网络的结构可以相同,也可不同。与孪生神经网络不同,伪孪生神经网络适用于处理两个输入有一定差别的情况,如验证标题与正文内容是否一致、文字描述与图片内容是否相符等。要根据具体应用进行网络结构的选择。

四、基于孪生网络的目标跟踪、

在这里插入图片描述

SiamFC

论文:Fully-Convolutional Siamese Networks for Object Tracking(ECCV 2016)
链接:https://link.springer.com/chapter/10.1007/978-3-319-48881-3_56
方法
将目标的跟踪方式从在线执行随机梯度下降以适应网络的权重进行跟踪转变为前后帧目标对的形式进行匹配。通过同一网络AlexNet作为backbone,输出模板图像和待查询图像的特征图,并进行互卷积(相关滤波)操作,得到目标响应结果,反向映射到原图,计算当前帧目标位置。
在这里插入图片描述

SiamFC-tri

论文:Triplet Loss in Siamese Network for Object Tracking(ECCV 2018)
链接:https://openaccess.thecvf.com/content_ECCV_2018/html/Xingping_Dong_Triplet_Loss_with_ECCV_2018_paper.html
在这里插入图片描述

方法:提出了一种新的训练策略,通过训练时在Siamese Network中加入triplet loss提取出目标跟踪的深度表达特征。图中φ \varphiφ表示特征提取网络,当 φ = φ ′ φ=φ ' φ=φ时,遵循SiamFC范式,当 φ ≠ φ ′ \varphi\neq\varphi^{'} φ=φ 时,遵循CFNet范式。

Siam-BM

论文:Towards a Better Match in Siamese Network Based Visual Object Tracker(ECCV 2018 workshop)
链接:https://openaccess.thecvf.com/content_eccv_2018_workshops/w1/html/He_Towards_a_Better_Match_in_Siamese_Network_Based_Visual_Object_ECCVW_2018_paper.html
在这里插入图片描述

方法
跟踪阶段由于目标会不断变化,网络直接在跟踪阶段自设置不同变换的待跟踪图像。SiamFC在跟踪阶段使用图像金字塔,但仅仅是crop不同大小的图像区域。Siam-BM则在跟踪阶段,不仅是图像金字塔,同时对每层图片加入了旋转操作。让网络在跟踪时更鲁棒。

CFNet

论文:End-to-end representation learning for Correlation Filter based tracking(CVPR 2017)
在这里插入图片描述
方法:最初的SiamFC只是将每一帧与对象的初始外观进行比较。相比之下,这篇文章在每一帧中计算一个新的模板,然后与之前帧的模板进行融合。

每一帧计算时,SiamFC公式如下:

f ( z , x ) = γ φ ( z ) ∗ φ ( x ) + b 1 {f(z,x)=\gamma\varphi(z)*{\varphi(x)}+b\mathbb{1}} f(z,x)=γφ(z)φ(x)+b1

CFNet公式如下:

f ( z , x ) = γ w ( φ ( z ) ) ∗ φ ( x ) + b 1 {f(z,x)=\gamma{w(\varphi(z))*{\varphi(x)}+b\mathbb{1}}} f(z,x)=γw(φ(z))φ(x)+b1

CFNet的模板图像输入也是255 *255 *3,这样的话, φ ( z ) \varphi(z) φ(z) φ ( x ) \varphi(x) φ(x)的输出特征图都是一样大小,为49*49 *32 。之后利用相关滤波模块(Correlation Filter)CF Block w = w ( x ) w = w ( x ) w=w(x) 提取在每一帧中的模板。输出 ∗ 17 ∗ 32 *17*32 1732的模板特征。与待查询图像互卷积。

CFNet和SiamFC一样,有必要引入标量参数 γ \gamma γ b b b,使分数范围适合逻辑回归。

RASNet

论文:Learning Attentions: Residual Attentional Siamese Network for High Performance Online Visual Tracking(CVPR 2018)
链接:https://openaccess.thecvf.com/content_cvpr_2018/html/Wang_Learning_Attentions_Residual_CVPR_2018_paper.html
方法
在这里插入图片描述
以SiamFC为基础,在backbone提取模板图像和待跟踪图像的特征后,模板特征后加入了残差注意力(Residual Attention)、通道注意力(Channel Attention)和通用注意力(General Attention),同时将互卷积更改为加权互相关层(WXCorr)。

当一张模板和一张待搜索图像流入网络时,通过backbone生成特征图。基于模板特征,使用三种注意力机制提取了模板信息。模板、待搜索特征、作为权重的attention输出,被输入到WXCorr,并最终转换为响应图。

SASiam

论文:A Twofold Siamese Network for Real-Time Object Tracking (CVPR 2018)
链接:https://openaccess.thecvf.com/content_cvpr_2018/html/He_A_Twofold_Siamese_CVPR_2018_paper.html
方法
在这里插入图片描述
观察到在图像分类任务中学习到的语义特征和在相似性匹配任务中学习到的外观特征相辅相成,构建了一个双分支网络。SASiam由Semantic branch语义分支和Appearance branch外观分支两部分构成,语义分支中还加入了通道注意力机制SEBlock。分别训练这两个网络,将特征图加权输出。

外观特征网络:加入了SEBlock的SiamFC

语义特征网络:Alexnet在ImageNet上训练的权重,并不再跟踪数据集上fine-tune,直接拿过来用。

外观特征更像对于同一个目标外观的相似程度,而语义特征更像是对于同一类目标的相似程度,两者相辅相成。

实际上是将图像解耦为语义和外观。

MBST

论文:Multi-Branch Siamese Networks with Online Selection for Object Tracking(ISVC 2018)
链接:https://link.springer.com/chapter/10.1007/978-3-030-03801-4_28
方法
在这里插入图片描述

MBST中有两个分支,其中一条是AlexNet分支,另外一条有很多结构一模一样的Context Dependent分支,通过一个分支选择结构,选择输出结果更好的一个Context Dependent。

DSiam

论文:Learning Dynamic Siamese Network for Visual Object Tracking (ICCV 2017)
链接:https://openaccess.thecvf.com/content_iccv_2017/html/Guo_Learning_Dynamic_Siamese_ICCV_2017_paper.html
方法
在这里插入图片描述
如何1)有效地学习目标外观的时间变化,2)在保持实时响应的同时排除杂波背景的干扰,是视觉目标跟踪的一个基本问题。文章围绕这个问题提出了目标外观变换层和背景抑制层,名字为动态孪生神经网络(Dynamic Siamese Network, DSiam),即对template image使用目标外观变换层,让其更趋进于当前帧的目标外观,对current image使用背景抑制层,抑制背景带来的跟踪干扰。

UpdateNet

论文:Learning the Model Update for Siamese Trackers(ICCV 2019)
链接:https://openaccess.thecvf.com/content_ICCV_2019/html/Zhang_Learning_the_Model_Update_for_Siamese_Trackers_ICCV_2019_paper.html
方法
Siamese方法通过从当前帧中提取一个外观模板来解决视觉跟踪问题,该模板用于在下一帧中定位目标。通常,此模板与前一帧中累积的模板线性组合(最初的SiamFC有且仅使用第一帧目标外观作为模板),导致信息随时间呈指数衰减。虽然这种更新方法已经带来了更好的结果,但它的简单性限制了通过学习更新可能获得的潜在收益。因此,文章用一种学习更新的方法来取代线性加权。我们使用卷积神经网络,称为UpdateNet,它给出初始模板、累积预测模板和当前帧的模板,目的是估计下一帧的最佳模板。

SiamFC++

论文:SiamFC++: Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines (AAAI 2020)
链接:https://ojs.aaai.org/index.php/AAAI/article/view/6944
方法
在这里插入图片描述
整体结构和SiamRPN类似,都是先提取特征,再互卷积,再添加卷积层输出回归和类别结果,但增加了quality assessment分支,强化回归效果(目标检测中的anchor free算法的FCOS中也有类似结构)

Ranking-Based Siamese Visual Tracking

论文:Ranking-Based Siamese Visual Tracking(CVPR 2022)
链接:https://openaccess.thecvf.com/content/CVPR2022/html/Tang_Ranking-Based_Siamese_Visual_Tracking_CVPR_2022_paper.html
方法
在这里插入图片描述
目前基于孪生网络的跟踪器主要将视觉跟踪分为两个子任务,包括分类和定位。他们通过分别处理每个样本来学习分类子网络,忽略了正样本和负样本之间的关系。此外,这种跟踪范式只对最终预测的建议进行分类置信度,这可能会导致分类和定位之间的错位。为了解决这些问题,文章提出了一种基于排序的优化算法来探索不同方案之间的关系。为此,引入了两种排名损失,包括分类损失和IoU引导损失,作为优化约束。分类排名损失可以确保正样本的排名高于硬负样本,即干扰物,这样跟踪器就可以成功地选择前景样本,而不会被干扰物欺骗。IoUguided排名损失旨在将分类置信度得分与正样本的相应定位预测的并集交集(IoU)对齐,从而使定位良好的预测能够用高分类置信度来表示。具体而言,所提出的两种排名损失与大多数暹罗跟踪器兼容,并且不需要额外的推理计算。

参考:https://blog.csdn.net/weixin_43913124/article/details/123545157

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

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

相关文章

JMeter+Grafana+Influxdb搭建可视化性能测试监控平台原创

【背景说明】 使用jmeter进行性能测试时,工具自带的查看结果方式往往不够直观和明了,所以我们需要搭建一个可视化监控平台来完成结果监控,这里我们采用三种JMeterGrafanaInfluxdb的方法来完成平台搭建 如果你想视频学习Jmeter接口测试&…

长江商学院EMBA38期甄知科技:ChatGPT应用与实践初探

近期,长江商学院EMBA38期&甄知科技开展了题为“ChatGPT应用与实践初探”的线下沙龙活动,由上海甄知科技创始合伙人兼CTO张礼军主讲,主要给大家解密最近很火的ChatGPT是什么,分享如何玩转ChatGPT,初步探索ChatGPT对…

快来试试这几个简单好用的手机技巧吧

技巧一:相机功能 苹果手机的相机功能确实非常出色,除了出色的像素之外,还有许多其他实用功能可以提升拍摄体验。 这些相机功能提供了更多的选择和便利性,使用户能够更好地适应不同的拍摄需求。 自拍功能:通过选择自…

SCI图片制作排版全流程及论文配图规范

目录 引言 一、图片尺寸与格式要求 二、图片处理和组图排版的流程 1. 确定排版 2. 用PS处理位图 3. 生成矢量统计图 4. 用AI制作模式图并处理 5. 用AI制作排版组图 6. 导出为.tiff或.eps 三、图片素材与示意图的绘制方法 1. 绘制图片素材 2. 绘制示意图 结论 引言…

硬件系统工程师宝典(25)-----四种BJT应用电路分析

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。上篇我们说到晶体三极管(BJT)可以看成是一个通过“监视”基极-发射极电流来控制集电极-发射极电流的元器件,并给出…

使用决策树模型Titanic数据集预测

数据准备 可以通过以下链接获取数据集: 百度网盘 请输入提取码 共包含三个csv文件: 《train.csv》训练数据集,包含特征信息和标签(是否幸存) 《test.csv》 测试数据集, 只包含特征信息 《gender_submission.csv》测试数据集…

远程FTP连接等

R1: <R1>ftp 192.168.2.100 用户名&#xff1a;1 密码&#xff1a;1 [R1-ftp]dir //查看当前FTP服务器中的文件列表 ..................... shengji.txt //复制想要下载的文件名 [R1-ftp]get 文件名 //下载相应的文件 [R1-ftp]q //返回R1设备 <R1>di…

观察级水下机器人使用系列之一系统构成

我们单位最近购买了一台观察级水下机器人&#xff08;ROV&#xff09;&#xff0c;型号为Seatronics Valor&#xff0c;工作最大水深300m。Valor ROV是一个计算机控制的电动ROV系统&#xff0c;使用Greensea Systems公司的OPENSEA控制系统。该系统需要一个三相电源380V输入&…

Model-Free TD Control: Sarsa

import time import random # 相对于Q 效果会差一些 class Env():def __init__(self, length, height):# define the height and length of the mapself.length lengthself.height height# define the agents start positionself.x 0self.y 0def render(self, frames50):fo…

二、go语言的编码规范

编码规范 一、 命名规范 Go在命名时以字母a到Z或a到Z或下划线开头&#xff0c;后面跟着零或更多的字母、下划线和数字(0到9)。Go不允许在命名时中使用、$和%等标点符号。Go是一种区分大小写的编程语言。因此&#xff0c;Manpower和manpower是两个不同的命名。 当命名&#xf…

华为OD机试真题 Java 实现【组装新的数组】【2023Q1 200分】

一、题目描述 给你一个整数M和数组N,N中的元素为连续整数&#xff0c;要求根据N中的元素组装成新的数组R。 组装规则&#xff1a; R中元素总和加起来等于M&#xff1b;R中的元素可以从N中重复选取&#xff1b;R中的元素最多只能有1个不在N中&#xff0c;且比N中的数字都要小…

如何设置工业设备的振动监测阈值

工业设备的振动阈值设置是确保设备正常运行和及时维护的关键步骤。本文将介绍一些常见的方法和策略&#xff0c;帮助您正确设置工业设备的振动阈值。 1. ISO 10816 振动烈度表格&#xff1a; ISO 10816 是一项国际标准&#xff0c;提供了设备振动水平的参考值。该标准将设备按…

【SpringMVC源码三千问】@RequstMapping和RequestCondition

RequestMapping 是 SpringMVC 中最常用的定义请求映射关系的注解。 下面我们来分析一下它的源码。 RequestMapping 先看下 RequestMapping 的定义&#xff1a; Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented Mapping publ…

day4 - 使用图像绘制动态时钟

本期的主要内容是利用OpenCV中包含的绘图函数&#xff0c;例如绘制线段、绘制矩形、绘制圆形等来绘制一个动态时钟的表盘。 完成本期内容&#xff0c;你可以&#xff1a; 掌握OpenCV常见的绘图函数 学会使用绘图函数绘制简单的图像 若要运行案例代码&#xff0c;你需要有&a…

linux——搭建NTP服务器

1、设置服务器时区 &#xff08;使用外部NTP时间源可不设置&#xff09; 在Linux系统中设置时区可以使用以下命令&#xff1a; 查看当前时区&#xff1a; timedatectl列出所有可用时区&#xff1a; timedatectl list-timezones设置时区&#xff1a; sudo timedatectl set-…

一、尚医通手机登录

文章目录 一、登录需求1、登录效果2、登录需求 二、登录1&#xff0c;搭建service-user模块1.1 搭建service-user模块1.2 修改配置1.3 启动类1.4 配置网关 2、添加用户基础类2.1 添加model2.2 添加Mapper2.3 添加service接口及实现类2.4 添加controller 3、登录api接口3.1 添加…

OpenAI再出新作,AIGC时代,3D建模师的饭碗危险了!

大家好&#xff0c;我是千与千寻&#xff0c;也可以叫我千寻哥&#xff0c;说起来&#xff0c;自从ChatGPT发布之后&#xff0c;我就开始焦虑&#xff0c;担心自己程序员的饭碗会不会哪天就被AIGC取代了。 有人说我是过度焦虑了&#xff0c;但是我总觉有点危机感肯定没有坏处。…

分布式事务解决方案-Seata

分布式事务解决方案-Seata 1.分布式事务问题1.1.本地事务1.2.分布式事务1.3.演示分布式事务问题 2.理论基础2.1.CAP定理2.1.1.一致性2.1.2.可用性2.1.3.分区容错2.1.4.矛盾 2.2.BASE理论2.3.解决分布式事务的思路 3.初识Seata3.1.Seata的架构3.2.部署TC服务3.3.微服务集成Seata…

C++ string类 迭代器 范围for

string类 在C语言当中 &#xff0c;也有字符串&#xff0c;它是以 " \0 " 结尾 的 一些字符的集合&#xff0c;在C的标准库当中还有一些 用于操作 str 类型的库函数&#xff0c;但是&#xff0c;这些函数的功能不是很全面&#xff0c;而且这些操作函数和 str 类型是分…

B2B企业需要什么样的客户体验管理?销售易出手了

导读&#xff1a;如何将类似B2C领域的私域体验延展到B2B领域&#xff1f; “不愿在顾客上花时间带来的结果只有一个&#xff0c;那就是让客户转而寻找值得他们花时间的消费体验。”2012年问世的《体验经济》一书&#xff0c;一语道破客户体验的重要性。 过去&#xff0c;提到体…