09c2d08c
Hu Chunming
arm交付版
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <map>
#include <mutex>
#include <thread>
#include <list>
#include <vector>
#include <deque>
#include <set>
#include "header.h"
#include "acl/acl.h"
#include "acl/ops/acl_dvpp.h"
#include "task_param_manager.h"
#include "../reprocessing_module/snapshot_reprocessing.h"
#include "../reprocessing_module/save_snapshot_reprocessing.h"
#include "../ai_engine_module/VPTProcess.h"
#include "../ai_engine_module/face_det_ai_engine.h"
#include "../ai_engine_module/pedestrian_vehicle_retrograde.h"
#include "../ai_engine_module/pedestrian_vehicle_trespass.h"
|
9c03cbe4
Zhao Shuaihua
增加三轮车/货车载人 二轮车超员/...
|
19
20
21
|
#include "../ai_engine_module/tricycle_manned_process.h"
#include "../ai_engine_module/truck_manned_process.h"
#include "../ai_engine_module/motocycle_hs_process.h"
|
5f4efeaa
Zhao Shuaihua
玩手机增加车辆朝向及雨棚过滤
|
22
|
#include "../ai_engine_module/motocycle_refit_phone_process.h"
|
c5fce6ce
Zhao Shuaihua
增加二轮车玩手机505、加装雨棚5...
|
23
24
|
#include "../ai_engine_module/motocycle_phone_process.h"
#include "../ai_engine_module/motocycle_refit_process.h"
|
09c2d08c
Hu Chunming
arm交付版
|
25
|
#include "../util/JpegUtil.h"
|
b309bd27
Zhao Shuaihua
通途版本增加授权
|
26
|
#include "atlas_licence.h"//授权文件
|
09c2d08c
Hu Chunming
arm交付版
|
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#ifdef POST_USE_RABBITMQ
#include "../reprocessing_module/mq_manager.hpp"
#endif
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);
int GetTaskStatus(const string taskID);
#endif
public:
int algorthim_process_thread(); // 算法处理线程
void task_finished(const string task_id);
void decoded_cbk(DeviceMemory* devFrame);
void timing_snapshot_thread();
|
beec83ee
Hu Chunming
添加发送录制消息的线程
|
60
61
|
// 发送录制消息给任务
int recode_thread();
|
e0e42d5c
Zhao Shuaihua
添加时间限制:用于农村违法分析;修...
|
62
|
bool CheckTime();
|
09c2d08c
Hu Chunming
arm交付版
|
63
64
65
66
67
68
69
70
71
72
73
|
private:
// 算法相关
int algorthim_vpt(vector<DeviceMemory*> vec_gpuMem);
// 人脸检测抓拍算法
void algorthim_face_detect(vector<DeviceMemory*> vec_gpuMem);
// 逆行
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);
|
9c03cbe4
Zhao Shuaihua
增加三轮车/货车载人 二轮车超员/...
|
74
75
76
77
78
79
80
|
// 三轮车载人
void algorithm_tricycle_manned(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs, vector<onelevel_det_result>& vptResult);
// 货车载人
void algorithm_truck_manned(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs, vector<onelevel_det_result>& vptResult);
// 二轮车超员及未戴盔
void algorithm_motor_hs_process(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs, vector<onelevel_det_result>& vptResult);
|
5f4efeaa
Zhao Shuaihua
玩手机增加车辆朝向及雨棚过滤
|
81
82
|
// 电动车改装(加雨棚)及二轮车驾乘人员使用手机
void algorithm_motor_refit_phone_process(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs, vector<onelevel_det_result>& vptResult);
|
c5fce6ce
Zhao Shuaihua
增加二轮车玩手机505、加装雨棚5...
|
83
84
85
86
|
// 二轮车驾乘人员使用手机
void algorithm_motor_phone_process(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs, vector<onelevel_det_result>& vptResult);
// 电动车改装(加雨棚)
void algorithm_motor_refit_process(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vpt_interest_imgs, vector<onelevel_det_result>& vptResult);
|
9c03cbe4
Zhao Shuaihua
增加三轮车/货车载人 二轮车超员/...
|
87
|
|
09c2d08c
Hu Chunming
arm交付版
|
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
private:
// 工具处理函数
bool task_has_vpt_algor(const std::string &task_id);
bool task_has_face_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);
void vehicle_snapshot(vector<string>& vpt_interest_task_id, vector<vector<int>> deleteObjectID);
void vehicle_locus_finished(const OBJ_KEY obj_key);
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);
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);
|
9c03cbe4
Zhao Shuaihua
增加三轮车/货车载人 二轮车超员/...
|
105
106
|
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) ;
// village
|
c5fce6ce
Zhao Shuaihua
增加二轮车玩手机505、加装雨棚5...
|
107
|
void village_snapshot(vector<string>& vpt_interest_task_id, vector<DeviceMemory*> vec_vptMem, vector<vector<int>> deleteObjectID);
|
9c03cbe4
Zhao Shuaihua
增加三轮车/货车载人 二轮车超员/...
|
108
|
|
09c2d08c
Hu Chunming
arm交付版
|
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
void face_locus_finished(const OBJ_KEY obj_key);
int snapshot_task(std::string& uri_or_name, const std::string& file_name, bool bInTask);
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};
std::thread* m_timing_snapshot_thread;
VPTProcess vpt_process;
int skip_frame_ = 5; // 控制跳帧参数
deque<DeviceMemory*> m_RgbDataList;
mutex m_DataListMtx;
mutex m_FinishedTaskMtx;
map<string,bool> m_FinishedTaskMap;
|
0683ce86
Zhao Shuaihua
调整jni;主动删除的任务不推送mq
|
131
132
133
|
mutex m_ActiveFinishedTaskMtx ;
map<string,bool> m_ActiveFinishedTaskMap; // 记录主动结束的任务,不发送mq
|
09c2d08c
Hu Chunming
arm交付版
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
thread* m_pAlgorthimThread;
bool m_bfinish{false};
int m_batch_size{1};
set<OBJ_KEY> m_total_snapshot_info_multi_object;
mutex m_total_mutex;
#ifdef POST_USE_RABBITMQ
mq::Manager *mq_manager_{nullptr};
#endif
ai_engine_module::pedestrian_vehicle_retrograde::PedestrianVehicleRetrograde pedestrian_vehicle_retrograde_;
ai_engine_module::pedestrian_vehicle_trespass::PedestrianVehicleTrespass pedestrian_vehicle_trespass_;
|
9c03cbe4
Zhao Shuaihua
增加三轮车/货车载人 二轮车超员/...
|
149
150
151
|
ai_engine_module::tricycle_manned_process::TricycleMannedProcess tricycle_manned_;
ai_engine_module::truck_manned_process::TruckMannedProcess truck_manned_;
ai_engine_module::motocycle_hs_process::MotorHsProcess motor_hsprocess_;
|
5f4efeaa
Zhao Shuaihua
玩手机增加车辆朝向及雨棚过滤
|
152
153
154
|
ai_engine_module::motocycle_refit_phone_process::MotorRefitPhoneProcess motor_refit_phoneprocess_;
// ai_engine_module::motocycle_phone_process::MotorPhoneProcess motor_phoneprocess_;
// ai_engine_module::motocycle_refit_process::MotorRefitProcess motor_refitprocess_;
|
09c2d08c
Hu Chunming
arm交付版
|
155
156
157
|
face_det_ai_engine m_face_det_ai_engine; // 人脸检测
|
beec83ee
Hu Chunming
添加发送录制消息的线程
|
158
159
160
161
|
deque<RecoderInfo> m_recoderinfo_queue;
mutex m_recoderinfo_queue_mtx;
thread* m_recode_thread {nullptr};
|
b309bd27
Zhao Shuaihua
通途版本增加授权
|
162
163
164
165
|
void *skt_handle = nullptr;//授权
atlas_licence_check_param check_param;//授权
int check_label = -1;//授权 -1=未授权 0=授权 1=授权check日已经check成功(每月一次check)
|
9c03cbe4
Zhao Shuaihua
增加三轮车/货车载人 二轮车超员/...
|
166
|
|
09c2d08c
Hu Chunming
arm交付版
|
167
|
};
|