mdbloice / Augmentor

Image augmentation library in Python for machine learning.
https://augmentor.readthedocs.io/en/stable
MIT License
5.06k stars 865 forks source link

Question // potential transformations // Image Statistics Matching #228

Open aabramovrepo opened 3 years ago

aabramovrepo commented 3 years ago

Dear All,

first of all, thanks for making this project available, some great work here! Together with my colleagues I have been working over the last year on unsupervised Domain Adaptation (DA) for object detection. In our work a DA problem for object detection was tackled from a new perspective: we solely matched image statistics between source and target domains without involving additional architectural add-ons and hyper-parameters. Thus, a detection model and training schedule stay as they are and you get state-of-the-art performance in the presence of a domain shift. For matching we used two operations: Feature Distribution Matching and Histogram Matching, you can find further details along with all experiments in our paper for CVPR'20 workshop:

Keep it Simple: Image Statistics Matching for Domain Adaptation.

From my point of view, both methods can be used for data augmentation as well, however, they require images from target distribution (or similar ones). I'm just wondering whether this might be of interest for Augmentor, so it would be great to hear your opinion on this. Here is the link to our repository with both methods: image-statistics-matching

Best, Alexey

mdbloice commented 3 years ago

Hi, Thanks for reaching out! I had a look at the two techniques you mentioned, could they be applied in an automated manner? For example, for the Feature Distribution Matching and Histogram Matching described in the GitHub repo's README.md I saw you need to supply a source image and a reference image: do these need to be individually defined in order for the techniques to be useful? Could they use image labels for example?

Anyway, yes, I think they would make useful additions to the library if they can be integrated, which I would happily do if that is the case :-)

M.