이미지 변환과 기하학 연산을 학습 파이프라인에 직접 연결하는 도구
이미지를 회전하거나 흐리게 만드는 작업이 모델 학습 과정에서 끊기지 않고 이어지도록 합니다. PyTorch 위에서 동작하는 이 라이브러리는 이미지 처리와 기하학 알고리즘을 미분 가능한 형태로 제공해, GPU에서 대량 처리와 자동 미분을 동시에 활용할 수 있게 합니다.
기하학 코어 강화와 방향 전환
최근 프로젝트는 API 확장보다 PyTorch 생태계 내 미분 가능 컴퓨터 비전과 기하학의 표준 구현체로 자리매김하는 데 집중하고 있습니다. 명시적인 규약, 적합성 테스트, 그리고 정직한 벤치마크를 통해 코어의 신뢰성을 높이는 것이 최우선 과제입니다. 모델 추가는 현재 동결되어 있으며, 유지보수 역량은 기하학 연산의 정확성과 안정성 확보에 투입되고 있습니다.
단일 배치로 처리하는 다양한 파라미터
기존 라이브러리들이 호출마다 하나의 파라미터만 적용하는 것과 달리, 이 도구는 배치 내 각 샘플에 다른 값을 적용할 수 있습니다.
- 배치된 최소 해법 기초 행렬이나 본질 행렬 추정 시 여러 샘플을 동시에 처리하고 모든 실수 해를 반환합니다. RANSAC 알고리즘도 장치에서 가설을 샘플링하고 점수를 매깁니다.
- 미분 가능한 기하학 깊이 정보를 3D 좌표로 변환하거나 카메라 모델의 왜곡을 보정하는 과정에서 기울기를 유지합니다. 깊이, 자세, 카메라 파라미터에 대한 그래디언트를 계산할 수 있습니다.
- GPU 기반 로컬 특징 SIFT, DISK, LoFTR 등 다양한 특징 검출자와 매칭기를 GPU에서 실행합니다. 상호 최근접 이웃과 비율 테스트 매칭기를 지원합니다.
성능과 정밀도 지원 현황
RTX 4090 환경에서 배치 32로 실행한 벤치마크에 따르면, 많은 필터와 변형 연산이 CPU 기반 OpenCV나 scikit-image보다 10배에서 70배 빠릅니다.
- 반정밀도 지원 CPU 환경에서 float16과 bfloat16에 대한 알려진 실패 목록을 관리하고 있습니다. CUDA와 MPS의 반정밀도 지원은 현재 CI에서 검증되지 않으며, CPU 결과만으로 GPU 지원을 보장하지 않습니다.
- 컴파일 및 내보내기 대부분의 연산 설정이
torch.compile과 호환되며, 1,000개 이상의 연산이 ONNX로 내보낼 수 있습니다. 각 연산의 내보내기 지원 여부는 공식 페이지에서 확인할 수 있습니다.
적용 전 확인 사항
이 도구는 복잡한 기하학 변환이나 대량 이미지 처리가 필요한 딥러닝 파이프라인에 적합합니다. 단순한 고정 파라미터 변환만 필요하다면 PyTorch 기본 기능이나 torchvision으로 충분할 수 있습니다. 설치 시 pip install kornia를 사용하며, ONNX나 Stable Diffusion 관련 기능은 추가 패키지가 필요합니다.