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

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

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

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

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

ตั้งค่า

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

แพ็กเกจ

งาน MediaPipe Face Stylizer ต้องใช้แพ็กเกจ mediapipe PyPI คุณติดตั้งและนําเข้าไลบรารีเหล่านี้ได้โดยใช้สิ่งต่อไปนี้

$ python -m pip install mediapipe

การนำเข้า

นําเข้าคลาสต่อไปนี้เพื่อเข้าถึงฟังก์ชันงานของ Face Stylizer

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

รุ่น

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

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

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

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

สร้างงาน

งาน MediaPipe Face Stylizer ใช้ฟังก์ชัน 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 เพื่อโหลดเฟรมอินพุตเป็นอาร์เรย์ 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)

เรียกใช้งาน

Face Stylizer ใช้ฟังก์ชัน 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 ที่มีการแต่งใบหน้าที่โดดเด่นที่สุดในรูปภาพอินพุต

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

ภาพระยะใกล้ของผู้หญิงที่วาดด้วยดินสอและปากกามาร์กเกอร์

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

รูปภาพของผู้หญิงที่มีการใช้รูปภาพเพื่อสร้างเอาต์พุตก่อนหน้า