Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

34
Visão Computacional Shape from Shading e Fotométrico Eséreo http://www.dca.ufrn.br/ ~lmarcos/courses/visao

Transcript of Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Page 1: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Visão ComputacionalShape from Shading e

Fotométrico Eséreohttp://www.dca.ufrn.br/~lmarcos/courses/visao

Page 2: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Gradiente 2D

x

y

yx

y

x

fDireção

fsMagnitude

yx

yyxfnyxf

xyxfynxf

1

22

tan)(:

)(:

),(),(

),(),(

Page 3: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Na prática, uma aproximação

P0(x0,y0)

P1(x1,y1)

Page 4: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Gradiente de superfícies

• Vetor (p,q) tal que:y

fq

x

fp

;

p

q

p

qx

y

f

f

Normal

Page 5: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 6: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Shape from shading

Page 7: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 8: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Shape from shading

• Estimar a forma, dada apenas uma imagem

N

Luz

Observador

en0

i

Page 9: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 10: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 11: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

)(

;)(

Page 12: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 13: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Gradiente de superfícies

• Vetor (p,q) tal que:y

zq

x

zp

)(

;)(

p

q

p

qx

y

f

f

Normal

Page 14: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 15: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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)

Page 16: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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).

Page 17: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Mapa de reflectância

p

q

Page 18: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 19: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 20: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 21: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Mapa de reflectância

p

q

Page 22: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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)

Page 23: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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.

Page 24: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 25: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 26: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Recuperando a forma de uma esfera

Page 27: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Mapa de agulhas

Page 28: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Processo iterativo

• Resultado mapa de normais ou diagrama de agulhas

• Em cada posição, vetor normal indica a direção da normal à superfície.

Page 29: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Problemas

• Alguns casos, mais de uma solução

• Dependente do tipo de iluminação

• Bordas complicam

• Necessidade de inicialização (n0)

Page 30: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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).

Page 31: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

Estéreo fotométrico

• Variação da posição de iluminação

N

Luz

Observador

N

Luz

Observador

Page 32: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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

Page 33: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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)

Page 34: Visão Computacional Shape from Shading e Fotométrico Eséreo lmarcos/courses/visao.

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