多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)...

article/2025/9/29 23:57:40

3866ca24adea4a5badd9a9b1a1352ae9.gif

计算机视觉研究院专栏

作者:Edison_G

深度特征学习方案将重点从具有细节的具体特征转移到具有语义信息的抽象特征。它通过构建多尺度深度特征学习网络 (MDFN) 不仅考虑单个对象和局部上下文,还考虑它们之间的关系。

3318f19acaf9f0806f4fdb7669f98083.png

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

论文获取|回复”MDFN“获取论文

1

前言

目前深度学习用于目标检测已经习以为常。从SSD到Yolo系列,其中:

  • 深层网络的感受野比较大,语义信息表征能力强,但是特征图的分辨率低,几何信息的表征能力弱(空间几何特征细节缺乏);

  • 低层网络的感受野比较小,几何细节信息表征能力强,虽然分辨率高,但是语义信息表征能力弱。

高层的语义信息能够帮助我们准确的检测出目标。

d01da62b686f805311588e1d1b7eac49.png

SSD框架

3c4dbaca94ab8e3ea770eafb49c482c8.png

ASPP网络

9f3fd66b9f43750057e14c4d88dbf789.png

Cascaded

下采样倍数小(一般是浅层)的特征感受野小,适合处理小目标,小尺度特征图(深层)分辨率信息不足不适合小目标。在yolov3中对多尺度检测的理解是,1/32大小的特征图(深层)下采样倍数高,所以具有大的感受野,适合检测大目标的物体,1/8的特征图(较浅层)具有较小的感受野,所以适合检测小目标。FPN中的处理在下面。对于小目标,小尺度feature map无法提供必要的分辨率信息,所以还需结合大尺度的feature map。还有个原因是在深层图做下采样损失过多信息,小目标信息或许已经被忽略。

2

背 景

Feature Extraction

作为许多视觉和多媒体处理任务的基础步骤,特征提取和表示得到了广泛的研究,特别是在网络结构层面,这在深度学习领域引起了很多关注。更深或更广的网络放大了体系结构之间的差异,并在许多计算机视觉应用中充分发挥了提高特征提取能力的作用。skip-connection技术通过在网络的不同层级之间传播信息,缩短它们的连接,在一定程度上解决了梯度消失的问题,这激发了构建更深网络的热点研究,并获得了性能的提升。从5层的LeNet5到16层的VGGNet,再到1000层以上的ResNet,网络的深度急剧增加。ResNet-101显示了其在特征提取和表示方面的优势,尤其是在用作对象检测任务的基础网络时。许多研究人员试图用ResNet-101替换基础网络。 

3c6a09552580efe5cdb9e2183af4a1bb.png

SSD在PASCAL VOC2007上使用Residual-101取得了更好的性能。RRC采用ResNet作为其预训练的基础网络,并通过提出的循环滚动卷积架构产生了具有竞争力的检测精度。然而,SSD通过将VGG-16替换为Residual-101,对于mAP仅获得1%的提升,而其检测速度从19 FPS下降到6.6 FPS,几乎下降了3倍。VGG网络在ImageNet Large Scale Visual Recognition Challenge(ILSVRC) 2014中获得第二名。它浅薄,只有16层,是另一个广泛使用的基础网络。它的优势在于提供了精度和运行速度之间的权衡。SSD通过将VGG-16作为特征提取器与端到端网络结构中提出的多目标检测器相结合,实现了最佳的总体性能。

87f3a0436f4cfbb7aa335e5bdcacc719.png

如上图所示,深度特征图上的多尺度感受野将激活对象的语义和上下文信息。红色、黄色、蓝色和绿色分量代表四种尺寸的过滤器,分别对应不同的对象表达。例如,红色的往往只对中间的红色车辆敏感,而黄色和蓝色的也可能覆盖周围的小型汽车,这是由于不同目标汽车之间相关性的语义表达。绿色的激活范围最大,它不仅可以检测所有车辆,还可以通过利用对象与其背景之间关系的语义描述来检测道路。这个提取各种语义信息的过程可以在深层实现,其中感受野能够覆盖更大的场景和深层产生的特征图,已经拥有语义表达的抽象能力。

33ed322e09d66954b9330939ecc24714.png

我们发现大多数可用的经典网络都是强大的足够的特征提取,并能够提供必要的细节特征。受这些观察的启发,研究者采用迁移学习模型,并在靠近网络顶部的深层设计了一个高效的多尺度特征提取单元。提取的深层特征信息直接馈送到预测层。

研究者提出了四个inception模块,并在四个连续的深层中incept它们,用于提取上下文信息。这些模块显著扩展了各种特征表达的能力,由此实现了基于深度特征学习的多尺度目标检测器。

Attention to Deep Features

基于随机深度的ResNet通过随机dropping 层来改进深度CNN的训练,这凸显了传播过程中存在大量冗余。 有研究者实验证明,ResNet-101中的大多数梯度仅来自10到34层的深度。另一方面,基于小物体检测依赖于较早层产生的细节信息的论点,许多方法从不同的浅层中提取多尺度信息。虽然实验表明语义特征和目标的上下文也有助于小目标检测以及遮挡检测。DSSD采用反卷积层和skip connections来注入额外的上下文,从而在学习候选区域和池化特征之前增加特征图分辨率。Mask R-CNN添加了从目标的更精细空间布局中提取的掩码输出。它由深度卷积产生的小特征图提供的像素到像素对应关系解决。

3

新框架

a88a161a883c425a2d2bac43471c5fc4.png

假设:

  • 这些特征图应该能够提供更加精确的细节特征,尤其是对于刚开始的浅层较;

  • 转换特征图的功能应扩展到足够深的层,以便可以将目标的高级抽象语义信息构建到特征图中;

  • 特征图应包含适当的上下文信息,以便可以准确推断出被遮挡的目标,小目标,模糊或重叠的目标并对其进行稳健的定位。

因此,浅层和深层的特征对于目标识别和定位起着必不可少的作用。为了有效地利用检测到的特征信息,应考虑另一约束条件,以防止特征被改变或覆盖。

今天内容暂时到这里,下一期我们将带领大家一起对新框架详细分析!

下面我通过一小段视频展示下多尺度深度特征学习的效果,主要基于单分支的YoloV3-Tiny网络,效果如下:

6306f7e311dcca84df908c195099f50e.png

小型的篮球被检测到

bf6d26a052f00377dcac68e6ad375a3b.png

科比投出的篮球被检测到

b74c50c5c4023cfa02b93f434bc39f95.png

观众席的观众的领带被检测到

简单训练后,不同尺寸都是可以检测到,部分错检是因为没有该类型数据,被错检为相似目标

© THE END 

转载请联系本公众号获得授权

98ec38351924527cc15aae40f649a4da.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

ecbad6a02d78f5f80048aa37ff50805d.png

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

  • CVPR21小样本检测:蒸馏&上下文助力小样本检测(代码已开源)

  • 又一个YOLO系列新框架!速度远远高于Yolov4(代码已开源)

  • ICCV2021目标检测:用图特征金字塔提升精度(附论文下载)

  • Pad-YoloV5:在便携终端上实时检测不再是难题

  • ICCV 2021:炼丹师的福音,训练更快收敛的绝佳方案(附源代码)

  • Yolo轻量级网络,超轻算法在各硬件可实现工业级检测效果(附源代码)

  • 不再只有Yolo,现在轻量级检测网络层出不穷(框架解析及部署实践)

  • ICCV2021:阿里达摩院将Transformer应用于目标重识别,效果显著(附源代码)

  • 人脸识别精度提升 | 基于Transformer的人脸识别(附源码)

  • CVPR21目标检测新框架:不再是YOLO,而是只需要一层特征(干货满满,建议收藏)

  • ICCV2021最佳检测之一:视频详细讲解框架及实验分析


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

相关文章

计算机视觉CV领域中多尺度特征的概念

知乎:深度学习中的多尺度模型设计 知乎:计算机视觉中的多尺度模型都有哪些设计? CSDN:多尺度理解 什么是多尺度? 所谓多尺度,实际就是对信号的不同粒度的采样。 通常在不同的尺度下我们可以观察到不同…

收藏吧 少年

程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了。里面40G的资料全部报销了。 为了不再重蹈覆辙,我决定把重要的电子书…

一个程序员的多年珍藏--收藏

2010 - 01 - 15 [置顶] 一个程序员的多年珍藏(1月23日最新更新) 文章分类:Java编程 程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了…

一个程序员多年的收藏

程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了。里面40G的资料全部报销了。 为了不再重蹈覆辙,我决定把重要的电子书都…

转的一杂谈

网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析 文章分类:综合技术 1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现&…

PHP面试题(一)

1.用php打印前一天的时间,格式是2018-01-01 08:00:00? $adate("Y-m-d H:i:s",strtotime("-1 day"));print_r($a) 2.echo、print_r、print、var_dump的区别? echo、print是php语句,var_dump和print_r是函数…

Java高级必备

一、ES篇 1、概述 特点功能场景竞品分析对比 2、基本概念 IK分词器索引(类数据库)映射(类表设计)文档(数据) 3、高级特性 映射高级 地理坐标点数据类型动态映射 DSL高级聚合分析智能搜索 4、实战 写优化读优…

靠着这Java面试210题,成功拿下了10多家国内知名大厂Offer,10万字精华全部分享给大家

