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

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: SiamFC采用了全卷积式的Siamese网络实现目标跟踪,其网络结构如下图所示,具有两个权值共享的分支。其中,z为127×127的模板图像相当于要追踪的目标,x为255×255的搜索图像,我们要完成的就是在x中找到z的位置。

目标追踪任务是指在一个视频中给出第一帧图像的bbox的位置,在后续的帧中追踪该物体的任务。 目标追踪不同于目标检测的是:


1、需要给出首帧的标定框。


2、只需要给出标定框,后续的搜索范围往往在上一帧图像的附近。


孪生网络是使用深度学习进行目标追踪的重要解决方案,主要包括:孪生网络解决目标追踪开山之作SiamFC、SiamRPN、DaSiamRPN、SiamRPN++,SiamMask,下面对其进行简要介绍:


3.1 SiamFC(2016)


3.1.1 网络结构


SiamFC采用了全卷积式的Siamese网络实现目标跟踪,其网络结构如下图所示,具有两个权值共享的分支。其中,z为127×127的模板图像相当于要追踪的目标,x为255×255的搜索图像,我们要完成的就是在x中找到z的位置。


a8a61bb2b29449c9a4482b107cd4db80.png


SiamFC有两个分支对应两个输入为z和x,将他们同时输入进行φ的计算,这里的作用就是进行特征提取,分别生成6×6×128和22×22×128的featuremap。φ所对应的特征提取网络采用的是AlexNet,其结构如下:


200d2f4424fa4a82b97cb7ca68a8bdb4.png


将生成的featuremap输入互相关层生成score map,实际上会进行如下的计算:


3467a358e98d4bcd956d5fdbe59cc393.png


其中bI为每个位置对应的值,相当于是一个偏置,φ(x)和φ(z)是进行的卷积运算,通过卷积运算提取在x中与z最相似的部分。在SiamFC结构图中,输入的搜索图像中有红蓝两个区域在经过网络后与score map中的红蓝响应值相对应。网络输出的是17×17 的score map,而输入x是255×255的搜索图像,怎样将两者的位置进行映射呢。这里,将17×17的score map进行双三次插值生成272×272的图像,来确定物体的位置。但是为什么不生成255×255的图像呢?由于原始图像相对比较粗糙,为了使定位更加准确,所以生成272*272的结果。


3.1.2 模型输入


孪生网络有两个分支对应两个输入,z与x的大小并不是任意输入的,而是对目标区域进行了扩充,如下图所示:



3d37eedfad4c43d2959835715e998630.png


上面的三张图是网络输入的模板图像z,下面对应的是网络输入的搜索图像x,红色为当前的所在帧的bounding-box。对于模板图像来说,根据第一帧的groundtruth会得到目标的(x_min,y_min,w,h)四个值,会通过以下公式生成模板图像的大小:


d6b5605514cd493b9c8796ece9957089.png

6c0aa2bcc10541aba19096233c532738.png


其中A=127*127, s是对图像进行的一种变换,先将包含上下文信息的(w+2p)×(h+2p)的图片扩展,然后进行resize,生成127×127的模板图像。 对于搜索图像x来说,会从整张图片中裁剪出255×255的图片,裁剪的中心为上一帧预测的bounding-box的中心。为了提高跟踪性能,选取了多种尺度进行预测。最初的SiamFC为5种尺度1.025^{-2,-1,0,1,2} ,其中255×255对应尺度为1。为了提升网络的FPS,又提出了存在3种尺度的SiamFC-3s。当模板图像和搜索图像不够裁剪时,会对不足的像素按照RGB通道的均值进行填充。


3.1.3 损失函数


为了构造有效的损失函数,对搜索区域的位置点进行了正负样本的区分,即目标一定范围内的点作为正样本,这个范围外的点作为负样本,例如网络结构图中最右侧生成的score map中,红色点即正样本,蓝色点为负样本。score map中的groundtruth按下式进行标记:


c8b3795cae244fbbbbf3efb68e0c238a.png


其中c为物体在score map的中心,u为score map中任意一点,∣∣u−c∣∣是u与c的欧氏距离,R为距离的阈值,k为score map经过网络之后缩小的倍数,从网络结构可以看出,有三层的卷积,池化是以2为步长,所以图像经过网络后会缩小2^3=8倍。


SiamFC采用的损失函数是logistic loss,具体的损失函数形式如下: 对于score map中了每个点的损失:


c765c6f14e964d73807459ae4871dfb2.png


其中v是score map中每个点真实值,y∈{+1,−1} 是这个点所对应的标签。 上式是score map中每个点的loss值,而对于score map整体的loss,则采用的是全部点的loss的均值。即:


2909e1b03da9429eb64172a39e94629d.png


D是生成的score map,∣D∣为heatmap的大小,uϵD代表其在score map中的位置。


3.1.4 训练与跟踪


训练过程使用随机梯度下降法对下式进行优化:


13ce689ddbb84280a33d6b9035b83c53.png


其中:θ代表着网络参数。


87a5c66ef0464d64873ff8c618373f62.png


跟踪过程中模板图像只提取一次特征,目标图像在线不更新,对搜索图像进行5个尺度的搜索,利用用双三次插值将score map从 17×17 上采样到 272×272,进行跟踪目标的确定。

目录
相关文章
|
存储 自动驾驶 安全
基于轨迹优化的自动驾驶汽车跟随自行车模型动力学控制(Matlab代码实现)
基于轨迹优化的自动驾驶汽车跟随自行车模型动力学控制(Matlab代码实现)
124 0
|
编解码 监控 算法
视频监控 智能交通 数据集(目标检测、跟踪)
总结一下视频监控的数据集,用于目标检测、跟踪,持续跟新中..........
1169 0
|
算法
铰接式车辆的横向动力学仿真提供车辆模型研究(Matlab代码实现)
铰接式车辆的横向动力学仿真提供车辆模型研究(Matlab代码实现)
206 0
|
编解码 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
严格的平移不变性只存在于无填充网络中,如AlexNet。以前基于孪生的网络设计为浅层网络,以满足这一限制。然而,如果所使用的网络被ResNet或MobileNet等现代网络所取代,填充将不可避免地使网络变得更深,从而破坏了严格的平移不变性限制,不能保证物体最后的heatmap集中于中心。
179 0
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
|
机器学习/深度学习 算法 智慧交通
智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的,如下图所示。共享权值意味着两边的网络权重矩阵一模一样,甚至可以是同一个网络。
153 0
智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
使用光流法跟踪汽车
使用光流估计在视频序列中检测和跟踪汽车。
105 0
|
机器学习/深度学习 传感器 自动驾驶
基于模型预测控制的车辆轨迹跟踪问题附MATLAB代码
基于模型预测控制的车辆轨迹跟踪问题附MATLAB代码
|
数据挖掘 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN(2017)
Siam-RPN提出了一种基于RPN的孪生网络结构,由孪生子网络和RPN网络组成,前者用来提取特征,后者用来产生候选区域。其中,RPN子网络由两个分支组成,一个是用来区分目标和背景的分类分支,另外一个是微调候选区域的回归分支,使整个网络实现了端到端的训练。
162 0
|
算法 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-DaSiamRPN(2018)
DaSiamRPN网络的全称为Distractor-aware SiamRPN,是基于SiamRPN网络结构,提出更好的使用数据,针对跟踪过程的干扰物,利用更好的训练方式是跟踪更加的鲁棒。
130 0
|
机器学习/深度学习 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-汇总
Siamese网络衡量两个输入的相似程度,输出是一个[0,1]的浮点数,表示二者的相似程度。孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。
120 0