MediaPipe 臉部觸控筆工作可讓你為圖片中的臉孔套用臉孔風格。 透過這項工作,您可以建立各種風格的虛擬顯示圖片。
如需上述指示中所述的程式碼範例,請前往 GitHub。 進一步瞭解功能、模型和設定選項 請參閱總覽。
程式碼範例
臉部樣式設定程式碼範例提供完整實作 方便您參考。這個程式碼可協助您測試這項工作 開始打造自己專屬的臉部風格應用程式您可以查看、執行 編輯臉部風格化工具範例 只使用您的網站 。
設定
本節說明設定開發環境的重要步驟 這項功能也特別實用如需設定 網頁和 JavaScript 開發環境,包括平台版本 需求,請參閱網頁版設定指南。
JavaScript 套件
你可以透過 MediaPipe @mediapipe/tasks-vision
取得臉部風格化程式碼
NPM 套件。您可以
請按照平台設定
指南。
您可以使用下列指令,透過 NPM 安裝必要的套件:
npm install @mediapipe/tasks-vision
如果想要使用內容傳遞網路 (CDN) 匯入工作程式碼 請在 <head> 加入下列程式碼代碼:
<!-- You can replace JSDeliver with another CDN if you prefer -->
<head>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision/vision_bundle.js"
crossorigin="anonymous"></script>
</head>
型號
MediaPipe Face Stylizer 工作需要與以下程式碼相容的已訓練模型 工作。如要進一步瞭解可用於臉部觸控筆的已訓練模型,請參閱 工作總覽的「模型」一節。
選取並下載模型,然後將模型儲存在專案目錄中:
<dev-project-root>/app/shared/models/
建立工作
使用其中一種臉部樣式化工具 createFrom...()
函式為工作做好準備
執行推論使用 createFromModelPath()
函式搭配相對或
已訓練模型檔案的絕對路徑。如果模型已載入
記憶體,您可以使用 createFromModelBuffer()
方法。
以下程式碼範例示範如何使用 createFromOptions()
函式
設定工作。createFromOptions
函式可讓您自訂
提供設定選項的臉部風格化工具。
以下程式碼示範如何使用自訂選項建構及設定工作 選項:
const vision = await FilesetResolver.forVisionTasks(
// path/to/wasm/root
"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm"
);
const facestylizer = await FaceStylizer.createFromOptions(
vision,
{
baseOptions: {
modelAssetPath: "https://storage.googleapis.com/mediapipe-models/face_stylizer/blaze_face_stylizer/float32/latest/face_stylizer_color_sketch.task"
},
});
準備資料
臉部觸控工具能以主機支援的任何格式在圖片中設定臉孔風格 。這項工作也會處理資料輸入預先處理作業,包括調整大小、 以及值正規化
執行工作
臉部樣式設定會使用 stylize()
方法觸發推論。工作內容
會處理資料、嘗試為臉孔設定樣式,然後回報結果。
系統會同步執行對臉部樣式設定 stylize()
方法的呼叫,並封鎖
使用者介面執行緒。
下列程式碼示範如何使用工作模型執行處理程序:
const image = document.getElementById("image") as HTMLImageElement;
const faceStylizerResult = faceStylizer.stylize(image);
處理及顯示結果
臉部風格化工具會傳回風格化下列值最高的 MPImage
物件
呈現出明顯的臉孔
以下範例顯示這項工作的輸出資料範例:
以上輸出內容是使用色彩草圖建立而成 新增至下列輸入圖片: