영어 | 简体中文
문서 • 지금 사용해 보기 • 튜토리얼 • 예제 • 블로그 • 커뮤니티
Kornia 는 풍부한 미분 가능 이미지 처리 및 기하학적 비전 알고리즘 세트를 제공하는 미분 가능 컴퓨터 비전 라이브러리입니다. PyTorch를 기반으로 구축된 Kornia는 기존 AI 워크플로우에 원활하게 통합되어 강력한 배치 변환, 자동 차별화 및 GPU 가속을 활용할 수 있습니다. 이미지 변환, 증강 또는 AI 기반 이미지 처리 작업 중 무엇을 하든 Kornia는 아이디어를 실현하는 데 필요한 도구를 제공합니다.
범주 | 방법/모델 |
---|---|
이미지 처리 | - 색상 변환(RGB, Grayscale, HSV 등) - 기하학적 변환(Affine, Homography, Resizing 등) - 필터링 (가우시안 블러, 메디안 블러 등) - 엣지 검출 (Sobel, Canny 등) - 형태학적 연산(Erosion, Dilation 등) |
증가 | - 무작위 자르기, 지우기 - 무작위 기하학적 변환(Affine, Flipping, Fish Eye, Perspecive, Thin plate spline, Elastic) - 무작위 노이즈(가우스, 중앙값, 모션, 상자, 비, 눈, 소금 및 후추) - 무작위 색상 지터링(대비, 밝기, CLAHE, 균등화, 감마, 색조, 반전, JPEG, 플라즈마, 포스터라이즈, 채도, 선명도, Solarize) - 랜덤믹스업, 컷믹스, 모자이크, 이식 등 |
특징 탐지 | - 감지기(Harris, GFTT, Hessian, DoG, KeyNet, DISK 및 DeDoDe) - 설명자(SIFT, HardNet, TFeat, HyNet, SOSNet 및 LAFDescriptor) - 매칭(가장 가까운 이웃, 상호 가장 가까운 이웃, 기하학적 인식 매칭, AdaLAM LightGlue 및 LoFTR) |
기하학 | - 카메라 모델 및 교정 - 스테레오 비전(에피폴라 기하학, 시차 등) - 호모그래피 추정 - 시차로부터 깊이 추정 - 3D 변환 |
딥러닝 레이어 | - 사용자 정의 컨볼루션 레이어 - 비전 작업을 위한 반복 레이어 - 손실 함수(예: SSIM, PSNR 등) - 비전별 옵티마이저 |
측광 기능 | - 광도 손실 함수 - 광도계 확대 |
필터링 | - 양방향 필터링 - 덱시네드 - 용해 - 가이드 블러 - 라플라시안 - 가우스 - 비지역적 수단 - 소벨 - 언샵 마스킹 |
색상 | - 색 공간 변환 - 밝기/대비 조정 - 감마 보정 |
스테레오 비전 | - 시차 추정 - 깊이 추정 - 정정 |
이미지 등록 | - 아핀 및 호모그래피 기반 등록 - 특징 매칭을 이용한 이미지 정렬 |
포즈 추정 | - 필수 및 기본 매트릭스 추정 - PnP 문제 해결사 - 포즈 개선 |
광학 흐름 | - Farneback 광학 흐름 - 조밀한 광학 흐름 - 희박한 광학 흐름 |
3D 비전 | - 깊이 추정 - 포인트 클라우드 운영 - 너프 |
이미지 노이즈 제거 | - 가우스 노이즈 제거 - 포아송 노이즈 제거 |
가장자리 감지 | - 소벨 오퍼레이터 - 캐니 엣지 감지 |
변환 | - 회전 - 번역 - 스케일링 - 전단 |
손실 함수 | - SSIM(구조적 유사성 지수 측정) - PSNR(피크 신호 대 잡음비) - 코시 - 샤르보니에 - 깊이 스무스 - 주사위 - 하우스도르프 - 트베르스키 - 웰쉬 |
형태학적 연산 | - 팽창 - 부식 - 오프닝 - 폐회 |
Kornia는 자원봉사자들이 개발하고 유지 관리하는 오픈 소스 프로젝트입니다. 연구 목적이든 상업적 목적이든 관계없이 후원이나 협력을 고려해 보세요. 귀하의 지원은 Kornia의 성장과 지속적인 혁신을 보장하는 데 도움이 될 것입니다. 오늘 저희에게 연락하셔서 이 흥미진진한 계획의 미래를 형성하는 데 동참해 주십시오!
pip install kornia
pip install -e .
pip install git+https://github.com/kornia/kornia
Kornia는 단순한 컴퓨터 비전 라이브러리가 아닙니다. 간편한 컴퓨터 비전 및 AI로 향하는 관문입니다.
import numpy as np
import kornia_rs as kr
from kornia . augmentation import AugmentationSequential , RandomAffine , RandomBrightness
from kornia . filters import StableDiffusionDissolving
# Load and prepare your image
img : np . ndarray = kr . read_image_any ( "img.jpeg" )
img = kr . resize ( img , ( 256 , 256 ), interpolation = "bilinear" )
# alternatively, load image with PIL
# img = Image.open("img.jpeg").resize((256, 256))
# img = np.array(img)
img = np . stack ([ img ] * 2 ) # batch images
# Define an augmentation pipeline
augmentation_pipeline = AugmentationSequential (
RandomAffine (( - 45. , 45. ), p = 1. ),
RandomBrightness (( 0. , 1. ), p = 1. )
)
# Leveraging StableDiffusion models
dslv_op = StableDiffusionDissolving ()
img = augmentation_pipeline ( img )
dslv_op ( img , step_number = 500 )
dslv_op . save ( "Kornia-enhanced.jpg" )
import numpy as np
from kornia . onnx import ONNXSequential
# Chain ONNX models from HuggingFace repo and your own local model together
onnx_seq = ONNXSequential (
"hf://operators/kornia.geometry.transform.flips.Hflip" ,
"hf://models/kornia.models.detection.rtdetr_r18vd_640x640" , # Or you may use "YOUR_OWN_MODEL.onnx"
)
# Prepare some input data
input_data = np . random . randn ( 1 , 3 , 384 , 512 ). astype ( np . float32 )
# Perform inference
outputs = onnx_seq ( input_data )
# Print the model outputs
print ( outputs )
# Export a new ONNX model that chains up all three models together!
onnx_seq . export ( "chained_model.onnx" )
이제 TensorFlow, JAX 및 NumPy와 함께 Kornia를 사용할 수 있습니다. 자세한 내용은 다중 프레임워크 지원을 참조하세요.
import kornia
tf_kornia = kornia . to_tensorflow ()
제공:
컴퓨터 비전, AI 및 오픈 소스 개발에 열정이 있습니까? Kornia의 미래를 만드는 데 함께 해주세요! 우리는 라이브러리를 더욱 강력하고, 접근 가능하며, 다양하게 만들기 위해 라이브러리를 확장하고 개선하는 데 도움을 줄 수 있는 기여자를 적극적으로 찾고 있습니다. 숙련된 개발자이든 이제 막 시작하는 개발자이든 우리 커뮤니티에는 여러분을 위한 자리가 있습니다.
경량 AI 모델을 Kornia에 원활하게 통합하도록 설계된 새로운 이니셔티브인 최신 발전 사항을 발표하게 되어 기쁘게 생각합니다. 우리는 StableDiffusion과 같은 대형 모델처럼 모든 모델을 원활하게 실행하여 다양한 관점에서 이를 잘 지원하는 것을 목표로 합니다. YuNet(얼굴 감지), Loftr(특징 일치), SAM(분할)과 같은 다양한 경량 AI 모델이 이미 포함되어 있습니다. 이제 우리는 우리를 도와줄 기여자를 찾고 있습니다:
Kornia의 기반은 이미지 처리, 특징 추출 및 기하학적 변환을 위한 강력한 도구를 제공하는 광범위한 클래식 컴퓨터 비전 연산자 컬렉션에 있습니다. 우리는 문서를 개선하고 사용자에게 멋진 튜토리얼을 제공하는 데 도움을 줄 수 있는 기여자를 지속적으로 찾고 있습니다.
연구 관련 문서에 코르니아를 사용하는 경우 해당 논문을 인용하는 것이 좋습니다. CITATION에서 자세한 내용을 확인하세요.
@inproceedings { eriba2019kornia ,
author = { E. Riba, D. Mishkin, D. Ponsa, E. Rublee and G. Bradski } ,
title = { Kornia: an Open Source Differentiable Computer Vision Library for PyTorch } ,
booktitle = { Winter Conference on Applications of Computer Vision } ,
year = { 2020 } ,
url = { https://arxiv.org/pdf/1910.02190.pdf }
}
모든 기여에 감사드립니다. 버그 수정에 기여할 계획이라면 더 이상의 논의 없이 그렇게 하시기 바랍니다. 새로운 기능, 유틸리티 기능 또는 확장 기능을 제공할 계획이라면 먼저 이슈를 열고 해당 기능에 대해 논의해 주세요. CONTRIBUTING 노트를 읽어보시기 바랍니다. 이 오픈 소스 프로젝트에 참여하려면 행동 강령이 적용됩니다.
contrib.rocks로 제작되었습니다.
Kornia는 Apache 2.0 라이센스에 따라 출시됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.