目标检测论文综述(四)Anchor-Free

article/2025/8/19 16:38:40

——CNN based Anchor-Free Detectors

所有论文综述均保持如下格式:
1、一页PPT内容总结一篇论文
2、标题格式一致:出处 年份 《标题》
3、内容格式一致:针对XX问题;提出了XX方法;本文证明了XXX
4、把握核心创新点,言简意赅
5、开源代码链接

强烈推荐:目标检测论文资源列表(各目标检测网络性能对比、论文链接、官方/非官方代码链接)
https://github.com/hoya012/deep_learning_object_detection#2014
针对Anchor的缺点:
1、对feature map上每一像素点去定义很多的锚点框,导致anchor boxes数量大,正负样本不均衡
2、anchor boxes的使用引入了许多超参数和设计选择,包括多少个box、大小和高宽比,这些超参数使得网络调优变得困难,增加网络复杂度,增大计算量

一、CVPR 2015《DenseBox:Unifying Landmark Localization with End to End Object Detection》
  • 针对:将FCN应用到目标检测,人脸检测,车辆检测,密集预测对每个pixel预测
  • 提出了:1.直接预测目标框和目标类别;2.通过多任务引入landmark localization,进一步提升性能
    在这里插入图片描述
    单个FCN同时产生多个预测bbox和置信分数的输出。测试时,整个系统将图片作为输入,输出5个通道的feature map。每个pixel的输出feature map得到5维的向量,包括一个置信分数和bbox边界到该pixel距离的4个值。最后输出feature map的每个pixel转化为带分数的bbox,然后经过NMS后处理。
    缺点:使用embeddings进行角点匹配效果不好,导致某个物体左上角匹配到另一个物体右下角
二、ECCV 2018《CornerNet:Detecting Objects as Paired Keypoints》
  • 针对:anchor-boxes的缺点:数量大,正负样本不均衡;2.超参数过多
  • 提出了:关键点检测,引入corner pooling帮助网络定位角点
    在这里插入图片描述
    左上角和右下角分别输出三个结果:heatmaps某位置是角点的概率、offsets实际角点相对于该位置的偏移、embeddings嵌入向量,角点配对
  • 本文证明了:基于关键点检测的方法是有效的,但物体的特征一般集中在物体内部,左上、右下两个点的特征并不明显,不容易确定位置。

GitHub官方源码(PyTorch)

三、CVPR 2019《CenterNet:Keypoint Triplets for Object Detection》
  • 针对:CornerNet的角点配准问题
  • 提出了:引入“cascade corner pooling”和“center pooling”,从左上角和右下角收集的信息并在中心区域提供更多可识别的信息
    在这里插入图片描述
  • 本文证明了:通过CornerNet中一对角点生成一个proposal后,通过检验是否有一个具有相同类别的中心点落在中心区域,来判定这个proposal是否真的是一个对象。

GitHub官方源码(PyTorch)

四、CVPR 2019《ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points》
  • 针对:矩形表示目标会产生干扰背景信息,破坏物体本身信息(形状、姿态)
  • 提出了:关键点估计,包括目标的4个极值点和1个中心点组成目标框
    在这里插入图片描述
    检测流程:通过预测每个对象类别的4个heatmaps,得到4个极值点,再利用center heatmap检测中心极值点,匹配算法对所有极值点进行组合,并验证组合中是否存在中心极值点。
  • 本文证明了:关键点组合方式:CornerNet使用associative embedding将属于同一物体的两点组合,本文通过暴力枚举,利用几何分布组合。不同于CornerNet角点形成bounding box的生成方式,角点通常在真正物体的外部,没有很强的外观特征;而本文选取的中心点和物体边界极值点,存在于物体表面表面,更容易检测。

GitHub官方源码(PyTorch)

五、2019《CenterNet:Objects as Points》
  • 针对:大多目标检测器枚举所有可能的目标位置并分类是低效、浪费的、需额外后处理;cornernet角点匹配不准
  • 提出了:将目标视为一个点(目标bounding box中心点)2.CenterNet基于关键点估计网络,端到端的较bounding box更优,找到目标中心,然后回归到其他属性:尺寸、3D位置、方向、姿态。无需任何后处理(NMS)。3.将图像传入网络,得到一热力图,热力图峰值点即中心点,每个特征图的峰值点位置预测了目标的宽高信息
    在这里插入图片描述
    创新点:1.分配的锚点仅在位置上,无尺寸框,无手动设置的阈值做前后景分类(像Faster RCNN将GT IOU>0.7作为前景,<0.3作为背景)
    2.每个目标仅一个锚点,无需NMS,提取关键点特征图上的局部峰值点
    3.CenterNet相较传统目标检测,缩放16倍,使用更大分辨率的输出特征图(缩放4倍),无需多重特征图锚点

3D bbox检测:直接回归得到目标的深度信息,3D框的尺寸,目标朝向(中)
人体姿态估计:将2D point位置作为中心点的偏移量,直接在中心点位置回归出偏移量的值(下)

  • 本文证明了:NMS通过计算bbox间的IOU来删除同个目标的重复检测框,这种后处理很难区分和训练,因此现有大多检测器都非端到端可训练的。

GitHub官方源码(PyTorch)

六、ICCV 2019《FCOS: Fully Convolutional One-Stage Object Detection》
  • 针对:全卷积网络用语义分割的思想来解决像素点的检测问题
  • 提出了:远离目标中心的低质量预测bbox,提出添加center-ness分支,和分类分支并行
    在这里插入图片描述
    在这里插入图片描述
    GitHub官方源码(PyTorch)
七、2019《FoveaBox: Beyond Anchor-based Object Detector》
  • 针对:视觉系统在识别物体和确定边界时,通过眼球中对物体中心感应最敏锐的中央凹(Fovea)结构确定物体位置
  • 提出了:预测对象中心区域可能存在的位置以及每个有效位置的边界框,目标中央凹(fovea)只编码目标对象存在的概率,为确定位置,模型要预测每个潜在实例的边界框
    在这里插入图片描述
    网络结构
  • 本文证明了:FoveaBox借鉴语义分割思想,对物体上的每个点都预测一个分类结果,物体边框通过预测偏移量得到

推荐商汤和香港中文开源的 mmdetection 目标检测工具箱,这也是很多目标检测竞赛首选框架,当前版本也包含了fcos、foveabox配置模块。

八、CVPR 2019《Feature Selective Anchor-Free Module for Single-Shot Object Detection》
  • 针对:模型自动学习选择合适的feature去做预测
  • 提出了:FSAF模块
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 本文证明了:自动选择最佳feature的目的,由各个feature level共同决定,计算focal loss和IoU loss的和选择loss和最小的特征层学习。
九、2019.11《SAPD:Soft Anchor-Point Object Detection》
  • 针对:为anchor-free检测器寻找FPS和mAP的trade-off

  • 提出了:1.如何使目标检测的head更好;2.如何更好地利用特征金字塔的特征
    在这里插入图片描述
    在这里插入图片描述

  • 本文证明了:针对以上问题(注意力偏差attention bais和特征选择)提出一新的训练策略来解决这些问题,该策略有两种soften优化方法:soft-weighted anchor points和soft-selected pyramid levels

  • 基于关键点估计的目标检测方法总结
    相同点:CornerNet、CenterNet、ExtremeNet对Ground Truth都定义为关键点,区别在于:
    1.CornerNet将bbox的两个角点作为关键点
    2.ExtremeNet检测所有目标的四个极值点(最顶部、最左侧、最底部、最右侧)和一个中心点;均需经一关键点grouping阶段,降低算法速度
    3.CenterNet仅提取目标中心点,无需对关键点进行grouping或后处理。

  • FCOS、FSAF、FoveaBox方法总结
    相同点:都利用FPN进行多尺度目标检测;都将分类和回归解耦成两个子网络来处理;都是通过密集预测进行分类和回归的
    不同点:FSAF和FCOS的回归预测的是到4个边界的距离,而FoveaBox的回归预测的是一个坐标转换
    FSAF通过在线特征选择的方式,选择更加合适的特征来提升性能;FCOS通过center-ness分支剔除掉低质量bbox来提升性能;FoveaBox通过只预测目标中心区域来提升性能。

二、说明

  • 博客内容只是总结每篇论文的主要创新点,针对什么问题,提出了什么方法,没有翻译论文,也没有详细阐述论文中提出的网络结构,实验方法。原因在于:网上有很多关于各种论文的详细翻译、理解,但读者很难集中时间去消化理解每一篇论文内容,往往都是看完一篇过几天就忘记了,所以本文采用这种总结方式,简洁明了,使其对基于Anchor-Free的目标检测网络有一整体的认识。
  • 以上内容均基于本人看论文的理解,可能在某些总结上存在错误或者理解不够,恳请大家能在留言提出来,我会及时修改,我希望通过写博客的方式,加深对论文的理解,并期望得到提高,谢谢大家!

http://chatgpt.dhexx.cn/article/u3sU1XhU.shtml

相关文章

本科毕业论文内容必须有国内外文献综述吗?

不知不觉间整个暑假变过去了&#xff0c;现在大部分的大学生都已经开学了。2023届毕业的学生现在也开始借鉴毕业论文的选题工作。但是无论是现在正在选题的大四的同学们还是还在上大一大&#xff0c;二大三的同学们都对毕业论文这4个字有着天生的恐惧感。因为对于大多数人来说&…

OCR论文综述(含文字识别、文本检测、端到端和数据集合)

OCR综述概览 主要分为四个部分 文字识别、文本检测、端到端文字识别和数据集的介绍 1. 文字识别 指标为f1-score Conf.NetTitleSVTIIIT5KICDAR13TPAMI2015CRNNAn end-to-end trainable neural network for image-based sequencerecognition and its application to scene t…

医学诊断报告生成论文综述

摘要 由Image/Video Captioning、VQA等图像理解任务的不断往前发展&#xff0c;以及目前智能医疗的兴起&#xff0c;有些学者自然而然地想到图像理解是否可以应用到医学领域&#xff0c;因此根据CT、核磁等图像自动生成诊断报告(病例)&#xff0c;这个任务被提了出来。 2018年…

目标检测论文综述(三)One-Stage(YOLO系列)

一、CNN based One-Stage Detectors 所有论文综述均保持如下格式&#xff1a; 1、一页PPT内容总结一篇论文 2、标题格式一致&#xff1a;出处 年份 《标题》 3、内容格式一致&#xff1a;针对XX问题&#xff1b;提出了XX方法&#xff1b;本文证明了XXX 4、把握核心创新点&…

【半监督论文综述】A survey on semi-supervised learning

下载 半监督学习 1. 半监督学习1.1 三个假设1.1.1 平滑假设1.1.2 低密度假设1.1.3 流形假设1.1.4 聚类假设 1.2. 评估半监督学习算法 2. 半监督学习算法分类2.1 Inductive methods2.1.1. Wrapper methods2.1.1.1 Self-training2.1.1.2 Co-Training2.1.1.2.1 Multi-view co-tra…

综述类论文怎么写?

综述类论文的关键点在于必须要有一个明确有效的叙述结构。严格来说&#xff0c;这类文章并没有固定的结构安排要求&#xff0c;但一个科学有效的叙述结构不仅会让作者的表达逻辑更为清晰和条理&#xff0c;还能帮助读者减少阅读困难&#xff0c;提高阅读效率&#xff0c;对论述…

视频理解论文综述

A Comprehensive Study of Deep Video Action Recognition TSN网络是一个很经典的网络&#xff0c;如果不知道的自己查... 基于TSN的改进论文分了三大类&#xff1a; 其他资料&#xff1a; Temporal Segment Network TSN提出的背景是当时业界做动作识别都是用 Two-stream …

毕业论文第一步--如何快速写出让人眼前一亮的文献综述论文(citspace)

一、文献综述是什么&#xff1f; 文献综述简称综述&#xff0c;是对某一领域&#xff0c;某一专业或某一方面的课题、问题或研究专题搜集大量相关资料&#xff0c;然后通过阅读、分析、提炼、整理当前课题、问题或研究专题的最新进展、学术见解或建议&#xff0c;对其做出综合性…

论文综述是写什么?

各位客官&#xff0c;走过路过不要错过&#xff0c;现在的你可能是一名刚步入大学的论文新手&#xff0c;也可能是一名刚上大四的学生&#xff0c;正准备开始写毕业论文。那么这篇文章我来给大家讲讲论文的综述是究竟是要写什么&#xff0c;为什么说文献综述奠定了一篇论文的优…

Matlab初始化太慢及相应的设置方法

前几天装的MATLAB2017&#xff0c;但是初始化太慢的问题一直没解决&#xff0c;如下&#xff1a; 等4-5分钟才就绪&#xff0c;真的很浪费时间&#xff0c;然后百度别人的解决方案&#xff0c;看到网上很多是文字描述&#xff0c;实践的截图都没几个&#xff08;本人喜欢图文解…

