论文《Objects as Points》在CornerNet之后提出了又一种全新的思路CenterNet,即将目标建模为其边界框的中心点,方法通过关键点估计来寻找目标的中心点然后对目标所有其他的属性例如尺寸、三维位置、方向和姿态进行回归。在COCO数据集上取得了速度-精度的较好的均衡[142FPS-28.1%AP、52FPS-37.4%AP,1.4FPS-45.1%AP],并且通过微调,CenterNet还可以用于三维目标检测与人体姿态估计。
原文链接:目标检测(8):CenterNet-Objects as Points将目标建模为边界框中心点的方法
论文地址:https://arxiv.org/abs/1904.07850
工程链接:https://github.com/xingyizhou/CenterNet

1. 背景

  目标检测能够辅助许多计算机视觉的任务,比如实例分割,姿态估计,目标追踪,动作识别等等,并且在安防监控、自动驾驶等方面有很多具体应用。当前目标检测方法将目标建模为一个边界框,通过对潜在的所有边界框进行分类,来确定其是否为待检测目标。一阶段的方法通过使用锚框来直接对目标进行分类,二阶段方法则对每一个潜在框重新进行计算图像特征,然后进行分类。他们还需要进行名为非极大值抑制的后处理来移除重叠框,造成模型难以端到端的训练。

  提供了一种更简单且更高效的思路,将目标建模为边界框的中心点,其他的属性则直接进行回归。目标检测任务转变为标准的关键点估计问题。论文将图像输入至一个全卷积网络生成热力图,图中的峰顶对应目标中心,每个峰顶处的图像特征用于预测目标边界框的长宽。CenterNet中的中心点可以看作一个形状不可知的锚框,但与一阶段方法的区别在于:1) CenterNet将这种形状不可知的锚框只与位置相关,不用手动设置阈值区分前后景;2) 对于每一个目标只选取一个”正锚框“;3) CenterNet应用更大的输出分辨率(output stride=4)。

2. 理论准备

  令I∈RW×H×3I \in R^{W \times H \times 3}I∈RW×H×3为输入图像,目标是得到一个关键点热力图即Y^∈[0,1]WR×HR×C\hat Y \in [0,1]^{\frac{W}{R} \times \frac{H}{R} \times C}Y^∈[0,1]RW​×RH​×C,其中RRR是output stride,取4,CCC是关键点类型的数量,人体姿态估计中选为17(COCO数据集),或者是目标检测中的目标类别数。另外,Y^x,y,c=1\hat Y_{x,y,c}=1Y^x,y,c​=1表示检测到的一个关键点,为0则表示属于背景,论文使用了几个不同的全卷积编解码网络预测III对应的Y^\hat YY^,堆叠的沙漏网络,带有反卷积的残差网络,和深层聚合网络(DLA)。

 关键点预测网络训练时,对于每一个人工标注的属于类别ccc的关键点p∈R2p \in R^2p∈R2,计算一个低分辨率的替代pˇ=⌊pR⌋\check p =\lfloor \frac{p}{R} \rfloorpˇ​=⌊Rp​⌋,然后利用一个高斯核函数Yxuz=exp(−(x−pˇx)2+(y−pˇy)22σp2)Y_{xuz}=exp \left(-\frac{(x-\check p_x)^2+(y-\check p_y)^2}{2 \sigma^2_p}\right)Yxuz​=exp(−2σp2​(x−pˇ​x​)2+(y−pˇ​y​)2​)把所有的人工标注关键点显示在热力图Y∈[0,1]WR×HR×CY \in [0,1]^{\frac{W}{R} \times \frac{H}{R} \times C}Y∈[0,1]RW​×RH​×C,训练目标通过如下损失函数进行优化:
