68
Flujo óptico. Adolfo Otero Jos ´ e Otero Jos ´ e Antonio Corrales Departamento de Inform ´ atica. Area de Lenguajes y Sistemas Inform ´ aticos Universidad de Oviedo Flujo ´ optico.– p. 1/68

Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Flujo óptico.

Adolfo Otero

Jose Otero

Jose Antonio Corrales

Departamento de Informatica.

Area de Lenguajes y Sistemas Informaticos

Universidad de Oviedo

Flujo optico.– p. 1/68

Page 2: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Definición de flujo óptico.

Proyección en el plano de la imagen del movimientotridimensional de los puntos de los objetos presentesen la imagen.

Refleja los cambios en la imagen debido almovimiento de los objetos presentes en la escena.

Escena Imagen

Se usa en los algoritmos forma a partir de movimientoy en codificación de vídeo.

Flujo optico.– p. 2/68

Page 3: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Ejemplo.

Flujo optico.– p. 3/68

Page 4: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Flujo óptico basado en correlación

Algoritmo 2D2D:

“BMA”, block matching algorithm.

Maximización de la correlación.

Explicación gráfica:Frame i

Vecindario en frame i

Frame i+1

Velocidad

Espacio de busquedaFlujo optico.– p. 4/68

Page 5: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Notación matemática.

φ(δx, δy, t) = Iw ∗ I =∫

Iw(ξ, η, t)I(δx+ ξ, δy+ η, t+ δt)dξdη

Iw(ξ, η, t) = I(ξ, η, t) ∀(ξ, η) ∈ wL2, es mínima cuando φ es máxima.L2(δx, δy, t) =��������� �

(ξ, η, t) ∈ w

(δx + ξ, δy + η, t + δt) ∈ w

� I(ξ, η, t)−

I(δx + ξ, δy + η, t + δt)

2

D(δx, δy) distancia L2 entre dos regiones de dos framesdistintos centradas en (x, y) y (x+ δx, y + δy).S∗ = (δ∗x, δ

∗y) minimiza D

u∗ = S∗

∆t, ∆t es el intervalo de adquisición de imágenes.

Flujo optico.– p. 5/68

Page 6: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Medidas de distorsión habituales

Media del valor absoluto de la diferencia1

mn

∑m

p=1

∑n

q=1 |A[p, q] −B[p, q]|

Error cuadrático medio1

mn

∑m

p=1

∑n

q=1(A[p, q] −B[p, q])2

Diferencia de clasificación de PelLos pixels se clasifican como emparejados o no enfunción de la diferencia en intensidad. Se contabilizanlos emparejamientos.∑m

p=1

∑nq=1 ord(|A[p, q] −B[p, q]| <= t)

Proyección integral∑m

p=1 |∑n

q=1A[p, q] −∑n

q=1B[p, q]| +∑n

q=1 |∑m

p=1A[p, q] −∑n

q=1B[p, q]|

Flujo optico.– p. 6/68

Page 7: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA (Block MatchingAlgorithm) subóptimos I.

El número de operaciones encoma flotante de los algoritmosBMA exhaustivos depende delproducto de filas, columnas,tamaño espacio búsqueda alcuadrado, tamaño vecindario alcuadrado.

Los algoritmos subóptimos nocalculan la medida de distorsiónescogida en todas las posicionesposibles.

m

n

e

e

v

v

Flujo optico.– p. 7/68

Page 8: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos II.

Busqueda en tres pasos:

Tamaño de paso decrecientelogarítmicamente (se divide por 2).

Tamaño inicial entero más próximomayor que d

2.

En cada paso se chequean 9 posiciones.

Se continúa por la posición con lamínima BDM (Block DistortionMeassure).

Finaliza cuando el tamaño es 1.

2

2

2 2

2

22

33

3 3 3333

2−6

−4

−2

0

2

4

6

6420−2−4−6

1

1

1

1 1

1

1

1

Flujo optico.– p. 8/68

Page 9: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos III.

Busqueda logarıtmica bidimensional

Patrón de búsqueda en cruz ’+’

Tamaño del paso inicial entero máspróximo mayor que d

4

El tamaño se reduce a la mitad si:

Posición de mínima BDM es lacentral.

Límite del espacio de búsqueda.

Cuando se alcanza el tamaño mínimo sebusca en las 8 posiciones que rodean ala central.

2 2

23 3

3444 4

444

4

2

2

2

3

3

4

4

4 5

5

66 6

66

6 6 6

−6

−4

−2

0

2

4

6

6420−2−4−6

1

1

11

1

Flujo optico.– p. 9/68

Page 10: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos IV.

Busqueda ortogonal

Búsqueda horizontal/vertical.

Tamaño de paso decrecientelogarítmicamente.

Tamaño inicial entero más próximo me-nor que d

2.

22

2

2

3 33

3

22

2

2

3 33

3

−6

−4

−2

0

2

4

6

6420−2−4−6

11 1

1

1

1

1

Flujo optico.– p. 10/68

Page 11: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos V.

Busqueda en cruz

Patrón en cruz ’×’.

Tamaño de paso decreciente.

Tamaño inicial entero d2

.

Si paso mínimo y posición de mínimaBDM:

Centro

Esquina sup izq

Esquina inf dch

Se cambia el patrón de búsqueda a una’+’

22

2 2

3

3 3

34

4 4

22

2 2

3

3 3

34

44

4

−6

−4

−2

0

2

4

6

6420−2−4−6

1

1

1

1

1

Flujo optico.– p. 11/68

Page 12: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos VI.

Busqueda en tres pasos para pequenos desplaza-mientos

Búsqueda inicial en 8 puntos a d2

, en elcentro y en los 8 adyacentes.

Si la BDM se produce en los 8adyacentes al centro, nueva búsqueda3x3 alrededor.

Si se produce en los 8 más alejados, bús-queda en tres pasos normal.

2

2 2 2

2

222333 3 3

33

2 2 2

3−6

−4

−2

0

2

4

6

6420−2−4−6

1

1

1 1

1

1

1

1

1

111 1 1

111

Flujo optico.– p. 12/68

Page 13: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos VII.

Busqueda en cuatro pasos I

Tamaño inicial de paso pequeño, enteromás próximo mayor que d

4.

Puede parar en el paso 2 o 3 si la BDMmínima se da en el centro.

2 2 2

2

2

3 3 3

3

3

4 4 444

4 4 4

2

2

2 2 2

3

3

3

444 4 4

444

−6

−4

−2

0

2

4

6

6420−2−4−6

1

11

1

1 1 1

1

1

Flujo optico.– p. 13/68

Page 14: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos VIII.

Busqueda en cuatro pasos II

Parada en el segundo paso.

444 4 4

444

−6

−4

−2

0

2

4

6

6420−2−4−6

1

1 1

1

11

1

1

1

Parada en el tercer paso.

44

444444

−6

−4

−2

0

2

4

6

6420−2−4−6

1

1 1

1

11

1

1

2

2

2

1

Flujo optico.– p. 14/68

Page 15: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos IX.

Busqueda basada en descenso del gradiente

Tamaño del paso = 1.

No hay restricción al número de pasos.

Finaliza si la mínima BDM se produce enel centro.

En caso contrario siguiente búsquedacentrada en el punto con BDM mínima.

2 2 2

222 2 23

3 3 3

3

−6

−4

−2

0

2

4

6

6420−2−4−6

1111 1 1

111

Flujo optico.– p. 15/68

Page 16: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos X.

Busqueda jerarquica

Búsqueda inicial a bajaresolución.

Extrapolación deldesplazamiento a altaresolución.

Nueva búsquedaalrededor de laestimación a bajaresolución.

Se pueden utilizar distin-tos métodos en cada ca-so.

2 2 222

−6

−4

−2

0

2

4

6

6420−2−4−6

111 1

1 1 111

0−2 2

2

−2

0 1

1

1 1

11

1

1 1

222 2 2

222

Flujo optico.– p. 16/68

Page 17: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XI.

Busqueda voraz

Intentan reducir el número de evaluaciones delcriterio que define BDM.

En lugar de desplazarse al punto con BDM mínima sedesplazan al primero que presenta una BDM menorque el anterior.

