Giter Site home page Giter Site logo

lwz519 / ideas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lemok00/ideas

0.0 0.0 0.0 29.66 MB

Official pytorch implementation of paper "Image Disentanglement Autoencoder for Steganography without Embedding" (CVPR2022).

C++ 0.99% Python 91.02% Cuda 7.99%

ideas's Introduction

IDEAS - Official PyTorch implementation

result 1

Image Disentanglement Autoencoder for Steganography without Embedding

Xiyao Liu, Ziping Ma, Junxing Ma, Jian Zhang, Gerald Schaefer, Hui Fang

This repo is the official implementation of "Image Disentanglement Autoencoder for Steganography without Embedding"

Abstract

Conventional steganography approaches embed a secret message into a carrier for concealed communication but are prone to attack by recent advanced steganalysis tools. In this paper, we propose Image DisEntanglement Autoencoder for Steganography (IDEAS) as a novel steganography without embedding (SWE) technique. Instead of directly embedding the secret message into a carrier image, our approach hides it by transforming it into a synthesised image, and is thus fundamentally immune to any steganalysis attack. By disentangling an image into two representations for structure and texture, we exploit the stability of structure representation to improve secret message extraction while increasing synthesis diversity via randomising texture representations to enhance steganography security. In addition, we design an adaptive mapping mechanism to further enhance the diversity of synthesised images when ensuring different required extraction levels. Experimental results convincingly demonstrate IDEAS to achieve superior performance in terms of enhanced security, reliable secret message extraction and flexible adaptation for different extraction levels, compared to state-of-the-art SWE methods.

Main Results of IDEAS

IDEAS N = 1, σ = 1

LSUN Bedroom LSUN Church FFHQ
Δ = 0% 100% / 16.88 100% / 15.90 100% / 32.88
Δ = 25% 100% / 15.56 100% / 15.50 100% / 31.10
Δ = 50% 99.54% / 13.39 99.55% / 14.48 99.49% / 29.31

IDEAS N = 2, σ = 1

LSUN Bedroom LSUN Church FFHQ
Δ = 0% 100% / 14.17 100% / 17.15 100% / 29.76
Δ = 25% 100% / 14.01 100% / 16.32 100% / 29.02
Δ = 50% 99.32% / 13.51 99.29% / 16.34 99.42% / 28.45

Main results of IDEAS in terms of extraction accuracy (values on the left) and FID scores (value on the right).

Requirements

  • Only Linux is supported.
  • Ninja >= 1.10.2, GCC/G++ >= 9.4.0.
  • One high-end NVIDIA GPU with at least 11GB of memory. We have done all development and testing using a NVIDIA RTX 2080Ti.
  • Python >= 3.7 and PyTorch >= 1.8.2. See https://pytorch.org/ for PyTorch install instructions.
  • CUDA toolkit 11.2 or later.
  • Python libraries: pip install lmdb imutils opencv-python pandas tqdm. We use the Anaconda3 2020.11 distribution which installs most of these by default.

Training

Train a model using the dataset with path of PATH and type of TYPE.

python train.py --exp_name NAME --dataset_type TYPE --dataset_path PATH --num_iters ITERS

The training configuration can be customized with command line option:

args Description
exp_name The working directory ./experiments/{exp_name}.
dataset_type The type of dataset. Select lmdb for LMDB files, or normal for the folder storing files.
dataset_path The path of dataset.
num_iters Num of training iterations.
N, lambda_Ex The hyper-parameters of IDEAS.
ckpt Train from scratch if ignored, else resume training from ./experiments/NAME/checkpoints/{ckpt}.pt.
log_every Output logs every log_every iterations.
show_every Save example images every show_every iterations under ./experiments/NAME/samples/.
save_every Save models every save_every iterations under ./experiments/NAME/checkpoints/.

Citation

@inproceedings{liu2022image,
  title={Image Disentanglement Autoencoder for Steganography Without Embedding},
  author={Liu, Xiyao and Ma, Ziping and Ma, Junxing and Zhang, Jian and Schaefer, Gerald and Fang, Hui},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={2303--2312},
  year={2022}
}

ideas's People

Contributors

lemok00 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.