Skip to content

[CVPR 2024πŸ”₯] EditGuard: Versatile Image Watermarking for Tamper Localization and Copyright Protection

Notifications You must be signed in to change notification settings

xuanyuzhang21/EditGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Image Alt Text

EditGuard: Versatile Image Watermarking for Tamper Localization and Copyright Protection

CVPR 2024

Xuanyu Zhang, Runyi Li, Jiwen Yu, Youmin Xu, Weiqi Li, Jian Zhang

School of Electronic and Computer Engineering, Peking University

arXiv Home Page CVPR camera-ready

News

  • πŸŽ‰πŸŽ‰πŸŽ‰ Our code has been released. Our project is still being updated.
  • πŸŽ‰πŸŽ‰πŸŽ‰ Congratulations on EditGuard being accepted by CVPR 2024! Our open-source project is making progress, stay tuned for updates!

Installation

pip install -r requirements.txt

Online Demo

cd code
python app.py

Checkpoint

Condition Link
Clean clean.pth
Support Localization under Gaussian Noise ($\sigma$=0-5), JPEG (Q=70-95), Poission Noise degrade.pth

Note that EditGuard is mainly used for tamper localization, and its copyright embedding and extraction are only trained on a few degradations such as Gaussian noise, Jpeg, and Poisson noise. If you want to get better robustness, please add more degradations and retrain it.

Testing

Download the testing dataset and place it in the "./dataset/valAGE-Set" and "./dataset/valAGE-Set-Mask". Download the pre-trained checkpoint and put it in the "./checkpoints".

cd code
python test.py -opt options/test_editguard.yml --ckpt ../checkpoints/clean.pth

To extract the tampered masks:

python maskextract.py --threshold 0.2

To test the localization results under degradation conditions, set the ''degrade_shuffle=True'' in Line 25 of the "options/test_editguard.yml" and download the "degrade.pth".

cd code
python test.py -opt options/test_editguard.yml --ckpt ../checkpoints/degrade.pth
python maskextract.py --threshold 0.4

Training

Download the COCO2017 dataset and modify the path of the training dataset in the config file.

Stage 1: Train the BEM and BRM.

python train_bit.py -opt options/train_editguard_bit.yml

Stage 2: First modify the checkpoint path of pretrained BEM and BRM in Line 87 "pretrain_model_G: " of "train_editguard_image.yml". Then, please run:

python train.py -opt options/train_editguard_image.yml

Introduction

We propose a versatile proactive forensics framework EditGuard. The application scenario is shown on the left, wherein users embed invisible watermarks to their images via EditGuard in advance. If suffering tampering, users can defend their rights via the tampered areas and copyright information provided by EditGuard. Some supported tampering methods (marked in blue) and localization results of EditGuard are placed on the right. Our EditGuard can achieve over 95% localization precision and nearly 100% copyright accuracy.

Results

Our EditGuard can pinpoint pixel-wise tampered areas under different AIGC-based editing methods.

Extension

Our EditGuard can be easily modified and adapted to video tamper localization and copyright protection.

Original Video Watermarked Video Tampered Video Predicted Mask
11ori 11wm 11tamper 11mask
13ori 13wm 13tamper 13mask
tennisori tenniswm tennistamper tennismask
umori umwm umtamper ummask
tennisori tenniswm tennistamper tennismask

Bibtex

@inproceedings{zhang2024editguard,
  title={Editguard: Versatile image watermarking for tamper localization and copyright protection},
  author={Zhang, Xuanyu and Li, Runyi and Yu, Jiwen and Xu, Youmin and Li, Weiqi and Zhang, Jian},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={11964--11974},
  year={2024}
}

About

[CVPR 2024πŸ”₯] EditGuard: Versatile Image Watermarking for Tamper Localization and Copyright Protection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages