Transfer learning con mask R-CNN en los rooftops de Madrid

¡Hola!👋Soy Ana Blanco Delgado

Científico de datos, exploradora de IA.

Tabla de contenidos

¿Alguna vez has reflexionado sobre el impacto que la tecnología puede tener en nuestra percepción del mundo que nos rodea? Bienvenido al fascinante cruce entre la inteligencia artificial y la visión por computadora, donde estas dos potentes fuerzas se unen para desatar un potencial verdaderamente asombroso. Con transfer learning, podemos aprovechar la sabiduría acumulada de modelos previamente entrenados, mientras que Mask R-CNN nos sumerge en un mundo de precisión increíble, permitiéndonos detectar y segmentar objetos de una manera que desafía toda expectativa.

Pues con el framework Mask R-CNN, junto con el poder del transfer learning, se da un gran salto hacia delante en la visión artificial. Este increíble marco de aprendizaje profundo no solo ofrece una precisión sin igual en la segmentación de instancias, sino que también es eficiente, versátil y fácil de usar. ¿el resultado? Una herramienta imprescindible para una amplia gama de aplicaciones, desde la inspección de productos hasta el control de tráfico y la robótica.

¿Qué es transfer learning y cómo funciona?

Es una técnica que permite a un modelo de IA aprender una nueva tarea utilizando el conocimiento que ya tiene de otra tarea similar. Ejemplo: Transfer learning es como cuando aprendes a tocar la guitarra y luego decides aprender a tocar el bajo. Como ya tienes experiencia con la guitarra, puedes aplicar parte de ese conocimiento al aprender a tocar el bajo, cómo entender la teoría musical o la coordinación de las manos. De esta manera, te resulta más fácil y rápido aprender el nuevo instrumento. 

¿Como funciona transfer learning? Primero debes entrenar un modelo de IA para una tarea específica, que se convierte en el “mentor”. Luego este modelo entrenado se utiliza para asistir en el entrenamiento de un nuevo modelo para una tarea similar, el cual sería el «aprendiz». El aprendiz, de esta manera, aprovecha el conocimiento y la experiencia del mentor para mejorar su desempeño de manera más eficiente. Es como recibir orientación y tutoría de un experto en el campo para acelerar el aprendizaje y mejorar las habilidades de forma más efectiva.

¿Por qué es tan útil?

  • Ahorra tiempo y recursos: No es necesario empezar desde cero con el entrenamiento del nuevo modelo.
  • Mejora la precisión: El nuevo modelo puede aprender de los errores y aciertos del modelo mentor.
  • Permite realizar tareas más complejas: Al combinar el conocimiento de diferentes tareas, el nuevo modelo puede realizar cosas que no podría hacer por sí solo.

¿Qué es Mask R-CNN y por qué es genial?

Mask R-CNN es un modelo avanzado de inteligencia artificial utilizado en visión por computadora. Este modelo tiene la capacidad de detectar, segmentar y clasificar objetos en imágenes y videos. Es una herramienta sofisticada que proporciona resultados precisos y confiables en el análisis de imágenes, lo que lo hace invaluable en una variedad de aplicaciones.

¿Cómo funciona Mask R-CNN?

Detección de Objetos: En primer lugar, Mask R-CNN examina una imagen en busca de objetos. Utiliza técnicas avanzadas de reconocimiento de patrones para identificar diferentes elementos, como personas, animales, vehículos u objetos.

Segmentación de Instancias: Una vez que detecta un objeto, Mask R-CNN no se detiene ahí. Va un paso más allá y realiza una segmentación precisa del objeto. Esto significa que puede delinear con precisión, incluso si está parcialmente oculto o superpuesto con otros elementos en la imagen.

Clasificación: Además de detectar y segmentar objetos, Mask R-CNN también los clasifica. Puede decirte qué tipo de objeto es cada uno, lo que añade una capa adicional de comprensión a la imagen.

¿Qué hace que Mask R-CNN sea genial?

Precisión: ¿Te imaginas tener una vista tan aguda como la de un halcón? Mask R-CNN puede hacerlo realidad. Con una precisión increíble, puede identificar objetos incluso en las imágenes más complejas.

Velocidad: Mask R-CNN procesa imágenes y videos a una velocidad asombrosa, permitiéndonos obtener resultados rápidos y precisos en un abrir y cerrar de ojos.

Flexibilidad: Con Mask R-CNN, es posible. Puede usarse para una amplia variedad de tareas, desde inspeccionar productos hasta analizar imágenes médicas, ¡sin importar el desafío que se presente!

Facilidad de uso: es una herramienta amigable y fácil de usar, ¡incluso si no eres un experto en tecnología! Con su interfaz intuitiva, cualquiera puede empezar a usarlo en poco tiempo.

Beneficios de combinar transfer learning con Mask R-CNN:

  • Ahorro de tiempo y recursos: Con Transfer Learning, el modelo Mask R-CNN puede comenzar con una base sólida de conocimiento previo, lo que significa menos tiempo gastado en entrenamiento y más tiempo para enfocarse en las cosas emocionantes.
  • Mejora de la precisión:  Al aprovechar el conocimiento de modelos previamente entrenados, el modelo Mask R-CNN puede ser más preciso en la detección y segmentación de objetos. 
  • Adaptabilidad a nuevos conjuntos de datos: Con Transfer Learning, el modelo puede adaptarse fácilmente a nuevos desafíos, como si estuviera aprendiendo a surfear en diferentes olas. Puede transferir lo que ha aprendido antes y aplicarlo a nuevas situaciones sin problemas.
  • Reducción del riesgo de sobreajuste: Se puede evitar la trampa del sobreajuste al aprender de manera más equilibrada y adaptarse a una variedad de situaciones de manera más flexible.
  • Aumento de la eficiencia del entrenamiento: Al comenzar con un modelo pre entrenado, el entrenamiento del modelo Mask R-CNN se vuelve más eficiente y efectivo, como si estuviera montando en bicicleta cuesta abajo en lugar de subir una montaña empinada.

¡Hora de la Práctica! Implementando transfer learning con Mask R-CNN en un proyecto de Visión Artificial 

Este proyecto fue parte de mi experiencia en el Bootcamp de Data Science en The Bridge, se centró en el transfer learning como trabajo individual de machine learning. Mi background relacionado con la imagen y el vídeo me ha arrastrado a tareas de Computer Vision. La inspiración para este proyecto surgió mientras escuchaba un increíble podcast de Data Stand-Up! con David Rey, Chief Data Officer en Idealista. En la entrevista se menciona el proyecto de Idealista Energy que ofrece información sobre los tejados y su posible aprovechamiento para la instalación de paneles solares (área del tejado, número de paneles solares a instalar, coste aproximado de su instalación, cálculo de ahorro posterior en el consumo energético…).

El objetivo de este proyecto es explorar el servicio de Idealista Energy e identificar tejados residenciales, piscinas y áreas deportivas en imágenes aéreas de la Comunidad de Madrid. Para lograrlo use el framework Mask R-CNN (Mask Región Convolutional Neural Network), ¡una herramienta increíblemente poderosa! Con este framework, pudimos detectar, clasificar y segmentar imágenes de manera precisa y eficiente. Lo mejor de todo es que nos permitió identificar los tejados por su forma. Además, aprovechamos el transfer learning al utilizar una red ResNet101 pre entrenada con el dataset de imágenes MS COCO para darle un impulso adicional a nuestro modelo.

Dataset

Así que aquí está el plan: descargué 102 imágenes de Google Maps, todas ellas con un zoom fijo de 19. Luego, las etiqueté utilizando el software VGG Imagen Annotator (VIA), En total, etiqueté 2,291 instancias con polígonos y les asigné una clase.

Entrenamiento

Después de haber preparado todo con las clases necesarias para cargar el dataset y configurar el modelo según las especificaciones de Mask R-CNN, ¡nos pusimos manos a la obra! Entrenamos el modelo con las 69 imágenes y sus 1,488 máscaras a lo largo de 80 epochs. Evalué con el Mean Average Precision (mAP@IoU=50) cada epoch resultando el modelo del epoch 60 el mejor con los siguientes valores: 

Evaluación modelo epoch 60:

Train_set mAP@50: 0.720
Test_set mAP@50: 0.624

Estos valores sugieren seguir entrenando el modelo, posiblemente con un dataset mayor, pero con tan solo 69 imágenes y 60 epochs se ha conseguido un mAP@IoU=50 de 0.624, así que el proyecto se presenta prometedor.

Para comprender mejor los resultados revisé las predicciones del modelo con el dataset de validación. Tenía la intuición de que el modelo estaba haciendo un buen trabajo segmentando residencias aisladas, pero quizás no tanto con los adosados o edificios. ¡Así que manos a la obra! Aquí te muestro ambos casos para que veas lo que encontré. Y sí, todo esto es parte del proceso.

Ejemplo de predicción y evaluación en imagen con edificios

Transfer learning

Ejemplo de predicción y evaluación en imagen con casas o chalets

Auc pr learning

Entonces, llegamos al final de este ejercicio, nuestro modelo está haciendo un gran trabajo con las imágenes de zonas residenciales aisladas, como casas y chalets. ¡Es una excelente noticia! Además, hemos notado que el rendimiento es particularmente sólido cuando el número de instancias en las imágenes no supera las 20. Esto nos da una visión clara de dónde brilla nuestro modelo y nos ofrece una guía valiosa para futuras mejoras y ajustes. Además, gracias al transfer learning que aplicamos, hemos podido potenciar aún más la capacidad de nuestro modelo para adaptarse a diferentes escenarios.

Historias de Éxito: proyectos que han brillado con transfer learning y segmentación de imagen

Aquí te explicaremos cómo la inteligencia artificial y la visión por computadora, son poderosos conceptos que se combinan para crear soluciones innovadoras y sorprendentes. Desde la detección de objetos hasta la segmentación de imágenes, descubriremos como transfer learning y modelos de segmentación de instancia están impulsando proyectos en una amplia variedad de campos.

Inspección de productos

  • Industria automotriz: Inspección de piezas de automóviles para detectar defectos en la pintura, soldaduras y ensamblaje.
  • Industria alimentaria: Detección de defectos en frutas, verduras y otros productos alimenticios.
  • Industria farmacéutica: Inspección de medicamentos y dispositivos médicos para garantizar su calidad.

Monitorización de seguridad

  • Detección de intrusiones: Detección de personas y objetos que no están autorizados en áreas restringidas.
  • Reconocimiento facial: Identificación de personas en imágenes y videos para seguridad y control de acceso.
  • Análisis de comportamiento: Detección de actividades sospechosas como peleas o vandalismo.

Control de Tráfico

  • Detección de vehículos: Detección y seguimiento de vehículos en tiempo real para mejorar la seguridad vial y la gestión del tráfico.
  • Monitoreo de intersecciones: Detección de infracciones de tráfico y exceso de velocidad.
  • Análisis de patrones de tráfico: Recopilación de datos sobre el comportamiento del tráfico para optimizar la infraestructura vial.

Reflexión

Una de las posibilidades que nos depara el futuro de los modelos de segmentación de imágenes en el transfer learning es su capacidad para adaptarse a nuevos dominios y tareas con relativa facilidad. Al aprovechar el conocimiento preexistente de modelos pre entrenados, los desarrolladores pueden acelerar significativamente el proceso de entrenamiento y obtener resultados más precisos en menos tiempo.

Pero esto es solo el principio en cuanto a descubrir nuevas técnicas y modelos de IA se refiere. Te invitamos a seguir explorando y aprendiendo sobre otros modelos como YOLO y cómo se aplican en diferentes dominios. Sigue explorando el mundo de la inteligencia artificial y descubre todas las posibilidades que nos esperan

 

contacta

Desarrolla tu siguiente proyecto de Data, IA, Cloud o Transformación Digital con nosotros. Empieza hablando con nuestro equipo comercial.

Tech Matters

La Newsletter mensual para conocer los proyectos de tecnología e inteligencia artificial que están teniendo un impacto positivo en el mundo.

Plazas limitadas

Próximo evento
Lead&Inspire: Aplicación de IA en entornos de desarrollo de software