如果实现图像人脸融合?

本文涉及的产品
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频通用资源包5000点
简介: 本文介绍的API接口是阿里云视觉智能开放平台的图像人脸融合,用以演示。

本文介绍的API接口是阿里云视觉智能开放平台的接口,
一、图像人脸融合和换脸的区别
图像人脸融合:将图像中的指定的某个人脸,融合进另一人的人脸特征。最终融合的结果图会和输入的两张人脸图片都有些相似。
换脸:换脸是将一张图片中的人脸,完全替代成另一个人脸。最终的结果图中人脸只会相似输入两张图片中的一个人脸特征。

二、使用图像人脸融合的前提条件
因为使用的是阿里云视觉智能开放平台,所以前提条件是针对该平台的。
1、开通人脸人体服务,因为图像人脸融合是人脸人体类目下的子能力。
2、最好购买个资源包,首购0.01元,以防后面调用API接口出现费用。首购的资源包可以满足测试使用。

三、可视化测试图像人脸融合
阿里云视觉智能开放平台提供了体验中心,体验中心是可以免费体验的,不会产生费用。用于可视化体验还是很nice。效果如下:

输入:
image.png

输出:
image.png

四、API调用图像人脸融合流程
下面将介绍下调用API接口的具体流程,下面示例是用python代码。
图像人脸融合是需要先建人脸融合模板,之后上传图片和模板图片进行融合,阿里云视觉智能开放平台对于用户上传的图像人脸融合模板是没有限制的,模板支持查询和删除等动作。还有重要的事情是:模板的增加,查询、删除都是免费的哈

图像人脸融合模板增加API:
模板图片限制:
图像格式:JPG、JPEG、PNG。
图像大小:不超过10 MB。
图像像素:大于128×128像素,小于2000×2000像素。
URL地址中不能包含中文字符。

请求参数:

image.png

Python SDK包引入:
pip install alibabacloud_facebody20191230==3.0.4

代码详情:

import sys

from typing import List

from alibabacloud_facebody20191230.client import Client as facebody20191230Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_facebody20191230 import models as facebody_20191230_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient

class Sample:

def __init__(self):
    pass

@staticmethod
def create_client(
    access_key_id: str,
    access_key_secret: str,
) -> facebody20191230Client:
    """
    使用AK&SK初始化账号Client
    @param access_key_id:
    @param access_key_secret:
    @return: Client
    @throws Exception
    """
    config = open_api_models.Config(
        # 您的 AccessKey ID,
        access_key_id=access_key_id,
        # 您的 AccessKey Secret,
        access_key_secret=access_key_secret
    )
    # 访问的域名
    config.endpoint = f'facebody.cn-shanghai.aliyuncs.com'
    return facebody20191230Client(config)

@staticmethod
def main(
    args: List[str],
) -> None:
    client = Sample.create_client('accessKeyId', 'accessKeySecret')
    add_face_image_template_request = facebody_20191230_models.AddFaceImageTemplateRequest(
        user_id='',
        image_url=''
    )
    runtime = util_models.RuntimeOptions()
    try:
        # 复制代码运行请自行打印 API 的返回值
        client.add_face_image_template_with_options(add_face_image_template_request, runtime)
    except Exception as error:
        # 如有需要,请打印 error
        UtilClient.assert_as_string(error.message)

if name == '__main__':
Sample.main(sys.argv[1:])

图像人脸融合接口:
输入限制:
图像格式:JPG、JPEG、PNG。
图像大小:不超过20 MB。
图像分辨率:大于128×128像素,小于2000×2000像素。人脸尺寸建议大于64×64像素,人脸区域建议不大于全图区域的2/3。
URL地址中不能包含中文字符。

请求参数:
image.png

Python SDK包引入:

pip install alibabacloud_facebody20191230==3.0.4

代码详情:

import sys

from typing import List

