<< Anterior  |  Siguiente >>

Página 4 de 8 

4. Detección de contorno

La detección de contorno es parte de un proceso de aislamiento (segmentation), que consiste en la identificación de objetos dentro de una imagen.

Como es usual, hay varias posibles definiciones de un contorno, siendo cada una aplicable en distintas circunstancias. Una de las más comunes y generales definiciones es el contorno de paso ideal, ilustrado en la figura 1.3. en este ejemplo de una dimensión, el contorno es simplemente un cambio en el nivel de gris que ocurre en una ubicación especifica. Cuanto mayor es el cambio de nivel, más fácil resulta detectar el contorno, pero en el caso ideal cualquier cambio de nivel puede ser visto fácilmente.

La primera complicación ocurre debido a la digitalización. Es poco probable que una imagen sea muestreada de manera tal que todos los contornos correspondan exactamente con un pixel del borde. Por lo general, el cambio de nivel puede extenderse sobre varios pixeles (fig. 1.3b-d). La posición actual del contorno se considera como el centro de la rampa que conecta el nivel bajo de gris con el nivel alto. Esta es una rampa sólo en el mundo matemático, dado que después de que la imagen ha sido digitalizada (muestreada), la rampa tiene una apariencia escalonada.

La segunda complicación es el clásico problema del ruido. Debido a una gran cantidad de factores como la intensidad de la luz, el tipo de cámaras y lentes, el movimiento, la temperatura, efectos atmosféricos, polvo y otros; difícilmente dos pixeles que correspondan precisamente al mismo nivel de gris en la escena tengan el mismo nivel en la imagen.

El ruido es un efecto aleatorio, y es caracterizado sólo estadísticamente. El resultado del ruido en una imagen es que produce variaciones aleatorias en el nivel de un pixel a otro, y entonces las líneas suaves y rampas de los contornos ideales nunca son encontradas en las imágenes reales.

     

4.1. Modelos de contorno

El contorno de paso de la figura 1.3 es ideal porque es fácil de detectar : En ausencia de ruido, cualquier cambio significante en el nivel de gris indica un contorno. Un contorno de paso nunca ocurre realmente en una imagen debido a:

  1. los objetos rara vez son de dicha forma de trazo.
  2. una escena nunca es muestreada de manera que los contornos ocurran exactamente en los imágenes de un pixel.
  3. debido al ruido, como se menciono anteriormente.

Concentrémonos por un momento en el muestreado, la figura 1.4a muestra un contorno de paso ideal y establece los pixeles involucrados. Notar que los contornos ocurren en el extremo del lado izquierdo en un valor menor al ancho de un pixel, el contorno se mueve a la derecha. En la figura 1.4c el contorno se ha movido medio pixel, y los pixeles a lo largo del contorno ahora contienen una parte de la imagen que es negra y otra blanca. Esto se reflejará en el nivel de gris como un promedio.

Img.

V = (Vw Aw + Vb Ab) / (Aw + Ab)

donde Vw y Vb son los niveles de gris de las regiones blanca y negra, y Aw y Ab son las áreas de las partes blanca y negra del pixel. Por ejemplo, si el nivel de blanco es 100 y el nivel de negro es 0, entonces el valor de un pixel de contorno para el cual el contorno aparece desde el medio será de 50. El resultado es un de paso doble en lugar de un contorno de paso.

Si el efecto de un trazo borroso es extender el cambio de nivel de gris sobre varios pixeles, entonces el de paso simple se convierte en una escalera. La rampa es un modelo de como debía haber sido visto el contorno originalmente con motivo de producir una escalera, y esto es una idealización ; es una interpolación del dato actualmente encontrado.

Aunque el contorno de paso ideal y los modelos de contorno rampa fueron generalmente usados para idear nuevos detectores de contorno en el pasado, el modelo fue reconocido como una simplificación ; nuevos esquemas de detección de contorno incorporan el ruido en el modelo, y son evaluados en contornos de escalera y ruido.

 

4.2. El ruido

Todos los procesos de captura de imagen están sujetos a ruido de algún tipo, por lo que sería un problema ignorarlo. ; la situación ideal (sin ruido) nunca ocurre en la práctica. El ruido no se puede predecir acertadamente debido a su naturaleza aleatoria, y tampoco puede ser medido precisamente en una imagen con ruido, dado que la contribución del ruido a los niveles de gris no es indistinguible de los pixeles de dato. Sin embargo, el ruido puede ser caracterizado a veces por su efecto en la imagen, y es usualmente expresado como una distribución de probabilidad con una media y desviación estándar especifica.

Hay dos tipos de ruido que son de interés especifico en el análisis de imágenes. El ruido independiente de la señal es un conjunto aleatorio de niveles de gris, estadísticamente independiente de los datos de la imagen ; estos es, añadido a los pixeles en la imagen para dar la imagen con ruido resultante. Esta clase de ruido ocurre cuando una imagen es transmitida electrónicamente desde un lugar a otro. Si A es una imagen perfecta y N es el ruido que ocurre durante la transmisión, entonces la imagen final B es:

B = A + N

A y N no están relacionados. La imagen con ruido N podría tener cualquier propiedad estadística, pero la asunción común es que sigue una distribución normal con una media de cero y alguna desviación estándar medida o presumida.

El segundo tipo principal de ruido es llamado ruido dependiente de la señal. En este caso el nivel del valor del ruido en cada punto de la imagen es una función del nivel de gris ahí. El granulado visto en algunas fotos es un ejemplo de esta clase de ruido, y generalmente de difícil tratar con el. Afortunadamente se encuentra menos frecuentemente, y resulta manejable si la foto es muestreada correctamente.

La figura 1.7 muestra un contorno de paso sujeto a un ruido de tipo caracterizable por una distribución normal. Este es un contorno artificial generado por una computadora, por lo que su ubicación es conocida. Es difícil distinguirlo en todas las variaciones aleatorias, pero un buen detector de contorno debería poder determinar la posición del contorno aún en esta situación.

Continuando con el caso del contorno de paso, la cuestión de como identificar la ubicación del contorno todavía persiste. Un contorno (basado en la discusión previa) esta definido por un borde de nivel de gris o color. Si este borde se cruza, entonces el nivel cambia rápidamente ; seguir el borde conduce a más sutiles, posiblemente aleatorios, cambios de nivel. Esto conduce a la conclusión que un contorno tiene una dirección medible. También, aunque esto es por el gran cambio de nivel observado cuando se cruza el borde que un pixel de contorno puede primero ser identificado, es el hecho de que dichos pixeles se conectan para formar un borde lo que permite la separación del ruido de los pixeles de contorno. Los pixeles de ruido también muestran un gran cambio en el nivel.

Hay esencialmente tres tipos comunes de operadores para localizar contornos. El primero es el operador derivada diseñado para identificar lugares donde hay grandes cambios de intensidad. El segundo se asemeja a un esquema de molde-encastre, donde el contorno es moldeado por una pequeña imagen que muestra las propiedades abstracta de un contorno perfecto. Finalmente, hay operadores que utilizan un modelo matemático del contorno, los mejores usan también un modelo del ruido, y hacen un esfuerzo por tenerlo en cuenta. En el presente proyecto se utilizan dos algoritmos pertenecientes al último tipo.

 

4.3. Operadores de derivada

Dado que un contorno se define por un cambio en el nivel de gris, un operador que sea sensible a este cambio operará como un detector de contorno. Un operador derivada realiza esto, una interpretación de la derivada es como la tasa de cambio de una función, y la tasa de cambio de los niveles de gris en una imagen es grande cerca de un contorno y pequeña en áreas constantes.

Dado que la imágenes son de dos dimensiones, es importante considerar los cambios de nivel en varias direcciones. Por esta razón, se utilizan las derivadas parciales de la imagen, con respecto a las direcciones principales x e y. Una estimación de la dirección actual del contorno puede ser obtenida usando las derivadas en x e y como las componentes de la dirección actual sobre los ejes, y calculando el vector suma. El operador adecuado parece ser el gradiente, y si se piensa la imagen como una función de dos variables A(x, y) entonces el gradiente se define como:

el cual es un vector de dos dimensiones.

Por supuesto que una imagen no es una función, y no puede ser diferenciada de la manera usual. En vez, dado que una imagen es discreta, utilizaremos diferencias ; estos es, la derivada en un pixel es aproximada por la diferencia de nivel de gris sobre alguna región local. La aproximación más simple es el operados Ñ 1.

Ñ x1A(x,y) = A(x,y) - A(x - 1, y)

Ñ y1A(x,y) = A(x,y) - A(x, y - 1)

Se asume en este caso que los niveles de gris varían linealmente entre los pixeles, por lo que no importa donde se tome la derivada su valor es la pendiente de la tangente. Un problema con esta aproximación es que no calcula el gradiente en el punto (x, y), pero si en (x - ½, y - ½). Entonces las ubicaciones de los contornos deberán ser desplazadas medio pixel en las direcciones -x y -y.Una mejor opción para una aproximación podría ser Ñ 2.

Ñ x2A(x,y) = A(x + ,y) - A(x - 1, y)

Ñ y2A(x,y) = A(x,y + ) - A(x, y - 1)

Este operador es simétrico con respecto al pixel (x,y), aunque no considera el valor del pixel en (x,y).

Cualquiera sea el operador utilizado para calcular el gradiente, el vector resultante contendrá información acerca de cuan fuerte el contorno es en ese pixel y su dirección. La magnitud del vector del gradiente es la longitud de la hipotenusa del triángulo derecho con lados Ñ x y Ñ y, y esto refleja fuerza del contorno, o la respuesta al contorno, en cualquier pixel dado. La dirección del contorno en el mismo pixel es el ángulo que la hipotenusa posee con los ejes.

Matemáticamente, la respuesta al contorno está dada por:

Gmag =

y la dirección del contorno es aproximadamente:

Gdir = atan

La magnitud del contorno será un número real, y usualmente se convierte a un entero por redondeo.

<< Anterior  |  Siguiente >>