模板视频人脸融合

本文介绍视频生产(videoenhan)类目下的模板视频人脸融合MergeVideoModelFace的语法及示例。

功能描述

在获得用户授权的前提下,视频人脸融合可以精准地定位视频中的人脸,将用户上传的目标人脸照片与另一个人的人脸形象进行面部融合,达到换脸的感官效果。

模板视频人脸融合是基于用户预先上传创建的模版,通过输入一张待融合人脸图像,将图像人脸融合进指定的模板视频中。使用该方式需要提前创建好模板视频(AddFaceVideoTemplate),其处理效率高于通用视频人脸融合方式。

适用场景:

  • 有固定数量的模板视频进行融合的场景。
  • 同时支持视频中有一张脸和多张脸的场景,支持选脸和多脸融合。

为保证生成内容的安全合法,请勿使用公众人物或涉及敏感信息的图像或视频进行融合,同时,本服务也会在合成结果的左下角处添加Generated by AI的水印内容,效果如下图所示。

说明
  • 您可以进入在线咨询获取在线人工帮助。
  • 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

应用场景

  • 影视后期制作:在影视后期制作时,因为某些原因需要替换演员,通过视频人脸融合技术,可利用前期拍摄素材进行处理,让前期视频素材中的人物看起来是新的演员在表演,可以为制片方节省大量的重新拍摄成本。
  • 娱乐性短视频制作:用户可以将已获授权的合法视频中的人物,换成自己的人脸,生成趣味性视频。
  • 虚拟试衣制作:在婚纱摄影、民族服饰、汉服、仿妆等试衣场景,通过视频人脸融合技术进行服饰虚拟试穿。
  • 电商数字人直播:在电商卖货带货直播场景,通过网红脸ID换脸实现数字人直播带货、虚拟人换脸。

特色优势

  • 高保真、低违和效果:融合后的人脸保留了替换者人脸身份信息的视觉特征,而融入被替换者人脸中又无违和感,融合效果自然。
  • 表情肤色一致性:融合后的人脸最大限度保留被替换者的面目表情、肤色一致性。
  • 支持复杂人脸角度:支持模板人脸偏侧一定角度,融合后的结果真实稳定。
  • 支持多人脸指定换脸:支持视频中含有多张人脸,并指定每个脸与不同的用户脸进行融合,可应用在全家福、婚纱摄影、多人角色创作等多人互动场景。

接入指引

1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。

2. 开通能力:请确保您已开通视频生产服务,若未开通服务请立即开通。本能力仅限企业认证用户开通。实名认证操作方法请参见实名认证

重要 于2024年7月17日及以后开通该能力的用户可直接调用,不需提交申请。

2024年7月17日之前开通该服务的用户如需调用,可通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们添加到白名单。

3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权

4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。

5. 前提条件:先通过视频人脸融合模板增加接口(AddFaceVideoTemplate)添加视频模板获取模板ID(TemplateId),再使用已上传视频对应的模板ID和待融合人脸图像进行请求。

6. 开发接入步骤:

  • SDK总览中选择您要接入使用的SDK语言。
  • 在对应语言的SDK文档中找到AI类目为视频生产(videoenhan)类目的SDK包进行安装。
  • 参考文档中提供的示例代码进行适当修改后调用。

7. 示例代码:该能力常用语言的示例代码,请参见模板视频人脸融合示例代码

8. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。

输入限制

  • 图像格式:JPEG、JPG、PNG。
  • 图像分辨率:大于等于128×128像素,小于等于4000×4000像素。
  • 图像大小:不大于20 MB。
  • URL地址不能包含中文字符。

入参说明

MergeInfos指融合参数,模板视频的人脸信息及待融合的用户人脸图片(TemplateId为多人脸时不可为空)。

  • MergeInfos仅为多人视频场景时使用,需确保用户添加模板时VideoScene参数传入了multi值,其中传入的TemplateFaceID需要与添加模版时返回的FaceInfos里的TemplateFaceID一一对应。
  • 同时传入FaceImageURLMergeInfos,以TemplateId为单/多人脸为准,过滤另一个入参。

图像质量建议

  • 要求保证图像中的人脸清晰。图像中人脸尺寸建议大于64×64像素,人脸区域建议不大于全图区域的2/3。
  • 建议图像中人脸五官区域轮廓完整,无明显遮挡。人脸融合算法支持人脸偏侧一定角度,在偏侧角度不超过30度的情况下能取得更佳效果。
  • 对于多人脸视频场景,系统会自动识别出整个视频中的不同人物ID,建议视频中的人物不要出现角度过大的转动以及明显遮挡的情况,否则识别出的人物ID个数可能不准确。

推荐图像示例:

不推荐图像示例:

调用步骤

该能力为异步能力,需分两步进行调用。

第一步调用MergeVideoModelFace接口提交任务,请求成功后,得到一个任务ID。

第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。

计费说明

关于模板视频人脸融合的计费方式及报价,请参见计费介绍

