Mô hình khuôn mặt với bề mặt tham số

Một phần của tài liệu Xây dựng hệ thống Agent hội thoại hiện thân cho tương tác người - máy (Trang 48 - 50)

Khuôn mặt con ngƣời có thể đƣợc mô hình với một bề mặt tham số. Mục tiêu là để tìm một hàm toán học biểu diễn đƣợc nét mặt [Coons, 1967]. Tuy nhiên, thật khó để tìm một hàm số nhƣ vậy cho phép biểu diễ chi tiết khuôn mặt. Một cách tiếp cận ƣa chuộm hơn là tạo ra một bề mặt bằng cách liên kết tập hợp các miếng vá tham số. Những miếng vá này liên kết với các miếng vá lân cận qua đƣờng biên. Điều này thƣờng đƣợc gọi là tính liên tục C0

. Sự mịn của bề mặt đƣợc đánh giá thông qua tính liên tục của các bậc cao hơn. Các bề mặt có C1

liên tục khi những patch đƣợc biểu diễn bằng đạo hàm bậc nhất của patch gốc là liên tục tại đƣờng biên, C2

liên tục vì đạo hàm bậc hai liên tục, và cứ nhƣ vậy. Các bề mặt có sự liên tục của bậc cao hơn thì càng mịn hơn.

Bề mặt đƣợc tạo từ những bản patch này thƣờng đƣợc xác định bởi một tập hợp các điểm gọi là “điểm kiểm soát” (control point). Mô hình mặt sống động bởi sự thao tác trên các điểm kiểm soát này. Những điểm này thƣờng đƣợc sắp xếp trong một lƣới với kích thƣớc (n + 1) × (m + 1): Wi, j, 0 ≤ i ≤ n, 0 ≤ j ≤ m. Điểm trên bề mặt, w(u, v), đƣợc đánh trọng số là tổng các điểm kiểm Wi, j:

trong đó Ni(u) và Nj(v) là những hàm cơ sở. Một hàm cơ sở biểu diễn một đƣờng cong trong không gian hai chiều. Do đó, bề mặt đƣợc tạo ra là sự kết hợp nhiều phần của đƣờng cong. Những đƣờng cong này đƣợc lựa chọn một cách cẩn thận để sinh ra một bề mặt mịn màng. Đƣờng Spline thƣờng đƣợc chọn vì đơn giản và tính

liên tục bậc cao. Một ví dụ của một bề mặt đƣợc tạo ra bởi “parametric patch” đƣợc thể hiện ở Hình 10.

Hình 10: Bề mặt B-spline

Mô hình hóa khuôn mặt với “parametric patch” có lợi thế về xử lý ít dữ liệu và tạo ra bề mặt mịn hơn so với các mô hình đa giác. Tuy nhiên, cách tiếp cận này gặp vấn đề khi tạo dựng bề mặt. Thuật toán dựng hình và bề mặt ẩn tuy đã có nhƣng vẫn còn thiếu hiệu quả [Mahl, 1972; Weiss, 1966]. Các thuật toán tƣơng tự đã đƣợc đề xuất cho bề mặt có bậc cao hơn, nhƣng chúng càng tốn kém hơn khi áp dụng cho các mặt bậc cao. Vì lý do này, bề mặt bậc cao thƣờng đƣợc xấp xỉ với một lớp đa giác. Quá trình này đƣợc gọi là đa giác hóa (polygonalization); nó vẫn đòi hỏi sự tính toán tƣơng đối lớn nếu độ phân giải mẫu cần ở mức cao. Vấn đề trở nên tồi tệ hơn khi số lƣợng các điểm kiểm soát spline lớn để mô hình hóa chính xác mỗi khu vực nhỏ trên mặt. Hơn nữa, vì việc làm mịn, nên phƣơng pháp này là không phù hợp cho việc tạo ra các vết nhăn trên mặt. Do những thuận lợi và khó khăn đó, phƣơng pháp này phù hợp hơn cho các mô hình nhỏ và vùng mịn trên mặt nhƣ là môi.

3.5. Mô hình hóa cử động trên khuôn mặt

Nhƣ thảo luận trong phần trƣớc, sự sống động của mặt đƣợc thao tác trực tiếp qua các đỉnh đa giác hoặc các điểm kiểm soát (control point). Có bốn kỹ thuật cơ bản để thao tác trên bề mặt. Đó là: hoạt ảnh khung chính (key-frame animation), hoạt ảnh

tham số hóa (parameterized animation), hoạt ảnh dựa trên cơ giả tạo (pseudomuscle- based animation) và hoạt ảnh dựa trên cơ (muscle-based animation).

Một phần của tài liệu Xây dựng hệ thống Agent hội thoại hiện thân cho tương tác người - máy (Trang 48 - 50)