WebsiteYOLO
WebsiteYOLO copied to clipboard
The back-end for the YOLOv3 object detector running as a webapp
YOLO Detector Website
This repository stores the back-end for the Flask application, which serves requests coming from the detector at my website.
How Does it Work
To put it simply, the back-end receives an image from a user and runs an object detection algorithm on the image (YOLO v3). Once the predictions are obtained, they are drawn on the image, which is, then, sent back to the user (to the front-end). In this README I provided the environment setup for the computing machine, which runs the detection algorithm. However, setting up the back-end machine is just the tip of an iceberg. The whole engineering pipeline includes many other steps full of caveats. If you are interested in the details of each step, checkout How Did You Build Your Object Detector?.
Setting up the Environment
Download the YOLOv3 weights
bash ./weights/download_weights_yolov3.sh
Install the conda environment
conda env create -f ./conda_env.yml
conda activate detector
Running the detector as a Flask app:
conda activate detector
export FLASK_APP=./WebsiteYOLO/main.py
# export FLASK_RUN_CERT=/etc/letsencrypt/live/your.domain/fullchain.pem
# export FLASK_RUN_KEY=/etc/letsencrypt/live/your.domain/privkey.pem
flask run --host=0.0.0.0