Tugas MediaPipe Face Stylizer memungkinkan Anda menerapkan gaya wajah ke wajah dalam gambar. Anda dapat menggunakan tugas ini untuk membuat avatar virtual dengan berbagai gaya.
Contoh kode yang dijelaskan dalam petunjuk ini tersedia di GitHub. Untuk mengetahui informasi selengkapnya tentang kemampuan, model, dan opsi konfigurasi tugas ini, lihat Ringkasan.
Contoh kode
Kode contoh untuk Stylizer Wajah menyediakan implementasi lengkap tugas ini di Python sebagai referensi Anda. Kode ini membantu Anda menguji tugas ini dan mulai membuat penata 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 khusus untuk menggunakan Stylizer Wajah. Untuk mengetahui informasi umum tentang menyiapkan lingkungan pengembangan Anda untuk menggunakan tugas MediaPipe, termasuk persyaratan versi platform, lihat Panduan penyiapan untuk Python.
Paket
Tugas MediaPipe Face Stylizer memerlukan paket PyPI mediapipe. Anda dapat menginstal dan mengimpor dependensi ini dengan kode 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 mengetahui informasi selengkapnya tentang model terlatih yang tersedia untuk Stylizer Wajah, 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 ditangani opsi
konfigurasi.
Kode berikut menunjukkan cara membangun 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 menjadi objek mediapipe.Image
. Jika input Anda adalah file video atau livestream 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
Stylizer Wajah menggunakan fungsi stylize
untuk memicu inferensi. Untuk gaya
wajah, hal ini melibatkan pra-pemrosesan data input dan menyesuaikan 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
Stylizer Wajah menampilkan objek Image
dengan gaya wajah yang paling
terlihat dalam gambar input.
Berikut ini contoh data output dari tugas ini:
Output di atas dibuat dengan menerapkan model Sketsa warna ke gambar input berikut: