Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract only the features and not the descriptors #74

Open
lgalardini opened this issue Jun 3, 2020 · 1 comment
Open

Extract only the features and not the descriptors #74

lgalardini opened this issue Jun 3, 2020 · 1 comment

Comments

@lgalardini
Copy link

Hi there,

First of all thank you a lot for this work, thank you for sharing and for the optimization you made to make the code run faster in newer GPU architecture 😄

I would like to ask if it is possible to extract just the features and not the descriptors. To make it clear, I'm trying to detect keypoints and extract the descriptors using one of the newer NN descriptor such as HardNet++. I can do this using the OpenCV implementation but I would like to use yours since it is faster and I can rely on a GTX1070.

Since I would like to be realtime and I've to do a lot of processing after the features have been extracted/matched, I'm wondering if it will be possible to avoid to extract descriptors.
I've seen that the descriptor extraction is called here: it will be sufficient comment this line to obtain the effect? I was wondering what is going to happen to the memory since I believe (I'm not a CUDA expert) that you preallocated the memory somewhere, for sure in SiftPoint struct, so I'm thinking about completely remove or not.

Another question that I have is regarding this part: when you compute the descriptor you scale the keypoint location at the same time? Because here there is this:
if (idx==0) { d_sift[bx].xpos *= subsampling; d_sift[bx].ypos *= subsampling; d_sift[bx].scale *= subsampling; }

It look like the descriptor extraction is mandatory and thus required to get the correct keypoints localization, right?

Thank you in advance

@lgalardini
Copy link
Author

lgalardini commented Jun 10, 2020

For everybody looking into a solution for this, I've done in this way: I simply called the ExtractSift function. I tried to use the matching and findhomography function but in my scenario they lead to bad result and since I don't have a lot of time to investigate what is wrong I avoided to use them. After that I extracted the patches according to the HardNet paper and the matching is a job leaved to an another algorithm.

I leave this issue open since I'm interested in know if there is the possibility to extract just the keypoints.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant