Cómo construir una detección de daños en vehículos impulsada por la visión por computadora

Construyendo una detección de daños en vehículos impulsada por la visión por computadora

La visión por computadora, como componente integral de la inteligencia artificial, está ganando cada vez más relevancia en el sector de seguros. Su implementación brinda múltiples ventajas, como la automatización de procesos, reducción de costos, mayor precisión y una mejor experiencia para el cliente.

La tecnología de visión por computadora ofrece muchas oportunidades, incluyendo la sustitución de inspecciones manuales hasta cierto grado. Por eso, el equipo de Intelliarts encontró prometedor comenzar a trabajar en un proyecto automatizado de evaluación de daños en automóviles.

En esta exploración, profundizaremos en la experiencia del equipo de Intelliarts en la resolución de desafíos de detección de daños en automóviles utilizando la visión por computadora. Examinaremos algoritmos específicos que se pueden utilizar, explicaremos el proceso de entrenamiento y evaluación del modelo, y evaluaremos los beneficios potenciales de los algoritmos populares en el ámbito de los proyectos de visión por computadora.

Qué Algoritmos Pueden Resolver la Tarea de Detección de Daños en Automóviles

Para este propósito, los ingenieros utilizan el algoritmo de segmentación de imágenes. Su función es atribuir una u otra clase a un píxel en particular en base a ciertas características visuales, como color, textura, intensidad o forma. En el caso de la inspección de vehículos, la clase puede ser con daños o sin daños. El objetivo de la segmentación de imágenes es simplificar o cambiar la representación de una imagen a una forma más significativa, separar objetos del fondo y facilitar su análisis.

Los dos enfoques principales de la segmentación de imágenes son los siguientes:

Segmentación de Instancias

Con esta técnica de visión por computadora, se identifica y etiqueta cada objeto individual con un identificador único. El primer paso de la segmentación de instancias es la detección de objetos. En esta fase, un algoritmo de visión por computadora intenta detectar todos los objetos en la imagen y proporcionar un cuadro delimitador, es decir, una figura rectangular o cuadrada que rodea a cada objeto. Durante la clasificación realizada en áreas dentro de los cuadros delimitadores, el algoritmo calcula la confianza o la probabilidad de que el objeto en particular de interés pertenezca a una clase específica, como automóvil, árbol, persona, etc.

En el segundo paso de la técnica, el algoritmo realiza la segmentación en cada uno de los cuadros delimitadores y etiqueta cada píxel, indicando si pertenece a un objeto o no.

Otro requisito de la segmentación de instancias es el uso de máscaras de píxeles. Estas son imágenes binarias que se utilizan para identificar la ubicación de objetos o regiones de interés dentro de una imagen. A cada píxel de la máscara se le asigna un valor de 0 o 1, indicando si ese píxel pertenece al objeto o región de interés. Las máscaras de píxeles se pueden generar manualmente mediante la anotación de imágenes.

La forma en que funciona este algoritmo asegura que varias instancias del mismo objeto se diferencien entre sí, incluso si se superponen o están parcialmente ocultas por otros objetos en la imagen.

Segmentación Semántica

La técnica de segmentación semántica implica dividir una imagen en múltiples segmentos, cada uno de los cuales corresponde a un objeto o región de interés particular dentro de la imagen, y clasificarlos por separado. A diferencia de los métodos tradicionales de segmentación de imágenes que simplemente dividen una imagen en regiones arbitrarias según la similitud de píxeles, la segmentación semántica tiene como objetivo asociar cada segmento con una etiqueta semántica significativa, como persona, automóvil, edificio, árbol, etc.

La segmentación semántica trata múltiples objetos que pertenecen a la misma clase como una sola entidad. Puede indicar los límites, por ejemplo, de todas las personas, todos los automóviles o todos los edificios en la imagen, si es necesario. Es importante destacar que la segmentación semántica permite detectar daños solo sin distinguirlos. En cambio, la segmentación de instancias puede distinguir múltiples daños distintos entre sí.

Una vez entrenado, el modelo de segmentación semántica se puede utilizar para segmentar nuevas imágenes al propagarlas a través de la red y generar una máscara de segmentación a nivel de píxeles. Esta última funciona de manera similar a las máscaras de píxeles en la segmentación de instancias, pero asigna una etiqueta a cada píxel de una imagen en lugar de generar múltiples máscaras, una para cada instancia de un objeto.

La comparación real de instancias de la vida real y algoritmos de segmentación semántica con los conocimientos obtenidos se proporciona en las secciones siguientes.

Métricas de Aprendizaje Automático para la Evaluación del Rendimiento de un Modelo Entrenado

Las métricas de aprendizaje automático son medidas cuantitativas de qué tan bien un modelo está resolviendo una tarea dada. Ayudan a evaluar el rendimiento del modelo y proporcionan información sobre las fortalezas y debilidades del modelo.

Los valores de las métricas de aprendizaje automático se calculan en función de los resultados que el modelo muestra después de su prueba en un conjunto de datos previamente no utilizado. De esta manera, los ingenieros pueden evaluar el rendimiento potencial del modelo en datos de la vida real. Los resultados obtenidos guían la toma de decisiones, ya que es posible que los ingenieros necesiten volver a trabajar en el modelo varias veces antes de que su rendimiento sea satisfactorio.

Aquí está la lista de las principales métricas de segmentación de imágenes a considerar al probar un modelo para resolver tareas de detección de daños:

1. MIoU (Intersección Media sobre Unión)

Esta métrica mide la superposición promedio entre las máscaras de segmentación pronosticadas y las de verdad para cada clase en el conjunto de datos. MIoU se calcula mediante la computación de la IoU para cada clase y luego tomando la media en todas las clases. IoU = Intersección entre las máscaras pronosticadas y las de verdad para una clase / Unión entre las máscaras pronosticadas y las de verdad para una clase.

2. Precisión de Píxeles

Esta métrica mide el porcentaje de píxeles en una imagen que son clasificados correctamente por el modelo. Precisión de píxeles = Número de píxeles clasificados correctamente / Número total de píxeles en la imagen.

3. Coeficiente de Dice

En la segmentación de imágenes, el coeficiente de Dice mide la superposición entre los píxeles de las máscaras de segmentación pronosticadas y las de verdad en una escala de 0 a 1, donde 0 significa ninguna superposición y 1 indica una coincidencia perfecta. Coeficiente de Dice = 2 * número de píxeles clasificados correctamente por ambas máscaras / número total de píxeles en ambas máscaras.

En nuestra investigación sobre el rendimiento de los modelos de segmentación de instancias y segmentación semántica detallada a continuación, el equipo de Intelliarts utilizó las métricas de MIoU y Coeficiente de Dice para medir los resultados de las pruebas.

Ejemplos de Arquitecturas de IA en la Vida Real

Seleccionar la arquitectura de IA adecuada es un paso crucial en cualquier proyecto de ML. Una solución sabiamente elegida puede beneficiar los resultados ofreciendo una mayor precisión en el proceso de segmentación, una mayor velocidad de procesamiento y una alta eficiencia en el uso de recursos. Además, puede suceder que algunas arquitecturas sean más adecuadas para aplicaciones en tiempo real o casi en tiempo real, mientras que otras pueden ser más adecuadas para el procesamiento por lotes de grandes conjuntos de datos, lo cual también debe considerarse cuidadosamente.

Existen algunas arquitecturas de segmentación de imágenes que se han probado ampliamente y son bastante populares. Entre ellas se encuentran Mask R-CNN y U-net, que son precisamente los algoritmos utilizados por el equipo de Intelliarts para probar técnicas de segmentación de instancias y segmentación semántica para resolver tareas de detección de daños en automóviles. Estas permiten a los ingenieros utilizar técnicas de ajuste fino sobre pesos pre-entrenados, es decir, modelos que se han pre-entrenado en un gran conjunto de datos. De esta manera, no es necesario entrenar un modelo desde cero, lo cual es una tarea que consume muchos recursos.

Echemos un vistazo a qué son estos algoritmos:

Mask R-CNN

Mask R-CNN (Red de Convolución basada en Regiones con máscaras) es una arquitectura de aprendizaje profundo para detección de objetos y segmentación de instancias. Está construido sobre el modelo de detección de objetos Faster R-CNN y tiene una parte de segmentación, es decir, un subconjunto de capas que operan en los datos de entrada.

Mask R-CNN funciona en dos etapas. En la primera etapa, genera propuestas de regiones utilizando una Red de Propuesta de Regiones (RPN), que sugiere regiones de la imagen que probablemente contengan objetos. En la segunda etapa, realiza la detección y segmentación de objetos al predecir simultáneamente etiquetas de clase, cuadros delimitadores y máscaras para cada propuesta.

U-Net

U-Net es una arquitectura de red neuronal convolucional diseñada para tareas de segmentación de imágenes. Es increíblemente popular para resolver tareas de segmentación de imágenes médicas, como la segmentación de tumores cerebrales, segmentación de células y segmentación de pulmones. También se ha adaptado para otras aplicaciones de segmentación de imágenes, como la segmentación de carreteras en conducción autónoma.

La arquitectura U-Net tiene una forma distintiva de “U”, que se forma mediante operaciones de muestreo y des-muestreo. La red tiene un camino de contracción, que captura el contexto y reduce el tamaño de la imagen de entrada, y un camino de expansión, que permite una localización precisa y aumenta el tamaño de los mapas de características. En esencia, la red puede recuperar información detallada sobre los objetos que se están segmentando, al mismo tiempo que captura el contexto y la estructura global de la imagen.

Segmentación de Instancias (Mask R-CNN) vs. Segmentación Semántica (U-Net) Basado en Observación de la Vida Real

En nuestra investigación reciente, el equipo de Intelliarts probó dos arquitecturas populares de redes neuronales utilizadas para tareas de segmentación de imágenes: Mask R-CNN y U-net. Ambos algoritmos de visión por computadora fueron entrenados y luego probados utilizando los mismos conjuntos de datos. Utilizamos datos previamente limpiados y empaquetados de los conjuntos de datos disponibles públicamente Coco car damage detection y Segme.

A pesar de que Mask R-CNN tiene una arquitectura más compleja y procesa las propuestas de región en lugar de la imagen completa, las pruebas revelaron que U-net, como algoritmo basado en segmentación semántica, tiene un mejor rendimiento.

U-net mostró resultados óptimos en la primera parte de la prueba cuando se utilizaron los algoritmos de IA para identificar daños en automóviles y evaluar su magnitud. Además, en la segunda parte, cuando los ingenieros de Intelliarts hicieron que los modelos de visión por computadora identificaran las partes dañadas del automóvil y las reconocieran, Mask R-CNN también tuvo un mejor desempeño. Esto llevó a nuestro equipo a concluir que el modelo de segmentación semántica, particularmente el probado U-net, es actualmente la mejor elección cuando se trata de una inspección de daños en vehículos.

Puede probar una demostración en línea que presenta un área de juego interactiva para el modelo de IA entrenado. La demostración muestra las capacidades de un modelo habilitado para la visión por computadora para detectar daños en automóviles según una imagen de entrada o un fotograma de video.

Cómo entrenar un modelo de IA

Las redes neuronales profundas se utilizan con éxito para resolver problemas de visión por computadora y otras tareas. Muchas soluciones de vanguardia construidas con esta tecnología se utilizan con éxito en seguros y otros nichos. El entrenamiento de un modelo de aprendizaje profundo comprende los siguientes pasos:

Preparación de datos

Los algoritmos de IA requieren grandes cantidades de datos digitales contenidos en fotos y videos para entrenar. Existe una fuerte correlación entre el volumen y la calidad de los datos y los resultados del entrenamiento. Incluso existe un concepto conocido como basura adentro, basura afuera (GIGO), que significa que los datos de entrada sin sentido producen resultados sin sentido. Por lo tanto, se recomienda encontrar o preparar conjuntos de datos extensos. En el caso de la evaluación de vehículos, es necesario contar con muestras de alta calidad de vehículos dañados con deterioros variados desde diferentes ángulos, con diferentes condiciones de iluminación, etc.

La anotación de datos, es decir, la categorización y etiquetado de datos para aplicaciones de IA, se utiliza para que el modelo comprenda qué información digital en los materiales visuales es exactamente y por qué es importante. Para entrenar el modelo de IA para la evaluación de vehículos, los ingenieros necesitan conjuntos de datos, cuyas imágenes se hayan anotado de las siguientes dos formas:

  • Detección de daños: cuando se recopila un conjunto diverso de diferentes tipos de daños, es necesario etiquetar y marcar los objetos de interés con metadatos relevantes utilizando un polígono o un pincel. No es necesario agregar cuadros delimitadores ya que el modelo los genera automáticamente. Sin mencionar que los cuadros delimitadores innecesarios pueden crear superposiciones y confundir al modelo en entrenamiento.
  • Detección de partes del automóvil: Esta anotación de datos es una etapa paralela necesaria para la detección de daños. El etiquetado ayudará al modelo a reconocer las partes específicas del vehículo que están expuestas a daños e incluso a calcular su área en unidades de medida preferidas.

El etiquetado de imágenes es uno de los aspectos más intensivos en tiempo y recursos para entrenar un modelo de IA para aplicaciones de visión por computadora. Seleccionar objetos en función de píxeles y asignar etiquetas correctas que describan objetos y sus diversos atributos o características requiere trabajo intenso en tiempo. El método es el etiquetado manual, cuando los humanos anotan las imágenes a mano. Sin embargo, la ayuda de algoritmos de aprendizaje automático puede automatizar y simplificar en cierta medida la tarea.

En nuestro caso, utilizamos imágenes que ya habían sido etiquetadas correctamente de los conjuntos de datos de código abierto mencionados anteriormente. Se considera el uso de datos preclasificados y empaquetados. Otros métodos de recopilación de datos incluyen la subcontratación personalizada de datos, la creación de una colección privada y la recopilación automática de datos a través de la extracción y el rastreo web.

Existen algunas mejores prácticas de recopilación de datos que debemos tener en cuenta. Incluyen determinar el problema y el objetivo del proyecto de ML, establecer canalizaciones de datos, establecer mecanismos de almacenamiento, evaluar los datos recopilados y recopilar datos concisos alineados con los objetivos del proyecto.

Entrenamiento

Una vez que la recopilación de datos y la anotación están completas, se introduce el conjunto preparado de datos de entrenamiento en el modelo de visión por computadora. En esta etapa, es crucial identificar los errores que comete el modelo para realizar ajustes necesarios más adelante con el fin de evitar el equilibrio incorrecto entre sesgo/varianza que resulta en problemas de sobreajuste y subajuste.

El problema de subajuste ocurre cuando un modelo no puede capturar con precisión la relación entre las variables de entrada y salida. Se puede resolver simplificando el modelo.

El problema de sobreajuste es un escenario en el que el modelo está tan familiarizado con los datos de entrenamiento que el algoritmo se vuelve restringido y sesgado. De esta manera, no funcionará cuando haya alguna discrepancia considerable en los datos. Este problema se puede resolver complicando el modelo, ampliando el conjunto de datos de entrenamiento o utilizando la ampliación de datos.

Después de entrenar con el conjunto de datos inicial, el modelo pasa a la fase de validación. En esta fase, el algoritmo de IA trabaja con el conjunto de datos de validación, lo que permite a los ingenieros comprobar sus suposiciones sobre el rendimiento del modelo. Cualquier deficiencia, variables no consideradas y otros errores deben ser revelados en esta etapa.

Pruebas

Después de que el entrenamiento y la validación se hayan completado con éxito, el modelo de visión por computadora debe ser probado por última vez. Normalmente, el conjunto final o de retención está compuesto por datos con los que el modelo aún no ha trabajado. Los datos están etiquetados para que los ingenieros puedan calcular la precisión del modelo. El modelo se ejecuta en un conjunto de datos así solo una vez, y los resultados se consideran una precisión potencial que el modelo mostrará en datos del mundo real. Es importante determinar si el modelo entrenado es capaz de producir resultados precisos con una consistencia aceptable.

Por lo general, todo el proceso de entrenamiento se repite desde el primer paso varias veces, ya que los desarrolladores pueden necesitar preparar otro conjunto de datos o modificar el modelo. Después de varios intentos, se elige el modelo que muestra los mejores resultados y se considera listo para ponerlo en funcionamiento.

La solución de IA de dos modelos de Intelliarts

