求线性卷积_卷积神经网络目标检测

求线性卷积_卷积神经网络目标检测SiamFC:利用全卷积孪生网络进行视频跟踪

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

?论文下载地址

  SiamFC论文地址
  SiamFC论文百度网盘下载地址提取码:7309
  SiamFC论文翻译(水印)百度网盘下载地址提取码:4ysm
  SiamFC论文翻译(无水印PDF+Word)下载地址

?代码下载地址

  [GitHub]
  [百度网盘]提取码:yaph

?‍?论文作者


Luca Bertinetto、Jack Valmadre、Joao F. Henriques、Andrea Vedaldi、Philip H. S. Torr

Department of Engineering Science, University of Oxford

?模型讲解

[模型结构]

  一说到孪生,大家或许会想到两个一样的东西。在SiamFC的网络结构中,如下图所示,具有两个权值共享的分支。下图中,z为127×127的模板图像相当于我们要追踪的目标,x为256×256的搜索图像,我们所要完成的就是在x中找到z的位置。


求线性卷积_卷积神经网络目标检测

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


求线性卷积_卷积神经网络目标检测

  之后会将生成的featuremap输入互相关层生成heatmap,也叫做相应图,实际上会进行如下的计算:
f ( z , x ) = φ ( z ) ∗ φ ( x ) + b I f(z,x) =φ(z)* φ(x)+b\mathbb{I} f(z,x)=φ(z)φ(x)+bI  其中 b I b\mathbb{I} bI为每个位置对应的值,’ ∗ * ’是进行的卷积运算,通过卷积运算提取在x中与z最相似的部分。如下图所示,卷积的左边就相当于x的featuremap,卷积的右边就是两种不同的z所对应的featuremap,将两者互相卷积生成相应图,响应值最高的位置就对应着z可能的位置。在SiamFC结构图中,输入的搜索图像中有红蓝两个区域在经过网络后与heatmap中的红蓝响应值相对应。


求线性卷积_卷积神经网络目标检测

  在这会出现一个问题,网络生成的是17×17 的heatmap,而输入x是255×255的搜索图像,怎样将两者的位置进行映射呢。这里,作者将17×17的heatmap进行双三次插值生成272×272的图像,来确定物体的位置。但是为什么不生成255×255的图像呢,作者在论文中说,这样做是由于原始图像相对比较粗糙,为了使定位更加准确。

[模型输入]

  孪生网络有两个分支对应两个输入,z与x的大小并不是任意输入的,如下图所示


求线性卷积_卷积神经网络目标检测

  上面的三张图是网络输入的模板图像z,下面对应的是网络输入的搜索图像x,红色为当前的所在帧的bounding-box。对于模板图像来说,根据第一帧的groundtruth会得到目标的(x_min,y_min,w,h)四个值,会通过以下公式生成模板图像的大小:
s ( w + 2 p ) × s ( h + 2 p ) = A s(w+2p)×s(h+2p) = A s(w+2p)×s(h+2p)=A p = w + h 4 p=\frac{w+h}{4} p=4w+h其中 A = 12 7 2 A=127^2 A=1272,s是对图像进行的一种变换,先将包含上下文信息的 ( w + 2 p ) × ( h + 2 p ) (w+2p)×(h+2p) (w+2p)×(h+2p)的图片扩展,然后进行resize,生成127×127的模板图像(代码中有一个resize的过程)。
  对于搜索图像x来说,会从整张图片中裁剪出255×255的图片,裁剪的中心为上一帧预测的bounding-box的中心。作者为了提高跟踪性能,选取了多种尺度进行预测。最初的SiamFC为5种尺度 1.02 5 { − 2 , − 1 , 0 , 1 , 2 } 1.025^{\{-2,-1,0,1,2\}} 1.025{
2,1,0,1,2}
,其中255×255对应尺度为1。后来,为了提升网络的FPS,作者又提出了存在3种尺度的SiamFC-3s。
  当模板图像和搜索图像不够裁剪时,会对不足的像素按照RGB通道的均值进行填充。

[损失函数]

  首先作者采用了Logistic损失函数:
