<ph type="x-smartling-placeholder">
借助 MediaPipe Face Stylizer 任务,你可以对图片中的人脸应用人脸风格化。 您可以使用此任务创建各种样式的虚拟头像。
GitHub 上提供了这些说明中所述的代码示例。 如需详细了解功能、模型和配置选项 部分,请参阅概览。
代码示例
Face Stylizer 的示例代码完整实现了这一流程。 供您参考。此代码可帮助您测试此任务, 开始打造自己的脸部风格化工具您可以查看、运行和修改 人脸风格化程序示例代码 只需使用网络浏览器即可。
设置
本部分介绍了设置开发环境和 专门用于人脸风格化程序的代码项目。有关 设置开发环境以使用 MediaPipe 任务,包括 平台版本要求,请参阅适用于 Python。
软件包
MediaPipe Face Stylizer 任务需要 mediapipe PyPI 软件包。你可以安装并 使用以下命令导入这些依赖项:
$ python -m pip install mediapipe
导入
导入以下类以访问 Face Stylizer 任务:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
型号
MediaPipe Face Stylizer 任务需要一个与此训练兼容的模型, 任务。如需详细了解适用于 Face Stylizer 且经过训练的模型,请参阅 任务概览的“模型”部分。
选择并下载模型,然后将其存储在本地目录中:
model_path = '/absolute/path/to/face_stylizer.task'
使用 BaseOptions
对象 model_asset_path
参数指定
要使用的模型。如需查看代码示例,请参阅下一部分。
创建任务
MediaPipe Face Stylizer 任务使用 create_from_options
函数来设置
任务。create_from_options
函数接受配置值
处理选项
以下代码演示了如何构建和配置此任务。
import mediapipe as mp
BaseOptions = mp.tasks.BaseOptions
Facestylizer = mp.tasks.vision.face_stylizer
FacestylizerOptions = mp.tasks.vision.FaceStylizerOptions
# Create a face stylizer instance with the image mode:
options = FacestylizerOptions(
base_options=BaseOptions(model_asset_path=model_path),
with Facestylizer.create_from_options(options) as stylizer:
# The stylizer is initialized. Use it here.
# ...
准备数据
将输入准备为图像文件或 Numpy 数组,然后将其转换为
mediapipe.Image
对象。如果您输入的是
网络摄像头,您可以使用外部库,如
OpenCV:以 Numpy 形式加载输入帧
数组。
import mediapipe as mp
# Load the input image from an image file.
mp_image = mp.Image.create_from_file('/path/to/image')
# Load the input image from a numpy array.
mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=numpy_image)
运行任务
Face Stylizer 使用 stylize
函数来触发推理。面部用
包括预处理输入数据和
图片。
以下代码演示了如何使用任务执行处理 模型。
# Perform face stylization on the provided single image.
# The face stylizer must be created with the image mode.
face_stylizer_result = stylizer.stylize(mp_image)
处理和显示结果
人脸风格化程序会返回一个风格化程度最高的 Image
对象,
输入图片中突出显示的人脸。
以下示例展示了此任务的输出数据:
以上输出是通过应用颜色草图创建的 映射到以下输入图片: