640 likes | 738 Views
Processamento de Imagens e Computação Gráfica. Prof. Dr. Kamel Bensebaa. Aula 6. 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
E N D
Processamento de Imagens e Computação Gráfica Prof. Dr. Kamel Bensebaa Aula 6
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
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
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
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 • ...
Limiarização Crescimento de regiões Split and Merge Segmentação por regiões
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.
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:
Segmentação por limiarização O resultado de uma limiarização com apenas duas classes é chamada binarização
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.
Segmentação por limiarização Limiarização multiníveis Objeto claro em fundo escuro Dois objetos de intensidade diferentes em fundo escuro
com Coordonadas do pixel Propriedade local do pixel Segmentação por limiarização Imagem
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:
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)]).
com Coordonadas do pixel Propriedade local do pixel Segmentação por limiarização Imagem
Limiarizaçãodinâmica 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 global • Escolher o limiar T na posição do vale: T=13 • Aplicar o limiar encontrado a cada pixel da imagem
Limiarização local O limiar é o valor médio de uma Janela 5x5 centralizada em (x,y)
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,...)
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
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
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.
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
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
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 • é probabilidade do grupo • é média do grupo • é média do grupo • é média total do histograma • é o nível de cinza
Algoritmo de limiarização de OTSU - Exemplo • Supõe-seuma 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=2de maneira que a classe C1consista em tons de cinza 1 e 2, e a classe C2possui os tons 3 e 4.
Algoritmo de limiarização de OTSU - Exemplo • ω1(t)=0.1+0.2=0.3e ω2(t)=0.3+0.4=0.7 • Se comprova que ω1(t)+ω2(t)=1. • Finalmente, a média para a classe C1e para a classe C2édada por:
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
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
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
Algoritmo de limiarização de OTSU – Múltiplos limiares onde com
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 é,
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,
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
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
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
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
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.
Segmentação orientada a regiões • Idéia • Particionar uma imagem em sub-regiões R1, R2,..., Rn
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
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
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
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.
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.
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.
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...)