diff --git a/algorithm/vehicle_analysis/vehicle_analysis.h b/algorithm/vehicle_analysis/vehicle_analysis.h index 5046dd9..4297155 100644 --- a/algorithm/vehicle_analysis/vehicle_analysis.h +++ b/algorithm/vehicle_analysis/vehicle_analysis.h @@ -1,6 +1,6 @@ /************************************************************ * Version: vehicle_analysis_v0.0.0.190311.gpuonly -* CopyRight: �п�����������Ƽ����޹�˾ +* CopyRight: 中科视语(北京)科技有限公司 * UpdateDate: 20190311 * Content: drafting the first edition by ************************************************************/ @@ -23,50 +23,50 @@ extern "C" { #endif -#include "sy_common.h" //ͨ�����ݽṹ�嶨�� -#include "vehicle_result.h" //������������ṹ�嶨�� +#include "sy_common.h" //通用数据结构体定义 +#include "vehicle_result.h" //车辆分析结果结构体定义 #ifndef __VEHICLE_INFO__ #define __VEHICLE_INFO__ - typedef struct vehicle_info { //������������� - vd_result vehicle_detect_res; //��(��ͷ+��β)����� - vd_result vehicle_win_detect_res; //��������� - vd_result vehicle_body_detect_res; //��������� - vc_result vehicle_color_res; //����ɫ - vr_result vehicle_recg_res; //����ʶ�� - vplate_results vehicle_plate_det_recg_res; //���Ƽ��ʶ���� - v_pendant_d_result vehicle_pendant_det_res; //������ - vid_result vehicle_illegal_det_res; //��Υ�� - vf_result vehicle_fea_res; //�Գ��ѳ� - //vs_result vehicle_special_res; //����Ʒ�೵�ͣ�ֻ�л������������� - //mucktruckcover_result vehicle_mucktruckcover_res; //�������Ǹ�״̬(��ͷ��ֻ������Ʒ�೵���е��������ͽ���������������������β��ֻ�л�����������) + typedef struct vehicle_info { //单车辆分析结果 + vd_result vehicle_detect_res; //车(车头+车尾)检测结果 + vd_result vehicle_win_detect_res; //车窗检测结果 + vd_result vehicle_body_detect_res; //车身检测结果 + vc_result vehicle_color_res; //车颜色 + vr_result vehicle_recg_res; //车型识别 + vplate_results vehicle_plate_det_recg_res; //车牌检测识别结果 + v_pendant_d_result vehicle_pendant_det_res; //车属性 + vid_result vehicle_illegal_det_res; //车违规 + vf_result vehicle_fea_res; //以车搜车 + //vs_result vehicle_special_res; //特殊品类车型(只有货车有输出结果) + //mucktruckcover_result vehicle_mucktruckcover_res; //渣土车盖盖状态(车头:只有特殊品类车型中的渣土车和建筑垃圾车有输出结果,车尾:只有货车有输出结果) - mta_result mta_res; //Ħ�г��Ƿ�����/Ħ�г���ʻ���Ƿ��ͷ��/ũ�ó��Ƿ����� + mta_result mta_res; //摩托车是否载人/摩托车驾驶人是否戴头盔/农用车是否载人 - manned_result manned_res; //�Ƿ��ǻ������ֳ����� 0-���ǻ���/�������ֳ�/���ֳ�δ����/����δ���ˣ�1-�������ˣ�2-���ֳ����� + manned_result manned_res; //是否是货车三轮车载人 0-不是货车/不是三轮车/三轮车未载人/货车未载人,1-货车载人,2-三轮车载人 - int type; //�������0-��ͷ��1-��β��2-Ħ�г���3-���ֳ� ��4-���� + int type; //车的类别:0-车头,1-车尾,2-摩托车,3-三轮车 ,4-车身 int vpt_type; int rainshed; //是否安装雨棚, 0 有雨棚 1 无雨棚 - - //int obj_quality_idx;//�۵��������ͣ�0-��Ч���ݣ�1-�������ݣ�2-�������� + + //int obj_quality_idx;//聚档数据类型:0-无效数据,1-低质数据,2-优质数据 } vehicle_info; #endif #ifndef __VEHICLE_ANALYSIS_RESULT__ #define __VEHICLE_ANALYSIS_RESULT__ - typedef struct va_result { //����������� �ڴ����ⲿ���� - vehicle_info *info; //������ȫ��������� - int count; //�������� + typedef struct va_result { //车辆分析结果 内存在外部申请 + vehicle_info *info; //单车辆全部分析结果 + int count; //车辆数量 } va_result; #endif #ifndef __DET_PARAM__ #define __DET_PARAM__ - typedef struct det_param //����㷨���� + typedef struct det_param //检测算法参数 { int process_min_l; int process_max_l; @@ -79,36 +79,36 @@ extern "C" #define __VA_PARAM__ typedef struct va_param { - //�㷨���ò��� - sy_command vehicle_detect_config; //�Ƿ���������� - sy_command vehicle_recg_config; //�Ƿ���������ʶ�� - sy_command vehicle_recg_supplement_config; //�Ƿ���������ʶ�𲹳�ʶ��(��ͷ��βlogo���ʶ��+����15����)��ǰ�᣺��������ʶ��vehicle_recg_config�� - sy_command vehicle_plate_det_recg_config; //�Ƿ��������Ƽ��ʶ�� - sy_command vehicle_color_config; //�Ƿ�����������ɫʶ�� - sy_command vehicle_pendant_det_config; //�Ƿ�������������ʶ�� - sy_command vehicle_illegal_config; //�Ƿ�������Υ����Ϊ��� - sy_command vehicle_feature_config; //�Ƿ���������������ȡ - //sy_command vehicle_special_config; //�Ƿ���������Ʒ�೵��ʶ�𡣣�ǰ�᣺��������ʶ��vehicle_recg_config�� - //sy_command vehicle_image_quality_config; //�Ƿ���������ͼ��������ʶ�� - sy_command vehicle_motor_tricycle_analysis_config; //�Ƿ�����Ħ�г����ֳ�������Ħ�г��Ƿ�����/Ħ�г���ʻ���Ƿ��ͷ��/ũ�ó��Ƿ����ˣ� - //sy_command vehicle_motor_hs_output_config; //�Ƿ�����Ħ�г�δ��ͷ�����ͷ�����ꡣ��ǰ�᣺����Ħ�г����ֳ�����vehicle_motor_tricycle_analysis_config�� - //sy_command vehicle_stain_vp_config; //�Ƿ������ڵ�����ʶ�� - //sy_command vehicle_muck_truck_cover_config; //�Ƿ������������Ǹ�ʶ��(ǰ�᣺��������Ʒ�೵��ʶ��vehicle_special_config) - //sy_command vehicle_lorry_manned_config; //�Ƿ�������������ʶ�𡣣�ǰ�᣺��������ʶ��vehicle_recg_config�� - sy_command vehicle_manned_config; //�Ƿ��������������ֳ�����ʶ�𡣣�ǰ�᣺��������ʶ��vehicle_recg_config�� + //算法配置参数 + sy_command vehicle_detect_config; //是否启动车检测 + sy_command vehicle_recg_config; //是否启动车型识别 + sy_command vehicle_recg_supplement_config; //是否启动车型识别补充识别(车头车尾logo检测识别+车型15分类)(前提:启动车型识别vehicle_recg_config) + sy_command vehicle_plate_det_recg_config; //是否启动车牌检测识别 + sy_command vehicle_color_config; //是否启动车辆颜色识别 + sy_command vehicle_pendant_det_config; //是否启动车辆属性识别 + sy_command vehicle_illegal_config; //是否启动车违规行为检测 + sy_command vehicle_feature_config; //是否启动车辆特征提取 + //sy_command vehicle_special_config; //是否启动特殊品类车型识别。(前提:启动车型识别vehicle_recg_config) + //sy_command vehicle_image_quality_config; //是否启动车辆图像清晰度识别 + sy_command vehicle_motor_tricycle_analysis_config; //是否启动摩托车三轮车分析(摩托车是否载人/摩托车驾驶人是否戴头盔/农用车是否载人) + //sy_command vehicle_motor_hs_output_config; //是否启动摩托车未戴头盔输出头肩坐标。(前提:启动摩托车三轮车分析vehicle_motor_tricycle_analysis_config) + //sy_command vehicle_stain_vp_config; //是否启动遮挡车牌识别 + //sy_command vehicle_muck_truck_cover_config; //是否启动渣土车盖盖识别。(前提:开启特殊品类车型识别vehicle_special_config) + //sy_command vehicle_lorry_manned_config; //是否启动货车载人识别。(前提:开启车型识别vehicle_recg_config) + sy_command vehicle_manned_config; //是否启动货车、三轮车载人识别。(前提:开启车型识别vehicle_recg_config) - //�㷨��ʼ������ - int gpuid; //ָ���Կ�id - float vehicle_det_thresld=0.5; //�������� - int min_obj_size=200; //��ͷβ���Ŀ����С���ߣ�����ȡֵ��Χ100~200������С�ڸóߴ�Ĺ��˵��� - float vehicle_plate_det_thresld=0.5; //���Ƽ����� - float vehicle_attribute_det_thresld=0.5; //�����Լ����� - float vehicle_logo_det_thresld=0.1; //��logo������ + //算法初始化参数 + int gpuid; //指定显卡id + float vehicle_det_thresld=0.5; //车检测参数 + int min_obj_size=200; //车头尾检测目标最小长边(建议取值范围100~200,长边小于该尺寸的过滤掉) + float vehicle_plate_det_thresld=0.5; //车牌检测参数 + float vehicle_attribute_det_thresld=0.5; //车属性检测参数 + float vehicle_logo_det_thresld=0.1; //车logo检测参数 - float vc_thresld=0.5; //����ɫ��ֵ - char* dbPath; //����ʶ��������··�� <��ǰ��֧��Ӣ��·��> - char* models_Path; //����ģ�͵�·�� <��ǰ��֧��Ӣ��·��>//20210615 + float vc_thresld=0.5; //车颜色阈值 + char* dbPath; //车型识别车型数据路路径 <当前仅支持英文路径> + char* models_Path; //所有模型的路径 <当前仅支持英文路径>//20210615 }va_param; #endif @@ -124,7 +124,7 @@ extern "C" * notes: null *************************************************************************/ VEHICLEANALYSIS_API int va_init(void ** handle, va_param param); - VEHICLEANALYSIS_API int va_acl_init();//������һ�Σ��ȵ���va_acl_init���ٵ���va_init + VEHICLEANALYSIS_API int va_acl_init();//仅调用一次,先调用va_acl_init,再调用va_init /************************************************************************* * function: va_release @@ -135,7 +135,7 @@ extern "C" * notes: null *************************************************************************/ VEHICLEANALYSIS_API void va_release(void ** handle); - VEHICLEANALYSIS_API void va_acl_release();//������һ�Σ������е�va_release���ͷ��ˣ�������va_acl_release + VEHICLEANALYSIS_API void va_acl_release();//仅调用一次,当所有的va_release都释放了,最后调用va_acl_release /************************************************************************* * function: va_get_version @@ -159,31 +159,31 @@ extern "C" * notes: null *************************************************************************/ VEHICLEANALYSIS_API int va_batch(void * handle, sy_img * img_data_array, int batch_size, va_result *result); - //img_data_array��device���ݣ�batch_size==16ʱ���ù̶�16ģ�ͣ�С��16ʱ���ù̶�1ģ�͡� + //img_data_array是device数据,batch_size==16时调用固定16模型,小于16时调用固定1模型。 VEHICLEANALYSIS_API int va_batch16_device(void * handle, sy_img * img_data_array, int batch_size, va_result *result); /************************************************************************* * FUNCTION: VA_ComputeSimilarity - * PURPOSE: �ȶ����ƶȣ�ͨ�ã� + * PURPOSE: 比对相似度(通用) * PARAM: - [in] Afea - ��һ��ͼƬ���� - [in] Bfea - �ڶ���ͼƬ���� - [in] featuresize - �������� - * RETURN: ���ƶ� + [in] Afea - 第一张图片特征 + [in] Bfea - 第二张图片特征 + [in] featuresize - 特征长度 + * RETURN: 相似度 * NOTES: *************************************************************************/ VEHICLEANALYSIS_API float va_compute_similarity(float *Afea, float *Bfea, int featuresize); /************************************************************************* * FUNCTION: va_compute_similarity_byvafeature - * PURPOSE: �ȶ����ƶȣ����va������ + * PURPOSE: 比对相似度(针对va特征) * PARAM: - [in] Afea - ��һ��ͼƬva���� - [in] Bfea - �ڶ���ͼƬva���� - [in] featuresize - ��������VA_FEATURESIZE - * RETURN: ���ƶ� + [in] Afea - 第一张图片va特征 + [in] Bfea - 第二张图片va特征 + [in] featuresize - 特征长度VA_FEATURESIZE + * RETURN: 相似度 * NOTES: *************************************************************************/ VEHICLEANALYSIS_API float va_compute_similarity_byvafeature(void * handle , float *Afea, float *Bfea, int featuresize); diff --git a/algorithm/vehicle_analysis/vehicle_result.h b/algorithm/vehicle_analysis/vehicle_result.h index 18a5e68..81afb65 100644 --- a/algorithm/vehicle_analysis/vehicle_result.h +++ b/algorithm/vehicle_analysis/vehicle_result.h @@ -1,7 +1,7 @@ #include -//---------------- ������������ṹ�嶨�� ------------------// +//---------------- 车辆分析结果结构体定义 ------------------// -//�м�����Ϣ +//中间结果信息 #ifndef VPT_INFO_MIDD_TEMP_ #define VPT_INFO_MIDD_TEMP_ typedef struct vpt_info_midd_temp @@ -10,7 +10,7 @@ typedef struct vpt_info_midd_temp sy_rect obj_rect; int obj_index; float obj_score; - int dis; //20220308�����Ŀ���ļ�Ȩ���� + int dis; //20220308到最佳目标点的加权距离 }vpt_info_midd_temp; #endif @@ -20,8 +20,8 @@ typedef struct vpt_info_midd_temp -//1.������� -#define MAXCARCOUNT 100 //֧�����100������� +//1.车检测结果 +#define MAXCARCOUNT 100 //支持最多100个车检测 #ifndef VD_RESULT_ #define VD_RESULT_ @@ -33,28 +33,28 @@ typedef struct vd_result #endif -//2.����ɫ��� +//2.车颜色结果 #ifndef VC_RESULT_ #define VC_RESULT_ typedef struct vc_result { float score; - int index;//����ɫ����0-12����Ӧ"��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��" + int index;//车颜色索引0-12,对应"棕", "橙", "灰", "白", "粉", "紫", "红", "绿", "蓝", "银", "青", "黄", "黑" }vc_result; #endif -//3.����ʶ���� +//3.车型识别结果 #ifndef VR_RESULT_ #define VR_RESULT_ -typedef struct vr_result //��� +typedef struct vr_result //结果 { - char vehicle_brand[260]; //����Ʒ�� - char vehicle_subbrand[260]; //������Ʒ�� - char vehicle_issue_year[260]; //������� - char vehicle_type[260]; //�������� - char freight_ton[260]; //�����ּ� - float name_score; //ʶ�����Ŷ� + char vehicle_brand[260]; //车辆品牌 + char vehicle_subbrand[260]; //车辆子品牌 + char vehicle_issue_year[260]; //车辆年款 + char vehicle_type[260]; //车辆类型 + char freight_ton[260]; //货车吨级 + float name_score; //识别置信度 int index; }vr_result; #endif @@ -62,20 +62,20 @@ typedef struct vr_result //��� -//4.���Ƽ��ʶ���� -#define PLATENUM 8 //���ƺ���λ�� -#define MAXPLATECOUNT 20 //֧�����20�����Ƽ�� -//�������� -#define SINGLETYPE_BLUE 0 //������ɫ -#define SINGLETYPE_YELLOW 1 //���Ż�ɫ -#define SINGLETYPE_WHITE 2 //���Ű�ɫ -#define SINGLETYPE_BLACK 3 //���ź�ɫ -#define DOUBLETYPE_YELLOW 4 //˫�Ż�ɫ -#define DOUBLETYPE_WHITE 5 //˫�Ű�ɫ -#define NEWENERGYTYPE_YELLOWGREEN 6 //����Դ����ɫ -#define NEWENERGYTYPE_WHITEGRA 7 //����Դ����ɫ +//4.车牌检测识别结果 +#define PLATENUM 8 //车牌号码位数 +#define MAXPLATECOUNT 20 //支持最多20个车牌检测 +//车牌类型 +#define SINGLETYPE_BLUE 0 //单排蓝色 +#define SINGLETYPE_YELLOW 1 //单排黄色 +#define SINGLETYPE_WHITE 2 //单排白色 +#define SINGLETYPE_BLACK 3 //单排黑色 +#define DOUBLETYPE_YELLOW 4 //双排黄色 +#define DOUBLETYPE_WHITE 5 //双排白色 +#define NEWENERGYTYPE_YELLOWGREEN 6 //新能源黄绿色 +#define NEWENERGYTYPE_WHITEGRA 7 //新能源白绿色 -//���ƺ��� +//车牌号码 #ifndef VPLATENUM_RESULT_ #define VPLATENUM_RESULT_ typedef struct vplate_num @@ -86,18 +86,18 @@ typedef struct vplate_num }vplate_num; #endif -//�����ڵ�ʶ�� -//#define COVER 0 //ȫ���ڵ� -//#define NO_COVER 1 //�޳��� -//#define NORMAL 2 //�������� -//#define PARTIAL 3 //�����ڵ� +//车牌遮挡识别 +//#define COVER 0 //全部遮挡 +//#define NO_COVER 1 //无车牌 +//#define NORMAL 2 //正常车牌 +//#define PARTIAL 3 //部分遮挡 #ifndef SVP_RESULT_ #define SVP_RESULT_ typedef struct stain_vplate_result { - float score; //ʶ�����Ŷ� - int type; //COVER ���� NO_COVER ���� NORMAL ���� PARTIAL + float score; //识别置信度 + int type; //COVER 或者 NO_COVER 或者 NORMAL 或者 PARTIAL }stain_vplate_result; #endif @@ -105,31 +105,31 @@ typedef struct vplate_num #define VPLATE_RESULTS_ typedef struct vplate_results { - sy_rect rect;//���Ƽ������ - float detect_score;//���Ƽ�����Ŷ� - vplate_num recg[PLATENUM];//ʶ������� - float num_score;//ʶ�����Ŷ� - int type; //�������ͣ�0-������ɫ 1-���Ż�ɫ 2-���Ű�ɫ 3-���ź�ɫ 4-˫�Ż�ɫ 5-˫�Ű�ɫ 6-����Դ����ɫ 7-����Դ����ɫ + sy_rect rect;//车牌检测坐标 + float detect_score;//车牌检测置信度 + vplate_num recg[PLATENUM];//识别号码结果 + float num_score;//识别置信度 + int type; //车牌类型:0-单排蓝色 1-单排黄色 2-单排白色 3-单排黑色 4-双排黄色 5-双排白色 6-新能源黄绿色 7-新能源白绿色 - //stain_vplate_result stain_vp_result; //�����ڵ�ʶ���� - int special_type; //���泵�ơ���ʱ���ơ����ٳ��ơ�0-common,1-temporary_license_plate,2-low_speed_license_plate. + //stain_vplate_result stain_vp_result; //车牌遮挡识别结果 + int special_type; //常规车牌、临时车牌、低速车牌。0-common,1-temporary_license_plate,2-low_speed_license_plate. }vplate_results; #endif -//5.�����Խ�� +//5.车属性结果 #define VPD_FACE_FEATURESIZE 512 -//����Ľṹ����vpd.h�еIJ�һ���ˡ� +//这里的结构体与vpd.h中的不一样了。 #ifndef VPENDANTD_RESULT_ #define VPENDANTD_RESULT_ typedef struct v_pendant_d_info { sy_rect rect; - int index; //���� 0-driver 1-face 2-belt 3-sunshield 4-tag 5-decoration 6-napkinbox 7-zhuanjt 8-callPhone 9-sunRoof 10-holder 11-smoke - float confidence; //���Ŷ� + int index; //类型 0-driver 1-face 2-belt 3-sunshield 4-tag 5-decoration 6-napkinbox 7-zhuanjt 8-callPhone 9-sunRoof 10-holder 11-smoke + float confidence; //置信度 - int driver_copilot_info; //�����Ե����ݸ�����Ϣ��0-�������ݸ��ݣ�1-���ݣ�2-���ݣ���ֻ��˾�� ����������ȫ���������塢��绰������ �������ݸ��ݣ���������Ĭ�������0�� - //float feature[VPD_FACE_FEATURESIZE]; //�������е����������� + int driver_copilot_info; //车属性的主驾副驾信息,0-不分主驾副驾,1-主驾,2-副驾,(只有司机 、人脸、安全带、遮阳板、打电话、抽烟 区分主驾副驾,其他属性默认是输出0) + //float feature[VPD_FACE_FEATURESIZE]; //车属性中的人脸特征。 }v_pendant_d_info; typedef struct v_pendant_d_result @@ -140,43 +140,43 @@ typedef struct v_pendant_d_result #endif -//6.��Υ���� -#define ILLEGAL 1000 //Υ�� -#define lEGAL 1001 //�Ϸ� -#define UNCERTAINTY 1002 //��ȷ�� -#define NOBODY 1003 //���� -#define SOMEBODY 1004 //���� +//6.车违规结果 +#define ILLEGAL 1000 //违规 +#define lEGAL 1001 //合法 +#define UNCERTAINTY 1002 //不确定 +#define NOBODY 1003 //无人 +#define SOMEBODY 1004 //有人 #ifndef VID_RESULT_ #define VID_RESULT_ typedef struct vid_details { - int status; //�Ƿ�Υ�� ILLEGAL��Υ��(���� δϵ��ȫ�� ��绰) lEGAL��δΥ��(δ���� ϵ��ȫ�� δ��绰) UNCERTAINTY����ȷ�� - float confidence; //���Ŷ� + int status; //是否违规 ILLEGAL:违规(抽烟 未系安全带 打电话) lEGAL:未违规(未抽烟 系安全带 未打电话) UNCERTAINTY:不确定 + float confidence; //置信度 }vid_details; typedef struct vid_info { - vid_details belt; //�Ƿ�ϵ��ȫ�� ILLEGAL��δϵ��ȫ�� LEGAL��ϵ��ȫ�� - vid_details smoke; //�Ƿ���� ILLEGAL������ LEGAL��δ���� - vid_details phone; //�Ƿ�ʹ�õ绰 ILLEGAL��ʹ�õ绰 LEGAL��δʹ�õ绰 - vid_details call; //�Ƿ��绰 ILLEGAL����绰 LEGAL��δ��绰 - vid_details person; //�Ƿ����� NOBODY������ SOMEBODY:���� + vid_details belt; //是否系安全带 ILLEGAL:未系安全带 LEGAL:系安全带 + vid_details smoke; //是否抽烟 ILLEGAL:抽烟 LEGAL:未抽烟 + vid_details phone; //是否使用电话 ILLEGAL:使用电话 LEGAL:未使用电话 + vid_details call; //是否打电话 ILLEGAL:打电话 LEGAL:未打电话 + vid_details person; //是否有人 NOBODY:无人 SOMEBODY:有人 }vid_info; typedef struct vid_result { - vid_info driver; //����ʻ - vid_info copilot; //����ʻ + vid_info driver; //主驾驶 + vid_info copilot; //副驾驶 }vid_result; #endif -//7.�Գ��ѳ���� -//#define FEATURESIZE 256 //�������� -//#define VA_FEATURESIZE 268 //�������� -#define VA_FEATURESIZE 520 //�������� +//7.以车搜车结果 +//#define FEATURESIZE 256 //特征长度 +//#define VA_FEATURESIZE 268 //特征长度 +#define VA_FEATURESIZE 520 //特征长度 #ifndef VF_RESULT_ #define VF_RESULT_ typedef struct vf_result @@ -185,13 +185,13 @@ typedef struct vf_result }vf_result; #endif -//8.����Ʒ�೵�� +//8.特殊品类车型 #ifndef VS_INFORMATION_ #define VS_INFORMATION_ typedef struct vs_information { - float score;//���������Ŷ� - int index; //����������0-10:"����", "��װ��", "����", "������", "���˳�","��Ԯ��", "������", "������", "��ɨ��", "�泵��","Σ��Ʒ��" + float score;//车类型置信度 + int index; //车类型索引0-10:"吊车", "罐装车", "货车", "渣土车", "轿运车","救援车", "垃圾车", "消防车", "清扫车", "随车吊","危化品车" }vs_information; #endif @@ -200,66 +200,66 @@ typedef struct vs_information #define VS_RESULT_ typedef struct vs_result { - vs_information vs_info[2];//��������Ϣ - int count;//�����͵���������1���ڲ�û����ֵ + vs_information vs_info[2];//车类型信息 + int count;//车类型的数量,是1,内部没设阈值 }vs_result; #endif -//9.�������Ǹ� -#define COVER 1012 //�Ǹ� -#define NOCOVER_NODIRT 1013 //�޸����� -#define NOCOVER_DIRT 1014 //�޸����� +//9.渣土车盖盖 +#define COVER 1012 //盖盖 +#define NOCOVER_NODIRT 1013 //无盖无土 +#define NOCOVER_DIRT 1014 //无盖有土 #ifndef MUCKTRUCKCOVER_RESULT_ #define MUCKTRUCKCOVER_RESULT_ typedef struct mucktruckcover_result { - int status; //�Ƿ�Ǹ� COVER-�Ǹ� NOCOVER_NODIRT-�޸����� NOCOVER_DIRT-�޸����� - float confidence; //���Ŷ� + int status; //是否盖盖 COVER-盖盖 NOCOVER_NODIRT-无盖无土 NOCOVER_DIRT-无盖有土 + float confidence; //置信度 }mucktruckcover_result; #endif -//11.Ħ�г��Ƿ�����/Ħ�г���ʻ���Ƿ��ͷ��/���ֳ��Ƿ����� -#define MOTOR_MANNED 1005 //Ħ�г����� -#define MOTOR_NOT_MANNED 1006 //Ħ�г�δ���� -#define MOTOR_DRIVER_HELMETED 1007 //Ħ�г���ʻ�˴�ͷ�� -#define MOTOR_DRIVER_NOT_HELMETED 1008 //Ħ�г���ʻ��δ��ͷ�� -#define TRICYCLE_MANNED 1009 //���ֳ����� -#define TRICYCLE_NOT_MANNED 1010 //���ֳ�δ���� +//11.摩托车是否载人/摩托车驾驶人是否戴头盔/三轮车是否载人 +#define MOTOR_MANNED 1005 //摩托车载人 +#define MOTOR_NOT_MANNED 1006 //摩托车未载人 +#define MOTOR_DRIVER_HELMETED 1007 //摩托车驾驶人戴头盔 +#define MOTOR_DRIVER_NOT_HELMETED 1008 //摩托车驾驶人未戴头盔 +#define TRICYCLE_MANNED 1009 //三轮车载人 +#define TRICYCLE_NOT_MANNED 1010 //三轮车未载人 #ifndef MTA_RESULT_ #define MTA_RESULT_ typedef struct mta_details { - int status; //Ħ�г��Ƿ�����/Ħ�г���ʻ���Ƿ��ͷ��/���ֳ��Ƿ����� UNCERTAINTY����ȷ�� - float confidence; //���Ŷ� + int status; //摩托车是否载人/摩托车驾驶人是否戴头盔/三轮车是否载人 UNCERTAINTY:不确定 + float confidence; //置信度 }mta_details; typedef struct mta_result { - mta_details motor_driver_helmeted; //Ħ�г���ʻ���Ƿ��ͷ�� - mta_details motor_manned; //Ħ�г��Ƿ����� - mta_details tricycle_manned; //���ֳ��Ƿ����� - vd_result motor_driver_hs_rect; //Ħ�г���ʻ�ˣ�δ��ͷ��ʱ�����ͷ������ + mta_details motor_driver_helmeted; //摩托车驾驶人是否戴头盔 + mta_details motor_manned; //摩托车是否载人 + mta_details tricycle_manned; //三轮车是否载人 + vd_result motor_driver_hs_rect; //摩托车驾驶人(未带头盔时输出)头肩坐标 }mta_result; #endif -//12.�Ƿ����� +//12.是否载人 #ifndef MANNED_RESULT_ #define MANNED_RESULT_ typedef struct manned_result { - //int status; //�Ƿ����� 0-���ǻ����������ֳ������ֳ�δ���˻����δ���ˣ�1-�������ˣ�2-���ֳ����� - //float confidence; //���Ŷ� + //int status; //是否载人 0-不是货车或不是三轮车或三轮车未载人或货车未载人,1-货车载人,2-三轮车载入 + //float confidence; //置信度 - vd_result hs_rect[10]; //ͷ������ - int hs_count; //ͷ����� + vd_result hs_rect[10]; //头肩坐标 + int hs_count; //头肩个数 }manned_result; #endif