论文阅读:Segment Anything之阅读笔记

news/2024/10/17 17:28:26/

目录

      • 引言
      • 整体结构介绍
      • 论文问答
        • 代码仓库中,模型哪部分转换为了ONNX格式?以及如何转的?
        • Mask decoder部分 Transformer decoder block?
        • 如何整合image_embedding,image_pe, sparse_prompt_embedding和dense_prompt_embedding的?
        • points, boxes, text和masks四种类型prompt如何嵌入到网络中?
        • 什么样的任务具有zero-shot泛化能力?

引言

  • 论文:Segment Anything是Meta出的图像语义分割的算法。这个算法因其强大的zero-shot泛化能力让人惊艳,这不抽空拿来学习了一下。
  • 该算法的代码写得很清楚、简洁和规范,读来让人赏心悦目。推荐去看源码,很有意思。
  • 本篇文章,将以问答形式来解读阅读过程中遇到的困惑,想来这种方式效率更高一些。
  • PDF | Code

整体结构介绍

在这里插入图片描述

  • 整体分为三大部分:image encoder、prompt encoder和mask decoder。下图看的更加清楚一些,也是来自论文。
    在这里插入图片描述

论文问答

代码仓库中,模型哪部分转换为了ONNX格式?以及如何转的?

  • mask_decoder部分做了转onnx格式

  • 直接采用torch.onnx.export函数接口转的。因为没有采用transformer函数库,因为转换较为简单。

    • 先基于torch构建整个部分模型,构建模型输入。

    • 调用torch.onnx.export函数来转换

Mask decoder部分 Transformer decoder block?

  • 该部分采用的动态mask预测头。

  • 在两个方向上(prompt-to-image embedding 和相反的)使用了prompt self-attention和cross-attention来达到更新所有embedding的目的。

如何整合image_embedding,image_pe, sparse_prompt_embedding和dense_prompt_embedding的?

  • 通过mask decoder这一部分来做的。采用的是修改过的Transformer decoder block.

points, boxes, text和masks四种类型prompt如何嵌入到网络中?

  • points, boxes, text在论文中称为sparse prompt。masks类型被称为dense prompt

  • points和boxes 是以positional encodings(位置编码)和每个提示类型的学习嵌入来表示的。

  • text是来自CLIP的text encoder表示的。从demo中并没有看到text输入的prompt, 从issue #93中验证了这点

  • mask是使用卷积嵌入,并与图像embedding逐元素求和

什么样的任务具有zero-shot泛化能力?

  • 模型以promptable的方式训练得到,因此具备zero-shot的泛化能力

http://www.ppmy.cn/news/743031.html

相关文章

初阶C语言——三子棋

我们今天讲一个小游戏,三子棋大家应该都玩过吧,就是行和列,或者对角线上有一样大的字符时,就为获胜,今天我们就来写这样的一个代码实现这样的功能 首先我们要创建两个源文件和一个头文件 头文件game.h用来包含我们的头…

Unity 使用最新的官方自带VR系统

自带的vr插件只有头部的追踪设备选择,没用左右手的追踪选择,需要自己更改TrackerDriver这个脚本,使其能够选择左右手,这样,VR 手柄才能使用。

VR拆装(HTC vive Pro开发)——2、项目开发平台、设备、语言、版本控制及本项目使用的插件

项目是基于unity3D 2019.2.1开发。 使用的设备为HTC vive Pro 。 开发语言有:C#(入门、基础)、shader Lab(入门、基础、或直接shader套用现成别人的shader) 版本控制先选用的Git代码行控制上传至GitHub,…

vr加盟项目现在怎么样?vr加盟需要多少钱?

随着5G的出现VR技术也频频出现在人们的视野当中,吸引了众多人的关注。对于有创业想法的人而言,5G可谓是一个难得一遇的风口,而vr技术在5G加持下的发展前景也是不可估量的。那么都有哪些vr加盟项目呢?vr加盟项目现在怎么样&#xf…

VR拆装(HTC vive Pro开发)——1、项目功能介绍及分析

博主去年接到一个大创课题“大涵道比涡扇发动机涡轮单元体虚拟拆装系统平台研制”,简单来说就是基于VR头盔对机械零部件进行拆装。任务说明书主要包含了三个部分,拆卸、装配、与认知。课题的定位是教学用具,只能简单地通过VR设备让本专业同学…

htcvr设备计算机配置,VR对电脑配置要求高吗?HTC Vive电脑配置要求

最近有网友问小编这样一个问题:VR对电脑配置要求高吗?关于VR(虚拟现实)设备很多朋友都听过,它可以带来身入其境的沉静式的体验。不过,目前VR设备还处在发展初期,VR设备普遍很贵,并且缺乏这种3D内容。 HTC V…

Unity中配置VR开发环境,添加VRTK开发包(HTC Vive为例,包含资源)

目标:在Unity中配置VR开发环境,导入VRTK开发包,帮助后续VR开发 主要内容: 在Unity中配置VR开发环境步骤如下: 1、 Unity创建空工程,导入SteamVR Pugin(资源放在最后,请自行下载) …

分享6款优秀的 AR/VR 开源库

今天,为大家推荐几款优秀的 AR/VR 开源库,希望能对大家有所帮助~ 1、AR.js AR.js 是一款应用于 Web 的高效增强现实(AR)库,基于 three.js jsartoolkit5,无需安装。它适用于任何带有 webgl 和 webrtc 的手机…