简体   繁体   中英

Keypoints detection in OpenCV with SIFT

i have a problem with Keypoints detection of an image in OpenCV. If i have for example a SIFT detector, when it detects an image it retrives 1000 keypoints but if i split the image in two "sub-image", and foreach SIFT detects keypoints, the sum is not 1000, but less. For me the total keypoints number can be different but not too much! Thanks

This is not really a question as stated, but obviously the question at heart is something like:

Why do two images separated have a different number of SIFT keypoints (usually less) than if they are concatenated into a single image?

The basic answer is that features can be big, and can land close to the border of the two subimages. If they are split, those features no longer exist. Really, SIFT shouldn't be expected to produce the same number of keypoints. If you think of features strictly as corners, then sure---you should get roughly the same amount either way. But some features come as gradients, rough "blobs", etc which can be easily cut off by a split image, and thus splitting the image can remove these features, and can similarly duplicate others.

You can generally verify this by examining only those features that are well within the borders of the two subimages. If you remove the features close to the edges of the images, and examine only features in the same space for the combined image, you should see a similar number of features across the two.

Imagine if you took the process of splitting the image to the extreme. There are typically a lot of SIFT keypoints in an image. If you broke it down to a ton of 2x2 images do you think you'd get the same number of keypoints? Of course not, as 2x2 images do not hold enough information to recreate all the same features as the full image.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM