Implementation of YOLO algorithm for real-time object detection and classification
- Tensorflow CPU/GPU
- Numpy
- OpenCV
This application has been trained on the COCO test-dev dataset.
You only look once (YOLO) is a state-of-the-art, real-time object detection system. Prior work on object detection repurposes classifiers to perform detection. Instead, YOLO frames object detection as a regression problem to spatially separated bounding boxes and associated class probabilities.
A single neural network predicts bounding boxes and class probabilities directly from full images in one evaluation. Since the whole detection pipeline is a single network, it can be optimized end-to-end directly on detection performance. This network divides the image into regions and predicts bounding boxes and probabilities for each region. These bounding boxes are weighted by the predicted probabilities.
YOLO looks at the whole image at test time so its predictions are informed by global context in the image, instead of the sliding window approach.
- Clone the repository.
- Install the dependencies.
-
- Save test image in darkflow-master as 'test.jpg'.
- Run 'object_detect_image.py'.
-
- Save the test video in darkflow-master as 'test-video.mp4'.
- For faster implementation on CPU (unavilability of GPU), run 'reduce_frame_speed.py'.
- Execute
python flow --model cfg/yolo.cfg --load bin/yolo.weights --demo videofile.mp4 --gpu 1.0 --saveVideo
Omit the '--gpu 1.0' for Tensorflow CPU version.
-
- Save the test video in darkflow-master as 'test-video.mp4'.
- Run 'object_detect_video_realtime.py'. The quality and frame speed is an attribute of hardware compatibility available.
Implementation of Masked RCNN algorithm for real-time object segmentation
- Numpy
- Scipy
- Cython
- H5py
- Pillow
- Scikit-image
- Tensorflow-gpu==1.5/ Tensorflow-cpu==1.5
- Keras
This application has been trained on the COCO test-dev dataset. It requires pycocotools which can be used from the Coco api.
The model generates bounding boxes and segmentation masks for each instance of an object in the image. It's based on Feature Pyramid Network (FPN) and a ResNet101 backbone.
- Anchor sorting and filtering
- Bounding box refinement
- Mask generation
- Layer activation
- Weights histogram
- Clone the repository.
- Install the dependencies.
-
- Save test image in Mask_RCNN/images as 'test-image.jpg'.
- Run 'demo.ipynb'.
-
- Save the test video in Mask_RCNN as 'test-video.mp4'.
- Run 'segmentation_video.py'.