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 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: