基于全连接孪生网络的目标跟踪(siamese-fc)
来源:互联网 发布:2015网络银行交易额 编辑:程序博客网 时间:2024/05/16 15:35
Fully-Convolutional Siamese Networks for Object Tracking
这两年可以说deeplearning已经占领了visual object tracking这个领域,但是对于跟踪问题来说,这些基于DL的做法虽然能够很好的提升跟踪的效果,但是在时效性这一方面却做的很差,这是因为DL复杂的模型往往需要很大的计算量,尤其是当使用的DL模型在跟踪的时候对模型进行更新的话,可能使用GPU都没法达到实时。今年出现了一些使用CNN进行跟踪,同时又具有很高的效率的跟踪算法,比如今年ECCV的GOTURN,
文章题目叫:《Fully-Convolutional Siamese Networks for Object Tracking》
算法主页:http://www.robots.ox.ac.uk/~luca/siamese-fc.html
code:https://github.com/bertinetto/siamese-fc
一、算法总体框架
图1 算法总体框架
图中z代表的是模板图像,算法中使用的是第一帧的groundtruth;x代表的是search region,代表在后面的待跟踪帧中的候选框搜索区域;
从图一和文章题目我们可以很容易理解算法的框架,算法本身是比较搜索区域与目标模板的相似度,最后得到搜索去区域的score map。其实从原理上来说,这种方法和相关性滤波的方法很相似。其在搜索区域中逐点的目标模板进行匹配,将这种逐点平移匹配计算相似度的方法看成是一种卷积,然后在卷积结果中找到相似度值最大的点,作为新的目标的中心。
上图所画的
二、具体实现
1、损失函数
在训练模型的时肯定需要损失函数,并通过最小化损失函数来获取最优模型。本文算法为了构造有效的损失函数,对搜索区域的位置点进行了正负样本的区分,即目标一定范围内的点作为正样本,这个范围外的点作为负样本,例如图1中最右侧生成的score map中,红色点即正样本,蓝色点为负样本,他们都对应于search region中的红色矩形区域和蓝色矩形区域。文章采用的是logistic loss,具体的损失函数形式如下:
对于score map中了每个点的损失:
其中
上面的是score map中每个点的loss值,而对于score map整体的loss,则采用的是全部点的loss的均值。即:
这里的
有了损失函数,那就可以用SGD对模型进行训练啦~~
2、训练所用数据库
与以前的算法不一样的是,起训练的数据库并不是传统的VOT,ALOV,OTB这三个跟踪benchmark,而是ILSVRC(ImageNet Large Scale Visual Recognition Challenge)中用于视频目标检测中的视频,这个数据集一共有4500个videos,4500个,4500….视频的每一帧都有标记的groundtruth,4500是什么概念呢,VOT,ALOV,OTB这三个数据集加起来也就不到500个视频,500个,500…..
3、网络结构
整个网络结构类似与AlexNet,但是没有最后的全连接层,只有前面的卷积层和pooling层。
图2 网络结构
整个网络结构入上表,其中pooling层采用的是max-pooling,每个卷积层后面都有一个ReLU非线性激活层,但是第五层没有。另外,在训练的时候,每个ReLU层前都使用了batch normalization,用于降低过拟合的风险。
4、一些实现细节
- 训练采用的框架是MatConvNet
- 训练采用的优化算法就是batch SGD,batch大小是8
- 跟踪时直接对score map进行线性插值,将17*17的score map扩大为272*272,这样原来score map中响应值最大的点映射回272*272目标位置。
5、算法测评结果
图3 OTB13
图3 VOT14
- 基于全连接孪生网络的目标跟踪(siamese-fc)
- siamese(孪生) 网络
- 目标跟踪“Siamese Instance Search for Tracking”
- 全连接层FC
- 基于粒子滤波的目标跟踪基本算法(Matlab)
- 基于深度学习的视频检测(三) 目标跟踪
- 基于模板匹配的运动目标跟踪
- 基于meanshift的单目标跟踪方法
- 基于mean-shift的简单目标跟踪
- 基于SVM与Meanshift的目标跟踪
- 基于MeanShift的目标跟踪算法
- 基于opencv的预先设定目标跟踪
- 基于MeanShift的目标跟踪算法、实现
- opencv3/C++基于颜色的目标跟踪
- 【跟踪】基于mean shift的目标跟踪算法
- Siamese 网络
- 同一窗口下基于KCF 目标跟踪和基于模板匹配的目标跟踪效果比较
- 目标跟踪 最简单的目标跟踪(模版匹配)
- mysql 5.5 安装图解(附安装到最后停住的解决方法)
- phpstorm快捷键使用
- UDP进程通信试验
- Qt 程序打包发布总结
- twig 模板引擎使渲染视图更加优雅
- 基于全连接孪生网络的目标跟踪(siamese-fc)
- 10 qt udp编程和网络聊天室的实现
- AWT与Swing区别与联系
- Python3.x和Python2.x的区别以及不同版本共存方法
- Android WebView 上传图片文件有坑
- 刷清橙OJ--A1013.进制转换4
- python中openpyxl模块学习知识点(一)
- hadoop2.7.3集群搭建
- 跨域问题