SunnyHaze / IML-ViT

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

关于模型训练是否引入了真实图片的问题讨论 #13

Closed Astoria5zi closed 5 months ago

Astoria5zi commented 5 months ago

大佬你好呀: 我阅读了代码,发现数据集的读取分为Gt和Tp,但是我看好多数据集里面还有Au这个文件夹,请问这部分真实图片有没有参与模型的训练呢?还有一个问题,就是模型最后会不会在mask之外给出一个分类结果来判断图片是否经过篡改呢?

SunnyHaze commented 5 months ago

对于带不带真实图片的问题,我们最新的实验对于这种情况做了测试,结论大致如下:

image

所以真实情况下确实应该带一些真实图片降低报假警的问题,我们目前release的指标是带了CASIAv2真实图像一起训练的结果,你可以使用我们提供的json_dataset类来读取带有真实图片的数据集。 https://github.com/SunnyHaze/IML-ViT/blob/aa26c3432212fc09795c57b2d942a10bdc999671/utils/datasets.py#L147

至于其他数据集在刷点儿的时候要不要带真实图片,具体的性能会随着数据集不同有一定波动,很难说哪个训练方式指标会更高,一切以实验为准。

就是模型最后会不会在mask之外给出一个分类结果来判断图片是否经过篡改呢?

其实ViT本身一般是自带一个CLS分类token的,可以从该token进行二分类监督。但是本文重点在于提出有效的通用篡改检测分割Backbone,所以论文中没有对此处提及,目前的代码也没有给出这样的设计。不过诚然确实略加调整就可以实现单独的分类头。

Astoria5zi commented 5 months ago

好滴好滴,感谢回复

hezw2016 commented 5 months ago

目前release的指标(table5)中是73.4%,感觉和这里的实验有出入。

SunnyHaze commented 5 months ago

draft中不同的实验由不同的成员训练完成,可能会有一些随机性的出入,还请海涵。后续还会有revise统一过后的paper版本。最新的指标可以参考最新release的checkpoint。

hezw2016 commented 5 months ago

有点期待了

singjoenggam commented 4 months ago

对于带不带真实图片的问题,我们最新的实验对于这种情况做了测试,结论大致如下:

  • 带真实图片可以减少报假警的问题
  • 但同时一定程度上会降低F1 score,不过程度比较微弱,具体见下图。

image

所以真实情况下确实应该带一些真实图片降低报假警的问题,我们目前release的指标是带了CASIAv2真实图像一起训练的结果,你可以使用我们提供的json_dataset类来读取带有真实图片的数据集。

https://github.com/SunnyHaze/IML-ViT/blob/aa26c3432212fc09795c57b2d942a10bdc999671/utils/datasets.py#L147

至于其他数据集在刷点儿的时候要不要带真实图片,具体的性能会随着数据集不同有一定波动,很难说哪个训练方式指标会更高,一切以实验为准。

就是模型最后会不会在mask之外给出一个分类结果来判断图片是否经过篡改呢?

其实ViT本身一般是自带一个CLS分类token的,可以从该token进行二分类监督。但是本文重点在于提出有效的通用篡改检测分割Backbone,所以论文中没有对此处提及,目前的代码也没有给出这样的设计。不过诚然确实略加调整就可以实现单独的分类头。

大佬你好,我看了你在这里回复的实验数据是分别给出了casiav2中5k和全部12k的训练结果,感觉与文中表3(仅5k)和表4(仅12k)的结果有一定出入,例如columbia,对比表3和表4中columbia的F1指标反而是有显著提升的,在这里却下降了一些,我感到有一些疑惑

SunnyHaze commented 4 months ago

对于带不带真实图片的问题,我们最新的实验对于这种情况做了测试,结论大致如下:

  • 带真实图片可以减少报假警的问题
  • 但同时一定程度上会降低F1 score,不过程度比较微弱,具体见下图。

image 所以真实情况下确实应该带一些真实图片降低报假警的问题,我们目前release的指标是带了CASIAv2真实图像一起训练的结果,你可以使用我们提供的json_dataset类来读取带有真实图片的数据集。 https://github.com/SunnyHaze/IML-ViT/blob/aa26c3432212fc09795c57b2d942a10bdc999671/utils/datasets.py#L147

至于其他数据集在刷点儿的时候要不要带真实图片,具体的性能会随着数据集不同有一定波动,很难说哪个训练方式指标会更高,一切以实验为准。

就是模型最后会不会在mask之外给出一个分类结果来判断图片是否经过篡改呢?

其实ViT本身一般是自带一个CLS分类token的,可以从该token进行二分类监督。但是本文重点在于提出有效的通用篡改检测分割Backbone,所以论文中没有对此处提及,目前的代码也没有给出这样的设计。不过诚然确实略加调整就可以实现单独的分类头。

大佬你好,我看了你在这里回复的实验数据是分别给出了casiav2中5k和全部12k的训练结果,感觉与文中表3(仅5k)和表4(仅12k)的结果有一定出入,例如columbia,对比表3和表4中columbia的F1指标反而是有显著提升的,在这里却下降了一些,我感到有一些疑惑

您好,感谢您的关注! 这里因为实际实验的成员,使用的显卡设备,一些非常细节的超参数(比如accumulate gradient iteration size),以及深度学习自带的随机性等等都可能有一些出入,我们在目前release的结果尽可能保证同一个表中的settings一致。后续会release经过同一setting统一后的结果,敬请期待。