3.4.1 模型结构

SiamRPN++网络结构如下图所示,虚线的两边都是网络结构图,虚线左侧是特征提取网络结构,右侧是RPN结构图。其实SiamRPN++的网络结构与SiamRPN网络结构十分相似,而SiamRPN++就是在SiamRPN的基础上加入许多的创新点。

SiamRPN++网络以resNet50为backbone,进行特征提取。原始的ResNet主要应用于图像分类和识别任务,对于空间信息不敏感,而在跟踪任务中,空间信息对于目标的准确定位至关重要,所以要在跟踪任务中使用,需要对ResNet进行改进。原始ResNet具有32像素的尺度变化,不适合于稠密孪生网络的预测。如下图所示,通过修改conv4和conv5块以获得单位空间尺度变化,将最后两个块的尺度变化从16和32减少到8倍的尺度变化,并通过空洞卷积增加其感受域。在每个块输出端附加一个额外的1×1卷积层,以将输出通道减少到256。因为每一层padding操作被保留,模板图片处理得到的特征尺寸增加15X15,所以通过裁剪选取中间部分7X7大小的特征来作为模板图片特征。使用互相关层和全卷积层的组合来组合一个head模块来计算分类(用S表示)和bbox回归器(用B表示)。

3.4.2 模型创新

  • 针对平移不变性的改进

严格的平移不变性只存在于无填充网络中,如AlexNet。以前基于孪生的网络设计为浅层网络,以满足这一限制。然而,如果所使用的网络被ResNet或MobileNet等现代网络所取代,填充将不可避免地使网络变得更深,从而破坏了严格的平移不变性限制,不能保证物体最后的heatmap集中于中心。

当把正样本都放在图像中心时,网络只会对图像中心产生响应;如果把正样本均匀分布到某个范围内,而不是一直在中心时(所谓的范围即是指距离中心点一定距离,该距离为shift;正样本在这个范围内是均匀分布的),随着shift的不断增大,这种现象能够逐渐得到缓解。

  • 分层聚合

在以前仅使用像AlexNet这样的浅层网络,多层特性不能提供非常不同的作用。然而,考虑到感受野的变化,ResNet中的不同层更有意义。浅层的特征主要集中在低层次的信息上,如颜色、形状等,对于定位是必不可少的,而缺乏语义信息;深层的特征具有丰富的语义信息,在某些挑战场景(如运动模糊、形变等)中是有益的。使用这种丰富的层次信息有助于跟踪,从最后三个残差块中提取的多层特征,以进行分层聚合。将这些输出中分类featuremap称为S_3S​3​​,S_4S​4​​和S_5S​5​​,回归featuremap称为B_3B​3​​,B_4B​4​​和B_5B​5​​ 。conv3、conv4、conv5的输出分别输入三个SiamRPN模块。由于对resnet网络的改动,三个RPN模块的输出尺寸具有相同的空间分辨率,因此直接对RPN输出采用加权和。

  • 深层互相关改进

互相关计算模块是一个用来整合两个分支信息的核心操作。使用Depthwise Cross Correlation来实现更有效的信息关联,它具有更少的参数

Cross-Correlation用于SiamFC中,模版特征在搜索区域上按照滑窗的方式获取不同位置的响应值,最终获得一个一维的响应映射图。

Up-Channel Cross Correlation用于SiamRPN中,和Cross Correlation操作不同的是在做correlation操作之前多了两个卷积层,通道个数分别为256和256x2k,其中k表示每一个grid上面的anchor个数。其中一个用来提升通道数,而另一个则保持不变。之后通过卷积的方式,得到最终的输出。通过控制升维的卷积来实现最终输出特征图的通道数。

Depthwise Cross Correlation和UpChannel一样,深度互相关层预测模板和搜索图像之间的多通道相关性特征,模板图像经过卷积层后并不像SiamRPN那样将通道数增加2k倍,而是保持不变,同时搜索图像也与模板图像保持一致,两者逐通道相互卷积,之后接一个1×1的卷积层,再改变通道数,这样在保持精度的同时减少了参数量。

SiamRPN++很大程度上缓解了padding带来的平移不变性的破坏,从而在孪生网络中引入了深层的网络,从而带来了巨幅的准确率提升。

3.4.3 损失函数

损失函数与SiamRPN相同,不在赘述。

3.4.4 模型训练

