FSOD论文阅读 - 基于卷积和注意力机制的小样本目标检测

来源:知网

标题:基于卷积和注意力机制的小样本目标检测
作者:郭永红,牛海涛,史超,郭铖

郭永红,牛海涛,史超,郭铖.基于卷积和注意力机制的小样本目标检测 [J/OL].兵工学报. https://link.cnki.net/urlid/11.2176.TJ.20231108.1418.002

摘要

  1. 典型的FSOD使用Fast R-CNN作为基本的检测框架
  2. 本文亮点:引入混合扩张卷积确保更大的感受野并减少图像信息的损失;提出支持特征动态融合模块,以每个支持特征和查询特征之间的相关性为权重,自适应地融合支持特征

引言

  1. 早期的FSOD算法遵循元学习范式,首先对训练数据进行采样,然后利用元学习方法训 练FSOD任务的模型,但是元学习器在学习迭代过程中容 易出现非收敛问题(学习算法无法达到一个稳定的解或最优解的状态)
  2. 基于微调的FSOD方法可有效解决非收敛问题(主要是因为这些方法利用了预先训练好的模型和知识,从而在面对有限数据时更有效地学习和适应新任务),基于微调的FSOD方法首先在大 规模基础类数据集上训练检测器,在微调过程中, 主干网络参数可被重用或冻结,而只有Box分类器和回归器是用新数据训练的
  3. Faster R-CNN算法:主要由三部分组成 - 特征提取器、区域候选网络(RPN)和检测头。
  4. Fast R-CNN的工作流程:特征提取器使用卷积神经网络来获得输入图像的feature maps。RPN将feature maps作为输入生成 候选框,并对候选框进行二元分类和粗略回归,将 分类好的候选框映射到feature maps得到感兴趣区域 (RoI)的特征矩阵,发送给后续检测网络,最后由 检测头输出分类和回归的结果
  5. 现有的二阶 段检测算法仍然存在两个明显的缺点。总结就是1、采样过程中的信息丢失. 2、用均值得到的类别融合特征向量会丢失信息
  6. 为解决以上两个问题,文章提出两个方法:1、在主干网络中引入混 合扩张卷积(HDC),以增加感受野. 2、提出了支持特征动态融合(SFDF)模块,使用每个支持特征和查询特征之间的相似性作为权重,动态地融合支持特征,充分利用支持数据

FSOD 任务概述

  1. 一阶段检测算法 - 使用主干网络对图像进行特征提取,直接对特征图像进行分类和回归,例如SSD、YOLO,优点是快,缺点是定位精度低
  2. 二阶段检测算法 - 先找到可能包含目标的RoI,然后对区域进行分类和回归,例如Fast R-CNN,优点是定位精度高,缺点是慢
  3. 综上,在做迁移学习的FSOD时,可以考虑使用以上模型做为基准模型,然后魔改模型中的某部分(本文就是这么干的),然后找到一个baseline,做效率对比
  4. 已有算法:Meta R-CNN(基于transformer)、TFA、MPSR、FSCE、CME、DeFRCN(回头可以考虑使用以上算法做为baseline然后魔改自己的模型测试性能提升)

基于卷积和注意力机制网络结构

  1. N-way K-shot: N个类别,每个类别K个样本
  2. 文章的主干网络是ResNet-101,在主干网络中加入HDC(混合扩张卷积模块)和SFDF(支持特征动态融合模块),模型示意图如下:在这里插入图片描述
  3. HDC模块:混合扩张卷积(扩张卷积:在卷积核之间引入空间,扩大卷积覆盖的范围),本文引入了一个(1, 2, 5)的扩张卷积,对比起(2, 2, 2)的扩张卷积来,感受野的范围更大,且保留了图像信息的连续性:在这里插入图片描述
  4. 扩张卷积引入了间隔,那么扩张卷积是如何保证图像信息不丢失的呢? - 卷积在滑动的过程中会走过每个像素:保证参数不变的同时扩大了感受野.
  5. SFDF模块:该模块首先计算查询特征与支持 集中每一类的每个特征之间的相似度,然后将该系数作为权重,对支持集中每一类的每个特征进行加权求和操作,这样生成的支持集特征可以包含对象最有鉴别性的信息

实验

  1. 使用 ImageNet 数据集上预训练 ResNet101 作为原始模型,使用 RoI Align 作为 RoI 特征提 取器

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红海营销时代,内容占位的出海品牌更有机会营销占位

#01 品牌出海:内容占位就是品牌营销占位 红海营销时代,内容信息充斥着用户周边。无论线上还是线下,生活工作、休闲娱乐等不同场景内,广告信息均无孔不入。对于用户来说,能记住的品牌或者商品往往寥寥无几。 占位营销…

IntelliJ IDE 插件开发 |(一)快速入门

