งานการปรับแต่งใบหน้าของ 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
ที่มีการแต่งใบหน้าที่โดดเด่นที่สุดในรูปภาพอินพุต
ต่อไปนี้เป็นตัวอย่างข้อมูลเอาต์พุตจากงานนี้
เอาต์พุตด้านบนสร้างขึ้นโดยใช้โมเดลภาพสเก็ตช์สีกับรูปภาพอินพุตต่อไปนี้