#ifndef __AI_PLATFORM_HEADER__ #define __AI_PLATFORM_HEADER__ #ifdef _MSC_VER #include #else #include #endif #include "sy_common.h" #include #include #include #define HUMANREID_FEATURE_SIZE 384 #define HP_ATTRI_SIZE 16 using namespace std; typedef struct hp_cls_info //分类结果结构体 { int res_index; //分类结果 float res_prob; //分类结构体 hp_cls_info() : res_index(0), res_prob(0) {}; } hp_cls_info; 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; }; 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;//车牌状态置信度 }; 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; //该物体的置信度 string ori_pic_path; string obj_pic_path; hp_cls_info hp_cls[HP_ATTRI_SIZE]; float hp_feature[HUMANREID_FEATURE_SIZE]; int vehicle_color_index; float vehicle_color_prob; vector vec_vpd_cls; VehiclePlateResult vehicle_plate; } ObjectData; // TASK初始化参数 typedef struct task_param { string ipc_url; //rtsp流地址 string task_id; //外部传入任务id int skip_frame{0}; string result_folder_little; //目标快照抠图保存地址 string result_folder; //目标快照大图保存地址 } task_param; 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, // 重要日志,如结果和严重错误 }; typedef void(*ResultData_CALLBACK)(ObjectData obj); //VPT初始化参数 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; //每个日志最大大小 ResultData_CALLBACK result_cbk; } tsl_aiplatform_param; #endif // __AI_PLATFORM_HEADER__