An invisible digital watermark service using Stegastamp
- Install dependencies and run dev server:
yarn install- Download the pretrained model from Stegastamp
# encoder model
wget http://people.eecs.berkeley.edu/~tancik/stegastamp/saved_models.tar.xz
tar -xJf saved_models.tar.xz
rm saved_models.tar.xz
# decoder model
wget http://people.eecs.berkeley.edu/~tancik/stegastamp/detector_models.tar.xz
tar -xJf detector_models.tar.xz
rm detector_models.tar.xz
-
Move `saved_models' and 'detector_models' folder into the public folder
-
Setup Python environment (python 3.3-3.7)
pip install -r requirements.txt
pip install tensorflow=1.13.1
- Cockroachdb setup
- Create
certsfolder undersrc, putdoot-hack-ca.crtunder this folder. - Create
configfolder undersrc, putdbConfig.tsxunder this folder. - Make sure your local/server IP is registered under Networking, Authorized Networks.
- Run
yarn dev, then open http://localhost:3000 with your browser to see the result.
Encoding data to an image:
Retrieving watermark data from the image:

