Em visão computacional, segmentação se refere ao processo de dividir uma imagem digital em múltiplas regiões (conjunto de pixels) ou objetos, com o objetivo de simplificar e/ou mudar a representação de uma imagem para facilitar a sua análise.[Gonzalez, R. and Woods, R.E. (2008) Digital Image Processing, 3rd ed. Pearson Education, New Jersey. 954p.] Segmentação de imagens é tipicamente usada para localizar objetos e formas (linhas, curvas, etc) em imagens. </p> O resultado da segmentação de imagens é um conjunto de regiões/objetos ou um conjunto de contornos extraídos da imagem (ver detecção de borda). Como resultado, cada um dos pixels em uma mesma região é similar com referência a alguma característica ou propriedade computacional, tais como cor, intensidade, textura ou continuidade. Regiões adjacentes devem possuir diferenças significativas com respeito a mesma característica(s).

Tipos de Segmentação Baseadas em Formatos Detecção de Descontinuidades; Detecção de Pontos; Detecção de Linhas; Detecção de Bordas.

Baseadas em Características dos Pixels Segmentação de Cores; Segmentação de Intensidades.

Baseadas no Histograma Utilizando movimento

Classificação Os processos de segmentação podem ser classificados como automáticos, manuais ou semiautomáticos, sendo diferenciados pela fato de haver ou não intervenção humana. Nos processos automáticos todas as etapas são realizadas sem a ação humana. Geralmente são muito utilizados por robôs que tomam decisões a partir da interpretação das imagens obtidas, como exemplo tem-se a aplicação nos carros autônomos. Nos processos de segmentação manual, por outro lado, toda a segmentação é feita com o auxílio do usuário, cabendo a ele utilizar as ferramentas e técnicas que melhor se adequem a imagem e a sua necessidade, é frequentemente usada em situações muito específicas onde as condições exteriores como luminosidade e ruídos prejudiquem o uso dos algoritmos tradicionais, também é muito utilizada ao se fazer testes que buscam a melhoria e aperfeiçoamento das técnicas. Os processos semiautomáticos, por sua vez, contém etapas feitas automaticamente e etapas manuais, são na maioria das vezes utilizados quando em alguma etapa específica os processos automáticos não trouxeram bons resultados. É amplamente utilizado na medicina no diagnóstico de doenças.

Além dos processos tradicionais de segmentação, existem também métodos de segmentação treináveis que, através de Redes Neurais, permitem modelar conhecimentos humanos utilizados na segmentação manual sem que para isso seja necessário um imenso banco de dados. A segmentação treinável provém do processamento de pequenas áreas de uma imagem utilizando-se umaMahinda Pathegama & Ö Göl (2004): "Edge-end pixel extraction for edge-based image segmentation", Transactions on Engineering, Computing and Technology, vol. 2, pp 213-216, ISSN 1305-5313 ou um conjunto de redes neurais. Após esse processamento, o mecanismo de tomada de decisão distingue as áreas da imagem de acordo com a categoria identificada pela rede neural. As PCNNs (Pulse-Coupled Neural Networks) são as redes neurais comumente utilizadas em segmentação de imagem, atuam de maneira com que cada neurônio na rede corresponda a um pixel, que recebe as informações de cor deste como um estímulo externo. Cada neurônio também se conecta com os neurônios vizinhos, recebendo estímulos locais deles. Estes estímulos são combinados em um sistema de ativação, que os acumula até que se exceda um limiar dinâmico, resultando em uma saída de pulso. As PCNNs possuem vantagens significativas comparadas aos meios convencionais de processamento de imagem como, por exemplo, robustez contra ruídos, entre outros.

Vários algoritmos e técnicas de segmentação de imagens foram desenvolvidos, não havendo porém uma solução geral para este problema. Muitas vezes para a resolução de um problema de segmentação de imagem é necessário a combinação das técnicas de modo à sua adaptação ao domínio do problema, realizando portanto um pré-processamento da imagem antes da segmentação.

Métodos de pré-processamento da imagem

Thresholding Um dos métodos mais simples de segmentação de imagens, o thresholding é um algoritmo que após determinar um valor constante de intensidade, ele analisará cada pixel da imagem. Se a intensidade do pixel for maior que o valor devido o pixel passará a ser branco, se for menor será preto, fazendo assim uma imagem binaria.

Como exemplo a imagem abaixo apresenta diversos tons diferentes. centro|miniaturadaimagem|172x172px|Imagem original. Com a utilização do método com um valor de constante de intensidade de 121, obtém-se a imagem a seguir, e abaixo dela está o histograma obtido pelo Software Fiji. centro|miniaturadaimagem|177x177px|Após utilização de thresholding. centro|miniaturadaimagem|176x176px|Histograma da imagem.As técnicas de segmentação via Thresholding são tipicamente agrupadas em duas classes: thresholding local (comumente referido como adaptativo), e thresholding global. O primeiro consiste em aplicar diferentes níveis de threshold para cada ponto da imagem, de maneira a dividir a figura original em diversos "alvos" menores e processá-los individualmente, segundo suas particularidades. O segundo, como sugerido por sua denominação, consiste em aplicar um único nível de threshold para a imagem inteira.

Vários métodos populares são usados ​​na indústria, incluindo o método de entropia máxima, o método de Otsu (variância máxima) e o agrupamento k-means.

Recentemente, métodos foram desenvolvidos para imagens de tomografia computorizada (CT) por thresholding. A ideia chave é que, ao contrário do método de Otsu, os limiares são derivados das radiografias em vez da imagem (reconstruída).

