Code Monkey home page Code Monkey logo

objectformer's Introduction

ObjectFormer for Image Manipulation Detection and Localization

Official PyTorch implementation of ObjectFormer for Image Manipulation Detection and Localization, CVPR 2022.

Training and Evaluation

Please first download the imagenet-pretrained model from this Google Drive link.

Then for training, you could use:

python tools/run.py --cfg configs/objectformer_bs24_lr2.5e-4.yaml

while for evaluation, you could set TRAIN.ENABLE to False. For a better peformance on Pixel F1, you should adjust the TEST.THRES (0.5 by default) on each testing dataset.

Note that we only release the checkpoints trained on the publicly available dataset (CASIAV2 and IMD20). For a fair comparison with our method, please finetune it with your data.

Citation

If you find this repository helpful, please consider citing:

@inproceedings{wang2022objectformer,
  title={Objectformer for image manipulation detection and localization},
  author={Wang, Junke and Wu, Zuxuan and Chen, Jingjing and Han, Xintong and Shrivastava, Abhinav and Lim, Ser-Nam and Jiang, Yu-Gang},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2022}
}

objectformer's People

Contributors

wangjk666 avatar

Stargazers

Ruian He avatar lll avatar  avatar Gates Bin avatar  avatar leo1 avatar Eloise avatar  avatar Yueying Gao avatar 1_ynx avatar Rui Tian avatar

Watchers

 avatar

objectformer's Issues

Reproduction and implementation on other datasets.

Hi,

Thank you for sharing your excellent work and code. It's been very insightful, but I've encountered a couple of issues regarding the implementation that I hope you can help clarify:

  1. Necessity of the Classifier in Figure 2: Is the Classifier shown in Figure 2 of your paper essential for the model to function effectively? Specifically, if I work exclusively with a tampered dataset, could the Classifier be omitted? I presume that the system might still perform adequately without it, but I would appreciate your insight on this matter.

  2. Training with Only Tampered Images: In my experimental setup, I use only tampered images to train the model, fine-tuning it based on your casiav2_ep40_lr2.5e-4.pth. However, the loss behavior is puzzling; it decreases to 2.0794 and then plateaus, showing no further decrease. I have set LAMBDA_CLS to 0.0 to negate the Classifier's impact. What could be the possible reasons for this? I have tested it on two different datasets and observed consistent results.

Some unexpected results from your released checkpoints.

Hi authors!

Thanks for your outstanding work.

However, after running an evaluation script on the CASIAv1 dataset with your official checkpoint trained with CASIAv2, we found that the F1 score is 0.1918. After carefully checking the code I can not find any clues about these unexpected results.

Detailly, I implemented the F1 metrics with the third mask returned from your nn.Modules class.

Here are the visualizing results on CASIAv1:
6f20237b28ee6d78c8569f5071651ea

Do you have any ideas about it? Any help is sincerely appreciated! Thank you very much.

DCT implementation

Hi, in your paper you mention that you perform high frequency feature extraction with the DCT transform, however I cannot find this implementation in the repo. Where is it performed?
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.