landmark is float

本文提供了在特定误报率(FAR)条件下验证算法的验证率(VR)数据。当FAR设置为0.1%时,VR达到了79.4319%,而在更严格的FAR=0.01%的情况下,VR降低到了57.5395%。这些数据对于评估生物特征识别系统的准确性和可靠性至关重要。

part2 result

Verification:

    @ FAR = 0.1%: VR = 79.4319%.
Verification:
    @ FAR = 0.01%: VR = 57.5395%.
FAILED: cpp/inspireface/CMakeFiles/InspireFace.dir/c_api/inspireface.cc.o D:\android\Android\Sdk\ndk\25.2.9519653\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --sysroot=D:/android/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/windows-x86_64/sysroot -DFEATURE_BLOCK_ENABLE_OPENCV -DINFERENCE_WRAPPER_ENABLE_MNN -DISF_BUILD_SHARED_LIBS -DInspireFace_EXPORTS -DSODIUM_STATIC -ID:/insightface-master/insightface-master/cpp-package/inspireface/3rdparty/InspireCV/3rdparty/Eigen-3.4.0-Headers -ID:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/. -ID:/insightface-master/insightface-master/cpp-package/inspireface/3rdparty/MNN/include -ID:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/libsodium-cmake-master/libsodium/src/libsodium/include -ID:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/libcorrect/include -ID:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/include/inspireface -ID:/insightface-master/insightface-master/cpp-package/inspireface/3rdparty/yaml-cpp/include -ID:/insightface-master/insightface-master/cpp-package/inspireface/3rdparty/inspireface-precompile-lite/sqlite -ID:/insightface-master/insightface-master/cpp-package/inspireface/3rdparty/InspireCV/include -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -g0 -std=c++14 -O3 -O3 -mfpu=neon -O3 -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT cpp/inspireface/CMakeFiles/InspireFace.dir/c_api/inspireface.cc.o -MF cpp\inspireface\CMakeFiles\InspireFace.dir\c_api\inspireface.cc.o.d -o cpp/inspireface/CMakeFiles/InspireFace.dir/c_api/inspireface.cc.o -c D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc clang++: warning: argument unused during compilation: '-mfpu=neon' [-Wunused-command-line-argument] In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc:8: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface_internal.h:9: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./engine/face_session.h:13: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/face_track_module.h:9: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/face_detect/face_detect_adapt.h:10: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./middleware/any_net_adapter.h:15: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./middleware/model_archive/inspire_archive.h:15: D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/landmark/landmark_param.h:13:15: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage] typedef struct { ^ SemanticIndex D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/landmark/landmark_param.h:14:31: note: type is not C-compatible due to this default member initializer int32_t left_eye_center = 67; ^~ D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/landmark/landmark_param.h:23:3: note: type is given name 'SemanticIndex' for linkage purposes by this typedef declaration } SemanticIndex; ^ In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc:8: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface_internal.h:9: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./engine/face_session.h:13: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/face_track_module.h:16: D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/tracker_optional/bytetrack/BYTETracker.h:33:141: warning: implicit conversion from 'long' to 'float' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion] double lapjv(const vector<vector<float> > &cost, vector<int> &rowsol, vector<int> &colsol, bool extend_cost = false, float cost_limit = LONG_MAX, ~ ^~~~~~~~ D:/android/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/14.0.7/include/limits.h:47:19: note: expanded from macro 'LONG_MAX' #define LONG_MAX __LONG_MAX__ ^~~~~~~~~~~~ <built-in>:84:22: note: expanded from here #define __LONG_MAX__ 9223372036854775807L ^~~~~~~~~~~~~~~~~~~~ D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc:117:20: error: use of undeclared identifier 'token' result->size = token.size(); ^ D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc:118:37: error: use of undeclared identifier 'token' result->data = (uint8_t*)malloc(token.size()); ^ D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc:119:26: error: use of undeclared identifier 'token' memcpy(result->data, token.data(), token.size()); ^ D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc:119:40: error: use of undeclared identifier 'token' memcpy(result->data, token.data(), token.size()); ^ 2 warnings and 4 errors generated. [545/568] Building CXX object cpp/inspireface/CMakeFiles/InspireFace.dir/track_module/face_track_module.cpp.o clang++: warning: argument unused during compilation: '-mfpu=neon' [-Wunused-command-line-argument] In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/track_module/face_track_module.cpp:6: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/track_module/face_track_module.h:9: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/track_module/face_detect/face_detect_adapt.h:10: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./middleware/any_net_adapter.h:15: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./middleware/model_archive/inspire_archive.h:15: D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/landmark/landmark_param.h:13:15: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage] typedef struct { ^ SemanticIndex D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/landmark/landmark_param.h:14:31: note: type is not C-compatible due to this default member initializer int32_t left_eye_center = 67; ^~ D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/./track_module/landmark/landmark_param.h:23:3: note: type is given name 'SemanticIndex' for linkage purposes by this typedef declaration } SemanticIndex; ^ In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/track_module/face_track_module.cpp:6: In file included from D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/track_module/face_track_module.h:16: D:/insightface-master/insightface-master/cpp-package/inspireface/cpp/inspireface/track_module/tracker_optional/bytetrack/BYTETracker.h:33:141: warning: implicit conversion from 'long' to 'float' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion] double lapjv(const vector<vector<float> > &cost, vector<int> &rowsol, vector<int> &colsol, bool extend_cost = false, float cost_limit = LONG_MAX, ~ ^~~~~~~~ D:/android/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/14.0.7/include/limits.h:47:19: note: expanded from macro 'LONG_MAX' #define LONG_MAX __LONG_MAX__ ^~~~~~~~~~~~ <built-in>:84:22: note: expanded from here #define __LONG_MAX__ 9223372036854775807L ^~~~~~~~~~~~~~~~~~~~ 2 warnings generated. [546/568] Building CXX object cpp/inspireface/CMakeFiles/I...track_module/tracker_optional/bytetrack/kalmanFilter.cpp.o clang++: warning: argument unused during compilation: '-mfpu=neon' [-Wunused-command-line-argument] [547/568] Building C object cpp/inspireface/CMakeFiles/Ins...__/3rdparty/inspireface-precompile-lite/sqlite/sqlite3.c.o ninja: build stopped: subcommand failed. Build-AndroidArch : Ninja 编译失败! 所在位置 D:\insightface-master\insightface-master\cpp-package\inspireface\command\build_android.ps1:247 字符: 1 + Build-AndroidArch "arm64-v8a" 21 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Build-AndroidArch
08-09
<think>我们正在处理一个编译错误问题,用户在使用Ninja编译insightface项目时遇到了"clang++ error: use of undeclared identifier"的错误。具体错误信息未给出,但根据错误描述,这通常是由于在代码中使用了未声明的变量或函数导致的。 根据用户提供的引用信息,虽然引用内容与当前问题不直接相关(引用1是关于OHOS编译错误,引用2是Ubuntu编译Android源码的问题),但我们可以借鉴编译错误排查的一般思路。 解决此类问题的步骤通常包括: 1. 确认错误发生的具体位置(文件、行号)。 2. 检查该标识符(变量、函数、类等)是否正确定义(包括头文件包含、命名空间、作用域等)。 3. 检查相关依赖是否已正确配置。 由于用户没有提供具体的错误信息,我们只能给出一般性建议。但根据错误信息“use of undeclared identifier token”,我们可以推测代码中使用了名为`token`的标识符,但编译器无法找到其声明。 可能的解决方案: 1. 检查拼写错误:确认标识符名称拼写正确(包括大小写)。 2. 检查头文件:如果该标识符是在头文件中声明的,确保包含了相应的头文件。 3. 检查作用域:确认该标识符在使用的上下文中是可见的(例如,是否在正确的命名空间内,或者是否在类中正确声明)。 4. 检查依赖:如果该标识符来自外部库,确保该库已正确安装并链接。 此外,用户提到是在Android平台上使用Ninja编译,因此还需要考虑Android NDK的配置。确保NDK版本与项目要求匹配,并且编译目标平台设置正确。 由于用户的问题具体发生在insightface项目中,建议查看项目文档或Issues中是否有类似问题的解决方案。也可以尝试重新配置环境,确保所有依赖项都已正确安装。 如果上述方法无法解决问题,请提供具体的错误输出(包括文件名和行号),以便进一步排查。 §§相关问题§§ 1. 如何获取详细的编译错误信息以帮助诊断问题? 2. 在Android NDK开发中,如何正确配置外部依赖? 3. 如何检查C++代码中的标识符作用域问题? 4. 在Ninja编译系统中,如何清理构建并重新编译?</think>### Insightface Android Ninja编译失败问题分析 您遇到的编译错误`clang++ error: use of undeclared identifier token`表明编译器在代码中遇到了未声明的标识符"token"。这种错误通常由以下原因引起: #### 错误原因分析 1. **头文件缺失**:包含"token"声明的头文件未被正确包含 2. **作用域问题**:标识符在错误的作用域中使用(如未声明或超出作用域) 3. **拼写错误**:变量名/函数名拼写错误(区分大小写) 4. **依赖问题**:必要的库或依赖未正确链接 5. **编译器配置**:NDK版本不兼容或编译标志设置错误 #### 解决方案步骤 1. **定位错误位置** ```bash # 在编译命令中添加详细输出 ninja -v > build_log.txt 2>&1 ``` 在日志文件中搜索`undeclared identifier token`,确定出错的文件和行号 2. **检查头文件包含** - 确认声明"token"的头文件已包含 - 检查头文件搜索路径: ```bash # 查看当前编译器的包含路径 ${NDK_PATH}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -E -x c++ - -v < /dev/null ``` 3. **验证NDK配置** ```gradle // 在build.gradle中检查NDK版本 android { ndkVersion "25.1.8937393" // 确保使用兼容版本 externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" cppFlags "-std=c++17" } } } ``` 4. **清理重建** ```bash # 彻底清理构建缓存 rm -rf build/ ./gradlew clean ndk-build clean ``` 5. **检查依赖项** ```cmake # 在CMakeLists.txt中确认依赖项 find_package(OpenCV REQUIRED) target_link_libraries(your_lib PRIVATE opencv_core opencv_imgproc ${log-lib}) ``` #### 常见修复方法 - **添加缺失的#include**: ```cpp // 在报错文件顶部添加 #include <token_header.h> // 替换为实际声明token的头文件 ``` - **作用域修正**: ```cpp // 如果token在命名空间中 using namespace token_namespace; // 或 token_namespace::token = ...; ``` - **拼写检查**:确认`token`拼写是否与声明一致(大小写敏感) 如果问题仍未解决,请提供: 1. 完整的错误日志片段 2. 涉及的文件名和行号 3. 使用的NDK版本(`ndk-build --version`) 4. CMakeLists.txt的相关配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值