您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
SiamNet: 全卷积孪生网络用于视频跟踪
 
作者:沈子恒
   次浏览      
 2020-9-8  
 
编辑推荐:
本文主要介绍了SiamNet 网络结构、网络的训练原理、如何将不同目标尺寸进行规范化等相关内容。
本文来自于csdn,由火龙果软件Anna编辑、推荐。

参考论文:Fully-Convolutional Siamese Networks for Object Tracking

算法主页

code

1. 网络结构及摘要

图一 SiamNet 网络结构。 搜索区域x, 输出的是一个得分图, 所谓的得分就是相似度度量,得分图的维度是由搜索图像块决定(样本模板和搜索区域进行密集交叉相关)。代表的是一种特征映射操作,将原始图像映射到特定的特征空间

传统意义上, 任意目标跟踪问题采用在线学习目标的形貌特征完成。 尽管这些在线的方法已经取得了非常好的结果,但是啊仅仅在线的方法本身具限制了模型学习的丰富性。最近,一些学者开始利用深度卷积网络的强大特征表达能力。然而,当跟踪的目标事前并不知道情况下,我们有必要采用SGD在线调整网络的权重,这严重的降低了系统的速度。本文中作者将一个全新的全卷积孪生网络fully-convolutional Siamese network融合到一个最基本的目标跟踪算法中。Siamese network 采用ILSVRC15数据集进行end-to-end的训练。本文的跟踪器尽管非常的简单,但是跟踪准确率很好,可以做到实时跟踪。

2. 网络的训练原理

图2 SiamNet模型训练原理

2.1 模型训练-数据准备

作者采用判别式的方法对网络进行训练,更具体是采用正样本、负样本分别构成的exemplar-candidate对来进行训练。 如图2所示,上一帧的目标模板与下一帧的搜索区域可以构成很多pair的exemplar-candidate pair, 但是根据判别式跟踪原理,仅仅下一帧的目标与上一阵的目标区域(即 exemplarof T frame-exemplarof T+1 frame)属于模型的正样本,其余大量的exemplar-candidate pair都是负样本。这样就完成了网络结构的端到端的训练。

这里需要额外说明一点就是如何确定搜索区域X. 其实这就是跟踪领域比较常用的方法,根据前一帧目标的中心初始化下一帧搜索区域的中心位置,然后设计搜索区域的尺寸就好了。

2.2 模型训练-损失函数设计

设计模型损失函数一直以来都是模型最重要的一环。本文作者采用了判别式掩膜的形式, 即目标和搜索区域经过交叉互相关可以得到相关程度谱图,图像在训练过程中exemplar-candidate的准确关系是已知的。所以设计起来并不困难。但这里寻要有三个问题需要解决:

模板和搜索区域经过卷积特征提取之后,图像尺寸已经发生改变,如何和已知的判别式掩膜进行运算?

作者采用了绝对形式的判别式掩膜,如果人工标记偶尔出现出现偏差,非黑即白的掩膜方略是否合理?

可否利用frame-frame之间的信息,例如相邻两帧之间目标的位置偏移应该很小? 采用平均损失作为损失函数是否合理?

回答1:

在固定特征提取网络基础之上,主要影响尺寸的是Sampling过程,也就是卷积过程中的Pooling,所以只需要记住Pooling过程中的stride就好。作者将金标准掩膜通过stride参数变化到Score Map尺寸大小的。如下所示:

k表示的就是图像尺寸的降采样过程。

回答2:

作者采用的是金标准位置一定范围内的区域都是正样本,其其余部分为负样本,这样是扩大正负样本之间的距离,是的分类更加的清晰,当然也可以使用高斯权重进行赋值构造高斯掩膜。

回答3:(在线跟踪过程)

作者在得分图的基础上赋予了余弦窗权重,用来惩罚大的不合理的偏移位置。

此外,作者也研究了尺度的影响,作者将搜索空间拓展到了尺度空间,进行更加深层次的搜索。

跟踪时直接对score map进行线性插值,将17*17的score map扩大为272*272,这样原来score map中响应值最大的点映射回272*272目标位置。

3. 如何将不同目标尺寸进行规范化

作者采用了一个非常简单粗暴的方式将所有目标规范到了127*127大小,具体为原标注框的尺寸+边缘填充+尺寸变化。

s(w+2*p) * s(h+2*p) = 127*127 s:尺度因子 p:边缘填充

4. 额外信息

作者采用如下论文进行尺度变换:He, K., Zhang, X., Ren, S., Sun, J.: Delving deep into rectifiers: Surpassing humanlevel performance on ImageNet classification,ICCV,2015.

在线实时更新模板并没有得到比较好的收益。(如采用KCF的线性插值模式更新模板)

5. 感悟

这个“朴素”的网络结构,深深的影响了这两年来tracking的发展方向。 所谓的Siamese(孪生)网络,是指网络的主体结构分上下两支,这两支像双胞胎一样,共享卷积层的权值。上面一支(z)称为模板分支(template),用来提取模板帧的特征,下面一支(x)称为检测分支(search),是根据上一帧的结果在当前帧上crop出的search region。经过了相同的网络之后,模版支的feature map在当前帧的检测区域的feature map上做匹配(*)操作,找到响应最大的点就是对应这一帧目标的位置。

优势:

把tracking任务做成了一个检测/匹配任务,整个tracking过程不需要更新网络,这使得算法的速度可以很快(FPS:80+)。此外,续作CFNet将特征提取和特征判别这两个任务做成了一个端到端的任务,第一次将深度网络和相关滤波结合在一起学习。

弊病:

1. 模板支只在第一帧进行,这使得模版特征对目标的变化不是很适应,当目标发生较大变化时,来自第一帧的特征可能不足以表征目标的特征。至于为什么只在第一帧提取模版特征,我认为可能因为: 1)第一帧的特征最可靠也最鲁棒,在tracking过程中无法确定哪一帧的结果可靠的情况下,只用第一帧特征足以的到不错的精度。 2)只在第一帧提模板特征的算法更精简,速度更快。

2. Siamese的方法只能得到目标的中心位置,但是得不到目标的尺寸,所以只能采取简单的多尺度加回归,这即增加了计算量,同时也不够精确。

   
次浏览       
相关文章

基于图卷积网络的图深度学习
自动驾驶中的3D目标检测
工业机器人控制系统架构介绍
项目实战:如何构建知识图谱
 
相关文档

5G人工智能物联网的典型应用
深度学习在自动驾驶中的应用
图神经网络在交叉学科领域的应用研究
无人机系统原理
相关课程

人工智能、机器学习&TensorFlow
机器人软件开发技术
人工智能,机器学习和深度学习
图像处理算法方法与实践
最新活动计划
Node+Vue3.0前端全栈开发 7-5 [特惠]
Spring Cloud微服务架构 7-5[特惠]
SysML和EA系统设计与建模 7-26[特惠]
Python、数据分析与机器学习 8-23[特惠]
嵌入式软件架构设计 8-22[线上]
Linux内核编程及设备驱动 7-25[北京]
 
最新文章
多目标跟踪:AI产品经理需要了解的CV通识
深度学习架构
卷积神经网络之前向传播算法
从0到1搭建AI中台
工业机器人控制系统架构介绍
最新课程
人工智能,机器学习和深度学习
人工智能与机器学习应用实战
人工智能-图像处理和识别
人工智能、机器学习& TensorFlow+Keras框架实践
人工智能+Python+大数据
更多...   
成功案例
某综合性科研机构 人工智能与机器学习应用
某银行 人工智能+Python+大数据
北京 人工智能、机器学习& TensorFlow框架实践
某领先数字地图提供商 Python数据分析与机器学习
中国移动 人工智能、机器学习和深度学习
更多...