We love memes. They are the ultimate source of happiness. But they can be easily stolen by anyone on the Internet. Making high quality memes takes creativity, humor, passion, and hard work. It is therefore important for meme creators to protect their original works. Existing solutions such as watermarks and barcodes are noisy, take up space, and destroys the image's aesthetics. Introducing Steganographia.

What it does

Steganographia that can (nearly) invisibly embed digital watermarks in images and decode images with embedded information. Our team offers a webpage for users to upload their raw/already encoded images to encoding/decoding.

Compare to traditional approaches such as Least Significant Bit (LSB) method, Steganographia allows much high error tolerance, the model is able to detect when the image is distorted, blurred, covered by other objects. Opens wide range of real world applications beyond realiable digital copyright, such as product packaging/marketing, robo automation and ar games/applications.

How We built it

Steganographia consists of four main components: frontend, backend, database and machine learning model. The frontend forwards user requests (Image and embeded messages) to the backend server, which then calls the ML model to encode/decode the image and store the results in the database. Our team chose to use Cockroach Cloud DB as our database. We use StegaStamp [1] as our machine learning model.

Challenges We ran into

  • ML Model deployment.
  • Establishing secure connections between clients and the Cockroach Cloud DB.
  • Image croping, merging and processing using imagemagick and gm.

Accomplishments that we're proud of

  • Great team work and specialization of tasks.
  • Amazing prototype utlizing many areas of programming: Frontend, Backend, ML, Image processing, Database.

What we learned

  • Setting up a Cockroach Cloud database and accessing it through the command line.
  • Utilizing certificates to establish secure connection between clients and the database.
  • Granting access of the cluster to team members.
  • Manipulating the cloud database using node.js and the node-postgres library.
  • Image processing through imagemagick.

What's next for Steganographia

  • Improve the machine learning model by using Autoencoder

[1] Matthew Tancik, Ben Mildenhall, Ren Ng. StegaStamp: Invisible Hyperlinks in Physical Photographs. IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2020

Share this project: