Conheça o YOLO26: IA de visão de próxima geração.
Ultralytics
Guias

O que é template matching? Um guia rápido

Explora a técnica de processamento de imagem referida como template matching, como funciona e o seu significado na história da visão computacional

ABAbirami Vina
5 min read
Um exemplo de template matching em processamento de imagem

As imagens frequentemente contêm muitos detalhes minuciosos que os humanos conseguem identificar facilmente. No entanto, para as máquinas, essa tarefa não é tão simples. As máquinas percebem uma imagem digital como uma grade de valores de pixel, e até mesmo pequenas mudanças na iluminação, ângulo, escala ou nitidez podem ser confusas.

As capacidades de análise de imagem de uma máquina geralmente derivam de dois campos da ciência da computação intimamente relacionados: processamento de imagem e visão computacional. Embora trabalhem juntos com frequência, eles possuem propósitos centrais diferentes.

Processamento de imagem foca nas imagens como dados brutos. Ele pode aprimorar imagens, mas não tenta entender seu conteúdo. É aí que a visão computacional faz a diferença. A visão computacional é um ramo da inteligência artificial (IA) que permite às máquinas entender imagens e vídeos.

O processamento básico de imagem existe há muitos anos, mas as inovações de ponta em visão computacional são muito mais recentes. Uma ótima maneira de entender a história do campo é olhar para trás, para como costumávamos resolver esses problemas usando métodos mais antigos e tradicionais.

Veja a correspondência de imagem, por exemplo. É uma tarefa de visão comum onde um sistema precisa descobrir se um objeto ou padrão específico existe dentro de uma imagem maior.

Hoje em dia, isso pode ser feito de forma fácil e precisa usando IA e aprendizado profundo (deep learning). No entanto, antes da ascensão das redes neurais modernas na década de 2010, o método preferido era uma técnica muito mais simples chamada correspondência de modelo (template matching).

Um exemplo de correspondência de modelos (template matching)

Fig 1. Um exemplo de correspondência de modelo (Fonte)

A correspondência de modelo é uma técnica de processamento de imagem onde uma pequena imagem de modelo é deslizada sobre uma imagem maior pixel por pixel. Esse processo de deslizamento semelhante a uma convolução permite que o algoritmo encontre a localização que mais se aproxima daquele padrão específico.

Neste artigo, exploraremos o que é a correspondência de modelo e como melhorias modernas a tornam mais confiável em situações do mundo real. Vamos começar!

Link to this sectionO que é correspondência de modelo?#

A correspondência de modelo também pode ser chamada de técnica clássica de visão computacional, o que significa que ela trabalha diretamente com os pixels da imagem (a menor unidade de uma imagem digital). Ela é usada para encontrar um padrão menor dentro de uma imagem maior.

Métodos como este são definidos usando geometria, óptica e regras matemáticas, em vez de treinar grandes modelos em conjuntos de dados massivos. Em outras palavras, um sistema de correspondência de modelo compara o brilho, a cor e outras informações de pixel em duas entradas: a imagem de entrada (a imagem maior) e uma imagem de modelo menor (o padrão a ser encontrado).

Imagem A e Imagem B como exemplos de modelos (templates)

Fig 2. A Imagem A e a Imagem B são exemplos de modelos. (Fonte)

O objetivo principal da correspondência de modelo é localizar onde o modelo aparece na cena maior e medir o quão próximo ele coincide com diferentes regiões da imagem. O algoritmo de correspondência de modelo faz isso deslizando o modelo sobre a imagem maior e calculando uma pontuação de similaridade em cada posição.

Regiões com pontuações mais altas são consideradas a melhor correspondência, significando que elas se assemelham muito ao modelo. Como este método depende de comparações pixel a pixel, ele funciona melhor em ambientes controlados, onde a aparência dos objetos não muda.

Por exemplo, a correspondência de modelo pode ser usada em tarefas de verificação de etiquetas no controle de qualidade. Ela pode facilmente combinar a imagem de modelo das etiquetas com imagens do produto acabado para verificar se as etiquetas estão presentes ou não.

Link to this sectionComo funciona a correspondência de modelo#

Aqui está uma visão geral passo a passo de como funciona a correspondência de modelo:

  • Passo 1 - Preparando as imagens: O processo começa carregando a imagem de entrada e a imagem de modelo, convertendo ambas para uma imagem em tons de cinza. Como a correspondência de modelo depende da comparação de valores de pixel, remover informações de cor reduz o ruído e acelera o processamento de imagem.

  • Passo 2 - Deslizando o modelo sobre a imagem: Em seguida, o algoritmo de correspondência de modelo desliza o modelo sobre a imagem maior, um pixel de cada vez (começando pelo canto superior esquerdo). Cada passo neste movimento é uma iteração, onde o algoritmo extrai um trecho de imagem da imagem de origem que corresponde ao tamanho do modelo.

  • Passo 3 - Medindo a qualidade da correspondência: Cada trecho de imagem é comparado com o modelo usando um método de correspondência matemática para gerar uma métrica de correlação ou valor de correlação para todas as posições possíveis. Abordagens comuns incluem diferenças quadradas (que medem a distância numérica entre intensidades de pixel para calcular a incompatibilidade total), correlação cruzada normalizada (que multiplica valores de pixel para determinar quão bem os padrões de luz e sombra se alinham) e o coeficiente de correlação (que subtrai o brilho médio para garantir que a correspondência permaneça precisa mesmo se a iluminação mudar um pouco).

  • Passo 4 - Identificando a melhor correspondência: Após avaliar todas as posições, o algoritmo seleciona a melhor correspondência encontrando o valor máximo ou mínimo, dependendo do método utilizado. Um limite (threshold) é frequentemente aplicado a esses resultados para garantir que apenas correspondências com uma pontuação de confiança alta o suficiente sejam aceitas, filtrando detecções fracas ou incorretas.

  • Passo 5 - Destacando o resultado: Finalmente, a localização detectada é mapeada de volta para a imagem original. Normalmente, uma caixa delimitadora (bounding box) é desenhada ao redor da região correspondente, mostrando claramente onde o modelo aparece.

Link to this sectionPraticando com a correspondência de modelo#

Embora a correspondência de modelo baseada em processamento de imagem não seja geralmente usada em implantações de soluções dinâmicas de visão computacional do mundo real devido às suas limitações, se você estiver interessado em testá-la, bibliotecas de Python como OpenCV tornam esse processo direto e também oferecem tutoriais fáceis de seguir. Ela possui uma função matchTemplate integrada que lida com as comparações matemáticas complexas.

Além disso, ela suporta outras funções que ajudam em tarefas simples, como carregar imagens usando a função imread e converter cores usando a função cvtColor para transformar imagens em tons de cinza. A conversão de cores é uma etapa crítica porque reduzir uma imagem a um único canal de intensidade torna a comparação matemática dentro do matchTemplate muito mais rápida e menos sensível ao ruído de cor.

Assim que você gerar o mapa de similaridade, a OpenCV também inclui uma função minMaxLoc para finalizar a detecção. Ela pode ser usada para escanear todo o mapa e identificar os valores globais mínimos e máximos, junto com suas coordenadas exatas. Dependendo do método de correspondência usado, o minMaxLoc permite localizar instantaneamente a melhor correspondência encontrando a maior correlação ou o menor valor de erro nos dados.

Além da OpenCV, bibliotecas como NumPy são essenciais para manipular os arrays de imagem e aplicar um limite aos resultados, enquanto a Matplotlib é comumente usada para visualizar o mapa de similaridade e a detecção final. Juntas, essas ferramentas fornecem um ambiente completo para criar e depurar uma solução de correspondência de modelo.

Link to this sectionAplicações reais da correspondência de modelo#

Agora que temos uma compreensão melhor de como a correspondência de modelo funciona, vamos dar uma olhada mais de perto em sua aplicação em cenários do mundo real.

Link to this sectionIdentificando estilos arquitetônicos tradicionais#

Em patrimônio cultural e estudos arquitetônicos, pesquisadores precisam analisar fotografias de edifícios históricos, templos e monumentos para entender como os padrões de design variam entre as regiões. Antes que modelos avançados de visão computacional fossem amplamente adotados, eles usavam técnicas de correspondência de imagem para estudar tais estruturas.

A correspondência de modelo permite que os pesquisadores foquem em pistas arquitetônicas específicas, como contornos de telhados, arranjos de janelas ou motivos de paredes. Deslizando modelos ou imagens de referência sobre imagens maiores, eles conseguem identificar formas recorrentes e reduzir a análise manual de imagens, que pode levar horas.

