Open heinrichI opened 3 years ago
What do you mean by geometric keypoint validation?
I mean checking the relative position of key points in the case of searching for non-strict duplicates. It often happens that many points converge, but they coincide with completely different parts of the compared image. For example, this can be checked through GEOMETRC CONSTRANTS or RANSAQ. I have not seen anything similar in your code.
Here I do not implement any geometric validation and do not consider it at all. Main concepts of CBIR here: Image is mapped to descriptor(vector, array). Search image = find similar images. Image is similar to another image if vectors of these images are close by some metric.
So: precompute stage: every image in data store is mapped to some descriptor. query stage (user asks to search similar images for imageX): compute descriptor(vector) of this imageX, search closest vectors in data store.
Basic search: compare given image descriptor with each vector in data store. Advanced search: add some indexing to make it faster.
Can you tell me how the geometric keypoint validation is done in the program?