Formação de Imagem - Sampling www.dca.ufrn.br/~lmarcos/courses/visao Visão adquirindo imagem Visão - Formação de Imagem • Energia de uma fonte de luz é radiada uniformemente em 4 radianos • Irradiância é a soma de toda a luz incidente na imagem • Reflexão pode ser difusa ou especular, depende da superfície e comprimento de onda da luz • Superfície que reflete energia eletro-magnética modula o conteúdo do espectro, intensidade e polarização da luz incidente • Função da intensidade radiante é projetada no plano imagem 2D, espacialmente amostrada e digitalizada a 30 fps. Formação da imagem • Geometria da câmera (lentes finas) – equação fundamental 1 /Z´ + 1/z´ = 1/f • Radiometria E(p) = f(L(P)) – reflexão Lambertiana L=Itn (I transposto) – ângulo sólido = A cos / r2 – equação fundamental E(p) = L(p) /4 (d/f)2 cos4 Formação Geométrica da Imagem • Relação entre a posição dos pontos da cena com a imagem • Câmera perspectiva • Câmera com fraca perspectiva Modelo perspectivo ideal p y x o p1 f Plano imagem P1 z O P y x p1 o O f p P1 z Plano imagem P Distorção perspectiva pin-hole Modelo ideal Equações perspectiva y y O Y z f Z x = f (X/Z) y = f (Y/Z) Equações são não lineares devido à divisão Perspectiva fraca • Requer que a distância entre dois pontos na cena z ao longo do eixo z (isto é, a profundidade da cena) seja muito menor que a distância média dos pontos vistos da câmera. x = f (X/Z) = f (X/Z´) y = f (Y/Z) = f (Y/Z´) • Neste caso, x=X e y=Y descrevem a ortográfica, viável para z < Z´/20 Refração Inversão de Percepção • “Se estímulos sensoriais são produzidos de um único modo pelo mundo, então como deveria ser o mundo para produzir este estímulo?” estimulo = f(mundo) mundo = f-1(estímulo) • As funções f() são apenas parcialmente conhecidas e f-1(), inversa de f não é bem condicionada (não se comporta direito). Conhecimento e Experiência • Adquire-se através da associação de dados sensoriais de forma eficiente • Conseguem preencher espaços inacessíveis pela processo de formação de imagens • Engana o cérebro Representação matricial Imagem e seu gráfico Reconstrução - Amostragem Amostragem - resolução espacial • Variação da amostragem no espaço – imagens com diferentes resoluções (pixels cobrem áreas diferentes) Amostragem - quantização • Variação da amostragem pela quantização – número de níveis de intensidade para cada pixel varia de uma imagem para outra Amostragem - quantização Amostragem - quantização Amostragem - quantização Amostragem-resolução temporal • Variação da amostragem no tempo – tempo de amostragem do sensor é diferente – usando sistemas de aquisição diferentes • Influencia qualidade final de cada pixel Propriedades espaciais • Delta de dirac • Esta função tem as seguintes propriedades: Sifting property Comentários • A primeira propriedade sugere um tipo de máscara infinitesimal que amostra a imagem precisamente na posição (x,y) • A segunda propriedade é conhecida como “Sifting property”. Funções especiais • Dirac delta (x)=0,x0 lim0 - (x)dx = 1 • Sifting property - f(x´)(x-x´)dx´=f(x) • Scale (ax) = (x)/|a| • Delta de Kronecker (n)=0, n0 (n)=1, n=0 • Sifting property m=- f(m)(n-m) =f(n) Transformada de Fourier • onde u é a freqüência espacial em ciclos por pixel , de modo que quando x é especificado em pixels, 2ux é em radianos, e i=-1 Pares transformados Pares de transformadas Propriedade: freqüência espacial • Se f(x,y) é a luminância e x,y as coordenadas espaciais, então 1 e 2 (ou u,v) são as freqüências espaciais que representam a mudança de luminância com respeito às distâncias espaciais. As unidades 1 e 2 (ou u,v) são recíprocas de x e y respectivamente. • Algumas vezes as coordenadas x,y são normalizadas pela distância de visualização da imagem f(x,y). Então as unidades 1 e 2 (u,v) são dadas em ciclos por grau (do ângulo de visualização). Propriedade: unicidade • Para funções contínuas, f(x,y) e F(1,2) são únicas com respeito uma à outra. • Não há perda de informação se for preservada a transformada ao invés da função Propriedade: separabilidade • O kernel da transformada de Fourier é separável, de modo que ela pode ser escrita como uma transformação separável em x e y. F(1,2)=f(x,y)exp(-i2x1)dxexp(-i2y2)dy • Isso significa que a transformação 2D pode ser realizada por uma sucessão de duas transformações unidimensionais, ao longo de cada uma das coordenadas. Teorema do deslocamento De modo que Convolução • A convolução de duas funções f e g • onde é uma variável de integração Teorema da convolução então Teorema da amostragem • Seja F()= transformada de Fourier de uma função f(t), com t(-,+ ). Assumimos que f é limitada em banda, isto é, F()= 0, para ||>c>0. • Então, podemos formular o teorema da amostragem. Teorema da amostragem • A função f pode ser reconstruída exatamente para todo t(-,+ ), a partir de uma seqüência de amostras eqüidistantes fn=f(n/c), de acordo com a seguinte formula: f(t)=-fn sin(ct-n)/(ct-n) = -fn sinc(ct-n) Aliasing • Uma função contínua no espaço f(x) é amostrada pelo cálculo do produto de f(x) por g(x), uma seqüência infinita de deltas de Dirac • Queremos determinar os efeitos da função de amostragem na energia espectral em f(x) Aliasing • Pelo teorema da convolução, sabemos que o produto destas duas funções espaciais é igual à convolução dos seus pares de Fourier • Podemos escrever a função H(u) em termos de F(u): Aliasing Aliasing • Deste modo, o espectro de freqüência da imagem amostrada consiste de duplicações do espectro da imagem original, distribuída a intervalos 1/x0 de freqüência. • Seja R(u) um filtro passa-banda no domínio da freqüência. 0 caso contrário Aliasing • Quando os espectros replicados interferem, a interferência introduz relativa energia em altas freqüências mudando a aparência do sinal reconstruído Teorema da amostragem (nyquist) • Se a imagem não contém componentes de freqüência maiores que a metade da freqüência de amostragem, então a imagem contínua pode ser representada fielmente ou completamente na imagem amostrada. Adquirindo imagens digitais • Estrutura essencial de um sistema de aquisição de imagens • Representação de imagens digitais em um computador • Informações práticas em amostragem espacial e ruídos devido à câmera Sistema de Visão Computacional • Câmera visualizadora – tipicamente uma câmera CCD (mxn) • Frame grabber – placa de aquisição • Computador (Host computer) – processador e memória para processamento Representação digital de imagem • Matriz numérica (MxN) – E(i,j) representa o valor de cada pixel (brilho) • i indexa a linha • j indexa a coluna • E(i,j) é geralmente inteiro, no range [0,255] – um byte é suficiente – usado em muitos sistemas atuais Do CCD para o frame buffer • xim=(n/N)xCCD • yim=(m/M)yCCD • n/N e m/M não são os únicos parâmetros responsáveis pela escala introduzida • CCD tem nxn células geralmente com diferentes tamanhos horizontal e vertical • Frame buffer: MxN Diferentes escalas Frame buffer (NxN) Frame buffer (MxN) CCD (nxn) Amostragem espacial • Amostragem espacial inicia-se no CCD • Assume-se que a distância d entre os elementos do CCD é a mesma, por simplicidade (vertical e horizontal). • Do teorema da amostragem, sabe-se que d determina a freqüência espacial vc mais alta que pode ser capturada pelo sistema de aquisição, de acordo com: vc=1/2d Comparação com freqüência espacial da imagem • Teoria da difração: processo de imageamento pode ser expresso em termos de uma filtragem linear passa-baixa das freqüências espaciais do sinal visual • Se a for o tamanho linear da abertura angular, do sistema ótico (diâmetro da abertura circular), o comprimento de onda da luz, e f a distância focal, freqüências espaciais maiores que v´c=a/(f) não contribuem para o espectro espacial da imagem (são filtradas). Sistema típico • vc < v´c aproximadamente de uma ordem de magnitude • Assim, desde que o padrão visto possa ter freqüências espaciais maiores que vc, pode ocorrer aliasing Aliasing • Se n é a quantidade de elementos no CCD (direção horizontal), a câmera não pode ver mais que n´ linhas verticais (com n´ um pouco menor que n/2, digamos n´= n/3) • Até que o número de linhas dentro do campo de vista permanece menor que n´, elas serão corretamente imageadas. Assim que este limite é atingido, se a distância da cena cresce, antes de efeitos de borra, a quantidade de linhas diminui. Ocorrência de Aliasing Estimando erros de aquisição • Valores da imagem não são o esperado, pois são corrompidos durante aquisição • Adquire várias imagens da mesma cena e calcula a variância para cada pixel: E(i,j) = 1/(MN) k=0n E(i,j) (i,j) = (1/(n-1) k=0n-1(E(i,j)- E(i,j))2)1/2 Razão sinal-ruído • Média de (i,j) pela na imagem é estimação do ruído médio. • Máximo (i,j), com (i;j) (0,M;0,N) dá o pior erro na imagem. • Luz fluorescente pode influenciar o resultado. • Ótimo teste para verificar o erro das câmeras adquiridas (presente de final de semana, veja transparência final:-). Gráfico do erro ao de uma linha + - Pixel 1 Pixel 255 Obs: erro sinal-ruído • Expresso em decibéis: 10 vezes o logaritmo base 10 da razão entre as duas potências (sinal e ruído). • Ex: SNR de 100 = 10log10100=20dB Co-variância • Valores de pixel não são completamente independentes uns dos outros. • Interferência (cross-talking) entre sensores adjacentes devido ao modo que são lidos e enviados ao frame-buffer • Padrão uniforme na cena, paralelo ao plano imagem, sob luz difusa Co-variância • Seja c = 1/N2, Ni´=N-i´-1, Nj´=N-j´-1. • Dada imagem E, para cada i´,j´=0,...,N-1: • CEE(i´,j´)=ci=0Ni´j=0Nj´(E(i,j)-E(i,j)) (E(i+i´,j+j´)-E(i+i´,j+j´)) • Covariância pode ser estimada como a média da função acima em várias amostras • Outro presente pro final de semana! Gráfico da covariância (média) z y x Parâmetros de câmera • Reconstrução 3D ou cálculo da posição de objetos no espaço necessitam definir relações entre coordenadas de pontos 3D com as coordenadas 2D de imagens dos mesmos • Alguns pressupostos devem ser assumidos • Denomina-se frame a Sistema de referência Pressupostos • Frame da câmera pode ser localizado em relação a algum outro frame bem conhecido (frame de mundo) • Coordenadas das imagens de pontos no frame de câmera podem ser obtidas das coordenadas de pixels (únicas disponíveis a partir da imagem) Parâmetros intrínsecos e extrínsecos (internos e externos) • Parâmetros intrínsecos são os necessários para ligar as coordenadas de pixel de um ponto na imagem com as respectivas coordenadas no frame de câmera. • Parâmetros extrínsecos são os que definem a localização e orientação do frame de câmera com relação a um frame de mundo conhecido Parâmetros intrínsecos • Caracterizam as propriedades óticas, geométricas e digitais da câmera visualizadora. Para pin-hole, 3 conjuntos: – projeção perspectiva (único parâmetro é f) – transformação entre frames de câmera e píxels – distorção geométrica introduzida pelo sistema ótico De câmera para pixels • Devemos ligar (xim,yim), em pixels, com as coordenadas (x,y) do mesmo ponto no frame de câmera • Neglicenciando distorções e assumindo que o CCD é uma matriz retangular: x = -(xim-ox)sx y = -(yim-oy)sy sendo (ox,oy) as coordenadas em pixel do centro da imagem (ponto principal) e (sx,sy) o tamanho efetivo do pixel (em milímetros) horizontal e verticalmente, respectivamente Com distorção • Com introdução de distorção: x = xd(1+k1r2+k2r4) y = yd(1+k1r2+k2r4) sendo (xd,yd) as coordenadas dos pontos distorcidos e r2 = xd2+yd2. Veja que a distorção é um deslocamento radial dos pontos na imagem. Deslocamento é zero no centro da imagem, crescendo para as bordas Parâmetros intrínsecos - resumo • f = distância focal • (ox,oy) = localização do centro da imagem, em coordenadas de pixel • (sx,sy) = tamanho efetivo horizontal e vertical do pixel • (k1, k2) = coeficientes de distorção, se forem requeridos Parâmetros extrínsecos • Frame de câmera permite escrever equações de projeção perspectiva de uma forma simples, mas o sistema de câmera é geralmente desconhecido • Determinar a localização e orientação do frame de câmera em relação a algum frame de referência, usando apenas informação da imagem. Parâmetros extrínsecos • Qualquer conjunto de parâmetros que permitem identificar unicamente a transformação entre o frame desconhecido de câmera e um frame conhecido, normalmente denominado frame de mundo. Descrevendo a transformação • Vetor 3D de translação, T, que descreve as posições relativas das origens dos dois frames • Uma matriz 3x3, de rotação, R, a princípio ortogonal (RtR=RRt), desejado ortonormal, que traz os eixos correspondentes dos dois frames um no outro • Ortogonalidade reduz o número de graus de liberdade para 3 Notação • A relação entre as coordenadas de um ponto P em frame de mundo (Pw) e câmera (Pc) é dada por: Pc=R(Pw-T) r11 r12 r13 R = r21 r22 r23 r31 r32 r33 t1 T = t2 t3 Parâmetros extrínsecos - resumo • T = vetor de translação • R = matriz de rotação (ou os seus parâmetros livres) • Especificam a transformação entre o frame de câmera e o frame de mundo Calibração de câmera • Estimar os valores dos parâmetros intrínsecos e extrínsecos • Vários métodos, incluindo distorção, etc. Calculando o raio refletido Trabalhos para o final de semana prolongado • 1) Trazer o gráfico das principais funções vistas e suas transformadas de Fourier (em papel) • 2) Verificar o erro das câmeras adquiridas: – a) Calcular a média, o desvio padrão e a variância, para 20 amostragens (3 bandas e média das 3); – b) Escolher uma determinada linha da imagem e plotar um gráfico mostrando, para cada pixel, duas curvas: média mais desvio padrão; média menos desvio padrão (3 bandas e média das 3). Continuação dos trabalhos – c) Indique outros dados da imagem (nível de cinza mínimopara cada cor, nível máximo para cada cor, mostre 5 imagens das 20 adquiridas, taxa de amostragem máxima, etc). • 3) Auto-covariância: – a) Calcular a covariância para as 25 imagens amostradas pelas câmeras, numa área de 32x32 pixels, centrada no centro das imagens; – b) Plotar o gráfico da média da covariância (bidimensional)