Um exemplo interessante vem de um estudo relacionado a casas tradicionais da Indonésia. Os pesquisadores criaram pequenos modelos de características marcantes e os compararam com fotografias em escala real. Essa abordagem foi usada para destacar regiões da imagem que coincidiam estreitamente com o modelo e classificar estilos arquitetônicos entre as regiões.

Uso de correspondência de modelos para classificar casas tradicionais na Indonésia

Fig 3. Usando correspondência de modelo para classificar casas tradicionais na Indonésia (Fonte)

Link to this sectionDetecção de objetos em sistemas de visão industrial#

Ambientes industriais podem se beneficiar de sistemas de visão que consigam detectar componentes rapidamente, verificar montagens ou identificar defeitos. Antes que o aprendizado profundo se tornasse difundido na manufatura, muitas equipes experimentaram métodos de correspondência de imagem para automatizar essas tarefas.

Simplificando, um modelo de referência de componente pode ser usado para escanear imagens de uma linha de produção e destacar regiões que correspondem ao modelo. Isso funciona bem quando as peças aparecem em posições consistentes e a iluminação é estável.

Link to this sectionCorrespondência de modelo para detecção de tumor pulmonar#

Mesmo com tecnologias de ponta causando impacto na saúde, diagnosticar problemas de saúde a partir de imagens médicas, como tomografias, ainda é desafiador. Tradicionalmente, os radiologistas precisavam revisar manualmente cada fatia de exame, um processo que exige extrema precisão e tempo significativo.

Antes que o aprendizado profundo fosse aplicado na saúde, pesquisadores tentaram usar a correspondência de modelo para simplificar o fluxo de trabalho e ajudar na identificação de anormalidades. Um bom exemplo dessa técnica está relacionado à detecção de tumores ou nódulos pulmonares.

Nesse método, os pesquisadores criam modelos de referência que representam a forma e a intensidade típicas de um tumor. O sistema então desliza esses modelos sobre os exames dos pacientes, medindo a similaridade em cada coordenada.

Deteção de tumor pulmonar usando correspondência de modelos

Fig 4. Detecção de tumor pulmonar usando correspondência de modelo (Fonte)

Link to this sectionPrós e contras da correspondência de modelo#

Aqui estão alguns benefícios principais de usar a correspondência de modelo:

  • Intuitiva e direta: A correspondência de modelo é fácil de entender e implementar, tornando-a um ponto de partida ideal para iniciantes em IA e visão computacional.
  • Confiável sob condições controladas: Ela tem bom desempenho em imagens em tons de cinza sob iluminação consistente, produzindo resultados precisos quando padrões e fundos são estáveis.
  • Integração fácil: Usando bibliotecas de Python como a OpenCV, a correspondência de modelo pode ser aplicada rapidamente a projetos reais sem configurações complexas ou computação pesada.

Embora a correspondência de modelo ofereça muitos benefícios, ela também possui limitações. Aqui estão alguns desafios a ter em mente:

  • Sensível à escala e rotação: Variações no tamanho ou orientação do modelo podem reduzir a precisão.
  • Dependência de iluminação e contraste: Alterações na iluminação ou no contraste entre o modelo e a imagem podem causar correspondências incorretas ou tornar o modelo mais difícil de detectar.
  • Adaptabilidade limitada: Diferente de métodos baseados em IA, a correspondência de modelo não pode aprender com dados ou melhorar com o tempo. Ela funciona melhor em ambientes controlados ou repetitivos.

Link to this sectionPrincipais pontos#

A visão computacional é um campo vasto e cobre várias técnicas. Aprender sobre técnicas tradicionais de processamento de imagem, como a correspondência de modelo, é um ótimo ponto de partida para entender como a análise de imagem funciona. As inovações de IA de visão de ponta baseiam-se nos mesmos conceitos fundamentais e resolvem problemas semelhantes.

Quer explorar mais sobre IA? Junte-se à nossa comunidade e confira nosso repositório no GitHub. Aprenda como a IA no varejo e a IA de visão na manufatura estão impulsionando mudanças. Explore nossas opções de licenciamento para criar soluções com IA de visão hoje mesmo!

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática