Skip to content
Open Source Differentiable Computer Vision Library for PyTorch
Python Other
  1. Python 99.4%
  2. Other 0.6%
Branch: master
Clone or download
edgarriba Merge pull request #399 from smallzzy/master
move hsv conversion outside of adjust_saturation and adjust_hue
Latest commit 9f96d3d Jan 17, 2020

README.rst Documentation Status

Kornia is a differentiable computer vision library for PyTorch.

It consists of a set of routines and differentiable modules to solve generic computer vision problems. At its core, the package uses PyTorch as its main backend both for efficiency and to take advantage of the reverse-mode auto-differentiation to define and compute the gradient of complex functions.


Inspired by OpenCV, this library is composed by a subset of packages containing operators that can be inserted within neural networks to train models to perform image transformations, epipolar geometry, depth estimation, and low-level image processing such as filtering and edge detection that operate directly on tensors.

At a granular level, Kornia is a library that consists of the following components:

Component Description
kornia a Differentiable Computer Vision library like OpenCV, with strong GPU support
kornia.color a set of routines to perform color space conversions
kornia.contrib a compilation of user contrib and experimental operators
kornia.feature a module to perform feature detection
kornia.filters a module to perform image filtering and edge detection
kornia.geometry a geometric computer vision library to perform image transformations, 3D linear algebra and conversions using different camera models
kornia.losses a stack of loss functions to solve different vision tasks
kornia.utils image to tensor utilities and metrics for vision problems


From pip:

pip install kornia

From source:

python install

From source with symbolic links:

python install develop

From source using pip:

pip install git+

Quick Usage

import torch
import kornia

x_rad = kornia.pi * torch.rand(1, 3, 3)
x_deg = kornia.rad2deg(x_rad)

torch.allclose(x_rad, kornia.deg2rad(x_deg))  # True


Run our Jupyter notebooks examples to learn to use the library.


If you are using kornia in your research-related documents, it is recommended that you cite the paper.

  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      = {2019},
  url       = {}

  author    = {E. Riba, M. Fathollahi, W. Chaney, E. Rublee and G. Bradski}
  title     = {torchgeometry: when PyTorch meets geometry},
  booktitle = {PyTorch Developer Conference},
  year      = {2018},
  url       = {}


We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion. If you plan to contribute new features, utility functions or extensions, please first open an issue and discuss the feature with us. Please, consider reading the CONTRIBUTING notes. The participation in this open source project is subject to Code of Conduct.

You can’t perform that action at this time.