Hướng dẫn phát hiện mốc khuôn mặt

Tác vụ Face Landmarker

Tác vụ MediaPipe Face Landmarker cho phép bạn phát hiện các điểm trên khuôn mặt và biểu cảm khuôn mặt trong hình ảnh và video. Bạn có thể dùng tác vụ này để xác định biểu cảm trên khuôn mặt người, áp dụng bộ lọc và hiệu ứng cho khuôn mặt, cũng như tạo hình đại diện ảo. Tác vụ này sử dụng các mô hình học máy (ML) có thể hoạt động với hình ảnh đơn lẻ hoặc một luồng hình ảnh liên tục. Tác vụ này xuất ra các điểm đánh dấu khuôn mặt 3 chiều, điểm số blendshape (hệ số biểu thị biểu cảm khuôn mặt) để suy luận các bề mặt khuôn mặt chi tiết theo thời gian thực và ma trận biến đổi để thực hiện các phép biến đổi cần thiết cho việc kết xuất hiệu ứng.

Hãy dùng thử!

Bắt đầu

Bắt đầu sử dụng tác vụ này bằng cách làm theo một trong các hướng dẫn triển khai cho nền tảng mục tiêu của bạn. Các hướng dẫn dành riêng cho nền tảng này sẽ hướng dẫn bạn cách triển khai cơ bản tác vụ này, bao gồm cả mô hình được đề xuất và ví dụ về mã với các lựa chọn cấu hình được đề xuất:

Chi tiết về việc cần làm

Phần này mô tả các chức năng, đầu vào, đầu ra và lựa chọn cấu hình của tác vụ này.

Tính năng

  • Xử lý hình ảnh đầu vào – Quá trình xử lý bao gồm xoay, đổi kích thước, chuẩn hoá hình ảnh và chuyển đổi không gian màu.
  • Ngưỡng điểm – Lọc kết quả dựa trên điểm dự đoán.
Đầu vào của việc cần làm Kết quả đầu ra của tác vụ
Face Landmarker chấp nhận dữ liệu đầu vào thuộc một trong các loại dữ liệu sau:
  • Ảnh tĩnh
  • Khung hình video đã giải mã
  • Nguồn cấp dữ liệu video trực tiếp
Face Landmarker xuất ra các kết quả sau:
  • Một lưới khuôn mặt hoàn chỉnh cho từng khuôn mặt được phát hiện, với điểm số blendshape biểu thị biểu cảm khuôn mặt và toạ độ cho các điểm trên khuôn mặt.
  • Face Blendshape và ma trận biến đổi khuôn mặt

Các lựa chọn về cấu hình

Tác vụ này có các lựa chọn cấu hình sau:

Tên tuỳ chọn Mô tả Phạm vi giá trị Giá trị mặc định
running_mode Đặt chế độ chạy cho tác vụ. Có 3 chế độ:

HÌNH ẢNH: Chế độ dành cho dữ liệu đầu vào là một hình ảnh.

VIDEO: Chế độ cho các khung hình đã giải mã của video.

LIVE_STREAM: Chế độ phát trực tiếp dữ liệu đầu vào, chẳng hạn như từ camera. Ở chế độ này, bạn phải gọi resultListener để thiết lập một trình nghe nhằm nhận kết quả một cách không đồng bộ.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_faces Số lượng khuôn mặt tối đa mà FaceLandmarker có thể phát hiện. Tính năng làm mịn chỉ được áp dụng khi num_faces được đặt thành 1. Integer > 0 1
min_face_detection_confidence Điểm tin cậy tối thiểu để tính năng phát hiện khuôn mặt được coi là thành công. Float [0.0,1.0] 0.5
min_face_presence_confidence Điểm số tin cậy tối thiểu của điểm số hiện diện khuôn mặt trong tính năng phát hiện điểm đánh dấu trên khuôn mặt. Float [0.0,1.0] 0.5
min_tracking_confidence Điểm tin cậy tối thiểu để tính năng theo dõi khuôn mặt được coi là thành công. Float [0.0,1.0] 0.5
output_face_blendshapes Liệu Face Landmarker có xuất các hình dạng kết hợp khuôn mặt hay không. Hình dạng kết hợp khuôn mặt được dùng để kết xuất mô hình khuôn mặt 3D. Boolean False
output_facial_transformation_matrixes Liệu FaceLandmarker có xuất ma trận biến đổi khuôn mặt hay không. FaceLandmarker sử dụng ma trận để chuyển đổi các điểm đánh dấu khuôn mặt từ một mô hình khuôn mặt chuẩn sang khuôn mặt được phát hiện, nhờ đó, người dùng có thể áp dụng hiệu ứng cho các điểm đánh dấu được phát hiện. Boolean False
result_callback Đặt trình nghe kết quả để nhận kết quả điểm đánh dấu một cách không đồng bộ khi FaceLandmarker ở chế độ phát trực tiếp. Chỉ có thể dùng khi chế độ chạy được đặt thành LIVE_STREAM ResultListener N/A

Mô hình

Face Landmarker sử dụng một loạt mô hình để dự đoán các điểm đánh dấu trên khuôn mặt. Mô hình đầu tiên phát hiện khuôn mặt, mô hình thứ hai xác định vị trí các điểm đánh dấu trên khuôn mặt đã phát hiện và mô hình thứ ba sử dụng các điểm đánh dấu đó để xác định các đặc điểm và biểu cảm trên khuôn mặt.

Các mô hình sau đây được đóng gói cùng nhau thành một gói mô hình có thể tải xuống:

  • Mô hình phát hiện khuôn mặt: phát hiện sự xuất hiện của khuôn mặt với một số điểm mốc chính trên khuôn mặt.
  • Mô hình lưới khuôn mặt: thêm một bản đồ hoàn chỉnh về khuôn mặt. Mô hình này đưa ra kết quả ước tính về 478 điểm đánh dấu khuôn mặt 3 chiều.
  • Mô hình dự đoán hình dạng kết hợp: nhận đầu ra từ mô hình lưới khuôn mặt, dự đoán 52 điểm hình dạng kết hợp (là các hệ số biểu thị các biểu cảm khác nhau trên khuôn mặt).

Mô hình phát hiện khuôn mặt là mô hình BlazeFace tầm ngắn, một bộ phát hiện khuôn mặt chính xác và gọn nhẹ được tối ưu hoá cho suy luận GPU di động. Để biết thêm thông tin, hãy xem tác vụ Face Detector.

Hình ảnh bên dưới cho thấy một bản đồ hoàn chỉnh về các điểm đánh dấu trên khuôn mặt từ đầu ra của gói mô hình.

Các điểm chính của Face Landmarker

Để xem chi tiết hơn về các điểm đánh dấu trên khuôn mặt, hãy xem hình ảnh có kích thước đầy đủ.

Gói mô hình Hình dạng đầu vào Loại dữ liệu Thẻ mô hình Phiên bản
FaceLandmarker FaceDetector: 192 x 192
FaceMesh-V2: 256 x 256
Blendshape: 1 x 146 x 2
độ chính xác đơn 16 FaceDetector
FaceMesh-V2
Blendshape
Mới nhất