接口地址:https://aip.baidubce.com/rest/2.0/solution/v1/face_audit |
---|
返回格式:json |
请求方式:post |
请求示例:https://aip.baidubce.com/rest/2.0/solution/v1/face_audit?access_token=test |
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
images | string | 选填 | 待审核图片Base64编码字符串,以图片文件形式请求时必填。不能与imgUrls并存。 |
imgUrls | string | 选填 | 网图URL地址,以网图形式请求,图片Url需要做UrlEncode。不能与images并存。 |
名称 | 类型 | 说明 |
---|---|---|
error_code | uint32 | 错误码,错误才返回,成功不返回,具体错误码请参考下文 |
error_msg | string | 错误提示,错误才返回,成功不返回 |
result | object[] | 识别结果集合,成功才返回,默认[] |
+res_code | uint32 | 业务校验结果 0:校验通过,1:校验不通过 |
+res_msg | object[] | 未校验通过的项,[]描述的是未校验通过的规则,具体参考 result中的res_msg业务错误码定义 |
+error_code | uint32 | 底层服务调用异常码,正常不返回,异常才返回 |
+error_msg | string | 底层服务调用提示信息,正常不返回,异常才返回 |
+data | object | 识别详细结果数据,默认[],data中的key含义:<br>ocr:文字识别<br>face:人脸检测<br>public:公众人物<br>politicians:政治敏感识别<br>antiporn:色情识别<br>terror:暴恐识别<br>quality:图像质量检测 |
++ocr | object | 文字识别服务返回结果。请参照“<a href="http://ai.baidu.com/docs#/OCR-API/top" target="_blank">通用文字识别接口文档</a>” |
++face | object | 人脸检测服务返回结果。请参照“<a href="http://ai.baidu.com/docs#/Face-API/top" target="_blank">人脸检测接口文档</a>” |
++antiporn | object | 色情识别返回结果。请参照下文,色情识别说明。 |
++terror | object | 暴恐识别返回结果。请参照本文档 下文,暴恐识别说明。 |
++public | object | 公众人物服务返回结果。请参照下文,公众人物识别说明。 |
++politician | object | 政治敏感识别返回结果。请参照下文,政治敏感识别说明。 |
++quality | object | 图像质量返回结果。请参照下文,图像质量识别说明。 |
log_id | uint64 | 请求标识码,随机数,唯一。 |
{
"log_id": 149319909347709,
"result": [{
"res_code": 0,
"res_msg": [
2001,
2002,
2003
],
"data": {
"ocr": {
"log_id": 2471272194,
"words_result_num": 2,
"words_result": [{
"words": " TSINGTAO"
},
{
"words": "青島睥酒"
}
]
},
"face": {
"result_num": 1,
"result": [{
"location": {
"left": 90,
"top": 92,
"width": 111,
"height": 99
},
"face_probability": 1,
"rotation_angle": 6,
"yaw": 11.61234664917,
"pitch": -0.30852827429771,
"roll": 8.8044967651367,
"landmark": [{
"x": 105,
"y": 110
}],
"landmark72": [{
"x": 88,
"y": 109
}],
"gender": "male",
"gender_probability": 0.99358034133911,
"glasses": 0,
"glasses_probability": 0.99991309642792,
"race": "yellow",
"race_probability": 0.99960690736771,
"qualities": {
"occlusion": {
"left_eye": 0.000085282314103097,
"right_eye": 0.00001094374601962,
"nose": 3.2677664307812e-7,
"mouth": 2.6582130940866e-10,
"left_cheek": 8.752236624332e-8,
"right_cheek": 1.0212766454742e-7,
"chin": 4.2632994357028e-10
},
"blur": 4.5613666312237e-41,
"illumination": 0,
"completeness": 0,
"type": {
"human": 0.98398965597153,
"cartoon": 0.016010366380215
}
}
}],
"log_id": 2418894422
},
"antiporn": [{
"class_name": "色情",
"probability": 0.014619
},
{
"class_name": "正常",
"probability": 0.171783
},
{
"class_name": "性感",
"probability": 0.813598
}
]
}
}]
}
错误码 | 说明 |
---|---|
1 | 服务器内部错误,请再次请求, 如果持续出现此类错误,请通过QQ群(375765194)或工单联系技术支持团队。 |
2 | 服务暂不可用,请再次请求, 如果持续出现此类错误,请通过QQ群(375765194)或工单联系技术支持团队。 |
3 | 调用的API不存在,请检查后重新尝试 |
4 | 集群超限额 |
6 | 无权限访问该用户数据 |
17 | 每天流量超限额 |
18 | QPS超限额 |
19 | 请求总量超限额 |
100 | 无效参数 |
110 | Access Token失效 |
111 | Access token过期 |
216015 | 模块关闭 |
216100 | 非法参数 |
216101 | 参数数量不够 |
216102 | 业务不支持 |
216103 | 参数太长 |
216110 | APP ID不存在 |
216111 | 非法用户ID |
216200 | 空的图片 |
216201 | 图片格式错误 |
216202 | 图片大小错误 |
216300 | DB错误 |
216400 | 后端系统错误 |
216401 | 内部错误 |
216500 | 未知错误 |
282000 | 业务逻辑层内部错误 |
282001 | 业务逻辑层后端服务错误 |
282002 | 请求参数编码错误 |
282100 | 图片压缩转码错误 |
282202 | 检测超时 |
282203 | gif单帧大小超限 |
282204 | gif总帧数超限 |
282205 | 图片格式错误 |
282800 | 配置Id不存在 |
282801 | image和imgUrl均为空 |
282802 | image和imgUrl只能有一个有值 |
282804 | 图片下载失败 |
282805 | 调用底层服务异常 |
282806 | 图片宽高异常 |
282872 | 图片链接过多 |
282873 | 部分url异常 |
101 | 文字中包含手机号码 |
102 | 文字中包含“QQ”号字样,或包含超过9位的连续数字 |
103 | 文字中包含竞品名称 |
104 | 文字中包含疑似手机号/QQ的连续数字 |
201 | 图片中不包含人脸 |
202 | 图片中包含人脸 |
203 | 图片中包含多个人脸(默认为>=2) |
204 | 图片中包含明星脸 |
205 | 片中包含政治人物人脸 |
206 | 片中包含公众人物人脸 |
207 | 自定义人脸库识别未通过 |
301 | 图片中包含色情内容 |
302 | 图片中包含性感内容,如穿着比较暴露 |
401 | 图片中包含血腥暴力场景内容 |
501 | 图像美观度低于阀值 |
502 | 图像美观度高于阀值 |
503 | 图像美观度不等于阀值 |
#!/bin/bash
curl -i -k 'https://aip.baidubce.com/rest/2.0/solution/v1/face_audit?access_token=【调用鉴权接口获取的token】' --data 'configId=1&images=%2f9j%2f4AAQSkZJRgABAQEASABIAAD%2f【图片Base64编码需UrlEncode】' -H 'Content-Type:application/x-www-form-urlencoded'
<?php
/**
* 发起http post请求(REST API), 并获取REST请求的结果
* @param string $url
* @param string $param
* @return - http response body if succeeds, else false.
*/
function request_post($url = '', $param = '')
{
if (empty($url) || empty($param)) {
return false;
}
$postUrl = $url;
$curlPost = $param;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $postUrl);
// 要求结果为字符串
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// post方式
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($curl);
var_dump(curl_error($curl));
curl_close($curl);
return $data;
}
$token = '#####调用鉴权接口获取的token#####';
$url = 'https://aip.baidubce.com/rest/2.0/solution/v1/face_audit?access_token=' . $token;
$img = file_get_contents('#####本地文件路径######');
$img = base64_encode($img);
$bodys = array(
"configId" => "1",
"images" => $img
);
$res = request_post($url, $bodys);
var_dump($res);
/*
* Copyright (C) 2017 Baidu, Inc. All Rights Reserved.
*/
package com.baidu.ai.aip.solution;
import com.baidu.ai.aip.utils.Base64Util;
import com.baidu.ai.aip.utils.FileUtil;
import com.baidu.ai.aip.utils.HttpUtil;
import java.net.URLEncoder;
/**
* 用户头像审核API.
*/
public class FaceAudit {
/**
* 重要提示代码中所需工具类
* FileUtil,Base64Util,HttpUtil,GsonUtils请从
* https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
* https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
* https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
* https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
* 下载
*/
public static void main(String[] args) {
// 用户头像审核 url
String faceAuditUrl = "https://aip.baidubce.com/rest/2.0/solution/v1/face_audit";
// 请求参数
String configId = "1";
String filePath = "#####本地文件路径#####";
try {
byte[] imgData = FileUtil.readFileByBytes(filePath);
String imgStr = Base64Util.encode(imgData);
String params = "configId=" + configId + "&" + URLEncoder.encode("images", "UTF-8") + "=" + URLEncoder
.encode(imgStr, "UTF-8");
String accessToken = "#####调用鉴权接口获取的token#####";
String result = HttpUtil.post(faceAuditUrl, accessToken, params);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
#!/usr/bin/env python
# encoding:utf-8
# import base64
import urllib
import urllib2
# '''
# 用户头像检测接口
# '''
faceAuditUrl = "https://aip.baidubce.com/rest/2.0/solution/v1/face_audit"
# 参数images:图像base64编码,多张图片半角逗号分隔,configId:审核配置组ID
params = {"configId": "1",
"images": "【图片base64编码】"}
params = urllib.urlencode(params)
access_token = access_token.AuthService()
faceAuditUrl = faceAuditUrl + "?access_token=" + access_token
request = urllib2.Request(url=faceAuditUrl, data=params)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = urllib2.urlopen(request)
content = response.read()
if content:
print content
#include <iostream>
#include <curl/curl.h>
#include "face_audit.h"
// libcurl库下载链接:https://curl.haxx.se/download.html
// 图像审核接口url
const static std::string face_audit_url = "https://aip.baidubce.com/rest/2.0/solution/v1/face_audit";
static std::string face_audit_result;
/**
*curl发送http请求调用的回调函数,回调函数中对返回的json格式的body进行了解析,解析结果储存在全局的静态变量当中
* @param 参数定义见libcurl文档
* @return 返回值定义见libcurl文档
**/
static size_t callback(void *ptr, size_t size, size_t nmemb, void *stream) {
// 获取到的body存放在ptr中,先将其转换为string格式
face_audit_result = std::string((char *) ptr, size * nmemb);
return size * nmemb;
}
/**
* 调用图像审核接口,返回json格式的结果,具体格式解析见百度大脑文档
* @param json_result 以string格式返回的json格式的结果
* @param image_base64 以string格式传递的base64编码的图像数据(注:base64数据不包含格式信息(即不包含data:image/jpeg;base64))
* @param access_token 以string格式传入的access token数据,access token获取方式见access_token获取相关文档及代码
* @return 调用成功返回0,发生错误返回其他错误码
*/
int face_audit(std::string &json_result, const std::string &config_id, const std::string &image_base64, const std::string &access_token){
std::string url = face_audit_url + "?access_token=" + access_token;
CURL *curl = NULL;
CURLcode result_code;
int is_success;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, url.data());
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_httppost *post = NULL;
curl_httppost *last = NULL;
curl_formadd(&post, &last, CURLFORM_COPYNAME, "configId", CURLFORM_COPYCONTENTS, config_id.data(),
CURLFORM_END);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "images", CURLFORM_COPYCONTENTS, image_base64.data(),
CURLFORM_END);
curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
result_code = curl_easy_perform(curl);
if (result_code != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s
",
curl_easy_strerror(result_code));
is_success = 1;
return is_success;
}
json_result = face_audit_result;
curl_easy_cleanup(curl);
is_success = 0;
} else {
fprintf(stderr, "curl_easy_init() failed.");
is_success = 1;
}
return is_success;
}
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
namespace com.baidu.ai
{
public static class FaceAudit
{
// 图像审核
public static string audit()
{
string token = "#####调用鉴权接口获取的token#####";
string strbaser64 = FileUtils.getFileBase64("/Users/baidu/Documents/TestData/用户头像审核/一菲测试/123.JPG"); // 图片的base64编码
string host = "https://aip.baidubce.com/rest/2.0/solution/v1/face_audit?access_token=" + token;
Encoding encoding = Encoding.Default;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);
request.Method = "post";
request.ContentType = "application/x-www-form-urlencoded";
request.KeepAlive = true;
String str = "imgUrls=" + HttpUtility.UrlEncode("http://n.sinaimg.cn/news/transform/20170522/3mH2-fyfkzhs8600955.jpg");
// 调用方有自定义configId的情况
// String str ="configId=【用户自定义configId】" + "imgUrls=" + HttpUtility.UrlEncode("http://n.sinaimg.cn/news/transform/20170522/3mH2-fyfkzhs8600955.jpg");
byte[] buffer = encoding.GetBytes(str);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
string result = reader.ReadToEnd();
Console.WriteLine("图像审核:");
Console.WriteLine(result);
return result;
}
}
}