Collaborators: Kaustav Halder, Yash Sinha, Siddhartha Datta
Accepts the user's original video, obfuscates the video with a stenographic mask, allows user to store mask array, then allows user to retrieve mask array to decrpyt the video each time they wish to view it.
Install dependencies with pip install -r requirements.txt
. Run stenographic mask generator stenographic_mask_generator.py
to return mask arrays (refer to example_stenography.ipynb
for example demonstration).
Download weights from here.
cycle_gan/checkpoints
placed invision/
Stenography functionality currently supported:
- CycleGAN (
"apple2orange", "horse2zebra", "style_monet", "style_vangogh", "summer2winter_yosemite"
)
Run python run_cli.py -h
for help / argument options. Parameters include
'--function': help='Options: "store" or "restore" (without quotations)')
'--filename', help='name of file stored in /data/')
'--style_index', help='Pass integer of index of style -- 0:apple2orange, 1:horse2zebra, 2:style_monet, 3:style_vangogh, 4:summer2winter_yosemite')
'--mode', help='Mode of steganography; options: "cyclegan"')
'--fps', help='framerate')
'--display', help='Displaying img; True, or False')
Run this in command line to generate and store masks:
python run_cli.py --function store --filename cyclegan_test --style_index 1
Run this in command line to restore masks onto original image:
python run_cli.py --function restore --filename cyclegan_test --style_index 1