Kornia: an Open Source Differentiable Computer Vision Library for PyTorch
This library addresses the need for differentiable computer vision tools in the PyTorch ecosystem, facilitating easier training of models for vision tasks, but it is incremental as it builds on existing methods like OpenCV and PyTorch.
The authors introduced Kornia, an open-source differentiable computer vision library for PyTorch that tackles generic vision problems by providing differentiable routines and modules, enabling integration into neural networks for tasks like image transformations and camera calibration, with benchmarks comparing it to existing libraries.
This work presents Kornia -- an open source computer vision library which consists of a set of differentiable routines and modules to solve generic computer vision problems. 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, Kornia is composed of a set of modules containing operators that can be inserted inside neural networks to train models to perform image transformations, camera calibration, epipolar geometry, and low level image processing techniques, such as filtering and edge detection that operate directly on high dimensional tensor representations. Examples of classical vision problems implemented using our framework are provided including a benchmark comparing to existing vision libraries.