OpenCV dnn
module supports running inference on pre-trained deep learning models from popular frameworks like Caffe, Torch and TensorFlow.
When it comes to object detection, popular detection frameworks are
- YOLO
- SSD
- Faster R-CNN
Support for running YOLO/DarkNet has been added to OpenCV dnn module recently.
- Clone repository:
$ [email protected]:cmower/object-detection-opencv.git
- Change directory:
$ cd object-detection-opencv
- Install:
$ pip install .
Either you can use the command line interface yolo_opencv
(see examples below) or import the package using
import yolo_opencv
Download the pre-trained YOLO v3 weights file from this link and place it in the current directory or you can directly download to the current directory in terminal using
$ wget https://pjreddie.com/media/files/yolov3.weights
Provided all the files are in the current directory, below command will apply object detection on the input image dog.jpg
.
$ yolo_opencv --image dog.jpg --config yolov3.cfg --weights yolov3.weights --classes yolov3.txt
Command format
$ yolo_opencv --image /path/to/input/image --config /path/to/config/file --weights /path/to/weights/file --classes /path/to/classes/file_
Checkout the blog post to learn more.
Checkout the object detection implementation available in cvlib which enables detecting common objects in the context through a single function call detect_common_objects()
.
(SSD and Faster R-CNN examples will be added soon)