写在前面 我坚信,机会永远属于有准备的人,我们与其羡慕他人的成功,不如从此刻起,积累足够多的知识和面试经验,为将来进入更好的公司做好充分的准备! 如何让面试官在短短的几十分钟内认可你的能力? 如何在最短的时间内收获Java技术栈最核心的知识点 这份内容可以算是呕心沥血…

笔记总结备份

目录 文章目录 目录前言版本控制常用git 命令 操作系统系统机器数时间管理早期的 Linux 时间系统 中断内存管理内存分区malloc申请一块内存的背后原理RTOS 系统栈和协议栈寄存器磁盘调度算法虚拟内存页面置换算法分段段页式 Volatile(可见性)Atomic &…

MySQL常见面试题总结

MySQL常见面试题总结5---性能优化 单表优化设计字段索引查询SQL:充分利用索引,减少IO和全表扫描引擎事务锁定表使用外键Java方面 读写分离缓存批量读取和延迟修改分库分表垂直拆分水平拆分表分区 分库分表导致的问题事务一致性问题(见分布式事…

Java并发编程实战_盖兹

文章目录 第一部分 基础知识第1章 简介1.1 并发简史1.2 线程的优势1.3 线程带来的风险1.4 线程无处不在(框架线程或类线程并发注意点) 第2章 线程安全性2.1 什么是线程安全性2.2 原子性2.3 加锁机制内置锁:Synchronized关键字可重入锁:获取锁的操作粒度是…

算法(上)

算法 文章目录 算法1. 数组1. 剑指Offer:数组旋转2. 剑指Offer:调整数组顺序使奇数位于偶数前面3. 剑指Offer: 顺时针打印矩阵4. 剑指Offer: 数组中出现次数超过一半的数字5. 剑指Offer:丑数6. 剑指Offer: 数组中的逆序对7. 剑指O…

面试八股知识总结

问题 序列化变量的声明和定义C语言宏中“#”和“##”区别C中extern "C" 的作用了解C中编译时的优化C的特点是什么C的异常处理机制C和C,java的区别C 11 nullptr 和 NULL#ifdef、#else、#endif和#ifndef的作用C 语言的关键字 static 和 C 的关键字static有什…

数据结构学习笔记(参考书籍:大话数据结构和CSDN)

有些解释内容为搬运,如有侵权,联系删除!!! 数据结构 线性表 顺序存储 优点:无须为表中元素之间的逻辑关系而增加额外的存储空间;可以快速的存取表中任一位置的元素。 缺点:插入…

常用汉字5000个(按拼音)

2019独角兽企业重金招聘Python工程师标准>>> 阿,啊,哀,唉,挨,矮,爱,碍,安,岸,按,案,暗,昂,袄,傲,奥,八,巴,扒, 吧,疤,拔,把,坝,爸,罢,霸,白,百,柏,摆,败,拜,班,般,斑,搬,板,版, 吧,疤,拔,把,坝,爸,罢,霸,白,百,柏,摆,败,拜,班,般,斑,搬,板,版, 办,半,伴,扮,拌,瓣,帮…

3500常用汉字书法体检测数据集

毛笔字数据集已收集 草书30044楷书12900行书29465隶书14001篆书9386 数据集有gif格式和jpg格式,白底黑字,支持向量机可训练 样例展示,一共4.5万张 关注微信公众号:酷尔编程,领取

整理的3500个常用汉字的调用字典

3500个常用汉字的调用字典 下载地址:https://download.csdn.net/download/hj960511/85034461 资源说明: 总数目: 目录截图 实际字典情况: 调用方法: 思路:通过读取文件并转换成数组即可进行调用和输出使用 pyt…

编程 常用3500汉字 常用字符

没有重复字符 最后三个字符是空格回车换行制表符 长度4374 1234567890-*/~!#$%^&&#xffe5;…():"{}[]|\?<>,.;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&#xff1a;。&#xff0c;、&#xff01;&#xff1f;&#xff1b;《》—&#xff08;…

【Java】创建日期对象Date

2019独角兽企业重金招聘Python工程师标准>>> 1. 根据指定格式的日期字符串创建Date对象 /*** 通过字符串创建日期** param dateStr yyyy-MM-dd* return 日期*/public static Date createDateFromString(String dateStr) {SimpleDateFormat format new SimpleDateF…

Python-----定义类对象和创建实例对象

如何定义类对象 定义类对象的语法格式&#xff1a; class 类名(object)# 属性和方法其中&#xff0c; 类名由一个或多个单词组合而成&#xff0c;一般来说建议每个单词的首字母大写且其余字母全部小写&#xff0c;例如&#xff1a; SomeClass。(object)表示该类对象继承自Pytho…