SURF keypoints' response is inaccurate in Windows x32 Release build (Bug #2696)


Added by Andrey Pavlenko about 4 years ago. Updated over 1 year ago.


Status:Open Start date:
Priority:Normal Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:nonfree
Target version:Next Hackathon
Affected version:2.4.3 Operating System:
Difficulty: HW Platform:
Pull request:

Description

I'm adding the following accuracy test to the OpenCV:

TEST(Features2d_RotationInvariance2_Detector_SURF, regression)
{
    Mat cross(100, 100, CV_8UC1, Scalar(255));
    line(cross, Point(30, 50), Point(69, 50), Scalar(100), 3);
    line(cross, Point(50, 30), Point(50, 69), Scalar(100), 3);

    SURF surf(8000., 3, 4, true, false);

    vector<KeyPoint> keypoints;

    surf(cross, noArray(), keypoints);

    ASSERT_EQ(keypoints.size(), 5);
    ASSERT_LT( fabs(keypoints[1].response - keypoints[2].response), 1e-6);
    ASSERT_LT( fabs(keypoints[1].response - keypoints[3].response), 1e-6);
    ASSERT_LT( fabs(keypoints[1].response - keypoints[4].response), 1e-6);
}

It fails in Windows x32 Release build with /O2 compiler option, but doesn't with /O1 one.
It also passes on Windows x64 and Linux systems.


History

Updated by Vadim Pisarevsky about 4 years ago

  • Affected version set to 2.4.3
  • Target version deleted ()

Updated by Vadim Pisarevsky about 4 years ago

  • Assignee deleted (Maria Dimashova)

Updated by Vadim Pisarevsky about 4 years ago

  • Category changed from features2d to nonfree

Updated by Vadim Pisarevsky about 4 years ago

  • Assignee set to Vadim Pisarevsky

Updated by Kirill Kornyakov about 4 years ago

  • Target version set to 2.4.4

Updated by Andrey Kamaev almost 4 years ago

  • Target version changed from 2.4.4 to 2.4.5

Updated by Andrey Kamaev almost 4 years ago

  • Target version changed from 2.4.5 to Next Hackathon

Updated by Maksim Shabunin over 1 year ago

Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/4484

Also available in: Atom PDF