Visão Computacional
Shape from Shading e
Fotométrico Eséreo
http://www.dca.ufrn.br/~lmarcos/courses/visao
Gradiente 2D
 x  f ( x  n, y )  f ( x , y )   x
 y  f ( x, y  n )  f ( x , y )  y
  x  y
Magnitude: s ( f )  2x  2y
 y 
Direção:  ( f )  tan  
 
 x
1
Na prática, uma aproximação
P1(x1,y1)
P0(x0,y0)
Gradiente de superfícies
• Vetor (p,q) tal que:
p
f
f
;q 
x
y
Normal
p
p
f
q
x
f
q
y
Shape from X
•
•
•
•
•
•
X = motion (movimento)
X = shading (sombreamento)
X = textura (regiões com textura uniforme)
X = line-drawing
X = fotométrico estéreo
X = estéreo
Shape from shading
Relaxação
• Inicializa orientação para cada elemento
(aos seus píxels na imagem baseado na
intensidade)
• Orientação dos vizinhos é “relaxada” umas
contra as outras até que cada uma convirja
par auma orientação única
Shape from shading
• Estimar a forma, dada apenas uma imagem
Luz
N
i
n0
e
Observador
Funções de refletividade
• Considere uma fonte de luz distante
• Considere os ângulos i (incidente), e (emissor)
e g (fase) na figura anterior
• Reflectância de uma superfície é a fração do
fluxo de energia incidente refletido em uma
dada direção
dL
• Formalmente, a função de refletividade é: r 
dE
onde L é radiância que sai e E o fluxo incidente
• A quantidade de interesse é a irradiância da
imagem, dada por: L =  r dE
Função de refletividade
• Consideremos funções de reflexão mais
simples, lambertianas, proporcional apenas
ao cosseno do ângulo de incidência da luz
• Consideremos a função de refletividade
relacionada ao gradiente da superfície,
medido em relação a um sistema de
coordenadas orientado no observador
• Conceito de espaço-gradiente é essencial
O espaço-gradiente
• Refere-se à orientação física da superfície, não
da intensidade local, não confundir com
gradiente da intensidade
• Espaço gradiente é o espaço bidimensional da
inclinação das superfícies da cena
• É definido, para uma superfície expressa por –
z=f(x,y) como o vetor (p,q):
 ( z )
 ( z )
p
;q 
x
y
O espaço-gradiente
• Qualquer plano na imagem pode ser expresso em
termos de seu gradiente
• Equação geral do plano é: Ax+By+Cz+D=0
A
B
D
• Então:  z  x  y 
C
C
C
• da equação anterior: -z = px +qy+K
• Espaço gradiente é o espaço vetorial (p,q) 2D
• Gradiente perpendicular ao eixo ótico é (0,0)
Gradiente de superfícies
• Vetor (p,q) tal
que: p 
 ( z )
 ( z )
