PrRoIPool¶
- class mmcv.ops.PrRoIPool(output_size: Union[int, tuple], spatial_scale: float = 1.0)[source]¶
The operation of precision RoI pooling. The implementation of PrRoIPool is modified from https://github.com/vacancy/PreciseRoIPooling/
Precise RoI Pooling (PrRoIPool) is an integration-based (bilinear interpolation) average pooling method for RoI Pooling. It avoids any quantization and has a continuous gradient on bounding box coordinates. It is:
1. different from the original RoI Pooling proposed in Fast R-CNN. PrRoI Pooling uses average pooling instead of max pooling for each bin and has a continuous gradient on bounding box coordinates. That is, one can take the derivatives of some loss function w.r.t the coordinates of each RoI and optimize the RoI coordinates. 2. different from the RoI Align proposed in Mask R-CNN. PrRoI Pooling uses a full integration-based average pooling instead of sampling a constant number of points. This makes the gradient w.r.t. the coordinates continuous.
- Parameters
- forward(features: torch.Tensor, rois: torch.Tensor) → torch.Tensor[source]¶
Forward function.
- Parameters
features (torch.Tensor) – The feature map.
rois (torch.Tensor) – The RoI bboxes in [tl_x, tl_y, br_x, br_y] format.
- Returns
The pooled results.
- Return type