上云无忧 > 文档中心 > 百度智能云人体分析API文档 - 人体检测与属性识别
人体检测与属性识别
百度智能云人体分析API文档 - 人体检测与属性识别

文档简介:
接口描述: 对于输入的一张图片(可正常解码,且长宽比适宜),检测图像中的所有人体并返回每个人体的矩形框位置,识别人体的静态属性和行为,共支持17种属性,包括:性别、年龄阶段、上下身服饰(含类别/颜色)、是否戴帽子、是否戴口罩、是否背包、是否吸烟、是否使用手机、人体朝向等。 【百度智能云】人体分析
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

接口描述

对于输入的一张图片(可正常解码,且长宽比适宜),检测图像中的所有人体并返回每个人体的矩形框位置,识别人体的静态属性和行为,共支持17种属性,包括:性别、年龄阶段、上下身服饰(含类别/颜色)、是否戴帽子、是否戴口罩、是否背包、是否吸烟、是否使用手机、人体朝向等。

主要适用于监控场景的中低空斜拍视角,支持人体轻度截断、轻度遮挡、背面、侧面、动作变化等复杂场景。

摄像头硬件选型无特殊要求,分辨率建议720p以上,更低分辨率的图片也能识别,只是效果可能有差异。夜间红外监控图片的识别效果可能欠佳

注:接口返回的属性信息包括人体的遮挡、截断情况,在应用时可基于此过滤掉“无效人体”,比如严重遮挡、严重截断的人体。

人体检测的效果示例如下:

非正常人体示例:严重截断

17种属性及其输出项如下,持续扩展更多属性,敬请期待。

序号 属性 接口字段 输出项说明
1 性别 gender 男性、女性
2 年龄阶段 age 幼儿、青少年、青年、中年、老年
3 上身服饰 upper_wear 长袖、短袖
4 下身服饰 lower_wear 长裤、短裤、长裙、短裙、不确定
5 上身服饰颜色 upper_color 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕
6 下身服饰颜色 lower_color 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕、不确定
7 背包 bag 无背包、单肩包、双肩包
8 是否戴帽子 headwear 无帽、普通帽、安全帽
9 是否戴口罩 face_mask 无口罩、戴口罩、不确定
10 是否使用手机 cellphone 未使用手机、看手机、打电话、不确定
11 人体朝向 orientation 正面、背面、左侧面、右侧面
12 是否吸烟 smoke 吸烟、未吸烟、不确定
13 上方截断 upper_cut 无上方截断、有上方截断
14 下方截断 lower_cut 无下方截断、有下方截断
15 侧方截断 side_cut 无侧方截断、有侧方截断
16 遮挡情况 occlusion 无遮挡、轻度遮挡、重度遮挡
17 是否是正常人体 is_human 非正常人体、正常人体;用于判断说明人体的截断/遮挡情况,并非判断动物等非人类生物
正常人体:身体露出大于二分之一的人体,一般以能看到腰部肚挤眼为标准;
非正常人体:严重截断、或严重遮挡的人体,一般看不到肚挤眼,比如只有个脑袋、一条腿

注意:接口默认输出所有17个属性,如只需返回某几个特定属性,请将type 参数值设定属性可选值,用逗号分隔。

在线调试

您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。

请求说明

请求示例

HTTP 方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/image-classify/v1/body_attr

URL参数:

参数
access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取”

Header如下:

参数
Content-Type application/x-www-form-urlencoded

Body中放置请求参数,参数详情如下:

请求参数

参数 是否必选 类型 可选值范围 说明
image string - 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M。图片的base64编码是不包含图片头的,如(data:image/jpg;base64,),支持图片格式:jpg、bmp、png,最短边至少50px,最长边最大4096px
type string gender,
age,
lower_wear,
upper_wear,
headwear,
face_mask,
glasses,
upper_color,
lower_color,
cellphone,
upper_wear_fg,
upper_wear_texture,
lower_wear_texture,
orientation,
umbrella,
bag,
smoke,
vehicle,
carrying_item,
upper_cut,
lower_cut,
occlusion,
is_human
1)可选值说明:
gender-性别,
age-年龄阶段,
lower_wear-下身服饰,
upper_wear-上身服饰,
headwear-是否戴帽子,
face_mask-是否戴口罩,
upper_color-上身服饰颜色,
lower_color-下身服饰颜色,
cellphone-是否使用手机,
orientation-人体朝向,
bag-背包,
smoke-是否吸烟,
upper_cut-上方截断,
lower_cut-下方截断,
side_cut-侧方截断,
occlusion-遮挡情况,
is_human-是否是正常人体
2)type 参数值可以是可选值的组合,用逗号分隔;如果无此参数默认输出全部17个属性

请求代码示例

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

人体检测和属性识别 curl -i -k 'https://aip.baidubce.com/rest/2.0/image-cl
assify/v1/body_attr?access_token=【调用鉴权接口获取的token】' --data 'image
=【图片Base64编码,需UrlEncode】' -H 'Content-Type:application/x-www-form-urlencoded'


返回说明

返回参数

字段 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
person_num uint32 检测到的人体数目
person_info object[] 每个人体框的信息
+location object 人体坐标信息
++height float 人体区域的高度
++left float 人体区域离左边界的距离
++top float 人体区域离上边界的距离
++width float 人体区域的宽度
++score float 人体框的置信度分数,取值0-1,得分越接近1表示人体框准确的概率越大
+attributes object 人体属性内容
++gender object 性别
+++name string 男性、女性
+++score float 对应概率分数
++age object 年龄阶段
+++name string 幼儿、青少年、青年、中年、老年
+++score float 对应概率分数
++upper_color object 上半身衣着颜色
+++name string 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕
+++score float 对应概率分数
++lower_color object 下半身衣着颜色
+++name string 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕、不确定
+++score float 对应概率分数
++cellphone object 是否使用手机
+++name string 未使用手机、看手机、打电话、不确定
+++score float 对应概率分数
++lower_wear object 下半身服饰
+++name string 长裤、短裤、长裙、短裙、不确定
+++score float 对应概率分数
++upper_wear object 上半身服饰
+++name string 长袖、短袖
+++score float 对应概率分数
++headwear object 是否戴帽子
+++name string 无帽、普通帽、安全帽
+++score float 对应概率分数
++face_mask object 是否戴口罩
+++name string 无口罩、戴口罩、不确定(背面或者头部被截断的人体,一般为不确定)
+++score float 对应概率分数
++orientation object 人体朝向
+++name string 正面、背面、侧面
+++score float 对应概率分数
++bag object 背包
+++name string 无背包、单肩包、双肩包
+++score float 对应概率分数
++smoke object 是否吸烟
+++name string 未吸烟、吸烟、不确定
+++score float 对应概率分数
++upper_cut object 上方截断
+++name string 无上方截断、有上方截断
+++score float 对应概率分数
++lower_cut object 下方截断
+++name string 无下方截断、有下方截断
+++score float 对应概率分数
++side_cut object 侧方截断
+++name string 无侧方截断、有侧方截断
+++score float 对应概率分数
++occlusion object 遮挡情况
+++name string 无遮挡、轻度遮挡、重度遮挡
+++score float 对应概率分数
++is_human object 是否是正常人体
+++name string 正常人体、非正常人体
+++score float 对应概率分数

返回示例

{
	"person_num": 1,
	"person_info": [
		{
			"attributes": {
				"orientation": {
					"score": 0.99913859367371,
					"name": "正面"
				},
				"is_human": {
					"score": 0.99985098838806,
					"name": "正常人体"
				},
				"headwear": {
					"score": 0.7862206697464,
					"name": "无帽"
				},
				"face_mask": {
					"score": 0.99429154396057,
					"name": "无口罩"
				},
				"lower_wear": {
					"score": 0.96919763088226,
					"name": "长裤"
				},
				"vehicle": {
					"score": 0.99982362985611,
					"name": "无交通工具"
				},
				"upper_wear_fg": {
					"score": 0.40853327512741,
					"name": "T恤"
				},
				"lower_color": {
					"score": 0.77661311626434,
					"name": "灰"
				},
				"upper_cut": {
					"score": 0.99979013204575,
					"name": "无上方截断"
				},
				"lower_cut": {
					"score": 0.99873107671738,
					"name": "无下方截断"
				},
				"upper_wear": {
					"score": 0.98250997066498,
					"name": "短袖"
				},
				"cellphone": {
					"score": 0.99923753738403,
					"name": "未使用手机"
				},
				"gender": {
					"score": 0.91399890184402,
					"name": "女性"
				},
				"age": {
					"score": 0.94620317220688,
					"name": "青年"
				},
				"bag": {
					"score": 0.88887012004852,
					"name": "无背包"
				},
				"smoke": {
					"score": 0.99988353252411,
					"name": "未吸烟"
				},
				"upper_color": {
					"score": 0.94646281003952,
					"name": "灰"
				},
				"occlusion": {
					"score": 0.99341428279877,
					"name": "无遮挡"
				}
			},
			"location": {
				"height": 826,
				"width": 219,
				"top": 176,
				"score": 0.9693506360054,
				"left": 754
			}
		}
	],
	"log_id": "1324248829299466129"
}
相似文档
  • 接口描述: 对于输入的一张图片(可正常解码,且长宽比适宜),识别和统计图像当中的人体个数(静态统计,不支持追踪和去重)。 适用于3米以上的中远距离俯拍,以头部为主要识别目标统计人数,无需正脸、全身照,适应各类人流密集场景(如:机场、车展、景区、广场等);默认识别整图中的人数,支持指定不规则区域的人数统计,同时可输出渲染图片。 【百度智能云】人体分析
  • 接口描述: 识别图片中的手势类型,返回手势名称、手势矩形框、概率分数,可识别24种常见手势,适用于手势特效、智能家居手势交互等场景。 支持的24类手势列表:拳头、OK、祈祷、作揖、作别、单手比心、点赞、Diss、我爱你、掌心向上、双手比心(3种)、数字(9种)、Rock、竖中指。
  • 接口描述: 识别人体的轮廓范围,与背景进行分离,适用于拍照背景替换、照片合成、身体特效等场景。输入正常人像图片,返回分割后的二值结果图、灰度图、透明背景的人像图(png格式);并输出画面中的人数、人体坐标信息,可基于此对图片进行过滤、筛选,如筛选出大于x人的图片进行特殊处理。
  • 接口描述: 对于输入的一张车载驾驶员监控图片(可正常解码,且长宽比适宜),识别图像中是否有人体,若检测到至少1个人体,将目标最大的人体作为驾驶员,进一步识别驾驶员的属性行为,可识别使用手机、抽烟、未系安全带、双手离开方向盘、视线未朝前方、未佩戴口罩、闭眼、打哈欠、低头9种典型行为姿态。
  • 接口描述: 统计图像中的人体个数和流动趋势,主要适用于低空俯拍、出入口场景,以人体头肩为主要识别目标,核心功能: 静态人数统计:传入单帧图像,检测图片中的人体头肩,返回图中总人数。 【百度智能云】人体分析
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部