1 / 58

Processamento de Imagem

Processamento de Imagem. Mestrado ISEP/IST em Eng. Electrotécnica e Computadores António Costa (acc@dei.isep.ipp.pt). Índice. Introdução Definições Ferramentas Amostragem Algoritmos Técnicas Conclusão Informação Adicional. Introdução. Designação. Entrada. Saída. Síntese de Imagem.

emera
Download Presentation

Processamento de Imagem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Processamento de Imagem Mestrado ISEP/IST emEng. Electrotécnica e Computadores António Costa (acc@dei.isep.ipp.pt)

  2. Índice • Introdução • Definições • Ferramentas • Amostragem • Algoritmos • Técnicas • Conclusão • Informação Adicional Processamento de Imagem

  3. Introdução Designação Entrada Saída Síntese de Imagem Descrição Imagem Processamento de Imagem Imagem Imagem Análise de Imagem Imagem Medidas Compreensão de Imagem Imagem Descrição • Processamento Digital de Imagem • Desde circuitos simples até sistemas computacionais • Enquadramento do Processamento de Imagem • Domínio de aplicação 2D (mais comum) Processamento de Imagem

  4. Definições • Imagem • É uma função escalar a(x,y): intensidade de qualquer coisa traduzida num valor inteiro, real ou complexo • Uma imagem digital a[m,n] resulta de imagem analógica a(x,y) através de amostragem - digitalização • Uma imagem é formada por N linhas e M colunas, sendo cada elemento de imagem a[m,n] um pixel • Na realidade a função a() é a(x,y,z,t,,...), mas será abordado apenas o caso 2D, estático e monocromático Processamento de Imagem

  5. Definições Colunas Linhas Valor = a(x,y,z,t,) • Exemplo • Imagem de 16 linhas e 16 colunas • Pixel em a[10,3] tem valor inteiro 110 (gama 0-255) Processamento de Imagem

  6. Definições • Valores mais comuns • Nº de linhas N: 256, 512, 525, 625, 768, 1024, 1035 • Nº de colunas M: 256, 512, 768, 1024, 1320 • Nº de intensidades: 2, 64, 256, 1024, 65536, 224, 232 • Casos mais comuns: M=N=2K (K=8,9 ou 10)devido a tecnologias de hardware ou algoritmos (FFT) • O número máximo de intensidades é geralmente potência de 2 • Caso =2: imagem binária (“preto e branco”) • Caso >2: imagem “em tons de cinzento” Processamento de Imagem

  7. Definições Pontual Local Global • Tipos de operações sobre imagens • Transformação de imagem a[m,n] em imagem b[m,n] • Pontual: o resultado num pixel apenas depende do valor do pixel de entrada correspondente • Local: o resultado num pixel depende dos valores da vizinhança de pixels de entrada próximos • Global: o resultado num pixel depende de todos os valores dos pixels de entrada • Exemplos Processamento de Imagem

  8. Definições • Tipos de vizinhança de pixels • O conceito de vizinhança de pixels é muito importante • No caso mais comum de amostragem rectangular as vizinhanças mais usadas são a viz4 e a viz8 • Em alguns dispositivos é possível efectuar amostragem hexagonal, de que resulta a vizinhança viz6 • Exemplos Processamento de Imagem

  9. Ferramentas • Convolução • Obedece ao princípio da sobreposição • Permite descrever a saída de um sistema linear, conhecidas a entrada e a função de transferência • Versão “discreta”c[m,n] = a[m,n]  b[m,n] = j ka[j,k]  b[m-j,n-k] • Correlação • Mede o grau de “similaridade” entre dois sinais • Versão “discreta”c[m,n] = a[m,n] b[m,n] = j ka[j,k]  b[m+j,n+k] Processamento de Imagem

  10. Ferramentas log(|A(,)|) Reconstruçãocom (,)=0 a[m,n] Reconstruçãocom log(|A(,)|)=k (,) • Transformada de Fourier • Versão “discreta” (DFT)A(,) = m na[m,n]  e-j(m + n)a[m,n] = 1/42 A(,)  e+j(m + n) d d • A transformada de uma imagem pode ser complexa • Exemplo Processamento de Imagem

  11. Ferramentas a[m,n] P(a) - Intensidade h[a] - Intensidade • Estatísticas • É comum o uso de descrições estatísticas simples • A função densidade de probabilidade p(a) de uma região de pixels pode ser estimada por contagem das ocorrências de intensidade nessa região • Essa contagem pode ser descrita pelo histograma h[a] Processamento de Imagem

  12. Ferramentas Média: 219.3Desvio padrão: 4.0Mínimo: 202Mediana: 220Máximo: 226Moda: 220SNR: 33.3 • Estatísticas • Média ma = 1/P  j,ka[j,k](P - nº de pixels da região) • Desvio padrão sa=  1/(P-1)  j,k(a[j,k] - ma)2 • Relação sinal/ruído SNR = 20log10((amax- amin) / sn) (sn - desvio padrão do ruído) • Exemplo Processamento de Imagem

  13. Ferramentas Pi +7076666544556... • Representações de contorno • Chain codes • Seguimento do contorno em sentido horário com anotação das mudanças de direcção entre pixels sucessivos - exemplo • Crack codes • Seguimento da linha entreobjecto e fundo (crack) Processamento de Imagem

  14. Ferramentas Indução de visualização de contornos inexistentes e contraste exagerado Indução de visualização de valores “cinzentos” que se sabe não existem e noção de dinamismo na imagem • Uma nota de aviso • Não é possível ainda modelar o sistema visual humano através das técnicas correntes de análise de sistemas • As ilusões ópticas não se enquadram nesses modelos URL: http://www.city.ac.uk/optics/BVTutor/html/ocular_movements_i.html Processamento de Imagem

  15. Amostragem • Amostragem de imagem • Idealbideal[m,n] = m na(mX0,nY0)  (x-mX0,y-nY0) • “Real”breal[m,n] = (a(x,y)  p(x,y)) m n (x-mX0,y-nY0) • A função de abertura p(x,y) depende da tecnologia usada na captura da informação e é frequentemente: • Circular; Quadrada; Gaussiana • Deve escolher-se a densidade de amostragem com base na teoria de sinal clássica (teoria de Nyquist) Processamento de Imagem

  16. AlgoritmosBaseados em operações de histograma • Alargamento do contraste • Muitas imagens são geradas com intensidades que não aproveitam a gama máxima de intensidades • Corrige-se através do alargamento da gama da imagem b[m,n] = (2B-1)  (a[m,n] - plow%) / (phigh%- plow%)se plow% < a[m,n] < phigh% ; senão 0 ou 2B-1 • plow% - intensidade baixa no histograma (0%, 1%, 5%) • phigh% - intensidade alta no histograma (100%, 99%, 95%) contrastealargado original Processamento de Imagem

  17. AlgoritmosBaseados em operações de histograma • Equalização de histogramas • Normaliza-se o histograma da imagem para um histograma “padrão” (comparação de imagens, etc) • O objectivo ideal é obter ocorrências iguais para todas as intensidades - histograma plano • Pode obter-se algo aproximado usando a função distribuição de probabilidade (normalizada de 0 a 2B-1) como índice de acesso ao histograma “padrão”... histogramaequalizado original Processamento de Imagem

  18. AlgoritmosBaseados em operações matemáticas Imagem a Imagem b NOT(b) OR(a,b) AND(a,b) XOR(a,b) SUB(a,b)[ AND(a,NOT(b)) ] • Operações binárias • Baseadas nas operações booleanas pixel a pixel • Exemplo • Operações “aritméticas” • a+ba/b log(a) exp(a) sqrt(a) sin(a) (2B-1)-a, etc Processamento de Imagem

  19. AlgoritmosBaseados em convolução • Enquadramento • Baseia-se na noção de uma janela finita h() operando sobre a imagem a(), produzindo uma nova imagem c() • O pixel de saída é igual à soma pesada dos pixels de entrada dentro da janela, em que os pesos são os valores específicos do filtro de convolução h() • Convolução no domínio espacial • Pode gerar acessos “fora” da imagem a[m,n] c[m,n] = a[m,n]  h[m,n] = j kh[j,k]  a[m-j,n-k]• Note-se que m-j ou n-k podem ser negativos• Solução: extender artificialmente a imagem Processamento de Imagem

  20. AlgoritmosBaseados em suavização • Objectivos gerais • Tipicamente usados para reduzir o ruído e/ou preparar imagens para outros processamentos mais complexos • Filtros lineares • Filtro uniforme: • Filtro triangular: • Filtro gaussiano: cada vez mais utilizado (versatilidade) Rectangular (J=K=5) Circular (J=K=5) Piramidal (J=K=5) Cónico (J=K=5) Processamento de Imagem

  21. AlgoritmosBaseados em suavização Região 1 Região 2 Região 4 Pixelcentral Região 3 • Filtros não-lineares • Estes filtros não podem ser alvo de análises de Fourier • Filtro de mediana: em cada aplicação da janela h()usa-se a intensidade mediana dentro da referida janela • Filtro Kuwahara: preserva bem os contornos • Em cada uma das 4 regiões calcula-se a média e a variância • O valor atribuído ao pixel centralé o valor médio da região quepossui menor variância Processamento de Imagem

  22. AlgoritmosBaseados em suavização Histograma Imagem original Filtro linear Uniforme 5x5 Filtro linearGaussiano (=2.5) Filtro não-linearMediana 5x5 Filtro não-linearKuwahara 5x5 • Exemplos de vários filtros de suavização Processamento de Imagem

  23. AlgoritmosBaseados em derivação • Enquadramento • Os algoritmos apresentados são uma aproximação • Tendem a aumentar o ruído de alta frequência, pelo que geralmente são combinados com filtros de suavização • Primeira derivada • Filtros de gradientea[m,n] = (hx  a[m,n])ix + (hy  a[m,n])iy • Básicos: • Prewitt: Processamento de Imagem

  24. AlgoritmosBaseados em derivação • Primeira derivada • Filtros de gradiente (continuação)a[m,n] = (hx  a[m,n])ix + (hy  a[m,n])iy • Sobel: • Construídos à medida: • Gaussianos: Processamento de Imagem

  25. AlgoritmosBaseados em derivação Imagem original Gaussiano (=1.5) Básico Sobel • Primeira derivada • Exemplos de filtros de gradiente Processamento de Imagem

  26. AlgoritmosBaseados em derivação • Segunda derivada • Desempenham um papel muito importante • Filtros de Laplaciano2a[m,n] = (h2x  a[m,n])ix + (h2y  a[m,n])iy • Básicos: • Gaussiano: • Construídos à medida: • SDGD: (2ª derivada na direcção do gradiente) Processamento de Imagem

  27. AlgoritmosBaseados em derivação Imagem original Gaussiano (=1.5) SDGD (=1.0) Básico À medida • Segunda derivada • Exemplos de filtros de Laplaciano Processamento de Imagem

  28. AlgoritmosBaseados em derivação Filtropassa-baixo Filtropassa-banda Filtropassa-alto • Outros filtros • Há uma infinidade de filtros lineares e não-lineares • Para se medir a resposta de filtros não convencionais usam-se imagens de teste (padrões sinusoidais, etc) • Permite avaliar os efeitos em termos de frequências • Exemplos de resultados com padrão de teste sinusoidal Processamento de Imagem

  29. AlgoritmosBaseados em morfologia A B • Enquadramento • Uma definição alternativa do conceito de imagem baseia-se na noção de conjunto de coordenadas que fazem parte dos objectos da imagem • Exemplo • Os pixels do objecto A partilham uma propriedadeObjecto - A = { a | propriedade(a) = Verdade } Fundo - Ac = { a | a A } Imagem binária comdois objectos A e B Processamento de Imagem

  30. AlgoritmosBaseados em morfologia fundo de A objecto A • Enquadramento • A noção de objecto implica conectividade de pixels • Definições • As operações fundamentais sobre objectos são: • Translação: A + x = { a + x | a A } • Adição/subtracção: A  B = bB(A+b) ; A  B = bB(A+b) • Complemento (fundo) • Simetria: -A = { -a | a A } - O objecto A tem conectividade 4- O fundo tem conectividade 12-4(=8) Processamento de Imagem

  31. AlgoritmosBaseados em morfologia D(A,B) E(A,B) B -B N4 N8 • Dilatação e Erosão • A dilatação D(A,B) corresponde à adição A  B • A erosão E(A,B) corresponde à subtracção A  (-B ) • Exemplos • Tipicamente A é uma imagem e B é um “estruturante” (equivale ao núcleo de convolução dos filtros lineares) • Exemplos de estruturantes comuns Processamento de Imagem

  32. AlgoritmosBaseados em morfologia • Dilatação e Erosão • Teorema da Decomposição • Para um estruturante B finito, simétrico, sem buracos e contendo o seu centro ([0,0]  B), verifica-se queD(A,B) = A  (A  B)[nota: A é o contorno de A] • Resulta que apenas basta processar os pixels do contorno de A, não sendo necessário processar os pixels do seu interior • Algoritmo “rápido” de dilatação: para cada pixel do objecto, todos os seus pixels vizinhos (vizC) de fundo passam a pertencer ao objecto • Algoritmo “rápido” de erosão: cada pixel do objecto que possua um pixel vizinho (vizC) de fundo passa a fundo Processamento de Imagem

  33. AlgoritmosBaseados em morfologia Dilatação comestrututante N8 Dilatação comestrututante N4 • Dilatação e Erosão • Exemplos “rápidos” • Importante: D(E(A,B),B)  A  E(D(A,B),B) • Abertura e Fecho • Abertura: O(A,B) = D(E(A,B),B) • Tende a suavizar o contorno pelo interior • Fecho: C(A,B) = E(D(A,-B),-B) • Tende a suavizar o contorno pelo exterior Processamento de Imagem

  34. AlgoritmosBaseados em morfologia • HitAndMiss • Operador de alto nívelHitMiss(A,B) = E(A,B1)  EC(AC,B2) • B1 e B2 são estruturantes finitos e disjuntos entre si • Este operador é o equivalente morfológico do template matching (técnica usada para comparar padrões com base na sua correlação) • B1 funciona como template para o objecto • B2 funciona como template para o fundo Processamento de Imagem

  35. AlgoritmosBaseados em morfologia Imagem A Dilatação com 2B Erosão com 2B Abertura com 2B(separa objectos) Fecho com 2B(preenche buracos) HitAndMiss com B1 e B2[ A = A - E(A,N8) ] • Exemplos • Estruturantes Processamento de Imagem

  36. AlgoritmosBaseados em morfologia • Esqueleto • Quando realizavel, é uma polilinha que: • Tem largura de 1 pixel • Passa pelo “meio” do objecto • Preserva a topologia do objecto • Pode ser obtido por um processo iterativo baseado no B8, não se alterando o pixel central para “fundo” se • 1) o pixel estiver isolado • 2) a remoção do pixel alterar a conectividade • 3) a remoção do pixel encurtar a linha Processamento de Imagem

  37. AlgoritmosBaseados em morfologia • Propagação (Reconstrução) • Visa reconstruir um objecto parcialmente erodido ou preencher um objecto definido pelo seu contorno • Algoritmo iterativo baseado numa imagem “semente” S(0), uma imagem máscara A e um estruturante BS(k) = D(S(k-1),B)  A ; repetir até S(k) = S(k-1) • Em cada iteração a semente cresce dentro dos limites de A • As conectividades da fronteira de A e de B devem ser iguais • A implementação iterativa é ineficiente, mas existe uma implementação recursiva muito mais eficiente Processamento de Imagem

  38. AlgoritmosBaseados em morfologia E(A,6N8) Imagem A Semente(a preto) Máscara Esqueleto de A Esqueleto de A(sem condição 3) Propagação com N8 • Exemplos Processamento de Imagem

  39. AlgoritmosBaseados em morfologia • Tratamento de imagens “em tons de cinzento” • Os algoritmos anteriores podem ser extendidos para imagens com mais de dois níveis (16, 64, 256, etc) • Formulações para “tons de cinzento” • Dilatação: DG(A,B) = max[j,k]B { a[m-j,n-k] + b[j,k] } • Erosão: EG(A,B) = min[j,k]B { a[m+j,n+k] - b[j,k] } • Abertura: OG(A,B) = DG(EG(A,B),B) • Fecho: CG(A,B) = -OG(-A,-B) • Suavização: MSmooth(A,B) = CG(OG(A,B),B) • Gradiente: MGradient(A,B) = 1/2  [DG(A,B) - EG(A,B)] • Laplaciano: MLaplacian(A,B) = 1/2  [DG(A,B) + EG(A,B) - 2A] Processamento de Imagem

  40. AlgoritmosBaseados em morfologia Imagem A Dilatação de A Erosão de A • Exemplos de filtros “em tons de cinzento” “Morfológicos” Clássicos Suavização Gradiente Laplaciano Processamento de Imagem

  41. Técnicas • Enquadramento • Os algoritmos apresentados anteriormente podem ser usados para resolver problemas complexos de processamento de imagem • Correcção de sombreamento • Os métodos de geração de imagem podem fazer com que as imagens exibam artefactos de sombreamento • Imagem “brilhante” no centro e “escura” nos limites • Imagem a “escurecer” da esquerda para a direita • Efeitos de lentes sujas, iluminação não uniforme, etc Processamento de Imagem

  42. TécnicasCorrecção de sombreamento • Artefactos de sombreamento • Geralmente indesejados, mas difíceis de evitar • A sua eliminação é necessária em algumas aplicações • Estimação do sombreamento • A posteriori • Filtragem passa-baixo: ae[m,n] = a[m,n] - LowPass(a[m,n])+K • Filtragem morfológica: ae[m,n] = a[m,n] - MSmooth(a[m,n])+K • A priori • Recurso a imagens de calibração: Preto[m,n] e Branco[m,n]ae[m,n] = K  (a[m,n]-Preto[m,n]) / (Branco[m,n]-Preto[m,n]) Processamento de Imagem

  43. TécnicasCorrecção de sombreamento Linha da imagem original Passa-baixo Homomórfica Morfológica Calibrada(a melhor) • Exemplos 1. O sombreamento indesejado manifesta-se através de uma rampa linear a crescer da esquerda para a direita2. Os picos são objectos Processamento de Imagem

  44. TécnicasMelhoria e restauro • Enquadramento • O processo de aquisição de imagem geralmente envolve degradação da imagem (inadvertidamente) • Desfocagem; Movimento da câmara; Ruído; etc • Objectivos • Melhoria visa “embelezar” a imagem • Restauro visa “repor a verdade” na imagem • Medição do erro • Usa-se frequentemente uma métrica de erro tipo RMSE{ae,a} = 1/MN m n | ae[m,n] - a[m,n] |2 Processamento de Imagem

  45. TécnicasMelhoria e restauro Melhorada(K=1) Original • Aumento de nitidez • Melhorar as silhuetas de uma imagem pode contribuir para aumentar a sua qualidade visual • Isolam-se as silhuetas de uma imagem • Amplificam-se essas silhuetas • Adicionam-se à imagem original • O Laplaciano é adequado para isolar as silhuetasae[m,n] = a[m,n] - (K 2a[m,n]) Processamento de Imagem

  46. TécnicasMelhoria e restauro Gaussiano (=1) Wiener Imagem original(SNR = 20 dB) Kuwahara 5x5 Mediana 3x3 MSmooth 3x3 • Supressão de ruído • Pode ser conseguida através de suavização espacial, levando contudo a perda de nitidez • Os algoritmos de suavização são os mais adequados • Exemplos Processamento de Imagem

  47. TécnicasMelhoria e restauro Imagem distorcida(SNR = 30 dB) Wiener Mediana 3x3 • Supressão de distorsão • Um modelo simples assume o ruído como única fonte de distorsão, mas existem modelos mais realistas • O filtro Wiener (domínio das frequências) é uma boa solução para distorsões baseadas em ruído • Exemplo • A imagem Wiener é mais nítida mas exibe artefactos • A imagem Mediana é mais esbatida mas disfarça artefactos Processamento de Imagem

  48. TécnicasSegmentação Imagem a segmentar Histograma de intensidades • Enquadramento • Designa as diversas técnicas capazes de distinguir “objectos de interesse” do resto (fundo) • Não há uma técnica de segmentação universal ou perfeita • Limiarização • Recorre a um limiar de intensidade para definir o objecto • A escolha do limiar de intensidade adequado é fulcral • Escolha do limiar via histograma • ExemploLimiar=155 Processamento de Imagem

  49. TécnicasSegmentação Histograma de intensidades Imagem a segmentar • Limiarização • Escolha do limiar pelo algoritmo do triângulo • ExemploLimiar=152 • Determinação de fronteiras • Uma alternativa à limiarização consiste em encontrar os pixels que definem as fronteiras do objectos • Gradiente • Exemplo Processamento de Imagem

  50. TécnicasSegmentação • Determinação de fronteiras • Cruzamento do zero (método LoG) • Consiste em usar o filtro Laplaciano e processar os “cruzamentos do zero” da 2ª derivada (mudança de sinal) • Requer suavização para evitar o excesso de ruído gerado • Método PLUS • Também baseado no “cruzamento o zero” do Laplaciano e no filtro de suavização SDGD(a) • Método geral Processamento de Imagem

More Related