点击我爱计算机视觉标星,更快获取CVML新技术

本文经授权转载自极市平台(extrememart)。

作者简介

TeddyZhang:上海大学研究生在读,研究方向是图像分类、目标检测以及人脸检测与识别

近些天,目标检测领域掀起了一股Anchor-Free的潮流,即不去生成预选框,也不用额外耗费资源去计算预选框和真实框的IOU。在此之前很多成功的检测器会产生一系列位置坐标,然后用于坐标回归和分类预测,而这篇文章很有意思,将目标当做一个独立的点(也就是目标边框的中心点)。

论文地址:

https://arxiv.org/pdf/1904.07850.pdf

算法总览

本篇文章的核心就是使用关键点检测的方法去预测目标边框的中心点,然后回归出目标的其他属性,例如大小、3D 位置、方向甚至是其姿态。而且这个方向相比之前的目标检测器,实现起来更加简单,推理速度更快,精度更高!在COCO数据集上达到了最好的speed-accuracy的trade-off。

提起速度和精度的trade-off,大家可能都会想起来YOLO-V3,这个算法在笔者心中也是很高的地位,也是做一些目标检测工程项目首先考虑的一个算法,那么本篇论文提出的算法与其比较如何呢?相信大家看完,就更加有兴趣来阅读了,并且本篇文章作者Xingyi Zhou也是另一篇ExtremeNet的第一作者,代码均已开源!

开源地址:

https://github.com/xingyizhou/CenterNet

COCO验证集结果

作者认为如果把每个目标都使用一个关键点进行表达,那么目标检测问题其实质就是一个关键点检测的问题,假设我们简单的把一幅图片喂到一个全卷积网络中,那么就会产生一个热图,而热图上的点和目标的边框有关,接着在这个点对应的图像特征去直接预测边框的长和宽,那么我们就可以简化这个检测问题。并且在测试时候,由于每个目标只有一个点,那么就不会存在多个预测框相互重叠的情况,也就没有必要使用NMS算法来去重!

除此之外,这个思路可以很好的扩展到其他任务,如3D目标检测和姿态估计的问题,是不是听起来耳目一新?这个就可以更好的扩展这个算法到不同的任务中,其方法就是在每个预测点要回归出目标的其他属性,例如目标检测需要回归边框的长和宽,3D目标检测就需要回归更多的参量,如目标深度,3D边框维度和目标方向。而对于姿态估计,我们将每个关节点相对于中心点的偏移作为回归目标,直接回归。非常Nice and Simple的思路!

其算法不仅思路简单,而且具有很高的速度和精度,当使用简单的ResNet18和反卷积,其可以跑出142FPS,COCO准确率为28.1%,如果使用精心设计的姿态估计网络DLA-34,那么可以达到37.4%的准确率,速度为52FPS,最后作者还使用了SOTA的关键点检测的网络Hourglass-104,可以达到45.1%的COCO AP。真的很强大,同一算法可以在不同应用目的下进行适当改变,这不是我们一直在追求的么?

与Anchor-based的区别

Anchor-based的很经典的代表Faster-RCNN,它在一个低分辨率的网格中采样一系列固定尺度的anchors,并分为前景和背景,标准是anchor和真实框的IOU,如果大于0.7,那么为正样本,如果小于0.3为负样本,其他的则忽略。而本文提出的CenterNet比较接近之前的单阶段Anchor-based的网络,但是有些是不一样的,首先,CneterNet中的“anchor”是以确定坐标为基础的,而不是边框重叠,对于前景和背景并没有对应的阈值设定。然后,对于每一个目标只有一个正样本“anchor”,因此测试时不需要NMS算法。最后,CenterNet使用了更大的输入分辨率(stride为4),而传统的检测器一般stride为16。但由于不用计算IOU,所以就算使用了很大的分辨率,速度仍然是很快的!

Preliminary

首先我们输入一幅图像I,经过全卷积网络产生关键点热图,其中R为输出步长为4,而C为关键点类型的数量,对于人体姿态估计C=17,而对于目标检测则表示分类C=80。而Y=1表示一个检测到的关键点,而Y=0则表示背景。

在训练时遵循关键点检测的一些策略,首先计算低分辨率特征图  (向下取整),然后使用高斯核得到一定范围的区域,如果同一个类别的高斯区域重叠,那么我们选择值较大的那个,训练时使用focal loss进行训练:

其中和为focal loss的超参数,N为所有正样本实例的个数,从而将loss归一化。根据前人经验focal loss的超参数分别设置为2和4.

为了消除因stride=4而产生的位置偏差,我们附加的会预测一个偏移量  ,所有的分类都共享一个偏移量。(为了避免量化带来的误差,ROI Align也有这个思想)

Objects as Points

在这里我们主要讲解如何将点预测扩展到目标检测中的边框预测,在论文中作者还详细讲解了怎么将这个思路扩展到3D目标检测和姿态估计中,其原理都是类似的!

首先我们定义  为目标K的边框,其类别为 ,则其中心点的坐标就很容易得到了,定义为 = ,然后我们就可以得到了回归目标,两个值长和宽,记为,因此预测目标维度为  的张量,从而我们使用L1损失来计算其loss如下:

那么总的损失函数我们就得到了,一共是三个损失函数的结合:

其中 ,在所有实验中都这样设置。综合来说,我们使用一个网络来预测关键点Y,偏移O,大小S,总的预测值为一个C+4维的张量,我们直接对这个张量进行回归。对于每个模型,我们都设计为一个可分离3x3卷积,ReLU和另外一个1x1的卷积。

在测试阶段,我们首先提取出来每个类别在热图中的点,在8邻域中检测所有的响应并保存前100个点,然后每个关键点位置通过高斯函数可以计算出Y值用来度量这个点的置信度。然后通过下面变换公式产生边框坐标:

其中为其回归预测,并且不需要进行NMS或者其他的post-processing策略,其中8邻域检测最大值可以高效的使用3x3max pooling来代替。

根据这个思路,作者还将这个算法扩展到其他任务中,只需要更改或添加回归目标即可!如下图所示:

可以看到第一行就是刚才讲的三个损失函数,包括分类损失,偏差损失和size损失。而第二行为3D目标检测中的一些回归目标,第三行为姿态估计的一些回归目标!思路都大致相同,就不再一一赘述了!

实验结果

作者试验了4中网络框架,分别为ResNet-18,ResNet-101,DLA-34和Hourglass-104。并且在实验中分为了没有使用test augmentation,翻转操作,多尺度增强三种测试方案,用于检测模型的稳定性和泛化能力!

可以看到,不同网络提取特征能力不同,对检测精度的结果也是有很大的影响的。但这些结果也充分可能了这种策略的成功,在实际工程中,我们可以使用不同的网络来进行检测,从而满足我们的需求,有些场合,我们不需要精度太高,但需要实时性!

与其他模型相比,CenterNet也具有很好的性能,由于它也是一种类似单阶段算法的模型,所以作者主要和单阶段算法进行比较,但也比较了几个two-stage的算法。

其中表格的上半部为two-stage的算法,而下半部为One-Stage的算法,并且在One-Stage算法中分为单尺度/多尺度测试,当然也有FPS用来表征模型的速度,可以看到CenterNet在速度和精度达到了最后的trade-off。

前面说到了,CenterNet在测试阶段不使用NMS算法或其他post-processing,这样合理么?作者也做了实验进行比对,对DLA-34(flip-test)进行加或者不加NMS发现,使用NMS算法其AP从39.2%提高到39.7%。而对于Hourglass-104,其AP没有变化,还是42.2%,为了更高的效率,决定不使用NMS算法。

其他任务的实验结果

3D目标检测

在KITTI数据集的验证结果

姿态估计

在COCO姿态估计的test-dev结果

效果展示

这么强的效果,大家还不赶紧尝试一波去!!!

论文地址:

https://arxiv.org/pdf/1904.07850.pdf

开源地址:

https://github.com/xingyizhou/CenterNet

推荐阅读:

继往开来!目标检测二十年技术综述

目标检测:Segmentation is All You Need ?

FoveaBox:目标检测新纪元,无Anchor时代来临!

目标检测交流群

关注最新的目标检测技术,欢迎加入52CV-目标检测群,扫码添加CV君拉你入群,

(请务必注明:目标检测):

喜欢在QQ交流的童鞋可以加52CV官方QQ群:702781905。

(不会时时在线,如果没能及时通过还请见谅)


长按关注我爱计算机视觉

