Commit 1067e0668f9189cde8a072d19597286eb59cf956
1 parent
7e57d38f
修复定时抓拍
Showing
4 changed files
with
116 additions
and
10 deletions
src/ai_platform/MultiSourceProcess.cpp
@@ -364,7 +364,18 @@ bool CMultiSourceProcess::task_has_vpt_algor(const std::string &task_id){ | @@ -364,7 +364,18 @@ bool CMultiSourceProcess::task_has_vpt_algor(const std::string &task_id){ | ||
364 | if (algor_map == nullptr) | 364 | if (algor_map == nullptr) |
365 | return false; | 365 | return false; |
366 | 366 | ||
367 | - return (algor_map->find(algorithm_type_t::HUMAN_GATHER) != algor_map->end() || | 367 | + return (algor_map->find(algorithm_type_t::HUMAN_GATHER) != algor_map->end() || |
368 | + algor_map->find(algorithm_type_t::VEHICLE_GATHER) != algor_map->end() || | ||
369 | + algor_map->find(algorithm_type_t::HUMAN_CROSSING_LINE) != algor_map->end() || | ||
370 | + algor_map->find(algorithm_type_t::HUMAN_DENSITY) != algor_map->end() || | ||
371 | + algor_map->find(algorithm_type_t::HUMAN_CLIMB) != algor_map->end() || | ||
372 | + algor_map->find(algorithm_type_t::VEHICLE_ILLEGAL_CROSSING_LINE) != algor_map->end() || | ||
373 | + algor_map->find(algorithm_type_t::HUMAN_LINGER) != algor_map->end() || | ||
374 | + algor_map->find(algorithm_type_t::VEHICLE_ILLEGAL_PARKING) != algor_map->end() || | ||
375 | + algor_map->find(algorithm_type_t::HUMAN_REGION_GATHER) != algor_map->end() || | ||
376 | + algor_map->find(algorithm_type_t::HUMAN_LEAVE_REGION) != algor_map->end() || | ||
377 | + algor_map->find(algorithm_type_t::HUMAN_REGION_DISMISS) != algor_map->end() || | ||
378 | + algor_map->find(algorithm_type_t::HUMAN_REGION_FAST_MOVING) != algor_map->end() || | ||
368 | algor_map->find(algorithm_type_t::HUMAN_SNAPSHOT) != algor_map->end() || | 379 | algor_map->find(algorithm_type_t::HUMAN_SNAPSHOT) != algor_map->end() || |
369 | algor_map->find(algorithm_type_t::NONMOTOR_VEHICLE_SNAPSHOT) != algor_map->end() || | 380 | algor_map->find(algorithm_type_t::NONMOTOR_VEHICLE_SNAPSHOT) != algor_map->end() || |
370 | algor_map->find(algorithm_type_t::SMOKING_DET) != algor_map->end() || | 381 | algor_map->find(algorithm_type_t::SMOKING_DET) != algor_map->end() || |
@@ -378,7 +389,11 @@ bool CMultiSourceProcess::task_has_vpt_algor(const std::string &task_id){ | @@ -378,7 +389,11 @@ bool CMultiSourceProcess::task_has_vpt_algor(const std::string &task_id){ | ||
378 | algor_map->find(algorithm_type_t::PEDESTRIAN_RETROGRADE) != algor_map->end() || | 389 | algor_map->find(algorithm_type_t::PEDESTRIAN_RETROGRADE) != algor_map->end() || |
379 | algor_map->find(algorithm_type_t::VEHICLE_RETROGRADE) != algor_map->end() || | 390 | algor_map->find(algorithm_type_t::VEHICLE_RETROGRADE) != algor_map->end() || |
380 | algor_map->find(algorithm_type_t::PEDESTRIAN_TRESPASS) != algor_map->end() || | 391 | algor_map->find(algorithm_type_t::PEDESTRIAN_TRESPASS) != algor_map->end() || |
381 | - algor_map->find(algorithm_type_t::VEHICLE_TRESPASS) != algor_map->end()); | 392 | + algor_map->find(algorithm_type_t::VEHICLE_TRESPASS) != algor_map->end() || |
393 | + algor_map->find(algorithm_type_t::VEHICLE_TIMING_SNAPSHOT) != algor_map->end() || | ||
394 | + algor_map->find(algorithm_type_t::HUMAN_TIMING_SNAPSHOT) != algor_map->end() || | ||
395 | + algor_map->find(algorithm_type_t::NONMOTOR_VEHICLE_TIMING_SNAPSHOT) != algor_map->end() | ||
396 | + ); | ||
382 | } | 397 | } |
383 | 398 | ||
384 | void CMultiSourceProcess::decoded_cbk(DeviceMemory* devFrame){ | 399 | void CMultiSourceProcess::decoded_cbk(DeviceMemory* devFrame){ |
@@ -625,18 +640,18 @@ int CMultiSourceProcess::algorthim_vpt(vector<DeviceMemory*> vec_gpuMem){ | @@ -625,18 +640,18 @@ int CMultiSourceProcess::algorthim_vpt(vector<DeviceMemory*> vec_gpuMem){ | ||
625 | 640 | ||
626 | m_snapshot_reprocessing->screen_effective_snapshot(vptResult); | 641 | m_snapshot_reprocessing->screen_effective_snapshot(vptResult); |
627 | 642 | ||
628 | -#ifndef VEHICLE_MULTI_BOXES | 643 | +// #ifndef VEHICLE_MULTI_BOXES |
629 | /* 快照优选(内部可实现不同的快照优选策略) */ | 644 | /* 快照优选(内部可实现不同的快照优选策略) */ |
630 | m_snapshot_reprocessing->update_bestsnapshot(vec_vptMem, vptResult, deleteObjectID); | 645 | m_snapshot_reprocessing->update_bestsnapshot(vec_vptMem, vptResult, deleteObjectID); |
631 | /* for snapshot algorithm. 轨迹结束目标 做最后的结果返回(当前返回算法结果+快照保存路径)*/ | 646 | /* for snapshot algorithm. 轨迹结束目标 做最后的结果返回(当前返回算法结果+快照保存路径)*/ |
632 | vehicle_snapshot(vpt_interest_task_id, deleteObjectID); | 647 | vehicle_snapshot(vpt_interest_task_id, deleteObjectID); |
633 | -#else | 648 | +// #else |
634 | algorithm_timing_snapshot(vec_vptMem, vptResult, algorithm_type_t::HUMAN_TIMING_SNAPSHOT); | 649 | algorithm_timing_snapshot(vec_vptMem, vptResult, algorithm_type_t::HUMAN_TIMING_SNAPSHOT); |
635 | - algorithm_timing_snapshot(vec_vptMem, vptResult, algorithm_type_t::VEHICLE_TIMING_SNAPSHOT); | ||
636 | - algorithm_timing_snapshot(vec_vptMem, vptResult, algorithm_type_t::NONMOTOR_VEHICLE_TIMING_SNAPSHOT); | 650 | + // algorithm_timing_snapshot(vec_vptMem, vptResult, algorithm_type_t::VEHICLE_TIMING_SNAPSHOT); |
651 | + // algorithm_timing_snapshot(vec_vptMem, vptResult, algorithm_type_t::NONMOTOR_VEHICLE_TIMING_SNAPSHOT); | ||
637 | 652 | ||
638 | send_locus_finished_msg(vpt_interest_task_id, deleteObjectID); | 653 | send_locus_finished_msg(vpt_interest_task_id, deleteObjectID); |
639 | -#endif | 654 | +// #endif |
640 | 655 | ||
641 | // #ifdef WITH_SECOND_PROCESS | 656 | // #ifdef WITH_SECOND_PROCESS |
642 | /* for pedestrian safety det. 行人安全分析算法模块 */ | 657 | /* for pedestrian safety det. 行人安全分析算法模块 */ |
src/ai_platform/task_param_manager.cpp
@@ -35,6 +35,16 @@ bool copy_algor_param_aux(const algorithm_type_t &algor_type, const std::string | @@ -35,6 +35,16 @@ bool copy_algor_param_aux(const algorithm_type_t &algor_type, const std::string | ||
35 | case algorithm_type_t::VEHICLE_SNAPSHOT: | 35 | case algorithm_type_t::VEHICLE_SNAPSHOT: |
36 | m_algor_config_params[task_id].vehicle_algors.insert(algor_type); | 36 | m_algor_config_params[task_id].vehicle_algors.insert(algor_type); |
37 | goto _snapshot_param_copy; | 37 | goto _snapshot_param_copy; |
38 | + case algorithm_type_t::VEHICLE_TIMING_SNAPSHOT: // 车辆轨迹定时抓拍 | ||
39 | + m_algor_config_params[task_id].vehicle_algors.insert(algor_type); | ||
40 | + goto _snapshot_param_copy; | ||
41 | + case algorithm_type_t::HUMAN_TIMING_SNAPSHOT: // 行人轨迹定时抓拍 | ||
42 | + m_algor_config_params[task_id].human_algors.insert(algor_type); | ||
43 | + goto _snapshot_param_copy; | ||
44 | + case algorithm_type_t::NONMOTOR_VEHICLE_TIMING_SNAPSHOT: // 非机动车轨迹定时抓拍 | ||
45 | + m_algor_config_params[task_id].nonmotor_vehicle_algors.insert(algor_type); | ||
46 | + goto _snapshot_param_copy; | ||
47 | + | ||
38 | case algorithm_type_t::NONMOTOR_VEHICLE_SNAPSHOT: { | 48 | case algorithm_type_t::NONMOTOR_VEHICLE_SNAPSHOT: { |
39 | m_algor_config_params[task_id].nonmotor_vehicle_algors.insert(algor_type); | 49 | m_algor_config_params[task_id].nonmotor_vehicle_algors.insert(algor_type); |
40 | _snapshot_param_copy : { | 50 | _snapshot_param_copy : { |
src/demo/demo.cpp
@@ -879,6 +879,88 @@ void set_task_params(task_param &tparam, const unsigned &idx, const algorithm_ty | @@ -879,6 +879,88 @@ void set_task_params(task_param &tparam, const unsigned &idx, const algorithm_ty | ||
879 | algor_init_params->basic_param = basic_params; | 879 | algor_init_params->basic_param = basic_params; |
880 | } break; | 880 | } break; |
881 | 881 | ||
882 | + case algorithm_type_t::VEHICLE_TIMING_SNAPSHOT: { | ||
883 | + | ||
884 | + auto basic_params = new algor_basic_config_param_t; | ||
885 | + { | ||
886 | + basic_params->result_folder = "res/vehicle_timing_snapshot"; | ||
887 | + basic_params->result_folder_little = "res/vehicle_timing_little"; | ||
888 | + | ||
889 | + auto adapt_params = new universal_algor_adapt_param; | ||
890 | + { | ||
891 | + adapt_params->points_count = 4; // 0表示不生效 | ||
892 | + adapt_params->points[0].x_ = 0; adapt_params->points[0].y_ = 0; | ||
893 | + adapt_params->points[1].x_ = 1920; adapt_params->points[1].y_ = 0; | ||
894 | + adapt_params->points[2].x_ = 1920; adapt_params->points[2].y_ = 1080; | ||
895 | + adapt_params->points[3].x_ = 0; adapt_params->points[3].y_ = 1080; | ||
896 | + } | ||
897 | + basic_params->adapt_param = adapt_params; | ||
898 | + } | ||
899 | + | ||
900 | + auto algor_params = new algor_config_param_snapshot; | ||
901 | + { | ||
902 | + algor_params->threshold = 0.6f; | ||
903 | + algor_params->snap_frame_interval = 25; | ||
904 | + } | ||
905 | + algor_init_params->algor_param = algor_params; | ||
906 | + algor_init_params->basic_param = basic_params; | ||
907 | + } break; | ||
908 | + | ||
909 | + case algorithm_type_t::HUMAN_TIMING_SNAPSHOT: { | ||
910 | + | ||
911 | + auto basic_params = new algor_basic_config_param_t; | ||
912 | + { | ||
913 | + basic_params->result_folder = "res/human_timing_snapshot"; | ||
914 | + basic_params->result_folder_little = "res/human_timing_little"; | ||
915 | + | ||
916 | + //共性算法适配测试用 | ||
917 | + auto adapt_params = new universal_algor_adapt_param; | ||
918 | + { | ||
919 | + adapt_params->points_count = 4; // 0表示不生效 | ||
920 | + adapt_params->points[0].x_ = 0; adapt_params->points[0].y_ = 0; | ||
921 | + adapt_params->points[1].x_ = 1920; adapt_params->points[1].y_ = 0; | ||
922 | + adapt_params->points[2].x_ = 1920; adapt_params->points[2].y_ = 1080; | ||
923 | + adapt_params->points[3].x_ = 0; adapt_params->points[3].y_ = 1080; | ||
924 | + } | ||
925 | + basic_params->adapt_param = adapt_params; | ||
926 | + } | ||
927 | + | ||
928 | + auto algor_params = new algor_config_param_snapshot; | ||
929 | + { | ||
930 | + algor_params->threshold = 0.6f; | ||
931 | + algor_params->snap_frame_interval = 25; | ||
932 | + } | ||
933 | + algor_init_params->algor_param = algor_params; | ||
934 | + algor_init_params->basic_param = basic_params; | ||
935 | + } break; | ||
936 | + | ||
937 | + case algorithm_type_t::NONMOTOR_VEHICLE_TIMING_SNAPSHOT: { | ||
938 | + | ||
939 | + auto basic_params = new algor_basic_config_param_t; | ||
940 | + { | ||
941 | + basic_params->result_folder = "res/nonvehicle_timing_snapshot"; | ||
942 | + basic_params->result_folder_little = "res/nonvehicle_timing_little"; | ||
943 | + | ||
944 | + auto adapt_params = new universal_algor_adapt_param; | ||
945 | + { | ||
946 | + adapt_params->points_count = 4; // 0表示不生效 | ||
947 | + adapt_params->points[0].x_ = 0; adapt_params->points[0].y_ = 0; | ||
948 | + adapt_params->points[1].x_ = 1920; adapt_params->points[1].y_ = 0; | ||
949 | + adapt_params->points[2].x_ = 1920; adapt_params->points[2].y_ = 1080; | ||
950 | + adapt_params->points[3].x_ = 0; adapt_params->points[3].y_ = 1080; | ||
951 | + } | ||
952 | + basic_params->adapt_param = adapt_params; | ||
953 | + } | ||
954 | + | ||
955 | + auto algor_params = new algor_config_param_snapshot; | ||
956 | + { | ||
957 | + algor_params->threshold = 0.6f; | ||
958 | + algor_params->snap_frame_interval = 25; | ||
959 | + } | ||
960 | + algor_init_params->algor_param = algor_params; | ||
961 | + algor_init_params->basic_param = basic_params; | ||
962 | + } break; | ||
963 | + | ||
882 | default: { | 964 | default: { |
883 | if (algor_init_params != nullptr) { | 965 | if (algor_init_params != nullptr) { |
884 | delete algor_init_params; | 966 | delete algor_init_params; |
@@ -1231,7 +1313,8 @@ void test_gpu(int gpuID){ | @@ -1231,7 +1313,8 @@ void test_gpu(int gpuID){ | ||
1231 | ,algorithm_type_t::VEHICLE_ILLEGAL_CROSSING_LINE}; | 1313 | ,algorithm_type_t::VEHICLE_ILLEGAL_CROSSING_LINE}; |
1232 | 1314 | ||
1233 | std::vector<algorithm_type_t> algor_wenhuagong = {algorithm_type_t::NONMOTOR_VEHICLE_SNAPSHOT, algorithm_type_t::VEHICLE_TRESPASS,algorithm_type_t::VEHICLE_SNAPSHOT,algorithm_type_t::VEHICLE_GATHER,algorithm_type_t::VEHICLE_ILLEGAL_PARKING,algorithm_type_t::VEHICLE_ILLEGAL_CROSSING_LINE | 1315 | std::vector<algorithm_type_t> algor_wenhuagong = {algorithm_type_t::NONMOTOR_VEHICLE_SNAPSHOT, algorithm_type_t::VEHICLE_TRESPASS,algorithm_type_t::VEHICLE_SNAPSHOT,algorithm_type_t::VEHICLE_GATHER,algorithm_type_t::VEHICLE_ILLEGAL_PARKING,algorithm_type_t::VEHICLE_ILLEGAL_CROSSING_LINE |
1234 | - ,algorithm_type_t::HUMAN_GATHER, algorithm_type_t::FACE_SNAPSHOT, algorithm_type_t::HUMAN_LEAVE_REGION, algorithm_type_t::HUMAN_REGION_DISMISS, algorithm_type_t::HUMAN_REGION_FAST_MOVING, algorithm_type_t::HUMAN_SNAPSHOT, algorithm_type_t::HUMAN_REGION_GATHER, algorithm_type_t::HUMAN_DENSITY, algorithm_type_t::HUMAN_CROSSING_LINE, algorithm_type_t::HUMAN_CLIMB, algorithm_type_t::HUMAN_LINGER | 1316 | + ,algorithm_type_t::HUMAN_GATHER, algorithm_type_t::FACE_SNAPSHOT, algorithm_type_t::HUMAN_LEAVE_REGION, algorithm_type_t::HUMAN_REGION_DISMISS, algorithm_type_t::HUMAN_REGION_FAST_MOVING, algorithm_type_t::HUMAN_SNAPSHOT, algorithm_type_t::HUMAN_REGION_GATHER, algorithm_type_t::HUMAN_DENSITY |
1317 | + , algorithm_type_t::HUMAN_CROSSING_LINE, algorithm_type_t::HUMAN_CLIMB, algorithm_type_t::HUMAN_LINGER, algorithm_type_t::VEHICLE_TIMING_SNAPSHOT, algorithm_type_t::HUMAN_TIMING_SNAPSHOT, algorithm_type_t::NONMOTOR_VEHICLE_TIMING_SNAPSHOT | ||
1235 | }; | 1318 | }; |
1236 | 1319 | ||
1237 | // int repeat_num = 1000; | 1320 | // int repeat_num = 1000; |
src/reprocessing_module/snapshot_reprocessing.cpp
@@ -736,8 +736,6 @@ vector<multi_obj_data_t> snapshot_reprocessing::get_timing_snapshot(vector<Devic | @@ -736,8 +736,6 @@ vector<multi_obj_data_t> snapshot_reprocessing::get_timing_snapshot(vector<Devic | ||
736 | continue; | 736 | continue; |
737 | } else if (algor_type == algorithm_type_t::VEHICLE_TIMING_SNAPSHOT && algor_index_table["vehicle"].find(type_index) == algor_index_table["vehicle"].end()) { | 737 | } else if (algor_type == algorithm_type_t::VEHICLE_TIMING_SNAPSHOT && algor_index_table["vehicle"].find(type_index) == algor_index_table["vehicle"].end()) { |
738 | continue; | 738 | continue; |
739 | - } else { | ||
740 | - continue; | ||
741 | } | 739 | } |
742 | 740 | ||
743 | sy_point center; | 741 | sy_point center; |