说明 下方调试接口为付费接口。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String MergeVideoModelFace

系统规定参数。取值:MergeVideoModelFace

TemplateId String 3bf2418c-7adf-4002-a9d6-2f7cf1889c0d

视频人脸模板的模板ID。

FaceImageURL String http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace-xxxx.png

替换后的人脸参考图像URL地址(TemplateId为单人脸时不可为空)。FaceImageURL仅为单人视频场景时使用,此时无需输入MergeInfos字段。

当前仅支持上海地域的OSS链接,如何生成URL请参见文件URL处理

输入限制:

  • 图像格式:JPEG、JPG、PNG。
  • 图像分辨率:大于等于128×128像素,小于等于4000×4000像素。
  • 图像大小:不大于20 MB。
  • URL地址不能包含中文字符。
AddWatermark Boolean True

是否添加水印。取值范围如下:

  • True(默认):添加水印。
  • False:不添加水印。
Enhance Boolean True

是否开启人脸美颜增强。取值范围如下:

  • False(默认):不开启人脸美颜增强。
  • True:开启人脸美颜增强。
WatermarkType String EN

水印类型。取值范围如下:

  • EN(默认):英文水印。
  • CN:中文水印。
MergeInfos.N.TemplateFaceID String f913c614-d542-42ba-b173-07db2058c207_0

多脸模板对应的某个人脸的子ID。需要先在视频人脸融合模板增加接口中获取(传入多个TemplateFaceID时,不可重复)。

说明 同时传入TemplateFaceIDTemplateFaceURL时,TemplateFaceID优先。
MergeInfos.N.TemplateFaceURL String http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-/videoenhan/MergeVideoModelFace/xxx.jpg

多脸模板对应的某个人脸的图像URL。此情况允许用户自己使用第三方检测模块抽帧进行人脸识别后获取相应的人脸图像。

MergeInfos.N.ImageURL String http://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/MergeVideoModelFace/xxx.jpg

该人脸待替换的图像URL。当前仅支持上海地域的OSS链接,如何生成URL请参见文件URL处理

返回数据

名称

类型

示例值

描述

RequestId String 334F180F-3B50-51CB-B4CB-9A86A542D3BC

请求ID。

Message String 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。

提交异步任务后的提示信息。

Data Object

返回的结果数据内容。该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。

VideoURL String http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/334F180F-3B50-51CB-B4CB-9A86A542D3BC-5716-20210906-074905.mp4?Expires=1630916420&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=OEtNqVYxXRwkyO4BrsYVJ8q5bx****

处理后的视频URL地址。

说明 该URL地址为临时地址,有效期为30分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在30分钟内访问URL地址,下载文件转存到自己的OSS或者其他存储空间。

查询结果

该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。详情请参见GetAsyncJobResult

SDK参考

阿里云视觉AI视频生产类目下的模板视频人脸融合能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为视频生产(videoenhan)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览

示例代码

该能力常用语言的示例代码,请参见模板视频人脸融合示例代码

示例

请求示例

http(s)://videoenhan.cn-shanghai.aliyuncs.com/?Action=MergeVideoModelFace      //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&TemplateId=3bf2418c-7adf-4002-a9d6-2f7cf1889c0d
&FaceImageURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace-xxxx.png
&AddWatermark=true
&Enhance=true
&WatermarkType=EN
&MergeInfos=[{"TemplateFaceID":"f913c614-d542-42ba-b173-07db2058c207_0","TemplateFaceURL":"http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-/videoenhan/MergeVideoModelFace/xxx.jpg","ImageURL":"http://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/MergeVideoModelFace/xxx.jpg"}]
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<MergeVideoModelFaceResponse>
    <RequestId>334F180F-3B50-51CB-B4CB-9A86A542D3BC</RequestId>
    <Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</MergeVideoModelFaceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "334F180F-3B50-51CB-B4CB-9A86A542D3BC",
  "Message" : "该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。"
}

返回示例补充说明

//查询结果:请求示例
http(s)://videoenhan.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=E75FE679-0303-4DD1-8252-1143B4FA8A27
&<公共请求参数>

//查询结果:返回示例
{
  "RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
  "Data" : {
    "Status" : "PROCESS_SUCCESS",
    "JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
    "Result" : "{\"VideoURL\":\"http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/334F180F-3B50-51CB-B4CB-9A86A542D3BC-5716-20210906-074905.mp4?Expires=1630916420&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=OEtNqVYxXRwkyO4BrsYVJ8q5bx****\"}"
  }
}

//Result反序列化
{
  "VideoURL" : "http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/334F180F-3B50-51CB-B4CB-9A86A542D3BC-5716-20210906-074905.mp4?Expires=1630916420&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=OEtNqVYxXRwkyO4BrsYVJ8q5bx****"
}

错误码

关于模板视频人脸融合的错误码,详情请参见常见错误码

安全声明

  • 请确保上传的图片或文件来源符合相应的法律法规。
  • 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。