Panduan gaya wajah untuk Python

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:

Close-up yang dihasilkan dari seorang wanita yang digambar dengan gaya sketsa pensil dan spidol.

Output di atas dibuat dengan menerapkan model Sketsa warna ke gambar input berikut:

Foto wanita yang gambarnya digunakan untuk menghasilkan output sebelumnya