Processamento de Imagem - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

Processamento de Imagem

Description:

Mestrado ISEP/IST em Eng. Electrot cnica e Computadores Ant nio Costa (acc_at_dei.isep.ipp.pt) ndice Introdu o Defini es Ferramentas Amostragem Algoritmos ... – PowerPoint PPT presentation

Number of Views:227
Avg rating:3.0/5.0
Slides: 59
Provided by: ufrrjBrin
Category:

less

Transcript and Presenter's Notes

Title: Processamento de Imagem


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

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

3
Introdução
  • Processamento Digital de Imagem
  • Desde circuitos simples até sistemas
    computacionais
  • Enquadramento do Processamento de Imagem
  • Domínio de aplicação 2D (mais comum)

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 am,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 am,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

5
Definições
  • Exemplo
  • Imagem de 16 linhas e 16 colunas
  • Pixel em a10,3 tem valor inteiro 110 (gama
    0-255)

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 MN2K (K8,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 gt2 imagem em tons de cinzento

7
Definições
  • Tipos de operações sobre imagens
  • Transformação de imagem am,n em imagem bm,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

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

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 cm,n am,n ? bm,n
    ?j ?k aj,k ? bm-j,n-k
  • Correlação
  • Mede o grau de similaridade entre dois sinais
  • Versão discreta cm,n am,n ? bm,n
    ?j ?k aj,k ? bmj,nk

10
Ferramentas
  • Transformada de Fourier
  • Versão discreta (DFT) A(?,?) ?m ?n am,n
    ? e-j(?m ?n) am,n 1/4?2 ? ???? A(?,?) ?
    ej(?m ?n) d? d?
  • A transformada de uma imagem pode ser complexa
  • Exemplo

11
Ferramentas
  • 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
    ha

12
Ferramentas
  • Estatísticas
  • Média ma 1/P ? ?j,k aj,k (P -
    nº de pixels da região)
  • Desvio padrão sa ? 1/(P-1) ? ?j,k(aj,k - ma)2
  • Relação sinal/ruído SNR 20log10((amax - amin) /
    sn)
    (sn - desvio
    padrão do ruído)
  • Exemplo

13
Ferramentas
  • 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)

14
Ferramentas
  • 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/ocu
lar_movements_i.html
15
Amostragem
  • Amostragem de imagem
  • Ideal bidealm,n ?m ?n a(mX0,nY0) ?
    ?(x-mX0,y-nY0)
  • Real brealm,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)

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 bm,n (2B-1) ? (am,n - plow) /
    (phigh - plow) se plow lt
    am,n lt 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
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
18
AlgoritmosBaseados em operações matemáticas
  • Operações binárias
  • Baseadas nas operações booleanas pixel a pixel
  • Exemplo
  • Operações aritméticas
  • ab a/b log(a) exp(a) sqrt(a) sin(a) (2B-1)-a, etc

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 am,n

cm,n am,n ? hm,n ?j ?k hj,k ?
am-j,n-k Note-se que m-j ou n-k podem ser
negativos Solução extender artificialmente a
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 (JK5)
Circular (JK5)
Piramidal (JK5)
Cónico (JK5)
21
AlgoritmosBaseados em suavização
  • 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

22
AlgoritmosBaseados em suavização
  • Exemplos de vários filtros de suavização

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 ?am,n (hx ? am,n)ix
    (hy ? am,n)iy
  • Básicos
  • Prewitt

24
AlgoritmosBaseados em derivação
  • Primeira derivada
  • Filtros de gradiente (continuação) ?am,n
    (hx ? am,n)ix (hy ? am,n)iy
  • Sobel
  • Construídos à medida
  • Gaussianos

25
AlgoritmosBaseados em derivação
  • Primeira derivada
  • Exemplos de filtros de gradiente

26
AlgoritmosBaseados em derivação
  • Segunda derivada
  • Desempenham um papel muito importante
  • Filtros de Laplaciano ?2am,n (h2x ?
    am,n)ix (h2y ? am,n)iy
  • Básicos
  • Gaussiano
  • Construídos à medida
  • SDGD

(2ª derivada na direcção do gradiente)
27
AlgoritmosBaseados em derivação
  • Segunda derivada
  • Exemplos de filtros de Laplaciano

28
AlgoritmosBaseados em derivação
  • 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

29
AlgoritmosBaseados em morfologia
  • 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 propriedade
    Objecto - A a propriedade(a) Verdade
    Fundo - Ac a a ? A

Imagem binária comdois objectos A e B
30
AlgoritmosBaseados em morfologia
  • 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(Ab) A ? B
    ?b?B(Ab)
  • Complemento (fundo)
  • Simetria -A -a a ? A

- O objecto A tem conectividade 4- O fundo tem
conectividade 12-4(8)
31
AlgoritmosBaseados em morfologia
  • 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

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

33
AlgoritmosBaseados em morfologia
  • 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

34
AlgoritmosBaseados em morfologia
  • HitAndMiss
  • Operador de alto nível HitMiss(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

35
AlgoritmosBaseados em morfologia
  • Exemplos
  • Estruturantes

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

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 B
    S(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

38
AlgoritmosBaseados em morfologia
  • Exemplos

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) maxj,k?B am-j,n-k
    bj,k
  • Erosão EG(A,B) minj,k?B amj,nk -
    bj,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

40
AlgoritmosBaseados em morfologia
  • Exemplos de filtros em tons de cinzento

Clássicos
Morfológicos
Suavização
Gradiente
Laplaciano
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

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 aem,n am,n -
    LowPass(am,n)K
  • Filtragem morfológica aem,n am,n -
    MSmooth(am,n)K
  • A priori
  • Recurso a imagens de calibração Pretom,n e
    Brancom,n aem,n K ? (am,n-Pretom,n) /
    (Brancom,n-Pretom,n)

43
TécnicasCorrecção de sombreamento
  • 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
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
    RMS Eae,a 1/MN ? ?m ?n aem,n - am,n
    2

45
TécnicasMelhoria e restauro
  • 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 silhuetas
    aem,n am,n - (K ? ?2am,n)

46
TécnicasMelhoria e restauro
  • 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

47
TécnicasMelhoria e restauro
  • 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

48
TécnicasSegmentação
  • 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
  • ExemploLimiar155

49
TécnicasSegmentação
  • Limiarização
  • Escolha do limiar pelo algoritmo do triângulo
  • ExemploLimiar152
  • Determinação de fronteiras
  • Uma alternativa à limiarização consiste em
    encontrar os pixels que definem as fronteiras do
    objectos
  • Gradiente
  • Exemplo

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

51
TécnicasSegmentação
  • Exemplos
  • Nota após se encontrar a fronteira dos objectos,
    podem usar-se algoritmos de propagação para
    preenchimento

52
TécnicasSegmentação
  • Morfologia binária
  • Filtragem sal e pimenta (remoção de pixels
    isolados)
  • Determinação de objectos com furos
  • Exemplo
  • Preenchimento de furos em objectos
  • Exemplo

53
TécnicasSegmentação
  • Morfologia binária
  • Remoção de objectos nos limites da imagem
  • Exemplo
  • Geração de exoesqueleto
  • Exemplo

54
TécnicasSegmentação
  • Morfologia binária
  • Separação de objectos que se tocam
  • Segmentar imagem inicial para obter imagem
    binária
  • Efectuar um número pequeno de erosões da imagem
    (N4)
  • Calcular o exoesqueleto da imagem erodida
  • Inverter a imagem do exoesqueleto erodido
  • Combinar imagem final através de AND da imagem
    inicial com a imagem invertida do exoesqueleto
    erodido!

55
TécnicasSegmentação
  • Morfologia de tons de cinzento
  • É uma extensão das técnicas de morfologia binária
  • Permite abordar os problemas a alto nível
  • Exemplo método local de alargamento de contraste
  • Processa informação de contraste a nível local
  • Consegue-se obter uma solução mais satisfatória
  • Exemplos

56
Conclusão
  • Presente
  • O processamento de imagem cada vez está mais
    embebido em aplicações sofisticadas e intuitivas
  • Ainda há problemas por resolver satisfatoriamente
  • Futuro
  • O processamento de imagem tenderá a evoluir para
    processamento de sequências de imagem (vídeo,
    etc)
  • Irão surgir mais implementações em hardware
  • A investigação deslocar-se-á para temas de mais
    alto nível, que usarão o P. I. como mais uma
    ferramenta

57
Informação Adicional
  • Sugestões
  • Tutoriais
  • http//www.google.pt/search?qimageprocessingtut
    orial
  • Softwares livres
  • VIPS - http//www.vips.ecs.soton.ac.uk/(MS-Window
    s http//www.vips.ecs.soton.ac.uk/vips-7.8/nip-7.
    8.14.zip)
  • GIMP - http//www.gimp.org/(MS-Windowshttp//www
    .gimp.org/tml/gimp/win32)
  • Sítios web e documentos
  • Processamento de imagem em GPUs (placas
    gráficas)
  • http//www.gpgpu.org/ (seguir ligação Image and
    Volume Processing)
  • http//www.vis.uni-stuttgart.de/eng/research/pub/p
    ub2000/vmv00-hopf.pdf

58
FIM
Write a Comment
User Comments (0)
About PowerShow.com