A web service for automating a watermark removal process using deep learning. Simply upload an image in a square aspect ratio and the output will be displayed alongside it.
This page acts as a monorepo, uniting the frontend and backend into a single repository. That said, it requires multiple build and setup processes. There are two virtual environments for this program, one is for the frontend and one is for the backend.
- Ensure that node >=17.1.0 and npm >=8.1.3 are installed on the target system.
- While on the root directory, run
npm install
. Appropriate mappings have been provided so the project can be ran and built without having tocd frontend
before installing dependencies, for convenience. - To build the project for static serving using the backend, run
npm run build
- This project relies on poetry for virtual environment generation, but a requirements.txt file was also provided for convenience and can be loaded using
pipenv
,virtualenv
or simply usingpip install -r requirements.txt
if you'd like to avoid using an isolated environment. (not recommended) - To install using poetry, run
poetry install
- To run the backend, ensure the appropriate environment variables have been loaded for it and the frontend has been built, then
cd backend
andpoetry run python -m main.py
- The application should be served on localhost port 5000
- Trains and utilizes a deep learning model for removing watermarks from watermarked images.
- Uses Generative Adversarial Networks with an auto-encoder model.
- Images are cropped to 300x300 for memory limitations.
-
Either edit data location in code, or,
-
Place data in dataset2/train/watermark for watermarked images, dataset2/train/no-watermark for non-watermarked images.
-
Use provided .ipnyb to train the model.
-
For Input/Output, place images into the IO folder, into the Input for input images.
-
Run remover.py
- Python3.x
- tensorflow
- keras
- opencv2
- pandas
- numpy
- matplotlib
- sklearn
- pillow