mawady / vcip21

Security and Forensics Exploration of Learning-based Image Coding: Watermarking and Source Identification (VCIP 2021)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Security and Forensics Exploration of Learning-based Image Coding

Citation

If you find this code useful, please consider citing:

@inproceedings{bhowmik2021vcip,
    Author = {Deepayan Bhowmik and Mohamed Elawady and Keiller Nogueira},
    Title = {Security and Forensics Exploration of Learning-based Image Coding},
    Booktitle = {IEEE Visual Communications and Image Processing (VCIP)},
    Year = {2021},
    pages={1-5},
    doi={10.1109/VCIP53242.2021.9675445}
}

Watermarking

Diagram - Watermarking

Diagram - Watermarking

Results - Watermarking

Results - Watermarking

Dataset

Kodak Lossless True Color Image Suite this dataset was used to evaluate the watermarking methods.

Usage

You can apply the watermarking process over an image with compression option using the following command exmaple:

python watermarking/main.py --inFolder ./kodak_imgs/ \
               --outFolder ./tmp/ \
               --imgSrc kodim23.png \
               --imgWtr kodim15.png \
               --method ADD_DCT \
               --comp COMP_TFCI_HI

Source (DNN Architecture) Identification

Diagram - Source Identification

Diagram - Source Identification

Requirements

Dataset

JPEG-AI Dataset was used to train and evaluate the models.

Compress Images

TensorFlow Compression (TFC) was used to compress images.

After compressing the dataset, its structure should be like this:

dataset/
    -training_decoded/
        -COMPRESS_METHOD_1/
            -img/
                -*.png
        -COMPRESS_METHOD_2/
            -img/
                -*.png
        -...
    -validation_decoded/
        -COMPRESS_METHOD_1/
            -img/
                -*.png
        -COMPRESS_METHOD_2/
            -img/
                -*.png
        -...
    -test_decoded/
        -COMPRESS_METHOD_1/
            -img/
                -*.png
        -COMPRESS_METHOD_2/
            -img/
                -*.png
        -...

Usage

You can train/test a model using the following command:

python src_identification/main.py --operation training/test \
               --dataset_path ROOT_PATH_TO_DATASET \
               --output_path PATH_TO_SAVE_OUTPUTS_MODELS \
               --network NETWORK_TO_USE \
               --model_path MODEL_TO_LOAD \
               --learning_rate 0.01 \
               --weight_decay 0.005 \
               --batch_size 128 \
               --epoch_num 50

About

Security and Forensics Exploration of Learning-based Image Coding: Watermarking and Source Identification (VCIP 2021)

License:MIT License


Languages

Language:Python 100.0%