CutCat is an app that lets you copy objects from real life and directly paste them on a background using the magic of OpenCV SIFT and a pre-trained U^2 Net model
first_demo.mp4
Everything you need to run CutCat is already dockerized and ready to go.
- Clone the repo
git clone [email protected]:ansnoussi/CutCat.git && cd CutCat
- Run all the backend services (Running this for the first time will take a while to pull the docker images)
docker-compose up
- Now that everything is running, grab the ip of the gunicorn application server
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cutcat-web
and replace it in the React Native app in mobile-client/Components/Main.js
in line 47 const SERVER_IP = "192.168.1.19"
- Start the React Native app using
cd mobile-client && expo start
and navigate to http://localhost:5000
in your web browser to start using CutCat.
This was a side project that I finished in parallel with other side projects and a full-time job, so it's far from perfect :
- the flask server is extensivly using slow file i/o
- image resizing/compressing could be done in React Native to reduce execution time
- the UI could benefit from some changes
- ...
so any contribution will be appreciated, just open a PR and I will be more than happy to respond.