Reconocer objetos usando la librería OpenCV
Reconocer objetos en imagen/video/camara con OpenCV deep learning library, utilizando dnn, y darknet framework. Es necesario descargar los pesos para cada versión de YOLO.
- yolov3.weights - Descargar weights, YOLOv3-416
- yolov4.weights - Archivo en drive
Python
Anaconda(recomendado)
OpenCV
Numpy
Poner los archivos yolov3.weights y yolov4.weights en la carpeta yolo-coco-data
- Anaconda - Descargar anaconda
Crear un ambiente virtual
conda create --name go_ahead_env
conda activate go_ahead_env
conda install -c conda-forge opencv
conda install -c anaconda numpy
Para correr Yolov3 abrir el archivo yolo_image.py en algun editor y modificar path en la linea 56
network = cv2.dnn.readNetFromDarknet('yolo-coco-data/yolov3.cfg','yolo-coco-data/yolov3.weights')
Para correr Yolov4 abrir el script yolo_image.py y modificar path en la linea 56
network = cv2.dnn.readNetFromDarknet('yolo-coco-data/yolov4.cfg', 'yolo-coco-data/yolov4.weights')
navegar hasta la carpeta yolo-opencv y correr el script:
python yolo_image.py
Poner la imagen de interes en la carpeta images Abrir en algun editor el script yolo_image.py y configurar el path en la linea 26
imagen_BGR = cv2.imread('images/nombre_imagen.jpg')
Guardar cambios y correr el script en anaconda prompt
python yolo_image.py
python yolo-3-video.py
Por defecto detectará objetos en el archivo overpass.mp4 ubicado en la carpeta videos Para detectar objetos en otro video, añadirlo a la carpeta videos y configurar path en la linea 28
video = cv2.VideoCapture('videos/name_video.mp4')
Configurar el path de los pesos según la versión de Yolo a utilizar
_GOOD LUCK! Creado por jgomeher83
- OpenCV - OpenCv
- YOLO - Pagina oficial de yolo y darknet
- Youtube tutorial - Tutorial en YouTube