VISION ARTIFICIAL DINAMICA

Page 1

UNIVERSIDAD DEL PAIS VASCO EUSKAL HERRIKO UNIBERTSITATEA DOCTORADO EN TECNOLOGIAS DE LA INFORMACION

VISION ARTIFICIAL DINAMICA DETERMINACION DE MOVIMIENTO A PARTIR DE SECUENCIAS DE IMAGENES

Por: Aitzol Zuloaga Izaguirre Profesor: José Luis Martín González Bilbao, septiembre, 98


INDICE

1. INTRODUCCION Y OBJETIVOS

1

2. CONCEPTOS BASICOS

2

3. APLICACIONES DEL PROCESAMIENTO DE IMAGENES SECUENCIALES

4

4. PROCESAMIENTO DE IMAGENES

6

CONVOLUCION OPERACIONES MORFOLOGICAS

5. PROCESAMIENTO DE SECUENCIAS DE

8 9

IMAGENES

ECUACION RESTRINGIDA DEL FLUJO OPTICO MODELIZACION DEL MOVIMIENTO DETERMINACION DEL FLUJO OPTICO POR GRADIENTES DETERMINACION DEL MOVIMIENTO A PARTIR DE LOS GRADIENTES DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES

6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES ARQUITECTURAS PARA PROCESAMIENTO DE GRADIENTES ESPACIO-TEMPORALES ARQUITECTURAS PARA PROCESAMIENTO POR SEGMENTACION

13 14 15 16 18 20

23 23 24

7. CONCLUSIONES

27

8. BIBLIOGRAFIA

28


1. INTRODUCCION Y OBJETIVOS

1.

INTRODUCCION Y OBJETIVOS

Hasta hace relativamente poco tiempo los sistemas de visión artificial sólo operaban extrayendo información de imágenes estáticas, para lo cual podían operar a velocidades relativamente lentas y con una cantidad de información limitada en cierto sentido. Hoy en día es posible efectuar procesamiento de imágenes a mayor velocidad y procesar mayores volúmenes de información, por ello se comienza a buscar algoritmos para el procesamiento de secuencias de imágenes. Sin embargo, hasta el momento la extracción de información de secuencias de imágenes en tiempo real y en forma satisfactoria no puede considerarse un objetivo totalmente alcanzado. La extracción de información de secuencias de imágenes es una tarea clave en muchos sistemas de visión artificial. Esta información puede ser útil para la solución de problemas como la obtención de información referente al desplazamiento de objetos, la medición de velocidad de objetos, la modelización tridimensional del entorno, la restauración de imágenes, etc. Generalmente el procesamiento de secuencias de imágenes se lleva a cabo por medio de procesadores de propósito general y de alta velocidad, sin embargo aún el tiempo de procesamiento resulta muy grande para aplicaciones en el procesamiento de imágenes a velocidades convencionales de 25 y 30 cuadros por segundo. No obstante en los actuales momentos, con el uso de nuevas tecnologías de circuitos integrados y la aplicación de novedosos algoritmos de procesamiento, es posible desarrollar incipientes formas de procesamiento de imágenes en tiempo real. En el presente trabajo se pretende cumplir con los siguientes objetivos: • Examinar las diversas aplicaciones donde se utilizan o donde es posible utilizar el procesamiento de secuencias de imágenes de vídeo. • Analizar las técnicas matemáticas más utilizadas para el procesamiento de secuencias de imágenes de vídeo para extraer información útil. • Estudiar algunos algoritmos de procesamiento de secuencias de imágenes propuestos por diferentes autores. • Examinar las diversas arquitecturas utilizadas o utilizables para el procesamiento de secuencias de imágenes de vídeo.

VISION ARTIFICIAL DINAMICA

1


2. CONCEPTOS BASICOS

2.

CONCEPTOS BASICOS

En el campo de la visión artificial se han ido acuñando una serie muy amplia de términos, principalmente en inglés, y que han sido trasladados al español con menor o mayor acierto. A continuación se definen algunos de esos términos y algunos conceptos relacionados con visión artificial, mostrando los términos tanto en español como en inglés. Imagen (Image): Es la proyección en perspectiva en el plano bidimensional de una escena tridimensional en un determinado instante de tiempo to. Este término se utiliza con frecuencia con la acepción del término cuadro, a pesar de que existe una ligera diferencia. Cuadro (Frame): Es una matriz bidimensional de valores de intensidad lumínica obtenidos para un tiempo to constante I[x,y,to]* . Pudiera decirse en cierta forma que es una imagen discretizada. Pixel (Pixel: Picture Element): Es cada una de las posiciones en que es discretizada una imagen, o lo que es lo mismo, cada una de las posiciones de un cuadro. De esta manera un cuadro es un array bidimensional de pixels, cada uno con un cierto valor lumínico. Imagen binaria (Binary image): Son aquellas imágenes cuyos pixels sólo tienen dos valores: cero y uno. Secuencia digitalizada de vídeo (Digitized video sequence): Es una muestra discreta en espacio y tiempo I[x,y,t] de una función continua de intensidad lumínica I(x,y,t) [SCHW 95]. Campo de movimiento (Motion field ): Es un array bidimensional de vectores que representan la velocidad de cada punto de una imagen, o lo que es lo mismo, es la proyección en perspectiva del campo tridimensional de vectores de velocidad de una escena en movimiento en el plano de la imagen [VERR 89]. El campo de movimiento es un concepto abstracto y no puede ser recuperado de una secuencia de imágenes. Lo que sí puede ser recuperado de una secuencia de imágenes es el flujo óptico [GUPT 95]. Flujo óptico (Optical flow): Es la velocidad aparente de las estructuras de niveles de gris [OTTE 95]. Es un array bidimensional de vectores. El flujo óptico puede considerarse como una aproximación del campo de movimiento, pero a diferencia de aquel puede ser obtenido de una secuencia de imágenes [GUPT 95]. Las variaciones en los niveles de gris pueden ser debidas al movimiento de los objetos en la secuencia de *

Para una mayor claridad, se utiliza la nomenclatura f[x,y,z] para indicar una función discreta, y la nomenclatura f(x,y,z) para indicar una función continua.

VISION ARTIFICIAL DINAMICA

2


2. CONCEPTOS BASICOS

imágenes, por ello a partir del flujo óptico es posible determinar el movimiento de los objetos en secuencias de imágenes [HORN 81]. Estructura obtenida del movimiento (Structure from Motion SFM): Método mediante el cual es posible obtener las formas de los objetos del entorno a partir de secuencias de imágenes no estereoscópicas del mismo. Campo de visión: Es el lugar en el que un sensor de imagen puede captar la información lumínica. Parámetros del movimiento (Motion Parameters): es aquel conjunto de números los cuales representan el movimiento de un punto o un grupo de puntos en el espacio y el tiempo. Tales coeficientes pueden representar las coordenadas espaciales, la velocidad lineal, la velocidad angular, etc.

VISION ARTIFICIAL DINAMICA

3


3. APLICACIONES DEL PROCESAMIENTO DE IMAGENES SECUENCIALES

3. APLICACIONES DEL PROCESAMIENTO DE IMAGENES SECUENCIALES El movimiento es una fuente de información visual importante. La estimación del movimiento en imágenes tienen una gran cantidad de aplicaciones, que pueden clasificarse dentro de los siguientes grupos: • Recuperación de la estructura tridimensional a partir de secuencias de

imágenes bidimensionales (Estructura obtenida del movimiento, SFM), como son la detección de obstáculos para robots de navegación autónoma, la modelización del entorno, la adquisición automática de modelos para diseño asistido por computador (CAD), etc. • Compresión y reconstrucción de secuencias de imágenes, como son los casos

de codificación y decodificación MPEG, y la reconstrucción de imágenes afectadas por ruido. • Seguimiento y caracterización dinámica de objetos en movimiento como en

la detección de parámetros de tráfico de automóviles [FATH 95], los sistemas de seguridad por visión artificial y en la previsión metereológica. Una imagen provee solo información bidimensional del mundo tridimensional. Si se dispone de dos imágenes tomadas desde distintas ubicaciones espaciales, es posible modelizar en parte el mundo tridimensional, en cuyo caso se dice que se dispone de dos imágenes estereoscópicas. Sin embargo, también desde secuencias de imágenes bidimensionales es posible extraer suficiente información como para modelizar en cierto grado los objetos en movimiento. La recuperación de la estructura tridimensional del entorno tiene amplios campos de aplicación en el diseño asistido por computador (CAD), ya que permitiría modelizar objetos del mundo real en el lenguaje matemático de los ordenadores, para luego generar moldes o troqueles, analizar el acoplamiento entre piezas, etc. En este caso, el movimiento puede ser la cámara en vez del objeto, lo cual matemáticamente no tiene diferencia. La compresión de secuencias de imágenes es una de las aplicaciones más importantes de la estimación del movimiento a partir de imágenes y, además, es la aplicación más extendida. Las secuencias de imágenes están compuestas por objetos con diferentes movimientos. Cada cuadro de la secuencia de imágenes es muy parecida al anterior, a excepción de que algunos puntos de un cuadro cambian de posición para el siguiente, y de que pueden presentarse nuevos objetos en movimiento que entran en el campo de visión. De aquí que las aplicaciones de compresión de imágenes en movimiento se basan en indicar sólo los cambios de posición de aquellas partes de la imagen que cambian y mantener el resto [PARD 94]. También con la información contenida en las secuencias de imágenes es posible reconstruir imágenes ruidosas, ya que parte de la información de una imagen se mantiene VISION ARTIFICIAL DINAMICA

4


3. APLICACIONES DEL PROCESAMIENTO DE IMAGENES SECUENCIALES

en la siguiente, posiblemente desplazada. Este caso es muy similar a la compresión de secuencias [LIMJ 90]. El seguimiento y caracterización dinámica de objetos en movimiento permite la utilización de la visión artificial en aplicaciones muy útiles y prometedoras. En aplicaciones como la mencionada con anterioridad de control de tráfico de automóviles, es posible ajustar automáticamente y a un bajo costo los sistemas de señalización en función de las características del tráfico. Pueden utilizarse también para aplicaciones de seguridad, donde un operario humano puede distraerse con facilidad. Otra aplicación muy utilizada en la actualidad del análisis de secuencias de imágenes de objetos en movimiento es el pronóstico meteorológico, con la diferencia de que las imágenes en este caso se producen a una velocidad mucho menor, y son complejas.

VISION ARTIFICIAL DINAMICA

5


4. PROCESAMIENTO DE IMAGENES

4.

PROCESAMIENTO DE IMAGENES

En el presente capítulo se hace una revisión de las diversas operaciones que se utilizan en el procesamiento de imágenes, y que son mencionadas para la aplicación de diversos algoritmos de procesamiento en secuencias de imágenes. En el tratamiento de imágenes hay que distinguir dos tipos de información a procesar [NOZA 93]: • Imágenes. Se dice que la información es del tipo imagen cuando los datos que componen el paquete de información pueden organizarse en una matriz espacial. Como ejemplos se pueden citar la imagen propiamente dicha donde en una matriz se representan los colores de cada punto que conforma la imagen, o el campo de velocidades asignado a cada punto de una imagen, o la transformada de Fourier de una imagen. • Datos. Se dice que la información es del tipo datos cuando el paquete de información no puede ser considerado una matriz espacial. Como ejemplos se citan las coordenadas de los segmentos que componen una imágen, el nivel promedio de gris en una imágen, o el histograma de una imágen. El procesamiento de imagen puede clasificarse según el tipo de información de entrada y salida. De esta manera tenemos los siguientes casos: • Procesamiento imagen-imagen: cuando la entrada al proceso requiere una información del tipo imagen y la salida del mismo es una información del tipo imagen. Un ejemplo sería el cambio de niveles de gris de una imagen. • Procesamiento imagen-dato: cuando la entrada al proceso requiere una información del tipo imagen y la salida del mismo es una información del tipo dato. Un ejemplo sería la obtención del nivel promedio de gris de una imágen. • Procesamiento dato-imagen: cuando la entrada al proceso requiere una información del tipo dato y la salida del mismo es una información del tipo imagen. Un ejemplo sería la reconstrucción de una imagen a partir de las coordenadas tridimensionales de las aristas de los objetos. • Procesamiento dato-dato: cuando la entrada al proceso requiere una información del tipo dato y la salida del mismo es una información del tipo dato. Un ejemplo sería la determinación de las coordenadas del centro de un objeto representado por las coordenadas de sus aristas.

VISION ARTIFICIAL DINAMICA

6


4. PROCESAMIENTO DE IMAGENES

Eventualmente, pueden presentarse procesos que combinen, tanto en las entradas como en las salidas, imágenes y datos.

PROCESO a

(1,2) (2,3) (4,5) . . .

PROCESO

(1,2) (2,3) (4,5) . . .

PROCESO

c

PROCESO b

(1,2) (2,3) (4,5) . . .

(1,2) (2,3) (4,5) . . .

d

Figura 1.-Clasificación de los algoritmos de procesamiento de imágenes: a)imagen-imagen, b)imagen-datos, c) datos-imagen, d)datos-datos. El estudio de la visión dinámica puede considerarse en forma global como el procesamiento de una serie de imágenes cuyo resultado será una serie de datos. A la entrada del proceso se tiene una secuencia de imágenes, y a la salida se tienen datos tales como las coordenadas de los objetos, los parámetros que definen el movimiento de los objetos y en algunos casos una serie de datos que definen el entorno en un espacio tridimensional. Sin embargo el análisis de secuencias de imágenes no es una tarea sencilla de un solo paso, por lo cual es un hecho que el proceso tiene que ser dividido en subprocesos que pueden ser de tipos diversos: imagen-imagen, imagen-datos, o datosdatos. Las operaciones que se realizan sobre imágenes y que tienen como resultado otra imagen se pueden clasificar en tres grupos [VICE 90]: • Operaciones puntuales: Son aquellas en que el valor de cada pixel G[x,y] de la imagen resultante se obtiene a partir del valor del pixel F[x,y] de la imagen original, sin involucrar ningún otro pixel. Como ejemplos se pueden señalar la umbralización, el realce de contraste, la modificación del histograma, la conversión a pseudocolor y el cambio de color. • Operaciones locales: Son aquellas en las que el valor de cada pixel G[x,y] de la imagen resultante se obtiene a partir de los valores del pixel F[x,y] y de sus vecinos en la imagen original. Eventualmente el concepto de operaciones locales puede ser extendido al campo de las tres dimensiones, es decir, incluyendo las secuencias temporales de imágenes. Entre operaciones locales básicas se pueden mencionar las convoluciones, las operaciones morfológicas y las operaciones booleanas locales. Como ejemplos se pueden señalar los filtros por convolución, los detectores de bordes, los uniformizadores de textura, etc. • Operaciones globales: Son aquellas en las que el valor de cada pixel G[x,y] de la imagen resultante se obtiene de los valores del pixel F[x,y] y de todos los demás pixels en la imagen original. Como ejemplos de las operaciones globales VISION ARTIFICIAL DINAMICA

7


4. PROCESAMIENTO DE IMAGENES

se citan la transformada de Fourier, la del coseno, y sus respectivas antitransformadas. OPERACIONES PUNTUALES CONVOLUCIONES

TRANSFORMACIONES IMAGEN A IMAGEN

OPERACIONES LOCALES

OPERACIONES MORFOLOGICAS OPERACIONES BOOLEANAS

OPERACIONES GLOBALES PROCESAMIENTO DE IMAGENES TRANSFORMACIONES IMAGEN A DATOS

TRANSFORMACIONES DATOS A IMAGEN

TRANSFORMACIONES DATOS A DATOS

Figura 2.-Tipos de procesamiento de imágenes.

CONVOLUCION Una de las operaciones más útiles y utilizadas en el procesamiento de imágenes es la convolución. La operación de convolución bidimensional relaciona dos matrices, una de ellas es la imagen original F[x,y] y la otra, la matriz de convolución H[x,y]. Cada punto de la imagen resultante G[x,y] es la combinación lineal de los puntos de la imagen F[x,y], en el entorno del punto de trabajo, con los coeficientes de la matriz de convolución H[x,y]. En la práctica se lleva a cabo siguiendo los siguientes pasos: • Se define, en la matriz de convolución, un elemento de referencia H(xo , yo ), usualmente el elemento central. • Se superpone la matriz convolución H[x,y] sobre la matriz imagen F[x,y], haciendo coincidir el elemento de referencia (xo , yo) con un elemento (xj , yj) de F[x,y]. • Se calcula la suma de productos de los elementos superpuestos entre ambas matrices para obtener el valor del elemento G(xj , yj ). • Se repiten estos pasos para todos los elementos (xj , yj), obteniendo la matriz G(xj , yj) completa. Matemáticamente el operador convolución se representa con el símbolo * y se define como: VISION ARTIFICIAL DINAMICA

8


4. PROCESAMIENTO DE IMAGENES

(4.1)

G[ x , y ] = F [ x , y ] * H[ x , y ] =

∑ ∑ F [ x − j , y − k ] ⋅ H[ j , k ] j

k

Aunque por definición la convolución abarca matrices de infinitos elementos, por lo general ambos matrices son limitados, y el matrices operador H[x,y] es mucho más pequeño. En la Figura 3 se representa gráficamente la operación de convolución. La convolución tiene una gran cantidad de aplicaciones en el campo del procesamiento de imágenes. Su más obvia aplicación es el filtrado, ya que si H(x,y) es la respuesta al impulso de un filtro, la convolución de una imagen F(x,y) con H(x,y), es equivalente a pasar a la imagen por el mismo filtro. Adicionalmente la convolución se utiliza para la evaluación de gradiente, el promediado de nivel de gris, la búsqueda de contornos, etc. F[x,y]

*

H[x,y]

=

G[x,y]

H1 H2 H3

+

H4 H5 H6 H7 H8 H9

x

Figura 3.- Representación gráfica de la convolución. Es muy fácil implementar la convolución por medio de circuitos electrónicos, en especial cuando la matriz operador tiene un tamaño reducido. Por lo general las matrices operadores tienen unas dimensiones de 3 x 3 a 5 x 5 elementos. En este punto hay que recordar que para los filtros por convolución, el tamaño de la matriz H[x,y] repercute en la calidad del filtro en el dominio de la frecuencia. Para algunas aplicaciones en donde intervienen secuencias de imágenes, es posible definir una convolución tridimensional, con dos dimensiones espaciales y una temporal: (4.2)

G[ x , y , t ] = F[ x , y , t ] * H[ x , y , t ] =

∑ ∑ ∑ F [ x − i , y − j , t − k ] ⋅ H [i , j , k ] i

j

k

OPERACIONES MORFOLOGICAS Las operaciones morfológicas a imágenes se definen como procedimientos en los cuales cada nuevo pixel de la imagen resultante es obtenido de una operación no lineal entre un conjunto de puntos de la imagen original F[x,y] y un conjunto de puntos conocido con el nombre de elemento estructurante S[x,y]. Este elemento estructurante recorre toda la imagen para obtener todos los puntos de la nueva imagen.

VISION ARTIFICIAL DINAMICA

9


4. PROCESAMIENTO DE IMAGENES

F[x,y]

{OM}

S[u,v]

=

G[x,y]

⊗ ⊗

⊗ Origen

Figura 4.-Operación morfológica de un elemento estructurante S[u,v] sobre un área de la imagen F[x,y] para obtener una imagen G[x,y]. Dependiendo de los elementos estructurantes y de las operaciones utilizadas, los filtros morfológicos, son capaces de detectar bordes en las imágenes, filtrar objetos de tamaños menores a uno determinado, suavizar fondos de texturizados, detectar fallos en patrones de textura, etc. Varios tipos de operadores morfológicos han sido desarrollados en años recientes. En un principio estos operadores sólo se aplicaban a imágenes binarias, pero con el tiempo se han desarrollado variantes aplicables en imágenes en grises. Entre estos algoritmos se pueden citar los siguientes [CERV 92][FATH 95]: Erosión (Erosion E) Dilatación (Dilation D) Residuo de erosión (Erosion-residue Er) Residuo de dilatación (Dilation-residue Dr) Operador gradiente morfológico (Morphological gradient operator Ede) Emax Emin Apertura (Opening Op) Cierre (Closing Cl) Apertura-cierre (Open-close OC) Las operaciones morfológicas de erosión y dilatación se definieron inicialmente para imágenes binarias (morfología binaria, binary morphology) y más tarde para imágenes en grises (morfología de escala de grises, gray-scale morphology). La operación morfológica de erosión para imágenes binarias consiste en tomar el elemento estructurante (uno de cuyos puntos se considera el origen) y superponerlo a la imagen. Si el elemento estructurante está completamente contenido en la imagen, el punto de la imagen se mantiene, de lo contrario pasa a ser del color del fondo [CERV 92]. Se aplica para reducir salientes de objetos, eliminar partes menores que el elemento estructurante, eliminar conexiones insignificantes entre objetos mayores, etc. La operación morfológica binaria de dilatación consiste en tomar el elemento estructurante (uno de cuyos puntos se considera el origen) y superponerlo a la imagen. Si parte del elemento estructurante es igual al contenido de la imagen, el punto de la imagen VISION ARTIFICIAL DINAMICA

10


4. PROCESAMIENTO DE IMAGENES

pasa a ser igual al punto origen del elemento estructurante, de lo contrario pasa a ser del color del fondo [CERV 92]. Se aplica para rellenar entrantes de objetos y unir pequeñas separaciones en las imágenes. Para el caso de imágenes expresadas en niveles de gris, la operación morfológica de erosión (E) consiste en tomar el elemento estructurante (uno de cuyos puntos se considera como origen) y superponerlo a la imagen centrado en el punto a transformar. En el punto correspondiente de la nueva imagen se coloca la mínima de las diferencias entre los puntos de la imagen original y el elemento estructurante [JONE 94]: (4.3)

E( F[x,y] , S[u,v] ) = minu,v ( F[x+u , y+v] - S[u,v] )

La operación de dilatación (D) en imágenes con niveles de gris consiste en tomar el elemento estructurante y superponerlo a la imagen centrado en el punto a transformar, y el punto correspondiente de la nueva imagen se obtiene después de seleccionar el valor máximo de la sumas de los puntos de la imagen original y el elemento estructurante. (4.4)

D( F[x,y] , S[u,v] ) = maxu,v ( F[x+u , y+v] + S[u,v] )

Los operadores erosión (E) y dilatación (D) son piezas fundamentales para obtener los demás operadores. Se define el operador residuo de la erosión (Er) como la diferencia entre el punto de la imagen y el punto obtenido de la aplicación de la erosión [FATH 95]: (4.5)

Er( F[x,y] , S[u,v] ) = F[x,y] - E( F[x,y] , S[u,v] )

De forma similar se define el operador residuo de la dilatación como la diferencia entre el punto obtenido de la aplicación de la dilatación y el punto de la imagen: (4.6)

Dr( F[x,y] , S[u,v] ) = D( F[x,y] , S[u,v] ) - F[x,y]

Los operadores residuo Er y Dr deforman las imágenes y, por tanto, no son capaces de indicar correctamente el tamaño de objetos. Sin embargo, combinando adecuadamente ambos operadores, puede ser obtenida la forma de las áreas claras y oscuras. Por ejemplo, por medio de la suma de los operadores Dr y Er se obtiene el operador gradiente morfológico Ede: (4.7)

Ede( F[x,y] , S[u,v] ) = Er( F[x,y] , S[u,v] ) + Dr( F[x,y] , S[u,v] )

El operador Ede puede detectar con efectividad los bordes de cualquier tipo, pero es sensible al ruido. Otros operadores para la detección de bordes son el Emax y Emin que se definen como: (4.8) (4.9)

Emax( F[x,y] , S[u,v] ) = max{ Er( F[x,y] , S[u,v] ) , Dr( F[x,y] , S[u,v] ) } Emin( F[x,y] , S[u,v] ) = min{ Er( F[x,y] , S[u,v] ) , Dr( F[x,y] , S[u,v] ) }

VISION ARTIFICIAL DINAMICA

11


4. PROCESAMIENTO DE IMAGENES

El operador Emax es un buen detector de bordes pero, al igual que el Ede, es sensible al ruido. El operador Emin no detecta los bordes horizontales y verticales, pero sí los inclinados, y además es insensible al ruido. Los operadores apertura (Op) y cierre (Cl) son utilizados en muchas aplicaciones, y algunos autores los consideran fundamentales junto con la erosión y la dilatación [MARA 90]. Se definen como: (4.10) (4.11)

Op( F[x,y] , S[u,v] ) = D( E( F[x,y] , S[u,v] ) , S[u,v] ) Cl( F[x,y] , S[u,v] ) = E( D( F[x,y] , S[u,v] ) , S[u,v] )

Otro operador morfológico que utiliza un filtro es el Apertura-cierre (OC) que en su versión más simple es definido como: (4.12)

OC = promedio( Op( Cl( F[x,y] , S[u,v] ) , S[u,v] ) )

El filtro Apertura-cierre tiene ventajas en cuanto a la insensibilidad al ruido y la detección de bordes, sin embargo es muy exigente en cuanto a complejidad computacional. No obstante han sido utilizados por autores como Pardàs y Salembier [PARD 94]. Aunque inicialmente los operadores morfológicos fueron aplicados sólo en dos dimensiones, ya algunos investigadores [PARD 94] han comenzado a utilizarlos en secuencias de imágenes con la finalidad de “conectar” las diferentes regiones entre una imagen y la siguiente. El problema con los filtros morfológicos es la elección del elemento estructurante, del cual, en definitiva, depende la efectividad del filtrado. Algunos autores [CERV 92] señalan la selección de elementos en forma de discos de un radio dado entre dos y cinco pixels, otros [SERR 95] utilizan elementos estructurantes de diversas formas como cuadros y cruces según la textura de las imágenes que se pretende filtrar. El tamaño de los elementos estructurantes es otra de las variables a considerar, ya que los límites dependen muchas veces del sistema que efectuará el procesamiento. Sin embargo, es posible descomponer los elementos estructurantes en una serie de elementos menores, con los cuales operar: (4.13) E( F , S )=E( E( F , S1 ) , S2 ) (4.14) D( F , S )=D( D( F , S1 ) , S2 ) La obtención de elementos estructurantes menores a partir de otros se suele denominar descomposición (decomposition), y ha sido abordado por varios autores [JONE 94] [PARK 94].

VISION ARTIFICIAL DINAMICA

12


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES La formulación de algoritmos eficientes para calcular el movimiento y la estructura a partir de secuencias de imágenes ha sido una de las áreas de mayor investigación en el campo de la visión artificial. La recuperación del campo de movimiento parece ser la tarea esencial de cualquier sistema de visión artificial que extraiga información a partir de una secuencia de imágenes. Sin embargo el único dato disponible es la variación espacial y temporal del patrón de brillo de la imagen. De ellas es posible obtener una aproximación del campo de movimiento denominado flujo óptico. El campo de movimiento y el flujo óptico son iguales sólo en el caso de que las variaciones espaciales del patrón de brillo correspondan a características estructurales de las superficies [VERR 89]. Se han propuesto una gran cantidad de algoritmos para la detección del movimiento en imágenes de vídeo. Cada autor establece algunas mejoras o nuevas formas de resolver el problema que supone la extracción del flujo óptico de una serie de imágenes. Sin embargo, básicamente se utilizan dos formas de acometer el problema, con diversas variaciones sobre ellos: • El método de los gradientes espacio-temporales consiste en determinar los cambios (gradientes) espaciales y temporales del patrón de grises de la imagen y a partir de ellos obtener el flujo óptico. Este método tiene como base el hecho de que en los cambios de intensidad de la imagen está contenida la información del movimiento de los objetos. Tiene la ventaja de que genera un campo vectorial muy denso (un vector por pixel) que resulta muy útil en algunas aplicaciones. Sin embargo adolece del problema de que es muy sensible al ruido en las imágenes y que no puede determinar el flujo bajo ciertas circunstancias. • La segmentación de las imágenes consiste en identificar una serie de características locales (objetos, bloques, segmentos, etc) en una imagen, tratar de obtener las correspondencias con la otra imagen, y por último determinar los movimientos. Estas técnicas adolecen del problema de que no generan un campo vectorial muy denso y de que su complejidad crece con el número de particularidades con el que cuenta la imagen [SCHW 95]. Para la estimación del movimiento en una primera aproximación, es necesario tener por lo menos un par de imágenes consecutivas, sin embargo, el uso de más imágenes aporta una mayor información y, por ello, puede obtenerse una estimación más real del movimiento [SHAR 90]. Antes de estudiar algunas formas de determinar el flujo óptico es necesario explicar dos nociones fundamentales. Una de ellas es la Ecuación Restringida del Flujo Optico, en la cual se basan todos los algoritmos que determinan el flujo a partir de gradientes espacioVISION ARTIFICIAL DINAMICA

13


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

temporales. La otra se refiere a las transformaciones que rigen el movimiento en el plano de la imagen, y que son utilizadas por muchos autores para la determinación de las características del movimiento.

