This is an Implementation of Object Detection using YOLO V3 trained on Pascal VOC Dataset with over 61 Million Parameters.
DETECTION LIST = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle','bus', 'car', 'cat', 'chair', 'cow', 'diningtable','dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']
NOTE : For Real-Time object detection make sure you have a good memory and Gpu on your computer system,a single forward pass takes on average 700-800 MB of memory.On a NVIDIA TITANX GPU this model can detect objects at 40-90 FPS which makes it very suited for Real-Time Object Detction.
=> Each bounding box displays the object name it has detected and the probability of an object being present inside the bounding box.
#----------------------------------------------------------------------------------
Step 1] Install all required libraries and dependencies named below using Pip.
(torch , cv2 , numpy , matplotlib , tqdm , os , pandas , PIL)
Step 2] Download this repo and open a new project with the main file being main.py
Step 3] Download the pretrained weights required for the YoloV3 model from here
Step 4] The detect_objects( ) function in main.py acts as an interface to the model,pass the location of your image & weights file to the function & it'll plot back a new image with objects detected.
NOTE : The model sometimes produces INCORRECT PREDICTIONS & needs to be trained for more epochs to increase accuracy.
#----------------------------------------------------------------------------------
Original Repository : here (Great Job from the Author !)
Changes Made :
1] Created a Simple API interface of the model for easy usability by others.
2] Modified some code for faster preprocessing & postprocessing of images.