Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Saiba como funciona a correspondência de imagens na IA de visão e explore as principais tecnologias que ajudam as máquinas a detect, comparar e compreender dados visuais.
Quando olhamos para duas imagens do mesmo objeto, como uma pintura e uma fotografia de um carro, é fácil perceber o que têm em comum. No caso das máquinas, no entanto, isto não é tão simples.
Para efetuar essas comparações, as máquinas recorrem à visão por computador, um ramo da inteligência artificial (IA) que as ajuda a interpretar e a compreender a informação visual. A visão computacional permite aos sistemas detect objectos, compreender cenas e extrair padrões de imagens ou vídeos.
Em particular, algumas tarefas visuais vão para além da análise de uma única imagem. Envolvem a comparação de imagens para encontrar semelhanças, detetar diferenças ou track alterações ao longo do tempo.
A IA de visão abrange um vasto conjunto de técnicas, e uma capacidade essencial, conhecida como correspondência de imagens, centra-se na identificação de semelhanças entre imagens, mesmo quando a iluminação, os ângulos ou os fundos variam. Esta técnica pode ser utilizada em várias aplicações, incluindo robótica, realidade aumentada e geo-mapeamento.
Neste artigo, vamos explorar o que é a correspondência de imagens, as suas principais técnicas e algumas das suas aplicações no mundo real. Vamos começar!
O que é a correspondência de imagens?
A correspondência de imagens permite a um sistema informático perceber se duas imagens têm conteúdos semelhantes. Os seres humanos podem fazer isto intuitivamente, reparando em formas, cores e padrões.
Os computadores, por outro lado, baseiam-se em dados numéricos. Analisam as imagens investigando cada pixel, que é a unidade mais pequena de uma imagem digital.
Cada imagem é armazenada como uma grelha de pixels, e cada pixel contém normalmente valores para vermelho, verde e azul (RGB). Estes valores podem mudar quando uma imagem é rodada, redimensionada, vista de um ângulo diferente ou capturada sob diferentes condições de iluminação. Devido a estas variações, a comparação de imagens pixel a pixel é muitas vezes pouco fiável.
Para tornar as comparações mais consistentes, a correspondência de imagens centra-se em caraterísticas locais ou cantos, arestas e regiões texturadas que tendem a manter-se estáveis mesmo quando uma imagem muda ligeiramente. Ao detetar estas caraterísticas, ou pontos-chave, em várias imagens, um sistema pode compará-las com uma precisão muito maior.
Este processo é amplamente utilizado em casos de utilização como a navegação, a localização, a realidade aumentada, o mapeamento, a reconstrução 3D e a pesquisa visual. Quando os sistemas identificam os mesmos pontos em imagens diferentes ou em vários fotogramas, podem track o movimento, compreender a estrutura da cena e tomar decisões fiáveis em ambientes dinâmicos.
Fig. 1. Um exemplo de correspondência de imagens de automóveis em que são identificados pontos-chave semelhantes.(Fonte)
Compreender como funciona a correspondência de imagens
A correspondência de imagens envolve vários passos fundamentais que ajudam os sistemas a identificar e comparar regiões semelhantes nas imagens. Cada passo melhora a precisão, a consistência e a robustez em diferentes condições.
Eis um exemplo passo a passo de como funciona a correspondência de imagens:
Deteção de caraterísticas: O sistema começa por identificar pontos-chave distintos numa imagem que permanecem fixos mesmo quando a iluminação, a escala ou o ângulo de visualização mudam. Destacam áreas como cantos, arestas ou regiões texturadas que se destacam visualmente.
Descrição das caraterísticas: Cada ponto-chave é então convertido num descritor, que é um vetor numérico compacto que capta o padrão visual em torno desse ponto. Estes descritores fornecem uma forma fiável de comparar caraterísticas entre imagens diferentes.
Correspondência de caraterísticas: Os descritores de duas imagens são comparados utilizando algoritmos de correspondência que calculam a sua semelhança. Este passo emparelha os pontos-chave que parecem corresponder e filtra as correspondências mais fracas ou pouco fiáveis.
Verificação geométrica: Por último, o sistema verifica se os pontos-chave correspondentes formam uma relação geométrica realista. Remove as correspondências incorrectas (denominadas "outliers") utilizando um método conhecido como RANSAC (Random Sample Consensus), que garante que apenas são mantidos os pares de pontos fiáveis. Uma vez identificadas as boas correspondências, o sistema estima a transformação que melhor relaciona as duas imagens. Trata-se muitas vezes de uma transformação afim, que se ajusta a alterações como a escala, a rotação e o deslocamento, ou de uma homografia, que também pode lidar com alterações de perspetiva. A utilização destas transformações permite ao sistema alinhar as imagens com precisão, mesmo quando foram captadas de pontos de vista ligeiramente diferentes.
Fig 2. (a) Extração de pontos de caraterísticas e (b) correspondência de caraterísticas.(Fonte)
Principais técnicas envolvidas na correspondência de imagens
Antes de explorarmos as aplicações reais da correspondência de imagens, vejamos primeiro as técnicas de correspondência de imagens utilizadas nos sistemas de visão por computador.
Correspondência de imagens baseada na correspondência de modelos
A correspondência de modelos é um dos métodos de correspondência de imagens mais simples. É geralmente considerado uma técnica de processamento de imagem e não um método moderno de visão por computador, porque se baseia em comparações diretas de pixels e não extrai caraterísticas visuais mais profundas.
É utilizado para localizar uma imagem de referência mais pequena, ou modelo, numa cena maior. Funciona através de um algoritmo que faz deslizar um modelo pela imagem principal e calcula uma pontuação de semelhança em cada posição para medir a proximidade entre as duas regiões. A área com a pontuação mais elevada é considerada a melhor correspondência, indicando onde é mais provável que o objeto apareça na cena.
Figura 3. Um olhar sobre a utilização da correspondência de modelos.(Fonte)
Esta técnica funciona bem quando a escala, rotação e iluminação do objeto permanecem consistentes, o que a torna uma boa escolha para ambientes controlados ou comparações de base. No entanto, o seu desempenho diminui quando o objeto tem um aspeto diferente do modelo, por exemplo, quando o seu tamanho muda, está rodado, parcialmente oculto ou aparece contra um fundo ruidoso ou complexo.
Técnicas clássicas baseadas em caraterísticas para a correspondência de imagens
Antes de a aprendizagem profunda ser amplamente adoptada, a correspondência de imagens baseava-se principalmente em algoritmos clássicos de visão por computador que detectavam pontos-chave distintos numa imagem. Em vez de comparar cada pixel, estes métodos analisam os gradientes da imagem, ou alterações de intensidade, para realçar cantos, arestas e regiões texturadas que se destacam.
Cada ponto-chave detectado é então representado através de um resumo numérico compacto denominado descritor. Quando se comparam duas imagens, um combinador avalia estes descritores para encontrar os pares mais semelhantes.
Uma pontuação de semelhança forte indica normalmente que o mesmo ponto físico aparece em ambas as imagens. Os combinadores também utilizam métricas de distância específicas ou regras de pontuação para avaliar a proximidade das caraterísticas, melhorando a fiabilidade geral.
Eis alguns dos principais algoritmos clássicos de visão por computador utilizados para a correspondência de imagens:
SIFT (Scale-Invariant Feature Transform): Identifica pontos-chave através da análise dos gradientes de intensidade da imagem, permitindo-lhes permanecer reconhecíveis quando uma imagem é aumentada, reduzida ou rodada.
SURF (Speeded-Up Robust Features): Este algoritmo é semelhante ao SIFT, mas é optimizado para velocidade. Utiliza aproximações rápidas de operações baseadas em gradiente, o que o torna adequado para aplicações que requerem tempos de resposta rápidos.
ORB (Oriented FAST and Rotated BRIEF): Reúne dois algoritmos denominados FAST e BRIEF. O FAST encontra rapidamente pontos semelhantes a cantos numa imagem, enquanto o BRIEF cria uma descrição compacta de cada ponto para que possam ser combinados entre imagens. O ORB também melhora ambas as etapas ao adicionar o tratamento de rotação, tornando-o rápido e fiável.
Fig. 4. Pontos de caraterísticas SURF extraídos e emparelhados entre duas imagens.(Fonte)
Técnicas baseadas na aprendizagem profunda para a correspondência de imagens
Ao contrário dos métodos clássicos que se baseiam em regras específicas, a aprendizagem profunda aprende automaticamente caraterísticas de grandes conjuntos de dados, que são colecções de dados visuais a partir dos quais os modelos de IA aprendem padrões. Estes modelos são normalmente executados em GPU (unidades de processamento gráfico), que fornecem o elevado poder computacional necessário para processar grandes lotes de imagens e treinar redes neurais complexas de forma eficiente.
Isto dá aos modelos de IA a capacidade de lidar com alterações do mundo real, como iluminação, ângulos de câmara e oclusões. Alguns modelos também combinam todos os passos num único fluxo de trabalho, suportando um desempenho robusto em condições difíceis.
Eis algumas abordagens baseadas na aprendizagem profunda para a extração e correspondência de caraterísticas de imagens:
Extração de caraterísticas com base em CNN: Estes modelos aprendem automaticamente os principais padrões visuais a partir de grandes conjuntos de dados. Reconhecem caraterísticas que provavelmente não mudarão, o que os torna fiáveis para fazer corresponder objectos em diferentes cenas.
Correspondência baseada na incorporação: Em vez de comparar diretamente os pixels, este método transforma as imagens em representações numéricas compactas conhecidas como incrustações. Em seguida, o comparador compara estas incrustações para encontrar imagens semelhantes. Modelos como o FaceNet, que gera embeddings para reconhecer e comparar rostos, e o CLIP, que mapeia imagens e texto num espaço partilhado para tarefas como a pesquisa de imagens e a correspondência semântica, seguem esta abordagem.
Pipelines de correspondência de ponta a ponta: Os sistemas de aprendizagem profunda de ponta combinam frequentemente a deteção, descrição e correspondência de pontos-chave num fluxo de trabalho unificado. Modelos como o SuperPoint e o D2-Net aprendem pontos-chave e descritores diretamente a partir de mapas de caraterísticas da CNN, enquanto o SuperGlue actua como um combinador aprendido que emparelha estes descritores de forma mais fiável do que os métodos tradicionais. Juntos, estes componentes criam um pipeline de ponta a ponta que proporciona maior precisão e maior robustez em condições difíceis do que as abordagens clássicas baseadas em caraterísticas.
Correspondência baseada em transformador: Este método utiliza mecanismos de atenção para ligar regiões correspondentes em duas imagens, permitindo-lhe alinhar manchas mesmo sob fortes mudanças de ponto de vista, iluminação ou textura. Modelos como o LoFTR (Local Feature Transformer) atingem uma precisão muito superior porque o campo recetivo global do Transformer permite uma correspondência fiável em áreas com pouca textura, desfocadas ou repetitivas, onde os detectores tradicionais falham. O LoFTR produz correspondências semi-densas e de alta confiança e supera os métodos anteriores do estado da arte por uma grande margem em benchmarks internos e externos.
Modelos centrados na eficiência: Os modelos de correspondência de imagens mais recentes têm como objetivo proporcionar uma elevada precisão e, ao mesmo tempo, funcionar mais rapidamente. Modelos como o LightGlue foram concebidos para serem executados de forma eficiente em dispositivos com capacidade de computação limitada, mantendo uma boa qualidade de correspondência.
Aplicações do mundo real da correspondência de imagens
Agora que compreendemos melhor como funciona a correspondência de imagens, vamos analisar algumas aplicações do mundo real em que desempenha um papel importante.
Robótica mais inteligente graças à correspondência de imagens
Os robôs operam frequentemente em ambientes movimentados e em constante mudança, onde precisam de compreender que objectos estão presentes e como estão colocados. A correspondência de imagens pode ajudar os robôs a compreender os objectos que vêem, comparando-os com imagens armazenadas ou de referência. Isto torna mais fácil para estes robôs reconhecer objectos, track seu movimento e adaptar-se mesmo quando a iluminação ou os ângulos da câmara mudam.
Por exemplo, num armazém, um sistema robótico de recolha e colocação pode utilizar a correspondência de imagens para identificar e manusear diferentes artigos. O robô começa por agarrar um objeto e depois compara a sua imagem com amostras de referência para o identificar.
Fig. 5. Um robô reconhece e apanha objectos fazendo-os corresponder a imagens de referência.(Fonte)
Quando a correspondência é encontrada, o robô sabe como ordená-la ou colocá-la corretamente. Esta abordagem permite que os robôs reconheçam tanto objectos familiares como novos sem terem de treinar todo o sistema. Também os ajuda a tomar melhores decisões em tempo real, como organizar prateleiras, montar peças ou reorganizar itens.
Melhorar a reconstrução 3D com uma melhor correspondência de imagens
Em áreas como o mapeamento por drones, a realidade virtual e a inspeção de edifícios, os sistemas necessitam frequentemente de reconstruir um modelo 3D a partir de várias imagens 2D. Para tal, recorrem à correspondência de imagens para identificar pontos-chave comuns, como cantos ou regiões texturadas, que aparecem em várias imagens.
Estes pontos partilhados ajudam o sistema a compreender como as imagens se relacionam umas com as outras no espaço 3D. Esta ideia está intimamente relacionada com a Structure from Motion (SfM), uma técnica que constrói estruturas 3D através da identificação e correspondência de pontos-chave em imagens captadas de diferentes pontos de vista.
Se a correspondência não for exacta, o modelo 3D resultante pode parecer distorcido ou incompleto. Por esta razão, os investigadores têm trabalhado para melhorar a fiabilidade da correspondência de imagens para a reconstrução 3D, e os avanços recentes têm mostrado resultados promissores.
Um exemplo interessante é o HashMatch, um algoritmo de correspondência de imagens mais rápido e mais robusto. O HashMatch converte os detalhes da imagem em padrões compactos designados por códigos hash, o que facilita a identificação de correspondências corretas e a remoção de valores anómalos, mesmo quando a iluminação ou os pontos de vista variam.
Quando testado em conjuntos de dados de grande escala, o HashMatch produziu modelos de reconstrução 3D mais limpos e realistas, com menos erros de alinhamento. Isto torna-o especialmente útil para aplicações como o mapeamento por drones, sistemas de RA e preservação do património cultural, onde a precisão é fundamental.
O papel da correspondência de imagens na realidade aumentada
Quando se trata de realidade aumentada (RA), manter os objectos virtuais alinhados com o mundo real é muitas vezes um desafio. Os ambientes exteriores podem mudar constantemente, dependendo das condições ambientais, como a luz solar e o clima. Diferenças subtis no mundo real podem fazer com que os elementos virtuais pareçam instáveis ou ligeiramente deslocados.
Para resolver este problema, os sistemas de RA utilizam a correspondência de imagens para interpretar o ambiente que os rodeia. Comparando os fotogramas da câmara em direto com imagens de referência armazenadas, podem compreender onde o utilizador se encontra e como a cena mudou.
Fig. 6. Pontos de caraterísticas combinados entre duas imagens.(Fonte)
Por exemplo, num estudo que envolveu treino militar de RA ao ar livre com óculos XR (Extended Reality), os investigadores utilizaram SIFT e outros métodos baseados em caraterísticas para fazer corresponder detalhes visuais entre imagens reais e de referência. As correspondências exactas mantiveram os elementos virtuais corretamente alinhados com o mundo real, mesmo quando o utilizador se movia rapidamente ou a iluminação mudava.
Principais conclusões
A correspondência de imagens é um componente essencial da visão por computador, permitindo que os sistemas compreendam a forma como diferentes imagens se relacionam entre si ou como uma cena muda ao longo do tempo. Desempenha um papel fundamental na robótica, na realidade aumentada, na reconstrução 3D, na navegação autónoma e em muitas outras aplicações do mundo real em que a precisão e a estabilidade são essenciais.
Com modelos avançados de IA como o SuperPoint e o LoFTR, os sistemas actuais estão a tornar-se muito mais robustos do que os métodos anteriores. À medida que as técnicas de aprendizagem automática, os módulos de visão especializados, as redes neuronais e os conjuntos de dados continuam a avançar, a correspondência de imagens tornar-se-á provavelmente mais rápida, mais precisa e mais adaptável.