ECUACION RESTRINGIDA DEL FLUJO OPTICO Una de las ecuaciones más importantes que se utilizan en el procesamiento de secuencias de imágenes es la conocida como Ecuación Restringida del Flujo Optico (Optical Flow Constraint Equation OFCE, o Spatio-Temporal Constraint Equation), formulada por B. Horn y B. Schunck en 1981 [HORN 81] en un artículo que se ha convertido en un clásico del análisis de visión artificial. Suponiendo que se tiene una secuencia de imágenes donde se cumplen las siguientes condiciones: • La iluminación de los objetos presentes en las imágenes es uniforme, la reflectancia de los objetos varía con suavidad y sin discontinuidades espaciales. • No existen objetos que se oculten unos a otros. • No hay nuevos objetos en la secuencia de imágenes. Cada punto en la imagen E[x,y,t] es producido por la proyección de un punto del espacio en el plano de la imagen y, según las condiciones asumidas arriba, se puede afirmar que la intensidad de cada punto en particular no cambia, lo que cambia es su posición: (5.1)

E (x, y, t ) = E ( x + δ x , y + δ y , t + δ t )

donde δx y δy son los desplazamientos en las direcciones x e y, y δt es el cambio en el tiempo. En las cercanías del punto (x,y,t) se tiene:

(5.2)

E ( x , y , t ) = E ( x , y , t) + δ x

∂E ∂E ∂E +δ y +δt ∂x ∂y ∂t

Si se sustrae E(x,y,t) en ambos lados de la ecuación y se divide por δt , se tiene: δy ∂E δx ∂ E ∂E + + = 0 δt ∂ x δt ∂ y ∂t

(5.3)

Haciendo que el límite δt→0, se obtiene la ecuación restringida del flujo óptico:

(5.4)

VISION ARTIFICIAL DINAMICA

dx ∂ E dy ∂ E ∂E + + = 0 dt ∂ x dt ∂ y ∂t

14


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

Esta ecuación relaciona la velocidad de los puntos en una imagen con la variación del patrón de grises de la imagen, y es expresada en múltiples formas: Ex vx + E y vy + Et = 0

(5.5) donde: Ex =

∂E ∂x

vx =

dx dt

, Ey =

,

∂E , ∂y

vy =

dy dt

Et =

∂E ∂t

y

son las velocidades en cada dirección.

r r ∂E ∇E ⋅ V + = 0 ∂t

(5.6) donde:

r V es el vector velocidad (v x , v y ) y r ∂ E ∂ E  ∇E es el vector gradiente del patrón de grises  ,  ∂y ∂ x

MODELIZACION DEL MOVIMIENTO El análisis del movimiento a partir de secuencias de imágenes, busca extraer parámetros que caractericen el movimiento de los objetos. Por lo general, los parámetros son coeficientes de ecuaciones que rigen el comportamiento dinámico de los objetos. Según esto, en el procesamiento de imágenes en secuencia se han utilizado ecuaciones de diverso tipo como lineales, no lineales y polinomiales. Sin embargo, las ecuaciones más utilizadas son las lineales, como la que se detalla a continuación. Suponiendo que R1 es la región proyectada por cierto objeto en el plano de la imagen en un tiempo t1, y R2 es la región proyectada por el mismo objeto en el tiempo t2 después de una traslación. Se puede considerar que la transformación que relaciona ambas regiones como:

(5.7)

 x′   a1 T( x , y ) =   =   y′   a 4

a2   x  a3  ⋅ + a5   y   a 6 

escrita en forma vectorial: (5.7b) T = AX + B El vector (a3,a6) tiene en cuenta la traslación espacial, mientras la matriz [a1,a2,a4,a5] tiene en cuenta la rotación y el cambio de escala [PARD 94]. En otras VISION ARTIFICIAL DINAMICA

15


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

palabras, un punto de la imagen ubicado en (x,y) se desplaza a una posición (x´, y´) según la transformación T(x,y). Ahora bien, también es posible expresar el cambio de posición como una velocidad, para lo cual se puede escribir la ecuación vectorial de velocidad: V = Ω × r + VL

(5.8) donde:

Ω = ( ω x , ω y , ω z ) es el vector velocidad angular r = ( x , y , z ) es la posición del punto en la imagen VL = ( v x , v y , v z ) es el vector velocidad en el punto

DETERMINACION DEL FLUJO OPTICO POR GRADIENTES Para la mayoría de los algoritmos de interpretación de secuencias de imágenes se requiere obtener el flujo óptico, y la mayoría de ellos hace uso de la ecuación restringida del flujo óptico (OFCE) de Horn y Schunck que se enunció antes. A continuación se describe el procedimiento de determinación del flujo óptico en su versión más simple, como fue propuesta por Horn y Schunck [HORN 81] y expresada en cierta forma por Verri y Poggio [VERR 89]. En la ecuación de flujo óptico OFCE (5.5) tiene implícito el flujo óptico ( vx , vy ): (5.5)

E x vx + E y v y + Et = 0

pero esta ecuación contiene dos incógnitas, por lo que no es posible obtener una única solución. Escribiendo la ecuación OFCE de otra manera: (5.9)

r r ( E x , E y ) ⋅ (v x , v y ) = ∇E ⋅ V = − E t

se observa que podemos determinar la componente del flujo óptico en la dirección del gradiente del brillo de la imagen ( Ex , Ey ). La información disponible en cada punto de una secuencia de imágenes es sólo la componente del campo de movimiento en la dirección del vector gradiente del patrón de brillo. Esto se conoce con el nombre de problema de apertura. Podemos expresarlo como: r ∇E V⊥ = − Et

(5.10) (5.11)

VISION ARTIFICIAL DINAMICA

V⊥ =

− Et r ∇E

= −

Et E x2 + E y2 16


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

r ∇E

donde:

V⊥

es la norma del vector gradiente del brillo es la norma del vector velocidad en la dirección del gradiente del brillo

Expresando en forma vectorial el vector velocidad en la dirección del gradiente de brillo:

r V⊥ = −

(5.12) donde:

r ∇E r ∇E

e$ =

Et

e$

E x2 + E y2

es el vector unitario en la dirección del gradiente de brillo

Se concluye que no puede ser determinada la componente del movimiento perpendicular al gradiente del brillo, y tampoco puede determinarse en los casos de zonas de igual brillo (iso-brillo). La determinación del flujo óptico pasa, por tanto, por el paso previo de determinar los gradientes temporales y espaciales del patrón de grises de la imagen. Horn y Schunck proponen hacer esto con una convolución tridimensional con un cubo de 2 x 2 x 2 (Figura 5): Ex =

1 4

(5.13) E y =

1 4

Ex =

1 4

(E (E (E

i , j + 1, k

− Ei , j , k + Ei +1, j +1, k − Ei +1, j , k + Ei , j +1, k +1 − Ei , j , k +1 + Ei +1, j +1, k +1 − Ei +1, j , k +1

i + 1, j , k

− Ei , j , k + Ei +1, j +1, k − Ei , j +1, k + Ei +1, j , k +1 − Ei , j , k +1 + Ei +1, j +1, k +1 − Ei , j +1, k +1

i , j , k +1

− Ei , j , k + Ei +1, j , k +1 − Ei +1, j , k + Ei , j +1, k +1 − Ei , j +1, k + Ei +1, j +1, k +1 − Ei +1, j +1, k

) ) )

y t i+1

i

k+1 k j

j+1

x

Figura 5.- Convoluciones 2 x 2 para determinar las componentes del vector gradiente espacial y temporal del patrón de brillo. Para hallar las dos componentes del flujo óptico es preciso calcular, a partir de los gradientes obtenidos, modificando la ecuación (5.12):

