Tugas MediaPipe Face Stylizer memungkinkan Anda menerapkan gaya wajah ke wajah dalam gambar. Anda dapat menggunakan tugas ini untuk membuat avatar virtual dalam berbagai gaya.
Contoh kode yang dijelaskan dalam petunjuk ini tersedia di GitHub. Untuk informasi selengkapnya tentang kemampuan, model, dan opsi konfigurasi tugas ini, lihat Ringkasan.
Contoh kode
Kode contoh untuk Face Stylizer memberikan implementasi lengkap tugas ini di Python untuk referensi Anda. Kode ini membantu Anda menguji tugas ini dan mulai mem-build gaya wajah Anda sendiri. Anda dapat melihat, menjalankan, dan mengedit kode contoh Face Stylizer hanya menggunakan browser web.
Penyiapan
Bagian ini menjelaskan langkah-langkah utama untuk menyiapkan lingkungan pengembangan dan project kode Anda secara khusus untuk menggunakan Face Stylizer. Untuk informasi umum tentang menyiapkan lingkungan pengembangan untuk menggunakan tugas MediaPipe, termasuk persyaratan versi platform, lihat Panduan penyiapan untuk Python.
Paket
Tugas MediaPipe Face Stylizer memerlukan paket mediapipe PyPI. Anda dapat menginstal dan mengimpor dependensi ini dengan cara berikut:
$ python -m pip install mediapipe
Impor
Impor class berikut untuk mengakses fungsi tugas Face Stylizer:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
Model
Tugas MediaPipe Face Stylizer memerlukan model terlatih yang kompatibel dengan tugas ini. Untuk informasi selengkapnya tentang model terlatih yang tersedia untuk Face Stylizer, lihat bagian Model ringkasan tugas.
Pilih dan download model, lalu simpan di direktori lokal:
model_path = '/absolute/path/to/face_stylizer.task'
Gunakan parameter model_asset_path
objek BaseOptions
untuk menentukan jalur
model yang akan digunakan. Untuk contoh kode, lihat bagian berikutnya.
Membuat tugas
Tugas MediaPipe Face Stylizer menggunakan fungsi create_from_options
untuk menyiapkan
tugas. Fungsi create_from_options
menerima nilai untuk opsi konfigurasi yang akan ditangani.
Kode berikut menunjukkan cara mem-build dan mengonfigurasi tugas ini.
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.
# ...
Menyiapkan data
Siapkan input Anda sebagai file gambar atau array numpy, lalu konversikan ke
objek mediapipe.Image
. Jika input Anda adalah file video atau live stream dari webcam, Anda dapat menggunakan library eksternal seperti OpenCV untuk memuat frame input sebagai array 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)
Menjalankan tugas
Face Stylizer menggunakan fungsi stylize
untuk memicu inferensi. Untuk gaya
wajah, hal ini melibatkan pra-pemrosesan data input dan gaya wajah dalam
gambar.
Kode berikut menunjukkan cara menjalankan pemrosesan dengan model tugas.
# 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)
Menangani dan menampilkan hasil
Face Stylizer menampilkan objek Image
dengan gaya wajah yang paling
menonjol dalam gambar input.
Berikut adalah contoh data output dari tugas ini:
Output di atas dibuat dengan menerapkan model Sketsa warna ke gambar input berikut: