SanitizeBoundingBoxes

class torchaug.transforms.SanitizeBoundingBoxes(min_size=1.0, labels_getter='default')[source]

Remove degenerate/invalid bounding boxes and their corresponding labels and masks.

This transform removes bounding boxes and their associated labels/masks that:

  • are below a given min_size: by default this also removes degenerate boxes that have e.g. X2 <= X1.

  • have any coordinate outside of their corresponding image. You may want to call ClampBoundingBoxes first to avoid undesired removals.

It is recommended to call it at the end of a pipeline, before passing the input to the models. It is critical to call this transform if RandomIoUCrop was called. If you want to be extra careful, you may call it after all transforms that may modify bounding boxes but once at the end should be enough in most cases.

Parameters:
  • removed. (min_size The size below which bounding boxes are)

  • labels_getter (Union[Callable[[Any], Any], str, None], optional) – indicates how to identify the labels in the input. By default, this will try to find a “labels” key in the input (case-insensitive), if the input is a dict or it is a tuple whose second element is a dict. This heuristic should work well with a lot of datasets, including the built-in torchvision datasets. It can also be a callable that takes the same input as the transform, and returns the labels. Default: "default"

forward(*inputs)[source]

Performs forward pass of the transform.

Parameters:

inputs (Any) – Inputs to the transform.

Return type:

Any

Returns:

Transformed inputs.