VISION ARTIFICIAL DINAMICA

17


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

(5.14)

v⊥ x =

(5.15)

v⊥ y = −

Et E x E + E y2 2 x

Et E y E + E y2 2 x

Para determinar el valor del flujo óptico en las áreas donde falla la ecuacion OFCE, Horn y Schunck agregan una condición adicional: los cambios en el flujo óptico deben ser suaves. En otras palabras, no hay cambios bruscos en el movimiento entre puntos cercanos de la imagen. Adicionalmente, dado que se requiere calcular las derivadas espacio-temporales del patrón de grises de la imagen, es preciso que éste sea diferenciable. Por ello, casi todos los autores utilizan un filtro por convolución (gausiano por lo general) que suaviza la imagen antes de proceder a calcular el gradiente.

SECUENCIA DE IMAGENES

FILTRO DE SUAVIZAMIENTO

DETERMINACION DE LOS GRADIENTES ESPACIO-TEMPORALES Ex , Ey , Et

DETERMINACION DEL FLUJO OPTICO BASICO

APLICACION DE RESTRICCIONES DE SUAVIDAD EN CAMBIOS EN EL FLUJO OPTICO

Figura 6.-Determinación del flujo óptico por Horn y Schunck.

DETERMINACION DEL MOVIMIENTO A PARTIR DE LOS GRADIENTES La mayoría de las aplicaciones y teorías sobre la determinación del movimiento se basan en la interpretación del flujo óptico en su versión más simple. Sin embargo Yamamoto [YAMA 89] introduce un método con el que es posible la determinación de los parámetros de movimiento con una mayor exactitud, sin necesidad de calcular previamente el flujo óptico. Yamamoto parte de la ecuación OFCE (5.5) y sustituye en ella la ecuación de velocidad enunciada con anterioridad (5.8):

(5.5) (5.8) VISION ARTIFICIAL DINAMICA

Ex vx + E y vy + Et = 0 V = Ω × r + VL 18


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

De ellas se obtiene para el caso tridimensional la siguiente ecuación: (5.16)

E x v x + E y v y − E yωx z + E xω y z + ( E y x − E x y )ωz + Et = 0

donde las incógnitas son los parámetros del movimiento ( vx , vy , ωx , ωy , ωz ), y se supone que z es conocida. En el caso de que el movimiento esté restringido al plano perpendicular al eje óptico, ωx=ωy=0 , la ecuación (5.16) se simplifica a: E x v x + E y v y + ( E y x − E x y )ωz + Et = 0

(5.17)

Y por último, en el caso de que no esté permitida la rotación ωz=0 : Ex vx + E y v y + Et = 0

(5.18)

El movimiento modelado por las tres ecuaciones anteriores es llamado 3-D, 2-D y 1-D, respectivamente. Las ecuaciones pueden ser escritas para n puntos de la imagen, donde n es el número de incógnitas en la ecuación (5 para movimiento 3-D, 3 para 2-D, y 2 para 1-D). Además, las ecuaciones pueden representarse en forma matricial a resolver: (5.19)

AX = B donde: la i-ésima fila de los vectores A, X, B, está dada por: A 3- D = ( E xi , E yi , − E yi zi , E xi zi , E yi xi − E xi yi ) X 3-D = ( x , y , ωx , ω y , ωz ) B 3-D = ( Eti ) A 2-D = ( E xi , E yi , E yi xi − E xi yi ) X 2-D = ( x , y , ωz ) B 2-D = ( Eti ) A 1-D = ( E xi , E yi ) X1-D = ( x , y ) B 1-D = ( E ti )

De lo anterior se concluye que para obtener los parámetros de movimiento hace falta determinar los gradientes espacio-temporales del patrón de grises en alguna forma similar a la utilizada por Horn y Schunck, luego tomar una serie de puntos de la imagen y VISION ARTIFICIAL DINAMICA

19


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

aplicar la ecuación (5.19), con la profundidad z obtenida por algún otro método en el caso de utilizar la forma 3-D. SECUENCIA DE IMAGENES

FILTRO DE SUAVIZAMIENTO

DETERMINACION DE LOS GRADIENTES ESPACIO-TEMPORALES Ex , Ey , Et

DETERMINACION DE LOS PARAMETROS DEL MOVIMIENTO (FLUJO OPTICO)

Figura 7.-Determinación de los parámetros del movimiento por el método de Yamamoto.

DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES Los métodos de determinación de movimiento en imágenes por gradientes están limitados por las restricciones que se enunciaron más arriba. Sin embargo, muchas de esas limitantes ocurren en el mundo real: los objetos con frecuencia se ocultan unos a otros, aparecen y desaparecen objetos en los bordes del campo de visión, la iluminación varía y no está garantizada la suavidad de la iluminación de los objetos. Por ello muchos autores acometen el problema de determinación del movimiento desde otro punto de vista: separar la imagen en partes y luego determinar el movimiento de cada uno de estas partes, con algoritmos generalmente denominados como “segmentación de imágenes”. A diferencia de los métodos de determinación de movimiento en las imágenes por los gradientes espacio-temporales, los métodos de determinación por segmentación de imágenes son mucho más variados en su desarrollo. Sin embargo, podemos establecer tres métodos básicos: • Algoritmos de segmentación en líneas que extraen el contorno de los objetos, modelan éstos como segmentos de líneas, y determinan los parámetros de movimiento en base al desplazamiento de los segmentos entre las sucesivas imágenes. Ejemplos de éstos algoritmos se pueden encontrar en [GUSH 96], [TAYL 95] y [ZHAN 95]. • Algoritmos de segmentación en bloques que modelan las imágenes dividiéndolas en rectángulos (u otros polígonos) de tamaños variables que se adaptan a áreas de nivel de gris (o color) más o menos homogéneo. El movimiento se determina en base al desplazamiento de los centros de los rectángulos entre las sucesivas imágenes. Ejemplos de estos algoritmos se pueden encontrar en [PANJ 95] y [SCHW 95]. VISION ARTIFICIAL DINAMICA

20


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

• Algoritmos de segmentación de grupos (clusters) que modelan las imágenes como áreas amorfas adaptadas a áreas de la imagen de características más o menos homogéneas en cuanto a color, nivel de gris o textura. El movimiento se determina en base al desplazamiento de los centros “de masa” de cada una de las áreas correspondientes entre dos imágenes consecutivas. Ejemplos de estos algoritmos se pueden encontrar en [KOTT 94], [PARD 94] y [UCHI 94].

DETERMINACION DEL MOVIMIENTO POR SEGMENTACION EN LINEAS

DETERMINACION DEL MOVIMIENTO POR SEGMENTACION EN BLOQUES

DETERMINACION DEL MOVIMIENTO POR SEGMENTACION EN GRUPOS

Figura 8.-Métodos de determinación del movimiento por características locales. Los algoritmos de segmentación en líneas extraen en primer lugar los contornos de los objetos contenidos en la imagen. Para ello utilizan operadores por convolución u operadores morfológicos detectores de bordes. Luego determinan las coordenadas de cada uno de los segmentos de líneas que conforman los objetos en las imágenes, determinan la correspondencia entre los segmentos de las imágenes consecutivas y, por último, determinan el movimiento de aquellos segmentos cuya posición ha cambiado. Los algoritmos de segmentación en bloques, por lo general, dividen las imágenes en una serie de bloques “semilla”, y luego vuelven a dividir estos bloques en bloques más pequeños si no se cumplen ciertas restricciones en cuanto a la dispersión de niveles de gris (o color) dentro de los cuadros. El proceso de división continúa hasta cumplir con dichas restricciones. Luego se procede a buscar las correspondencias entre los bloques de dos imágenes consecutivas y, por último, se determina el movimiento de aquellos bloques que han cambiado de posición. Los algoritmos de segmentación en grupos, utilizan procesos de simplificación de las imágenes en áreas de color o textura uniforme, tales como los operadores morfológicos. Las imágenes quedan divididas en áreas uniformes, luego se procede a determinar los “centros” de cada área, hallar las correspondencias entre las áreas de las imágenes consecutivas y, por último, a determinar el movimiento entre los centros de áreas correspondientes de dos imágenes consecutivas.

VISION ARTIFICIAL DINAMICA

21


5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

Todos los algoritmos de segmentación tienen la característica común de generar un campo vectorial de flujo óptico poco denso: un vector por segmento, cuadro o área. Es posible asignar el mismo vector a todos los pixels dentro de un cuadro o área, pero es una generalización que puede no ser útil en todos los casos. También los algoritmos de segmentación adolecen del problema de que son computacionalmente muy exigentes. Los procesos de buscar las correspondencias entre segmentos, bloques o áreas de una imagen a otra no son sencillos. Además cuando una imagen está compuesta por múltiples objetos, las segmentaciones suelen ser numerosas y, por tanto, el cálculo extremadamente laborioso.

VISION ARTIFICIAL DINAMICA

22


6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES Para la determinación del movimiento a través del procesamiento de secuencias de imágenes poco se ha escrito hasta el momento. Como se ha visto en el capítulo anterior, existen varios caminos para determinar el movimiento de los objetos a partir de secuencias de imágenes, y ninguno de ellos es hasta el momento óptimo. Se puede decir que parecen existir dos grandes vertientes, la de los gradientes espacio-temporales y la de la segmentación.

ARQUITECTURAS PARA PROCESAMIENTO DE GRADIENTES ESPACIO-TEMPORALES En los algoritmos de determinación del movimiento por gradientes espaciotemporales todos los caminos pasan por calcular los gradientes en las direcciones x, y, y t. Esto, tal y como se explicó con anterioridad, puede llevarse a cabo por medio de convoluciones tridimensionales, las cuales son de relativamente fácil implementación por hardware. En la Figura 9 se presenta una arquitectura para la determinación del movimiento por gradientes espacio-temporales. En ella se observa cómo la secuencia de imágenes es pasada primero por un filtro de suavizado, de manera que se reduzcan los ruidos y que las transiciones en la imagen sean suaves con el fin de que la imagen sea derivable. Por lo general la mayoría de los autores utilizan un filtro gausiano para llevar a cabo esta operación. La secuencia de imágenes se va almacenando en memorias tipo FIFO de manera que las etapas de extracción de gradientes tengan a su disposición todos los cuadros a procesar a un mismo tiempo. El número de cuadros a procesar varía según los autores. Sin lugar a dudas, cuanta mayor información se tiene mejor es la estimación del movimiento, sin embargo el tiempo y la complejidad del procesamiento aumentan considerablemente. Por lo general se utilizan de dos a cinco cuadros de la secuencia de imágenes. Los extractores de los gradientes Ex ,Ey , y Et , son circuitos que efectúan la convolución tridimensional de las imágenes. El tamaño de las regiones a convolucionar depende del número de cuadros a procesar. En la ecuación (5.13) se mostró matemáticamente una convolución tridimensional de una región de 2 x 2 x 2 pixels, para calcular los gradientes espacio-temporales. En la última etapa del circuito de la Figura 9 se efectúa el procesamiento de los gradientes para obtener los parámetros del movimiento. Esta etapa depende de los algoritmos utilizados, pero cada quién tiene una respuesta diferente, más o menos acertada, pero en todo caso compleja. En definitiva es una etapa que aún requiere la utilización de procesadores de propósito general de alta velocidad. VISION ARTIFICIAL DINAMICA

23


6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

SECUENCIA DE IMAGENES

SUAVIZADO DE LA IMAGEN POR MEDIO DE FILTRADO (FILTRO POR CONVOLUCION 2-D)

FIFO (1 CUADRO) . . N-1 .

: N :

EXTRACTOR DE GRADIENTE Ex (CONVOLUCION 3-D) NxNxN

: N :

EXTRACTOR DE GRADIENTE Ey (CONVOLUCION 3-D) NxNxN

: N :

EXTRACTOR DE GRADIENTE Et (CONVOLUCION 3-D) NxNxN

FIFO (1 CUADRO)

Ex

Ey

PROCESAMIENTO DE FLUJO OPTICO

Et

PARAMETROS DEL MOVIMIENTO

Figura 9.-Arquitectura para la determinación de movimiento en secuencias de imágenes por el método de gradientes espacio-temporales.

ARQUITECTURAS PARA PROCESAMIENTO POR SEGMENTACION Los métodos de segmentación son aún más complicados y diversos que los de estimación por gradientes para llevarlos a una arquitectura típica. Si bien en ellos pueden utilizarse algunas secciones ya estandarizadas de procesamiento, gran parte del cálculo debe hacerse con procesadores de propósito general. En la Figura 10 se observa una arquitectura para determinar el movimiento por medio de la segmentación en segmentos de línea. En primer lugar está el bloque de extracción de contornos, el cual puede ser llevado a cabo por un convolucionador o un operador morfológico para la detección de bordes. La conversión a segmentos de líneas es ya una actividad que debe realizarse con un procesador de propósito general, al igual que la determinación de las correspondencias entre las imágenes y la determinación del movimiento. Para los algoritmos de segmentación en bloques no puede hablarse de ninguna sección con arquitectura típica. Para ellos es preciso utilizar procesadores de propósito VISION ARTIFICIAL DINAMICA

24


6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

general y de alta velocidad. Es posible que varias secciones de procesamiento (Figura 11) ayuden en algo a la tarea, pero aún sigue siendo de cálculo intensivo.

SECUENCIAS DE IMAGENES

EXTRACCION DE CONTORNOS

CONVERSION DE CONTORNOS A SEGMENTOS DE LINEAS FIFO (1 CUADRO)

FIFO (1 CUADRO)

DETERMINACIÓN DE CORRESPONDENCIAS ENTRE SEGMENTOS DE DIFERENTES IMAGENES

DETERMINACIÓN DEL MOVIMIENTO

Figura 10.-Arquitectura para la determinación del movimiento por segmentación de la imagen en segmentos de línea.

SECUENCIAS DE IMAGENES

DIVISION EN BLOQUES FIFO (DATOS DE UN CUADRO)

FIFO (DATOS DE UN CUADRO)

DETERMINACIÓN DE CORRESPONDENCIAS ENTRE BLOQUES DE DIFERENTES IMAGENES

DETERMINACIÓN DEL MOVIMIENTO

Figura 11.- Arquitectura para la determinación del movimiento por segmentación de la imagen en bloques.

Para la segmentación en grupos, se están utilizando (Figura 12) algoritmos que extraen las áreas homogéneas de la imagen por medio de operadores morfológicos que son implementables por arquitecturas similares a la convolución. Sin embargo, el resto de las etapas pertenece casi exclusivamente al terreno de los procesadores de propósito general. VISION ARTIFICIAL DINAMICA

25


6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

