论文原创笔记:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
来源:互联网 发布:bs软件 编辑:程序博客网 时间:2024/05/09 01:14
最近刚看的一篇文章,看了很多遍,觉得应该记录下来,也方便以后查阅了吧。
源码GitHub - HyeonseobNam/MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
https://github.com/HyeonseobNam/MDNet
首先文章标题就提出了本文的主旨,训练一个新的网络Muti-Domain Networks,以下简称MDNet。说一下为什么要训练这样一个网呢,原因有三:1.虽然所有的目标跟踪,目标类别各不相同,但它们之间应给存在某种共性,这就是需要由网络学习提取的东西。说到学习共性特征,首先想到的就是表达能力超强的CNN网,然而事实上,CNN在tracking中用的并不多,主要原因在于训练数据不足(原因我也不知道。。。),目前已经提出的解决方法就是用一个large scale classification dataset来做训练,但是由于分类和追踪的本质区别,效果并不好,文章中的网络还是用的专门用来做visual tracking的数据集来训练网络;2.目前已提出的大多数跟踪算法都是基于low level和hand crafted features,不能很好的应对光照变化,遮挡,变形的问题;3.目前很多训练好的网络都过大,作者认为,只用来区分目标和背景这两种分类的网络不必那么大。由此,提出了MDNet这种网络,并用它来做视频跟踪。
一.MDNet网络
1.结构
这个网络有5个hidden layers,包括三个卷积层和两个全连接层,其中卷积层与VGG-M中的对应层相同,并且在训练的初始化中直接使用以训练好的VGG-M的参数(在imagenet)。这个网络最大的特点在于它的fc6,这是一个带有K个分支的Domain-specific layers,当训练不同视频时,只有对应的分支被使用,其它分支不起作用,并且这个层带有softmax交叉熵损失函数。网络的输入尺寸为107*107,经过网络后输出一个二维向量,分别表示输入的bounding box的目标与背景的得分概率。
2.训练数据
作者提出这个网是为了在多个视频中提取出共性的特征,文中称为domain-independent information。训练的数据是对于某一视频,从中随机截取若干帧(具体多少没找到)图片,再从每一帧图片上取50个正样本和200个负样本,最终从这全部的正负样本中取32个正样本和96个负样本(利用了hard negative mining)组成一个mini-batch,也就是说每个视频都只训练一个mini-batch。
3.训练过程
利用迭代方法,文中假设一共有K个训练视频,那么就一共做100K次迭代。可以这么理解,每做一次循环,就是fc6从第一个分支到最后一个分支都分别训练一次,一共做100次这样的循环。前三层卷积层直接迁移使用VGG-M训练好的参数,后面的全连接层随机初始化。
经过这种训练,最终确定w1-w5。同时,由于共性已被提取,fc6的分支的作用也已经完成,可以功成身退了。
4.测试
当开始进行测试,原来fc6的那些分支全被取消,而再重新建立一个fc6,w1-w3固定,w4-w6在测试中被微调。
二.利用MDNet在线跟踪
1.网络在线更新
网络的在线更新有两种方法,分别是long-term和short-term更新。其中,长期更新是在固定时间间隔做一次更新,文中介绍是10帧一次;短期更新是每当目标得分低于0.5时就会进行。其中,更新用的是正负样本S+,S-。更新的是参数w4-w6。
2.正负样本的提取
在离线训练网络时:以ground-truth bounding box为准,得分高于0.7的为正样本,低于0.5的为负样本;
在线跟踪时:以estimated target bounding box为准,得分高于0.7的为正样本(50个),低于0.3的为负样本(200个);特别的,第一帧图片给出目标位置,在其周围选取500个正样本,5000个负样本。
3.在线跟踪
给出一个视频,其中选取的第一帧标记好目标位置,其后每新来的一帧图片,都以上一帧图片的目标位置为中心,用(宽,高,尺度)的形式选取256个candidates,记为xi,i=1,2,...,256(i为上角标),再将它们的大小统一为107*107,作为输入输进网络,输出得分概率,选出其中得分概率最高的那个candidate作为目标(estimated target bounding box)
然而,这里得到的x*并不能直接作为结果,还要做一个bounding box regression,以此来提高精确度。
4.其他的一些说明
T s and T l are frame index sets in short-term(τ s = 20) and long-term (τ l = 100) periods, respectively.
5.跟踪算法
三.实验结果
1.OTB
2.VOT2014
四.结论
- 论文原创笔记:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- Learning Multi-Domain Convolutional Neural Networks for Visual Tracking 笔记
- 论文笔记《Learning Multi-Domain Convolutional Neural Networks for Visual Tracking》
- 论文阅读笔记-learning multi-domain convolutional neural networks for visual tracking
- Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR 2016 阅读笔记
- 深度学习笔记(一):Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- earning Multi-Domain Convolutional Neural Networks for Visual Tracking
- 【计算机视觉】《Learning Multi-Domain Convolutional Neural Networks for Visual Tracking》
- 目标跟踪算法五:MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- 论文笔记 STCT: Sequentially Training Convolutional Networks for Visual Tracking
- 论文笔记之Learning Convolutional Neural Networks for Graphs
- 论文笔记 Ensemble of Deep Convolutional Neural Networks for Learning to Detect Retinal Vessels in Fundus
- 论文笔记 Visual Tracking with Fully Convolutional Networks
- 论文笔记《Convolutional Neural Networks for Sentence Classification》
- 【论文笔记】Large-Margin Softmax Loss for Convolutional Neural Networks
- 【论文笔记】Convolutional Neural Networks for Sentence Classification
- d3.js leaflet.js OpenStreetMap的综合应用
- JVM内存管理及GC机制
- leetcode题解-121. Best Time to Buy and Sell Stock && 122. Best Time to Buy and Sell St && 66. Plus One
- 在eclipse下使用Maven建立java web项目
- [二进制分组] BZOJ 4140 共点圆加强版
- 论文原创笔记:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
- HDU 5858 Hard problem——计算几何(微积分)
- maven+tomcat6-maven-plugin实现热部署及调试
- Jquery_UI : TreeGrid 单元格编辑
- Android:7.0 后加密库 Crypto 被废弃后的爬坑指南
- 2017年要学习的三个CSS新特性
- java编程基础篇 --> 从键盘输入一个整数(1 个 3 位整数),判断其是不是水仙花数。所谓“水仙花数”是 指一个 3 位数,其各位数字立方和等于该数本身。
- do{}while(0)的作用
- Cobol language