Formação de Imagem Aquisição www.dca.ufrn.br/~lmarcos/courses/vi sao Visão adquirindo imagem 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 Frame Grabber Optics CCD Host Computer 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 para cada cor – usado em muitos sistemas atuais Do CCD para o frame buffer • Número de elementos em cada lado do CCD é geralmente diferente da dimensão em pixels do Frame buffer. Então: • xim=(n/N)xCCD e yim=(m/M)yCCD • n/N e m/M não são os únicos parâmetros responsáveis pela escala introduzida • CCD tem mxn células geralmente com diferentes tamanhos horizontal e vertical • Frame buffer: MxN Diferentes escalas Mesma distorção de um padrão no Frame buffer (a) é produzida por um grid nxn de elementos retangulares com razão de aspecto n/M (b) e por um grid mxn de elementros quadrados (c). (a) Frame buffer (NxN) (b) (c) 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). 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. Amostragem espacial • 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 a relação: vc=1/(2d) Comparação com espectro de freqüência espacial da imagem • Teoria da difração de aberrações: – processo de imageamento pode ser expresso em termos de uma filtragem linear passabaixa das freqüências espaciais do sinal visual Comparação com freqüência espacial da imagem • 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 certamente conter 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 E0,...,En da mesma cena, calcula variância para cada pixel: E(i,j) = 1/(n) k=0n-1 Ek(i,j) (i,j) = (1/(n-1) k=0n-1(E(i,j)- Ek(i,j))2)1/2 Razão sinal-ruído • Média de (i,j) na imagem estima o ruído médio de aquisição. • 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 numa 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 Auto-covariâ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 • Considere um padrão espacialmente 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 (VÁRIAS IMAGENS) • Outro presente pro final de semana! Gráfico da covariância (média) CEE i’ j’ 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 conhecido (frame de mundo) – R e T • Coordenadas das imagens de pontos no frame de câmera podem ser obtidas das coordenadas de pixels (únicas disponíveis a partir da imagem) yim xim yc yo z o zc xo xc yw zw xw Parâmetros 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 aquisição) 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 De câmera para pixels (n-1) / 2 (0,0) xim yim (0,0,f) Z (0,0) -> (((m-1)/2)sx , (n-1)/2)sy) Y ((m-1)/2,(n-1)/2) -> ((0)sx,(0)sy) x = -(xim-ox)sx y = -(yim-oy)sy X (0,0,0) (m-1,n-1) -> (-((m-1)/2)sx, -((n-1) /2)sy) (m-1) / 2 (m-1,n-1) Com distorção • Com introdução de distorção (RADIAL): 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 (COMO ACHAR?) • (ox,oy) = localização do centro da imagem, coordenadas de pixel (COMO ACHAR?) • (sx,sy) = tamanho efetivo horizontal e vertical do pixel (COMO ACHAR?) • (k1, k2) = coeficientes de distorção, se forem requeridos (COMO ACHAR?) • k2 é geralmente ignorado (k1>>k2). 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 de câmera (Pc) é dada por: Pc=R(Pw-T) r11 r12 r13 R = r21 r22 r23 r31 r32 r33 t1 T = t2 t3 Rotação e translação yw Ry yim yc xim yw xw yo zc zo Rz Rx T zw xo xc xw zw 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 geométrica, radiométrica, etc. Calculando o raio refletido Trabalhos para casa • 1) Verificar o erro das câmeras: – a) Calcular a média, o desvio padrão e a variância, para 10 amostras (como tratar 3 bandas separadamente? Média das 3?); – b) Escolher uma determinada linha da imagem e plotar um gráfico mostrando, para cada pixel, três curvas: a média, a média mais desvio padrão; a média menos desvio padrão (média das 3 bandas). Continuação dos trabalhos – c) Indique outros dados da imagem (nível de cinza mínimo para cada cor, nível máximo para cada cor, mostre 2 imagens das 10 adquiridas, taxa de amostragem máxima, etc). • 2) Auto-covariância: – a) Calcular a covariância para a média das 10 imagens amostradas pelas câmeras, numa área de 32x32 pixels, centrada no centro da imagem; – b) Plotar o gráfico da média da covariância (bidimensional)