Anglais | 简体中文
Documents • Essayez-le maintenant • Tutoriels • Exemples • Blog • Communauté
Kornia est une bibliothèque de vision par ordinateur différenciable qui fournit un riche ensemble d'algorithmes de traitement d'image et de vision géométrique différenciables. Construit sur PyTorch, Kornia s'intègre de manière transparente aux flux de travail d'IA existants, vous permettant de tirer parti de puissantes transformations par lots, de l'auto-différenciation et de l'accélération GPU. Que vous travailliez sur des transformations d'images, des augmentations ou un traitement d'images basé sur l'IA, Kornia vous fournit les outils dont vous avez besoin pour donner vie à vos idées.
Catégorie | Méthodes/Modèles |
---|---|
Traitement d'images | - Conversions de couleurs (RVB, niveaux de gris, HSV, etc.) - Transformations géométriques (Affine, Homographie, Redimensionnement, etc.) - Filtrage (Flou gaussien, Flou médian, etc.) - Détection de contour (Sobel, Canny, etc.) - Opérations Morphologiques (Érosion, Dilatation, etc.) |
Augmentation | - Recadrage aléatoire, Effacement - Transformations géométriques aléatoires (Affine, retournement, Fish Eye, Perspecive, Thin plate spline, Elastic) - Bruits aléatoires (Gaussien, Médian, Mouvement, Boîte, Pluie, Neige, Sel et Poivre) - Gigue aléatoire des couleurs (Contraste, Luminosité, CLAHE, Égalisation, Gamma, Teinte, Inversion, JPEG, Plasma, Postérisation, Saturation, Netteté, Solarisation) - Random MixUp, CutMix, Mosaïque, Transplantation, etc. |
Détection des fonctionnalités | - Détecteur (Harris, GFTT, Hessian, DoG, KeyNet, DISK et DeDoDe) - Descripteur (SIFT, HardNet, TFeat, HyNet, SOSNet et LAFDescriptor) - Correspondance (voisin le plus proche, voisin le plus proche, correspondance géométrique, AdaLAM LightGlue et LoFTR) |
Géométrie | - Modèles de caméras et calibrage - Vision stéréo (géométrie épipolaire, disparité, etc.) - Estimation d'homographie - Estimation de la profondeur à partir de la disparité - Transformations 3D |
Couches d'apprentissage profond | - Couches de convolution personnalisées - Couches récurrentes pour les tâches de vision - Fonctions de perte (par exemple, SSIM, PSNR, etc.) - Optimiseurs spécifiques à la vision |
Fonctions photométriques | - Fonctions de perte photométrique - Augmentations photométriques |
Filtration | - Filtrage bilatéral - DexiNed - Dissolution - Flou guidé - Laplacien - Gaussien - Moyens non locaux -Sobel - Masquage flou |
Couleur | - Conversions d'espace colorimétrique - Réglage luminosité/contraste - Correction gamma |
Vision stéréo | - Estimation des disparités - Estimation de la profondeur - Rectification |
Enregistrement d'images | - Enregistrement affine et homographique - Alignement de l'image à l'aide de la correspondance des fonctionnalités |
Estimation de pose | - Estimation matricielle essentielle et fondamentale - Résolveurs de problèmes PnP - Pose raffinement |
Flux optique | - Flux optique Farneback - Flux optique dense - Flux optique clairsemé |
Vision 3D | - Estimation de la profondeur - Opérations de nuages de points -Nerf |
Débruitage d'image | - Suppression du bruit gaussien - Suppression du bruit de Poisson |
Détection des bords | - Opérateur Sobel - Détection de bord astucieuse |
Transformations | - Rotation - Traduction - Mise à l'échelle - Cisaillement |
Fonctions de perte | - SSIM (Mesure de l'Indice de Similitude Structurelle) - PSNR (rapport signal/bruit de pointe) -Cauchy - Charbonnier - Profondeur lisse - Dés - Hausdorff -Tverski - Gallois |
Opérations Morphologiques | - Dilatation - Érosion - Ouverture - Clôture |
Kornia est un projet open source développé et maintenu par des bénévoles. Que vous l'utilisiez à des fins de recherche ou à des fins commerciales, envisagez de le parrainer ou de collaborer avec nous. Votre soutien contribuera à assurer la croissance et l’innovation continue de Kornia. Contactez-nous dès aujourd'hui et participez à façonner l'avenir de cette initiative passionnante !
pip install kornia
pip install -e .
pip install git+https://github.com/kornia/kornia
Kornia n'est pas simplement une autre bibliothèque de vision par ordinateur : c'est votre passerelle vers la vision par ordinateur et l'IA sans effort.
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" )
Vous pouvez désormais utiliser Kornia avec TensorFlow, JAX et NumPy. Voir Prise en charge multi-framework pour plus de détails.
import kornia
tf_kornia = kornia . to_tensorflow ()
Alimenté par
Êtes-vous passionné par la vision par ordinateur, l’IA et le développement open source ? Rejoignez-nous pour façonner l’avenir de Kornia ! Nous recherchons activement des contributeurs pour nous aider à élargir et à améliorer notre bibliothèque, la rendant encore plus puissante, accessible et polyvalente. Que vous soyez un développeur expérimenté ou débutant, il y a une place pour vous dans notre communauté.
Nous sommes ravis d'annoncer notre dernière avancée : une nouvelle initiative conçue pour intégrer de manière transparente des modèles d'IA légers dans Kornia. Notre objectif est d'exécuter des modèles aussi fluides que les grands modèles tels que StableDiffusion, pour bien les prendre en charge dans de nombreuses perspectives. Nous avons déjà inclus une sélection de modèles d'IA légers comme YuNet (détection de visage), Loftr (correspondance de fonctionnalités) et SAM (segmentation). Nous recherchons désormais des contributeurs pour nous aider :
Le fondement de Kornia réside dans sa vaste collection d'opérateurs de vision par ordinateur classiques, fournissant des outils robustes pour le traitement d'images, l'extraction de caractéristiques et les transformations géométriques. Nous recherchons continuellement des contributeurs pour nous aider à améliorer notre documentation et à présenter de jolis tutoriels à nos utilisateurs.
Si vous utilisez kornia dans vos documents liés à la recherche, il est recommandé de citer l'article. Voir plus dans 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 }
}
Nous apprécions toutes les contributions. Si vous envisagez de contribuer aux corrections de bugs, veuillez le faire sans autre discussion. Si vous envisagez de contribuer à de nouvelles fonctionnalités, fonctions utilitaires ou extensions, veuillez d'abord ouvrir un ticket et discuter de la fonctionnalité avec nous. S'il vous plaît, pensez à lire les notes CONTRIBUANTES. La participation à ce projet open source est soumise au Code de Conduite.
Réalisé avec contrib.rocks.
Kornia est publié sous la licence Apache 2.0. Voir le fichier LICENSE pour plus d'informations.