Hướng dẫn cách điệu khuôn mặt cho Python

Nhiệm vụ Tạo kiểu khuôn mặt MediaPipe cho phép bạn áp dụng kiểu khuôn mặt cho các khuôn mặt trong một hình ảnh. Bạn có thể dùng nhiệm vụ này để tạo hình đại diện ảo theo nhiều phong cách.

Bạn có thể xem mã mẫu được mô tả trong những hướng dẫn này trên GitHub. Để biết thêm thông tin về tính năng, kiểu máy và các lựa chọn cấu hình của nhiệm vụ này, xem phần Tổng quan.

Ví dụ về mã

Mã ví dụ cho Công cụ tạo kiểu khuôn mặt cung cấp cách triển khai hoàn chỉnh công cụ này công việc bằng Python để bạn tham khảo. Mã này giúp bạn kiểm thử công việc này và hãy bắt đầu tạo công cụ tạo kiểu khuôn mặt của riêng bạn. Bạn có thể xem, chạy và chỉnh sửa Mã ví dụ về Công cụ tạo kiểu khuôn mặt khi chỉ sử dụng trình duyệt web.

Thiết lập

Phần này mô tả các bước chính để thiết lập môi trường phát triển và lập trình các dự án cụ thể để sử dụng Công cụ tạo kiểu khuôn mặt. Để biết thông tin chung về thiết lập môi trường phát triển để sử dụng các tác vụ MediaPipe, bao gồm yêu cầu về phiên bản nền tảng, hãy xem Hướng dẫn thiết lập cho Python.

Gói

Tác vụ Tạo kiểu khuôn mặt MediaPipe cần có gói PyPI mediapipe. Bạn có thể cài đặt và nhập các phần phụ thuộc này bằng đoạn mã sau:

$ python -m pip install mediapipe

Nhập

Nhập các lớp sau để truy cập vào các chức năng của tác vụ Tạo kiểu khuôn mặt:

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

Mẫu

Nhiệm vụ Tạo kiểu khuôn mặt MediaPipe cần có một mô hình đã qua đào tạo tương thích với công việc. Để biết thêm thông tin về các mẫu đã qua đào tạo dành cho công cụ Tạo kiểu khuôn mặt, hãy xem tổng quan về nhiệm vụ phần Mô hình.

Chọn và tải mô hình xuống rồi lưu trữ mô hình đó trong một thư mục trên máy:

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

Sử dụng tham số model_asset_path của đối tượng BaseOptions để chỉ định đường dẫn của mô hình cần sử dụng. Để xem ví dụ về mã, hãy xem phần tiếp theo.

Tạo việc cần làm

Tác vụ Tạo kiểu khuôn mặt MediaPipe sử dụng hàm create_from_options để thiết lập công việc. Hàm create_from_options chấp nhận các giá trị cho cấu hình để xử lý.

Mã sau đây minh hoạ cách tạo và định cấu hình tác vụ này.

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

Chuẩn bị dữ liệu

Chuẩn bị dữ liệu đầu vào dưới dạng tệp hình ảnh hoặc mảng numpy, sau đó chuyển đổi tệp đó thành Đối tượng mediapipe.Image. Nếu dữ liệu đầu vào là tệp video hoặc sự kiện phát trực tiếp từ webcam, bạn có thể sử dụng thư viện bên ngoài như OpenCV để tải các khung đầu vào của bạn dưới dạng numpy mảng.

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)

Chạy tác vụ

Công cụ cách điệu khuôn mặt sử dụng hàm stylize để kích hoạt thông tin suy luận. Cho mặt quá trình này bao gồm việc xử lý trước dữ liệu đầu vào và cách điệu khuôn mặt trong hình ảnh.

Mã sau đây minh hoạ cách thực thi quá trình xử lý bằng tác vụ mô hình.

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

Xử lý và hiện kết quả

Tính năng cách điệu khuôn mặt trả về một đối tượng Image có kiểu cách khuôn mặt nổi bật trong hình ảnh đầu vào.

Sau đây là ví dụ về dữ liệu đầu ra của tác vụ này:

Bạn có thể tạo kết quả ở trên bằng cách áp dụng Bảng màu vào hình ảnh đầu vào sau: