网络结构

(图片来自原论文:FCOS: Fully Convolutional One-Stage Object Detection)

在ResNet50 Backbone中,C3,C4,C5C3,C4,C5C3,C4,C5是卷积特征图;
在FPN结构中,P3,P4,P5,P6,P7P3,P4,P5,P6,P7P3,P4,P5,P6,P7是最后用于预测的特征图;
在预测阶段,P3,P4,P5,P6,P7P3,P4,P5,P6,P7P3,P4,P5,P6,P7共享一个Head
Head有三个分支,分别用于预测分类(80类别)、回归预测中心点到真实框的上高t,下高b,左宽l,右宽r、Center-ness;


重要点

从Anchor到Anchor Free

Anchor方面

  1. Anchor框的大小固定,对于具有形态大小变化的目标难以检测,可扩展性差。
  2. Anchor框的大小对检测精度的影响较大。
  3. 正负样本的Anchor比例不均,即无目标与有目标的比例,且训练繁杂。

Anchor Free方面

xmin=cx−l∗symin=cy−t∗sxmax=cx+r∗symax=cy+b∗sx_{min}=c_x-l*s\\y_{min}=c_y-t*s\\x_{max}=c_x+r*s\\y_{max}=c_y+b*sxmin​=cx​−l∗symin​=cy​−t∗sxmax​=cx​+r∗symax​=cy​+b∗s
其中(xmin,ymin)(x_{min},y_{min})(xmin​,ymin​)为预测框左上角坐标,(xmax,ymax)(x_{max},y_{max})(xmax​,ymax​)为预测框右下角坐标;

Centerness=min(l∗,r∗)max(l∗,r∗)∗min(t∗,b∗)max(t∗,b∗)Center ness=\sqrt{\frac{min(l^*,r^*)}{max(l^*,r^*)}*\frac{min(t^*,b^*)}{max(t^*,b^*)}}Centerness=max(l∗,r∗)min(l∗,r∗)​∗max(t∗,b∗)min(t∗,b∗)​​

Center ness用于衡量预测中心与真实框中心的距离,越接近于真实框的中心点,该值越接近于数值1.

正负样本框匹配

在YOLO系列使用anchor与真实框的IOU值与阈值比较,判断是否作为正样本。而在FCOS中,使用anchor free方式,即不存在anchor框。

采取的另一种方式为:只要预测中心坐标在真实框的内部,那么这些预测中心点都作为正样本,其他作为负样本。

当然,为了追求更好的效果,将范围进一步缩小,若预测中心点落在(cx−r∗s,cy−r∗s,cx+r∗s,cy+r∗s)(c_x-r*s,c_y-r*s,c_x+r*s,c_y+r*s)(cx​−r∗s,cy​−r∗s,cx​+r∗s,cy​+r∗s)范围内,则作为正样本,其中r为超参数,s为特征图相对于原图的缩放比例。

存在一种特殊情况,若预测的中心点落在两个真实框的范围内,则默认将该预测中心点分配给面积最小的真实框。

损失函数

L({px,y},{tx,y},{sx,y})=1Npos∑x,yLcls(px,y,cx,y∗)+1Npos∑x,y1{cx,y∗>0}Lreg(tx,y,tx,y∗)+1Npos∑x,y1{cx,y∗>0}Lctrness(sx,y,sx,y∗)L(\{p_{x,y}\},\{t_{x,y}\},\{s_{x,y}\})=\frac{1}{N_{pos}}\sum_{x,y}^{}L_{cls}(p_{x,y},c_{x,y}^*)\\+\frac{1}{N_{pos}}\sum_{x,y}^{}1_{\{c_{x,y}^*>0\}L_{reg}(t_{x,y},t_{x,y}^*)}\\+\frac{1}{N_{pos}}\sum_{x,y}^{}1_{\{c_{x,y}^*>0\}L_{ctrness}(s_{x,y},s_{x,y}^*) }L({px,y​},{tx,y​},{sx,y​})=Npos​1​x,y∑​Lcls​(px,y​,cx,y∗​)+Npos​1​x,y∑​1{cx,y∗​>0}Lreg​(tx,y​,tx,y∗​)​+Npos​1​x,y∑​1{cx,y∗​>0}Lctrness​(sx,y​,sx,y∗​)​

第一行为分类损失;
第二行为边界框损失;
第三行为"置信度"损失;

NposN_{pos}Npos​为匹配的正样本数目;
px,yp_{x,y}px,y​表示在特征图(x,y)处预测的每个类别的分数;
cx,y∗c_{x,y}^*cx,y∗​表示在特征图(x,y)处对应的真实类别标签;
1{cx,y∗>0}1_{\{c_{x,y}^*>0\}}1{cx,y∗​>0}​表示在特征图(x,y)处正样本为1,负样本为0;
tx,y,tx,y∗t_{x,y},t_{x,y}^*tx,y​,tx,y∗​分别表示在特征图(x,y)处预测的边界框位置与真实框的位置信息;
sx,y,sx,y∗s_{x,y},s_{x,y}^*sx,y​,sx,y∗​分别表示在特征图(x,y)处预测的center-ness与真实的center-ness;

