janexue001

Results 8 comments of janexue001

> 最近在尝试使用作者的FA模型来微调SAM,指导遥感图像的语义分割任务。在确定我的数据标注没有任何问题的前提下,FA模型无法成功训练多分类的语义分割任务。通过仔细研究SAM的源码,我发现SAM之所以可以实现无语义输出的全景分割,是因为其自动使用了32x32大小的网格提示点来覆盖整张图像,每一个点都是一个提示,经过embedding后会与特征图进行信息交互,从而获得一个对象掩膜信息;理论上32x32个点提示会输出很多掩膜对象,SAM源码对其进行了各种过滤操作,例如基于阈值过滤、重叠较多的掩膜对象使用NMS再次过滤。 > 本项目作者提供的SAM微调框架中,作者尝试不使用任何提示来微调SAM的做法我认为是行不通的。此时你的 sparse_prompt_embeddings是一个大小为[1,0,256]的空embedding,将其输入到mask decoder与image embedding交互没有任何意义。尽管作者修改了mask decoder为其增加了语义分割头,但是输出的masks(大小为[1,32,256,256])由于没有提示的信息注入,他无法定位到对象的信息,就算后面再用mlp将32映射到分类个数,也没有意义。因此很难训练。 > 以上只是我的个人看法,如有不对的地方也欢迎大家随时交流讨论,希望作者能及时关注并回复,谢谢! 请问这个问题解决了吗,我也遇到了这个问题,尝试了很久分割效果还是不好

> 我亦发现此问题,我在基于作者目前的设定下训练我自己的数据集,发现IoU只能达到10%,目前打算定义一个整张目标图片的points,尝试提升训练效果。请问您是否有了解决方案呢?也希望作者给出提示,谢谢! 我的mIOU也是在14左右,请问您找到解决的办法了吗

> > 请问作者,论文模型中的 prompt encoder 接受何种类型的 prompt 输入?在论文中没有提及,希望咨询作者,谢谢! > > Uploading Snipaste_2024-01-07_11-48-59.png… > > prompt encoder 参数没有进行微调,也没有输入prompt 如果没有输入prompt,mask decoder中也没有处理prompt信息吗?mask decoder是一个仅处理了图像编码的解码器吗?

谢谢您的回复,我想再请教一下,我看您的论文图示里面有prompt的输入,根据您前面的几条回复,说是没有输入prompt,这有些矛盾。所以您的论文里面是没有用到prompt encoder的是吗? -----原始邮件----- 发件人:"Xinyang Pu" ***@***.***> 发送时间:2024-06-22 15:15:06 (星期六) 收件人: xypu98/CWSAM ***@***.***> 抄送: janexue001 ***@***.***>, Comment ***@***.***> 主题: Re: [xypu98/CWSAM] prompt encoder 问题 (Issue #1) 请问作者,论文模型中的 prompt encoder 接受何种类型的 prompt...

> 这个模型好像认为没有points、boxes和masks的提示,直接执行了原代码中的部分判决内容。 ![1](https://private-user-images.githubusercontent.com/88485154/342239663-980acf9d-a3b6-4ffe-86a0-8375dd3d0d07.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE4OTY5MDksIm5iZiI6MTcyMTg5NjYwOSwicGF0aCI6Ii84ODQ4NTE1NC8zNDIyMzk2NjMtOTgwYWNmOWQtYTNiNi00ZmZlLTg2YTAtODM3NWRkM2QwZDA3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI1VDA4MzY0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM2YTk1OWNmYjA1NmZiNGZkMTlhYWNmMDljYmM0NjlmZmY2ZGVkZDBiZWUzNzczZmZjNzY5NTZhZDUwN2Y2ZTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.lt5aJdvFQXElF1Rn57IHPLKfO1699jFYJDw0eLpADKg) 以下是SAM中的sparse_embedding和dense_embedding的生成过程,红框部分为这个模型中的执行部分: ![2](https://private-user-images.githubusercontent.com/88485154/342239681-edd56e82-971a-40ad-a09b-6b1fb5ecc891.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE4OTY5MDksIm5iZiI6MTcyMTg5NjYwOSwicGF0aCI6Ii84ODQ4NTE1NC8zNDIyMzk2ODEtZWRkNTZlODItOTcxYS00MGFkLWEwOWItNmIxZmI1ZWNjODkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI1VDA4MzY0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI1OTNlMmMwYzk4ZTg1NWZmY2RkZTVjYzRiNzIzNDczMzdjMDc1MjQ5ZjQ1YmVjYTBlOGNhMDQ5YTM1MmQyYTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qUlfCWZC3nT7n8CHPG-sWwuVfeu0U01lho0jfLj99Dg) 由此看来应该是没有提示的输入。 原理上是这样,可是我也没有找到prompt encoder的调用信息,好像连无提示的过程都没走

According to the instruction of readme.md, I have trained and obtained best_checkpoint. May I ask how to call checkpoint for subsequent segmentation tasks?

> > According to the instruction of readme.md, I have trained and obtained best_checkpoint. May I ask how to call checkpoint for subsequent segmentation tasks? > > Evaluation: The code...

Thank you very much for your reply. It is true that the detailed records of the model training process can be found in logs. However, in addition, I also want...