I’m working on a polimago application where I have a pretty large dataset and the goal is to detect a specific type of leaf on a young plant. The problem is that the size of that leave, while pretty consistent in shape, varries quite a lot in size.
I have troubles with selecting the right image size; polimago demands that this must be the same size for the entire model, but that isn’t the case in my specific case. Since polimago can actually report a scale (and the information on the estimated scale of the found leaf is pretty useful) how should I deal with this? Also, those pesky leaves are never so considered to be axis aligned; further agrevating the bounding box issues.
This boils down to 2 concrete questions:
-How to deal with rotated elongated objects
-How to deal with varying sizes in the training set.
The scale that Polimago reports for search results is only useful if the objects in the training set are to a certain reference scale. For your use case, you would have to resize the images (and maybe crop them if there are multiple objects of different scales present) so the objects are all the same size, before you add the images to the training set.
If you would add objects of varying size to the training set, you will lose the ability to get a proper scale reported for search results; Yoru classifier will not be scale-invariant.
Right now, this is the only way when creating training sets with the Teach Bench. Though, you can create your own, specialized teaching application that allows you to add instances with additional information about size and scale (and your own training set database since you cannot use XSIL/PTS). This way, you don’t have to modify the images.
It is a bit of work. It depends on the number of images and if you encounter this issue regularly or not.