如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
- 在百度云控制台内 提交工单,咨询问题类型请选择人工智能服务
- 如有需要讨论的疑问,欢迎进入 AI社区 与其他开发者们一同交流
- 特效客户交流QQ群:583486416
能力介绍
对两张人脸进行融合处理,生成的人脸同时具备两张人脸的外貌特征(并不是换脸),此服务具有如下三个业务功能:
- 指定人脸:当图片中有多张人脸时,可以指定某一张人脸与模板图进行融合
- 图像融合:将检测到的两张人脸图片进行融合,输出一张融合后的人脸
- 黄反识别:利用图像识别能力,判断图片中是否存在色情、暴恐血腥场景、政治敏感人物
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
调用方式
请求URL数据格式
向API服务地址使用POST发送请求,必须在URL中带上参数access_token,可通过后台的API Key和Secret Key生成,具体方式请参考“Access Token获取”。
示例代码
#!/bin/bash curl -i -k 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_
credentials&client_id=【百度云应用的AK】&client_secret=【百度云应用的SK】'
注意:access_token的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token;
例如此接口,使用HTTPS POST发送:
https://aip.baidubce.com/rest/2.0/face/v1/merge?access_token=24.f9ba9c5341b67688ab
4added8bc91dec.2592000.1485570332.282335-8574074
POST中Body的参数,按照下方请求参数说明选择即可。
提示:如果您为百度云老用户,正在使用其他非AI的服务,可以参考百度云AKSK鉴权方式发送请求,虽然请求方式和鉴权方法和本文所介绍的不同,但请求参数和返回结果一致。
请求说明
注意事项:
- 请求体格式化:Content-Type为application/json,通过json格式化请求体。
- Base64编码:请求的图片需经过Base64编码,图片的base64编码指将图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。需要注意的是,图片的base64编码是不包含图片头的,如data:image/jpg;base64,
- 图片格式:现支持PNG、JPG、JPEG、BMP,不支持GIF图片
请求示例
HTTP方法:POST
请求URL: https://aip.baidubce.com/rest/2.0/face/v1/merge
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header:
参数 | 值 |
---|---|
Content-Type | application/json |
Body中放置请求参数,参数详情如下:
请求参数:
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
version | 否 | string | 服务版本 ,可选(1.0,2.0,3.0,4.0),如不传入该项则默认调用(1.0),2.0/3.0/4.0对merge_degree不生效,对融合效果要求较高可选择2.0(推荐版本),对融合结果的清晰度要求较高可选择3.0,4.0为最新版本,清晰度及融合效果均有提升,页面功能演示为2.0版本效果 |
alpha | 否 | float | 融合参数,可选范围 0-1浮点数,保留两位小数,默认(0), 只在version=4.0时才有效 |
image_template | 是 | object |
模板图信息,要求被融合的人脸 边缘需要与图片边缘保持一定距离, 图片要求见文档底部 |
+image | 是 | string | 模板图信息 图片的分辨率要求在1920x1080以下 |
+image_type | 是 | string |
图片类型 BASE64:图片的base64值; URL:图片的 URL( 下载图片时可能由于网络等原因导致下载图片时间过长) FACE_TOKEN: 人脸标识 |
+quality_control | 否 | string |
质量控制 NONE: 不进行控制 LOW:较低的质量要求 NORMAL: 一般的质量要求 HIGH: 较高的质量要求 默认NONE |
+face_location | 否 | string |
指定模板图中进行人脸融合的人脸框位置 不指定时则默认使用最大的人脸 格式形如: {\"left\": 111.4,\"top\": 96.56,\"width\": 98,\"height\": 98,\"rotation\": 3} 当image_type为FACE_TOKEN时, 此参数无效, 会使用FACE_TOKEN对应的人脸 |
image_target | 是 | object | 目标图信息,要求图片为清晰正脸 |
+image | 是 | string | 目标图信息 图片的分辨率要求在1920x1080以下 |
+image_type | 是 | string |
图片类型 BASE64:图片的base64值; URL:图片的 URL( 下载图片时可能由于网络等原因导致下载图片时间过长) FACE_TOKEN: 人脸标识 |
+quality_control | 否 | string |
质量控制 NONE: 不进行控制 LOW:较低的质量要求 NORMAL: 一般的质量要求 HIGH: 较高的质量要求 默认NONE |
+face_location | 否 | string |
指定目标图中进行人脸融合的人脸框位置 不指定时则默认使用最大的人脸 格式形如: {\"left\": 111.4,\"top\": 96.56,\"width\": 98,\"height\": 98,\"rotation\": 3} 当image_type为FACE_TOKEN时, 此参数无效, 会使用FACE_TOKEN对应的人脸 |
merge_degree | 否 | string |
融合度 关系到融合图与目标图的相似度 越高则越相似 LOW:较低的融合度 NORMAL: 一般的融合度 HIGH: 较高的融合度 COMPLETE: 完全融合 默认COMPLETE |
示例代码
提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。
提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。
人脸融合 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v1/merge?access_token=
【调用鉴权接口获取的token】' --data '{"image_template":{"image":"sfasq35sadvsvqwr5q.
..","image_type":"BASE64","quality_control":"NONE"},"image_target":{"image":"sfasq35s
advsvqwr5q...","image_type":"BASE64","quality_control":"NONE"}}' -H '
Content-Type:application/json; charset=UTF-8'
返回说明
返回参数
- 返回结果
字段 | 类型 | 说明 |
---|---|---|
merge_image | string | 融合图的BASE64值 |
- 返回示例
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp":
1533094576, "cached": 0, "result": { "merge_image": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAHqCAYAAADLb..." } }
图片要求
目标图
目标图无严格限制, 建议选择 正脸 清晰 图像,如下面的手机自拍照
模板图
模板图(template_image),要求被融合的人脸边缘需要与图片边缘保持一定距离,保证被融合的人脸的的核心区域完全在图片中
推荐示意图
不合格示意图
错误码
请参考人脸识别错误码
特别提示
您在使用“人脸融合”服务时,应当遵守相关法律法规的要求以及本平台的相关服务协议,不得将本服务用于非法目的,不得利用本服务从事违法法律法规或侵犯他人合法权益的行为; 您在使用“人脸融合”服务时,应当确保您自身或者您应用的用户使用、上传、发布的照片、素材等信息内容,已取得相关权利人的合法授权,不存在侵犯他人肖像权、版权等合法权益的情形,亦不存在违反相关法律、法规、政策的规定以及公序良俗等情形。 您自行对您应用中由用户使用“人脸融合”服务产生的内容负责,保证其不违法相关法律、法规、政策的规定以及公序良俗等。 您违法上述要求引发的任何纠纷由您自行负责,与百度无关。百度有权立即停止您在本平台中的一切服务并保留追究您法律责任的权利。