mayo 30, 2022 10:00 am

Jesús

Con los recientes avances en la industria de la inteligencia artificial, la visión por ordenador y el Deep Learning han ganado mucha atención. En su haber, ahora las aplicaciones de detección de objetos, que antes se consideraban extremadamente difíciles, se han vuelto más fáciles de crear.

La detección de objetos puede definirse como una técnica de visión por ordenador cuyo objetivo es identificar y localizar objetos en una imagen o un vídeo. Aunque los ordenadores son capaces de procesar la información mucho más rápido que los humanos, sigue siendo difícil para ellos detectar varios objetos en una imagen o un vídeo. La razón es que el ordenador interpreta la mayoría de las salidas sólo en lenguaje binario.

El objetivo de este artículo es discutir brevemente:

  • Los fundamentos de la detección de objetos.
  • Los modelos de detección de objetos
  • Las ventajas de la detección de objetos
  • Los retos y las soluciones

Antes de llegar a los puntos anteriores, debemos entender la diferencia entre la clasificación de imágenes y la detección de objetos. Los principiantes tienden a confundir estos dos conceptos.

Diferencia entre la detección de objetos y la clasificación de imágenes

Desglosemos estas técnicas para conocer la diferencia entre ellas. Cuando se ve una foto de un perro, se puede decir inmediatamente que es una imagen de un animal, en otras palabras, decir de qué trata la imagen. En eso consiste la clasificación de imágenes.

Mientras haya un solo objeto, se pueden utilizar las técnicas de clasificación de imágenes.

Pero si tenemos varios objetos, es cuando entra en juego el concepto de detección de objetos. Construyendo cajas rectangulares alrededor del objeto de interés podemos ayudar a la máquina a reconocer el objeto que contiene cada caja. También podemos indicar la ubicación exacta de los objetos mediante este método. Es posible que una sola imagen contenga muchos objetos, por lo que se pueden mostrar múltiples cajas delimitadoras.

Las aplicaciones de detección de objetos son ilimitadas, pero generalmente identifican y detectan los objetos reales, como seres humanos, edificios, coches y muchos más. Además, una máquina necesita muchos datos etiquetados de diferentes tipos de objetos para poder reconocerlos en el futuro. Esto significa que el modelo de Machine Learning (ML) entrenado en ese conjunto de datos etiquetados tendrá más posibilidades de hacer predicciones precisas.

Además, hay varias empresas que ofrecen servicios de anotación de datos. Sólo hay que elegir la adecuada en función de las necesidades. Esta técnica se usa ampliamente en aplicaciones de seguimiento de personas/objetos y cámaras de videovigilancia, que te explicaré más adelante.


Modelos de detección de objetos

Ahora que tenemos clara la definición de Detección de Objetos, veamos algunos modelos populares de Detección de Objetos.


R-CNN, R-CNN más rápida, R-CNN de máscara (

Mask R-CNN).

Los modelos de detección de objetos más populares pertenecen a la familia de los modelos CNN basados en la región. Este modelo ha revolucionado el funcionamiento del mundo de la detección de objetos. En los últimos años, no sólo se han vuelto más precisos, sino también más eficaces.


SSD y YOLO. 

Hay una plétora de modelos pertenecientes a la familia de detectores de plano único que se publicaron en 2016. Aunque los SSD son más rápidos que los modelos CNN, su tasa de precisión es mucho menor que la de los CNN.

YOLO, es bastante diferente de los algoritmos basados en regiones. Al igual que los SDD, yolo es más rápido que las R-CNN, pero se queda atrás por su baja precisión. Para los dispositivos móviles o integrados, los SDD son la opción perfecta.


CenterNet.

En los últimos años, estos modelos de detección de objetos están ganando más popularidad. CentreNet sigue un enfoque basado en puntos clave para la detección de objetos.

En comparación con los enfoques SSD o R-CNN, este modelo resulta ser más eficaz y preciso. El único inconveniente de este método es la lentitud del proceso de entrenamiento.


Beneficios de la detección de objetos en el mundo real

La detección de objetos está completamente interrelacionada con otras técnicas de visión por ordenador similares, como la segmentación y el reconocimiento de imágenes, que nos ayudan a comprender y analizar las escenas en vídeos e imágenes. Hoy en día, en el mercado de la detección de objetos se implementan varios casos de uso en el mundo real que tienen un enorme impacto en diferentes industrias.

Aquí examinaremos específicamente cómo las aplicaciones de detección de objetos han impactado en las siguientes áreas.


Autos que se conducen solos.

La razón principal del éxito de los vehículos autónomos son los modelos basados en la inteligencia artificial de detección de objetos en tiempo real. Estos sistemas permiten localizar, identificar y rastrear los objetos que los rodean, en aras de la seguridad y la eficacia.

Videovigilancia.

La detección de objetos en tiempo real y el seguimiento de los movimientos de los mismos permiten a las cámaras de videovigilancia seguir el registro de las escenas de un lugar determinado, como un aeropuerto. Esta técnica de vanguardia reconoce y localiza con precisión varias instancias de un objeto determinado en el vídeo. En tiempo real, a medida que el objeto se desplaza por una escena determinada o a través de un fotograma concreto, el sistema almacena la información con los datos de seguimiento en tiempo real.

Recuento de multitudes.

Para zonas muy pobladas, como centros comerciales, aeropuertos, plazas y parques temáticos, esta aplicación tiene un rendimiento increíble. En general, esta aplicación de detección de objetos resulta útil para las grandes empresas y los municipios para el seguimiento del tráfico vehicular, la violación de las leyes y el número de vehículos que pasan en un marco de tiempo determinado.

Detección de anomalías.

Hay varias aplicaciones de detección de anomalías disponibles para diferentes industrias que utilizan la detección de objetos. Por ejemplo, en la agricultura, los modelos de detección de objetos pueden reconocer y encontrar con precisión los casos potenciales de enfermedades de las plantas. Con la ayuda de esto, los agricultores serán notificados y podrán prevenir sus cultivos de tales amenazas.

Otro ejemplo: este modelo se ha utilizado para identificar las infecciones de la piel y las lesiones sintomáticas. Ya se han creado algunas aplicaciones para el cuidado de la piel y el tratamiento del acné utilizando modelos de detección de objetos.

Hay que tener en cuenta que existen algunos problemas al crear cualquier tipo de modelo de detección de objetos. Sin embargo, también existen soluciones para limitar los desafíos.


Retos y soluciones de la modelización de la detección de objetos


Sincronización dual

El primer reto de la detección de objetos es clasificar la imagen y la posición del objeto, lo que se conoce como localización del objeto. Para resolver este problema, la mayoría de los desarrolladores suelen utilizar una función multitarea para penalizar tanto los errores de localización como los de clasificación.

  • Solución: Las redes neuronales convolucionales basadas en regiones muestran una clase de marco de detección de objetos que consiste en propuestas de generación de regiones en las que es probable que se encuentren los objetos, seguidas de un procesamiento de modelos CNN para clasificar y rectificar las ubicaciones de los objetos. El modelo Fast-R CNN puede mejorar los resultados iniciales con R-CNN. Como su nombre indica, este modelo R-CNN rápido proporciona una gran velocidad, pero la precisión también mejora sólo porque las tareas de localización y clasificación de objetos se optimizan utilizando una función multitarea.

Detección de velocidad en tiempo real

Los algoritmos de detección de velocidad de objetos siempre ha sido un problema importante para clasificar y localizar los objetos cruciales con precisión al mismo tiempo para cumplir con el procesamiento de vídeo en tiempo real. A lo largo de los años, varios algoritmos han mejorado el tiempo de prueba desde 0,02 fotogramas por segundo hasta 155 fps.

  • Solución: Los modelos Faster R-CNN y Fast R-CNN pretenden acelerar la velocidad original del enfoque R-CNN. Dado que R-CNN utiliza la búsqueda selectiva para producir 2000 regiones de interés candidatas y pasa por cada modelo basado en CNN de forma individual, esto puede causar un fuerte cuello de botella ya que el procesamiento del modelo se reduce. En cambio, el modelo R-CNN rápido transmite toda la imagen a través de la base CNN una vez y luego hace coincidir las ROIs creadas con la búsqueda selectiva con el mapa de características, considerando una reducción de 20 veces en el tiempo de procesamiento.

Múltiples relaciones de aspecto y escalas espaciales

Para varias aplicaciones de detección de objetos, los elementos de interés pueden aparecer en una enorme gama de relaciones de aspecto y tamaños. Los investigadores han probado numerosos métodos para garantizar que los algoritmos de detección sean capaces de reconocer diferentes objetos en diferentes vistas y escalas.

  • Solución: En lugar de la búsqueda selectiva, se ha actualizado la R-CNN más rápida con una red de propuesta de regiones que utiliza una pequeña ventana deslizante sobre el mapa de características convolucional de la imagen para producir regiones de interés candidatas. Se pueden predecir varias regiones de interés en diferentes posiciones y describirlas en relación con cajas de anclaje de referencia. El tamaño y la forma de estas cajas de anclaje se seleccionan para abarcar una gama de relaciones de aspecto y diferentes escalas. Permite identificar varios tipos de objetos con la esperanza de que las coordenadas de las cajas delimitadoras no tengan que ajustarse durante la tarea de localización.

Datos limitados

Uno de los hechos innegables que hay que tener en cuenta es la cantidad limitada de datos anotados, que se convierte en un obstáculo para construir una aplicación. Estos conjuntos de datos contienen específicamente ejemplos de la verdad sobre el terreno para docenas o cientos de objetos, mientras que los conjuntos de datos de clasificación de imágenes incluyen aproximadamente 100.000 clases diferentes.

  • Solución: Bueno, hay varios conjuntos de datos de imágenes disponibles en Internet, como el conjunto de datos COCO, ofrecido por Microsoft, que actualmente lidera algunos de los datos anotados de detección de objetos. Este conjunto de datos contiene 300.000 imágenes segmentadas con 80 categorías de objetos diferentes según las etiquetas de localización precisas. Cada imagen contiene una media de 7 objetos y elementos que aparecen a escalas muy grandes. Uno de los métodos más interesantes para reducir la escasez de datos es YOLO9000, la segunda versión de YOLO. YOLO9000 se ocupa de numerosas actualizaciones cruciales en YOLO, pero también pretende reducir la brecha del conjunto de datos entre la clasificación de imágenes y la detección de objetos. Además, entrena en paralelo tanto ImageNet como COCO, un conjunto de datos de clasificación de imágenes con decenas de miles de clases de objetos.

Reflexión final

Según las fuentes, la detección de objetos se considera mucho más difícil que la clasificación, concretamente por los problemas mencionados anteriormente. Los investigadores siguen aplicando grandes esfuerzos para mitigar estos obstáculos, que en ocasiones han dado resultados sorprendentes; sin embargo, aún persisten problemas importantes. Ciertamente, todos los modelos de detección de objetos tienen dificultades con los objetos pequeños, especialmente los que se juntan con oclusiones parciales. La detección en tiempo real con clasificación de objetos y precisión de localización sigue siendo un problema notable y los investigadores suelen dar prioridad a una u otra cosa a la hora de tomar decisiones de diseño. Como nota optimista, el seguimiento por vídeo podría ver algunos avances más en el futuro en una variedad de otros contextos.

En este artículo, he tratado de abordar brevemente los fundamentos de las técnicas de detección de objetos. Espero que este breve artículo te haya resultado útil.

¡Hasta pronto! 

Sobre el Autor

Jesús Martínez es el creador de DataSmarts, un lugar para los apasionados por computer vision y machine learning. Cuando no se encuentra bloggeando, jugando con algún algoritmo o trabajando en un proyecto (muy) cool, disfruta escuchar a The Beatles, leer o viajar por carretera.