a4562296 by 乔峰昇

the first submit of speak_recognize

0 parents
Showing 49 changed files with 2241 additions and 0 deletions
cmake_minimum_required(VERSION 3.10)
project(main)
set(CMAKE_CXX_STANDARD 11)
find_package(OpenCV REQUIRED)
set(MNN_DIR /home/situ/MNN/MNN1.1/MNN)
include_directories(${MNN_DIR}/include)
include_directories(/home/situ/qfs/sdk_project/speak_det_c/include)
LINK_DIRECTORIES(${MNN_DIR}/build)
link_directories(/home/situ/qfs/sdk_project/speak_det_c/lib)
# add_library(speakrecognize SHARED speak_detector.cpp retinaface.cpp faceLandmarks.cpp speakcls.cpp )
# add_executable(speakrecognize eval.cpp retinaface.cpp faceLandmarks.cpp speakcls.cpp speak_detector.cpp)
add_executable(speakrecognize main.cpp)
target_link_libraries(speakrecognize -lspeakrecognize -lMNN ${OpenCV_LIBS})
set(CMAKE_C_COMPILER "/usr/bin/cc")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "7.5.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
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")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C_PLATFORM_ID "Linux")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-7")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-7")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_C_COMPILER_ENV_VAR "CC")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "8")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
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")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "7.5.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
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")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
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")
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")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-7")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-7")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
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")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_HOST_SYSTEM "Linux-4.15.0-29-generic")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-29-generic")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-4.15.0-29-generic")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "4.15.0-29-generic")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)
No preview for this file type
No preview for this file type
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.10
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/situ/qfs/sdk_project/speak_det_c")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/situ/qfs/sdk_project/speak_det_c/build")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_a6fce/fast"
/usr/bin/make -f CMakeFiles/cmTC_a6fce.dir/build.make CMakeFiles/cmTC_a6fce.dir/build
make[1]: 进入目录“/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp”
Building C object CMakeFiles/cmTC_a6fce.dir/CheckSymbolExists.c.o
/usr/bin/cc -fPIC -o CMakeFiles/cmTC_a6fce.dir/CheckSymbolExists.c.o -c /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_a6fce
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a6fce.dir/link.txt --verbose=1
/usr/bin/cc -fPIC CMakeFiles/cmTC_a6fce.dir/CheckSymbolExists.c.o -o cmTC_a6fce
CMakeFiles/cmTC_a6fce.dir/CheckSymbolExists.c.o:在函数‘main’中:
CheckSymbolExists.c:(.text+0x1b):对‘pthread_create’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_a6fce.dir/build.make:97: recipe for target 'cmTC_a6fce' failed
make[1]: *** [cmTC_a6fce] Error 1
make[1]: 离开目录“/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp”
Makefile:126: recipe for target 'cmTC_a6fce/fast' failed
make: *** [cmTC_a6fce/fast] Error 2
File /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_3d827/fast"
/usr/bin/make -f CMakeFiles/cmTC_3d827.dir/build.make CMakeFiles/cmTC_3d827.dir/build
make[1]: 进入目录“/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp”
Building C object CMakeFiles/cmTC_3d827.dir/CheckFunctionExists.c.o
/usr/bin/cc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_3d827.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.10/Modules/CheckFunctionExists.c
Linking C executable cmTC_3d827
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3d827.dir/link.txt --verbose=1
/usr/bin/cc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_3d827.dir/CheckFunctionExists.c.o -o cmTC_3d827 -lpthreads
/usr/bin/ld: 找不到 -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_3d827.dir/build.make:97: recipe for target 'cmTC_3d827' failed
make[1]: *** [cmTC_3d827] Error 1
make[1]: 离开目录“/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/CMakeTmp”
Makefile:126: recipe for target 'cmTC_3d827/fast' failed
make: *** [cmTC_3d827/fast] Error 2
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.10
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"../CMakeLists.txt"
"CMakeFiles/3.10.2/CMakeCCompiler.cmake"
"CMakeFiles/3.10.2/CMakeCXXCompiler.cmake"
"CMakeFiles/3.10.2/CMakeSystem.cmake"
"CMakeFiles/feature_tests.c"
"CMakeFiles/feature_tests.cxx"
"/usr/local/lib/cmake/opencv4/OpenCVConfig-version.cmake"
"/usr/local/lib/cmake/opencv4/OpenCVConfig.cmake"
"/usr/local/lib/cmake/opencv4/OpenCVModules-release.cmake"
"/usr/local/lib/cmake/opencv4/OpenCVModules.cmake"
"/usr/share/cmake-3.10/Modules/CMakeCCompiler.cmake.in"
"/usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c"
"/usr/share/cmake-3.10/Modules/CMakeCInformation.cmake"
"/usr/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in"
"/usr/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp"
"/usr/share/cmake-3.10/Modules/CMakeCXXInformation.cmake"
"/usr/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake"
"/usr/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake"
"/usr/share/cmake-3.10/Modules/CMakeConfigurableFile.in"
"/usr/share/cmake-3.10/Modules/CMakeDetermineCCompiler.cmake"
"/usr/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake"
"/usr/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake"
"/usr/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake"
"/usr/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake"
"/usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake"
"/usr/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake"
"/usr/share/cmake-3.10/Modules/CMakeGenericSystem.cmake"
"/usr/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake"
"/usr/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake"
"/usr/share/cmake-3.10/Modules/CMakeSystem.cmake.in"
"/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake"
"/usr/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake"
"/usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake"
"/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake"
"/usr/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake"
"/usr/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake"
"/usr/share/cmake-3.10/Modules/CheckFunctionExists.c"
"/usr/share/cmake-3.10/Modules/CheckIncludeFile.c.in"
"/usr/share/cmake-3.10/Modules/CheckIncludeFile.cmake"
"/usr/share/cmake-3.10/Modules/CheckLibraryExists.cmake"
"/usr/share/cmake-3.10/Modules/CheckSymbolExists.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU-C-FeatureTests.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU-C.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX-FeatureTests.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU-CXX.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU-FindBinUtils.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/GNU.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/HP-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/XL-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
"/usr/share/cmake-3.10/Modules/FindCUDA.cmake"
"/usr/share/cmake-3.10/Modules/FindCUDA/select_compute_arch.cmake"
"/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake"
"/usr/share/cmake-3.10/Modules/FindPackageMessage.cmake"
"/usr/share/cmake-3.10/Modules/FindThreads.cmake"
"/usr/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake"
"/usr/share/cmake-3.10/Modules/Platform/Linux-Determine-CXX.cmake"
"/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-C.cmake"
"/usr/share/cmake-3.10/Modules/Platform/Linux-GNU-CXX.cmake"
"/usr/share/cmake-3.10/Modules/Platform/Linux-GNU.cmake"
"/usr/share/cmake-3.10/Modules/Platform/Linux.cmake"
"/usr/share/cmake-3.10/Modules/Platform/UnixPaths.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/3.10.2/CMakeSystem.cmake"
"CMakeFiles/3.10.2/CMakeCCompiler.cmake"
"CMakeFiles/3.10.2/CMakeCXXCompiler.cmake"
"CMakeFiles/3.10.2/CMakeCCompiler.cmake"
"CMakeFiles/3.10.2/CMakeCXXCompiler.cmake"
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/speakrecognize.dir/DependInfo.cmake"
)
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.10
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# The main recursive all target
all:
.PHONY : all
# The main recursive preinstall target
preinstall:
.PHONY : preinstall
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/situ/qfs/sdk_project/speak_det_c
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/situ/qfs/sdk_project/speak_det_c/build
#=============================================================================
# Target rules for target CMakeFiles/speakrecognize.dir
# All Build rule for target.
CMakeFiles/speakrecognize.dir/all:
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/depend
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles --progress-num=1,2 "Built target speakrecognize"
.PHONY : CMakeFiles/speakrecognize.dir/all
# Include target in all.
all: CMakeFiles/speakrecognize.dir/all
.PHONY : all
# Build rule for subdir invocation for target.
CMakeFiles/speakrecognize.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles 2
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/speakrecognize.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles 0
.PHONY : CMakeFiles/speakrecognize.dir/rule
# Convenience name for target.
speakrecognize: CMakeFiles/speakrecognize.dir/rule
.PHONY : speakrecognize
# clean rule for target.
CMakeFiles/speakrecognize.dir/clean:
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/clean
.PHONY : CMakeFiles/speakrecognize.dir/clean
# clean rule for target.
clean: CMakeFiles/speakrecognize.dir/clean
.PHONY : clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/rebuild_cache.dir
/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/speakrecognize.dir
/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/edit_cache.dir
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
No preview for this file type
const char features[] = {"\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304
"1"
#else
"0"
#endif
"c_function_prototypes\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
"1"
#else
"0"
#endif
"c_restrict\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L
"1"
#else
"0"
#endif
"c_static_assert\n"
"C_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
"1"
#else
"0"
#endif
"c_variadic_macros\n"
};
int main(int argc, char** argv) { (void)argv; return features[argc]; }
const char features[] = {"\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_aggregate_default_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alias_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alignas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alignof\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_attributes\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_attribute_deprecated\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_auto_type\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_binary_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_constexpr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_contextual_conversions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_decltype\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_decltype_auto\n"
"CXX_FEATURE:"
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_decltype_incomplete_return_types\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_default_function_template_args\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_defaulted_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_defaulted_move_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_delegating_constructors\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_deleted_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_digit_separators\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_enum_forward_declarations\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_explicit_conversions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_extended_friend_declarations\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_extern_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_final\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_func_identifier\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_generalized_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_generic_lambdas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_inheriting_constructors\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_inline_namespaces\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_lambdas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_lambda_init_captures\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_local_type_template_args\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_long_long_type\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_noexcept\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_nonstatic_member_init\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_nullptr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_override\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_range_for\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_raw_string_literals\n"
"CXX_FEATURE:"
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_reference_qualified_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_relaxed_constexpr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_return_type_deduction\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_right_angle_brackets\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_rvalue_references\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_sizeof_member\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_static_assert\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_strong_enums\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
"1"
#else
"0"
#endif
"cxx_template_template_parameters\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_thread_local\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_trailing_return_types\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_unicode_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_uniform_initialization\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_unrestricted_unions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_user_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_variable_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_variadic_macros\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_variadic_templates\n"
};
int main(int argc, char** argv) { (void)argv; return features[argc]; }
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"/home/situ/qfs/sdk_project/speak_det_c/main.cpp" "/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/speakrecognize.dir/main.cpp.o"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"/home/situ/MNN/MNN1.1/MNN/include"
"../include"
"/usr/local/include/opencv4"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.10
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/situ/qfs/sdk_project/speak_det_c
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/situ/qfs/sdk_project/speak_det_c/build
# Include any dependencies generated for this target.
include CMakeFiles/speakrecognize.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/speakrecognize.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/speakrecognize.dir/flags.make
CMakeFiles/speakrecognize.dir/main.cpp.o: CMakeFiles/speakrecognize.dir/flags.make
CMakeFiles/speakrecognize.dir/main.cpp.o: ../main.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/speakrecognize.dir/main.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/speakrecognize.dir/main.cpp.o -c /home/situ/qfs/sdk_project/speak_det_c/main.cpp
CMakeFiles/speakrecognize.dir/main.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/speakrecognize.dir/main.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/situ/qfs/sdk_project/speak_det_c/main.cpp > CMakeFiles/speakrecognize.dir/main.cpp.i
CMakeFiles/speakrecognize.dir/main.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/speakrecognize.dir/main.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/situ/qfs/sdk_project/speak_det_c/main.cpp -o CMakeFiles/speakrecognize.dir/main.cpp.s
CMakeFiles/speakrecognize.dir/main.cpp.o.requires:
.PHONY : CMakeFiles/speakrecognize.dir/main.cpp.o.requires
CMakeFiles/speakrecognize.dir/main.cpp.o.provides: CMakeFiles/speakrecognize.dir/main.cpp.o.requires
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/main.cpp.o.provides.build
.PHONY : CMakeFiles/speakrecognize.dir/main.cpp.o.provides
CMakeFiles/speakrecognize.dir/main.cpp.o.provides.build: CMakeFiles/speakrecognize.dir/main.cpp.o
# Object files for target speakrecognize
speakrecognize_OBJECTS = \
"CMakeFiles/speakrecognize.dir/main.cpp.o"
# External object files for target speakrecognize
speakrecognize_EXTERNAL_OBJECTS =
speakrecognize: CMakeFiles/speakrecognize.dir/main.cpp.o
speakrecognize: CMakeFiles/speakrecognize.dir/build.make
speakrecognize: /usr/local/lib/libopencv_gapi.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_stitching.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_aruco.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_barcode.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_bgsegm.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_bioinspired.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_ccalib.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudabgsegm.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudafeatures2d.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudaobjdetect.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudastereo.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_dnn_objdetect.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_dnn_superres.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_dpm.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_face.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_freetype.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_fuzzy.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_hfs.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_img_hash.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_intensity_transform.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_line_descriptor.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_mcc.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_quality.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_rapid.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_reg.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_rgbd.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_saliency.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_stereo.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_structured_light.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_superres.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_surface_matching.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_tracking.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_videostab.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_wechat_qrcode.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_xfeatures2d.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_xobjdetect.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_xphoto.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_shape.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_highgui.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_datasets.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_plot.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_text.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_ml.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_phase_unwrapping.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudacodec.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_videoio.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudaoptflow.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudalegacy.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudawarping.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_optflow.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_ximgproc.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_video.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_imgcodecs.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_objdetect.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_calib3d.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_dnn.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_features2d.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_flann.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_photo.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudaimgproc.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudafilters.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_imgproc.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudaarithm.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_core.so.4.5.5
speakrecognize: /usr/local/lib/libopencv_cudev.so.4.5.5
speakrecognize: CMakeFiles/speakrecognize.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable speakrecognize"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/speakrecognize.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/speakrecognize.dir/build: speakrecognize
.PHONY : CMakeFiles/speakrecognize.dir/build
CMakeFiles/speakrecognize.dir/requires: CMakeFiles/speakrecognize.dir/main.cpp.o.requires
.PHONY : CMakeFiles/speakrecognize.dir/requires
CMakeFiles/speakrecognize.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/speakrecognize.dir/cmake_clean.cmake
.PHONY : CMakeFiles/speakrecognize.dir/clean
CMakeFiles/speakrecognize.dir/depend:
cd /home/situ/qfs/sdk_project/speak_det_c/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/situ/qfs/sdk_project/speak_det_c /home/situ/qfs/sdk_project/speak_det_c /home/situ/qfs/sdk_project/speak_det_c/build /home/situ/qfs/sdk_project/speak_det_c/build /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/speakrecognize.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/speakrecognize.dir/depend
file(REMOVE_RECURSE
"CMakeFiles/speakrecognize.dir/main.cpp.o"
"speakrecognize.pdb"
"speakrecognize"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/speakrecognize.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.10
CMakeFiles/speakrecognize.dir/main.cpp.o
../include/faceLandmarks.h
../include/retinaface.h
../include/speak_detector.h
../include/speakcls.h
/home/situ/MNN/MNN1.1/MNN/include/MNN/ErrorCode.hpp
/home/situ/MNN/MNN1.1/MNN/include/MNN/HalideRuntime.h
/home/situ/MNN/MNN1.1/MNN/include/MNN/ImageProcess.hpp
/home/situ/MNN/MNN1.1/MNN/include/MNN/Interpreter.hpp
/home/situ/MNN/MNN1.1/MNN/include/MNN/MNNDefine.h
/home/situ/MNN/MNN1.1/MNN/include/MNN/MNNForwardType.h
/home/situ/MNN/MNN1.1/MNN/include/MNN/Matrix.h
/home/situ/MNN/MNN1.1/MNN/include/MNN/Rect.h
/home/situ/MNN/MNN1.1/MNN/include/MNN/Tensor.hpp
/home/situ/qfs/sdk_project/speak_det_c/main.cpp
/usr/local/include/opencv4/opencv2/./imgproc/segmentation.hpp
/usr/local/include/opencv4/opencv2/calib3d.hpp
/usr/local/include/opencv4/opencv2/core.hpp
/usr/local/include/opencv4/opencv2/core/affine.hpp
/usr/local/include/opencv4/opencv2/core/async.hpp
/usr/local/include/opencv4/opencv2/core/base.hpp
/usr/local/include/opencv4/opencv2/core/bufferpool.hpp
/usr/local/include/opencv4/opencv2/core/check.hpp
/usr/local/include/opencv4/opencv2/core/cuda.hpp
/usr/local/include/opencv4/opencv2/core/cuda.inl.hpp
/usr/local/include/opencv4/opencv2/core/cuda_types.hpp
/usr/local/include/opencv4/opencv2/core/cv_cpu_dispatch.h
/usr/local/include/opencv4/opencv2/core/cv_cpu_helper.h
/usr/local/include/opencv4/opencv2/core/cvdef.h
/usr/local/include/opencv4/opencv2/core/cvstd.hpp
/usr/local/include/opencv4/opencv2/core/cvstd.inl.hpp
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp
/usr/local/include/opencv4/opencv2/core/fast_math.hpp
/usr/local/include/opencv4/opencv2/core/hal/interface.h
/usr/local/include/opencv4/opencv2/core/hal/msa_macros.h
/usr/local/include/opencv4/opencv2/core/mat.hpp
/usr/local/include/opencv4/opencv2/core/mat.inl.hpp
/usr/local/include/opencv4/opencv2/core/matx.hpp
/usr/local/include/opencv4/opencv2/core/neon_utils.hpp
/usr/local/include/opencv4/opencv2/core/operations.hpp
/usr/local/include/opencv4/opencv2/core/optim.hpp
/usr/local/include/opencv4/opencv2/core/ovx.hpp
/usr/local/include/opencv4/opencv2/core/persistence.hpp
/usr/local/include/opencv4/opencv2/core/saturate.hpp
/usr/local/include/opencv4/opencv2/core/traits.hpp
/usr/local/include/opencv4/opencv2/core/types.hpp
/usr/local/include/opencv4/opencv2/core/utility.hpp
/usr/local/include/opencv4/opencv2/core/utils/instrumentation.hpp
/usr/local/include/opencv4/opencv2/core/utils/tls.hpp
/usr/local/include/opencv4/opencv2/core/version.hpp
/usr/local/include/opencv4/opencv2/core/vsx_utils.hpp
/usr/local/include/opencv4/opencv2/dnn.hpp
/usr/local/include/opencv4/opencv2/dnn/dict.hpp
/usr/local/include/opencv4/opencv2/dnn/dnn.hpp
/usr/local/include/opencv4/opencv2/dnn/dnn.inl.hpp
/usr/local/include/opencv4/opencv2/dnn/layer.hpp
/usr/local/include/opencv4/opencv2/dnn/utils/inference_engine.hpp
/usr/local/include/opencv4/opencv2/dnn/version.hpp
/usr/local/include/opencv4/opencv2/features2d.hpp
/usr/local/include/opencv4/opencv2/flann.hpp
/usr/local/include/opencv4/opencv2/flann/all_indices.h
/usr/local/include/opencv4/opencv2/flann/allocator.h
/usr/local/include/opencv4/opencv2/flann/any.h
/usr/local/include/opencv4/opencv2/flann/autotuned_index.h
/usr/local/include/opencv4/opencv2/flann/composite_index.h
/usr/local/include/opencv4/opencv2/flann/config.h
/usr/local/include/opencv4/opencv2/flann/defines.h
/usr/local/include/opencv4/opencv2/flann/dist.h
/usr/local/include/opencv4/opencv2/flann/dynamic_bitset.h
/usr/local/include/opencv4/opencv2/flann/flann_base.hpp
/usr/local/include/opencv4/opencv2/flann/general.h
/usr/local/include/opencv4/opencv2/flann/ground_truth.h
/usr/local/include/opencv4/opencv2/flann/heap.h
/usr/local/include/opencv4/opencv2/flann/hierarchical_clustering_index.h
/usr/local/include/opencv4/opencv2/flann/index_testing.h
/usr/local/include/opencv4/opencv2/flann/kdtree_index.h
/usr/local/include/opencv4/opencv2/flann/kdtree_single_index.h
/usr/local/include/opencv4/opencv2/flann/kmeans_index.h
/usr/local/include/opencv4/opencv2/flann/linear_index.h
/usr/local/include/opencv4/opencv2/flann/logger.h
/usr/local/include/opencv4/opencv2/flann/lsh_index.h
/usr/local/include/opencv4/opencv2/flann/lsh_table.h
/usr/local/include/opencv4/opencv2/flann/matrix.h
/usr/local/include/opencv4/opencv2/flann/miniflann.hpp
/usr/local/include/opencv4/opencv2/flann/nn_index.h
/usr/local/include/opencv4/opencv2/flann/params.h
/usr/local/include/opencv4/opencv2/flann/random.h
/usr/local/include/opencv4/opencv2/flann/result_set.h
/usr/local/include/opencv4/opencv2/flann/sampling.h
/usr/local/include/opencv4/opencv2/flann/saving.h
/usr/local/include/opencv4/opencv2/flann/timer.h
/usr/local/include/opencv4/opencv2/highgui.hpp
/usr/local/include/opencv4/opencv2/imgcodecs.hpp
/usr/local/include/opencv4/opencv2/imgproc.hpp
/usr/local/include/opencv4/opencv2/ml.hpp
/usr/local/include/opencv4/opencv2/ml/ml.inl.hpp
/usr/local/include/opencv4/opencv2/objdetect.hpp
/usr/local/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp
/usr/local/include/opencv4/opencv2/objdetect/face.hpp
/usr/local/include/opencv4/opencv2/opencv.hpp
/usr/local/include/opencv4/opencv2/opencv_modules.hpp
/usr/local/include/opencv4/opencv2/photo.hpp
/usr/local/include/opencv4/opencv2/stitching.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/blenders.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/camera.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/matchers.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/seam_finders.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/util.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/util_inl.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/warpers.hpp
/usr/local/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp
/usr/local/include/opencv4/opencv2/video.hpp
/usr/local/include/opencv4/opencv2/video/background_segm.hpp
/usr/local/include/opencv4/opencv2/video/tracking.hpp
/usr/local/include/opencv4/opencv2/videoio.hpp
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.10
# compile CXX with /usr/bin/c++
CXX_FLAGS = -std=gnu++11
CXX_DEFINES =
CXX_INCLUDES = -I/home/situ/MNN/MNN1.1/MNN/include -I/home/situ/qfs/sdk_project/speak_det_c/include -isystem /usr/local/include/opencv4
/usr/bin/c++ CMakeFiles/speakrecognize.dir/main.cpp.o -o speakrecognize -L/usr/local/cuda-10.1/lib64 -L/home/situ/MNN/MNN1.1/MNN/build -L/home/situ/qfs/sdk_project/speak_det_c/lib -Wl,-rpath,/usr/local/cuda-10.1/lib64:/home/situ/MNN/MNN1.1/MNN/build:/home/situ/qfs/sdk_project/speak_det_c/lib:/usr/local/lib -lspeakrecognize -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
CMAKE_PROGRESS_1 = 1
CMAKE_PROGRESS_2 = 2
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.10
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/situ/qfs/sdk_project/speak_det_c
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/situ/qfs/sdk_project/speak_det_c/build
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
/usr/bin/cmake-gui -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles/progress.marks
$(MAKE) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /home/situ/qfs/sdk_project/speak_det_c/build/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named speakrecognize
# Build rule for target.
speakrecognize: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 speakrecognize
.PHONY : speakrecognize
# fast build rule for target.
speakrecognize/fast:
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/build
.PHONY : speakrecognize/fast
main.o: main.cpp.o
.PHONY : main.o
# target to build an object file
main.cpp.o:
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/main.cpp.o
.PHONY : main.cpp.o
main.i: main.cpp.i
.PHONY : main.i
# target to preprocess a source file
main.cpp.i:
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/main.cpp.i
.PHONY : main.cpp.i
main.s: main.cpp.s
.PHONY : main.s
# target to generate assembly for a file
main.cpp.s:
$(MAKE) -f CMakeFiles/speakrecognize.dir/build.make CMakeFiles/speakrecognize.dir/main.cpp.s
.PHONY : main.cpp.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... rebuild_cache"
@echo "... speakrecognize"
@echo "... edit_cache"
@echo "... main.o"
@echo "... main.i"
@echo "... main.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
# Install script for directory: /home/situ/qfs/sdk_project/speak_det_c
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "/usr/local")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else()
set(CMAKE_INSTALL_CONFIG_NAME "")
endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif()
# Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else()
set(CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_INSTALL_SO_NO_EXE "1")
endif()
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()
if(CMAKE_INSTALL_COMPONENT)
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
else()
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
endif()
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
"${CMAKE_INSTALL_MANIFEST_FILES}")
file(WRITE "/home/situ/qfs/sdk_project/speak_det_c/build/${CMAKE_INSTALL_MANIFEST}"
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
No preview for this file type
This diff is collapsed. Click to expand it.
#include "faceLandmarks.h"
#include <stdio.h>
vector<vector<float>> FaceLandmarks::detect_landmarks(string image_path){
cv::Mat image=cv::imread(image_path);
float w_r=image.cols/input_size[0];
float h_r=image.rows/input_size[1];
cv::Mat blob = cv::dnn::blobFromImage(image,1.0,Size(input_size[0],input_size[1])); // 由图片加载数据 这里还可以进行缩放、归一化等预处理
net.setInput(blob); // 设置模型输入
std::vector<cv::Mat> netOutputImg;
net.forward(netOutputImg,net.getUnconnectedOutLayersNames()); // 推理出结果
cv::Mat predict_landmarks = netOutputImg[0].reshape(1,106);
vector<vector<float>> result_landmarks;
for(int i=0;i<predict_landmarks.rows;++i){
// cout<<predict_landmarks.at<float>(i,0)<<" "<<predict_landmarks.at<float>(i,1)<<endl;
vector<float> tmp_landm={predict_landmarks.at<float>(i,0)*w_r,predict_landmarks.at<float>(i,1)*h_r};
result_landmarks.push_back(tmp_landm);
}
return result_landmarks;
}
vector<vector<float>> FaceLandmarks::detect_image_landmarks(cv::Mat image){
float w_r=image.cols/input_size[0];
float h_r=image.rows/input_size[1];
cv::Mat blob = cv::dnn::blobFromImage(image,1.0,Size(input_size[0],input_size[1])); // 由图片加载数据 这里还可以进行缩放、归一化等预处理
net.setInput(blob); // 设置模型输入
std::vector<cv::Mat> netOutputImg;
net.forward(netOutputImg,net.getUnconnectedOutLayersNames()); // 推理出结果
cv::Mat predict_landmarks = netOutputImg[0].reshape(1,106);
vector<vector<float>> result_landmarks;
for(int i=0;i<predict_landmarks.rows;++i){
// cout<<predict_landmarks.at<float>(i,0)<<" "<<predict_landmarks.at<float>(i,1)<<endl;
vector<float> tmp_landm={predict_landmarks.at<float>(i,0)*w_r,predict_landmarks.at<float>(i,1)*h_r};
result_landmarks.push_back(tmp_landm);
}
return result_landmarks;
}
#ifndef FACELANDMARKS_H
#define FACELANDMARKS_H
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
class FaceLandmarks{
private:
vector<float> input_size={112,112};
cv::dnn::Net net;
public:
FaceLandmarks(){};
FaceLandmarks(string model_path){
net=cv::dnn::readNetFromONNX(model_path);
}
vector<vector<float>> detect_landmarks(string image_path);
vector<vector<float>> detect_image_landmarks(Mat image);
};
#endif
\ No newline at end of file
#ifndef RETINAFACE_H
#define RETINAFACE_H
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
struct Bbox{
float xmin;
float ymin;
float xmax;
float ymax;
float score;
float x1;
float y1;
float x2;
float y2;
float x3;
float y3;
float x4;
float y4;
float x5;
float y5;
};
class RetinaFace{
private:
bool use_gpu=true;
vector<float> input_size={640,640};
vector<float> variances={0.1,0.2};
vector<float> mean_data={104,117,128};
float confidence_threshold = 0.8;
float keep_top_k = 100;
float vis_threshold = 0.2;
float nms_threshold = 0.4;
float resize_scale = 1.0;
bool is_bbox_process=true;
cv::dnn::Net net;
vector<vector<float>> anchors;
private:
// 生成anchors
vector<vector<float>> priorBox(vector<float> image_size);
// 解析bounding box landmarks 包含置信度
vector<Bbox> decode(Mat loc,Mat score,Mat pre,vector<vector<float>> priors,vector<float> variances);
// 解析landmarks
// vector<vector<float>> decode_landm(vector<vector<float>> pre,vector<vector<float>> priors,vector<float> variances);
//NMS
void nms_cpu(std::vector<Bbox> &bboxes, float threshold);
// Mat转vector
vector<vector<float>> mat2vector(Mat mat);
// 根据阈值筛选
vector<Bbox> select_score(vector<Bbox> bboxes,float threshold,float w_r,float h_r);
// vector转Bbox
// vector<Bbox> vec2Bbox(vector<vector<float>> bbox,float w_r,float h_r);
// 数据后处理
vector<Bbox> bbox_process(bool is_bbox_process,vector<Bbox> bboxes,float frame_w,float frame_h);
public:
RetinaFace(){};
RetinaFace(string model_path){
net = cv::dnn::readNetFromONNX(model_path);
if(use_gpu){
net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
}
anchors=priorBox(input_size);
}
// 推理
vector<Bbox> detect(string image_path);
vector<Bbox> detect_image(Mat image);
};
#endif
\ No newline at end of file
#ifndef SPEAKCLS_DETECTOR
#define SPEALCLS_DETECTOR
#include "speakcls.h"
#include "retinaface.h"
#include "faceLandmarks.h"
class SpeakDetector{
private:
RetinaFace face_det;
FaceLandmarks landm_det;
SpeakCls speak_cls;
public:
SpeakDetector(){};
void init_model(string face_det_model,string landm_det_model,string speak_cls_model);
float iou_compute(Bbox b1, Bbox b2);
vector<vector<cv::Mat>> mouth_process(vector<vector<vector<vector<float>>>> batch_landmarks, vector<cv::Mat> batch_images);
void image_reader(string file_path,int segment_num,vector<Mat> &bgr_frames,vector<vector<int>> &indices);
void speak_recognize(string image_path);
};
#endif
\ No newline at end of file
#ifndef SPEAKCLS_H
#define SPEALCLS_H
#include<opencv2/opencv.hpp>
#include<MNN/Interpreter.hpp>
#include<MNN/ImageProcess.hpp>
#include<typeinfo>
using namespace std;
using namespace cv;
using namespace MNN;
class SpeakCls{
private:
std::shared_ptr<MNN::Interpreter> net;
ScheduleConfig config;
public:
SpeakCls(){};
SpeakCls(string model_path){
//"/home/situ/qfs/sdk_project/mnn_demo/cls_speak_v0.2.2.mnn"
net= std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile("/home/situ/qfs/sdk_project/mnn_demo/cls_speak_v0.2.2.mnn"));//创建解释器
config.numThread = 8;
config.type = MNN_FORWARD_CPU;
}
public:
cv::Mat standardize(cv::Mat image);
cv::Mat data_process(vector<Mat> images);
vector<double> softmax(vector<double> input);
bool detect_speak(vector<Mat> images);
};
#endif
\ No newline at end of file
No preview for this file type
#include "speak_detector.h"
int main(){
SpeakDetector speak = SpeakDetector();
speak.init_model("/home/situ/qfs/sdk_project/speak_det_c/model/det_face_retina_torch_1.4_v0.0.2.onnx","/home/situ/qfs/sdk_project/speak_det_c/model/det_landmarks_106_v0.0.1.onnx","/home/situ/qfs/sdk_project/speak_det_c/model/cls_speak_v0.2.2.mnn");
speak.speak_recognize("/data/speak/bank_test/speak/2327QUESTION_ANSWER");
return 0;
}
No preview for this file type
No preview for this file type
No preview for this file type
#include "retinaface.h"
#include<iostream>
// 生成anchors
vector<vector<float>> RetinaFace::priorBox(vector<float> image_size){
vector<int> tmp1={16,32};
vector<int> tmp2={64,128};
vector<int> tmp3={256,512};
vector<vector<int>> min_sizes_;
min_sizes_.push_back(tmp1);
min_sizes_.push_back(tmp2);
min_sizes_.push_back(tmp3);
vector<int> steps={8,16,32};
vector<vector<int>> feature_maps;
vector<vector<float>> anchors;
for(int &step:steps){
vector<int> tmp(2,0);
tmp[0]=ceil(image_size[0]/step);
tmp[1]=ceil(image_size[1]/step);
feature_maps.push_back(tmp);
}
for(int k=0;k<feature_maps.size();k++){
vector<int> min_sizes=min_sizes_[k];
for(int i=0;i<feature_maps[k][0];i++){
for(int j=0;j<feature_maps[k][1];j++){
for(int &min_size:min_sizes){
float s_kx=float(min_size)/float(image_size[1]);
float s_ky=float(min_size)/float(image_size[0]);
float dense_cx=float((float(j)+float(0.5))*steps[k])/float(image_size[1]);
float dense_cy=float((float(i)+float(0.5))*steps[k])/float(image_size[1]);
vector<float> tmp_anchor={dense_cx,dense_cy,s_kx,s_ky};
anchors.push_back(tmp_anchor);
}
}
}
}
return anchors;
}
// 解析bounding box 包含置信度
vector<Bbox> RetinaFace::decode(Mat loc,Mat score,Mat pre,vector<vector<float>> priors,vector<float> variances){
vector<Bbox> boxes;
for(int i=0;i<priors.size();++i){
float b1=priors[i][0]+loc.at<float>(i,0)*variances[0]*priors[i][2];
float b2=priors[i][1]+loc.at<float>(i,1)*variances[0]*priors[i][3];
float b3=priors[i][2]*exp(loc.at<float>(i,2)*variances[1]);
float b4=priors[i][3]*exp(loc.at<float>(i,3)*variances[1]);
b1=b1-b3/float(2);
b2=b2-b4/float(2);
b3=b3+b1;
b4=b4+b2;
float l1=priors[i][0]+pre.at<float>(i,0)*variances[0]*priors[i][2];
float l2=priors[i][1]+pre.at<float>(i,1)*variances[0]*priors[i][3];
float l3=priors[i][0]+pre.at<float>(i,2)*variances[0]*priors[i][2];
float l4=priors[i][1]+pre.at<float>(i,3)*variances[0]*priors[i][3];
float l5=priors[i][0]+pre.at<float>(i,4)*variances[0]*priors[i][2];
float l6=priors[i][1]+pre.at<float>(i,5)*variances[0]*priors[i][3];
float l7=priors[i][0]+pre.at<float>(i,6)*variances[0]*priors[i][2];
float l8=priors[i][1]+pre.at<float>(i,7)*variances[0]*priors[i][3];
float l9=priors[i][0]+pre.at<float>(i,8)*variances[0]*priors[i][2];
float l10=priors[i][1]+pre.at<float>(i,9)*variances[0]*priors[i][3];
Bbox tmp_box={.xmin=b1*input_size[0]/resize_scale,.ymin=b2*input_size[1]/resize_scale,.xmax=b3*input_size[0]/resize_scale,.ymax=b4*input_size[1]/resize_scale,
.score=score.at<float>(i,0),.x1=(l1*input_size[0])/resize_scale,.y1=l2*input_size[1]/resize_scale,.x2=l3*input_size[0]/resize_scale,.y2=l4*input_size[1]/resize_scale,
.x3=l5*input_size[0]/resize_scale,.y3=l6*input_size[1]/resize_scale,.x4=l7*input_size[0]/resize_scale,.y4=l8*input_size[1]/resize_scale,.x5=l9*input_size[0]/resize_scale,.y5=l10*input_size[1]/resize_scale};
boxes.push_back(tmp_box);
}
return boxes;
}
// // 解析landmarks
// vector<vector<float>> RetinaFace::decode_landm(vector<vector<float>> pre,vector<vector<float>> priors,vector<float> variances){
// vector<vector<float>> landms;
// for(int i=0;i<priors.size();i++){
// vector<float> tmp_landm={l1,l2,l3,l4,l5,l6,l7,l8,l9,l10};
// landms.push_back(tmp_landm);
// }
// return landms;
// }
//NMS
void RetinaFace::nms_cpu(std::vector<Bbox> &bboxes, float threshold){
if (bboxes.empty()){
return ;
}
// 1.之前需要按照score排序
std::sort(bboxes.begin(), bboxes.end(), [&](Bbox b1, Bbox b2){return b1.score>b2.score;});
// 2.先求出所有bbox自己的大小
std::vector<float> area(bboxes.size());
for (int i=0; i<bboxes.size(); ++i){
area[i] = (bboxes[i].xmax - bboxes[i].xmin + 1) * (bboxes[i].ymax - bboxes[i].ymin + 1);
}
// 3.循环
for (int i=0; i<bboxes.size(); ++i){
for (int j=i+1; j<bboxes.size(); ){
float left = std::max(bboxes[i].xmin, bboxes[j].xmin);
float right = std::min(bboxes[i].xmax, bboxes[j].xmax);
float top = std::max(bboxes[i].ymin, bboxes[j].ymin);
float bottom = std::min(bboxes[i].ymax, bboxes[j].ymax);
float width = std::max(right - left + 1, 0.f);
float height = std::max(bottom - top + 1, 0.f);
float u_area = height * width;
float iou = (u_area) / (area[i] + area[j] - u_area);
if (iou>=threshold){
bboxes.erase(bboxes.begin()+j);
area.erase(area.begin()+j);
}else{
++j;
}
}
}
}
// 根据阈值筛选
vector<Bbox> RetinaFace::select_score(vector<Bbox> bboxes,float threshold,float w_r,float h_r){
vector<Bbox> results;
for(Bbox &box:bboxes){
if (float(box.score)>=threshold){
box.xmin=box.xmin/w_r;
box.ymin=box.ymin/h_r;
box.xmax=box.xmax/w_r;
box.ymax=box.ymax/h_r;
box.x1=box.x1/w_r;
box.y1=box.y1/h_r;
box.x2=box.x2/w_r;
box.y2=box.y2/h_r;
box.x3=box.x3/w_r;
box.y3=box.y3/h_r;
box.x4=box.x4/w_r;
box.y4=box.y4/h_r;
box.x5=box.x5/w_r;
box.y5=box.y5/h_r;
results.push_back(box);
}
}
return results;
}
// vector转Bbox
// vector<Bbox> RetinaFace::vec2Bbox(vector<vector<float>> bbox,float w_r,float h_r){
// vector<Bbox> result_bboxes;
// for(auto &c:bbox){
// Bbox tmp_box={.xmin=c[0]/w_r,.ymin=c[1]/h_r,.xmax=c[2]/w_r,.ymax=c[3]/h_r};
// result_bboxes.push_back(tmp_box);
// }
// return result_bboxes;
// }
// 数据后处理
vector<Bbox> RetinaFace::bbox_process(bool is_bbox_process,vector<Bbox> bboxes,float frame_w,float frame_h){
vector<Bbox> result_bboxes;
if(is_bbox_process){
for(Bbox &bbox:bboxes){
Bbox new_bbox;
float face_w=bbox.xmax-bbox.xmin;
float face_h=bbox.ymax-bbox.ymin;
new_bbox.xmin=bbox.xmin-face_w*0.15;
new_bbox.xmax=bbox.xmax+face_w*0.15;
new_bbox.ymin=bbox.ymin;
new_bbox.ymax=bbox.ymax+face_h*0.15;
new_bbox.xmin=new_bbox.xmin>0?new_bbox.xmin:0;
new_bbox.ymin=new_bbox.ymin>0?new_bbox.ymin:0;
new_bbox.xmax=new_bbox.xmax>frame_w?frame_w:new_bbox.xmax;
new_bbox.ymax=new_bbox.ymax>frame_h?frame_h:new_bbox.ymax;
new_bbox.score=bbox.score;
// cout<<bbox.x1<<endl;
new_bbox.x1=bbox.x1>0?bbox.x1:0;
new_bbox.y1=bbox.y1>0?bbox.y1:0;
new_bbox.x2=bbox.x2>0?bbox.x2:0;
new_bbox.y2=bbox.y2>0?bbox.y2:0;
new_bbox.x3=bbox.x3>0?bbox.x3:0;
new_bbox.y3=bbox.y3>0?bbox.y3:0;
new_bbox.x4=bbox.x4>0?bbox.x4:0;
new_bbox.y4=bbox.y4>0?bbox.y4:0;
new_bbox.x5=bbox.x5>0?bbox.x5:0;
new_bbox.y5=bbox.y5>0?bbox.y5:0;
result_bboxes.push_back(new_bbox);
}
}else{
for(Bbox &bbox:bboxes){
Bbox new_bbox;
float face_w=bbox.xmax-bbox.xmin;
float face_h=bbox.ymax-bbox.ymin;
new_bbox.xmin=bbox.xmin-face_w;
new_bbox.xmax=bbox.xmax+face_w;
new_bbox.ymin=bbox.ymin;
new_bbox.ymax=bbox.ymax+face_h;
new_bbox.xmin=new_bbox.xmin>0?new_bbox.xmin:0;
new_bbox.ymin=new_bbox.ymin>0?new_bbox.ymin:0;
new_bbox.xmax=new_bbox.xmax>frame_w?frame_w:new_bbox.xmax;
new_bbox.ymax=new_bbox.ymax>frame_h?frame_h:new_bbox.ymax;
new_bbox.score=bbox.score;
new_bbox.x1=bbox.x1>0?bbox.x1:0;
new_bbox.y1=bbox.y1>0?bbox.y1:0;
new_bbox.x2=bbox.x2>0?bbox.x2:0;
new_bbox.y2=bbox.y2>0?bbox.y2:0;
new_bbox.x3=bbox.x3>0?bbox.x3:0;
new_bbox.y3=bbox.y3>0?bbox.y3:0;
new_bbox.x4=bbox.x4>0?bbox.x4:0;
new_bbox.y4=bbox.y4>0?bbox.y4:0;
new_bbox.x5=bbox.x5>0?bbox.x5:0;
new_bbox.y5=bbox.y5>0?bbox.y5:0;
result_bboxes.push_back(new_bbox);
}
}
return result_bboxes;
}
// 推理
// vector<Bbox> RetinaFace::detect_image(Mat image){
vector<Bbox> RetinaFace::detect_image(Mat image){
float w_r=float(640)/float(image.cols);
float h_r=float(640)/float(image.rows);
cv::Mat blob = cv::dnn::blobFromImage(image,resize_scale,Size(input_size[0],input_size[1]),Scalar(mean_data[0],mean_data[1],mean_data[2])); // 由图片加载数据 这里还可以进行缩放、归一化等预处理
net.setInput(blob); // 设置模型输入
std::vector<cv::Mat> netOutputImg;
net.forward(netOutputImg,net.getUnconnectedOutLayersNames()); // 推理出结果
cv::Mat scores = netOutputImg[2].reshape(1,16800);
cv::Mat boxes = netOutputImg[0].reshape(1,16800);
cv::Mat landms = netOutputImg[1].reshape(1,16800);
vector<Bbox> result_boxes=decode(boxes,scores,landms,anchors,variances);
vector<Bbox> results=select_score(result_boxes,confidence_threshold,w_r,h_r);
nms_cpu(results,nms_threshold);
if(is_bbox_process){
vector<Bbox> res_bboxes=bbox_process(true,results,image.cols,image.rows);
return res_bboxes;
}else{
vector<Bbox> res_bboxes=bbox_process(false,results,image.cols,image.rows);
return res_bboxes;
}
}
\ No newline at end of file
#include "speak_detector.h"
void SpeakDetector::init_model(string face_det_model,string landm_det_model,string speak_cls_model){
face_det = RetinaFace(face_det_model);
landm_det = FaceLandmarks(landm_det_model);
speak_cls = SpeakCls(speak_cls_model);
}
float SpeakDetector::iou_compute(Bbox b1, Bbox b2)
{
float tmp_w=min(b1.xmax,b2.xmax) - max(b1.xmin, b2.xmin);
float tmp_h=min(b1.ymax, b2.ymax) - max(b1.ymin, b2.ymin);
float w = max(tmp_w, float(0));
float h = max(tmp_h, float(0));
return w*h / ((b1.xmax-b1.xmin)*(b1.ymax-b1.ymin) + (b2.xmax-b2.xmin)*(b2.ymax-b2.ymin) - w*h);
}
vector<vector<cv::Mat>> SpeakDetector::mouth_process(vector<vector<vector<vector<float>>>> batch_landmarks, vector<cv::Mat> batch_images){
int input_size=112;
vector<vector<cv::Mat>> align_mouths;
for(int i=0;i<batch_images.size();++i){
cv::Mat image = batch_images[i];
vector<cv::Mat> tmp_mouths;
for(int j=0;j<batch_landmarks[i].size();++j){
vector<float> mouth_xs;
vector<float> mouth_ys;
for(int k=84;k<int(104);++k){
float x_q = round(batch_landmarks[i][j][k][0]);
float y_q = round(batch_landmarks[i][j][k][1]);
mouth_xs.push_back(x_q);
mouth_ys.push_back(y_q);
}
float mouth_width=*max_element(mouth_xs.begin(),mouth_xs.end())-*min_element(mouth_xs.begin(),mouth_xs.end());
float mouth_height=*max_element(mouth_ys.begin(),mouth_ys.end())-*min_element(mouth_ys.begin(),mouth_ys.end());
int mouth_min_x=ceil(*min_element(mouth_xs.begin(),mouth_xs.end())-mouth_width*0.2);
int mouth_min_y=ceil(*min_element(mouth_ys.begin(),mouth_ys.end())-mouth_height*0.1);
int mouth_max_x=ceil(*max_element(mouth_xs.begin(),mouth_xs.end())+mouth_width*0.2);
int mouth_max_y=ceil(*max_element(mouth_ys.begin(),mouth_ys.end())+mouth_height*0.1);
mouth_min_x=mouth_min_x>0?mouth_min_x:0;
mouth_min_y=mouth_min_y>0?mouth_min_y:0;
cv::Rect mouth_rect = Rect(mouth_min_x,mouth_min_y,mouth_max_x-mouth_min_x,mouth_max_y-mouth_min_y);
cv::Mat mouth_crop = image(mouth_rect);
cv::Mat resize_mouth_crop;
cv::resize(mouth_crop,resize_mouth_crop,Size(input_size,input_size));
Point center=Point(input_size/2,input_size/2);
float dx = batch_landmarks[i][j][90][0]-batch_landmarks[i][j][84][0];
float dy = batch_landmarks[i][j][90][1]-batch_landmarks[i][j][84][1];
double angle = atan2(dy,dx)*180/float(M_PI);
cv::Mat rotate_matrix = cv::getRotationMatrix2D(center,double(angle),1);
cv::Mat rot_img;
cv::warpAffine(resize_mouth_crop,rot_img,rotate_matrix,Size(input_size,input_size));
tmp_mouths.push_back(rot_img);
}
align_mouths.push_back(tmp_mouths);
}
return align_mouths;
}
//视频/图像数据切片
//图像
void SpeakDetector::image_reader(string file_path,int segment_num,vector<Mat> &bgr_frames,vector<vector<int>> &indices){
int new_length = 1;
vector<String> image_files;
glob(file_path, image_files, false);
int total_frames_num = (int)image_files.size();
float tick = float(total_frames_num - new_length + 1) / float(segment_num);
vector<int> indice;
for(int x=0;x<segment_num;++x){
indice.push_back(int(tick / 2.0 + tick * x));
}
indices.push_back(indice);
for(auto im_file:image_files){
Mat bgr_img=cv::imread(im_file);
bgr_frames.push_back(bgr_img);
}
}
void SpeakDetector::speak_recognize(string image_path){
vector<Mat> all_bgr_images;
vector<vector<int>> total_split_indices;
image_reader(image_path,10,all_bgr_images,total_split_indices);
// vector<json> all_results;
bool is_talk=false;
for(int im_i=0;im_i<total_split_indices.size();++im_i){
vector<vector<cv::Mat>> face_list;
vector<vector<Bbox>> bbox_list;
vector<cv::Mat> rgb_frames;
vector<cv::Mat> bgr_frames;
int tmp_rows,tmp_cols;
for(int im_j=0;im_j<total_split_indices[im_i].size();++im_j){
Mat tmp_img=all_bgr_images[total_split_indices[im_i][im_j]];
if(im_j !=0){
if(tmp_img.rows!=tmp_rows&&tmp_img.cols!=tmp_cols){
cv::resize(tmp_img,tmp_img,Size(int(tmp_img.cols),int(tmp_img.rows)));
}
}
tmp_rows=tmp_img.rows;
tmp_cols=tmp_img.cols;
Mat rgb_tmp_img;
cv::cvtColor(tmp_img,rgb_tmp_img,cv::COLOR_BGR2RGB);
bgr_frames.push_back(tmp_img);
rgb_frames.push_back(rgb_tmp_img);
}
for(auto bgr_frame:bgr_frames){
vector<Bbox> boxes=face_det.detect_image(bgr_frame);
vector<cv::Mat> tmp_face_areas;
vector<Bbox> tmp_bbox_list;
for(auto box:boxes){
tmp_bbox_list.push_back(box);
// cout<<box.xmin<<" "<<box.ymin<<" "<<box.xmax-box.xmin<<" "<<box.ymax-box.ymin<<endl;
Rect m_select = Rect(box.xmin,box.ymin,box.xmax-box.xmin,box.ymax-box.ymin);
cv::Mat face_area=bgr_frame(m_select);
tmp_face_areas.push_back(face_area);
// cv::imshow("123",face_area);
// cv::waitKey(0);
}
face_list.push_back(tmp_face_areas);
bbox_list.push_back(tmp_bbox_list);
}
vector<vector<vector<vector<float>>>> landms_list;
for(int i=0;i<face_list.size();++i){
vector<vector<vector<float>>> tmp_landm_list;
for(int j=0;j<face_list[i].size();++j){
vector<vector<float>> tmp_landms=landm_det.detect_image_landmarks(face_list[i][j]);
for(int k=0;k<tmp_landms.size();++k){
tmp_landms[k][0]=tmp_landms[k][0]+bbox_list[i][j].xmin;
tmp_landms[k][1]=tmp_landms[k][1]+bbox_list[i][j].ymin;
}
tmp_landm_list.push_back(tmp_landms);
}
landms_list.push_back(tmp_landm_list);
}
vector<vector<cv::Mat>> mouth_list=mouth_process(landms_list,rgb_frames);
vector<vector<Bbox>> last_bboxes=bbox_list;
vector<Bbox> first_bboxes = bbox_list[0];
vector<vector<Bbox>>::iterator k = last_bboxes.begin();
last_bboxes.erase(k);
vector<vector<Bbox>> all_track_bbox_list;
vector<vector<cv::Mat>> all_face_list,all_mouth_list;
for(int i=0;i<first_bboxes.size();++i){
Bbox first_bbox=first_bboxes[i];
vector<Bbox> track_bbox_list;
vector<cv::Mat> trace_face_list,trace_mouth_list;
track_bbox_list.push_back(first_bbox);
trace_face_list.push_back(face_list[0][i]);
trace_mouth_list.push_back(mouth_list[0][i]);
for(int j=0;j<last_bboxes.size();++j){
vector<Bbox> next_bboxes=last_bboxes[j];
for(int k=0;k<next_bboxes.size();++k){
Bbox next_bbox = next_bboxes[k];
float iou=iou_compute(first_bbox,next_bbox);
if(iou>=0.4){
track_bbox_list.push_back(next_bbox);
trace_face_list.push_back(face_list[j+1][k]);
trace_mouth_list.push_back(mouth_list[j+1][k]);
break;
}
}
}
all_track_bbox_list.push_back(track_bbox_list);
all_face_list.push_back(trace_face_list);
all_mouth_list.push_back(trace_mouth_list);
}
for(int j=0;j<all_mouth_list.size();j++){
vector<cv::Mat> select_mouth_list=all_mouth_list[j];
/**
* @brief 模型推理部分代码,返回result 0/1 ,其中1为说话,0为未说话
*
*/
bool result=speak_cls.detect_speak(select_mouth_list);
// bool result=true;
if(result){
is_talk=true;
// speak_duration = (split_indices[0], split_indices[-1])
// Mat speaker = all_face_list[j][0];
// speaker_str = cv::imencode('.jpg', speaker)[1].tostring()
// speaker_str = base64.b64encode(speaker_str).decode()
// int position = j
// json cur_output={
// "is_talk":true,
// "speak_duration":[str(speak_duration[0]), str(speak_duration[1])],
// "speaker":speaker_str,
// "position":position
// }
// all_results.push_back(cur_output);
cout<<is_talk<<endl;
}else{
cout<<is_talk<<endl;
}
}
// return 0;
}
}
\ No newline at end of file
#include "speakcls.h"
cv::Mat SpeakCls::standardize(cv::Mat image){
cv::Mat image_f,dst;
image.convertTo(image_f, CV_32F);
Scalar max_pix = Scalar(255.0f,255.0f,255.0f);
Scalar mean = Scalar(0.485f, 0.456f, 0.406f);
Scalar std = Scalar(0.229f, 0.224f, 0.225f);
dst=image_f/max_pix;
dst = (dst-mean)/std;
return dst;
}
cv::Mat SpeakCls::data_process(vector<Mat> images){
std::vector<cv::Mat> all_image_channels;
for(auto f:images){
Mat tmp_image = standardize(f);
std::vector<cv::Mat> tmp_channels;
cv::split(tmp_image,tmp_channels);
all_image_channels.push_back(tmp_channels[0]);
all_image_channels.push_back(tmp_channels[1]);
all_image_channels.push_back(tmp_channels[2]);
}
Mat input_data;
cv::merge(all_image_channels,input_data);
return input_data;
}
vector<double> SpeakCls::softmax(vector<double> input){
double total=0;
for(auto x:input)
{
total+=exp(x);
}
vector<double> result;
for(auto x:input)
{
result.push_back(exp(x)/total);
}
return result;
}
bool SpeakCls::detect_speak(vector<Mat> images){
auto session = net->createSession(config);//创建session
Mat input_data=data_process(images);
// cout << _Tensor->elementSize() << endl;
std::vector<std::vector<cv::Mat>> nChannels;
std::vector<cv::Mat> rgbChannels(30);
cv::split(input_data, rgbChannels);
nChannels.push_back(rgbChannels); // NHWC 转NCHW
auto *pvData = malloc(1 * 30 * 112 * 112 *sizeof(float));
int nPlaneSize = 112 * 112;
for (int c = 0; c < 30; ++c)
{
cv::Mat matPlane = nChannels[0][c];
memcpy((float *)(pvData) + c * nPlaneSize,\
matPlane.data, nPlaneSize * sizeof(float));
}
auto inTensor = net->getSessionInput(session, NULL);
auto nchwTensor = new Tensor(inTensor, Tensor::CAFFE);
::memcpy(nchwTensor->host<float>(), pvData, nPlaneSize * 30 * sizeof(float));
inTensor->copyFromHostTensor(nchwTensor);
//推理
net->runSession(session);
auto output= net->getSessionOutput(session, NULL);
MNN::Tensor feat_tensor(output, output->getDimensionType());
output->copyToHostTensor(&feat_tensor);
auto scores_dataPtr = feat_tensor.host<float>();
// cout<<scores_dataPtr[0]<<" "<<scores_dataPtr[1]<<endl;
vector<double> outputs={scores_dataPtr[0],scores_dataPtr[1]};
// softmax
vector<double> result=softmax(outputs);
printf("output belong to class: %f %f\n", result[0],result[1]);
if(result[0]>result[1]){
return false;
}else{
return true;
}
}
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!