本文介绍人脸人体(facebody)类目下的换脸鉴别DeepfakeFace的语法及示例。
功能描述
换脸鉴别基于图像算法AI技术,实现对图片人脸的真伪进行灵敏检测和深度分析。能力范围支持:
1. 鉴别图片中的人脸是否为AI换脸算法所深度合成的假脸。
2. 鉴别图片中的人脸是否为AI人脸属性编辑生成类算法所深度合成的假脸。深度伪造技术是指利用深度学习实现图片或视频换脸、人脸编辑生成的技术。
关于该接口功能的示例图如下:
- 未经算法合成:
- 经过算法合成:
应用场景
- 打击换脸视频网络传播:互联网娱乐性质换脸小程序、APP应用爆火,换脸鉴别技术可以识别出网络短视频中的伪造视频人脸,杜绝视频换脸造假。
- 打击互联网ID换脸诈骗:深度伪造技术高频使用,假视频与社交网络结合深深影响舆论走向和诱导诈骗。换脸鉴别可识别网上业务办理中的人脸伪造视频,减少网络诈骗。
- 打击色情娱乐等黑灰产业:互联网的深度伪造合成的色情视频数量巨大,换脸鉴别可以识别此类伪造视频,减少伪造视频人脸色情内容传播,切断色情传播链路。
- 人脸特征编辑鉴别:真人ID版权核验,通过换脸鉴别可以识别出版权素材库中人脸属性编辑生成算法所深度合成的假脸图片素材,杜绝换脸造假,杜绝人脸版权侵权行为。
特色优势
- 反制AI技术滥用:换脸鉴别基于达摩院人脸图像算法和Deepfake鉴别技术,提供对图像中的人脸特征进行全方位分析,利用AI技术反制换脸、合成脸、人脸特征编辑生成这类AI技术的滥用,保护用户合法权益、维护社会公共安全。
- 领先鉴别技术:基于图片中人像目标的高维度全量特征,换脸鉴别服务涵盖依据视频图像的像素、纹理级别的低阶特征,到具有全局语义的高阶特征,对图像进行全方位、高语义、多层次组合分析,攻防一体式的训练,极大提升合成人脸图片检出率。
- 准确率高:换脸鉴别结合阿里云多年人脸识别技术能力和大数据安全技术能力,能对视频图像中 AI 换脸、AI人脸生成等技术进行准确识别判断,对AI换脸攻击识别准确率高。
- 支持单个或多个人脸判断逻辑,可直接调用的API接口,服务简单易用,易被集成,兼容性强。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通人脸人体服务,若未开通服务请立即开通。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为人脸人体(facebody)的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 图像格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
- 图像大小:不超过10 MB。如您有大图需求,请通过钉钉群(23109592)联系我们。
- 图像分辨率:建议大于256×256像素,人脸区域大于128*128,像素过低可能会影响识别效果。
- URL地址中不能包含中文字符。
检测说明
- 最长检测时间是5秒,如果在该时间内没有完成检测,系统会强制返回超时错误码。
- 图像下载时间限制为3秒,如果下载时间超过3秒,系统会返回下载超时。
- 图像检测接口响应时间依赖图像的下载时间。请保证被检测图像所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存。
- 最多可检测10张图像。
计费说明
换脸鉴别能力目前处于公测期,可免费调用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | DeepfakeFace | 系统规定参数。取值:DeepfakeFace。 |
Tasks.N.ImageURL | String | 否 | https://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DeepfakeFace/DeepfakeFace1.jpg | 待检测的图像URL地址。JSON数组中的每个元素是一个图片检测任务结构体(image表)。最多支持10个元素,即同时最多对10张图片进行检测。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 说明 对于该接口,系统会自动将OSS链接地址转成内网地址然后再下载文件,所以调用该接口并不会产生OSS流量计费。 |
Tasks.N.ImageData | String | 否 | /9j/4AAQSkZJRgABAQAAAQABAAD/2**** | 图像Base64编码字符串。当与URL方式共存时,URL方式优先。 文件的Base64编码处理操作,请参见文件Base64处理。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | 8E6F65D5-62A1-1E5B-BC0B-00508034AC92 | 请求ID。 |
Data | Object | 返回的结果数据内容。 |
|
Elements | Array of Element | 返回识别的元素。 |
|
ImageURL | String | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DeepfakeFace/DeepfakeFace1.jpg | 对应请求中的图像URL地址。 |
TaskId | String | 8E6F65D5-62A1-1E5B-BC0B-00508034AC92 | 该检测任务的ID。 |
Results | Array of Result | 返回结果。调用成功时返回结果中包含一个或多个元素。 |
|
Label | String | normalface | 检测结果的分类,取值包括:
如果未检测到人脸,则Label返回为 |
Confidence | Float | 36.6455 | 取值范围为[0.00,100.00]。数值越低表示属于真脸的概率越大。 |
Rect | Object | 人脸检测框信息。 |
|
Left | Long | 373 | 检测框左上角的点x坐标。 |
Top | Long | 111 | 检测框左上角的点y坐标。 |
Width | Long | 207 | 检测框宽度。 |
Height | Long | 284 | 检测框高度。 |
MessageTips | String | blurred, occluded or large angle face, please check. | 提示信息。
|
FaceNumber | Long | 1 | 单张图片检测到的人脸数量。 如果未检测到人脸,FaceNumber返回为0。 |
SDK参考
阿里云视觉AI人脸人体类目下的换脸鉴别能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为人脸人体(facebody)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例
请求示例
http(s)://facebody.cn-shanghai.aliyuncs.com/?Action=DeepfakeFace //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&Tasks=[{"ImageURL":"https://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DeepfakeFace/DeepfakeFace1.jpg","ImageData":"/9j/4AAQSkZJRgABAQAAAQABAAD/2****"}]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<DeepfakeFaceResponse>
<RequestId>8E6F65D5-62A1-1E5B-BC0B-00508034AC92</RequestId>
<Data>
<Elements>
<ImageURL>http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DeepfakeFace/DeepfakeFace1.jpg</ImageURL>
<TaskId>8E6F65D5-62A1-1E5B-BC0B-00508034AC92</TaskId>
<Results>
<Label>normalface</Label>
<Confidence>36.6455</Confidence>
<Rect>
<Left>373</Left>
<Top>111</Top>
<Width>207</Width>
<Height>284</Height>
</Rect>
<MessageTips>blurred, occluded or large angle face, please check.</MessageTips>
</Results>
<FaceNumber>1</FaceNumber>
</Elements>
</Data>
</DeepfakeFaceResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "8E6F65D5-62A1-1E5B-BC0B-00508034AC92",
"Data" : {
"Elements" : [ {
"ImageURL" : "http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DeepfakeFace/DeepfakeFace1.jpg",
"TaskId" : "8E6F65D5-62A1-1E5B-BC0B-00508034AC92",
"Results" : [ {
"Label" : "normalface",
"Confidence" : 36.6455,
"Rect" : {
"Left" : 373,
"Top" : 111,
"Width" : 207,
"Height" : 284
},
"MessageTips" : "blurred, occluded or large angle face, please check."
} ],
"FaceNumber" : 1
} ]
}
}
换脸鉴别阈值参考
接口返回Label默认按照Confidence的阈值为50,当Confidence小于50,Label为normalface
;当Confidence大于50,Label为deepfakeface
。
Confidence为模型置信度,取值范围是[0,100],越低表示属于真脸的概率越大。您也可以通过卡Confidence阈值的方法匹配不同使用场景更灵活使用,内部实验参考数据如下。
Confidence阈值 |
伪造人脸拦截率 |
真实人脸通过率 |
15 |
98.21% |
80.27% |
30 |
97.56% |
87.59% |
40 |
97.04% |
90.67% |
50(默认) |
95.09% |
96.61% |
60 |
92.50% |
98.13% |
70 |
90.59% |
98.77% |
关于以上数值的概念定义:
- 伪造人脸拦截率:如98%,代表100次作弊伪造人脸攻击,会有98次被API识破拒绝。
- 真实人脸通过率:如98%,代表100次真实人脸请求,会有98次顺利通过活体验证。
错误码
关于换脸鉴别的错误码,详情请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。
- 平台不存储用户在使用服务过程中涉及的原始人脸图片或文件信息。