opencv / opencv/opencv

SURF feautures doesn't work with DenseGrid when grid sampling is pair

Open
#4,372 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.