Panduan gaya wajah untuk Python

Tugas Stylizer Wajah MediaPipe 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 terkait kemampuan, model, dan opsi konfigurasi. tugas ini, lihat Ringkasan.

Contoh kode

Kode contoh untuk Stylizer Wajah menyediakan implementasi lengkap dari fungsi ini di Python untuk referensi Anda. Kode ini membantu Anda menguji tugas ini dan mendapatkan mulai membuat stilus untuk wajah Anda sendiri. Anda dapat melihat, menjalankan, dan mengedit Kode contoh Stilizer Wajah menggunakan {i>browser<i} internet Anda.

Penyiapan

Bagian ini menjelaskan langkah-langkah utama untuk menyiapkan lingkungan pengembangan dan membuat kode project secara khusus untuk menggunakan Stylizer Wajah. Untuk informasi umum tentang menyiapkan lingkungan pengembangan untuk menggunakan tugas MediaPipe, termasuk persyaratan versi platform, lihat Panduan penyiapan untuk Python yang baru.

Paket

Tugas MediaPipe Face Stylizer memerlukan paket PyPI mediapipe. Anda dapat menginstal dan impor dependensi ini dengan kode berikut:

$ python -m pip install mediapipe

Impor

Impor class berikut untuk mengakses fungsi tugas Stylizer Wajah:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision

Model

Tugas Stylizer Wajah MediaPipe memerlukan model terlatih yang kompatibel dengan tugas Anda. Untuk mengetahui informasi selengkapnya tentang model terlatih yang tersedia untuk Stylizer Wajah, lihat ringkasan tugas bagian Model.

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 Anda. Fungsi create_from_options menerima nilai untuk konfigurasi dan opsi untuk ditangani.

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 konversi menjadi Objek mediapipe.Image. Jika input Anda adalah file video atau live stream dari Webcam, Anda dapat menggunakan perpustakaan eksternal seperti OpenCV untuk memuat frame input sebagai 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 wajah gaya, ini melibatkan pra-pemrosesan data input dan menata gaya wajah di gambar.

Kode berikut menunjukkan cara menjalankan pemrosesan dengan tugas model transformer.

# 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 terlihat jelas di dalam gambar input.

Berikut ini contoh data output dari tugas ini:

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