Correlação Cruzada (Template Matching)

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

A correlação cruzada é uma técnica fundamental para localizar padrões. Ela compara um template (padrão) com a imagem alvo. Primeiramente, o template desliza sobre toda a imagem. Em cada posição, calcula-se uma medida de similaridade. A correlação simples usa o produto interno entre template e subimagem. Valores altos indicam boa correspondência local. Por exemplo, busca-se um olho em uma imagem de rosto. Contudo, a correlação simples é sensível à amplitude dos pixels. Portanto, usa-se o coeficiente de correlação normalizado. Este coeficiente varia entre -1 e +1, sendo invariante a mudanças de brilho e contraste.

coeficiente de correlação normalizado

O coeficiente de correlação normalizado resolve os problemas de amplitude. Primeiramente, ele subtrai a média do template e da subimagem. Em seguida, normaliza pelo desvio padrão de ambos. A fórmula resultante é robusta a mudanças lineares de iluminação. Por exemplo, mesmo com brilho variável, o padrão ainda é encontrado. O coeficiente igual a 1 indica correspondência perfeita. O coeficiente igual a -1 indica correspondência negativa perfeita (inverso). Valores próximos de 0 indicam nenhuma correlação. Portanto, este coeficiente é a escolha padrão em template matching. Ele é implementado pela função normxcorr2 no MATLAB, por exemplo.

aplicações práticas do template matching

O template matching possui diversas aplicações práticas importantes. Primeiramente, ele é usado em sistemas de inspeção industrial. Por exemplo, verificar se todos os componentes estão em uma placa de circuito. Outra aplicação é na detecção de objetos em imagens médicas. Por exemplo, localizar um tumor em uma sequência de ressonâncias. O método também é útil em sistemas de visão robótica. Robôs podem localizar peças em uma esteira de produção. Além disso, o template matching é usado em sistemas de vigilância. Por exemplo, rastrear um veículo específico em imagens de câmeras. Contudo, o método não é invariante à rotação ou escala. Portanto, o template deve estar na mesma orientação e tamanho do objeto alvo.

limitações e quando utilizar outras abordagens

O template matching tem limitações significativas que merecem atenção. Primeiramente, ele não é invariante à rotação do objeto. Um template rotacionado não será detectado corretamente. Além disso, o método também falha com mudanças de escala. Objetos maiores ou menores que o template passam despercebidos. Outra limitação é a sensibilidade a oclusões parciais. Se parte do objeto estiver escondida, a correlação diminui drasticamente. Para estes casos, utilize métodos mais avançados. Por exemplo, SIFT ou SURF são invariantes à rotação e escala. Redes neurais convolucionais também resolvem estes problemas. Portanto, escolha template matching apenas para cenários controlados. Quando a orientação, escala e iluminação forem constantes, ele oferece uma solução simples e eficaz.

Deixe um comentário