SiamRPN++是端到端的训练模型,用SGD方法对网络进行训练。

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)相关推荐

  1. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-DaSiamRPN(2018)

    DaSiamRPN网络的全称为Distractor-aware SiamRPN,是基于SiamRPN网络结构,提出更好的使用数据,针对跟踪过程的干扰物,利用更好的训练方式是跟踪更加的鲁棒. DaSia ...

  2. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamFC(2016)

    目标追踪任务是指在一个视频中给出第一帧图像的bbox的位置,在后续的帧中追踪该物体的任务. 目标追踪不同于目标检测的是: 1.需要给出首帧的标定框. 2.只需要给出标定框,后续的搜索范围往往在上一帧图 ...

  3. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-汇总

    总结: Siamese网络衡量两个输入的相似程度,输出是一个[0,1]的浮点数,表示二者的相似程度.孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(N ...

  4. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamMask(2019)

    与普通的视频跟踪网络不同的是,SiamMask可以同时完成视频跟踪和实例级分割的任务.如下图所示,与传统的对象跟踪器一样,依赖于一个简单的边界框初始化(蓝色)并在线操作.与ECO(红色)等最先进的跟踪 ...

  5. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN(2017)

    3.2 SiamRPN(2017) 3.2.1 网络结构 Siam-RPN提出了一种基于RPN的孪生网络结构,由孪生子网络和RPN网络组成,前者用来提取特征,后者用来产生候选区域.其中,RPN子网络由 ...

  6. 单目标跟踪SiamMask:特定目标车辆追踪 part2

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) CNN:RCNN.SPPNet.Fast RCNN.Faste ...

  7. 智慧交通day04-特定目标车辆追踪01:总览概述

    项目介绍: 运动目标跟踪一直以来都是一项具有挑战性的工作, 也是研究的热点方向. 现阶段, 随着硬件设施 的不断完善和人工智能技术的快速发展, 运动目标跟踪技术越来越重要. 目标跟踪在现实生活中有很 ...

  8. 智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习

    1.Siamese网络 Siamese network就是"连体的神经网络",神经网络的"连体"是通过共享权值来实现的,如下图所示.共享权值意味着两边的网络权重 ...

  9. 智慧交通day03-车道线检测实现03:相机校正和图像校正的实现

    1.相机标定 根据张正友校正算法,利用棋盘格数据校正对车载相机进行校正,计算其内参矩阵,外参矩阵和畸变系数. 标定的流程是: 准备棋盘格数据,即用于标定的图片 对每一张图片提取角点信息 在棋盘上绘制提 ...

最新文章

  1. 【直播】鱼佬:心跳信号分类赛高分突破
  2. ORB-SLAM(1) --- 让程序飞起来
  3. 洛谷P1057传球游戏题解
  4. Web前端开发笔记——第二章 HTML语言 第十节 画布标签、音视频标签
  5. eeprom stm8l 擦除 读写_[STM8L]EEPROM操作读与写
  6. 工业以太网交换机品牌排行榜,国产工业交换机哪个品牌好?
  7. 利用SVN的post-commit钩子实现多项目自动同步
  8. 什么是正则表达式?有什么用?常用的字符有哪些?
  9. 七种武器武装.NET(常用开发工具介绍)(转)
  10. Python中的原始字符串
  11. 可以搜java题目答案的网站_百度一道笔试题目的答案
  12. 一招教你解决Rational rose画时序图(Sequence diagram)时找不到参与者(Actor)的尴尬现场
  13. HTML5--2 HTML标签
  14. android+单机button+设置背景图片,button设置点击更改背景图片
  15. # 英语四级 词根+例句
  16. 最速下降法(梯度下降法)python实现
  17. 【C++实现】编译原理 免考小队 消除一切左递归
  18. 苹果敢对“赞赏”分成30%真的是靠垄断吗?
  19. 设计模式篇:单例模式
  20. IDEA(或Android Studio)CamelCase插件的使用(解释了CamelCase插件无法使用问题)

热门文章

  1. 机器学习接口和代码之 KNN
  2. JDBC笔记02-数据库连接池 Spring JDBC
  3. python中的zip模块
  4. 解决Ubuntu中文件管理器死掉的情况
  5. pandas读写各种类型数据
  6. C语言扫地雷游戏的题目简介,C语言程序设计课程设计(论文)-扫地雷游戏.doc...
  7. python 比赛成绩预测_利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!值得,涨知识了!...
  8. php laypage,layui laypage组件常见用法总结
  9. java台球游戏设计原理_Java实现简单台球游戏
  10. jmeter持续集成测试中mongodb版本问题