¿Se puede usar el filtro Gabor para detectar abolladuras en los automóviles?


16

Estoy investigando los filtros Gabor para detectar abolladuras en los automóviles. Sé que los filtros Gabor han tenido un uso generalizado para el reconocimiento de patrones, reconocimiento de huellas digitales, etc.

Tengo una imagen

Imagen en bruto

Usando un código del sitio de intercambio de archivos MathWorks, obtuve el siguiente resultado.

Imagen procesada

que de alguna manera no es el resultado que uno esperaría. Este no es un buen resultado.

El mi script es el siguiente:

I = imread('dent.jpg');
I = rgb2gray(I);
[G, gabout] = gaborfilter1(I, 2, 4, 16, pi/2);
figure
imshow(uint8(gabout));

EDITAR: aplicando un código diferente a la siguiente imagen:

imagen de entrada

Imagen de salida después de diferentes orientaciones del filtro gabor:

ingrese la descripción de la imagen aquí

¿Cómo aíslo este DENT que se está detectando correctamente?


1
I = imread ('dent.jpg'); I = rgb2gray (I); [G, gabout] = gaborfilter1 (I, 2,4,16, pi / 2); figura, imshow (uint8 (gabout)); Han utilizado los siguientes parámetros
vini

¿Que estas preguntando?
Andrey Rubshtein

2
¿Qué tiene el filtro Gabor que te hace pensar que es adecuado para este problema?
Nzbuu

Es posible mediante el procesamiento de imágenes, el estilo es siempre uniforme y la abolladura no es uniforme, habrá pocas posibilidades de que una abolladura tenga un borde no uniforme. Puede ser un análisis de patrón del borde de la abolladura.

Respuestas:


21

Este es un problema extremadamente difícil. Fui parte de un equipo que trabajó en él durante varios años, y después de haber desarrollado y apoyado otras aplicaciones similares durante mucho tiempo, puedo decir que la detección de abolladuras es un problema particularmente complicado y mucho más difícil de lo que parece al principio.

Hacer que un algoritmo funcione en condiciones de laboratorio o en imágenes conocidas es una cosa; El desarrollo de un sistema que sea preciso y robusto para imágenes "naturales" como los automóviles vistos en un estacionamiento probablemente requeriría un equipo que trabaje durante varios años. Además del problema central de crear el algoritmo, existen muchas otras dificultades de ingeniería.

El código de muestra que probó no es un mal comienzo. Si pudiera encontrar los bordes alrededor del lado derecho oscuro de la abolladura, podría comparar el mapa de bordes del automóvil con el ding con un mapa de bordes de un automóvil bueno conocido fotografiado desde el mismo ángulo con la misma iluminación. Controlar la iluminación ayudará bastante.

Los problemas a considerar incluyen los siguientes:

  1. Iluminación (mucho más difícil de lo que parece al principio)
  2. Superficie 3D esperada del panel exterior ensamblado (por ejemplo, a partir de datos CAD)
  3. Criterios que caracterizan una abolladura: área, profundidad, perfil, etc.
  4. Criterios para falsos negativos y falsos positivos
  5. Medios para guardar datos de abolladuras y / o abolladuras de mapa en un modelo del automóvil (o diseño de mariposa)
  6. Metodología y dispositivo para medir características de abolladuras "verdaderas": profundidad, área, etc.
  7. Amplia base de datos de abolladuras de una muestra aleatoria de vehículos
  8. Manejo de diferentes colores y acabados de pintura.

1. Iluminación Como Martin B señaló correctamente arriba, la iluminación correcta es crítica para este problema. Incluso con una buena iluminación estructurada, tendrá grandes dificultades para detectar abolladuras pequeñas cerca de líneas características, espacios entre paneles, manijas, etc.

La entrada de Wikipedia para la iluminación estructurada es un poco delgada, pero es un comienzo para entender el principio: http://en.wikipedia.org/wiki/Structured_light

Se pueden usar franjas de luz para detectar entradas (abolladuras) y salidas (espinillas). Para ver un ding, necesitará un movimiento relativo entre la fuente de luz y el automóvil. O bien la luz + cámara se mueven juntas en relación con el automóvil, o el automóvil se mueve más allá de la luz + cámara.

Aunque las entradas y salidas tienen apariencias características cuando se ven en el borde de una franja clara, la detectabilidad de una abolladura determinada depende del tamaño y la profundidad de la abolladura en relación con el ancho de la franja clara. La curvatura de un automóvil es compleja, por lo que es bastante difícil presentar una franja de luz constante a la cámara. A medida que la franja de luz se mueve a través de la carrocería del automóvil, la curvatura e incluso la intensidad de la franja de luz variarán.

Una solución parcial es garantizar que la cámara y la franja de luz siempre estén en un ángulo consistente con respecto a la normal (la perpendicular 3D) de la parte de la superficie que se está inspeccionando. En la práctica, se requeriría un robot para mover la cámara con precisión en relación con la superficie del cuerpo. Mover el robot con precisión requiere conocer la postura (posición y ángulos 3D) de la carrocería del automóvil, lo cual es un problema desagradable en sí mismo.

Para cualquier inspección para aplicaciones automotrices, debe controlar completamente la iluminación. Eso significa no solo colocar luces de su elección en lugares conocidos, sino también bloquear todas las demás luces. Esto significará un recinto bastante grande. Como los paneles del automóvil están curvados hacia afuera (casi como una superficie esférica), reflejarán la luz de las fuentes a su alrededor. Para simplificar en gran medida este problema, puede usar una barra fluorescente de alta frecuencia dentro de un recinto cubierto con terciopelo negro. Muy a menudo es necesario ir a extremos como ese para las aplicaciones de inspección.

2. Superficie 3D La superficie exterior de un automóvil está compuesta de curvas complejas. Para saber si un lugar sospechoso es una falla, debe comparar ese lugar con las características conocidas del automóvil. Eso significa que necesitaría hacer coincidir la imagen 2D de una cámara con un modelo 3D visto en cierto ángulo. Este no es un problema resuelto rápidamente, y es lo suficientemente difícil de hacer bien como para que algunas compañías se especialicen en él.

3. Caracterización de defectos Para la investigación académica o las pruebas de laboratorio, puede ser suficiente desarrollar un algoritmo que promete o mejora un método existente. Para resolver adecuadamente este problema para uso comercial o industrial real, debe tener una especificación altamente detallada para las abolladuras de tamaño que desea detectar.

Cuando abordamos este problema, no había estándares razonables de la industria o nacionales para abolladuras (deformaciones 3D). Es decir, no había una técnica acordada para caracterizar una abolladura por su área, profundidad y forma. Acabamos de recibir muestras que, según los expertos de la industria, eran malas, no demasiado malas y marginales en términos de gravedad. Definir la "profundidad" de un ding también es complicado, ya que un ding es una muesca 3D en (típicamente) una superficie 3D que se curva hacia afuera.

Las abolladuras más grandes son más fáciles de detectar, pero también son menos comunes. Un trabajador automotriz experimentado puede escanear la carrocería de un automóvil rápidamente, mucho más rápido que un observador no capacitado, y encontrar abolladuras superficiales del tamaño de su dedo meñique rápidamente. Para justificar el costo de un sistema automatizado, es probable que tenga que igualar la capacidad de un observador experimentado.

4. Criterios para errores de detección Al principio, debe establecer criterios para falsos negativos y falsos positivos aceptables. Incluso si solo está estudiando este problema como un proyecto de I + D y no tiene la intención de desarrollar un producto, intente definir sus criterios de detección.

falso negativo: abolladura presente, pero no detectada falso positivo: área intacta identificada como abolladura

Por lo general, hay una compensación: aumente la sensibilidad y encontrará más dings (disminuya los falsos negativos), pero también encontrará más dings que no están allí (aumente los falsos positivos). Es bastante fácil convencerse de que un algoritmo funciona mejor de lo que realmente lo hace: nuestro sesgo natural es notar defectos detectados por el algoritmo y explicar los que no ha detectado. Realizar pruebas ciegas y automatizadas. Si es posible, haga que otra persona mida los golpes y asigne gravedad para que no sepa cuáles son las medidas reales.

5. Guardar datos y / o mapearlos Una abolladura se caracteriza por su gravedad y su ubicación en la carrocería del automóvil. Para conocer su ubicación, debe resolver el problema de correspondencia 2D a 3D mencionado anteriormente.

6. Determinar la forma "verdadera" de las abolladuras Las abolladuras son difíciles de medir. Una abolladura afilada y una abolladura redondeada de la misma superficie y profundidad aparecerán diferentes. La medición de abolladuras por medios mecánicos conduce a juicios subjetivos, y también es bastante tedioso usar medidores de profundidad, reglas, etc., cuando es probable que tengas que medir docenas si no más.

Este es uno de los problemas de ingeniería más difíciles de resolver para cualquier proyecto de detección de defectos para la fabricación: ¿cómo se mide un defecto y se lo caracteriza? Si hay una norma para hacerlo, ¿se correlaciona bien con algo que mide el sistema de inspección? si el sistema de inspección no encuentra un ding que "debería haber" encontrado, ¿quién tiene la culpa?

Dicho esto, si un sistema de inspección funciona lo suficientemente bien para una muestra de defectos conocidos, los usuarios pueden llegar a confiar en él y el sistema en sí se convierte en el estándar para definir la gravedad del defecto.

7. Amplia base de datos de abolladuras Idealmente, tendría cientos, si no miles, de imágenes de muestra de abolladuras de diferentes severidades en diferentes ubicaciones en vehículos de fabricantes difíciles. Si está interesado en encontrar abolladuras causadas por accidentes durante el proceso de ensamblaje, podría tomar mucho tiempo recopilar ese tipo de datos. Las abolladuras causadas durante el proceso de ensamblaje no son comunes.

Si solo está interesado en encontrar abolladuras causadas por accidentes o daños ambientales, entonces ese es un asunto diferente. Los tipos de abolladuras serán diferentes de los causados ​​por golpes accidentales dentro de una planta de ensamblaje automático.

8. Manejo de diferentes colores de pintura Es cierto que los detectores de bordes pueden ser razonablemente robustos para detectar bordes en imágenes de diferentes niveles de contraste, pero puede ser bastante desalentador ver lo que realmente significa "diferentes niveles de contraste" para diferentes pinturas y acabados automotrices. . Una franja ligera que se ve muy bien en un automóvil negro brillante podría ser apenas detectable en un automóvil blanco con pintura vieja.

La mayoría de las cámaras tienen un rango dinámico relativamente limitado, por lo que es difícil lograr un buen contraste tanto para las superficies negras brillantes como para las superficies opacas blancas. Es muy probable que tenga que controlar automáticamente la intensidad de la iluminación. Eso también es difícil.


¿No hay una base de datos de imágenes que podría obtener en abolladuras? y brillante respuesta que nunca supe tanto ...
vini

2
No estoy seguro de que exista dicha base de datos porque gran parte de la información es de propiedad exclusiva. Los fabricantes de automóviles no necesariamente quieren transmitir al mundo el tamaño y los tipos de defectos que ven en la fabricación. Dicho esto, sin un sistema de medición robusto, las estadísticas pueden basarse en la inspección visual humana en la planta, que puede basarse en muestras o en informes de daños de los concesionarios de automóviles. Un automóvil abollado antes de llegar a un concesionario puede quedar sin vender, lo que significa pérdida de dinero y desperdicio de recursos.
Rethunk

1
Los talleres de reparación de abolladuras utilizan franjas claras, aunque su configuración es más adecuada para la inspección humana que la inspección automatizada: exceldent.wordpress.com/tag/door-ding-repair ncfixadent.com/services/paintless-dent-repair-pdr Para un sistema automatizado , desea bloquear toda la luz extraña, incluidos los reflejos de la carcasa de iluminación. Además, es necesario establecer el enfoque de la cámara para que se logre un equilibrio entre mantener enfocada la fuente de luz para que los bordes sean nítidos y mantener la superficie del vehículo enfocada para ver las características del vehículo.
Rethunk

Hola, repensar en este momento, solo estoy formulando una solución para lo mismo, ¿hay alguna forma de obtener algunas fotos de abolladuras y arañazos en el automóvil, etc. que ayudarían en mi investigación, por favor, ayuden!
vini

1
Recopilar imágenes de abolladuras y rasguños puede ser difícil. Es probable que tome algo de trabajo en las piernas. No hay tantas fotos adecuadas en línea. Puede llamar a un taller de reparación de automóviles y preguntar si puede tomar fotos de los vehículos que tienen; a cambio, podría comprar en sus informes. Pregúnteles a sus amigos y compañeros de trabajo si pueden tomar fotografías de sus automóviles; traiga una luz fluorescente portátil para iluminación. El teléfono de Acamera estaría bien. Lo mejor sería obtener paneles abollados y no abollados de un depósito de chatarra. Es mejor tener sus propias muestras desde el principio para que pueda ajustar la iluminación, etc.
Rethunk

9

Un filtro Gabor es solo el primero de varios pasos que usaría para una tarea de detección de defectos. Además, tenga en cuenta que solo ha usado una orientación específica y una escala del filtro Gabor: normalmente usaría una gama completa de orientaciones y escalas.

Un resumen muy aproximado de un enfoque simple de detección de defectos utilizando filtros Gabor podría ser el siguiente:

  • Aplique el filtro Gabor en diferentes orientaciones y escalas.
  • Aplique un clasificador (capacitado en datos de capacitación adecuados) para clasificar cada píxel como "defectuoso" o "no defectuoso"
  • Agregue detecciones de píxeles vecinos para asegurarse de que cada defecto se detecte solo una vez y para eliminar detecciones espurias

Un punto que no está en esta lista pero que es típicamente muy importante es la adquisición de imágenes. La forma en que enciende su objeto y coloca sus cámaras tiene una gran influencia en lo fácil que será detectar defectos en las imágenes resultantes. Su imagen de muestra parece utilizar la iluminación ambiental que estaba presente en ese momento; es muy probable que esto no sea óptimo.

Como digo, este es solo un esbozo muy aproximado. La inspección automática es un campo amplio y requiere mucha experiencia para hacerlo bien.


0

No, no puede El procesamiento de imágenes no es mágico, debe proporcionar más información. Sin alguna idea de cómo se supone que debe verse el automóvil, ¿cómo se supone que la computadora distingue una abolladura del estilo de carrocería previsto?


1
Sé que no es mágico y las imágenes que obtuve de Google ... es por eso que quería algo de información sobre cómo abordaría este problema ... Simplemente usar este filtro no es suficiente ...
vini

Quiero votar esto, pero no es una respuesta real. Debería ser un comentario.
endolito el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.