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

简介: Siam-RPN提出了一种基于RPN的孪生网络结构,由孪生子网络和RPN网络组成,前者用来提取特征,后者用来产生候选区域。其中,RPN子网络由两个分支组成,一个是用来区分目标和背景的分类分支,另外一个是微调候选区域的回归分支,使整个网络实现了端到端的训练。

3.2 SiamRPN(2017)


3.2.1 网络结构


Siam-RPN提出了一种基于RPN的孪生网络结构,由孪生子网络和RPN网络组成,前者用来提取特征,后者用来产生候选区域。其中,RPN子网络由两个分支组成,一个是用来区分目标和背景的分类分支,另外一个是微调候选区域的回归分支,使整个网络实现了端到端的训练。


5d68fc9c986b49308dfbf7854109d0b5.png


SiamRPN中的Siamese network模块与siamFC相同,使用预训练的AlexNet网络,可将其作为一种变换𝜑,将这种变换分别应用到模板支和检测支上,产生模板和搜索区域的特征𝜑(𝑧),𝜑(𝑥)。


RPN网络由两部分组成,一部分是分类分支,用于区分目标和背景,另一部分是回归分支,它将候选区域进行微调。


在介绍这两个分支之前,我们先回顾下相关的内容:


grid:指的对一张图像或者是featuremap进行平均地分割,但是并不一定是一个像素对应一个grid,也可能是多个像素对应一个grid。所有grid组成一个Proposal。


2afabf10c55f476595f20583ce9fa641.png


anchor:锚点,指的是在boundingbox生成之前会先在每个grid上生成一些候选框,然后将这些anchors候选框进行操作,生成boundingbox


dda7998c57c7419bace96fa9fa8da139.png


一般候选框会有一些固定的参数,首先是长宽比,例如上图左边的三个anchors对应一个grid生成的三种不同长宽比的anchors,一般长宽比的数目都是固定的而且长宽比互为倒数,比如{0.5,1,2};其次,是尺度大小,也就是anchors的面积,一般同一个featuremap下的grid都是看作生成相同尺度的anchors,经过不同层的featuremap对应不同的尺度,也就生成不同尺度的anchors,例如左边和右边尺度不同的anchors。


NMS: 非极大值抑制。NMS可以理解为不是极大值就抑制它。如下图所示,有两个anchors都分类为狗,这时会计算两个框之间的IoU,如果大于某个阈值,则认为两个框检测的是同一个物体,将得分高的框保留,得分低的框去除。图中红色框得分0.9,绿色得分0.7,两个框的IoU大于某个阈值,则只保留红色来检测狗的位置。


26b135194e7245a193e8c90bce3306c1.png


在RPN网络中,对于分类分支,它将给出每个样本被预测为目标和背景的打分。网络将用Siam网络提取到的模板和检测帧的特征用一个新的卷积核进行卷积,在缩小了特征图的同时,产生了如图大小为4×4×(2𝑘×256)的模板帧特征[\psi(z)]_{cls}[ψ(z)]cls和大小为20×20×256的检测帧特征$[\psi(x)]_{cls}$,他们分别表示的含义是:模板帧特征大小是4×4,而且它在k种不同的anchors,对每一个anchor都产生一个特征;检测帧特征大小是20×20×256。然后,以模板帧的特征作为卷积核(2k个4×4×256)去卷积检测帧的特征从而产生响应图 A^{cls}_{w\times h}Aw×hcls,即模板帧和检测帧的256个通道相互卷积,加权求和生成一个通道,所以生成17×17×2k的featuremap,这里相当于将搜索图像划分为17×17 个grid,每个grid生成k个anchors,每两个通道是一组,一共k组对应k个anchors。第一个通道中,目标的anchors是1,背景是0;第二个通道中,背景是1,目标是0。


在回归分支中,与分类分支类似,两个featuremap经过卷积层分别生成4×4×(4k×256)的模板帧特征[\psi(z)]_{reg}[ψ(z)]reg和20×20×256的检测帧特征$[\psi(x)]_{reg}$,这里k对应着k个anchors,‘⭐’是卷积的操作,与分类分支的操作相同,生成17×17×4k的featuremap,每四个是一组,一共k组对应k个anchors。四组分别对应boundingbox的四个值dx、dy、dw、dh,是anchor与真值的距离。


05146034b8d548a38d52cb69215c7143.png


siamRPN的输入与siamFC中的相同,在训练过程中,用cross-entropy loss作为分类分支的损失函数,用smooth L1loss作为回归分支的损失函数。


3.2.2 one-shot跟踪


SiamRPN是第一次将one-shot策略用在跟踪任务中:


dde3c906314d42c7814fb3665bc35d0b.png


