I'm currently working on a project that needs the shape of objects in two images to be compared.
I have to check if the shape varies above a certain threshold.
I already have the ROI(Region Of Interest) where the objects can occur in the images.I just need to compare the shape in that ROI.
Many objects may be present in the ROI(objects position may vary) and I have to check if they are also present at approximately the same spot on the second image by comparing the shapes. In short, I need to check for similarity between the shapes present in the two images.
- I tried contours, but it doesn't work well in finding all contours and varies with different images.
- I am now trying to use Histogram of Oriented Gradients(HOG) approach now. I have got the feature vectors for two images separately. But I don't know how to compare the HOG feature vectors of the two images to find shape similarity.
- Deep learning and CNN can only be used if the object to be detected is known beforehand along with a large number of training images. My problem is that object can be anything and I don't have large training sets. So, I decided to go with shape descriptors like HOG, SIFT, SURF,... But I don't know how to work with them effectively to get desired outputs.
- I can't understand the outputs(feature vectors) from the descriptors. I don't know how to use feature vectors from both the images to compare the shapes present in the two images.
Can anyone help me in understanding and working with shape descriptors(HOG, SIFT, SURF,...)? How can we compare the HOG feature vectors of two images? or is there a better way to compare if two images have similar shapes in them? Detecting and Comparing Shapes is the goal.