Commit d1221b3100c2a01d1744306ffacbb86ccb2077cf

Authored by Zhao Shuaihua
1 parent b17e0e69

优化显存占用,暂不缓存报警时刻的抓拍图

src/ai_engine_module/motocycle_hs_process.cpp
... ... @@ -351,6 +351,7 @@ namespace ai_engine_module
351 351 result.taskId = det_result.taskId;
352 352 result.objId = det_result.objId;
353 353 result.algor_type = algor_type;
  354 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
354 355 // 原图
355 356 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
356 357 result.origin_img_desc = src_img_info.pic_desc;
... ... @@ -376,6 +377,7 @@ namespace ai_engine_module
376 377 acldvppSetPicDescSize(vpcInputDesc_, nBufferSize);
377 378  
378 379 result.roi_img_desc = vpcInputDesc_; //需复制
  380 +#endif
379 381 }
380 382 id_to_result_.emplace(obj_key, std::move(result));
381 383 }
... ...
src/ai_engine_module/motocycle_phone_process.cpp
... ... @@ -346,6 +346,7 @@ namespace ai_engine_module
346 346 result.taskId = det_result.taskId;
347 347 result.objId = det_result.objId;
348 348 result.algor_type = algor_type;
  349 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
349 350 // 原图
350 351 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
351 352 result.origin_img_desc = src_img_info.pic_desc;
... ... @@ -371,6 +372,7 @@ namespace ai_engine_module
371 372 acldvppSetPicDescSize(vpcInputDesc_, nBufferSize);
372 373  
373 374 result.roi_img_desc = vpcInputDesc_; //需复制
  375 +#endif
374 376 }
375 377 id_to_result_.emplace(obj_key, std::move(result));
376 378 }
... ...
src/ai_engine_module/motocycle_refit_phone_process.cpp
... ... @@ -366,6 +366,7 @@ namespace ai_engine_module
366 366 result.taskId = det_result.taskId;
367 367 result.objId = det_result.objId;
368 368 result.algor_type = algor_type;
  369 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
369 370 // 原图
370 371 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
371 372 result.origin_img_desc = src_img_info.pic_desc;
... ... @@ -391,6 +392,7 @@ namespace ai_engine_module
391 392 acldvppSetPicDescSize(vpcInputDesc_, nBufferSize);
392 393  
393 394 result.roi_img_desc = vpcInputDesc_; //需复制
  395 +#endif
394 396 }
395 397 id_to_result_.emplace(obj_key, std::move(result));
396 398 }
... ...
src/ai_engine_module/motocycle_refit_process.cpp
... ... @@ -342,6 +342,7 @@ namespace ai_engine_module
342 342 result.taskId = det_result.taskId;
343 343 result.objId = det_result.objId;
344 344 result.algor_type = algor_type;
  345 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
345 346 // 原图
346 347 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
347 348 result.origin_img_desc = src_img_info.pic_desc;
... ... @@ -367,6 +368,7 @@ namespace ai_engine_module
367 368 acldvppSetPicDescSize(vpcInputDesc_, nBufferSize);
368 369  
369 370 result.roi_img_desc = vpcInputDesc_; //需复制
  371 +#endif
370 372 }
371 373 id_to_result_.emplace(obj_key, std::move(result));
372 374 }
... ...
src/ai_engine_module/road_seg_correlation_algor.cpp
... ... @@ -901,6 +901,7 @@ namespace ai_engine_module
901 901 result.taskId = det_result.taskId;
902 902 result.objId = det_result.objId;
903 903 result.algor_type = algor_type;
  904 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
904 905 // 原图
905 906 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
906 907 result.origin_img_desc = src_img_info.pic_desc;
... ... @@ -926,6 +927,7 @@ namespace ai_engine_module
926 927 acldvppSetPicDescSize(vpcInputDesc_, nBufferSize);
927 928  
928 929 result.roi_img_desc = vpcInputDesc_; //需复制
  930 +#endif
929 931 }
930 932 id_to_result_.emplace(obj_key, std::move(result));
931 933 }
... ...
src/ai_engine_module/traffic_light_process.cpp
... ... @@ -611,6 +611,7 @@ namespace ai_engine_module
611 611 result.taskId = det_result.taskId;
612 612 result.objId = det_result.objId;
613 613 result.algor_type = algor_type;
  614 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
