开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
人体分析

    人像分割

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

    分割效果示意图:

    1)原图

    2)二值图

    3)灰度图

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

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

    Json::Value result;
    
    std::string image;
    aip::get_file_content("/assets/sample.jpg", &image);
    
    // 调用人像分割
    result = client.body_seg(image, aip::null);
    
    // 如果有可选参数
    std::map<std::string, std::string> options;
    options["type"] = "labelmap";
    
    // 带参数调用人像分割
    result = client.body_seg(image, options);

    人像分割 请求参数详情

    参数名称 是否必选 类型 说明
    image std::string 图片数据的二进制字符串,可以使用aip::get_file_content函数获取
    type std::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
            }
        ],    
    }

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