特征融合(三):MLFPN-M2det多级特征金字塔网络

news2024/11/27 17:53:53

图片

图像处理中,融合不同尺度的特征是提高图像效果的重要手段,在卷积中:
浅层特征:浅层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。
高层特征:高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。
如何将两者高效融合,是改善模型的关键。

图片

MLFPN

论文地址

https://arxiv.org/abs/1811.04533

代码地址

https://github.com/qijiezhao/M2Det

之前的特征金字塔目标检测网络共有的两个问题是:
1、原本 backbone 是用于目标分类的网络,导致用于目标检测的语义特征不足;
2、每个用于目标检测的特征层主要或者仅仅是由单级特征层(single-level layers)构成,也就是仅仅包含单级信息;这种思想导致一个严重的问题,对分类子网络来说更深层更容易区分,对定位的回归任务来说使用更浅层比较好。此外,浅层特征更适合描述具有简单外观的目标,而深层特征更适合描述具有复杂外观的目标。在实际中,具有相似大小目标实例的外观可能非常不同。例如一个交通灯和一个远距离的人可能具有可以比较的尺寸,但是人的外表更加复杂。因此,金字塔中的每个特征图主要或者仅仅由单层特征构成可能会导致次优的检测性能。

为了更好地解决目标检测中尺度变化带来的问题,M2det提出一种更有效的特征金字塔结构MLFPN,其大致流程如下图所示:首先,对主干网络提取到的特征进行融合;然后通过TUM和FFM提取更有代表性的Multi-level&Mutli-scale特征;最后通过SFAM融合多级特征,得到多级特征金字塔用于最终阶段的预测。M2Det使用主干网络+MLFPN来提取图像特征,然后采用类似SSD的方式预测密集的包围框和类别得分,通过NMS得到最后的检测结果。

图片

MLFPN主要有3个模块组成:
1)特征融合模块FFM;
2)细化U型模块TUM;
3)尺度特征聚合模块SFAM。

✅首先,FFM1对主干网络提取到的浅层和深层特征进行融合,得到base feature;
✅其次,堆叠多个TUM和FFMv2,每个TUM可以产生多个不同scale的feature map,每个FFMv2融合base feature和上一个TUM的输出,并给到下一个TUM作为输入(更高level)。
✅最后,SFAM通过scale-wise拼接和channel-wise attention来聚合multi-level&multi-scale的特征。

01特征融合模块FFM

FFM用于融合M2Det中不同级别的特征,先通过1x1卷积压缩通道数,再进行拼接。

图片

FFM1 用于融合深层和和浅层特征,为 MLFPN 提供基本输入的特征层(Base Feature);由于 M2Det 使用了 VGG 作为 backbone,因此 FFM1 取出了 Conv4_3 和 Conv5_3 作为输入:FFM1使用两种不同scale的feature map作为输入,所以在拼接操作之前加入了上采样操作来调整大小;

图片

FFMv2用于融合 MLFPN 的基本输入(Base Feature)和上一个 TUM 模块的输出,两个输入的scale相同,所以比较简单。

图片

02细化U型模块TUM

TUM使用了比FPN和RetinaNet更薄的U型网络。在上采样和元素相加操作之后加上1x1卷积来加强学习能力和保持特征平滑度。TUM中每个解码器的输出共同构成了该TUM的multi-scale输出。每个TUM的输出共同构成了multi-level&multi-scale特征,前面的TUM提供low level feature,后面的TUM提供high level feature。

图片

TUM 的编码器(encoder)使用 3×3 大小、步长为 2 的卷积层进行特征提取,特征图不断缩小;解码器(decoder)同过双线性插值的方法将特征图放大回原大小。

03尺度特征聚合模块SFAM

SFAM旨在聚合TUMs产生的多级多尺度特征,以构造一个多级特征金字塔。在first stage,SFAM沿着channel维度将拥有相同scale的feature map进行拼接,这样得到的每个scale的特征都包含了多个level的信息。然后在second stage,借鉴SENet的思想,加入channel-wise attention,以更好地捕捉有用的特征。SFAM的细节如下图所示:

图片

网络配置

✅M2Det的主干网络采用VGG-16和ResNet-101。
✅MLFPN的默认配置包含有8个TUM,每个TUM包含5个跨步卷积核5个上采样操作,所以每个TUM的输出包含了6个不同scale的特征。
✅在检测阶段,为6组金字塔特征每组后面添加两个卷积层,以分别实现位置回归和分类。
✅后处理阶段,使用soft-NMS来过滤无用的包围框。

注:本文仅用于学术分享,如有侵权,请联系后台作删文处理。

最后:

如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!

5a8015ddde1e41418a38e958eb12ecbd.png

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

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

相关文章

求职者如何提高网申测评通过率?

如果是测评专业知识,这个帮不忙,靠自己了,这说的是素质测评,包括:心理,性格等方面的.....建议多刷刷这方面的题,也花不了多少时间,哪些常用的测评量表,可以多刷几遍。 本…

【年底不想背锅!网络工程师必收藏的排障命令大全】

网络故障排除工具是每个网络工程师的必需品。 为了提升我们的工作效率, 不浪费时间,工具的重要性显而易见 特别是每当添加新的设备或网络发生变更时,新的问题就会出现,而且很难快速确定问题出在哪里。每一位网络工程师或从事网…

Direct3D地形绘制基础

高度图 用高度图来描述地形中的丘陵和山谷,高度图其实就是一个数组,该数组每个元素都指定了地形方格中某一个特定顶点的高度值。通常将高度图视为一个矩阵,这样高度图中的元素就与地形栅格中的顶点一一对应。 高度图被保存在磁盘中,通常为其每个元素元素只分配一个字节存…

爬虫试用 | 京东商品详情搜索采集助手 – 一键批量采集下载商品详情

商品详情页(链接中可获取商品ID) API接口调用代码 Request address: https://api-服务器.cn/jd/item_get/?key【你的key】& &num_iid10335871600&cacheno&&langzh-CN&secret【你的密钥】 点此获取APIkey和secret 响应示例…

【微观经济学】Consumer Theory

1.Preference 1) Preferences assumption a. completeness:对每一个东西都有一个确定的偏好,不能说不确定 b. transitivity c. nonsatiation:more is better 2) Utility function 使用效用函数来刻画消费者的偏好 例如 拿这个效用函数…

web —— html

Web —— css基础 1. HTML2. 基本HTML结构3. HTML常用标签3.1 文本相关标签3.2 HTML图像标签3.3 HTML超链接标签3.4 HTML表,单3.4.1 HTML表格3.4.2 HTML表单,输入框(多选框,单选框)下拉框 3.5 HTML分区标签3.5.1 div标…

音频文件元数据修改:批量操作的技巧和方法

在音乐产业不断发展和数字技术日益成熟的今天,音频文件已经成为我们日常生活中的重要组成部分。在这些文件中,元数据起着至关重要的作用,它不仅提供了关于音频文件的基本信息,如艺术家、歌曲名称、专辑名称等,还为我们…

速学数据结构 | 我不允许还有人不会用栈实现队列!

🎬 鸽芷咕:个人主页 🔥个人专栏:《Linux深造日志》《C干货基地》 ⛺️生活的理想,就是为了理想的生活! 📋 前言 🌈hello! 各位铁铁们大家好啊,不知道大家对栈和队列的学习都学过了吧…

LLM之幻觉(一):大语言模型幻觉解决方案综述

论文题目:《Cognitive Mirage: A Review of Hallucinations in Large Language Models》 ​论文链接:https://arxiv.org/abs/2309.06794v1 论文代码:https://github.com/hongbinye/cognitive-mirage-hallucinations-in-llms 一、幻觉介绍 …

