gapi_core_perf_tests_fluid.cpp 14.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.
//
// Copyright (C) 2020 Intel Corporation


#include "../perf_precomp.hpp"
#include "../common/gapi_core_perf_tests.hpp"

#define CORE_FLUID cv::gapi::core::fluid::kernels()

namespace opencv_test
{
INSTANTIATE_TEST_CASE_P(AddPerfTestFluid, AddPerfTest,
    Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_8UC3, CV_16SC1, CV_32FC1),
            Values(-1, CV_8U, CV_32F),
            Values(cv::compile_args(CORE_FLUID))));

21 22 23 24 25 26
 INSTANTIATE_TEST_CASE_P(AddCPerfTestFluid, AddCPerfTest,
     Combine(Values(Tolerance_FloatRel_IntAbs(1e-6, 1).to_compare_f()),
         Values(szSmall128, szVGA, sz720p, sz1080p),
         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
         Values(-1, CV_8U, CV_16U, CV_16S, CV_32F),
         Values(cv::compile_args(CORE_FLUID))));
27 28 29 30 31 32 33

INSTANTIATE_TEST_CASE_P(SubPerfTestFluid, SubPerfTest,
    Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_8UC3, CV_16SC1, CV_32FC1),
            Values(-1, CV_8U, CV_32F),
            Values(cv::compile_args(CORE_FLUID))));

34 35 36 37 38 39
 INSTANTIATE_TEST_CASE_P(SubCPerfTestFluid, SubCPerfTest,
     Combine(Values(Tolerance_FloatRel_IntAbs(1e-6, 1).to_compare_f()),
         Values(szSmall128, szVGA, sz720p, sz1080p),
         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
         Values(-1, CV_8U, CV_16U, CV_16S, CV_32F),
         Values(cv::compile_args(CORE_FLUID))));
40 41 42 43 44 45 46

// INSTANTIATE_TEST_CASE_P(SubRCPerfTestFluid, SubRCPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(-1, CV_8U, CV_16U, CV_32F),
//         Values(cv::compile_args(CORE_FLUID))));

A
Anna Khakimova 已提交
47 48 49 50 51 52 53
 INSTANTIATE_TEST_CASE_P(MulPerfTestFluid, MulPerfTest,
     Combine(Values(AbsExact().to_compare_f()),
         Values(szSmall128, szVGA, sz720p, sz1080p),
         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
         Values(-1, CV_8U, CV_16U, CV_16S, CV_32F),
         Values(2.0),
         Values(cv::compile_args(CORE_FLUID))));
54

55 56 57 58 59 60
 INSTANTIATE_TEST_CASE_P(MulDoublePerfTestFluid, MulDoublePerfTest,
     Combine(Values(Tolerance_FloatRel_IntAbs(1e-6, 1).to_compare_f()),
             Values(szSmall128, szVGA, sz720p, sz1080p),
             Values(CV_8UC1, CV_8UC3, CV_16SC1, CV_32FC1),
             Values(-1, CV_8U, CV_32F),
             Values(cv::compile_args(CORE_FLUID))));
61

62 63 64 65 66 67
 INSTANTIATE_TEST_CASE_P(MulCPerfTestFluid, MulCPerfTest,
     Combine(Values(Tolerance_FloatRel_IntAbs(1e-6, 1).to_compare_f()),
             Values(szSmall128, szVGA, sz720p, sz1080p),
             Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
             Values(-1, CV_8U, CV_16U, CV_16S, CV_32F),
             Values(cv::compile_args(CORE_FLUID))));
68

69 70 71 72 73 74 75
 INSTANTIATE_TEST_CASE_P(DivPerfTestFluid, DivPerfTest,
     Combine(Values(AbsExact().to_compare_f()),
         Values(szSmall128, szVGA, sz720p, sz1080p),
         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
         Values(-1, CV_8U, CV_16U, CV_16S, CV_32F),
         Values(2.3),
         Values(cv::compile_args(CORE_FLUID))));
