Repolode
cvg

cvg/FlexGlue

Сопоставитель признаков для поиска соответствий между двумя изображениями: работает с разреженными ключевыми точками, плотными сетками или без ключевых точек и умеет выявлять похожие пары изображений.

Звёзды
243
Форки
13
Открытые issues
1
Последний коммит
4 дня назад

Что это?

FlexGlue — сопоставитель признаков на Python для задач компьютерного зрения, таких как сопоставление изображений и 3D-реконструкция. Он кодирует каждое изображение с помощью backbone DINOv3-ConvNeXt в карту признаков с шагом 8, уточняет обе карты трансформером и находит соответствие каждой запрашиваемой точки в другом изображении с помощью корреляции. Можно сопоставлять заданные пользователем ключевые точки (в примерах используется детектор ALIKED из LightGlue), плотные сетки выбранных точек или изображения без ключевых точек.

Помимо сопоставления, FlexGlue предсказывает оценку совместной видимости — вероятность того, что на двух изображениях показано одно и то же место. Это позволяет отбрасывать похожие пары, например снимки повторяющихся фасадов зданий; благодаря ранней остановке для таких пар пропускается большая часть вычислений. Сопоставление можно выполнять пакетами, компилировать с помощью torch.compile, загружать через torch.hub или экспортировать в ONNX и запускать через ONNX Runtime без PyTorch.

В проект входят демонстрационный ноутбук, предобученные веса и опциональное уточнение координат с точностью до субпикселя с помощью RoMa v2. Код распространяется по лицензии MIT, а веса backbone DINOv3 — по отдельной лицензии с ограничениями на использование.

Ключевые возможности

  • 01Сопоставляет заданные пользователем ключевые точки, плотные сетки выбранных точек или изображения без ключевых точек.
  • 02Предсказывает оценку совместной видимости, чтобы отбрасывать похожие пары, например снимки повторяющихся фасадов.
  • 03Поддерживает пакетную обработку пар изображений разных размеров.
  • 04Предлагает опциональное уточнение координат с точностью до субпикселя с помощью refiners из RoMa v2.
  • 05Экспортирует модель в ONNX для запуска через ONNX Runtime без PyTorch.

Сценарии использования

  • Поиск соответствий между фотографиями для конвейеров structure-from-motion или реконструкции.
  • Отсеивание пар изображений с повторяющимися структурами перед геометрической верификацией или локализацией.
  • Запуск сопоставления признаков в среде C++ или без Python с помощью экспорта в ONNX.
  • Тестирование производительности или сравнение сопоставителей, работающих с произвольными детекторами ключевых точек.

Быстрый старт

  1. 1

    Клонируйте репозиторий и перейдите в его каталог

    git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue
  2. 2

    Установите FlexGlue с помощью pip в редактируемом режиме

    python -m pip install -e .
  3. 3

    Установите последний коммит LightGlue, чтобы использовать его детекторы ключевых точек (необязательно)

    python -m pip install git+https://github.com/cvg/LightGlue.git
  4. 4

    Запустите демонстрационный ноутбук в Colab или локально

Что важно знать

  • Для примера с матчером требуется CUDA GPU.
  • Для наилучшей точности нужны более высокое разрешение и необязательный уточнитель RoMa v2, который увеличивает вычислительные затраты.
  • Проект недавно опубликован как исследовательская работа, поэтому его API может измениться.

В подборках

Темы

Частые вопросы

Что такое FlexGlue?
Сопоставитель признаков для поиска соответствий между двумя изображениями: работает с разреженными ключевыми точками, плотными сетками или без ключевых точек и умеет выявлять похожие пары изображений. FlexGlue — сопоставитель признаков на Python для задач компьютерного зрения, таких как сопоставление изображений и 3D-реконструкция. Он кодирует каждое изображение с помощью backbone DINOv3-ConvNeXt в карту признаков с шагом 8, уточняет обе карты трансформером и находит соответствие каждой запрашиваемой точки в другом изображении с помощью корреляции. Можно сопоставлять заданные пользователем ключевые точки (в примерах используется детектор ALIKED из LightGlue), плотные сетки выбранных точек или изображения без ключевых точек.
FlexGlue можно использовать бесплатно? Какая у него лицензия?
FlexGlue распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
FlexGlue всё ещё поддерживается?
Активно поддерживается. Последний коммит в FlexGlue — 3 нояб. 2026 г..
Для чего можно использовать FlexGlue?
Поиск соответствий между фотографиями для конвейеров structure-from-motion или реконструкции. Отсеивание пар изображений с повторяющимися структурами перед геометрической верификацией или локализацией. Запуск сопоставления признаков в среде C++ или без Python с помощью экспорта в ONNX. Тестирование производительности или сравнение сопоставителей, работающих с произвольными детекторами ключевых точек.
Как установить FlexGlue?
Клонируйте репозиторий и перейдите в его каталог: git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue Установите FlexGlue с помощью pip в редактируемом режиме: python -m pip install -e . Установите последний коммит LightGlue, чтобы использовать его детекторы ключевых точек (необязательно): python -m pip install git+https://github.com/cvg/LightGlue.git Запустите демонстрационный ноутбук в Colab или локально
Где скачать FlexGlue?
Исходный код и инструкции по установке — на GitHub: https://github.com/cvg/FlexGlue

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Дифференцируемая библиотека компьютерного зрения на базе PyTorch с поддержкой GPU для обработки изображений, геометрии, аугментаций и сопоставления признаков.

12,3 тыс.+275 за неделю1,5 тыс.PythonApache-2.0Обновлён вчера

Ultralytics YOLOv5 — библиотека компьютерного зрения на базе PyTorch для детекции объектов, сегментации экземпляров и классификации изображений, с обучением и экспортом моделей.

58,3 тыс.+10 за неделю17,4 тыс.PythonAGPL-3.0Активно поддерживаетсяОбновлён 3 дня назад

Бесплатная книга на китайском языке и примеры кода для изучения PyTorch: от основ до CV, NLP, приложений на базе LLM и развёртывания.

4,6 тыс.+4 за неделю492Jupyter NotebookБез лицензииАктивно поддерживаетсяОбновлён 6 дней назад

Универсальный конвейер Structure-from-Motion и Multi-View Stereo с графическим и командным интерфейсами для 3D-реконструкции по изображениям.

13,2 тыс.+13 за неделю2,2 тыс.C++OtherАктивно поддерживаетсяОбновлён вчера

Бесплатный инструмент визуального программирования на основе узлов для фотограмметрии: создание 3D-моделей по фотографиям, трекинг камеры и HDR-изображения.

13,1 тыс.+10 за неделю1,2 тыс.PythonOtherАктивно поддерживаетсяОбновлён вчера