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: