This repository stores the back-end for the Flask application, which serves requests coming from the detector at my website.
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?.
Download the YOLOv3 weights
bash ./weights/download_weights_yolov3.sh
Install the conda environment
conda env create -f ./conda_env.yml
conda activate detector
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