Lk=1N∑xyz{(1−Y^xyc)αlog(Y^xyc)ifYxyc=1(1−Y^xyc)β(Y^xyc)αlog(1−Y^xyc)otherwiseL_k=\frac{1}{N}\sum_{xyz} \begin{cases} (1-\hat Y_{xyc})^{\alpha}log(\hat Y_{xyc})& if\ Y_{xyc}=1\\ (1-\hat Y_{xyc})^{\beta}(\hat Y_{xyc})^{\alpha}log(1-\hat Y_{xyc})& otherwise \end{cases} Lk​=N1​xyz∑​{(1−Y^xyc​)αlog(Y^xyc​)(1−Y^xyc​)β(Y^xyc​)αlog(1−Y^xyc​)​if Yxyc​=1otherwise​

   其中,α=2\alpha=2α=2和β=4\beta=4β=4是focal loss的超参数,NNN是用于将所有的正实例归一化为1。此外,为了重现由output stride带来的离散化错误,论文额外为每一个中心点预测了一个偏移O^∈RWR×HR×2\hat O \in R^{\frac{W}{R} \times \frac{H}{R} \times 2}O^∈RRW​×RH​×2,所有的类别都共用该偏移,该偏移通过L1损失进行优化:

Loff=1N∑p∣O^pˇ−(pR−pˇ)∣L_{off}=\frac{1}{N}\sum_p \left|\hat O_{\check p}-\left( \frac{p}{R}-\check p\right)\right| Loff​=N1​p∑​∣∣∣​O^pˇ​​−(Rp​−pˇ​)∣∣∣​

  这种监督只在关键点位置执行,其他位置忽略,接下来论文对关键点估计如何转变为一个标准的目标检测器进行阐述。

3. Objects as Points

  令(x1(k),y1(k)),x2(k),x2(k))(x_1^{(k)},y_1^{(k))},x_2^{(k)},x_2^{(k)})(x1(k)​,y1(k))​,x2(k)​,x2(k)​)为具有类别ckc_kck​的目标kkk的边界框,中心点位置pk=(x1(k)+x2(k)2,y1(k)+x2(k)2)p_k=(\frac{x_1^{(k)}+x_2^{(k)}}{2},\frac{y_1^{(k)}+x_2^{(k)}}{2})pk​=(2x1(k)​+x2(k)​​,2y1(k)​+x2(k)​​),使用关键点估计Y^\hat YY^对所有的中心点进行预测,此外,对所有目标的尺寸参数sk=()x2(k)−x1(k),y2(k))−y1(k)))s_k=()x_2^{(k)}-x_1^{(k)},y_2^{(k))}-y_1^{(k))})sk​=()x2(k)​−x1(k)​,y2(k))​−y1(k))​)进行回归,为了降低运算量,论文对所有的目标类别使用单个尺寸预测S^∈RWR×HR×2\hat S \in R^{\frac {W}{R} \times \frac{H}{R}\times 2}S^∈RRW​×RH​×2,并且使用L1损失进行优化:

Lsize=1N∑k=1N∣S^pk−sk∣L_{size}=\frac{1}{N}\sum_{k=1}^N \left|\hat S_{p_k}-s_k\right| Lsize​=N1​k=1∑N​∣∣∣​S^pk​​−sk​∣∣∣​

  论文直接使用原始的点坐标,通过一个系数λsize\lambda_{size}λsize​来进行损失的权衡,优化目标变为:

Ldet=Lk+λsizeLsize+λoffLoffL_{det}=L_k+\lambda_{size}L_{size}+\lambda_{off}L_{off} Ldet​=Lk​+λsize​Lsize​+λoff​Loff​

  实验中两个常系数分别取0.1和1,并且使用单个网络来预测关键点Y^\hat YY^,偏移O^\hat OO^和尺寸S^\hat SS^,该网络在每个位置一共产生C+4C+4C+4个输出。所有的输出共享一个全卷积主干网络,之后主干网络的特征一次通过可分离的3×33 \times 33×3卷积,ReLU激活函数以及一个1×11 \times 11×1卷积,下图是网络输出的一个简单示例。

  在网络推理阶段,首先对于每一个类别独立地在热力图中提取峰顶,然后检测所有值不小于3×33 \times 33×3邻域的响应,取前100 个峰顶,令P^c\hat P_cP^c​表示包含ccc个类别的nnn个中心点P^={(x^i,y^i)}i=1n\hat P=\{(\hat x_i,\hat y_i)\}^n_{i=1}P^={(x^i​,y^​i​)}i=1n​的集合。每一个关键点的位置都是由一个整数值得二维坐标(xi,yi)(x_i,y_i)(xi​,yi​)给出,使用关键点d的值Y^xiyic\hat Y_{x_iy_ic}Y^xi​yi​c​作为置信度并产生一个边界框:

