Commit 4e7bae0f60d6f5f3a6eb6475ce44aead93cfea80
1 parent
1680c040
代码优化
Showing
1 changed file
with
29 additions
and
28 deletions
src/ai_platform/MultiSourceProcess.cpp
@@ -2081,40 +2081,41 @@ void CMultiSourceProcess::algorthim_face_detect(vector<DeviceMemory*> vec_gpuMem | @@ -2081,40 +2081,41 @@ void CMultiSourceProcess::algorthim_face_detect(vector<DeviceMemory*> vec_gpuMem | ||
2081 | vec_vptMem.push_back(mem); | 2081 | vec_vptMem.push_back(mem); |
2082 | } | 2082 | } |
2083 | 2083 | ||
2084 | - if (!interest_imgs.empty()) { | 2084 | + if (interest_imgs.empty()) { |
2085 | + return; | ||
2086 | + } | ||
2085 | 2087 | ||
2086 | - unsigned image_size = interest_imgs.size(); | 2088 | + unsigned image_size = interest_imgs.size(); |
2087 | 2089 | ||
2088 | - // 人脸检测、跟踪 | ||
2089 | - std::vector<onelevel_det_result> facedet_result(image_size); | ||
2090 | - std::vector<std::vector<int>> face_deleteObjectID(image_size); | 2090 | + // 人脸检测、跟踪 |
2091 | + std::vector<onelevel_det_result> facedet_result(image_size); | ||
2092 | + std::vector<std::vector<int>> face_deleteObjectID(image_size); | ||
2091 | 2093 | ||
2092 | - int ret = m_face_det_ai_engine.ai_engine_process_batch(interest_task_list, interest_imgs.data(), facedet_result, face_deleteObjectID); | ||
2093 | - if(ret <= 0){ | ||
2094 | - LOG_ERROR("face detect error!!!"); | ||
2095 | - return; | ||
2096 | - } | 2094 | + int ret = m_face_det_ai_engine.ai_engine_process_batch(interest_task_list, interest_imgs.data(), facedet_result, face_deleteObjectID); |
2095 | + if(ret <= 0){ | ||
2096 | + LOG_ERROR("face detect error!!!"); | ||
2097 | + return; | ||
2098 | + } | ||
2097 | 2099 | ||
2098 | - // 跟踪结果送入快照更新 | ||
2099 | - m_snapshot_reprocessing->update_face_bestsnapshot(vec_vptMem, facedet_result, face_deleteObjectID); | ||
2100 | - | ||
2101 | - // 保存已结束轨迹的目标 | ||
2102 | - auto task_iter_face = interest_task_list.begin(); //debug by zsh | ||
2103 | - for (int i = 0; i < face_deleteObjectID.size(); i++) { | ||
2104 | - for (int j = 0; j < face_deleteObjectID[i].size(); ++j) { | ||
2105 | - OBJ_KEY deleteObj = {*task_iter_face, face_deleteObjectID[i][j]}; | ||
2106 | - LOG_TRACE("{}: {}",*task_iter_face,face_deleteObjectID[i][j]); | ||
2107 | - face_locus_finished(deleteObj); | ||
2108 | - } | ||
2109 | - ++task_iter_face; | ||
2110 | - } | 2100 | + // 跟踪结果送入快照更新 |
2101 | + m_snapshot_reprocessing->update_face_bestsnapshot(vec_vptMem, facedet_result, face_deleteObjectID); | ||
2111 | 2102 | ||
2112 | - for (int i = 0; i < face_deleteObjectID.size(); ++i){ | ||
2113 | - std::vector<int>().swap(face_deleteObjectID[i]); | ||
2114 | - } | ||
2115 | - std::vector<std::vector<int>>().swap(face_deleteObjectID); | ||
2116 | - std::vector<onelevel_det_result>().swap(facedet_result); | 2103 | + // 保存已结束轨迹的目标 |
2104 | + auto task_iter_face = interest_task_list.begin(); //debug by zsh | ||
2105 | + for (int i = 0; i < face_deleteObjectID.size(); i++) { | ||
2106 | + for (int j = 0; j < face_deleteObjectID[i].size(); ++j) { | ||
2107 | + OBJ_KEY deleteObj = {*task_iter_face, face_deleteObjectID[i][j]}; | ||
2108 | + LOG_TRACE("{}: {}",*task_iter_face,face_deleteObjectID[i][j]); | ||
2109 | + face_locus_finished(deleteObj); | ||
2110 | + } | ||
2111 | + ++task_iter_face; | ||
2112 | + } | ||
2113 | + | ||
2114 | + for (int i = 0; i < face_deleteObjectID.size(); ++i){ | ||
2115 | + std::vector<int>().swap(face_deleteObjectID[i]); | ||
2117 | } | 2116 | } |
2117 | + std::vector<std::vector<int>>().swap(face_deleteObjectID); | ||
2118 | + std::vector<onelevel_det_result>().swap(facedet_result); | ||
2118 | } | 2119 | } |
2119 | 2120 | ||
2120 | void CMultiSourceProcess::face_locus_finished(const OBJ_KEY obj_key) { | 2121 | void CMultiSourceProcess::face_locus_finished(const OBJ_KEY obj_key) { |