Panduan gaya wajah untuk Web

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 tugas di JavaScript untuk referensi Anda. Kode ini membantu Anda menguji tugas ini dan mulai membangun aplikasi penataan wajah Anda sendiri. Anda dapat melihat, menjalankan, dan edit contoh Stilizer Wajah kode hanya dengan menggunakan web Anda browser.

Penyiapan

Bagian ini menjelaskan langkah-langkah utama untuk menyiapkan lingkungan pengembangan khususnya untuk menggunakan Stylizer Wajah. Untuk informasi umum tentang penyiapan lingkungan pengembangan web dan JavaScript, termasuk versi platform persyaratan layanan, lihat Panduan penyiapan untuk web.

Paket JavaScript

Kode Stylizer Wajah tersedia melalui MediaPipe @mediapipe/tasks-vision NPM. Anda dapat menemukan dan download library ini dengan mengikuti petunjuk di platform Penyiapan panduan kami.

Anda dapat menginstal paket yang diperlukan melalui NPM menggunakan perintah berikut:

npm install @mediapipe/tasks-vision

Jika Anda ingin mengimpor kode tugas dengan jaringan penayangan konten (CDN) tambahkan kode berikut di kolom <head> di file HTML Anda:

<!-- You can replace JSDeliver with another CDN if you prefer -->
<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision/vision_bundle.js"
    crossorigin="anonymous"></script>
</head>

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 dalam direktori project Anda:

<dev-project-root>/app/shared/models/

Membuat tugas

Gunakan salah satu fungsi createFrom...() Stylizer Wajah untuk menyiapkan tugas menjalankan inferensi. Gunakan fungsi createFromModelPath() dengan kerabat atau jalur absolut ke file model terlatih. Jika model Anda sudah dimuat ke Anda dapat menggunakan metode createFromModelBuffer().

Contoh kode di bawah ini menunjukkan penggunaan fungsi createFromOptions() untuk menyiapkan tugas. Fungsi createFromOptions memungkinkan Anda menyesuaikan Stylizer Wajah dengan opsi konfigurasi.

Kode berikut menunjukkan cara membangun dan mengonfigurasi tugas dengan opsi:

const vision = await FilesetResolver.forVisionTasks(
  // path/to/wasm/root
  "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm"
);
const facestylizer = await FaceStylizer.createFromOptions(
    vision,
    {
      baseOptions: {
        modelAssetPath: "https://storage.googleapis.com/mediapipe-models/face_stylizer/blaze_face_stylizer/float32/latest/face_stylizer_color_sketch.task"
      },
    });

Menyiapkan data

Stylizer Wajah dapat mempercantik wajah dalam gambar dalam format apa pun yang didukung host browser. Tugas ini juga menangani pra-pemrosesan input data, termasuk mengubah ukuran, rotasi, dan normalisasi nilai.

Menjalankan tugas

Stylizer Wajah menggunakan metode stylize() untuk memicu inferensi. Tugas memproses data, mencoba memperindah wajah, dan kemudian melaporkan hasilnya. Panggilan ke metode stylize() Stylizer Wajah berjalan secara sinkron dan memblokir thread antarmuka pengguna.

Kode berikut menunjukkan cara mengeksekusi pemrosesan dengan model tugas:

const image = document.getElementById("image") as HTMLImageElement;
const faceStylizerResult = faceStylizer.stylize(image);

Menangani dan menampilkan hasil

Stylizer Wajah menampilkan objek MPImage 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: