Lección 4 del curso Detección de Objetos con Deep Learning.
En la lección anterior vimos los criterios que sugiero tener en cuenta al momento de elegir un modelo detector de objetos.
Así que en este segundo módulo del curso vamos a ver en detalle cómo funcionan y cómo implementar, con ayuda de Python, las principales arquitecturas de detectores de objetos usadas en la actualidad.
En particular, en esta lección veremos de forma detallada cómo funciona el modelo YOLO (proveniente de las siglas en Inglés You Only Look Once), un modelo detector de objetos basado en Redes Convolucionales y que es uno de los más usados en la actualidad.
El modelo YOLO contiene tres elementos básicos: el backbone, el neck y el head. Así que comencemos viendo qué son y cómo funcionan los bloques backbone y neck:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
En esencia, el backbone es una Red Convolucional que permite extraer características de la imagen de entrada, mientras que el neck toma esos mapas de características y los fusiona para generar a la salida tres mapas de características con información multi-escala de la imagen de entrada, lo que permitirá detectar objetos de diferentes tamaños presentes en dicha imagen.
Así que teniendo claro cómo funcionan estos bloques, veamos el funcionamiento detallado del bloque de salida (el neck):
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Así que esta cabecera de salida (o head) contiene un clasificador y un regresor, ambos basados en Redes Convolucionales, que al ser combinados permiten predecir la probabilidad asociada a un tipo de objeto y el bounding box correspondiente.
Y lo interesante de este clasificador y regresor es que cada uno genera tres salidas (o predicciones), cada una de las cuales corresponde a los tres mapas multi-escala provenientes del bloque neck. Con esto, resulta posible detectar objetos en la imagen original a diferentes escalas y de manera robusta.
Así que en este punto ya tenemos claro el principio de funcionamiento de los modelos YOLO para detección de objetos existentes en la actualidad. Entonces, en la próxima lección veremos de forma práctica cómo abordar un problema de detección de objetos con un modelo YOLO.
Todas las lecciones del curso Detección de Objetos con Deep Learning
