Copyright (c) 2022 Ahmed Elliethy.
All rights reserved.
This software should be used, reproduced and modified only for informational and nonprofit purposes.
By downloading and/or using any of these files, you implicitly agree to all the terms of the license, as specified in the document LICENSE.txt (included in this package)
The code requires Python 3.x and PyTorch 1.12.
To install Python 3.x for Ubuntu, you can run:
apt-get update
apt-get install -y python3.8 python3.8-dev python3-pip python3-venv
To install PyTorch, follow the link here https://pytorch.org
To extract the noiseprint, run:
python3 main_nnt.py --img_forged_filename=<input forged image> --img_auth_filename=<input authentic image> --out_filename=<output file> --method_name=<method that can be 'injection' or 'optimization' (default='injection')> --visualize_results=<True if want to display results (default=true)>
To execute a demo, run the following
python3 main_nnt.py --img_forged_filename='Demo/splicing-01.png' --img_auth_filename='Demo/normal-01.png' --out_filename='output.png'
PSNR = 34.12433053884067, and SSIM = 0.939936182563455
python3 main_nnt.py --img_forged_filename='Demo/splicing-02.png' --img_auth_filename='Demo/normal-02.png' --out_filename='output.png'
PSNR = 31.57684118074469, and SSIM = 0.8961242284468497
Elliethy A. 2023. Neural noiseprint transfer: a generic noiseprint-based counter forensics framework. PeerJ Computer Science 9:e1359 https://doi.org/10.7717/peerj-cs.1359
@article{Elliethy2022_NNT,
title={Neural Noiseprint Transfer: A Generic Noiseprint-Based Counter Forensics Framework},
author={Ahmed Elliethy},
journal={PeerJ Computer Science},
doi={https://doi.org/10.7717/peerj-cs.1359}
}