Visão ComputacionalShape from Shading e
Fotométrico Eséreohttp://www.dca.ufrn.br/~lmarcos/courses/visao
Gradiente 2D
x
y
yx
y
x
fDireção
fsMagnitude
yx
yyxfnyxf
xyxfynxf
1
22
tan)(:
)(:
),(),(
),(),(
Na prática, uma aproximação
P0(x0,y0)
P1(x1,y1)
Gradiente de superfícies
• Vetor (p,q) tal que:y
fq
x
fp
;
p
q
p
qx
y
f
f
Normal
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
N
Luz
Observador
en0
i
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
• Formalmente, a função de refletividade é: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
dE
dLr
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):
y
zq
x
zp
)(
;)(
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
• Então:
• 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)
C
Dy
C
Bx
C
Az
Gradiente de superfícies
• Vetor (p,q) tal que:y
zq
x
zp
)(
;)(
p
q
p
qx
y
f
f
Normal
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. é a taxa de variação.22 qp
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
p
q
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:
• Então cos i determina o brilho na imagem e seu gráfico determina o espaço gradiente da imagem, visto anteriormente
)1(),(
22
0
qp
rqpR
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
• O ângulo de fase g é constante ao longo do espaço-gradiente, desde que se use projeção ortográfica (observador longe da cena) e luz longe da cena
)1)(1(
)1(),(
2222
0
ss
ss
qpqp
qqpprqpR
Mapa de reflectância
p
q
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 (px
2, py2, qx
2, 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+py
2+qx2+qy
2)]• 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
• onde , e
q
RqpyxTyxqyxq
p
RqpyxTyxpyxp
av
av
),,,(),(),(
),,,(),(),(
qpRyxIqpyxT ,,1
),,,(
1,1,,1,14
1,
1,1,,1,14
1,
yxqyxqyxqyxqyxq
yxpyxpyxpyxpyxp
av
av
Shape from shading (algoritmo)• Inicialize p0(x,y) e q0(x,y) (nas bordas);• k=0; n=100;
• while (k++<n || Emax<Emin)
–
–
– compute E, para todos os pontos e tome o máximo deles como Emax
p
RTqq
p
RTpp
kav
k
kav
k
1
1
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
N
Luz
Observador
N
Luz
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
• ,
• mas p1 = p2 e q1 = q2
• ps1 e ps2 são conhecidos, portanto, é possível encontrar uma solução
)1)(1(
)(),(
21
21
21
21
11110111
ss
ss
qpqp
qqpprqpR
)1)(1(
)(),(
22
22
22
22
22220222
ss
ss
qpqp
qqpprqpR