vision artificial dinamica determinacion de …determinacion del movimiento por segmentacion de...

31
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

Upload: others

Post on 19-Mar-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

UNIVERSIDAD DEL PAIS VASCOEUSKAL HERRIKO UNIBERTSITATEA

DOCTORADO EN TECNOLOGIAS DE LA INFORMACION

VISION ARTIFICIAL DINAMICADETERMINACION DE MOVIMIENTO A

PARTIR DE SECUENCIAS DE IMAGENES

Por: Aitzol Zuloaga IzaguirreProfesor: José Luis Martín González

Bilbao, septiembre, 98

Page 2: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

INDICE

1. INTRODUCCION Y OBJETIVOS 1

2. CONCEPTOS BASICOS 2

3. APLICACIONES DEL PROCESAMIENTO DE IMAGENES SECUENCIALES 4

4. PROCESAMIENTO DE IMAGENES 6

CONVOLUCION 8OPERACIONES MORFOLOGICAS 9

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES 13

ECUACION RESTRINGIDA DEL FLUJO OPTICO 14MODELIZACION DEL MOVIMIENTO 15DETERMINACION DEL FLUJO OPTICO POR GRADIENTES 16DETERMINACION DEL MOVIMIENTO A PARTIR DE LOS GRADIENTES 18DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20

6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23

ARQUITECTURAS PARA PROCESAMIENTO DE GRADIENTES ESPACIO-TEMPORALES 23ARQUITECTURAS PARA PROCESAMIENTO POR SEGMENTACION 24

7. CONCLUSIONES 27

8. BIBLIOGRAFIA 28

Page 3: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

1. INTRODUCCION Y OBJETIVOS

VISION ARTIFICIAL DINAMICA 1

1. INTRODUCCION Y OBJETIVOS

Hasta hace relativamente poco tiempo los sistemas de visión artificial sólooperaban extrayendo información de imágenes estáticas, para lo cual podían operar avelocidades relativamente lentas y con una cantidad de información limitada en ciertosentido. Hoy en día es posible efectuar procesamiento de imágenes a mayor velocidad yprocesar mayores volúmenes de información, por ello se comienza a buscar algoritmospara el procesamiento de secuencias de imágenes.

Sin embargo, hasta el momento la extracción de información de secuencias deimágenes en tiempo real y en forma satisfactoria no puede considerarse un objetivototalmente alcanzado.

La extracción de información de secuencias de imágenes es una tarea clave enmuchos sistemas de visión artificial. Esta información puede ser útil para la solución deproblemas como la obtención de información referente al desplazamiento de objetos, lamedición de velocidad de objetos, la modelización tridimensional del entorno, larestauración de imágenes, etc.

Generalmente el procesamiento de secuencias de imágenes se lleva a cabo pormedio de procesadores de propósito general y de alta velocidad, sin embargo aún eltiempo de procesamiento resulta muy grande para aplicaciones en el procesamiento deimágenes a velocidades convencionales de 25 y 30 cuadros por segundo. No obstante enlos actuales momentos, con el uso de nuevas tecnologías de circuitos integrados y laaplicación de novedosos algoritmos de procesamiento, es posible desarrollar incipientesformas 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 utilizarel procesamiento de secuencias de imágenes de vídeo.

• Analizar las técnicas matemáticas más utilizadas para el procesamiento desecuencias de imágenes de vídeo para extraer información útil.

• Estudiar algunos algoritmos de procesamiento de secuencias de imágenespropuestos por diferentes autores.

• Examinar las diversas arquitecturas utilizadas o utilizables para el procesamientode secuencias de imágenes de vídeo.

Page 4: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

2. CONCEPTOS BASICOS

VISION ARTIFICIAL DINAMICA 2

2. CONCEPTOS BASICOS

En el campo de la visión artificial se han ido acuñando una serie muy amplia detérminos, principalmente en inglés, y que han sido trasladados al español con menor omayor acierto. A continuación se definen algunos de esos términos y algunos conceptosrelacionados 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 unaescena tridimensional en un determinado instante de tiempo to. Este término se utiliza confrecuencia 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ínicaobtenidos para un tiempo to constante I[x,y,to]

* . Pudiera decirse en cierta forma que esuna imagen discretizada.

Pixel (Pixel: Picture Element): Es cada una de las posiciones en que esdiscretizada 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 ciertovalor lumínico.

Imagen binaria (Binary image): Son aquellas imágenes cuyos pixels sólo tienendos valores: cero y uno.

Secuencia digitalizada de vídeo (Digitized video sequence): Es una muestradiscreta 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 vectoresque representan la velocidad de cada punto de una imagen, o lo que es lo mismo, es laproyección en perspectiva del campo tridimensional de vectores de velocidad de unaescena en movimiento en el plano de la imagen [VERR 89]. El campo de movimiento esun 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 nivelesde gris [OTTE 95]. Es un array bidimensional de vectores. El flujo óptico puedeconsiderarse como una aproximación del campo de movimiento, pero a diferencia de aquelpuede ser obtenido de una secuencia de imágenes [GUPT 95]. Las variaciones en losniveles 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.

Page 5: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

2. CONCEPTOS BASICOS

VISION ARTIFICIAL DINAMICA 3

