全目标检测识别算子
更新时间:2022-04-01
全目标检测识别算子
为了满足复杂场景算子应用的需要,方便客户接入,提升算子使用效率,提供全目标检测识别算子;输入一张图片,识别图中的人脸、人体、车辆(包括二/三轮车)目标并输出对应目标的位置信息、属性信息、和特征信息,以及各个目标之间的关联关系;接入时可以根据实际场景选择使用小图模式还是大图模式:
- 小图模式:输入一张抓拍小图,选择最大目标输出策略,输出最大目标以及该目标关联的人脸/人体/车辆目标;
- 大图模式:输入一张全景大图,输出图中所有的人脸/人体/车辆目标,以及给个目标之间的关联关系;
请求Url
POST /v2/whole/target/detect HTTP/1.1
Request参数
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
image_base64 | 必选 | String | 图片base64编码,iamge_base64和image_url二选一即可,优先使用image_base64 |
image_url | 必选 | String | 图片url,只有当image_base64为空时才会使用image_url下载图片再base64编码,增加下载时延 |
min_score | 可选 | Double | 最小置信度,如果指定该参数,会对检测、识别结果按min_score过滤,只保留置信度大于min_score的特征结果 |
enable_face | 可选 | Boolean | 全目标检测是否检测人脸,默认true;如果不关注人脸目标,可以关闭人脸检测 |
enable_human | 可选 | Boolean | 全目标检测是否检测人体,默认true;如果不关注人体目标,可以关闭人体检测 |
enable_car | 可选 | Boolean | 全目标检测是否检测车辆(包括二/三轮车),默认true;如果不关注车辆目标,可以关闭车辆检测 |
enable_multiple | 可选 | Boolean | 指定大图模式,全目标检测输出所有目标,默认false,即小图模式 |
control_flag | 可选 | String | 对于小图模式,指定最大目标输出策略,可选值:FACE 、HUMAN 、CAR ,即以最大人脸、最大人体,还是最大车辆优先输出 |
Response参数
参数 | 类型 | 说明 |
---|---|---|
code | Integer | 0:请求成功,非0:请求失败 |
message | String | 请求成功message为空,请求失败为失败提示信息 |
data | Object | 响应对象实体,包括实体列表和属性数量 |
+items | List | 响应对应的实体列表 |
++id | Integer | 实体标识ID,人脸、人体、车辆目标标识ID从0开始,不断递增 |
++type | String | 实体类型标识,human :人体,face :人脸,car :车辆(四轮车),electric-car :电动车(二/三轮车) |
++sub_type | String | 类别对应的子类别,目前持有车辆有细分子类别 |
++location | Object | 位置信息 |
+++left | Integer | 位置相对左边框的坐标 |
+++top | Integer | 位置相对上边框的坐标 |
+++width | Integer | 宽度 |
+++height | Integer | 高度 |
++score | Double | 目标置信度 |
++reid_feature | List |
实体特征向量 |
++其他参数 | Object | 其他参数详见人脸、人体、车辆输出结果 |
+item_count | Integer | 识别的item个数 |
+relation_map | List | 目标关联关系列表 |
++car_id | Integet | 车辆实体标识ID,-1表示没有关联到对应实体 |
++human_id | Integet | 人体实体标识ID,-1表示没有关联到对应实体 |
++face_id | Integet | 人脸实体标识ID,-1表示没有关联到对应实体 |
目标其他参数说明:
- type:
face
,人脸目标其他结果输出:
参数 | 类型 | 说明 |
---|---|---|
++age | Integer | 年龄 |
++beauty | Double | 美丑打分,范围0-100,越大表示越美 |
++angle | Object | 人脸旋转参数 |
+++yaw | Double | 三维旋转之左右旋转角,范围:[-90(左), 90(右)],推荐旋转角绝对值不大于20度 |
+++pitch | Double | 三维旋转之俯仰角度,范围:[-90(上), 90(下)],推荐俯仰角绝对值不大于20度 |
+++roll | Double | 平面内旋转角,范围:[-180(逆时针), 180(顺时针)],推荐旋转角绝对值不大于20度 |
++expression | Object | 表情, none:不笑;smile:微笑;laugh:大笑 |
+++name | String | 表情属性值 |
+++score | Double | 属性置信度,范围0~1 |
++face_shape | Object | 脸型, square:正方形 triangle:三角形 oval:椭圆 heart:心形 round:圆形 |
+++name | String | 脸型属性值 |
+++score | Double | 属性置信度,范围0~1 |
++gender | Object | 性别, male:男性 female:女性 |
+++name | String | 性别属性值 |
+++score | Double | 属性置信度,范围0~1 |
++glasses | Object | 是否带眼镜, none:无眼镜,common:普通眼镜,sun:墨镜 |
+++name | String | 是否戴眼镜属性值 |
+++score | Double | 属性置信度,范围0~1 |
++race | Object | 人种, yellow: 黄种人 white: 白种人 black: 黑种人 arabs: 阿拉伯人 |
+++name | String | 人种属性值 |
+++score | Double | 属性置信度,范围0~1 |
++face_type | Object | 真实人脸/卡通人脸, human: 真实人脸 cartoon: 卡通人脸 |
+++name | String | 真实人脸属性值 |
+++score | Double | 属性置信度,范围0~1 |
++mask | Object | 口罩识别, 0代表没戴口罩 1代表戴口罩 |
+++name | String | 口罩属性值 |
+++score | Double | 属性置信度,范围0~1 |
++emotion | Object | 情绪, angry:愤怒 disgust:厌恶 fear:恐惧 happy:高兴 sad:伤心 surprise:惊讶 neutral:无表情 pouty: 撅嘴 grimace:鬼脸 |
+++name | String | 情绪属性值 |
+++score | Double | 属性置信度,范围0~1 |
++quality | Object | 人脸质量信息 |
+++occlusion | Object | 人脸各部分遮挡的概率,范围[0~1],0表示完整,1表示不完整 |
++++left_eye | Double | 左眼遮挡比例 |
++++right_eye | Double | 右眼遮挡比例 |
++++nose | Double | 鼻子遮挡比例 |
++++mouth | Double | 嘴巴遮挡比例 |
++++left_cheek | Double | 左脸颊遮挡比例 |
++++right_cheek | Double | 右脸颊遮挡比例 |
++++chin_contour | Double | 下巴遮挡比例 |
+++blur | Double | 人脸模糊程度,范围[0~1],0表示清晰,1表示模糊 |
+++illumination | Double | 取值范围在[0~255], 表示脸部区域的光照程度, 越大表示光照越好 |
+++completeness | Long | 人脸完整度,0或1, 0为人脸溢出图像边界,1为人脸都在图像边界内 |
++eye_status | Object | 双眼状态(睁开/闭合), 越接近0闭合的可能性越大 |
+++left_eye | Double | 左眼状态,范围0~1 |
+++right_eye | Double | 右眼状态,范围0~1 |
++landmark | List | 4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心 |
+++x | Integer | 关键点x坐标 |
+++y | Integer | 关键点y坐标 |
++landmark72 | List | 72个关特征点位置 |
+++x | Integer | 特征点x坐标 |
+++y | Integer | 特征点y坐标 |
- type:
human
,人体实体其他结果输出:
参数 | 类型 | 说明 |
---|---|---|
++attribute | Map | 人体属性详情 |
人体属性字典:
属性 | 说明 | 类型取值 |
---|---|---|
gender | 性别 | 男性、女性 |
age | 年龄阶段 | 幼儿(0-6岁)、青少年(7-18岁)、青年(19-40岁)、中年(40-60岁)、老年(60岁+) |
action | 动作姿态 | 站立、蹲或坐、走、跑 |
hair_length | 发长 | 长发、中长发、短发、秃顶 |
bag | 背包 | 无背包、单肩包、双肩包 |
upper_wear | 上身服饰 | 长袖、短袖 |
lower_wear | 下身服饰 | 长裤、短裤、长裙、短裙、不确定 |
upper_color | 上身颜色 | 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕 |
lower_color | 下身颜色 | 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕、不确定 |
upper_wear_fg | 上身服饰细分 | T恤、无袖、衬衫、西装、毛衣、夹克、羽绒服、风衣、外套 |
upper_wear_texture | 上身服饰纹理 | 纯色、图案、碎花、条纹或格子 |
headwear | 是否戴帽子 | 无帽、普通帽、安全帽 |
glasses | 是否戴眼镜 | 无眼镜、戴眼镜、戴墨镜、不确定 |
smoke | 是否吸烟 | 未吸烟、吸烟、不确定 |
cellphone | 是否使用手机 | 未使用手机、打电话、看手机、不确定 |
orientation | 人体朝向 | 正面、背面、左侧面、右侧面 |
umbrella | 是否打伞 | 未打伞、打伞 |
carrying_baby | 是否抱小孩 | 未抱小孩、抱小孩 |
face_mask | 是否戴口罩 | 无口罩、戴口罩、不确定 |
glove | 是否戴手套 | 无手套、戴手套 |
carrying_item | 是否有手提物 | 无手提物、有手提物、不确定 |
vehicle | 是否有交通工具 | 无交通工具、骑摩托车、骑自行车、骑三轮车 |
luggage | 是否有拉杆箱 | 无拉杆箱、有拉杆箱 |
upper_cut | 上方截断 | 无上方截断、有上方截断 |
lower_cut | 下方截断 | 无下方截断、有下方截断 |
side_cut | 侧方截断 | 无侧方截断、有侧方截断 |
occlusion | 遮挡情况 | 无遮挡、轻度遮挡、重度遮挡 |
is_human | 是否是正常人体 | 非正常人体、正常人体 |
- type:
car
,车辆(四轮车)实体其他结果输出:
参数 | 类型 | 说明 |
---|---|---|
++attribute | Map | 车辆属性结果 |
++model | Object | 车型识别结果 |
++plate | Object | 车牌识别结果 |
++catagory | String | 车辆车型类别 |
++desc | String | 车辆车型描述 |
车辆属性字典:
属性 | 说明 | 类型取值 |
---|---|---|
top_holder | 是否有车顶架 | 无车顶架、有车顶架 |
skylight | 是否有天窗 | 无天窗、有天窗 |
window_rain_eyebrow | 是否有车窗雨眉 | 无车窗雨眉、有车窗雨眉 |
vehicle_front_item_placeitems | 是否有车前摆放物 | 无车前摆放物、有车前摆放物 |
vehicle_front_item_pendant | 是否有后视镜挂件 | 无后视镜挂件、有后视镜挂件 |
has_copilot | 副驾驶位是否有人 | 副驾驶无人、副驾驶有人 |
safety_belt_copilot | 副驾驶安全带是否系带 | 副驾驶未系安全带、副驾驶系安全带 |
safety_belt_pilot | 驾驶员安全带是否系带 | 驾驶员未系安全带、驾驶员系安全带 |
sunvisor_pilot | 驾驶员遮阳板是否放下 | 驾驶员遮阳板未放下、驾驶员遮阳板放下 |
sunvisor_copilot | 副驾驶遮阳板是否放下 | 副驾驶遮阳板未放下、副驾驶遮阳板放下 |
direction | 车辆行驶方向 | 车辆正向行驶、车辆背向行驶、车辆左侧行驶、车辆右侧行驶 |
has_plate | 是否无牌车 | 有车牌、无车牌 |
plate_stained | 是否污损车牌 | 车牌无污损、车牌污损 |
vehicle_front_item_tissuebox | 是否车前有纸巾盒 | 车前无纸巾盒、车前有纸巾盒 |
calling | 是否驾驶员打电话 | 驾驶员未打电话、驾驶员打电话 |
body_spray | 是否车身喷字 | 车身无喷字、车身有喷字 |
spare_wheel | 是否挂有备胎 | 无备胎、有备胎 |
dangerous_vehicle | 是否为危化品车 | 非危险品车、危险品车 |
slag_vehicle | 是否为渣土车 | 非渣土车、渣土车 |
slag_vehicle_cover | 渣土车是否盖板 | 渣土车未盖板、渣土车盖板 |
vehicle_inspection | 是否有年检标 | 无年检标、有年检标 |
vehicle_color | 车身颜色 | 车身颜色无法确定、车身颜色红色、车身颜色黄色、车身颜色橙色、车身颜色绿色、车身颜色青色、车身颜色蓝色、车身颜色紫色、车身颜色黑色、车身颜色白色、车身颜色金银色、车身颜色深灰色、车身颜色棕色、车身颜色粉色 |
door_open | 车门状态 | 车门关闭、车门打开 |
special_vehicle | 特种车类型 | 普通车、警车、消防车、救护车、施工工程车、工程抢险车、洒水车、搅拌车、校车 |
vehicle_shielding | 遮挡 | 无遮挡、0-50%遮挡、50-100%遮挡 |
truncation_horizontal | 横向截断 | 横向无截断、横向截断 |
truncation_vertical | 纵向截断 | 纵向无截断、纵向截断 |
slag_full_loaded | 渣土车满载 | 渣土车未满载、渣土车满载 |
slag_refit | 渣土车改装 | 渣土车未改装、渣土车改装 |
plate_cover | 车牌遮挡 | 车牌未遮挡、车牌遮挡 |
visibility_pilot | 主驾驶可见性 | 看不清、看得清 |
visibility_copilot | 副驾驶可见性 | 看不清、看得清 |
vehicle_class | 车辆类型识别 | 两轮车(摩托)、三轮车、四轮车 |
车型识别结果:
参数 | 类型 | 说明 |
---|---|---|
+brand | String | 品牌 |
+color | String | 颜色 |
+class_id | Integer | 型号标识 |
+class_name | String | 型号 |
+year | String | 年份 |
+score | Double | 置信度 |
车牌识别结果:
参数 | 类型 | 说明 |
---|---|---|
++plate_number | String | 车牌号码 |
++plate_color | String | 车牌颜色(blue, yellow, white, unknown) |
++scores | List | 车牌每个号码的置信度 |
车型类别字典:
class_id | catagory | desc |
---|---|---|
1 | car | 小汽车 |
2 | mediumbus | 中型巴士 |
3 | bus | 大型巴士 |
4 | minivan | 小货车 |
5 | truck | 中型卡车 |
6 | heavytruck | 重型卡车 |
- type:
electric-car
,电动车(二/三轮车)实体其他结果输出:
参数 | 类型 | 说明 |
---|---|---|
++attribute | Map | 车辆属性 |
++catagory | String | 电动车类别 |
++desc | String | 电动车描述 |
电动车属性字典:
参数 | 类型 | 说明 |
---|---|---|
awning | 是否带篷 | 未带篷、带篷 |
tricycle_manned | 是否过量载人 | 未过量载人、过量载人 |
has_pilot | 是否有驾驶人 | 无驾驶人、有驾驶人 |
pilot_upper_color | 骑车人上衣颜色 | 骑车人上衣颜色其它、骑车人上衣颜色红色、骑车人上衣颜色黄色、骑车人上衣颜色橙色、骑车人上衣颜色绿色、骑车人上衣颜色蓝色、骑车人上衣颜色紫光、骑车人上衣颜色黑色、骑车人上衣颜色白色、骑车人上衣颜色灰色、骑车人上衣颜色棕色、骑车人上衣颜色粉色 |
motor_manned | 是否带人 | 未带人、带人 |
has_helment | 是否戴头盔 | 未带头盔、带头盔 |
motor_direction | 车辆朝向 | 车辆朝向正向、车辆朝向背向、车辆朝向左向、车辆朝向右向 |
vehicle_class | 车辆类型识别 | 两轮车(摩托)、三轮车、四轮车 |
电动车类别和描述:
category | desc |
---|---|
motorcycle | 摩托车 |
e-motorcycle | 电动摩托车 |
e-bicycle | 电动自行车 |
bicycle | 自行车 |
c-bicycle | 儿童脚踏车 |
trolley | 手推车 |
scooter | 滑板车 |
tricycle | 三轮车 |
实体关联关系说明:
示例:
"relation_map": [
{
"car_id": 0,
"human_id": 0,
"face_id": 0
},
{
"car_id": -1,
"human_id": 1,
"face_id": 1
}
]
第一个关联关系表示车辆ID为0、人体ID为0、人脸ID为0的三个检测结果关联(对应)同一个实体目标;
第二个关联关心标识人体ID为1、人脸ID为1的两个检测结果关联(对应)同一个实体目标,该实体目标没有车辆结果(car_id=-1);