Zihan Chen(chenzihan21@nudt.edu.cn), Tianrui Liu#, Jun-Jie Huang, Wentao Zhao#, Xing Bi and Meng Wang (#corressponding author)
Pytorch implementation for "Invertible Mosaic Image Hiding Network for Very Large Capacity Image Steganography" (ICASSP'2024).
The existing image steganography methods either sequentially conceal secret images or conceal a concatenation of multiple images. In such ways, the interference of information among multiple images will become increasingly severe when the number of secret images becomes larger, thus restrict the development of very large capacity image steganography. In this paper, we propose an Invertible Mosaic Image Hiding Network (InvMIHNet) which realizes very large capacity image steganography with high quality by concealing a single mosaic secret image. InvMIHNet consists of an Invertible Image Rescaling (IIR) module and an Invertible Image Hiding (IIH) module. The IIR module works for downscaling the single mosaic secret image form by spatially splicing the multiple secret images, and the IIH module then conceal this mosaic image under the cover image. The proposed InvMIHNet successfully conceal and reveal up to 16 secret images with a small number of parameters and memory consumption. Extensive experiments on ImageNet-1K, COCO and DIV2K show InvMIHNet outperforms state-of-the-art methods in terms of both the imperceptibility of stego image, recover accuracy of secret image and security against steganlysis methods.
- Python >= 3.7
- PyTorch >= 1.0
- NVIDIA GPU + CUDA CuDNN
- DIV2K
- COCO
- ImageNet
Download and unzip pretrained models, and then copy their path to experiments/pretrained_models
.
First set a config file in options/train/, then run as following:
python train.py -opt options/train/train_InvMIHNet_4images.yml
First set a config file in options/test/, then run as following:
python test.py -opt options/test/test_InvMIHNet_4images.yml
You can choose to conceal and reveal 4, 6, 8, 9, 16 images.
data/
: A data loader to provide data for training, validation and testing.models/
: Construct models for training and testing.options/
: Configure the options for data loader, network structure, model, training strategies and etc.experiments/
: Save the parameters of InvMHINet.
If you find this code and data useful, please consider citing the original work by authors:
@inproceedings{Chen2024InvMIHNet,
title={Invertible Mosaic Image Hiding Network for Very Large Capacity Image Steganography},
author={Zihan Chen, Tianrui Liu, Jun-Jie Huang, Wentao Zhao, Xing Bi and Meng Wang},
booktitle={IEEE International Conference on Acoustics, Speech, and Signal Processing},
volume={},
number={},
pages={},
year={2024}
}
The code is based on IRN, with reference of HiNet.
If you have any questions, please contact chenzihan21@nudt.edu.cn.