Issues about BruteForceMatcher_GPU_base, knnMatch function. (Bug #1074)
Description
Hello, all.
I am trying to match surf features using gpu knnMatch function.
Although it looks like working well, often all features are mismatched given consecutive frames.
Please have a look at the following test video.
http://www.youtube.com/watch?v=9gKrKRcXKVs
In addition this is part of my code.
==========================code start=========================
surf(img0, GpuMat(), keypoints0GPU, descriptors0GPU);
surf(img1, GpuMat(), keypoints1GPU, descriptors1GPU);
..
..
filteredMatches.clear();
vector<vector<DMatch> > matches12, matches21;
gpu_matcher.knnMatch(descriptors0GPU,descriptors1GPU,matches12,1,Mask,false); gpu_matcher.knnMatch(descriptors1GPU,descriptors0GPU,matches21,1,Mask,false);
..
..
drawMatches(g_pImg_A, keypointsr0, g_pImg_B, keypointsr1, filteredMatches, img_matches,MachedDrawColor,KeypointsDrawColor);
cv::imshow(MatchwindowName, img_matches);
==========================code end =============================
Is there any issue on Brute_force_matcher.cpp while matching real-time or matching between different number of descriptors?
Thank you in advance.
My opencv2.2 revision is 5099 and CUDA2.3 driver on Ubuntu10.04.
Associated revisions
Merge pull request #1074 from devernay:2.4-cap_qt-multithread
History
Updated by inkyu sa almost 14 years ago
This issue occurs when matches12 and matches21 have the same number of matched features.
Now I am trying to find out whether drawing function has a bug or descriptors are corrupted when two matched vector have the same number of size.
Updated by Alexander Shishkov about 13 years ago
- Description changed from Hello, all. I am trying to match surf features using gpu knnMatch function. ... to Hello, all. I am trying to match surf features using gpu knnMatch function. ... More
Updated by Vladislav Vinogradov about 13 years ago
There was a bug in SURF implementation. Also knnMatch implementaion was updated. Does the bug reproduced on last OpenCV version?
- Status deleted (
Open) - Assignee changed from inkyu sa to Vladislav Vinogradov
Updated by Alexander Shishkov almost 13 years ago
- Status set to Open
Updated by Anatoly Baksheev almost 13 years ago
Vlad, should we close this?
Updated by Vladislav Vinogradov almost 13 years ago
Probably it was a bug in SURF. It's been fixed.
- Status changed from Open to Done
- Target version set to 2.4.0