Introduction

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.

Why Kornia ?

With Kornia we fill the gap within the PyTorch ecosystem introducing a computer vision library that implements standard vision algorithms taking advantage of the different properties that modern frameworks for deep learning like PyTorch can provide:

  1. Differentiability for commodity avoiding to write derivative functions for complex loss functions.

  2. Transparency to perform parallel or serial computing eitherin CPU or GPU devices using batches in a common API.

  3. Distributed for computing large-scale applications.

  4. Production ready using the JIT compiler.

Hightlighted Features

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