Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >EfficientSAM | 借助MIM机制,MetaAI让SAM更高效!

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

作者头像
AIWalker
发布于 2023-12-06 10:32:18
发布于 2023-12-06 10:32:18
8280
举报
文章被收录于专栏:AIWalkerAIWalker

paper:https://arxiv.org/abs/2312.00863

本文介绍了一种名为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 模型进行微调,以用于分割任何任务。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIWalker 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
人人都能学会的python编程教程1:第一行代码
众所周知,现在IT行业很火,行业薪酬也很高,国家在2017年也发布了人工智能教育的推广计划,人人会编程的时代将要到来。不会编程、不懂编程可能有些跟不上时代的节奏,普通人不懂技术也许会觉得这个很难,门槛太高。其实不然,IT行业分很多种类,不同的语言、工种难度也不一样。而python这门语言其实是非常适合没有编程基础的人入门的。在美国,python已经作为小学生学习编程的首选语言,可见其入门难度之低。那么简单容易学是不是就意味着这门语言没什么用处呢?其实恰恰相反,不管是传统的网站开发还是大数据、人工智能算法开发,python都占有非常高的使用率。python是一门简单而且强大的编程语言。掌握了它你可以做IT行业的90%以上的事情,其他行业的人掌握它也可以提高解决问题的效率。
JKXQJ
2018/04/17
1.1K5
人人都能学会的python编程教程1:第一行代码
我用4年时间解决了Python GIL的一个bug...
来源:Python程序员 ID:pythonbuluo 作为Python最关键的组成部分之一:GIL(全局解释器锁),我花了4年时间修复了其中的一个令人讨厌的bug。为了修复这个bug,我不得不深挖Git的历史,才找出26年前Guido van Rossum (龟叔,Python创立者) 所做的一处更改。那个时候,线程还是很深奥的东西。 我的故事是这样的。 由C线程和GIL引发的致命错误 2014年3月,Steve Dower报告了bug bpo-20891。这个bug发生在“C线程”使用Python
小小科
2018/06/20
2.6K0
如何学习Python
Python是什么 ---- Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。(来自百科) Python的由来 ---- Python的创
1846122963
2018/03/09
1.1K0
如何学习Python
带你学python基础:彻彻底底的入门
在我们学习这门语言之前,我们还是先来了解了解这门语言的历史,比如说,其他的语言,像c、c++、Java等,在学习之前,或多或少的我们还是了解了一些这门语言的来龙去脉,这样对于学习这门语言可能没有太大的用处,但是知己知彼,岂不是更好些,所以,首先,我们先来了解一下python语言的简单的历史。
好好学java
2019/07/31
4580
带你学python基础:彻彻底底的入门
Python语言的2017年终总结
在1989年12月,我在寻找一门课余编程项目来打发圣诞节假期。办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX / C程序员会有吸引力。作为一个《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus)的狂热爱好者,于是我选择了 "Python"这个名字作为项目的标题。 Python 创始人吉多·范罗苏姆(Guido van Rossum)因为圣诞节假期太无聊,为了打发这几天的时间,不经意
企鹅号小编
2018/01/26
8640
什么是python
python的创始人为吉多·范罗苏姆(Guido van Rossum),一般叫他 龟叔 。 1989年的圣诞节期间,龟叔为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
py3study
2020/01/09
4110
什么是python
Python之路,Python基础篇(第
一、Python介绍: python的创始人为吉多·范罗苏姆(Guido van Rossum),俗称龟叔。在圣诞节期间为打发无聊而开发得语言。 Python是一门什么语言: Python是一门解释性的语言 Python的优缺点: Python语言,优雅、明确、简单,虽然不如C或JAVA语言快,但并不影响它得正常使用。 Python解释器: Python默认使用的解释器是CPython,C语言开发得。 Python发展史: Python2.x 版本只支持到2020年,Python2.7是个过渡版本,
py3study
2020/01/15
5200
Python从入门到入土-基础知识准备
Python的创始人为 Guido van Rossum,当时他在阿姆斯特丹的荷兰数学和计算机科学研究学会工作。1989年的圣诞节期间,Guido van Rossum为了在打发时间,决心开发一个新的脚本解释编程,作为ABC语言的一种继承,替代使用Unix shell和C语言进行系统管理,担负同Amoeba操作系统(英语:Amoeba (operating system))的交互和异常处理。之所以选中Python作为编程的名字,是因为他是BBC电视剧——《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)的爱好者。
共饮一杯无
2022/11/28
8670
Python从入门到入土-基础知识准备
macOS下安装和运行Python
小王子的Scratch课程快完了,接下来将学习Python,这几天抽时间让他试学了一下Python入门课程。
楚客追梦
2022/11/11
1.1K0
macOS下安装和运行Python
Python基础(一)
一、Python的简介 1、Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。   1.2  python版本   目前Python的主要版本为Python2.7与Python3.6 。   Python2版本到2020年就不再维护。 2、Python是什么样的语言 编程语言主要从以下几个角度
人生不如戏
2018/04/12
1.2K0
Python基础(一)
Python简介与开发环境实践
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。
江小白
2019/05/30
7440
Python基础入门
1. 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。 2. 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。 3. 1994年1月:Python 1.0正式发布。 4. 2000年10月16日:Python 2.0发布,增加了实现完整的[垃圾回收](https://zh.wikipedia.org/wiki/%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8)),提供了对[Unicode](https://zh.wikipedia.org/wiki/Unicode)的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。 5. 2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。
爱喝水的木子
2022/05/11
7910
python安装编译环境详解(Windows)
人生苦短,我学Python,Python语言是目前编程领域的佼佼者,Python的创始人为荷兰程序员Guido van Rossum。江湖人称龟叔,1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释语言,作为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)。
hacker707
2022/11/27
1.2K0
python安装编译环境详解(Windows)
了解Python及python的安装及启
为什么python使用这么多? python语法简单,上手容易,精通难。现在使用爬虫比较多,还可以作前端。 ########################################################### 自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。 Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python's Flying Circus)。 ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。 就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。 Python [2] 已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。 [3] 由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。 ############################################################## 摘至百度百科 ############################################################## 二:python的安装 ——linux系统 -官网下载源码安装包(python3.6) -解压安装包 -安装编译过程中需要的依赖包:gcc,zlib,zlib-devel,openssl-devel,readline,readline-devel -进入解压的安装包进行编译
py3study
2020/01/10
5210
Python之路(一)Python初识
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,Python官方网站 。
py3study
2020/01/07
5310
初识Python
目前我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为《Python简史》的网络文章。
用户3578099
2020/12/30
1.3K0
First Day Python介绍
面向对象对应于面向过程,是开发人员在开发过程当中的思路,是程序员的世界观,Python 一切皆对象。
py3study
2020/01/15
5440
多python环境下使用pip安装包
笔记本上安装了2.7和3.5两个版本的python,在使用3.5版本的pip安装keras时出现了failed to create process错误。解决方法如下: 1.由于我在环境变量中同时配置了2.7和3.5的路径,所以我可以直接在命令行下执行python3来启动3.5版本的python; 2.通过python3来启动pip,在命令行中输入python3 -m pip install keras,成功安装上keras。
py3study
2020/01/08
2.1K0
Python学习(一):概述
第1 章 概述 Table of Contents 应用范围 优缺点 安装 运行第一个程序 参考 工欲利其器 必先知其器 应用范围 Python是著名的“龟叔”Guido van Rossum在 年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。所以Python并不是一个新语言,它比Java更老。 那Python适合开发哪些类型的应用呢? 首选是网络应用,包括网站、后台服务等等; 其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等; 另外就是把其他语言开发的程序再包装起来,方便使用。 系统编
企鹅号小编
2018/01/10
1.3K0
Python学习(一):概述
Ubuntu16.04环境Python3.6下Django安装详细步骤
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
JiekeXu之路
2019/08/15
1K0
相关推荐
人人都能学会的python编程教程1:第一行代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档