Skip to content

The back-end for YOLOv3 object detector running online on my website

Notifications You must be signed in to change notification settings

abcd19886/WebsiteYOLO

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Object Detector's Predictions (YOLO v3) on a Sample Image. Caption: 'a man in a business suit and a person in a bear consume are walking on a sidewalk, which is surrounded by cars on a sunny day (Saint Petersburg, Russia)'.

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. Specifically, I have undertaken the following steps to build this project:

  1. wrote the front-end for the website (v-iashin/v-iashin.github.io)
  2. reserved a domain name (Freenom — I wouldn't recommend it though!)
  3. rented an instance and reserved an IP for it (GoogleCloud)
  4. added DNS entries mapping my domain to the instance IP (Freenom again)
  5. signed instance-side digital certificates for HTTPs for my domain (Let's Encrypt)
  6. set up the back-end environment on my instance + detector implementation (THIS repo)

If you are interested in the details of each step, let me know in Issues.

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

About

The back-end for YOLOv3 object detector running online on my website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%