Biblioteca diferenciável de visão computacional baseada em PyTorch, com processamento de imagens otimizado para GPU, geometria, augmentations e operadores de correspondência de features.
cvg/FlexGlue
Um matcher de features que encontra correspondências entre duas imagens usando keypoints esparsos, grids densos ou nenhum keypoint, com verificação integrada para detectar pares de imagens parecidas.
- Estrelas
- 243
- Forks
- 13
- Issues abertas
- 1
- Último commit
- há 4 dias
O que é?
FlexGlue é um matcher de features em Python para pipelines de visão computacional, como correspondência de imagens e reconstrução 3D. Ele codifica cada imagem com um backbone DINOv3-ConvNeXt, gerando um mapa de features com stride 8, refina os dois mapas com um transformer e localiza a correspondência de cada ponto de consulta na outra imagem por correlação. Pode fazer matching de keypoints fornecidos pelo usuário (os exemplos usam o detector ALIKED do LightGlue), de grids densos de pontos amostrados ou executar sem nenhum keypoint.
Além do matching, o FlexGlue prevê uma pontuação de covisibilidade, que representa a probabilidade de duas imagens mostrarem o mesmo lugar. Isso permite rejeitar pares parecidos, como fachadas repetidas de edifícios, e, com early stopping, evita a maior parte do processamento nos pares rejeitados. Os matchers podem ser executados em batches, compilados com torch.compile, carregados via torch.hub ou exportados para ONNX e executados com ONNX Runtime sem PyTorch.
O projeto oferece um notebook de demonstração, pesos pré-treinados e refinamento opcional em nível subpixel usando RoMa v2. O código é licenciado sob MIT, enquanto os pesos do backbone DINOv3 são distribuídos sob uma licença separada com restrições de uso.
Recursos principais
- 01Faz matching de keypoints fornecidos pelo usuário, grids densos de pontos amostrados ou imagens sem keypoints.
- 02Prevê uma pontuação de covisibilidade para rejeitar pares parecidos, como fachadas repetidas.
- 03Oferece inferência em batches com pares de imagens de tamanhos diferentes.
- 04Oferece refinamento opcional em nível subpixel com os refinadores RoMa v2.
- 05Exporta para ONNX para uso com ONNX Runtime sem PyTorch.
Casos de uso
- Estabelecer correspondências entre fotos para pipelines de structure-from-motion ou reconstrução.
- Filtrar pares de imagens com estruturas repetidas antes da verificação geométrica ou localização.
- Executar matching de features em um ambiente C++ ou sem Python por meio da exportação para ONNX.
- Avaliar ou comparar matchers que funcionam com detectores de keypoints arbitrários.
Início rápido
- 1
Clone o repositório e entre nele
git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue - 2
Instale o FlexGlue com pip no modo editável
python -m pip install -e . - 3
Instale o commit mais recente do LightGlue para usar seus detectores de pontos-chave (opcional)
python -m pip install git+https://github.com/cvg/LightGlue.git - 4
Execute o notebook de demonstração no Colab ou localmente
Antes de usar
- O exemplo do matcher requer uma GPU CUDA.
- Para obter a melhor precisão, é necessária uma resolução mais alta e o refinador RoMa v2 opcional, que aumenta o custo.
- O projeto é uma publicação recente de pesquisa e sua API pode mudar.
Em coleções
Tópicos
Perguntas frequentes
- O que é FlexGlue?
- Um matcher de features que encontra correspondências entre duas imagens usando keypoints esparsos, grids densos ou nenhum keypoint, com verificação integrada para detectar pares de imagens parecidas. FlexGlue é um matcher de features em Python para pipelines de visão computacional, como correspondência de imagens e reconstrução 3D. Ele codifica cada imagem com um backbone DINOv3-ConvNeXt, gerando um mapa de features com stride 8, refina os dois mapas com um transformer e localiza a correspondência de cada ponto de consulta na outra imagem por correlação. Pode fazer matching de keypoints fornecidos pelo usuário (os exemplos usam o detector ALIKED do LightGlue), de grids densos de pontos amostrados ou executar sem nenhum keypoint.
- FlexGlue é gratuito? Qual é a licença?
- FlexGlue é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- FlexGlue ainda é mantido?
- Manutenção ativa. O último commit de FlexGlue foi em 3 de nov. de 2026.
- Para que posso usar FlexGlue?
- Estabelecer correspondências entre fotos para pipelines de structure-from-motion ou reconstrução. Filtrar pares de imagens com estruturas repetidas antes da verificação geométrica ou localização. Executar matching de features em um ambiente C++ ou sem Python por meio da exportação para ONNX. Avaliar ou comparar matchers que funcionam com detectores de keypoints arbitrários.
- Como instalar FlexGlue?
- Clone o repositório e entre nele: git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue Instale o FlexGlue com pip no modo editável: python -m pip install -e . Instale o commit mais recente do LightGlue para usar seus detectores de pontos-chave (opcional): python -m pip install git+https://github.com/cvg/LightGlue.git Execute o notebook de demonstração no Colab ou localmente
- Onde consigo FlexGlue?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/cvg/FlexGlue
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ultralytics YOLOv5, toolkit de visão computacional baseado em PyTorch para detecção de objetos, segmentação de instâncias e classificação de imagens, com recursos de treinamento e exportação.
Implementação oficial em PyTorch do BiRefNet, um modelo de deep learning para segmentação dicotômica de imagens em alta resolução, usado com frequência para remover fundos.
Livro gratuito e de código aberto, em chinês, com código complementar para aprender PyTorch, do básico a aplicações de CV, NLP e LLMs e ao deployment.
Pipeline de uso geral de Structure-from-Motion e Multi-View Stereo, com interfaces gráfica e de linha de comando para reconstrução 3D a partir de imagens.
Ferramenta open source de programação visual baseada em nós para fotogrametria, que transforma fotos em modelos 3D, rastreia câmeras e cria imagens HDR.