论文笔记《Learning Multi-Domain Convolutional Neural Networks for Visual Tracking》

0. 摘要


基于CNN的一个跟踪算法,达到了state-of-art水平,意味着深度学习又占领了一个山头。本文中使用的网络由共享层(shared layers)和许多特定目标分支层组成。每一个分支层对应一个二分类的任务:确定输入样本是不是该分支对应的跟踪目标。当在一个新的图像序列中跟踪一个目标时,用一个新的二分类层连接共享层,作为新的跟踪网络,并实时在线微调。这个网络取名MDNet,具体细节看下文。

1. Multi-Domain Network (MDNet)


1.1 网络结构

相比于AlexNet和VGG-Nets,作者使用了一个相对较小的网络来做跟踪,并解释了理由:

  1. 跟踪问题本质上只是个二分类的任务,对模型复杂度要求相对更低。

  2. 随着网络越来越深,空间信息越来越稀释,所以:对于图像中精准的目标定位,CNN并不是那么有效。

  3. 在跟踪任务中通常目标较小,所以输入大小(input size)也就小,网络结构自然也就更浅。

  4. 跟踪通常是一个实时任务,小网络显然更有效率。

下图即MDNet网络结构,由共享层和K个特定目标分支层组成,黄色和蓝色的bounding boxes分别对应每个特定分支层的正样本和负样本。

1.2 Learning Algorithm

SGD迭代,每一次迭代中只涉及一个特定类别。在第i次迭代中,mini-batch中只包含来自第(i mod K)个序列的样本,特定目标分支网络中也只激活第(i mod K)个分支。

通过这个学习过程,类别无关的信息就被学习到并保存在共享层中,这些信息是非常有用的泛化特征表示。

2. Online Tracking using MDNet


完成上述训练过程之后,在测试阶段中用一个新的分支层代替训练阶段的K个分支层连接共享层。测试的时候实时微调共享层和分支层。

2.1 Tracking Control and Network Update

为了兼顾跟踪的鲁棒性和自适应性,采用两种策略更新模型参数:long-term和short-term。

long-term策略:定期微调,使用一段时间内收集到的正样本。

short-term策略:当检测到可能有跟踪失败的情况时执行,使用短期内收集到的正样本。

两种策略中都使用短期内检测到的新鲜负样本,因为旧的负样本对于当前帧通常是多余、不相关的。 为了确定每一帧中目标的状态,在上一帧目标的位置附近sample N个候选目标,用网络模型对这N个候选目标估计,取得分最高的为最佳目标。

2.2 Hard Minibatch Mining

在训练阶段的每一次迭代中,一个mini-batch包含n个正样本和p个困难负样本。如何选择困难负样本?用模型测试M(M >> p)个负样本,取top p个困难负样本。

2.3 Bounding Box Regression

根据给定的第一帧,训练一个线性回归模型(使用目标附近的样本的conv3特征)。在接下来的序列帧中,使用训练好的回归模型在估计好的可靠的候选目标中调整目标位置。

earning Multi-Domain Convolutional Neural Networks for Visual Tracking相关推荐

  1. 目标跟踪算法五:MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

    目标跟踪算法五:MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking 原文:https://zh ...

  2. Convolutional Neural Networks for Visual Recognition 1

    Introduction 这是斯坦福计算机视觉大牛李菲菲最新开设的一门关于deep learning在计算机视觉领域的相关应用的课程.这个课程重点介绍了deep learning里的一种比较流行的模型 ...

  3. Convolutional Neural Networks for Visual Recognition

    http://cs231n.github.io/   里面有很多相当好的文章 http://cs231n.github.io/convolutional-networks/ Table of Cont ...

  4. Convolutional Neural Networks for Visual Recognition 8

    Convolutional Neural Networks (CNNs / ConvNets) 前面做了如此漫长的铺垫,现在终于来到了课程的重点.Convolutional Neural Networ ...

  5. Python Numpy学习手册(翻译自斯坦福大学 CS231n: Convolutional Neural Networks for Visual Recognition)

    1.Python简介 Python是一种高级的动态类型化多范例编程语言,也类似伪代码,举个例子,对数据排序 def quicksort(arr):if len(arr) <= 1:return ...

  6. CS231n Convolutional Neural Networks for Visual Recognition------Scipy and MatplotlibTutorial

    源链接为:http://cs231n.github.io/python-numpy-tutorial/. 这篇指导书是由Justin Johnson编写的. 在这门课程中我们将使用Python语言完成 ...

  7. CS231n Convolutional Neural Networks for Visual Recognition------Numpy Tutorial

    源链接为:http://cs231n.github.io/python-numpy-tutorial/. 这篇指导书是由Justin Johnson编写的. 在这门课程中我们将使用Python语言完成 ...

  8. CS231n Convolutional Neural Networks for Visual Recognition------Python Tutorial

    源链接为:http://cs231n.github.io/python-numpy-tutorial/. 这篇指导书是由Justin Johnson编写的. 在这门课程中我们将使用Python语言完成 ...

  9. (zhuan) Building Convolutional Neural Networks with Tensorflow

    Ahmet Taspinar Home About Contact Building Convolutional Neural Networks with Tensorflow Posted on a ...

最新文章

  1. 南非的5DT数据手套使用说明
  2. Android开发人员不得不收集的代码(不断更新中...)
  3. 电脑分屏软件_一招定鲜 | 电脑实现分屏解决了办公和娱乐
  4. 对象之function
  5. iOS 控制屏幕横竖屏旋转
  6. 操作系统实验报告7:进程间通信—共享内存。实现一个带有n个单元的线性表的并发维护。
  7. html映射共享文件夹,怎么在DOS下映射共享文件夹为本地磁盘
  8. 讲的是关于提高网站速度的内容|转自csdn
  9. apache poi处理表格示例
  10. 安装centos 6.5
  11. php命令模式,老生常谈PHP面向对象之命令模式(必看篇)
  12. 搭建sip软电话环境
  13. 【第四章-2】Python爬虫教程(协程,多任务异步协程,aiohttp模块,异步爬虫实战:爬取《西游记》全部章节内容)
  14. 单片机仿真指示灯开关控制器
  15. CUDA编程——GPU架构,由sp,sm,thread,block,grid,warp说起
  16. STM32 DAC + DMA + TIM 输出正弦波,三角波,方波信号
  17. 【题解】洛谷P4996[【LGR-055】洛谷11月月赛]C.咕咕咕 组合数
  18. STM32+IAP方案的实现,IAP实现原理(详细解决说明)。
  19. 微信小程序实现左边图片右边文字效果
  20. 什么是函数式编程,以及优缺点

热门文章

  1. js会用php处理吗,js怎么跟php结合使用
  2. python xlutils.copy_使用python的xlrd,xlwt和xlutils.copy保留样式
  3. idea修改java和jsp不起作用_使用IDEA编写jsp时EL表达式不起作用的问题及解决方法...
  4. hp 交换机远程连接_光收发器怎么安装,光纤收发器连接示意图解
  5. 北航计算机考博C语言真题_北京航空航天大学计算机考研:严厉的老父亲,教会你本事,本科非211以上就不要去了...
  6. matlab拟合未定义函数或变量,关于matlab的未定义函数或变量的问题
  7. python进行数据分析 kindle_利用Python进行数据分析
  8. halcon区域腐蚀膨胀算子_OpenCV 图像处理之膨胀与腐蚀
  9. 老版本的Spring应用该如何应对这次的RCE漏洞?
  10. 不重启JVM,替换掉已经加载的类,偷天换日?