imágenes, por ello a partir del flujo óptico es posible determinar el movimiento de losobjetos en secuencias de imágenes [HORN 81].

Estructura obtenida del movimiento (Structure from Motion SFM): Métodomediante el cual es posible obtener las formas de los objetos del entorno a partir desecuencias de imágenes no estereoscópicas del mismo.

Campo de visión: Es el lugar en el que un sensor de imagen puede captar lainformación lumínica.

Parámetros del movimiento (Motion Parameters): es aquel conjunto de númeroslos cuales representan el movimiento de un punto o un grupo de puntos en el espacio y eltiempo. Tales coeficientes pueden representar las coordenadas espaciales, la velocidadlineal, la velocidad angular, etc.

Page 6: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

3. APLICACIONES DEL PROCESAMIENTO DE IMAGENES SECUENCIALES

VISION ARTIFICIAL DINAMICA 4

3. APLICACIONES DEL PROCESAMIENTO DEIMAGENES SECUENCIALES

El movimiento es una fuente de información visual importante. La estimación delmovimiento en imágenes tienen una gran cantidad de aplicaciones, que pueden clasificarsedentro de los siguientes grupos:

• Recuperación de la estructura tridimensional a partir de secuencias deimágenes bidimensionales (Estructura obtenida del movimiento, SFM), comoson la detección de obstáculos para robots de navegación autónoma, lamodelización del entorno, la adquisición automática de modelos para diseñoasistido por computador (CAD), etc.

• Compresión y reconstrucción de secuencias de imágenes, como son los casosde codificación y decodificación MPEG, y la reconstrucción de imágenesafectadas por ruido.

• Seguimiento y caracterización dinámica de objetos en movimiento como enla detección de parámetros de tráfico de automóviles [FATH 95], los sistemas deseguridad por visión artificial y en la previsión metereológica.

Una imagen provee solo información bidimensional del mundo tridimensional. Si sedispone de dos imágenes tomadas desde distintas ubicaciones espaciales, es posiblemodelizar en parte el mundo tridimensional, en cuyo caso se dice que se dispone de dosimágenes estereoscópicas. Sin embargo, también desde secuencias de imágenesbidimensionales es posible extraer suficiente información como para modelizar en ciertogrado los objetos en movimiento. La recuperación de la estructura tridimensional delentorno 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 losordenadores, 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 cualmatemáticamente no tiene diferencia.

La compresión de secuencias de imágenes es una de las aplicaciones másimportantes de la estimación del movimiento a partir de imágenes y, además, es laaplicación más extendida. Las secuencias de imágenes están compuestas por objetos condiferentes movimientos. Cada cuadro de la secuencia de imágenes es muy parecida alanterior, a excepción de que algunos puntos de un cuadro cambian de posición para elsiguiente, y de que pueden presentarse nuevos objetos en movimiento que entran en elcampo de visión. De aquí que las aplicaciones de compresión de imágenes en movimientose basan en indicar sólo los cambios de posición de aquellas partes de la imagen quecambian y mantener el resto [PARD 94].

También con la información contenida en las secuencias de imágenes es posiblereconstruir imágenes ruidosas, ya que parte de la información de una imagen se mantiene

Page 7: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

3. APLICACIONES DEL PROCESAMIENTO DE IMAGENES SECUENCIALES

VISION ARTIFICIAL DINAMICA 5

en la siguiente, posiblemente desplazada. Este caso es muy similar a la compresión desecuencias [LIMJ 90].

El seguimiento y caracterización dinámica de objetos en movimiento permite lautilización de la visión artificial en aplicaciones muy útiles y prometedoras. En aplicacionescomo la mencionada con anterioridad de control de tráfico de automóviles, es posibleajustar automáticamente y a un bajo costo los sistemas de señalización en función de lascaracterísticas del tráfico. Pueden utilizarse también para aplicaciones de seguridad, dondeun operario humano puede distraerse con facilidad.

Otra aplicación muy utilizada en la actualidad del análisis de secuencias deimágenes de objetos en movimiento es el pronóstico meteorológico, con la diferencia deque las imágenes en este caso se producen a una velocidad mucho menor, y soncomplejas.

Page 8: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

4. PROCESAMIENTO DE IMAGENES

VISION ARTIFICIAL DINAMICA 6

4. PROCESAMIENTO DE IMAGENES

En el presente capítulo se hace una revisión de las diversas operaciones que seutilizan en el procesamiento de imágenes, y que son mencionadas para la aplicación dediversos algoritmos de procesamiento en secuencias de imágenes.

En el tratamiento de imágenes hay que distinguir dos tipos de información aprocesar [NOZA 93]:

• Imágenes. Se dice que la información es del tipo imagen cuando los datos quecomponen el paquete de información pueden organizarse en una matriz espacial.Como ejemplos se pueden citar la imagen propiamente dicha donde en unamatriz se representan los colores de cada punto que conforma la imagen, o elcampo de velocidades asignado a cada punto de una imagen, o la transformadade Fourier de una imagen.

• Datos. Se dice que la información es del tipo datos cuando el paquete deinformación no puede ser considerado una matriz espacial. Como ejemplos secitan las coordenadas de los segmentos que componen una imágen, el nivelpromedio 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 deentrada y salida. De esta manera tenemos los siguientes casos:

• Procesamiento imagen-imagen: cuando la entrada al proceso requiere unainformación del tipo imagen y la salida del mismo es una información del tipoimagen. Un ejemplo sería el cambio de niveles de gris de una imagen.

• Procesamiento imagen-dato: cuando la entrada al proceso requiere unainformación del tipo imagen y la salida del mismo es una información del tipodato. 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 unainformación del tipo dato y la salida del mismo es una información del tipoimagen. Un ejemplo sería la reconstrucción de una imagen a partir de lascoordenadas tridimensionales de las aristas de los objetos.

• Procesamiento dato-dato: cuando la entrada al proceso requiere unainformació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 objetorepresentado por las coordenadas de sus aristas.

Page 9: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

4. PROCESAMIENTO DE IMAGENES

VISION ARTIFICIAL DINAMICA 7

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

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 elprocesamiento de una serie de imágenes cuyo resultado será una serie de datos. A laentrada del proceso se tiene una secuencia de imágenes, y a la salida se tienen datos talescomo las coordenadas de los objetos, los parámetros que definen el movimiento de losobjetos y en algunos casos una serie de datos que definen el entorno en un espaciotridimensional. Sin embargo el análisis de secuencias de imágenes no es una tarea sencillade un solo paso, por lo cual es un hecho que el proceso tiene que ser dividido ensubprocesos que pueden ser de tipos diversos: imagen-imagen, imagen-datos, o datos-datos.

Las operaciones que se realizan sobre imágenes y que tienen como resultado otraimagen se pueden clasificar en tres grupos [VICE 90]:

• Operaciones puntuales: Son aquellas en que el valor de cada pixel G[x,y] de laimagen resultante se obtiene a partir del valor del pixel F[x,y] de la imagenoriginal, sin involucrar ningún otro pixel. Como ejemplos se pueden señalar laumbralización, el realce de contraste, la modificación del histograma, laconversión a pseudocolor y el cambio de color.

• Operaciones locales: Son aquellas en las que el valor de cada pixel G[x,y] de laimagen resultante se obtiene a partir de los valores del pixel F[x,y] y de susvecinos en la imagen original. Eventualmente el concepto de operaciones localespuede ser extendido al campo de las tres dimensiones, es decir, incluyendo lassecuencias temporales de imágenes. Entre operaciones locales básicas se puedenmencionar las convoluciones, las operaciones morfológicas y las operacionesbooleanas 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] dela imagen resultante se obtiene de los valores del pixel F[x,y] y de todos losdemás pixels en la imagen original. Como ejemplos de las operaciones globales

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

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

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

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

ca

db

Page 10: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

4. PROCESAMIENTO DE IMAGENES

VISION ARTIFICIAL DINAMICA 8

se citan la transformada de Fourier, la del coseno, y sus respectivasantitransformadas.

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

CONVOLUCION

Una de las operaciones más útiles y utilizadas en el procesamiento de imágenes esla convolución. La operación de convolución bidimensional relaciona dos matrices, una deellas es la imagen original F[x,y] y la otra, la matriz de convolución H[x,y]. Cada punto dela imagen resultante G[x,y] es la combinación lineal de los puntos de la imagen F[x,y], enel 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) deF[x,y].

• Se calcula la suma de productos de los elementos superpuestos entre ambasmatrices para obtener el valor del elemento G(xj , yj ).

• Se repiten estos pasos para todos los elementos (xj , yj), obteniendo la matrizG(xj , yj) completa.

Matemáticamente el operador convolución se representa con el símbolo * y sedefine como:

PROCESAMIENTODE IMAGENES

TRANSFORMACIONESIMAGEN A IMAGEN

TRANSFORMACIONESIMAGEN A DATOS

TRANSFORMACIONESDATOS A IMAGEN

TRANSFORMACIONESDATOS A DATOS

OPERACIONESPUNTUALES

OPERACIONESLOCALES

OPERACIONESGLOBALES

CONVOLUCIONES

OPERACIONESMORFOLOGICAS

OPERACIONESBOOLEANAS

Page 11: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

4. PROCESAMIENTO DE IMAGENES

VISION ARTIFICIAL DINAMICA 9

(4.1) G x y F x y H x y F x j y k H j kkj

[ , ] [ , ]* [ , ] [ , ] [ , ]= = − − ⋅∑∑

Aunque por definición la convolución abarca matrices de infinitos elementos, porlo general ambos matrices son limitados, y el matrices operador H[x,y] es mucho máspequeñ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 delprocesamiento de imágenes. Su más obvia aplicación es el filtrado, ya que si H(x,y) es larespuesta al impulso de un filtro, la convolución de una imagen F(x,y) con H(x,y), esequivalente a pasar a la imagen por el mismo filtro. Adicionalmente la convolución seutiliza para la evaluación de gradiente, el promediado de nivel de gris, la búsqueda decontornos, etc.

Figura 3.- Representación gráfica de la convolución.

Es muy fácil implementar la convolución por medio de circuitos electrónicos, enespecial cuando la matriz operador tiene un tamaño reducido. Por lo general las matricesoperadores tienen unas dimensiones de 3 x 3 a 5 x 5 elementos. En este punto hay querecordar que para los filtros por convolución, el tamaño de la matriz H[x,y] repercute enla calidad del filtro en el dominio de la frecuencia.

