目标检测20年(四)——最终章

news2025/4/1 11:52:56

欢迎各位读者尽情阅读前三篇文献解读。这一篇将会介绍文献的第五部分:目标检测近些年的新技术发展以及第六部分:总结与未来展望。这也是本篇论文解读的最后一篇文章。


目录

五、目标检测最新进展

5.1 不采用滑动窗口的检测

5.2 旋转和尺度变化的鲁棒性检测

5.2.1 旋转鲁棒性检测

5.2.2 尺度鲁棒性检测

5.2.2.1 尺度自适应训练

5.2.2.2 尺度自适应检测

5.3 更好的骨干网络检测

5.4 定位增强

5.4.1 边界框改进

5.4.2 全新精确定位损失函数

5.5 语义损失学习

5.6 对抗性训练

5.7 弱监督目标检测

5.8 域自适应检测

六、结论和未来方向


五、目标检测最新进展

过去二十年,新技术的出现对目标检测产生了巨大的影响,但基本原理核底层逻辑基本不变。本节将会关注近年来短时间内的最新算法,帮助读者理解目标检测。一些是之前介绍过的技术扩展,一些是混合概念的新交叉。

5.1 不采用滑动窗口的检测

由于图像目标可以由真实框左上和右下角唯一确定,因此目标检测可以等价为定位成对关键点问题。最近这样的想法是以预测边角热图实现。还有些方法也遵循这个思路,利用更多关键点(角落和中心点,极值点和中心点,代表性点)以获得更好的性能。另一种范式则是将目标视为一个/多个点,并直接预测目标属性(如宽、高等),而不进行分组。这种方法的优势就是其能够在语义分割框架下实现,而不需要设计多尺度的锚框。另外,DETR将目标检测视为集合预测,实现在基于参考的框架中完全解放。

5.2 旋转和尺度变化的鲁棒性检测

5.2.1 旋转鲁棒性检测

目标旋转在人脸检测、文本检测和遥感目标检测中很常见,最直接的解决方案就是数据增强。这样任何方向的目标都可以被增强的数据分布完美覆盖。亦或者为每个方向都单独训练独立的检测器。最近流行一种设计旋转不变的损失函数,增加对检测损失的约束,使旋转对象的特征保持不变。还有种解决方法是学习候选对象中的几何变换。两阶段检测器中,RoI池化旨在为任意位置和大小的目标建议提取固定长度特征表示。由于特征池化通常在直角坐标系下进行,旋转变换也不具有不变性。还有种方法是在极坐标中执行RoI池化,使特征对旋转变化具有鲁棒性。

5.2.2 尺度鲁棒性检测

最近对训练和检测阶段尺度鲁棒性检测进行了研究。

5.2.2.1 尺度自适应训练

现代检测器通常将输入图像重新缩放至固定大小,并在所有尺度上反向传播目标的损失。这样会导致“尺度不平衡”的问题。构建图像金字塔可以缓解该问题,但无法从根源解决。最近有人提出图像金字塔尺度归一化,在训练和检测阶段都构建图像金字塔,并且只反向传播一些特定尺度损失,如下图所示:

有人提出更有效的策略:SNIP with efficient Resampling(SNIPER),将图像裁剪并重新缩放到一组子区域,以便从大批量训练中受益。

5.2.2.2 尺度自适应检测

基于CNN的检测器,锚点大小和横纵比通常经过精心设计的。缺点就是配置不能适应意外的尺寸变化。为了提高对小目标检测,一些研究提出“自适应放大”技术,小目标自适应放大为“较大目标”。另一种改进则是预测图像目标比例分布,根据预测自适应重新缩放图像。

5.3 更好的骨干网络检测

检测器准确性和速度很大程度上取决于特征提取网络,即骨干网络(backbone),例如现有的ResNet、CSPNet、Hourglass和Swin Transformer。下图展示三种著名检测器精度:

上图展示的是Faster RCNN、R-FCN和SSD都分别在不同主干网络上的精度和平均精度。目标检测最近受益于Transformer强大的特征提取能力。coco数据集上,排名前十的检测方法都是基于Transformer的,其于cnn的性能差距逐渐变大。

5.4 定位增强

为提高定位精度,最近检测器有两种方法:

  1. 边界框改进
  2. 新的精确定位损失函数

5.4.1 边界框改进

最直观的方法就是边界框细化,即检测结果的后处理。最近有种方法就是迭代将检测结果输入到边界框回归器中,直到预测收敛到正确位置和大小。也有学者认为该方法不能保证定位精度单调性,多次细化可能会使定位退化。