检测帧在对每一帧目标进行检测时就是对proposals进行分类,即相当于一个分类器。该分类器进行分类时需要一个响应得分图,该响应图是由检测帧特征图用模板帧特征图作为卷积核进行卷积得到的。标识有weight for regression和weight for classification即为模板帧特征图,它用第一帧图像信息进行训练(也就是的one-shot策略,只用第一帧图像信息训练出一层网络的参数),然后将训练好的参数作为卷积核用到检测支中,对检测帧特征进行卷积得到响应图featuremap。(分类的是:17×17×2k,回归的是:17×17×4k)


925e18e9b4394c6d83e8af3e3216252a.png



3.2.3 模型创新


  • 区域选择策略是丢弃部分anchors产生的边界框,选择在目标周围𝑔×𝑔×𝑘的anchors而不是在整个特征图上的𝑚×𝑛×𝑘的anchors,如图g=7。


2d741a575aad4497809e57cd50696a59.png


  • 用cosine窗口和尺度变化penalty对剩下的proposals得分进行重新排序。在上一个策略中执行并删除了离目标较远的proposals后,cosine窗口用于抑制最大位移,然后增加penalty以抑制尺寸和比例的大幅变化。最后选出得分最高的前K个proposals,并用NMS选出最终的跟踪目标位置。另外,在跟踪目标得到后,通过线性插值更新目标尺寸,保持形状平稳变化。


5439bb36ca844149839888d1871bcc6e.png


其中r和r′是长宽比,s和s′代表尺度,k是超参数。


3.2.4 损失函数


损失函数与faster-RCNN 中的损失函数类似,分类损失为交叉熵损失,回归损失采用归一化坐标的smooth L1 损失进行回归。Ax,Ay ,Aw,Ah表示anchors的中心点和宽高,Tx ,Ty,Tw,Th表示groundtruth的中心点和形状,标准化距离为:


1cf00a76d69643af8b5079c815d1f9ae.png


然后经过smooth L1损失:


c8e1a7023a604f24a0af0ee303796a13.png


3.2.5 模型训练


SIamRPN是端到端的训练模型,用SGD方法对网络进行训练,同时也运用了一些数据增强处理。在细节方面,因为相同目标在相邻帧变化不会很大,采用同一尺度5种不同比例的anchors[0.33,0.5,1,2,3],同时将IoU>0.6的定为正样本,IoU<0.3的定为负样本。


53abc54433af416c83e59a27e3732c72.png

目录
相关文章
|
10月前
|
编解码 监控 算法
视频监控 智能交通 数据集(目标检测、跟踪)
总结一下视频监控的数据集,用于目标检测、跟踪,持续跟新中..........
716 0
使用光流法跟踪汽车
使用光流估计在视频序列中检测和跟踪汽车。
79 0
|
传感器 存储 编解码
使用激光雷达数据构建地图并使用SLAM算法估计车辆轨迹
使用激光雷达数据构建地图并使用SLAM算法估计车辆轨迹。
199 0
|
传感器 编解码 算法
【航空和卫星图像中检测建筑物】使用gabor特征和概率的城市区域和建筑物检测研究(Matlab代码实现)
【航空和卫星图像中检测建筑物】使用gabor特征和概率的城市区域和建筑物检测研究(Matlab代码实现)
|
编解码 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
严格的平移不变性只存在于无填充网络中,如AlexNet。以前基于孪生的网络设计为浅层网络,以满足这一限制。然而,如果所使用的网络被ResNet或MobileNet等现代网络所取代,填充将不可避免地使网络变得更深,从而破坏了严格的平移不变性限制,不能保证物体最后的heatmap集中于中心。
152 0
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
|
机器学习/深度学习 算法 智慧交通
智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的,如下图所示。共享权值意味着两边的网络权重矩阵一模一样,甚至可以是同一个网络。
133 0
智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
|
机器学习/深度学习 传感器 自动驾驶
基于模型预测控制的车辆轨迹跟踪问题附MATLAB代码
基于模型预测控制的车辆轨迹跟踪问题附MATLAB代码
|
计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamMask(2019)
与普通的视频跟踪网络不同的是,SiamMask可以同时完成视频跟踪和实例级分割的任务。如下图所示,与传统的对象跟踪器一样,依赖于一个简单的边界框初始化(蓝色)并在线操作。与ECO(红色)等最先进的跟踪器不同,SiamMask(绿色)能够生成二进制分割,从而更准确地描述目标对象。
158 0
|
机器学习/深度学习 Web App开发 BI
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamFC(2016)
SiamFC采用了全卷积式的Siamese网络实现目标跟踪,其网络结构如下图所示,具有两个权值共享的分支。其中,z为127×127的模板图像相当于要追踪的目标,x为255×255的搜索图像,我们要完成的就是在x中找到z的位置。
169 0
|
机器学习/深度学习 计算机视觉 智慧交通
智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-汇总
Siamese网络衡量两个输入的相似程度,输出是一个[0,1]的浮点数,表示二者的相似程度。孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。
106 0