ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS...

43
Universidad de la República Facultad de Ingeniería ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS ROBUSTAS APLICACIÓN A IMÁGENES ANEMOMÉTRICAS MONOGRAFÍA T RATAMIENTO E STADÍSTICO DE S EÑALES Autor: Ing. Rodrigo Alonso Tutor: Dr. Ing. Pablo Musé Montevideo - Uruguay Abril 2010

Transcript of ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS...

Page 1: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Universidad de la RepúblicaFacultad de Ingeniería

ESTIMACIÓN DE FLUJO ÓPTICO CONTÉCNICAS ROBUSTAS

APLICACIÓN A IMÁGENES ANEMOMÉTRICAS

MONOGRAFÍA

TRATAMIENTO ESTADÍSTICO DE SEÑALES

Autor: Ing. Rodrigo AlonsoTutor: Dr. Ing. Pablo Musé

Montevideo - UruguayAbril 2010

Page 2: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

1

Page 3: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Resumen

Este trabajo constituye un acercamiento a las técnicas existentes de estimación de flujo ópticotradicionales y robustas. Se estudiaron, implementaron y probaron diversas alternativas existentes en el área,en una primera instancia con secuencias de test. Uno de los objetivos consiste en tener un primer acercamientoa las secuencias de imágenes anemométricas colectadas por la técnica PIV, de manera de poder resolver elproblema de estimar el campo de velocidades de un fluido a partir de dichas secuencias. Existe en la actualidadalgoritmia específica de la técnica PIV, en el presente trabajo se intentó aplicar las técnicas de computer visionusuales existentes en la literatura para poder observar sus resultados sobre dichas imágenes.

Palabras clave: Flujo óptico, LMS, modelos de regresión, modelo afín, estadística robusta, SOR,GNC, minimización de función de costo, Euler-Lagrange, PIV, anemometría.

2

Page 4: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

3

Page 5: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Índice general

Índice general 4

1. Introducción 51.1. Objetivos del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2. Introducción a las técnicas de flujo óptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3. Introducción a la anemometría y la técnica PIV . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Técnicas de optical flow 82.1. Introducción al optical flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2. Primer enfoque: estimación por LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3. Modelo de regresión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4. Estimación robusta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3. Resultados 163.1. Algoritmo LMS simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2. Modelos de regresión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3. Modelo robusto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4. Imágenes anemométricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4. Conclusión Final 324.1. Trabajo realizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

A. Cálculos realizados 34A.1. Cálculos para la resolución del modelo de regresión de seis parámetros . . . . . . . . . . . . . 34

B. Secuencias de test 36

C. Acrónimos utilizados 39

Índice de figuras 40

Bibliografía 42

4

Page 6: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Capítulo 1

Introducción

En este trabajo se estudiaron distintas técnicas para la estimación del flujo óptico en secuencias devideo. Se denomina flujo óptico al campo vectorial sobre la imagen que se corresponde con la estimacióndel movimiento ocurrido pixel-a-pixel entre dos -o más- frames de una secuencia de video. Existe en estecampo determinadas estrategias que intentan lograr dicho objetivo, las cuales presentan distintas ventajas ydesventajas según sea el aspecto concreto en el cual se desea tener mayor eficiencia. A lo largo de este trabajose probaron algunas de estas técnicas con la idea final de aplicarlas a secuencias anemométricas obtenidas porla técnica Particle Image Velocimetry.

Los algoritmos que se explicarán en la sección 2 fueron implementados y probados, en primerainstancia, con secuencias típicas del área de manera de poder constatar su comportamiento esperado y ganarintuición sobre su funcionamiento. En una segunda instancia fueron aplicadas a las imágenes anemométricasproporcionadas por el grupo de investigación del Laboratorio de Inestabilidad de Fluidos que trabaja en elInstituto de Física de la Facultad de Ingeniería (IFFI), Universidad de la República.

1.1. Objetivos del trabajoEl objetivo principal de este trabajo constituye una primera aproximación al problema de relevar

los campos vectoriales que describen la velocidad de un fluido a partir de imágenes obtenidas por la técnicade Particle Image Velocimetry, PIV de ahora en más. Éstos campos vectoriales podrían ser estacionarios oevolucionar en el tiempo.

Por otro lado se pretende explorar las distintas técnicas de estimación de flujo óptico existentes en larama para poder evaluar su posible aplicación al problema concreto que se desea resolver, haciendo especialincapié en las técnicas de estimación robustas que permite darles menos peso -o dejar de lado- los outliers enun región, para la estimación de la velocidad en un punto que pertenece a dicha región.

Para poder lograr algún tipo de algoritmo que logre solucionar el problema propuesto, es fundamentalconocer bien ambas realidades: las particularidades del tipo de secuencia con las que se está trabajando y elestado del arte, conociendo las distintas estrategias existentes, sus fortalezas y supuestos. En este sentido, estetrabajo forma parte de un primer acercamiento al área, del cual se deberían poder sacar conclusiones paraencaminar el trabajo futuro.

1.2. Introducción a las técnicas de flujo ópticoEn general, para realizar una estimación del flujo óptico en una secuencia de imágenes dada, las

técnicas usuales hacen uso de una serie de hipótesis que frecuentemente son violadas en la realidad de lassecuencias a procesar. He aquí el por qué de la estimación. Éstas hipótesis son: la conservación de los datos,la coherencia espacial y la continuidad temporal. Siendo esta última hipótesis la menos explotada en generalpor las técnicas usuales [Bla92]. A lo largo de este trabajo se utilizó solamente información de imágenesmonocromáticas, a una imagen dada la representaremos por I(x, y, t0), con lo cual las consideraciones respecto

5

Page 7: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

a éstas hipótesis aplicarán a la secuencia I(x, y, t).La hipótesis de conservación de los datos implica que si uno toma regiones de la imagen, cada región

se mantiene aproximadamente igual al realizar el cambio de posición que implica el movimiento entre un framey otro consecutivo. En cuanto a la coherencia espacial, la misma establece que los puntos pertenecientes a unamisma región tienen velocidades similares (considerada como vector) como consecuencia de que pertenezcana una misma superficie de movimiento. Finalmente, la hipótesis de continuidad temporal implica que loscambios en el tiempo sean graduales.

Las idealizaciones mencionadas sobre la imagen real son usualmente violadas. Por ejemplo, en unaregión donde haya dos zonas (probablemente dos superficies) moviéndose con distintas velocidad, entoncesla hipótesis de coherencia espacial y de conservación de datos serán violadas. Un problema típico donde semanifiesta el ejemplo anterior es el caso de un objeto en movimiento con un fondo móvil, o un objeto enmovimiento cuyas imágenes fueron adquiridas con una cámara móvil. Las técnicas comunes de estimacióndel flujo óptico como pueden ser, estimación por mínimos cuadrados, modelos de regresión y correlacióncombinando o no técnicas de smoothing, tienden a tener problemas de estimación cuando alguna de estasrestricciones deja de ser válida, como es el caso de la mayoría de las secuencias reales. La forma de agregarrobustez a estas técnicas se encuentra extensamente estudiada en [Bla92] y [Bla96] que, principalmente, sefocalizan en generar robustez respecto a las hipótesis que tiene que ver con asunciones espaciales, mientrasque en [Bla94] se encuentra una forma de ’agregar’ robustez en la evolución temporal de las imágenes.

Al utilizar las técnicas no robustas en general se llega a la minimización de una función convexa, conlo cual la minimización (obtención de un mínimo global) se puede realizar de forma relativamente sencilla.La contrapartida de esto es que se consideran todos los puntos como inliers desmejorando la precisión en laestimación de la velocidad pixel-a-pixel. El agregado de robustez en estos esquemas nos lleva a un problemade minimización de funciones no convexas, lo que complica de buena manera el proceso de minimización. Sinembargo se obtiene un mayor rechazo a los outliers y se obtienen estimaciones más fidedignas.

1.3. Introducción a la anemometría y la técnica PIVPoder determinar la velocidad de un fluido y su movimiento es un problema fundamental de la

mecánica de los fluidos, trabajar en fluidos básicamente quiere decir poder medir su velocidad, en generalse trata de un problema complejo. Para ello se precisa un método de medida adecuado. La técnica PIV formaparte de los métodos de medida no invasivos, es decir, no se debe afectar directamente el fluido cuya velocidadse quiere medir como, por ejemplo, en la técnica del hilo caliente.

En PIV lo que se hace es colocar partículas pequeñas en el fluido denominadas trazadores eiluminarlos con luz de un determinado color (verde en nuestro caso) con un haz horizontal. Se coloca unacámara CCD en forma perpendicular al plano formado por el haz horizontal y enfocada en el área de la cualse desea adquirir la secuencia de imágenes. Estás imágenes son luego procesadas por algún algoritmo queestima el campo de velocidades a partir de esta secuencia de imágenes. En la figura 1.1 se puede observar unejemplo típico para una secuencia de imágenes adquiridas por PIV. En la secuencia se muestran tres framesconsecutivos.

El Laboratorio de Inestabilidad de Fluidos consta de un canal y de todo el montaje necesario parala adquisición de este tipo de imágenes, con lo cual el acceso a videos de prueba es relativamente sencillo.Además, a lo largo del tiempo se ha venido refinando la técnica, logrando imágenes de mayor calidad.

Cabe mencionar que existe algoritmos especializados en obtener los campos de velocidades a partirde secuencias de imágenes del estilo. En [Use99] se puede encontrar una explicación de un algoritmo queutiliza la correlación cruzada entre cuadros desplazados un entorno en el espacio y en el tiempo del cuadrocuyo centro se quiere medir la velocidad, realizando este cálculo para los puntos de interés de la imagen selogra relevar el campo de velocidades entre frames.

Se dispone de la implementación de dos algoritmos que procesan este tipo de secuencias, ambosbasados en el cálculo de correlación cruzada entre cuadros utilizando cuadros provenientes de tres frames.

6

Page 8: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

(a) Imagen @t1, I(x, y, t1) (b) Imagen @t2, I(x, y, t2) (c) Imagen @t3, I(x, y, t3)

Figura 1.1: Secuencia de imágenes típica de la técnica PIV.

