RandomIoUCrop¶
- class torchvision.transforms.v2.RandomIoUCrop(min_scale: float = 0.3, max_scale: float = 1.0, min_aspect_ratio: float = 0.5, max_aspect_ratio: float = 2.0, sampler_options: Optional[List[float]] = None, trials: int = 40)[source]¶
[BETA] Random IoU crop transformation from “SSD: Single Shot MultiBox Detector”.
Note
The RandomIoUCrop transform is in Beta stage, and while we do not expect disruptive breaking changes, some APIs may slightly change according to user feedback. Please submit any feedback you may have in this issue: https://github.com/pytorch/vision/issues/6753.
This transformation requires an image or video data and
tv_tensors.BoundingBoxes
in the input.Warning
In order to properly remove the bounding boxes below the IoU threshold, RandomIoUCrop must be followed by
SanitizeBoundingBoxes
, either immediately after or later in the transforms pipeline.If the input is a
torch.Tensor
or aTVTensor
(e.g.Image
,Video
,BoundingBoxes
etc.) it can have arbitrary number of leading batch dimensions. For example, the image can have[..., C, H, W]
shape. A bounding box can have[..., 4]
shape.- Parameters:
min_scale (float, optional) – Minimum factors to scale the input size.
max_scale (float, optional) – Maximum factors to scale the input size.
min_aspect_ratio (float, optional) – Minimum aspect ratio for the cropped image or video.
max_aspect_ratio (float, optional) – Maximum aspect ratio for the cropped image or video.
sampler_options (list of python:float, optional) – List of minimal IoU (Jaccard) overlap between all the boxes and a cropped image or video. Default,
None
which corresponds to[0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0]
trials (int, optional) – Number of trials to find a crop for a given value of minimal IoU (Jaccard) overlap. Default, 40.
Examples using
RandomIoUCrop
:Transforms v2: End-to-end object detection/segmentation example
Transforms v2: End-to-end object detection/segmentation example