Para algunas aplicaciones en donde intervienen secuencias de imágenes, es posibledefinir 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 kkji

[ , , ] [ , , ]* [ , , ] [ , , ] [ , , ]= = − − − ⋅∑∑∑

OPERACIONES MORFOLOGICASLas 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 linealentre un conjunto de puntos de la imagen original F[x,y] y un conjunto de puntosconocido con el nombre de elemento estructurante S[x,y]. Este elemento estructuranterecorre toda la imagen para obtener todos los puntos de la nueva imagen.

+

x

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

H3H2H1

H6H5H4

H9H8H7

Page 12: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

4. PROCESAMIENTO DE IMAGENES

VISION ARTIFICIAL DINAMICA 10

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, losfiltros morfológicos, son capaces de detectar bordes en las imágenes, filtrar objetos detamaños menores a uno determinado, suavizar fondos de texturizados, detectar fallos enpatrones 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 tiempose han desarrollado variantes aplicables en imágenes en grises. Entre estos algoritmos sepueden 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)EmaxEminApertura (Opening Op)Cierre (Closing Cl)Apertura-cierre (Open-close OC)

Las operaciones morfológicas de erosión y dilatación se definieron inicialmentepara imágenes binarias (morfología binaria, binary morphology) y más tarde paraimágenes en grises (morfología de escala de grises, gray-scale morphology). La operaciónmorfoló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 elementoestructurante está completamente contenido en la imagen, el punto de la imagen semantiene, de lo contrario pasa a ser del color del fondo [CERV 92]. Se aplica para reducirsalientes de objetos, eliminar partes menores que el elemento estructurante, eliminarconexiones insignificantes entre objetos mayores, etc.

La operación morfológica binaria de dilatación consiste en tomar el elementoestructurante (uno de cuyos puntos se considera el origen) y superponerlo a la imagen. Siparte del elemento estructurante es igual al contenido de la imagen, el punto de la imagen

F[x,y] OM S[u,v] = G[x,y]

⊗ Origen

Page 13: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

4. PROCESAMIENTO DE IMAGENES

VISION ARTIFICIAL DINAMICA 11

pasa a ser igual al punto origen del elemento estructurante, de lo contrario pasa a ser delcolor del fondo [CERV 92]. Se aplica para rellenar entrantes de objetos y unir pequeñasseparaciones en las imágenes.

Para el caso de imágenes expresadas en niveles de gris, la operación morfológicade erosión (E) consiste en tomar el elemento estructurante (uno de cuyos puntos seconsidera como origen) y superponerlo a la imagen centrado en el punto a transformar. Enel punto correspondiente de la nueva imagen se coloca la mínima de las diferencias entrelos 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 tomarel elemento estructurante y superponerlo a la imagen centrado en el punto a transformar, yel punto correspondiente de la nueva imagen se obtiene después de seleccionar el valormá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 paraobtener los demás operadores.

Se define el operador residuo de la erosión (Er) como la diferencia entre el puntode 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 diferenciaentre 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 soncapaces de indicar correctamente el tamaño de objetos. Sin embargo, combinandoadecuadamente ambos operadores, puede ser obtenida la forma de las áreas claras yoscuras. Por ejemplo, por medio de la suma de los operadores Dr y Er se obtiene eloperador 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, peroes sensible al ruido. Otros operadores para la detección de bordes son el Emax y Eminque se definen como:

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

Page 14: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

4. PROCESAMIENTO DE IMAGENES

VISION ARTIFICIAL DINAMICA 12

El operador Emax es un buen detector de bordes pero, al igual que el Ede, essensible 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) Op( F[x,y] , S[u,v] ) = D( E( F[x,y] , S[u,v] ) , S[u,v] )(4.11) 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 ensu 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 ladetección de bordes, sin embargo es muy exigente en cuanto a complejidadcomputacional. 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 dosdimensiones, ya algunos investigadores [PARD 94] han comenzado a utilizarlos ensecuencias de imágenes con la finalidad de “conectar” las diferentes regiones entre unaimagen 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 cincopixels, otros [SERR 95] utilizan elementos estructurantes de diversas formas comocuadros y cruces según la textura de las imágenes que se pretende filtrar. El tamaño de loselementos estructurantes es otra de las variables a considerar, ya que los límites dependenmuchas veces del sistema que efectuará el procesamiento. Sin embargo, es posibledescomponer los elementos estructurantes en una serie de elementos menores, con loscuales 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 sueledenominar descomposición (decomposition), y ha sido abordado por varios autores[JONE 94] [PARK 94].

Page 15: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 13

5. PROCESAMIENTO DE SECUENCIAS DEIMAGENES

La formulación de algoritmos eficientes para calcular el movimiento y la estructuraa partir de secuencias de imágenes ha sido una de las áreas de mayor investigación en elcampo de la visión artificial.

La recuperación del campo de movimiento parece ser la tarea esencial decualquier sistema de visión artificial que extraiga información a partir de una secuencia deimágenes. Sin embargo el único dato disponible es la variación espacial y temporal delpatrón de brillo de la imagen. De ellas es posible obtener una aproximación del campo demovimiento denominado flujo óptico. El campo de movimiento y el flujo óptico soniguales sólo en el caso de que las variaciones espaciales del patrón de brillo correspondana características estructurales de las superficies [VERR 89].

Se han propuesto una gran cantidad de algoritmos para la detección delmovimiento en imágenes de vídeo. Cada autor establece algunas mejoras o nuevas formasde resolver el problema que supone la extracción del flujo óptico de una serie deimágenes. Sin embargo, básicamente se utilizan dos formas de acometer el problema, condiversas variaciones sobre ellos:

• El método de los gradientes espacio-temporales consiste en determinar loscambios (gradientes) espaciales y temporales del patrón de grises de la imagen ya partir de ellos obtener el flujo óptico. Este método tiene como base el hechode que en los cambios de intensidad de la imagen está contenida la informacióndel movimiento de los objetos. Tiene la ventaja de que genera un campovectorial muy denso (un vector por pixel) que resulta muy útil en algunasaplicaciones. Sin embargo adolece del problema de que es muy sensible al ruidoen 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 decaracterísticas locales (objetos, bloques, segmentos, etc) en una imagen, tratarde obtener las correspondencias con la otra imagen, y por último determinar losmovimientos. Estas técnicas adolecen del problema de que no generan un campovectorial muy denso y de que su complejidad crece con el número departicularidades con el que cuenta la imagen [SCHW 95].

Para la estimación del movimiento en una primera aproximación, es necesario tenerpor lo menos un par de imágenes consecutivas, sin embargo, el uso de más imágenesaporta una mayor información y, por ello, puede obtenerse una estimación más real delmovimiento [SHAR 90].

Antes de estudiar algunas formas de determinar el flujo óptico es necesario explicardos nociones fundamentales. Una de ellas es la Ecuación Restringida del Flujo Optico, enla cual se basan todos los algoritmos que determinan el flujo a partir de gradientes espacio-

Page 16: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 14

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

ECUACION RESTRINGIDA DEL FLUJO OPTICOUna 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 haconvertido en un clásico del análisis de visión artificial.

Suponiendo que se tiene una secuencia de imágenes donde se cumplen lassiguientes condiciones:

• La iluminación de los objetos presentes en las imágenes es uniforme, lareflectancia de los objetos varía con suavidad y sin discontinuidadesespaciales.

• 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 delespacio en el plano de la imagen y, según las condiciones asumidas arriba, se puede afirmarque la intensidad de cada punto en particular no cambia, lo que cambia es su posición:

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

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

(5.2) E x y t E x y tE

x

E

y

E

tx y t( , , ) ( , , )= + + +

δ

∂∂

δ∂∂

δ∂∂

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

(5.3) δδ

∂∂

δ

δ∂∂

∂∂

x y

t

E

x

E

y

E

tt

= 0 + +

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

(5.4) dx

dt

E

x

dy

dt

E

y

E

t

∂∂

∂∂

∂∂

= 0 + +

Page 17: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 15

Esta ecuación relaciona la velocidad de los puntos en una imagen con la variacióndel patrón de grises de la imagen, y es expresada en múltiples formas:

(5.5) + + = E v E v Ex x y y t 0

donde:

,

,

E

E

xE

E

yE

E

tx y t= = =∂∂

∂∂

∂∂

y

, vdx

dtv

dy

dtx y= = son las velocidades en cada dirección.

(5.6) r r∇ ⋅E V

E

t +

=

∂∂

0

donde:

es el vector velocidad , y

es el vector gradiente del patrón de grises

,

r

r

V v v

EE

x

E

y

x y( )

∂∂

∂∂

MODELIZACION DEL MOVIMIENTOEl 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ámetrosson 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 dediverso tipo como lineales, no lineales y polinomiales. Sin embargo, las ecuaciones másutilizadas 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 laimagen 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 ambasregiones como:

(5.7) T( , )x yx

y

a a

a a

x

y

a

a=

′′

=

+

1 2

4 5

3

6

escrita en forma vectorial:(5.7b) T A X 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

Page 18: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 16

palabras, un punto de la imagen ubicado en (x,y) se desplaza a una posición (x´, y´) segúnla 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:

(5.8) V r VL= ×Ω +

donde:

= ( , , ) es el vector velocidad angular

r = ( , , ) es la posición del punto en la imagen

V = ( v , v , v ) es el vector velocidad en el punto

x y z

L x y z

Ω ω ω ω

x y z

DETERMINACION DEL FLUJO OPTICO POR GRADIENTESPara 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 restringidadel flujo óptico (OFCE) de Horn y Schunck que se enunció antes. A continuación sedescribe 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 porVerri 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 v E v Ex x y y t + + = 0

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

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

se observa que podemos determinar la componente del flujo óptico en la dirección delgradiente del brillo de la imagen ( Ex , Ey ). La información disponible en cada punto deuna secuencia de imágenes es sólo la componente del campo de movimiento en ladirección del vector gradiente del patrón de brillo. Esto se conoce con el nombre deproblema de apertura. Podemos expresarlo como:

(5.10) r∇ −⊥E V Et =

(5.11) = = +

VE

E

E

E Et t

x y

∇−r

2 2

Page 19: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 17

donde: es la norma del vector gradiente del brillo

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

gradiente del brillo

r∇

E

V

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

(5.12) r

VE

E Eet

x y

⊥ − = +

2 2

$

donde:

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

E

r

r∇

Se concluye que no puede ser determinada la componente del movimientoperpendicular al gradiente del brillo, y tampoco puede determinarse en los casos de zonasde igual brillo (iso-brillo).

La determinación del flujo óptico pasa, por tanto, por el paso previo de determinarlos gradientes temporales y espaciales del patrón de grises de la imagen. Horn y Schunckproponen hacer esto con una convolución tridimensional con un cubo de 2 x 2 x 2 (Figura5):

(5.13)

( )( )

E E E E E E E E E

E E E E E E E E E

E E

x i j k i j k i j k i j k i j k i j k i j k i j k

y i j k i j k i j k i j k i j k i j k i j k i j k

x i j k

= − − − −

− − − −

+ + + + + + + + + + + +

+ + + + + + + + + + + +

14

14

14

+ + +

= + + +

=

, , , , , , , , , , , , , , , ,

, , , , , , , , , , , , , , , ,

, ,

1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1

( )+ + + + + + + + + + + +− − − −1 1 1 1 1 1 1 1 1 1 1 1E E E E E E Ei j k i j k i j k i j k i j k i j k i j k, , , , , , , , , , , , , ,+ + +

Figura 5.- Convoluciones 2 x 2 para determinar las componentes del vectorgradiente espacial y temporal del patrón de brillo.

Para hallar las dos componentes del flujo óptico es preciso calcular, a partir de losgradientes obtenidos, modificando la ecuación (5.12):

y

i+1

i

j j+1 x

k+1k

t

Page 20: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 18

(5.14) vE E

E Ext x

x y⊥ − =

+ 2 2

(5.15) vE E

E Ey

t y

x y⊥ − =

+ 2 2

Para determinar el valor del flujo óptico en las áreas donde falla la ecuacionOFCE, Horn y Schunck agregan una condición adicional: los cambios en el flujo ópticodeben ser suaves. En otras palabras, no hay cambios bruscos en el movimiento entrepuntos cercanos de la imagen.

Adicionalmente, dado que se requiere calcular las derivadas espacio-temporales delpatrón de grises de la imagen, es preciso que éste sea diferenciable. Por ello, casi todos losautores utilizan un filtro por convolución (gausiano por lo general) que suaviza la imagenantes de proceder a calcular el gradiente.

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

DETERMINACION DEL MOVIMIENTO A PARTIR DE LOSGRADIENTES

La mayoría de las aplicaciones y teorías sobre la determinación del movimiento sebasan en la interpretación del flujo óptico en su versión más simple. Sin embargoYamamoto [YAMA 89] introduce un método con el que es posible la determinación de losparámetros de movimiento con una mayor exactitud, sin necesidad de calcular previamenteel flujo óptico.

Yamamoto parte de la ecuación OFCE (5.5) y sustituye en ella la ecuación develocidad enunciada con anterioridad (5.8):

(5.5) + + = E v E v Ex x y y t 0

(5.8) V r VL= ×Ω +

SECUENCIADE IMAGENES

FILTRO DESUAVIZAMIENTO

DETERMINACIONDE LOS GRADIENTES

ESPACIO-TEMPORALESEx , Ey , Et

DETERMINACIONDEL FLUJO OPTICO

BASICO

APLICACION DERESTRICCIONESDE SUAVIDAD ENCAMBIOS EN ELFLUJO OPTICO

Page 21: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 19

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

(5.16) E v E v E z E z E x E y Ex x y y y x x y y x z t+ − + + − + =ω ω ω( ) 0

donde las incógnitas son los parámetros del movimiento ( vx , vy , ωx , ωy , ωz ), y se suponeque 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:

(5.17) E v E v E x E y Ex x y y y x z t+ + − + =( )ω 0

Y por último, en el caso de que no esté permitida la rotación ωz=0 :

(5.18) E v E v Ex x y y t+ + = 0

El movimiento modelado por las tres ecuaciones anteriores es llamado 3-D, 2-D y1-D, respectivamente.

Las ecuaciones pueden ser escritas para n puntos de la imagen, donde n es elnú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) A X B =

donde:la i-ésima fila de los vectores A, X, B, está dada por:

A3-D , , , , = − −( )E E E z E z E x E yxi yi yi i xi i yi i xi i

X3-D , , , , = ( )x y x y zω ω ωB3-D = ( )Eti

A2-D , , = −( )E E E x E yxi yi yi i xi i

X2-D , , = ( )x y zωB2-D = ( )Eti

A1-D , = ( )E Exi yi

X1-D , = ( )x yB1-D = ( )E ti

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

Page 22: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 20

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

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

DETERMINACION DEL MOVIMIENTO PORSEGMENTACION DE IMAGENES

Los métodos de determinación de movimiento en imágenes por gradientes estánlimitados por las restricciones que se enunciaron más arriba. Sin embargo, muchas de esaslimitantes 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 yno está garantizada la suavidad de la iluminación de los objetos. Por ello muchos autoresacometen el problema de determinación del movimiento desde otro punto de vista: separarla imagen en partes y luego determinar el movimiento de cada uno de estas partes, conalgoritmos generalmente denominados como “segmentación de imágenes”.

A diferencia de los métodos de determinación de movimiento en las imágenes porlos gradientes espacio-temporales, los métodos de determinación por segmentación deimágenes son mucho más variados en su desarrollo. Sin embargo, podemos establecer tresmé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 demovimiento en base al desplazamiento de los segmentos entre las sucesivasimá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éndolasen rectángulos (u otros polígonos) de tamaños variables que se adaptan a áreasde nivel de gris (o color) más o menos homogéneo. El movimiento se determinaen base al desplazamiento de los centros de los rectángulos entre las sucesivasimágenes. Ejemplos de estos algoritmos se pueden encontrar en [PANJ 95] y[SCHW 95].

SECUENCIADE IMAGENES

FILTRO DESUAVIZAMIENTO

DETERMINACIONDE LOS GRADIENTES

ESPACIO-TEMPORALESEx , Ey , Et

DETERMINACIONDE LOS

PARAMETROS DELMOVIMIENTO

(FLUJO OPTICO)

Page 23: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 21

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

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 delos objetos contenidos en la imagen. Para ello utilizan operadores por convolución uoperadores morfológicos detectores de bordes. Luego determinan las coordenadas de cadauno de los segmentos de líneas que conforman los objetos en las imágenes, determinan lacorrespondencia 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ágenesen una serie de bloques “semilla”, y luego vuelven a dividir estos bloques en bloques máspequeñ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 dichasrestricciones. Luego se procede a buscar las correspondencias entre los bloques de dosimágenes consecutivas y, por último, se determina el movimiento de aquellos bloques quehan cambiado de posición.

Los algoritmos de segmentación en grupos, utilizan procesos de simplificación delas imágenes en áreas de color o textura uniforme, tales como los operadoresmorfológicos. Las imágenes quedan divididas en áreas uniformes, luego se procede adeterminar los “centros” de cada área, hallar las correspondencias entre las áreas de lasimágenes consecutivas y, por último, a determinar el movimiento entre los centros de áreascorrespondientes de dos imágenes consecutivas.

DETERMINACION DEL MOVIMIENTO PORSEGMENTACION EN LINEAS

DETERMINACION DEL MOVIMIENTO PORSEGMENTACION EN BLOQUES

DETERMINACION DEL MOVIMIENTO PORSEGMENTACION EN GRUPOS

Page 24: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

5. PROCESAMIENTO DE SECUENCIAS DE IMAGENES

VISION ARTIFICIAL DINAMICA 22

Todos los algoritmos de segmentación tienen la característica común de generar uncampo vectorial de flujo óptico poco denso: un vector por segmento, cuadro o área. Esposible asignar el mismo vector a todos los pixels dentro de un cuadro o área, pero es unageneralización que puede no ser útil en todos los casos.

También los algoritmos de segmentación adolecen del problema de que soncomputacionalmente muy exigentes. Los procesos de buscar las correspondencias entresegmentos, bloques o áreas de una imagen a otra no son sencillos. Además cuando unaimagen está compuesta por múltiples objetos, las segmentaciones suelen ser numerosas y,por tanto, el cálculo extremadamente laborioso.

Page 25: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

VISION ARTIFICIAL DINAMICA 23

6. ARQUITECTURAS PARA PROCESARSECUENCIAS DE IMAGENES

Para la determinación del movimiento a través del procesamiento de secuencias deimá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 secuenciasde imágenes, y ninguno de ellos es hasta el momento óptimo. Se puede decir que parecenexistir dos grandes vertientes, la de los gradientes espacio-temporales y la de lasegmentación.

ARQUITECTURAS PARA PROCESAMIENTO DEGRADIENTES ESPACIO-TEMPORALES

En los algoritmos de determinación del movimiento por gradientes espacio-temporales 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 deconvoluciones tridimensionales, las cuales son de relativamente fácil implementación porhardware.

En la Figura 9 se presenta una arquitectura para la determinación del movimientopor gradientes espacio-temporales. En ella se observa cómo la secuencia de imágenes espasada primero por un filtro de suavizado, de manera que se reduzcan los ruidos y que lastransiciones en la imagen sean suaves con el fin de que la imagen sea derivable. Por logeneral la mayoría de los autores utilizan un filtro gausiano para llevar a cabo estaoperación.

La secuencia de imágenes se va almacenando en memorias tipo FIFO de maneraque las etapas de extracción de gradientes tengan a su disposición todos los cuadros aprocesar a un mismo tiempo. El número de cuadros a procesar varía según los autores. Sinlugar 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 laconvolución tridimensional de las imágenes. El tamaño de las regiones a convolucionardepende 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, paracalcular los gradientes espacio-temporales.

En la última etapa del circuito de la Figura 9 se efectúa el procesamiento de losgradientes para obtener los parámetros del movimiento. Esta etapa depende de losalgoritmos utilizados, pero cada quién tiene una respuesta diferente, más o menosacertada, pero en todo caso compleja. En definitiva es una etapa que aún requiere lautilización de procesadores de propósito general de alta velocidad.

Page 26: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

VISION ARTIFICIAL DINAMICA 24

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

ARQUITECTURAS PARA PROCESAMIENTO PORSEGMENTACION

Los métodos de segmentación son aún más complicados y diversos que los deestimación por gradientes para llevarlos a una arquitectura típica. Si bien en ellos puedenutilizarse algunas secciones ya estandarizadas de procesamiento, gran parte del cálculodebe hacerse con procesadores de propósito general.