Estos algoritmos serán útiles a efectos de intentar comparar los resultados obtenidos contra algoritmosprobados y aceptados. Los tres requerimientos principales que se desea de un sistema capaz de relevar lasvelocidades en el fluidos son: la precisión con que se mide la velocidad, la exactitud en las medidas y lavelocidad de ejecución del algoritmo.

7

Page 9: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Capítulo 2

Técnicas de optical flow

Dado que el objetivo de este trabajo es aplicar técnicas de flujo ópticos a las imágenes anemométricasmencionadas, comenzaremos en este capítulo por describir los métodos de estimación de flujo óptico relevantescon una introducción al problema del flujo óptico y sus supuestos.

2.1. Introducción al optical flowSobre las hipótesis que se introdujeron en el capítulo anterior es posible asumir entonces que la

intensidad de los píxeles en una región se mantedrá aproximadamente constante. La validez de este supuestoestá condicionada a la validez de las hipótesis mencionadas. Esto significa que,

I(~x, y) ≈ I(~x+ ~v, t+ 1)

donde ~x denota un punto (x, y)T de la imagen monocromática de intensidad I(~x, t) y ~v(vx, vy)T es

el campo de velocidades que se desea estimar. Si realizamos un desarrollo de Taylor de la intensidad de laimagen I(x, y, t) tenemos que,

I(x+ dx, y + dx, t+ dt) = I(x, y, t) +∂I(x, y, t)

∂xdx+

∂I(x, y, t)

∂ydy +

∂I(x, y, t)

∂tdt+O(∈)

y O(∈) agrupa los términos del desarrollo superior al orden lineal. Si despreciamos dichos términosy utilizamos el supuesto de conservación de la intensidad en la imagen: I(x+ dx, y + dx, t+ dt) ≈ I(x, y, t),se obtiene:

∂I(x, y, t)

∂xdx+

∂I(x, y, t)

∂ydy +

∂I(x, y, t)

∂tdt ≈ 0

Finalmente, notando que vx = dx/dt y vy = dy/dt, y reagrupando la ecuación a se obtiene la ecuación2.1 que representa la llamada restricción de flujo óptico.

Ixvx + Iyvy + It ≈ 0 (2.1)

Esta ecuación juega un papel fundamental en la estimación del flujo óptico. vx y vy son dos camposescalares sobre (x, y), es decir, son de la forma vx(x, y) y vy(x, y). Por razones de compactidad nos referiremosa ellos simplemente como vx y vy. Evidentemente la combinación de ellos forma el campo vectorial queestamos buscando, siendo cada campo escalar una de las componentes del vector en cada punto (x, y) de laimagen. Computacionalmente las operaciones involucradas en la expresión 2.1 son elemento a elemento, y seha utilizado la notación Ix para referirnos a la derivada parcial de I respecto a x y análogamente para Iy.

aAunque formalmente requiere un pasaje al límite cuando t→ 0.

8

Page 10: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Como se puede apreciar será necesario calcular el gradiente de la imagen, esto se realizó de la formausual utilizando los operadores de Sobel [Gon02]. Los núcleos de convolución asociados son:

Gx =

−1 0 1−2 0 2−1 0 1

Gy =

−1 −2 −10 0 01 2 1

La derivada temporal se computó simplemente por: It = I(x, y, t)− I(x, y, t+ 1).Se debe notar que no es posible hallar valores de vx y vy aplicando la ecuación 2.1 pixel-a-pixel debido

a que tenemos dos incógnitas por cada ecuación. Es por esto que se debe buscar alguna estrategia para hallarvalores de estas velocidades en cada punto. En las próximas secciones se abordará este problema en detallepara las distintas técnicas.

2.2. Primer enfoque: estimación por LMSUna forma sencilla de levantar la indeterminación que implica la ecuación 2.1 pixel-a-pixel, es asumir

que en una cierta región del pixel (xj, yj) en el cual se quiere estimar la velocidad, la velocidad permanececonstante e imponer la restricción de flujo óptico a los todos píxeles de la vecindad imponiendo que tengan lamisma velocidad que el pixel (xj, yj). De esta manera se eleva la cantidad de ecuaciones (una por cada pixelde la vecindad considerada) manteniendo las dos incógnitas que se desean determinar (vx y vy).

El error e(x, y) en cada pixel estará dado por:

e(x, y) = Ix(x, y)vx + Iy(x, y)vy + It(x, y)

Intentando una estrategia LMS en donde se desea minimizar el error cuadrático se puede construiruna función ELMS(vx, vy) a minimizar en el espacio de parámetros (vx, vy) de la siguiente forma,

ELMS(vx, vy) =∑

(x,y)∈Ω

g(x, y)e2(x, y)

=∑

(x,y)∈Ω

g(x, y) [Ix(x, y)vx + Iy(x, y)vy + It(x, y)]2(2.2)

donde la suma es en la región Ω que comprende la vecindad del pixel donde se quiere estimar la velocidad.Se incluye además una función de selectividad g(x, y) con soporte en la región Ω que en el caso del presentetrabajo fue una función gaussiana de varianza ajustable. De esta manera se puede dar más peso a los píxelescentrales al punto donde se quiere estimar la velocidad ((xj, yj)) y menos pesos a los más lejanos a dichopunto.

Una forma de lograr la solución a esta minimización es por ejemplo aplicar las ecuaciones de Euler-Lagrange, que es este caso se reducen a simplemente computar las derivadas ∂ELMS

∂vxy ∂ELMS

∂vy, e igualarlas a

cero.

Euler − Lagrange −→

∂ELMS

∂vx= 0

∂ELMS

∂vy= 0

Computando estas derivadas y utilizando el hecho de que:

∂ELMS

∂vi= 2

∑Ω

g(x, y)e(x, y)∂e

∂vi(x, y) y que

∂e

∂vx= Ix

∂e

∂vy= Iy

9

Page 11: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Se obtiene finalmente el siguiente sistema de ecuaciones lineales en vx y vy:

∂ELMS

∂vx= 2

∑(x,y)∈Ω

g(x, y)(I2xvx + IxIyvy + IxIt) = 0

∂ELMS

∂vy= 2

∑(x,y)∈Ω

g(x, y)(I2yvy + IxIyvx + IyIt) = 0

El cual se puede escribir de forma más compacta matricialmente comoMv = b, siendo v = (vx, vy)T ,

y M y b de la siguiente forma:

M =

Ω

gI2x

∑Ω

gIxIy∑Ω

gIxIy∑

Ω

gI2y

b = −

Ω

gIxIt∑Ω

gIyIt

(2.3)

Este sistema de ecuaciones es el mismo que se obtendría aplicando las ecuaciones normales [Fle05].De esta manera se pueden obtener los campos vx(x, y) y vy(x, y) resolviendo para cada punto (xj, yj) estesistema lineal de ecuaciones 2x2, y despejando los valores de vx y vy de velocidad en dicho punto. El estimadorde v, v, se puede expresar como: v = M−1b.

Computacionalmente esto implica resolver mxn sistemas 2x2 siendo m y n el ancho y el largo dela imagen respectivamente, con el correspondiente armado de la matriz M y el vector b para cada punto dela imagen. La forma en la que se calculan los elementos de matriz de M hace pensar naturalmente en unconvolución. Se trata de una ventana móvil g(x, y) con soporte en Ω que multiplica a distintas operacionessobre las derivadas de la imagen según corresponda a cada elemento. Estos elementos también puedenpensarse como sumas en todos los (x, y) donde la localidad está dada por el soporte de la función g. Parala implementación en Matlab de este algoritmo se utilizó este hecho de manera de poder hacer un algoritmomás rápido, también se hizo uso del hecho que es sencillo hallar analíticamente la solución para un sistema2x2.

Finalmente, la implementación de este algoritmo viene dada por la resolución analítica de un sistema2x2 para cada pixel (i, j), donde cada sistema queda definido por,

M |ij =

(M1(i, j) M2(i, j)M2(i, j) M3(i, j)

)b|ij =

(b1(i, j)b2(i, j)

) con

M1 = g ∗ I2x

M2 = g ∗ IxIyM3 = g ∗ I2

y

b1 = −g ∗ IxItb2 = −g ∗ IyIt

y g(x, y) es un núcleo de convolución con soporte en la vecindad de interés y de altura 1. Todas lasmultiplicaciones involucradas son elemento a elemento. Este método a probado ser importantemente veloz.

2.3. Modelo de regresiónEn la sección anterior se explicó un algoritmo -y su implementación- que permite hallar una

estimación para el flujo óptico sobre el supuesto de que la velocidad de un pixel se mantiene aproximadamenteconstante en una región del mismo. Esto, claramente, es una imposición sobre la secuencia que no esrepresentativa de la mayoría de los movimientos. Utilizar la técnica del modelo de regresión es una mejorasobre este esquema. Esta técnica fue primeramente introducida por Lucas-Kanade en [Luc81].

En un esquema de optical flow utilizando un modelo de regresión lo que se hace es suponer que en lavecindad de un pixel se cumple un cierto modelo, llamado modelo afín. En vez de imponer que la velocidad sea

10

Page 12: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

constante en una región del pixel de interés se impone que en dicha región se cumpla un modelo. Este modeloen principio podría ser lineal o no lineal, y es útil en el contexto de que se tenga cierta información sobre elmovimiento estimado para la secuencia pues permite imponer restricciones al movimiento en la región. Eneste trabajo se utilizó el modelo afín lineal más general, independientemente del movimiento que se queríaestimar. Dicho modelo es de la forma,

vx(x, y) = c1 + c3(x− xj) + c5(y − yj)vy(x, y) = c2 + c4(x− xj) + c6(y − yj)

(2.4)

donde (xj, yj) es el centro de la región de interés, y el conjunto de los ci son una serie de parámetros quedeben ser ajustados para cada región. La imposición de este modelo cumple dos funciones principales, laprimera es que agranda el espacio de parámetros a ajustar de dos (vx, vy) a seis (#ci)b. La segunda es queimpone una restricción sobre el movimiento de la región que es más amplio que en el caso anterior en dondesimplemente se asumía velocidad constante. Se debe notar también que si imponemos c3 = c4 = c5 = c6 = 0recuperamos el algoritmo de la sección anterior.

En esta formulación es sencillo ver como este esquema también permite imponer restricciones fuertessobre el movimiento a estimar, por ejemplo, si se imponen c2 = c4 = c6 = 0 el movimiento estimado serásólo sobre el plano horizontal. Existe una importante relación entre el movimiento que se desea estimar yel modelo a utilizar, sobre el diseño de modelos lineales para distintas naturalezas de la secuencia a usar sepuede consultar [Fle00] por ejemplo, aunque es de resaltar que en el presente trabajo no se hicieron mayoresesfuerzos en ese sentido y se trabajó con el modelo de la ecuación 2.4.

El modelo de la ecuación 2.4 puede expresarse matricialmente como v = Ac de la forma,

v =

(1 0 x− xj 0 y − yj 00 1 0 x− xj 0 y − yj

)c

siendo c un vector de parámetros de la forma c = (c1, c2, c3, c4, c5, c6)T . Asumiremos de ahora en más lasiguiente notación para el error e(x, y) donde se debe recordar que productos son matriciales y cuales sonelemento a elemento.

e(x, y) = ∇I.A.c+ It= Ix [c1 + c3(x− xj) + c5(y − yj)] + Iy [c2 + c4(x− xj) + c6(y − yj)] + It

La función a minimizar en el espacio de parámetros definido por los ci es, en este caso, como semuestra en la ecuación 2.5 a continuación:

EAFIN(c) =∑

(x,y)∈Ω

g(x, y)e2(x, y, c)

=∑

(x,y)∈Ω

g(x, y) [∇I.A.c+ It]2 (2.5)

Aplicar las ecuaciones de Euler-Lagrange en este contexto, a saber, norma dos y modelo afín lineal,nos lleva nuevamente a un sistema lineal de ecuaciones para cada punto (i, j) a resolver para el set deparámetros ci, leasé, un sistema de ecuaciones lineales de 6x6 de la forma Mc = b para cada pixel de laimagen. Ahora M es una matriz 6x6 y b es un vector de seis elementos. Las cuentas relativas a esta deducciónson un tanto largas y se pueden encontrar en el apéndice A, aunque se podría llegar a la misma formulaciónutilizando las ecuaciones normales [Fle05]. De esta manera para pixel (i, j) se puede hallar un estimador parael vector c, c, de la forma: c = M−1b.

bDonde # indica el cardinal de un conjunto.

11

Page 13: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

La implementación en Matlab de este modelo se realizó de forma similar al caso anterior, en realidad,constituye una generalización del caso anterior como ya se mostró en párrafos anteriores. Se utilizaron lasconvoluciones con núcleos g(x, y), (x − xj)g(x, y), (y − yj)g(x, y), (x − xj)

2g(x, y), (y − yj)2g(x, y) y

(x− xj)(y − yj)g(x, y), de forma de poder realizar las operaciones con mayor velocidad. Si bien observandoel apéndice A puede parecer que la implementación es un tanto engorrosa y conlleva gran cantidad de cálculo,este método a probado en la práctica ser suficientemente rápido.

2.4. Estimación robusta

Un problema intrínseco a las técnicas anteriores es el hecho de que todos los errores e(x, y) en laregión son ’pesados’ por la norma dos. La función cuadrática definida por esta norma tiene la cualidad deasignarle pesos grandes a puntos donde el error sea grande. En estas zonas probablemente el movimiento estéviolando alguna de las restricciones respecto al movimiento en la vecindad y por lo tanto el error e(x, y) -respecto al modelo o la velocidad constante impuesta en la zona- es mayor. A estos puntos se los consideraráoutliers.

Supongamos una situación donde hay un movimiento dominante y un movimiento secundario, estasituación puede darse en bordes cuando hay un fondo móvil, o cuando la cámara de adquisición de la secuenciase encuentra en movimiento. Si se quiere estimar el movimiento dominante sería interesante que la norma conla que se pesan los errores les diera poco peso a los píxeles que representa el movimiento secundario, es decir,a los outliers del movimiento principal. En este contexto es que es útil la estadística robusta, en el contexto enque se desea dar menos influencia a los outliers del movimiento principal en una determinada región del pixelde interés.

El problema que se pretendió explicar en los párrafos anteriores respecto a la estimación con normascuadráticas (LMS) se ilustra a continuación en la figura 2.1. En dicho ejemplo se quiere ajustar una serie dedatos a un modelo lineal utilizando LMS y la estadística robusta. Para el caso de la estadística robusta se utilizóla norma de ponderación Lorentziana. Se puede observar que en el caso de utilizar la estimación robusta selogra un mejor ajuste a los datos relevante y los outliers son ignorados.

(a) Ajuste por LMS (norma cuadrática). (b) Ajuste por estadística robusta (normaLorentziana en este caso).

Figura 2.1: Set de datos ajustados por LMS y por estadística robusta. Imagen extraída de [Bla94].

Las técnicas de estimación robusta de optical flow son propuestas en los trabajos de M. Black [Bla92]y [Bla94]. En las mismas se utilizan normas de ponderación ρ de errores de forma que su función de influenciaasociada ψ (su derivada respecto a la variable e, en este caso, el error) tienda a cero para errores grandes -omejor dicho, para errores mayores a un cierto umbral-. Este umbral depende de la norma considerada y unparámetro de ajuste σ. El valor concreto del umbral es una forma de fijar a partir de qué valor del error un pixelserá considerado inlier o outlier. Las normas consideradas por [Bla92] son: la norma Lorentziana y la norma deGeman-McClure, aunque en [Mus00] se pueden encontrar como otra alternativa una norma cuadrática truncadaa partir de cierto umbral que tiene la desventaja de ser no diferenciable en los puntos de truncamiento. En todos

12

Page 14: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

los trabajos citados en este párrafo se puede encontrar una extensa explicación de la estadística robusta y cómoaplicarla al problema del flujo óptico. Las normas mencionadas y sus correspondientes funciones de influenciason de la forma:

Norma Lorentziana : ρ(e, σ) = ln

(1 +

1

2

( eσ

)2)

ψ(e, σ) =2e

2σ2 + e2

Norma Geman−McClure : ρ(e, σ) =e2

σ + e2

ψ(e, σ) =2σe

(σ + e2)2

(2.6)

En el contexto de este trabajo se utilizó la norma de Geman-McClure pues es la que presenta mayorrechazo a los outliers (pues su función de influencia tiende más ’rápido’ a cero para errores grandes). Tambiénse incluyó una modificación respecto a los trabajos citados que fue la inclusión del núcleo de selectividadgaussiano g(x, y), más que nada por un tema de coherencia con el trabajo efectuado previamente a laimplementación de las técnicas robustas (secciones anteriores). Esta modificación no debería agregar mayorcomplejidad al problema pues se mantiene la filosofía de dar más peso a los píxeles más cercanos al puntoen el que se desea estimar la velocidad. Notar que esto no entra en conflicto con las implementación robustapues un outlier tendrá menor peso asignado según la norma independientemente si es cercano o no al pixel deinterés. La función EROB(c) a minimizar en esta caso será entonces:

EROB(c) =∑

(x,y)∈Ω

g(x, y)ρ (e(x, y), σ)

=∑

(x,y)∈Ω

g(x, y)ρ (∇I.A.c+ It, σ)(2.7)

El problema principal que presenta encontrar un mínimo para EROB(c) es que se trata de unaminimización de una función no convexa. En los casos anteriores donde se utilizaba la norma cuadrática,los problemas de minimización eran relativamente sencillos de resolver dado que la función cuadrática esconvexa. Al utilizar formulaciones robustas el problema de la no convexidad se hace presenta, debiéndosebuscar estrategias más depuradas para la búsqueda del mínimo. De esta manera, la búsqueda del mínimo eneste caso de hará de forma iterativa utilizando un esquema de graduated non convexity (GNC de ahora enmás), partiendo de una semilla dada por la estimación convexa dada por la solución LMS. La forma en que seimplementó esta estrategia se explicará en los próximos párrafos.

En principio se trabajó con el modelo afín de velocidad constante en la vecindad utilizando sólo dosde los parámetros c1 y c2 del modelo explicado en la sección anterior. La forma de hacerlo para el set completode parámetros c es análoga a la explicación que se realizará a continuación sobre la implementación para losdos parámetros escogidos.

La aplicación de las ecuaciones de Euler-Lagrange en este contexto nos lleva a un sistema deecuaciones no lineal:

∂EROB∂c1

(c) = 0∂EROB∂c2

(c) = 0 (2.8)

Podría pensarse en aplicar el algoritmo de LMS no lineal para la convergencia a un mínimo localo Newton-Raphson para obtener la solución al sistema de ecuaciones dado por 2.8, en este caso se utilizóel método iterativo de sobre-relajación simultánea (SOR - Simulataneous Over-Relaxation) pues toda la

13

Page 15: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

bibliografía al respecto utilizaba dicho enfoque. Debe notarse que todas estas formulaciones son iterativasy resuelven el problema de, a partir de una semilla, converger a un mínimo local (en el entorno de la semilla)que no necesariamente será un mínimo global, sobre todo teniendo en cuenta la no convexidad de la normaponderadora. Para buscar la convergencia a un mínimo global se utilizó el esquema GNC donde se utilizauna sucesión de funciones ponderadoras de la siguiente manera: una vez alcanzado un mínimo local -osuficientemente cerca de dicho mínimo limitando la cantidad de iteraciones del método de convergencia localescogido- con una función de la familia, ρ1 por ejemplo. Luego se utiliza ese mínimo local para otra iteracióndel algoritmo de convergencia local pero ahora utilizando otra norma de ponderación ρ2. Esta sucesión defunciones se construye utilizando el parámetro de control σ de tal manera que en cada iteración del GNC sevayan excluyendo los outliers de forma gradual. La elección del método de convergencia local depende encierta medida del problema que se quiere atacar y de la norma que se esté utilizando [Mus00], en este trabajo-como ya se mencionó- se utilizó el método SOR.

Dado que las ecuaciones 2.8 nos llevan a un sistema no lineal, tiene poco sentido utilizar g(x, y)como núcleo de convolución en este caso, pues de todas formas computacionalmente tendremos que ir a hacerel cálculo deEROB(c) por cada región y por cada iteración del GNC y del SOR. Cabe mencionar que lo anteriorda pie a observar que este esquema es computacionalmente costoso. Esto da una justificación importante a lautilización del método iterativo SOR, pues puede ajustarse su parámetro w para lograr mayores velocidades deconvergencia al mínimo local.

En el método iterativo SOR la actualización de c1 y c2 a partir de una semilla se realiza computando,

c(k+1)i = c

(k)i −

w

Tci

∂EROB∂ci

∣∣∣∣c(k)

i (2.9)

siendo c(k)i el valor del parámetro ci en el paso de iteración k (i = 1, 2), w es un parámetro propio del método

SOR que permite ajustar la convergencia del método (el método converge para 0 < w < 2) y Tci es unacota superior para la derivada segunda de EROB(c) respecto a ci en la región considerada. Las derivadasinvolucradas en esta minimización son:

∂EROB(c)

∂c1

=∑

(x,y)∈Ω

g(x, y)∂ρ

∂c1

=∑

Ω

g(x, y)

(∂ρ

∂e

)(∂e

∂c1

)=∑

Ω

g(x, y)

(∂e

∂c1

)ψ(e, σ)

= 2σ∑

(x,y)∈Ω

g(x, y)

[eIx

(σ + e2)2

]

∂EROB(c)

∂c2

=∑

(x,y)∈Ω

g(x, y)∂ρ

∂c2

=∑

Ω

g(x, y)

(∂ρ

∂e

)(∂e

∂c2

)=∑

Ω

g(x, y)

(∂e

∂c2

)ψ(e, σ)

= 2σ∑

(x,y)∈Ω

g(x, y)

[eIy

(σ + e2)2

]Las multiplicaciones involucradas en las expresiones anteriores son elemento a elemento. Finalmente

falta definir los valores utilizados para los Tci. Recordamos en este punto que dichos valores representan unacota superior para la derivada segunda en la región, debiendo cumplir que: Tci ≥ ∂EROB

∂ci. La derivadas segundas

de interés se calculan según:

∂2EROB(c)

∂2ci=

∑Ω

g(x, y)

(∂2ρ

∂2e

)(∂e

∂ci

)2

= 2σ∑

Ω

g(x, y)

[σ − 3e2

(σ + e2)3

](∂e

∂ci

)2

14

Page 16: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

En la derivación de la expresión anterior se ha utilizado el hecho de que ∂2e∂2ci

= 0. Finalmente losvalores de Tci se computaron según,

Tci = l2 maxΩ

2σg(x, y)

[σ − 3e2

(σ + e2)3

](∂e

∂ci

)2

(2.10)

siendo l el ancho (o largo) de la vecindad cuadrada (o el soporte de g(x, y)) considerado.En cada paso del GNC la sucesión de normas ponderadoras se construyó variando el parámetro σ

desde un valor inicial máximo σmax, y decreciéndolo en cada paso de la iteración del GNC según una ciertarazón r, hasta un valor mínimo σmin. Un último comentario respecto a este método de estimación robustaes que para la norma de Geman-McClure el valor del umbral inliers-outliers está dado por τ = σ√

3. Esto

es consistente con el hecho de que los outliers van siendo excluídos gradualmente, pues en cada paso de laiteración del GNC este umbral τ va siendo disminuido. Si el movimiento de los outliers fuese muy significativose puede estimar el movimiento de los mismo considerando sólo los píxeles que cumplan que |e| ≥ τ en laregión.

15

Page 17: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Capítulo 3

Resultados

En este capítulo se muestran los resultados obtenidos para los algoritmos implementados según seexplicó en el capítulo anterior. El testeo se realizó utilizando secuencias de test confeccionadas a partir desecuencias típicas del área. Las pruebas realizadas fueron cualitativas. En este capítulo se enfocará en mostrarlos resultados obtenidos sobre algunas de las secuencias generadas de forma de mostrar los resultados másimportantes. La información completa sobre las secuencias de test que se utilizarán en este capítulo se puedeencontrar en el apéndice B.

Un denominador común de todas las pruebas consiste en que se deberá mover determinadosparámetros. Dependiendo de cada algoritmo habrá determinados parámetros a variar. Dos parámetros queson comunes a todos los algoritmos son los relativos a g(x, y), a saber, el tamaño del soporte cuadrado que seutilizará y la varianza de la gaussiana a utilizar. El soporte puede ser visto también -como ya se ha mencionado-como el tamaño de la vecindad donde se estimará la velocidad del pixel central. A estos parámetros losdenominaremos l y σxy respectivamente. No confundir esta varianza σxy con el parámetro de control del GNCσ que se utiliza en el método de estimación robusta.

Se debe notar que los algoritmos presentados en este trabajo estiman la velocidad pixel-a-pixel. Paraimágenes de gran pixelado la visualización de un campo de velocidad sobre una grilla muy densa carece desentido. Lo que se hizo en todos los casos fue ’diezmar’ el campo vectorial resultante para todos los píxeles dela siguiente manera: se promedió el campo en una región de tamaño dado y se asignó esa velocidad al pixelcentral.

3.1. Algoritmo LMS simplePara el caso del algoritmo LMS los únicos parámetros que se pueden variar son l y σxy. La primer

secuencia de test utilizada fue stennis-test1. Dicha secuencia es la más sencilla de todas, el único movimientoasociado es el de una pelota de ping-pong en ascenso y consta de dos frames. En la figura 3.1 se muestra elcampo de velocidades relevado por el método LMS utilizando l = 32 y σxy = 10. La imagen mostrada seencuentra diezmada por tres respecto al campo de velocidades pixel-a-pixel.

Se puede observar en dicha figura que la secuencia obtenida es relativamente satisfactoria en cuantoa coherencia espacial. Por otro lado, se debe destacar que los píxeles que se mantiene inmóviles el camporelevado es pequeño, aunque no es nulo como debería ser. Esto puede deberse en gran medida al texturadoque aparece como fondo en las imágenes que, observando la secuencia, tiene un pequeño movimiento. Estemovimiento es poco detectado por el algoritmo LMS, como veremos en la sección correspondiente el algoritmode estimación robusta es más sensible a dicho movimiento. Otra observación importante a realizar sobre dichafigura es que sobre los bordes de la superficie en movimiento (contorno de la pelota) el campo estimado noconstituye una estimación certera dado que las ’flechas’ dejan de apunta del dirección vertical hacia arriba.Como se están considerando vecindades de 32x32 debe notarse que si quisiéramos obtener una segmentaciónde la pelota con este método la misma sería bastante mayor que el contorno real de la misma.

¿Qué pasa entonces si achicamos l y σxy? Esto se puede observar en la figura 3.2 donde se ha utilizado:l = 10 y σxy = 5. Se puede observar que los resultados son cualitativamente peores. En el centro de la pelota

16

Page 18: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

las flechas son menos verticales y sobre su contorno los desajuste son mayores que en el caso anterior. Tambiénse tiene más precisión en el contorno de la pelota en una eventual segmentación.

Figura 3.1: Resultado del LMS para la secuencia stennis-test1. l = 32 y σxy = 10.

Figura 3.2: Resultado del LMS para la secuencia stennis-test1. l = 10 y σxy = 5.

Esto quiere decir que agrandar la vecindad tiene un cierto efecto de regularidad espacial, aunque comocontra-partida se pierde localidad en la estimación de la velocidad. Para comprobar esto se muestra en la figura3.3 la estimación realizada por el algoritmo cuando l y σxy son grandes. Yendo a un extremo se utilizaronvalores: l = 64 y σxy = 20.

En todas las secuencias probadas la variación de los parámetros l y σxy produjo el mismo efectoilustrado según las figuras 3.2, 3.1 y 3.3. En al figura 3.4 aparece un ejemplo de este algoritmo aplicado a otrasecuencia: a la secuencia stennis-test3. En esta secuencia aparece una paleta golpeando a una pelota de ping-pong. La misma cuenta de cinco frames, como el campo vectorial estimado se realiza entre frame y frame, endicha figura se muestran los cuatro campos vectoriales estimados por este método.

17

Page 19: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Figura 3.3: Resultado del LMS para la secuencia stennis-test1. l = 64 y σxy = 20.

(a) Campo vectorial con frames 1 y 2. (b) Campo vectorial con frames 2 y 3.

(c) Campo vectorial con frames 3 y 4. (d) Campo vectorial con frames 4 y 5.

Figura 3.4: Campos estimados para la secuencia stennis-test3.

Estas últimas imágenes fueron obtenidas con l = 24, σxy = 10 y un diezmado de 2. Algo interesantea observar de estas secuencias de campos vectoriales es que cuando el movimiento de la paleta es muy grandeel algoritmo pierde dicho movimiento. La secuencia de cuadros donde el movimiento de la misma es menor es

18

Page 20: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

en el caso de la transición entre el frame 1 y el frame 2. En este caso el movimiento de la paleta es estimadode mejor manera. Se debe notar que este tipo de errores en la estimación afectará todo el trabajo posterior,es decir, por ejemplo, el algoritmo robusto utiliza como semilla la salida de este algoritmo. Si la semilla enla iteración adolece de estos problemas es de esperar que el resultado final del algoritmo robusto también lostenga.

Un tipo particular de secuencia es la secuencia stennis-test2. En esta secuencia se combinan dosmovimientos distintos: un movimiento primario de una mano y una pelota, y un zoom out de la cámara. Elzoom out es percibido como un movimiento más. Los resultados obtenidos para esta secuencia se muestran acontinuación en la figura 3.12.

(a) Campo vectorial con frames 1 y 2. (b) Campo vectorial con frames 2 y 3.

(c) Campo vectorial con frames 3 y 4. (d) Campo vectorial con frames 4 y 5.

Figura 3.5: Campos estimados para la secuencia stennis-test2.

Es posible apreciar que ahora el algoritmo detecta el movimiento del texturado debido al zoom out.Para la adquisición de estas imágenes se utilizó: l = 14, σxy = 7 y un diezmado de 3. El movimiento sobrela periferia de la imagen donde las flechas parecen apuntar a un centro común es el movimiento estimadocorrespondiente al zoom out. En los bordes de los objetos involucrados el problema se acentúa debido a lapresencia de dos movimientos en cada borde. Para tratar de mitigar este efecto fue que se uso un valor del pequeño, de todas formas puede apreciarse claramente que los movimiento aparecen mezclados en todo unentorno del contorno de los objetos involucrados. En el caso de la pelota, cuyo diámetro es de aproximadamente15 píxeles el problema es aún mayor. También puede observarse sobre los bordes de la imagen el efecto queproduce el zoom out debido a la aparición de píxeles ’nuevos’ dentro del cuadro de la imagen.

19

Page 21: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

3.2. Modelos de regresiónLas simulaciones utilizando un modelo afín son un tanto más costosas computacionalmente, pero

de todas formas puede ser considerado un algoritmo rápido. En esta sección realizaremos comparacionesparecidas a las realizadas en el capítulo anterior pero para la estimación de flujo óptico mediante el modelo deregresión.

De la misma manera que en la sección anterior comenzaremos probando el algoritmo para la secuenciastennis-tes1 con l = 32 y σxy = 10. El resultado obtenido se muestra a continuación en la figura 3.6.

Figura 3.6: Resultado del LMS para la secuencia stennis-test1. l = 32 y σxy = 10.

En estas imágenes el campo fue diezmado por 3. A primera vista podría pensarse que no se introduceuna mejora en este enfoque. En realidad en esta secuencia no hay un modelo bien definido al cual ajustar (enprincipio no se exploró esa posibilidad al tratarse de una secuencia de test), además se trabajo con el modelolineal más general posible. En este ejemplo presentado aparece una pequeña mejora respecto al caso anterior sirealizamos un zoom en la zona de la pelota. En la figura 3.7 se puede ver un zoom de la zona de interés para elcaso de la estimación con el LMS simple (asumiendo velocidad constante en la región) y el LMS con modelode regresión (asumiendo un modelo en la región).

(a) Estimación por LMS simple. (b) Estimación con LMS y modelo afín.

Figura 3.7: Zoom de campos vectoriales obtenidos para la secuencia stennis-test1 con l = 32 y σxy = 10. Comparaciónentre algoritmo LMS simple y modelo de regresión.

20

Page 22: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

La pequeña mejora puede observarse sobre el contorno del objeto, las líneas de campo allí estimadasson en algunos casos más verticales en el caso que se utilizó un modelo afín. Además, la segmentación delobjeto se realiza un poco mejor pues el campo detectado sobre el borde de la imagen es menor en módulo entodos los casos. Debe notarse que dichos cambios no son particularmente significativos. Como era de esperar,en el centro del objeto la estimación permanece prácticamente igual (recordar que el la esfera tiene un diámetrode aproximadamente 15 píxeles y el núcleo utilizado es de l = 16).

Si probamos ahora para el caso en que se utiliza l = 64 y σxy = 20 obtenemos el resultado de lafigura 3.8.

Figura 3.8: Resultado del LMS para la secuencia stennis-test1. l = 64 y σxy = 20.

Comparando ampliaciones con el caso del LMS obtenemos los siguientes campos vectoriales:

(a) Estimación por LMS simple. (b) Estimación con LMS y modelo afín.

Figura 3.9: Zoom de campos vectoriales obtenidos para la secuencia stennis-test1 con l = 64 y σxy = 20. Comparaciónentre algoritmo LMS simple y modelo de regresión.

En éstas últimas imágenes se puede observar con mayor claridad lo comentado anteriormente sobre lacomparación entre ambos métodos. Se debe notar también que también en el caso del modelo afín agrandar eltamaño de la vecindad trae como contra-partida los mismo efectos indeseados que para el caso del algoritmoLMS (que fueron comentados en la sección anterior). Sin embargo, la zona detectada como ’en movimiento’ esmás esférica para el caso con el modelo de regresión, utilizando el algoritmo LMS simple dicha zona aparececomo más ovalada.

21

Page 23: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Para el caso en que se utiliza l = 10 y σxy = 5 el algoritmo no presenta mayores ventajas. Los camposobtenidos son extremadamente similares. Esto es en realidad esperado pues cuanto más chica es la vecindadmás cerca está de cumplirse la hipótesis de velocidad constante en la región. Este método presenta mejoresresultados cuando se utilizan regiones más grandes, lo cual vimos que podría ser deseable en pos de obtenermayor continuidad espacial.

Las pruebas realizadas con la secuencia de test stennis-test3 dieron los resultados mostrados en lafigura 3.10.

(a) Campo vectorial con frames 1 y 2. (b) Campo vectorial con frames 2 y 3.

(c) Campo vectorial con frames 3 y 4. (d) Campo vectorial con frames 4 y 5.

Figura 3.10: Campos estimados para la secuencia stennis-test3.

En este caso el movimiento de la paleta se pudo detectar en forma más consistente que en el caso delLMS simple. Para ello se utilizó l = 38 y σxy = 28, es decir, valores grandes. En los campos relevados entrelos frames 1 y 2, y entre los frames 3 y 4 es donde el mismo puede estimarse mejor. Para los otros camposvectoriales en menor medida se logró detectar dicho movimiento. Esto no fue posible hacer con el algoritmoLMS sin tener que recurrir a tamaños de vecindad bastante mayores.

Si probamos este algoritmo para el caso de la secuencia stennis-test2 (secuencia con zoom out)podremos ver que el algoritmo de regresión tiene los mismo problemas que el algoritmo LMS simple. Recordarque en este contexto se debe recurrir a valores de vecindad pequeños debido al diámetro de la pelota, conregiones grandes dicho movimiento no podría estimarse. Un ejemplo de esto se muestra a continuación en lafigura 3.11 donde se ha utilizado un tamaño de vecindad un tanto mayor a 15 pero tampoco mucho más grande(l = 24). Se puede apreciar que el movimiento de la esfera se pierde completamente pues en regiones de 24píxeles de tamaño tant el movimiento de la pelota como el del fondo tienen el mismo peso. El movimientoresultante para la zona en que se encuentra la pelota es una suerte de mezcla entre ambos, el de la pelotapropiamente dicha y el fondo, obteniéndose la menor perturbación cerca del centro de la esfera. Lo mismo

22

Page 24: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

ocurre, pero en menor medida, para el movimiento de la mano.

Figura 3.11: Resultado del LMS para la secuencia stennis-test2. l = 24 y σxy = 10.

Si utilizamos valores de región más pequeños para intentar discriminar mejor el movimiento dela esfera, el algoritmo pierde en cierto sentido su utilidad pues como ya se vio cuanto más chico seael valor de la vecindad más se parecerán los resultados del algoritmo LMS simple con el que utiliza unmodelo afín. Si utilizamos los mismo valores que para el testeo mostrado del algoritmo LMS obtenemos lassiguientes secuencias de campos vectoriales, los cuales no presentan mayores diferencias con los mostradosanteriormente.

(a) Campo vectorial con frames 1 y 2. (b) Campo vectorial con frames 2 y 3.

(c) Campo vectorial con frames 3 y 4. (d) Campo vectorial con frames 4 y 5.

Figura 3.12: Campos estimados para la secuencia stennis-test2.

23

Page 25: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Cabe señalar como elemento final que a lo largo de los testeos no se advirtió ninguna ventajacualitativamente mayor en el algoritmo con el modelo afín, aunque debe resaltarse de que se pudo detectaralgunas mejorías como las que se explicaron a lo largo de esta sección. Si bien no se exploró en este trabajo,se pueden diseñar modelos afines específicos a la situación que se desea estimar. Esto probablemente devuelvaresultados mejores en cuanto a precisión y exactitud en al estimación, pero se debe conocer un modelo, almenos, zona a zona.

3.3. Modelo robustoEl objetivo de esta sección es mostrar el funcionamiento del algoritmo de estimación robusta

implementado y compararlo contra los otros métodos ya explicados, en particular, contra el LMS simple.En este algoritmo existen varios parámetros para fijar. Se desprende de la explicación realizada en

el capítulo anterior que dichos parámetros son: l, σxy, σ, σmin, w, r. Pero deben agregarse algunos otrosparámetros de implementación, a saber, la cantidad de iteraciones que se harán en el esquema GNC y lacantidad de iteraciones máxima que se utilizarán para la convergencia local del SOR. Llamaremos a estosparámetros ηGNC y ηSOR respectivamente. Debe recalcarse que este algoritmo es extremadamente costosocomputacionalmente -o al menos, la implementación realizada-, con lo cual nos limitaremos a trabajar convalores de l, σxy, ηGNC y ηSOR pequeños. Esto repercutió en algunos problemas a efectos del testeo, puesagrandar estos valores implica tiempos de simulación muy largos (incluso para las secuencias chicas) y trabajarcon valores pequeños puede traer en algunos casos problemas de convergencia.

El valor de w es un parámetro del método SOR que se puede variar para cambiar condiciones deconvergencia y velocidad de convergencia, para este parámetro se usó en todos los casos w = 1,995 [Bla92][Bla96]. Salvo en algunos casos en que en vez de usar SOR se utilizó el método de Newton-Raphson se cambióel valor de w a w = 1 (valor de w para dicho método). En todas las pruebas que se muestran en esta secciónse utilizó como convergencia local el método SOR y por lo tanto w = 1,995. Los valores de σ y σmin tambiénfueron fijos para los testeos que se muestran en esta sección. Estos valores tienen que ver con la cantidad deoutliers que se irán dejando de lado en cada iteración del GNC (junto con el valor de r). Para estos parámetrosse usaron los valores de σ = 25

√3 y σmin = 15

√3 según [Mus00].

Figura 3.13: Resultado del algoritmo robusto para la secuencia stennis-test1. l = 10, σxy = 5, ηGNC = 5, ηSOR = 15y r = 0,89.

24

Page 26: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Iniciaremos nuestro análisis de la manera usual, con la secuencia de test stennis-test1. La salidacorrespondiente a dicha prueba se puede ver en la figura 3.13 donde se muestra el campo vectorial estimadoutilizando valores para los parámetros aún no fijados de: l = 10, σxy = 5, ηGNC = 5, ηSOR = 10 y r = 0,89.

Se puede notar como la estimación es bastante certera, aunque también una mayor sensibilidad almovimiento de la textura de fondo. Incluso si quisiéramos realizar una segmentación de la zona en movimientola misma se parecería más a la esfera en movimiento. La comparación entre la salida de este algoritmo con laque se obtendría con el algoritmo LMS utilizando l = 10 y σxy = 5 se puede observar a continuación.

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.14: Campos vectoriales obtenidos para la secuencia stennis-test1 con l = 10 y σxy = 5. Comparación entrealgoritmo LMS simple y modelo robusto.

Las diferencias de performance entre un algoritmo y otro se explican básicamente en su principio defuncionamiento. En el algoritmo robusto en cada región se le va dando cada vez menos peso a los outliers(píxeles cuyo error supera un umbral relacionado al valor σ de la manera explicada en el capítulo 2). De estamanera la estimación es mejor en los píxeles correspondientes al movimiento de la esfera son estimado demejor manera pues son más verticales, y sobre todo, en los contornos la estimación es mejor (donde hasta sepodría obtener una mejor segmentación de la zona en movimiento). Se debe notar también que el efecto seutilizar una vecindad es mucho menor (casi no afecta) en el caso de la estimación robusta, en cambio, con elalgoritmo LMS -como ya se ha comentado- el efecto sobre la estimación del campo es notorio. Para reafirmaresto último se puede hacer un zoom sobre dichas imágenes. Esto se muestra en la figura 3.15.

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.15: Zoom de campos vectoriales obtenidos para la secuencia stennis-test1 con l = 10 y σxy = 5. Comparaciónentre algoritmo LMS simple y modelo robusto.

25

Page 27: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Pasaremos ahora a trabajar sobre las simulaciones con la secuencia stennis-test3. Lo mencionadosobre el rechazo a los outliers puede apreciarse en la siguiente figura, la figura 3.16.

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.16: Zoom de campos vectoriales obtenidos para la secuencia stennis-test3 con l = 10 y σxy = 5. Comparaciónentre algoritmo LMS simple y modelo robusto.

Se puede observar que en esta situación la semilla dada por el LMS es mala. Aún así, lo que interesaobservar de esta simulación es el rechazo a los outliers. Para observar esto se debe mirar la interface entrela pelota y la paleta. En el caso de la semilla (algoritmo LMS simple) en dicha zona existe una mezcla demovimientos, resultando un campo que no representa de buena manera la situación. En cambio, luego de laiteración el algoritmo robusto logra tener mayor selectividad en dicha zona, separando los movimiento de lapelota y la paleta de mejor manera. Incluso el contorno de la paleta en movimiento se logra distinguir de mejormanera, aunque la estimación de la velocidad en esos píxeles es mala. Es claro que dado que la semilla no esbuena, el resultado del algoritmo robusto no iba a ser bueno visto en globalidad, pues dicho algoritmo intentabuscar un mínimo global a través de una iteración en búsqueda de mínimos locales cambiando la función deponderación en cada paso. Más allá de que el algoritmo está limitado en su cantidad de iteraciones por ηGNCy ηSOR por requerimiento de tiempo de simulación, en el caso mostrado el algoritmo intenta converger a loque cree es un mínimo global que, probablemente, sea otro mínimo local en la cercanía de la mala semilla.Habría que probar si liberando la cantidad de iteraciones el algoritmo robusto de todas formas logra convergera un mínimo más óptimo, esto no se realizó por las limitaciones de tiempo mencionadas pero tampoco es deesperar que eso suceda. Tener una semilla dada por el LMS razonablemente aceptable es un aspecto crítico delalgoritmo.

De modo de seguir ilustrando lo anterior, también para la secuencia stennis-test1, puede observarseen las figuras 3.17 y 3.18.

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.17: Zoom de campos vectoriales obtenidos para la secuencia stennis-test3 con l = 20 y σxy = 8 en la zonacorrespondiente al movimiento de la paleta. Comparación entre algoritmo LMS simple y modelo robusto.

26

Page 28: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.18: Campos vectoriales obtenidos para la secuencia stennis-test3 con l = 20 y σxy = 8. Comparación entrealgoritmo LMS simple y modelo robusto.

En la figura 3.18 se muestra una comparación entre la semilla y la salida del algoritmo robusto,mientras que en la figura 3.17 se muestra una ampliación de la zona correspondiente al movimiento de lapaleta. La particularidad de estas imágenes es la siguiente: la semilla es buena en la zona de la paleta y no esmuy buena a nivel de la pelota. Observar por ejemplo que la semilla presenta aparentemente dos zonas esféricasy las líneas de campo salen desde el centro de las mismas, esto no es muy representativo del movimiento dela esfera. Por otro lado a nivel de la paleta el movimiento estimado por la semilla es vertical y en direcciónsuperior lo cual sí representa la situación de dicha zona. En cierta medida este problema con la semilla estádado pues la imagen original presenta ’fantasmas’ (o ’sombras’) en la zona de la pelota en ambos frames (1 y2 en este caso).

¿Cómo reacciona el algoritmo robusto en esta situación? Se puede observar que a nivel de la paletamejora la estimación de su movimiento, ver ampliación en la figura 3.17. En cambio, en la zona de la pelotala salida se presenta como si la misma se hubiese atenuado. El movimiento correspondiente a la ’sombra’ enparticular se muestra como desaparecido, esto puede ser a causa de que dicha zona es más parecida al fondoque la esfera en si misma, entonces en dichas zonas menos puntos de los inmóviles son considerados comooutliers (más allá de que la ’sombra’ efectivamente se mueve acompañando a la pelota por más que representeun inconveniente para la estimación del movimiento de la zona esférica). De todas formas el algoritmo robustoen dichas zonas no encuentra el mínimo global que correspondería a las velocidades de la pelota en formavertical y descendiendo.

Interesa en particular observar la performace del algoritmo robusto en la secuencia stennis-test2pues es la que tenía el efecto del zoom out. En la figura 3.19 se puede observar la comparación entre lasalida del algoritmo robusto y el algoritmo LMS simple, donde se han utilizado valores para los parámetros del = 16 y σxy = 5, mientras que los otros parámetros se mantuvieron en los valores que hemos utilizado hastael momento (ηGNC = 5, ηSOR = 15 y r = 0,89). Lo interesante de esta prueba es el valor de l y σxy utilizados(nuevamente recordamos que el diámetro de la pelota es de aproximadamente 15 píxeles).

En la estimación inicial del LMS simple puedo observarse la mezcla de movimientos de la mano, lapelota y el zoom out de la misma forma que se mostró en secciones anteriores. Si observamos la salida delalgoritmo robusto, en particular en la zona de la esfera, su puede apreciar que dado que la vecindad es de16x16 y el ancho de la esfera es de ≈ 15 salvo en las zonas muy cercanas al centro mismo de la esfera elalgoritmo robusto estima que el movimiento dominante es el correspondiente al zoom out! Es decir, dada larelación de tamaños existente, el algoritmo estimó que el movimiento de la esfera representaba los outliers endicho movimiento, prevaleciendo entonces la estimación del movimiento del zoom out y desapareciendo losrasgos del contorno de la pelota. De todas formas puede apreciarse que el hecho de que la semilla contuvierael movimiento de la esfera hace que la convergencia no sea al zoom out perfecto, sino que quedan evidenciasde esa semilla (con pelota) en la solución final.

27

Page 29: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

En cambio en la zona central de la mano, el movimiento es consistente con las imágenes. Un elementoa observar de al estimación del campo en el contorno de la mano es en la parte superior derecha de la misma.En dicha zona el movimiento de la mano es similar al movimiento del zoom out. Si observamos la salida delalgoritmo robusto en dicha zona se puede observar que el mismo genera como una homogeneidad de la zona,el contorno de la mano es difuso. Es posible que en dicha zona el algoritmo no haya detectado muchos outliers(dado que el movimiento de ambas superficies es similar) y por lo tanto la estimación de velocidades resultanteque posee una buena coherencia espacial entre ambos movimientos, zoom out y mano.

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.19: Campos vectoriales obtenidos para la secuencia stennis-test2 con l = 16 y σxy = 5. Comparación entrealgoritmo LMS simple y modelo robusto.

Como se desprende de las discusiones anteriores, existe un compromiso para el tamaño de l y σ (almenos en este caso y para imágenes de características similares) pues, achicar l y σ daría mejores resultadosdesde el punto de vista de la versión robusta dado que para más puntos dentro de la esfera el movimientodominante sería el de la misma obteniéndose una mejor estimación del campo vectorial. Por otro lado, si seachican mucho estos valores la semilla dada por el algoritmo LMS deja de ser buena. Análogamente se puederazonar para el caso en que se usan valores de l y σ grandes, es mejor para la coherencia en la estimación dela semilla pero objetos pequeños se perderían frente al movimiento de los otros objetos en contacto con el,en este caso, un fondo móvil debido al zoom out. Esto es consecuencia de que estamos usando los mismosvalores de l y σ tanto para la estimación de la semilla por LMS que para el algoritmo robusto, en una segundaimplementación se debería considerar el hecho de utilizar valores distintos de l y σ para cada una de las partesdel algoritmo.

3.4. Imágenes anemométricasLa aplicación de las técnicas extensamente discutidas durante este trabajo a las imágenes

anemométricas no arrojaron buenos resultados. En cierta medida es un tanto razonable dado que estás técnicasno están orientadas a la técnica, e intentan solucionar inconvenientes típicos de imágenes tomadas de la realidadque no se ajustan del todo a la generalidad de las imágenes obtenidas por PIV. En esta sección simplementemostraremos los resultados obtenidos con los distintos algoritmos implementados. Dado que los algoritmosespecíficamente diseñados para la técnica PIV utilizan regiones de 64x64 o 32x32 se mostrará en esta secciónlas simulaciones con este tamaño de región. Se debe destacar que se probó extensamente con otros tamaños deregión y varianza, y los mismo no arrojaron mejores resultados aplicados en estas imágenes.

28

Page 30: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Para el algoritmo LMS utilizando l = 32 y σxy = 12 se obtuvieron las siguiente secuencias de camposvectoriales para la secuencia fluido-test1.

(a) Campo vectorial con frames 1 y 2. (b) Campo vectorial con frames 2 y 3.

(c) Campo vectorial con frames 3 y 4. (d) Campo vectorial con frames 4 y 5.

Figura 3.20: Campos estimados para la secuencia fluido-test1.

Como se puede apreciar a simple vista de este ejemplo lo resultados obtenidos no son satisfactorios.El único aspecto rescatables de esta simulación es que en algunas de las zonas los campos vectoriales relevadosparecen tener poca componente según la dirección y. La secuencia se corresponde con el paso de trazadorescon velocidad sólamente horizontal.

Para el algoritmo LMS utilizando l = 32 y σxy = 12 se obtuvieron los resultados de la figura 3.21para las secuencias de campos vectoriales para la secuencia fluido-test2. Para esta secuencia el algoritmoparece comportarse de mejor manera. Esta secuencia es bastante más tenue en la iluminación de los trazadoresy los mismos aparecen más difusos. Esto tiene que ver con la hipótesis de flujo óptico en que I(x, y, t+ dt) ≈I(x, y, t). Podría ser que esta imagen respetara de mejor manera dicha hipótesis y por ello los resultadosaparentemente serían mejores. En cualquier caso están lejos de ser aceptables.

Para los campos estimados utilizando el modelo afín completo de seis parámetros, los mismos nomostraron mayores diferencias con los obtenidos por LMS simple. También se experimentó para distintosvalores de l y σxy. No se realizaron pruebas utilizando modelos afines consistentes con la realidad de estásimágenes anemométricas, es posible que ese enfoque arroje resultados favorables (o al menos, mejores que losque se presentan en esta sección), aunque debe resaltarse que esa opción no se ha explorado aún.

La aplicación de la técnica robusta en este contexto devolvió resultados un poco mejores, pero detodas formas no llegan a ser satisfactorios. Además, por razones de tiempo de simulación se está acotadoen los tamaños de l y σxy a utilizar. Las salidas correspondientes a la secuencias fluido-test1 y fluido-test2pueden observarse en las figuras 3.22 e 3.23 respectivamente, en las mismas se puede ver una comparacióncon la semilla obtenida por el método LMS. Los valores utilizados para dichas simulaciones fueron l = 24 yσxy = 10.

29

Page 31: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

(a) Campo vectorial con frames 1 y 2. (b) Campo vectorial con frames 2 y 3.

(c) Campo vectorial con frames 3 y 4. (d) Campo vectorial con frames 4 y 5.

Figura 3.21: Campos estimados para la secuencia fluido-test3.

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.22: Campos vectoriales obtenidos para la secuencia fluidos-test1 con l = 24 y σxy = 10. Comparación entrealgoritmo LMS simple y modelo robusto.

30

Page 32: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

(a) Estimación por LMS simple. (b) Estimación con algoritmo robusto.

Figura 3.23: Campos vectoriales obtenidos para la secuencia fluidos-test3 con l = 24 y σxy = 10. Comparación entrealgoritmo LMS simple y modelo robusto.

La mejoría aparente responde a la delimitación de regiones debido a la exclusión de outliers. Esto sepuede observar por ejemplo en las zonas por donde no pasan trazadores, en dichas zonas la velocidad se va acero debido a que, como no hay trazador, parece que esa zona está inmóvil. Debido a esto se explica el hechode la ’separación’ en regiones. En cierta medida la iteración del algoritmo robusto logra aislar el movimientode las partículas de la zona donde aparentemente no hay movimiento, aunque sabemos de la realidad de lasituación que por allí circula fluido a la misma velocidad del trazador. Por otro lado el módulo de la velocidadvertical parece hacerce más pequeño en algunas zonas, cosa que es deseable dado la realidad del movimientodel fluido en estas secuencias.

31

Page 33: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Capítulo 4

Conclusión Final

Finalmente, para terminar este trabajo se enumeran a continuación las conclusiones que se pudieronsacar del proceso que el mismo llevó. Se presentan conclusiones sobre el trabajo realizado y, en base a laexperiencia realizada, conclusiones sobre posibles líneas para un trabajo futuro.

4.1. Trabajo realizadoA lo largo del presente trabajo se han estudiado distintas técnicas para la estimación de flujo óptico,

con sus ventajas y desventajas. Este trabajo representó un primer contacto con las mismas, así como alproblema del optical flow, y se lograron entender, implementar y testear algunas de las técnicas más relevantesen el área de computer vision. También representó un primer contacto con las imágenes de anemometríaobtenidas por la técnica PIV y sus peculiaridades.

Los algoritmo se pudieron implementar y arrojaron resultados favorables en el sentido de que sepudo constatar los resultados que se explicitaban en la bibliografía. Por otro lado se incluyó una modificaciónusual sobre los algoritmos respecto a la bibliografía principal sobre el tema [Bla92] [Bla96] [Luc81], quefue la inclusión de una función de ponderación g(x, y) en la región. Los valores utilizados para varios delos parámetros involucrados que fueron tomados de la bibliografía funcionaron bien en dicho esquema. Losdemás parámetros se pudieron variar libremente, en particular los valores l y σxy, de manera de observarcomo se comportaban las distintas técnicas frente a dichas variaciones. Todas las variantes de los algoritmospresentados arrojaron resultados satisfactorios, y el efecto de la variación de los parámetros fue también elesperado.

En el marco de la implementación del algoritmo de estimación robusto, un elemento que se constatódurante las pruebas realizadas, y que podría haber sido de beneficio en el funcionamiento de dicho algoritmo,es la utilización de valores distintos de l y σxy para la obtención de la semilla y para la iteración del GNC conSOR. Esto fue explicado en el capítulo 3.

4.2. Trabajo futuroDurante las experiencias realizadas a lo largo de este trabajo se pudieron constatar algunos elementos

que permitan guíar un posible trabajo a futuro en las líneas del trabajo con las secuencias anemométricas.Un primer elemento a mencionar es que existe en la bibliografía técnicas de smoothing que no se

llegaron a implementar dado los plazos del presente trabajo. Esta técnica puede agregarse a los métodospropuestos, en particular, al método de estimación robusta. Las técnica de smoothing busca generar solucionescon mayor ’suavidad’ espacial y fueron primeramente propuestas por Horn-Schunk en [Hor81]. De laexperiencia realizada durante el trabajo se estima que la aplicación de estás técnicas pueden ayudar a unamayor coherencia de los campos vectoriales estimados, aunque se debe puntualizar que existirá un compromisoentre la coherencia espacial introducida y la exactitud de la medida que se desea realizar; aspecto crítico en elsistema.

32

Page 34: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Siendo coherentes con el trabajo realizado, si quisiéramos agregar smoothing a la técnica deestimación robusta propuesta, la función a minimizar ESTH(c) quedaría de la forma,

ESTH(c) = EROB(c) + λ∑

Ω

g(x, y)(‖∇vx(c)‖2 + ‖∇vy(c)‖2

)(4.1)

donde λ es un parámetro propio de la técnica de smoothing y debe ser ajustado, g(x, y) es la función deselectividad que hemos usado a lo largo de este trabajo, EROB(c) es la función definida por 2.7, y se deberecordar que en un esquema de modelo afín tanto vx como vy son función de los parámetros c de la forma dadaen la ecuación 2.4.

Para minimizar esta función ESTH(c) es posible utilizar el mismo esquema GNC con la iteraciónSOR para la convergencia a mínimos locales tal como fue explicado en el capitulo 2 -o al menos no se preveenmayores complicaciones-.

Un segundo elemento a mencionar es que se cree necesario realizar alguna regularización en eltiempo. Todas las técnicas que se han utilizado en este trabajo apuntan a generar mejores estimaciones ymás coherentes en el espacio. La bibliografía apunta en ese sentido, y esto es razonable pues la realidad delproblema de computer vision implica que en algún momento se puede realizar algún movimiento rápido (osuficientemente rápido para la tasa de adquisición de la cámara, fps), perdiendo de esta manera algún tipode coherencia temporal. En general las secuencias anemométricas de la técnica PIV no se comportan detal manera (a menos, claro está, de sistemas muy turbulentos que sean muy caóticos punto a punto). Puedepensarse en incluirse alguna forma de regularización o tracking en el tiempo (con un filtro de Kalman porejemplo). Algunas de las técnicas especializadas en imágenes de PIV utilizan tres frames para la estimaciónen vez de dos, como se ha realizado en el presente trabajo.

33

Page 35: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Apéndice A

Cálculos realizados

Apéndice destinado al detalle sobre los cálculos realizados para la obtención de algunos de losresultados que se consideran de importancia para este trabajo.

A.1. Cálculos para la resolución del modelo de regresión de seisparámetros

Como se mencionó en la sección correspondiente para cada pixel (i, j) de la imagen se debe resolverun sistema lineal 6x6 de como de poder estimar el valor del set de parámetros c como c = M−1b. La matrizM se trata de una matriz simétrica 6x6 y b es un vector de seis elementos.

Operando un poco con las ecuaciones de Euler-Lagrange puedo observarse que los elementos dematriz de M son de la forma:

Mij =

1

2

∂2EAFIN∂ci∂cj

=

1

2

∑Ω

g(x, y)∂2e2

∂ci∂cj

con e = ∇I.A.c+ It

(A.1)

Nuevamente se hizo uso de g(x, y) como núcleo de convolución. Y la matriz M y el vector b paracada punto (i, j) se puede calcular como,

M |ij =

M1(i, j) M7(i, j) M12(i, j) M8(i, j) M17(i, j) M16(i, j)M7(i, j) M2(i, j) M8(i, j) M13(i, j) M16(i, j) M18(i, j)M12(i, j) M8(i, j) M3(i, j) M9(i, j) M14(i, j) M10(i, j)M8(i, j) M13(i, j) M9(i, j) M4(i, j) M10(i, j) M15(i, j)M17(i, j) M16(i, j) M14(i, j) M10(i, j) M5(i, j) M11(i, j)M16(i, j) M18(i, j) M10(i, j) M15(i, j) M11(i, j) M6(i, j)

(A.2)

b|ij =(b1(i, j) b2(i, j) b3(i, j) b4(i, j) b5(i, j) b6(i, j)

)T (A.3)

donde cada una de las matrices Mk debe ser calculada de la forma que se explica a continuación. Notar quedebido a la simetría de la matriz M sólo deben calcularse 18 valores en vez de los 36 que en principio podríasuponerse. Estos 18 valores corresponden a todas las posibles combinaciones entre los núcleos de convoluciónnecesarios: g(x, y), (x−xj)g(x, y), (y−yj)g(x, y), (x−xj)2g(x, y), (y−yj)2g(x, y) y (x−xj)(y−yj)g(x, y),y las matrices: I2

x , I2y e IxIy, donde éstas últimas multiplicaciones son elemento a elemento. Para el caso de los

6 elemento de b estos se corresponden con todas las posibles combinaciones de los núcleos de convolución:g(x, y), (x − xj)g(x, y) y (y − yj)g(x, y), con las matrices: IxIt e IyIt (nuevamente estos productos son

34

Page 36: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

elemento a elemento).Las matrices Mk deben computarse de la siguiente manera:

M1 = g(x, y) ∗ I2x M10 = (x− xj)(y − yj)g(x, y) ∗ IxIy

M2 = g(x, y) ∗ I2y M11 = (y − yj)2g(x, y) ∗ IxIy

M3 = (x− xj)2g(x, y) ∗ I2x M12 = (x− xj)g(x, y) ∗ I2

x

M4 = (x− xj)2g(x, y) ∗ I2y M13 = (x− xj)g(x, y) ∗ I2

y

M5 = (y − yj)2g(x, y) ∗ I2x M14 = (x− xj)(y − yj)g(x, y) ∗ I2

x

M6 = (y − yj)2g(x, y) ∗ I2y M15 = (x− xj)(y − yj)g(x, y) ∗ I2

y

M7 = g(x, y) ∗ IxIy M16 = (y − yj)g(x, y) ∗ IxIyM8 = (x− xj)g(x, y) ∗ IxIy M17 = (y − yj)g(x, y) ∗ I2

x

M9 = (x− xj)2g(x, y) ∗ IxIy M18 = (y − yj)g(x, y) ∗ I2y

Mientras que las matrices bk son de la siguiente forma:

b1 = g(x, y) ∗ IxIt b3 = (x− xj)g(x, y) ∗ IxIt b5 = (y − yj)g(x, y) ∗ IxItb2 = g(x, y) ∗ IyIt b4 = (x− xj)g(x, y) ∗ IyIt b6 = (y − yj)g(x, y) ∗ IyIt

Recordar que (xj, yj) representa el centro de la vecindad que se está considerando, es decir, el pixelde interés.

35

Page 37: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Apéndice B

Secuencias de test

En esta sección se enumeran las secuencias de test utilizadas en el capítulo 3, con algunos datos sobrelas mismas. Los nombres con el que aparecen dichas secuencias se corresponden con el nombre del archivo,no necesariamente siguen una numeración fija pues se probó con más secuencias de las que aquí se enumeran.

. Stennis-test1: → Resolución 101x101, 2 frames, fondo texturado ’semi-fijo’ (movimiento pequeñodel texturado).

(a) Imagen @t = 1. (b) Imagen @t = 2.

Figura B.1: Secuencia stennis-test1.

. Stennis-test2:→ Resolución 101x81, 5 frames. Movimiento combinado con un zoom out.

(a) Imagen @t = 1. (b) Imagen @t = 2. (c) Imagen @t = 3. (d) Imagen @t = 4. (e) Imagen @t = 5.

Figura B.2: Secuencia stennis-test2.

36

Page 38: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

. Stennis-test3:→ Resolución 152x81, 5 frames.

(a) Imagen @t = 1. (b) Imagen @t = 2. (c) Imagen @t = 3. (d) Imagen @t = 4. (e) Imagen @t = 5.

Figura B.3: Secuencia stennis-test3.

. Fluido-test1:→ Resolución 112x61, 5 frames.

(a) Imagen @t = 1. (b) Imagen @t = 2. (c) Imagen @t = 3. (d) Imagen @t = 4. (e) Imagen @t = 5.

Figura B.4: Secuencia fluido-test1.

37

Page 39: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

. Fluido-test3:→ Resolución 112x61, 5 frames.

(a) Imagen @t = 1. (b) Imagen @t = 2. (c) Imagen @t = 3. (d) Imagen @t = 4. (e) Imagen @t = 5.

Figura B.5: Secuencia fluido-test3.

38

Page 40: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Apéndice C

Acrónimos utilizados

. CCD - Charge-Coupled Device.

. GNC - Graduated Non Convexity.

. LMS - Least Mean Squares.

. IFFI - Instituto de Física. Facultad de Ingeniería, Universidad de la República.

. IIE - Instituto de Ingeniería Eléctrica. Facultad de Ingeniería, Universidad de la República.

. PIV - Particle Image Velocimetry

. SOR - Simulataneous Over-Relaxation.

. UdelaR - Universidad de la República.

39

Page 41: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Índice de figuras

1.1. Secuencia de imágenes típica de la técnica PIV. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1. Set de datos ajustados por LMS y por estadística robusta. Imagen extraída de [Bla94]. . . . . . . . . . 12

3.1. Resultado del LMS para la secuencia stennis-test1. l = 32 y σxy = 10. . . . . . . . . . . . . . . . 173.2. Resultado del LMS para la secuencia stennis-test1. l = 10 y σxy = 5. . . . . . . . . . . . . . . . . . 173.3. Resultado del LMS para la secuencia stennis-test1. l = 64 y σxy = 20. . . . . . . . . . . . . . . . . 183.4. Campos estimados para la secuencia stennis-test3. . . . . . . . . . . . . . . . . . . . . . . . . . 183.5. Campos estimados para la secuencia stennis-test2. . . . . . . . . . . . . . . . . . . . . . . . . . 193.6. Resultado del LMS para la secuencia stennis-test1. l = 32 y σxy = 10. . . . . . . . . . . . . . . . . 203.7. Zoom de campos vectoriales obtenidos para la secuencia stennis-test1 con l = 32 y σxy = 10.

Comparación entre algoritmo LMS simple y modelo de regresión. . . . . . . . . . . . . . . . . . . 203.8. Resultado del LMS para la secuencia stennis-test1. l = 64 y σxy = 20. . . . . . . . . . . . . . . . . 213.9. Zoom de campos vectoriales obtenidos para la secuencia stennis-test1 con l = 64 y σxy = 20.

Comparación entre algoritmo LMS simple y modelo de regresión. . . . . . . . . . . . . . . . . . . 213.10. Campos estimados para la secuencia stennis-test3. . . . . . . . . . . . . . . . . . . . . . . . . . 223.11. Resultado del LMS para la secuencia stennis-test2. l = 24 y σxy = 10. . . . . . . . . . . . . . . . . 233.12. Campos estimados para la secuencia stennis-test2. . . . . . . . . . . . . . . . . . . . . . . . . . 233.13. Resultado del algoritmo robusto para la secuencia stennis-test1. l = 10, σxy = 5, ηGNC = 5,

ηSOR = 15 y r = 0,89. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.14. Campos vectoriales obtenidos para la secuencia stennis-test1 con l = 10 y σxy = 5. Comparación

entre algoritmo LMS simple y modelo robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.15. Zoom de campos vectoriales obtenidos para la secuencia stennis-test1 con l = 10 y σxy = 5.

Comparación entre algoritmo LMS simple y modelo robusto. . . . . . . . . . . . . . . . . . . . . . 253.16. Zoom de campos vectoriales obtenidos para la secuencia stennis-test3 con l = 10 y σxy = 5.

Comparación entre algoritmo LMS simple y modelo robusto. . . . . . . . . . . . . . . . . . . . . . 263.17. Zoom de campos vectoriales obtenidos para la secuencia stennis-test3 con l = 20 y σxy = 8 en la

zona correspondiente al movimiento de la paleta. Comparación entre algoritmo LMS simple y modelorobusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.18. Campos vectoriales obtenidos para la secuencia stennis-test3 con l = 20 y σxy = 8. Comparaciónentre algoritmo LMS simple y modelo robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.19. Campos vectoriales obtenidos para la secuencia stennis-test2 con l = 16 y σxy = 5. Comparaciónentre algoritmo LMS simple y modelo robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.20. Campos estimados para la secuencia fluido-test1. . . . . . . . . . . . . . . . . . . . . . . . . . . 293.21. Campos estimados para la secuencia fluido-test3. . . . . . . . . . . . . . . . . . . . . . . . . . . 303.22. Campos vectoriales obtenidos para la secuencia fluidos-test1 con l = 24 y σxy = 10. Comparación

entre algoritmo LMS simple y modelo robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.23. Campos vectoriales obtenidos para la secuencia fluidos-test3 con l = 24 y σxy = 10. Comparación

entre algoritmo LMS simple y modelo robusto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

B.1. Secuencia stennis-test1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

40

Page 42: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

B.2. Secuencia stennis-test2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36B.3. Secuencia stennis-test3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37B.4. Secuencia fluido-test1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37B.5. Secuencia fluido-test3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

41

Page 43: ESTIMACIÓN DE FLUJO ÓPTICO CON TÉCNICAS …iie.fing.edu.uy/ense/asign/tes/monografias/2009/rodrigo_alonso/... · Poder determinar la velocidad de un fluido y su movimiento es

Bibliografía

[Bak04] S. Baker, I. Matthews - Lucas-Kanade 20 years on: a unifying framework. International journal ofcomputer vision, vol. 56, No. 3, Marzo 2004.

[Bla92] Michael J. Black - Robust incremental optical flow. Phd. tesis, YALE University, Setiembre 1992.

[Bla94] Michael J. Black - Recursive non-linear estimation of discontinuous flow fields. European conferenceon computer vision, Mayo 1994.

[Bla96] Michael J. Black, P. Anandan - The robust estimation of multiple motions: parametric and piecewise-smooth flow fields. Computer vision ans image understanding, vol. 63, No. 1, Enero 1996.

[Fle00] David J. Fleet, Michael J. Black - Design and Use of linear models for image motion analysis.International journal of computer vision, vol. 36, No. 3, Febrero 2000.

[Fle05] David J. Fleet, Y. Weiss - Optical flow estimation. Mathematical models in computer vision: thehandbook. Capítulo 15, 2005.

[Gon02] Rafael C. Gonzales, Richard E. Woods - Digital image processing. Segunda edición, 2002.

[Hor81] Berthold K. P. Horn, Brian G. Schunck - Determining Optical Flow. Artificial intelligence, vol. 17,1981.

[Luc81] Bruce D. Lucas, T. Kanade - An iterative image registration technique with an application to stereovision. In Proceedings of IJCAI, 1981.

[Mus00] P. Musé - Técnicas de estimación de flujo óptico. Septiembre 2000.

[Use99] G. Usera - Adaptive algorithms for PIV image analyzing. Mayo 1999.

42