Módulo: Deep learning con OpenCV DNN
Este módulo forma parte del curso de OpenCV. .
El módulo cv2.dnn permite ejecutar redes neuronales preentrenadas directamente desde OpenCV sin depender de TensorFlow ni PyTorch en tiempo de inferencia. Admite múltiples formatos: ONNX (.onnx), Caffe (.prototxt + .caffemodel), TensorFlow (.pb) y Darknet (.cfg + .weights).
El proceso de inferencia sigue tres pasos: (1) crear el blob de entrada con cv2.dnn.blobFromImage() especificando el escalado, tamaño y medias de sustracción; (2) establecer la entrada con net.setInput(blob); (3) ejecutar la pasada hacia adelante con net.forward(). El backend puede configurarse para usar CPU, OpenCL o CUDA.
La detección de rostros puede hacerse con Haar Cascades (CascadeClassifier) para una solución rápida y sencilla, o con el modelo DNN SSD ResNet-10 para mayor robustez ante ángulos, oclusiones y variaciones de iluminación.
La clasificación de imágenes con GoogLeNet o MobileNet sobre las 1000 clases de ImageNet produce una distribución softmax. El modelo devuelve un vector de probabilidades del que se extraen las top-K predicciones.
La detección de objetos con YOLO procesa la imagen completa en una sola pasada y devuelve bounding boxes para múltiples clases. cv2.dnn.NMSBoxes() aplica Non-Maximum Suppression para eliminar detecciones redundantes. SSD MobileNet es la alternativa más ligera para dispositivos con recursos limitados.
Otros módulos de este curso
Deep learning con OpenCV DNN
Todos los módulos del curso
Navega entre los módulos de OpenCV
Deep learning con OpenCV DNN
Estás aquíExplora más sobre OpenCV
Descubre más recursos de OpenCV
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, OpenCV es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.