El tamaño del paso se reduce cuando se encuentraun mínimo, es decir, no se encuentra ninguno menor.

Terminan cuando el tamaño de paso es 1.

Flujo optico.– p. 17/68

Page 18: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XII.

Algoritmo BMA voraz A

Tamaño de paso inicial s = entero más próximomayor que d

2.

Actualización: s = s2

En primer lugar se mide BDM en (0,0).

A continuación (+s, 0), si BDM no es menor (0,+s),(−s, 0), (0,−s) (sentido antihorario).

Flujo optico.– p. 18/68

Page 19: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XIII.

Algoritmo BMA voraz B

Tamaño inicial s = entero más próximo mayor que d4.

Actualización: s = s2

Algoritmo BMA voraz C

Tamaño inicial s = entero más próximo mayor que d4.

Actualización: s = s4

Flujo optico.– p. 19/68

Page 20: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XIV.

Inconvenientes de los algoritmos A, B y C

La búsqueda comienza a la derecha del puntoanterior, indepependientemente del resultado previo.

Si el movimiento no cambia de sentido bruscamente,mejor primero en la dirección del desplazamientoobtenido en el paso anterior.

Flujo optico.– p. 20/68

Page 21: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XV.

Algoritmo BMA voraz D

Tamaño inicial s = entero más próximo mayor que d4.

Se examina en primer lugar (0, 0), después (+s, 0).

Si (+s, 0) posee una menor BDM que (0, 0), se siguehacia (+2s, 0).

Se mantiene la dirección seguida en el paso anterior.

Si la BDM obtenida es mayor que la del paso anterior,se pasa a la siguiente dirección en sentido antihorario.

Si el centro proporciona una BDM mínima, se divideel tamaño del paso entre 4.

Flujo optico.– p. 21/68

Page 22: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XVI.

Algoritmo BMA voraz E

Similar al anterior.

Tamaño inicial s = entero más próximo mayor que d2.

Actualización: s = s2

Flujo optico.– p. 22/68

Page 23: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XVII.

Algoritmo BMA voraz F

El orden en el que se realizan las búsquedas tieneimpacto sobre la eficiencia.

Optimizado para escenas con movimientofundamentalmente en horizontal.

Búsqueda a la derecha y a la izquierda del puntocentral.

Tamaño inicial s = entero más próximo mayor que d4.

Actualización: s = s4

Flujo optico.– p. 23/68

Page 24: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XVIII.

Algoritmo BMA voraz Adaptativo

Decide el orden de la búsqueda en función delmovimiento obtenido en otras áreas de la imagen oen otros frames.

Espacio de busqueda adaptativo

Intenta prevenir el estancamiento en mínimos locales.

El tamaño del espacio de búsqueda depende de ladiferencia entre la BDM mínima y la anterior.

A mayor diferencia, menor espacio de búsqueda.

Flujo optico.– p. 24/68

Page 25: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XIX.

Algoritmos dependientes

El movimiento detectado en la escena se debe:Al movimiento de los objetos.Al movimiento de la cámara.

Entre frames el movimiento puede no cambiardemasiado.

Dentro de los frames, pixels próximos se mueven deforma similar.

Idea: utilizar el movimiento medido en otrospixels/otros frames.

Flujo optico.– p. 25/68

Page 26: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XX.

Dependencia espacial I

Utiliza el movimiento de pixels vecinos parapredecir el punto en donde se producirá la BDMmínima.

Media ponderada (a la distancia).

Media de los pixels con movimiento másparecido.

Cada pixel posee 8 vecinos, pero en función delorden del cálculo, pueden no estar disponibleslos resultados para algunos.

Si se utilizan datos de pixels a un lado del actual,puede haber problemas en los contornos de losobjetos.

Flujo optico.– p. 26/68

Page 27: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XXI.

Dependencia espacial II

Algoritmo de tres pasadas:

� � � �� � � �� � � � � � � �� � � �� � � � � � � �� � � �� � � � � � � �� � � �� � � � � � �� � �� � �� � � �� � � �� � � � � � �� � �� � � � � � �� � � �� � � �� � � �� � � �� � � � � � �� � �� � � � � �� � �� � �� � � �� � � �� � � �� � � �� � � �� � � � � � �� � �� � � � � �� � �� � �� � � �� � � �� � � �� � � �� � � �� � � � � � � �� � � �� � � �� � �� � �� � � ! ! !! ! !! ! !

" " " "" " " "" " " "" " " "# # ## # ## # ## # #$ $ $ $$ $ $ $$ $ $ $$ $ $ $% % % %% % % %% % % %% % % %& & && & && & && & &' ' '' ' '' ' '' ' '( ( (( ( (( ( (( ( () ) )) ) )) ) )) ) )* * ** * ** * ** * *+ + ++ + ++ + ++ + +

, , , ,, , , ,, , , ,- - - -- - - -- - - - . . . .. . . .. . . . / / / // / / // / / / 0 0 0 00 0 0 00 0 0 0 1 1 11 1 11 1 1 2 2 2 22 2 2 22 2 2 2 3 3 3 33 3 3 33 3 3 3 4 4 4 44 4 4 44 4 4 45 5 5 55 5 5 55 5 5 5 6 6 6 66 6 6 66 6 6 67 7 77 7 77 7 7

8 8 8 88 8 8 88 8 8 88 8 8 89 9 99 9 99 9 99 9 9: : : :: : : :: : : :: : : :; ; ; ;; ; ; ;; ; ; ;; ; ; ;

< < << < << < << < <= = == = == = == = => > >> > >> > >> > >? ? ?? ? ?? ? ?? ? ?

@ @ @@ @ @@ @ @@ @ @A A AA A AA A AA A A B B BB B BB B BC C CC C CC C C

1

2

3

Flujo optico.– p. 27/68

Page 28: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XXII.

Dependencia temporal

Introduce la memoria en el algoritmo.

Supone que los pixels mantienen (aproximadamente)su velocidad en el tiempo.

Se utiliza esta hipótesis para buscar alrededor de laposición que tendría el punto si se mantuviese lavelocidad.

D D D DD D D DD D D DD D D DD D D DD D D DD D D DD D D DD D D DD D D DD D D DD D D DD D D DD D D DE E E EE E E EE E E EE E E EE E E EE E E EE E E EE E E EE E E EE E E EE E E EE E E EE E E E F F FF F FF F FF F FF F FF F FF F FF F FF F F

F F FF F FF F FF F FG G GG G GG G GG G GG G GG G GG G GG G GG G G

G G GG G GG G GG G GH H H HH H H HH H H HH H H HH H H HH H H HH H H HH H H HH H H HH H H HH H H HH H H HH H H HH H H HI I II I II I II I II I II I II I II I II I I

I I II I II I II I II I IJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JJ J J JK K KK K KK K KK K KK K KK K KK K KK K KK K K

K K KK K KK K KK K KL L LL L LL L LL L LL L LL L LL L LL L LL L L

L L LL L LL L LL L LL L LM M MM M MM M MM M MM M MM M MM M MM M MM M M

M M MM M MM M MM M MN N NN N NN N NN N NN N NN N NN N NN N NN N N

N N NN N NN N NN N NO O OO O OO O OO O OO O OO O OO O OO O OO O O

O O OO O OO O OO O O

Flujo optico.– p. 28/68

Page 29: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmos BMA subóptimos XXII.

Espacios de busqueda multidimensionales

Los algoritmos precedentes no tienen en cuenta:Cambios en la iluminación.Rotación / movimientos en direcciones noparalelas al plano de la imagen.

Soluciones:Utilizar primitivas distintas a la intensidad de gris.Añadir una dimensión más a la búsqueda: factorde iluminación, escalado, rotación, deformación.

Flujo optico.– p. 29/68

Page 30: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Flujo óptico basado en latransformada de Fourier.

La secuencia se entiende como una señal variable con eltiempo.

Análisis de la respuesta de distintos filtros.Sintonizados con distintas velocidades.Con distinta orientación.

El filtro con máxima respuesta identifica el módulo yla dirección de la velocidad.

Flujo optico.– p. 30/68

Page 31: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Flujo óptico basado en derivadasespaciotemporales. Intro I.

Parte de suponer que la intensidad de los puntos delos objetos de la escena no varían con el tiempo.

Por lo tanto los cambios en la intensidad los pixels dela imagen se deben exclusivamente al movimiento.

O.F.C. (Optical Flow Constraint):

df(x, y, t)

dt= 0

La O.F.C. desarrollada conduce a:

−∂f

∂t=∂f

∂x

dx

dt+∂f

∂y

dy

dt=∂f

∂xu+

∂f

∂yv = ∇(f) · −→c

Flujo optico.– p. 31/68

Page 32: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Flujo óptico basado en derivadasespaciotemporales. Intro II.

La OFC relaciona la velocidad de unpixel con las derivadas parciales de laintensidad del mismo pixel respecto ax, y, t.

Hay dos incógnitas (u,v).

“Problema de la apertura”:imposibilidad de calcular el flujoóptico sólo con informaciónlocal.

Múltiples velocidades satisfacenla O.F.C.

u

vO.F.C.

Velocidades compatibles

Flujo optico.– p. 32/68

Page 33: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Flujo óptico basado en derivadasespaciotemporales. Intro III.

Ejemplo.

4 5 62 3 4

20 10 1 2

4324 5 6

La velocidad del objeto es (-1,-1), veamos si se cumple laOFC:

∂f

∂x= 1

∂f

∂y= 2

∂f

∂t= 3

u+ 2v = −3

(-1,-1) cumple la OFC, perotambién otras muchas.

No hay más que despejar unade las componentes y sustituir laotra incógnita por cualquier valor.

Flujo optico.– p. 33/68

Page 34: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Flujo óptico basado en derivadasespaciotemporales. Intro IV.

Velocidad normal.A partir de una sola OFC sólo se puede determinar lavelocidad en la dirección del gradiente:Velocidad normal.

un =∂f∂t

(∂f∂x)

2

+(∂f∂y )

2

θ = tan−1

(

∂f∂y∂f∂x

)

Velocidad correcta

Velocidades compatibles

Posicion en frame i+1

Posicion en frame i

Velocidad normal

con O.F.C.

un es el módulo de la velocidad y θ el ángulo de ladirección del gradiente con el eje de abscisas positivo.

Flujo optico.– p. 34/68

Page 35: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmo de Horn y Schunck I.

Impone una condición adicional al proceso de cálculo.

Aporta información global.

Maximiza la suavidaddel flujo óptico minimi-zando:

εc =√

(u− u)2 + (v − v)2

∇2u =

∂2u

∂x2+

∂2u

∂y2= k(u − u)

∇2v =

∂2v

∂x2+

∂2v

∂y2= k(v − v)

Minimiza el errorrespecto de la O.F.C.

εb =∂f

∂xu+

∂f

∂yv +

∂f

∂t

Flujo optico.– p. 35/68

Page 36: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmo de Horn y Schunck II.

Cálculo de las derivadas.∂f∂x

(i, j, k) = 1

δx(f(i + 1, j, k) + f(i + 1, j, k +

1) + f(i + 1, j + 1, k) + f(i + 1, j + 1, k + 1))−1

δx(f(i, j, k) + f(i, j, k + 1) + f(i, j + 1, k) +

f(i, j + 1, k + 1))

∂f∂y

(i, j, k) = 1

δy(f(i, j + 1, k) + f(i, j + 1, k +

1) + f(i + 1, j + 1, k) + f(i + 1, j + 1, k + 1))−1

δy(f(i, j, k) + f(i, j, k + 1) + f(i + 1, j, k) +

f(i + 1, j, k + 1))

∂f∂t

(i, j, k) = 1

δt(f(i, j, k + 1) + f(i, j + 1, k +

1) + f(i + 1, j, k + 1) + f(i + 1, j + 1, k + 1))−1

δt(f(i, j, k) + f(i, j + 1, k) + f(i + 1, j, k) +

f(i + 1, j + 1, k))

i i+1

k

k+1

j+1

j

Flujo optico.– p. 36/68

Page 37: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmo de Horn y Schunck III.

La expresión a minimizar donde se pondera el efecto de lasuavidad del flujo óptico y el ajuste a la OFC es:ε2 = α2ε2

c + ε2b

Derivando respecto a u y v:∂ε2

∂u= −2α2(u− u) + 2

(

∂f

∂xu+ ∂f

∂yv + ∂f

∂t

)

∂f

∂x

∂ε2

∂v= −2α2(v − v) + 2

(

∂f

∂xu+ ∂f

∂yv + ∂f

∂t

)

∂f

∂y

u y v son las medias de las compo-nentes horizontal y vertical de la ve-locidad en un entorno 3x3 del pixel aanalizar, ponderada según la distan-cia al pixel central.

1/12 1/6 1/12

1/6

1/121/61/12

1/6

Flujo optico.– p. 37/68

Page 38: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmo de Horn y Schunck IV.

Igualando las anteriores ecuaciones a cero se llega alsistema de dos ecuaciones y dos incógnitas:(α2+( ∂f

∂x)2)u+ ∂f

∂x

∂f

∂yv = α2u− ∂f

∂x

∂f

∂t

∂f

∂x

∂f

∂yu+ (α2+( ∂f

∂y)2) v = α2v − ∂f

∂y

∂f

∂t

ui,j,k =16(ui−1,j,k + ui,j+1,k + ui+1,j,k + ui,j−1,k) +

112

(ui−1,j−1,k) + ui−1,j+1,k + ui+1,j+1,k + ui+1,j−1,k)vi,j,k =16(vi−1,j,k + vi,j+1,k + vi+1,j,k + vi,j−1,k) +

112

(vi−1,j−1,k) + vi−1,j+1,k + vi+1,j+1,k + vi+1,j−1,k)

Flujo optico.– p. 38/68

Page 39: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmo de Horn y Schunck V.

El determinante de la matriz de coeficientes del sistemaes:

α2

(

α2 +(

∂f

∂x

)2+

(

∂f

∂y

)2)

La solución del sistema es:

u =

P

α2+(∂f∂y )

2

Q

u− ∂f∂x

∂f∂y

v− ∂f∂x

∂f∂tP

α2+(∂f∂x)

2

+(∂f∂y )

2Q

v =−

∂f∂x

∂f∂y

u+

Pα2+( ∂f

∂y )2

Qv− ∂f

∂y∂f∂tP

α2+(∂f∂x)

2

+(∂f∂y )

2

Q

Flujo optico.– p. 39/68

Page 40: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmo de Horn y Schunck VI.

Algoritmo iterativo para el cálculo de flujo óptico usando unpar de imágenes:

1. Inicializar c(i, j) = (0, 0) para todo (i, j) .

2. Sea k la iteración actual, calcular uk y vk para todoslos pixels (i, j) evaluar:uk(i, j) = uk−1(i, j) − fx(i, j)

P (i,j)D(i,j)

vk(i, j) = vk−1(i, j) − fy(i, j)P (i,j)D(i,j)

donde P = fxu+ fyv ,D = α2 + f 2x + f 2

y .

3. Parar si∑

i

j E2(i, j) < ε , en caso contrario volver a

2.

Flujo optico.– p. 40/68

Page 41: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Algoritmo de Horn y Schunck VI.

Inconvenientes:

Uso de derivadas ⇒ esnecesario filtrar imágenes parapaliar efecto del ruido.

Ponderación suavidad/OFC?

Condición de regularización: fallaen contornos, algoritmo no con-verge.

Mejoras:

Procesamiento de variasimágenes: utilizar velocidadesentre el par anterior como iniciodel cálculo del siguiente par.

Similar al anterior: implementa-ción jerárquica.

Flujo optico.– p. 41/68

Page 42: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Derivadas de segundo orden.

Suposición adicional: d∇f(x,y,t)dt

= 0.

Sistema de ecuaciones lineales sobredeterminado:

∂f(x, y, t)

∂xu+

∂f(x, y, t)

∂yv = −

∂f(x, y, t)

∂t

∂2f(x, y, t)

∂x2u+

∂2f(x, y, t)

∂x∂yv = −

∂2f(x, y, t)

∂x∂t

∂2f(x, y, t)

∂x∂yu+

∂2f(x, y, t)

∂y2v = −

∂2f(x, y, t)

∂y∂t

Flujo optico.– p. 42/68

Page 43: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Estimación sobre el vecindario.

Resuelve el sistema formado por O.F.C. de pixelsvecinos.

Supone que pixels próximos se mueven convelocidades similares.

Realiza una estimación sobre el total de los datos.

Los datos forman un sistema sobredeterminado.

∂f(x1, y1, t)

∂xu+

∂f(x1, y1, t)

∂yv = −

∂f(x1, y1, t)

∂t

· · ·

∂f(xn, yn, t)

∂xu+

∂f(xn, yn, t)

∂yv = −

∂f(xn, yn, t)

∂t

Flujo optico.– p. 43/68

Page 44: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Inconvenientes de las alternativasanteriores.

Regularización: F.O. no necesariamente “verdadero”,se imponen condiciones “a priori”.

Derivadas de segundo orden: imprecisión ycondiciones adicionales.

Estimación sobre un conjunto de datos crudo: puedeconducir a una estimación que puede estar desviadade la correcta.

Correlación y transformada de Fourier: costosascomputacionalmente.

Flujo optico.– p. 44/68

Page 45: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Efecto del ruido en la estimación.

El corte de O.F.C afecta-das por el ruido devuel-ve una estimación des-viada.

v

u

(−1,1)

Una estimación por mí-nimos cuadrados sólosería fructífera si el rui-do fuese isotrópico.

Flujo optico.– p. 45/68

Page 46: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Efecto de la oclusión I.

La intersección de O.F.C. correspondientes a objetosdistintos produce una velocidad inexistente.

(-1,1)

(1,-1)

v

u

Flujo optico.– p. 46/68

Page 47: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Efecto de la oclusión II.

El efecto agregado puede producir una desviaciónimportante en la estimación.

Flujo optico.– p. 47/68

Page 48: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Estimación robusta del flujo óptico.Intro I.

Análisis de la O.F.C correspondiente al pixel centralrelacionado las O.F.C de cada vecino.

Schunck propone un clustering unidimensional de loscortes de las O.F.C.

U

V V

Uu

v

Flujo optico.– p. 48/68

Page 49: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Estimación robusta del flujoóptico.Intro II.

Nesi y otros proponen un clustering de O.F.Calrededor de la O.F.C. central con el fin de determinarla O.F.C más fiable.

u

v

m

c

restricción más fiable

parámetero de orientación

1234

567

espacio de velocidades espacio (pendiente, ordenada)

línea característica

12

3 45 6

7

Flujo optico.– p. 49/68

Page 50: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Problemas de estas alternativas.

Algoritmo de Schunck:Sensible al error en la O.F.C. central.Clustering eficiente computacionalmente a costade reducir su robustez.

Nesi et al:Clustering de O.F.C conduciendo al cálculocorrespondiente a la velocidad normal, no al flujoóptico completo.Proceso sensible a errores en la O.F.C.correspondiente al pixel central.

Flujo optico.– p. 50/68

Page 51: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Medidas para evitar el errorprocedente de los outliers.

Estimación sobre el mayor número de datos posible:n2 − 1 frente a n2 ∗ (n2 − 1) /2 utilizando el mismovecindario.

No depender totalmente de la información que sedesprende del pixel central.

Análisis de la distribución bidimensional de los cortesde O.F.C., con el fin de identificar el clustercorrespondiente al movimiento dominante en elvecindario analizado.

Utilización de estimadores robustos de tendenciacentral: moda.

Flujo optico.– p. 51/68

Page 52: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Histograma como estimación de lafunción de densidad.

Estimación moda: máximo del histograma.

Es necesario realizar operaciones que eliminen picosaislados o con pocos votos.

Algoritmo satisfactorio pero ineficiente.

2.0

2.1

2.2

2.3

2.4

2.5

3.5 3.6 3.7 3.8 3.9 4.0 4.1

no aislado o muchos votos

aislados o pocos votos

se usaran en la estimacion

Flujo optico.– p. 52/68

Page 53: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Otros estimadores.

