BarryxxZ / SepSteNetwithDPES

The official repository for "Separable Convolution Network with Dual-Stream Pyramid Enhanced Strategy for Speech Steganalysis", in Tensorflow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Separable Convolution Network with Dual-stream Pyramid Enhanced Strategy for Speech Steganalysis

Code for TIFS 2023 paper:

Separable Convolution Network with Dual-stream Pyramid Enhanced Strategy for Speech Steganalysis

Yiqin Qiu1, Hui Tian2,*, Haizhou Li3, Chin-Chen Chang4, Athanasios V. Vasilakos5

framework

🏁 Quick Start

βš™οΈ Installation Dependencies:

  1. Installing anaconda and python (our version == 3.8.10).

  2. Creating the new environment and install the requirements.

    conda create -n SepSteNet python=3.8
    
    conda activate SepSteNet
    
    pip install -r requirements.txt
    

πŸ“₯ Download Model Weights:

Downloading the weights of trained models and place them into model_weights/.

There are two option links to download: GoogleDrive and BaiduNetDisk (PW: dq0n).

${SepSteNetwithDPES}
|-- dataset
|-- model_weights        <-- the downloaded weights of trained models
	|-- SepSteNet
	|-- SepSteNet_with_DPES
|-- model.py
|-- train.py
|-- train_with_DPES.py
|-- utils.py
|-- other python codes, LICENSE, and README files

πŸ“© Download Dataset:

We have extracted pulse positions of each sample of dataset and stored them to .npy files, in which each array is a triplet tuple: (original sample, calibrated sample, label).

The naming convention is: data_{method}_{sample length}_{embedding rate}_train/val/test.npy.

Downloading them and place them into dataset/.

${SepSteNetwithDPES}
|-- dataset              <-- the downloaded dataset
|-- model_weights
	|-- SepSteNet
	|-- SepSteNet_with_DPES
|-- model.py
|-- train.py
|-- train_with_DPES.py
|-- utils.py
|-- other python codes, LICENSE, and README files

There are three option links to download: GoogleDrive, Kaggle Repo, and BaiduNetDisk (PW: h3ts).


πŸ’» Starting inference

For example, if you want to inference on samples of 1.0s embedded by Geiser’s method at the unknow embedding rate:

python ./train.py --length 1.0 --em_rate RAND --method Geiser --train Flase -- test True
python ./train_with_DPES.py --length 1.0 --em_rate RAND --method Geiser --train Flase -- test True

Or if you want to train the model, please set –train to True.

πŸ“š License

This project is released under the MIT license. See LICENSE for details.

😊 Citation

If you find the code and dataset useful in your research, please consider citing our paper:

@article{qiu2023sepstenet,
  title={Separable Convolution Network with Dual-stream Pyramid Enhanced Strategy for Speech Steganalysis},
  author={Qiu, Yiqin and Tian, Hui and Li, Haizhou and Chang, Chin-Chen and Vasilakos, Athanasios V.},
  journal={IEEE Transactions on Information Forensics and Security},
  volume={18},
  pages={2737-2750},
  year={2023},
  doi={10.1109/TIFS.2023.3269640}
}

About

The official repository for "Separable Convolution Network with Dual-Stream Pyramid Enhanced Strategy for Speech Steganalysis", in Tensorflow

License:MIT License


Languages

Language:Python 100.0%