¿Cómo se realiza la detección en el procesamiento de imágenes?

Contestaré en breve a esta pregunta general, usando un ejemplo.

Para detectar algo, debe comenzar definiendo lo que desea detectar. Por ejemplo, Viola y Jones buscaron rostros humanos, Piotr Dollar intenta identificar a los peatones, etc.

Ahora, si sabe lo que está buscando, debe encontrar una descripción de las características que discriminan el objeto detectado de su entorno. Para hacer las cosas más fáciles de entender, si usted es parte del proyecto de automóvil autónomo, entre otras cosas, desea identificar las señales de tránsito. Asumiendo que la señal de stop es su objetivo, y sabe que tiene forma de círculo, con relleno rojo y forma rectangular blanca en el medio, puede construir un detector simple y robusto.

Puede decidir el problema “Detener detección de suspiros” en etapas:

  • Encuentra todos los círculos en la imagen (usando la transformación de Hough, por ejemplo).
  • Fuera de esos círculos, identifique círculos con dos colores dominantes: rojo y blanco.
  • Ahora, verifique que la forma de la región blanca dentro del círculo sea rectangular, y verifique el ancho del rectángulo con la relación de altura como se esperaba.

Si tiene una lista de objetos que satisfacen todo lo anterior, es posible que haya podido identificar todas las señales de alto en su imagen. por lo tanto, ha implementado un detector de señal de stop.

Entonces, en muchos casos, el truco es identificar cuáles son las características visuales de su objeto objetivo al implementar un detector.

Espero que esto ayude…

Mi forma de detectar objetos en el procesamiento de imágenes es convertir la imagen de entrada al espacio de color HSV. Luego extraigo algo de color en el objeto y lo convierto en una imagen de máscara. Finalmente, detecto el objeto a través de la imagen de la máscara. Pero mi problema aquí es que mi camino no es bueno. Si tiene 100 tipos de objetos, no puede extraerlos todos. Quiero conocer alguna forma de detectar mejor los objetos en el procesamiento de imágenes. Gracias !

Como esta es una pregunta muy general, aquí hay una respuesta muy general. Tomamos una imagen y la digitalizamos en bits. Los bits generalmente están dispuestos en 3 o 4 bancos de 8-12 bits que representan la intensidad de la luz roja-verde-azul con una superposición potencial. Ahora la computadora puede intentar darle sentido a esta estructura de datos. Dado que la mayoría de las imágenes serán millones y millones de bits, necesitamos un proceso que tome esa información masiva y la convierta en algo que un humano pueda entender. Como dice la Biblia, “Busca y encontrarás”; Si no estamos buscando algo, no encontraremos nada. En el caso más general, podemos tener un clasificador que ha sido entrenado en los bits de millones de imágenes diferentes mediante el uso de fórmulas matemáticas para reducir los bits a “características”. Mientras entrena al clasificador, el programa compara las características de cada una de las imágenes que se han clasificado previamente e intenta detectar las similitudes entre los conjuntos de características que se han clasificado de la misma manera. La computadora puede tardar semanas en tomar esa determinación, pero una vez que lo hace, podemos guardar sus procedimientos y volver a aplicarlos a cualquier imagen que estamos examinando. En ese momento, podemos decir que hemos detectado lo que estábamos buscando.