FCOS: Fully Convolutional One-Stage Object Detection
论文:FCOS: Fully Convolutional One-Stage Object Detection
0.简介
摘要:
- one-stage;44.7% in AP with single-model and single-scale testing
- solve object detection in a per-pixel prediction fashion
- anchor-free
- simple。所有anchor相关的超参没有了;不用通过计算IOU来决定谁是能参与训练与预测的positive sample。(当然,选出的高分positive样本,在训练时,还是要和ground truth计算IOU的)
作者点名叫板FasterRCNN, SSD, YOLO这些anchor-based模型,指出如下存在的问题:
- 模型效果对anchor的超参敏感。如每个点对应的anchor数量、大小、比例。
- 尽管anchor设置了几个大小、比例,但这些尺寸仍然是固定的。无法处理尺度跨度较大的目标们。
- 正负样本不平衡。每张图有180K个anchor-boxes,但大部分都是负样本。
- 决定哪些是正样本来参与训练与预测,也需要如IOU这样很大 的运算量。
并呼吁整个领域一起思考,所谓的目标检测范式——anchor,真的是必需的吗?
作者称自己新的框架有如下优势:
- 现在目标检测和其他任务结合了。可以复用其他领域(语义分割)关于FCN的idea。
- 减少了设计的参数。
- 避免计算了IOU来决定谁是能参与训练与预测的positive sample。效率高。
- FOCS也可以被当作一个RPN,用到two-stage检测器中。比anchor-based的RPN更好用。
1.网络结构
ResNet+FPN网络,后接几个分支,其中一个是分类,分类采用的C个分类器二分类,这些都不用多说,重点是Regression和Center-ness分支。Regression预测不是anchor-box/proposed-rigon的调整了,而是直接预测feature-map上一点所属于某一目标的框的大小(l, t , r ,b)。Center-ness是为了减少一些低质量的点预测出的目标框,每个点预测出一个(0,1)的系数,它描述的是此点与预测出的框的中心的举例。最终给预测框排序是按Center-ness与分类得分乘积的结果来排。
2.框回归——直接、自由
作者舍弃anchor-based的方法,回归阶段不是预测anchor-box/proposed-rigon的调整,直接预测一个物体的大小、比例,完全自由,输出结果(l, t, r ,b)——此点到物体框的左、上、右、下距离,就确定了整个物体框的大小、比例,而点也不是在框的正中心了。如果一个位置的点,落在了多个bounding box里,就产生了歧义,作者直接规定选择最小面积的那个作为他的回归目标(这里说的应该是多尺寸网络的问题吧,指特征图上一个点在不同尺度分支里预测了多个物体,返回到原图正好是一个点,那么在原图中选择要区域小的那个)。
3.Center-ness
在FOCS中用了多尺度预测后,发现具体那些anchor-based算法还有不小差距。作者观察到是因为是由于很多距离物体中心很远的location点预测出了质量很低的bounding box。于是在网络中加入center-ness ,来抑制这些点。
与分类分支平行的地方加入center-ness分支(在COCO数据集上,如果加在与regression平行的地方会得到更好的AP,但本文默认前者设计,正如第一节中的网络结构图),对于feature map上的每个点,此分支输出一个(0,1)的数值,它描述的是此点举例它负责的物体的框的中心的距离(注意因为在FCOS中,position点已经不是物体框正中心了嘛。),在测试阶段,选择positiive的bounding box所根据的final score排序,来源于center-ness×分类得分。(训练阶段应该是没有这样操作一下,只是把这部分算了一下BCE-loss加在总的loss里了)最后NMS得出最终检测结果。
FCOS: Fully Convolutional One-Stage Object Detection的更多相关文章
- 论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection
论文阅读——FCOS: Fully Convolutional One-Stage Object Detection 概述 目前anchor-free大热,从DenseBoxes到CornerNet. ...
- [C4W3] Convolutional Neural Networks - Object detection
第三周 目标检测(Object detection) 目标定位(Object localization) 大家好,欢迎回来,这一周我们学习的主要内容是对象检测,它是计算机视觉领域中一个新兴的应用方向, ...
- 论文阅读笔记五十七:FCOS: Fully Convolutional One-Stage Object Detection(CVPR2019)
论文原址:https://arxiv.org/abs/1904.01355 github: tinyurl.com/FCOSv1 摘要 本文提出了一个基于全卷积的单阶段检测网络,类似于语义分割,针对每 ...
- (转)Awesome Object Detection
Awesome Object Detection 2018-08-10 09:30:40 This blog is copied from: https://github.com/amusi/awes ...
- object detection 总结
1.基础 自己对于YOLOV1,2,3都比较熟悉. RCNN也比较熟悉.这个是自己目前掌握的基础2.第一步 看一下2019年的井喷的anchor free的网络3.第二步 看一下以往,引用多的网路4. ...
- tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)
今天看到一篇关于检测的论文<SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real- ...
- 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)
论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...
- 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks
一.网络介绍 参考文章:R-FCN详解 论文地址:Object Detection via Region-based Fully Convolutional Networks R-FCN是Faster ...
- 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks
R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...
随机推荐
- Ethical Hacking - GAINING ACCESS(7)
Server Side Attacks - NEXPOSE NeXpose is a vulnerability management framework, it allows us to disco ...
- Linux 后台启动 Redis
1. 修改 redis.conf 首先,这里有一个坑 ! 不同的 redis版本,在安装的时候,redis.conf 的路径稍微有些不同 redis.conf 可能出现的三个位置: /etc/redi ...
- Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)
文章目录 一.项目背景 二.数据处理 1.标签与特征分离 2.数据可视化 3.训练集和测试集 三.模型搭建 四.模型训练 五.完整代码 一.项目背景数据集cnn_train.csv包含人类面部表情的图 ...
- java opencsv解析csv文件
记一次使用opencsv解析csv文件时碰到的坑 最近在开发过程中需要解析csv文件,公司用的解析工具是opencsv,在根据opencsv的官方文档去解析时发现csv文件中含有繁体字,使用其自带的C ...
- NoSQL和SQL怎么选用?
NoSQL 有分很多种,其中key-value NoSQL (Redis, MemcacheD, etc) 的选用相对比较清楚些,大多是当后端Data storage的cache层来用.这篇主要想请教 ...
- 毫无基础的人入门Python,Python新手入门教程2
1.6 面向对象和内存分析086.面向对象和面向过程的区别_执行者思维_设计者思维087.对象的进化故事088.类的定义_类和对象的关系089.构造函数__init__090.实例属性_内存分析091 ...
- 前端学习(十二):CSS排版
进击のpython ***** 前端学习--CSS排版 本节主要介绍网页排版中主要格式化元素属性 帮助开发者把css技术与网页排版紧密联系到一起,来更好的实现网页设计效果 字体属性 字体 在日常工作中 ...
- 自述:转职IT ,痛苦一阵子;不转职IT,痛苦一辈子(第一章)
作为一个从后期制作转职过来的Java工程师,我认为我是幸运的,虽然我的本科专业(影视后期)也是火爆行业,不愁工作,但我不后悔进入这个IT坑,毕竟转行,只痛苦一阵子,但是不转行,可能我会痛苦一辈子. 我 ...
- js POST调用api接口时,由于OPTIONS请求导致服务器异常
1.学习心得 当你搜到这个问题时,就表示你已经知道了脚本POST请求接口时,会先执行一次OPTIONS类型的请求.至于为什么会这样,在此就不做描述了,想知道的小伙伴可以查一下:本文主要将我在现实中遇到 ...
- Skill 中的通用输出格式规范
https://www.cnblogs.com/yeungchie/ Skill中的通用输出格式规范 Common Output Format Specifications Format Specif ...