Skip to content

Repository files navigation

bbox-utils

Utilities to easily convert between different bounding box formats (YOLO, XYWH, XYXY, etc.).

Description

You can find documentation for the project at here.

2D Bounding Box ConversionsColab Image Demo

  • List of points [top left, top right, bottom right, bottom left]
  • XYWH: top left, width, height
  • XYXY: top left, bottom right
  • YOLO

3D Bounding Box ConversionsColab PCD Demo

You can create a 3D bounding box with either:

  • A center point, width, height, depth, and rotation
  • The back-bottom-left point, width, height, depth, and rotation

You can convert between the two forms and also get a triangular polygon to use for plotting triangular meshes.

The majority of the 3D Bounding Box implementation comes from the bbox PyPI package.

Visualizations You can use bbox-utils to visualize annotations within point clouds or images.

To use point clouds, you will need to install open3d and plotly with either:

pip3 install open3d plotly==4.14.3
pip install
# or
conda install -c open3d-admin open3d
conda install -c plotly plotly=4.14.3

At the time of writing this, open3d requires Python < 3.9

To use images, you will need to install OpenCV:

pip3 install opencv-python
# or
conda install opencv -c conda-forge

Making Changes & Contributing

This project uses pre-commit, please make sure to install it before making any changes:

pip install pre-commit
cd bbox-utils
pre-commit install

It is a good idea to update the hooks to the latest version:

pre-commit autoupdate

Note

This project has been set up using PyScaffold 4.0rc1. For details and usage information on PyScaffold see https://pyscaffold.org/.

About

Utilities for working with 2D and 3D bounding boxes.

Resources

Stars

11 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages