Skip to content

Conversation

@willard-yuan
Copy link

This is the cpp api of VLFeat for covdet feature and kd-tree. I have tested covdet feature and kd-tree, and the result is right (I have used it for image retrieval with BoW). but the code still need to improve. I also write the RANSAC-like reranking method based on matrix lib of Armadillo, and I will pull request if I have improved the code of reranking method.

@hlzz
Copy link
Owner

hlzz commented May 26, 2016

Thank you so much for the contribution. And glad that you are aware of the feature branch :) I saw you have used cv:: method, but opencv is not supposed to be supported for the next release. For VLfeat I have already imported into the third-party libs. My plan would be make a new folder called 'feature' under the 'src' folder, where all the feature-related APIs would reside. Take a look at the roadmap for the next major release if you are interested. I will do a review about this PR soon and see how this can be imported. Thanks!

@willard-yuan
Copy link
Author

The goal of Version 0.2 is a great goal. I have seen that deep learning method will be support in the next version. But as far as I know, deep learning doesn't solve object retrieval well so far. The object retrieval still heavily depends on SIFT-based feature method.

@hlzz
Copy link
Owner

hlzz commented May 26, 2016

@willard-yuan Then this will be a bit of on the research side. My plan would be importing this method:
Dong, Jingming, and Stefano Soatto. “Domain-size pooling in local descriptors: DSP-SIFT.”
Anyway, this could also be a feature-level improvement. I don't know how well it works, but the deep learning method support is going to be a trend. So the sooner it goes into libvot the better.

@willard-yuan
Copy link
Author

I read the paper of DSP-SIFT last year, and I also test it. I found the DSP-SIFT extraction is slow than SIFT, i.e. it obtains high precision with the loss of time. I have used CPP to implement a BoW model base on the visualindex, and the MAP is very promising on Oxford building dataset (80%+, 1M words). I think the MAP is a important evaluation for us when we develop the libvot. By the way, I think OpenCV is really a good tool to process image.

@hlzz
Copy link
Owner

hlzz commented May 26, 2016

@willard-yuan I agree. Statistics like MAP are important for development. That's one of goals for the next release - adding benchmark dataset results :) OpenCV would benefit us in the long run. But it is also has a huge codebase, while the design philosophy for livot is to be as much self-contained as possible. Maybe I can tweak an option in the cmake files to use opencv, optionally. The negative side for this is that libvot would require more and more dependencies to work.

Look like you have much experience in image retrieval, MoBai! libvot is intended to be used in the production level, but also cutting-edge for research. So mature techniques like vocabulary tree and state-of-the-art methods like DL are both interested to me.

@willard-yuan
Copy link
Author

Awesome! I can't agree with the goal of libvot any more: libvot is intended to be used in the production level. The computation of MAP can be written using Python. I can do it for libvot. By the way, would we find someplace to speak in Chinese?

@hlzz
Copy link
Owner

hlzz commented May 26, 2016

@willard-yuan haha, of course, sent you an email.

@hlzz
Copy link
Owner

hlzz commented Oct 6, 2016

@willard-yuan covdet is now supported in libvot at part of vlfeat api, see https://github.com/hlzz/libvot/blob/master/src/feature/vlfeat_libvot_api.cpp#L65

@willard-yuan
Copy link
Author

@hlzz Awesome! I saw the update part in the morning. I have a plan to build a QT image retrieval engine based on the libvot. haha.

@hlzz
Copy link
Owner

hlzz commented Oct 6, 2016

@willard-yuan cool! A visual UI based on qt is what I yearn for. Feel free to ping me if you need any help.

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

Successfully merging this pull request may close these issues.

2 participants