FacePlusPlus人脸识别
检测给定图片(Image)中的所有人脸(Face)的位置和相应的面部属性 目前面部属性包括性别(gender), 年龄(age), 种族(race), 微笑程度(smiling), 眼镜(glass)和姿势(pose) 若结果的face_id没有被加入任何faceset/person之中,则在72小时之后过期被自动清除。 包含微笑程度分析结果,value的值为0-100的实数,越大表示微笑程度越高 包含眼镜佩戴分析结果,value的值为None/Dark/Normal, confidence表示置信度 包含脸部姿势分析结果,包括pitch_angle, roll_angle, yaw_angle,分别对应抬头,旋转(平面旋转),摇头。单位为角度。 http://apicn.faceplusplus.com/v2/detection/detect?api_key=YOUR_API_KEY&api_secret=YOUR_API_SECRET&url=http%3A%2F%2Ffaceplusplus.com%2Fstatic%2Fimg%2Fdemo%2F1.jpg&attribute=glass,pose,gender,age,race,smiling 接口分类 接口名称 功能说明 detect /detection/detect 检测一张照片中的人脸信息(脸部位置、年龄、种族、性别等等) /detection/landmark 检测给定人脸相应的面部轮廓,五官等关键点的位置 train /train/verify 调用/recognition/verify之前需要运行的训练 /train/search 调用/recognition/search之前需要运行的训练 /train/identify 调用/recognition/identify之前需要运行的训练 recognition /recognition/compare 对比两张人脸的相似程度 /recognition/verify 给定人脸和人,判断这张人脸是否是给定的人 /recognition/search 给定人脸和人脸集合,在集合中找最相似的人脸 /recognition/identify 给定人脸和人群,找到人群中最像这张脸的人 grouping /grouping/grouping 给定人脸集合,将集合中的人脸分成几类,每一类为同一个人 person /person/create 创建一个人 /person/delete 删除一个人 /person/add_face 向一个人添加一张人脸 /person/remove_face 从一个人中删除一张人脸 /person/set_info 为一个人设定备注等信息 /person/get_info 获得一个人的备注等信息 faceset /faceset/create 创建一个人脸集合 /faceset/delete 删除一个人脸集合 /faceset/add_face 向一个人脸集合添加人脸 /faceset/remove_face 从一个人脸集合中删除人脸 /faceset/set_info 为一个人集合设定备注等信息 /faceset/get_info 获得一个人集合的备注等信息 group /group/create 创建一个人群 /group/delete 删除一个人群 /group/add_person 向人群中添加一个人 /group/remove_person 从人群中删除一个人 /group/get_info 获得人群的备注等信息 info /info/get_image 获取一张图片的信息,包括其中的人脸信息 /info/get_face 获取一组人脸的信息 /info/get_person_list 获取该应用中所有的人 /info/get_faceset_list 获取该应用中所有的人脸集合 /info/get_group_list 获取该应用中所有的人群 /info/get_session 获取session的状态与结果 /info/get_app 获取应用的相关信息 参数名 参数说明 必须 api_key App的Face++ API Key api_secret APP的Face++ API Secret url 或 img[POST] 待检测图片的URL 或者 通过POST方法上传的二进制数据,原始图片大小需要小于1M 可选 mode 检测模式可以是normal(默认) 或者 oneface 。在oneface模式中,检测器仅找出图片中最大的一张脸。 attribute 可以是none或者由逗号分割的属性列表。默认为gender, age, race, smiling。目前支持的属性包括:gender, age, race, smiling, glass, pose tag 可以为图片中检测出的每一张Face指定一个不包含^@,&=*'"等非法字符且不超过255字节的字符串作为tag,tag信息可以通过 /info/get_face 查询 async 如果置为true,该API将会以异步方式被调用;也就是立即返回一个session id,稍后可通过/info/get_session查询结果。默认值为false。 字段 类型 说明 session_id string 相应请求的session标识符,可用于结果查询 url string 请求中图片的url img_id string Face++系统中的图片标识符,用于标识用户请求中的图片 face_id string 被检测出的每一张人脸都在Face++系统中的标识符 img_width integer 请求图片的宽度 img_height integer 请求图片的高度 face array 被检测出的人脸的列表 width float 0~100之间的实数,表示检出的脸的宽度在图片中百分比 height float 0~100之间的实数,表示检出的脸的高度在图片中百分比 center object 检出的人脸框的中心点坐标, x & y 坐标分别表示在图片中的宽度和高度的百分比 (0~100之间的实数) eye_left object 相应人脸的左眼坐标,x & y 坐标分别表示在图片中的宽度和高度的百分比 (0~100之间的实数) eye_right object 相应人脸的右眼坐标,x & y 坐标分别表示在图片中的宽度和高度的百分比 (0~100之间的实数) mouth_left object 相应人脸的左侧嘴角坐标,x & y 坐标分别表示在图片中的宽度和高度的百分比 (0~100之间的实数) mouth_right object 相应人脸的右侧嘴角坐标,x & y 坐标分别表示在图片中的宽度和高度的百分比 (0~100之间的实数) nose object 相应人脸的鼻尖坐标,x & y 坐标分别表示在图片中的宽度和高度的百分比 (0~100之间的实数) attribute object 包含一系列人脸的属性分析结果 gender object 包含性别分析结果,value的值为Male/Female, confidence表示置信度 age object 包含年龄分析结果,value的值为一个非负整数表示估计的年龄, range表示估计年龄的正负区间 race object 包含人种分析结果,value的值为Asian/White/Black, confidence表示置信度 smiling object glass object pose object 错误代码 HTTP 状态代码 错误信息 1001 500 INTERNAL_ERROR 1003 403 AUTHORIZATION_ERROR 1003 403 INSUFFICIENT_PRIVILEGE_OR_QUOTA_LIMIT_EXCEEDED 1004 400 MISSING_ARGUMENTS 1005 400 INVALID_ARGUMENTS 1006 403 ILLEGAL_USE_OF_DEMO_KEY 1202 502 SERVER_TOO_BUSY 1301 431 IMAGE_ERROR_UNSUPPORTED_FORMAT 1302 432 IMAGE_ERROR_FAILED_TO_DOWNLOAD 1303 433 IMAGE_ERROR_FILE_TOO_LARGE 1304 434 IMAGE_ERROR 1502 452 BAD_TAG
package org.jiahao.weixin.util;import java.util.ArrayList;
import java.util.Collections;
import java.util.List;import net.sf.json.JSONArray;
import net.sf.json.JSONObject;import org.jiahao.weixin.face.Face;/*** 人脸识别FacePlusPlus工具类* @author Alvin**/
public class FacePlusPlusUtil {public static String detectFace(String imageUrl) {// 拼装请求地址String requestUrl = "http://apicn.faceplusplus.com/v2/detection/detect?api_key=YOUR_API_KEY&api_secret=YOUR_API_SECRET&url=URL&attribute=glass,pose,gender,age,race,smiling";requestUrl = requestUrl.replace("YOUR_API_KEY", "e93513e749c2a70a297189b232f22f1d");requestUrl = requestUrl.replace("YOUR_API_SECRET", "sZs-D_kjQ3kfWGqcPNcv70rqgU-d-GBM");requestUrl = requestUrl.replace("URL", CommonUtil.urlEncodeUTF8(imageUrl));// 发起请求String respJson = CommonUtil.httpRequest(requestUrl, "GET", null);// 获取Face数组JSONArray faceArray = (JSONArray)JSONObject.fromObject(respJson).get("face");List
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
