Giter Site home page Giter Site logo

yassineyousfi / alaska Goto Github PK

View Code? Open in Web Editor NEW
43.0 1.0 11.0 3.45 MB

Breaking the Alaska steganalysis challenge

License: Other

Jupyter Notebook 0.94% OpenEdge ABL 55.17% Python 1.35% Makefile 0.49% Roff 0.92% C 34.40% C++ 1.39% Shell 3.57% SAS 0.41% Smalltalk 0.04% WebAssembly 0.40% Assembly 0.25% HTML 0.27% Module Management System 0.40%
alaska steganalysis steganography deep-learning machine-learning

alaska's Introduction

๐Ÿ” ALASKA

Maintenance Generic badge

This repo provides state-of-the-art pre-trained models for steganalysis in the JPEG domain, trained and used to win the ALASKA 1 steganalaysis challenge. Details about the architectures can be found in our paper.

Important Update

A new Alaska competition is now running on Kaggle, note that the settings are very different from the first edition of the competition: Image sizes, Quality factors, Embedding schemes, and Payload.

We have open-sourced our solution in this repo.

Features

  • Color seperated feature maps extraction using pretrained SRNet models
  • Arbitrary size steganalysis using pretrained detectors
  • Notebooks to fine-tune feature extractors and train custom detectors
  • Models are shared within the Tensorflow framework, and converted to ONNX for use with other deep learning frameworks.

Please note that shared models are only for JPEG quality factor 95.

Dependecies

Python 3.5+ and dependencies listed in requirements.txt. A Python3 compatible jpeg Package is included in the tools folder. System requirements: Mac OS, Linux (tested on Ubuntu 18.04)

Getting started - Downloading models

Please run the following python code to download the available models.

import requests
import zipfile
import os
home = os.path.expanduser("~")
user = home.split('/')[-1]

url = 'http://dde.binghamton.edu/download/alaska/models.zip'
local = home + '/alaska/models.zip'

r = requests.get(url)
with open(local, 'wb') as f:
    for chunk in tqdm(r.iter_content(chunk_size=2**10)): 
        if chunk:
            f.write(chunk)
with zipfile.ZipFile(local, 'r') as zipref:
    zipref.extractall(home + '/alaska/')
    
os.remove(local)

Getting started - Downloading datasets

This repo comes with minimal image examples, the complete datasets used to train these models have been removed from the official Alaska website by the organizers.

References

Please consider citing our paper if you find this repository useful.

@inproceedings{Yousfi2019Alaska,
 author = {Yousfi, Yassine and Butora, Jan and Fridrich, Jessica and Giboulot, Quentin},
 title = {Breaking ALASKA: Color Separation for Steganalysis in JPEG Domain},
 booktitle = {Proceedings of the ACM Workshop on Information Hiding and Multimedia Security},
 series = {IH\&\#38;MMSec'19},
 year = {2019},
 isbn = {978-1-4503-6821-6},
 location = {Paris, France},
 pages = {138--149},
 numpages = {12},
 url = {http://doi.acm.org/10.1145/3335203.3335727},
 doi = {10.1145/3335203.3335727},
 acmid = {3335727},
 publisher = {ACM},
 address = {New York, NY, USA},
} 

alaska's People

Contributors

yassineyousfi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

alaska's Issues

Python3 Jpeg Toolbox

I am having issues installing/compiling the JPEG Toolbox on my Windows 10 machine despite having all dependencies. Is there any way you could build wheel packages for the toolbox or if there is requirements that aren't listed I might not have installed.

MLP output

In this file: "tf_extract_features_color_separated.ipynb" which is for test, the variable stego_schemes includes only steganography methods, not "COVER":

stego_schemes = ['EBS', 'JUNI', 'NSF5', 'UED']

The variable "logits" as the output of test:

logits = sess.run(y, feed_dict={x: test_feature_map})

includes 5 numbers.

How "stego_schemes[np.argmax(softmax(logits))]" can give "COVER" as the output while we don't have it in the list in "stego_schemes "?

Now when I use Models (QF=95) and the image file "iPAD-pro-7.1-13inch_2065.jpg", I always get "JUNI" as result. It doesn't matter the input is COVER, EBS, JUNI, NSF5 or UED.

[Jpeglib] Code crash when call jpeglib.jpeg

After cloning the repo, I've compiled jpeglib on MacOS. I can import tools.python3_jpeg_toolbox as jpeglib. However when testing to call jpeglib.jpeg("temp.jpg"), I got the crash. Did you face it as well?

Error in training for 'Y'

The program 'tf_fine_tune_branch.ipynb' works fine for training 'YCrCb', but when I change it to 'Y', the program gives error:

InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [3,3,3,64] rhs shape= [3,3,1,64]
[[node Assign_2 (defined at ..\tools\train_estimator.py:124) ]]

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.