Dựa trên các kiến thức giải phẫu cấu trúc mặt, Waters chia hệ thống cơ làm ba loại gồm: cơ tuyến, cơ vòng và cơ phiến.
3.2.1 Cơ tuyến
Mỗi cơ được mô tả như là một vector trong không gian 3D có điểm đầu v2 và điểm cuối v1. Rs, Rf là bán kính đầu, cuối. p’ là một điểm bất kỳ nằm trên đoạn v1prps, dọc theo vector (p, v1), được tính theo công thức sau :
Trong đó α là góc giữa vector v2 – v1 và p - v1, D = || v1 - p ||, k là hằng số mô
tả sự co dãn của lớp da, và r là tham số tính theo công thức sau:
, p nằm trong (v1pnpm) , p nằm trong (pnprpspm)
Hình 3.1: Mô hình cơ vector của Waters
3.2.2 Cơ vòng
Cơ vòng có vùng ảnh hưởng hình ellipse, ví dụ của cơ vòng như cơ Orbicularis Oris (cơ miệng)
Hình 3.2: Cơ vòng
Giá trị của điểm nằm trong vùng ảnh hưởng của cơ vòng được tính dựa vào lực tác động f.
Biết được giá trị của f, p’ tính như sau:
p’= f . p
3.2.3 Cơ phiến
Hình 3.3: Cơ phiến
Độ dịch chuyển d của điểm p tới p’ được tính như sau:
3.2.4 Tác động của cơ
Theo mô hình cơ của Waters, các cơ được chia làm ba loại, bao gồm: vector cơ cho cơ tuyến, cơ vòng cho cơ miệng Orbicularis Oris và cơ phiến cho cơ trán Frontalis. Để tăng tốc độ thực hiện và giảm bớt độ phức tạp trong quá trình tính toán đối với cơ vòng và cơ phiến, mô hình cơ của Waters được mở rộng như sau: đối với cơ trán Frontalis, sử dụng một tập các vector cơ thay thế cho cơ phiến. Đối với cơ vòng phức tạp hơn và cơ vòng tính theo mô hình cơ của Waters có thể cho ra những kết quả thiếu chính xác. Việc áp dụng mô hình King (2000), tạo mô hình cơ vòng với kỹ thuật tham số sẽ cho kết quả tốt hơn [30].
Như đã giới thiệu ở phần 1.5.2, mô hình môi được áp dụng theo mô hình B- spline với 24 × 6 điểm điều khiển. Bề mặt của môi sẽ chịu tác động của các điểm điều khiển này. Cơ Orbicularis Oris tạo hai tác động chính của miệng đó là há miệng và mím miệng.
, Nếu p nằm trong ABCD , Nếu p nằm trong CDFE
Giá trị của p’ khi há miệng được tính như sau:
pi’= o (θi + e(pi) + xi )
Trong đó, o là mức co của cơ Orbicularis Oris; θi là góc quay lớn nhất phụ thuộc độ há của miệng; xi là mức co lớn nhất; e(pi) là vector tính khoảng cách dịch chuyển của điểm p.
Giá trị của p’ khi mím miệng như sau:
pi’= o (θi + e(pi) )
Khi tác động lên một cơ theo một hướng cụ thể sẽ kéo theo các đỉnh thuộc vùng cơ này sẽ bị kéo theo cùng hướng đó. Mỗi đỉnh sẽ dịch chuyển một khoảng phụ thuộc vào vị trí của nó trong phạm vi ảnh hưởng của cơ mà nó chịu tác động.
Mô hình vector cơ thích hợp cho mô hình mặt 3D với số lượng đa giác nhỏ. Khi số lượng đa giác tăng, chi phí tính toán cơ cũng tăng lên, điều này không đảm bảo để tạo chuyển động trong thời gian thực. Có thể cải thiện việc này bằng kỹ thuật “cut-off”. Bình thường áp dụng mô hình cơ của Waters sẽ tính như sau:
For tất cả các đỉnh
If đỉnh nằm bên trong miền ảnh hưởng của cơ
Then tính toán và thay thế lại các giá trị của từng đỉnh
Phân tích độ phức tạp của thuật toán trên. Với mỗi cơ, thuật toán này sẽ kiểm tra từng đỉnh thuộc lưới, nếu đỉnh nằm bên trong miền ảnh hưởng của cơ và tính khoảng cách từ đỉnh tới điểm đầu của cơ pv1, tính góc pv1pm. Độ phức tạp phụ thuộc vào số lượng đỉnh, kiểm tra xem đỉnh có nằm bên trong miền ảnh hưởng của cơ hay không [30].
Miền ảnh hưởng của từng cơ được mô tả chi tiết trong bảng dưới đây:
STT Tên cơ
Các vùng bị ảnh hưởng
2 Right Zygomatic Minor 2
3 Right Triangularis 1,2
4 Right Risorius 1,2
5 Right Depressor Labii 1
6 Right Mentalis 1
7 Orbicularis Oris (chu môi) Môi
8 Orbicularis Oris (mím môi) Môi
9 Right Frontalis Medialis 5,10
10 Right Frontalis Lateralis 5
11 Right Levator Labii Nasi 2,5
12 Right Levator Labii Superioris 2,5
13 Right Depressor Supercilii 2,5
14 Right Corrugator Supercilii 2,5
15 Right Depressor Glabelle 2,5
16 Levator Palpebrae Superios 4
17 Orbicularis Oculi Palebralis 3,4
18 Orbicularis Oculi Orbitalis 2,5
Bảng 3.1 : Mô tả các vùng ảnh hưởng của cơ
Mô hình mặt 3D chia thành các vùng khác nhau, biết vị trí của từng cơ, vùng mà cơ sẽ ảnh hưởng. Thuật toán trên được sửa lại như sau:
For tất cả các đỉnh
If đỉnh nằm bên trong vùng mà cơ ảnh hưởng
If đỉnh nằm bên trong miền ảnh hưởng của cơ
Then tính toán và thay thế lại các giá trị của từng đỉnh
Kỹ thuật này giới hạn các đỉnh nằm bên ngoài vùng ảnh hưởng của cơ bằng một câu lệnh kiểm tra đỉnh có thuộc vùng ảnh hưởng của cơ hay không, việc này sẽ giảm đáng kể chi phí tính toán đặc biệt khi số lượng đỉnh lớn.
3.3 Biểu hiện cảm xúc trên khuôn mặt 3.3.1 Lựa chọn cảm xúc thể hiện trên mặt