Estimación Naif: asigna a cada observación elnúmero de observaciones que existen en un entorno.

f(x) =1

2hn[numero de Xi ∈ (x− h, x+ h)]

Estimación Kernel: similar a la anterior perootorgando peso decreciente a las observaciones alalejarse de la observación central.

−∞K(x)dx = 1; f(x) = 1

n

n∑

i = 1

1hK

(

x−Xi

h

)

K-vecinos.

Flujo optico.– p. 53/68

Page 54: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Estimación del FO jeráquica I.

Flujo optico.– p. 54/68

Page 55: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Estimación del FO jeráquica II.

(u2,v2)

(u1,v1)

Flujo optico.– p. 55/68

Page 56: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Cálculo de derivadas.

Diferencias centrales.

f ′(x) '

8 (f(x+ δ) − f(x− δ))−

(f(x+ 2δ) − f(x− 2δ))

12δx

Promediado en pixels adyacentes en dirección normala la de la derivada.

i+1

j-1 j j+1 t-1

t

t+1

i-1

i

Flujo optico.– p. 56/68

Page 57: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Sistemas de OFCs descartados apriori.

Sistemas cuyo discriminante sea menor que unumbral. Por ser más sensibles al ruido.

Sistemas cuya solución exceda un umbral. Debido aun conocimiento a priori de la escena.

x =

e b

f d

a b

c d

Flujo optico.– p. 57/68

Page 58: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Estimación de función de densidad ymoda.

Velocidades ordenadas en un array según lacomponente u y v.

vi

ui ui+intui-int

velocidades a las que se les aplica el kernel

El kernel no es aplicado a las componentes que caenfuera del intervalo en el que este es mayor que cero.

Intervalo

Kernel

Espacio de velocidades d =

R

(u − ui)2 + (v − vi)2

k(u, v) =SUTV 1 −

dIntervalo

si d < Intervalo

0 en caso contrario

Flujo optico.– p. 58/68

Page 59: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Efecto de bloque.

Se produce al propagarse la estimación grosera amayor resolución.

Medida de la bondad que permita descartar laestimación grosera cuando no es adecuada: númerode puntos que han colaborado en la estimación

Flujo optico.– p. 59/68

Page 60: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Comparación de algoritmos.

Los distintos algoritmos se comparan en base a suerror.

Las secuencias de test típicas son de dominio público.

Existen secuencias cuyo flujo óptico es conocido.

Pueden ser sintéticas o semisintéticas.

Flujo optico.– p. 60/68

Page 61: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Secuencias de test semisintéticas I.

Árbol trasladándose.

Flujo optico.– p. 61/68

Page 62: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Secuencias de test semisintéticas II.

Árbol divergente.

Flujo optico.– p. 62/68

Page 63: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Secuencias de test semisintéticas III.

Vuelo Yosemite.

Flujo optico.– p. 63/68

Page 64: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Secuencias de test sintéticas.

Flujo optico.– p. 64/68

Page 65: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Medida del error.

Existen distintas medidas del error.

ε =√

(uc − ue)2 + (vc − ve)2

ψE = arccos(−→uc · −→ue)

εg = ‖(−→vc −−→ve ) · −→gn⊥‖

Flujo optico.– p. 65/68

Page 66: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Representación resultados.

Campo vectorial.

Imagen del error.

Histograma del error.

Boxplot del error.

Tablas comparativas.

Flujo optico.– p. 66/68

Page 67: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Ejemplo: campo vectorial.

Preservación del movimiento en los contornos.

Flujo optico.– p. 67/68

Page 68: Flujo óptico. - Departamento de Informática - Iniciodi002.edv.uniovi.es/~jotero/foclases2007.pdfy en codificación de vídeo. Flujo optico.–´ p. 2/68 Ejemplo. Flujo optico.–´

Bibliografía de estas transparencias.

Colin E. Manning. Master Thesis.http://newmediarepublic.com/dvideo/Keng Cheung. PhD Thesis.http://www.image.cityu.hk/ckcheung/thesisJosé Otero. PhD Thesis.Referencias de los algoritmos:http://newmediarepublic.com/dvideo/compression/references.html

Flujo optico.– p. 68/68