Shortcuts

RiRoIAlignRotated

class mmcv.ops.RiRoIAlignRotated(out_size: tuple, spatial_scale: float, num_samples: int = 0, num_orientations: int = 8, clockwise: bool = False)[source]

Rotation-invariant RoI align pooling layer for rotated proposals.

It accepts a feature map of shape (N, C, H, W) and rois with shape (n, 6) with each roi decoded as (batch_index, center_x, center_y, w, h, angle). The angle is in radian.

The details are described in the paper ReDet: A Rotation-equivariant Detector for Aerial Object Detection.

Parameters
  • out_size (tuple) – fixed dimensional RoI output with shape (h, w).

  • spatial_scale (float) – scale the input boxes by this number

  • num_samples (int) – number of inputs samples to take for each output sample. 0 to take samples densely for current models.

  • num_orientations (int) – number of oriented channels.

  • clockwise (bool) – If True, the angle in each proposal follows a clockwise fashion in image space, otherwise, the angle is counterclockwise. Default: False.

forward(features: torch.Tensor, rois: torch.Tensor)torch.Tensor[source]

Defines the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.