您可以使用 MediaPipe 臉部樣式化工作,將臉部樣式化效果套用至圖片中的臉部。您可以使用這個工作,以各種風格建立虛擬人物。
您可以在 GitHub 上找到這些操作說明中所述的程式碼範例。如要進一步瞭解這項工作的功能、模型和設定選項,請參閱總覽。
程式碼範例
您可以參考 Face Stylizer 的範例程式碼,瞭解如何在 Python 中完整實作此工作。這個程式碼可協助您測試此工作,並開始建構自己的臉部風格化器。您可以只使用網頁瀏覽器查看、執行及編輯 Face Stylizer 範例程式碼。
設定
本節將說明設定開發環境和程式碼專案的關鍵步驟,以便使用 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 臉部樣式化器工作會使用 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
物件,其中包含輸入圖片中最顯眼的臉部造型。
以下是這項工作的輸出資料範例:
上方的輸出內容是將色彩素描模型套用至下列輸入圖片所產生: