caiyuanhao1998 / MST

A toolbox for spectral compressive imaging reconstruction including MST (CVPR 2022), CST (ECCV 2022), DAUHST (NeurIPS 2022), BiSCI (NeurIPS 2023), HDNet (CVPR 2022), MST++ (CVPRW 2022), etc.
MIT License
637 stars 71 forks source link

训练MST方法之前所提出的模型时的问题。 #59

Closed tkttd closed 5 months ago

tkttd commented 5 months ago

为什么在训练MST方法之前所提出的模型时,往往会得到明显优于作者所开源的预训练模型的重建质量。 例如,当直接运行作者的开源代码,去训练一个TSA-Net,模型的重建结果似乎很轻易的就会超过33dB,而不是预训练模型的31dB的水平。相同的问题也发生在GAP-Net和DGSMP等算法中。

tkttd commented 5 months ago

但是类似的情况并不会出现在MST以及在此之后所提出的模型中,对他们的训练往往可以得到和作者所开源的预训练模型相匹配的重建结果。请问为什么训练MST之前的模型时,模型的重建质量会明显优于作者论文和该仓库的效果?作者是否会考虑公开相关模型的预训练log文件呢?

caiyuanhao1998 commented 5 months ago

之前的方法是直接拿他们原文训练好的 weights 来测试,他们并没有使用我们的code base来训练。现在这套codebase是我们优化改良过的了。你可以直接拿他们官方的weights来测一下试试。

如果觉得我们的repo和解答有用的话,帮我们点点star支持一下,感谢

tkttd commented 5 months ago

我想这个不同的合理解释,应该是由于你们的程序和原文的训练集不同,他们使用的是只有三十个样本的CAVE进行训练,而不是你们的repo里经过拼接处理后的205个训练集。训练集不同影响了那些模型的训练和重建质量。

caiyuanhao1998 commented 5 months ago

simulation是一样的,real不一样,real我们按照dgsmp,用的多一些

tkttd commented 5 months ago

可能是我没说清楚,我看到你们的readme文件里,列出来的simulation的训练数据集就包含了205个10241024的HSI。我想你的MST和之后的模型都是用的这205喝数据集进行训练。而之前的模型应该是从原始的512512的CAVE数据集截取生成的训练样本,这也能从之前工作的源码里看到。我想这种数据增强技术的差别使得TSA-Net等模型的表现降低了。

tkttd commented 5 months ago

如果按你说的,你们simulation实验时的训练集都一样,为什么TSA模型用你们仓库的训练集训练后,表现会明显优于你们论文里的数据呢?

caiyuanhao1998 commented 5 months ago

codebase 不一样,感兴趣可以对比一下

tkttd commented 5 months ago

不是很理解你的意思,比如你们仓库中的GAP-Net的程序代码 和原文的程序是一致的,但是训练结果还是会优于你们论文里的数据,这总是会产生一些歧义。

caiyuanhao1998 commented 5 months ago

你有跑过tsanet原文的代码吗?没跑过就去跑一下。看看是不是和我问中报的一致

tkttd commented 5 months ago

我有跑过GAPNet,试了你们仓库的代码,以及将原文的程序代入进了这个仓库的对应位置,遇到了上面的问题,所以才会咨询你们是否有遇到过相同的情况,是否是我在执行程序的过程中有不当的操作,并没有质疑你的意思。

tkttd commented 5 months ago

我是在运行DGSMP的原文的训练文件时,从他们的训练文件里看到的,他们在仿真实验阶段的训练样本只包括了30个样本,才会有那个数据增强的看法。

https://github.com/TaoHuang95/DGSMP/blob/main/Simulation/Data/Training_data/train_list.txt