PyTorch용 미분 가능한 컴퓨터 비전 라이브러리: 이미지 처리, 기하학적 비전, 데이터 증강 및 특징점 매칭 연산자가 모두 GPU 텐서에서 배치로 직접 실행되며, 대부분 역전파가 가능하여 학습 파이프라인에 바로 통합할 수 있습니다.
스타 수 12133 (+412 / 24h)
이유
- 저자는 torchvision에 없는 연산자가 1200개 이상 공개되어 있다고 설명합니다. 여기에는 카메라 모델 및 양극 기하학, 최소 해법 및 RANSAC, SIFT / DISK / ALIKED / XFeat / DeDoDe / LoFTR / LightGlue 등 국소 특징점 및 매칭이 포함되며, 한 번의 호출로 이미지마다 다른 매개변수를 사용할 수 있습니다
- 프로젝트 방향은 PyTorch 생태계 내에서 미분 가능한 비전 및 기하학의 참조 구현을 만드는 것이며, 명확한 규약, 일관성 테스트 및 정확한 벤치마크를 중시합니다. README에는 빠른 부분(배치 GPU에서 이미지별 CPU OpenCV보다 훨씬 빠름)과 느린 부분(뒤집기, 자르기 등 작은 연산자는 torchvision보다 느림, 단일 uint8 이미지에서는 OpenCV가 더 빠름)이 모두 명시되어 있습니다
- 대부분의 연산자는 torch.compile 하에서 실행할 수 있으며, 많은 연산자를 ONNX로 내보낼 수 있고, 각 연산자의 지원 여부는 문서에 공개되어 있습니다
사용법
- pip install kornia; 예시: gaussian_blur2d(x, (9, 9), sigma)에서 sigma는 이미지별 텐서일 수 있으며, AugmentationSequential은 이미지, 마스크, 박스 및 키포인트에 동일한 랜덤 변환을 동기화하여 적용합니다
리스크
- 단일 고정 매개변수를 사용하는 간단한 작업은 몇 줄의 PyTorch 또는 torchvision으로 충분합니다. 반정밀도는 CPU에서 여전히 알려진 실패 사례가 있으며, CUDA / MPS의 반정밀도는 CI로 커버되지 않습니다
- 속도 비교 수치는 저자가 RTX 4090에서 수행한 벤치마크에 기반하며, 하드웨어 및 부하에 따라 달라집니다. 오래된 프로젝트(2018년 시작)로, 이번 호에서 처음으로 순위권에 진입했습니다. 라이선스는 Apache-2.0