智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamFC(2016)

目标追踪任务是指在一个视频中给出第一帧图像的bbox的位置,在后续的帧中追踪该物体的任务。 目标追踪不同于目标检测的是:

1、需要给出首帧的标定框。

2、只需要给出标定框,后续的搜索范围往往在上一帧图像的附近。

孪生网络是使用深度学习进行目标追踪的重要解决方案,主要包括:孪生网络解决目标追踪开山之作SiamFC、SiamRPN、DaSiamRPN、SiamRPN++,SiamMask,下面对其进行简要介绍:

3.1 SiamFC(2016)

3.1.1 网络结构

SiamFC采用了全卷积式的Siamese网络实现目标跟踪,其网络结构如下图所示,具有两个权值共享的分支。其中,z为127×127的模板图像相当于要追踪的目标,x为255×255的搜索图像,我们要完成的就是在x中找到z的位置。

SiamFC有两个分支对应两个输入为z和x,将他们同时输入进行φ的计算,这里的作用就是进行特征提取,分别生成6×6×128和22×22×128的featuremap。φ所对应的特征提取网络采用的是AlexNet,其结构如下:

将生成的featuremap输入互相关层生成score map,实际上会进行如下的计算:

其中bI为每个位置对应的值,相当于是一个偏置,φ(x)和φ(z)是进行的卷积运算,通过卷积运算提取在x中与z最相似的部分。在SiamFC结构图中,输入的搜索图像中有红蓝两个区域在经过网络后与score map中的红蓝响应值相对应。网络输出的是17×17 的score map,而输入x是255×255的搜索图像,怎样将两者的位置进行映射呢。这里,将17×17的score map进行双三次插值生成272×272的图像,来确定物体的位置。但是为什么不生成255×255的图像呢?由于原始图像相对比较粗糙,为了使定位更加准确,所以生成272*272的结果。

3.1.2 模型输入

孪生网络有两个分支对应两个输入,z与x的大小并不是任意输入的,而是对目标区域进行了扩充,如下图所示:

上面的三张图是网络输入的模板图像z,下面对应的是网络输入的搜索图像x,红色为当前的所在帧的bounding-box。对于模板图像来说,根据第一帧的groundtruth会得到目标的(x_min,y_min,w,h)四个值,会通过以下公式生成模板图像的大小:

 

其中A=127*127, s是对图像进行的一种变换,先将包含上下文信息的(w+2p)×(h+2p)的图片扩展,然后进行resize,生成127×127的模板图像。 对于搜索图像x来说,会从整张图片中裁剪出255×255的图片,裁剪的中心为上一帧预测的bounding-box的中心。为了提高跟踪性能,选取了多种尺度进行预测。最初的SiamFC为5种尺度1.025^{-2,-1,0,1,2} ,其中255×255对应尺度为1。为了提升网络的FPS,又提出了存在3种尺度的SiamFC-3s。当模板图像和搜索图像不够裁剪时,会对不足的像素按照RGB通道的均值进行填充。

3.1.3 损失函数

为了构造有效的损失函数,对搜索区域的位置点进行了正负样本的区分,即目标一定范围内的点作为正样本,这个范围外的点作为负样本,例如网络结构图中最右侧生成的score map中,红色点即正样本,蓝色点为负样本。score map中的groundtruth按下式进行标记:

其中c为物体在score map的中心,u为score map中任意一点,∣∣u−c∣∣是u与c的欧氏距离,R为距离的阈值,k为score map经过网络之后缩小的倍数,从网络结构可以看出,有三层的卷积,池化是以2为步长,所以图像经过网络后会缩小2^3=8倍。

SiamFC采用的损失函数是logistic loss,具体的损失函数形式如下: 对于score map中了每个点的损失:

其中v是score map中每个点真实值,y∈{+1,−1} 是这个点所对应的标签。 上式是score map中每个点的loss值,而对于score map整体的loss,则采用的是全部点的loss的均值。即:

D是生成的score map,∣D∣为heatmap的大小,uϵD代表其在score map中的位置。

3.1.4 训练与跟踪

训练过程使用随机梯度下降法对下式进行优化: 

其中:θ代表着网络参数。

跟踪过程中模板图像只提取一次特征,目标图像在线不更新,对搜索图像进行5个尺度的搜索,利用用双三次插值将score map从 17×17 上采样到 272×272,进行跟踪目标的确定。

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

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

相关文章

word-break|overflow-wrap|word-wrap——CSS英文断句浅析

---恢复内容开始--- word-break|overflow-wrap|word-wrap——CSS英文断句浅析 一 问题引入 今天在再次学习 overflow 属性的时候,查看效果时,看到如下结果,内容在 div 中国换行了,可是两个 P 元素的内容并没有换行,搜索…

linux内核定时器编程

1.linux内核定时器基本结构和函数 1&#xff09;struct timer_list 一个struct timer_list对应了一个定时器。 #include <linux/timer.h> 以下列出常用的接口&#xff1a; struct timer_list{/*....*/unsigned long expires;//定时器服务函数开始执行时间void (*func…

django ModuleNotFoundError: No module named 'tinymce***'

django ModuleNotFoundError: No module named ‘***’ 1、检查对应的模块是否有安装&#xff0c;可以使用pip list查看 没有安装请执行安装 python -m pip install *** (--user)&#xff0c;某些电脑user没有权限需要加上括号中的 2、如果有安装 请检查python的django配置安…

度量时间差和jiffies计数器

HZ 1、内核通过定时器中断来跟踪时间流 2、时钟中断由系统定时硬件以周期性的间隔产生&#xff0c;这个间隔由内核根据HZ的值设定&#xff0c;HZ是一个与体系结构有关的常数&#xff0c;定义在<linux/param.h>或者该 文件包含的某个子平台相关的文件中。 jiffies 1、…

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN(2017)

3.2 SiamRPN(2017) 3.2.1 网络结构 Siam-RPN提出了一种基于RPN的孪生网络结构&#xff0c;由孪生子网络和RPN网络组成&#xff0c;前者用来提取特征&#xff0c;后者用来产生候选区域。其中&#xff0c;RPN子网络由两个分支组成&#xff0c;一个是用来区分目标和背景的分类分…

点绛唇-王禹偁

diǎn jinɡ chn ɡǎn xnɡ 点 绛 唇 感 兴 wnɡ yǔ chēnɡ 王 禹 偁 yǔ hn yn chu &#xff0c; jiānɡ nn yī ji chēnɡ jiā l 。 雨 恨 云 愁 &#xff0c; 江 南 依 旧 称 佳 丽 。 shuǐ cūn y sh &#xff0c; y lǚ ɡū yān x…

ubuntu 18 Cannot find installed version of python-django or python3-django.

ubuntu系统下安装了django&#xff0c;但是启动django项目时报错 Cannot find installed version of python-django or python3-django. 原因&#xff1a; ubuntu大于14版本的应该安装python3-django 解决办法&#xff1a; apt-get install python3-django 如果提示你有几个…

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-DaSiamRPN(2018)

DaSiamRPN网络的全称为Distractor-aware SiamRPN&#xff0c;是基于SiamRPN网络结构&#xff0c;提出更好的使用数据&#xff0c;针对跟踪过程的干扰物&#xff0c;利用更好的训练方式是跟踪更加的鲁棒。 DaSiamRPN认识到了现有的目标追踪数据集中存在的不平衡问题&#xff0c…

SyntaxError: Non-ASCII character '\xe9' in file...ubuntu系统下python运行时提示编码格式不正确以及提示No module named xxx

在Ubuntu 18下创建django项目&#xff0c;运行python文件时报错&#xff1a; SyntaxError: Non-ASCII character \xe9 in file /home/image/桌面/django_test/test_proj/ test_proj/settings.py on line 127, but no encoding deared; see http://python.org/dev/ peps/pep-02…

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)

3.4.1 模型结构 SiamRPN网络结构如下图所示&#xff0c;虚线的两边都是网络结构图&#xff0c;虚线左侧是特征提取网络结构&#xff0c;右侧是RPN结构图。其实SiamRPN的网络结构与SiamRPN网络结构十分相似&#xff0c;而SiamRPN就是在SiamRPN的基础上加入许多的创新点。 SiamR…

lanmp之二 (奇葩问题)

ps&#xff1a;该篇是接 lanmp —— 动静分离 lanmp —— 奇葩问题 话说&#xff0c;在 搭建 bbs.abc.com &#xff08;discuz论坛&#xff09;的 时候。。。。 1、说明&#xff1a;web机器上以前已经有一个 discuz 旧论坛 要做数据迁移&#xff08;改域名/拷贝数据/迁移网站&a…

[已解决]user is not in the sudoers file. This incident will be reported.(简单不容易出错的方式)

linux Ubuntu中报错&#xff0c;XXX is not in the sudoers file. This incident will be reported. 今天在学习的时候&#xff0c;不小心把自己的用户sudo玩坏了&#xff08;Broken sudo&#xff09;&#xff0c;于是上谷歌搜索XXX is not in the sudoers file. This inciden…

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamMask(2019)

与普通的视频跟踪网络不同的是&#xff0c;SiamMask可以同时完成视频跟踪和实例级分割的任务。如下图所示&#xff0c;与传统的对象跟踪器一样&#xff0c;依赖于一个简单的边界框初始化&#xff08;蓝色&#xff09;并在线操作。与ECO&#xff08;红色&#xff09;等最先进的跟…

编译器的大小端模式

大端模式&#xff08;Big_endian&#xff09;&#xff1a;字数据的高字节存储在低地址中&#xff0c;而字数据的低字节则存放 在高地址中。 小端模式&#xff08;Little_endian&#xff09;&#xff1a;字数据的高字节存储在高地址中&#xff0c;而字数据的低字节则存放 在低地…

【原】jQuery编写插件

分享一下编写设置和获取颜色的插件&#xff0c;首先我将插件的名字命名为jquery.color.js。该插件用来实现以下两个功能1.设置元素的颜色。2.获取元素的颜色。 先在搭建好如下编写插件的框架&#xff1a; ;(function($){//这里编写插件代码 })(jQuery); 我这里采用jQuery.fn.ex…

数据结构链表之单向链表:Python3 实现单向链表——1

Python3 实现单向链表 链表定义与简介 定义&#xff1a;链表与顺序表(Python中列表)性质相反&#xff0c;链表是物理单元上非顺序的、非连续的&#xff0c;在逻辑顺序上其数据元素是通过指针实现的&#xff0c;组成链表的每一个元素也可以叫做链表的节点&#xff0c;节点可以…

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-汇总

总结&#xff1a; Siamese网络衡量两个输入的相似程度&#xff0c;输出是一个[0,1]的浮点数&#xff0c;表示二者的相似程度。孪生神经网络有两个输入&#xff08;Input1 and Input2&#xff09;,将两个输入feed进入两个神经网络&#xff08;Network1 and Network2&#xff09…

C语言(贪心法)

C语言有这样一个规则&#xff0c;每一个符号应该包含尽可能多的字符。也就是说&#xff0c;编译器将程序分解成符号的方法是&#xff0c;从左到右一个一个字符地读入&#xff0c;如果字条可能组成一个符号&#xff0c;那么再读入下一个字符&#xff0c;判断已经读入的两个字符组…

数据结构链表之双向链表:Python3 实现双向链表——2

Python3 实现双向链表 双向链表 定义&#xff1a;双向链表是链表中的一种&#xff0c;双向链表也叫双链表&#xff0c;它由多个节点组成&#xff0c;每个节点由一个数据域和两个指针域组成&#xff0c;一个指针指向前驱元素&#xff0c;一个指向后继元素 双向链表一般用来构…