(x^i+δx^i−ω^i/2,y^i+δy^i−h^i/2x^i+δx^i+ω^i/2,y^i+δy^i+h^i/2)(\hat x_i+\delta \hat x_i-\hat \omega_i /2,\hat y_i+ \delta \hat y_i-\hat h_i/2\\\hat x_i+\delta \hat x_i+\hat \omega _i/2,\hat y_i+ \delta \hat y_i+\hat h_i/2) (x^i​+δx^i​−ω^i​/2,y^​i​+δy^​i​−h^i​/2x^i​+δx^i​+ω^i​/2,y^​i​+δy^​i​+h^i​/2)

  其中,含有δ\deltaδ的项是偏移量,w、hw、hw、h的项是预测的尺寸,所有的输出都是直接由关键点估计产生,不需要经过基于IoU比较的非极大值抑制,因为峰顶关键点的提取可以取代NMS,并且可以简单地通过一个3×33 \times 33×3的最大池化实现。

3.1 三维目标检测

  三维目标检测为每个目标预测产生一个三维的边界框,其需要额外的参数:深度,3D维度信息和方向。论文为每一个参数添加一个独立的头部,深度ddd是每一个中心点独立参数,然而这个参数很难直接回归,论文使用一种变形即d=1/σ(d^)−1d=1/\sigma(\hat d)-1d=1/σ(d^)−1,其中σ\sigmaσ是sigmoid激活函数,方法在一个附加的输出通道D^∈[0,1]WR×HR\hat D \in [0,1]^{\frac{W}{R}\times \frac{H}{R}}D^∈[0,1]RW​×RH​计算深度,它使用了两层卷积核一个ReLU激活函数,与之前的形式不同,这里的输出层采用sigmoid的逆变换,并且使用L1损失进行优化。

  目标的3D维度是三个参数,论文使用一个头部T^∈[0,1]WR×HR×3\hat \Tau \in [0,1]^{\frac{W}{R}\times \frac{H}{R}\times 3}T^∈[0,1]RW​×RH​×3和L1损失直接对它们的绝对值进行回归。对于角度量,论文使用将其编码为八个参数,每个bin中四个,每个bin中的两个参数使用softmax分类剩下的两个回归为一个角度。

3.2 人体姿态估计[这个方向一点不了解,跳过~]

4. 模型架构


(a)沙漏网络
(b)带有反卷积的ResNet,在上采样层之前使用一个3×33\times33×3的可变形卷积来改变通道数,使得最后的特征图尺寸由1/32变为1/4
©DLA-34,用于语义分割的模型
(d)修改后的DLA-34,加入跳跃结构

5. 实验结果

目标检测
COCO测试集

Pascal VOC 2007

姿态估计
COCO测试集

三维目标检测

可视化结果

