Commit 4bcfa5f5853993021583b66a343805878bdb708d
1 parent
c766e4b0
代码优化
Showing
3 changed files
with
35 additions
and
34 deletions
src/ai_engine_module/face_det_ai_engine.cpp
@@ -23,16 +23,45 @@ face_det_ai_engine::~face_det_ai_engine(){ | @@ -23,16 +23,45 @@ face_det_ai_engine::~face_det_ai_engine(){ | ||
23 | } | 23 | } |
24 | } | 24 | } |
25 | 25 | ||
26 | -int face_det_ai_engine::init_ai_engine(const facedet_ai_engine_param &ai_param/*, person_det_algorthim_cache * cache*/){ | 26 | +int face_det_ai_engine::init_ai_engine(string models_dir, int devId){ |
27 | 27 | ||
28 | task_param_manager_ = task_param_manager::getInstance(); | 28 | task_param_manager_ = task_param_manager::getInstance(); |
29 | 29 | ||
30 | - m_devId = ai_param.sdk_param.devId; | 30 | + m_devId = devId; |
31 | 31 | ||
32 | ACL_CALL(aclrtSetDevice(m_devId), ACL_ERROR_NONE, -1); | 32 | ACL_CALL(aclrtSetDevice(m_devId), ACL_ERROR_NONE, -1); |
33 | ACL_CALL(aclrtCreateContext(&m_algorthim_ctx, m_devId), ACL_ERROR_NONE, -1); | 33 | ACL_CALL(aclrtCreateContext(&m_algorthim_ctx, m_devId), ACL_ERROR_NONE, -1); |
34 | 34 | ||
35 | - return fd_init(&handle, ai_param.sdk_param); | 35 | + // 人脸检测初始化 |
36 | + fd_param sdk_param; | ||
37 | + char model_path_yolov5s[100]; | ||
38 | + strcpy(model_path_yolov5s, (models_dir + "/models/face_detect/face_det_yolov5s_310p.om").c_str()); | ||
39 | + sdk_param.det_modelNames = model_path_yolov5s; | ||
40 | + char model_path_ldmk[100]; | ||
41 | + strcpy(model_path_ldmk, (models_dir + "/models/face_detect/face_ldmk_310p.om").c_str()); | ||
42 | + sdk_param.ldmk_modelNames = model_path_ldmk; | ||
43 | + char model_path_pose[100]; | ||
44 | + strcpy(model_path_pose, (models_dir + "/models/face_detect/face_pose_310p.om").c_str()); | ||
45 | + sdk_param.pose_modelNames = model_path_pose; | ||
46 | + char model_path_score[100]; | ||
47 | + strcpy(model_path_score, (models_dir + "/models/face_detect/face_score_310p.om").c_str()); | ||
48 | + sdk_param.score_modelNames = model_path_score; | ||
49 | + char model_path_fuzzy[100]; | ||
50 | + strcpy(model_path_fuzzy, (models_dir + "/models/face_detect/face_fuzzy_310p.om").c_str()); | ||
51 | + sdk_param.fuzzy_modelNames = model_path_fuzzy; | ||
52 | + char model_path_occlusion[100]; | ||
53 | + strcpy(model_path_occlusion, (models_dir + "/models/face_detect/face_occlusion_310p.om").c_str()); | ||
54 | + sdk_param.occlusion_modelNames = model_path_occlusion; | ||
55 | + sdk_param.thresld = 0.6; | ||
56 | + sdk_param.devId = m_devId; | ||
57 | + sdk_param.auth_license = "sy_tongtu_aiplatform_sdk_2023"; | ||
58 | + sdk_param.facial_fea_point_config = SY_CONFIG_OPEN; //是否启动关键点检测 | ||
59 | + sdk_param.pose_config = SY_CONFIG_OPEN; //是否启动姿态角 | ||
60 | + sdk_param.quality_config = SY_CONFIG_OPEN; //是否启动质量检测 | ||
61 | + sdk_param.score_config = SY_CONFIG_OPEN; //是否启动人脸置信度 //SY_CONFIG_OPEN SY_CONFIG_CLOSE | ||
62 | + sdk_param.max_result_count = 50; | ||
63 | + | ||
64 | + return fd_init(&handle, sdk_param); | ||
36 | } | 65 | } |
37 | 66 | ||
38 | int face_det_ai_engine::ai_engine_process_batch(std::vector<std::string> &task_ids, sy_img *image_data_array, std::vector<onelevel_det_result> &result , std::vector<std::vector<int>> &deleteObjectID){ | 67 | int face_det_ai_engine::ai_engine_process_batch(std::vector<std::string> &task_ids, sy_img *image_data_array, std::vector<onelevel_det_result> &result , std::vector<std::vector<int>> &deleteObjectID){ |
src/ai_engine_module/face_det_ai_engine.h
@@ -35,7 +35,7 @@ public: | @@ -35,7 +35,7 @@ public: | ||
35 | face_det_ai_engine(); | 35 | face_det_ai_engine(); |
36 | ~face_det_ai_engine(); | 36 | ~face_det_ai_engine(); |
37 | 37 | ||
38 | - int init_ai_engine(const facedet_ai_engine_param &ai_param/*, person_det_algorthim_cache * cache*/); | 38 | + int init_ai_engine(string models_dir, int devId); |
39 | int ai_engine_process_batch(std::vector<std::string> &task_ids, sy_img *image_data_array, std::vector<onelevel_det_result> &result | 39 | int ai_engine_process_batch(std::vector<std::string> &task_ids, sy_img *image_data_array, std::vector<onelevel_det_result> &result |
40 | , std::vector<std::vector<int>> &deleteObjectID); | 40 | , std::vector<std::vector<int>> &deleteObjectID); |
41 | void finish_task(std::string task_id); | 41 | void finish_task(std::string task_id); |
src/ai_platform/MultiSourceProcess.cpp
@@ -108,35 +108,7 @@ int CMultiSourceProcess::InitAlgorthim(tsl_aiplatform_param vptParam){ | @@ -108,35 +108,7 @@ int CMultiSourceProcess::InitAlgorthim(tsl_aiplatform_param vptParam){ | ||
108 | } | 108 | } |
109 | 109 | ||
110 | #ifdef WITH_FACE_DET_SS | 110 | #ifdef WITH_FACE_DET_SS |
111 | - // 人脸检测初始化 | ||
112 | - facedet_ai_engine_param fd_param; | ||
113 | - char model_path_yolov5s[100]; | ||
114 | - strcpy(model_path_yolov5s, (models_dir + "/models/face_detect/face_det_yolov5s_310p.om").c_str()); | ||
115 | - fd_param.sdk_param.det_modelNames = model_path_yolov5s; | ||
116 | - char model_path_ldmk[100]; | ||
117 | - strcpy(model_path_ldmk, (models_dir + "/models/face_detect/face_ldmk_310p.om").c_str()); | ||
118 | - fd_param.sdk_param.ldmk_modelNames = model_path_ldmk; | ||
119 | - char model_path_pose[100]; | ||
120 | - strcpy(model_path_pose, (models_dir + "/models/face_detect/face_pose_310p.om").c_str()); | ||
121 | - fd_param.sdk_param.pose_modelNames = model_path_pose; | ||
122 | - char model_path_score[100]; | ||
123 | - strcpy(model_path_score, (models_dir + "/models/face_detect/face_score_310p.om").c_str()); | ||
124 | - fd_param.sdk_param.score_modelNames = model_path_score; | ||
125 | - char model_path_fuzzy[100]; | ||
126 | - strcpy(model_path_fuzzy, (models_dir + "/models/face_detect/face_fuzzy_310p.om").c_str()); | ||
127 | - fd_param.sdk_param.fuzzy_modelNames = model_path_fuzzy; | ||
128 | - char model_path_occlusion[100]; | ||
129 | - strcpy(model_path_occlusion, (models_dir + "/models/face_detect/face_occlusion_310p.om").c_str()); | ||
130 | - fd_param.sdk_param.occlusion_modelNames = model_path_occlusion; | ||
131 | - fd_param.sdk_param.thresld = 0.6; | ||
132 | - fd_param.sdk_param.devId = m_devId; | ||
133 | - fd_param.sdk_param.auth_license = "sy_tongtu_aiplatform_sdk_2023"; | ||
134 | - fd_param.sdk_param.facial_fea_point_config = SY_CONFIG_OPEN; //是否启动关键点检测 | ||
135 | - fd_param.sdk_param.pose_config = SY_CONFIG_OPEN; //是否启动姿态角 | ||
136 | - fd_param.sdk_param.quality_config = SY_CONFIG_OPEN; //是否启动质量检测 | ||
137 | - fd_param.sdk_param.score_config = SY_CONFIG_OPEN; //是否启动人脸置信度 //SY_CONFIG_OPEN SY_CONFIG_CLOSE | ||
138 | - fd_param.sdk_param.max_result_count = 50; | ||
139 | - ret = m_face_det_ai_engine.init_ai_engine(fd_param); | 111 | + ret = m_face_det_ai_engine.init_ai_engine(models_dir, m_devId); |
140 | if (ret < 0 ) { | 112 | if (ret < 0 ) { |
141 | LOG_FATAL("Init face detection failed"); | 113 | LOG_FATAL("Init face detection failed"); |
142 | return ret; | 114 | return ret; |
@@ -200,7 +172,7 @@ int CMultiSourceProcess::AddMqConn(mq_type_t mq_type, rabbitmq_conn_params_t mq_ | @@ -200,7 +172,7 @@ int CMultiSourceProcess::AddMqConn(mq_type_t mq_type, rabbitmq_conn_params_t mq_ | ||
200 | LOG_ERROR("mq_manager_ is null"); | 172 | LOG_ERROR("mq_manager_ is null"); |
201 | return FAILED; | 173 | return FAILED; |
202 | } | 174 | } |
203 | - | 175 | + |
204 | if (!mq_manager_->add_conn(mq_type, mq_conn_param)) { | 176 | if (!mq_manager_->add_conn(mq_type, mq_conn_param)) { |
205 | LOG_ERROR("Connection MQ failed, ip: {} port: {} uname: {} passwd: {}", mq_conn_param.ip, mq_conn_param.port, | 177 | LOG_ERROR("Connection MQ failed, ip: {} port: {} uname: {} passwd: {}", mq_conn_param.ip, mq_conn_param.port, |
206 | mq_conn_param.uname, mq_conn_param.passwd); | 178 | mq_conn_param.uname, mq_conn_param.passwd); |