当前位置: 首页 > news >正文

EfficientSAM | 借助MIM机制,MetaAI让SAM更高效!

本文首发:AIWalker

本文介绍了一种名为EfficientSAM的模型,该模型通过利用遮罩图像预训练来提高图像分割的性能。作者使用了一个名为SAMI的方法,通过将SAM图像编码器的特征作为重建目标,从SAM图像编码器中重建特征,从而实现遮罩图像预训练。作者还使用SAMI预训练的轻量级图像编码器构建了EfficientSAM模型,并在SA-1B数据集上进行了验证。实验结果表明,EfficientSAM模型在图像分类、目标检测、实例分割和语义分割等任务中均取得了比其他预训练方法更好的性能。此外,作者还讨论了与遮罩图像预训练相关的方法和应用。

本文方案

  • Cross Attention Decoder 只有遮罩的标记需要通过解码器进行重构,而编码器的输出可以作为重构过程中的锚点。在交叉注意力解码器中,查询来自遮罩标记,键和值则来自编码器中的未遮罩特征和遮罩特征。然后,将来自交叉注意力解码器中遮罩标记的输出特征和来自编码器中未遮罩标记的输出特征进行合并,以生成MAE输出嵌入。最后,将合并后的特征重新排序到输入图像标记的原始位置,得到最终的MAE输出。
  • Linear Projection Head 通过编码器和解码器获取图像输出,然后将特征输入到一个小型项目头(project head)以对齐来自SAM图像编码器的特征。为了简化,作者使用了线性投影头(linear projection head)来解决SAM图像编码器输出和MAE之间特征维度的 mismatch 问题.
  • Reconstruction Loss 在每次训练迭代中,SAMI包括从SAM图像编码器进行的一次前馈特征提取,以及MAE的一次前馈和反向传播过程。通过比较SAM图像编码器和MAE线性投影头的输出,计算重构损失。

  • SAMI for EfficientSAM.在预训练之后,我们的编码器提取各种视觉任务的特征表示,而解码器被丢弃。特别地,为了构建用于分割任何任务的 efficient SAM 模型,我们采用 SAMI 预训练的轻量级编码器(如 ViT-Tiny 和 ViT-Small)作为图像编码器,并使用 SAM 的默认遮罩解码器作为我们的 EfficientSAM 的解码器,如图 2(底部)所示。我们在 SA-1B 数据集上对 EfficientSAM 模型进行微调,以用于分割任何任务。

本文实验

相关文章:

  • 编程笔记 html5cssjs 092 JavaScript 表单控件
  • 防火墙的内容安全
  • 顶顶通呼叫中心中间件-如何使处于机器人话术中的通话手动转接到坐席分机上讲解(mod_cti基于FreeSWITCH)
  • Qt篇——QTableWidget保存表格数据到Excel文件中,读Excel内容到QTableWidget
  • 人工智能之Tensorflow程序结构
  • 信息安全计划
  • hive中如何取交集并集和差集
  • ES项目应用
  • 用html编写的小广告板
  • MongoDB之MongoDBConnectorBI安装与使用
  • 算法【线性表的查找-顺序查找】
  • 4核8g服务器能支持多少人访问?
  • 二次供水物联网:HiWoo Cloud助力城市水务管理升级
  • 七、ChatGPT为什么会被热炒?
  • Elasticsearch从入门到精通-01认识Elasticsearch
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • express如何解决request entity too large问题
  • JavaScript类型识别
  • mysql中InnoDB引擎中页的概念
  • Redux系列x:源码分析
  • STAR法则
  • vue 配置sass、scss全局变量
  • vue2.0项目引入element-ui
  • vue-cli在webpack的配置文件探究
  • 从setTimeout-setInterval看JS线程
  • 大数据与云计算学习:数据分析(二)
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 服务器从安装到部署全过程(二)
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 让你的分享飞起来——极光推出社会化分享组件
  • 数据结构java版之冒泡排序及优化
  • 思否第一天
  • 听说你叫Java(二)–Servlet请求
  • 我是如何设计 Upload 上传组件的
  • 移动端解决方案学习记录
  • 译有关态射的一切
  • 智能合约开发环境搭建及Hello World合约
  • Prometheus VS InfluxDB
  • Python 之网络式编程
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • $$$$GB2312-80区位编码表$$$$
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (三)模仿学习-Action数据的模仿
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • ***利用Ms05002溢出找“肉鸡
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .Net Core和.Net Standard直观理解