SunnyHaze / IML-ViT

Official repository of paper “IML-ViT: Benchmarking Image manipulation localization by Vision Transformer”
MIT License
184 stars 23 forks source link

关于Columbia数据集 #28

Closed fangfangbuaibiancheng closed 3 weeks ago

fangfangbuaibiancheng commented 1 month ago

作者您好,又来打扰您啦,在用CASIAv2数据集训练200轮后,测试CASIAv1数据集上的Best F1分数达到了0.709。 1.然后我再用 Coverage数据集测试时,把所有图片都改为1024*1024后,Best F1分数很低,为0.143649。 1

2.我又在Columbia 数据集上将所有图片的长边resize到1024,Gt变成黑白图后,Best F1 = 0.143649,也很低,两个值一样,不知道为什么会出现这样的原因。 2

3.在Defacto-12k这个数据集上,我按顺序分别在defacto-copymove、defacto-inpainting、defacto-splicing选了2000张图片,测试出来的Best F1 = 0.045611,因为出现Gt和Tp大小不匹配问题,所以我把所有图片都改为1024*1024测的,不知道是不是这个原因才导致的值很低。 3

4.在NIST16这个数据集上,我通过您之前的步骤申请到了数据集,但是没有找到具体的Gt和Tp,这两个实在是对应不上,所以运行的时报错了。 4

5

上面就是我在测试数据集时出现的问题,图片附上,很需要您的帮助,感激之情无以言表。

SunnyHaze commented 1 month ago

对于1和2,建议通过Tensorboard查看实际的predict mask和gt的分布是否正常,或者同时查看不同checkpoint的F1是否一样,具体通过在日志存放路径中命令行输入tensorboard --logdir ./查看全面的日志。如果始终都是这个值,我怀疑比如黑白图的值域分布有问题,导致GT为全黑?但还得具体问题具体分析。

对于1和3,总之深度学习的本质是拟合训练集的分布,所以测试的时候最好保证测试的模式尽可能与训练集一致,即既然训练的时候是保证原分辨率的zero-padding,那测试时也要尽可能保证这个模式来完成测试。

对于4,请参考这个脚本提取需要的gt:https://github.com/SunnyHaze/ManTraNet-Pytorch/tree/main/NC2016_Test0613

fangfangbuaibiancheng commented 1 month ago

作者您好,根据您提出的建议,我又重新检查了一下数据集,目前我在 Coverage、Columbia 、Defacto-12k数据集上F1分数指标还不错,对于NIST16数据集,我通过您给的脚本提取出了我所需要的Gt,和Tp,然后我用该数据集测试时,出现了Gt和Tp图像尺寸大小不匹配的问题,我就将Gt中尺寸不匹配的图像改成了和Tp图像中一样的尺寸,但是测试出的F1分数并不理想。 微信图片_20240815213238 请问您知道这是什么原因嘛?

SunnyHaze commented 1 month ago

你好,这里建议先visualize一下GT和TP本身是否真的匹配。

fangfangbuaibiancheng commented 1 month ago

作者您好,visualize做完了,GT和TP是匹配的。

SunnyHaze commented 1 month ago

那对于长边大于1024的图片,是否提前将数据集内的图片的长边缩小到1024再输入?只有NIST16有很大的图片,所以这一步是必要的。

fangfangbuaibiancheng commented 1 month ago

我用您给的脚本生成的GT和TP图片的尺寸没有大于1024的,几乎都是512314或者512628的,最大的尺寸是512*770,我想这应该是我F1分数指标低的问题。 图片88

SunnyHaze commented 1 month ago

I see,那个脚本确实是之前用于复现Mantra-Net用的,这里是我的疏忽,应该略加调整到1024x以便适配IML-ViT的设计,抱歉。

fangfangbuaibiancheng commented 1 month ago

好的我懂啦,那我改下您的脚本就可以了吧

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Ma, Xiaochen @.> 发送时间: 2024年8月15日 22:09 收件人: SunnyHaze/IML-ViT @.> 抄送: fangfangbuaibiancheng @.>, Author @.> 主题: Re: [SunnyHaze/IML-ViT] 关于Columbia数据集 (Issue #28)

I see,那个脚本确实是之前用于复现Mantra-Net用的,这里是我的疏忽,应该略加调整到1024x以便适配IML-ViT的设计,抱歉。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

SunnyHaze commented 1 month ago

对的,指标应该能有一定提升,我们之前也试过边长800的,效果可能各有起伏。

fangfangbuaibiancheng commented 4 weeks ago

作者您好,我改了脚本,调整到1024x... 微信图片_20240816110803 测出来的Best F1 = 0.047496,然后我又在长宽比不变的前提下将数据集内的图片的长边缩小到1024再输入 微信图片_20240816111055 测出来的结果是Best F1 =0.040829,不知道是什么原因,我检查了Tp和Gt也是对应的。

SunnyHaze commented 4 weeks ago

诚然我也不是很确定了,有没有看过Tensorboard对于test case的输出图片?

fangfangbuaibiancheng commented 3 weeks ago

这是我看的Tensorboard对于test case的输出图片,第一张图片那个测试掩码和边缘掩码差不多,第二张图片的测试掩码黑白好像颠倒了,有没有可能是数据集里面的黑白颠倒了导致的值低呢 8f7f89724a10fdd3cd773b8afa2c811 2

SunnyHaze commented 3 weeks ago

对的,NIST里面原来的mask多数是白底黑块的,可能要inverse一下才符合训练时的范式(即普遍黑底白块)。

SunnyHaze commented 3 weeks ago

因为模型拟合的是训练集的分布,所以测试集的模式和分布要尽可能一致,都保证黑底白块会好一些。

fangfangbuaibiancheng commented 3 weeks ago

作者您好,刚试了一下inverse NIST16里面的掩码,全部变成了普遍的黑底白块,指标确实有所上升,Best F1 = 0.206227,但是还和您论文里的指标0.339有所差距。 63700d2d9975005b23a03ff62f503ea

fangfangbuaibiancheng commented 3 weeks ago

不好意思,我刚才是用第100轮的权重测试的,现在我改用第199轮权重进行测试,Best F1 变成了0.272 7dbd2a79f4a9b5cffcfe24ba7b2d68c

SunnyHaze commented 3 weeks ago

这可能涉及到Effective batchsize的选择,是调参相关的问题了,我这里给一个我们的参考: image

SunnyHaze commented 3 weeks ago

image

fangfangbuaibiancheng commented 3 weeks ago

好滴,谢谢啦,我没有什么问题啦,祝您研途顺利~ 非常感谢~

SunnyHaze commented 3 weeks ago

祝好~ 🤗