PyTorch 기반의 미분 가능한 컴퓨터 비전 라이브러리로, GPU 친화적인 이미지 처리, 기하 연산, 증강 및 특징 매칭 연산자를 제공합니다.
cvg/FlexGlue
희소 키포인트, 밀집 그리드 또는 키포인트 없이 두 이미지의 대응점을 찾고, 서로 닮은 이미지 쌍을 판별하는 기능이 내장된 특징 매칭기입니다.
- 스타
- 243
- 포크
- 13
- 열린 이슈
- 1
- 마지막 커밋
- 4일 전
어떤 프로젝트인가요?
FlexGlue는 이미지 매칭이나 3D 재구성 같은 컴퓨터 비전 파이프라인을 위한 Python 특징 매칭기입니다. 각 이미지를 DINOv3-ConvNeXt 백본으로 stride 8 특징 맵으로 인코딩하고, 트랜스포머로 두 맵을 정제한 뒤 상관관계를 이용해 각 쿼리 포인트에 대응하는 다른 이미지의 위치를 찾습니다. 사용자가 제공한 키포인트(예제에서는 LightGlue의 ALIKED 검출기를 사용), 샘플링한 포인트의 밀집 그리드, 또는 키포인트 없이 매칭을 수행할 수 있습니다.
매칭 외에도 FlexGlue는 공가시성 점수, 즉 두 이미지가 같은 장소를 보여줄 확률을 예측합니다. 이를 통해 반복되는 건물 외관처럼 서로 닮은 이미지 쌍을 제외할 수 있으며, 조기 종료를 사용하면 제외된 쌍에 필요한 계산 대부분을 건너뜁니다. 매칭기는 배치로 실행하거나 torch.compile로 컴파일할 수 있고, torch.hub를 통해 불러오거나 ONNX로 내보내 PyTorch 없이 ONNX Runtime에서 실행할 수 있습니다.
프로젝트에는 데모 노트북, 사전 학습된 가중치, RoMa v2를 사용한 선택적 서브픽셀 정제 기능이 포함되어 있습니다. 코드는 MIT 라이선스를 따르지만, DINOv3 백본 가중치는 사용 제한이 있는 별도의 라이선스로 배포됩니다.
핵심 기능
- 01사용자 제공 키포인트, 밀집 샘플링 그리드 또는 키포인트가 없는 이미지의 매칭을 지원합니다.
- 02공가시성 점수를 예측해 반복되는 외관처럼 서로 닮은 이미지 쌍을 제외합니다.
- 03크기가 서로 다른 이미지 쌍을 배치 추론으로 처리할 수 있습니다.
- 04RoMa v2 정제기를 사용한 선택적 서브픽셀 정제 기능을 제공합니다.
- 05ONNX로 내보내 PyTorch 없이 ONNX Runtime에서 사용할 수 있습니다.
활용 사례
- 사진 간 대응점을 설정해 structure-from-motion 또는 재구성 파이프라인에 활용합니다.
- 기하 검증이나 위치 추정 전에 반복 구조가 있는 이미지 쌍을 걸러냅니다.
- ONNX 내보내기를 통해 C++ 또는 비Python 환경에서 특징 매칭을 실행합니다.
- 임의의 키포인트 검출기와 함께 작동하는 매칭기를 벤치마크하거나 비교합니다.
빠른 시작
- 1
저장소를 클론하고 해당 디렉터리로 이동합니다
git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue - 2
pip를 사용해 FlexGlue를 editable 모드로 설치합니다
python -m pip install -e . - 3
키포인트 검출기를 사용하려면 LightGlue의 최신 커밋을 설치합니다(선택 사항)
python -m pip install git+https://github.com/cvg/LightGlue.git - 4
Colab 또는 로컬 환경에서 데모 노트북을 실행합니다
사용 전 알아둘 점
- 매처 예제를 실행하려면 CUDA GPU가 필요합니다.
- 최고의 정확도를 내려면 더 높은 해상도와 처리 비용이 추가되는 선택 사항인 RoMa v2 리파이너가 필요합니다.
- 이 프로젝트는 최근 공개된 연구 결과물이므로 API가 변경될 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- FlexGlue은(는) 무엇인가요?
- 희소 키포인트, 밀집 그리드 또는 키포인트 없이 두 이미지의 대응점을 찾고, 서로 닮은 이미지 쌍을 판별하는 기능이 내장된 특징 매칭기입니다. FlexGlue는 이미지 매칭이나 3D 재구성 같은 컴퓨터 비전 파이프라인을 위한 Python 특징 매칭기입니다. 각 이미지를 DINOv3-ConvNeXt 백본으로 stride 8 특징 맵으로 인코딩하고, 트랜스포머로 두 맵을 정제한 뒤 상관관계를 이용해 각 쿼리 포인트에 대응하는 다른 이미지의 위치를 찾습니다. 사용자가 제공한 키포인트(예제에서는 LightGlue의 ALIKED 검출기를 사용), 샘플링한 포인트의 밀집 그리드, 또는 키포인트 없이 매칭을 수행할 수 있습니다.
- FlexGlue은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- FlexGlue은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- FlexGlue은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. FlexGlue의 마지막 커밋은 2026년 11월 3일입니다.
- FlexGlue은(는) 어디에 사용할 수 있나요?
- 사진 간 대응점을 설정해 structure-from-motion 또는 재구성 파이프라인에 활용합니다. 기하 검증이나 위치 추정 전에 반복 구조가 있는 이미지 쌍을 걸러냅니다. ONNX 내보내기를 통해 C++ 또는 비Python 환경에서 특징 매칭을 실행합니다. 임의의 키포인트 검출기와 함께 작동하는 매칭기를 벤치마크하거나 비교합니다.
- FlexGlue는 어떻게 설치하나요?
- 저장소를 클론하고 해당 디렉터리로 이동합니다: git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue pip를 사용해 FlexGlue를 editable 모드로 설치합니다: 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를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Ultralytics YOLOv5는 객체 탐지, 인스턴스 분할, 이미지 분류를 지원하며 학습과 내보내기를 제공하는 PyTorch 기반 컴퓨터 비전 툴킷입니다.
고해상도 이진 이미지 분할과 배경 제거에 널리 쓰이는 딥러닝 모델 BiRefNet의 공식 PyTorch 구현입니다.
기초부터 CV, NLP, LLM 애플리케이션과 배포까지 다루는 무료 오픈소스 중국어 PyTorch 책과 실습 코드입니다.
이미지로부터 3D를 재구성하는 GUI 및 명령줄 인터페이스를 갖춘 범용 Structure-from-Motion 및 Multi-View Stereo 파이프라인입니다.
사진을 3D 모델로 변환하고 카메라 트래킹과 HDR 이미지를 생성하는 오픈 소스 노드 기반 포토그래메트리 시각 프로그래밍 도구입니다.