CenterNet:目标即点(代码已开源)相关推荐

  1. 隔墙有耳:利用电磁信号窃取目标信息项目代码已开源

    近日一名计算机技术专家William Entriken发明了一种新的方法,利用该方法可以让计算机发送无线信号. 新思路新方法 William Entriken创建了一个C library(库),即使计 ...

  2. 国科大提出FreeAnchor,新一代通用目标检测方法,代码已开源

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自新智元(ID:AI_era),请勿二次转载.   新智元专栏   作者:张小松 (中国科学院大学) [新智元导读]中国科学院大学联合厦门大学和 ...

  3. 3目标检测的准确率_吊打YOLOv3!普林斯顿大学提出:CornerNetLite,基于关键点的实时且精度高的目标检测算法,已开源!...

    点击上方"CVer",选择"星标"和"置顶" 重磅干货,第一时间送达 前戏 最近目标检测方向,出了很多很棒的paper,CVer也立即跟进报 ...

  4. 树状图栏目切换_AAAI 2020 | 中山大学HCP实验室:基于树状结构策略的渐进强化学习,代码已开源...

    作者 | 吴捷 编辑 | Camel 本文对中山大学.北京航空航天大学.DMAI合作完成,被AAAI2020录用的一篇关于多模态视频理解的论文<Tree-Structured Policy ba ...

  5. VLM:Meta AI CMU提出任务无关视频语言模型视频理解预训练VLM,代码已开源!(ACL 2021)...

    关注公众号,发现CV技术之美 本文分享 ACL 2021 论文『VLM: Task-agnostic Video-Language Model Pre-training for Video Under ...

  6. Align and Prompt:SalesforceANU提出ALPRO,进行细粒度的视频文本对齐!代码已开源!...

    关注公众号,发现CV技术之美 本文分享论文『Align and Prompt: Video-and-Language Pre-training with Entity Prompts』,由 Sales ...

  7. McGill微软将卷积操作加入到ViT中,捕获更详细的局部信息!准确率达87.7%!代码已开源!...

    关注公众号,发现CV技术之美 本文分享论文CvT : Introducing Convolutions to Vision Transformers,由McGill&微软联合提出<CvT ...

  8. CVPR21小样本检测:蒸馏上下文助力小样本检测(代码已开源)

    计算机视觉研究院专栏 作者:Edison_G 目标检测现在的框架越来越多,我们"计算机视觉研究院"最近也分享了众多的目标检测框架!今天我们继续分享一个最新的检测框架--YOLOR. ...

  9. 国科大港中文提出带视觉语言验证和迭代推理的Visual Grounding框架,性能SOTA,代码已开源!(CVPR2022)...

    关注公众号,发现CV技术之美 本文分享 CVPR 2022 的一篇论文『Improving features Visual Grounding with Visual-Linguistic Verifi ...

  10. ECCV2022 | 人大提出轻量级基于注意力的特征融合机制,在多个公开数据集上有效!代码已开源!

    ECCV2022 | 人大提出轻量级基于注意力的特征融合机制,在多个公开数据集上有效!代码已开源! [写在前面] 本文在文本到视频检索的新背景下,作者重新探讨了特征融合这一古老的课题.与以往的研究只考 ...

最新文章

  1. HDU2673-shǎ崽(水题)
  2. 实战教程 | 车道线检测项目实战,霍夫变换 新方法 Spatial CNN
  3. 图像识别工程师 VS The application has requested the Runtime to terminate it in an unusual way.
  4. 设计模式--解析器(Interpreter)模式
  5. 什么是死锁(deadlock)?
  6. 使用Microsoft.Office.Interop.Excel时,64位问题
  7. mysql 除去列名打印_sql – 使用beeline时避免在列名中打印表名
  8. js数组的sort排序(获取中位数)
  9. Web3.0网关Deeper Network计划于本月末在四个平台上进行IDO
  10. 阿里架构师教你处理高并发:2种方法,解决Redis和Mysql一致性
  11. java向上向下取整与四舍五入
  12. Mapreduce概念及流程介绍
  13. swap函数_【Golang】图解函数调用栈
  14. linux中安装apk软件,Linux下安装软件的几种方式
  15. Android获取手机型号
  16. 微软内置真正linux_如何使用Microsoft Word的内置屏幕截图工具
  17. html tooltips效果,CSS3+jQuery轻松实现工具提示(Tooltips)
  18. 杯具的无线鼠标安装记
  19. 小板凳app android,小方桌易家园老师端app
  20. 组装电脑千万不要随便买

热门文章

  1. P2820 局域网(最小生成树)
  2. iphone短信尚未送达_潮讯:iPhone12重大升级;华为麒麟被炒价;抖音上线云游戏;骚扰短信要凉了;一加刘作虎回归OPPO...
  3. 乱码 设置界面_三星手机突发系统崩溃,现黑屏、乱码!回应了
  4. 查看pcl版本 linux,Ubuntu16上安装PCL
  5. 中标麒麟共享win7打印机_win10与win7系统电脑通过局域网共享打印机的方法
  6. vue rem适配_vue如何使用UI库快速开发项目
  7. 简述传统动画跟计算机动画的异同点,Flash动画设计与传统动画设计的特点比较研究...
  8. java购物车商品排序_Java购物车
  9. php 面试靠快速排序,搞定PHP面试 - 常见排序算法及PHP实现
  10. android 半圆滚动菜单,自定义控件:实现半圆滚动菜单效果