Visão Computacional
http://www.dca.ufrn.br/~lmarcos/courses/visao
Shape from X
•
•
•
•
•
•
X = estéreo
X = shading (sombreamento)
X = fotométrico estéreo
X = motion
X = textura (regiões com textura uniforme)
X = line-drawing
Gradiente 2D
• 1D
 x  x1  x0
 y  y1  y0  f ( x1 )  f ( x0 )  f ( x0  n)  f ( x0 )
 x  f ( x  n, y )  f ( x , y )
• 2D
 y  f ( x, y  n )  f ( x, y )
Magnitude: s ( f )  2x  2y
 y 
Direção:  ( f )  tan  
 
 x
1
Gradiente e imagem
• Gradiente mede variação da intensidade
• Gradiente realça arestas
• Pode-se derivar outras máscaras para outras
direções (tudo é mesmo uma aproximação
dada pelo cálculo infinitesimal ou cálculo
variacional):
1 1 0
• Exemplo:
1
0
1
0
1
1
Estéreo x Motion
Motion Paralax
Motion Paralax
Motion Paralax
Motion Paralax
Motion Paralax
Motion Paralax
Motion Paralax
Diferenças principais de estéreo
• Correspondência:
– Uma vez que imagens são tomadas a uma taxa
alta, disparidades são muito menores que em
estéreo
• Reconstrução:
– Diferente de estéreo, o deslocamento 3D entre a
cena e a câmera não é necessariamente causado
por uma transformação 3D de corpo rígido
Tempo de impacto
Tempo de impacto 
• É possível determinar o tempo  que a barra
levaria para atingir a câmera apenas usando
informação de imagem, isto é, sem saber
seu tamanho real nem sua velocidade no
espaço 3D?
• Resposta?
V
L
l
t=
f
D
t=0
D0
D0-Vt
Calculando tempo 
• Seja L o tamanho real da barra, V sua
velocidade (constante) e f a distância focal
• A origem do sistema é o centro de projeção
• Posição inicial da barra D(0) = D0 em t = 0
• Posição no tempo t é: D = D0 - Vt
• D0, L, V, f são todos desconhecidos
• Seja l(t) o tamanho aparente da barra (na
imagem)
f
VL
l
D
t=0
t=
D0
D -Vt
Calculando o tempo 
l
t=
•  = V/D
(1)
f
• l(t) = fL/D
D0-Vt
• l´(t) = dl(t)/dt = -fL/D2 (dD/dt) =
fLV /D2
• divida l(t) por l´(t) e usando (1), obtemos:
• l(t)/l´(t) = 
• Sabendo l(t) e l´(t), determinamos 
VL
D
t=0
D0
Assumpção
• Existe apenas um movimento relativo,
rígido, entre a câmera e a cena
• As condições de iluminação da cena não
mudam de acordo com o tempo
Campo de movimento
(motion field)
• Motion field é o campo vetorial 2D de
velocidades dos pontos da imagem induzido
pelo movimento relativo entre a câmera de
vicualização e a cena observada.
• Pode ser entendido como a projeção do
campo vetorial 3D de velocidades dos
pontos na cena no plano imagem (imagine a
projeção dos vetores 3D na imagem)
Motion field
• Seja a imagem de um ponto P dada por:
p=fP/Z
• O movimento relativo entre P e a câmera
pode ser dado por V = -T - x P, sendo T o
componente translacional de motion e  a
velocidade angular.
• Uma vez que o movimento é rígido,  e T
são os mesmos para qualquer ponto P.
Motion field
• Traduzindo em componentes:
Vx = -Tx -yZ+ zY
Vy = -Ty -zZ+ xZ
Vz = -Tz -xZ+ yX
• Derivando p=fP/Z, obtemos:
v = f(ZV-VzP)/Z2
Equações básicas do motion field
vx = (Tzx-Txf)/Z-yf+zy+(xxy)/f-(yx2)/f
vy = (Tzy-Tyf)/Z-xf+zx-(yxy)/f+(xy2)/f
• Note que a equação é a soma de dois
componentes separados, um de movimento
translacional e outro de movimento
rotacional
Noção de fluxo ótico
• Estimar o campo de movimento a partir das
variações de intensidade na imagem,
causadas por um movimento de corpo
rígido ocorrido entre a câmera e a cena
• Assumir brilho contínuo e diferenciável
quantas vezes necessário
Fluxo ótico
• Consideremos que o brilho aparente de um
objeto móvel é constante no tempo.
• A irradiância da imagem é proporcional à
radiância da cena na direção do eixo ótico
• Assumindo o mesmo fator ao longo da
imagem, a constância do brilho aparente da
cena pode ser escrita como sendo a
estacionaridade do brilho da imagem E
sobre o tempo: dE/dt=0
Fluxo ótico
• O brilho E é função da posição espacial e do
tempo => E(x,y,t)
• Uma vez que x e y são funções de t, a
derivada total de dE/dt não deve ser
confundida com a derivada parcial  E/ t
• A derivada total dE[x(t),y(t),t)]/dt é:
(E/x)(dx/dt)+(E/y)(dy/dt)+E/ t=0
Fluxo ótico
• As derivadas parciais do brilho da imagem
são simplesmente as componentes do
gradiente espacial espacial da imagem (E)
• As derivadas temporais dx/dt, dy/dt e dz/dt
são as componentes do motion field v
• A equação anterior pode então ser escrita:
(E)tv+Et=0
• Subscrito t denota diferenciação no tempo
Fluxo ótico
• Fluxo ótico é o campo vetorial sujeito à
restrição da equação anterior e definido
sumariamente como o movimento aparente
do padrão de brilho da imagem
• É uma aproximação para o campo de
movimento que pode ser calculado a partir
de imagens que variam no tempo,
considerando as simplificações
Fluxo ótico (outro ponto de vista)
• Sistema visual pode ser discreto, mas
produz sensação de movimento contínuo
• A saída espelha o fluxo contínuo do mundo
imageado ao longo da retina
• Esta informação contínua pode ser
entendida como o fluxo ótico
• Fluxo ótico ou campo de velocidade
instantânea define uma “velocidade retinal”
a todo ponto no campo visual, com a qual
ele cruza o campo.
Shape from motion
• Fluxo ótico pode ser calculado apenas
usando informação local
• Modelar movimento da imagem como
variação contínua da intensidade da
imagem, função de posição e tempo f(x,y,t)
que pode ser expandida (Taylor) como:
f ( x  dx, y  dy, t  dt) 
Termos ignorados
f
f
f
2 f 2 2 f 2
f ( x, y, t )  dx  dy  dt  2 dx  2 d y  ...
x
y
t
x
y
Shape from motion
• Se considerarmos que a intensidade de um
ponto na imagem não muda se o movermos
para outro local (translação apenas):
f ( x  dx, y  dy, t  dt)  f ( x, y, t )
• Assim, a equação fundamental é dada por:
f dx f dy
f


x t y t
t
Shape from motion
•  f / x,  f / y e  f / t são quantidades que
podem ser medidas e dx/dt e dy/dt são as
estimativas que estamos procurando
(velocidades nas direções x e y).
Fluxo óptico
• Fazendo
•
u
dx
dy
;v 
dt
dt
f f
f

 u v
t x
y
ou
obtém-se

f
 fV
t
• onde f é o gradiente (espacial) da imagem e
V=(u,v) é o termo velocidade
Explicação
• Considere câmera fixa e objeto movendo
• A taxa de variação no tempo da intensidade
de um ponto na imagem é (em primeira
ordem) explicada como sendo a taxa de
variação no espaço da intensidade da cena
multiplicada pela velocidade com que
pontos na cena movem relativos à câmera.
• Algo como a segunda lei de Newton ?
Explicação
• Esta equação também indica que o vetor
velocidade (u,v) deve estar numa linha
perpendicular ao vetor (fx,fy), que são as
derivadas parciais com respeito a x e y.
• Se as derivadas forem precisas, a magnitude
da velocidade na direção (fx,fy) é:
V
 ft
f f
2
x
2
y
Fluxo ótico por relaxação
• Equação do fluxo ótico restringe velocidade
mas não a determina unicamente.
• Uso de relaxação par calcular o fluxo ótico
(pressupõe suavidade da variação)
• Suavidade pode ser medida usando
derivadas parciais ao quadrado como termo
de erro: ux2, uy2,vx2,vy2
Fluxo ótico por relaxação
• Usando multiplicadores de Lagrange,
minimizar o erro no fluxo dado por:
E2(x,y) = (fxu + fyv + ft)2 + (ux2+uy2+vx2+vy2)
• Diferenciando em relação a u e v, obtemos
equações para a variação do erro com
relação a u e v que devem ser zero
Fluxo ótico por relaxação
• Sendo 2u = u-uav e 2v = v-vav, obtém-se:
(2+ fx2)u + fx fyv = 2 uav - fxft
fx fyu + (2+ fy2)v = 2 vav - fyft
• Podem ser resolvidas para u e v:
u = uav - fx (P/D)
v = vav - fy (P/D)
sendo P = fx uav + fyvav + ft
D = 2 + fx2 + fy2
Integrando motion (relaxação)
• t=0
• Inicialize uk,vk em zero
• Até que algum erro seja satisfeito, faça
u(x,y,t) = uav (x,y,t-1) - fx (P/D)
v(x,y,t) = vav (x,y,t-1) - fy (P/D)
• fim;
Integrando motion (relaxação)
vários quadros
• t=0
• Inicialize todos os u(x,y,0) e v(x,y,0)
• Para t = 1 até um máximo de frames, faça
P
D
P
v k  vavk 1  f y
D
u k  uavk 1  f x
• fim;
• Obs:
P  f xuav  f y vav  f t ;
D  2  f x2  f y2
Download

Motion - DCA