SECUENCIAS DE IMAGENES

EXTRACCION DE AREAS UNIFORMES DETERMINACION DE LOS CENTROS DE CADA AREA FIFO (DATOS DE UN CUADRO)

FIFO (DATOS DE UN CUADRO)

DETERMINACION DE CORRESPONDENCIAS ENTRE AREAS DE DIFERENTES IMAGENES

DETERMINACIÓN DEL MOVIMIENTO

Figura 12.- Arquitectura para la determinación del movimiento por segmentación de la imagen en grupos.

VISION ARTIFICIAL DINAMICA

26


7. CONCLUSIONES

7.

CONCLUSIONES

De este estudio de la visión artificial aplicada a la determinación del movimiento se puede concluir que aunque es un campo en que se han hecho muchas investigaciones, todavía el objetivo final está lejos de ser alcanzado. Los procedimientos para detectar el movimiento en secuencias de imágenes son largos, complicados y no están exentos de debilidades. No existen circuitos que extraigan todos los parámetros del movimiento en tiempo real. La mayor parte del trabajo ha sido realizado en computadores de alta velocidad y altas prestaciones, y aún así los tiempos de ejecución (en especial de los algoritmos de segmentación) distan mucho de ser en tiempo real. Sin embargo, hay algunas posibilidades de ir implementando circuitos dedicados a procesar las imágenes a alta velocidad para efectuar partes del procesamiento general destinado a determinar el movimiento. Tal es el caso de los circuitos de extracción de los gradientes espacio-temporales y los operadores morfológicos. Para la determinación de los gradientes espacio-temporales ya se asoman algunos intentos concretos para su realización con circuitos electrónicos. Para la aplicación de operadores morfológicos la tarea aún no ha comenzado, pero el estado actual de la técnica permite crear circuitos destinados a esta aplicación, con buenas posibilidades de éxito.

VISION ARTIFICIAL DINAMICA

27


8. BIBLIOGRAFIA

8.

BIBLIOGRAFIA

[CERV 92] [DERI 90] [FATH 95] [GUPT 95] [GUSH 96] [HORN 81] [JONE 94] [KOTT 94] [LIMJ 90] [MARA 90] [NOZA 93] [OTTE 95] [PANJ 95] [PARD 94] [PARK 94] [SCHW 95] [SERR 95] [SHAR 90] [UCHI 94] [VERR 89] [VICE 90] [YAMA 89] [ZHAN 95]

[CERV 92]

V. Cerverón, J. Domingo, M. Vicens y J. Pelechano. “Tratamiento digital de imágenes, diagraph, biblioteca de programas.” Mundo Electrónico, no. 233, pp. 78-85, Nov. 1992.

[DERI 90]

R. Deriche y O. Faugeras. “Tracking line segments.” Procedings on First European Conference of Computer Vision, O. Faugeras, ed., pp 254-268, Antibes, Francia, Abr. 1990.

[FATH 95]

M. Fathy y M. Siyal. “A window-based edge detection technique for measuring road traffic parámeters in real-time”. Real Time Imaging, vol. 1, pp. 297-305, 1995.

[GUPT 95]

N. Gupta y L. Kanal. “3-D motion estimation from motion field.” Artificial Inteligence, no. 78,. pp. 45-86, 1995.

[GUSH 96]

H. Gu, Y. Shirai y M. Asada “MDL-based segmentation and motion modeling in a long image sequence scene with multiple independently moving objects.” IEEE Transactions on pattern analysis and machine intelligence, vol. 18, no. 1, pp. 59-65, Ene. 1996.

[HORN 81]

B. Horn y B. Schunck. “Determining Optical Flow.” Artifitial Intelligence, no. 17, pp. 185-203, 1981.

[JONE 94]

R. Jones y I. Svalbe. “Algorithms for the decomposition of gray-scale morphological operations.” IEEE Transactions on pattern analysis and machine intelligence, vol. 16, no. 6, pp. 581-588, Jun. 1994.

[KOTT 94]

D. Kottke y Y. Sun. “Motion estimation via cluster matching.” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 16, no. 11, Nov. 1994, pp. 1128-1132.

[LIMJ 90]

J. Lim. Two-dimensional signal and image processing. Englewood Cliffs, NJ: 1990.

[MARA 90]

P. Maragos y R. Ziff. “Threshold superposition in morphological image analysis system.” Transactions on Pattern Analysis and Machine Intelligence, vol. 12, no. 5, May. 1990, pp. 498504.

[NOZA 93]

L. Nozal y S. Lorenzo. “Arquitectura para procesamiento de imágenes.” Mundo Electrónico, no. 236, pp. 42-48, Mar. 1993.

[OTTE 95]

M. Otte y H. Nagel. “Estimation of optical flow based on higher-order spatiotemporal derivatives in interlaced and non-interlaced images secuences.” Artifitial Inteligence 78, pp. 543, 1995.

[PANJ 95]

D. Panjwani y G. Healey. “Markov random field models for unsupervised segmentation of textured color images.” IEEE Transactions on pattern analysis and machine intelligence, vol. 17, no. 10, pp. 939-954, Oct. 1995.

[PARD 94]

M. Pardàs y P. Salembier. “3D morphological segmentation and motion estimation from image secuences.” Signal Processing, vol. 38, no. 1, pp. 31-43, Jul . 1994.

[PARK 94]

H. Park y R. Chin. “Optimal decomposition of convex morphological structuring elements for 4-connected parallel array processors.” IEEE Transactions on Pattern analysis an machine intelligence, vol. 16, no. 3, pp. 304-313, Mar. 1994.

[SCHW 95]

H. Schweitzer. “Occam algorithms for computing visual motion”. IEEE Transactions on pattern analysis and machine intelligence, vol. 17, no. 11, pp. 1033-1042, Nov. 1995.

[SERR 95]

J. Serrano. “Procesado morfológico de imágenes (I).” Eurofach Electrónica, pp. 54-63, Mar. 1995.

VISION ARTIFICIAL DINAMICA

28


8. BIBLIOGRAFIA [SHAR 90]

H. Shariat y K. Price. “Motion estimation with more than two frames.” IEEE Transactions on pattern analysis and machine intelligence, vol. 12, no. 5, pp. 417-425, Nov. 1990.

[UCHI 94]

T. Uchiyama y M. Arbib. “Color image segmentation using competitive learning.” IEEE Transactions on pattern analysis and machine intelligence, vol. 16, no. 12, pp. 1197-1206, Dic. 1994.

[VERR 89]

A. Verri y T. Poggio. “Motion field and optical flow: qualitative properties”. IEEE Transactions on pattern analysis and machine inteligence, vol. 11, no. 5, pp. 490-498, May. 1989.

[VICE 90]

M. Vicens, J. Albert, V. Arnau, V. Cerverón y G. Fabregat. “Tratamiento digital de imágenes. Técnicas básicas.” Mundo Electrónico, no. 208, pp. 67-76, May. 1990.

[YAMA 89]

M. Yamamoto. “A general aperture problem for direct estimation of 3-D motion parameters.” IEEE Transactions on pattern analysis and machine inteligence, vol. 11, no. 5, pp. 528-536, May. 1989.

[ZHAN 95]

Z. Zhang. “Estimating motion and structure from correspondence of line segments between two perspective images.” IEEE Transactions on pattern analysis and machine inteligence, vol. 17, no. 12, pp. 1129-1139, Dic. 1995.

VISION ARTIFICIAL DINAMICA

29


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.