anchor-free对象检测网络CornerNet详解

以前的对象检测网络

主要是两类对象检测方法

一类是以Faster-RCNN/Mask-RCNN为代表的two-stage检测器,第一阶段通过RPN网络产生大量的推荐区域,第二阶段通过对这些区域分类输出实现对象检测。这类方法的共同点就是算法精度比较高但是速度比较慢。

另外一类是以SSD/YOLO为代表的one-stage检测器,它们把对象检测问题当成简单的回归问题进行处理,通过CNN网络从输入图像中学习分类属性与位置信息,这类方法通常准确率(mAP)都比较低但是相比two-stage的网络速度比较快,

这两类对象检测网络,都是是通过生成或者定义各种比例的anchor来为实现对象检测服务。

关键点对的对象检测网络-CornerNet

CornerNet网络的特点:

1.CornerNet是一个真正意义上的anchor-free的网络,它把anchor box简单表示为左上角与右下角一个关键点对,

2.使用一个新池化层corner pooling,帮助网络更好的寻找角点

3.在识别精度超过现存的one-stage的网络,达到SOTA。

CornerNet网络结构

Cornet网络使用Hourglass网络作为backbone网络,后面跟随两个预测模型,分别预测box的左上角点与右下角点,每个模型包含corner pooling模块,然后池化特征预测heatmaps、embeddings、Offsets。

Heatmap的每个通道都是一个二值mask,预测每个对象关键点对位置信息,而且每个角点都跟其它的角点做一个距离预测作为embeddings vector,然后相似的嵌入或者属于同一个box的它们之间的距离是小的,这样就会生成anchor box,得到预测的结果。

训练预测两个嵌入的相似性即可得到最终的anchor-box。为了得到更好的检测框,网络也预测anchor-box的offset,这样可以生成调整后的最终检测框。最后网络在输出的对象检测框的基础上通过NMS处理就得到了最终的检测框。

对每个角点,都有个正确标注位置信息,其它都是负样本,为了平衡正负样本的比例,作者只对正样本指定半径周围负样本考虑在训练环节,图示如下:

Corner-pooling详解

首先看下图

分别在水平与垂直放心求最大值,然后再叠加,得到输出的结果,需要特别方向是自底向上,从右到左。更详解的图解如下:

如果是求右下角点,则方向相反。

预测模型

预测模型结构如下:

从backbone网络出来是接残差block,不过这里是把卷积替换成Corner-Pooling模块,然后紧跟一个3x3卷积之后进行多路输出。

测试结果:

论文

https://arxiv.org/pdf/1808.01244.pdf

代码:

https://github.com/princeton-vl/CornerNet

参考:

https://opencv.org/latest-trends-of-object-detection-from-cornernet-to-centernet-explained-part-i-cornernet/

本文分享自微信公众号 - OpenCV学堂(CVSCHOOL)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

在技术洪流中看到我们的态度,第21期技术雷达正式发布!

技术雷达是ThoughtWorks每半年发布一期的技术趋势报告,它不仅是一份持续的技术成熟度评估,其产生还源于ThoughtWorks另一个更大宏大的使命—IT...

10730
来自专栏AI小白入门

【ML】项目中最主流的集成算法XGBoost 和 LightGBM

本文是决策树的第三篇,主要介绍基于 Boosting 框架的主流集成算法,包括 XGBoost 和 LightGBM。

8310
来自专栏数据の美

三门问题

三门问题(Monty Hall problem)亦称为蒙提霍尔问题,是美国电视游戏节目Let's Make a Deal的主持人蒙提·霍尔(Mo...

9260
来自专栏机器学习算法与Python学习

论文解读 | 美人秀色空绝世,我用PS-GAN试伊妆

近日,北京航空航天大学和中国科学院大学等机构的研究者新提出的姿态稳健型空间可感知式 GAN(PSGAN),可以很方便地实现可定制化的妆容迁移,真可谓:美人秀色空...

7110
来自专栏毛利学Python

tf_text

在文字的建模实践中,一般需要把原始文字拆解成单字、单词或者词组,然后将这些拆分的要素进行索引,标记化供机器学习算法使用。这种预处理叫做标注(Tokenize)。...

6210
来自专栏Urlteam

TensorFlow识别字母扭曲干扰型验证码-开放源码与98%模型

转载请附:博文网址: urlteam   ,github 网址:tensorflow_cnn

9410
来自专栏AiSmart4J

《Python网络爬虫与数据挖掘小课堂》——part1

由于大家来自不同的行业及水平各有差异,有的小伙伴们甚至没有接触过编程,所以这次的小课堂也将采取从零基础讲述,至于能不能达到精通的水平,那得看小伙伴们的兴趣、积极...

5310
来自专栏AI小白入门

【NLP】李宏毅-ELMO、BERT、GPT视频笔记

机器是如何理解我们的文字的呢?最早的技术是1-of-N encoding,把每一个词汇表示成一个向量,每一个向量都只有一个地方为1,其他地方为0。但是这么做词汇...

7710
来自专栏让自己透明,用于自己看的内容

Finding the closest objects in the feature space在特征空间中找到最接近的对象

Sometimes, the easiest thing to do is to just find the distance between two obje...

3900
来自专栏让自己透明,用于自己看的内容

Probabilistic clustering with Gaussian Mixture Models

In KMeans, we assume that the variance of the clusters is equal. This leads to a...

8110

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励