Commit 6e2b079ea9bb0b02a61c1d329235943fafbc1ba0
1 parent
fccbe006
编译通过
Showing
10 changed files
with
70 additions
and
48 deletions
FFNvDecoder/NV12ToRGB.cu
@@ -257,14 +257,14 @@ namespace cuda_common | @@ -257,14 +257,14 @@ namespace cuda_common | ||
257 | dstImage[width * y * 3 + x * 3 + 5] = clip_v(red[1] * 0.25,0 ,255); | 257 | dstImage[width * y * 3 + x * 3 + 5] = clip_v(red[1] * 0.25,0 ,255); |
258 | } | 258 | } |
259 | 259 | ||
260 | - cudaError_t setColorSpace2(e_ColorSpace CSC, float hue) | 260 | + cudaError_t setColorSpace(FF_ColorSpace CSC, float hue) |
261 | { | 261 | { |
262 | 262 | ||
263 | float hueSin = sin(hue); | 263 | float hueSin = sin(hue); |
264 | float hueCos = cos(hue); | 264 | float hueCos = cos(hue); |
265 | 265 | ||
266 | float hueCSC[9]; | 266 | float hueCSC[9]; |
267 | - if (CSC == ITU601) | 267 | + if (CSC == ITU_601) |
268 | { | 268 | { |
269 | //CCIR 601 | 269 | //CCIR 601 |
270 | hueCSC[0] = 1.1644f; | 270 | hueCSC[0] = 1.1644f; |
@@ -277,7 +277,7 @@ namespace cuda_common | @@ -277,7 +277,7 @@ namespace cuda_common | ||
277 | hueCSC[7] = hueCos * 2.0172f; | 277 | hueCSC[7] = hueCos * 2.0172f; |
278 | hueCSC[8] = hueSin * -2.0172f; | 278 | hueCSC[8] = hueSin * -2.0172f; |
279 | } | 279 | } |
280 | - else if (CSC == ITU709) | 280 | + else if (CSC == ITU_709) |
281 | { | 281 | { |
282 | //CCIR 709 | 282 | //CCIR 709 |
283 | hueCSC[0] = 1.0f; | 283 | hueCSC[0] = 1.0f; |
FFNvDecoder/cuda_kernels.h
@@ -12,13 +12,13 @@ | @@ -12,13 +12,13 @@ | ||
12 | 12 | ||
13 | typedef enum | 13 | typedef enum |
14 | { | 14 | { |
15 | - ITU601 = 1, | ||
16 | - ITU709 = 2 | ||
17 | -} e_ColorSpace; | 15 | + ITU_601 = 1, |
16 | + ITU_709 = 2 | ||
17 | +} FF_ColorSpace; | ||
18 | 18 | ||
19 | namespace cuda_common | 19 | namespace cuda_common |
20 | { | 20 | { |
21 | - cudaError_t setColorSpace2(e_ColorSpace CSC, float hue); | 21 | + cudaError_t setColorSpace(FF_ColorSpace CSC, float hue); |
22 | 22 | ||
23 | cudaError_t NV12ToRGBnot(CUdeviceptr d_srcNV12, size_t nSourcePitch, unsigned char* d_dstRGB, int width, int height); | 23 | cudaError_t NV12ToRGBnot(CUdeviceptr d_srcNV12, size_t nSourcePitch, unsigned char* d_dstRGB, int width, int height); |
24 | cudaError_t CUDAToBGR(CUdeviceptr dataY, CUdeviceptr dataUV, size_t pitchY, size_t pitchUV, unsigned char* d_dstRGB, int width, int height); | 24 | cudaError_t CUDAToBGR(CUdeviceptr dataY, CUdeviceptr dataUV, size_t pitchY, size_t pitchUV, unsigned char* d_dstRGB, int width, int height); |
tsl_aiplatform/ai_engine_module/VPTProcess.h
@@ -65,6 +65,10 @@ int VPT_Process_GPU(void * handle, sy_img * batch_img, int batchsize, vector<on | @@ -65,6 +65,10 @@ int VPT_Process_GPU(void * handle, sy_img * batch_img, int batchsize, vector<on | ||
65 | vector<vector<onelevel_det_result>>& unUsedResult); | 65 | vector<vector<onelevel_det_result>>& unUsedResult); |
66 | 66 | ||
67 | 67 | ||
68 | +int VPT_Process_GPU2(void * handle, sy_img * batch_img, vector<string>& tasklist, | ||
69 | + vector<onelevel_det_result>& result, vector<vector<int>>& deleteObjectID, vector<vector<onelevel_det_result>>& unUsedResult); | ||
70 | + | ||
71 | + | ||
68 | /************************************************************************* | 72 | /************************************************************************* |
69 | * FUNCTION: VPT_Release | 73 | * FUNCTION: VPT_Release |
70 | * PURPOSE: 资源释放 | 74 | * PURPOSE: 资源释放 |
tsl_aiplatform/ai_engine_module/face_det_ai_engine.cpp
1 | #include "face_det_ai_engine.h" | 1 | #include "face_det_ai_engine.h" |
2 | #include <cuda.h> | 2 | #include <cuda.h> |
3 | #include <cuda_runtime.h> | 3 | #include <cuda_runtime.h> |
4 | -#include "cuda_kernels.h" | ||
5 | #include "mvpt_process_assist.h" | 4 | #include "mvpt_process_assist.h" |
6 | 5 | ||
7 | #include "../helpers/logger.hpp" | 6 | #include "../helpers/logger.hpp" |
@@ -402,7 +401,7 @@ int face_det_ai_engine::ai_engine_process_batch2(std::vector<std::string> &task_ | @@ -402,7 +401,7 @@ int face_det_ai_engine::ai_engine_process_batch2(std::vector<std::string> &task_ | ||
402 | 401 | ||
403 | //跟踪 | 402 | //跟踪 |
404 | int real_index = 0; | 403 | int real_index = 0; |
405 | - std::set<std::string>::iterator iter = task_ids.cbegin(); | 404 | + auto iter = task_ids.cbegin(); |
406 | while (iter != task_ids.cend()) | 405 | while (iter != task_ids.cend()) |
407 | { | 406 | { |
408 | if (!task_trackers[*iter].tracker.GetState()) | 407 | if (!task_trackers[*iter].tracker.GetState()) |
tsl_aiplatform/ai_engine_module/human_gather_statistics.cpp
@@ -83,7 +83,7 @@ namespace ai_engine_module | @@ -83,7 +83,7 @@ namespace ai_engine_module | ||
83 | return results; | 83 | return results; |
84 | } | 84 | } |
85 | 85 | ||
86 | - std::vector<result_data_t> human_gather_statistics_process2(vector<string>& taskin_play_id, sy_img* images, vector<onelevel_det_result> &ol_det_result) | 86 | + std::vector<result_data_t> human_gather_statistics::human_gather_statistics_process2(vector<string>& taskin_play_id, sy_img* images, vector<onelevel_det_result> &ol_det_result) |
87 | { | 87 | { |
88 | std::vector<result_data_t> results; | 88 | std::vector<result_data_t> results; |
89 | 89 |
tsl_aiplatform/ai_engine_module/human_gather_statistics.h
@@ -38,6 +38,7 @@ namespace ai_engine_module | @@ -38,6 +38,7 @@ namespace ai_engine_module | ||
38 | public: | 38 | public: |
39 | int human_gather_statistics_init(); | 39 | int human_gather_statistics_init(); |
40 | std::vector<result_data_t> human_gather_statistics_process(set<string>& taskin_play_id, sy_img* images, vector<onelevel_det_result> &ol_det_result); | 40 | std::vector<result_data_t> human_gather_statistics_process(set<string>& taskin_play_id, sy_img* images, vector<onelevel_det_result> &ol_det_result); |
41 | + std::vector<result_data_t> human_gather_statistics_process2(vector<string>& taskin_play_id, sy_img* images, vector<onelevel_det_result> &ol_det_result); | ||
41 | }; | 42 | }; |
42 | } | 43 | } |
43 | } | 44 | } |
44 | \ No newline at end of file | 45 | \ No newline at end of file |
tsl_aiplatform/ai_platform/GpuRgbMemory.hpp
1 | #include<string> | 1 | #include<string> |
2 | 2 | ||
3 | #include "../helpers/cuda_helper.h" | 3 | #include "../helpers/cuda_helper.h" |
4 | -#include "../helpers/timer.h" | 4 | +#include "../helpers/timer.hpp" |
5 | 5 | ||
6 | using namespace std; | 6 | using namespace std; |
7 | 7 | ||
8 | class GpuRgbMemory{ | 8 | class GpuRgbMemory{ |
9 | 9 | ||
10 | public: | 10 | public: |
11 | - GpuRgbMemory(, int _channel, int _width, int _height, string _id, string _gpuid, bool _isused){ | 11 | + GpuRgbMemory(int _channel, int _width, int _height, string _id, string _gpuid, bool _isused){ |
12 | channel = _channel; | 12 | channel = _channel; |
13 | width = _width; | 13 | width = _width; |
14 | height = _height; | 14 | height = _height; |
@@ -41,7 +41,7 @@ public: | @@ -41,7 +41,7 @@ public: | ||
41 | void setIsused(bool _isused) { | 41 | void setIsused(bool _isused) { |
42 | isused = _isused; | 42 | isused = _isused; |
43 | // 更新时间戳 | 43 | // 更新时间戳 |
44 | - timestamp = helpers::timer::get_timestamp<std::chrono::milliseconds>() | 44 | + timestamp = helpers::timer::get_timestamp<std::chrono::milliseconds>(); |
45 | } | 45 | } |
46 | 46 | ||
47 | string getId() { | 47 | string getId() { |
tsl_aiplatform/ai_platform/GpuRgbMemoryFactory.cpp
@@ -31,7 +31,7 @@ GpuRgbMemory* GpuRgbMemoryFactory::getMemory(int size, string id, string gpuid){ | @@ -31,7 +31,7 @@ GpuRgbMemory* GpuRgbMemoryFactory::getMemory(int size, string id, string gpuid){ | ||
31 | } | 31 | } |
32 | 32 | ||
33 | // 没有找到,或者找到了但是不符合需求重新分配 | 33 | // 没有找到,或者找到了但是不符合需求重新分配 |
34 | - GpuRgbMemory* mem = new GpuRgbMemory(size, true, id, gpuid); | 34 | + GpuRgbMemory* mem = nullptr; //new GpuRgbMemory(size, true, id, gpuid); |
35 | memoryMap[id] = mem; | 35 | memoryMap[id] = mem; |
36 | return mem; | 36 | return mem; |
37 | } | 37 | } |
tsl_aiplatform/ai_platform/MultiSourceProcess.cpp
1 | #include "MultiSourceProcess.h" | 1 | #include "MultiSourceProcess.h" |
2 | 2 | ||
3 | +#ifdef POST_USE_RABBITMQ | ||
4 | + #include "../helpers/gen_json.hpp" | ||
5 | +#endif | ||
6 | + | ||
7 | +#include "../helpers/logger.hpp" | ||
8 | +#include "../helpers/os_helper.hpp" | ||
3 | 9 | ||
4 | #include "authority.h" | 10 | #include "authority.h" |
5 | 11 | ||
@@ -296,8 +302,8 @@ void CMultiSourceProcess::post_decode_thread(task_param _cur_task_param, AVFrame | @@ -296,8 +302,8 @@ void CMultiSourceProcess::post_decode_thread(task_param _cur_task_param, AVFrame | ||
296 | GpuRgbMemory* gpuMem = new GpuRgbMemory(3, gpuFrame->width, gpuFrame->height, _cur_task_param.task_id, _cur_task_param.gpu_id_ , true); | 302 | GpuRgbMemory* gpuMem = new GpuRgbMemory(3, gpuFrame->width, gpuFrame->height, _cur_task_param.task_id, _cur_task_param.gpu_id_ , true); |
297 | 303 | ||
298 | cudaSetDevice(atoi(_cur_task_param.gpu_id_)); | 304 | cudaSetDevice(atoi(_cur_task_param.gpu_id_)); |
299 | - cuda_common::setColorSpace2( ITU709, 0 ); | ||
300 | - cudaError_t cudaStatus = cuda_common::CUDAToBGR((CUdeviceptr)gpuFrame->data[0],(CUdeviceptr)gpuFrame->data[1], gpuFrame->linesize[0], gpuFrame->linesize[1], gpuMem->pHwRgb, gpuFrame->width, gpuFrame->height); | 305 | + cuda_common::setColorSpace( ITU_709, 0 ); |
306 | + cudaError_t cudaStatus = cuda_common::CUDAToBGR((CUdeviceptr)gpuFrame->data[0],(CUdeviceptr)gpuFrame->data[1], gpuFrame->linesize[0], gpuFrame->linesize[1], gpuMem->getMem(), gpuFrame->width, gpuFrame->height); | ||
301 | cudaDeviceSynchronize(); | 307 | cudaDeviceSynchronize(); |
302 | if (cudaStatus != cudaSuccess) { | 308 | if (cudaStatus != cudaSuccess) { |
303 | cout << "CUDAToBGR failed !!!" << endl; | 309 | cout << "CUDAToBGR failed !!!" << endl; |
@@ -446,7 +452,7 @@ void CMultiSourceProcess::algorthim_vpt(vector<string>& task_list, sy_img *batch | @@ -446,7 +452,7 @@ void CMultiSourceProcess::algorthim_vpt(vector<string>& task_list, sy_img *batch | ||
446 | continue; | 452 | continue; |
447 | 453 | ||
448 | vpt_interest_task_id.push_back(task_id); | 454 | vpt_interest_task_id.push_back(task_id); |
449 | - vpt_interest_imgs.emplace_back(batch_img[_idx]); | 455 | + vpt_interest_imgs.emplace_back(batch_img[i]); |
450 | } | 456 | } |
451 | 457 | ||
452 | /* 待检测的图片不为空 开始检测 */ | 458 | /* 待检测的图片不为空 开始检测 */ |
@@ -493,8 +499,11 @@ void CMultiSourceProcess::algorthim_vpt(vector<string>& task_list, sy_img *batch | @@ -493,8 +499,11 @@ void CMultiSourceProcess::algorthim_vpt(vector<string>& task_list, sy_img *batch | ||
493 | 499 | ||
494 | // 行人安全分析算法模块 | 500 | // 行人安全分析算法模块 |
495 | void CMultiSourceProcess::algorthim_pedestrian_safety(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs, vector<onelevel_det_result>& vptResult){ | 501 | void CMultiSourceProcess::algorthim_pedestrian_safety(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs, vector<onelevel_det_result>& vptResult){ |
502 | + | ||
503 | +#ifdef WITH_SECOND_PROCESS | ||
504 | + | ||
496 | vector<string> interest_task_id; | 505 | vector<string> interest_task_id; |
497 | - decltype(vptResult) interest_vpt_result; | 506 | + vector<onelevel_det_result> interest_vpt_result; |
498 | vector<sy_img> interest_imgs(0); | 507 | vector<sy_img> interest_imgs(0); |
499 | 508 | ||
500 | int _idx = 0; | 509 | int _idx = 0; |
@@ -516,11 +525,14 @@ void CMultiSourceProcess::algorthim_pedestrian_safety(vector<string>& vpt_intere | @@ -516,11 +525,14 @@ void CMultiSourceProcess::algorthim_pedestrian_safety(vector<string>& vpt_intere | ||
516 | 525 | ||
517 | if (!interest_imgs.empty()) | 526 | if (!interest_imgs.empty()) |
518 | pedestrian_safety_detector_.update_mstreams2(interest_task_id, interest_imgs.data(), interest_vpt_result); | 527 | pedestrian_safety_detector_.update_mstreams2(interest_task_id, interest_imgs.data(), interest_vpt_result); |
528 | + | ||
529 | +#endif | ||
519 | } | 530 | } |
520 | 531 | ||
521 | // 逆行&非法闯入算法模块 | 532 | // 逆行&非法闯入算法模块 |
522 | void CMultiSourceProcess::algorthim_retrograde_trespass(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs, vector<onelevel_det_result>& vptResult | 533 | void CMultiSourceProcess::algorthim_retrograde_trespass(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs, vector<onelevel_det_result>& vptResult |
523 | ,vector<vector<int>>& deleteObjectID){ | 534 | ,vector<vector<int>>& deleteObjectID){ |
535 | +#ifdef WITH_SECOND_PROCESS | ||
524 | vector<string> interest_task_id; | 536 | vector<string> interest_task_id; |
525 | decltype(vptResult) interest_vpt_result; | 537 | decltype(vptResult) interest_vpt_result; |
526 | vector<sy_img> interest_imgs(0); | 538 | vector<sy_img> interest_imgs(0); |
@@ -562,6 +574,7 @@ void CMultiSourceProcess::algorthim_retrograde_trespass(vector<string>& vpt_inte | @@ -562,6 +574,7 @@ void CMultiSourceProcess::algorthim_retrograde_trespass(vector<string>& vpt_inte | ||
562 | trespass_interest_task_id, trespass_interest_imgs.data(), trespass_interest_vpt_result, | 574 | trespass_interest_task_id, trespass_interest_imgs.data(), trespass_interest_vpt_result, |
563 | trespass_interest_deleteobjs); | 575 | trespass_interest_deleteobjs); |
564 | } | 576 | } |
577 | +#endif | ||
565 | } | 578 | } |
566 | 579 | ||
567 | // for snapshot algorithm. 轨迹结束目标 做最后的结果返回(当前返回算法结果+快照保存路径) | 580 | // for snapshot algorithm. 轨迹结束目标 做最后的结果返回(当前返回算法结果+快照保存路径) |
@@ -810,9 +823,11 @@ int CMultiSourceProcess::endframe_obj_process(const OBJ_KEY &obj_key, algorithm_ | @@ -810,9 +823,11 @@ int CMultiSourceProcess::endframe_obj_process(const OBJ_KEY &obj_key, algorithm_ | ||
810 | 823 | ||
811 | // 打架跌倒算法模块 | 824 | // 打架跌倒算法模块 |
812 | void CMultiSourceProcess::algorithm_fight_fall(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs, vector<onelevel_det_result>& vptResult){ | 825 | void CMultiSourceProcess::algorithm_fight_fall(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs, vector<onelevel_det_result>& vptResult){ |
826 | + | ||
827 | +#ifdef WITH_SECOND_PROCESS | ||
813 | /* a. find fight or fall classification taskId. */ | 828 | /* a. find fight or fall classification taskId. */ |
814 | vector<string> interest_task_id; | 829 | vector<string> interest_task_id; |
815 | - decltype(vptResult) interest_vpt_result; | 830 | + vector<onelevel_det_result> interest_vpt_result; |
816 | vector<sy_img> interest_imgs(0); | 831 | vector<sy_img> interest_imgs(0); |
817 | 832 | ||
818 | int _idx = 0; | 833 | int _idx = 0; |
@@ -820,7 +835,7 @@ void CMultiSourceProcess::algorithm_fight_fall(vector<string>& vpt_interest_task | @@ -820,7 +835,7 @@ void CMultiSourceProcess::algorithm_fight_fall(vector<string>& vpt_interest_task | ||
820 | ++_task_id_iter, ++_idx) // loop task_id; | 835 | ++_task_id_iter, ++_idx) // loop task_id; |
821 | { | 836 | { |
822 | const auto &task_id = *_task_id_iter; | 837 | const auto &task_id = *_task_id_iter; |
823 | - auto algor_map = pThreadParam->m_task_param_manager->get_task_other_param(task_id); | 838 | + auto algor_map = m_task_param_manager->get_task_other_param(task_id); |
824 | if (algor_map->find(algorithm_type_t::PEDESTRIAN_FIGHT) != algor_map->end() || | 839 | if (algor_map->find(algorithm_type_t::PEDESTRIAN_FIGHT) != algor_map->end() || |
825 | algor_map->find(algorithm_type_t::PEDESTRIAN_FALL) != algor_map->end()) { | 840 | algor_map->find(algorithm_type_t::PEDESTRIAN_FALL) != algor_map->end()) { |
826 | interest_task_id.emplace_back(task_id); | 841 | interest_task_id.emplace_back(task_id); |
@@ -853,32 +868,39 @@ void CMultiSourceProcess::algorithm_fight_fall(vector<string>& vpt_interest_task | @@ -853,32 +868,39 @@ void CMultiSourceProcess::algorithm_fight_fall(vector<string>& vpt_interest_task | ||
853 | } | 868 | } |
854 | } | 869 | } |
855 | } | 870 | } |
871 | + | ||
872 | +#endif | ||
856 | } | 873 | } |
857 | 874 | ||
858 | -void CMultiSourceProcess::algorithm_takeaway_member_cls(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs, vector<onelevel_det_result>& vptResult){ | ||
859 | - /* find takeaway member classification taskId. */ | ||
860 | - vector<string> interest_task_id; | ||
861 | - decltype(vptResult) interest_vpt_result; | ||
862 | - vector<sy_img> interest_imgs(0); | 875 | +void CMultiSourceProcess::algorithm_takeaway_member_cls(vector<string>& vpt_interest_task_id, vector<sy_img>& vpt_interest_imgs |
876 | + , vector<onelevel_det_result>& vptResult){ | ||
863 | 877 | ||
864 | - int _idx = 0; | ||
865 | - for (auto _task_id_iter = vpt_interest_task_id.begin(); _task_id_iter != vpt_interest_task_id.end(); | ||
866 | - ++_task_id_iter, ++_idx) // loop task_id; | ||
867 | - { | ||
868 | - const auto &task_id = *_task_id_iter; | 878 | +#ifdef WITH_SECOND_PROCESS |
879 | + /* find takeaway member classification taskId. */ | ||
880 | + vector<string> interest_task_id; | ||
881 | + decltype(vptResult) interest_vpt_result; | ||
882 | + vector<sy_img> interest_imgs(0); | ||
869 | 883 | ||
870 | - auto algor_map = pThreadParam->m_task_param_manager->get_task_other_param(task_id); | ||
871 | - if (algor_map->find(algorithm_type_t::TAKEAWAY_MEMBER_CLASSIFICATION) == algor_map->end()) | ||
872 | - continue; | 884 | + int _idx = 0; |
885 | + for (auto _task_id_iter = vpt_interest_task_id.begin(); _task_id_iter != vpt_interest_task_id.end(); | ||
886 | + ++_task_id_iter, ++_idx) // loop task_id; | ||
887 | + { | ||
888 | + const auto &task_id = *_task_id_iter; | ||
873 | 889 | ||
874 | - interest_task_id.emplace_back(task_id); | ||
875 | - interest_imgs.emplace_back(vpt_interest_imgs[_idx]); | ||
876 | - interest_vpt_result.emplace_back(vptResult[_idx]); | ||
877 | - } | 890 | + auto algor_map = pThreadParam->m_task_param_manager->get_task_other_param(task_id); |
891 | + if (algor_map->find(algorithm_type_t::TAKEAWAY_MEMBER_CLASSIFICATION) == algor_map->end()) | ||
892 | + continue; | ||
878 | 893 | ||
879 | - if (!interest_imgs.empty()) | ||
880 | - takeaway_member_.update_mstreams2(interest_task_id, interest_imgs.data(), interest_vpt_result); | ||
881 | - } | 894 | + interest_task_id.emplace_back(task_id); |
895 | + interest_imgs.emplace_back(vpt_interest_imgs[_idx]); | ||
896 | + interest_vpt_result.emplace_back(vptResult[_idx]); | ||
897 | + } | ||
898 | + | ||
899 | + if (!interest_imgs.empty()) | ||
900 | + takeaway_member_.update_mstreams2(interest_task_id, interest_imgs.data(), interest_vpt_result); | ||
901 | + | ||
902 | +#endif | ||
903 | +} | ||
882 | 904 | ||
883 | /* 每帧都需要做的算法模块 */ | 905 | /* 每帧都需要做的算法模块 */ |
884 | int CMultiSourceProcess::everyframe_process(vector<string> &task_in_play_id, sy_img *images, | 906 | int CMultiSourceProcess::everyframe_process(vector<string> &task_in_play_id, sy_img *images, |
@@ -988,7 +1010,7 @@ void CMultiSourceProcess::algorthim_face_detect(vector<string>& task_list, sy_im | @@ -988,7 +1010,7 @@ void CMultiSourceProcess::algorthim_face_detect(vector<string>& task_list, sy_im | ||
988 | if (!task_has_face_algor(task_id)) | 1010 | if (!task_has_face_algor(task_id)) |
989 | continue; | 1011 | continue; |
990 | 1012 | ||
991 | - face_det_interest_task_id.insert(task_id); | 1013 | + face_det_interest_task_id.emplace_back(task_id); |
992 | face_det_interest_imgs.emplace_back(batch_img[_idx]); | 1014 | face_det_interest_imgs.emplace_back(batch_img[_idx]); |
993 | } | 1015 | } |
994 | 1016 |
tsl_aiplatform/ai_platform/MultiSourceProcess.h
@@ -173,12 +173,8 @@ public: | @@ -173,12 +173,8 @@ public: | ||
173 | 173 | ||
174 | /* frame process api */ | 174 | /* frame process api */ |
175 | int FinishProcessThread(); | 175 | int FinishProcessThread(); |
176 | - int endframe_obj_process(const OBJ_KEY &obj_key, algorithm_type_t algor_type); | 176 | + |
177 | int everyframe_process(vector<string> &task_in_play_id, sy_img *images, vector<onelevel_det_result> &ol_det_result); | 177 | int everyframe_process(vector<string> &task_in_play_id, sy_img *images, vector<onelevel_det_result> &ol_det_result); |
178 | - bool save_snapshot_process(const OBJ_KEY &obj_key, const algorithm_type_t &algorithm_type, const sy_img &ori_img, | ||
179 | - const sy_img &roi_img, const long long id, const std::string &json_str, | ||
180 | - bool enable_async = true, const bool ori_img_is_in_gpu = true, | ||
181 | - const bool roi_img_is_in_gpu = true); | ||
182 | 178 | ||
183 | public: | 179 | public: |
184 | void algorthim_process_thread(const string gpuid); | 180 | void algorthim_process_thread(const string gpuid); |
@@ -214,10 +210,10 @@ private: | @@ -214,10 +210,10 @@ private: | ||
214 | int endframe_obj_process(const OBJ_KEY &obj_key, algorithm_type_t algor_type); | 210 | int endframe_obj_process(const OBJ_KEY &obj_key, algorithm_type_t algor_type); |
215 | /* 实现快照保存功能(还未真正保存 将显存图片cp到内存 | 211 | /* 实现快照保存功能(还未真正保存 将显存图片cp到内存 |
216 | * 直接保存本地或者存入缓存队列异步保存,保存方式看需求,报警类需要同步保存报警,分析类可异步保存后返回)*/ | 212 | * 直接保存本地或者存入缓存队列异步保存,保存方式看需求,报警类需要同步保存报警,分析类可异步保存后返回)*/ |
217 | -bool save_snapshot_process(const OBJ_KEY &obj_key, const algorithm_type_t &algorithm_type, | 213 | + bool save_snapshot_process(const OBJ_KEY &obj_key, const algorithm_type_t &algorithm_type, |
218 | const sy_img &ori_img, const sy_img &roi_img, const long long id, | 214 | const sy_img &ori_img, const sy_img &roi_img, const long long id, |
219 | const std::string &json_str, bool enable_async, | 215 | const std::string &json_str, bool enable_async, |
220 | - const bool ori_img_is_in_gpu, const bool roi_img_is_in_gpu) | 216 | + const bool ori_img_is_in_gpu, const bool roi_img_is_in_gpu); |
221 | 217 | ||
222 | private: | 218 | private: |
223 | map<string, pthread_t*> gpuProcessthreadMap; | 219 | map<string, pthread_t*> gpuProcessthreadMap; |