614 615 // 原图
615 616 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
616 617 result.origin_img_desc = src_img_info.pic_desc;
... ... @@ -636,6 +637,7 @@ namespace ai_engine_module
636 637 acldvppSetPicDescSize(vpcInputDesc_, nBufferSize);
637 638  
638 639 result.roi_img_desc = vpcInputDesc_; //需复制
  640 +#endif
639 641 }
640 642 id_to_result_.emplace(obj_key, std::move(result));
641 643 }
... ...
src/ai_engine_module/tricycle_manned_process.cpp
... ... @@ -255,11 +255,15 @@ namespace ai_engine_module
255 255 result.box = det_result.box;
256 256 result.taskId = det_result.taskId;
257 257 result.objId = det_result.objId;
  258 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
258 259 // 原图
259 260 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
260 261 result.origin_img_desc = src_img_info.pic_desc;
261 262 // 抠图
262 263 result.roi_img_desc = flattened_vpc_imgs[n].pic_desc;
  264 +#else
  265 + VPCUtil::vpc_img_release(flattened_vpc_imgs[n]);
  266 +#endif
263 267 }
264 268 id_to_result_.emplace(obj_key, std::move(result));
265 269 goto _continue;
... ...
src/ai_engine_module/truck_manned_process.cpp
... ... @@ -478,11 +478,15 @@ namespace ai_engine_module
478 478 result.box = det_result.box;
479 479 result.taskId = det_result.taskId;
480 480 result.objId = det_result.objId;
  481 +#if 0 /*暂不保存报警时刻的抓拍图,有需要再启用*/
481 482 // 原图
482 483 vpc_img_info src_img_info = VPCUtil::vpc_devMem2vpcImg(src_img);
483 484 result.origin_img_desc = src_img_info.pic_desc;
484 485 // 抠图
485 486 result.roi_img_desc = flattened_vpc_imgs[n].pic_desc;
  487 +#else
  488 + VPCUtil::vpc_img_release(flattened_vpc_imgs[n]);
  489 +#endif
486 490 }
487 491 id_to_result_.emplace(obj_key, std::move(result));
488 492 goto _continue;
... ...
src/ai_platform/MultiSourceProcess.cpp
... ... @@ -1727,7 +1727,7 @@ void CMultiSourceProcess::village_snapshot(vector<string>& vpt_interest_task_id,
1727 1727 std::string video_folder = "", result_folder = "", result_folder_little = ""; //要求各事件使用同一个视频保存地址,否则会被最后一个事件的地址覆盖
1728 1728 auto task_other_params = m_task_param_manager->get_task_other_param(task_id);
1729 1729 std::vector<int> algorithm_types;
1730   - bool save_single_algor_pic = false; // 是否保存单算法的报警图片
  1730 + bool save_single_algor_pic = false; // 是否保存单算法的报警图片(若设置为true需先去掉算法内部注释!!!)
1731 1731  
1732 1732 if (task_param_ptr->nonmotor_vehicle_algors.find(algorithm_type_t::TRICYCLE_MANNED) != task_param_ptr->nonmotor_vehicle_algors.end()) {
1733 1733 const auto &algor_other_params = task_other_params->find(algorithm_type_t::TRICYCLE_MANNED);
... ...
src/demo/demo.cpp
... ... @@ -1155,11 +1155,11 @@ void test_gpu(int gpuID){
1155 1155 switch (ch)
1156 1156 {
1157 1157 case 'a':
1158   - createTask(handle, algor_vec3, 4, false);
1159   - createTask(handle, algor_vec3, 5, false);
1160   - createTask(handle, algor_vec3, 6, false);
1161   - createTask(handle, algor_vec3, 7, false);
1162   - createTask(handle, algor_vec3, 8, false);
  1158 + createTask(handle, algor_vec2, 4, false);
  1159 + createTask(handle, algor_vec2, 5, false);
  1160 + createTask(handle, algor_vec2, 6, false);
  1161 + createTask(handle, algor_vec2, 7, false);
  1162 + createTask(handle, algor_vec2, 8, false);
1163 1163 break;
1164 1164 case 'c':
1165 1165 close_all_task(handle);
... ...