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