22
Flujo´optico Detecci´ on de movimiento Lecci´ on 30 Dr. Pablo Alvarado Moya CE5201 Procesamiento y An´ alisis de Im´ agenes Digitales ´ Area de Ingenier´ ıa en Computadores Tecnol´ogico de Costa Rica I Semestre, 2017 P. Alvarado — TEC — 2017 Movimiento 1 / 22

Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo optico

Deteccion de movimientoLeccion 30

Dr. Pablo Alvarado Moya

CE5201 Procesamiento y Analisis de Imagenes DigitalesArea de Ingenierıa en Computadores

Tecnologico de Costa Rica

I Semestre, 2017

P. Alvarado — TEC — 2017 Movimiento 1 / 22

Page 2: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo optico

Contenido

1 Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

P. Alvarado — TEC — 2017 Movimiento 2 / 22

Page 3: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Flujo optico

P. Alvarado — TEC — 2017 Movimiento 3 / 22

Page 4: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Motivacion

Movimiento es fuente valiosa de informacion:

segmentacionestructura de paralajeauto-movimientoreconocimientocomprension de comportamientocomprension de dinamicas en escena

P. Alvarado — TEC — 2017 Movimiento 4 / 22

Page 5: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Movimiento

Punto P = [X ,Y ,Z ]T en espacio 3D sigue trayectoria P(t)

Velocidad del punto es

V =dP(t)

dt=

[dX (t)

dt

dY (t)

dt

dZ (t)

dt

]TP. Alvarado — TEC — 2017 Movimiento 5 / 22

Page 6: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Campo de movimiento

Proyeccion perspectiva, asumiento P en sistema de camara:

ph(t) = KP(t)xh(t)yh(t)zh(t)

=

f 0 cx0 f cy0 0 1

X (t)Y (t)Z (t)

y finalmente sobre la imagen se normaliza

p(t) =

[x(t)y(t)

]=

f X (t)Z(t) + cx

f Y (t)Z(t) + cy

P. Alvarado — TEC — 2017 Movimiento 6 / 22

Page 7: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Campo de movimiento y flujo optico

La velocidad instantanea sobre la imagen 2D es entonces

u =dp(t)

dt=

dx(t)

dt

dy(t)

dt

=f

Z (t)

dX (t)

dt

dY (t)

dt

− f

Z 2(t)

dZ (t)

dt

[X (t)Y (t)

]

a lo que se le conoce como campo de velocidad 2D

Flujo optico: aproximacion de campo de velocidad 2D

P. Alvarado — TEC — 2017 Movimiento 7 / 22

Page 8: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Flujo optico

Dos problemas basicos:1 Determinar que rastrear en la imagen2 Determinar como rastrearla

Suposicion usual: brillo se mantiene constante

Superficie de Lambert rotando con luz estatica Superficie de Lambert estatica con luz movil

P. Alvarado — TEC — 2017 Movimiento 8 / 22

Page 9: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Estimacion de movimiento basada en gradiente (1)Caso unidimensional

Supongase que I (x) se desplaza distancia d de t1 a t2

I2(x) = I1(x − d)

Utilizando una expansion de Taylor:

I1(x − d) = I1(x)− dI ′1(x) +O(d2I ′′1 )

I1(x − d)− I1(x) = −dI ′1(x) +O(d2I ′′1 )

I2(x)− I1(x) = −dI ′1(x) +O(d2I ′′1 )

Con la aproximacion de primer orden entonces:

d =I1(x)− I2(x)

I ′1(x)

P. Alvarado — TEC — 2017 Movimiento 9 / 22

Page 10: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Estimacion de movimiento basada en gradiente (2)Caso unidimensional

Aproximacion es exacta para senales lineales

P. Alvarado — TEC — 2017 Movimiento 10 / 22

Page 11: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Ecuacion de restriccion de gradiente (1)

En 2D la suposicion de constancia de brillo es:

I (x + u1, y + u2, t + 1) = I (x , y , t)

Con la expansion de Taylor en 2D:

I (x + u1, y + u2, t + 1) ≈ I (x , y , t) + u1Ix(x , y , t) + u2Iy (x , y , t)

+ It(x , y , t)

= I (x , y , t) + uT∇I (x , y , t) + It(x , y , t)

con lo que

u1Ix(x , y , t) + u2Iy (x , y , t) + It(x , y , t) = 0

uT∇I (x , y , t) + It(x , y , t) = 0

P. Alvarado — TEC — 2017 Movimiento 11 / 22

Page 12: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Ecuacion de restriccion de gradiente (2)

Si la duracion entre cuadros es grande, se utiliza

uT∇I (x , y , t) + ∆I (x , y , t) = 0

con ∆I (x , y , t) = I (x , y , t + 1)− I (x , y , t)

La restriccion de gradiente provee una restriccion para dosincognitas

El gradiente restringe la velocidad en la direccion normal a laorientacion local, pero no en la tangencial.

Si el gradiente es cero: ¡no hay restriccion!

P. Alvarado — TEC — 2017 Movimiento 12 / 22

Page 13: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Ecuacion de restriccion de gradiente (3)

Restricciones adicionales necesarias para poder estimar las doscomponentes de la velocidad.

P. Alvarado — TEC — 2017 Movimiento 13 / 22

Page 14: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Regresion basada en areaMetodo de Lucas-Kanade

Suposicion de suavidad: movimiento 2D es suave en vecindadlocal del punto estimadoMınimos cuadrados lineales (Linear least-squares, LLS) Segusca velocidad de minimice el error cuadrado medio:

E (u) =∑x ,y

g(x , y)[uT∇I (x , y , t) + It(x , y , t)

]2con g(x , y) una mascara de filtro pasabajos que da mas pesoa las restricciones en el centro de la regionEl mınimo se encuentra haciendo ∇E (u) = 0:

∂E

∂u1=∑x ,y

g(x , y)[u1I

2x + u2Ix Iy + Ix It

]= 0

∂E

∂u2=∑x ,y

g(x , y)[u2I

2y + u1Ix Iy + Iy It

]= 0

P. Alvarado — TEC — 2017 Movimiento 14 / 22

Page 15: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Mınimos cuadrados linealesLinear least squares

Ecuaciones anteriores se denominan ecuaciones normales

En forma matricial

Mu + b = 0 ⇒ u = −M−1b

con

M =

[ ∑gI 2

x

∑gIx Iy∑

gIx Iy∑

gI 2y

]b =

[∑gIx It∑gIy It

]Recuerdese que[

a bb c

]−1

=1

ac − b2

[c −b−b a

]P. Alvarado — TEC — 2017 Movimiento 15 / 22

Page 16: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Implementacion (1)

Entradas: imagenes en instantes de tiempo consecutivos I1(x , y) eI2(x , y)

1 Calcule el gradiente espacial y temporal del par de imagenes:

I1x(x , y) I1y (x , y) It =I2(x , y)− I1(x , y)

∆t

2 Calcule punto a punto las cuadraticas de las imagenesanteriores

I 21x I 2

1y I1x I1y It I1x It I1y

3 Aplique el filtro pasabajos a cada una de las imagenesanteriores

g ∗ I 21x g ∗ I 2

1y g ∗ I1x I1y g ∗ It I1x g ∗ It I1y

4 Calcule las componentes de velocidad

P. Alvarado — TEC — 2017 Movimiento 16 / 22

Page 17: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Metodo de Lucas-Kanade

Ventajas:

Calculo simple y rapidoPosible calculo preciso de derivadas temporales

Desventajas:

Influencia global no es consideradaErrores en bordes

Se considera como el metodo con mejor compromiso entrevelocidad y precision

P. Alvarado — TEC — 2017 Movimiento 17 / 22

Page 18: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Problema de apertura

Aun con la restriccion de suavidad, matriz M es singular:

en bordesen regiones homogeneas

Si ventana de g(x , y) es muy pequena, M es singular amenudo

Si ventana de g(x , y) es grande M no tantas veces singularpero velocidades estimadas se desvıan de campo demovimiento.

Metodos de flujo optico usan distintas estrategias para lidearcon problema de apertura

P. Alvarado — TEC — 2017 Movimiento 18 / 22

Page 19: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Metodo de Horn-Schunk

Horn-Schunck imponen restriccion de suavidad global

E (u) =

∫Ω

(uT∇I + It

)2+ λ

(‖∇u1‖2 + ‖∇u2‖2

)dp

con λ una constante de regularizacion que regula que tantodebe suavizarse el flujo

Este problema se soluciona con la siguiente iteracion deGauss-Seidel:

u(i+1)1 = u

(i)x − Ix

Ix u(i)x + Iy u

(i)y + It

λ+ I 2x + I 2

y

u(i+1)2 = u

(i)y − Iy

Ix u(i)x + Iy u

(i)y + It

λ+ I 2x + I 2

y

con ux y uy promedios ponderados de u en vecindario de (x , y)

P. Alvarado — TEC — 2017 Movimiento 19 / 22

Page 20: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Metodo de Horn-Schunck

Ventajas:

Flujo optico suaveInformacion globalPosible utilizacion de derivadas temporales precisas con mas dedos cuadros

Desventajas:

Metodo iterativo lentoBordes de imagen difusas

P. Alvarado — TEC — 2017 Movimiento 20 / 22

Page 21: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Resumen

1 Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

P. Alvarado — TEC — 2017 Movimiento 21 / 22

Page 22: Detección de movimiento - Lección 30 · Campo de movimiento y ujo optico La velocidad instant anea sobre la imagen 2D es entonces u = dp(t) dt = 2 6 6 4 dx(t) dt dy(t) dt 3 7 7

Flujo opticoIntroduccionEstimacion basada en gradienteMetodos de flujo optico

Este documento ha sido elaborado con software libre incluyendo LATEX, Beamer, GNUPlot, GNU/Octave, XFig,Inkscape, LTI-Lib-2, GNU-Make, Kazam, Xournal y Subversion en GNU/Linux

Este trabajo se encuentra bajo una Licencia Creative Commons Atribucion-NoComercial-LicenciarIgual 3.0 Unpor-ted. Para ver una copia de esta Licencia, visite http://creativecommons.org/licenses/by-nc-sa/3.0/ o envıeuna carta a Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

© 2017 Pablo Alvarado-Moya Escuela de Ingenierıa Electronica Instituto Tecnologico de Costa Rica

P. Alvarado — TEC — 2017 Movimiento 22 / 22