前言 IntelliJ IDEA 作为 Java 开发的首选 IDE,其强大、方便之处不必多说。不过,由于个人或者团队的个性化需求,我们或多或少会想对其功能进行拓展,这时就需要开发插件(在 IntelliJ 平台下的所有 IDE 均可运行&#x…

iOS学习 --- Xcode 15 下载iOS_17.0.1_Simulator失败解决方法

1.去开发者官网下载安装包 https://developer.apple.com/download/all/?qiOS%2017 使用浏览器下载。 2.打开终端通过命令添加到xcode 命令如下: sudo xcode-select -s /Applications/Xcode.app(输入开始密码)xcodebuild -runFirstLaunch (等待一小会)xcrun simctl…

微服务测试怎么做

开发团队越来越多地选择微服务架构而不是单体结构,以提高应用程序的敏捷性、可扩展性和可维护性。随着决定切换到模块化软件架构——其中每个服务都是一个独立的单元,具有自己的逻辑和数据库,通过 API 与其他单元通信——需要新的测试策略和新…

一个用于操作Excel文件的.NET开源库

推荐一个高性能、跨平台的操作Excel文件的.NET开源库。 01 项目简介 ClosedXML是一个.NET第三方开源库,支持读取、操作和写入Excel 2007 (.xlsx, .xlsm)文件,是基于OpenXML封装的,让开发人员无需了解OpenXML API底层API&#xf…

学习网络编程No.10【深入学习HTTPS】

引言: 北京时间:2023/11/14/18:45,因为种种原因,上个月的文章昨天才更新,目前处于刷题前夕,算法课在看了。这次和以前不一样,因为以前对知识框架没有很好的理念,并不清楚相关知识要…

【Axure教程】滑动内容选择器

滑动内容选择器通常是一种用户界面组件,允许用户通过滑动手势在一组内容之间进行选择。这种组件可以在移动应用程序或网页中使用,以提供直观的图片选择体验。 那今天就教大家如何用中继器制作一个滑动内容选择器,我们会以滑动选择电影为案例…

【HarmonyOS开发】设备调试避坑指南

备注:通过开发验证,发现每个设备调试都会存在不小的差别,开发验证需要注意~ 1、预览器调试(只能预览具有Entry修饰的文件) 修改文件,预览器将自动刷新 注意:当我们只修改了Component 组件的文件…

【从入门到起飞】JavaSE—带你了解Map,HashMap,TreeMap的使用方法

🎊专栏【Java基础】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The truth that you leave】 🥰欢迎并且感谢大家指出我的问题 文章目录 🌺双列集合的特点🎄Map🍔Ma…

系列九、JUC强大的辅助类

一、CountDownLatch 1.1、概述 让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒 1.2、功能 CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞,其它线程调用countDown方法会将计数器减1(调用countDown方…

机器学习介绍与分类

随着科学技术的不断发展,机器学习作为人工智能领域的重要分支,正逐渐引起广泛的关注和应用。本文将介绍机器学习的基本概念、原理和分类方法,帮助读者更好地理解和应用机器学习技术。 一、机器学习的基本概念 机器学习是一种通过从数据中学…

如何查看 class 文件的编译器版本

文章目录 原理分析解决方案其它解决方案javap 命令行工具 在平时的 Java 开发中,有时候我们需要知道某个 class 文件是由哪个版本的 Java 编译器编译生成的 原理分析 class 文件,即字节码文件,它有特定的二进制格式,这种格式是由…

【自我管理】To-do list已过时?学写Done List培养事业成功感

自我管理:已完成清单(doneList)培养事业成功感 待办事项清单常常让人感到压力山大,让人不想面对工作。但是,你知道吗?除了待办清单之外,还有一个叫做「已完成清单」的东西,它可能更符…

广西柳州机械异形零部件三维扫描3D抄数全尺寸测绘建模-CASAIM中科广电

一、背景介绍 复杂机械异形零部件具有不规则的形状和复杂的结构,给生产制造带来了很大的检测难度。为了确保零部件的制造质量和精度,需要对零部件进行全面的尺寸检测和分析。 CASAIM三维扫描仪在机械异形零部件全尺寸检测应用可以实现对机械异形零部件…

git rebase 和 git merge的区别?以及你对它们的理解?

文章目录 前言是什么分析区别后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:git操作相关 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢…

单链表相关面试题--2.反转一个单链表

/* 解题思路: 此题一般常用的方法有两种,三指针翻转法和头插法 1. 三指针翻转法记录连续的三个节点,原地修改节点指向 2. 头插法每一个节点都进行头插 */ // 三个指针翻转的思想完成逆置 struct ListNode* reverseList(struct ListNode* head…

前端为什么要工程化

前端为什么要工程化 文章目录 前端为什么要工程化传统开发的弊端一个常见的案例更多问题 工程化带来的优势开发层面的优势团队协作的优势统一的项目结构统一的代码风格可复用的模块和组件代码健壮性有保障团队开发效率高 求职竞争上的优势 现在前端的工作与以前的前端开发已经完…

SourceTree修改Git密码

SourceTree用的好好的,无奈公司隔段时间强制更改电脑密码。更改完成后SourceTree无法使用,重新输入密码。VS的nuget也是。查资料虽然也能比较快的解决,但是。。。。在此转载记录下。 1. 找到 SourceTree 配置文件所在目录 ‘userhosts’ 目录…

Python基础:迭代器(Iterators)详解

什么是迭代器? 迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 1. 迭代对象 Python中使用迭代器的地方很多,大多数的容器对象都是可迭代对象&#xff…