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 | 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 | 2121 | void CMultiSourceProcess::face_locus_finished(const OBJ_KEY obj_key) { | ... | ... |