คู่มือการจัดรูปแบบใบหน้าสำหรับ Python

งานสไตไลซ์ใบหน้าของ MediaPipe ช่วยให้คุณใช้การจัดรูปแบบใบหน้ากับใบหน้าในรูปภาพได้ คุณใช้งานนี้เพื่อสร้างรูปโปรไฟล์เสมือนจริงในสไตล์ต่างๆ ได้

ตัวอย่างโค้ดที่อธิบายไว้ในวิธีการเหล่านี้มีอยู่ใน GitHub สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความสามารถ โมเดล และตัวเลือกการกำหนดค่า ของงานนี้ โปรดดูภาพรวม

ตัวอย่างโค้ด

โค้ดตัวอย่างสำหรับสไตไลเซอร์ใบหน้าช่วยให้สามารถติดตั้งใช้งานได้อย่างสมบูรณ์ ใน Python เพื่อใช้เป็นข้อมูลอ้างอิง โค้ดนี้จะช่วยคุณทดสอบงานนี้และรับ เริ่มสร้างสไตไลเซอร์ สำหรับใบหน้าของคุณเอง คุณสามารถดู เรียกใช้ และแก้ไข โค้ดตัวอย่างสไตไลซ์ใบหน้า โดยใช้เว็บเบราว์เซอร์เท่านั้น

ตั้งค่า

ส่วนนี้จะอธิบายขั้นตอนสำคัญในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ และ โปรเจ็กต์โค้ดเพื่อใช้สไตไลเซอร์ใบหน้าโดยเฉพาะ สำหรับข้อมูลทั่วไปเกี่ยวกับ การตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ของคุณสำหรับการใช้งาน MediaPipe ซึ่งรวมถึง ข้อกำหนดด้านเวอร์ชันแพลตฟอร์ม โปรดดูคู่มือการตั้งค่าสำหรับ Python

แพ็กเกจ

งานสไตไลซ์ใบหน้าของ MediaPipe ต้องการแพ็กเกจ PyPI ของ Mediapipe คุณสามารถติดตั้งและ นำเข้าการอ้างอิงเหล่านี้ด้วยข้อมูลต่อไปนี้

$ python -m pip install mediapipe

การนำเข้า

นำเข้าชั้นเรียนต่อไปนี้เพื่อเข้าถึงฟังก์ชันของงานที่ทำสไตไลซ์ใบหน้า

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

รุ่น

งานสไตไลซ์ใบหน้าของ MediaPipe ต้องใช้โมเดลที่ผ่านการฝึกและใช้งานได้กับ งาน ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลที่ผ่านการฝึกใช้สไตไลซ์ใบหน้าได้ที่ ภาพรวมงานส่วนโมเดล

เลือกและดาวน์โหลดโมเดล จากนั้นเก็บโมเดลไว้ในไดเรกทอรีในเครื่อง:

model_path = '/absolute/path/to/face_stylizer.task'

ใช้พารามิเตอร์ BaseOptions ออบเจ็กต์ model_asset_path เพื่อระบุเส้นทางของ โมเดลที่จะใช้ ดูตัวอย่างโค้ดได้ในส่วนถัดไป

สร้างงาน

งานสไตไลซ์ใบหน้าของ MediaPipe จะใช้ฟังก์ชัน create_from_options เพื่อตั้งค่า งาน ฟังก์ชัน create_from_options ยอมรับค่าสำหรับการกำหนดค่า ตัวเลือกที่ต้องจัดการ

โค้ดต่อไปนี้แสดงวิธีสร้างและกำหนดค่างานนี้

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.
  # ...

เตรียมข้อมูล

จัดเตรียมอินพุตของคุณเป็นไฟล์ภาพหรืออาร์เรย์ numpy แล้วแปลงเป็น ออบเจ็กต์ mediapipe.Image รายการ หากข้อมูลที่คุณป้อนเป็นไฟล์วิดีโอหรือสตรีมแบบสดจาก เว็บแคม คุณจะสามารถใช้ไลบรารีภายนอก เช่น OpenCV เพื่อโหลดเฟรมอินพุตเป็นตัวเลข อาร์เรย์

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)

เรียกใช้งาน

สไตไลซ์ใบหน้าใช้ฟังก์ชัน stylize เพื่อเรียกใช้การอนุมาน สำหรับผิวหน้า สไตไลซ์ ซึ่งเกี่ยวข้องกับการประมวลผลข้อมูลที่ป้อนล่วงหน้าและจัดรูปแบบใบหน้าใน รูปภาพ

โค้ดต่อไปนี้แสดงวิธีดำเนินการประมวลผลกับงาน โมเดล

# 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)

จัดการและแสดงผลลัพธ์

สไตไลเซอร์ใบหน้าจะแสดงออบเจ็กต์ Image ที่มีสไตล์ของ ใบหน้าที่โดดเด่นในอินพุต

ตัวอย่างต่อไปนี้แสดงตัวอย่างข้อมูลเอาต์พุตจากงานนี้

เอาต์พุตด้านบนสร้างขึ้นโดยใช้ภาพร่างสี ลงในรูปภาพอินพุตต่อไปนี้