Contexto


Ahora toca el turno de usar la imagen procesada en aplicaciones industriales, para esto, se debe programar la computadora para que opere sobre la imagen almacenada de forma digital.

Dependiendo de la resolución de la cámara, es la cantidad de información que se tendría que analizar. Considere un sistema de visión que posee una  densidad de 480 píxel por línea y 512 líneas, tendría un total de 245,760 elementos de imagen. Y un registro de 6 bits por cada elemento de imagen, con el objeto de representar varios niveles de gris: esto requeriría un total de 245,760 X 6 = 1,474,560 bits de datos por cada 1/30 segundo. Lo anterior representa una cantidad inmensa de información, la cual requeriría de una supercomputadora para procesar toda la información en un periodo de tiempo muy corto.

Por lo anterior, se estudiará cuáles son las técnicas más adecuadas para efectuar el procesamiento digital de señales. Donde el objetivo que se persigue es producir una imagen de mejor calidad a partir de una imagen digital dada, se busca eliminar el ruido y otros elementos u obstáculos que no permitan una imagen aceptable. También se busca que la imagen capturada permita identificar objetos en una escena.

A través de la propuesta de varias técnicas, analizaremos mediante un compendio cuál sería la más apropiada con el propósito de llevar a cabo este proceso en la práctica, utilizando el sistema de visión proporcionado para capturar imágenes.

Explicación


8.1 Binarización de una imagen

Esta técnica también se conoce como fijación de umbrales. Consiste en una conversión binaria en la que cada píxel es convertido en un valor binario, blanco o negro. Estos toman valores entre 0 (negro) y 255 (blanco). Esto se consigue manipulando en forma adecuada los niveles de gris de la imagen (en una imagen en escala de grises.)

Para efectuar el procedimiento anterior, se realiza mediante la utilización de un histograma de frecuencias de la imagen y estableciendo qué intensidad (nivel de gris) será el límite entre el blanco y el negro. Como ejemplo, a continuación se muestra la imagen digital del rostro de una mujer:       

Imagen tomada de http://www.uelbosque.edu.co/sites/default/files/publicaciones/revistas/revista_tecnologia/volumen3_numero2/fundamentos_procesamiento_digital_imagenes3-2.pdf Sólo para fines educativos.

Los niveles de grises de esta imagen digital se pueden representar en un histograma como se aprecia en la siguiente gráfica (niveles de gris vs frecuencia). El histograma permite determinar si la digitalización de la imagen se realizó correctamente.

Histograma resultante de una imagen aplicando niveles de grises.

Para los histogramas que son bimodales (dos ejes) en su forma, cada uno de los picos del histograma representa al propio objeto o al segundo plano sobre el que el elemento se apoya. Puesto que tratamos de diferenciar el objeto y el segundo plano; el procedimiento consistirá en establecer un umbral (por norma general, entre dos picos) y en asignar, por ejemplo, un bit 1 al objeto y un bit 0 al segundo plano o fondo. El resultado de esta técnica de fijación de umbrales se muestra en la siguiente fotografía, que muestra la imagen binaria digitalizada.

Imagen tomada de http://www.uelbosque.edu.co/sites/default/files/publicaciones/revistas/revista_tecnologia/volumen3_numero2/fundamentos_procesamiento_digital_imagenes3-2.pdf Sólo para fines educativos.

Se eligió un valor de umbral T=150, de un valor entre 0 (negro) y 255 (blanco). Lo cual dio como resultado la imagen. En la cual se diferencia el objeto de fondo. Para mejorar la capacidad de diferenciación, se debe aplicar las técnicas especiales de iluminación para generar un elevado contraste.

Cabe señalar que el método anterior del uso de un histograma para determinar un umbral es sólo uno del gran número de métodos existentes para definir una imagen. Sin embargo, es el método que utilizan actualmente algunos de los sistemas de visión de robot disponibles en el mercado. Se dice que dicho método utiliza un umbral tipo global para la imagen completa. En algunos casos esto no es posible y un método de fijación de umbral local puede ser utilizado.

Cuando no es posible encontrar un umbral simple para una imagen completa (por ejemplo, si mucho niveles distintos ocupan la misma escena y cada uno presenta niveles diferentes de intensidad), un método consiste en dividir la imagen total en áreas rectangulares más pequeñas y determinar el umbral para cada una de las ventanas que se analizan.

 La fijación de umbrales es la técnica utilizada con más frecuencia para la binarización en aplicaciones de visión industriales. Las razones son que es más rápida y más fácil de llevar a cabo y que la iluminación se suele controlar en un establecimiento industrial. Una vez que se establece una fijación de umbrales para una imagen particular, el próximo paso es identificar las áreas particulares asociadas con los objetos dentro de la imagen. Dichas regiones suelen tener propiedades de pixeles uniformes calculadas sobre el área. Las propiedades de pixeles pueden ser multidimensionales, es decir, puede haber más de un atributo simple que puede utilizarse para caracterizar el píxel (color e intensidad de luz). Evitaremos esa complicación y limitaremos nuestro examen a los atributos de pixeles simples (intensidad de luz) de una región.  

