4a94151f by 乔峰昇

submmit all code

1 parent ed52fddf
Showing 50 changed files with 2105 additions and 249 deletions
1 {
2 "files.associations": {
3 "*.py": "python",
4 "string": "cpp",
5 "iostream": "cpp",
6 "memory": "cpp"
7 }
8 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -6,8 +6,13 @@ set(CMAKE_CXX_STANDARD 11) ...@@ -6,8 +6,13 @@ set(CMAKE_CXX_STANDARD 11)
6 find_package(OpenCV REQUIRED) 6 find_package(OpenCV REQUIRED)
7 set(MNN_DIR /home/situ/MNN/MNN1.0/MNN) 7 set(MNN_DIR /home/situ/MNN/MNN1.0/MNN)
8 include_directories(${MNN_DIR}/include) 8 include_directories(${MNN_DIR}/include)
9 include_directories(/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/include)
9 LINK_DIRECTORIES(${MNN_DIR}/build) 10 LINK_DIRECTORIES(${MNN_DIR}/build)
10 add_executable(main main.cpp faceLandmarks.cpp) 11 set(FACECOMPARISON_DIR /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/lib)
12 # add_library(facecomparison SHARED facerecognize.cpp retinaface.cpp facelandmarks.cpp facecomparison.cpp)
13 # add_executable(main main.cpp facerecognize.cpp retinaface.cpp facelandmarks.cpp facecomparison.cpp)
14 add_executable(main main.cpp)
11 # add_executable(main z.cpp) 15 # add_executable(main z.cpp)
12 target_link_libraries(main -lMNN ${OpenCV_LIBS}) 16 target_link_libraries(main ${FACECOMPARISON_DIR}/libfacecomparison.so -lMNN ${OpenCV_LIBS})
17 # target_link_libraries(facecomparison -lMNN ${OpenCV_LIBS})
13 18
......
1
2 MNN1.0.0+opencv
3
4 模型初始化
5
6 FaceComparison face_rec=FaceComparison(det_model_path,landm_model_path,rec_model_path)
7
8 det_model_path:人脸检测模型retinaface的模型路径
9 landm_model_path:106人脸关键点模型的模型路径
10 rec_model_path:人脸识别模型的模型路径
11
12 重要参数(include/facecomparison.h文件)
13
14 // 人脸检测阈值
15 float confidence_threshold = 0.5;
16 // 是否进行人脸外廓
17 bool is_bbox_process = true;
18 // 人脸比对相似度阈值
19 float face_recongnize_thr = 0.5;
20 // 线程个数
21 int num_thread = 2;
22
23 接口(返回结果 bool:true/false)
24 bool face_compare(string image_path1,string image_path2);参数为两张图像地址,其中iamge1_path为face_id图像输入
25 bool face_compare_image(Mat image1,Mat image2);参数为两张opencv读取的图像矩阵,其中iamge1为face_id图像输入
26
27 编译
28 将CMakeLists.txt 中 set(FACECOMPARISON_DIR /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/lib)
29 改为lib文件夹所在的绝对地址
30 mkdir build
31 cd build
32 cmake ..
33 make
34 ./main
35
1 set(CMAKE_C_COMPILER "/usr/bin/cc")
2 set(CMAKE_C_COMPILER_ARG1 "")
3 set(CMAKE_C_COMPILER_ID "GNU")
4 set(CMAKE_C_COMPILER_VERSION "7.5.0")
5 set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
6 set(CMAKE_C_COMPILER_WRAPPER "")
7 set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
8 set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
9 set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
10 set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
11 set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
12
13 set(CMAKE_C_PLATFORM_ID "Linux")
14 set(CMAKE_C_SIMULATE_ID "")
15 set(CMAKE_C_SIMULATE_VERSION "")
16
17
18
19 set(CMAKE_AR "/usr/bin/ar")
20 set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-7")
21 set(CMAKE_RANLIB "/usr/bin/ranlib")
22 set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-7")
23 set(CMAKE_LINKER "/usr/bin/ld")
24 set(CMAKE_COMPILER_IS_GNUCC 1)
25 set(CMAKE_C_COMPILER_LOADED 1)
26 set(CMAKE_C_COMPILER_WORKS TRUE)
27 set(CMAKE_C_ABI_COMPILED TRUE)
28 set(CMAKE_COMPILER_IS_MINGW )
29 set(CMAKE_COMPILER_IS_CYGWIN )
30 if(CMAKE_COMPILER_IS_CYGWIN)
31 set(CYGWIN 1)
32 set(UNIX 1)
33 endif()
34
35 set(CMAKE_C_COMPILER_ENV_VAR "CC")
36
37 if(CMAKE_COMPILER_IS_MINGW)
38 set(MINGW 1)
39 endif()
40 set(CMAKE_C_COMPILER_ID_RUN 1)
41 set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
42 set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
43 set(CMAKE_C_LINKER_PREFERENCE 10)
44
45 # Save compiler ABI information.
46 set(CMAKE_C_SIZEOF_DATA_PTR "8")
47 set(CMAKE_C_COMPILER_ABI "ELF")
48 set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
49
50 if(CMAKE_C_SIZEOF_DATA_PTR)
51 set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
52 endif()
53
54 if(CMAKE_C_COMPILER_ABI)
55 set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
56 endif()
57
58 if(CMAKE_C_LIBRARY_ARCHITECTURE)
59 set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
60 endif()
61
62 set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
63 if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
64 set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
65 endif()
66
67
68
69
70
71 set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
72 set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
73 set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
1 set(CMAKE_CXX_COMPILER "/usr/bin/c++")
2 set(CMAKE_CXX_COMPILER_ARG1 "")
3 set(CMAKE_CXX_COMPILER_ID "GNU")
4 set(CMAKE_CXX_COMPILER_VERSION "7.5.0")
5 set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
6 set(CMAKE_CXX_COMPILER_WRAPPER "")
7 set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
8 set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17")
9 set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
10 set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
11 set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
12 set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
13
14 set(CMAKE_CXX_PLATFORM_ID "Linux")
15 set(CMAKE_CXX_SIMULATE_ID "")
16 set(CMAKE_CXX_SIMULATE_VERSION "")
17
18
19
20 set(CMAKE_AR "/usr/bin/ar")
21 set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-7")
22 set(CMAKE_RANLIB "/usr/bin/ranlib")
23 set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-7")
24 set(CMAKE_LINKER "/usr/bin/ld")
25 set(CMAKE_COMPILER_IS_GNUCXX 1)
26 set(CMAKE_CXX_COMPILER_LOADED 1)
27 set(CMAKE_CXX_COMPILER_WORKS TRUE)
28 set(CMAKE_CXX_ABI_COMPILED TRUE)
29 set(CMAKE_COMPILER_IS_MINGW )
30 set(CMAKE_COMPILER_IS_CYGWIN )
31 if(CMAKE_COMPILER_IS_CYGWIN)
32 set(CYGWIN 1)
33 set(UNIX 1)
34 endif()
35
36 set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
37
38 if(CMAKE_COMPILER_IS_MINGW)
39 set(MINGW 1)
40 endif()
41 set(CMAKE_CXX_COMPILER_ID_RUN 1)
42 set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
43 set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
44 set(CMAKE_CXX_LINKER_PREFERENCE 30)
45 set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
46
47 # Save compiler ABI information.
48 set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
49 set(CMAKE_CXX_COMPILER_ABI "ELF")
50 set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
51
52 if(CMAKE_CXX_SIZEOF_DATA_PTR)
53 set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
54 endif()
55
56 if(CMAKE_CXX_COMPILER_ABI)
57 set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
58 endif()
59
60 if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
61 set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
62 endif()
63
64 set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
65 if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
66 set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
67 endif()
68
69
70
71
72
73 set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
74 set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
75 set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
1 set(CMAKE_HOST_SYSTEM "Linux-4.15.0-29-generic")
2 set(CMAKE_HOST_SYSTEM_NAME "Linux")
3 set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-29-generic")
4 set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
5
6
7
8 set(CMAKE_SYSTEM "Linux-4.15.0-29-generic")
9 set(CMAKE_SYSTEM_NAME "Linux")
10 set(CMAKE_SYSTEM_VERSION "4.15.0-29-generic")
11 set(CMAKE_SYSTEM_PROCESSOR "x86_64")
12
13 set(CMAKE_CROSSCOMPILING "FALSE")
14
15 set(CMAKE_SYSTEM_LOADED 1)
No preview for this file type
No preview for this file type
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 # Relative path conversion top directories.
5 set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn")
6 set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build")
7
8 # Force unix paths in dependencies.
9 set(CMAKE_FORCE_UNIX_PATHS 1)
10
11
12 # The C and CXX include file regular expressions for this directory.
13 set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
14 set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
15 set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
16 set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
1 Determining if the pthread_create exist failed with the following output:
2 Change Dir: /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp
3
4 Run Build Command:"/usr/bin/make" "cmTC_63a2a/fast"
5 /usr/bin/make -f CMakeFiles/cmTC_63a2a.dir/build.make CMakeFiles/cmTC_63a2a.dir/build
6 make[1]: 进入目录“/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp”
7 Building C object CMakeFiles/cmTC_63a2a.dir/CheckSymbolExists.c.o
8 /usr/bin/cc -fPIC -o CMakeFiles/cmTC_63a2a.dir/CheckSymbolExists.c.o -c /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
9 Linking C executable cmTC_63a2a
10 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_63a2a.dir/link.txt --verbose=1
11 /usr/bin/cc -fPIC CMakeFiles/cmTC_63a2a.dir/CheckSymbolExists.c.o -o cmTC_63a2a
12 CMakeFiles/cmTC_63a2a.dir/CheckSymbolExists.c.o:在函数‘main’中:
13 CheckSymbolExists.c:(.text+0x1b):对‘pthread_create’未定义的引用
14 collect2: error: ld returned 1 exit status
15 CMakeFiles/cmTC_63a2a.dir/build.make:97: recipe for target 'cmTC_63a2a' failed
16 make[1]: *** [cmTC_63a2a] Error 1
17 make[1]: 离开目录“/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp”
18 Makefile:126: recipe for target 'cmTC_63a2a/fast' failed
19 make: *** [cmTC_63a2a/fast] Error 2
20
21 File /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
22 /* */
23 #include <pthread.h>
24
25 int main(int argc, char** argv)
26 {
27 (void)argv;
28 #ifndef pthread_create
29 return ((int*)(&pthread_create))[argc];
30 #else
31 (void)argc;
32 return 0;
33 #endif
34 }
35
36 Determining if the function pthread_create exists in the pthreads failed with the following output:
37 Change Dir: /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp
38
39 Run Build Command:"/usr/bin/make" "cmTC_35a97/fast"
40 /usr/bin/make -f CMakeFiles/cmTC_35a97.dir/build.make CMakeFiles/cmTC_35a97.dir/build
41 make[1]: 进入目录“/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp”
42 Building C object CMakeFiles/cmTC_35a97.dir/CheckFunctionExists.c.o
43 /usr/bin/cc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_35a97.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.10/Modules/CheckFunctionExists.c
44 Linking C executable cmTC_35a97
45 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_35a97.dir/link.txt --verbose=1
46 /usr/bin/cc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_35a97.dir/CheckFunctionExists.c.o -o cmTC_35a97 -lpthreads
47 /usr/bin/ld: 找不到 -lpthreads
48 collect2: error: ld returned 1 exit status
49 CMakeFiles/cmTC_35a97.dir/build.make:97: recipe for target 'cmTC_35a97' failed
50 make[1]: *** [cmTC_35a97] Error 1
51 make[1]: 离开目录“/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/CMakeTmp”
52 Makefile:126: recipe for target 'cmTC_35a97/fast' failed
53 make: *** [cmTC_35a97/fast] Error 2
54
55
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 # The generator used is:
5 set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
6
7 # The top level Makefile was generated from the following files:
8 set(CMAKE_MAKEFILE_DEPENDS
9 "CMakeCache.txt"
10 "../CMakeLists.txt"
11 "CMakeFiles/3.10.2/CMakeCCompiler.cmake"
12 "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake"
13 "CMakeFiles/3.10.2/CMakeSystem.cmake"
14 "CMakeFiles/feature_tests.c"
15 "CMakeFiles/feature_tests.cxx"
16 "/usr/local/lib/cmake/opencv4/OpenCVConfig-version.cmake"
17 "/usr/local/lib/cmake/opencv4/OpenCVConfig.cmake"
18 "/usr/local/lib/cmake/opencv4/OpenCVModules-release.cmake"
19 "/usr/local/lib/cmake/opencv4/OpenCVModules.cmake"
20 "/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in"
21 "/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c"
22 "/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake"
23 "/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in"
24 "/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp"
25 "/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake"
26 "/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake"
27 "/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake"
28 "/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in"
29 "/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake"
30 "/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake"
31 "/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake"
32 "/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake"
33 "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake"
34 "/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake"
35 "/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake"
36 "/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake"
37 "/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake"
38 "/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake"
39 "/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake"
40 "/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in"
41 "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake"
42 "/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake"
43 "/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake"
44 "/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake"
45 "/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake"
46 "/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake"
47 "/usr/share/cmake-3.10/Modules/CheckFunctionExists.c"
48 "/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in"
49 "/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake"
50 "/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake"
51 "/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake"
52 "/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake"
53 "/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
54 "/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
55 "/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake"
56 "/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
57 "/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
58 "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake"
59 "/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
60 "/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
61 "/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
62 "/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
63 "/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake"
64 "/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
65 "/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
66 "/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake"
67 "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
68 "/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake"
69 "/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake"
70 "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
71 "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake"
72 "/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake"
73 "/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake"
74 "/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake"
75 "/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake"
76 "/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
77 "/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake"
78 "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
79 "/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
80 "/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake"
81 "/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake"
82 "/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake"
83 "/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
84 "/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
85 "/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake"
86 "/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake"
87 "/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake"
88 "/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
89 "/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
90 "/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
91 "/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake"
92 "/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
93 "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
94 "/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
95 "/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake"
96 "/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake"
97 "/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
98 "/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
99 "/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
100 "/usr/share/cmake-3.10/Modules/FindCUDA.cmake"
101 "/usr/share/cmake-3.10/Modules/FindCUDA/select_compute_arch.cmake"
102 "/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake"
103 "/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake"
104 "/usr/share/cmake-3.10/Modules/FindThreads.cmake"
105 "/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake"
106 "/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake"
107 "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake"
108 "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake"
109 "/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake"
110 "/usr/share/cmake-3.10/Modules/Platform/Linux.cmake"
111 "/usr/share/cmake-3.10/Modules/Platform/UnixPaths.cmake"
112 )
113
114 # The corresponding makefile is:
115 set(CMAKE_MAKEFILE_OUTPUTS
116 "Makefile"
117 "CMakeFiles/cmake.check_cache"
118 )
119
120 # Byproducts of CMake generate step:
121 set(CMAKE_MAKEFILE_PRODUCTS
122 "CMakeFiles/3.10.2/CMakeSystem.cmake"
123 "CMakeFiles/3.10.2/CMakeCCompiler.cmake"
124 "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake"
125 "CMakeFiles/3.10.2/CMakeCCompiler.cmake"
126 "CMakeFiles/3.10.2/CMakeCXXCompiler.cmake"
127 "CMakeFiles/CMakeDirectoryInformation.cmake"
128 )
129
130 # Dependency information for all targets:
131 set(CMAKE_DEPEND_INFO_FILES
132 "CMakeFiles/main.dir/DependInfo.cmake"
133 )
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 # Default target executed when no arguments are given to make.
5 default_target: all
6
7 .PHONY : default_target
8
9 # The main recursive all target
10 all:
11
12 .PHONY : all
13
14 # The main recursive preinstall target
15 preinstall:
16
17 .PHONY : preinstall
18
19 #=============================================================================
20 # Special targets provided by cmake.
21
22 # Disable implicit rules so canonical targets will work.
23 .SUFFIXES:
24
25
26 # Remove some rules from gmake that .SUFFIXES does not remove.
27 SUFFIXES =
28
29 .SUFFIXES: .hpux_make_needs_suffix_list
30
31
32 # Suppress display of executed commands.
33 $(VERBOSE).SILENT:
34
35
36 # A target that is always out of date.
37 cmake_force:
38
39 .PHONY : cmake_force
40
41 #=============================================================================
42 # Set environment variables for the build.
43
44 # The shell in which to execute make rules.
45 SHELL = /bin/sh
46
47 # The CMake executable.
48 CMAKE_COMMAND = /usr/bin/cmake
49
50 # The command to remove a file.
51 RM = /usr/bin/cmake -E remove -f
52
53 # Escaping for special characters.
54 EQUALS = =
55
56 # The top-level source directory on which CMake was run.
57 CMAKE_SOURCE_DIR = /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn
58
59 # The top-level build directory on which CMake was run.
60 CMAKE_BINARY_DIR = /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build
61
62 #=============================================================================
63 # Target rules for target CMakeFiles/main.dir
64
65 # All Build rule for target.
66 CMakeFiles/main.dir/all:
67 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/depend
68 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/build
69 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles --progress-num=1,2 "Built target main"
70 .PHONY : CMakeFiles/main.dir/all
71
72 # Include target in all.
73 all: CMakeFiles/main.dir/all
74
75 .PHONY : all
76
77 # Build rule for subdir invocation for target.
78 CMakeFiles/main.dir/rule: cmake_check_build_system
79 $(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles 2
80 $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/main.dir/all
81 $(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles 0
82 .PHONY : CMakeFiles/main.dir/rule
83
84 # Convenience name for target.
85 main: CMakeFiles/main.dir/rule
86
87 .PHONY : main
88
89 # clean rule for target.
90 CMakeFiles/main.dir/clean:
91 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/clean
92 .PHONY : CMakeFiles/main.dir/clean
93
94 # clean rule for target.
95 clean: CMakeFiles/main.dir/clean
96
97 .PHONY : clean
98
99 #=============================================================================
100 # Special targets to cleanup operation of make.
101
102 # Special rule to run CMake to check the build system integrity.
103 # No rule that depends on this can have commands that come from listfiles
104 # because they might be regenerated.
105 cmake_check_build_system:
106 $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
107 .PHONY : cmake_check_build_system
108
1 /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/rebuild_cache.dir
2 /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/main.dir
3 /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/edit_cache.dir
1 # This file is generated by cmake for dependency checking of the CMakeCache.txt file
No preview for this file type
1
2 const char features[] = {"\n"
3 "C_FEATURE:"
4 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304
5 "1"
6 #else
7 "0"
8 #endif
9 "c_function_prototypes\n"
10 "C_FEATURE:"
11 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
12 "1"
13 #else
14 "0"
15 #endif
16 "c_restrict\n"
17 "C_FEATURE:"
18 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L
19 "1"
20 #else
21 "0"
22 #endif
23 "c_static_assert\n"
24 "C_FEATURE:"
25 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
26 "1"
27 #else
28 "0"
29 #endif
30 "c_variadic_macros\n"
31
32 };
33
34 int main(int argc, char** argv) { (void)argv; return features[argc]; }
1
2 const char features[] = {"\n"
3 "CXX_FEATURE:"
4 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
5 "1"
6 #else
7 "0"
8 #endif
9 "cxx_aggregate_default_initializers\n"
10 "CXX_FEATURE:"
11 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
12 "1"
13 #else
14 "0"
15 #endif
16 "cxx_alias_templates\n"
17 "CXX_FEATURE:"
18 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
19 "1"
20 #else
21 "0"
22 #endif
23 "cxx_alignas\n"
24 "CXX_FEATURE:"
25 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
26 "1"
27 #else
28 "0"
29 #endif
30 "cxx_alignof\n"
31 "CXX_FEATURE:"
32 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
33 "1"
34 #else
35 "0"
36 #endif
37 "cxx_attributes\n"
38 "CXX_FEATURE:"
39 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
40 "1"
41 #else
42 "0"
43 #endif
44 "cxx_attribute_deprecated\n"
45 "CXX_FEATURE:"
46 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
47 "1"
48 #else
49 "0"
50 #endif
51 "cxx_auto_type\n"
52 "CXX_FEATURE:"
53 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
54 "1"
55 #else
56 "0"
57 #endif
58 "cxx_binary_literals\n"
59 "CXX_FEATURE:"
60 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
61 "1"
62 #else
63 "0"
64 #endif
65 "cxx_constexpr\n"
66 "CXX_FEATURE:"
67 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
68 "1"
69 #else
70 "0"
71 #endif
72 "cxx_contextual_conversions\n"
73 "CXX_FEATURE:"
74 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
75 "1"
76 #else
77 "0"
78 #endif
79 "cxx_decltype\n"
80 "CXX_FEATURE:"
81 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
82 "1"
83 #else
84 "0"
85 #endif
86 "cxx_decltype_auto\n"
87 "CXX_FEATURE:"
88 #if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
89 "1"
90 #else
91 "0"
92 #endif
93 "cxx_decltype_incomplete_return_types\n"
94 "CXX_FEATURE:"
95 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
96 "1"
97 #else
98 "0"
99 #endif
100 "cxx_default_function_template_args\n"
101 "CXX_FEATURE:"
102 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
103 "1"
104 #else
105 "0"
106 #endif
107 "cxx_defaulted_functions\n"
108 "CXX_FEATURE:"
109 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
110 "1"
111 #else
112 "0"
113 #endif
114 "cxx_defaulted_move_initializers\n"
115 "CXX_FEATURE:"
116 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
117 "1"
118 #else
119 "0"
120 #endif
121 "cxx_delegating_constructors\n"
122 "CXX_FEATURE:"
123 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
124 "1"
125 #else
126 "0"
127 #endif
128 "cxx_deleted_functions\n"
129 "CXX_FEATURE:"
130 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
131 "1"
132 #else
133 "0"
134 #endif
135 "cxx_digit_separators\n"
136 "CXX_FEATURE:"
137 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
138 "1"
139 #else
140 "0"
141 #endif
142 "cxx_enum_forward_declarations\n"
143 "CXX_FEATURE:"
144 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
145 "1"
146 #else
147 "0"
148 #endif
149 "cxx_explicit_conversions\n"
150 "CXX_FEATURE:"
151 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
152 "1"
153 #else
154 "0"
155 #endif
156 "cxx_extended_friend_declarations\n"
157 "CXX_FEATURE:"
158 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
159 "1"
160 #else
161 "0"
162 #endif
163 "cxx_extern_templates\n"
164 "CXX_FEATURE:"
165 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
166 "1"
167 #else
168 "0"
169 #endif
170 "cxx_final\n"
171 "CXX_FEATURE:"
172 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
173 "1"
174 #else
175 "0"
176 #endif
177 "cxx_func_identifier\n"
178 "CXX_FEATURE:"
179 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
180 "1"
181 #else
182 "0"
183 #endif
184 "cxx_generalized_initializers\n"
185 "CXX_FEATURE:"
186 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
187 "1"
188 #else
189 "0"
190 #endif
191 "cxx_generic_lambdas\n"
192 "CXX_FEATURE:"
193 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
194 "1"
195 #else
196 "0"
197 #endif
198 "cxx_inheriting_constructors\n"
199 "CXX_FEATURE:"
200 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
201 "1"
202 #else
203 "0"
204 #endif
205 "cxx_inline_namespaces\n"
206 "CXX_FEATURE:"
207 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
208 "1"
209 #else
210 "0"
211 #endif
212 "cxx_lambdas\n"
213 "CXX_FEATURE:"
214 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
215 "1"
216 #else
217 "0"
218 #endif
219 "cxx_lambda_init_captures\n"
220 "CXX_FEATURE:"
221 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
222 "1"
223 #else
224 "0"
225 #endif
226 "cxx_local_type_template_args\n"
227 "CXX_FEATURE:"
228 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
229 "1"
230 #else
231 "0"
232 #endif
233 "cxx_long_long_type\n"
234 "CXX_FEATURE:"
235 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
236 "1"
237 #else
238 "0"
239 #endif
240 "cxx_noexcept\n"
241 "CXX_FEATURE:"
242 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
243 "1"
244 #else
245 "0"
246 #endif
247 "cxx_nonstatic_member_init\n"
248 "CXX_FEATURE:"
249 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
250 "1"
251 #else
252 "0"
253 #endif
254 "cxx_nullptr\n"
255 "CXX_FEATURE:"
256 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
257 "1"
258 #else
259 "0"
260 #endif
261 "cxx_override\n"
262 "CXX_FEATURE:"
263 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
264 "1"
265 #else
266 "0"
267 #endif
268 "cxx_range_for\n"
269 "CXX_FEATURE:"
270 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
271 "1"
272 #else
273 "0"
274 #endif
275 "cxx_raw_string_literals\n"
276 "CXX_FEATURE:"
277 #if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
278 "1"
279 #else
280 "0"
281 #endif
282 "cxx_reference_qualified_functions\n"
283 "CXX_FEATURE:"
284 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
285 "1"
286 #else
287 "0"
288 #endif
289 "cxx_relaxed_constexpr\n"
290 "CXX_FEATURE:"
291 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
292 "1"
293 #else
294 "0"
295 #endif
296 "cxx_return_type_deduction\n"
297 "CXX_FEATURE:"
298 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
299 "1"
300 #else
301 "0"
302 #endif
303 "cxx_right_angle_brackets\n"
304 "CXX_FEATURE:"
305 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
306 "1"
307 #else
308 "0"
309 #endif
310 "cxx_rvalue_references\n"
311 "CXX_FEATURE:"
312 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
313 "1"
314 #else
315 "0"
316 #endif
317 "cxx_sizeof_member\n"
318 "CXX_FEATURE:"
319 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
320 "1"
321 #else
322 "0"
323 #endif
324 "cxx_static_assert\n"
325 "CXX_FEATURE:"
326 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
327 "1"
328 #else
329 "0"
330 #endif
331 "cxx_strong_enums\n"
332 "CXX_FEATURE:"
333 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
334 "1"
335 #else
336 "0"
337 #endif
338 "cxx_template_template_parameters\n"
339 "CXX_FEATURE:"
340 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
341 "1"
342 #else
343 "0"
344 #endif
345 "cxx_thread_local\n"
346 "CXX_FEATURE:"
347 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
348 "1"
349 #else
350 "0"
351 #endif
352 "cxx_trailing_return_types\n"
353 "CXX_FEATURE:"
354 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
355 "1"
356 #else
357 "0"
358 #endif
359 "cxx_unicode_literals\n"
360 "CXX_FEATURE:"
361 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
362 "1"
363 #else
364 "0"
365 #endif
366 "cxx_uniform_initialization\n"
367 "CXX_FEATURE:"
368 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
369 "1"
370 #else
371 "0"
372 #endif
373 "cxx_unrestricted_unions\n"
374 "CXX_FEATURE:"
375 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
376 "1"
377 #else
378 "0"
379 #endif
380 "cxx_user_literals\n"
381 "CXX_FEATURE:"
382 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
383 "1"
384 #else
385 "0"
386 #endif
387 "cxx_variable_templates\n"
388 "CXX_FEATURE:"
389 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
390 "1"
391 #else
392 "0"
393 #endif
394 "cxx_variadic_macros\n"
395 "CXX_FEATURE:"
396 #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
397 "1"
398 #else
399 "0"
400 #endif
401 "cxx_variadic_templates\n"
402
403 };
404
405 int main(int argc, char** argv) { (void)argv; return features[argc]; }
1 # The set of languages for which implicit dependencies are needed:
2 set(CMAKE_DEPENDS_LANGUAGES
3 "CXX"
4 )
5 # The set of files for implicit dependencies of each language:
6 set(CMAKE_DEPENDS_CHECK_CXX
7 "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/main.cpp" "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/main.dir/main.cpp.o"
8 )
9 set(CMAKE_CXX_COMPILER_ID "GNU")
10
11 # The include file search paths:
12 set(CMAKE_CXX_TARGET_INCLUDE_PATH
13 "/home/situ/MNN/MNN1.0/MNN/include"
14 "../include"
15 "/usr/local/include/opencv4"
16 )
17
18 # Targets to which this target links.
19 set(CMAKE_TARGET_LINKED_INFO_FILES
20 )
21
22 # Fortran module output directory.
23 set(CMAKE_Fortran_TARGET_MODULE_DIR "")
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 # Delete rule output on recipe failure.
5 .DELETE_ON_ERROR:
6
7
8 #=============================================================================
9 # Special targets provided by cmake.
10
11 # Disable implicit rules so canonical targets will work.
12 .SUFFIXES:
13
14
15 # Remove some rules from gmake that .SUFFIXES does not remove.
16 SUFFIXES =
17
18 .SUFFIXES: .hpux_make_needs_suffix_list
19
20
21 # Suppress display of executed commands.
22 $(VERBOSE).SILENT:
23
24
25 # A target that is always out of date.
26 cmake_force:
27
28 .PHONY : cmake_force
29
30 #=============================================================================
31 # Set environment variables for the build.
32
33 # The shell in which to execute make rules.
34 SHELL = /bin/sh
35
36 # The CMake executable.
37 CMAKE_COMMAND = /usr/bin/cmake
38
39 # The command to remove a file.
40 RM = /usr/bin/cmake -E remove -f
41
42 # Escaping for special characters.
43 EQUALS = =
44
45 # The top-level source directory on which CMake was run.
46 CMAKE_SOURCE_DIR = /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn
47
48 # The top-level build directory on which CMake was run.
49 CMAKE_BINARY_DIR = /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build
50
51 # Include any dependencies generated for this target.
52 include CMakeFiles/main.dir/depend.make
53
54 # Include the progress variables for this target.
55 include CMakeFiles/main.dir/progress.make
56
57 # Include the compile flags for this target's objects.
58 include CMakeFiles/main.dir/flags.make
59
60 CMakeFiles/main.dir/main.cpp.o: CMakeFiles/main.dir/flags.make
61 CMakeFiles/main.dir/main.cpp.o: ../main.cpp
62 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/main.dir/main.cpp.o"
63 /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/main.dir/main.cpp.o -c /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/main.cpp
64
65 CMakeFiles/main.dir/main.cpp.i: cmake_force
66 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/main.dir/main.cpp.i"
67 /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/main.cpp > CMakeFiles/main.dir/main.cpp.i
68
69 CMakeFiles/main.dir/main.cpp.s: cmake_force
70 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/main.dir/main.cpp.s"
71 /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/main.cpp -o CMakeFiles/main.dir/main.cpp.s
72
73 CMakeFiles/main.dir/main.cpp.o.requires:
74
75 .PHONY : CMakeFiles/main.dir/main.cpp.o.requires
76
77 CMakeFiles/main.dir/main.cpp.o.provides: CMakeFiles/main.dir/main.cpp.o.requires
78 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cpp.o.provides.build
79 .PHONY : CMakeFiles/main.dir/main.cpp.o.provides
80
81 CMakeFiles/main.dir/main.cpp.o.provides.build: CMakeFiles/main.dir/main.cpp.o
82
83
84 # Object files for target main
85 main_OBJECTS = \
86 "CMakeFiles/main.dir/main.cpp.o"
87
88 # External object files for target main
89 main_EXTERNAL_OBJECTS =
90
91 main: CMakeFiles/main.dir/main.cpp.o
92 main: CMakeFiles/main.dir/build.make
93 main: ../lib/libfacecomparison.so
94 main: /usr/local/lib/libopencv_gapi.so.4.5.5
95 main: /usr/local/lib/libopencv_stitching.so.4.5.5
96 main: /usr/local/lib/libopencv_aruco.so.4.5.5
97 main: /usr/local/lib/libopencv_barcode.so.4.5.5
98 main: /usr/local/lib/libopencv_bgsegm.so.4.5.5
99 main: /usr/local/lib/libopencv_bioinspired.so.4.5.5
100 main: /usr/local/lib/libopencv_ccalib.so.4.5.5
101 main: /usr/local/lib/libopencv_cudabgsegm.so.4.5.5
102 main: /usr/local/lib/libopencv_cudafeatures2d.so.4.5.5
103 main: /usr/local/lib/libopencv_cudaobjdetect.so.4.5.5
104 main: /usr/local/lib/libopencv_cudastereo.so.4.5.5
105 main: /usr/local/lib/libopencv_dnn_objdetect.so.4.5.5
106 main: /usr/local/lib/libopencv_dnn_superres.so.4.5.5
107 main: /usr/local/lib/libopencv_dpm.so.4.5.5
108 main: /usr/local/lib/libopencv_face.so.4.5.5
109 main: /usr/local/lib/libopencv_freetype.so.4.5.5
110 main: /usr/local/lib/libopencv_fuzzy.so.4.5.5
111 main: /usr/local/lib/libopencv_hfs.so.4.5.5
112 main: /usr/local/lib/libopencv_img_hash.so.4.5.5
113 main: /usr/local/lib/libopencv_intensity_transform.so.4.5.5
114 main: /usr/local/lib/libopencv_line_descriptor.so.4.5.5
115 main: /usr/local/lib/libopencv_mcc.so.4.5.5
116 main: /usr/local/lib/libopencv_quality.so.4.5.5
117 main: /usr/local/lib/libopencv_rapid.so.4.5.5
118 main: /usr/local/lib/libopencv_reg.so.4.5.5
119 main: /usr/local/lib/libopencv_rgbd.so.4.5.5
120 main: /usr/local/lib/libopencv_saliency.so.4.5.5
121 main: /usr/local/lib/libopencv_stereo.so.4.5.5
122 main: /usr/local/lib/libopencv_structured_light.so.4.5.5
123 main: /usr/local/lib/libopencv_superres.so.4.5.5
124 main: /usr/local/lib/libopencv_surface_matching.so.4.5.5
125 main: /usr/local/lib/libopencv_tracking.so.4.5.5
126 main: /usr/local/lib/libopencv_videostab.so.4.5.5
127 main: /usr/local/lib/libopencv_wechat_qrcode.so.4.5.5
128 main: /usr/local/lib/libopencv_xfeatures2d.so.4.5.5
129 main: /usr/local/lib/libopencv_xobjdetect.so.4.5.5
130 main: /usr/local/lib/libopencv_xphoto.so.4.5.5
131 main: /usr/local/lib/libopencv_shape.so.4.5.5
132 main: /usr/local/lib/libopencv_highgui.so.4.5.5
133 main: /usr/local/lib/libopencv_datasets.so.4.5.5
134 main: /usr/local/lib/libopencv_plot.so.4.5.5
135 main: /usr/local/lib/libopencv_text.so.4.5.5
136 main: /usr/local/lib/libopencv_ml.so.4.5.5
137 main: /usr/local/lib/libopencv_phase_unwrapping.so.4.5.5
138 main: /usr/local/lib/libopencv_cudacodec.so.4.5.5
139 main: /usr/local/lib/libopencv_videoio.so.4.5.5
140 main: /usr/local/lib/libopencv_cudaoptflow.so.4.5.5
141 main: /usr/local/lib/libopencv_cudalegacy.so.4.5.5
142 main: /usr/local/lib/libopencv_cudawarping.so.4.5.5
143 main: /usr/local/lib/libopencv_optflow.so.4.5.5
144 main: /usr/local/lib/libopencv_ximgproc.so.4.5.5
145 main: /usr/local/lib/libopencv_video.so.4.5.5
146 main: /usr/local/lib/libopencv_imgcodecs.so.4.5.5
147 main: /usr/local/lib/libopencv_objdetect.so.4.5.5
148 main: /usr/local/lib/libopencv_calib3d.so.4.5.5
149 main: /usr/local/lib/libopencv_dnn.so.4.5.5
150 main: /usr/local/lib/libopencv_features2d.so.4.5.5
151 main: /usr/local/lib/libopencv_flann.so.4.5.5
152 main: /usr/local/lib/libopencv_photo.so.4.5.5
153 main: /usr/local/lib/libopencv_cudaimgproc.so.4.5.5
154 main: /usr/local/lib/libopencv_cudafilters.so.4.5.5
155 main: /usr/local/lib/libopencv_imgproc.so.4.5.5
156 main: /usr/local/lib/libopencv_cudaarithm.so.4.5.5
157 main: /usr/local/lib/libopencv_core.so.4.5.5
158 main: /usr/local/lib/libopencv_cudev.so.4.5.5
159 main: CMakeFiles/main.dir/link.txt
160 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable main"
161 $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/main.dir/link.txt --verbose=$(VERBOSE)
162
163 # Rule to build all files generated by this target.
164 CMakeFiles/main.dir/build: main
165
166 .PHONY : CMakeFiles/main.dir/build
167
168 CMakeFiles/main.dir/requires: CMakeFiles/main.dir/main.cpp.o.requires
169
170 .PHONY : CMakeFiles/main.dir/requires
171
172 CMakeFiles/main.dir/clean:
173 $(CMAKE_COMMAND) -P CMakeFiles/main.dir/cmake_clean.cmake
174 .PHONY : CMakeFiles/main.dir/clean
175
176 CMakeFiles/main.dir/depend:
177 cd /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/main.dir/DependInfo.cmake --color=$(COLOR)
178 .PHONY : CMakeFiles/main.dir/depend
179
1 file(REMOVE_RECURSE
2 "CMakeFiles/main.dir/main.cpp.o"
3 "main.pdb"
4 "main"
5 )
6
7 # Per-language clean rules from dependency scanning.
8 foreach(lang CXX)
9 include(CMakeFiles/main.dir/cmake_clean_${lang}.cmake OPTIONAL)
10 endforeach()
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 CMakeFiles/main.dir/main.cpp.o
5 ../include/facecomparison.h
6 ../include/facelandmarks.h
7 ../include/facerecognize.h
8 ../include/retinaface.h
9 /home/situ/MNN/MNN1.0/MNN/include/MNN/ErrorCode.hpp
10 /home/situ/MNN/MNN1.0/MNN/include/MNN/HalideRuntime.h
11 /home/situ/MNN/MNN1.0/MNN/include/MNN/ImageProcess.hpp
12 /home/situ/MNN/MNN1.0/MNN/include/MNN/Interpreter.hpp
13 /home/situ/MNN/MNN1.0/MNN/include/MNN/MNNDefine.h
14 /home/situ/MNN/MNN1.0/MNN/include/MNN/MNNForwardType.h
15 /home/situ/MNN/MNN1.0/MNN/include/MNN/Matrix.h
16 /home/situ/MNN/MNN1.0/MNN/include/MNN/Rect.h
17 /home/situ/MNN/MNN1.0/MNN/include/MNN/Tensor.hpp
18 /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/main.cpp
19 /usr/local/include/opencv4/opencv2/./imgproc/segmentation.hpp
20 /usr/local/include/opencv4/opencv2/calib3d.hpp
21 /usr/local/include/opencv4/opencv2/core.hpp
22 /usr/local/include/opencv4/opencv2/core/affine.hpp
23 /usr/local/include/opencv4/opencv2/core/async.hpp
24 /usr/local/include/opencv4/opencv2/core/base.hpp
25 /usr/local/include/opencv4/opencv2/core/bufferpool.hpp
26 /usr/local/include/opencv4/opencv2/core/check.hpp
27 /usr/local/include/opencv4/opencv2/core/cuda.hpp
28 /usr/local/include/opencv4/opencv2/core/cuda.inl.hpp
29 /usr/local/include/opencv4/opencv2/core/cuda_types.hpp
30 /usr/local/include/opencv4/opencv2/core/cv_cpu_dispatch.h
31 /usr/local/include/opencv4/opencv2/core/cv_cpu_helper.h
32 /usr/local/include/opencv4/opencv2/core/cvdef.h
33 /usr/local/include/opencv4/opencv2/core/cvstd.hpp
34 /usr/local/include/opencv4/opencv2/core/cvstd.inl.hpp
35 /usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp
36 /usr/local/include/opencv4/opencv2/core/fast_math.hpp
37 /usr/local/include/opencv4/opencv2/core/hal/interface.h
38 /usr/local/include/opencv4/opencv2/core/hal/msa_macros.h
39 /usr/local/include/opencv4/opencv2/core/mat.hpp
40 /usr/local/include/opencv4/opencv2/core/mat.inl.hpp
41 /usr/local/include/opencv4/opencv2/core/matx.hpp
42 /usr/local/include/opencv4/opencv2/core/neon_utils.hpp
43 /usr/local/include/opencv4/opencv2/core/operations.hpp
44 /usr/local/include/opencv4/opencv2/core/optim.hpp
45 /usr/local/include/opencv4/opencv2/core/ovx.hpp
46 /usr/local/include/opencv4/opencv2/core/persistence.hpp
47 /usr/local/include/opencv4/opencv2/core/saturate.hpp
48 /usr/local/include/opencv4/opencv2/core/traits.hpp
49 /usr/local/include/opencv4/opencv2/core/types.hpp
50 /usr/local/include/opencv4/opencv2/core/utility.hpp
51 /usr/local/include/opencv4/opencv2/core/utils/instrumentation.hpp
52 /usr/local/include/opencv4/opencv2/core/utils/tls.hpp
53 /usr/local/include/opencv4/opencv2/core/version.hpp
54 /usr/local/include/opencv4/opencv2/core/vsx_utils.hpp
55 /usr/local/include/opencv4/opencv2/dnn.hpp
56 /usr/local/include/opencv4/opencv2/dnn/dict.hpp
57 /usr/local/include/opencv4/opencv2/dnn/dnn.hpp
58 /usr/local/include/opencv4/opencv2/dnn/dnn.inl.hpp
59 /usr/local/include/opencv4/opencv2/dnn/layer.hpp
60 /usr/local/include/opencv4/opencv2/dnn/utils/inference_engine.hpp
61 /usr/local/include/opencv4/opencv2/dnn/version.hpp
62 /usr/local/include/opencv4/opencv2/features2d.hpp
63 /usr/local/include/opencv4/opencv2/flann.hpp
64 /usr/local/include/opencv4/opencv2/flann/all_indices.h
65 /usr/local/include/opencv4/opencv2/flann/allocator.h
66 /usr/local/include/opencv4/opencv2/flann/any.h
67 /usr/local/include/opencv4/opencv2/flann/autotuned_index.h
68 /usr/local/include/opencv4/opencv2/flann/composite_index.h
69 /usr/local/include/opencv4/opencv2/flann/config.h
70 /usr/local/include/opencv4/opencv2/flann/defines.h
71 /usr/local/include/opencv4/opencv2/flann/dist.h
72 /usr/local/include/opencv4/opencv2/flann/dynamic_bitset.h
73 /usr/local/include/opencv4/opencv2/flann/flann_base.hpp
74 /usr/local/include/opencv4/opencv2/flann/general.h
75 /usr/local/include/opencv4/opencv2/flann/ground_truth.h
76 /usr/local/include/opencv4/opencv2/flann/heap.h
77 /usr/local/include/opencv4/opencv2/flann/hierarchical_clustering_index.h
78 /usr/local/include/opencv4/opencv2/flann/index_testing.h
79 /usr/local/include/opencv4/opencv2/flann/kdtree_index.h
80 /usr/local/include/opencv4/opencv2/flann/kdtree_single_index.h
81 /usr/local/include/opencv4/opencv2/flann/kmeans_index.h
82 /usr/local/include/opencv4/opencv2/flann/linear_index.h
83 /usr/local/include/opencv4/opencv2/flann/logger.h
84 /usr/local/include/opencv4/opencv2/flann/lsh_index.h
85 /usr/local/include/opencv4/opencv2/flann/lsh_table.h
86 /usr/local/include/opencv4/opencv2/flann/matrix.h
87 /usr/local/include/opencv4/opencv2/flann/miniflann.hpp
88 /usr/local/include/opencv4/opencv2/flann/nn_index.h
89 /usr/local/include/opencv4/opencv2/flann/params.h
90 /usr/local/include/opencv4/opencv2/flann/random.h
91 /usr/local/include/opencv4/opencv2/flann/result_set.h
92 /usr/local/include/opencv4/opencv2/flann/sampling.h
93 /usr/local/include/opencv4/opencv2/flann/saving.h
94 /usr/local/include/opencv4/opencv2/flann/timer.h
95 /usr/local/include/opencv4/opencv2/highgui.hpp
96 /usr/local/include/opencv4/opencv2/imgcodecs.hpp
97 /usr/local/include/opencv4/opencv2/imgproc.hpp
98 /usr/local/include/opencv4/opencv2/ml.hpp
99 /usr/local/include/opencv4/opencv2/ml/ml.inl.hpp
100 /usr/local/include/opencv4/opencv2/objdetect.hpp
101 /usr/local/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp
102 /usr/local/include/opencv4/opencv2/objdetect/face.hpp
103 /usr/local/include/opencv4/opencv2/opencv.hpp
104 /usr/local/include/opencv4/opencv2/opencv_modules.hpp
105 /usr/local/include/opencv4/opencv2/photo.hpp
106 /usr/local/include/opencv4/opencv2/stitching.hpp
107 /usr/local/include/opencv4/opencv2/stitching/detail/blenders.hpp
108 /usr/local/include/opencv4/opencv2/stitching/detail/camera.hpp
109 /usr/local/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp
110 /usr/local/include/opencv4/opencv2/stitching/detail/matchers.hpp
111 /usr/local/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp
112 /usr/local/include/opencv4/opencv2/stitching/detail/seam_finders.hpp
113 /usr/local/include/opencv4/opencv2/stitching/detail/util.hpp
114 /usr/local/include/opencv4/opencv2/stitching/detail/util_inl.hpp
115 /usr/local/include/opencv4/opencv2/stitching/detail/warpers.hpp
116 /usr/local/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp
117 /usr/local/include/opencv4/opencv2/stitching/warpers.hpp
118 /usr/local/include/opencv4/opencv2/video.hpp
119 /usr/local/include/opencv4/opencv2/video/background_segm.hpp
120 /usr/local/include/opencv4/opencv2/video/tracking.hpp
121 /usr/local/include/opencv4/opencv2/videoio.hpp
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 CMakeFiles/main.dir/main.cpp.o: ../include/facecomparison.h
5 CMakeFiles/main.dir/main.cpp.o: ../include/facelandmarks.h
6 CMakeFiles/main.dir/main.cpp.o: ../include/facerecognize.h
7 CMakeFiles/main.dir/main.cpp.o: ../include/retinaface.h
8 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/ErrorCode.hpp
9 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/HalideRuntime.h
10 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/ImageProcess.hpp
11 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/Interpreter.hpp
12 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/MNNDefine.h
13 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/MNNForwardType.h
14 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/Matrix.h
15 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/Rect.h
16 CMakeFiles/main.dir/main.cpp.o: /home/situ/MNN/MNN1.0/MNN/include/MNN/Tensor.hpp
17 CMakeFiles/main.dir/main.cpp.o: ../main.cpp
18 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/./imgproc/segmentation.hpp
19 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/calib3d.hpp
20 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core.hpp
21 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/affine.hpp
22 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/async.hpp
23 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/base.hpp
24 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/bufferpool.hpp
25 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/check.hpp
26 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cuda.hpp
27 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cuda.inl.hpp
28 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cuda_types.hpp
29 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cv_cpu_dispatch.h
30 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cv_cpu_helper.h
31 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cvdef.h
32 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cvstd.hpp
33 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cvstd.inl.hpp
34 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp
35 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/fast_math.hpp
36 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/hal/interface.h
37 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/hal/msa_macros.h
38 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/mat.hpp
39 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/mat.inl.hpp
40 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/matx.hpp
41 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/neon_utils.hpp
42 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/operations.hpp
43 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/optim.hpp
44 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/ovx.hpp
45 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/persistence.hpp
46 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/saturate.hpp
47 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/traits.hpp
48 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/types.hpp
49 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/utility.hpp
50 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/utils/instrumentation.hpp
51 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/utils/tls.hpp
52 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/version.hpp
53 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/core/vsx_utils.hpp
54 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/dnn.hpp
55 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/dnn/dict.hpp
56 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/dnn/dnn.hpp
57 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/dnn/dnn.inl.hpp
58 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/dnn/layer.hpp
59 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/dnn/utils/inference_engine.hpp
60 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/dnn/version.hpp
61 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/features2d.hpp
62 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann.hpp
63 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/all_indices.h
64 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/allocator.h
65 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/any.h
66 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/autotuned_index.h
67 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/composite_index.h
68 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/config.h
69 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/defines.h
70 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/dist.h
71 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/dynamic_bitset.h
72 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/flann_base.hpp
73 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/general.h
74 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/ground_truth.h
75 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/heap.h
76 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/hierarchical_clustering_index.h
77 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/index_testing.h
78 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/kdtree_index.h
79 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/kdtree_single_index.h
80 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/kmeans_index.h
81 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/linear_index.h
82 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/logger.h
83 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/lsh_index.h
84 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/lsh_table.h
85 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/matrix.h
86 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/miniflann.hpp
87 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/nn_index.h
88 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/params.h
89 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/random.h
90 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/result_set.h
91 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/sampling.h
92 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/saving.h
93 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/flann/timer.h
94 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/highgui.hpp
95 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/imgcodecs.hpp
96 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/imgproc.hpp
97 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/ml.hpp
98 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/ml/ml.inl.hpp
99 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/objdetect.hpp
100 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp
101 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/objdetect/face.hpp
102 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/opencv.hpp
103 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/opencv_modules.hpp
104 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/photo.hpp
105 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching.hpp
106 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/blenders.hpp
107 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/camera.hpp
108 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp
109 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/matchers.hpp
110 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp
111 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/seam_finders.hpp
112 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/util.hpp
113 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/util_inl.hpp
114 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/warpers.hpp
115 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp
116 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/stitching/warpers.hpp
117 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/video.hpp
118 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/video/background_segm.hpp
119 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/video/tracking.hpp
120 CMakeFiles/main.dir/main.cpp.o: /usr/local/include/opencv4/opencv2/videoio.hpp
121
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 # compile CXX with /usr/bin/c++
5 CXX_FLAGS = -std=gnu++11
6
7 CXX_DEFINES =
8
9 CXX_INCLUDES = -I/home/situ/MNN/MNN1.0/MNN/include -I/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/include -isystem /usr/local/include/opencv4
10
1 /usr/bin/c++ CMakeFiles/main.dir/main.cpp.o -o main -L/usr/local/cuda-10.1/lib64 -L/home/situ/MNN/MNN1.0/MNN/build -Wl,-rpath,/usr/local/cuda-10.1/lib64:/home/situ/MNN/MNN1.0/MNN/build:/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/lib:/usr/local/lib ../lib/libfacecomparison.so -lMNN /usr/local/lib/libopencv_gapi.so.4.5.5 /usr/local/lib/libopencv_stitching.so.4.5.5 /usr/local/lib/libopencv_aruco.so.4.5.5 /usr/local/lib/libopencv_barcode.so.4.5.5 /usr/local/lib/libopencv_bgsegm.so.4.5.5 /usr/local/lib/libopencv_bioinspired.so.4.5.5 /usr/local/lib/libopencv_ccalib.so.4.5.5 /usr/local/lib/libopencv_cudabgsegm.so.4.5.5 /usr/local/lib/libopencv_cudafeatures2d.so.4.5.5 /usr/local/lib/libopencv_cudaobjdetect.so.4.5.5 /usr/local/lib/libopencv_cudastereo.so.4.5.5 /usr/local/lib/libopencv_dnn_objdetect.so.4.5.5 /usr/local/lib/libopencv_dnn_superres.so.4.5.5 /usr/local/lib/libopencv_dpm.so.4.5.5 /usr/local/lib/libopencv_face.so.4.5.5 /usr/local/lib/libopencv_freetype.so.4.5.5 /usr/local/lib/libopencv_fuzzy.so.4.5.5 /usr/local/lib/libopencv_hfs.so.4.5.5 /usr/local/lib/libopencv_img_hash.so.4.5.5 /usr/local/lib/libopencv_intensity_transform.so.4.5.5 /usr/local/lib/libopencv_line_descriptor.so.4.5.5 /usr/local/lib/libopencv_mcc.so.4.5.5 /usr/local/lib/libopencv_quality.so.4.5.5 /usr/local/lib/libopencv_rapid.so.4.5.5 /usr/local/lib/libopencv_reg.so.4.5.5 /usr/local/lib/libopencv_rgbd.so.4.5.5 /usr/local/lib/libopencv_saliency.so.4.5.5 /usr/local/lib/libopencv_stereo.so.4.5.5 /usr/local/lib/libopencv_structured_light.so.4.5.5 /usr/local/lib/libopencv_superres.so.4.5.5 /usr/local/lib/libopencv_surface_matching.so.4.5.5 /usr/local/lib/libopencv_tracking.so.4.5.5 /usr/local/lib/libopencv_videostab.so.4.5.5 /usr/local/lib/libopencv_wechat_qrcode.so.4.5.5 /usr/local/lib/libopencv_xfeatures2d.so.4.5.5 /usr/local/lib/libopencv_xobjdetect.so.4.5.5 /usr/local/lib/libopencv_xphoto.so.4.5.5 /usr/local/lib/libopencv_shape.so.4.5.5 /usr/local/lib/libopencv_highgui.so.4.5.5 /usr/local/lib/libopencv_datasets.so.4.5.5 /usr/local/lib/libopencv_plot.so.4.5.5 /usr/local/lib/libopencv_text.so.4.5.5 /usr/local/lib/libopencv_ml.so.4.5.5 /usr/local/lib/libopencv_phase_unwrapping.so.4.5.5 /usr/local/lib/libopencv_cudacodec.so.4.5.5 /usr/local/lib/libopencv_videoio.so.4.5.5 /usr/local/lib/libopencv_cudaoptflow.so.4.5.5 /usr/local/lib/libopencv_cudalegacy.so.4.5.5 /usr/local/lib/libopencv_cudawarping.so.4.5.5 /usr/local/lib/libopencv_optflow.so.4.5.5 /usr/local/lib/libopencv_ximgproc.so.4.5.5 /usr/local/lib/libopencv_video.so.4.5.5 /usr/local/lib/libopencv_imgcodecs.so.4.5.5 /usr/local/lib/libopencv_objdetect.so.4.5.5 /usr/local/lib/libopencv_calib3d.so.4.5.5 /usr/local/lib/libopencv_dnn.so.4.5.5 /usr/local/lib/libopencv_features2d.so.4.5.5 /usr/local/lib/libopencv_flann.so.4.5.5 /usr/local/lib/libopencv_photo.so.4.5.5 /usr/local/lib/libopencv_cudaimgproc.so.4.5.5 /usr/local/lib/libopencv_cudafilters.so.4.5.5 /usr/local/lib/libopencv_imgproc.so.4.5.5 /usr/local/lib/libopencv_cudaarithm.so.4.5.5 /usr/local/lib/libopencv_core.so.4.5.5 /usr/local/lib/libopencv_cudev.so.4.5.5
No preview for this file type
1 CMAKE_PROGRESS_1 = 1
2 CMAKE_PROGRESS_2 = 2
3
1 # CMAKE generated file: DO NOT EDIT!
2 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
3
4 # Default target executed when no arguments are given to make.
5 default_target: all
6
7 .PHONY : default_target
8
9 # Allow only one "make -f Makefile2" at a time, but pass parallelism.
10 .NOTPARALLEL:
11
12
13 #=============================================================================
14 # Special targets provided by cmake.
15
16 # Disable implicit rules so canonical targets will work.
17 .SUFFIXES:
18
19
20 # Remove some rules from gmake that .SUFFIXES does not remove.
21 SUFFIXES =
22
23 .SUFFIXES: .hpux_make_needs_suffix_list
24
25
26 # Suppress display of executed commands.
27 $(VERBOSE).SILENT:
28
29
30 # A target that is always out of date.
31 cmake_force:
32
33 .PHONY : cmake_force
34
35 #=============================================================================
36 # Set environment variables for the build.
37
38 # The shell in which to execute make rules.
39 SHELL = /bin/sh
40
41 # The CMake executable.
42 CMAKE_COMMAND = /usr/bin/cmake
43
44 # The command to remove a file.
45 RM = /usr/bin/cmake -E remove -f
46
47 # Escaping for special characters.
48 EQUALS = =
49
50 # The top-level source directory on which CMake was run.
51 CMAKE_SOURCE_DIR = /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn
52
53 # The top-level build directory on which CMake was run.
54 CMAKE_BINARY_DIR = /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build
55
56 #=============================================================================
57 # Targets provided globally by CMake.
58
59 # Special rule for the target rebuild_cache
60 rebuild_cache:
61 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
62 /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
63 .PHONY : rebuild_cache
64
65 # Special rule for the target rebuild_cache
66 rebuild_cache/fast: rebuild_cache
67
68 .PHONY : rebuild_cache/fast
69
70 # Special rule for the target edit_cache
71 edit_cache:
72 @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
73 /usr/bin/cmake-gui -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
74 .PHONY : edit_cache
75
76 # Special rule for the target edit_cache
77 edit_cache/fast: edit_cache
78
79 .PHONY : edit_cache/fast
80
81 # The main all target
82 all: cmake_check_build_system
83 $(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles/progress.marks
84 $(MAKE) -f CMakeFiles/Makefile2 all
85 $(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/CMakeFiles 0
86 .PHONY : all
87
88 # The main clean target
89 clean:
90 $(MAKE) -f CMakeFiles/Makefile2 clean
91 .PHONY : clean
92
93 # The main clean target
94 clean/fast: clean
95
96 .PHONY : clean/fast
97
98 # Prepare targets for installation.
99 preinstall: all
100 $(MAKE) -f CMakeFiles/Makefile2 preinstall
101 .PHONY : preinstall
102
103 # Prepare targets for installation.
104 preinstall/fast:
105 $(MAKE) -f CMakeFiles/Makefile2 preinstall
106 .PHONY : preinstall/fast
107
108 # clear depends
109 depend:
110 $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
111 .PHONY : depend
112
113 #=============================================================================
114 # Target rules for targets named main
115
116 # Build rule for target.
117 main: cmake_check_build_system
118 $(MAKE) -f CMakeFiles/Makefile2 main
119 .PHONY : main
120
121 # fast build rule for target.
122 main/fast:
123 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/build
124 .PHONY : main/fast
125
126 main.o: main.cpp.o
127
128 .PHONY : main.o
129
130 # target to build an object file
131 main.cpp.o:
132 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cpp.o
133 .PHONY : main.cpp.o
134
135 main.i: main.cpp.i
136
137 .PHONY : main.i
138
139 # target to preprocess a source file
140 main.cpp.i:
141 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cpp.i
142 .PHONY : main.cpp.i
143
144 main.s: main.cpp.s
145
146 .PHONY : main.s
147
148 # target to generate assembly for a file
149 main.cpp.s:
150 $(MAKE) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/main.cpp.s
151 .PHONY : main.cpp.s
152
153 # Help Target
154 help:
155 @echo "The following are some of the valid targets for this Makefile:"
156 @echo "... all (the default if no target is provided)"
157 @echo "... clean"
158 @echo "... depend"
159 @echo "... rebuild_cache"
160 @echo "... main"
161 @echo "... edit_cache"
162 @echo "... main.o"
163 @echo "... main.i"
164 @echo "... main.s"
165 .PHONY : help
166
167
168
169 #=============================================================================
170 # Special targets to cleanup operation of make.
171
172 # Special rule to run CMake to check the build system integrity.
173 # No rule that depends on this can have commands that come from listfiles
174 # because they might be regenerated.
175 cmake_check_build_system:
176 $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
177 .PHONY : cmake_check_build_system
178
1 # Install script for directory: /home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn
2
3 # Set the install prefix
4 if(NOT DEFINED CMAKE_INSTALL_PREFIX)
5 set(CMAKE_INSTALL_PREFIX "/usr/local")
6 endif()
7 string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
8
9 # Set the install configuration name.
10 if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
11 if(BUILD_TYPE)
12 string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
13 CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
14 else()
15 set(CMAKE_INSTALL_CONFIG_NAME "")
16 endif()
17 message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
18 endif()
19
20 # Set the component getting installed.
21 if(NOT CMAKE_INSTALL_COMPONENT)
22 if(COMPONENT)
23 message(STATUS "Install component: \"${COMPONENT}\"")
24 set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
25 else()
26 set(CMAKE_INSTALL_COMPONENT)
27 endif()
28 endif()
29
30 # Install shared libraries without execute permission?
31 if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
32 set(CMAKE_INSTALL_SO_NO_EXE "1")
33 endif()
34
35 # Is this installation the result of a crosscompile?
36 if(NOT DEFINED CMAKE_CROSSCOMPILING)
37 set(CMAKE_CROSSCOMPILING "FALSE")
38 endif()
39
40 if(CMAKE_INSTALL_COMPONENT)
41 set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
42 else()
43 set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
44 endif()
45
46 string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
47 "${CMAKE_INSTALL_MANIFEST_FILES}")
48 file(WRITE "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/build/${CMAKE_INSTALL_MANIFEST}"
49 "${CMAKE_INSTALL_MANIFEST_CONTENT}")
No preview for this file type
1 #include "faceLandmarks.h"
2
3
4 vector<vector<float>> FaceLandmarks::detect_landmarks(std::string image_path){
5
6 Mat input_data_=cv::imread(image_path);
7 float w_r=float(input_data_.cols)/112.0f;
8 float h_r=float(input_data_.rows)/112.0f;
9
10 Mat input_data;
11 cv::resize(input_data_,input_data,Size2d(112,112));
12 input_data.convertTo(input_data, CV_32F);
13 input_data = input_data /256.0f;
14 std::vector<std::vector<cv::Mat>> nChannels;
15 std::vector<cv::Mat> rgbChannels(3);
16 cv::split(input_data, rgbChannels);
17 nChannels.push_back(rgbChannels); // NHWC 转NCHW
18 auto *pvData = malloc(1 * 3 * 112 * 112 *sizeof(float));
19 int nPlaneSize = 112 * 112;
20 for (int c = 0; c < 3; ++c)
21 {
22 cv::Mat matPlane = nChannels[0][c];
23 memcpy((float *)(pvData) + c * nPlaneSize,\
24 matPlane.data, nPlaneSize * sizeof(float));
25 }
26 auto inTensor = net->getSessionInput(session, NULL);
27 net->resizeTensor(inTensor, {1, 3, 112,112});
28 net->resizeSession(session);
29 auto nchwTensor = new Tensor(inTensor, Tensor::CAFFE);
30 ::memcpy(nchwTensor->host<float>(), pvData, nPlaneSize * 3 * sizeof(float));
31 inTensor->copyFromHostTensor(nchwTensor);
32 // //推理
33 net->runSession(session);
34 auto output= net->getSessionOutput(session, NULL);
35
36 MNN::Tensor feat_tensor(output, output->getDimensionType());
37 output->copyToHostTensor(&feat_tensor);
38
39 vector<vector<float>> landmarks;
40 for(int idx =0;idx<106;++idx){
41 float x_= *(feat_tensor.host<float>()+2*idx)*w_r;
42 float y_= *(feat_tensor.host<float>()+2*idx+1)*h_r;
43 vector<float> tmp={x_,y_};
44 landmarks.push_back(tmp);
45 }
46 return landmarks;
47 }
48
49 vector<vector<float>> FaceLandmarks::detect_image_landmarks(Mat image){
50
51 Mat input_data_=image;
52 float w_r=float(input_data_.cols)/112.0f;
53 float h_r=float(input_data_.rows)/112.0f;
54
55 Mat input_data;
56 cv::resize(input_data_,input_data,Size2d(112,112));
57 input_data.convertTo(input_data, CV_32F);
58 input_data = input_data /256.0f;
59 std::vector<std::vector<cv::Mat>> nChannels;
60 std::vector<cv::Mat> rgbChannels(3);
61 cv::split(input_data, rgbChannels);
62 nChannels.push_back(rgbChannels); // NHWC 转NCHW
63 auto *pvData = malloc(1 * 3 * 112 * 112 *sizeof(float));
64 int nPlaneSize = 112 * 112;
65 for (int c = 0; c < 3; ++c)
66 {
67 cv::Mat matPlane = nChannels[0][c];
68 memcpy((float *)(pvData) + c * nPlaneSize,\
69 matPlane.data, nPlaneSize * sizeof(float));
70 }
71 auto inTensor = net->getSessionInput(session, NULL);
72 net->resizeTensor(inTensor, {1, 3, 112,112});
73 net->resizeSession(session);
74 auto nchwTensor = new Tensor(inTensor, Tensor::CAFFE);
75 ::memcpy(nchwTensor->host<float>(), pvData, nPlaneSize * 3 * sizeof(float));
76 inTensor->copyFromHostTensor(nchwTensor);
77 // //推理
78 net->runSession(session);
79 auto output= net->getSessionOutput(session, NULL);
80
81 MNN::Tensor feat_tensor(output, output->getDimensionType());
82 output->copyToHostTensor(&feat_tensor);
83
84 vector<vector<float>> landmarks;
85 for(int idx =0;idx<106;++idx){
86 float x_= *(feat_tensor.host<float>()+2*idx)*w_r;
87 float y_= *(feat_tensor.host<float>()+2*idx+1)*h_r;
88 vector<float> tmp={x_,y_};
89 landmarks.push_back(tmp);
90 }
91 return landmarks;
92 }
...\ No newline at end of file ...\ No newline at end of file
1 #include "facecomparison.h"
2
3
4 bool FaceComparison::face_compare(string image1_path,string image2_path){
5 bool result=false;
6 cv::Mat image1=cv::imread(image1_path);
7 cv::Mat image2=cv::imread(image2_path);
8 if(image1.empty()||image2.empty()){
9 return false;
10 }
11 vector<Bbox> box1=face_det.detect_image(image1);
12 vector<Bbox> box2=face_det.detect_image(image2);
13 if(box1.empty()||box2.empty()){
14 return false;
15 }
16 int max_box1=0;
17 double max_area1=0,max_area2=0;
18 for(int i=0;i<box1.size();++i){
19 double tmp_area1=(box1[i].ymax-box1[i].ymin)*(box1[i].xmax-box1[i].xmin);
20 if(tmp_area1>max_area1){
21 max_box1=i;
22 max_area1=tmp_area1;
23 }
24 }
25 Rect rect1=Rect(box1[max_box1].xmin,box1[max_box1].ymin,box1[max_box1].xmax-box1[max_box1].xmin,box1[max_box1].ymax-box1[max_box1].ymin);
26 Mat face_area1=image1(rect1);
27 vector<vector<float>> landms1=face_landm.detect_landmarks_image(face_area1);
28 vector<vector<float>> land1={
29 {float(landms1[104][0]),float(landms1[104][1])},
30 {float(landms1[105][0]),float(landms1[105][1])},
31 {float(landms1[46][0]),float(landms1[46][1])},
32 {float(landms1[84][0]),float(landms1[84][1])},
33 {float(landms1[90][0]),float(landms1[90][1])}
34 };
35 Mat align_resize_image1=face_rec.preprocess_face(face_area1,land1);
36 for(int j=0;j<box2.size();++j){
37 Rect rect2=Rect(box2[j].xmin,box2[j].ymin,box2[j].xmax-box2[j].xmin,box2[j].ymax-box2[j].ymin);
38 Mat face_area2=image2(rect2);
39 vector<vector<float>> landms2=face_landm.detect_landmarks_image(face_area2);
40 vector<vector<float>> land2={
41 {float(landms2[104][0]),float(landms2[104][1])},
42 {float(landms2[105][0]),float(landms2[105][1])},
43 {float(landms2[46][0]),float(landms2[46][1])},
44 {float(landms2[84][0]),float(landms2[84][1])},
45 {float(landms2[90][0]),float(landms2[90][1])}
46 };
47 Mat align_resize_image2=face_rec.preprocess_face(face_area2,land2);
48 double samilar_score=face_rec.get_samilar_image(align_resize_image1,align_resize_image2);
49 if(samilar_score>face_recongnize_thr){
50 result=true;
51 }
52 }
53 return result;
54 }
55
56 bool FaceComparison::face_compare_image(Mat image1,Mat image2){
57 bool result=false;
58 vector<Bbox> box1=face_det.detect_image(image1);
59 vector<Bbox> box2=face_det.detect_image(image2);
60 if(box1.empty()||box2.empty()){
61 return false;
62 }
63 int max_box1=0;
64 double max_area1=0,max_area2=0;
65 for(int i=0;i<box1.size();++i){
66 double tmp_area1=(box1[i].ymax-box1[i].ymin)*(box1[i].xmax-box1[i].xmin);
67 if(tmp_area1>max_area1){
68 max_box1=i;
69 max_area1=tmp_area1;
70 }
71 }
72 Rect rect1=Rect(box1[max_box1].xmin,box1[max_box1].ymin,box1[max_box1].xmax-box1[max_box1].xmin,box1[max_box1].ymax-box1[max_box1].ymin);
73 Mat face_area1=image1(rect1);
74 vector<vector<float>> landms1=face_landm.detect_landmarks_image(face_area1);
75 vector<vector<float>> land1={
76 {float(landms1[104][0]),float(landms1[104][1])},
77 {float(landms1[105][0]),float(landms1[105][1])},
78 {float(landms1[46][0]),float(landms1[46][1])},
79 {float(landms1[84][0]),float(landms1[84][1])},
80 {float(landms1[90][0]),float(landms1[90][1])}
81 };
82 Mat align_resize_image1=face_rec.preprocess_face(face_area1,land1);
83 for(int j=0;j<box2.size();++j){
84 Rect rect2=Rect(box2[j].xmin,box2[j].ymin,box2[j].xmax-box2[j].xmin,box2[j].ymax-box2[j].ymin);
85 Mat face_area2=image2(rect2);
86 vector<vector<float>> landms2=face_landm.detect_landmarks_image(face_area2);
87 vector<vector<float>> land2={
88 {float(landms2[104][0]),float(landms2[104][1])},
89 {float(landms2[105][0]),float(landms2[105][1])},
90 {float(landms2[46][0]),float(landms2[46][1])},
91 {float(landms2[84][0]),float(landms2[84][1])},
92 {float(landms2[90][0]),float(landms2[90][1])}
93 };
94 Mat align_resize_image2=face_rec.preprocess_face(face_area2,land2);
95 double samilar_score=face_rec.get_samilar_image(align_resize_image1,align_resize_image2);
96 if(samilar_score>face_recongnize_thr){
97 result=true;
98 }
99 }
100 return result;
101 }
...\ No newline at end of file ...\ No newline at end of file
1 #include "facelandmarks.h"
2
3 FaceLandmarks::FaceLandmarks(){
4 model_init=false;
5 }
6 // FaceLandmarks::~FaceLandmarks(){
7 // pfld_interpreter->releaseModel();
8 // pfld_interpreter->releaseSession(session);
9 // }
10
11 bool FaceLandmarks::init_model(string model_path){
12 pfld_interpreter = unique_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(model_path.c_str()));
13 if(nullptr==pfld_interpreter){
14 return false;
15 }
16 //创建session
17 MNN::ScheduleConfig schedule_config;
18 schedule_config.type = MNN_FORWARD_CPU;
19 schedule_config.numThread = num_thread;
20 MNN::BackendConfig backend_config;
21 backend_config.memory = MNN::BackendConfig::Memory_Normal;
22 backend_config.power = MNN::BackendConfig::Power_Normal;
23 backend_config.precision = MNN::BackendConfig::Precision_Normal;
24 schedule_config.backendConfig = &backend_config;
25 session = pfld_interpreter->createSession(schedule_config);
26 input_tensor = pfld_interpreter->getSessionInput(session,NULL);
27 pfld_interpreter->resizeTensor(input_tensor,{1,3,112,112});
28 pfld_interpreter->resizeSession(session);
29
30 //数据预处理
31 MNN::CV::ImageProcess::Config image_config;
32 ::memcpy(image_config.normal,normal,sizeof(normal));
33 image_config.sourceFormat = MNN::CV::BGR;
34 image_config.destFormat = MNN::CV::BGR;
35
36 pretreat = shared_ptr<MNN::CV::ImageProcess>(MNN::CV::ImageProcess::create(image_config));
37 // pretreat->setMatrix(transforms);
38
39 model_init = true;
40 }
41
42 vector<vector<float>> FaceLandmarks::detect_landmarks(string image_path){
43 Mat image = cv::imread(image_path);
44 vector<vector<float>> landmarks;
45 int width = image.cols;
46 int height = image.rows;
47 Mat resize_image;
48 cv::resize(image,resize_image,Size(112,112));
49 float ws = float(width)/float(112.0);
50 float hs = float(height)/float(112.0);
51
52 pretreat->convert(resize_image.data,112,112,0,input_tensor);
53
54 pfld_interpreter->runSession(session);
55
56 auto output_landmark = pfld_interpreter->getSessionOutput(session, NULL);
57 MNN::Tensor landmark_tensor(output_landmark, output_landmark->getDimensionType());
58 output_landmark->copyToHostTensor(&landmark_tensor);
59 float* result = landmark_tensor.host<float>();
60 for (int i = 0; i < 106; ++i) {
61 vector<float> curr_pt={result[2 * i + 0] * ws,result[2 * i + 1] * hs};
62 landmarks.push_back(curr_pt);
63 }
64 return landmarks;
65 }
66
67 vector<vector<float>> FaceLandmarks::detect_landmarks_image(Mat image){
68 vector<vector<float>> landmarks;
69 int width = image.cols;
70 int height = image.rows;
71 Mat resize_image;
72 cv::resize(image,resize_image,Size(112,112));
73 float ws = float(width)/float(112.0);
74 float hs = float(height)/float(112.0);
75
76 pretreat->convert(resize_image.data,112,112,0,input_tensor);
77
78 pfld_interpreter->runSession(session);
79
80 auto output_landmark = pfld_interpreter->getSessionOutput(session, NULL);
81 MNN::Tensor landmark_tensor(output_landmark, output_landmark->getDimensionType());
82 output_landmark->copyToHostTensor(&landmark_tensor);
83 float* result = landmark_tensor.host<float>();
84 for (int i = 0; i < 106; ++i) {
85 vector<float> curr_pt={result[2 * i + 0] * ws,result[2 * i + 1] * hs};
86 landmarks.push_back(curr_pt);
87 }
88 return landmarks;
89 }
...\ No newline at end of file ...\ No newline at end of file
1 #include "facerecognize.h" 1 #include "facerecognize.h"
2 2
3 FaceRecognize::FaceRecognize(){}
4
5 // FaceRecognize::~FaceRecognize(){
6 // net->releaseModel();
7 // net->releaseSession(session1);
8 // net->releaseSession(session2);
9 // }
10
11 bool FaceRecognize::init_model(string model_path){
12 net=shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(model_path.c_str()));
13
14 ScheduleConfig config;
15 config.numThread=num_thread;
16 config.type=MNN_FORWARD_CPU;
17
18 session1 = net->createSession(config);
19 session2 = net->createSession(config);
20
21 input_tensor1 = net->getSessionInput(session1,NULL);
22 input_tensor2 = net->getSessionInput(session2,NULL);
23 net->resizeTensor(input_tensor1,{1,3,input_size[1],input_size[0]});
24 net->resizeSession(session1);
25 net->resizeTensor(input_tensor2,{1,3,input_size[1],input_size[0]});
26 net->resizeSession(session2);
27
28 //数据预处理
29 MNN::CV::ImageProcess::Config image_config;
30 image_config.sourceFormat = MNN::CV::BGR;
31 image_config.destFormat = MNN::CV::BGR;
32 ::memcpy(image_config.mean,mean,sizeof(mean));
33 ::memcpy(image_config.normal,normal,sizeof(normal));
34 pretreat = shared_ptr<MNN::CV::ImageProcess>(MNN::CV::ImageProcess::create(image_config));
35 model_init = true;
36 return model_init;
37 }
38
39
3 cv::Mat FaceRecognize::meanAxis0(const cv::Mat &src) 40 cv::Mat FaceRecognize::meanAxis0(const cv::Mat &src)
4 { 41 {
5 int num = src.rows; 42 int num = src.rows;
...@@ -168,61 +205,52 @@ double FaceRecognize::cos_distance(const vector<double>& base, const vector<doub ...@@ -168,61 +205,52 @@ double FaceRecognize::cos_distance(const vector<double>& base, const vector<doub
168 return simility; 205 return simility;
169 } 206 }
170 207
171 double FaceRecognize::get_samilar(Mat image1,Mat image2){ 208 double FaceRecognize::get_samilar_image(Mat image1,Mat image2){
172 cv::resize(image1,image1,Size2d(input_size[0],input_size[1])); 209 cv::resize(image1,image1,Size2d(input_size[0],input_size[1]));
173 cv::resize(image2,image2,Size2d(input_size[0],input_size[1])); 210 cv::resize(image2,image2,Size2d(input_size[0],input_size[1]));
174 image1.convertTo(image1, CV_32F); 211 pretreat->convert(image1.data,input_size[0],input_size[1],0,input_tensor1);
175 image2.convertTo(image2, CV_32F); 212 pretreat->convert(image2.data,input_size[0],input_size[1],0,input_tensor2);
176 image1 = (image1-mean)*scale; 213 //推理
177 image2 = (image2-mean)*scale;
178
179 std::vector<std::vector<cv::Mat>> nChannels1;
180 std::vector<cv::Mat> rgbChannels1(3);
181 cv::split(image1, rgbChannels1);
182 nChannels1.push_back(rgbChannels1); // NHWC 转NCHW
183 auto *pvData1 = malloc(1 * 3 * input_size[1] * input_size[0] *sizeof(float));
184 int nPlaneSize = input_size[0] * input_size[1];
185 for (int c = 0; c < 3; ++c)
186 {
187 cv::Mat matPlane1 = nChannels1[0][c];
188 memcpy((float *)(pvData1) + c * nPlaneSize,\
189 matPlane1.data, nPlaneSize * sizeof(float));
190 }
191 auto inTensor1 = net->getSessionInput(session1, NULL);
192 net->resizeTensor(inTensor1, {1, 3, input_size[1],input_size[0]});
193 net->resizeSession(session1);
194
195 auto nchwTensor1 = new Tensor(inTensor1, Tensor::CAFFE);
196 ::memcpy(nchwTensor1->host<float>(), pvData1, nPlaneSize * 3 * sizeof(float));
197 inTensor1->copyFromHostTensor(nchwTensor1);
198 // //推理
199 net->runSession(session1); 214 net->runSession(session1);
200 auto output1= net->getSessionOutput(session1, NULL); 215 auto output1= net->getSessionOutput(session1, NULL);
216 //推理
217 net->runSession(session2);
218 auto output2= net->getSessionOutput(session2, NULL);
201 219
202 std::vector<std::vector<cv::Mat>> nChannels2; 220
203 std::vector<cv::Mat> rgbChannels2(3); 221 MNN::Tensor feat_tensor1(output1, output1->getDimensionType());
204 cv::split(image2, rgbChannels2); 222 MNN::Tensor feat_tensor2(output2, output2->getDimensionType());
205 nChannels2.push_back(rgbChannels2); // NHWC 转NCHW 223 output1->copyToHostTensor(&feat_tensor1);
206 auto *pvData2 = malloc(1 * 3 * input_size[1] * input_size[0] *sizeof(float)); 224 output2->copyToHostTensor(&feat_tensor2);
207 for (int c = 0; c < 3; ++c) 225 auto feature1 = feat_tensor1.host<float>();
208 { 226 auto feature2 = feat_tensor2.host<float>();
209 cv::Mat matPlane2 = nChannels2[0][c]; 227
210 memcpy((float *)(pvData2) + c * nPlaneSize,\ 228 vector<double> v1,v2;
211 matPlane2.data, nPlaneSize * sizeof(float)); 229 for(int i=0;i<int(feat_tensor1.size()/4);i++){
230 v1.push_back((double)feature1[i]);
231 v2.push_back((double)feature2[i]);
212 } 232 }
213 auto inTensor2 = net->getSessionInput(session2, NULL); 233 double cos_score=cos_distance(v1,v2);
214 net->resizeTensor(inTensor2, {1, 3, input_size[1],input_size[0]}); 234 return cos_score;
215 net->resizeSession(session2); 235 }
216 auto nchwTensor2 = new Tensor(inTensor2, Tensor::CAFFE); 236
217 ::memcpy(nchwTensor2->host<float>(), pvData2, nPlaneSize * 3 * sizeof(float)); 237 double FaceRecognize::get_samilar(string image_path1,string image_path2){
218 inTensor2->copyFromHostTensor(nchwTensor2); 238 Mat image1 = cv::imread(image_path1);
219 // //推理 239 Mat image2 = cv::imread(image_path2);
240 cv::resize(image1,image1,Size2d(input_size[0],input_size[1]));
241 cv::resize(image2,image2,Size2d(input_size[0],input_size[1]));
242 pretreat->convert(image1.data,input_size[0],input_size[1],0,input_tensor1);
243 pretreat->convert(image2.data,input_size[0],input_size[1],0,input_tensor2);
244 //推理
245 net->runSession(session1);
246 auto output1= net->getSessionOutput(session1, NULL);
247 //推理
220 net->runSession(session2); 248 net->runSession(session2);
221 auto output2= net->getSessionOutput(session2, NULL); 249 auto output2= net->getSessionOutput(session2, NULL);
222 250
223 251
224 MNN::Tensor feat_tensor1(output1, MNN::Tensor::CAFFE); 252 MNN::Tensor feat_tensor1(output1, output1->getDimensionType());
225 MNN::Tensor feat_tensor2(output2, MNN::Tensor::CAFFE); 253 MNN::Tensor feat_tensor2(output2, output2->getDimensionType());
226 output1->copyToHostTensor(&feat_tensor1); 254 output1->copyToHostTensor(&feat_tensor1);
227 output2->copyToHostTensor(&feat_tensor2); 255 output2->copyToHostTensor(&feat_tensor2);
228 auto feature1 = feat_tensor1.host<float>(); 256 auto feature1 = feat_tensor1.host<float>();
...@@ -236,4 +264,3 @@ double FaceRecognize::get_samilar(Mat image1,Mat image2){ ...@@ -236,4 +264,3 @@ double FaceRecognize::get_samilar(Mat image1,Mat image2){
236 double cos_score=cos_distance(v1,v2); 264 double cos_score=cos_distance(v1,v2);
237 return cos_score; 265 return cos_score;
238 } 266 }
239
......
1 #ifndef FACECOMPARISON_H
2 #define FACECOMPARISON_H
3
4
5 #include "facerecognize.h"
6 #include "retinaface.h"
7 #include "facelandmarks.h"
8
9
10 class FaceComparison{
11 public:
12 // 人脸检测阈值
13 float confidence_threshold = 0.2;
14 // 是否进行人脸外廓
15 bool is_bbox_process = true;
16
17 // 人脸比对相似度阈值
18 float face_recongnize_thr = 0.5;
19
20 //线程个数
21 int num_thread = 2;
22 //接口
23 bool face_compare(string image_path1,string image_path2);
24 bool face_compare_image(Mat image1,Mat image2);
25
26 private:
27 RetinaFace face_det;
28 FaceLandmarks face_landm;
29 FaceRecognize face_rec;
30
31 public:
32 FaceComparison(){};
33 FaceComparison(string face_det_model,string face_landm_model,string face_rec_model){
34 face_det = RetinaFace(face_det_model);
35 face_det.confidence_threshold = confidence_threshold;
36 face_det.is_bbox_process = is_bbox_process;
37 face_det.num_thread=num_thread;
38 face_landm =FaceLandmarks(face_landm_model);
39 face_landm.num_thread=num_thread;
40 face_rec =FaceRecognize(face_rec_model);
41 face_rec.num_thread=num_thread;
42 }
43
44
45
46
47 };
48 #endif
...\ No newline at end of file ...\ No newline at end of file
1 #ifndef FACELANDMARKS_H 1 #ifndef FACELANDMARKS_H
2 #define FACELANDMARKS_H 2 #define FACELANDMARKS_H
3
4 #include <opencv2/opencv.hpp> 3 #include <opencv2/opencv.hpp>
5 #include<MNN/Interpreter.hpp> 4 #include<MNN/Interpreter.hpp>
6 #include<MNN/ImageProcess.hpp> 5 #include<MNN/ImageProcess.hpp>
7 #include<iostream> 6 #include<iostream>
7 #include<memory>
8 8
9 using namespace std; 9 using namespace std;
10 using namespace cv; 10 using namespace cv;
11 using namespace MNN; 11 using namespace MNN;
12 12
13 class FaceLandmarks{ 13 class FaceLandmarks{
14 private: 14 public:
15 vector<float> input_size={112,112}; 15 int num_thread = 2;
16 std::shared_ptr<MNN::Interpreter> net;
17 Session *session = nullptr;
18 ScheduleConfig config;
19 16
20 public: 17 public:
21 FaceLandmarks(){}; 18 FaceLandmarks();
19 // ~FaceLandmarks();
22 FaceLandmarks(string model_path){ 20 FaceLandmarks(string model_path){
23 net = std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(model_path.c_str()));//创建解释器 21 init_model(model_path);
24 config.numThread = 8; 22 };
25 config.type = MNN_FORWARD_CPU; 23 bool init_model(string model_path);
26 session = net->createSession(config);//创建session
27 }
28
29 vector<vector<float>> detect_landmarks(string image_path); 24 vector<vector<float>> detect_landmarks(string image_path);
30 vector<vector<float>> detect_image_landmarks(cv::Mat image); 25 vector<vector<float>> detect_landmarks_image(Mat image);
31 26
27 private:
28 bool model_init;
29 float normal[3]={1.0f/256.f,1.0f/256.f,1.0f/256.f};
30 std::shared_ptr<MNN::Interpreter> pfld_interpreter = nullptr;
31 MNN::Session* session = nullptr;
32 MNN::Tensor* input_tensor = nullptr;
33 shared_ptr<MNN::CV::ImageProcess> pretreat;
32 }; 34 };
33
34
35 #endif 35 #endif
......
...@@ -4,29 +4,40 @@ ...@@ -4,29 +4,40 @@
4 #include<MNN/Interpreter.hpp> 4 #include<MNN/Interpreter.hpp>
5 #include<MNN/ImageProcess.hpp> 5 #include<MNN/ImageProcess.hpp>
6 #include<iostream> 6 #include<iostream>
7 #include<memory>
7 8
8 using namespace MNN; 9 using namespace MNN;
9 using namespace std; 10 using namespace std;
10 using namespace cv; 11 using namespace cv;
11 class FaceRecognize{ 12 class FaceRecognize{
13 public:
14 int num_thread = 2;
15 // 推理
16 double get_samilar(string image_path1,string image_path2);
17 double get_samilar_image(Mat image1,Mat image2);
18
19
20
21
12 private: 22 private:
13 vector<float> input_size={112,112}; 23 vector<int> input_size={112,112};
24 bool model_init=false;
14 std::shared_ptr<MNN::Interpreter> net; 25 std::shared_ptr<MNN::Interpreter> net;
15 Session *session1 = nullptr; 26 Session *session1 = nullptr;
16 Session *session2 = nullptr; 27 Session *session2 = nullptr;
17 ScheduleConfig config; 28 MNN::Tensor* input_tensor1=nullptr;
18 Scalar mean=Scalar(127.5f,127.5f,127.5f); 29 MNN::Tensor* input_tensor2=nullptr;
19 float scale = 1.0f/127.5f; 30 shared_ptr<MNN::CV::ImageProcess> pretreat;
31 float mean[3]={127.5f,127.5f,127.5f};
32 float normal[3] = {1.0f/127.5f,1.0f/127.5f,1.0f/127.5f};
20 33
21 public: 34 public:
22 FaceRecognize(){}; 35 FaceRecognize();
36 // ~FaceRecognize();
23 FaceRecognize(string model_path){ 37 FaceRecognize(string model_path){
24 net = std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(model_path.c_str()));//创建解释器 38 init_model(model_path);
25 config.numThread = 8;
26 config.type = MNN_FORWARD_CPU;
27 session1 = net->createSession(config);//创建session
28 session2 = net->createSession(config);//创建session
29 } 39 }
40 bool init_model(string model_path);
30 //预处理 41 //预处理
31 cv::Mat meanAxis0(const cv::Mat &src); 42 cv::Mat meanAxis0(const cv::Mat &src);
32 cv::Mat elementwiseMinus(const cv::Mat &A,const cv::Mat &B); 43 cv::Mat elementwiseMinus(const cv::Mat &A,const cv::Mat &B);
...@@ -36,7 +47,5 @@ class FaceRecognize{ ...@@ -36,7 +47,5 @@ class FaceRecognize{
36 Mat preprocess_face(Mat image,vector<vector<float>> land); 47 Mat preprocess_face(Mat image,vector<vector<float>> land);
37 double getMold(const vector<double>& vec); 48 double getMold(const vector<double>& vec);
38 double cos_distance(const vector<double>& base, const vector<double>& target); 49 double cos_distance(const vector<double>& base, const vector<double>& target);
39 // 推理
40 double get_samilar(Mat image1,Mat image2);
41 }; 50 };
42 #endif 51 #endif
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
4 #include<MNN/Interpreter.hpp> 4 #include<MNN/Interpreter.hpp>
5 #include<MNN/ImageProcess.hpp> 5 #include<MNN/ImageProcess.hpp>
6 #include<iostream> 6 #include<iostream>
7 #include<memory>
7 8
8 using namespace MNN; 9 using namespace MNN;
9 using namespace std; 10 using namespace std;
...@@ -29,24 +30,26 @@ class RetinaFace{ ...@@ -29,24 +30,26 @@ class RetinaFace{
29 public: 30 public:
30 float confidence_threshold = 0.5; 31 float confidence_threshold = 0.5;
31 bool is_bbox_process=true; 32 bool is_bbox_process=true;
33 int num_thread = 2;
32 34
33 private: 35 public:
34 bool use_gpu=true; 36 bool model_init=false;
35 vector<float> input_size={640,640}; 37 vector<int> input_size={640,640};
36 vector<float> variances={0.1,0.2}; 38 vector<float> variances={0.1,0.2};
37 Scalar mean = Scalar(104.0f, 117.0f, 123.0f); 39 float mean[3] = {104.0f, 117.0f, 123.0f};
38 float keep_top_k = 100; 40 float keep_top_k = 100;
39 float nms_threshold = 0.4; 41 float nms_threshold = 0.4;
40 float resize_scale = 1.0; 42 float resize_scale = 1.0;
41 43
42 std::shared_ptr<MNN::Interpreter> net; 44 std::shared_ptr<MNN::Interpreter> net;
43 Session *session = nullptr; 45 Session *session = nullptr;
44 ScheduleConfig config; 46 MNN::Tensor* input_tensor=nullptr;
47 shared_ptr<MNN::CV::ImageProcess> pretreat;
45 vector<vector<float>> anchors; 48 vector<vector<float>> anchors;
46 49
47 private: 50 private:
48 // 生成anchors 51 // 生成anchors
49 vector<vector<float>> priorBox(vector<float> image_size); 52 vector<vector<float>> priorBox(vector<int> image_size);
50 // 解析bounding box landmarks 包含置信度 53 // 解析bounding box landmarks 包含置信度
51 vector<Bbox> decode(float *loc,float *score,float *pre,vector<vector<float>> priors,vector<float> variances); 54 vector<Bbox> decode(float *loc,float *score,float *pre,vector<vector<float>> priors,vector<float> variances);
52 // 解析landmarks 55 // 解析landmarks
...@@ -60,14 +63,12 @@ class RetinaFace{ ...@@ -60,14 +63,12 @@ class RetinaFace{
60 63
61 public: 64 public:
62 65
63 RetinaFace(){}; 66 RetinaFace();
67 // ~RetinaFace();
64 RetinaFace(string model_path){ 68 RetinaFace(string model_path){
65 net = std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(model_path.c_str()));//创建解释器 69 init_model(model_path);
66 config.numThread = 8;
67 config.type = MNN_FORWARD_CPU;
68 session = net->createSession(config);//创建session
69 anchors=priorBox(input_size);
70 } 70 }
71 bool init_model(string model_path);
71 72
72 // 推理 73 // 推理
73 vector<Bbox> detect(string image_path); 74 vector<Bbox> detect(string image_path);
......
No preview for this file type
1 #include "faceLandmarks.h" 1 #include "facecomparison.h"
2 int main(){ 2 int main(){
3 FaceLandmarks face_landmarks1 = FaceLandmarks("/home/situ/qfs/sdk_project/gitlab_demo/face_recognize_mnn/model/det_landmarks_106_v0.0.1.mnn"); 3 // FaceLandmarks face_landmarks1 = FaceLandmarks("/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn2/model/det_landmarks_106_v0.0.1.mnn");
4 vector<string> filenames; 4 // vector<string> filenames;
5 cv::glob("/home/situ/图片/img3", filenames, false); 5 // cv::glob("/home/situ/图片/img3", filenames, false);
6 for(auto path:filenames){ 6 // for(auto path:filenames){
7 7
8 // cout<<path<<endl; 8 // // cout<<path<<endl;
9 Mat img1 =cv::imread(path); 9 // Mat img1 =cv::imread(path);
10 auto landmarks1 = face_landmarks1.detect_landmarks(path); 10 // auto landmarks1 = face_landmarks1.detect_landmarks(path);
11 for(auto landm:landmarks1){ 11 // for(auto landm:landmarks1){
12 cv::circle(img1,Point2d(landm[0],landm[1]),2,Scalar(255,0,0)); 12 // cv::circle(img1,Point2d(landm[0],landm[1]),2,Scalar(255,0,0));
13 } 13 // }
14 cv::imshow("img",img1); 14 // cv::imshow("img",img1);
15 cv::waitKey(0); 15 // cv::waitKey(0);
16 } 16 // }
17 17
18 // Mat image1 = cv::imread("/home/situ/图片/4.jpg"); 18 Mat image1 = cv::imread("/data/face_recognize/pipeline_test/35326a760af111ec9f2300163e772630/310cardImageContent163047910320427.jpg");
19 // Mat image2 = cv::imread("/home/situ/图片/img3/1.jpg"); 19 Mat image2 = cv::imread("/data/face_recognize/pipeline_test/35326a760af111ec9f2300163e772630/310faceImageContent163047910353714.jpg");
20 // string face_det_model = "/home/situ/qfs/sdk_project/face_recognize_mnn/model/mnn/det_face_retina_mnn_1.0.0_v0.1.1.mnn"; 20 string face_det_model = "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/model/det_face_retina_mnn_1.0.0_v0.1.1.mnn";
21 // string face_landm_model = "/home/situ/qfs/sdk_project/face_recognize_mnn/model/mnn/det_landmarks_106_v0.0.1.mnn"; 21 string face_landm_model = "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/model/det_landmarks_106_v0.0.1.mnn";
22 // string face_rec_model = "/home/situ/qfs/mobile_face_recognize/models/cls_face_mnn_1.0.0_v0.1.0.mnn"; 22 // string face_rec_model = "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/model/cls_face_mnn_1.0.0_v0.0.2.mnn";
23 string face_rec_model = "/home/situ/qfs/sdk_project/mnn_projects/face_recognize_mnn/model/cls_face_mnn_1.0.0_v0.1.1.mnn";
23 24
24 // FaceComparison face_rec = FaceComparison(face_det_model,face_landm_model,face_rec_model); 25 FaceComparison face_rec = FaceComparison(face_det_model,face_landm_model,face_rec_model);
25 // bool result = face_rec.face_compare("/home/situ/图片/2.png","/home/situ/图片/2.png"); 26 bool result = face_rec.face_compare_image(image1,image2);
26 // cout<<result<<endl; 27 cout<<result<<endl;
28
29
30 // string model_path = "/home/situ/qfs/sdk_project/mnn_projects/face_retinaface_mnn/det_face_retina_mnn_1.0.0_v0.1.1.mnn";
31 // RetinaFace face_det = RetinaFace(model_path.c_str());
32 // Mat image = cv::imread("/home/situ/图片/2.png");
33
34 // vector<Bbox> result = face_det.detect_image(image);
35 // for(auto res:result){
36 // cv::rectangle(image,cv::Rect(res.xmin,res.ymin,res.xmax-res.xmin,res.ymax-res.ymin),Scalar(0,255,0),2);
37 // }
38 // cv::imshow("image",image);
39 // cv::waitKey(0);
40 return 0;
27 } 41 }
......
No preview for this file type
No preview for this file type
1 #include "retinaface.h" 1 #include "retinaface.h"
2
3 RetinaFace::RetinaFace(){}
4
5 // RetinaFace::~RetinaFace(){
6 // net->releaseModel();
7 // net->releaseSession(session);
8 // }
9
10 bool RetinaFace::init_model(string model_path){
11 net = std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(model_path.c_str()));//创建解释器
12 if(nullptr==net){
13 return false;
14 }
15 ScheduleConfig config;
16 config.numThread = num_thread;
17 config.type = MNN_FORWARD_CPU;
18 session = net->createSession(config);//创建session
19 anchors=priorBox(input_size); //生成建议框
20 input_tensor = net->getSessionInput(session,NULL);
21 net->resizeTensor(input_tensor,{1,3,input_size[1],input_size[0]});
22 net->resizeSession(session);
23
24 //数据预处理
25 MNN::CV::ImageProcess::Config image_config;
26 image_config.sourceFormat = MNN::CV::BGR;
27 image_config.destFormat = MNN::CV::BGR;
28 ::memcpy(image_config.mean,mean,sizeof(mean));
29 pretreat = shared_ptr<MNN::CV::ImageProcess>(CV::ImageProcess::create(image_config));
30
31 model_init = true;
32 }
33
34
2 // 生成anchors 35 // 生成anchors
3 vector<vector<float>> RetinaFace::priorBox(vector<float> image_size){ 36 vector<vector<float>> RetinaFace::priorBox(vector<int> image_size){
4 vector<int> tmp1={16,32}; 37 vector<int> tmp1={16,32};
5 vector<int> tmp2={64,128}; 38 vector<int> tmp2={64,128};
6 vector<int> tmp3={256,512}; 39 vector<int> tmp3={256,512};
...@@ -171,27 +204,8 @@ vector<Bbox> RetinaFace::detect(string image_path){ ...@@ -171,27 +204,8 @@ vector<Bbox> RetinaFace::detect(string image_path){
171 float w_r=float(input_size[0])/float(image.cols); 204 float w_r=float(input_size[0])/float(image.cols);
172 float h_r=float(input_size[1])/float(image.rows); 205 float h_r=float(input_size[1])/float(image.rows);
173 Mat input_data; 206 Mat input_data;
174 cv::resize(image,input_data,Size(input_size[0],input_size[1])); 207 cv::resize(image,input_data,Size(input_size[1],input_size[0]));
175 input_data = input_data-mean; 208 pretreat->convert(input_data.data,input_size[0],input_size[1],0,input_tensor);
176 input_data.convertTo(input_data, CV_32F);
177 std::vector<std::vector<cv::Mat>> nChannels;
178 std::vector<cv::Mat> rgbChannels(3);
179 cv::split(input_data, rgbChannels);
180 nChannels.push_back(rgbChannels); // NHWC 转NCHW
181 auto *pvData = malloc(1 * 3 * input_size[1] * input_size[0] *sizeof(float));
182 int nPlaneSize = input_size[0] * input_size[1];
183 for (int c = 0; c < 3; ++c)
184 {
185 cv::Mat matPlane = nChannels[0][c];
186 memcpy((float *)(pvData) + c * nPlaneSize,\
187 matPlane.data, nPlaneSize * sizeof(float));
188 }
189 auto inTensor = net->getSessionInput(session, NULL);
190 net->resizeTensor(inTensor, {1, 3, input_size[1],input_size[0]});
191 net->resizeSession(session);
192 auto nchwTensor = new Tensor(inTensor, Tensor::CAFFE);
193 ::memcpy(nchwTensor->host<float>(), pvData, nPlaneSize * 3 * sizeof(float));
194 inTensor->copyFromHostTensor(nchwTensor);
195 // //推理 209 // //推理
196 net->runSession(session); 210 net->runSession(session);
197 auto output0= net->getSessionOutput(session, "output0"); 211 auto output0= net->getSessionOutput(session, "output0");
...@@ -222,36 +236,20 @@ vector<Bbox> RetinaFace::detect(string image_path){ ...@@ -222,36 +236,20 @@ vector<Bbox> RetinaFace::detect(string image_path){
222 vector<Bbox> RetinaFace::detect_image(Mat image){ 236 vector<Bbox> RetinaFace::detect_image(Mat image){
223 float w_r=float(input_size[0])/float(image.cols); 237 float w_r=float(input_size[0])/float(image.cols);
224 float h_r=float(input_size[1])/float(image.rows); 238 float h_r=float(input_size[1])/float(image.rows);
239
225 Mat input_data; 240 Mat input_data;
226 cv::resize(image,input_data,Size(input_size[0],input_size[1])); 241 cv::resize(image,input_data,Size(input_size[1],input_size[0]));
227 input_data = input_data-mean; 242 pretreat->convert(input_data.data,input_size[0],input_size[1],0,input_tensor);
228 input_data.convertTo(input_data, CV_32F);
229 std::vector<std::vector<cv::Mat>> nChannels;
230 std::vector<cv::Mat> rgbChannels(3);
231 cv::split(input_data, rgbChannels);
232 nChannels.push_back(rgbChannels); // NHWC 转NCHW
233 auto *pvData = malloc(1 * 3 * input_size[1] * input_size[0] *sizeof(float));
234 int nPlaneSize = input_size[0] * input_size[1];
235 for (int c = 0; c < 3; ++c)
236 {
237 cv::Mat matPlane = nChannels[0][c];
238 memcpy((float *)(pvData) + c * nPlaneSize,\
239 matPlane.data, nPlaneSize * sizeof(float));
240 }
241 auto inTensor = net->getSessionInput(session, NULL);
242 net->resizeTensor(inTensor, {1, 3, input_size[1],input_size[0]});
243 net->resizeSession(session);
244 auto nchwTensor = new Tensor(inTensor, Tensor::CAFFE);
245 ::memcpy(nchwTensor->host<float>(), pvData, nPlaneSize * 3 * sizeof(float));
246 inTensor->copyFromHostTensor(nchwTensor);
247 // //推理 243 // //推理
248 net->runSession(session); 244 net->runSession(session);
249 auto output0= net->getSessionOutput(session, "output0"); 245 auto output0= net->getSessionOutput(session, "output0");
250 auto output1= net->getSessionOutput(session, "output1"); 246 auto output1= net->getSessionOutput(session, "output1");
251 auto output2= net->getSessionOutput(session, "output2"); 247 auto output2= net->getSessionOutput(session, "output2");
252 MNN::Tensor feat_tensor0(output0, MNN::Tensor::CAFFE); 248
253 MNN::Tensor feat_tensor1(output1, MNN::Tensor::CAFFE); 249
254 MNN::Tensor feat_tensor2(output2, MNN::Tensor::CAFFE); 250 MNN::Tensor feat_tensor0(output0, output0->getDimensionType());
251 MNN::Tensor feat_tensor1(output1, output1->getDimensionType());
252 MNN::Tensor feat_tensor2(output2, output2->getDimensionType());
255 output0->copyToHostTensor(&feat_tensor0); 253 output0->copyToHostTensor(&feat_tensor0);
256 output1->copyToHostTensor(&feat_tensor1); 254 output1->copyToHostTensor(&feat_tensor1);
257 output2->copyToHostTensor(&feat_tensor2); 255 output2->copyToHostTensor(&feat_tensor2);
...@@ -261,7 +259,6 @@ vector<Bbox> RetinaFace::detect_image(Mat image){ ...@@ -261,7 +259,6 @@ vector<Bbox> RetinaFace::detect_image(Mat image){
261 259
262 vector<Bbox> result_boxes = decode(loc,score,landm,anchors,variances); 260 vector<Bbox> result_boxes = decode(loc,score,landm,anchors,variances);
263 vector<Bbox> results=select_score(result_boxes,confidence_threshold,w_r,h_r); 261 vector<Bbox> results=select_score(result_boxes,confidence_threshold,w_r,h_r);
264
265 nms_cpu(results,nms_threshold); 262 nms_cpu(results,nms_threshold);
266 if(is_bbox_process){ 263 if(is_bbox_process){
267 vector<Bbox> res_bboxes=bbox_process(results,image.cols,image.rows); 264 vector<Bbox> res_bboxes=bbox_process(results,image.cols,image.rows);
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!