深度学习Tracking(1)——Learning to Track at 100 FPS with Deep Regression Networks
来源:互联网 发布:jquery中怎么定义数组 编辑:程序博客网 时间:2024/05/22 16:38
发生了一些很奇葩的事情,因此我可能要开始学习深度学习了。研究生开始这么久了才开始做深度学习,我真的要担心自己的毕业问题了。好的吧,加油吧。虽然不懂,现在开始吧。
原文地址:【http://davheld.github.io/GOTURN/GOTURN.pdf】
项目地址:【http://davheld.github.io/GOTURN/GOTURN.html】
一篇更详尽的翻译:【https://zhuanlan.zhihu.com/p/25338674?utm_medium=social&utm_source=wechat_session&from=singlemessage&isappinstalled=1】
本文介绍的算法利用深度回归网络,输入为视频流,输出为每一帧中目标的位置。该算法的highlight在于,其利用的是线下的训练,获取目标外观和运动之间的联系,以此来实现对任意(甚至全新、从未见过的)目标的tracking。并且由于网络已经学会了tracking的技巧,因此可以实现100fps的实时应用。
论文第3章主要介绍了该算法。
3.2 网络的输入/输出格式
首先要明确的问题是,what to track,即我们要跟踪的目标是什么。因此,当需求出现的时候,将追踪目标的图像输入进网络中。对于前一帧图像进行剪裁和尺度的调节,使得被追踪目标位于输入图像中间。(如图figure2)
即便该目标在训练数据集里从未出现过,只要输入格式满足上述要求,都可对其进行跟踪。(在网络中,会对该目标进行适当的填补(pad)来获取目标周边的一些信息。)
假设在第t-1帧中,目标被标记为中心位置为c(cx,cy),宽度和高度分别为w和h的矩形框。那么在t时刻,我们在第t-1帧中抠取以c(cx,cy)为中心,宽度和高度分别为k1w和k1h的图像块。该图像块即指定了下一帧即t帧将要跟踪的目标。k1的数值决定了网络从前一帧中获取到的目标周围环境信息的多少。
下一步要决定的是where to look,即去哪里找下一帧的目标。要想知道当前帧中目标的位置,tracker首先要知道在前一帧中目标的位置(相邻两帧之间目标移动相对平缓)。这一步骤的实现思想是,根据目标在前一帧的位置,我们在本帧为tracker选择一个搜索域。确定了搜索域之后,将本帧的完整图像进行剪裁,只留下搜索域对应位置的图像块,然后将该图像块输入至网络,如图figure2所示。那么网络的目标就是通过回归来预测搜索域中目标的位置。
具体来说,本帧图像的剪裁出的搜索域,后面称其为P,以c’(cx’,cy’)为中心,即c’是我们期望的目标的平均位置。这里我们令c’=c,即将其视为一个中心位置不变的运动模型(尽管实际上可能会有更多复杂的运动模型)。P的宽度和高度分别为k2w和k2h,w和h分别为前一帧中标记目标的矩形框的宽和高,k2为目标的搜索半径。在实际应用中,我们设k1=k2=2。
只要目标没有被遮挡或者移动过快,都将会被在搜索域内被找到并定位。对于移动较快的目标或者遮挡的目标的追踪,将是下一步工作。
网络输出: 网络输出当前帧中目标的坐标(相对于搜索域的坐标),形式为目标的左上角和右下角的坐标。
3.3 网络架构
在该网络模型中,我们将要跟踪的目标以及搜索域输入值一系列的卷积层中,卷积层的输出是一组特征集,对于图像能够进行高阶的表示(a high-level representation)。
卷积层的输出随后被送入若干全连接层。全连接层的作用是比较目标的特征和当前帧的特征,来确定目标的移动位置。在帧与帧之间,目标可能发生了平移、旋转、光线变化、遮挡或者变形。因此,全连接层实现的是一个复杂的函数,通过其之前学习过的中多样本,使得其对于多种因素(平移、旋转、光线变化、遮挡或者变形)鲁棒,并能够输出目标的相对运动。
具体来说,我们利用的卷积层是CaffeNet的前五层卷积层。将这些卷积层的输出串联称为一个向量,然后输入至3个全连接层,每层有4096个节点。最终,我们将最后一层全连接层与一个包含4个节点的输出层项链,这4个节点就代表着输出的矩形框。
3.4 跟踪
通过第一帧中使用矩形框对于目标的确定,后续就可以实现单目标的追踪了。对于后续帧,我们将帧t-1和帧t中剪裁出来的图像块输入至网络中,来预测本帧中目标的位置。
第4章介绍了网络的训练。
- 深度学习Tracking(1)——Learning to Track at 100 FPS with Deep Regression Networks(代码理解)
- 深度学习Tracking(1)——Learning to Track at 100 FPS with Deep Regression Networks
- Learning to Track at 100 FPS with Deep Regression Networks
- GOTURN——Learning to Track at 100 FPS with Deep Regression Networks
- 【目标跟踪】Learning to Track at 100 FPS with Deep Regression Networks 学习
- 计算机视觉之目标跟踪——论文Learning to Track at 100 FPS with Deep Regression Networks
- GOTURN: Learning to Track at 100 FPS with Deep Regression Networks笔记
- 目标跟踪之GOTURN:Learning to Track at 100 FPS with Deep Regression Networks
- Learning to Track at 100 FPS with Deep Regression Networks 论文笔记
- Learning to Track at 100 FPS with Deep Regression Networks 论文理解及应用笔记(一)
- Learning to Track at 100 FPS with Deep Regression Networks 论文理解及应用笔记(二)
- Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
- 深度学习基础(七)Self-Taught Learning to Deep Networks
- Deep Learning(深度学习)Convolutional Neural Networks卷积神经网络
- Deep Learning(深度学习)Convolutional Neural Networks卷积神经网络
- 深度学习tracking学习笔记(1):Visual Tracking with Fully Convolutional Networks
- 深度学习入门:Simultaneous Feature Learning and Hash Coding with Deep Neural Networks
- 深度学习材料:从感知机到深度网络A Deep Learning Tutorial: From Perceptrons to Deep Networks
- mysql 存储引擎
- 90. Subsets II -Medium
- python标准库之urllib, httplib, urllib2
- 1.Hadoop初识
- 注释的误用
- 深度学习Tracking(1)——Learning to Track at 100 FPS with Deep Regression Networks
- 算法训练 入学考试
- 轻听变色之谜-如何改变Android应用的主题色
- 解决运行Java项目出现错误 error:java: 无效的源发行版: 8解决方法
- TCPDUMP/LIBPCAP 3-PCAP 中文手册(1)
- GitHub最受欢迎深度学习应用项目 Top 5
- 轻量却超强——推荐几款好用的截图工具
- iOS 限制UIImageView放大和缩小
- 浅谈JS继承(一)