Watermark-Removal
An open source project that uses a machine learning based image inpainting methodology to remove watermark from images which is totally indistinguishable from the ground truth version of the image.
This project was inspired by the Contextual Attention (CVPR 2018) and Gated Convolution (ICCV 2019 Oral).
And also a shoutout to Chu-Tak Li for his Medium article series that really gave me a deep insight into the image inpainting papers stated above
Run
-
use Google colab
-
First of all, clone this repo
!git clone https://github.com/zuruoke/watermark-removal
-
Change Directory to the repo
!cd watermark-removal
-
Since Google Colab uses the latest Tensorflow 2x version and this project uses 1.15.0, downgrade to Tensorflow 1.15.0 version and restart the runtime, (
although the new version of Google Colab does not need you to restart the runtime
).!pip install tensorflow==1.15.0
-
Install tensorflow toolkit neuralgym.
!pip install git+https://github.com/JiahuiYu/neuralgym
-
Download the model dirs using this link and put it under
model/
(renamecheckpoint.txt
tocheckpoint
because sometimes google drive automatically adds .txt after download)
And you're all Set!!
-
Now remove the watermark on the image by runing the
main.py
file!python main.py --image path-to-input-image --output path-to-output-image --checkpoint_dir model/ --watermark_type istock
Citing
@article{yu2018generative,
title={Generative Image Inpainting with Contextual Attention},
author={Yu, Jiahui and Lin, Zhe and Yang, Jimei and Shen, Xiaohui and Lu, Xin and Huang, Thomas S},
journal={arXiv preprint arXiv:1801.07892},
year={2018}
}
@article{yu2018free,
title={Free-Form Image Inpainting with Gated Convolution},
author={Yu, Jiahui and Lin, Zhe and Yang, Jimei and Shen, Xiaohui and Lu, Xin and Huang, Thomas S},
journal={arXiv preprint arXiv:1806.03589},
year={2018}
}