Commit 06b897ec0781447183034d6468573565a6572878
1 parent
c5b54127
代码优化
Showing
1 changed file
with
108 additions
and
109 deletions
src/ai_platform/MultiSourceProcess.cpp
... | ... | @@ -82,135 +82,134 @@ CMultiSourceProcess::~CMultiSourceProcess(){ |
82 | 82 | } |
83 | 83 | |
84 | 84 | int CMultiSourceProcess::InitAlgorthim(tsl_aiplatform_param vptParam){ |
85 | - if (CheckTime()) { | |
86 | - set_default_logger(LogLevel(vptParam.log_level), "multi_source_process", vptParam.log_path, vptParam.log_mem, vptParam.log_mem); | |
87 | - LOG_INFO("编译时间:{} {}", __DATE__, __TIME__); | |
85 | + if (!CheckTime()) { | |
86 | + return AUTHOR_ERROR; | |
87 | + } | |
88 | 88 | |
89 | - SourceSingleton::getInstance(); | |
89 | + set_default_logger(LogLevel(vptParam.log_level), "multi_source_process", vptParam.log_path, vptParam.log_mem, vptParam.log_mem); | |
90 | + LOG_INFO("编译时间:{} {}", __DATE__, __TIME__); | |
90 | 91 | |
91 | - skip_frame_ = 5; | |
92 | - m_batch_size = 20; | |
92 | + SourceSingleton::getInstance(); | |
93 | 93 | |
94 | - m_devId = vptParam.gpuid; | |
94 | + skip_frame_ = 5; | |
95 | + m_batch_size = 20; | |
95 | 96 | |
96 | - string models_dir = vptParam.models_dir; | |
97 | + m_devId = vptParam.gpuid; | |
97 | 98 | |
98 | - VPTProcess_PARAM vparam; | |
99 | - vparam.gpuid = m_devId; | |
100 | - vparam.max_batch = m_batch_size; | |
101 | - vparam.threshold = 0.4; | |
102 | - vparam.model_dir = models_dir; | |
99 | + string models_dir = vptParam.models_dir; | |
103 | 100 | |
104 | - aclrtSetDevice(m_devId); | |
101 | + VPTProcess_PARAM vparam; | |
102 | + vparam.gpuid = m_devId; | |
103 | + vparam.max_batch = m_batch_size; | |
104 | + vparam.threshold = 0.4; | |
105 | + vparam.model_dir = models_dir; | |
105 | 106 | |
106 | - int ret = vpt_process.init(vparam); | |
107 | - if (ret < 0){ | |
108 | - return ret; | |
109 | - } | |
107 | + aclrtSetDevice(m_devId); | |
110 | 108 | |
111 | - //三轮车头肩检测 | |
112 | - if (!tricycle_manned_.init(vptParam.gpuid, models_dir)) { | |
113 | - LOG_FATAL("Init tricycle_hs failed"); | |
114 | - return -1; | |
115 | - } | |
109 | + int ret = vpt_process.init(vparam); | |
110 | + if (ret < 0){ | |
111 | + return ret; | |
112 | + } | |
116 | 113 | |
117 | - //货车头肩检测 | |
118 | - if (!truck_manned_.init(vptParam.gpuid, models_dir)) { | |
119 | - LOG_FATAL("Init truck_hs failed"); | |
120 | - return -1; | |
121 | - } | |
114 | + //三轮车头肩检测 | |
115 | + if (!tricycle_manned_.init(vptParam.gpuid, models_dir)) { | |
116 | + LOG_FATAL("Init tricycle_hs failed"); | |
117 | + return -1; | |
118 | + } | |
122 | 119 | |
123 | - //二轮车头肩检测 | |
124 | - if (!motor_hsprocess_.init(vptParam.gpuid, models_dir)) { | |
125 | - LOG_FATAL("Init motor_hs failed"); | |
126 | - return -1; | |
127 | - } | |
120 | + //货车头肩检测 | |
121 | + if (!truck_manned_.init(vptParam.gpuid, models_dir)) { | |
122 | + LOG_FATAL("Init truck_hs failed"); | |
123 | + return -1; | |
124 | + } | |
128 | 125 | |
129 | - #ifdef WITH_FACE_DET_SS | |
130 | - // 人脸检测初始化 | |
131 | - facedet_ai_engine_param fd_param; | |
132 | - char model_path_yolov5s[100]; | |
133 | - strcpy(model_path_yolov5s, (models_dir + "/models/face_detect/face_det_yolov5s_310p.om").c_str()); | |
134 | - fd_param.sdk_param.det_modelNames = model_path_yolov5s; | |
135 | - char model_path_ldmk[100]; | |
136 | - strcpy(model_path_ldmk, (models_dir + "/models/face_detect/face_ldmk_310p.om").c_str()); | |
137 | - fd_param.sdk_param.ldmk_modelNames = model_path_ldmk; | |
138 | - char model_path_pose[100]; | |
139 | - strcpy(model_path_pose, (models_dir + "/models/face_detect/face_pose_310p.om").c_str()); | |
140 | - fd_param.sdk_param.pose_modelNames = model_path_pose; | |
141 | - char model_path_score[100]; | |
142 | - strcpy(model_path_score, (models_dir + "/models/face_detect/face_score_310p.om").c_str()); | |
143 | - fd_param.sdk_param.score_modelNames = model_path_score; | |
144 | - char model_path_fuzzy[100]; | |
145 | - strcpy(model_path_fuzzy, (models_dir + "/models/face_detect/face_fuzzy_310p.om").c_str()); | |
146 | - fd_param.sdk_param.fuzzy_modelNames = model_path_fuzzy; | |
147 | - char model_path_occlusion[100]; | |
148 | - strcpy(model_path_occlusion, (models_dir + "/models/face_detect/face_occlusion_310p.om").c_str()); | |
149 | - fd_param.sdk_param.occlusion_modelNames = model_path_occlusion; | |
150 | - fd_param.sdk_param.thresld = 0.6; | |
151 | - fd_param.sdk_param.devId = m_devId; | |
152 | - fd_param.sdk_param.auth_license = "sy_tongtu_aiplatform_sdk_2023"; | |
153 | - fd_param.sdk_param.facial_fea_point_config = SY_CONFIG_OPEN; //是否启动关键点检测 | |
154 | - fd_param.sdk_param.pose_config = SY_CONFIG_OPEN; //是否启动姿态角 | |
155 | - fd_param.sdk_param.quality_config = SY_CONFIG_OPEN; //是否启动质量检测 | |
156 | - fd_param.sdk_param.score_config = SY_CONFIG_OPEN; //是否启动人脸置信度 //SY_CONFIG_OPEN SY_CONFIG_CLOSE | |
157 | - fd_param.sdk_param.max_result_count = 50; | |
158 | - ret = m_face_det_ai_engine.init_ai_engine(fd_param); | |
159 | - if (ret < 0 ) { | |
160 | - LOG_FATAL("Init face detection failed"); | |
161 | - return ret; | |
162 | - } | |
163 | - #endif | |
126 | + //二轮车头肩检测 | |
127 | + if (!motor_hsprocess_.init(vptParam.gpuid, models_dir)) { | |
128 | + LOG_FATAL("Init motor_hs failed"); | |
129 | + return -1; | |
130 | + } | |
131 | + | |
132 | + #ifdef WITH_FACE_DET_SS | |
133 | + // 人脸检测初始化 | |
134 | + facedet_ai_engine_param fd_param; | |
135 | + char model_path_yolov5s[100]; | |
136 | + strcpy(model_path_yolov5s, (models_dir + "/models/face_detect/face_det_yolov5s_310p.om").c_str()); | |
137 | + fd_param.sdk_param.det_modelNames = model_path_yolov5s; | |
138 | + char model_path_ldmk[100]; | |
139 | + strcpy(model_path_ldmk, (models_dir + "/models/face_detect/face_ldmk_310p.om").c_str()); | |
140 | + fd_param.sdk_param.ldmk_modelNames = model_path_ldmk; | |
141 | + char model_path_pose[100]; | |
142 | + strcpy(model_path_pose, (models_dir + "/models/face_detect/face_pose_310p.om").c_str()); | |
143 | + fd_param.sdk_param.pose_modelNames = model_path_pose; | |
144 | + char model_path_score[100]; | |
145 | + strcpy(model_path_score, (models_dir + "/models/face_detect/face_score_310p.om").c_str()); | |
146 | + fd_param.sdk_param.score_modelNames = model_path_score; | |
147 | + char model_path_fuzzy[100]; | |
148 | + strcpy(model_path_fuzzy, (models_dir + "/models/face_detect/face_fuzzy_310p.om").c_str()); | |
149 | + fd_param.sdk_param.fuzzy_modelNames = model_path_fuzzy; | |
150 | + char model_path_occlusion[100]; | |
151 | + strcpy(model_path_occlusion, (models_dir + "/models/face_detect/face_occlusion_310p.om").c_str()); | |
152 | + fd_param.sdk_param.occlusion_modelNames = model_path_occlusion; | |
153 | + fd_param.sdk_param.thresld = 0.6; | |
154 | + fd_param.sdk_param.devId = m_devId; | |
155 | + fd_param.sdk_param.auth_license = "sy_tongtu_aiplatform_sdk_2023"; | |
156 | + fd_param.sdk_param.facial_fea_point_config = SY_CONFIG_OPEN; //是否启动关键点检测 | |
157 | + fd_param.sdk_param.pose_config = SY_CONFIG_OPEN; //是否启动姿态角 | |
158 | + fd_param.sdk_param.quality_config = SY_CONFIG_OPEN; //是否启动质量检测 | |
159 | + fd_param.sdk_param.score_config = SY_CONFIG_OPEN; //是否启动人脸置信度 //SY_CONFIG_OPEN SY_CONFIG_CLOSE | |
160 | + fd_param.sdk_param.max_result_count = 50; | |
161 | + ret = m_face_det_ai_engine.init_ai_engine(fd_param); | |
162 | + if (ret < 0 ) { | |
163 | + LOG_FATAL("Init face detection failed"); | |
164 | + return ret; | |
165 | + } | |
166 | +#endif | |
164 | 167 | |
165 | - m_task_param_manager = task_param_manager::getInstance(); | |
166 | - m_snapshot_reprocessing = new snapshot_reprocessing(m_devId); | |
167 | - m_save_snapshot_reprocessing = new save_snapshot_reprocessing(m_devId); | |
168 | + m_task_param_manager = task_param_manager::getInstance(); | |
169 | + m_snapshot_reprocessing = new snapshot_reprocessing(m_devId); | |
170 | + m_save_snapshot_reprocessing = new save_snapshot_reprocessing(m_devId); | |
168 | 171 | |
169 | - #ifdef POST_USE_RABBITMQ | |
170 | - mq_manager_ = new mq::Manager(); | |
171 | - #endif | |
172 | +#ifdef POST_USE_RABBITMQ | |
173 | + mq_manager_ = new mq::Manager(); | |
174 | +#endif | |
172 | 175 | |
173 | - VPCUtil* pVpcUtil = VPCUtil::getInstance(); | |
174 | - pVpcUtil->init(m_devId); | |
176 | + VPCUtil* pVpcUtil = VPCUtil::getInstance(); | |
177 | + pVpcUtil->init(m_devId); | |
175 | 178 | |
176 | - m_pAlgorthimThread = new thread([](void* arg) { | |
177 | - CMultiSourceProcess* process = (CMultiSourceProcess*)arg ; | |
178 | - process->algorthim_process_thread(); | |
179 | - return (void*)0; | |
180 | - } | |
181 | - , this); | |
179 | + m_pAlgorthimThread = new thread([](void* arg) { | |
180 | + CMultiSourceProcess* process = (CMultiSourceProcess*)arg ; | |
181 | + process->algorthim_process_thread(); | |
182 | + return (void*)0; | |
183 | + } | |
184 | + , this); | |
182 | 185 | |
183 | - m_recode_thread = new thread([](void* arg) { | |
184 | - CMultiSourceProcess* process = (CMultiSourceProcess*)arg ; | |
185 | - process->recode_thread(); | |
186 | - return (void*)0; | |
187 | - } | |
188 | - , this); | |
189 | - | |
190 | - | |
191 | - m_timing_snapshot_thread = new std::thread( | |
192 | - [](void* arg) | |
193 | - { | |
194 | - CMultiSourceProcess* _this=(CMultiSourceProcess*)arg; | |
195 | - if(_this != nullptr){ | |
196 | - _this->timing_snapshot_thread(); | |
197 | - }else{ | |
198 | - LOG_ERROR("定时抓拍线程启动失败 !"); | |
199 | - } | |
200 | - return (void*)0; | |
201 | - }, this); | |
202 | - | |
203 | - if(nullptr == m_timing_snapshot_thread){ | |
204 | - LOG_ERROR("定时抓拍线程启动失败 !"); | |
186 | + m_recode_thread = new thread([](void* arg) { | |
187 | + CMultiSourceProcess* process = (CMultiSourceProcess*)arg ; | |
188 | + process->recode_thread(); | |
189 | + return (void*)0; | |
205 | 190 | } |
191 | + , this); | |
206 | 192 | |
207 | - LOG_INFO("InitAlgorthim succeed !"); | |
208 | 193 | |
209 | - return 0; | |
210 | - } | |
211 | - else { | |
212 | - return AUTHOR_ERROR; | |
194 | + m_timing_snapshot_thread = new std::thread( | |
195 | + [](void* arg) | |
196 | + { | |
197 | + CMultiSourceProcess* _this=(CMultiSourceProcess*)arg; | |
198 | + if(_this != nullptr){ | |
199 | + _this->timing_snapshot_thread(); | |
200 | + }else{ | |
201 | + LOG_ERROR("定时抓拍线程启动失败 !"); | |
202 | + } | |
203 | + return (void*)0; | |
204 | + }, this); | |
205 | + | |
206 | + if(nullptr == m_timing_snapshot_thread){ | |
207 | + LOG_ERROR("定时抓拍线程启动失败 !"); | |
213 | 208 | } |
209 | + | |
210 | + LOG_INFO("InitAlgorthim succeed !"); | |
211 | + | |
212 | + return 0; | |
214 | 213 | } |
215 | 214 | |
216 | 215 | #ifdef POST_USE_RABBITMQ | ... | ... |