CVPR2019论文看点:自学习Anchor原理

原论文链接:https://arxiv.org/pdf/1901.03278.pdf

CVPR2019的一篇对anchor进行优化的论文,主要将原来需要预先定义的anchor改成直接end2end学习anchor位置和size。首先anchor的定义通常为(x, y, w, h) (x, y为中心点),formulate一下:

本文所提的guided anchoring利用两个branch分别预测anchor的位置和w、h:

guided anchoring的主要内容有如下几点:

Anchor
Location Prediction


逻辑很简单,利用一个1x1的conv将输入的feature map转换成 W x H x 1的heatmap,通过卡阈值t来得到anchor可能出现的位置,在训练的时候可以通过gt的框来生成heatmap的groudtruth,negtive、positive、ignore的pixel定义论文中有比较详细的介绍。

Anchor Shape Prediction

这一部分逻辑和上一部分一样,也是通过一个1x1的conv将输入的feature map转换成W x H x 2的heatmap,只是考虑到如果直接回归w和h范围太广会比较不稳定,作者做了一定的转化将预测值约束到[-1,1],实际使用的时候再映射回去,s为feature map的stride,sigma为8:

需要注意的是和传统的anchor设置不一样的是,guider anchoring在某一个pixel下只会设置一个anchor。

这一部分的训练其实会是比较需要特别注意的地方,论文中使用来IoU
loss来监督,但是这样存在一个问题,因为这个分支本身是预测w,h的,所以IoU Loss的计算无法知道match的具体gt,作者提出的方法是sample 9组常见的w、h,这样就可以利用这9组w、h构建9个不同的anchor去和gt匹配,IoU最大的匹配gt就是当前需要去计算IoU Loss的gt,然后直接用heatmap的w、h和这个gt计算IoU Loss即可:

Anchor-Guided
Feature Adaptation


这一个模块主要是针对feature有可能和anchor不一致而提出的,因为对于原先预定义的anchor而言,每一个pixel对应位置的anchor其实都是一样的,所以也就无所谓feature的异同,但是guided
anchoring逻辑下不同的pixel有可能anchor的size差别很大,仍然像之前那样直接出cls和reg很显然是不合适的,所以作者就提出了adaptation的模块,利用deformable
conv来处理不同形状的anchor对应的feature。

论文的最后作者也提了一下因为GA-RPN可以得到很多高质量的porposal,通过提高阈值可以进一步优化检测的效果。

实验结果:

高质量 proposal 的正确打开方式

故事到这里其实也可以结束了,但是我们遇到了和之前一些改进
proposal 的
paper 里相同的问题,那就是
proposal 质量提升很多(如下图),但是在
detector 上性能提升比较有限。在不同的检测模型上,使用
Guided Anchoring 可以提升 1
个点左右。明明有很好的 proposal,但是 mAP 却没有涨很多,让人十分难受。

经过一番探究,我们发现了以下两点:1.
减少 proposal 数量,2.
增大训练时正样本的 IoU 阈值(这个更重要)。既然在 top300 里面已经有了很多高 IoU 的 proposal,那么何必用
1000 个框来训练和测试,既然
proposal 们都这么优秀,那么让
IoU 标准严格一些也未尝不可。

这个正确的打开方式基本是 独立调出来的,让
performance 一下好看了很多。通过这两个改进,在
Faster R-CNN 上的涨点瞬间提升到了
2.7 个点(没有加任何
trick),其他方法上也有大幅提升。

生成 anchor

在得到
anchor 位置和中心点的预测之后,我们便可以生成
anchor 了,如下图所示。这时的
anchor 是稀疏而且每个位置不一样的。采用生成的
anchor 取代
sliding window,AR
(Average Recall) 已经可以超过普通
RPN 4 个点了,代价仅仅是增加两个
1x1 conv。

实验结结果