matlab四维插值程序,matlab练习程序(向量插值)

有两个向量,我们想从起始向量平滑的过度到终止向量,那么中间的向量就可以通过插值的方式得到。 这在图形学中图形旋转或者机器人中物体姿态旋转都可以用到。 有三种方法:Lerp,NLerp和SLerp。 Lerp为线性插值,公式如下: NLerp为线性插值后归一化,公式如下: SLerp为球面插…

MATLAB程序设计

文章目录 1 程序基础2 数据类型和运算2.1 常量和变量2.2 数值数据2.3 字符数据2.4 逻辑数据类型2.5 日期和时间2.6 单元数组和结构体 3 数组与矩阵3.1创建数组3.2 数组运算3.3 数组处理函数3.3.1 zero/ones函数3.3.2 size/length函数3.3.3 max/min函数3.3.4 isempty函数3.3.5 u…

matlab-m脚本调用simulink无法运行的原因(本身设置了初始化函数

matlab-m脚本调用simulink无法运行的原因&#xff08;本身设置了初始化函数&#xff09; 最近从MATLAB中调用simulink模块老是不成功一直提示如下错误&#xff1a; 该错误的意思是&#xff0c;在运行PosControl这个模块之前&#xff0c;它本身还会运行自己设置的初始化函数In…

Isight与MATLAB联合仿真时出现:无法定位或初始化类(unsupported major minor version 52.0)

文章目录 一、报错页面二、解决方法三、仿真示例四、运行注意事项 一、报错页面 Isight 调用MATLAB的时候&#xff0c;MATLAB页面报错&#xff0c;出现如下页面&#xff1a; 二、解决方法 解决方法如下&#xff1a; 双击malab组件 1.选择options 2.Drive Matlab with Jav…

VS2019调用Matlab2019b生成的dll时初始化异常

VS2019调用matlab动态链接库遇到的问题 在Visual Studio中使用C调用Matlab程序VS与MATLAB版本选择VS与MATLAB混编的环境配置初始化异常的解决0xc0000005处理Debug错误&#xff1a;xsd_binder::MalformedDocumentError 在Visual Studio中使用C调用Matlab程序 我目前在写一个用V…

MATLAB一直显示“正忙”或“初始化”

解决方案 1 MATLAB 在启动时&#xff0c;一直停留在“正在初始化”的状态&#xff0c;有可能是因为 MATLAB 一直在找着本机的许可证。 有可能是设置了 LM_LICENSE_FILE 的环境变量。这个变量告诉 MATLAB 或者其他应用程序去哪里查找许可证文件。如果您有一个网络许可证&#xf…

C++和MATLAB混合编程——初始化mwArray失败解决方法!

首先&#xff0c;按这样设置&#xff0c; [填坑]VS2017与MATLAB2016b混合编程&#xff08;生成dll方式&#xff09;_清凉简装的博客-CSDN博客_matlab生成dllMATLAB 生成 dll 前的工作1、配置MATLAB环境控制面板->所有控制面板项->系统->高级系统设置->高级->环…

MATLAB打开后一直在初始化,或者初始化很慢问题

问题描述&#xff1a;遇到MATLAB启动较慢&#xff0c;进入主界面后&#xff0c;一直停留在“正在初始化”的状态。浪费很多时间。这种问题大多是因为MATLAB软件在启动时寻找本机的许可证或者是设置了 LM_LICENSE_FILE 的环境变量。这个变量告诉 MATLAB 或者其他应用程序去哪里查…

解决MATLAB一直初始化,加速MATLAB

之前&#xff0c;在做课设时&#xff0c;遇到MATLAB启动较慢&#xff0c;进入主界面后&#xff0c;一直停留在“正在初始化”的状态。浪费很多时间。逛了逛MATLAB中文社区&#xff0c;发现这种问题大多是因为MATLAB软件在启动时寻找本机的许可证或者是设置了 LM_LICENSE_FILE 的…

QT和matlab混合编程以及maltab程序化初始化失败

一. 内容简介 需要用QT调用matlab代码完成计算&#xff0c;并获取计算结果。 二. 软件环境 2.1QT 5.14.1 新版QT6.4,&#xff0c;6.5在线安装经常失败&#xff0c;而5.9版本又无法编译64位程序&#xff0c;所以就采用5.14.1这个用的比较多也比较稳定的一个版本。 QT编译器…