Is there any augmentation tool for images and bounding boxes?

I don't have a lot of training data and I'm looking for some tools in python or executable program like labelimg that do some heavy augmentation on images, even better if they also change bounding boxes coordinate accordingly. Any help will be appreciated!

Topic data-augmentation computer-vision python tools

Category Data Science


Albumentations can do that augmentation. It supports multiple formats of bounding boxes annotations. From the docs:

Albumentations is a Python library for fast and flexible image augmentations. Albumentations efficiently implements a rich variety of image transform operations that are optimized for performance, and does so while providing a concise, yet powerful image augmentation interface for different computer vision tasks, including object classification, segmentation, and detection.


There is also bbaug which implements Google's bounding box augmentation policies.


Other widely used Python libraries for data augmentation include:

  • OpenCV: has functions/methods for bounding boxes, changing color space, scaling, cropping, translation, rotation, filters, blur, thresholding, etc.
  • Scikit-image: also has features allowing converting from another color space to another, resizing/rescaling/rotating, erosion/dilation, filters, etc.
  • Pillow: also has features for color space conversion, resizing/rotation/cropping, filters, pixel-level transformations, etc.

I think you should look into imgaug. It supports most image augmentation and does have support for bounding boxes.

Docs: https://imgaug.readthedocs.io/en/latest/

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.