d5345ee9
Hu Chunming
代码优化
|
1
2
|
#ifndef __AI_PLATFORM_HEADER__
#define __AI_PLATFORM_HEADER__
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
3
4
5
6
7
8
9
10
11
|
#ifdef _MSC_VER
#include <windows.h>
#else
#include <cstddef>
#endif
|
9e3f3176
Hu Chunming
修复关闭任务崩溃的问题
|
12
|
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
13
14
15
16
|
#include <map>
#include <vector>
#include <string>
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
17
|
|
d5345ee9
Hu Chunming
代码优化
|
18
19
20
|
#define HUMANREID_FEATURE_SIZE 384
#define HP_ATTRI_SIZE 16
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
21
22
23
24
|
using namespace std;
|
502f9d10
Hu Chunming
添加行人特征数据表
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
static std::string hair[] = { "长发", "短发", "其他" };
static std::string hair_color[] = { "黑", "白", "其他" };
static std::string eye_glass[] = { "未戴眼镜", "戴眼镜" };
static std::string mask[] = { "未戴口罩", "戴口罩" };
static std::string up_cloth[] = { "T恤/背心", "衬衫", "毛衣", "外套", "连衣裙", "其他" };
static std::string up_cloth_color[] = { "黑", "白", "灰", "红", "蓝", "黄", "绿", "多色", "其他" };
static std::string clothing_text[] = { "纯色", "碎花", "条纹/格子", "其他" };
static std::string down_cloth[] = { "长裤", "短裤", "长裙", "短裙", "连衣裙", "其他" };
static std::string down_cloth_color[] = { "黑", "白", "灰", "红", "蓝", "黄", "绿", "多色", "其他" };
static std::string bag[] = { "无包", "有包" };
static std::string sex[] = { "男", "女", "不明" };
static std::string age[] = { "小孩", "成人", "不明" };
static std::string viewpoint[] = { "正面","背面", "侧面" };
static std::string umbrella[] = { "未打伞", "打伞" };
static std::string hold_baby[] = { "未抱小孩", "抱小孩" };
static std::string personstate[] = { "行走", "奔跑", "蹲坐", "推车", "其他" };
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
42
43
44
45
46
47
48
|
typedef struct hp_cls_info //分类结果结构体
{
int res_index; //分类结果
float res_prob; //分类结构体
hp_cls_info() : res_index(0), res_prob(0) {};
} hp_cls_info;
|
1fa39585
Hu Chunming
输出结果优化
|
49
50
|
static string vechicle_pendant[] = {"车头", "车尾", "车窗", "司机", "人脸", "安全带", "遮阳板", "年检标", "挂件", "纸巾盒", "转经筒", "打电话", "天窗", "行李架", "吸烟", "车前脸", "车后脸", "后视镜", "临时车牌", "车标", "三角标志", "三角危险", "长方形危险"};
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
typedef struct VPDInfo
{
int left_;
int top_;
int width_;
int height_;
int index; //类型
float confidence; //置信度
}VPDInfo;
struct PlateNum
{
char character[4];
float maxprob;
int index;
};
|
1fa39585
Hu Chunming
输出结果优化
|
69
70
|
static string plate_type[] = {"单排蓝色 ", "单排黄色 ", "单排白色 ", "单排黑色", " 双排黄色 ", "双排白色 ", "新能源黄绿色 ", "新能源白绿色"};
static string plate_state[] = {"无车牌", " 正常车牌", " 遮挡车牌"};
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
struct VehiclePlateResult {
int left_;
int top_;
int width_;
int height_;
float detect_score;
PlateNum recg[8];
float num_score;
int type; //车牌类型。只做车牌检测,车牌类型为:0-单层车牌,1-双层车牌;做车牌检测识别,0-单排蓝色 1-单排黄色 2-单排白色 3-单排黑色 4-双排黄色 5-双排白色 6-新能源黄绿色 7-新能源白绿色
int state; //车牌状态:0-无车牌,1-车牌,2-遮挡车牌
float state_score;//车牌状态置信度
};
|
1fa39585
Hu Chunming
输出结果优化
|
86
87
|
// 0-black 1-blue 2-brown 3-green 4-grey 5-orange 6-pink 7-purple 8-red 9-silver 10-white 11-yellow
static string vehicle_color[] = {"black", "blue", "brown", "green", "grey", "orange", "pink", "purple", "red", "silver", "white", "yellow"};
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
88
89
90
91
92
93
94
95
96
97
|
typedef struct ObjectData {
string task_id; //该物体属于的任务ID号
int task_frame_count; //该物体当前出现的帧号
int object_id; //该物体的ID号
int left; //该物体位置的左坐标
int top; //该物体位置的上坐标
int right; //该物体位置的右坐标
int bottom; //该物体位置的下坐标
int index; //该物体所属类别的编号
double confidence; //该物体的置信度
|
3e7095cb
Hu Chunming
添加时间戳字段
|
98
|
std::string str_ts_ms; //时间
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
99
100
101
102
|
string ori_pic_path;
string obj_pic_path;
|
d5345ee9
Hu Chunming
代码优化
|
103
104
|
hp_cls_info hp_cls[HP_ATTRI_SIZE];
float hp_feature[HUMANREID_FEATURE_SIZE];
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
105
106
107
108
109
110
111
112
113
114
|
int vehicle_color_index;
float vehicle_color_prob;
vector<VPDInfo> vec_vpd_cls;
VehiclePlateResult vehicle_plate;
} ObjectData;
// TASK初始化参数
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
115
|
typedef struct task_param {
|
881ac79d
Hu Chunming
代码调通,结果正常输出
|
116
117
|
string ipc_url; //rtsp流地址
string task_id; //外部传入任务id
|
603874de
Hu Chunming
skip_frame 改到参数中
|
118
|
int skip_frame{0};
|
3ca1c1d4
Hu Chunming
优化结果文件夹配置
|
119
120
121
|
string result_folder_little; //目标快照抠图保存地址
string result_folder; //目标快照大图保存地址
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
122
|
} task_param;
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
123
|
|
d5345ee9
Hu Chunming
代码优化
|
124
|
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
125
126
127
128
129
130
131
132
|
enum ai_log_level {
AI_LOG_LEVEL_CLOSE = -1, // 关闭日志
AI_LOG_LEVEL_TRACE = 0, // 跟踪变量
AI_LOG_LEVEL_DEBUG = 1, // 调试日志
AI_LOG_LEVEL_INFO = 2, // 普通日志信息 (如:无关紧要的信息输出)
AI_LOG_LEVEL_WARNING = 3, // 警告日志通知,模块一切正常(如:重要流程通知)
AI_LOG_LEVEL_ERROR = 4, // 重要日志,如结果和严重错误
};
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
133
134
|
|
ffd1e48a
Hu Chunming
实现结果回调,完成第一版
|
135
136
|
typedef void(*ResultData_CALLBACK)(ObjectData obj);
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
137
|
//VPT初始化参数
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
138
139
140
141
142
143
144
145
|
typedef struct tsl_aiplatform_param {
int gpuid; //指定显卡id
string models_dir; // 模型文件目录
ai_log_level log_level;
char *log_path; //日志文件路径
int log_days; //日志保存周期
double log_mem; //每个日志最大大小
|
ffd1e48a
Hu Chunming
实现结果回调,完成第一版
|
146
147
|
ResultData_CALLBACK result_cbk;
|
6fdcb6a5
Hu Chunming
初次提交,代码大体完成编写,完善中
|
148
|
} tsl_aiplatform_param;
|
d5345ee9
Hu Chunming
代码优化
|
149
150
|
#endif // __AI_PLATFORM_HEADER__
|