zhang-pengyu/ADRNet

关于ADRNet 中各组件的消融实验

Closed this issue · 10 comments

您好,我想请教一下
1.论文里的表4,B(RGB)和B(T)是怎么得到相应的数据集结果的,是把输入双流网络的图像都换成RGB图像或都是T图像吗?
2.B(RGBT)的成绩是由feat_RGBT 还是 residual_none得到的呀,我在实验时发现feat_RGBT的成绩会好一点,我就比较困惑那为啥还要有一个none分支,直接把none分支由feat_RGBT替换不行吗?论文里说是因为还有其他的属性都包含在none分支中,我想了解下是否还有其他的原因?
希望作者大大不吝赐教,感谢感谢.

1.只测单支网络得到各个模态的结果(直接将RTMDNet算法输入对应模态图像得到)
2. B(RGBT) 是直接由feat_RGBT 得到的,residual_none是期望学到attribute-agnostic的信息(方便处理除了文中涉及4种attributes以外的其他属性),本质上和feat_RGBT是一样的作用,从原理上说没理由结果会更差,我猜测可能是训练带来的差异。可以直接替换,但是会有个问题,ADRB学习到的只有解决那四种attribute的能力,并不会构建一个比较全面的特征表达。如果只从性能提升来考虑我觉得可以去掉。另外我在文中做的实验表明应该是加上none会好一些。
希望能对你有些启发

感谢回复,关于residual_none相比feat_RGBT变差的原因,我是这样想的,就是feat_RGBT其实里面包含了属性不可知和另四种attribute的知识,后面那些残差分支是起到一个筛选的feat_RGBT作用, 我在做实验时,把四个分支去掉(TC/EI/OCC/MB),后面的注意力模块也去掉,然后直接把feat_RGBT或者residual_none输到FC层,所以从知识量来说,feat_RGBT和residual_none应该是一样的,但又none分支里有一个RELU,他会把负的信息置零,可能是这一步损害了原本的知识量,导致了稍差的结果,当然这只是猜测,还有就是我只在gtot上做了他们两个的对比,实验数据太少也有可能.
最后,还是感谢您的回复.

关于RELU的部分我没太理解,backbone也同样接了RELU, 把其他分支都去掉的话,可以理解为多加了一层残差结构。我可能不太清楚你实验目标,如果有兴趣可以讨论下,也希望能帮助你理解。

就是论文里的离线空间注意力图,我就在可视化实验时,发现经过残差结构的特征生成的注意力图和没经过残差结构的不一样,才会有之前问的那个到底输入的是feat_RGBT还是residual_none的问题,他们看起来是这样的
000-0000
000-0000

第一张是feat_RGBT生成的,第二张是residual_none生成的,他们看起来不一样

我中午又试了一遍,发现确实是feat_rgbt成绩更高,在gtot上SR有0.719,PR0.877,而residual_none只有SR0.686,PR0.848

residual_none 有没有加上feat_rgbt

啊,没有,需要加的吗,我就直接把residual_none送进FC了,我的问题,我没看清楚论文里的网络架构图

对的,residual学的只是残差,经过SENet CENet后需要加上feat_RGBT,因为你把其他模块去掉了,所以学到residual none要加上feat_RGBT去做跟踪

可以可以,一下子给我点醒了,太感谢了,我实验的时候就直接把residual_none的特征输到FC,然后我去掉了relu层之后发现效果居然有一点小提升,我就认为这relu起反作用了,如果是两个要相加的话,那就能说通了,非常感谢.