from alibabacloud_facebody20191230.client import Client as facebody20191230Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_facebody20191230 import models as facebody_20191230_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient

class Sample:

def __init__(self):
    pass

@staticmethod
def create_client(
    access_key_id: str,
    access_key_secret: str,
) -> facebody20191230Client:
    """
    使用AK&SK初始化账号Client
    @param access_key_id:
    @param access_key_secret:
    @return: Client
    @throws Exception
    """
    config = open_api_models.Config(
        # 您的 AccessKey ID,
        access_key_id=access_key_id,
        # 您的 AccessKey Secret,
        access_key_secret=access_key_secret
    )
    # 访问的域名
    config.endpoint = f'facebody.cn-shanghai.aliyuncs.com'
    return facebody20191230Client(config)

@staticmethod
def main(
    args: List[str],
) -> None:
    client = Sample.create_client('accessKeyId', 'accessKeySecret')
    merge_image_face_request = facebody_20191230_models.MergeImageFaceRequest(
        user_id='',
        template_id='',
        image_url=''
    )
    runtime = util_models.RuntimeOptions()
    try:
        # 复制代码运行请自行打印 API 的返回值
        client.merge_image_face_with_options(merge_image_face_request, runtime)
    except Exception as error:
        # 如有需要,请打印 error
        UtilClient.assert_as_string(error.message)

if name == '__main__':
Sample.main(sys.argv[1:])

以上就是图像人脸融合的两个接口调用的代码详情和SDK包的详情,有需要的可以自己实际操作下。

相关文章
|
存储 开发框架 JavaScript
uniapp、vue、小程序、js图片转base64 示例代码
uniapp、vue、小程序、js图片转base64 示例代码
903 0
|
缓存 安全 前端开发
十分钟搞懂手机号码一键登录
十分钟搞懂手机号码一键登录
3010 0
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
1338 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
|
安全 Linux
Linux Centos通过mail向QQ邮箱发邮件
【8月更文挑战第20天】在 CentOS 上配置使用 `mail` 命令向 QQ 邮箱发送邮件涉及几个步骤。首先确保已安装 `mailx`;接着编辑 `/etc/mail.rc` 文件来配置发件信息,包括设置发件邮箱、SMTP 服务器及授权码。最后,通过 `echo` 命令结合 `mail` 发送邮件。需登录 QQ 邮箱开启 SMTP 服务并获取授权码用于安全验证。
597 3
|
Prometheus 运维 监控
解锁分布式云多集群统一监控的云上最佳实践
为应对分布式云多集群监控的挑战,阿里云可观测监控 Prometheus 版结合 ACK One,凭借高效纳管与全局监控方案有效破解了用户在该场景的监控运维痛点,为日益增长的业务需求提供了一站式、高效、统一的监控解决方案,实现成本与运维效率的双重优化。助力企业的数字化转型与业务快速增长,在复杂多变的云原生时代中航行,提供了一个强有力的罗盘与风帆。
56418 131
|
开发框架 .NET C#
C#学习相关系列之Linq用法---where和select用法(二)
C#学习相关系列之Linq用法---where和select用法(二)
912 2
|
11月前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
1147 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
前端开发
【threejs教程】终于搞明白了!原来threejs中的透视相机这么简单!
【8月更文挑战第5天】深入学习threejs中的透视相机!
809 2
【threejs教程】终于搞明白了!原来threejs中的透视相机这么简单!
|
API 开发工具 vr&ar
从零开始的PICO教程(2)--搭建VR场景并打包至PICO中运行
这篇文章是PICO开发系列教程的第二部分,主要介绍了如何在Unity中搭建简单的VR场景、创建XR Origin对象、配置PICO开发环境、以及将场景打包并运行在PICO设备上的完整流程。
|
前端开发 开发工具 图形学
PicoVR Unity SDK⭐️三、详解与UI的交互方式
PicoVR Unity SDK⭐️三、详解与UI的交互方式