From 21fcc5b6ce2f0e5e106d34d8b047dd7a9087564b Mon Sep 17 00:00:00 2001 From: JingyuYan Date: Thu, 27 Jun 2024 11:20:04 +0800 Subject: [PATCH] Update InspireFace to 1.1.1 --- cpp-package/inspireface/CMakeLists.txt | 2 +- cpp-package/inspireface/README.md | 8 +- .../cpp/inspireface/c_api/inspireface.cc | 21 ++++ .../cpp/inspireface/c_api/inspireface.h | 13 +++ .../inspireface/cpp/inspireface/information.h | 2 +- .../inspireface/cpp/inspireface/version.txt | 2 +- .../inspireface/doc/Error-Feedback-Codes.md | 99 ++++++++++--------- cpp-package/inspireface/tools/error_table.md | 71 ++++++------- 8 files changed, 128 insertions(+), 90 deletions(-) diff --git a/cpp-package/inspireface/CMakeLists.txt b/cpp-package/inspireface/CMakeLists.txt index 9fcf024..4cec7f8 100644 --- a/cpp-package/inspireface/CMakeLists.txt +++ b/cpp-package/inspireface/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") # Current version set(INSPIRE_FACE_VERSION_MAJOR 1) set(INSPIRE_FACE_VERSION_MINOR 1) -set(INSPIRE_FACE_VERSION_PATCH 0) +set(INSPIRE_FACE_VERSION_PATCH 1) # Converts the version number to a string string(CONCAT INSPIRE_FACE_VERSION_MAJOR_STR ${INSPIRE_FACE_VERSION_MAJOR}) diff --git a/cpp-package/inspireface/README.md b/cpp-package/inspireface/README.md index 1ae9a9b..caf01f7 100644 --- a/cpp-package/inspireface/README.md +++ b/cpp-package/inspireface/README.md @@ -8,7 +8,9 @@ If you require further information on tracking development branches, CI/CD proce Please contact [contact@insightface.ai](mailto:contact@insightface.ai?subject=InspireFace) for commercial support, including obtaining and integrating higher accuracy models, as well as custom development. -## Top News +## ChangeLogs + +**`2024-06-27`** Verified iOS usability and fixed some bugs. **`2024-06-18`** Added face detection feature with tracking-by-detection mode. @@ -71,7 +73,7 @@ The '3rdparty' directory already includes the MNN library and specifies a partic - Adjust and select versions currently supported for specific requirements. ## 2. Compilation -CMake option are used to control the various details of the compilation phase. Please select according to your actual requirements. [Parameter table](doc/CMake-Option.md). +CMake option are used to control the various details of the compilation phase. Please select according to your actual requirements. [CMake Option](doc/CMake-Option.md). ### 2.1. Local Compilation Make sure OpenCV is installed, you can begin the compilation process. If you are using macOS or Linux, you can quickly compile using the shell scripts provided in the `command` folder at the project root: @@ -114,7 +116,7 @@ We have completed the adaptation and testing of the software across various oper | 5 | | x86/x86_64 | CUDA | ![build](https://img.shields.io/badge/OFFLINE-PASSING-green?style=for-the-badge) | ![test](https://img.shields.io/badge/OFFLINE-PASSING-blue?style=for-the-badge) | | 6 | **macOS** | Intel x86 | - | ![build](https://img.shields.io/badge/OFFLINE-PASSING-green?style=for-the-badge) | ![test](https://img.shields.io/badge/OFFLINE-PASSING-blue?style=for-the-badge) | | 7 | | Apple Silicon | - | ![build](https://img.shields.io/badge/OFFLINE-PASSING-green?style=for-the-badge) | ![test](https://img.shields.io/badge/OFFLINE-PASSING-blue?style=for-the-badge) | -| 8 | **iOS** | ARM | - | [![build](https://img.shields.io/github/actions/workflow/status/HyperInspire/InspireFace/release-sdks.yaml?&style=for-the-badge&label=build)](https://github.com/HyperInspire/InspireFace/actions/workflows/release-sdks.yaml) | | +| 8 | **iOS** | ARM | - | [![build](https://img.shields.io/github/actions/workflow/status/HyperInspire/InspireFace/release-sdks.yaml?&style=for-the-badge&label=build)](https://github.com/HyperInspire/InspireFace/actions/workflows/release-sdks.yaml) | ![test](https://img.shields.io/badge/OFFLINE-PASSING-blue?style=for-the-badge) | | 9 | **Android** | ARMv7 | - | [![build](https://img.shields.io/github/actions/workflow/status/HyperInspire/InspireFace/release-sdks.yaml?&style=for-the-badge&label=build)](https://github.com/HyperInspire/InspireFace/actions/workflows/release-sdks.yaml) | | | 10 | | ARMv8 | - | [![build](https://img.shields.io/github/actions/workflow/status/HyperInspire/InspireFace/release-sdks.yaml?&style=for-the-badge&label=build)](https://github.com/HyperInspire/InspireFace/actions/workflows/release-sdks.yaml) | | diff --git a/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc b/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc index 2293e27..0ab941e 100644 --- a/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc +++ b/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.cc @@ -66,6 +66,27 @@ void HFDeBugImageStreamImShow(HFImageStream streamHandle) { #endif } +HResult HFDeBugImageStreamDecodeSave(HFImageStream streamHandle, HPath savePath) { + if (streamHandle == nullptr) { + INSPIRE_LOGE("Handle error"); + return HERR_INVALID_IMAGE_STREAM_HANDLE; + } + HF_CameraStream *stream = (HF_CameraStream* ) streamHandle; + if (stream == nullptr) { + INSPIRE_LOGE("Image error"); + return HERR_INVALID_IMAGE_STREAM_HANDLE; + } + auto image = stream->impl.GetScaledImage(1.0f, true); + auto ret = cv::imwrite(savePath, image); + if (ret) { + INSPIRE_LOGE("Image saved successfully to %s", savePath); + return HSUCCEED; + } else { + INSPIRE_LOGE("Failed to save image to %s", savePath); + return -1; + } +} + HResult HFReleaseInspireFaceSession(HFSession handle) { if (handle == nullptr) { diff --git a/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.h b/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.h index 3447fec..681b98a 100644 --- a/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.h +++ b/cpp-package/inspireface/cpp/inspireface/c_api/inspireface.h @@ -676,6 +676,19 @@ HYPER_CAPI_EXPORT extern HResult HFLogDisable(); */ HYPER_CAPI_EXPORT extern void HFDeBugImageStreamImShow(HFImageStream streamHandle); +/** + * @brief Decode the image from ImageStream and store it to a disk path. + * + * It is used to verify whether there is a problem with image codec, and can quickly perform bug analysis. + * + * @param streamHandle Handle to the data buffer representing the camera stream component. + * @param savePath The path to which the image is written. + * @return HResult indicating the success or failure of the operation. + */ +HYPER_CAPI_EXPORT extern HResult HFDeBugImageStreamDecodeSave(HFImageStream streamHandle, HPath savePath); + + + #ifdef __cplusplus } diff --git a/cpp-package/inspireface/cpp/inspireface/information.h b/cpp-package/inspireface/cpp/inspireface/information.h index a5b4929..db88c8f 100644 --- a/cpp-package/inspireface/cpp/inspireface/information.h +++ b/cpp-package/inspireface/cpp/inspireface/information.h @@ -7,6 +7,6 @@ #define INSPIRE_FACE_VERSION_MAJOR_STR "1" #define INSPIRE_FACE_VERSION_MINOR_STR "1" -#define INSPIRE_FACE_VERSION_PATCH_STR "0" +#define INSPIRE_FACE_VERSION_PATCH_STR "1" #endif //HYPERFACEREPO_INFORMATION_H diff --git a/cpp-package/inspireface/cpp/inspireface/version.txt b/cpp-package/inspireface/cpp/inspireface/version.txt index c79c3aa..dfbd38b 100644 --- a/cpp-package/inspireface/cpp/inspireface/version.txt +++ b/cpp-package/inspireface/cpp/inspireface/version.txt @@ -1 +1 @@ -InspireFace Version: 1.1.0 +InspireFace Version: 1.1.1 diff --git a/cpp-package/inspireface/doc/Error-Feedback-Codes.md b/cpp-package/inspireface/doc/Error-Feedback-Codes.md index 3ba7f3a..adc2165 100644 --- a/cpp-package/inspireface/doc/Error-Feedback-Codes.md +++ b/cpp-package/inspireface/doc/Error-Feedback-Codes.md @@ -2,52 +2,53 @@ During the use of InspireFace, some error feedback codes may be generated. Here is a table of error feedback codes. -| **Index** | **Name** | **Code** | **Description** | -| --- | --- | --- | --- | -| 1 | HSUCCEED | 0 | Success | -| 2 | HERR_BASIC_BASE | 1 | Basic error types | -| 3 | HERR_UNKNOWN | 1 | Unknown error | -| 4 | HERR_INVALID_PARAM | 2 | Invalid parameter | -| 5 | HERR_INVALID_IMAGE_STREAM_HANDLE | 25 | Invalid image stream handle | -| 6 | HERR_INVALID_CONTEXT_HANDLE | 26 | Invalid context handle | -| 7 | HERR_INVALID_FACE_TOKEN | 31 | Invalid face token | -| 8 | HERR_INVALID_FACE_FEATURE | 32 | Invalid face feature | -| 9 | HERR_INVALID_FACE_LIST | 33 | Invalid face feature list | -| 10 | HERR_INVALID_BUFFER_SIZE | 34 | Invalid copy token | -| 11 | HERR_INVALID_IMAGE_STREAM_PARAM | 35 | Invalid image param | -| 12 | HERR_INVALID_SERIALIZATION_FAILED | 36 | Invalid face serialization failed | -| 13 | HERR_SESS_BASE | 1280 | Session error types | -| 14 | HERR_SESS_FUNCTION_UNUSABLE | 1282 | Function not usable | -| 15 | HERR_SESS_TRACKER_FAILURE | 1283 | Tracker module not initialized | -| 16 | HERR_SESS_INVALID_RESOURCE | 1290 | Invalid static resource | -| 17 | HERR_SESS_NUM_OF_MODELS_NOT_MATCH | 1291 | Number of models does not match | -| 18 | HERR_SESS_PIPELINE_FAILURE | 1288 | Pipeline module not initialized | -| 19 | HERR_SESS_REC_EXTRACT_FAILURE | 1295 | Face feature extraction not registered | -| 20 | HERR_SESS_REC_DEL_FAILURE | 1296 | Face feature deletion failed due to out of range index | -| 21 | HERR_SESS_REC_UPDATE_FAILURE | 1297 | Face feature update failed due to out of range index | -| 22 | HERR_SESS_REC_ADD_FEAT_EMPTY | 1298 | Feature vector for registration cannot be empty | -| 23 | HERR_SESS_REC_FEAT_SIZE_ERR | 1299 | Incorrect length of feature vector for registration | -| 24 | HERR_SESS_REC_INVALID_INDEX | 1300 | Invalid index number | -| 25 | HERR_SESS_REC_CONTRAST_FEAT_ERR | 1303 | Incorrect length of feature vector for comparison | -| 26 | HERR_SESS_REC_BLOCK_FULL | 1304 | Feature vector block full | -| 27 | HERR_SESS_REC_BLOCK_DEL_FAILURE | 1305 | Deletion failed | -| 28 | HERR_SESS_REC_BLOCK_UPDATE_FAILURE | 1306 | Update failed | -| 29 | HERR_SESS_REC_ID_ALREADY_EXIST | 1307 | ID already exists | -| 30 | HERR_SESS_FACE_DATA_ERROR | 1310 | Face data parsing | -| 31 | HERR_SESS_FACE_REC_OPTION_ERROR | 1320 | An optional parameter is incorrect | -| 32 | HERR_FT_HUB_DISABLE | 1329 | FeatureHub is disabled | -| 33 | HERR_FT_HUB_OPEN_ERROR | 1330 | Database open error | -| 34 | HERR_FT_HUB_NOT_OPENED | 1331 | Database not opened | -| 35 | HERR_FT_HUB_NO_RECORD_FOUND | 1332 | No record found | -| 36 | HERR_FT_HUB_CHECK_TABLE_ERROR | 1333 | Data table check error | -| 37 | HERR_FT_HUB_INSERT_FAILURE | 1334 | Data insertion error | -| 38 | HERR_FT_HUB_PREPARING_FAILURE | 1335 | Data preparation error | -| 39 | HERR_FT_HUB_EXECUTING_FAILURE | 1336 | SQL execution error | -| 40 | HERR_FT_HUB_NOT_VALID_FOLDER_PATH | 1337 | Invalid folder path | -| 41 | HERR_FT_HUB_ENABLE_REPETITION | 1338 | Enable db function repeatedly | -| 42 | HERR_FT_HUB_DISABLE_REPETITION | 1339 | Disable db function repeatedly | -| 43 | HERR_ARCHIVE_LOAD_FAILURE | 1360 | Archive load failure | -| 44 | HERR_ARCHIVE_LOAD_MODEL_FAILURE | 1361 | Model load failure | -| 45 | HERR_ARCHIVE_FILE_FORMAT_ERROR | 1362 | The archive format is incorrect | -| 46 | HERR_ARCHIVE_REPETITION_LOAD | 1363 | Do not reload the model | -| 47 | HERR_ARCHIVE_NOT_LOAD | 1364 | Model not loaded | + | Index | Name | Code | Comment | + | --- | --- | --- | --- | + | 1 | HSUCCEED | 0 | Success | + | 2 | HERR_BASIC_BASE | 1 | Basic error types | + | 3 | HERR_UNKNOWN | 1 | Unknown error | + | 4 | HERR_INVALID_PARAM | 2 | Invalid parameter | + | 5 | HERR_INVALID_IMAGE_STREAM_HANDLE | 25 | Invalid image stream handle | + | 6 | HERR_INVALID_CONTEXT_HANDLE | 26 | Invalid context handle | + | 7 | HERR_INVALID_FACE_TOKEN | 31 | Invalid face token | + | 8 | HERR_INVALID_FACE_FEATURE | 32 | Invalid face feature | + | 9 | HERR_INVALID_FACE_LIST | 33 | Invalid face feature list | + | 10 | HERR_INVALID_BUFFER_SIZE | 34 | Invalid copy token | + | 11 | HERR_INVALID_IMAGE_STREAM_PARAM | 35 | Invalid image param | + | 12 | HERR_INVALID_SERIALIZATION_FAILED | 36 | Invalid face serialization failed | + | 13 | HERR_INVALID_DETECTION_INPUT | 37 | Failed to modify detector input size | + | 14 | HERR_SESS_BASE | 1280 | Session error types | + | 15 | HERR_SESS_FUNCTION_UNUSABLE | 1282 | Function not usable | + | 16 | HERR_SESS_TRACKER_FAILURE | 1283 | Tracker module not initialized | + | 17 | HERR_SESS_INVALID_RESOURCE | 1290 | Invalid static resource | + | 18 | HERR_SESS_NUM_OF_MODELS_NOT_MATCH | 1291 | Number of models does not match | + | 19 | HERR_SESS_PIPELINE_FAILURE | 1288 | Pipeline module not initialized | + | 20 | HERR_SESS_REC_EXTRACT_FAILURE | 1295 | Face feature extraction not registered | + | 21 | HERR_SESS_REC_DEL_FAILURE | 1296 | Face feature deletion failed due to out of range index | + | 22 | HERR_SESS_REC_UPDATE_FAILURE | 1297 | Face feature update failed due to out of range index | + | 23 | HERR_SESS_REC_ADD_FEAT_EMPTY | 1298 | Feature vector for registration cannot be empty | + | 24 | HERR_SESS_REC_FEAT_SIZE_ERR | 1299 | Incorrect length of feature vector for registration | + | 25 | HERR_SESS_REC_INVALID_INDEX | 1300 | Invalid index number | + | 26 | HERR_SESS_REC_CONTRAST_FEAT_ERR | 1303 | Incorrect length of feature vector for comparison | + | 27 | HERR_SESS_REC_BLOCK_FULL | 1304 | Feature vector block full | + | 28 | HERR_SESS_REC_BLOCK_DEL_FAILURE | 1305 | Deletion failed | + | 29 | HERR_SESS_REC_BLOCK_UPDATE_FAILURE | 1306 | Update failed | + | 30 | HERR_SESS_REC_ID_ALREADY_EXIST | 1307 | ID already exists | + | 31 | HERR_SESS_FACE_DATA_ERROR | 1310 | Face data parsing | + | 32 | HERR_SESS_FACE_REC_OPTION_ERROR | 1320 | An optional parameter is incorrect | + | 33 | HERR_FT_HUB_DISABLE | 1329 | FeatureHub is disabled | + | 34 | HERR_FT_HUB_OPEN_ERROR | 1330 | Database open error | + | 35 | HERR_FT_HUB_NOT_OPENED | 1331 | Database not opened | + | 36 | HERR_FT_HUB_NO_RECORD_FOUND | 1332 | No record found | + | 37 | HERR_FT_HUB_CHECK_TABLE_ERROR | 1333 | Data table check error | + | 38 | HERR_FT_HUB_INSERT_FAILURE | 1334 | Data insertion error | + | 39 | HERR_FT_HUB_PREPARING_FAILURE | 1335 | Data preparation error | + | 40 | HERR_FT_HUB_EXECUTING_FAILURE | 1336 | SQL execution error | + | 41 | HERR_FT_HUB_NOT_VALID_FOLDER_PATH | 1337 | Invalid folder path | + | 42 | HERR_FT_HUB_ENABLE_REPETITION | 1338 | Enable db function repeatedly | + | 43 | HERR_FT_HUB_DISABLE_REPETITION | 1339 | Disable db function repeatedly | + | 44 | HERR_ARCHIVE_LOAD_FAILURE | 1360 | Archive load failure | + | 45 | HERR_ARCHIVE_LOAD_MODEL_FAILURE | 1361 | Model load failure | + | 46 | HERR_ARCHIVE_FILE_FORMAT_ERROR | 1362 | The archive format is incorrect | + | 47 | HERR_ARCHIVE_REPETITION_LOAD | 1363 | Do not reload the model | + | 48 | HERR_ARCHIVE_NOT_LOAD | 1364 | Model not loaded | diff --git a/cpp-package/inspireface/tools/error_table.md b/cpp-package/inspireface/tools/error_table.md index a7b32bf..0836ed8 100644 --- a/cpp-package/inspireface/tools/error_table.md +++ b/cpp-package/inspireface/tools/error_table.md @@ -12,38 +12,39 @@ | 10 | HERR_INVALID_BUFFER_SIZE | 34 | Invalid copy token | | 11 | HERR_INVALID_IMAGE_STREAM_PARAM | 35 | Invalid image param | | 12 | HERR_INVALID_SERIALIZATION_FAILED | 36 | Invalid face serialization failed | - | 13 | HERR_SESS_BASE | 1280 | Session error types | - | 14 | HERR_SESS_FUNCTION_UNUSABLE | 1282 | Function not usable | - | 15 | HERR_SESS_TRACKER_FAILURE | 1283 | Tracker module not initialized | - | 16 | HERR_SESS_INVALID_RESOURCE | 1290 | Invalid static resource | - | 17 | HERR_SESS_NUM_OF_MODELS_NOT_MATCH | 1291 | Number of models does not match | - | 18 | HERR_SESS_PIPELINE_FAILURE | 1288 | Pipeline module not initialized | - | 19 | HERR_SESS_REC_EXTRACT_FAILURE | 1295 | Face feature extraction not registered | - | 20 | HERR_SESS_REC_DEL_FAILURE | 1296 | Face feature deletion failed due to out of range index | - | 21 | HERR_SESS_REC_UPDATE_FAILURE | 1297 | Face feature update failed due to out of range index | - | 22 | HERR_SESS_REC_ADD_FEAT_EMPTY | 1298 | Feature vector for registration cannot be empty | - | 23 | HERR_SESS_REC_FEAT_SIZE_ERR | 1299 | Incorrect length of feature vector for registration | - | 24 | HERR_SESS_REC_INVALID_INDEX | 1300 | Invalid index number | - | 25 | HERR_SESS_REC_CONTRAST_FEAT_ERR | 1303 | Incorrect length of feature vector for comparison | - | 26 | HERR_SESS_REC_BLOCK_FULL | 1304 | Feature vector block full | - | 27 | HERR_SESS_REC_BLOCK_DEL_FAILURE | 1305 | Deletion failed | - | 28 | HERR_SESS_REC_BLOCK_UPDATE_FAILURE | 1306 | Update failed | - | 29 | HERR_SESS_REC_ID_ALREADY_EXIST | 1307 | ID already exists | - | 30 | HERR_SESS_FACE_DATA_ERROR | 1310 | Face data parsing | - | 31 | HERR_SESS_FACE_REC_OPTION_ERROR | 1320 | An optional parameter is incorrect | - | 32 | HERR_FT_HUB_DISABLE | 1329 | FeatureHub is disabled | - | 33 | HERR_FT_HUB_OPEN_ERROR | 1330 | Database open error | - | 34 | HERR_FT_HUB_NOT_OPENED | 1331 | Database not opened | - | 35 | HERR_FT_HUB_NO_RECORD_FOUND | 1332 | No record found | - | 36 | HERR_FT_HUB_CHECK_TABLE_ERROR | 1333 | Data table check error | - | 37 | HERR_FT_HUB_INSERT_FAILURE | 1334 | Data insertion error | - | 38 | HERR_FT_HUB_PREPARING_FAILURE | 1335 | Data preparation error | - | 39 | HERR_FT_HUB_EXECUTING_FAILURE | 1336 | SQL execution error | - | 40 | HERR_FT_HUB_NOT_VALID_FOLDER_PATH | 1337 | Invalid folder path | - | 41 | HERR_FT_HUB_ENABLE_REPETITION | 1338 | Enable db function repeatedly | - | 42 | HERR_FT_HUB_DISABLE_REPETITION | 1339 | Disable db function repeatedly | - | 43 | HERR_ARCHIVE_LOAD_FAILURE | 1360 | Archive load failure | - | 44 | HERR_ARCHIVE_LOAD_MODEL_FAILURE | 1361 | Model load failure | - | 45 | HERR_ARCHIVE_FILE_FORMAT_ERROR | 1362 | The archive format is incorrect | - | 46 | HERR_ARCHIVE_REPETITION_LOAD | 1363 | Do not reload the model | - | 47 | HERR_ARCHIVE_NOT_LOAD | 1364 | Model not loaded | + | 13 | HERR_INVALID_DETECTION_INPUT | 37 | Failed to modify detector input size | + | 14 | HERR_SESS_BASE | 1280 | Session error types | + | 15 | HERR_SESS_FUNCTION_UNUSABLE | 1282 | Function not usable | + | 16 | HERR_SESS_TRACKER_FAILURE | 1283 | Tracker module not initialized | + | 17 | HERR_SESS_INVALID_RESOURCE | 1290 | Invalid static resource | + | 18 | HERR_SESS_NUM_OF_MODELS_NOT_MATCH | 1291 | Number of models does not match | + | 19 | HERR_SESS_PIPELINE_FAILURE | 1288 | Pipeline module not initialized | + | 20 | HERR_SESS_REC_EXTRACT_FAILURE | 1295 | Face feature extraction not registered | + | 21 | HERR_SESS_REC_DEL_FAILURE | 1296 | Face feature deletion failed due to out of range index | + | 22 | HERR_SESS_REC_UPDATE_FAILURE | 1297 | Face feature update failed due to out of range index | + | 23 | HERR_SESS_REC_ADD_FEAT_EMPTY | 1298 | Feature vector for registration cannot be empty | + | 24 | HERR_SESS_REC_FEAT_SIZE_ERR | 1299 | Incorrect length of feature vector for registration | + | 25 | HERR_SESS_REC_INVALID_INDEX | 1300 | Invalid index number | + | 26 | HERR_SESS_REC_CONTRAST_FEAT_ERR | 1303 | Incorrect length of feature vector for comparison | + | 27 | HERR_SESS_REC_BLOCK_FULL | 1304 | Feature vector block full | + | 28 | HERR_SESS_REC_BLOCK_DEL_FAILURE | 1305 | Deletion failed | + | 29 | HERR_SESS_REC_BLOCK_UPDATE_FAILURE | 1306 | Update failed | + | 30 | HERR_SESS_REC_ID_ALREADY_EXIST | 1307 | ID already exists | + | 31 | HERR_SESS_FACE_DATA_ERROR | 1310 | Face data parsing | + | 32 | HERR_SESS_FACE_REC_OPTION_ERROR | 1320 | An optional parameter is incorrect | + | 33 | HERR_FT_HUB_DISABLE | 1329 | FeatureHub is disabled | + | 34 | HERR_FT_HUB_OPEN_ERROR | 1330 | Database open error | + | 35 | HERR_FT_HUB_NOT_OPENED | 1331 | Database not opened | + | 36 | HERR_FT_HUB_NO_RECORD_FOUND | 1332 | No record found | + | 37 | HERR_FT_HUB_CHECK_TABLE_ERROR | 1333 | Data table check error | + | 38 | HERR_FT_HUB_INSERT_FAILURE | 1334 | Data insertion error | + | 39 | HERR_FT_HUB_PREPARING_FAILURE | 1335 | Data preparation error | + | 40 | HERR_FT_HUB_EXECUTING_FAILURE | 1336 | SQL execution error | + | 41 | HERR_FT_HUB_NOT_VALID_FOLDER_PATH | 1337 | Invalid folder path | + | 42 | HERR_FT_HUB_ENABLE_REPETITION | 1338 | Enable db function repeatedly | + | 43 | HERR_FT_HUB_DISABLE_REPETITION | 1339 | Disable db function repeatedly | + | 44 | HERR_ARCHIVE_LOAD_FAILURE | 1360 | Archive load failure | + | 45 | HERR_ARCHIVE_LOAD_MODEL_FAILURE | 1361 | Model load failure | + | 46 | HERR_ARCHIVE_FILE_FORMAT_ERROR | 1362 | The archive format is incorrect | + | 47 | HERR_ARCHIVE_REPETITION_LOAD | 1363 | Do not reload the model | + | 48 | HERR_ARCHIVE_NOT_LOAD | 1364 | Model not loaded |