From 39d7ecc93b0cf8d596f23fc293341d86b51e87ea Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Thu, 17 Nov 2016 16:58:12 +0300 Subject: [PATCH] perf: disabled checks for magic numbers Results are not bit-exact --- modules/features2d/perf/opencl/perf_orb.cpp | 21 ++++++++------------- modules/features2d/perf/perf_orb.cpp | 17 ++++++++++------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/modules/features2d/perf/opencl/perf_orb.cpp b/modules/features2d/perf/opencl/perf_orb.cpp index a7d96f12a5..5d9aa2fec1 100644 --- a/modules/features2d/perf/opencl/perf_orb.cpp +++ b/modules/features2d/perf/opencl/perf_orb.cpp @@ -27,8 +27,8 @@ OCL_PERF_TEST_P(ORBFixture, ORB_Detect, ORB_IMAGES) OCL_TEST_CYCLE() detector->detect(frame, points, mask); - std::sort(points.begin(), points.end(), comparators::KeypointGreater()); - SANITY_CHECK_KEYPOINTS(points, 1e-5); + EXPECT_GT(points.size(), 20u); + SANITY_CHECK_NOTHING(); } OCL_PERF_TEST_P(ORBFixture, ORB_Extract, ORB_IMAGES) @@ -47,13 +47,14 @@ OCL_PERF_TEST_P(ORBFixture, ORB_Extract, ORB_IMAGES) Ptr detector = ORB::create(1500, 1.3f, 1); vector points; detector->detect(frame, points, mask); - std::sort(points.begin(), points.end(), comparators::KeypointGreater()); + EXPECT_GT(points.size(), 20u); UMat descriptors; OCL_TEST_CYCLE() detector->compute(frame, points, descriptors); - SANITY_CHECK(descriptors); + EXPECT_EQ((size_t)descriptors.rows, points.size()); + SANITY_CHECK_NOTHING(); } OCL_PERF_TEST_P(ORBFixture, ORB_Full, ORB_IMAGES) @@ -61,12 +62,6 @@ OCL_PERF_TEST_P(ORBFixture, ORB_Full, ORB_IMAGES) string filename = getDataPath(GetParam()); Mat mframe = imread(filename, IMREAD_GRAYSCALE); - double desc_eps = 1e-6; -#ifdef ANDROID - if (cv::ocl::Device::getDefault().isNVidia()) - desc_eps = 2; -#endif - if (mframe.empty()) FAIL() << "Unable to load source image " << filename; @@ -81,9 +76,9 @@ OCL_PERF_TEST_P(ORBFixture, ORB_Full, ORB_IMAGES) OCL_TEST_CYCLE() detector->detectAndCompute(frame, mask, points, descriptors, false); - ::perf::sort(points, descriptors); - SANITY_CHECK_KEYPOINTS(points, 1e-5); - SANITY_CHECK(descriptors, desc_eps); + EXPECT_GT(points.size(), 20u); + EXPECT_EQ((size_t)descriptors.rows, points.size()); + SANITY_CHECK_NOTHING(); } } // ocl diff --git a/modules/features2d/perf/perf_orb.cpp b/modules/features2d/perf/perf_orb.cpp index 96cfc3eb38..0397125f6e 100644 --- a/modules/features2d/perf/perf_orb.cpp +++ b/modules/features2d/perf/perf_orb.cpp @@ -27,8 +27,9 @@ PERF_TEST_P(orb, detect, testing::Values(ORB_IMAGES)) TEST_CYCLE() detector->detect(frame, points, mask); - sort(points.begin(), points.end(), comparators::KeypointGreater()); - SANITY_CHECK_KEYPOINTS(points, 1e-5); + EXPECT_GT(points.size(), 20u); + + SANITY_CHECK_NOTHING(); } PERF_TEST_P(orb, extract, testing::Values(ORB_IMAGES)) @@ -45,13 +46,15 @@ PERF_TEST_P(orb, extract, testing::Values(ORB_IMAGES)) Ptr detector = ORB::create(1500, 1.3f, 1); vector points; detector->detect(frame, points, mask); - sort(points.begin(), points.end(), comparators::KeypointGreater()); + + EXPECT_GT(points.size(), 20u); Mat descriptors; TEST_CYCLE() detector->compute(frame, points, descriptors); - SANITY_CHECK(descriptors); + EXPECT_EQ((size_t)descriptors.rows, points.size()); + SANITY_CHECK_NOTHING(); } PERF_TEST_P(orb, full, testing::Values(ORB_IMAGES)) @@ -71,7 +74,7 @@ PERF_TEST_P(orb, full, testing::Values(ORB_IMAGES)) TEST_CYCLE() detector->detectAndCompute(frame, mask, points, descriptors, false); - perf::sort(points, descriptors); - SANITY_CHECK_KEYPOINTS(points, 1e-5); - SANITY_CHECK(descriptors); + EXPECT_GT(points.size(), 20u); + EXPECT_EQ((size_t)descriptors.rows, points.size()); + SANITY_CHECK_NOTHING(); }