论文阅读:Segment Anything之阅读笔记
1|0引言
- 论文:Segment Anything是Meta出的图像语义分割的算法。这个算法因其强大的zero-shot泛化能力让人惊艳,这不抽空拿来学习了一下。
- 该算法的代码写得很清楚、简洁和规范,读来让人赏心悦目。推荐去看源码,很有意思。
- 本篇文章,将以问答形式来解读阅读过程中遇到的困惑,想来这种方式效率更高一些。
- PDF | Code
2|0整体结构介绍
3|0论文问答
3|1代码仓库中,模型哪部分转换为了ONNX格式?以及如何转的?
-
mask_decoder部分做了转onnx格式
-
直接采用torch.onnx.export函数接口转的。因为没有采用transformer函数库,因为转换较为简单。
-
先基于torch构建整个部分模型,构建模型输入。
-
调用torch.onnx.export函数来转换
-
3|2Mask decoder部分 Transformer decoder block?
-
该部分采用的动态mask预测头。
-
在两个方向上(prompt-to-image embedding 和相反的)使用了prompt self-attention和cross-attention来达到更新所有embedding的目的。
3|3如何整合image_embedding,image_pe, sparse_prompt_embedding和dense_prompt_embedding的?
- 通过mask decoder这一部分来做的。采用的是修改过的Transformer decoder block.
3|4points, 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逐元素求和
3|5什么样的任务具有zero-shot泛化能力?
- 模型以promptable的方式训练得到,因此具备zero-shot的泛化能力
__EOF__

本文作者:Danno
本文链接:https://www.cnblogs.com/shiwanghualuo/p/17527968.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/shiwanghualuo/p/17527968.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
-----------------------------------------
你驻足于春色中,于那独一无二的春色之中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律