งาน MediaPipe Face Stylizer ช่วยให้คุณสามารถใช้การจัดรูปแบบใบหน้ากับใบหน้าในรูปภาพ คุณใช้งานนี้เพื่อสร้างรูปโปรไฟล์เสมือนในรูปแบบต่างๆ ได้
ตัวอย่างโค้ดที่อธิบายในวิธีการเหล่านี้จะดูได้ใน GitHub ดูข้อมูลเพิ่มเติมเกี่ยวกับความสามารถ โมเดล และตัวเลือกการกำหนดค่าของงานนี้ได้ที่ภาพรวม
ตัวอย่างโค้ด
โค้ดตัวอย่างสำหรับสไตไลเซอร์ใบหน้าจะแสดงการติดตั้งใช้งานนี้อย่างสมบูรณ์ใน Python เพื่อเป็นข้อมูลอ้างอิง โค้ดนี้จะช่วยคุณทดสอบงานนี้และเริ่ม สร้างสไตไลซ์ใบหน้าของคุณเอง คุณจะดู เรียกใช้ และแก้ไข โค้ดตัวอย่างสไตไลซ์ใบหน้าได้โดยใช้เว็บเบราว์เซอร์เท่านั้น
ตั้งค่า
ส่วนนี้จะอธิบายขั้นตอนสำคัญในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และโปรเจ็กต์โค้ดเพื่อใช้สไตไลเซอร์ใบหน้าโดยเฉพาะ ดูข้อมูลทั่วไปเกี่ยวกับการตั้งค่าสภาพแวดล้อมการพัฒนาเพื่อใช้งาน MediaPipe รวมถึงข้อกำหนดเวอร์ชันแพลตฟอร์มได้ที่คู่มือการตั้งค่าสำหรับ Python
กล่องพัสดุ
งาน MediaPipe Face Stylizer ต้องใช้แพ็กเกจ Mediapipe PyPI คุณจะติดตั้งและนำเข้าทรัพยากร Dependency ต่อไปนี้ได้
$ python -m pip install mediapipe
การนำเข้า
นำเข้าชั้นเรียนต่อไปนี้เพื่อเข้าถึงฟังก์ชันงานสำหรับการทำสไตไลซ์ใบหน้า
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.
# ...
เตรียมข้อมูล
เตรียมอินพุตเป็นไฟล์ภาพหรืออาร์เรย์ตัวเลข แล้วแปลงเป็นออบเจ็กต์ 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
ที่มีการจัดรูปแบบใบหน้าที่โดดเด่นที่สุดภายในรูปภาพอินพุต
ตัวอย่างต่อไปนี้แสดงตัวอย่างข้อมูลเอาต์พุตจากงานนี้
เอาต์พุตด้านบนสร้างขึ้นโดยใช้โมเดลภาพร่างสีกับรูปภาพอินพุตต่อไปนี้