目标检测(8):CenterNet-Objects as Points-将目标建模为边界框中心点的方法相关推荐

  1. 论文精读——CenterNet :Objects as Points

    论文精读--CenterNet :Objects as Points 论文地址:https://arxiv.org/pdf/1904.07850.pdf 机构:UT Austin,UC Berkele ...

  2. centernet: objects as points

    轻松掌握 MMDetection 中常用算法(七):CenterNet - 知乎文@ 0000070 摘要 在大家的千呼万唤中,MMDetection 支持 CenterNet 了!! CenterN ...

  3. CenterNet:Objects as Points论文阅读笔记

    CenterNet论文阅读笔记 (一)Title (二)Summary (三)Research Objective (四)Problem Statement (五)Method 5.1 Loss Fu ...

  4. yolov3为什么对大目标检测不好_基于改进Yolov3的目标检测的研究

    晏世武 罗金良 严庆 摘要:目标检测在视频监控.无人驾驶系统.机械自动化等领域起着重要作用.在如今大数据的背景下,为进一步提高Yolov3在不同数据集下的性能,本文以KITTI数据集为基础,利用重新調 ...

  5. 目标检测算法综述 | 基于候选区域的目标检测器 | CV | 机器视觉

    目标检测算法综述 | 基于候选区域的目标检测器 | CV | 机器视觉 滑动窗口检测器 自从 AlexNet 获得 ILSVRC 2012 挑战赛冠军后,用 CNN 进行分类成为主流.一种用于目标检测 ...

  6. CenterNet :Objects as Points 详解

                                                              论文题目:Objects as Points                     ...

  7. 看代码解读CenterNet :Objects as Points

    文章目录 1. idea 2. 网络结果 2.1 hm分支 2.2 wh分支 2.3 reg分支 3. 数据+loss 4. 推理 结果 reference 摘要: centernet是单阶段的目标检 ...

  8. 基于anchor-free的目标检测算法CenterNet研究

    2020.04.18 小记 近期一直在MOT算法研究,目前SOTA算法核心还是基于CenterTrack网络,而CenterTrack又是基于anchor-free式的CenterNet网络,Cent ...

  9. ​​​​​​​【目标检测】CenterNet

    论文地址:https://arxiv.org/pdf/1904.07850.pdf 代码地址:CenterNet: Object detection, 3D detection, and pose e ...

  10. 目标检测:CenterNet论文解读及代码详解

    论文思想 当前anchor-based目标检测方法可分one-stage.two-stage两种.one-stage模型利用anchor机制得到大量的框,之后直接加入回归.分类分支对框进行分类与微调. ...

最新文章

  1. 【Qt】dumpbin详解
  2. 【C/C++10】天气APP:MySQL/PostgreSQL,环境变量/动静态库,Linux/Oracle字符集
  3. Python 学习笔记 多进程 multiprocessing
  4. urllib的实现---请求响应and请求头处理
  5. less、Element-UI等安装配置
  6. JDK安装、java环境配置(转)
  7. 利用BayesianOptimization库对模型进行贝叶斯调参(XGBOOST)
  8. maven命令创建支持eclipse的多模块maven项目
  9. Leo个人MSN简明使用手册
  10. 字符串的练习 统计字符串中大写,小写,数字的个数 29
  11. 光流传感器 定位精度_基于多传感器的无人机定位和避障技术研究
  12. python字符加密2pta_ptapython答案
  13. vmware ubuntu 虚拟机扩充硬盘容量及合并分区
  14. 水库大坝安全检测平台实例分析+辽阳市水库大坝安全检测平台+志豪未来科技有限公司+陈志豪
  15. 价值规律的作用是什么
  16. USB Full-Speed 控制传输
  17. 微信小程序搜索php,如何解决微信小程序没有模糊搜索功能
  18. HTML静态网页设计基础
  19. java获取微信用户源码_Java微信公众平台开发(十)--微信用户信息的获取
  20. 怎么确定步进电机的步距角

热门文章

  1. Linux 端口占用情况查看
  2. centos7下发邮件给自己的QQ邮箱
  3. 将Nginx加入service服务中
  4. PHP5 Session 使用详解(一)
  5. css3mediaquery移动端网页字体适应屏幕代码
  6. 当手机访问时自动跳转到手机网站
  7. 微信小程序——通过百度API查询天气情况
  8. PostGis加载空间数据
  9. Java简历模板(三十个模板随意选)
  10. Visual Studio 添加外部工具