PanTiltRotate

class deepinv.transform.projective.PanTiltRotate(n_trans: int = 1, theta_max: float = 180.0, theta_z_max: float = 180.0, zoom_factor_min: float = 0.5, shift_max: float = 1.0, skew_max: float = 50.0, x_stretch_factor_min: float = 0.5, y_stretch_factor_min: float = 0.5, padding: str = 'reflection', interpolation: str = 'bilinear', device: str = 'cpu')[source]

Bases: Homography

Random 3D camera rotation image transformations using projective transformation framework.

Special case of homography which corresponds to the actions of the 3D camera rotation, or “pan+tilt+rotate” subgroup from Wang et al. “Perspective-Equivariant Imaging: an Unsupervised Framework for Multispectral Pansharpening” https://arxiv.org/abs/2403.09327

The transformations simulate panning, tilting or rotating the camera, leading to a “perspective” effect. The subgroup is isomorphic to SO(3).

See deepinv.transform.Homography for more details.

Generates n_trans random transformations concatenated along the batch dimension.


Example:

Apply a random pan+tilt+rotate transformation:

>>> from deepinv.transform.projective import PanTiltRotate
>>> x = torch.randn(1, 3, 16, 16) # Random 16x16 image
>>> transform = PanTiltRotate(n_trans = 1)
>>> x_T = transform(x)
Parameters:
  • theta_max (float) – Maximum pan+tilt angle in degrees, defaults to 180.

  • theta_z_max (float) – Maximum 2D z-rotation angle in degrees, defaults to 180.

  • padding (str) – kornia padding mode, defaults to “reflection”

  • interpolation (str) – kornia or PIL interpolation mode, defaults to “bilinear”

  • device (str) – torch device, defaults to “cpu”.

  • n_trans – number of transformed versions generated per input image, defaults to 1.

  • rng (torch.Generator) – random number generator, if None, use torch.Generator(), defaults to None

Examples using PanTiltRotate:

Image transforms for equivariance & augmentations

Image transforms for equivariance & augmentations

Image transformations for Equivariant Imaging

Image transformations for Equivariant Imaging