76 77 78 79 80 81 82 83 84 85 86 87 88 89

// INSTANTIATE_TEST_CASE_P(DivCPerfTestFluid, DivCPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(-1, CV_8U, CV_16U, CV_32F),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(DivRCPerfTestFluid, DivRCPerfTest,
//     Combine(Values(AbsExact().to_compare_f()),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(-1, CV_8U, CV_16U, CV_32F),
//         Values(cv::compile_args(CORE_FLUID))));

90 91 92 93
INSTANTIATE_TEST_CASE_P(MaskPerfTestFluid, MaskPerfTest,
    Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_16UC1, CV_16SC1),
            Values(cv::compile_args(CORE_FLUID))));
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

// INSTANTIATE_TEST_CASE_P(MeanPerfTestFluid, MeanPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(Polar2CartPerfTestFluid, Polar2CartPerfTest,
//     Combine(Values(AbsExact().to_compare_f()),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(Cart2PolarPerfTestFluid, Cart2PolarPerfTest,
//     Combine(Values(AbsExact().to_compare_f()),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(CmpPerfTestFluid, CmpPerfTest,
//     Combine(Values(CMP_EQ, CMP_GE, CMP_NE, CMP_GT, CMP_LT, CMP_LE),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(CmpWithScalarPerfTestFluid, CmpWithScalarPerfTest,
117 118 119 120 121
    Combine(Values(AbsSimilarPoints(1, 0.01).to_compare_f()),
            Values(CMP_EQ, CMP_GE, CMP_NE, CMP_GT, CMP_LT, CMP_LE),
            Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_8UC3, CV_16SC1, CV_32FC1),
            Values(cv::compile_args(CORE_FLUID))));
122 123 124

INSTANTIATE_TEST_CASE_P(BitwisePerfTestFluid, BitwisePerfTest,
    Combine(Values(AND, OR, XOR),
125
            testing::Bool(),
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
            Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
            Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(BitwiseNotPerfTestFluid, BitwiseNotPerfTest,
    Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
            Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(SelectPerfTestFluid, SelectPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(MinPerfTestFluid, MinPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(MaxPerfTestFluid, MaxPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(AbsDiffPerfTestFluid, AbsDiffPerfTest,
    Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
            Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(AbsDiffCPerfTestFluid, AbsDiffCPerfTest,
    Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
157 158 159
            Values(CV_8UC1, CV_16UC1, CV_16SC1, CV_8UC2,
                   CV_16UC2, CV_16SC2, CV_8UC3, CV_16UC3,
                   CV_16SC3, CV_8UC4, CV_16UC4, CV_16SC4),
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
            Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(SumPerfTestFluid, SumPerfTest,
//     Combine(Values(AbsToleranceScalar(0.0).to_compare_f()),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         //Values(0.0),
//         Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(AddWeightedPerfTestFluid, AddWeightedPerfTest,
    Combine(Values(Tolerance_FloatRel_IntAbs(1e-6, 1).to_compare_f()),
            Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
            Values(-1, CV_8U, CV_32F),
            Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(AddWeightedPerfTestFluid_short, AddWeightedPerfTest,
    Combine(Values(Tolerance_FloatRel_IntAbs(1e-6, 1).to_compare_f()),
            Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(CV_16UC1, CV_16SC1),
            Values(-1),
            Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(NormPerfTestFluid, NormPerfTest,
//     Combine(Values(AbsToleranceScalar(0.0).to_compare_f()),
//         Values(NORM_INF, NORM_L1, NORM_L2),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(IntegralPerfTestFluid, IntegralPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(ThresholdPerfTestFluid, ThresholdPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::THRESH_BINARY, cv::THRESH_BINARY_INV, cv::THRESH_TRUNC, cv::THRESH_TOZERO, cv::THRESH_TOZERO_INV),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(ThresholdPerfTestFluid, ThresholdOTPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1),
//         Values(cv::THRESH_OTSU, cv::THRESH_TRIANGLE),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(InRangePerfTestFluid, InRangePerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1),
//         Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(Split3PerfTestFluid, Split3PerfTest,
    Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
            Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(Split4PerfTestFluid, Split4PerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(Merge3PerfTestFluid, Merge3PerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(Merge4PerfTestFluid, Merge4PerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(RemapPerfTestFluid, RemapPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(FlipPerfTestFluid, FlipPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(0, 1, -1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(CropPerfTestFluid, CropPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::Rect(10, 8, 20, 35), cv::Rect(4, 10, 37, 50)),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(ConcatHorPerfTestFluid, ConcatHorPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(ConcatHorVecPerfTestFluid, ConcatHorVecPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(ConcatVertPerfTestFluid, ConcatVertPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(ConcatVertVecPerfTestFluid, ConcatVertVecPerfTest,
//     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(LUTPerfTestFluid, LUTPerfTest,
//     Combine(Values(CV_8UC1, CV_8UC3),
//         Values(CV_8UC1),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(cv::compile_args(CORE_FLUID))));

// INSTANTIATE_TEST_CASE_P(LUTPerfTestCustomFluid, LUTPerfTest,
//     Combine(Values(CV_8UC3),
//         Values(CV_8UC3),
//         Values(szSmall128, szVGA, sz720p, sz1080p),
//         Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(ConvertToPerfTestFluid, ConvertToPerfTest,
278 279 280
    Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 2).to_compare_f()),
            Values(CV_8UC3, CV_8UC1, CV_16UC1, CV_16SC1, CV_32FC1),
            Values(CV_8U, CV_16U, CV_16S, CV_32F),
281
            Values(szSmall128, szVGA, sz720p, sz1080p),
282 283
            Values(2.5, 1.0),
            Values(0.0),
284 285 286
            Values(cv::compile_args(CORE_FLUID))));

INSTANTIATE_TEST_CASE_P(ResizePerfTestFluid, ResizePerfTest,
287 288 289
    Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 1).to_compare_f()),
        Values(CV_8UC3),
        Values(cv::INTER_LINEAR),
290 291 292 293 294
        Values(szSmall128, szVGA, sz720p, sz1080p),
        Values(cv::Size(64, 64),
               cv::Size(30, 30)),
        Values(cv::compile_args(CORE_FLUID))));

295 296 297 298 299 300 301 302 303 304 305 306 307
#define IMGPROC_FLUID cv::gapi::imgproc::fluid::kernels()
INSTANTIATE_TEST_CASE_P(BottleneckKernelsPerfTestFluid, BottleneckKernelsConstInputPerfTest,
    Combine(Values(AbsSimilarPoints(0, 1).to_compare_f()),
        Values("cv/optflow/frames/1080p_00.png", "cv/optflow/frames/720p_00.png",
               "cv/optflow/frames/VGA_00.png", "cv/dnn_face/recognition/Aaron_Tippin_0001.jpg"),
        Values(cv::compile_args(CORE_FLUID, IMGPROC_FLUID))));

INSTANTIATE_TEST_CASE_P(ResizeInSimpleGraphPerfTestFluid, ResizeInSimpleGraphPerfTest,
    Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 1).to_compare_f()),
        Values(CV_8UC3),
        Values(szSmall128, szVGA, sz720p, sz1080p),
        Values(cv::compile_args(CORE_FLUID, IMGPROC_FLUID))));

308
INSTANTIATE_TEST_CASE_P(ResizeFxFyPerfTestFluid, ResizeFxFyPerfTest,
309 310 311
    Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 1).to_compare_f()),
        Values(CV_8UC3),
        Values(cv::INTER_LINEAR),
312 313 314 315 316
        Values(szSmall128, szVGA, sz720p, sz1080p),
        Values(0.5, 0.1),
        Values(0.5, 0.1),
        Values(cv::compile_args(CORE_FLUID))));
} // opencv_test