【Python报错合集】Python元组tuple、张量tensor(IndexError、TypeError、RuntimeError……)~持续更新

文章目录 IndexError1. tuple index out of rangea. 示例代码b.报错原因c.解决方案 TypeError1. len() of a 0-d tensora. 示例代码b.报错原因c.解决方案 RuntimeError1. output with shape … doesnt match the broadcast shape …a. 示例代码b.报错原因c.解决方案 2. Cant ca…

【C++干货铺】内存管理new和delete

个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 C语言中动态内存管理方式 malloc/calloc/realloc的区别? C内存管理的方式 内置类型 自定义类型 operator new 和 operator delete 函数 operato…

Premiere Pro 2024 v24.0

adobe Premiere Pro 2024 Mac版发布了吗?无论您是编辑社交媒体视频还是大电影,Premiere Pro 都可以帮助您借助工具精心创作有意义的故事。导入和编辑,添加效果,然后将素材导出到任何目标。无论您要创作什么内容,它都可…

正点原子嵌入式linux驱动开发——Linux 4G通信

前面学习了如何在Linux中使用有线网络或者WIFI,但是使用有线网络或者WIFI有很多限制,因为要布线,即使是WIFI也得先布线,然后再接个无线路由器。有很多场合是不方便布线的,这个时候就是4G大显身手的时候,产品…

mediapipe流水线分析 二

目标检测 Graph 一 流水线上游输入处理 1 TfLiteConverterCalculator 将输入的数据转换成tensorflow api 支持的Tensor TfLiteTensor 并初始化相关输入输出节点 ,该类的业务主要通过 interpreter std::unique_ptrtflite::Interpreter interpreter_ nullptr; 实现…

Ansible入门使用

目录 前言 一、环境概况 修改主机名(可选项) 二、安装部署 1.安装epel扩展源 2.安装Ansible 3.修改Ansible的hosts文件 4.生成密钥 三、Ansible模块使用介绍 Command模块 Shell模块 User模块 Copy模块 File模块 Hostname模块 Yum模块 Se…

windows下mysql5.7.19批处理安装启动修改密码

有时候要在windows下安装mysql,新手一般觉得复杂,要搞命令行。 于是弄了些批处理,win7 64 测试通过, windows server 2012测试通过 mysql5.7.19 x64版本在windows下的一键安装批处理与mysql解压包 1,无需管理员运…

中国人民大学与加拿大女王大学金融硕士——一把开启未来金融世界的金钥匙

在这个日新月异、竞争激烈的时代,每个人都渴望不断提升自我,以应对不断变化的世界。在当今的金融领域,国际化的视野和多元化的知识结构变得越来越重要。如何才能掌握未来世界的金钥匙呢?其实,这把金钥匙并非遥不可及&a…

北斗升级轨道检查,高精度定位确保铁路畅通无阻

北斗升级轨道检查,高精度定位确保铁路畅通无阻 随着科技的发展,北斗卫星系统在各个领域的应用越来越广泛。其中,在铁路轨道检查中,北斗卫星技术的应用不仅能够提高效率,减少人力成本,还能够保障安全&#x…

变压器试验VR虚拟仿真操作培训提升受训者技能水平

VR电气设备安装模拟仿真实训系统是一种利用虚拟现实技术来模拟电气设备安装过程的培训系统。它能够为学员提供一个真实、安全、高效的学习环境,帮助他们更好地掌握电气设备的安装技能。 华锐视点采用VR虚拟现实技术、MR混合现实技术、虚拟仿真技术、三维建模技术、人…

css布局grid-template-columns属性

grid-template-columns属性可以用于创建一个网格布局,以下是使用此属性的步骤: 首先在网格容器上使用 display: grid; 将其转换为网格容器。 然后使用 grid-template-columns 属性来定义列的数量和大小。例如,使用 “grid-template-columns:…