5.4.2 全新精确定位损失函数

大多数目标检测器重,目标定位被视作一个坐标回归问题。然而,范式的缺点显而易见。回归损失并不对应定位的最终评估,特别是一些宽高比非常大的目标。其次,传统边界框回归方法没有提高定位置信度。多个边界框相互重叠时,可能导致非极大值抑制失败。可以设计新的损失函数缓解,例如直接使用IoU作为定位损失。也有人尝试在概率推理框架下改进定位,该方法直接预测边界框位置概率分布。

5.5 语义损失学习

计算机视觉的两个基本任务就是目标检测和语义分割。研究表明,目标检测可以通过学习语义分割损失进行改进。最简单的方法就是将分割网络视为固定的特征检测器,并视作辅助特征集成到检测器中。这种方法容易实现但分割网络会增加计算量。或者在原始检测器上引入额外的分割分支,使用更多多任务损失函数训练模型。这种方法可以实现分割,brunch将在推理阶段删除,检测速度不会受到影响。然而,训练需要像素级的图像注释。

5.6 对抗性训练

生成式对抗网络(Generative Adversarial Networks,GAN)于2014年提出,在图像生成、图像风格转移和图像超分辨率等任务中得到关注。这几年也被用于目标检测中,提高对小目标和遮挡目标的检测。对于小目标,GAN可以缩小大小物体之间的表示来增强小目标特征。有人想通过使用对抗性训练生成遮挡面具提高遮挡物体检测,对抗网络不是在像素空间中生成样本,而是直接修改特征来模拟遮挡。

5.7 弱监督目标检测

训练基于深度学习的目标检测器通常需要大量手动标记的数据。弱监督目标检测(WSOD)旨在通过仅使用图像级注释而不是边界框训练检测器来减轻对数据注释的依赖。多实例学习是一组监督学习算法,在WSOD中得到了广泛的应用。与使用一组单独标记的实例学习不同,多实例学习模型接收一组标记的包,每个包包含许多实例。如果我们将图像中的候选对象视为包,将图像级注释视为标签,则WSOD可以被表述为一个多实例学习过程。类激活映射是WSOD的另一组最新方法。对CNN可视化的研究表明,尽管CNN的卷积层没有对目标的位置进行监督,但其表现为目标检测器。类激活映射揭示了如何使CNN具有本地化能力,尽管是在图像级标签上进行训练。除了上述方法外,还有一些研究者认为WSOD是一种建议排序过程,通过选择信息量最大的区域,然后用图像级标注对这些区域进行训练。其他一些研究人员建议掩盖图像的不同部分。如果检测分数急剧下降,则被屏蔽区域有可能含有高概率的目标。最近,生成对抗训练也被用于WSOD。

5.8 域自适应检测

大多数目标检测器的训练过程本质上可以看作是在独立同分布数据假设下的似然估计过程。非id目标检测。数据,特别是对于一些现实世界的应用程序,仍然是一个挑战。除了收集更多的数据或应用适当的数据扩展之外,领域适应还提供了缩小领域之间差距的可能性。为了获得域不变的特征表示,已经在图像、类别或对象级别探索了特征正则化和基于对抗训练的方法。循环一致变换也被用于弥合源域和目标域之间的差距。其他一些方法也结合了这两种思想,以获得更好的性能。

六、结论和未来方向

在过去的20年中,目标检测取得了令人瞩目的成就。本文对20多年来的一些里程碑检测器、关键技术、加速方法、数据集和指标进行了综述。一些有希望的未来方向可能包括但不限于以下方面,以帮助读者获得超越上述方案的更多见解。

轻量级目标检测:轻量级目标检测旨在加快检测推理,以便在低功耗边缘设备上运行。一些重要的应用包括移动增强现实、自动驾驶、智慧城市、智能摄像头、人脸验证等。虽然近年来已经做出了很大的努力,但机器与人眼的速度差距仍然很大,特别是在检测一些小物体或检测多源信息时。

端到端目标检测:虽然已经开发了一些方法,使用一对一的标签分配训练,以完全端到端方式(网络中的图像到盒子)检测目标,但大多数仍然使用一对多的标签分配方法,其中非最大抑制操作单独设计。未来对该主题的研究可能集中在设计端到端管道,以保持高检测精度和效率。

小目标检测:在大场景中检测小物体一直是一个挑战。该研究方向的一些潜在应用包括计算人群或露天动物的数量以及从卫星图像中探测军事目标。一些进一步的方向可能包括视觉注意机制的整合和高分辨率轻量级网络的设计。

3D目标检测:尽管最近在2d目标检测方面取得了进展,但自动驾驶等应用仍依赖于获取物体在3D世界中的位置和姿态。未来的目标检测将在3D世界和多源、多视角数据(如RGB图像和来自多个传感器的3D激光雷达点)的利用中受到更多关注。

视频中的检测:高清视频中的实时目标检测/跟踪对视频监控和自动驾驶至关重要。传统的目标检测器通常被设计为基于图像的检测,而忽略了视频帧之间的相关性。通过探索计算限制下的时空相关性来改进检测是一个重要的研究方向

跨模态检测:多源/模态数据的目标检测,如RGB-D图像、激光雷达、流、声音、文本、视频等,对于像人类感知一样更精确的检测系统至关重要。一些悬而未决的问题包括:如何将训练有素的检测器移植到不同的数据模式中,如何进行信息融合以改进检测等

面向开放世界检测:域外泛化、零样本学习检测和增量检测是目标检测领域的新兴课题。他们中的大多数人想出了减少灾难性遗忘或利用补充信息的方法。人类有一种本能,能在环境中发现未知类别的物体。当给出相应的知识(标签)时,人类会从中学习新的知识,并保持模式。然而,目前的目标检测算法难以掌握未知类别目标的检测能力。开放世界中的目标检测旨在发现未明确给出或部分给出监督信号时未知类别的物体,这在机器人和自动驾驶等应用中具有很大的前景。

站在技术发展的高速公路上,我们相信本文将帮助读者建立一个完整的目标检测路线图,并找到这个快速发展的研究领域的未来方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2322677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】POSIX信号量与基于环形队列的生产消费者模型

目录 一、POSIX信号量: 接口: 二、基于环形队列的生产消费者模型 环形队列: 单生产单消费实现代码: RingQueue.hpp: main.cc: 多生产多消费实现代码: RingQueue.hpp: main.…

Spring Boot 连接 MySQL 配置参数详解

Spring Boot 连接 MySQL 配置参数详解 前言参数及含义常用参数及讲解和示例useUnicode 参数说明: 完整配置示例注意事项 前言 在 Spring Boot 中使用 Druid 连接池配置 MySQL 数据库连接时,URL 中 ? 后面的参数用于指定连接的各种属性。以下是常见参数…

[linux] linux基本指令 + shell + 文件权限

目录 1. Linux的认识 1.1. Linux的应用场景 1.2. Linux的版本问题 1.3. 操作系统的认识 1.4. 常用快捷键 2. 常用指令介绍 2.1. ADD 2.1.1. touch [file] 2.1.1.1. 文件的属性信息 2.1.2. mkdir [directory] 2.1.3. cp [file/directory] 2.1.4. echo [file] 2.1.4.…

Python实现小红书app版爬虫

简介:由于数据需求的日益增大,小红书网页版已经不能满足我们日常工作的需求,为此,小编特地开发了小红书手机版算法,方便大家获取更多的数据,提升工作效率。 手机版接口主要包括:搜素&#xff0…

【docker】docker-compose安装RabbitMQ

docker-compose安装RabbitMQ 1、配置docker-compose.yml文件(docker容器里面的目录请勿修改)2、启动mq3、访问mq4、查看服务器映射目录5、踩坑5.1、权限不足 1、配置docker-compose.yml文件(docker容器里面的目录请勿修改) versi…

playwright-go实战:自动化登录测试

1.新建项目 打开Goland新建项目playwright-go-demo 项目初始化完成后打开终端输入命令: #安装项目依赖 go get -u github.com/playwright-community/playwright-go #安装浏览器 go run github.com/playwright-community/playwright-go/cmd/playwrightlatest insta…

LeetCode hot 100 每日一题(13)——73. 矩阵置零

这是一道难度为中等的题目&#xff0c;让我们来看看题目描述&#xff1a; 给定一个 _m_ x _n_ 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 提示&#xff1a; m matrix.lengthn matrix[0].length1 < m, n …

Unity URP自定义Shader支持RenderLayer

前言&#xff1a; 当我们想用一个灯光只对特定的物体造成影响&#xff0c;而不对其余物体造成影响时&#xff0c;我们就需要设置相对应的LightLayer&#xff0c;但是这在URP12.0是存在的&#xff0c;在之后就不存在LightLayer这一功能&#xff0c;URP将其隐藏而改成了RenderLa…

Axure项目实战:智慧城市APP(完整交互汇总版)

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;智慧城市APP 主要内容&#xff1a;主功能&#xff08;社保查询、医疗信息、公交查询等&#xff09;、活动、消息、我的页面汇总 应用场景&#xff…

架构思维:预约抢茅子架构设计

文章目录 案例&#xff1a;预约抢茅子复杂度分析商品预约阶段等待抢购阶段商品抢购阶段订单支付阶段 技术方案商品预约阶段一、基于 Redis 单节点的分布式锁方案1. 核心流程2. 关键设计点 二、Redis 单节点方案的局限性1. 单点故障风险2. 主从切换问题 三、多节点 Redis 实现高…

基于SpringBoot+Vue的在教务管理(课程管理)系统+LW示例

1.项目介绍 系统角色&#xff1a;管理员、学生、教师功能模块&#xff1a;管理员&#xff08;学院管理、专业管理、班级管理、学生管理、教师管理、课程管理、选课修改&#xff09;、教师&#xff08;授课查询、教师课表、成绩录入&#xff09;、学生&#xff08;选修课程、学…

ubuntu桌面图标异常——主目录下的所有文件(如文档、下载等)全部显示在桌面

ubuntu桌面图标异常 问题现象问题根源系统级解决方案方法一:全局修改(推荐多用户环境)方法二:单用户修改(推荐个人环境)操作验证与调试避坑指南扩展知识参考文档问题现象 主目录文件异常显示 用户主目录(如/home/user/)下的所有文件(如文档、下载等)全部显示在桌面,…

sql结尾加刷题

找了一下mysql对extractvalue()、updatexml()函数的官方介绍https://dev.mysql.com/doc/refman/5.7/en/xml-functions.html#function_extractvalue ExtractValue(xml_frag, xpath_expr) 知识点 解释一下这两个参数xml_frag&#xff0c;是xml标记片段&#xff0c;第二个参数…

Linux学习笔记(应用篇三)

基于I.MX6ULL-MINI开发板 LED学习GPIO应用编程输入设备 开发板中所有的设备&#xff08;对象&#xff09;都会在/sys/devices 体现出来&#xff0c;是 sysfs 文件系统中最重要的目录结构 /sys下的子目录说明/sys/devices这是系统中所有设备存放的目录&#xff0c;也就是系统中…

【redis】事务详解,相关命令multi、exec、discard 与 watch 的原理

文章目录 什么是事务原子性一致性持久性隔离性 优势与 MySQL 对比用处 事务相关命令开启事务——MULTI执行事务——EXEC放弃当前事务——DISCARD监控某个 key——WATCH作用场景使用方法实现原理 事务总结 什么是事务 MySQL 事务&#xff1a; 原子性&#xff1a;把多个操作&am…

数据库基础知识点(系列七)

视图和索引相关的语句 1&#xff0e;引入视图的主要目的是什么? 答&#xff1a;数据库的基本表是按照数据库设计人员的观点设计的&#xff0c;并不一定符合用户的需求。SQL Server 2008可以根据用户需求重新定义表的数据结构&#xff0c;这种数据结构就是视图。视图是关系数据…

3.3 Taylor公式

1.定义 1.1 taylor公式 1.2 麦克劳林公式 1.3 推论 1.4 拉格朗日余项和皮亚诺型余项 2. 例题 3.几种特殊函数的麦克劳林展开

2000-2019年各省地方财政行政事业性收费收入数据

2000-2019年各省地方财政行政事业性收费收入数据 1、时间&#xff1a;2000-2019年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;行政区划代码、地区、年份、地方财政行政事业性收费收入 4、范围&#xff1a;31省 5、指标说明&#xff1a;地方财政行政事业…

Ftrans飞驰云联受邀参加“2025汽车零部件CIO年会“并荣获智象奖

2025年3月6日&#xff0c;由栖观汽车、栖观资讯和飞羽商务主办的“2025第二届中国汽车&零部件CIO年会暨智象奖颁奖盛典”于上海盛大召开&#xff0c;Ftrans飞驰云联作为国内领先的企业文件传输与数据交换解决方案提供商&#xff0c;受邀出席了年会&#xff0c;并凭借卓越的…

oracle查询归档日志使用量

1.统计最近30天的数据 SELECT TRUNC(first_time, DD) "日期", SUM(blocks * block_size) / 1024 / 1024 / 1024 "大小(GB)" FROM v$archived_log WHERE first_time > SYSDATE - 30 -- 统计最近30天的数据 GROUP BY TRUNC(first_time, DD) ORDER BY 1 D…