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.