xzz777 / SCTNet

Official implementation of SCTNet (AAAI2024)
MIT License
173 stars 11 forks source link

Shared Decoder Head Alignment的实现是否与论文中Fig3.描述不一致? #12

Closed leo-q8 closed 7 months ago

leo-q8 commented 8 months ago

您好,看您原始的论文里,在backbone部分,学生网络和教师网络decode_head部分特征和seg_logits有对齐学习的连接,但是在代码中为什么没有体现呢?是我们没找到吗? 在下面的代码中decoder_feature,decoder_seg_logits并没有被使用: https://github.com/xzz777/SCTNet/blob/d4bd6d8073a59831d69f303fc5b39c70023e2719/mmseg/models/decode_heads/vit_guidance_head.py#L103 是不是意味着论文中的如下图所示的这两个连接并不存在呢 image

xzz777 commented 8 months ago

您好,只有您框出的右上的那一个连接在代码中是不存在的,我们在Mon, 15 Jan 2024更新过一版,这个问题已修正。 因为个人失误,arxiv上的v1版本里fig3的图片、figure5的题注没有替换为最新版,给您造成了误解,非常抱歉,请下载arxiv 上v2版本

image

代码和论文是一致的,论文中写的:The decoder head consists of a DAPPM (Pan et al. 2022) and a segmentation head. 在代码实现中,为了操作方便,我们将DAPPM写在SCTNet.py中,sct_head.py只包括一个简单的分割头。 你可以再看看SCTNet.py的输出,以及vit_guidance_head.py的输入。https://github.com/xzz777/SCTNet/blob/d4bd6d8073a59831d69f303fc5b39c70023e2719/mmseg/models/decode_heads/vit_guidance_head.py#L115 SCTNet.py中stage2和stage4特征过DAPPM后concat的结果,对应了红框中左上角的输入

https://github.com/xzz777/SCTNet/blob/d4bd6d8073a59831d69f303fc5b39c70023e2719/mmseg/models/decode_heads/vit_guidance_head.py#L111https://github.com/xzz777/SCTNet/blob/d4bd6d8073a59831d69f303fc5b39c70023e2719/mmseg/models/decode_heads/vit_guidance_head.py#L112 对应红框下方的两个输入。

另外,decoder_feature,decoder_seg_logits是网络没有加SDHA时使用的两个变量,在消融实验中也会用到,您可以自行去掉,但在config中加上find_unused_parameters = True的情况下不影响正常训练,可以不用管。

leo-q8 commented 8 months ago

@xzz777 感谢您的回复,很棒的工作!

saddogs commented 2 months ago

1111111111 你好,在代码中我找不到这两个模块的位置,请问这两个模块具体在哪里被调用呢?