Python 的臉部風格化指南

MediaPipe 臉部觸控筆工作可讓你為圖片中的臉孔套用臉孔風格。 透過這項工作,您可以建立各種風格的虛擬顯示圖片。

您可在 GitHub 取得本操作說明中所述的程式碼範例。 進一步瞭解功能、模型和設定選項 請參閱總覽

程式碼範例

臉部樣式設定程式碼範例提供完整實作 執行相關作業這個程式碼可協助您測試這項工作 開始打造自己專屬的風格風格您可以查看、執行及編輯 臉部樣式設定程式碼範例 只要使用網路瀏覽器即可

設定

本節說明設定開發環境的重要步驟,以及 以及專門使用 Face Stylizer 的程式碼專案如需 設定開發環境以使用 MediaPipe 工作,包括: 平台版本需求,請參閱這份指南 Python

套件

MediaPipe Face Stylizer 工作需要 mediapipe PyPI 套件。您可以安裝 透過下列指令匯入這些依附元件:

$ python -m pip install mediapipe

匯入

匯入下列類別,即可存取臉部風格化工作函式:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision

型號

MediaPipe 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)

執行工作

臉部樣式設定會使用 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 物件 呈現出明顯的臉孔

以下範例顯示這項工作的輸出資料範例:

以上輸出內容是使用色彩草圖建立而成 新增至下列輸入圖片: