所有文档

          人体分析

          人体检测与属性识别

          对于输入的一张图片(可正常解码,且长宽比适宜),检测图像中的所有人体并返回每个人体的矩形框位置,识别人体的静态属性和行为,共支持22种属性,包括:性别、年龄阶段、衣着(含类别/颜色)、戴帽子(可区分安全帽/普通帽)、戴口罩、戴眼镜、背包、抽烟、使用手机、身体朝向等

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

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

          暂不适用夜间红外监控图片,后续会考虑扩展。

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

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

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

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

          序号 属性 接口字段 输出项说明
          1 性别 gender 男性、女性
          2 年龄阶段 age 幼儿、青少年、青年、中年、老年
          3 上身服饰 upper_wear 长袖、短袖
          4 下身服饰 lower_wear 长裤、短裤、长裙、短裙、不确定
          5 上身服饰颜色 upper_color 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕
          6 下身服饰颜色 lower_color 红、橙、黄、绿、蓝、紫、粉、黑、白、灰、棕、不确定
          7 上身服饰纹理 upper_wear_texture 纯色、图案、碎花、条纹或格子
          8 背包 bag 无背包、单肩包、双肩包、不确定
          9 上身服饰细分类 upper_wear_fg T恤、无袖、衬衫、西装、毛衣、夹克、羽绒服、风衣、外套
          10 是否戴帽子 headwear 无帽、普通帽、安全帽
          11 是否戴口罩 face_mask 无口罩、戴口罩、不确定
          12 是否戴眼镜 glasses 戴眼镜、戴墨镜、无眼镜、不确定
          13 是否撑伞 umbrella 撑伞、无撑伞
          14 是否使用手机 cellphone 未使用手机、使用手机、不确定
          15 身体朝向 orientation 正面、背面、左侧面、右侧面
          16 是否吸烟 smoke 吸烟、未吸烟、不确定
          17 是否有手提物 carrying_item 无手提物、有手提物、不确定
          18 交通工具 vehicle 无交通工具、骑摩托车、骑自行车、骑三轮车
          19 上方截断 upper_cut 无上方截断、有上方截断
          20 下方截断 lower_cut 无下方截断、有下方截断
          21 遮挡 occlusion 无遮挡、轻度遮挡、重度遮挡
          22 是否是正常人体 is_human 非正常人体、正常人体;正常人体:身体露出大于二分之一的人体,一般以能看到腰部肚挤眼为标准;非正常人体:严重截断、严重遮挡的人体,一般是看不到肚挤眼的,比如只有个脑袋、一条腿

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

          """ 读取图片 """
          def get_file_content(filePath):
              with open(filePath, 'rb') as fp:
                  return fp.read()
          
          image = get_file_content('example.jpg')
          
          """ 调用人体检测与属性识别 """
          client.bodyAttr(image);
          
          """ 如果有可选参数 """
          options = {}
          options["type"] = "gender"
          
          """ 带参数调用人体检测与属性识别 """
          client.bodyAttr(image, options)

          人体检测与属性识别 请求参数详情

          参数名称 是否必选 类型 说明
          image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
          type string 1)可选值说明:
          gender-性别,
          age-年龄阶段,
          lower_wear-下身服饰,
          upper_wear-上身服饰,
          headwear-是否戴帽子,
          face_mask-是否戴口罩,
          glasses-是否戴眼镜,
          upper_color-上身服饰颜色,
          lower_color-下身服饰颜色,
          cellphone-是否使用手机,
          upper_wear_fg-上身服饰细分类,
          upper_wear_texture-上身服饰纹理,
          orientation-身体朝向,
          umbrella-是否撑伞,
          bag-背包,
          smoke-是否吸烟,
          vehicle-交通工具,
          carrying_item-是否有手提物,
          upper_cut-上方截断,
          lower_cut-下方截断,
          occlusion-遮挡,
          is_human-是否正常人体
          2)type 参数值可以是可选值的组合,用逗号分隔;如果无此参数默认输出全部22个属性

          人体检测与属性识别 返回数据参数详情

          字段 是否必选 类型 说明
          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 对应概率分数
          ++glasses object 是否戴眼镜
          +++name string 戴眼镜、戴墨镜、无眼镜、不确定
          +++score float 对应概率分数
          ++upper_wear_fg object 上身服饰细分类
          +++name string T恤、无袖、衬衫、西装、毛衣、夹克、羽绒服、风衣、外套、不确定
          +++score float 对应概率分数
          ++upper_wear_texture object 上身服饰纹理
          +++name string 纯色、图案、碎花、条纹或格子、不确定
          +++score float 对应概率分数
          ++orientation object 身体朝向
          +++name string 正面、背面、侧面、不确定
          +++score float 对应概率分数
          ++umbrella object 是否撑伞
          +++name string 未撑伞、撑伞、不确定
          +++score float 对应概率分数
          ++bag object 背包
          +++name string 无背包、单肩包、双肩包、不确定
          +++score float 对应概率分数
          ++smoke object 是否吸烟
          +++name string 未吸烟、吸烟、不确定
          +++score float 对应概率分数
          ++vehicle object 交通工具
          +++name string 无交通工具、骑摩托车、骑自行车、骑三轮车、不确定
          +++score float 对应概率分数
          ++upper_cut object 上方截断
          +++name string 无上方截断,有上方截断,不确定
          +++score float 对应概率分数
          ++lower_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": {
                "upper_wear_fg": {
                  "score": 0.6084373593330383,
                  "name": "T恤"
                },
                "cellphone": {
                  "score": 0.9986445307731628,
                  "name": "未使用手机"
                },
                "lower_cut": {
                  "score": 0.999593198299408,
                  "name": "无下方截断"
                },
                "umbrella": {
                  "score": 0.9999368190765381,
                  "name": "未打伞"
                },
                "orientation": {
                  "score": 0.6865364909172058,
                  "name": "左侧面"
                },
                "headwear": {
                  "score": 0.323924720287323,
                  "name": "普通帽"
                },
                "face_mask": {
                  "score": 0.99429154396057,
                  "name": "无口罩" 
                },
                "gender": {
                  "score": 0.8240132331848145,
                  "name": "女性"
                },
                "age": {
                  "score": 0.9495382308959961,
                  "name": "青年"
                },
                "upper_cut": {
                  "score": 0.9999241828918457,
                  "name": "无上方截断"
                },
                "glasses": {
                  "score": 0.9292197823524475,
                  "name": "无眼镜"
                },
                "lower_color": {
                  "score": 0.3373721539974213,
                  "name": "黄"
                },
                "bag": {
                  "score": 0.9770514369010925,
                  "name": "无背包"
                },
                "upper_wear_texture": {
                  "score": 0.7113875150680542,
                  "name": "纯色"
                },
                "smoke": {
                  "score": 0.9982085227966309,
                  "name": "未吸烟"
                },
                "vehicle": {
                  "score": 0.9907247424125671,
                  "name": "无交通工具"
                },
                "lower_wear": {
                  "score": 0.9739166498184204,
                  "name": "短裤"
                },
                "carrying_item": {
                  "score": 0.9735746383666992,
                  "name": "无手提物"
                },
                "upper_wear": {
                  "score": 0.7128473520278931,
                  "name": "长袖"
                },
                "occlusion": {
                  "score": 0.999269425868988,
                  "name": "无遮挡"
                },
                "upper_color": {
                  "score": 0.4870010614395142,
                  "name": "白"
                },
                "is_human": {
                  "score": 0.4870010614395142,
                  "name": "正常人体"
                }
              },
              "location": {
                "height": 369,
                "width": 316,
                "top": 1,
                "score": 0.9756121635437012,
                "left": 58
              }
            }],
            "log_id": 6482262517986539034
          }
          上一篇
          人体关键点识别
          下一篇
          人流量统计