Novos métodos sugeriram o uso de limiares não-lineares baseados em regras fuzzy multidimensionais. Nestes trabalhos a decisão sobre a adesão de cada pixel a um segmento é baseada em regras multidimensionais derivadas de lógica difusa e algoritmos evolutivos baseados em ambiente de iluminação de imagem e aplicação. Exemplo de uso Objetivo: Isolar a informação de temperatura mostrada no display.

Podemos notar que após a realização do threshold (parâmetros: 1 para valores maiores que 7; 0 para valores menores que 7), foi possível a obtenção da informação de temperatura de maneira isolada do resto da imagem.

Fusão de Região Estatística (Statistical Region Merging SRM) O método de fusão da região estatística (SRM) começa construindo o gráfico de pixels usando conectividade 4 com bordas ponderadas pelo valor absoluto da diferença de intensidade. Inicialmente, cada pixel forma uma única região de pixels. Em seguida, o SRM classifica essas arestas em uma fila de prioridade e decide se deseja mesclar ou não as regiões atuais que pertencem aos pixels da aresta usando um predicado estatístico .

Na fusão da região, as regiões são conjuntos de pixels com propriedades homogêneas e são iterativamente crescidas combinando regiões ou pixels menores, sendo os pixels regiões elementares (primordiais). Técnicas de crescimento/fusão de regiões geralmente trabalham com um teste estatístico para decidir a fusão de regiões "S.-C. Zhu and A. Yuille, “Region Competition: Unifying Snakes, Region Growing, and Bayes/MDL for Multiband Image Segmentation,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 18, pp. 884-900, 1996.". Um predicado de mesclagem usa esse teste e cria a segmentação com base em (essencialmente) decisões locais. Este local de decisões deve preservar propriedades globais, como os responsáveis ​​pelas unidades perceptivas da imagem "P.F. Felzenszwalb and D.P. Huttenlocher, “Image Segmentation Using Local Variations,” Proc. IEEE Int’l Conf. Computer Vision and Pattern Recognition, pp. 98-104, 1998.".

318x318px|Uma imagem em RGB e a segmentação encontrada pelo método SRM .|direita

Na figura ao lado (do lado esquerdo), a região gramada abaixo do castelo é uma dessas unidades, mesmo quando sua variabilidade é alta em comparação com as outras regiões da imagem. Nesse caso, um algoritmo razoável de mesclagem de região tem que encontrar um bom equilíbrio entre preservar esta unidade somado ao risco de overmerging para as regiões restantes. A figura da direita mostra o resultado de tal abordagem.

Baseados em Histograma Os métodos baseados em histograma são muito eficientes em comparação com outros métodos de segmentação de imagem, porque eles normalmente exigem apenas uma passagem pelos pixels. Nesta técnica, um histograma é calculado a partir de todos os pixels da imagem, e os picos e vales no histograma são usados ​​para localizar os clusters na imagem. Cor ou intensidade pode ser usada como medida.

Um refinamento dessa técnica é recursivamente aplicar o método de busca de histograma a clusters na imagem, a fim de dividi-los em clusters menores. Essa operação é repetida com clusters menores e menores até que não mais clusters sejam formados.

Uma desvantagem do método de busca de histograma é que pode ser difícil identificar picos e vales significativos na imagem.

As abordagens baseadas em histograma também podem ser rapidamente adaptadas para se aplicarem a vários quadros, mantendo sua eficiência de passagem única. O histograma pode ser feito de várias formas quando vários quadros são considerados. A mesma abordagem que é tomada com um quadro pode ser aplicada a múltiplos e, após os resultados serem mesclados, os picos e vales que anteriormente eram difíceis de identificar têm maior probabilidade de serem distinguíveis. O histograma também pode ser aplicado em pixels por pixel, onde as informações resultantes são usadas para determinar a cor mais frequente da localização do pixel. Essa abordagem segmenta com base em objetos ativos e em um ambiente estático, resultando em um tipo diferente de segmentação útil no acompanhamento de vídeo.

Bordas Nos métodos de segmentação orientados por bordas, a imagem é segmentada por meio da identificação das bordas ou transições no objeto. Esta abordagem procura explorar o fato de que há uma transmissão detectável entre duas regiões relacionadas, alguns métodos como os mais antigos usam operadores como, por o exemplo, o filtro de Canny, que é um algoritmo usado para detecção de contorno), para destacar os pixels que parecem pertencer a um contorno.

Os limites de regiões e as bordas estão intimamente relacionados, pois há frequentemente uma forte transição de intensidade nos limites da regiões. E por isso, as técnicas de detecção de bordas podem ser usadas como técnicas de segmentação. As regiões identificadas pela detecção de bordas são, as vezes, desconectadas, por isso, para segmentar um objeto de uma imagem, é necessário que as bordas formem figuras fechadas.

Para detecção, podem ser usados métodos como o operador Sobel e o operador Laplace, com esses operadores e o uso de gradiente, os pixels que pertencem a borda das imagens podem ser encontrados. Mas mesmo com esses operadores, eles geralmente são fracos e devem ser complementados por um algoritmo de rastreamento das bordas.

Agrupamento (Clustering) Consiste em particionar os dados individuais contidos na imagem alvo de acordo à suas características mais evidentes, tais como intensidade, valores em RGB, dimensões, distância euclidiana em relação ao próximo dado, ou outras propriedades. As regiões agrupadas são chamadas de “clusters”.

Diversos algoritmos são comumente implementados com o objetivo de segmentar imagens através desse princípio, o mais conhecido deles é o de k-médias.

Nele, um conjunto de pontos iniciais é determinado para representar os grupos (aleatoriamente, ou através de um método escolhido pelo programador) e cada pixel da imagem é então atribuído ao grupo cuja distância euclidiana entre o pixel e a média do grupo seja mínima, a média do grupo é então calculada novamente e o processo se repete, até que nenhum pixel mude de grupo durante a iteração.