Segmentação de Imagens


Veja como executar uma Segmentação no SPRING.

A classificação estatística é o procedimento convencional mais utilizado para análise digital de imagens. Constitui um processo de análise de pixels de forma isolada.

Esta abordagem apresenta a limitação da análise pontual ser baseada unicamente em atributos espectrais. Para superar estas limitações, propõe-se o uso de segmentação de imagem, anterior à fase de classificação, onde são extraídos os objetos relevantes para a aplicação desejada.

Neste processo, divide-se a imagem em regiões que devem corresponder às áreas de interesse da aplicação. Entende-se por regiões, um conjunto de "pixels" contíguos, que se espalham bidirecionalmente e que apresentam uniformidade

A divisão em porções, consiste basicamente em um processo de crescimento de regiões, de detecção de bordas ou de detecção de bacias. Seguem as descrições.

Crescimento de Regiões

É uma técnica de agrupamento de dados, na qual somente as regiões adjacentes, espacialmente, podem ser agrupadas.

Inicialmente, este processo de segmentação rotula cada "pixel" como uma região distinta. Calcula-se um critério de similaridade para cada par de região adjacente espacialmente. O critério de similaridade baseia-se em um teste de hipótese estatístico que testa a média entre as regiões. A seguir, divide-se a imagem em um conjunto de sub-imagens e então realiza-se a união entre elas, segundo um limiar de agregação definido.

Para a união de duas regiões A e B vizinhas, deve-se adotar o seguinte critério:

Se A e B satisfazem os critérios acima, estas regiões são agregadas, caso contrário, o sistema reinicia o processo de teste de agregação.

Detecção de Bacias

A classificação por detecção de bacias é feita sobre uma imagem resultante da extração de bordas.

A extração de bordas é realizada por um algoritmo de detecção de bordas, ou seja, pelo filtro de Sobel. Este algoritmo considera os gradientes de nível de cinza da imagem original, para gerar uma imagem gradiente ou imagem de intensidade de borda.

O algorítmo calcula um limiar para a perseguição de bordas. Quando ele encontra um "pixel" com valor superior ao limiar estabelecido, tem início o processo de perseguição da borda. Observa-se a vizinhança para identificar o próximo "pixel" de maior valor de nível digital e segue-se nesta direção, até que se encontre outra borda ou a fronteira da imagem. Deste processo gera-se uma imagem binária com os valores de 1 referentes às bordas e 0, para as regiões de não-bordas.

A imagem binária será rotulada de modo que as porções da imagem com valores 0 constituam regiões limitadas pelos valores 1 da imagem, formando a imagem rotulada.

O procedimento de segmentação por detecção de bacias pressupõe uma representação topográfica para a imagem, ou seja, para uma dada imagem gradiente, o valor de nível digital de cada "pixel" equivale a um valor de elevação naquele ponto. A imagem equivaleria à uma superfície topográfica com feições de relevo ou uma região com bacias de diferentes profundidades.

O crescimento de uma região equivaleria à imersão da superfície topográfica em um lago. Define-se um altura inicial (nível digital) para o preenchimento das bacias (limiar). A "água" preencherá progressivamente as diferentes bacias da imagem até um limiar definido pela topografia (valor de nível digital). Ao alcançar o limite, define-se uma barreira entre duas regiões. O processo de preenchimento continua em outra direção até atingir um novo limite topográfico, definindo-se mais uma barreira, e assim sucessivamente até que todas as barreiras tenham sido definidas.

O resultado é uma imagem rotulada, com cada região apresentando um rótulo (valor de nível digital), e que deve ser classificada com classificadores de região.

Consulte também:
Outras técnicas de Processamento de Imagem.
Como executar uma Segmentação.