论文阅读笔记五十八:FoveaBox: Beyond Anchor-based Object Detector(CVPR2019)
论文原址:https://arxiv.org/abs/1904.03797
摘要
FoveaBox属于anchor-free的目标检测网络,FoveaBox直接学习可能存在的图片种可能存在的目标,这期间并不需要anchor作为参考。主要靠两方面实现:(1)产生类别敏感的语义map用于表示目标物存在的可能性。(2)在每个可能存在目标物的位置生成与类别无关的边界框。目标边框的尺寸与对应输入图片的特征金字塔的表示相关。
介绍
目标检测主要包含两个任务:定位及识别,输入一张图片,检测系统需要判断是否有预定义类别的目标物,如果有,就返回他的空间位置以及内容。为了增加系统的定位功能,滑动窗已经沿用了很多年。基于anchor的方法一般趋向框的空间(包括尺寸,大小,位置等)划分为格子,并增强对应目标的格子来进行定位。对于双阶段检测来说,Anchors是回归标准,以及用于预测proposals的候选框。对于单阶段检测来说是最终的边框。Anchor也可以看作是覆盖所有可能存在目标物的像素的特征共享的滑动窗机制。
anchor存在以下几点缺点:(I)anchor引入了大量的超参数。为了得到一个较好的召回率,需要参考由数据集/测试集计算得到的统计分布设置。(II)对于一个数据集设计的anchor可能不适用于另一个数据集,普适性低。(III)anchor一般会产生较多的候选框,而这里就存在着前景/背景数目不平衡问题。
提高anchor普适性的一个做法是改变anchor,使其灵活可变。借鉴人类的视觉系统,人文可以直接通过视觉信息识别出物体的位置及类别,而不需要一些繁琐的预定义的框。本文的FoveaBox的灵感来自人样的Fovea。视野(目标物)中心具有最高的视觉敏感度。FoveaBox预测可能存在目标物中心位置的同时预测有效位置的边框。由于特征金字塔表示,可以通过在不同层次的特征上检测出不同尺寸大小的目标物。由于FoveaBox不依赖于预定义的anchor,因此,对于数据集的边框分布更具鲁棒性。
FoveaBox
FoveaBox是一个网络,由backbone及两个任务明确的子网络组成。backbone负责得到整幅图像的卷积特征。第一个分支网络在backbone的输出特征上进行像素级分类。第二个分支用于边界框的预测。
FPN for backbone
FPN通过利用top-down结构及侧连接结构来构建单尺寸输入的多尺寸金字塔特征。金字塔的每一层都可以检测不同尺寸大小的目标。本文搭建了金字塔,l代表金字塔的某一层级,每层的输出通道数都为256
Scale Assignment
由于不同物体存在较大的尺寸变化,预测得到的边框的值不是固定的。相对的,本文特征金字塔的层级,将目标物的尺寸划分为几个格子。P3到P7,每层都有自己对应的基础区域32^2~512^2,对于Pl层种的basic-area大小Sl如下
参考基于Resnet Faster R-CNN中用C4作为signel scale,本文将S0设置为16,特征金字塔中每层只学习目标物的一部分特征表示。对于l层的特征金字塔其目标物尺寸的有效范围如下,其中下式中的eta人为设置的用于控制每层的尺寸范围。不在范围内的目标在训练时被忽略,值得注意的是同一个目标可能会在不同的层中检测到。
Object Fovea
每个金字塔heatmaps的输出为K(类别数)通道,大小为HxW,如下图所示,每个通道都是一个二值mask表示是否为某一个类别。
给定一个ground truth框(x1,y1,x2,y2),首先基于stride 2^l将其映射至对应的l层。
位于score map上的positive 区域相比原来做了一些缩放处理,如下图3所示,等式如下,
为缩放因子。落入该区域的ceil标记对应类别。通过引入另一个缩放因子
按等式(4)得到
,negative区域为除去Rneg的整个feature map。如果一个单元没有被assign,在训练时,则将其忽略。由于positive区域占较小的比例,因此,该分支使用Focal Loss。
预测边框
模型只编码目标物体存在的概率。为了定位,需要预测每个实例可能存在的位置。每个ground truth box的位置按如下方式定义。
G=(x1,y1,x2,y2),本文目标:找到一种变换将feature maps中(x,y)单元的网络位置输出映射到ground truth box G中,
上面函数首先将位置(x,y)映射至输入图片,然后计算映射后的坐标于G之间的偏差。最后通过Log-space进行处理。仍基于L1 loss对Lbox进行训练。最后,在输出feature maps上的每个positive ceil(x,y)上产生框的边界。
优化策略
Inference
首先设置0.05滤掉confidence低于此值的预测结果,每个预测层中选测分数前100的结果。对于每个类别使用基于0.5的阈值进行NMS处理。最终每张图片得到100个预测结果。
实验
Reference
[1] M. F. Bear, B. W. Connors, and M. A. Paradiso. Neuroscience, volume 2. Lippincott Williams & Wilkins, 2007.
[2] N. Bodla, B. Singh, R. Chellappa, and L. S. Davis. Softnms–improving object detection with one line of code. In Proceedings of the IEEE International Conference on Computer Vision, pages 5561–5569, 2017.
[3] Z. Cai and N. Vasconcelos. Cascade r-cnn: Delving into high quality object detection. arXiv preprint arXiv:1712.00726, 2017.
[4] H.-Y. Chen et al. Tensorflow–a system for large-scale machine learning. In OSDI, volume 16, pages 265–283, 2016
论文阅读笔记五十八:FoveaBox: Beyond Anchor-based Object Detector(CVPR2019)的更多相关文章
- 论文阅读笔记五十一:CenterNet: Keypoint Triplets for Object Detection(CVPR2019)
论文链接:https://arxiv.org/abs/1904.08189 github:https://github.com/Duankaiwen/CenterNet 摘要 目标检测中,基于关键点的 ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
- 论文阅读笔记五十六:(ExtremeNet)Bottom-up Object Detection by Grouping Extreme and Center Points(CVPR2019)
论文原址:https://arxiv.org/abs/1901.08043 github: https://github.com/xingyizhou/ExtremeNet 摘要 本文利用一个关键点检 ...
- 论文阅读笔记五十五:DenseBox: Unifying Landmark Localization with End to End Object Detection(CVPR2015)
论文原址:https://arxiv.org/abs/1509.04874 github:https://github.com/CaptainEven/DenseBox 摘要 本文先提出了一个问题:如 ...
- 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)
论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...
- 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...
- 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...
- 论文阅读笔记四十八:Bounding Box Regression with Uncertainty for Accurate Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1809.08545.pdf github:https://github.com/yihui-he/KL-Loss 摘要 大规模的目标检测数据集在 ...
- 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)
论文源址:https://arxiv.org/abs/1703.06211 开源项目:https://github.com/msracver/Deformable-ConvNets 摘要 卷积神经网络 ...
随机推荐
- webrtc笔记(2): 1对1实时视频/语音通讯原理概述
开始正文之前,先思考1个问题:2个处于不同网络环境的(具备摄像头/麦克风多媒体设备的)浏览器,要实现点对点的实时视频/语音通讯,难点在哪? 至少得先搞定下面2个问题: 1.彼此要了解对方支持的媒体格式 ...
- git push时出现 Username for 'https://github.com': 仅仅限于github
使用git push origin master是出现如下问题:Username for 'https://github.com': 解决办法: git remote set-url origin g ...
- pixijs shader贴图扫光效果
pixijs shader贴图扫光效果 直接贴代码 const app = new PIXI.Application({ transparent: true }); document.body.app ...
- HTML+css基础 css选择器的种类
css选择器的种类 标签 权重是001 类 class权重是0010 相当于255个标签选择器 Id 权重是0100相当于255个类 *通配符 代表所有的标签 权重是0000 后代选 ...
- 用 qemu-user 在arm linux机器上运行amd64/x86程序
1. qemu-user 是什么 本来, 对于 QEmu, 我只知道它是一个模拟器, 可以像 VirtualBox/VMWare 那样跑一个操作系统, 只不过 QEmu 可以在 AMD64 上面跑针对 ...
- Hashtable 负载因子Load Factor
负载因子(load factor),它用来衡量哈希表的 空/满 程度,一定程度上也可以体现查询的效率,计算公式为: The ratio of the number of elements in the ...
- Java学习——内存机制
Java学习——内存机制 摘要:本文主要介绍了Java的内存机制. 部分内容来自以下博客: https://www.cnblogs.com/xrq730/p/4827590.html https:// ...
- Eureka自我保护机制源码解析
默认情况下,当EurekaServer在一定时间内(默认90秒)没有接收到某个客户端实例的心跳,EurekaServer将会注销该实例.但是当网络分区故障发生时,客户端与EurekaServer之间无 ...
- 拥抱小程序,WeTest小程序全链路测试解决方案正式上线
背景 随着微信开放小程序开发功能,迅速在各个实体店抢占流量入口,广大商家看到了在线和离线的机会整合,利用小程序版本特点低成本进入市场,达到流量的获取和转化. 伴随着资本的进入,小程序开发市场也因此越来 ...
- SQLServer修改表名、修改列名
基本语法 修改表名:EXEC sp_rename ‘原有表名’, '新表名'; 修改列名:EXEC sp_rename ‘表名.[原有列名]’, ‘新列名' , 'COLUMN'; EXEC sp_r ...