0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
1
2
3
4
5
6
7
|
#include "header.h"
#include "acl/acl.h"
#include "acl/ops/acl_dvpp.h"
#include "task_param_manager.h"
#include "../ai_engine_module/VPTProcess.h"
#include "../reprocessing_module/snapshot_reprocessing.h"
#include "../reprocessing_module/save_snapshot_reprocessing.h"
|
9fc79d43
Hu Chunming
同步代码初步跑通
|
8
|
#include "../ai_engine_module/ai_engine_module.h"
|
9b4d4adf
Hu Chunming
添加定时抓拍;
|
9
|
#include "../util/JpegUtil.h"
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
10
11
12
13
14
15
16
|
#include <map>
#include <mutex>
#include <thread>
#include <list>
#include <vector>
#include <deque>
|
571e8ac8
Hu Chunming
完成轨迹定时抓拍
|
17
|
#include <set>
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
18
|
|
9fc79d43
Hu Chunming
同步代码初步跑通
|
19
20
21
22
|
#ifdef POST_USE_RABBITMQ
#include "../reprocessing_module/mq_manager.hpp"
#endif
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
using namespace std;
class DeviceMemory;
class CMultiSourceProcess {
public:
CMultiSourceProcess();
~CMultiSourceProcess();
int InitAlgorthim(tsl_aiplatform_param vptParam);
bool AddTask(task_param _cur_task_param);
bool PauseTask(const string taskID);
bool RestartTask(const string taskID);
bool FinishTask(const string taskID);
void CloseAllTask();
int SnapShot(task_param param);
#ifdef POST_USE_RABBITMQ
int AddMqConn(mq_type_t mq_type, rabbitmq_conn_params_t mq_conn_param);
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
43
44
|
#endif
|
9fc79d43
Hu Chunming
同步代码初步跑通
|
45
46
47
48
49
|
int GetTaskStatus(const string taskID);
int CountRunningTask();
void CloseAllTask2();
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
50
51
52
53
|
public:
int algorthim_process_thread(); // 算法处理线程
void task_finished(const string task_id);
void decoded_cbk(DeviceMemory* devFrame);
|
9b4d4adf
Hu Chunming
添加定时抓拍;
|
54
|
void timing_snapshot_thread();
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
55
56
57
58
|
private:
// 算法相关
int algorthim_vpt(vector<DeviceMemory*> vec_gpuMem);
|
fce4580d
Hu Chunming
更新最新代码:修改解码器实现方式并...
|
59
60
61
62
63
|
// 逆行
void algorthim_retrograde(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs, vector<onelevel_det_result>& vptResult);
// 闯入
void algorthim_trespass(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs,
vector<onelevel_det_result>& vptResult ,vector<vector<int>>& deleteObjectID);
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
64
65
66
67
68
69
70
71
|
private:
// 工具处理函数
bool task_has_vpt_algor(const std::string &task_id);
void clear_finished_task();
bool finish_task(const string taskID, const bool delete_snapshot);
int algorithm_vehicle_relult(vector<DeviceMemory*> vec_devMem, vector<onelevel_det_result>& vptResult, vector<vector<int>>& delete_object_id);
void send_locus_finished_msg(vector<string>& vpt_interest_task_id, vector<vector<int>> deleteObjectID);
|
d7bafd67
Hu Chunming
添加最优快照截取模式
|
72
73
74
|
void vehicle_snapshot(vector<string>& vpt_interest_task_id, vector<vector<int>> deleteObjectID);
void vehicle_locus_finished(const OBJ_KEY obj_key);
|
29b64a88
Hu Chunming
添加行人逆行算法
|
75
76
77
|
bool save_snapshot_process(const OBJ_KEY &obj_key, const algorithm_type_t &algorithm_type, vpc_img_info img_info, vpc_img_info roi_img,
const long long id,const std::string &json_str);
|
fce4580d
Hu Chunming
更新最新代码:修改解码器实现方式并...
|
78
79
|
void retrograde_snapshot(vector<string>& vpt_interest_task_id, vector<vector<int>> deleteObjectID);
void trespass_snapshot(vector<string>& vpt_interest_task_id, vector<vector<int>> deleteObjectID);
|
b00d3d35
Hu Chunming
添加行人、机动车非法闯入
|
80
|
void void retrograde_trespass_alarm(const OBJ_KEY &obj_key, const algorithm_type_t &algor_type) ;(const OBJ_KEY &obj_key, const algorithm_type_t &algor_type) void retrograde_trespass_alarm(const OBJ_KEY &obj_key, const algorithm_type_t &algor_type) ;
|
29b64a88
Hu Chunming
添加行人逆行算法
|
81
|
|
9fc79d43
Hu Chunming
同步代码初步跑通
|
82
83
84
85
86
87
88
89
90
|
void cross_line_process(vector<DeviceMemory*> vec_devMem, vector<onelevel_det_result>& vptResult, algorithm_type_t eType);
void wander_detect(vector<DeviceMemory*>& vec_gpuMem, vector<onelevel_det_result>& vptResult, algorithm_type_t eType);
int gather_process(vector<DeviceMemory*>& vec_gpuMem, vector<onelevel_det_result> &ol_det_result, algorithm_type_t algor_type);
// 轨迹记录
void trace_record(vector<DeviceMemory*>& vec_gpuMem, vector<onelevel_det_result>& vptResult);
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
91
92
93
94
95
96
97
|
private:
int m_devId;
snapshot_reprocessing *m_snapshot_reprocessing{nullptr};
task_param_manager *m_task_param_manager{nullptr};
save_snapshot_reprocessing *m_save_snapshot_reprocessing{nullptr};
|
9b4d4adf
Hu Chunming
添加定时抓拍;
|
98
99
|
std::thread* m_timing_snapshot_thread;
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
VPTProcess vpt_process;
int skip_frame_ = 5; // 控制跳帧参数
deque<DeviceMemory*> m_RgbDataList;
mutex m_DataListMtx;
mutex m_FinishedTaskMtx;
map<string,bool> m_FinishedTaskMap;
thread* m_pAlgorthimThread;
bool m_bfinish{false};
int m_batch_size{1};
|
571e8ac8
Hu Chunming
完成轨迹定时抓拍
|
114
115
116
|
set<OBJ_KEY> m_total_snapshot_info_multi_object;
mutex m_total_mutex;
|
9fc79d43
Hu Chunming
同步代码初步跑通
|
117
118
119
|
mutex m_TotalObjMtx ;
map<OBJ_KEY, OBJ_INDEX> m_total_obj_info; // 记录目标轨迹
|
9b4d4adf
Hu Chunming
添加定时抓拍;
|
120
|
JpegUtil jpegUtil;
|
e109b001
Hu Chunming
修正多显卡问题
|
121
|
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
122
123
124
125
|
#ifdef POST_USE_RABBITMQ
mq::Manager *mq_manager_{nullptr};
#endif
|
29b64a88
Hu Chunming
添加行人逆行算法
|
126
127
128
129
|
ai_engine_module::pedestrian_vehicle_retrograde::PedestrianVehicleRetrograde pedestrian_vehicle_retrograde_;
ai_engine_module::pedestrian_vehicle_trespass::PedestrianVehicleTrespass pedestrian_vehicle_trespass_;
|
9fc79d43
Hu Chunming
同步代码初步跑通
|
130
131
132
133
134
135
136
137
138
|
ai_engine_module::RegionLeave m_algorthim_region_leave;
ai_engine_module::RegionLeave m_algorthim_region_dismiss;
ai_engine_module::RegionLeave m_algorthim_region_fastmoving;
GatherDetect m_human_gather;
GatherDetect m_human_density;
GatherDetect m_human_region_gather;
GatherDetect m_vehicle_gather;
|
0b4cd5d5
Hu Chunming
完成轨迹定时抓拍
|
139
|
};
|