机器学习笔记 - 目标检测网络CenterNet

CenterNet是一种无锚点目标检测网络,由2019年的Objects as points论文提出,它摒弃了传统的锚点机制,提高了检测速度和精度。网络结构包括Resnet-18、DLA-34和Hourglass-104等多种backbone,通过预测heatmap、目标宽高和中心点坐标完成检测任务。相比于基于锚点的检测方法,CenterNet简化了后处理步骤,提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、CenterNet概述

        CenterNet是在2019年论文Objects as points中提出,相比yolo,ssd,faster_rcnn依靠大量anchor的检测网络,CenterNet是一种anchor-free的目标检测网络,在速度和精度上都比较有优势,值得学习下。

        CenterNet是一种无锚对象检测架构。 这种结构的一个重要优势在于它在后期处理中用一种更优雅的算法取代了经典的 NMS(非最大抑制),这对于 CNN 流程来说是很自然的。 这种机制可以实现更快的推理。

1、网络结构

        除了检测任务外,CenterNet还可以用于肢体识别或者3D目标检测等,因此CenterNet论文中提出了三种backbone的网络结构,分别是Resnet-18, DLA-34和Hourglass-104, 三种backbone准确度和速度如下:

        1、Resnet-18 with up-convolutional layers : 28.1% coco and 142 FPS

        2、DLA-34 : 37.4% COCOAP and 52 FPS

        3、Hourglass-104 : 45.1% COCOAP and 1.4 FPS

Resnet50作为backbone

        可以发现CenterNet网络比较简单,主要包括resnet50提取图片特征,然后是反卷积模块Deconv(三个反卷积)对特征图进行上采样,最后三个分支卷积网络用来预测heatmap, 目标的宽高和目标的中心点坐标。值得注意的是反卷积模块,其包括三个反卷积组,每个组都包括一个3*3的卷积和一个反卷积,每次反卷积都会将特征图尺寸放大一倍,有很多代码中会将反卷积前的3x3的卷积替换为DCNv2(Deformable ConvetNets V2)来提高模型拟合能力。

        CenterNet的模型计算流程如下:

  • 图片缩放到512x512尺寸(长边缩放到512,短边补0),随后将缩放后1x3x512x512的图片输入网络

  • 图片经过resnet50提取特征得到feature1尺寸为1x2048x16x16

  • feature1经过反卷积模块Deconv,三次上采样得到feature2尺寸为1x64x128x128

  • 将feature2分别送入三个分支进行预测,预测heatmap尺寸为1x80x128x128(表示80个类别),预测长宽尺寸为1x2x128x128(2表示长和宽),预测中心点偏移量尺寸为1x2x128x128(2表示x, y) 

COCO mAP 对比 不同模型的推理时间,由 CenterNet 作者测量。

2、与锚点检测对比

        基于锚点的检测的问题在于它会生成许多垃圾预测:例如,YOLOv3 为每张图像预测超过 7K 的框。然后,后处理块需要对重叠预测运行成对检查,​​如果重叠很高(通常 IoU > 0.7 与 COCO 测试集),则假设预测指的是同一个对象,并且置信度较低的预测是丢弃。这种方法有两个主要缺陷:

  1. 它的复杂性与预测数量的平方成正比——对于基于锚的高精度模型(使用高分辨率输入)尤其不利。
  2. 它迫使网络在 NMS 之前解码所有预测,对大多数不相关的预测执行更多的时间和功耗操作。

        Zhou等人于2019年出版。,论文Objects as Points探讨了无锚定预测。在准备训练集时,他们在地面实况 (GT) 盒子中心绘制了一张具有 delta 函数的地图。然后,他们使用高斯滤波器涂抹这些中心,生成在对象中心达到峰值的平滑分布。然后该模型使用两个预测头:一个训练来预测置信度热图,其中另一个头部训练与其他检测器一样,预测框尺寸和偏移量的回归值,这是指第一个头预测的框中心。见下图。

        我们可以直接使用置信度热图来删除不相关的预测,无需解码框,也不会破坏深度 CNN 流。见下图:

  1. 在热图上运行 maxpool 3x3/1。这将提升每个细胞一点点,除了在最高峰。在非常靠近峰顶的地方创建了一个小的平坦区域。
  2. 在 maxpool 输入和输出之间运行布尔元素比较。将值作为 FP 值返回(0. 或 1.)。这将创建一个新的热图,其中除局部最大值(值为 1)外,处处为 0(因为 maxpool 操作提升了每个值)。
  3. 在阶段 2 的输出和 maxpool 的输入之间运行元素乘法。这会将每个局部最大值返回到其置信水平,将非最大值保留为 0。
  4. 像在其他检测器中一样应用置信度阈值。
  5. 仅解码与幸存最大值相对应的框。

CenterNet NMS 流程。说明了流程列表中的阶段 1-3。第二个热图在置信峰值附近包含一个小的平坦红色区域。所有其他值都略高于它们的原始值。这会在元素比较输出处生成一个奇异点,然后通过元素乘法将其缩放回置信值。资料来源:Uri Almog。

二、参考网址

目标检测网络CenterNet详解(四) - silence_cho - 博客园CenterNet是在2019年论文Objects as points中提出,相比yolo,ssd,faster_rcnn依靠大量anchor的检测网络,CenterNet是一种anchor-freehttps://www.cnblogs.com/silence-cho/p/13955766.htmlhttps://towardsdatascience.com/centernet-explained-a7386f368962https://towardsdatascience.com/centernet-explained-a7386f36896211. Predict with pre-trained CenterNet models — gluoncv 0.11.0 documentationhttps://cv.gluon.ai/build/examples_detection/demo_center_net.htmlCenterNet Baseline (Keras) [Training] | KaggleExplore and run machine learning code with Kaggle Notebooks | Using data from Global Wheat Detectionhttps://www.kaggle.com/greatgamedota/centernet-baseline-keras-training https://arxiv.org/abs/1904.08189https://arxiv.org/abs/1904.08189

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值