gapi_imgproc_perf_tests_fluid.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. // This file is part of OpenCV project.
  2. // It is subject to the license terms in the LICENSE file found in the top-level directory
  3. // of this distribution and at http://opencv.org/license.html.
  4. //
  5. // Copyright (C) 2018 Intel Corporation
  6. #include "../perf_precomp.hpp"
  7. #include "../common/gapi_imgproc_perf_tests.hpp"
  8. #define IMGPROC_FLUID cv::gapi::imgproc::fluid::kernels()
  9. #define CORE_FLUID cv::gapi::core::fluid::kernels()
  10. namespace opencv_test
  11. {
  12. INSTANTIATE_TEST_CASE_P(SepFilterPerfTestFluid_8U, SepFilterPerfTest,
  13. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  14. Values(CV_8UC1, CV_8UC3),
  15. Values(3),
  16. Values(szVGA, sz720p, sz1080p),
  17. Values(-1, CV_16S, CV_32F),
  18. Values(cv::compile_args(IMGPROC_FLUID))));
  19. INSTANTIATE_TEST_CASE_P(SepFilterPerfTestFluid_other, SepFilterPerfTest,
  20. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  21. Values(CV_16UC1, CV_16SC1, CV_32FC1),
  22. Values(3),
  23. Values(szVGA, sz720p, sz1080p),
  24. Values(-1, CV_32F),
  25. Values(cv::compile_args(IMGPROC_FLUID))));
  26. INSTANTIATE_TEST_CASE_P(Filter2DPerfTestFluid, Filter2DPerfTest,
  27. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  28. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  29. Values(3), // TODO: add 4, 5, 7 when kernel is ready
  30. Values(szVGA, sz720p, sz1080p),
  31. Values(cv::BORDER_DEFAULT),
  32. Values(-1, CV_32F),
  33. Values(cv::compile_args(IMGPROC_FLUID))));
  34. INSTANTIATE_TEST_CASE_P(BoxFilterPerfTestFluid, BoxFilterPerfTest,
  35. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  36. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  37. Values(3), // TODO: add size=5, when kernel is ready
  38. Values(szVGA, sz720p, sz1080p),
  39. Values(cv::BORDER_DEFAULT),
  40. Values(-1, CV_32F),
  41. Values(cv::compile_args(IMGPROC_FLUID))));
  42. INSTANTIATE_TEST_CASE_P(BlurPerfTestFluid, BlurPerfTest,
  43. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  44. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  45. Values(3), // TODO: add size=5, when kernel is ready
  46. Values(szVGA, sz720p, sz1080p),
  47. Values(cv::BORDER_DEFAULT),
  48. Values(cv::compile_args(IMGPROC_FLUID))));
  49. INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestFluid, GaussianBlurPerfTest,
  50. Combine(Values(ToleranceFilter(1e-3f, 0.01).to_compare_f()),
  51. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  52. Values(3, 5),
  53. Values(szVGA, sz720p, sz1080p),
  54. Values(cv::compile_args(IMGPROC_FLUID))));
  55. INSTANTIATE_TEST_CASE_P(MedianBlurPerfTestFluid, MedianBlurPerfTest,
  56. Combine(Values(AbsExact().to_compare_f()),
  57. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  58. Values(3), // TODO: add size=5, when kernel is ready
  59. Values(szVGA, sz720p, sz1080p),
  60. Values(cv::compile_args(IMGPROC_FLUID))));
  61. INSTANTIATE_TEST_CASE_P(ErodePerfTestFluid, ErodePerfTest,
  62. Combine(Values(AbsExact().to_compare_f()),
  63. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  64. Values(3), // TODO: add size=5, when kernel is ready
  65. Values(szVGA, sz720p, sz1080p),
  66. Values(cv::MorphShapes::MORPH_RECT,
  67. cv::MorphShapes::MORPH_CROSS,
  68. cv::MorphShapes::MORPH_ELLIPSE),
  69. Values(cv::compile_args(IMGPROC_FLUID))));
  70. // GAPI/fluid does not support iterations parameter for the Erode kernel
  71. INSTANTIATE_TEST_CASE_P(DISABLED_Erode3x3PerfTestFluid, Erode3x3PerfTest,
  72. Combine(Values(AbsExact().to_compare_f()),
  73. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  74. Values(szVGA, sz720p, sz1080p),
  75. Values(1, 2, 4),
  76. Values(cv::compile_args(IMGPROC_FLUID))));
  77. INSTANTIATE_TEST_CASE_P(DilatePerfTestFluid, DilatePerfTest,
  78. Combine(Values(AbsExact().to_compare_f()),
  79. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  80. Values(3), // TODO: add size=5, when kernel is ready
  81. Values(szVGA, sz720p, sz1080p),
  82. Values(cv::MorphShapes::MORPH_RECT,
  83. cv::MorphShapes::MORPH_CROSS,
  84. cv::MorphShapes::MORPH_ELLIPSE),
  85. Values(cv::compile_args(IMGPROC_FLUID))));
  86. // GAPI/fluid does not support iterations parameter for the Dilate kernel
  87. INSTANTIATE_TEST_CASE_P(DISABLED_Dilate3x3PerfTestFluid, Dilate3x3PerfTest,
  88. Combine(Values(AbsExact().to_compare_f()),
  89. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  90. Values(szVGA, sz720p, sz1080p),
  91. Values(1, 2, 4),
  92. Values(cv::compile_args(IMGPROC_FLUID))));
  93. INSTANTIATE_TEST_CASE_P(SobelPerfTestFluid, SobelPerfTest,
  94. Combine(Values(AbsExact().to_compare_f()),
  95. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
  96. Values(3), // TODO: add 5x5 once supported
  97. Values(szVGA, sz720p, sz1080p),
  98. Values(-1, CV_16S, CV_32F),
  99. Values(0, 1),
  100. Values(1, 2),
  101. Values(cv::compile_args(IMGPROC_FLUID))));
  102. INSTANTIATE_TEST_CASE_P(SobelPerfTestFluid32F, SobelPerfTest,
  103. Combine(Values(ToleranceFilter(1e-3f, 0.0).to_compare_f()),
  104. Values(CV_32FC1),
  105. Values(3), // TODO: add 5x5 once supported
  106. Values(szVGA, sz720p, sz1080p),
  107. Values(CV_32F),
  108. Values(0, 1),
  109. Values(1, 2),
  110. Values(cv::compile_args(IMGPROC_FLUID))));
  111. INSTANTIATE_TEST_CASE_P(SobelXYPerfTestFluid, SobelXYPerfTest,
  112. Combine(Values(AbsExact().to_compare_f()),
  113. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
  114. Values(3), // TODO: add 5x5 once supported
  115. Values(szVGA, sz720p, sz1080p),
  116. Values(-1, CV_16S, CV_32F),
  117. Values(1, 2),
  118. Values(cv::compile_args(IMGPROC_FLUID))));
  119. INSTANTIATE_TEST_CASE_P(SobelXYPerfTestFluid32F, SobelXYPerfTest,
  120. Combine(Values(ToleranceFilter(1e-3f, 0.0).to_compare_f()),
  121. Values(CV_32FC1),
  122. Values(3), // TODO: add 5x5 once supported
  123. Values(szVGA, sz720p, sz1080p),
  124. Values(CV_32F),
  125. Values(1, 2),
  126. Values(cv::compile_args(IMGPROC_FLUID))));
  127. INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestFluid, RGB2GrayPerfTest,
  128. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  129. Values(szVGA, sz720p, sz1080p),
  130. Values(cv::compile_args(IMGPROC_FLUID))));
  131. INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestFluid, BGR2GrayPerfTest,
  132. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  133. Values(szVGA, sz720p, sz1080p),
  134. Values(cv::compile_args(IMGPROC_FLUID))));
  135. INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestFluid, RGB2YUVPerfTest,
  136. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  137. Values(szVGA, sz720p, sz1080p),
  138. Values(cv::compile_args(IMGPROC_FLUID))));
  139. INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestFluid, YUV2RGBPerfTest,
  140. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  141. Values(szVGA, sz720p, sz1080p),
  142. Values(cv::compile_args(IMGPROC_FLUID))));
  143. INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestFluid, BGR2YUVPerfTest,
  144. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  145. Values(szVGA, sz720p, sz1080p),
  146. Values(cv::compile_args(IMGPROC_FLUID))));
  147. INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestFluid, YUV2BGRPerfTest,
  148. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  149. Values(szVGA, sz720p, sz1080p),
  150. Values(cv::compile_args(IMGPROC_FLUID))));
  151. INSTANTIATE_TEST_CASE_P(BayerGR2RGBPerfTestFluid, BayerGR2RGBPerfTest,
  152. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  153. Values(szVGA, sz720p, sz1080p),
  154. Values(cv::compile_args(IMGPROC_FLUID))));
  155. INSTANTIATE_TEST_CASE_P(RGB2YUV422PerfTestFluid, RGB2YUV422PerfTest,
  156. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  157. Values(szVGA, sz720p, sz1080p),
  158. Values(cv::compile_args(IMGPROC_FLUID))));
  159. INSTANTIATE_TEST_CASE_P(RGB2HSVPerfTestFluid, RGB2HSVPerfTest,
  160. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  161. Values(szVGA, sz720p, sz1080p),
  162. Values(cv::compile_args(IMGPROC_FLUID))));
  163. INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestFluid, BGR2LUVPerfTest,
  164. Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
  165. Values(szVGA, sz720p, sz1080p),
  166. Values(cv::compile_args(IMGPROC_FLUID))));
  167. INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestFluid, RGB2LabPerfTest,
  168. Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
  169. Values(szVGA, sz720p, sz1080p),
  170. Values(cv::compile_args(IMGPROC_FLUID))));
  171. INSTANTIATE_TEST_CASE_P(ResizePerfTestFluid, ResizePerfTest,
  172. Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 1).to_compare_f()),
  173. Values(CV_8UC3),
  174. Values(cv::INTER_LINEAR),
  175. Values(szSmall128, szVGA, sz720p, sz1080p),
  176. Values(cv::Size(64, 64),
  177. cv::Size(30, 30)),
  178. Values(cv::compile_args(IMGPROC_FLUID))));
  179. #define IMGPROC_FLUID cv::gapi::imgproc::fluid::kernels()
  180. INSTANTIATE_TEST_CASE_P(BottleneckKernelsPerfTestFluid, BottleneckKernelsConstInputPerfTest,
  181. Combine(Values(AbsSimilarPoints(0, 1).to_compare_f()),
  182. Values("cv/optflow/frames/1080p_00.png", "cv/optflow/frames/720p_00.png",
  183. "cv/optflow/frames/VGA_00.png", "cv/dnn_face/recognition/Aaron_Tippin_0001.jpg"),
  184. Values(cv::compile_args(IMGPROC_FLUID))));
  185. INSTANTIATE_TEST_CASE_P(ResizeInSimpleGraphPerfTestFluid, ResizeInSimpleGraphPerfTest,
  186. Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 1).to_compare_f()),
  187. Values(CV_8UC3),
  188. Values(szSmall128, szVGA, sz720p, sz1080p),
  189. Values(0.5),
  190. Values(0.5),
  191. Values(cv::compile_args(cv::gapi::combine(IMGPROC_FLUID, CORE_FLUID)))));
  192. INSTANTIATE_TEST_CASE_P(ResizeFxFyPerfTestFluid, ResizeFxFyPerfTest,
  193. Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 1).to_compare_f()),
  194. Values(CV_8UC3),
  195. Values(cv::INTER_LINEAR),
  196. Values(szSmall128, szVGA, sz720p, sz1080p),
  197. Values(0.5, 0.25, 2),
  198. Values(0.5, 0.25, 2),
  199. Values(cv::compile_args(IMGPROC_FLUID))));
  200. }