Classificador de Mínima Distância (Prototype Matching)

programador
1.1.2.4 – Redes Neurais – Visao Computacional
1.1.2.4.3 – Classificacao de Padroes (Pattern Classification)
1.1.2.4.3.1 – Classificador de Minima Distancia (Prototype Matching)
1.1.2.4.3.2 – Correlacao Cruzada (Template Matching)
1.1.2.4.3.3 – Classificador Bayesiano (Optimo)
1.1.2.4.3.4 – K-Vizinhos Mais Proximos (K-NN)
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O classificador de mínima distância é a abordagem mais intuitiva em reconhecimento de padrões. Primeiramente, ele armazena um protótipo (vetor médio) para cada classe. Um padrão desconhecido é comparado com todos os protótipos. O algoritmo calcula a distância euclidiana entre o padrão e cada protótipo. Em seguida, ele atribui o padrão à classe do protótipo mais próximo. Por exemplo, o sistema E-13B de leitura de cheques usa esta técnica. Caracteres são projetados para maximizar a separação entre classes. Consequentemente, um classificador simples funciona com altíssima precisão. Portanto, este método é ideal quando as classes são bem separadas e os dados são limpos.

fundamento matemático e função discriminante

A função discriminante do classificador é linear e de fácil implementação. Primeiramente, calcula-se o termo (m_j)^T * x para cada classe j. Subtrai-se então (1/2)*(m_j)^T * m_j deste resultado. A classe com o maior valor desta função vence a classificação. Equivalentemente, pode-se minimizar a distância euclidiana ao quadrado. A fórmula equivalente é ||x – m_j||² = x^Tx – 2(m_j^T x) + m_j^T m_j. O termo x^Tx é comum a todas as classes e pode ser ignorado. Portanto, maximizar m_j^T x – (1/2) m_j^T m_j é o mesmo que minimizar a distância. As superfícies de decisão são hiperplanos que bisseccionam as linhas entre os centros das classes.

vantagens e limitações do método

O classificador de mínima distância oferece várias vantagens importantes. Primeiramente, ele é extremamente simples de implementar e entender. Além disso, seu treinamento é muito rápido: apenas calcular as médias. O método também é computacionalmente leve durante a classificação. Por exemplo, sistemas embarcados e de tempo real o utilizam. Contudo, ele tem limitações significativas. A principal é a suposição de que as classes são esféricas (mesma variância em todas as direções). Quando as classes têm formas alongadas ou orientações diferentes, o método falha. Outra limitação é a sensibilidade a outliers (pontos extremos). Um único ponto distante pode deslocar significativamente a média da classe. Portanto, dados de treinamento devem ser cuidadosamente limpos.

quando utilizar o classificador de mínima distância

Utilize este classificador quando as classes forem bem separadas e compactas. Por exemplo, reconhecimento de caracteres impressos com fontes padronizadas. Outra aplicação é na classificação de frutas por cor e tamanho em esteiras industriais. O método também funciona bem como baseline para problemas mais complexos. Contudo, evite-o quando as classes tiverem formas alongadas ou sobrepostas. Nestes casos, o classificador Bayesiano ou redes neurais são mais adequados. Além disso, normalize os dados para que todas as características tenham a mesma escala. Características com escalas muito diferentes dominarão a distância indevidamente. Em resumo, escolha a mínima distância pela sua simplicidade, velocidade e facilidade de implementação. Ela é uma excelente primeira tentativa em muitos problemas de classificação.

Watershed

programador
1.1.2.4 – Redes Neurais – Visao Computacional
1.1.2.4.2 – Segmentacao de Imagens
1.1.2.4.2.3 – Crescimento de Regiao (Region Growing)
1.1.2.4.2.4 – Corte de Grafos (Graph Cuts)
1.1.2.4.2.5 – Watershed
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O algoritmo watershed é uma técnica poderosa de segmentação. Ele inspira-se na topografia e no fluxo da água. Primeiramente, a imagem é interpretada como um relevo tridimensional. A intensidade de cada pixel representa a altitude. Regiões escuras são vales (mínimos locais). Regiões claras, por outro lado, são montanhas (máximos locais). O algoritmo simula a inundação a partir dos vales. A água sobe gradualmente e preenche as bacias de captação. Barreiras são construídas onde bacias diferentes se encontram. Estas barreiras formam as linhas de watershed (divisores de água). Consequentemente, o algoritmo segmenta a imagem em regiões distintas.

funcionamento do algoritmo de inundação

O algoritmo de inundação ocorre em níveis crescentes de intensidade. Primeiramente, identificam-se todos os mínimos locais da imagem. Cada mínimo local torna-se uma “semente” de uma bacia. Em seguida, a água sobe uniformemente a partir destas sementes. Quando águas de bacias diferentes estão prestes a se encontrar, uma barreira é construída. Este processo continua até que toda a imagem seja inundada. As barreiras finais são as linhas de watershed. Por exemplo, o algoritmo separa objetos que se tocam. Células em uma lâmina de microscopia são um caso clássico. O resultado são contornos fechados de um pixel de espessura.

desafios: oversegmentation e uso de marcadores

O watershed sofre com um problema conhecido: oversegmentation. Ruído e texturas criam muitos mínimos locais falsos. Consequentemente, o algoritmo produz centenas de pequenas regiões indesejadas. Uma solução eficaz é o uso de marcadores (markers). Primeiramente, o usuário ou um pré-processamento identifica os objetos de interesse. Estes objetos tornam-se os únicos mínimos permitidos. Por exemplo, pode-se usar a abertura morfológica para remover ruídos. Em seguida, o algoritmo watershed roda apenas com estes marcadores. O resultado elimina a oversegmentation e segmenta apenas os objetos desejados. Portanto, marcadores são essenciais para aplicações práticas.

quando utilizar o algoritmo watershed

Utilize o watershed quando precisar separar objetos que se tocam. Por exemplo, células em imagens biológicas ou bolhas em líquidos. Outra aplicação é na segmentação de relevos em imagens de satélite. O algoritmo também é útil para extrair contornos de objetos irregulares. Contudo, evite o watershed em imagens muito ruidosas sem pré-processamento. A oversegmentation torna o resultado inútil sem o uso de marcadores. Combine o watershed com operadores morfológicos para melhores resultados. Por exemplo, use a abertura para remover ruídos e o fechamento para conectar regiões. Além disso, o gradiente morfológico da imagem é frequentemente usado como entrada. Em resumo, escolha o watershed quando a topografia da imagem for relevante e os objetos se tocarem.