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

news/2024/7/7 20:30:50
点击上方“小白学视觉”,选择加"星标"或“置顶
重磅干货,第一时间送达
本文转载自:OpenCV学堂

以前的对象检测网络

主要是两类对象检测方法

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

d8965472ba4731a261034de29c5362c7.png

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

5360ccfdeea91ca4bca54542fafe2f0a.png

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

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

CornerNet网络的特点:

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

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

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

CornerNet网络结构

a2cda7f70f082b915d1b12a4d92e293e.png

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

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

95e05ef19153c98d78129c910cd68632.png

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

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

562b6571778faa995cf9e9aaabbdfa94.png

Corner-pooling详解

首先看下图

473f508ad7e661acc4dcdcc1094ff3bd.png

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

1ac0119796c4604be7231f2721c6e2de.png

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

预测模型

预测模型结构如下:

de5f1d88fa2f70407da6e991d45d21bb.png

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

测试结果:

128ea97956f79ae3e4320233f9fcaa75.png

论文

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/
下载1:OpenCV-Contrib扩展模块中文版教程在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

http://lihuaxi.xjx100.cn/news/266352.html

相关文章

ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例

题目描述 写一个函数,使给定的一个二维数组(33)转置,即行列互换。输入 一个3x3的矩阵输出 转置后的矩阵样例输入 1 2 3 4 5 6 7 8 9样例输出 1 4 7 2 5 8 3 6 9 来源/分类 C语言 题目截图&#xff…

5G+云网融合,移动云带领开发者释放边缘计算的力量

在5G浪潮的驱动下,智能设备、自动驾驶、VR/AR等对于实时性、本地性有着较强需求的场景日益丰富,边缘计算应运而生,有效提升了用户体验。众所周知,边缘计算技术的突破,意味着许多控制将通过本地设备实现而无需交由云端&…

python-range用法

2019独角兽企业重金招聘Python工程师标准>>> 详细记录python的range()函数用法 转载于:https://my.oschina.net/lxwgmail/blog/135228

QT Creator 版本大全及下载地址

2019独角兽企业重金招聘Python工程师标准>>> 直接跳过输入账号,选择所需版本。 1.所有版本QT下载地址 : http://download.qt.io/archive/qt/ 2. 所有Qt Creator下载地址: http://download.qt.io/archive/qtcreator/ 3. 所有Qt VS开…

1.3 万亿条数据查询,如何做到毫秒级响应?

点击上方蓝色“方志朋”,选择“设为星标”回复“666”获取独家整理的学习资料!知乎,在古典中文中意为“你知道吗?”,它是中国的 Quora,一个问答网站,其中各种问题由用户社区创建,回答…

中国首次!2021年图计算挑战赛揭榜,华中科技大团队夺冠

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达来源丨新智元编辑丨极市平台导读 8月13日,图计算领域最具影响力的国际赛事之一「Graph Challeng 2021」公布比赛结果,华中科技大学团队斩获冠军&…

正则表达式中$1,$2 ===算是什么意思

$1,$2...是表示的小括号里的内容 $1是第一个小括号里的 ,$2是第2个小括号里的 比如 /gai([\w]?)over([\d])/ 匹配 gainover123 $1 括号里的 n $2 第2个括号里的 123转载于:https://www.cnblogs.com/vertko/p/5888902.html

一种投影法的点云目标检测网络

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达文章导读本文来源于早期的一篇基于投影法的三维目标检测文章《An Euler-Region-Proposal for Real-time 3D Object Detection on Point Clouds》,网络结构简单…