Hello, I am Suhaas Neel. I am currently pursuing Electronics and Communications Engineering at Jawaharlal Nehru University, New Delhi. The project I am a part of aims to automate the time-Intensive process of manually searching for augmentation strategies. There has been research in automating which has even led to improvements in the results of various benchmark datasets. Thus this summer I will be focused on building infrastructure to implement these algorithms natively with Hub.
What did I do this week?
I started off by implementing some more transformations, I started off with implementing shear and translate transformations because that were the only geometrical transformation that were left. Apart from this I started implementing non-geometrical transformations. These included histogram equalization, posterizing, solarizing, inverting the image, adjusting saturation, brightness and contrast etc. These transformations are all based on open-CV and NumPy.
Apart from this I also started implementing the more robust API that was discussed with my mentor the prior week. The idea was to get more functionality and a cleaner API. This time rather than use an array of hub compute functions. I gave the user the option to use augmenter.add_steps() which would take in an augmentation pipeline and one/multiple tensors to which this augmentation pipeline is to be applied upon. This makes the API seem less clunky than asking the user to directly enter a dictionary of tensors as keys and an array of arrays as multiple augmentation pipelines.
What I plan to do next week
At this point we have all the necessary things to add this feature to hub. The only missing piece is adding support for multiprocessing.
Where I got stuck
Initially, I implemented the augmentation pipeline dictionary rather than using add_step which was suggested by my mentor. This was one thing I could have avoided had my sense of the API been more apt about what the user wants. I did not have to face many bugs this week since it was more like restructuring the previous work for multiple augmentation pipelines.