siamFC_silvahound

siamFC_silvahound一SiamFC++网络结构及处理流程如下:注意大多数算法对于分类损失都采用交叉熵损失,而SiamFC++在分类分支中计算cls_score与center-nessscore采用了不同的损失函数,cls_score采用focalloss,这样做是为了缓解正负样本不均衡问题;center-nessscore则采用交叉熵loss。最终用这两部分对应元素相乘得到的结果得到更加合理的分类结果,center_ness的作用就是对每一个正样本位置施加权重,离中心进的权重高,离中心远的权重低使得分类更加合

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一 SiamFC++

网络结构及处理流程如下:
在这里插入图片描述

注意

  • 大多数算法对于分类损失都采用交叉熵损失,而SiamFC++在分类分支中计算cls_score与center-ness score采用了不同的损失函数,cls_score采用focal loss,这样做是为了缓解正负样本不均衡问题;center-ness score则采用交叉熵loss。最终用这两部分对应元素相乘得到的结果是更加合理的分类结果,center_ness的作用就是对每一个正样本位置施加权重,离中心近的权重高,离中心远的权重低使得分类更加合理,增强了鲁棒性。
  • 对于feature map映射问题,由于采用改进的Alexnet(no-padding),所以得到的feature map是中心对称的,而feature map上的一个像素的移动对应原图上8个像素移动(网络步长是8),因此只需计算feature map上所有像素在原图所占的区域,然后用原图大小减去映射回去的尺寸大小再除以2得到了offset,这样就确定了每一个点的位置,方便计算,至于映射回去的点是感受野的中心,验证过程如下:

在这里插入图片描述最终的感受野是175,中心是87.5,这与代码中是相对应的。

二 SiamBAN

网络结构及处理流程如下:
在这里插入图片描述
注意

  • 首先这篇文章的backbone与SiamRPN++是一样的,Resnet50,设置后2层stride为1,conv4 atrous rate=2,conv5 atrous rate=4,并且后续的处理也一致,都对后三层的特征进行融合。
  • 不同之处就在于SiamBAN是anchor-free,不需要设置anchor,那么自然正负样本的判别也要改变,在基于anchor-based的方法中,正负样本的判定依据是anchor与GT之间的IOU,若满足一个阈值就判定为正样本;而对于anchor-free,比如SIamFC++中,若feature map上的像素点映射回原图上落在了GT中则判定为正样本;本文创新点就在于对正负样本的判别,如图:
    在这里插入图片描述
    作者提出新的正负样本判别方法,使得划分更加准确,提升了性能;当feature map上的像素映射回原图落在椭圆E2中则判别为正样本,落在椭圆E1之外判为负样本,落在E1和E2之间则忽略。
  • 对于feature map映射问题,SiamBAN的映射回原图的计算与SiamFC++的映射计算不同,根据代码得到的第一个映射点为31,计算感受野:
    在这里插入图片描述
    可与看到感受野的大小已经超过了原图,但在计算感受野中心的时候需要注意网络的padding,这是我之前忽略的点,由于Resnet的网络特性,padding是必要的,所以在计算的时候需要考虑全局padding,计算得到的全局padding为206,所以相当于输入尺寸为255+2062=667,最终的1717的feature map也就相当于是在尺寸为667大小的输入上以感受野大小475为kernel,全局stride=8为步长进行卷积运算。与SiamFC++处理方法不同的主要原因还是因为padding的问题。此外在该网络的template分支的neck部分对15×15的feature map进行了crop操作,只取中间7×7的部分,这么做就是为了消除padding的影响。而对于search分支没有这一步,个人理解为:网络从template分支提取特征,而search分支只是用来搜索相应的特征,有padding的地方自然不会存在相应的特征,就不会对结果产生影响,因此也就不需要crop操作。

三 个人想法

对于Siamese网络,目前的方法都是想办法提高分类分支的性能,比如用更深的网络,增加center-ness分支,精细正负样本的划分等,而对于回归分支都是计算映射点与GT四条边之间的offsetm,没有太大改变,思考对于网络更进一步的改进的想法,则还需要更多的积累。

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

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

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

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

(0)


相关推荐

  • Linux中top命令_linux tail命令详解

    Linux中top命令_linux tail命令详解原标题:Linux下top命令详解1、简介top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top显示系统当前的进程和其他状况,是一个动态显示过程,可以自动或者通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.。比较准确的说,top命令提供了实时的对系统处理器的状态监控,显示系统中CPU…

  • mybatiscodehelperpro2.9.3激活码【最新永久激活】「建议收藏」

    (mybatiscodehelperpro2.9.3激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

  • idea2021.4激活码失效_通用破解码

    idea2021.4激活码失效_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • Ubuntu修改密码和用户名

    Ubuntu修改密码和用户名​Ubuntu是一个Linux操作系统,修改密码和用户名是有危险的动作,请谨慎修改。一、Ubuntu修改密码和用户名Ubuntu更改密码步骤:1、进入Ubuntu,打开一个终端,输入sudosu转为root用户。注意,必须先转为root用户!!!2、sudopasswduser(user是对应的用户名)3、输入新密码,确认密码。4、修改密码成功,重启,输入新密码进入Ubun…

  • synchronized偏向锁和轻量级锁_偏向锁/轻量级锁/重量级锁的原理

    synchronized偏向锁和轻量级锁_偏向锁/轻量级锁/重量级锁的原理今天简单了解了一下java轻量级锁和重量级锁以及偏向锁。看了看这篇文章觉得写的不错原文链接java 偏向锁、轻量级锁及重量级锁synchronized原理Java对象头与Monitorjava对象头是实现synchronized的锁对象的基础,synchronized使用的锁对象是存储在Java对象头里的。对象头包含两部分:Mark Word 和 Class Metadata Address其中Mark Word在默认情况下存储着对象的HashCode、分代年龄、锁标记位等以下是32位JVM的

  • VS2013各版本序列号

    VS2013各版本序列号VS2013产品序列号:VisualStudioProfessional2013 :XDM3T-W3T3V-MGJWK-8BFVD-GVPKYVisualStudioUltimate2013 :BWG7X-J98B3-W34RT-33B3R-JVYW9VisualStudioPremium2013 :FBJVC-3CMTX-D8DVP-RTQCT-92494TeamFou…

发表回复

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

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