Image Filter: project for 2020 Google ML winter camp.
Group: Social Eggs
We provide a web application for online style transferring.
Frontend (./web-app/src/transfer)
- install nvm (Node Version Manager)
- install node.js: nvm install 10.7.0
- install nrm: npm install -g nrm
- optional -- switch to taobao mirror: nrm use taobao
- run demo: npm install && npm run dev
- produce environment: npm run build && PORT=8080 npm run start
Backend (./web-app/src/master_server, ./web-app/src/gpu_server)
- install Anaconda Python >= 3.6 and Pytorch >= 0.4.1
- install pynvml: pip install nvidia-ml-py3
- install Flask-Cors: pip install flask_cors
- run master_server.py on web server
- run gpu_server.py and gpu_scheduler.py on GPU server
Note: The default port for master_server.py, gpu_server.py and gpu_scheduler.py are set to 2333, 6666 and 2048. Please change them if any collision.
Models are trained offline to increase the response rate.
Matting README.md
(./web-app/src/matting-unet) We first apply matting on the Matting Human Dataset.
(./web-app/src/torch_training @ ec10eee)
(./web-app/src/on-device-inference) Matting above is based on dataset contains half-body for people, thus not performing well enough to transfer photos with mainly faces. To adress this issue, we develop a Key Point Mehod for face mask only. (We can collect a dataset with face matting and train it in the future)