目标检测-One Stage-CenterNet

文章目录

  • 前言
  • 一、CenterNet的网络结构和流程
  • 二、CenterNet的创新点
  • 总结


前言

前文提到的YOLOv3、YOLOv4、YOLOv5都是基于Anchor的算法(anchor-based),这类算法有如下缺点:

  1. 产生大量的预测框,计算量大
  2. 正负样本不平衡问题:产生的预测框大部分是负样本
  3. 对预定义anchor依赖:anchor-based方法的anchor box的尺度是一个超参数,不同的超参设置会影响模型性能

因此出现了anchor-free这类不依赖于预定义锚框的算法,使得模型更灵活,并且在处理各种目标形状和大小时更具鲁棒性,在一些场景下取得了与传统锚框方法相媲美甚至更好的性能。

CenterNet 就是经典的 anchor-free 目标检测算法(CVPR 2019)


提示:以下是本篇文章正文内容,下面案例可供参考

一、CenterNet的网络结构和流程

  1. 图像预处理:对图片进行随机翻转,随机缩放(0.6~1.3倍),图片裁剪和颜色增强。
  2. 将图像输入backbone(Hourglass/ResNet/DLA/…)得到下采样为原来R分之一大小的特征图

ps:

  • Hourglass Network(时钟网络)是一种用于姿态估计和目标检测的神经网络结构,最初由Alejandro Newell等人于2016年提出。它的名字来自于其整体网络结构的形状,看起来像一个沙漏或时钟的形状。
  • Hourglass Network 的主要特点是通过堆叠多个相互连接的 Hourglass 模块,实现对不同尺度特征的提取和整合。Hourglass 模块本身是一个自我包含的网络结构,具有先下采样(down-sampling)然后上采样(up-sampling)的结构,以捕捉底层和高层特征。
    目标检测-One Stage-CenterNet_第1张图片
  1. 将获得的特征图同时输入HeatMap、OffSet、Size三个组件,得到的目标框的分类和回归情况

ps:

  • HeatMap:经过卷积模块,预测特征图中每个像素是否是目标的中心点
  • OffSet:经过卷积模块,以特征图中每个像素为中心点,回归目标边界框中心点的偏移量
  • Size:经过卷积模块,以特征图中每个像素为中心点,回归目标边界框的大小(宽度、高度)
  1. 预测框转换:将上述结果合并,得到预测框的类别和位置信息

ps:

  1. 首先,对HeatMap的通道做Argmax和max处理,得出分类的index和最高得分。根据得分置信度过滤掉低于阈值的物体中心(此时的过滤完的结果已经带有分类信息和物体中心位置的坐标了)。
  2. 将Offset的偏移量加到HeatMap中的物体中心坐标上,进行修正。
  3. 根据上面HeatMap的过滤结果,对置信度高于阈值的WidthHeight进行转换,xyhw -> x1y1x2y2,就得到预测框了。
    最后将预测框结果进行归一化,方便后面预测框转换计算。
  1. 后处理:虽然论文作者一直强调自己这个模型是一个完全端到端的设计,不需要nms等后处理操作。只需要一个3x3的max_pooling层就可以替代nms。但是实际使用中,无论模型的预测结果还是训练数据,都在结果转换后进行nms。

目标检测-One Stage-CenterNet_第2张图片

二、CenterNet的创新点

  1. 用HeatMap预测的目标中心点代替Anchor机制来预测目标,使用更大分辨率的输出特征图(相对于原图缩放了4倍),因此无需用到多层特征,实现了真正的Anchor-Free,训练上更加简便,并且由于无需额外生成anchor,在保证精度的同时,速度显著提升。
  2. 网络可拓展性非常强,论文中介绍了实现3D目标检测和人体姿态估计任务。具体来说对于3D目标检测,直接回归得到目标的深度信息,3D目标框的尺寸,目标朝向;对于人体姿态估计来说,将关键点位置作为中心的偏移量,直接在中心点回归出这些偏移量的值。

总结

CenterNet是anchor-free中的一个里程碑之作。除了目标检测之外,CenterNet还能应用到其他视觉任务中,如人体关键点,姿态预测等。

模型简单而精巧的设计,使得CenterNet在运行速度和精度的平衡上取得了很好的结果。

目标检测-One Stage-CenterNet_第3张图片

你可能感兴趣的:(目标检测,目标检测,目标跟踪,人工智能,计算机视觉,深度学习)