人像分割
所有文档

          人体分析

          人像分割

          识别人体的轮廓范围,与背景进行分离,适用于拍照背景替换、照片合成、身体特效等场景。输入正常人像图片,返回分割后的二值结果图、灰度图、透明背景的人像图(png格式)并输出画面中的人数、人体坐标信息,可基于此对图片进行过滤、筛选,如筛选出大于x人的图片进行特殊处理。

          分割效果示意图:

          1)原图

          2)二值图

          3)灰度图

          4)前景人像图(透明背景)

          注:返回的二值图像需要进行二次处理才可查看分割效果;灰度图和前景人像图不用处理,直接解码保存图片即可

          public void sample(AipBodyAnalysis client) {
              // 传入可选参数调用接口
              HashMap<String, String> options = new HashMap<String, String>();
              options.put("type", "labelmap");
              
              
              // 参数为本地路径
              String image = "test.jpg";
              JSONObject res = client.bodySeg(image, options);
              System.out.println(res.toString(2));
          
              // 参数为二进制数组
              byte[] file = readFile("test.jpg");
              res = client.bodySeg(file, options);
              System.out.println(res.toString(2));
          }

          人像分割 请求参数详情

          参数名称 是否必选 类型 说明
          image mixed 本地图片路径或者图片二进制数据
          type String 可以通过设置type参数,自主设置返回哪些结果图,避免造成带宽的浪费
          1)可选值说明:
          labelmap - 二值图像,需二次处理方能查看分割效果
          scoremap - 人像前景灰度图
          foreground - 人像前景抠图,透明背景
          2)type 参数值可以是可选值的组合,用逗号分隔;如果无此参数默认输出全部3类结果图

          人像分割 返回数据参数详情

          字段 是否必选 类型 说明
          log_id int64 唯一的log id,用于问题定位
          labelmap string 分割结果图片,base64编码之后的二值图像,需二次处理方能查看分割效果
          scoremap string 分割后人像前景的scoremap,归一到0-255,不用进行二次处理,直接解码保存图片即可。Base64编码后的灰度图文件,图片中每个像素点的灰度值 = 置信度 * 255,置信度为原图对应像素点位于人体轮廓内的置信度,取值范围[0, 1]
          foreground string 分割后的人像前景抠图,透明背景,Base64编码后的png格式图片,不用进行二次处理,直接解码保存图片即可。将置信度大于0.5的像素抠出来,并通过image matting技术消除锯齿
          person_num int32 检测到的人体框数目
          person_info object[] 人体框信息
          +height float 人体区域的高度
          +left float 人体区域离左边界的距离
          +top float 人体区域离上边界的距离
          +width float 人体区域的宽度
          +score float 人体框的概率分数,取值0-1

          人像分割 返回示例

          {
              "log_id": 2451426617428943180,
              "labelmap": "iVBORw0KGg",
              "scoremap": "iVBORw0KGg"
              "foreground": "iVBORw0KGg",
              "person_num": 2,
              "person_info": [
                  {
                      "height": 420.9641110897064,
                      "width": 365.67474365234375,
                      "top": 3.704406976699829,
                      "score": 0.9801973104476929,
                      "left": 229.32940673828125
                  },
                  {
                      "height": 371.6713676452637,
                      "width": 167.91799926757812,
                      "top": 49.91801834106445,
                      "score": 0.4228516221046448,
                      "left": 470.4878234863281
                  }
              ],    
          }

          上一篇
          手势识别
          下一篇
          驾驶行为分析