Các ứng dụng của mô phỏng mặt tăng lên rất nhiều cùng với những thuận lợi của năng lực máy tính, kỹ thuật hiển thị, khả năng lưu trữ, …Nhiều lĩnh vực mà mô hình mặt ứng dụng rất thành cô
Trang 1MỤC LỤC
Mở đầu 8
Chương 1 - Tổng quan về mô hình mặt 3D 11
1.1 Giới thiệu 11
1.2 Các công trình trước đây 12
1.3 Cấu trúc của khuôn mặt 16
1.4 Các phương pháp tạo mô hình mặt 19
1.5 Mô hình đề xuất 22
1.6 Kết luận 23
Chương 2 - Một số phương pháp tạo hoạt ảnh mặt 24
2.1 Giới thiệu 24
2.2 Key-frame 25
2.3 Tham số 26
2.4 Giả cơ 28
2.5 Dựa trên mô hình cơ 29
2.6 Kết luận 31
Chương 3 - Hoạt ảnh mặt dựa trên hệ cơ 32
3.1 Giới thiệu 32
3.2 Mô hình cơ của Waters 32
3.3 Biểu hiện cảm xúc trên khuôn mặt 37
3.4 Kết luận 43
Chương 4 - Tổng quan về Java3D 45
4.1 Giới thiệu chung 45
4.2 Cấu trúc Scenegraph 47
4.3 Mô hình render 51
4.3.1 Retained mode 51
4.3.2 Immediate Mode 51
Trang 24.3.3 Compiled-retained Mode 52
4.4 Cấu trúc một chương trình viết bằng Java 3D 52
Chương 5 - Cài đặt chương trình 54
5.1 Giới thiệu 54
5.2 Quy trình xây dựng 55
5.3 Cấu trúc chương trình 55
5.3.1 Module facialModel - Tạo mô hình 3D 56
5.3.2 Module animation - Xây dựng các biểu hiện cảm xúc của khuôn mặt56 5.3.3 Module visemeModel - Xây dựng hoạt ảnh của miệng khi phát âm 57
5.4 Cài đặt chương trình 61
5.5 Các kết quả đạt được 62
Kết luận 69
Tài liệu tham khảo 71
Trang 3DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Hình 1.1: Cấu tạo xương sọ người… ……… 17
Hình 1.2: Mô hình cơ mặt ……….……… 17
Hình 1.3: Mô hình lưới đa giác……… 20
Hình 1.3: Bề mặt B-spline……… 21
Hình 2.1: Biểu hiện của mặt: Buồn, Vui, Giận dữ, Sợ hãi, Ngạc nhiên, Kinh tởm (từ trái qua phải, trên xuống)………25
Hình 3.1: Mô hình cơ vector của Waters………33
Hình 3.2: Cơ vòng……… ……….………33
Hình 3.3: Cơ phiến……… … ……….………34
Hình 4.1: Cấu trúc có thứ bậc trong Scenegraph………48
Hình 4.2: Kết quả khi chạy chương trình HelloUniverse.java……… 49
Hình 4.3: Cấu trúc scenegraph của HelloUniverse.java……….50
Hình 5.1: Cấu trúc chương trình……….55
Hình 5.2: Chuyển xâu dữ liệu đầu vào thành các Token………58
Hình 5.3: Chuyển Token thành các Word……… 58
Hình 5.4: Thêm phraser vào đầu các Utterance……….59
Hình 5.5: Chuyển thành các Segment………59
Hình 5.6: Mặt ở trạng thái bình thường……… 62
Hình 5.7: Mặt ở trạng thái buồn (mức 1.0f)……… 63
Hình 5.8: Mặt ở trạng thái vui (mức 1.0f)……… 63
Hình 5.9: Mặt ở trạng thái tức giận (mức 1.0f)……… 64
Hình 5.10: Mặt ở trạng thái sợ hãi (mức 1.0f)………64
Hình 5.11: Mặt ở trạng thái ngạc nhiên (mức 1.0f)………65
Hình 5.12: Mặt ở trạng thái kinh tởm (mức 1.0f)……… 65
Hình 5.13: Vẻ mặt ngạc nhiên ở các mức khác nhau (0.1 – 0.4 – 0.5 - 0.7 – 1.0)……… 66
Trang 4Hình 5.13: Vẻ mặt ngạc nhiên ở các mức 0.1f……… 66
Hình 5.14: Vẻ mặt ngạc nhiên ở các mức 0.4f……… 66
Hình 5.15: Vẻ mặt ngạc nhiên ở các mức 0.5f……… 67
Hình 5.16: Vẻ mặt ngạc nhiên ở các mức 0.7f……… 67
Hình 5.17: Vẻ mặt thể hiện hai cảm xúc (ví dụ: ngạc nhiên + vui ; chế độ hỗn hợp) 68
Bảng 1.1: Vai trò của cơ mặt……… 19
Bảng 2.1: Một số thủ tục AMA quan trọng………28
Bảng 2.2: Một số ví dụ AU……….30
Bảng 3.1: Mô tả các vùng ảnh hưởng của cơ……… 30
Bảng 3.2: Luật mờ mô tả trạng thái Buồn……… 39
Bảng 3.3: Luật mờ mô tả trạng thái Vui ……… 39
Bảng 3.4: Luật mờ mô tả trạng thái Giận dữ……… 40
Bảng 3.5: Luật mờ mô tả trạng thái Sợ hãi ……… 40
Bảng 3.6: Luật mờ mô tả trạng thái Kinh tởm.……… 41
Bảng 3.7: Luật mờ mô tả trạng thái Ngạc nhiên ……… 41
Bảng 3.8: Luật mờ cho chế độ hỗn hợp…… ……… 43
Trang 5Mở đầu
Trong lĩnh vực đồ họa máy tính, mô hình mặt 3D và hoạt ảnh mặt là một lĩnh vực nghiên cứu vô cùng hấp dẫn không chỉ bởi tính hiệu quả sinh động của nó trong nhiều ứng dụng mà còn do những vấn đề vốn có trong khi tạo mô hình phải đảm bảo tính chân thực mà vẫn chạy được trong thời gian thực Các ứng dụng của mô phỏng mặt tăng lên rất nhiều cùng với những thuận lợi của năng lực máy tính, kỹ thuật hiển thị, khả năng lưu trữ, …Nhiều lĩnh vực mà mô hình mặt ứng dụng rất thành công, ví
dụ mô hình mặt được ứng dụng trong công nghiệp giải trí quảng cáo, hội thảo băng thông thấp, giao diện người máy, giáo dục (dạy học qua đọc cử động của miệng dành cho người khiếm thính… ), nhận dạng và làm các mô hình phân tích biểu hiện nét mặt…
Tạo mô hình mặt và hoạt ảnh mặt là một công việc khó do sự phức tạp trong cấu trúc vật lý của khuôn mặt cùng với khả năng thể hiện đa dạng cảm xúc thông qua các biểu hiện nét mặt [33] Tạo hoạt ảnh mặt sao cho đảm bảo độ chân thật, tự nhiên càng khó hơn Khó khăn chung gặp phải khi tạo mô hình mặt 3D đó là phải đảm bảo tính chân thực của mô hình trong khi vẫn tạo các chuyển động nhanh, chính xác Để giải quyết vấn đề này, người ta đặt ra hai yêu cầu: yêu cầu thứ nhất, tạo mô hình 3D chân thực và yêu cầu thứ hai, điều khiển chính xác các biến dạng của mô hình
Đề tài “Nghiên cứu mô hình mặt và các kỹ thuật chuyển động” tập trung
tìm hiểu phương pháp xây dựng mô hình mặt và các kỹ thuật chuyển động của khuôn mặt (hoạt ảnh mặt) Mục tiêu chính là thiết kế mô hình ba chiều mô tả khuôn mặt người, xây dựng hoạt ảnh của khuôn mặt Mô hình này có khả năng mô phỏng các cảm xúc của con người thể hiện qua nét mặt như vui, buồn, tức giận… theo các cấp độ khác nhau
Quá trình thực hiện có thể tóm lược như sau:
Trang 6- Xây dựng mô hình mặt 3D trên Java3D đảm bảo thể hiện độ chân thật nét mặt cao, đây là cách hiệu quả để tạo hoạt ảnh trong thời gian thực cũng như điều khiển biến dạng thông qua việc điều khiển cơ
- Tìm hiểu chuyển động của mặt dựa trên hệ cơ và các biến dạng của bề mặt thông qua sự co của cơ mặt
- Xây dựng chuyển động của khuôn mặt, cho phép tạo ra các biểu hiện của khuôn mặt như vui, buồn, tức giận, …
Từ cơ sở trên tôi tiến hành xây dựng hoạt ảnh cho khuôn mặt Dựa vào các tham số
do người dùng cung cấp, chương trình sẽ tự động tính toán để tái tạo mô hình ba chiều mô
tả mặt người với những cảm xúc ở các cường độ khác nhau
Luận văn gồm 6 chương:
Chương 1 giới thiệu hai phương pháp xây dựng mô hình mặt 3D, gồm có:
phương pháp đa giác và phương pháp tham số, ưu nhược điểm của từng phương pháp
Chương 2 giới thiệu một số phương pháp tạo hoạt ảnh mặt như key-frame,
tham số, giả cơ và dựa trên hệ cơ [12, 25, 30, 35] Đánh giá ưu nhược điểm của từng phương pháp
Chương 3 mô tả mô hình cơ, mô hình vector cơ của Waters và áp dụng mô
hình cơ vào tạo hoạt ảnh mặt Trong phần này giới thiệu luật mờ để lựa chọn các biểu hiện của nét mặt trên mô hình mặt 3D Dựa vào công trình nghiên cứu của Ekman và Friesen, mô tả cảm xúc của khuôn mặt qua sự co cơ mặt Để làm được việc này cần: thứ nhất, miêu tả từng cảm xúc đơn lẻ trên mô hình 3D Thứ hai, mô phỏng được nhiều hơn một cảm xúc trên mặt [30, 32]
Chương 4 mô tả về Java 3D, một giao diện lập trình ứng dụng (API) do hãng
Sun MicroSystem phát triển với mục đích hỗ trợ các ứng dụng tương tác đồ họa 3D viết bằng ngôn ngữ lập trình Java Giới thiệu khái quát lịch sử phát triển, các ưu
Trang 7điểm thế mạnh của Java 3D, các lĩnh vực ứng dụng và cấu trúc xây dựng một chương trình bằng Java 3D …
Chương 5 mô tả bài toán áp dụng: xây dựng mô hình mặt và tạo các hoạt ảnh
của mặt Mô hình này có khả năng mô phỏng các cảm xúc của con người thể hiện qua nét mặt như vui, buồn, tức giận… theo các cấp độ khác nhau Mô tả cấu trúc module của chương trình và trình bày các kết quả đã đạt được
Chương 6, chương kết luận, tổng kết các kiến thức đã trình bày ở các chương
trước và đưa ra định hướng của đề tài trong tương lai
Trang 8Chương 1 - Tổng quan về mô hình mặt 3D
1.1 Giới thiệu
Khuôn mặt là phần đặc biệt nhất của con người bởi dựa vào khuôn mặt ta có thể phân biệt những con người khác nhau Con người có khả năng nhận dạng một cá thể giữa trăm nghìn khuôn mặt khác nhau, thậm chí có thể phát hiện được những thay đổi dù rất nhỏ của khuôn mặt Cảm xúc thể hiện trên khuôn mặt cũng là một kênh thông tin quan trọng Những biểu hiện trên mặt cho thấy họ đang vui hay buồn, tức giận hay phấn khởi… Rất nhiều loài động vật có khả năng thể hiện một số cảm xúc trên mặt nhưng để thể hiện các cảm xúc một cách tinh tế và phong phú nhất thì chỉ có con người
Gasper (1988) phát biểu rằng giao diện người máy đã trải qua một loạt thế hệ tương tự như ngôn ngữ máy tính Ở những thời kỳ đầu, người ta chủ yếu sử dụng giao diện kiểu theo kiểu dòng lệnh (command line) để truyền tải thông tin Thế hệ tiếp sau đó là tổng hợp tiếng nói và nhận dạng, giao tiếp người máy được thực hiện qua giọng nói và điều này chắc chắn sẽ nhanh hơn là gõ ký tự hay nhấn chuột Thời
kỳ của các diễn viên ảo và mô hình mặt nói sẽ là những giao diện người máy thân thiện được sử dụng trong tương lai
Những bước phát triển này đều nhằm tạo cho máy tính thân thiện hơn Điều này hoàn toàn logic bởi các hệ thống được tạo ra đều dành cho con người sử dụng Một giao diện truyền tải dữ liệu thành công nhất đó là mặt người Theo Pease (1981), khi giao tiếp chúng ta chỉ thu được 10% thông tin từ những gì nghe được khi trò chuyện, 90% thông tin còn lại là từ ngôn ngữ mặt và cơ thể Do đó, nếu tạo được
hệ thống có thể sử dụng được tất cả những hiểu biết về truyền thông giữa con người với nhau và sẽ truyền tải được nhiều thông tin hơn trong một thời gian ngắn
Tạo giao diện gần gũi tự nhiên là một cách khuyến khích mọi người thích thú hơn khi sử dụng máy tính Rất nhiều người không hứng thú thậm chí e ngại khi phải
sử dụng những giao diện theo kiểu dòng lệnh hay sử dụng chuột và cửa sổ Bằng
Trang 9cách mô phỏng giao diện mà con người cảm thấy thân thiện hơn sẽ giúp họ dễ sử dụng và không lo lắng khi sử dụng máy tính
Vấn đề khi tạo mô hình mặt người và các chuyển động của mặt bằng máy tính là một thách thức trong nghiên cứu đồ họa máy tính phụ thuộc vào độ chân thật của mô hình mặt và tạo hoạt ảnh trong thời gian thực Một số cách tiếp cận đã thất bại khi muốn đạt được cả hai yêu cầu trên Các phương pháp key frame, tham số, giả
cơ là các kỹ thuật đơn giản để tạo hoạt ảnh tuy nhiên lại không tạo được nét mặt chân thật [30] Trong luận văn này tôi tạo mô hình mặt 3D theo phương pháp đa giác, có thể đạt được hai yêu cầu: tạo độ chân thật cho mô hình mặt và hoạt ảnh chạy trong thời gian thực
Phần 1.2 sẽ giới thiệu một số công trình mô hình mặt đã có Phần 1.3 mô tả tóm tắt cấu trúc vật lý của khuôn mặt Phần 1.4 mô tả khái quát mô hình mặt Kỹ
thuật tạo mô hình cho khuôn mặt được nghiên cứu là tạo mô hình mặt bằng lưới các
đa giác, các ưu nhược điểm của phương pháp Phần 1.5 trình bày một số kết luận
1.2 Các công trình trước đây
Công trình đầu tiên mô tả mặt dựa trên máy tính có từ năm 1970 Năm 1971, Chernoff sử dụng khuôn mặt hai chiều để mô tả khuôn mặt k chiều Marriott (1990)
đề ra mô hình mặt Chernoff Mỗi đặc điểm trên Chernoff dựa vào các tham số khác nhau Giá trị của tham số thay đổi tạo nét mặt thay đổi theo Hệ thống hoạt ảnh mặt
sẽ giúp tạo giao diện người dùng thân thiện theo cách của mô hình mặt Chernoff
Mô hình này có khả năng thay đổi nét mặt tùy theo hành động của người sử dụng Nếu người sử dụng phạm sai lầm thì mặt sẽ giận dữ Khi hệ thống ở trạng thái không làm gì cả, mặt sẽ có vẻ buồn…
Công trình mô tả khuôn mặt ba chiều đầu tiên là của Fred Parke (1972, 1974,
1975, 1982) [35] Fred Parke nghiên cứu trong lĩnh vực hoạt ảnh mặt khoảng 20 năm Các công trình nghiên cứu của ông bao gồm luận văn tiến sĩ và rất nhiều bài báo Những nghiên cứu này mở đầu cho lĩnh vực nghiên cứu hoạt ảnh mặt Khi phát triển mô hình tham số, Parke chia các tham số làm hai loại: một loại dùng để điều
Trang 10khiển các cảm xúc của mặt, một loại dùng để biến đổi hình dạng của mặt Các tham
số được sử dụng để thực hiện các phép biến đổi trên mô hình mặt như nội suy, tịnh tiến, co dãn, quay Người dùng có thể định nghĩa được hướng nhìn của mắt thông qua việc nhắm và mở mắt của mô hình Để đảm bảo độ chân thật cho mô hình Parke cho rằng cần mô phỏng sao cho đúng với khuôn mặt thật nhất Mô hình tổng hợp sẽ tạo các ảnh dựa trên các giá trị tham số
Đầu những năm 1980, Platt với công trình mô hình mặt điều khiển dựa trên
cơ vật lý và phát triên các kỹ thuật vẽ biếm họa khuôn mặt của Brennan Năm 1985,
bộ phim hoạt hình ngắn tên là “Tony de Peltrie” đã đánh dấu mốc quan trọng cho lĩnh vực nghiên cứu hoạt ảnh của mặt Đây là lần đầu tiên sử dụng các mô hình 3D, ứng dụng các nghiên cứu về xử lý mô hình mặt 3D và các kỹ thuật chuyển động 3D làm nền tảng cho phim [18]
Những nghiên cứu của Waters (1987, 1990, 1991) [35] đã đưa giải phẫu cơ thể vào nghiên cứu mô hình mặt: đầu tiên là mô hình cơ và sau đó là mô hình ba lớp Khi xây dựng tập tham số cho mô hình mặt, Waters tham khảo hệ thống mã hóa các tác động của mặt FACS1 ( 1 : FACS viết tắt của Facial Action Coding System: hệ thống này là phương pháp được sử dụng rộng rãi và linh hoạt để đo và miêu tả các hoạt động của mặt Paul Ekman và W.V.Friesen xây dựng hệ thống này trên cơ sở xem xét các tác động của cơ mặt - từng cơ đơn lẻ hay tác động đồng thời của một nhóm cơ – lên sự thay đổi của mặt ) FACS cung cấp một tập các AU2 ( 2 : AU viết tắt của action unit ) mô tả tác động của từng cơ đơn lẻ cũng như tác động của một nhóm cơ lên bề mặt của khuôn mặt Kết hợp các tác động này sẽ tạo nên các biểu hiện của khuôn mặt (cảm xúc của mặt) Các nghiên cứu về giải phẫu cơ thể cho thấy
có sáu cảm xúc cơ bản của mặt đó là vui, buồn, giận dữ, ngạc nhiên, sợ hãi, kinh tởm và khi kiểm tra các cảm xúc này bằng FACS cho ra các kết quả chân thật Waters nghiên cứu cấu trúc giải phẫu mặt Mặt gồm xương, cơ và da Phần xương thường cố định, chỉ có phần hàm là có thể quay quanh một trục Các cơ được bám vào xương Mô hình này bỏ qua lớp da và mô Mỗi một nút (đỉnh) trên mô hình mặt
sẽ chịu tác động của một hay nhiều cơ, tùy thuộc vào vị trí của nút trên mô hình mặt
Trang 11Mỗi cơ được mô tả như một vector có hướng, có điểm đầu, điểm cuối, vùng ảnh hưởng…Kết quả có thể tạo ra một mô hình mặt có khả năng thay đổi nét mặt tùy theo tham số đầu vào
Năm 1990, Waters và Terzopoulos đã phát triển hệ thống ba lớp nhằm hoàn thiện mô hình cơ trước đó đã bỏ qua phần da và mô Mô hình dựa trên cấu trúc vật
lý này là mô hình có thứ bậc đưa cho người dùng tham số điều khiển các cử động của mặt tại sáu mức khác nhau Các mức đó là: cảm xúc của mặt, điều khiển (của một nhóm cơ), cơ (tác động của từng cơ đơn lẻ), hình khối và ảnh (nguồn sáng và màu sắc lựa chọn) Với các mức điều khiển cao, người dùng có thể làm việc với mô hình mà không cần quan tâm tới sự phức tạp của hệ thống bên dưới Mô hình mặt được dựa trên mô phỏng mặt thật, có sự tham gia của lớp biểu bì, hạ bì và lớp mỡ dưới da Mô hình gồm ba lớp, lớp trên cùng là da, lớp thứ hai là hạ bì và lớp thứ ba
là cơ Hoạt động của cơ mặt dựa trên các AU của FACS Các cơ được chia làm ba loại: cơ tuyến, cơ phiến và cơ vòng Ví dụ cơ Zygomaticus major là cơ tuyến tác động ở vùng khóe miệng, cơ phiến là các cơ tác động ở vùng lông mày (ví dụ khi nhíu mày), cơ vòng tác động ở vùng môi… Trong mô hình này, các cơ sẽ hoạt động thông qua ba lớp của mô hình lưới mặt Với mỗi cử động của mặt, các cơ sẽ được tính toán xem tác động xảy ra như thế nào
Năm 1990, hàng loạt các kỹ thuật hoạt ảnh ra đời và tạo hoạt ảnh mặt bằng máy tính được sử dụng như là một thành phần chính trong sản xuất phim hoạt họa, đánh dấu bằng bộ phim hoạt hình “Toy story”
Steve DiPaola (1991) [35] nhìn thấy một lĩnh vực khác của hoạt ảnh mặt Ông đã xây dựng một công cụ tạo hoạt ảnh cho phép các nhà làm hoạt ảnh thay đổi cấu trúc và tái tạo mô hình mặt Đích nhắm tới của DiPaola là tạo được một công cụ phổ thông hơn các hệ thống hiện tại Ý tưởng này dựa trên mô hình hoạt ảnh của Parke DiPaola mô phỏng các chuyển động có thể có nhất của mặt và sau đó mở rộng hệ thống bao gồm cả những chuyển động trái tự nhiên Hệ thống này cung cấp một công cụ cho các nhà làm hoạt ảnh có thể thực hiện đối với hệ thống của mình như điều khiển bố cục, màu sắc hay điều khiển các cử động của mặt DiPaola sử
Trang 12dụng các kỹ thuật tạo hoạt ảnh và cải tiến hệ thống của Waters bằng cách thêm vào một số chuyển động và các phép biến đổi, một số trong đó có thể không có trên thực
tế Các chuyển động bổ sung này tác động tới một số vùng trên mặt theo các cách khác nhau so với các chuyển động chuẩn của mặt Các kỹ thuật tạo các chuyển động
bổ sung này kết hợp giữa phương pháp tạo hoạt ảnh đã có từ trước cùng với phương pháp quan sát và nghiên cứu các chuyển động mang tính sinh học Các tham số mà DiPaola thêm vào được sử dụng để phủ toàn bộ các phần của mặt Hàm phủ này tạo những ảnh hưởng như tạo nếp gấp… Các nghiên cứu tương lai cho hệ thống này như tạo mô hình tóc, các kỹ thuật sửa đổi và tạo nếp nhăn, bể mặt lồi lõm…
Yau (1988) [35] phát triển kỹ thuật tạo hoạt ảnh cho mặt bằng cách đưa ra một cấu trúc chân thực Yau sử dụng các ảnh chụp khuôn mặt thật và chiếu chúng trên bề mặt đối tượng 3D Hai mô hình 3D đã sử dụng hệ thống hoạt ảnh của Yau: một mô hình là động, sử dụng để tìm vị trí và các chuyển động của mặt, xử lý trước khi output xuất hiện trên màn hình để tạo ma trận dịch chuyển; một mô hình là tĩnh,
bố cục được ánh xạ lên mô hình đó Phương pháp này tăng quá trình ánh xạ trước khi ảnh được dịch chuyển cũng như tính toán phân bố ánh sáng Tuy nhiên phương pháp cũng có một số hạn chế như một số cử động của miệng như há miệng sẽ ánh xạ như ngậm miệng và đây là điều bất hợp lý
Cũng tương tự như vậy, Morishima và Harashima (1990) [35] sử dụng mô hình khung kim loại 3D và ánh xạ bố cục 2D lên mô hình 3D Các điểm quan trọng trên mô hình mặt 3D được chọn từ các điểm tương ứng trên bố cục ánh xạ bằng cách
sử dụng các phép biến đổi Một số hệ thống khác cũng theo nguyên lý ánh xạ bố cục này như hệ thống của Williams (1990) và Waters (1991) Waters phát triển mô hình
ba lớp và chạy nó trong hệ thống thời gian thực Hệ thống này tương đối chậm và còn hạn chế nhưng các kết quả tạo ra chân thật, gần với tự nhiên nhất
Williams (1990) [35] tạo hệ thống hoạt ảnh mặt bằng cách sử dụng dữ liệu nguồn là video Công trình này được mở rộng từ các kết quả nghiên cứu của Parke
và Waters bằng cách ánh xạ cấu trúc và biểu cảm nét mặt với dữ liệu vào là các cảm xúc Williams sử dụng các kỹ thuật tạo hoạt ảnh cùng với nghiên cứu các đặc điểm
Trang 13của con người để có thể chọn lọc, sửa chữa các chuyển động một cách chi tiết đảm bảo cho ra các kết quả chân thực Để tạo mô hình, đầu tiên người ta điêu khắc một
mô hình đầu bằng thạch cao và các bức ảnh chụp khuôn mặt từ các góc độ khác nhau Sau đó quét ảnh và sử dụng ảnh quét này tạo ánh xạ bố cục Để tạo hoạt ảnh, các điểm ảnh được đánh dấu trên mô hình người thật và được ghi lại theo chuyển động của người thật Sử dụng các điểm ảnh này, máy tính tạo khuôn mặt với cảm xúc tương ứng Với các kết quả đạt được công trình của Williams sẽ tiếp tục phát triển mở rộng trong tương lai
Bùi Thế Duy (2004) [30] với công trình nghiên cứu “Tạo cảm xúc và các biểu hiện mặt cho embodied agents” Công trình nghiên cứu về mô hình mặt 3D, các phương pháp tạo hoạt ảnh mặt như keyframe, giả cơ, tham số, dựa trên hệ cơ…, các phương pháp lựa chọn các cảm xúc thể hiện trên mặt dựa trên hệ thống luật mờ Ngoài ra công trình còn đưa ra phương pháp kết hợp các chuyển động mặt Trên khuôn mặt con người có những loại chuyển động như tín hiệu đàm thoại, hiển thị cảm xúc, …Mỗi chuyển động này được xem là các kênh chuyển động, để thể hiện được đồng thời các chuyển động đó cần nghiên cứu phương pháp kết hợp các chuyển động này
1.3 Cấu trúc của khuôn mặt
Khuôn mặt là phần đặc biệt nhất của con người bởi dựa vào khuôn mặt ta có thể phân biệt được những con người khác nhau Hình dáng của khuôn mặt được quyết định bởi hình dáng xương của hộp sọ và hàm dưới (xương hàm)
Thành phần chính của khuôn mặt gồm xương (hộp sọ), da và cơ
Ở hộp sọ người trưởng thành có 28 xương Ngoại trừ xương hàm, các xương còn lại được nối với nhau bằng các đường khớp, các khớp này rất ít dịch chuyển Phần sọ chứa và bảo vệ não gồm tám xương ráp lại với nhau, trong đó quan trọng nhất là xương trán Xương trán kéo dài từ lông mày đến đỉnh đầu Trong cấu trúc hộp sọ còn có 14 xương tham gia vào cấu tạo xương mặt như tạo xương hàm, hốc
Trang 14mắt, mũi và miệng hàm dưới, hàm trên, xương gò má, xương mũi…, 6 xương thuộc
dạng xương nhỏ tham gia cấu tạo tai giữa [42]
Hình 1.1: Cấu tạo xương sọ người
Cơ mặt phân bố như sau:
oris
Platysma
Depressor labii inferioris
Corrugator
Masseter Buccinator Mentalis Orbicularis oris
Epicranius major
Corrugator supercilii Levator labii superioris alaquae nasi
Zygomatic minor Zygomatic major Levator labii superioris Levator anguli oris
Trang 15Vai trò của một số cơ:
1 Zygomatic Major Nằm ở vùng xương gò má, gần phía khóe miệng Cơ
này kéo khóe miệng chếch lên hoặc sang ngang, đặc biệt có vai trò quan trọng khi khuôn mặt thể hiện nụ cười (Zygomatic Major co cùng với cơ Orbicularis Oculi khi thể hiện nụ cười)
2 Zygomatic Mino Nằm ở bên vùng xương gò má, gần môi trên phần
giữa khóe môi và cánh mũi Cơ này kéo nhân trung và khóe miệng chếch lên hoặc sang ngang
3 Triangularis Nằm phía hàm dưới gần khóe miệng Cơ này sẽ tác
động lên khóe miệng, kéo khóe miệng xuống, tạo cho môi có hình chữ U ngược
4 Risorius Nằm phía dưới cung xương gò má, gần khóe miệng
Cơ này kéo căng miệng ra hai bên, co khóe miệng
5 Depressor Labii Nằm ở phần cằm, phần hàm dưới Cơ này kéo môi
dưới xuống (cơ này tham gia khi thể hiện sự mỉa mai châm biếm trên mặt)
6 Mentalis Nằm ở phần hàm dưới trước răng, phần cằm Cơ này
đẩy cằm lên phía trên, tạo các nếp nhăn phía cằm, tạo cho miệng cong lên theo hình chữ U ngược
7 Orbicularis Oris Thuộc loại cơ vòng, bao quanh miệng Cơ này tạo
hình dáng, điều khiển kích thước há miệng và rất quan trọng khi tạo vị trí và các chuyển động của môi khi nói Cơ này sẽ tham gia tạo chuyển động dễ nhận thấy như mím miệng, căng miệng, chu miệng
8 Levator Labii
Superioris
Là cơ thuộc môi trên, má phần bên mũi (cánh mũi) và mũi Phần cánh mũi nâng môi trên ở mức vừa phải
Trang 16Phần cơ phía mũi nằm trên xương gò má gần xương mũi, phần này nâng môi trên kéo mũi lên và tạo nếp nhăn trên mũi
9 Corrugator Nằm ở phía hốc mắt, gần phía mũi, chèn bên trong
lớp da phần trán giữa mỗi lông mày Cơ này kéo lông mày xuống và co vào phía trong và sẽ tạo một số nếp nhăn dọc theo phần mũi và lông mày
10 Orbicularis Oculi Là cơ vòng bao quanh mắt Cơ này có chức năng
quan trọng trong việc bảo vệ cho mắt cũng như thể hiện cảm xúc Các cơ co lớp da quanh mắt, tác động nhắm mở mắt
11 Masseter Nằm hai bên gò má, phần hàm dưới Cơ này nâng
hàm và nghiến răng, tham gia khi nhai, tham gia thể hiện cảm xúc tức giận
Bảng 1.1: Vai trò của cơ mặt
1.4 Các phương pháp tạo mô hình mặt
Yêu cầu khi tạo mô hình mặt là mô hình phải biểu đạt được các cảm xúc và các cử động của khuôn mặt với độ chính xác cao Đa số các hệ thống hoạt ảnh mặt
sử dụng mô hình đa giác để mô tả mô hình mặt (Aizawa 1989; Waters 1987/1990; Williams 1990…), cũng có một số sử dụng mô hình tham số để mô tả mô hình mặt
Sử dụng kỹ thuật này bề mặt tạo ra trơn mịn hơn so với kỹ thuật tạo mô hình bằng
đa giác Tuy nhiên kỹ thuật này phức tạp, xu hướng tạo bề mặt trơn không thích hợp
để tạo các nếp nhăn Đặc biệt với những vùng như mũi, mắt là những vùng sẽ gặp phải vấn đề này và giải pháp sử dụng mô hình đa giác sẽ tối ưu hơn [17]
1.4.1 Bề mặt đa giác
Trang 17Mô hình lưới mặt được mô tả bằng cách xây dựng một tập hợp các điểm và liên kết các điểm với nhau tạo thành một lưới đa giác (Parke, 1972) Mô hình này được tạo theo kiểu đối xứng, tức là tạo một nửa mặt (nửa trái hoặc nửa phải), nửa còn lại được tạo theo tính chất đối xứng Để cải thiện tốc độ thực hiện trong khi vẫn
dữ được chất lượng cao cho mô hình, Parke giảm số lượng đỉnh và tam giác ở một
số phần của mặt như giảm bớt đỉnh và tam giác ở những khu vực như trán, má, cổ
Số lượng tam giác sử dụng nhiều tập trung ở những khu vực như quanh mắt, mũi, miệng và cằm
Hình 1.3 : Mô hình lưới đa giác Nhiều mô hình chuyển động của mặt sử dụng lưới đa giác như mô hình mặt CANDIDE (Rydfalk, 1987) Mô hình gồm 75 đỉnh và 100 đa giác, cho phép việc tái tạo mô hình nhanh thích hợp với khả năng của máy tính Mô hình mặt Greta (Pasquariello and Pelachaud, 2001) gồm 15000 đỉnh, mô tả chi tiết những khu vực
Trang 18nhấn mạnh của khuôn mặt để thể hiện sự giao tiếp và biểu hiện cảm xúc Tập trung một số lượng lớn các đa giác để mô tả các vùng như mắt, môi, trán, cánh mũi Các
đa giác ở trán được tổ chức thành một lưới ngang đều đặn để tạo thành các nếp nhăn trên trán khi nhíu mày theo kỹ thuật bump mapping (Moubaraki, 1995) Các đa giác
ở vùng cánh mũi được sắp sao cho có thể co dãn ở gần miệng, vùng má tạo nếp khi cười
Tạo mô hình bằng lưới đa giác có ưu điểm là đơn giản và dễ thực hiện Phương pháp này cũng tạo ra các biểu hiện nét mặt chân thực và tạo chuyển động trong thời gian thực
1.4.2 Mô hình tham số
Bề mặt được tạo bởi một tập các ô, mỗi ô được tạo bởi một tập các điểm điều khiển Sự co dãn của bề mặt được quyết định bởi các điểm điều khiển này Các điểm
điều khiển được sắp trên lưới có kích thước (n+1) × (m+1)
Bề mặt tham số được tạo bằng cách kết hợp nhiều đường cong, trong đó sử dụng nhiều nhất là đường cong B-spline B-spline được chọn bởi đơn giản và tính liên tục cao
Trang 19Ni,k và Mi,l là các hàm cơ bản bậc k, l tương ứng và tính đệ quy như sau:
Trong đó xi là thành phần của vector knot [x0, …, xn]
1.5 Mô hình đề xuất
Trong bài toán của mình, tôi lựa chọn mô hình đa giác để tạo mô hình mặt và
mô hình tham số cho mô hình môi Lý do để lựa chọn hai phương pháp này là vì ưu điểm đơn giản, dễ thực hiện trong khi vẫn tạo nét mặt chân thật cho mô hình mặt của phương pháp đa giác và đặc tính tạo ra bề mặt trơn mịn, rất thích hợp tạo mô hình môi của phương pháp tham số
1.5.1 Mô hình lưới mặt
Mô hình mặt sử dụng 1234 điểm liên kết với nhau tạo thành một lưới các tam giác gồm 2363 tam giác Lưới này tạo thành nửa bên trái của mặt Nửa bên phải được tạo theo quy tắc đối xứng
Để tăng tốc độ thực hiện mô hình mặt được chia thành 11 vùng như sau [30]:
- 1: Phần dưới mặt (từ cằm đến miệng), bên phải
- 2: Phần giữa mặt (từ miệng đến mí mắt dưới), bên phải
- 3: Phần dưới mí mắt, bên phải
- 4: Phần trên mí mắt, bên phải
- 5: Phần trên mặt (phần trán), bên phải
- 6: Phần dưới mặt (từ cằm đến miệng), bên trái
- 7: Phần giữa mặt (từ miệng đến mí mắt dưới), bên trái
- 8: Phần dưới mí mắt, bên trái
Trang 20- 9: Phần trên mí mắt, bên trái
- 10: Phần trên mặt (phần trán), bên trái
- 11: Cổ
1.5.2 Mô hình môi
Môi có vai trò rất quan trọng trong giao tiếp, nhìn vào cử động của môi người
ta có thể đọc được người nói đang nói gì, đây cũng là một phương pháp dạy học cho người khiếm thính bằng cách đọc cử động của môi Do vây, tạo mô hình môi tốt sẽ
có vai trò rất quan trọng trong việc thể hiện tính chân thực cho toàn bộ mô hình mặt
Với đặc điểm tạo bề mặt trơn mịn nên phương pháp tham số thường được sử dụng để tạo mô hình môi Mô hình môi là một mô hình B-spline kích thước 24 × 6
Để biến dạng môi, các cơ mặt phải dịch chuyển các điểm điều khiển trên B-spline thay vì thay đổi trực tiếp các đỉnh trên lưới B-spline Các điểm điều khiển sẽ xác định lại mô hình B-spline sau mỗi biến dạng Bề mặt B-spline được tạo thành lưới
đa giác để kết nối với phần còn lại của mô hình mặt khi dựng trên màn hình máy tính [30]
1.6 Kết luận
Phần này giới thiệu phương pháp mô tả mô hình lưới mặt 3D và mô hình môi Dựa vào đặc điểm của từng mô hình tôi sử dụng mô hình đa giác để tạo mô hình mặt và mô hình tham số để tạo mô hình môi Đây là cách làm phổ biến, dễ thực hiện và có thể tạo ra các biểu hiện nét mặt chân thực và có thể tạo ra các biến dạng của khuôn mặt một cách tự động, không cần thực hiện các thao tác thủ công khi muốn tạo chuyển động của mô hình mặt
Trang 21Chương 2 - Một số phương pháp tạo hoạt ảnh mặt
2.1 Giới thiệu
Phân tích nét mặt thuộc lĩnh vực tâm lý học và được nghiên cứu từ nhiều thập
kỷ trước Tâm lý học nghiên cứu cách con người truyền và nhận thông tin qua nét mặt, xem xét tinh thần và sự đau ốm tác động tới chuyển động của mặt như thế nào
Sự biểu hiện thông qua nét mặt của người bệnh với sự suy kém về thể lực thường do trải qua nhiều giai đoạn trong quá trình đau ốm của người bệnh với hy vọng rằng có được trị liệu tốt cho người bệnh Một lĩnh vực nghiên cứu khác của tâm lý học là phát hiện nói dối Khi một người nói dối sẽ xuất hiện những biểu hiện xung đột trên mặt họ do nói dối có khuynh hướng thể hiện đồng thời nhiều cảm xúc trên mặt
Nghiên cứu bắt đầu và kết thúc của một chuyển động của mặt sẽ cho ý nghĩa các chuyển động của mặt Hai nhà tâm lý học, Ekman và Friesen đã phát triển một
hệ thống phân tích các chuyển động của mặt Hệ thống mã hóa tác động mặt, FACS (1977) đã chứng minh đó là một phương pháp thành công trong đánh giá biểu hiện mặt Ekman và Friesen đưa ra một phương pháp khách quan tìm và ghi lại các chuyển động Họ nghiên cứu các bức ảnh chụp các khuôn mặt thể hiện tác động của các cơ khác nhau Theo phương pháp này họ tìm được những cơ nào gây ra chuyển động của mặt Họ nhóm các cơ có những ảnh hưởng giống nhau thành một nhóm Nhóm các cơ hay một cơ đơn lẻ tạo ra một chuyển động của mặt được gọi là Action Unit (AU) Ekman và Friesen tìm ra 46 AU và ghi lại mô tả đầy đủ về 46 AU này
FACS bao gồm thông tin nhận biết AU mô tả các chuyển động đơn giản đến phức tạp Họ xem xét 55000 bức ảnh chụp các khuôn mặt với các biểu hiện khác nhau và từ đó chia thành sáu biểu hiện chính đó là tức giận, sợ hãi, kinh tởm, buồn, vui và ngạc nhiên Mỗi cảm xúc có cường độ thể hiện khác nhau, hoạt ảnh của khuôn mặt có thể xem là các trạng thái cảm xúc của mặt như vui, buồn,… phụ thuộc vào cường độ của từng cảm xúc Khuôn mặt người có khả năng thể hiện nhiều cảm xúc tại cùng một thời điểm và được gọi là cảm xúc “hỗn hợp”
Trang 22Hình 2.1: Biểu hiện của mặt: Buồn, Vui, Giận dữ, Sợ hãi, Ngạc nhiên, Kinh tởm (từ trái qua phải, trên xuống)
Tạo hoạt ảnh cho khuôn mặt cần ba giai đoạn: giai đoạn đầu tiên cần xây dựng một mô hình mặt 3D; giai đoạn thứ hai cần một kỹ thuật thay đổi từng thành phần của mô hình và giai đoạn thứ ba cần tái tạo mô hình bằng cách dựng mô hình trên màn hình máy tính Giai đoạn thứ hai là giai đoạn quan trọng bởi đây là giai đoạn tạo chuyển động của mô hình mặt Trong phần này tôi xin giới thiệu bốn kỹ thuật được sử dụng để tạo hoạt ảnh bao gồm: key-frame, tham số, giả cơ và dựa trên
mô hình cơ [12, 25, 30]
2.2 Key-frame
Trong kỹ thuật này, key frame là các biểu hiện cảm xúc khác nhau của khuôn mặt Phương pháp này là một trong những kỹ thuật được sử dụng rộng rãi do có thể tạo ra các chuyển đổi khá trơn mịn giữa các key frame
Key frame gồm hai loại: hình học và tham số
Trang 23Kỹ thuật dựa trên hình học thay đổi trực tiếp vị trí các đỉnh trên mô hình lưới
Mô hình lưới phải có cùng cấu trúc hình học Vị trí các đỉnh của khuôn mặt trung gian được tính theo vị trí các đỉnh tương ứng ccủa hai key frame
Kỹ thuật sử dụng tham số thường dùng với một số kỹ thuật tạo hoạt ảnh của khuôn mặt như tham số và dựa trên hệ cơ Các tham số trong kỹ thuật này là các tham số trong chuyển động tham số hay mức co của cơ mặt trong chuyển động dựa trên hệ cơ Kỹ thuật key frame dựa trên tham số tính toán các tham số để tạo ra khuôn mặt trung gian bằng cách nội suy các tham số tương ứng của hai key frame
Toàn bộ tiến trình nội suy được thực hiện dựa trên một hệ số tính toán trung gian từ 2 key frame Ví dụ, khuôn mặt với nụ cười (mức trung bình) là kết quả nội suy từ khuôn mặt ở trạng thái bình thường với khuôn mặt có nụ cười tươi hệ số là 0.5 Để tạo ra loạt các chuyển động tuần tự, thông tin tạm thời của các frame trung gian và hai key frame được sử dụng để tính toán hệ số này
Kỹ thuật key frame sử dụng nội suy tuyến tính và nội suy phi tuyến Nội suy tuyến tính được sử dụng để mô phỏng các chuyển động đơn giản của khuôn mặt, nội suy phi tuyến được sử dụng để mô phỏng các chuyển động đòi hỏi tính chính xác cao
Kỹ thuật key frame tạo các hoạt ảnh của mặt nhanh và dễ dàng Phạm vi của biểu cảm nét mặt phụ thuộc vào số lượng và sự khác biệt của các key frame Kỹ thuật key frame chỉ tạo ra các một tập các cảm xúc của mặt khi có đủ số key frame thích hợp, kỹ thuật này không thể tạo ra các nét mặt khi mà tập key frame này không
đủ Kỹ thuật này yêu cầu lưu trữ toàn bộ dữ liệu (dữ liệu trong quá trình tính toán các mặt trung gian cũng như dữ liệu của hai key frame tương ứng) do vậy key frame thích hợp khi xử lý tập chuyển động nhỏ từ một số key frame hoặc kết hợp với các phương pháp khác để tạo ra các frame trung gian
2.3 Tham số
Kỹ thuật tham số do Parke (1974) phát triển đã khắc phục được hạn chế của
kỹ thuật key frame như cung cấp một phạm vi lớn biểu hiện nét mặt với chi phí tính
Trang 24toán thấp Các tham số được kiểm soát ở các vùng mặt cụ thể để tạo các biến dạng cục bộ Một chuyển động cụ thể trên khuôn mặt sẽ tạo ra các biến dạng cho khuôn mặt ứng với một bộ tham số Ví dụ, Hoch (1994) sử dụng kỹ thuật này để tạo các biến dạng bề mặt tương ứng với các đơn vị hoạt động (Action Unit) trong hệ thống
mã hóa hoạt động của mặt FACS
Mô hình mặt sử dụng kỹ thuật hoạt ảnh tham số gọi là mô hình tham số Một cách khác để tạo mô hình mặt là sử dụng một người đóng, quan sát mặt để chia thành các vùng, các đa giác được thiết kế sao cho có thể tạo biến dạng cục bộ như mong muốn khi cử động mặt Việc người đóng thể hiện nét mặt ra sao (kinh nghiệm của người đóng) có vai trò đặc biệt quan trọng để tạo ra một mô hình tốt
Tạo các biến dạng cục bộ có thể sử dụng các phương pháp như nội suy vùng cục bộ, phép biến đổi hình học và ánh xạ kết cấu Nội suy vùng cục bộ tạo ra hình trung gian của hai hình cụ thể bằng tham số Vị trí của các đỉnh đa giác nội suy từ các đỉnh tương ứng giữa hai hình Các phép biến đổi hình học như phép quay, co dãn, tịnh tiến sử dụng các hàm toán học với đối số là các tham số để dịch chuyển một hình cục bộ trong một hình khác Kỹ thuật ánh xạ kết cấu vận dụng kết cấu các vùng mặt để tổng hợp các chuyển động của mặt Để hiểu rõ kỹ thuật này hơn ta xem xét chuyển động của mí mắt Chuyển động của mí mắt được nội suy từ hai cử động
là nhắm mắt và mở mắt Hệ số nội suy 0.5 sẽ tạo ra mắt lim dim Chuyển động của mắt có thể sử dụng phép quay lưới mô hình mắt quanh một trục xác định trước Khi lông mày cau lại, nếp nhăn sẽ xuất hiện trên trán (chuyển động của lông mày) Vị trí
và sự xuất hiện của nếp nhăn trên trán phụ thuộc vào giá trị của lông mày tăng giảm
Tuy nhiên cũng có một vài giới hạn đối với kỹ thuật này như: lựa chọn tập tham số phụ thuộc vào hình dáng của lưới mặt dẫn đến khó khăn trong việc xây dựng một tập tham số chung cũng như giải quyết xung đột tham số tác động trên cùng một đỉnh khi thể hiện cảm xúc hỗn hợp (thể hiện nhiều hơn một cảm xúc trên mặt) do vậy trong trường hợp này, kỹ thuật tham số sẽ không thể hiện được nét mặt chân thật Chính vì lý do này, kỹ thuật tham số thích hợp với việc tạo biến dạng tại các vùng (miền) khuôn mặt cụ thể
Trang 252.4 Giả cơ
Các kỹ thuật dựa trên giả cơ như AMA (Abstract Muscle Action) của Magnenat-Thalmann (1988) hay Kalra sử dụng FFD (Free From Deformation) để
mô tả tác động của cơ
Magnenat-Thalmann sử dụng các thủ tục AMA để tạo các biến dạng cho mô hình mặt 3D Mỗi thủ tục AMA làm việc trên vùng cụ thể của mặt, các vùng này được xác định khi khởi tạo mặt, để tạo gần đúng tác động của một cơ hoặc một nhóm cơ Hệ thống của Magnenat-Thalmann et al gồm 30 thủ tục AMA, một ví dụ của AMA là thủ tục vertical jaw Tác động của thủ tục này là tạo ra một tập tác động điều khiển bởi các tham số của thủ tục Các thủ tục AMA sẽ tạo ra các biến đổi cho mặt [25]
Trang 26Phương pháp này không tạo được các nếp gấp, nếp nhăn trên da, không thích hợp dùng cho việc điều khiển tương tác giữa các cơ
2.5 Dựa trên mô hình cơ
Kỹ thuật chuyển động dựa trên mô hình cơ sử dụng cấu trúc giải phẫu mặt để tạo biến dạng cho khuôn mặt Phương pháp này mô phỏng tác động của các cơ lên
sự biến dạng bề mặt của mô hình 3D
Ekman và Friesen đã nghiên cứu hệ thống mã hóa tác động mặt FACS Đây
là những nghiên cứu sự co của cơ mặt khi có sự tác động Các tác động của từng cơ riêng lẻ hay của một nhóm cơ được gọi là AU Nghiên cứu cấu trúc giải phẫu mặt,
hệ thống FACS đề ra 58 AU là cơ sơ cho các nghiên cứu hoạt ảnh dựa trên cơ mặt sau này
Ví dụ:
A
Trang 27Chu miệng hình phễu
Cơ tác động: Orbicularis oris
Trang 28cơ vòng và cơ phiến (mô tả chi tiết phần 3.2)
Năm 1990, Terzopoulous và Waters nghiên cứu mô hình mặt với cấu trúc ba lớp gồm lớp da, mô mỡ và cơ Mô hình này mô tả trung thực khuôn mặt, tuy nhiên chi phí tính toán lớn, do đó không được sử dụng rộng trong chuyển động thời gian thực
2.6 Kết luận
Phần này giới thiệu khái quát các kỹ thuật tạo biến dạng bề mặt Các kỹ thuật được đề cập đến bao gồm: key frame, tham số, giả cơ, dựa trên hệ cơ Kỹ thuật key frame đưa ra một cách tiếp cận trực giác về chuyển động mặt Phương pháp này sử dụng đơn giản, dễ dàng tạo ra chuyển động thô của khuôn mặt tuy nhiên chúng hạn chế trong việc tạo hình dạng khuôn mặt do phạm vi của biểu cảm nét mặt phụ thuộc vào số lượng và sự khác biệt của các key frame Kỹ thuật tham số khắc phục hạn chế của key frame, tuy nhiên kỹ thuật này ít khi tạo ra nét mặt tự nhiên, do đó chỉ thích hợp tạo biến dạng tại những vùng cụ thể Kỹ thuật dựa trên giả cơ gặp phải khó khăn khi mô phỏng các nếp gấp, nếp nhăn trên da Phương pháp dựa trên hệ cơ
mô tả trung thực khuôn mặt tuy nhiên chi phí tính toán lớn Từ những ưu nhược điểm trên, tôi quyết định tạo chuyển động của khuôn mặt dựa trên mô hình cơ mở rộng của Waters, phương pháp này dựa trên mô hình cơ và chi phí tính toán không quá lớn khi tạo chuyển động trong thời gian thực
Trang 29Chương 3 - Hoạt ảnh mặt dựa trên hệ cơ
3.1 Giới thiệu
Mặt người có khả năng thể hiện các cảm xúc cơ bản như: vui, buồn, tức giận,
sợ hãi, kinh tởm Mỗi cảm xúc có cường độ thể hiện khác nhau, hoạt ảnh của khuôn mặt phụ thuộc vào cường độ của từng cảm xúc
Phần này miêu tả hoạt động của các cơ trong việc điều khiển chuyển động của khuôn mặt (tạo hoạt ảnh của khuôn mặt) Mô tả mô hình vector cơ và áp dụng
mô hình cơ này vào tạo hoạt ảnh mặt
3.2 Mô hình cơ của Waters
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 v 2 – v 1 và p - v 1 , D = || v 1 - 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 (v 1 p n p m)
, p nằm trong (p n p r p s p m)
Trang 30Hì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
Ví dụ của cơ phiến là cơ Frontalis (cơ trán)
Trang 31Hì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 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
B-và mím miệng
, Nếu p nằm trong ABCD
, Nếu p nằm trong CDFE
Trang 32Giá trị của p’ khi há miệng được tính như sau:
p i ’= o (θ i + e(p i ) + x i )
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; x i là mức co lớn nhất; e(p i) 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:
p i ’= o (θ i + e(p i) )
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ơ pv 1 , tính góc pv 1 p m Độ 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:
Các vùng
bị ảnh hưởng
Trang 332 Right Zygomatic Minor 2
Trang 34Bả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
Trong thực tế, đôi khi không thể thu nhận được các thông tin một cách đầy
đủ, hoặc có những thông tin không chính xác, không chắc chắn Ví dụ, một cán bộ
giảng dạy "thâm niên" nhưng không rõ năm vào biên chế, biết một cán bộ giảng dạy
có "nhiều" công trình nghiên cứu khoa học, nhưng không biết cụ thể là bao nhiêu
Các thông tin đó gọi chung là thông tin mờ
Luật mờ mô tả mối quan hệ giữa dữ liệu vào và dữ liệu kết quả Luật mờ có dạng như sau:
Nếu (x1 là A1,i) và (x2 là A2,i) và … và (xn là An,i)
Thì y là Bi (i= 1 m)
Trong đó:
- m là số lượng luật mờ của hệ thống
- x1, x2, … xn mô tả dữ liệu đầu vào
- A 1,i, A2,i, …, An,i là tập mờ tương ứng Logic mờ được phát triển dựa trên luật mờ “nếu … thì” trong đó, mệnh đề
“nếu” là điều kiện, mệnh đề này được thỏa mãn thì mệnh đề kết luận cũng sẽ được thỏa mãn
Trang 35Áp dụng luật mờ để lựa chọn các biểu hiện của nét mặt trên mô hình mặt 3D
Hệ thống mô tả như sau:
1 Dữ liệu vào là vector mô tả cường độ sáu cảm xúc cơ bản, mỗi thành phần của vector có giá trị thuộc khoảng [0, 1]
e = (e1, e2, …, e6)
Trong đó 0 ≤ ei ≤ 1
2 Kết quả trả lại là vector
m = (m1, m2, …, m18)
Trong đó 0 ≤ mi ≤ 1 Đây là vector mô tả mức co của 18 cơ
m thể hiện nét mặt dựa trên sự biến đổi của các cơ
Trên khuôn mặt không thể hiện tất cả các thành phần cường độ cảm xúc tại cùng một thời điểm Một cách tương đối có thể thể hiện hai cảm xúc có thể thể hiện tại cùng một thời điểm do khuôn mặt giới hạn một số lượng vùng thể hiện cảm xúc, gọi là chế độ hỗn hợp [30, 32]
Chế độ đơn chỉ một cảm xúc thể hiện trên mặt Trường hợp này xảy ra khi chỉ có một cảm xúc có cường độ lớn hơn 0.1 và cường độ các cảm xúc khác là bằng
0 (nhỏ hơn 0.1)
Ở chế độ hỗn hợp, hai cảm xúc có cường độ cao nhất được thể hiện trên mặt Trong trường hợp có nhiều hơn hai cảm xúc có cùng cùng độ, hai cảm xúc sẽ được lấy một cách ngẫu nhiên được thể hiện trên mặt
Cường độ cảm xúc được mô tả bằng năm tập mờ sau: VeryLow, Low, Medium, High, VeryHigh Mức co của cơ được mô tả bằng năm tập mờ: VerySmall, Small, Medium, Big, VeryBig
3.3.2 Chế độ đơn
Luật cho chế độ đơn có dạng như sau [30], [32]:
If Sadness is VeryLow then
Mức co của cơ 9 là VerySmall
Mức co của cơ 13 là VerySmall