前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【关于肤色的一切】【肤色检测】【Java】肤色深浅一测

【关于肤色的一切】【肤色检测】【Java】肤色深浅一测

作者头像
小帅丶
发布2021-12-28 13:16:01
6170
发布2021-12-28 13:16:01
举报
文章被收录于专栏:XAIXAI

AI在民间的认知度最高的项目,或许就是图片特效了

本期活动,小帅就来带开发者们快速上手肤色检测API

各位开发者 接口文档一定要看哦

接口文档 https://ai.baidu.com/ai-doc/FACE/2k7zyhuev

如何创建应用。获取accesstoken 记得一定要看文档的接入指南哦。官方已经给了图文教程。小帅这里就不再重复说明了。AI接入指南

申请邀测能力开通

登录控制台填工单提交 https://ticket.bce.baidu.com/?_=1583756196861&fromai=1#/ticket/list

注意:需提供信息,appid、需开通接口、公司名称、联系人及电话、具体应用场景。

接口能力简介

业务能力 通过AI技术对图片中的人脸进行肤色检测,支持1-6挡,数字越小颜色越浅

  • 肤色检测:支持多档位肤色检测,数字越小颜色越浅
  • 图片质量控制:对输入的图片进行质量判断,支持包含图片本身大小、清晰度、光照等标准定制及控制
  • 人脸角度判断:对图片中的人脸进行多种姿态角度判断

接口调用造起来

获取AccessToken(浏览器获取)

API Key、Secret Key 替换为自己创建应用的信息

代码语言:javascript
复制
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=API Key&client_secret=Secret Key

使用最快速的方式获取AccessToken

将以上替换后的URL。直接粘贴到浏览器地址栏回车即可。得到如下字段。我们只需要access_token后面的值

代码语言:javascript
复制
{
  "refresh_token": "25.6973e8f0835d6458b46a12b52f008a1b.315360000.1903242650.282335-123456798",
  "expires_in": 2592000,
  "session_key": "9mzdDxEUo4Lny4jBhrHfOfoZgeqAphy5iTvSQgDWubDduWwGNzoQpCLC+1IEnGDlbFAD4q1Roty5O2DrloahXAgLuwZH",
  "access_token": "24.458cd6570f77221a5837e0185dce0ab6.2592000.1590474650.282335-123456798",
  "scope": "............",
  "session_secret": "878013faa3981961862ca61280eaa9e9"
}

得到access_token后面的值,保存备用

编写代码请求接口

需要额外的第三方库fastjson

代码语言:javascript
复制
/**
 * @author 小帅丶
 * @className SkinColorSample
 * @Description 肤色检测
 * @Date 2020/4/26
 **/
public class SkinColorSample {
    /**
     * 重要提示代码中所需工具类
     * FileUtil,Base64Util,HttpUtil请从
     * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
     * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
     * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
     * 下载
     */
    public static void main(String[] args) throws Exception {
        //请将API地址替换为肤色检测所提供的API地址
        String url ="https://aip.baidubce.com/rest/2.0/face/v1/skin_color";
        //请将应用的APPID填入
        String appid = "【应用的AppID】";
        //图片类型 BASE64:图片的base64值; URL:图片的 URL( 下载图片时可能由于网络等原因导致下载图片时间过长) FACE_TOKEN: 人脸标识
        String image_type = "BASE64";
        //access_token获取方法请详见API使用说明,请注意access_token有效期为30天
        String access_token="【access_token】";
        //修改图片地址,测试不同图片
        byte[] file = FileUtil.readFileByBytes("【本地图片地址】");
        //参数image:图像base64编码
        String image = Base64Util.encode(file);
        //Body中放置请求参数
        String params = "{\"appid\":\""+appid+"\",\"image_type\":\""+image_type+"\",\"image\":\""+image+"\"}";
        String result = HttpUtil.post(url, access_token, params);
        //输出识别结果
        System.out.println(result);
        //输出肤色
        JSONObject object = JSON.parseObject(result);
        //拿到第一个face_list
        Object face_list = object.getJSONObject("result").getJSONArray("face_list").get(0);
        //第一个face_list转JSONObject
        JSONObject skin = JSON.parseObject(face_list.toString());
        //获取skin对象中color的值 即肤色等级数值 越小肤色越浅
        System.out.println(skin.getJSONObject("skin").get("color"));
    }
}

控制台输出的内容

1即为肤色等级

代码语言:javascript
复制
null--->[HTTP/1.1 200 OK]
Server--->[Apache]
Access-Control-Allow-Origin--->[*]
Access-Control-Allow-Methods--->[GET,POST,OPTIONS]
Connection--->[keep-alive]
P3p--->[CP=" OTI DSP COR IVA OUR IND COM ", CP=" OTI DSP COR IVA OUR IND COM "]
Date--->[Sun, 26 Apr 2020 06:55:14 GMT]
Access-Control-Allow-Headers--->[X-Requested-With]
Appid--->[18904875]
Tracecode--->[33143086990229861130042614]
Vary--->[Accept-Encoding]
Set-Cookie--->[BAIDUID=8D8D939FA8FDA44F6A54BB25D6F2137C:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2145916555; path=/; domain=.baidu.com; version=1, BAIDUID=1411AFDFE1A4CEA572EA46302B9FE029:FG=1; expires=Mon, 26-Apr-21 06:55:14 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1]
Content-Length--->[279]
Content-Type--->[application/json]
result:{"error_code":0,"error_msg":"SUCCESS","log_id":2584651013510,"timestamp":1587884114,"cached":0,"result":{"face_num":1,"face_list":[{"face_token":"9ac4c972ff3d48afd4e6b6631be93202","location":{"left":444.61,"top":483.45,"width":420,"height":424,"degree":-2},"skin":{"color":1}}]}}

1
代码语言:javascript
复制
{
    "error_code":0,
    "error_msg":"SUCCESS",
    "log_id":2584651013510,
    "timestamp":1587884114,
    "cached":0,
    "result":{
        "face_num":1,
        "face_list":[
            {
                "face_token":"9ac4c972ff3d48afd4e6b6631be93202",
                "location":{
                    "left":444.61,
                    "top":483.45,
                    "width":420,
                    "height":424,
                    "degree":-2
                },
                "skin":{
                    "color":1
                }
            }
        ]
    }
}

肤色分级

肤色分级,1~6,越小肤色越浅 1-6 小帅分别给的中文描述为(仅作为参考):十分浅、浅、中等、深、十分深、深不可测

在线体验

应用场景

智能医美 支持上传或配合采集工具实时拍摄照片,后对皮肤颜色及质量进行深度分析,实现比对和肤色档位输出 互动娱乐 可用于各类短视频产品,或互动营销方案中提供趣味的体验 大屏互动 可用于各类商场大屏互动体验。根据肤色推荐不同的护肤产品

看法&建议

1.接口未对性别进行分别评测 2.返回的肤色等级过于简单(建议:color为1时,能给出相应的置信度分数)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 申请邀测能力开通
  • 接口能力简介
  • 接口调用造起来
    • 获取AccessToken(浏览器获取)
      • 编写代码请求接口
        • 肤色分级
        • 在线体验
        • 应用场景
        • 看法&建议
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档