论文阅读笔记 | 目标检测算法——CenterNet算法

简介: 论文阅读笔记 | 目标检测算法——CenterNet算法

paper:Objects as Points

Source code:https://github.com/xingyizhou/CenterNet


思想:

目标检测将对象识别为图像中与轴对齐的框。大多数成功的物体检测器都列举了几乎详尽的潜在物体位置列表,并对每个位置进行分类,这是比较浪费时间的一种做法,而且需要额外的后处理方法。


在CenterNet中,作者将对象建模为单个点,即其边界框的中心点。我们的检测器使用关键点估计来找到中心点,并回归到所有其他对象属性,如大小、三维位置、方向,甚至姿势。与相应的基于anchor的检测器相比,具有端到端的可区分性、更简单、更快速和更精确。


1. Introduction


当前的目标检测是通过用一个边界框来紧密包围对象从而表示它,然后将对象检测简化为大量潜在对象边界框的图像分类。对于每个边界框,分类器确定图像内容是特定对象还是背景。


对于one-step网络来说,通过滑动窗口生成一些列密集的anchor,然后直接对这些anchor进行分类预测,近年来的改进方向包括anchor的比例形状(yolo系列),不同尺度进行特征融合(FPN系列)以及不同样本见的损失权重改进(RetinaNet)。而对于two-step网络来说,会对anchor先进行一个nms挑选,所以其训练比较麻烦不能实现端对端预测。


CenterNet中,会用一个中心点去代表检测对象。然后对象的其他属性(对象大小、尺寸、三维范围、方向和姿态等等)则直接从中心位置的图像特征进行回归。也就是将目标检测问题简化成一个关键点检测问题。

image.png


主要的流程如下:


将图像简单的喂入一个卷积神经网络得到一个heatmap,heatmap的峰值(peaks)对应与物体的中心,每个峰值处的图像特征预测对象边界框的高度和宽度。当进行检测时,只需要简单的进行前向传播实现,不需要NMS等后处理方法,所以可以实现端对端检测。


1. CenterNet与其他基于anchor算法的区别:


CenterNet与基于anchor的One-step算法密切相关,因为一个中心点可以看作是一个形状不可知的anchor,但存在一些区别:

1)CenterNet通过根据位置(peaks)分配anchor,而不是在特征图上进行密集覆盖,不需要手动的设置前景或背景的阈值。

2)CenterNet中的每一个对象只有一个正样本的anchor,所以不需要非极大值抑制处理,也就是不需要后处理方法,只需要提取关键点heatmap中的局部峰值。

3)与传统的对象检测器相比,CenterNet使用了更大的输出分辨率,这消除了对多个anchor的需要

image.png


2. CenterNet与其他关键点检测算法的区别:


CenterNet不是关键点检测的首次使用。CornerNet使用对象的左上角与右下角作为两个关键点,而 ExtremeNet使用对象的四个角点与中心点五个点作为关键点。这两种方法都建立在与CenterNet相同的鲁棒关键点估计网络上。


但是这两种关键点检测算法,在关键点检测之后需要一个组合分组阶段(以CornerNet为例,由于分了两组heatmap分别检测左上角与右下角,需要一个额外的embedding计算这两组之间的距离,距离相识则被匹配为一组),这大大降低了每个算法的速度。


而在CenterNet中,只需为每个对象提取一个中心点,而不需要分组或后处理。


2. Preliminary


2.1 keypoint detection loss

image.png


关键点预测损失公式为:

image.png

α和β是focal loss超参数,这里沿用CornerNet中的设置,α = 2 , β = 4 。N则为图片中总的keypoint数量。


2.2 offset loss

image.png


偏移损失公式如下:

image.png


2.3 size loss

image.png

2.4 overall loss

image.png


网络预测每个地点总共有C + 4个输出。所有输出共享一个公共的全卷积骨干网络。对于每个模态,最后的特征图分别通过一个3x3卷积,ReLU激活函数与一个1x1卷积,分别得到三个预测结果(heatmap,size,offset)。按我的理解,也就是接了三个head。

image.png

(对于目标检测主要看第一行,通过三个head分别获取heatmap,offset,size)


在backbone之后接了三个分支网络,分别用于预测heatmap(c个通道),size(2个通道),offset(2通道)。所有最后每个位置共有C+4个通道。如下图所示:

image.png

heatmap分支即keypoint prediction分支,heatmap有c个channel,对应c个类。最后挑选每个channel中peaks作为该类的center points。

size分支用于预测宽和高,offset分支用于弥补卷积操作的下采样导致离散误差,做回归用,这两个分支与类无关,所有类共享。


(图片参考:https://blog.csdn.net/yanghao201607030101/article/details/110202400


3. Objects as Points


在推断的时候,首先独立地提取每个类别的heatmap中的峰值。如果一个点的值大于或等于其八邻域(周围最近的8个点)中的所有值则视为peak,最后保留值最大的100个peaks。

image.png


所有输出直接从关键点估计产生,无需基于IoU的非最大值抑制(NMS)或其他后处理。峰值关键点提取是一种充分的NMS替代方案,可以使用3 × 3最大池操作在器件上高效实现。


4. Result


paper使用了四种不同的backbone进行实验:ResNet-18, ResNet-101, DLA-34 , 与 Hourglass-104 。其中对ResNets和DLA-34进行了更改,而 Hourglass-104 没有更改。结构如下:

image.png

四种backbone的实验结果:

image.png

与其他SOTA算法的对比:

image.png

目录
相关文章
|
11天前
|
机器学习/深度学习 自然语言处理 算法
调研180多篇论文,这篇综述终于把大模型做算法设计理清了
《A Systematic Survey on Large Language Models for Algorithm Design》综述了过去三年大型语言模型(LLMs)在算法设计中的应用。LLMs通过自然语言处理技术,助力生成、优化和验证算法,在优化、机器学习、数学推理等领域展现出广泛应用前景。尽管存在资源需求高、结果不确定等挑战,LLMs仍为算法设计带来新机遇。论文地址:https://arxiv.org/abs/2410.14716。
47 14
|
2月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
3月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
2月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
61 0
|
3月前
|
机器学习/深度学习 安全 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(下)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(下)
57 0
|
3月前
|
安全 搜索推荐 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(上)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(上)
41 0
|
3月前
|
自然语言处理 搜索推荐 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(下)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(下)
45 0
|
10天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
143 80
|
4天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。

热门文章

最新文章