CVPR2019论文看点:自学习Anchor原理的更多相关文章

  1. CVPR2019目标检测论文看点:并域上的广义交

    CVPR2019目标检测论文看点:并域上的广义交 Generalized Intersection over Union Generalized Intersection over Union: A ...

  2. CVPR2019论文观察:感知边缘检测的双向级联网络

    CVPR2019论文观察:感知边缘检测的双向级联网络 BDCN:Bi-Directional Cascade Network for Perceptual Edge Detection 摘要 探索多尺 ...

  3. 白*衡(Color Constancy,无监督AWB):CVPR2019论文解析

    白*衡(Color Constancy,无监督AWB):CVPR2019论文解析 Quasi-Unsupervised Color Constancy 论文链接: http://openaccess. ...

  4. 将视频插入视频:CVPR2019论文解析

    将视频插入视频:CVPR2019论文解析 Inserting Videos into Videos 论文链接: http://openaccess.thecvf.com/content_CVPR_20 ...

  5. 全景分割:CVPR2019论文解析

    全景分割:CVPR2019论文解析 Panoptic Segmentation 论文链接: http://openaccess.thecvf.com/content_CVPR_2019/papers/ ...

  6. 跟vczh看实例学编译原理——三:Tinymoe与无歧义语法分析

    文章中引用的代码均来自https://github.com/vczh/tinymoe.   看了前面的三篇文章,大家应该基本对Tinymoe的代码有一个初步的感觉了.在正确分析"print ...

  7. 跟vczh看实例学编译原理——一:Tinymoe的设计哲学

    自从<序>胡扯了快一个月之后,终于迎来了正片.之所以系列文章叫<看实例学编译原理>,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点. 但 ...

  8. 跟vczh看实例学编译原理——零:序言

    在<如何设计一门语言>里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的.不过单纯讲这个也是很无聊的,所以我开了这个<跟vczh看实例学编译原理>系列,意在科普一些 ...

  9. CVPR2018论文看点:基于度量学习分类与少镜头目标检测

    CVPR2018论文看点:基于度量学习分类与少镜头目标检测 简介 本文链接地址:https://arxiv.org/pdf/1806.04728.pdf 距离度量学习(DML)已成功地应用于目标分类, ...

随机推荐

  1. 2.1.3- 体会css样式

    css初始 css样式规则 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  2. POJ1548最小路径覆盖

    题意:       给你一个DAG,然后问你最少多少条路径能覆盖所有需要覆盖的点. 思路:       最小路径覆盖,太明显了,每个点向它右下方的点连边,然后...没啥难的地方,不说了. #inclu ...

  3. 8.PHP图像处理

    PHP图像处理 GD2 Jpgraph 创建一个画布: <?php    header('content-type:image/gif');    //echo "你好";  ...

  4. 基于react hooks,antd4 配置生成表单并自动排列

    react后台项目,大多都是表单处理,比如下列4种常见1*n布局 (如果手工编码,大量的Row,Col, Form.Item的嵌套,排列,如果加上联动处理,代码将十分臃肿,不易维护) 一行一列 一行两 ...

  5. Pytest自动化测试-简易入门教程(01)

    我们今天主讲的内容,就是测试框架Pytest,讲到这个测试框架对于没有做过Web自动化的伙伴来说,会觉得这个东西是陌生的,那么到底什么是框架呢?什么又是自动化呢?自动化为什么又要用框架呢? 难道我学自 ...

  6. 多线程-2.线程创建方式和Thread类

    线程的创建方式 1.继承Thread类,重写run方法,示例如下: 1 class PrimeThread extends Thread { 2 long minPrime; 3 PrimeThrea ...

  7. Java 给Word添加数字签名

    本文以Java程序代码为例,介绍如何给Word文档添加数字签名. 程序运行环境 IntedliJ IDEA JDK 1.8.0 Jar包:spire.doc.jar 4.5.1 Word文档:.doc ...

  8. SAP ABAP ALV 颜色设置(两个ALV函数例子) 列 行 单元格

    @[TOC](设置ALV颜色)# 前言淦! 要求花花绿绿的ALV ,那就淦他! 需要的参数和对应颜色放在最后.稍微改改就能用. 介绍两个常用的ALV函数实现1.REUSE_ALV_GRID_DISPL ...

  9. CRM帮助初创企业降本增效的四个方法

    对大部分初创公司来说,只有少数企业能够实现盈利,大部分只能维持盈亏平衡甚至是亏损.这是因为初创企业很难在短时间之内找到稳定的赢利点,而企业面临的风险和投入又是无法预知的.初创企业想要快速盈利,只能降低 ...

  10. CentOS 8.2远程连接vncserver升级后1.10.1无法启动解决记录

    CentOS 8.2远程连接vncserver升级后1.10.1无法启动解决记录   问题起源:手贱yum upgrade,重启服务器后无法使用vnc viewer远程连接 查看状态 # system ...