Assuming that we have 10 same objects, they are lined up and equidistant. If any of them is rotated a very small angle(5 - 10deg), what is best method to detect them? I am using a camera to capture the image. I want to divide the image into 10 parts and then feed each part into CNN model to classify the defect. Is that a possible way? What is the recommendation for this problem?
It is a possible way, but this class of problems falls under outlier detection in machine learning.
The defining feature is that one can only train for usual events not rare events, there are few or even no data at all, so a different approach needs to be taken.
Since usual neural network training requires adequate samples from each class, a workaround is needed. For example autoencoder networks are an option for outlier detection
It seems that the way you described the problem does not need any machine learning. You can calculate the rotation between any image and the 'correct' one based on the rotation operator: https://en.wikipedia.org/wiki/Rotation_matrix https://math.stackexchange.com/questions/15101/find-the-rotation-of-one-image-with-respect-to-other-in-matlab
If the problem is less well-defined, e.g. there is also noise and other effects such as scaling, you could also use CNNs in a supervised learning fashion but you would need an appropriate dataset that contains 'correct' and 'rotated' examples.
As for splitting the image into 10 parts and perform some kind of algorithm on each one, that makes sense yeah.