From 4e7bae0f60d6f5f3a6eb6475ce44aead93cfea80 Mon Sep 17 00:00:00 2001 From: Hu Chunming <2657262686@qq.com> Date: Wed, 14 Aug 2024 09:58:00 +0800 Subject: [PATCH] 代码优化 --- src/ai_platform/MultiSourceProcess.cpp | 57 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/src/ai_platform/MultiSourceProcess.cpp b/src/ai_platform/MultiSourceProcess.cpp index ecffb89..18af0b4 100755 --- a/src/ai_platform/MultiSourceProcess.cpp +++ b/src/ai_platform/MultiSourceProcess.cpp @@ -2081,40 +2081,41 @@ void CMultiSourceProcess::algorthim_face_detect(vector vec_gpuMem vec_vptMem.push_back(mem); } - if (!interest_imgs.empty()) { + if (interest_imgs.empty()) { + return; + } - unsigned image_size = interest_imgs.size(); + unsigned image_size = interest_imgs.size(); - // 人脸检测、跟踪 - std::vector facedet_result(image_size); - std::vector> face_deleteObjectID(image_size); + // 人脸检测、跟踪 + std::vector facedet_result(image_size); + std::vector> face_deleteObjectID(image_size); - int ret = m_face_det_ai_engine.ai_engine_process_batch(interest_task_list, interest_imgs.data(), facedet_result, face_deleteObjectID); - if(ret <= 0){ - LOG_ERROR("face detect error!!!"); - return; - } + int ret = m_face_det_ai_engine.ai_engine_process_batch(interest_task_list, interest_imgs.data(), facedet_result, face_deleteObjectID); + if(ret <= 0){ + LOG_ERROR("face detect error!!!"); + return; + } - // 跟踪结果送入快照更新 - m_snapshot_reprocessing->update_face_bestsnapshot(vec_vptMem, facedet_result, face_deleteObjectID); - - // 保存已结束轨迹的目标 - auto task_iter_face = interest_task_list.begin(); //debug by zsh - for (int i = 0; i < face_deleteObjectID.size(); i++) { - for (int j = 0; j < face_deleteObjectID[i].size(); ++j) { - OBJ_KEY deleteObj = {*task_iter_face, face_deleteObjectID[i][j]}; - LOG_TRACE("{}: {}",*task_iter_face,face_deleteObjectID[i][j]); - face_locus_finished(deleteObj); - } - ++task_iter_face; - } + // 跟踪结果送入快照更新 + m_snapshot_reprocessing->update_face_bestsnapshot(vec_vptMem, facedet_result, face_deleteObjectID); - for (int i = 0; i < face_deleteObjectID.size(); ++i){ - std::vector().swap(face_deleteObjectID[i]); - } - std::vector>().swap(face_deleteObjectID); - std::vector().swap(facedet_result); + // 保存已结束轨迹的目标 + auto task_iter_face = interest_task_list.begin(); //debug by zsh + for (int i = 0; i < face_deleteObjectID.size(); i++) { + for (int j = 0; j < face_deleteObjectID[i].size(); ++j) { + OBJ_KEY deleteObj = {*task_iter_face, face_deleteObjectID[i][j]}; + LOG_TRACE("{}: {}",*task_iter_face,face_deleteObjectID[i][j]); + face_locus_finished(deleteObj); + } + ++task_iter_face; + } + + for (int i = 0; i < face_deleteObjectID.size(); ++i){ + std::vector().swap(face_deleteObjectID[i]); } + std::vector>().swap(face_deleteObjectID); + std::vector().swap(facedet_result); } void CMultiSourceProcess::face_locus_finished(const OBJ_KEY obj_key) { -- libgit2 0.21.4