目标检测之FCOS算法分析相关推荐

  1. 全卷积目标检测:FCOS

    全卷积目标检测:FCOS FCOS: Fully Convolutional One-Stage Object Detection 原文链接:https://arxiv.org/abs/1904.01 ...

  2. (论文阅读)目标检测之FCOS

    FCOS 一.FCOS简介 1.1.论文基本信息 1.2.内容概要 二.详细解读 2.1.摘要 2.2.问题提出 2.3.改进方法 2.4.网络结构 2.5.优点 2.6.论文结果 一.FCOS简介 ...

  3. 【论文简述】目标检测:FCOS(2019)

    B站简介视频:https://www.bilibili.com/video/BV16V411m73M?spm_id_from=333.337.search-card.all.click FOCS:借用 ...

  4. CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)

    CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020) 目标检测:FCOS(CVPR 2019) 目标检测算法FCOS(FCOS: ...

  5. 3目标检测的准确率_吊打YOLOv3!普林斯顿大学提出:CornerNetLite,基于关键点的实时且精度高的目标检测算法,已开源!...

    点击上方"CVer",选择"星标"和"置顶" 重磅干货,第一时间送达 前戏 最近目标检测方向,出了很多很棒的paper,CVer也立即跟进报 ...

  6. onestage方法_FCOS : 找到诀窍了,anchor-free的one-stage目标检测算法也可以很准 | ICCV 2019...

    论文提出anchor-free和proposal-free的one-stage的目标检测算法FCOS,不再需要anchor相关的的超参数,在目前流行的逐像素(per-pixel)预测方法上进行目标检测 ...

  7. 从基础综述、论文笔记到工程经验、训练技巧:值得一看的目标检测好文推荐...

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文授权转自知乎作者跑者小越,https://zhuanlan.z ...

  8. 论文阅读笔记 | 目标检测算法——SAPD算法

    如有错误,恳请指出. 文章目录 1. Introduction 2. Soft Anchor-Point Detector 2.1 Detection Formulation with Anchor ...

  9. Anchor-free目标检测综述 -- Dense Prediction篇

      早期目标检测研究以anchor-based为主,设定初始anchor,预测anchor的修正值,分为two-stage目标检测与one-stage目标检测,分别以Faster R-CNN和SSD作 ...

  10. 论文阅读笔记 | 目标检测算法——FSAF算法

    如有错误,恳请指出 文章目录 1. Introduction 2. FSAF Module 2.1 Network Architecture 2.2 Ground-truth and Loss 2.2 ...

最新文章

  1. 基于曲率的体素聚类的三维激光雷达点云实时鲁棒分割方法
  2. ImportError: No localization support for language ‘eng’ in python
  3. 关于指针的一点小的理解
  4. 【Linux】一步一步学Linux——cp命令(31)
  5. Docker学习总结(24)——在Docker中监视Java应用程序的5种方法
  6. php常用技术与thinkphp5,thinkPHP5框架路由常用知识点汇总
  7. 090525 T 站点地图接口
  8. 如何禁止特定用户使用sqlplus或PL/SQL Developer等工具登陆?
  9. 云桌面优缺点_云桌面的缺点分析
  10. java 解析csv_使用Java Scanner类解析CSV文件
  11. arduino uno连接超声波传感器测距
  12. Ardupilot移植经验分享(1)
  13. html文本框监听粘贴,HTML5将粘贴板上的图片粘贴到文本框中
  14. ParaView绘制自由水面的等值线图
  15. 园区网的网关部署在接入层还是汇聚层 面试官与求职者之间谈话
  16. WSL无法打开或者卡死
  17. 3Dmax调整材质的纹理方向有哪些步骤
  18. 粒子的散射模拟matlab程序,基于Matlab的α粒子的散射实验模拟.pdf
  19. Linux内核的misc框架
  20. 基金训练营学习笔记6-基金定投

热门文章

  1. linux主机做racl,linux学习日记十一 账号管理与ACL权限设置
  2. day10图书编辑删除 字段参数choise(重要)多对多三种创建方式 ajax语法结构
  3. 手机中的劳力士:HTC是执迷不悟还是不悔?
  4. linux操作系统没声音,Linux系统下没有声音的解决方案
  5. 编译安装apache
  6. 前端实现在线预览文档(pdf、doc文件)
  7. Oracle EBS 笔记8
  8. Java第十一章总结 枚举与泛型
  9. 网络公益信息特征和用户行为规律研究以微博为例
  10. 年薪35万女网管的故事