|
|
kornia.geometry |
|
|
=============== |
|
|
|
|
|
Geometric image transformations is another key ingredient in computer vision to manipulate images. |
|
|
Since geometry operations are typically performed in 2D or 3D, we provide several algorithms to work |
|
|
with both cases. This module, the original core of the library, consists of the following submodules: |
|
|
transforms, camera, conversions, linalg and depth. We next describe each of them: |
|
|
|
|
|
- `transforms`: The module provides low level interfaces to manipulate 2D images, with routines for Rotating, |
|
|
Scaling, Translating, Shearing; Cropping functions in several modalities such as central crops, |
|
|
crop and resize |
|
|
Functions to warp tensors given affine or perspective transformations, |
|
|
and utilities to compute the transformation matrices to perform the mentioned operations. |
|
|
- `camera`: A set of routines specific to different types of camera representations such as Pinhole |
|
|
or Orthographic models containing functionalities such as projecting and unprojecting points from the |
|
|
camera to a world frame. |
|
|
- `conversions`: Routines to perform conversions between angle representation such as |
|
|
radians to degrees, coordinates normalization, and homogeneous to euclidean. Moreover, we include advanced |
|
|
conversions for 3D geometry representations such as Quaternion, Axis-Angle, Rotation Matrix, or Rodrigues |
|
|
formula. |
|
|
- `linalg`: Functions to perform general rigid-body homogeneous transformations. We include implementations to |
|
|
transform points between frames and for homogeneous transformations, manipulation such as composition, |
|
|
inverse and to compute relative poses. |
|
|
- `depth`: A set of layers to manipulate depth maps such as how to compute 3D point clouds given depth maps and |
|
|
calibrated cameras |
|
|
|
|
|
|
|
|
:Resources: |
|
|
|
|
|
**align_corners** |
|
|
|
|
|
align_corners is a switch that widely offered in PyTorch geometric transform functions. |
|
|
Here is a simple illustration showing how a 4x4 image is upsampled to 8x8, made by |
|
|
`bkkm16 <https://discuss.pytorch.org/t/what-we-should-use-align-corners-false/22663/9?u=ducha-aiki>`_. |
|
|
|
|
|
.. image:: https://user-images.githubusercontent.com/4803565/110627988-df8a4d00-81a2-11eb-8e13-06d3f7b09ef1.png |
|
|
|
|
|
- `align_corners=True`, pixels are arranged as a grid of points. Points at the corners are aligned. |
|
|
- `align_corners=False`, pixels are arranged as 1x1 areas. Area boundaries, rather than their centers, are aligned. |
|
|
|
|
|
|
|
|
.. currentmodule:: kornia.geometry |
|
|
|
|
|
.. toctree:: |
|
|
:maxdepth: 3 |
|
|
|
|
|
geometry.bbox |
|
|
geometry.calibration |
|
|
geometry.camera |
|
|
geometry.conversions |
|
|
geometry.depth |
|
|
geometry.epipolar |
|
|
geometry.homography |
|
|
geometry.linalg |
|
|
geometry.subpix |
|
|
geometry.transform |
|
|
geometry.ransac |
|
|
|