Object Detection

class todd.tasks.object_detection.BBoxes[source]

Bases: NormalizeMixin[tuple[float, float, float, float]], TensorWrapper[tuple[float, float, float, float]], ABC

OBJECT_DIMENSIONS: int = 1
__init__(*args, **kwargs)[source]
Return type:

None

property area: Tensor
abstract property bottom: Tensor
abstract property center: Tensor
abstract property center_x: Tensor
abstract property center_y: Tensor
clamp()[source]
Return type:

Self

expand(ratio_wh)[source]
Parameters:

ratio_wh (tuple[float, float] | Tensor)

Return type:

Self

classmethod from_(bboxes)[source]
Parameters:

bboxes (BBoxes)

Return type:

Self

abstract property height: Tensor
indices(*, min_area=None, min_wh=None)[source]
Parameters:
Return type:

Tensor

abstract property left: Tensor
abstract property lt: Tensor
pairwise_intersections(other)[source]
Parameters:

other (BBoxes)

Return type:

Tensor

pairwise_ious(other, eps=1e-06)[source]
Parameters:
Return type:

Tensor

pairwise_unions(other)[source]
Parameters:

other (BBoxes)

Return type:

Tensor

abstract property rb: Tensor
abstract property right: Tensor
round()[source]
Return type:

Self

to(cls)[source]
Parameters:

cls (type[T])

Return type:

T

to_mask()[source]
Return type:

Tensor

classmethod to_object(tensor)[source]
Parameters:

tensor (Tensor)

Return type:

tuple[float, float, float, float]

abstract property top: Tensor
translate(offset_xy)[source]
Parameters:

offset_xy (tuple[float, float] | Tensor)

Return type:

Self

abstract property wh: Tensor
abstract property width: Tensor
class todd.tasks.object_detection.BBoxesCXCYWH[source]

Bases: BBoxesCXCY__, BBoxes__WH

property bottom: Tensor
flatten()[source]
Return type:

FlattenBBoxesCXCYWH

property left: Tensor
property lt: Tensor
property rb: Tensor
property right: Tensor
property top: Tensor
class todd.tasks.object_detection.BBoxesCXCY__[source]

Bases: BBoxes, ABC

property center: Tensor
property center_x: Tensor
property center_y: Tensor
class todd.tasks.object_detection.BBoxesXYWH[source]

Bases: BBoxesXY__, BBoxes__WH

property bottom: Tensor
property center: Tensor
property center_x: Tensor
property center_y: Tensor
flatten()[source]
Return type:

FlattenBBoxesXYWH

property rb: Tensor
property right: Tensor
class todd.tasks.object_detection.BBoxesXYXY[source]

Bases: BBoxesXY__, BBoxes__XY

property center: Tensor
property center_x: Tensor
property center_y: Tensor
flatten()[source]
Return type:

FlattenBBoxesXYXY

property height: Tensor
property wh: Tensor
property width: Tensor
class todd.tasks.object_detection.BBoxesXY__[source]

Bases: BBoxes, ABC

property left: Tensor
property lt: Tensor
property top: Tensor
class todd.tasks.object_detection.BBoxes__WH[source]

Bases: BBoxes, ABC

property height: Tensor
property wh: Tensor
property width: Tensor
class todd.tasks.object_detection.BBoxes__XY[source]

Bases: BBoxes, ABC

property bottom: Tensor
property rb: Tensor
property right: Tensor
class todd.tasks.object_detection.FlattenBBoxesCXCYWH[source]

Bases: FlattenBBoxesMixin, BBoxesCXCYWH

class todd.tasks.object_detection.FlattenBBoxesMixin[source]

Bases: FlattenMixin[tuple[float, float, float, float]], BBoxes, ABC

intersections(other)[source]

Intersections.

Parameters:

other (FlattenBBoxesMixin) – \(n' \times 4\).

Returns:

\(n \times n'\).

Return type:

Tensor

ious(other, eps=1e-06)[source]

Intersections over unions.

Parameters:
Returns:

\(n \times n'\).

Return type:

Tensor

unions(other)[source]

Unions.

Parameters:

other (FlattenBBoxesMixin) – \(n' \times 4\).

Returns:

\(n \times n'\).

Return type:

Tensor

class todd.tasks.object_detection.FlattenBBoxesXYWH[source]

Bases: FlattenBBoxesMixin, BBoxesXYWH

class todd.tasks.object_detection.FlattenBBoxesXYXY[source]

Bases: FlattenBBoxesMixin, BBoxesXYXY

class todd.tasks.object_detection.ODBBoxesRegistry[source]

Bases: ODRegistry

data = {'BBoxesCXCYWH': <class 'todd.tasks.object_detection.bboxes.BBoxesCXCYWH'>, 'BBoxesXYWH': <class 'todd.tasks.object_detection.bboxes.BBoxesXYWH'>, 'BBoxesXYXY': <class 'todd.tasks.object_detection.bboxes.BBoxesXYXY'>, 'FlattenBBoxesCXCYWH': <class 'todd.tasks.object_detection.bboxes.FlattenBBoxesCXCYWH'>, 'FlattenBBoxesXYWH': <class 'todd.tasks.object_detection.bboxes.FlattenBBoxesXYWH'>, 'FlattenBBoxesXYXY': <class 'todd.tasks.object_detection.bboxes.FlattenBBoxesXYXY'>}
class todd.tasks.object_detection.ODModelRegistry[source]

Bases: ODRegistry, ModelRegistry

data = {}