Crecimiento de región. Es un conjunto de técnicas en las que los pixeles se agrupan en regiones llamadas elementos de cuadrícula basadas en similitudes de atributos. Las regiones definidas se podrán examinar en cuanto si son independientes o se pueden fusionar a otras regiones por medio de un análisis de la diferencia en sus propiedades medias y su conectividad espacial.

Para diferenciar entre los objetos y el segundo plano, se asigna un 1 a cualquiera de los elementos de la cuadrícula ocupado por un objeto, y 0 a los elementos del segundo plano. Es práctica usual utilizar una retícula de muestreo cuadrada con pixeles igualmente espaciados a lo largo de cada uno de los lados de la cuadrícula.

Esta técnica de creación de pasadas de 1 y 0 se utiliza con frecuencia como un análisis de primer paso para la división de la imagen en segmentos identificables o “burbujas“. Observe que este procedimiento simple no identificó el agujero en la llave. Esto se resolvería disminuyendo la distancia entre los puntos de la cuadrícula e incrementando la exactitud con la que se representa la imagen original.

Para una imagen simple tal como una mancha oscura sobre un fondo claro, una técnica de pasadas puede proporcionar una información útil. Para imágenes más complejas, esta técnica puede no proporcionar una división adecuada de una imagen en un conjunto de regiones significativas. Dichas regiones podrían contener pixeles que estén conectados entre sí y teniendo atributos similares, por ejemplo, el nivel de gris. Una técnica típica de crecimiento de región para imágenes complejas podría tener el procedimiento siguiente:

  1. Seleccionar un píxel que cumpla con un criterio para la inclusión en una región.
    El caso más simple sería seleccionar un píxel blanco y asignar un valor 1.
  2. Comparar el píxel seleccionado con todos los pixeles adyacentes. Asignar a los pixeles adyacentes un valor equivalente sí se produce una concordancia de los atributos.
  3. Ir a un píxel adyacente equivalente y repetir el proceso hasta que no se pueda añadir ningún píxel equivalente más a la región.

Este procedimiento simple de crecer regiones alrededor de un píxel se repetiría hasta que ninguna nueva región pueda añadirse a la imagen.

La técnica de segmentación de crecimiento de región aquí descrita es aplicable cuando las imágenes no son distinguibles entre sí mediante las técnicas de fijación de umbrales o detección de aristas. Esto se produce algunas veces cuando la iluminación de la escena no puede controlarse de forma adecuada. En los sistemas de visión de robots industriales es una práctica común considerar únicamente la detección de aristas o la fijación de umbral simple. Esto se debe al hecho de que la iluminación puede ser un factor controlable en un establecimiento industrial y es más sencilla la implementación de cómputo o de hardware.

8.2 Detección de aristas

Este procedimiento es una parte fundamental del procesamiento de imágenes y por lo tanto de la visión artificial. Es en esta etapa donde se delimitan todos los objetos de una escena que posteriormente son llevados a una etapa de reconocimiento. Como su nombre lo indica, en esta parte se busca extraer de la imagen las aristas o bordes de los objetos y para este fin es necesario tener presente que en dichos bordes se tiene un cambio brusco de los niveles de gris.

Esta técnica considera el cambio de intensidad que se produce en los pixeles en el contorno o borde de un objeto. Dado que se ha encontrado una región con atributos similares, pero se desconoce la forma del contorno, este último se puede determinar mediante un simple procedimiento de seguimiento de borde.

Para la detección de las aristas, el procedimiento es el de explorar la imagen hasta que se encuentre un píxel dentro de la región. Una vez encontrado un píxel en el interior de una región, torcer a la izquierda y avanzar o al contrario, tocar a la derecha y avanzar un paso. El procedimiento se detiene cuando se atraviesa el contorno y el camino vuelve al píxel inicial. El procedimiento de seguimiento del contorno descrito se puede extender a imágenes de nivel de gris.

Si retomamos la imagen del rostro de mujer y le aplicamos la técnica de detección de aristas, la imagen se mostraría de la siguiente forma.

Imagen obtenida de http://www.uelbosque.edu.co/sites/default/files/publicaciones/revistas/revista_tecnologia/volumen3_numero2/fundamentos_procesamiento_digital_imagenes3-2.pdf Sólo para fines educativos.

8.3 Detección de patrones

En las aplicaciones de sistemas de visión, con frecuencia es necesario distinguir un objeto de otro. Esto se suele realizar mediante el rastreo de patrones que caracterizan unívocamente al objeto. Entre algunas de las características de los objetos que pueden utilizarse en la visión de máquina se incluyen el área, el diámetro y el perímetro. Una característica, en el contexto de los sistemas de visión, es un parámetro único que permite la facilidad de comparación e identificación. Las técnicas disponibles para la extracción de valores de características para los casos bidimensionales se pueden categorizar aproximadamente como las que se refieren a las características de contorno y las que tratan las características de área. Los diversos patrones se pueden utilizar para identificar el objeto o parte del mismo y para determinar su localización u orientación.

A continuación se muestra una lista de algunas de las características utilizadas con más frecuencia en las aplicaciones de visión:

  • Nivel de gris (máximo, medio, mínimo)
  • Área.
  • Longitud del perímetro
  • Diámetro
  • Rectángulo de cierre mínimo
  • Centro de gravedad. Para todos los píxel (n) en una región donde cada píxel está especificado por las coordenadas (x,y), las coordenadas x, y del centro de gravedad se definen por medio de las siguientes ecuaciones:
  • Excentricidad: Una medida de elongación. Existen varias medidas de las cuales la más simple es:

Excentricidad = Longitud máxima de cuerda A/Longitud máxima de cuerda B
Donde la longitud máxima de cuerda B se mide perpendicular a A.

  • Relación de aspecto: La relación longitud-anchura de un rectángulo de contorno que rodea el objeto. Un objetivo es encontrar el rectángulo que da la relación de aspecto mínima.
  • Delgadez: Es la medida de lo delgado que es un objeto. Las definiciones que se utilizan son:
        • Delgadez = (perímetro)2/área
        • Delgadez = diámetro/área

El diámetro de un objeto, sin considerar su forma, es la distancia máxima obtenible entre dos puntos situados en el contorno de un objeto.

  • Agujeros: Número de agujeros de un objeto.
  • Momentos: Dada una región, R, y las coordenadas de los puntos (x,y) en o sobre el contorno de la región, el momento de orden del q-ésimo de la región viene dada por la siguiente expresión matemática.

Los procedimientos de crecimiento de región, descritos con anterioridad, se pueden utilizar para determinar el área de una imagen de un objeto. El perímetro o el contorno que encierra un área específica se puede determinar indicando la diferencia en la intensidad del píxel en el contorno y contando simplemente los pixeles de la región segmentada que son adyacentes a los pixeles que no pertenecen a la región; es decir, al otro lado del contorno. Un objetivo importante en la selección de estas características es que estás no dependa ni de la orientación ni de la posición. El sistema de visión no debe depender del objeto que se presenta a la cámara con una relación conocida y fija.
 
Las medidas anteriores proporcionan algunos métodos básicos para analizar las imágenes  en un plano de dos dimensiones. Algunas otras medidas existen también para casos tridimensionales. Para ilustrar algunas de las definiciones y medidas en dos dimensiones se proporciona el siguiente ejemplo.

Cierre


  • El procesamiento de imágenes en los sistemas de visión artificial ayuda a mejorar el aspecto de las imágenes y a realzar detalles que se desean hacer notar a partir de ciertos cálculos y algoritmos.

    La utilidad del procesamiento de imágenes es muy amplia en nuestro caso se utiliza para la inspección, selección y supervisión. Existen otros campos como por ejemplo para diagnóstico médico, imágenes aéreas, también se pueden analizar las fallas geológicas, entre otras cosas.

Checkpoint


Asegúrate de poder:

    • Comprender la técnica de binarización de una imagen.
    • Identificar las características a considerar de los patrones de un objeto.
    • Conocer la detección del límite de una imagen binaria.

Referencias


  • Groover, M. (2015).  Automation Production System and Computer Integrated Manufacturing (4 ed.).  EE. UU. Pearson.
    Capítulo 8
  • Groover, M., Weiss, M., Nagael, R. and Odrey, N. (1995).  Industrial Robotics Technology, Programming and Applications. EE. UU: McGraw Hill.
    Capítulo 11      

Glosario


  • Ruido: característica de la imagen que se distingue como un aumento en la brillantez de algunos píxeles más que en otros, es un problema común y complicado de resolver. Existe tanto en frecuencias altas como en bajas, la imagen sólo tiene valores significativos de amplitud en frecuencias bajas.
  • Nitidez: ausencia de ruido, entre más nítida sea una imagen menos ruido tiene.