;q 
x
y
Normal
p
p
f
q
x
f
q
y
Espaço gradiente
(,0)
(0,-)
(0,0)
(0,)
(-,0)
Direção atan2(q,p) é a direção de mudança mais rápida
da profundidade da superfície à medida que x e y
mudam.
p 2  q 2 é a taxa de variação.
Mapa de reflectância
• O mapa de reflectância R(p,q) representa
esta variação de brilho percebido com a
orientação da superfície
• R(p,q) dá a radiância da cena como uma
função do gradiente da superfície
• R(p,q) é usualmente mostrado como
contornos de radiância constante da cena
(curvas de nível ou de mesma intensidade)
Casos importantes
• Superfície lambertiana, como observador e fonte
de luz na mesma direção (i=e)
• Superfície lambertiana possui intensidade
constante para ângulos de iluminação constantes
• Ângulos constantes ocorrem a círculos
concêntricos
• Superfícies mais brilhantes são as iluminadas na
direção normal, de frente para o observador,
portanto de gradientes (0,0).
Mapa de reflectância
q
p
Mapa de Reflectância
• Neste caso, ângulo incidente e de emissão são os
mesmos (fonte perto do observador)
• Olhando no plano (x,y), significa um vetor para a
fonte de luz de (0,0,-1)
• Em um dado ponto (p,q) no espaço gradiente, a
normal à superfície é (p,q,-1)
• R = r0 cos i, onde r0 é uma constante de
proporcionalidade R a radiância no sistema de
coordenadas com origem no observador
Mapa de reflectância
• Seja ns e n vetores unitários na direção da fonte e
normal à superfície, respectivamente
• Desde que cos i = ns . n, então:
R( p, q) 
r0
(1  p 2  q 2 )
• Então cos i determina o brilho na imagem e seu
gráfico determina o espaço gradiente da imagem,
visto anteriormente
Mapa de reflectância
• No caso de direção de iluminação qualquer seja ela
dada por (ps, qs, -1), tome o produto vetorial entre
esta direção e direção da normal à superfície:
R = r0 ns .n
• ou
r ( p p  q q  1)
R( p, q) 
0
s
s
(1  p 2  q 2 )(1  ps2  qs2 )
• O ângulo de fase g é constante ao longo do espaçogradiente, desde que se use projeção ortográfica
(observador longe da cena) e luz longe da cena
Mapa de reflectância
q
p
Shape from shading
• Informação local ajuda a determinar orientação da
superfície
• Suponha uma estimação da orientação da
superfície num certo ponto, dada por
(p(x,y),q(x,y))
• Se a normal não estiver precisa, a equação
I(x,y)=R(p,q) estará com um certo erro
• Parece razoável encontrar p e q que minimizem a
diferença (I-R)2
• Outro requerimento é que p e q variem de forma
suave, que pode ser medido pelas derivadas
parciais quadráticas (px2, py2, qx2, qy2)
Shape from shading
• Para uma superfície suave, ambos termos
devem ser pequenos; o objetivo é minimizar
o erro num ponto:
E(x,y)=[I(x,y) -  (px2+py2+qx2+qy2)]
• Onde o multiplicador de Lagrange 
incorpora a restrição de suavidade.
Shape from shading
• Diferenciando E(x,y) com relação a p e q, e
aproximando as derivadas numericamente
R
p
R
q( x, y )  qav ( x, y )  T ( x, y, p, q)
q
p( x, y )  pav ( x, y )  T ( x, y, p, q)
• onde
T ( x, y , p , q ) 
I x, y   R p, q  , e

1
1
pav  x, y    p  x  1, y   p  x  1, y   p  x, y  1  p  x, y  1
4
1
qav  x, y   q  x  1, y   q  x  1, y   q  x, y  1  q  x, y  1
4
Shape from shading (algoritmo)
• Inicialize p0(x,y) e q0(x,y) (nas bordas);
• k=0; n=100;
• while (k++<n || Emax<Emin)
–
–
R
p  p T
p
R
k
k 1
q  qav  T
p
k
k 1
av
– compute E, para todos os pontos e tome o máximo
deles como Emax
Recuperando a forma de uma esfera
Mapa de agulhas
Processo iterativo
• Resultado mapa de normais ou diagrama de
agulhas
• Em cada posição, vetor normal indica a
direção da normal à superfície.
Problemas
•
•
•
•
Alguns casos, mais de uma solução
Dependente do tipo de iluminação
Bordas complicam
Necessidade de inicialização (n0)
Estéreo fotométrico
• Equação de reflectância restringe a possível
orientação da superfície ao resultado do mapa de
reflectância
• Usando mais de uma fonte, pode-se determinar a
orientação de forma única
• Cada luz dá uma contribuição diferente a um
mesmo ponto na cena (proporcional à radiância)
f(x).
• Se a reflectância não é conhecida, três equações
são necessárias para determinar a reflectância,
junto com a normal (unitária).
Estéreo fotométrico
• Variação da posição de iluminação
Luz
Luz
N
Observador
N
Observador
Photometrico Stereo
• Seja nk (k=1,2,3) o vetor posição de cada
fonte de luz, então: Ik(x,y) = r0(nk . n)
• I é intensidade normalizada. Em forma
matricial, fica: I= r0 N n
• onde I = [I1(x,y), I2(x,y), I3(x,y)]T
•
n11 n12 n13
• e N= n21 n22 n23
•
n31 n32 n33
Fotométrico Estéreo
• I=fc, onde c é a constante de normalização
apropriada
• Se c não for conhecida, pode ser assumida
como parte de r0, sem afetar o cálculo da
normal
• Se as 3 fontes não forem coplanares, a
matriz N possui uma inversa.
• Basta resolver para r0 e n, usando a
equação: Ik(x,y) = r0(nk . n)
Estéreo fotométrico
•
R1 ( p1 , q1 ) 
R2 ( p2 , q2 ) 
r0 ( ps1 p1  qs1q1 )
(1  p  q )(1  p  q )
2
1
2
1
2
s1
2
s1
,
r0 ( ps 2 p2  qs 2 q2 )
(1  p22  q22 )(1  ps22  qs22 )
• mas p1 = p2 e q1 = q2
• ps1 e ps2 são conhecidos, portanto, é possível
encontrar uma solução
Download

x,y - DCA