ℓ ( y , v ) = l o g ( 1 + e x p ( − y v ) ) \ell(y,v)=log(1+exp(-yv)) (y,v)=log(1+exp(yv)) L ( y , v ) = 1 ∣ D ∣ ∑ u ∈ D ℓ ( y [ u ] , v [ u ] ) L(y,v)=\frac{1}{|D|}\sum_{u\in D}\ell(y[u],v[u]) L(y,v)=D1uD(y[u],v[u])其中 v v v是网络输出的单个响应值, y y y为实际值,且 y ∈ { − 1 , + 1 } y \in \{-1,+1\} y{
1,+1}
D D D是生成的heatmap, u u u D D D中的某一个值, ∣ D ∣ |D| D为heatmap的大小。而heatmap的groundtruth按照以下公式进行标记: y [ u ] = { + 1 i f     k ∣ ∣ u − c ∣ ∣ ≤ R − 1 otherwise y[u]=\begin{cases}+1& \text if\ \ \ k||u-c||\le R\\-1& \text{otherwise}\end{cases} y[u]={
+11if   kucRotherwise
其中 c c c为物体在heatmap的中心, u u u为heatmap中任意一点, ∣ ∣ u − c ∣ ∣ ||u-c|| uc u u u c c c的欧氏距离, R R R为距离的阈值, k k k为heatmap经过网络之后缩小的倍数,从网络结构可以看出,有三层的卷积或者池化是以2为步长,所以包含物体信息的像素的变化会缩小 2 3 = 8 2^3=8 23=8倍,而以1为步长的操作是不会对包含物体信息的像素产生影响。

[训练过程]

  训练过程中,作者通过MatConvNet使用随机梯度下降法(SGD)进行以下公式: arg ⁡ min ⁡ θ E ( z , x , y ) L ( y , f ( z , x : θ ) ) \arg \min _{\theta} \underset{(z, x, y)}{\mathbf{E}} L(y, f(z, x : \theta)) argθmin(z,x,y)EL(y,f(z,x:θ))其中 θ \theta θ代表着网络参数。

训练属性 参数取值
梯度下降 SGD
初始化参数 高斯分布
迭代次数 50
每次迭代样本数 50000
批量大小 8
学习率 1 0 − 2 − 1 0 − 5 10^{-2}-{10^{-5}} 102105

[结果分析]

[视频跟踪数据集指标分析]

[OTB-13]
  OTB-13基准考虑了不同阈值下的平均每帧的成功率:如果一个跟踪器的估计值和真值之间的联合(IOU)交并比高于某个阈值,则该跟踪器在给定帧中是成功的。OPE(一次性评估)、TRE(时间鲁棒性评估)和SRE(空间鲁棒性评估)。如下图所示,SiamFC的OPE为0.612,TRE为0.621,SRE为0.554。而SiamFC-3s的OPE为0.608,TRE为0.618,SRE为0.549。


求线性卷积_卷积神经网络目标检测

[VOT]
  在VOT基准测试中,追踪器在故障后5帧自动重新初始化,当估计的边界框和真值之间的IOU为零时,就认为发生了这种情况。
  对于VOT-14,跟踪器根据两个性能指标进行评估:精确度和鲁棒性。前者按平均IOU计算,后者按失败总数表示。下图在VOT-14上与其他方法的比较:


求线性卷积_卷积神经网络目标检测

  对于VOT-15,计算平均重叠率,它表示失败后没有重新初始化的平均IOU。下图为40多种方法在VOT-15上的对比:


求线性卷积_卷积神经网络目标检测

求线性卷积_卷积神经网络目标检测

  对于VOT-16,SiamFC和SiamFC-3s,分别获得了0.3876和0.4051的总体重叠率。

[ImageNet]
  另外,作者还进行了数据集大小对网络性能影响的研究,当ImageNet数据集的大小从5%增加到100%时,平均重叠率(在VOT-15上测量)从0.168提高到0.274。


求线性卷积_卷积神经网络目标检测

  下图作者展示了SiamFC的优秀的鲁棒性,如运动模糊(第2行)、外观的剧烈变化(第1、3和4行)、照明效果差(第6行)和比例变化(第6行)。


求线性卷积_卷积神经网络目标检测

?传送门

  [视频跟踪]
  [视频跟踪数据集指标分析]
  [SiamFC:利用全卷积孪生网络进行视频跟踪]
  [SiamRPN:利用区域建议孪生网络进行视频跟踪]
  [DaSiamRPN:用于视觉跟踪的干扰意识的孪生网络]
  [SiamRPN++: 基于深度网络的孪生视觉跟踪的进化]
  [SiamMask: 快速在线目标跟踪与分割的统一方法]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187124.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Nginx(三):负载均衡策略 与 Nginx静态服务器

    Nginx(三):负载均衡策略 与 Nginx静态服务器

  • 调用第三方接口获取数据写入数据库

    调用第三方接口获取数据写入数据库系统框架:springboot(和框架没有什么太大关系,仅记录一下)调用路径:controller→service第三方接口:http://xx.xxx.com:9905/api/list?transtime=20181017105600&token=abcdefghijklmn请求参数:{“data”:”{\”xxx\”:\”\”,\”xx\”:\”\”,\”xxxx\”:\…

  • Animation的使用「建议收藏」

    Animation的使用「建议收藏」Animation(动画)有两种分类:补间动画(Tween)和帧动画(Frame)补间动画主要有以下几种:旋转(RotateAnimation)平移(TranslateAnimation)拉伸(ScaleAnimation)透明度(AlphaAnimation)实现的方式:1.实例相应的动画对象2.加载资源中的动画文件动画的属性d

    2022年10月31日
  • vue-router(路由)详细教程

    vue-router(路由)详细教程  由于Vue在开发时对路由支持的不足,于是官方补充了vue-router插件。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,实际上就是组件的切换。路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是我们WebApp的链…

  • Win8 app判断网络连接状态

    Win8app判断网络连接状态推荐:http://www.cnblogs.com/roucheng/p/3535198.html

    2021年12月25日
  • Stimulsoft Reports.Web.JS 2022.2.5

    Stimulsoft Reports.Web.JS 2022.2.5Stimulsoft2022.2.5Publishedon13May2022Reports.WebReports.NetReports.WpfReports.JSReports.PHPReports.JavaReports.BlazorReports.AngularDashboards.WEBDashboards.WINDashboards.JSDashboards.PHPBIDesignerBICloudBIServerN..

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号