Commit d1221b3100c2a01d1744306ffacbb86ccb2077cf
1 parent
b17e0e69
优化显存占用,暂不缓存报警时刻的抓拍图
Showing
10 changed files
with
26 additions
and
6 deletions
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); | ... | ... |