short-circuitt / LOGOS

Spatial verification using Local Geometric Support
MIT License
5 stars 2 forks source link

About centers_SURF_512.mat #2

Open ake020675 opened 4 years ago

ake020675 commented 4 years ago

Does this MAT file represent 512 SURF descriptors extracted from multiple images? Or it is a KDTree trained on these SURF descriptors? Sorry cause i'm not very farmilar with KDTREE.

In other words, if i want to use matchLOGOS in OPENCV4.3, i need to train a KDTREE with multiple images first. Am i right?

short-circuitt commented 4 years ago

LOGOS depends on a visual word dictionary and KDTree is a method of matching features against such a dictionary. However, it is the only method. If you look at demo.m you can see that if KDTree is not available another method is used instead.

The MAT file contains the centers of the visual word dictionary. You do need to train the dictionary (using multiple images). You can use KMeans or another method.

ake020675 commented 4 years ago

Thank u for answering. I read your paper carefully and now i understand that this mat file represents cluster centers of KDtree. It's just not very conveninent to get indexs for matchLOGOS in OPENCV, i.e., "nn1"and"nn2". Any way, i run matchLOGOS with OPENCV and get this: result_LOGOS It seems that there are more fault matches in my result than the demo, and i don't know why.

By the way, i think LOGOS may be incorporated with orbslam2, as orbmatcher also match features by a vocabulary tree.