Implement wrapper around albumentations #5253
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It would be nice to use the
albumentations
library in Detectron2. Thealbumentations
library provides a wide range of image augmentations and it is therefore useful to integrate with Detectron2, as an addition to the image augmentations that it already provides.This feature has already been discussed earlier in this issue from 2021, but, as far as I can see, did not lead to a successful merge.
I am building on the code provided by @KUASWoodyLIN, which is a great start. However, for integration with the default
DatasetMapper
, it is necessary to convert between the Detectron2 bounding box format and the bounding box format expected byalbumentations
, which I have added. In addition, I also added a test for the newT.Albumentations
class. Here's an example of how it can be used:As shown here, the
T.Albumentations
class can be used in conjunction with other Detectron2 augmentations.Some limitations of this implementation:
T.AlbumentationsTransform.apply_coords
method.A.Compose
orA.OneOf
.Please let me know if anything is missing or if there are still changes that need to be made.