Los ingenieros de Intelliarts han creado una solución de software compuesta por dos modelos de IA, uno de los cuales se utiliza para detectar daños en automóviles y otro para detectar partes de automóviles. Así, cuando un usuario ingresa la imagen de un automóvil dañado en la solución resultante, indica el daño y identifica la parte afectada por separado. De esta manera, los resultados del procesamiento de imágenes son daños identificados y partes de automóviles especificadas. Si se intersectan, la solución muestra los resultados, por ejemplo, como “puerta izquierda – abolladura”. Los resultados se comparan luego con casos similares en una base de datos de imágenes preparada con estimaciones de costos de reparación.

El valor de la solución de IA para la detección de daños en automóviles

La solución de software terminada es capaz de reconocer partes de automóviles específicas, detectar y categorizar múltiples tipos de daños, como daños en metal o vidrio y desplazamiento o reemplazo de partes de automóviles, evaluar la gravedad del daño e indicar los costos de reparación estimados. La funcionalidad de un modelo de IA entrenado debería ser suficiente para resolver la mayoría de las reclamaciones de seguros por daños automovilísticos simples con poca supervisión humana.

No hace falta decir que la elección de un algoritmo específico o una combinación de algoritmos, el entrenamiento de modelos de IA y luego la construcción de una solución de software final deben estar estrechamente vinculados a la realización de un conjunto de tareas especializadas.

Para los propietarios de productos, el objetivo final de los proyectos de visión por computadora es aplicar la tecnología en la industria del seguro y obtener beneficios comerciales que incluyan lo siguiente:

  • Optimización de costos: La detección automatizada se puede realizar a un costo mucho menor en comparación con la inspección manual, lo que resulta en ahorros significativos para las compañías de seguros.
  • Reducción de tareas intensivas en mano de obra: Automatizar la gran mayoría de los casos de inspección de automóviles puede reducir la carga de trabajo para el personal de la compañía de seguros y permitirles centrarse en otras tareas críticas.
  • Mayor precisión: Los sistemas automatizados pueden analizar imágenes del automóvil con mayor precisión, identificando incluso pequeños daños que podrían haber sido pasados por alto por los inspectores humanos.
  • Procesamiento de reclamos más rápido: La detección automatizada de daños en automóviles puede acelerar el tiempo de procesamiento de reclamos, lo que permite a las compañías de seguros resolver reclamos más rápidamente. Esto puede resultar en una mayor satisfacción y retención de los clientes.

Pensamientos finales

Llevar a cabo inspecciones de vehículos es una parte intensiva en mano de obra de la industria del seguro. Para agilizar el procesamiento de reclamos, especialmente en casos que involucran la evaluación de daños automovilísticos, las compañías pueden aprovechar las metodologías de visión por computadora. Los algoritmos de segmentación de imágenes desempeñan un papel fundamental en la ejecución de estas tareas. Sin embargo, el paso crucial implica seleccionar de manera cuidadosa una arquitectura óptima de red neuronal, como Mask R-CNN, U-net u otras, para el desarrollo del modelo. Esto implica un riguroso entrenamiento utilizando técnicas de anotación de datos y una posterior evaluación del rendimiento.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Red de robots monitoriza tuberías utilizando sensores de ondas acústicas

Investigadores demostraron que los sensores de ondas acústicas guiadas pueden permitir que redes de robots independie...

Inteligencia Artificial

Los mejores cursos de IA de universidades con listas de reproducción de YouTube

¡Inicia una nueva carrera o desarrolla la actual con estas listas de reproducción de YouTube de universidades confiab...

Inteligencia Artificial

Stability AI lanza el primer modelo japonés de visión y lenguaje

La creación y formulación de un modelo único y completo capaz de manejar una variedad de tareas definidas por el usua...

Inteligencia Artificial

Las Pruebas Asistidas por Computadora Abordan el Flujo de Fluidos

Los investigadores utilizan computadoras para demostrar que las ecuaciones pueden explotar.

Inteligencia Artificial

Investigadores de Microsoft Research y Georgia Tech revelan los límites estadísticos de las alucinaciones en los modelos de lenguaje

Un problema clave que ha surgido recientemente en los Modelos de Lenguaje es la alta tasa a la que proporcionan infor...