A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Processamento de Imagens e Computação Gráfica

Apresentações semelhantes


Apresentação em tema: "Processamento de Imagens e Computação Gráfica"— Transcrição da apresentação:

1 Processamento de Imagens e Computação Gráfica
Prof. Dr. Kamel Bensebaa Aula 6

2 Segmentação por regiões
A detecção de regiões num imagem pode ser feita com um dos objetivos: Extrair uma determinada região ou Dividir (particionar) a imagem num conjunto de regiões disjuntas cuja união representa a imagem inteira. Uma região de uma imagem é um conjunto de pontos “ligados” onde , de qualquer ponto da região pode-se chegar a qualquer outro ponto por um caminho inteiramente contido nessa região. As regiões que desejamos detectar são regiões “homogêneas”, ou seja, apresentam alguma propriedade local aproximadamente constante

3 Segmentação por regiões
Geralmente, esta propriedade local é a continuidade do nível de cinza. Um exemplo de função exprimindo essa propriedade de continuidade sobre uma região R(x,y) poder ser R(x,y) é homogênea se e somente se, para qualquer dupla de pontos, a diferença entre os níveis de cinza dos dois pontos não for maior que uma constante

4 Definição de uma região
A segmentação de uma I é uma partição da imagem I em regiões homogêneas R1, R2,..., Rn tal que: Todo pixel pertence a uma região Ri é uma região conexa para todo i =1,2,...,n Nenhum pixel pertence a mais de uma região para quaisquer i  j

5 Definição de uma região

6 Segmentação por regiões
Essa definição conduz a duas observações importantes Uma segmentação depende do critério utilizado A escolha do critério é primordial Para um certo critério existem várias soluções Apresentamos a segmentação por limiarização que não satisfaz completamente a definição precedente e em seguinte outras técnicas de segmentação por região Crescimento de regiões Divisão e fusão de imagens ...

7 Segmentação por regiões
Limiarização Crescimento de regiões Split and Merge

8 Segmentação por limiarização
A limiarização é uma das mais importantes técnicas de segmentação de imagens. É através dela que se consegue separar os objetos do fundo da imagem. Em uma imagem monocromática (imagens em níveis de cinza, com dois conjuntos representando a conectividade entre os pixels, pode-se dizer que um grupo representa o objeto da imagem e o outro grupo representa o fundo. Portanto, os dois grupos foram separados por um limiar T tornando a imagem monocromática em uma imagem binária.

9 Segmentação por limiarização
Quando os objetos são claros em relação ao fundo da imagem) o limiar T pode ser expresso da seguinte forma: onde f (x,y) é a função que representa a intensidade luminosa na imagem e g (x,y) é nova função de luminosidade depois da separação do limiar T Quando os objetos são escuros em relação ao fundo da imagem) o limiar T pode ser expresso da seguinte forma:

10 Segmentação por limiarização
O resultado de uma limiarização com apenas duas classes é chamada binarização

11 Segmentação por limiarização
Caso a imagem tenha três ou mais grupos, pode-se usar a limiarização multiníveis. Nesse caso, seriam classificados como objeto, todos os valores de f (x,y) entre T1 e T2 e o restante faria parte do fundo da imagem. A limiarização multiníveis é geralmente menos confiável que a de limiar único devido à dificuldade de estabelecimento de múltiplos limiares que isolam as regiões de interesse. Problemas desta natureza são melhores resolvidos com um limiar único variável.

12 Segmentação por limiarização

13 Dois objetos de intensidade diferentes em fundo escuro
Segmentação por limiarização Limiarização multiníveis Objeto claro em fundo escuro Dois objetos de intensidade diferentes em fundo escuro

14 Segmentação por limiarização
com Coordonadas do pixel Imagem Propriedade local do pixel

15 Segmentação por limiarização
Pixel: Nível de cinza: Propriedade local: Limiar utilizado para classificar o pixel Existem três métodos de limiarização Limiarização global: Limiarização local: Limiarização dinâmica:

16 Segmentação por limiarização
Escolha dos limiares Limiar global: escolha baseada em intensidades (T=T [f (x,y)]). Limiar local: : além das intensidades, alguma propriedade local é utilizada (T=T [p (x,y),f (x,y)]). Limiar dinâmico: inclui ainda a posição do pixel (T=T [x,y,p (x,y),f (x,y)]).

17 Segmentação por limiarização
com Coordonadas do pixel Imagem Propriedade local do pixel

18 Segmentação por limiarização
T depende apenas de f (x,y) Limiarização global p(x,y): alguma propriedade do ponto (x,y) T depende de p(x,y) e f (x,y) Limiarização local Limiarização dinâmica

19 Limiarização global Escolher o limiar T na posição do vale: T=13
Aplicar o limiar encontrado a cada pixel da imagem

20 Limiarização global

21 Utilizar o histograma

22 Limiarização local O limiar é o valor médio de uma Janela 5x5 centralizada em (x,y)

23 Segmentação por limiarização
Como definir o bom limiar ? Um valor obtido por testes O valor médio dos tons de cinza O valor mediano entre o tom máximo e o tom mínimo Existem algoritmos automáticos para encontrar o limiar (Otsu,Kittler,...)

24 Escolha de limiares (Ótimos)
Duas superfícies (fundo e objeto) numa imagem Supõe-se modelos matemáticos (distribuições gaussianas,...) Pode-se determinar a probabilidade de erro de classificação nas classes 1 e 2 Procura-se um limiar T que causa um erro mínimo Modelar os histogramas para encontrar o limiar ótimo

25 Algoritmo de limiarização de OTSU
O método de theshold de Otsu permite a seleção automática do valor do limar T. A análise de agrupamentos é aplicada aos dados em níveis de cinza da imagem Dois agrupamentos são formados a partir da distribuição gaussiana dos níveis de cinza da imagem Para estes agrupamentos, um agrupamento representa o fundo da imagem enquanto o outro representa a frente O objetivo do método de Otsu é obter o limiar ótimo através da minimização da soma ponderada para a variância entre as classes para ambos os agrupamentos

26 Algoritmo de limiarização de OTSU
Usando a técnica de Otsu, a variância entre as classes entre o grupo de valores a baixo de T e o grupo acima de T é maximizada. Através do ajuste de T, a distribuição de um grupo aumenta enquanto o outro diminui Assim é necessário selecionar um valor T que produza uma distribuição normal No algoritmo de Otsu, o nível de cinza k é o valor que maximiza a variância entre classes do histograma em níveis de cinza da imagem.

27 Algoritmo de limiarização de OTSU
Para aplicar o algoritmo de Otsu é necessário normalizar o histograma conforme a seguinte equação onde e é o número de níveis de cinza da imagem é o número total na imagem = percentual do k-ésimo nível de cinza =número de pixels cujo nível de cinza corresponde

28 Algoritmo de limiarização de OTSU
Para um determinado limiar T, têm-se dois grupos de pixels O grupo formado pelos valores e O grupo formado pelos valores Usando a seguinte equação encontra-se a variância Aplicando a equação da variância para todos possíveis limiares, aquele que resulta no maior valor de será escolhido

29 Algoritmo de limiarização de OTSU
A expressão deve ser maximizada em relação a T para se determinar o valor ótimo do limiar T é probabilidade do grupo é média do grupo é média total do histograma é o nível de cinza

30 Algoritmo de limiarização de OTSU - Exemplo
Supõe-se uma imagem de N=100 píxels com quatro níveis de cinza entre [1,4] (1 preto, 4 branco) Supõe-se também que o número de píxels com nível de cinza 1 é 10; 2 é 20; 3 é 30; e com nível de cinza 4, 40. f1=10, f2=20, f3=30,f4=40. Logo:p1=f1/N=0.1, p2= 0.2, p3= 0.3, e p4= 0.4. Portanto, para una limiarização em dois níveis desta imagem assumimos t=2 de maneira que a classe C1 consista em tons de cinza 1 e 2, e a classe C2 possui os tons 3 e 4.

31 Algoritmo de limiarização de OTSU - Exemplo
ω1(t)= =0.3 e ω2(t)= =0.7 Se comprova que ω1(t)+ω2(t)=1. Finalmente, a média para a classe C1 e para a classe C2 é dada por:

32 Algoritmo de limiarização de OTSU - Exemplo
De acordo com o método de Otsu, Usando análise discriminante, Otsu definiu a variância entre classes de uma imagem limiarizada como Para una limiarizaçao de dois niveis, Otsu verificou que o limiar ótimo t* se elege de maneira que será máximo

33 Vantagens da segmentação por limiarização
Simplicidade de implementação Funciona de forma automática e no tempo real Funciona bem em histogramas multimodais

34 Algoritmo de limiarização de OTSU – Múltiplos limiares
O método de Otsu pode ser extendido facilmente para múltiplos limiares. Assumindo M-1 limiares, {t1, t2, ..., tM-1}, os quais dividem a imagem em M classes: C1 para [1, ..., t1], C2 para [t1+1, ..., t2], ..., Ci para [ti-1+1, ..., ti], ..., e CM para [tM-1, ..., L], os limiares ótimos {t1*, t2*, ..., tM-1*} se elegem maximizando σB2

35 Algoritmo de limiarização de OTSU – Múltiplos limiares
onde com

36 Algoritmo de limiarização de OTSU – Múltiplos limiares
ωk é conhecido como o momento acumulado de ordem zero da k-ésima classe Ck, e o numerador da última expressão é conhecido como momento acumulado de primeira ordem da k-ésima classe Ck; isto é,

37 Formulação alternativa do algoritmo de OTSU
Independentemente do número de classes que se considerem durante o processo de limiarização, a soma das funções de probabilidade acumulada das M classes são iguais a 1, e a média da imagem é igual a soma das mdéias das M classes ponderadas por suas correspondentes probabilidades acumuladas; ou seja,

38 Formulação alternativa do algoritmo de OTSU
Usando as expressões anteriores, a variância entre classes da imagem limiariazada pode ser rescrita da seguinte forma Devido a que o segundo termo da expressão da variância depende da eleição dos limiares {t1, t2, ..., tM-1}, os limiares ótimos {t1*, t2*, ..., tM-1*} podem ser elegidos maximizando uma variância entre classes modificada (σB’)2

39 Formulação alternativa do algoritmo de OTSU
(σB’)2 é definida como o somatório dos termos érminos do lado direito da expressão Em outras palabras, os valores dos limiares ótimos {t1*, t2*, ..., tM-1*} se elegem por

40 Formulação alternativa do algoritmo de OTSU
De acordo com o critério da expressão para σB2 e o da expressão para (σB’)2 para encontrar os limiares ótimos, o campo de busca para o máximo σB2 e para o máximo (σB’)2 é 1 ≤ t1 < L-M+1, t1+1 ≤ t2 < L-M+2, ..., e tM-1+1 ≤ tM-1 < L-1

41 Limitação da segmentação por limiarização
A limitação mais básica de técnicas de segmentação por histograma não fornecem informação espacial (apenas a distribuição do nível de cinza). Pode aparecer falsos elementos na segmentação (deixam restos de informações desnecessárias) ou perdem informações. Não permite definir objetos mas apenas conjuntos de pontos não necessariamente conexos (conectados entre eles) Necessidade de conhecer o número de classes Assim, abordagens em histogramas não exploram o importante fato de que os pixels que estão próximos possuem níveis e cinza similares

42 Segmentação orientada a regiões
Para superar essas limitações de métodos no domínio do valor, foram desenvolvidos métodos que operam no domínio do espaço e utilizam informações sobre: vizinhança de pixel variação de valor de pixel em uma vizinhança estatísticas sobre agrupamentos de pixel ...para gerar uma imagem resultante dividida em regiões.

43 Segmentação orientada a regiões
Idéia Particionar uma imagem em sub-regiões R1, R2,..., Rn

44 Formulação Básica A segmentação por regiões é o processo de particionar a imagem em n regiões R1, R2,..., Rn tal que: Todo pixel pertence a uma região ou Ri é uma região conexa, i =1,2,...,n Nenhum pixel pertence a mais de uma região

45 Segmentação por crescimento de regiões
Enquanto os métodos de detecção de borda utilizam a diferença de valores de pixel, ou seja, descontinuidades no nível de cinza da imagem, algoritmos como o de crescimento de regiões realizam uma busca por grupos de pixels com alguma propriedade de similaridade, caracterizando os pixels de uma área com brilho similar como pertencentes a uma mesma região. Inicialmente, o método começa com um pixel e, a partir daí, examina seus vizinhos, numa seqüência, para decidir se eles possuem brilho similar, segundo o critério de similaridade escolhido. Se os pixels vizinhos analisados forem aceitos como similares, então eles são agrupados ao pixel inicial (semente) para formar uma região. Desta forma, as regiões vão sendo desenvolvidas a partir de pixels sementes

46 Segmentação por crescimento de regiões
Uma forma melhorada é não começar com pixels, mas com uma partição da imagem em um conjunto de pequenas regiões. Um teste de uniformidade é, então, aplicado a cada região. Se o teste falhar, a região é subdividida em elementos menores até que todas regiões fiquem uniformes. Então, as regiões se desenvolveriam de regiões menores. A vantagem em usar pequenas regiões ao invés de pixels é a redução da sensibilidade ao ruído

47 Segmentação por crescimento de regiões
A segmentação por crescimento de regiões é um procedimento que agrupa pontos e pequenas sub-regiões da imagem em maiores regiões, de acordo com um critério de semelhança pré-definido. A escolha pelo critério de similaridade entre os pontos varia conforme a aplicação e o tipo de imagem sendo utilizada. Dentre os critérios mais utilizados destacam-se a intensidade luminosa, a textura e a cor dos pontos. Alguns outros critérios fornecem ao algoritmo uma certa inteligência para a reunião dos pontos, como analisar as propriedades de adjacência e conectividade dos mesmos enquanto forma-se a região.

48 Segmentação por crescimento de regiões
O algoritmo inicia com um pixel inicial chamado “semente” e a região cresce a partir de seu semente. O algoritmo agrupa para cada uma dessas sementes, os pixels vizinhos que possuem propriedades similares (nível de cinza, textura, etc.). Critérios para a parada do algoritmo costumam ser o tamanho e a forma das regiões formadas, assim como a similaridade de características de novos pontos para adentrar uma determinada região.

49 Segmentação por crescimento de regiões
O algoritmo inicia com um pixel, e "colecione" os pixels vizinhos que respondem a um critério de similaridade: Pequeno valor de variância Nível de cinza que responde a um certo limiar O pixel inicial é chamado "semente". A região « cresce" a partir de seu semente Um conhecimento a priori é útil para selecionar as sementes.

50 Segmentação por crescimento de regiões
Crescimento de regiões é uma técnica que agrupa pixels ou sub-regiões em uma região maior O caminho mais fácil é a agregação de pixels Inicia-se com pixels sementes para agrupar para cada uma dessas sementes, os pixels vizinhos que possuem propriedades similares (nível de cinza, textura, cor...)

51 Segmentação por crescimento de regiões
Sementes (3,2) e (3,4) 5 6 7 1 8 2 a b a Imagem Original Resultado da segmentação T=3 Resultado da segmentação T=7 A propriedade P utilizada para incluir um pixel dentre de uma certa região é que a diferença do valor absoluto entre o nível de cinza do semente e o nível de cinza de um certo pixel seja menor do limiar T Propriedade (P)  |I(x)-I(s)|<T I(s)  intensidade da semente

52 Segmentação por crescimento de regiões

53 Segmentação por crescimento de regiões
O primeiro passo do método é a determinação das sementes para o crescimento das regiões. As primeiras sementes são escolhidas baseado no valor de gradiente de cada pixel, utilizando o operador de Sobel, representado abaixo -1 1 -2 2 1 2 -1 -2

54 Segmentação por crescimento de regiões
Se o valor do Gradiente de um pixel for menor que um Threshold=0.3, este pixel provavelmente não estará em um contorno de objeto, e assim será uma semente para crescimento de regiões. Por questões de uniformidade na segmentação, a imagem é varrida de modo que de cada 10 em 10 pixels seja escolhida uma semente. O segundo passo, após escolhidas as sementes é, para cada semente, crescer a região. O pseudocódigo para este método é o seguinte:

55 Segmentação por crescimento de regiões
região=semente CrescerRegiao(pixel_x, pixel_y) Inicio Se pixel não pertence a região Diferença=|média de cor da região-média de cor do pixel| Se diferença < Threshold adiciona pixel a região CrescerRegiao(pixel_x, pixel_y-1) CrescerRegiao(pixel_x, pixel_y+1) CrescerRegiao(pixel_x-1, pixel_y) CrescerRegiao(pixel_x+1, pixel_y) Fim PintarRegiao Como resultado, temos a seguinte imagem segmentada

56 Segmentação: Crescimento de Região 1
240 120 220 70 Máscara:3x3 Semente: pixel centrado na máscara (x,y)

57 Segmentação por divisão e agrupamento de regiões Split and Merge
A segmentação por divisão e agrupamento de regiões aborda uma solução diferente para segmentação por regiões numa imagem digital.

58 Divisão e agrupamento de regiões
A idéia consiste em iniciar uma série de divisões sistemáticas na imagem original até alcançar inúmeras divisões distintas que formam regiões na imagem. Nestas divisões todos os pontos devem obedecer a um critério de similaridade para poderem manter-se agrupados. A estrutura de dados mais utilizada para representar as divisões na imagem são as árvores do tipo “Quadtree” que divide sempre a imagem em 4 partes iguais.

59 Divisão e agrupamento de regiões
A idéia consiste em iniciar uma série de divisões sistemáticas na imagem original até alcançar inúmeras divisões distintas que formam regiões na imagem. Nestas divisões todos os pontos devem obedecer a um critério de similaridade para poderem manter-se agrupados. A estrutura de dados mais utilizada para representar as divisões na imagem são as árvores do tipo “Quadtree” que divide sempre a imagem em 4 partes iguais.

60 Algoritmo (Split) Seja I a imagem original;
Define-se uma função de similaridade S sobre uma determinada região; Supõe-se que S(I)=falso então divide-se a imagem em n sub-regiões (n=4) para efetuar o teste de similaridade novamente; Aplica-se o teste em cada uma das 4 sub-regiões Se para alguma região, o teste é falso, divide-se novamente em 4 sub-regiões; Prossegue-se dessa forma até que todas as regiões R da imagem resultem em S(R)=verdadeiro.

61 Algoritmo (Split) Idealmente, se a imagem I contém n objetos na sua representação original, então a versão dividida resulta em 4 regiões; O pior caso ocorre quando o algoritmo pára, porque chegou a um ponto indivisível (um pixel); Uma função de similaridade é definir um valor do limiar T ; Se  < T a região é homogênea e o Split não é necessário.

62 Algoritmo 1 2 3 4 5 6 7

63 Algoritmo (Merge) A parte do algoritmo Split sem usar o Merge é incompleta; A divisão em 4 novas regiões não leva em conta a relação dos pixels em regiões diferentes; Pode acontecer que algum ponto de duas regiões sejam similares e o algoritmo Split não seja capaz de resolver isso; Para resolver este problema, utiliza-se o agrupamento de regiões; Neste sentido, uma função de similaridade compara todos os pares de regiões adjacentes.

64 Algoritmo (Merge) Se os pares de regiões forem similares é feita uma junção (agrupamento) entre elas formando apenas um região; A função de similaridade a utilizar pode ser a mesma utilizada no Split; Um outra alternativa é utilizar a diferença de valores médios e compará-lo com um limiar T; Se (Media1 - Media2) < T então as funções são similares e realiza-se a junção das duas regiões.


Carregar ppt "Processamento de Imagens e Computação Gráfica"

Apresentações semelhantes


Anúncios Google