Are there some effective and robust solutions for scaling and rotation for image recognition with the neural networks (NN)?
I see tons of sources on the Web with explanation how neural network is used for image recognition, but all of them avoiding the topic of scaled or rotated images. The network trained for patterns won’t recognize it if the pattern scaled or rotated.
Of course, there are some intuitive/naive workarounds/approaches:
- Brute force – you can rotate and scale image until NN recognizes it. Too much expensive.
- You may teach NN for all cases of rotated and scaled image, could be hard and will lead to NN weakening.
- You may teach NN that some images (which are rotation and scale of the original image) are clusters and teach to recognize clusters and interpolate/extrapolate them. A little bit tricky in coding and debugging.
- For rotation you can move to polar coordinates, this gives a kind of invariant both for recognizing patterns and building histograms for specific portions of the image. But for this you need to recognized the pivot point and again this is quite expensive.
Are there any better solutions, ideas, hints, references?
(I read some answers there to the rotational problem, but what I saw doesn't cover the topic).