SURF feautures doesn't work with DenseGrid when grid sampling is pair
Open
Nobody has claimed this yet.
auto-transferred
bug
category: nonfree
priority: normal
- Dominant language
- C++
- Stars
- 90.9k
- Forks
- 57k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 112
Description
Transferred from http://code.opencv.org/issues/2031
|| Alexandre Benoit on 2012-06-08 11:29
|| Priority: Normal
|| Affected: None
|| Category: nonfree
|| Tracker: Bug
|| Difficulty: None
|| PR: None
|| Platform: None / None
SURF feautures doesn't work with DenseGrid when grid sampling is pair
Hi everyone,
I observe that on the current svn trunk and OpenCV2.4 release, the SURF descriptor returns only zeros when used with a Dense grid configured with a pair pixel sampling.
The problem seems to not appear when using SIFT
Code samples are below
History
Alexandre Benoit on 2012-06-08 11:45
Hi again, oops, my explanation was a bit wrong at the end, sorry for that, here are the good code samples :
I observe that on the current svn trunk and OpenCV2.4 release, the SURF descriptor returns only zeros when used with a Dense grid configured with a pair pixel sampling.
The problem seems to not appear when using SIFT
Typically when the dense grid is such like this :
<pre>
cv::Ptr<cv::FeatureDetector> _featureDetector = new cv::DenseFeatureDetector(1.f, 1, 2.5f, 6);)// descritor returns zeros when sampling is 6,8,10,12, however, it "works" with sampling like 5,7,9, etc.
</pre>
and the descriptor being like this :
<pre>
_descExtractor = cv::DescriptorExtractor::create("SURF" ); or "OppenentSURF"
</pre>
Then, running the descriptor like this :
<pre>
_featureDetector->detect(colorImage, imageKeypoints, mask);
_descExtractor->compute( colorImage, imageKeypoints, currentImageDescriptors);
</pre>
==> here currentImageDescriptors is the right length but it contains only zeros is dense features sampling is a mutiple of 2
Kirill Kornyakov on 2012-06-15 06:47
Alexandre, thank you for report, but please use wiki "syntax":http://code.opencv.org/help/wiki_syntax.html, and do not use High priority by default. All bugs are triaged, and the team will decide about the priority and Target version.
- Target version deleted (3.0)
- Priority changed from High to Normal
- Description changed from Hi everyone, I observe that on the current
svn trunk and OpenCV2.4 release, t... to Hi everyone, I observe that
on the current svn trunk and OpenCV2.4 release, t... More
- Category changed from features2d to nonfree
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with cv::DenseFeatureDetector and the SURF or OpponentSURF descriptor using the detect and compute calls shown in the report. Compare descriptor output for even sampling values such as 6, 8, 10, and 12 against odd values, and consider the issue done when dense SURF descriptors are no longer all zeros for valid keypoints.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-vision
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100