kornia/kornia

Bibliothèque de vision par ordinateur différentiable pour PyTorch : les opérateurs de traitement d'image, de vision géométrique, d'augmentation de données et de mise en correspondance de caractéristiques s'exécutent par lots directement sur des tenseurs GPU, sont pour la plupart rétropropageables et peuvent être intégrés directement dans les flux d'entraînement.

Bibliothèque de vision par ordinateur différentiable pour PyTorch : les opérateurs de traitement d'image, de vision géométrique, d'augmentation de données et de mise en correspondance de caractéristiques s'exécutent par lots directement sur des tenseurs GPU, sont pour la plupart rétropropageables et peuvent être intégrés directement dans les flux d'entraînement.

Nombre d'étoiles 12133 (+412 / 24h)

Raison

  • Les auteurs affirment disposer de plus de 1200 opérateurs publics, dont la plupart sont absents de torchvision : modèles de caméra et géométrie épipolaire, solveurs de solutions minimales et RANSAC, caractéristiques locales et mises en correspondance telles que SIFT / DISK / ALIKED / XFeat / DeDoDe / LoFTR / LightGlue ; chaque image peut utiliser des paramètres différents lors d'un seul appel
  • Le projet vise à fournir une implémentation de référence pour la vision différentiable et la géométrie dans l'écosystème PyTorch, en privilégiant des conventions claires, des tests de cohérence et des benchmarks honnêtes : le README mentionne à la fois les points forts (beaucoup plus rapide que OpenCV image par image sur CPU lors de l'exécution par lots sur GPU) et les points faibles (les petits opérateurs comme le retournement et le recadrage sont moins performants que torchvision, et OpenCV est plus rapide pour les images uint8 uniques)
  • La plupart des opérateurs fonctionnent avec torch.compile, un grand nombre d'opérateurs peuvent être exportés au format ONNX, et la prise en charge de chaque opérateur est documentée publiquement

Utilisation

  • pip install kornia ; exemple : gaussian_blur2d(x, (9, 9), sigma) où sigma peut être un tenseur contenant un ensemble de valeurs par image, et AugmentationSequential applique la même transformation aléatoire de manière synchrone aux images, aux masques, aux boîtes et aux points clés

Risques

  • Pour les opérations simples avec des paramètres fixes, quelques lignes de PyTorch ou de torchvision suffisent ; la précision demi-virgule sur CPU présente encore des cas d'échec connus, et la précision demi-virgule sur CUDA / MPS n'est pas couverte par la CI
  • Les chiffres de comparaison de vitesse proviennent des benchmarks des auteurs sur une RTX 4090 et varient selon le matériel et la charge ; projet établi (fondé en 2018), première apparition dans ce classement ; licence Apache-2.0

Ouvrir

Trendshift(GitHub Trending 快照)

Parcourir les dernières actualités IA