En la Figura 10 se observa una arquitectura para determinar el movimiento pormedio de la segmentación en segmentos de línea. En primer lugar está el bloque deextracción de contornos, el cual puede ser llevado a cabo por un convolucionador o unoperador morfológico para la detección de bordes. La conversión a segmentos de líneas esya una actividad que debe realizarse con un procesador de propósito general, al igual quela determinación de las correspondencias entre las imágenes y la determinación delmovimiento.

Para los algoritmos de segmentación en bloques no puede hablarse de ningunasección con arquitectura típica. Para ellos es preciso utilizar procesadores de propósito

SUAVIZADO DE LA IMAGEN PORMEDIO DE FILTRADO

(FILTRO POR CONVOLUCION 2-D)

FIFO(1 CUADRO)

FIFO(1 CUADRO)

.

. N-1

.

EXTRACTOR DEGRADIENTE Et

(CONVOLUCION 3-D)N x N x N

EXTRACTOR DEGRADIENTE Ey

(CONVOLUCION 3-D)N x N x N

EXTRACTOR DEGRADIENTE Ex

(CONVOLUCION 3-D)N x N x N

:: N

:: N

:: N

Et

Ey

Ex

PROCESAMIENTODE FLUJO OPTICO

PARAMETROS DELMOVIMIENTO

SECUENCIA DE IMAGENES

Page 27: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

VISION ARTIFICIAL DINAMICA 25

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.

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

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

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

EXTRACCION DECONTORNOS

SECUENCIAS DE IMAGENES

FIFO(1 CUADRO)

FIFO(1 CUADRO)

CONVERSION DECONTORNOS A

SEGMENTOS DE LINEAS

DETERMINACIÓN DE CORRESPONDENCIAS ENTRE SEGMENTOS DE DIFERENTES IMAGENES

DETERMINACIÓN DEL MOVIMIENTO

SECUENCIAS DE IMAGENES

FIFO(DATOS DE UN CUADRO)

FIFO(DATOS DE UN CUADRO)

DIVISION EN BLOQUES

DETERMINACIÓN DE CORRESPONDENCIAS ENTRE BLOQUES DE DIFERENTES IMAGENES

DETERMINACIÓN DEL MOVIMIENTO

Page 28: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMÁGENES

VISION ARTIFICIAL DINAMICA 26

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

EXTRACCION DE AREASUNIFORMES

SECUENCIAS DE IMAGENES

FIFO(DATOS DE UN CUADRO)

FIFO(DATOS DE UN CUADRO)

DETERMINACION DE CORRESPONDENCIAS ENTRE AREAS DE DIFERENTES IMAGENES

DETERMINACIÓN DEL MOVIMIENTO

DETERMINACION DE LOSCENTROS DE CADA AREA

Page 29: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

7. CONCLUSIONES

VISION ARTIFICIAL DINAMICA 27

7. CONCLUSIONES

De este estudio de la visión artificial aplicada a la determinación del movimiento sepuede 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 elmovimiento en secuencias de imágenes son largos, complicados y no están exentos dedebilidades.

No existen circuitos que extraigan todos los parámetros del movimiento en tiemporeal. La mayor parte del trabajo ha sido realizado en computadores de alta velocidad yaltas prestaciones, y aún así los tiempos de ejecución (en especial de los algoritmos desegmentación) distan mucho de ser en tiempo real.

Sin embargo, hay algunas posibilidades de ir implementando circuitos dedicados aprocesar las imágenes a alta velocidad para efectuar partes del procesamiento generaldestinado a determinar el movimiento. Tal es el caso de los circuitos de extracción de losgradientes espacio-temporales y los operadores morfológicos.

Para la determinación de los gradientes espacio-temporales ya se asoman algunosintentos concretos para su realización con circuitos electrónicos. Para la aplicación deoperadores morfológicos la tarea aún no ha comenzado, pero el estado actual de la técnicapermite crear circuitos destinados a esta aplicación, con buenas posibilidades de éxito.

Page 30: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

8. BIBLIOGRAFIA

VISION ARTIFICIAL DINAMICA 28

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 patternanalysis 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 morphologicaloperations.” 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 PatternAnalysis 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. 498-504.

[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 spatiotemporalderivatives in interlaced and non-interlaced images secuences.” Artifitial Inteligence 78, pp. 5-43, 1995.

[PANJ 95] D. Panjwani y G. Healey. “Markov random field models for unsupervised segmentation oftextured 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 imagesecuences.” 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 for4-connected parallel array processors.” IEEE Transactions on Pattern analysis an machineintelligence, vol. 16, no. 3, pp. 304-313, Mar. 1994.

[SCHW 95] H. Schweitzer. “Occam algorithms for computing visual motion”. IEEE Transactions on patternanalysis 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.

Page 31: VISION ARTIFICIAL DINAMICA DETERMINACION DE …DETERMINACION DEL MOVIMIENTO POR SEGMENTACION DE IMAGENES 20 6. ARQUITECTURAS PARA PROCESAR SECUENCIAS DE IMAGENES 23 ... asistido por

8. BIBLIOGRAFIA

VISION ARTIFICIAL DINAMICA 29

[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 Transactionson 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 twoperspective images.” IEEE Transactions on pattern analysis and machine inteligence, vol. 17, no.12, pp. 1129-1139, Dic. 1995.