Tài liệu Khóa luận Thử nghiệm phương pháp biến đổi khuôn mặt trên ảnh hai chiều: ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
--------
Bùi Lê Hùng
THỬ NGHIỆM PHƢƠNG PHÁP BIẾN ĐỔI
KHUÔN MẶT TRÊN ẢNH HAI CHIỀU
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
--------
Bùi Lê Hùng
THỬ NGHIỆM PHƢƠNG PHÁP BIẾN ĐỔI
KHUÔN MẶT TRÊN ẢNH HAI CHIỀU
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Cán bộ hƣớng dẫn: TS. Bùi Thế Duy
HÀ NỘI - 2009
I
TÓM TẮT
Khóa luận này đưa ra một phương pháp tạo chuyển động khuôn mặt trong không
gian hai chiều. Sử dụng đầu vào là một bức ảnh mặt người ở trạng thái bình thường,
phương pháp này sử dụng các phép biến đổi ảnh để thay đổi trạng thái cảm xúc của
khuôn mặt, tạo cho khuôn mặt khả năng nói chuyện bằng tiếng Việt. Phương pháp của
chúng tôi đưa ra chủ yếu dựa trên các phép bóp méo ảnh và cải tiến của nó. Mục tiêu
của chúng tôi là tạo ra một khuôn mặt có những chuyển động chân ...
82 trang |
Chia sẻ: haohao | Lượt xem: 1110 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Thử nghiệm phương pháp biến đổi khuôn mặt trên ảnh hai chiều, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
--------
Bùi Lê Hùng
THỬ NGHIỆM PHƢƠNG PHÁP BIẾN ĐỔI
KHUÔN MẶT TRÊN ẢNH HAI CHIỀU
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
--------
Bùi Lê Hùng
THỬ NGHIỆM PHƢƠNG PHÁP BIẾN ĐỔI
KHUÔN MẶT TRÊN ẢNH HAI CHIỀU
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Cán bộ hƣớng dẫn: TS. Bùi Thế Duy
HÀ NỘI - 2009
I
TÓM TẮT
Khóa luận này đưa ra một phương pháp tạo chuyển động khuôn mặt trong không
gian hai chiều. Sử dụng đầu vào là một bức ảnh mặt người ở trạng thái bình thường,
phương pháp này sử dụng các phép biến đổi ảnh để thay đổi trạng thái cảm xúc của
khuôn mặt, tạo cho khuôn mặt khả năng nói chuyện bằng tiếng Việt. Phương pháp của
chúng tôi đưa ra chủ yếu dựa trên các phép bóp méo ảnh và cải tiến của nó. Mục tiêu
của chúng tôi là tạo ra một khuôn mặt có những chuyển động chân thực kết hợp với
việc tận dụng ưu điểm của đồ họa hai chiều trong tốc độ xử lý. Kết quả của phương
pháp này là khá khả quan. Khuôn mặt đã có thể biểu lộ được những cảm xúc cơ bản và
mô phỏng được các chữ cái trong tiếng Việt.
II
LỜI CẢM ƠN
Trước hết, em xin được chân thành gửi lời cảm ơn tới thầy T.S Bùi Thế Duy vì
đã chỉ bảo và hướng dẫn tận tình cho em trong suốt quá trình nghiên cứu và làm khóa
luận này.
Em cũng xin được cảm ơn các thầy cô của trường đại học Công Nghệ đã dạy dỗ
và truyền đạt cho em những kiến thức quý báu trong suốt bốn năm học đại học.
Cám ơn các bạn K50CA, K50KHMT và các bạn thuộc phòng tương tác người -
máy vì những cuộc trao đổi thú vị.
Cuối cùng, con xin được gửi tới bố mẹ và toàn thể gia đình những tình cảm thân
thương nhất.
Hà Nội 24/05/2009
Bùi Lê Hùng
III
MỤC LỤC
TÓM TẮT ...................................................................................................................... I
LỜI CẢM ƠN .............................................................................................................. II
MỤC LỤC ................................................................................................................... III
DANH MỤC HÌNH ẢNH .......................................................................................... VI
DANH MỤC BẢNG BIỂU ..................................................................................... VIII
Chƣơng 1
GIỚI THIỆU .................................................................................................................. 1
Chƣơng 2
HOẠT HÌNH KHUÔN MẶT ....................................................................................... 4
2.1.Mở đầu ......................................................................................................................... 4
2.2.Hoạt hình khuôn mặt 3D ............................................................................................... 4
2.2.1.Giới thiệu chung ..................................................................................................... 4
2.2.2.Mô hình hóa khuôn mặt ......................................................................................... 5
2.2.3.Mô hình hóa chuyển động ...................................................................................... 5
2.2.4.Mô hình cơ của Waters .......................................................................................... 7
2.3.Hoạt hình khuôn mặt 2D ............................................................................................... 8
2.3.1.Giới thiệu chung ..................................................................................................... 8
2.3.2.Phương pháp ghi lại video ..................................................................................... 9
2.3.3.Phương pháp dựa trên kỹ thuật 3D...................................................................... 11
2.4.Kết luận ...................................................................................................................... 14
Chƣơng 3
CÁC KỸ THUẬT BÓP MÉO ẢNH........................................................................... 15
3.1.Mở đầu ....................................................................................................................... 15
3.2.Phân loại kỹ thuật bóp méo ảnh theo phương pháp biến đổi ...................................... 16
3.2.1.Bóp méo ảnh thông qua việc sử dụng hàm số ..................................................... 16
3.2.2.Bóp méo ảnh bằng cách chia ảnh thành những đa giác nhỏ ................................ 23
3.2.3.Bóp méo ảnh dùng cho morphing ........................................................................ 28
3.3.Phân loại kỹ thuật bóp méo ảnh theo cách tạo ra ảnh đích ........................................ 29
IV
3.3.1.Mở đầu ................................................................................................................ 29
3.3.2.Bóp méo xuôi ....................................................................................................... 29
3.3.3.Bóp méo ngược ................................................................................................... 31
3.3.4.So sáng bóp méo xuôi và bóp méo ngược ........................................................... 32
3.4.Kết luận ...................................................................................................................... 32
Chƣơng 4
MÔ PHỎNG CHUYỂN ĐỘNG CỦA KHUÔN MẶT DỰA TRÊN CÁC KỸ
THUẬT BÓP MÉO ẢNH ........................................................................................... 34
4.1.Mở đầu ....................................................................................................................... 34
4.2.Mô phỏng chuyển động xoay của xương hàm ............................................................ 34
4.2.1.Chuyển động của xương hàm .............................................................................. 34
4.2.2.Mô phỏng chuyển động........................................................................................ 35
4.3.Mô phỏng chuyển động của các cơ trên khuôn mặt ................................................... 39
4.3.1.Giới thiệu về cơ mặt ............................................................................................. 39
4.3.2.Mô phỏng chuyển động........................................................................................ 41
4.4.Xây dựng dựng hệ mô phỏng các cơ trên khuôn mặt ................................................. 42
4.5.Kết luận ...................................................................................................................... 46
Chƣơng 5
TẠO CẢM XÚC KHUÔN MẶT ................................................................................ 47
5.1.Mở đầu ....................................................................................................................... 47
5.2.Hệ mã hóa các cử động khuôn mặt (Facial Action Coding System - FACS) ............... 47
5.3.Những cảm xúc cơ bản .............................................................................................. 53
5.4.Xây dựng hệ thống các cảm xúc cho nhân vật ........................................................... 54
5.5.Kết luận ...................................................................................................................... 61
Chƣơng 6
XÂY DỰNG KHUÔN MẶT NÓI TIẾNG VIỆT ...................................................... 62
6.1.Mở đầu ....................................................................................................................... 62
6.2.Giới thiệu về âm vị và hình vị ..................................................................................... 62
6.3.Âm vị và hình vị trong tiếng Việt ................................................................................. 63
6.4.Xây dựng tập hợp các hình vị cho khuôn mặt............................................................. 64
6.5.Tạo chuyển động liên tục cho khuôn mặt khi nói chuyện ............................................ 65
V
6.6.Kết luận ...................................................................................................................... 65
Chƣơng 7
TỔNG KẾT .................................................................................................................. 67
TÀI LIỆU THAM KHẢO ........................................................................................... 69
VI
DANH MỤC HÌNH ẢNH
Hình 1 : Hai vợ chồng nhà “chằn tinh” Shrek ................................................................. 1
Hình 2 : Mô hình CANDIDE (1987) và mô hình Greta (2001) ...................................... 5
Hình 3 : Mô hình cơ vector của Waters........................................................................... 7
Hình 4 : Mô hình cơ mảng của Waters ............................................................................ 8
Hình 5 : Mô hình cơ vòng của Waters............................................................................. 8
Hình 6 : Tổng quan của quá trình thu thập âm vị và hình vị ......................................... 10
Hình 7 : Tổng quan của quá trình tổng hợp video mới ................................................. 10
Hình 8 : Cách thức thực hiện ......................................................................................... 12
Hình 9 : Một số kết quả ................................................................................................. 13
Hình 10 : Ví dụ phép kéo .............................................................................................. 17
Hình 11 : Ví dụ phép biến đổi Affine ............................................................................ 18
Hình 12 : Ví dụ phép chiếu ............................................................................................ 18
Hình 13 : Ảnh ban đầu ................................................................................................... 19
Hình 14 : Ảnh bị biến đổi bởi công thức r = sqrt (r) .................................................... 20
Hình 15 : Ảnh bị biến đổi bởi công thức r = 2 arcsin(r) / p ......................................... 20
Hình 16 : Ảnh bị biến đổi bởi công thức r = sin (pi. r / 2) ........................................... 21
Hình 17 : Ảnh bị biến đổi bởi công thức r = r2 ............................................................. 21
Hình 18 : Ảnh bị biến đổi bởi công thức x = sin(pi.x / 2) và y = sin(pi.y / 2) .............. 22
Hình 19 : Ảnh bị biến đổi bởi công thức x = 2 asin(x) / pi và y = 2 asin(y) / pi ........... 22
Hình 20 : Ảnh gốc và ảnh bị biến đổi ............................................................................ 23
Hình 21 : Một số kiểu biến đổi ảnh (kiểu 'mắt cá', kiểu 'xoáy', kiểu 'mưa') .................. 23
Hình 22 : Hệ tọa độ Barycentric với tam giác .............................................................. 24
Hình 23 : Xác định tọa độ điểm tương ứng với P‟ trên ảnh ban đầu............................. 25
Hình 24 : Xác định tọa độ các điểm bằng hệ tọa độ Barycentric .................................. 25
Hình 25 : Phương pháp bóp méo tứ giác ....................................................................... 26
Hình 26 : Ảnh ban đầu với các vector để bóp méo ảnh ................................................ 27
Hình 27 : Ảnh sau khi bóp méo theo các vector ........................................................... 27
Hình 28 : Bức ảnh morphing giữa George.W.Bush và Arnold Schwarzenegger ......... 28
Hình 29 : Phương pháp morphing ................................................................................. 29
Hình 30 : Bóp méo xuôi cho ảnh ................................................................................... 30
Hình 31 : Mô tả thuật toán bóp méo xuôi ...................................................................... 30
Hình 32 : Vấn đề của bóp méo xuôi .............................................................................. 31
Hình 33 : Bóp méo ngược cho ảnh ................................................................................ 31
Hình 34 : Vấn đề của bóp méo ngược ........................................................................... 32
Hình 35 : Điểm xoay xương hàm .................................................................................. 35
Hình 36 : Ước lượng trục quay của hàm ....................................................................... 36
Hình 37 : Môi của nhân vật ........................................................................................... 37
VII
Hình 38 : Hình ảnh của môi dưới sau phép xoay .......................................................... 38
Hình 39 : Ảnh trước và sau khi thực hiện kỹ thuật bóp méo môi trên .......................... 38
Hình 40 : Môi mở ra với các góc ϕ = 0, ϕ = pi / 20, ϕ = pi / 15, ϕ = pi / 10 ................. 39
Hình 41 : Trạng thái ban đầu - Trước khi sử dụng phép bóp méo cho cằm - Sau khi sử
dụng phép bóp méo cho cằm ......................................................................................... 39
Hình 42 : Các cơ trên khuôn mặt (khi nhìn thẳng) ........................................................ 40
Hình 43 : Các cơ trên khuôn mặt (khi nhìn ngang) ....................................................... 40
Hình 44 : Phép bóp méo tứ giác tạo nụ cười nửa miệng với cơ khóe miệng ................ 41
Hình 45 : Phép bóp méo tứ giác làm mắt mở rộng hơn với cơ mắt .............................. 41
Hình 46 : Một số hình dáng của môi ............................................................................. 42
Hình 47 : Hệ các cơ được chương trình xây dựng dựa theo .......................................... 42
Hình 48 : Tác động của 2 cơ nén môi trên và môi dưới ................................................ 44
Hình 49 : Tác động của cơ kéo khóe miệng xuống ....................................................... 44
Hình 50 : Tác động của cơ kéo khóe miệng lên ............................................................ 44
Hình 51 : Tác động của cơ kéo cánh mũi lên ................................................................ 44
Hình 52 : Tác động của cơ nâng lông mày bên mắt trái ................................................ 44
Hình 53 : Tác động của cơ kéo lông mày xuống ........................................................... 44
Hình 54: Tác động của cơ thu nhỏ mắt lại .................................................................... 45
Hình 55 : Tác động của cơ cằm ..................................................................................... 45
Hình 56 : Mức độ co giãn của cơ kéo khóe môi xuống từ trạng thái bình thường cho
đến trạng thái giãn tối đa ............................................................................................... 45
Hình 57 : Cảm giác ngạc nhiên 50% và 100% .............................................................. 55
Hình 58 : Cảm giác sợ hãi 50% và 100% ...................................................................... 56
Hình 59 : Cảm giác ghê tởm 70% và 100% .................................................................. 57
Hình 60 : Cảm giác tức giận 40% và 100% .................................................................. 58
Hình 61 : Cảm giác hạnh phúc 50% và 100% ............................................................... 59
Hình 62 : Cảm giác buồn bã 60% và 100% .................................................................. 60
Hình 63 : Hình thang nguyên âm .................................................................................. 63
Hình 64 : Các hình vị tương ứng của a|ă|â và e|ê và o ................................................. 64
Hình 65 : Các hình vị tương ứng của ô và ơ và oo ........................................................ 64
Hình 66 : Các hình vị tương ứng của u và ư ................................................................. 65
Hình 67 : Các hình vị tương ứng của b|m|p và v|ph và các phụ âm còn lại ................. 65
VIII
DANH MỤC BẢNG BIỂU
Bảng 1 : Hệ Thống Các Cơ Được Sử Dụng Trong Chương Trình ............................... 43
Bảng 2 : Hệ Mã Hóa Các Cử Động Khuôn Mặt (FACS) .............................................. 48
Bảng 3 : Danh Sách Các AU Tạo Nên Các Cảm Xúc Cơ Bản ..................................... 53
- 1 -
Chƣơng 1
GIỚI THIỆU
Dẫn nhập
Năm 2001, khi phần đầu tiên của bộ phim hoạt hình Shrek ra đời, tổng doanh thu
mà bộ phim đạt được là gần 500 triệu đô. Năm 2004, Shrek II ra mắt và thu về hơn
900 triệu. Ba năm sau đó, Shrek III tiếp tục thắng lợi lớn và mang lại cho đoàn làm
phim gần 800 triệu đô la.
Hình 1 : Hai vợ chồng nhà “chằn tinh” Shrek
Điều gì khiến cho gã chằn tinh xấu xí và đáng sợ như Shrek lại có thể giành được
nhiều tình cảm từ khán giả đến vậy ? Chúng ta thường xuyên xem những bộ phim do
con người đóng, thật khó để có thể tìm được một diễn viên nào có ngoại hình như
Shrek mà lại có thể mang về một loạt ba phim với doanh thu lên đến hàng trăm triệu
đô. Câu trả lời có lẽ nằm ở nhiều khía cạnh như tính cách tốt bụng, bản chất chân thật
của Shrek nhưng có lẽ yếu tố quan trong nhất chính là chúng ta cảm thấy đồng cảm
với Shrek. Nhìn vào bức ảnh trên, thật khó để không có cảm tình với anh chàng chằn
tinh xấu xí nhưng tốt bụng này.
Cùng với sự thành công của một số bộ phim hoạt hình khác như Gia Đình Nhà
Siêu Nhân (The Incredibles), Robot biết yêu (Wall-e)… lĩnh vực hoạt hình mà trung
tâm là việc tạo ra các nhân vật hoạt hình đang nhận được sự quan tâm lớn.
- 2 -
Cũng liên quan đến các nhân vật ảo, nhưng không phải nhân vật hoạt hình mà là
các nhân vật trong máy tính. Thế giới của các trò chơi nhập vai đang phát triển hơn lúc
nào hết khi người chơi bật máy tính lên là có thể giao tiếp với các nhân vật ảo mà cảm
giác như đang sống trong thế giới thực (Second Life, The Sims, Fallout 3). Hãng
Umanify đã đưa ra một ứng dụng cho máy Nokia khi giúp cho người dùng mỗi khi
xuất hiện một tin nhắn lại có một nhân vật xuất hiện đọc tin cho bạn.
Có thể nói, ứng dụng của việc xây dựng lên các nhân vật ảo trong cuộc sống
ngày nay là vô cùng lớn. Để xây dựng lên một nhân vật ảo cần sự kết hợp của nhiều
lĩnh vực như trí tuệ nhân tạo, đồ họa máy tính, xử lý ngôn ngữ tự nhiên…
Đối với lĩnh vực đồ họa máy tính, việc xây dựng lên một nhân vật như Shrek đòi
các thiết bị cấu hình cao và nhiều công sức của con người. Bởi người xem muốn thấy
một nhân vật có cách nói chuyện truyền cảm, những cử động uyển chuyển và có khả
năng bộc lộ ra những cảm xúc chân thực và tinh tế. Còn với nhân vật như của
Umanify, yêu cầu đầu tiên là nhân vật có thể nói chuyện được và có khả năng chạy
trên nền tảng các thiết bị không có cấu hình cao như điện thoại di động.
Để xây dựng nên một nhân vật ảo toàn diện, chúng ta cần xây dựng ba phần như
sau :
Một khuôn mặt có khả năng nói chuyện và bộc lộ những cảm xúc
Một cơ thể có khả năng thể hiện những cử chỉ
Một trí tuệ bao gồm những suy nghĩ, tình cảm, động lực, hành vi, tính
cách… của nhân vật
Lĩnh vực đồ họa máy tính giải quyết bài toán xây dựng khuôn mặt và cơ thể.
Trong đó khuôn mặt luôn nhận được nhiều sự quan tâm hơn. Lý do là bởi khuôn mặt
là nơi giao tiếp, nói chuyện và bộc lộ những cảm xúc. Nhìn vào khuôn mặt ta có thể
thu được nhiều thông tin hơn. Xét cho cùng, khi quan sát một nhân vật ảo, chúng ta
không quan sát tay chân của nhân vật nhiều hơn khuôn mặt của nhân vật đó.
Có nhiều phương pháp để tạo chuyển động cho khuôn mặt đặc biệt là trên
không gian 3D. Tuy vậy, các phương pháp được áp dụng ngày nay trên không gian 3D
đều đòi hỏi những xử lý tính toán phức tạp yêu cầu máy cấu hình cao về tốc độ xử lý
và card màn hình mạnh.
Các phương pháp 2D thì ngược lại, tạo khuôn mặt chuyển động trong không
gian 2D không đòi hỏi máy cấu hình cao và tốc độ đường truyền lớn, dẫn đến dễ triển
khai trên nền web và các ứng dụng di động. Vấn đề của các phương pháp 2D là phải
cải thiện được tính chân thực cho việc chuyển động trên khuôn mặt.
Giới thiệu về khóa luận
Trong khóa luận này, chúng tôi đưa ra một phương pháp tạo chuyển động cho
khuôn mặt trong không gian 2D. Mục tiêu của chúng tôi là tạo ra một khuôn mặt có
chuyển động chân thực nhất có thể đồng thời vẫn tận dụng được ưu điểm của các
phương pháp 2D trong tốc độ xử lý.
- 3 -
Chúng tôi sử dụng đầu vào là bức ảnh khuôn mặt của một người, phương pháp
của chúng tôi sử dụng các phép biến đổi ảnh để thay đổi trạng thái cảm xúc và làm cho
người trong bức ảnh có thể nói chuyện được.
Cấu trúc của khóa luận
Chương 2 giới thiệu một cách tổng quan về các cách tạo chuyển động cho
khuôn mặt được áp dụng hiện nay cả trên không gian 2D và 3D. Cùng với việc giới
thiệu, chương này cũng đưa ra những nhận xét về các ưu nhược điểm của từng phương
pháp.
Chương 3 giới thiệu về các kỹ thuật bóp méo ảnh. Các kỹ thuật bóp méo ảnh là
một loại của các kỹ thuật biến đổi ảnh. Chương này sẽ giới thiệu một cách tổng quan
về các kỹ thuật bóp méo ảnh, trong đó có những kỹ thuật sẽ được áp dụng trong
phương pháp của chúng tôi. Chương này cũng giới thiệu về một kỹ thuật gọi là
morphing.
Chương 4 mô phỏng chuyển động của khuôn mặt dựa trên kỹ thuật bóp méo
ảnh. Dựa trên các kỹ thuật bóp méo ảnh ở chương 3, chương 4 là nơi chúng tôi giới
thiệu kết quả các thử nghiệm của mình khi sử dụng các kỹ thuật bóp méo ảnh để tạo
chuyển động cho khuôn mặt.
Chương 5 giới thiệu cách tạo cảm xúc cho khuôn mặt. Sử dụng kết quả của
chương 4, chương 5 kết hợp các chuyển động diễn ra trên khuôn mặt để làm khuôn
mặt biểu lộ những cảm xúc khác nhau. Hệ cảm xúc mà chúng tôi sử dụng là hệ cảm
xúc của Ekman [Ekman 1972] bao gồm sáu cảm xúc cơ bản là : ngạc nhiên, sợ hãi, tức
giận, ghê tởm, hạnh phúc và buồn bã.
Chương 6 giới thiệu về các công việc chúng tôi đã làm được trong nỗ lực làm
cho khuôn mặt của mình có khả năng nói chuyện bằng tiếng Việt
Chương 7 tổng kết lại toàn bộ khóa luận và đưa ra phương hướng phát triển
trong tương lai cho phương pháp của chúng tôi
- 4 -
Chƣơng 2
HOẠT HÌNH KHUÔN MẶT
2.1.Mở đầu
Hoạt hình khuôn mặt (facial animation) là một lĩnh vực của đồ họa máy tính, nó
mô phỏng các chuyển động diễn ra trên khuôn mặt khi nhân vật nói chuyện hoặc biểu
lộ cảm xúc. Nghĩ đến hoạt hình khuôn mặt là người ta nghĩ đến những ứng dụng của
nó trong phim ảnh, hoạt hình và trò chơi điện tử. Được bắt đầu nghiên cứu từ những
năm đầu của thập niên 70, cho đến nay, hoạt hình khuôn mặt đã đạt được nhiều bước
tiến đáng kể. Nhưng vẫn còn đó những giới hạn trong các phương pháp được ứng dụng
hiện nay của hoạt hình khuôn mặt, điều đó đòi hỏi con người phải tiếp tục nghiên cứu
và phát triển để hoàn thiện hơn lĩnh vực này.
Ở chương 1, chúng tôi giới thiệu một cách tổng quan về hoạt hình khuôn mặt.
Chúng tôi chia chương này ra làm hai phần : hoạt hình khuôn mặt 3D và hoạt hình
khuôn mặt 2D.
Ở phần thứ nhất, chúng tôi sẽ giới thiệu một cách tổng quan về hoạt hình khuôn
mặt 3D. Chúng tôi sẽ giới thiệu từng bước để tạo hoạt hình khuôn mặt 3D. Với mỗi
bước, chúng tôi cũng giới thiệu các phương pháp thực hiện. Cùng với việc giới thiệu,
chúng tôi cũng đưa ra những đánh giá về ưu và nhược điểm của từng phương pháp.
Trong phần giới thiệu về hoạt hình khuôn mặt 3D, chúng tôi cũng đồng thời giới thiệu
về mô hình cơ của Waters [Waters 87]. Đây là một mô hình rất nổi tiếng và được ứng
dụng rộng rãi trong hoạt hình khuôn mặt.
Ở phần thứ hai, chúng tôi sẽ giới thiệu về hoạt hình khuôn mặt 2D. Các kỹ thuật
tạo hoạt hình khuôn mặt 2D không được phong phú như hoạt hình khuôn mặt 3D. Có
hai phương pháp nổi tiếng hiện nay để tạo hoạt hình khuôn mặt 2D, đó là phương pháp
ghi lại video [Bregler 1997] và phương pháp dựa trên kỹ thuật 3D [Blanz 2003]. Vì
chương trình của chúng tôi đang phát triển là tạo chuyển động trên khuôn mặt 2D nên
trong chúng tôi sẽ cố gắng giới thiệu một cách chi tiết về hai phương pháp nói trên. Đó
cũng là điều kiện để chúng tôi có thể so sánh các phương pháp hiện tại với phương
pháp của mình.
2.2.Hoạt hình khuôn mặt 3D
2.2.1.Giới thiệu chung
Để tạo hoạt hình khuôn mặt trong không gian ba chiều, công việc mà ta phải làm
là điều khiển một lưới 3D mô phỏng mô hình của khuôn mặt. Mục đích của việc làm
này là để có thể thay đổi được trạng thái mà khuôn mặt biểu lộ ra ngoài. Có rất nhiều
hướng tiếp cận, từ đơn giản như mô hình thời gian thực CANDIDE [Rydfalk 1987]
cho đến những mô hình phức tạp như mô hình dựa trên các lớp cơ mặt của [Lee 1995]
hay mô hình Greta của [Pasquariello & Pelachaud 2001]
- 5 -
Hình 2 : Mô hình CANDIDE (1987) và mô hình Greta (2001)
Để tạo được hoạt hình khuôn mặt trong không gian ba chiều, có hai bước phải
làm. Thứ nhất là mô hình hóa khuôn mặt, thứ hai là mô hình hóa chuyển động. Sau
đây chúng tôi sẽ giới thiệu về hai bước này.
2.2.2.Mô hình hóa khuôn mặt
Khuôn mặt của con người là một lưới 3D phức tạp và đòi hỏi sự linh hoạt. Nó
chứa cả những nếp nhăn và những chỗ lồi lõm trên khuôn mặt. Thách thức của việc
xây dựng mô hình lưới này chính là việc phải làm sao cho nó có thể chuyển động
nhanh nhưng vẫn tạo cảm giác chân thật.
Một hướng giải quyết là sử dụng một lưới các đa giác xấp xỉ bề mặt của khuôn
mặt. Khi đó để khuôn mặt có thể chuyển động, ta chỉ cần điều chỉnh các đỉnh trên lưới
bề mặt này. Cách tiếp cận này được giới thiệu đầu tiên bởi [Gouraud 1971]. Phương
pháp này lấy ra một số điểm trên bề mặt của khuôn mặt và nối những điểm đó với
nhau để tạo ra một lưới các đa giác. Tiếp đó phương pháp này được phát triển và ứng
dụng bởi [Parke 1972 | Rydfalk 1987 | Pasquariello & Pelachaud 2001].
Để mô phỏng được chuyển động của khuôn mặt, người ta thêm vào dưới lưới bề
mặt lớp mỡ, lớp cơ và cả mô hình xương sọ [Kahler 2001 | Lee 1995 | Terzopoulos &
Waters 1990]
Có ba cách để mô hình hóa khuôn mặt. Thứ nhất là sử dụng các công cụ hỗ trợ
như AutoCad hay 3DMax. Đây là một công việc đòi hỏi rất nhiều công sức. Phương
pháp thứ hai là sử dụng một số bức ảnh của nhân vật ở các tư thế khác nhau, sau đó
chọn ra các điểm đặc trưng trên bức ảnh để tìm ra mối liên hệ giữa các bức ảnh và mô
hình 3D. Phương pháp cuối cùng sử dụng một máy scan laser để scan khuôn mặt của
người thật và sử dụng kết quả đó để xây dựng nên khuôn mặt. Đây là phương pháp
hiệu quả nhất khi xét về độ chân thực của mô hình khuôn mặt.
2.2.3.Mô hình hóa chuyển động
- 6 -
Như đã nói trong phần trước, khuôn mặt được chuyển động bằng cách điều khiển
các đỉnh đa giác của lưới bề mặt hoặc các các điểm điều khiển. Có bốn cách để điều
khiển lưới bề mặt, bao gồm phương pháp dựa trên các hình đầu và cuối, phương pháp
tham số, phương pháp giả cơ và phương pháp mô hình hóa cơ mặt. Chúng tôi sẽ giới
thiệu qua về các phương pháp này cùng với những ưu nhược điểm của nó.
Phƣơng pháp dựa trên các hình đầu và cuối
Phương pháp dựa trên các hình đầu và cuối có thể hiểu là một chương trình có
sẵn hình đầu và hình cuối, phương pháp sẽ tạo ra chuyển động liên tục giữa hai hình.
Để thực hiện được, phương pháp sử dụng các hàm nội suy để sinh ra các hình nằm
giữa hình đầu và hình cuối. Các hình đầu và cuối trong trường hợp này có thể hiểu là
các trạng thái khác nhau của khuôn mặt.
Ưu điểm của phương pháp này là nó có thể tạo ra các chuyển động một cách dễ
dàng và nhanh chóng. Nhược điểm của nó là không thể tạo ra bất kỳ trạng thái nào của
khuôn mặt nằm ngoài các trạng thái thuộc tập các hình đầu và cuối.
Phƣơng pháp tham số
Phương pháp tham số được đưa ra đầu tiên bởi [Parke 1974] để khắc phục một
số giới hạn của phương pháp dựa trên các hình đầu và cuối. Phương pháp này điều
khiển khuôn mặt bằng một số các tham số điều khiển. Các tham số này được gắn với
các vùng riêng biệt để tạo ra các biến dạng khu vực [Hoch 1994].
Khác với phương pháp dựa trên các hình đầu và cuối, phương pháp tham số cho
phép tạo ra thay đổi trên các vùng của khuôn mặt. Phương pháp này cung cấp một số
lượng lớn các trạng thái khuôn mặt mà không đòi hỏi tính toán phức tạp. Tuy nhiên,
phương pháp này cũng có một số giới hạn. Thứ nhất là việc lựa chọn tập các tham số
tham số phụ thuộc vào cấu trúc lưới của khuôn mặt, vì vậy các tham số không đủ tổng
quát để áp dụng cho các cấu trúc của khuôn mặt khác. Thứ hai là đến nay, người ta vẫn
chưa thể tạo ra một tập đầy đủ các tham số để sinh ra mọi chuyển động cho khuôn mặt.
Thứ ba là rất khó để phương pháp này có thể giải quyết được khi các tham số cùng tác
động lên một đỉnh. Vì các lý do đó, phương pháp này rất ít khi được sử dụng trên thực
tế.
Phƣơng pháp giả cơ
Phương pháp này biến đổi lưới khuôn mặt bằng cách mô phỏng các chuyển
động của cơ mặt nhưng không quan tâm đến các chuyển động ở dưới của khuôn mặt.
Kỹ thuật này bao gồm phương pháp chuyển động cơ ảo [Magnenat-Thalmann 1988],
phương pháp biến dạng tự do [Kalra 1992 | Pasquariello & Pelachaud 2001]
Phương pháp giả cơ không cung cấp một mô phỏng chính xác các cơ mặt và các
biểu hiện trên da. Do không quan quan tâm đến những chuyển động dưới da mặt,
phương pháp này không tạo ra được những chỗ lồi lõm, các nếp nhăn trên khuôn mặt.
Phương pháp này cũng không chú ý lắm đến việc giải quyết các va chạm giữa các cơ.
Phƣơng pháp mô hình hóa cơ mặt
Dựa trên giải phẫu học, phương pháp mô hình hóa cơ mặt sử dụng mô hình đa
lớp của da và cơ để điều khiển lưới khuôn mặt. Phương pháp này đưa ra chuyển động
- 7 -
của các cơ với mục đích mô hình hóa biến dạng của da. Ở phần tới của chương này
chúng tôi sẽ giới thiệu qua về mô hình cơ của Waters [Waters 1987 | Parke & Waters
1996]. Đây là một mô hình cực kỳ thành công và đã được áp dụng rất phổ biến trên thế
giới
Phương pháp mô hình hóa cơ mặt đạt được mức độ chân thật nhất trong các
phương pháp, nhưng nó phải trả giá bằng sự phức tạp trong tính toán. Vì vậy phương
pháp này không được sử dụng rộng rãi trong các ứng dụng thời gian thực. Ngoài ra
phương pháp này cũng đòi hỏi con người phải điều chỉnh rất nhiều để tạo được một
khuôn mặt
2.2.4.Mô hình cơ của Waters
Mô hình cơ mặt của Waters [Waters 1987 | Parke & Waters 1996] là một mô
hình rất thành công và được ứng dụng phổ biến [Smith 2006 | Choe 2001]. Waters chia
cơ mặt ra làm ba loại : cơ vector, cơ mảng và cơ vòng.
Các cơ vector của Waters chiếm số lượng nhiều nhất trong số các loại cơ. Cơ
vector có tác dụng kéo lớp da trên khuôn mặt theo một hướng nhất định. Mỗi cơ vector
tác động lên một vùng xác định trên khuôn mặt. Mô hình cơ vector được mô tả như
hình vẽ dưới đây
Hình 3 : Mô hình cơ vector của Waters
Cơ mảng chứa các thớ các cơ nằm song song với nhau trên vùng trán. Khi co lại,
lớp da trên khuôn mặt không chỉ bị ảnh hưởng bởi một mà bởi toàn bộ các thớ cơ của
cơ mảng. Đây là các cơ tạo ra các nếp nhăn trên trán. Mô hình cơ mảng của Waters
được biểu diễn như hình vẽ dưới đây
- 8 -
Hình 4 : Mô hình cơ mảng của Waters
Cơ vòng co lại quanh một điểm ảo có tác dụng kéo toàn bộ mặt phẳng xung
quanh nó. Ví dụ một số cơ vòng là cơ miệng, cơ mắt. Dưới đây là hình biểu diễn mô
hình cơ vòng của Waters.
Hình 5 : Mô hình cơ vòng của Waters
2.3.Hoạt hình khuôn mặt 2D
2.3.1.Giới thiệu chung
Ở phần này, chúng tôi sẽ giới thiệu về hai phương pháp tạo hoạt hình khuôn
mặt 2D. Đó là phương pháp ghi lại video và phương pháp dựa trên kỹ thuật 3D. Sau
- 9 -
khi giới thiệu về mỗi phương pháp, chúng tôi đều đưa ra những nhận xét về ưu và
nhược điểm của từng phương pháp này.
2.3.2.Phƣơng pháp ghi lại video
2.3.2.1.Giới thiệu phƣơng pháp
Phương pháp này được giới thiệu bởi Christoph Bregler [Bregler 1997] và sau đó
được nhiều tác giả khác ứng dụng và phát triển [Ezzat 1998 | Yang 1999 | Chuang
2005 | Vlasic 2005].
Phương pháp ghi lại video sử dụng môt thước phim có sẵn để chương trình tự
động tạo ra một video mới. Trong video này, nhân vật trong thước phim ban đầu nói
những điều mà họ không hề nói trong đoạn video gốc. Kỹ thuật này đã được ứng dụng
trong phim ảnh và âm nhạc (ví dụ trong việc lồng tiếng).
Phương pháp ghi lại video tự động đánh dấu các âm vị trong dữ liệu huấn luyện
và đoạn audio mới được đưa vào. Sau đó phương pháp sắp xếp lại các hình vị sao cho
khớp với dãy âm vị của đoạn audio mới. Trong trường hợp một âm vị nào đó không có
một hình vị tương ứng, phương pháp chọn ra một xấp xỉ gần nhất. Cuối cùng, một dãy
các hình vị được ghép lại tạo nên một đoạn video mới.
Để tạo ra các chuyển động giữa các hình vị, phương pháp ghi lại video lấy ra
những điểm đặc trưng trên miệng của nhân vật. Sau đó, phương pháp sử dụng kỹ thuật
morphing để tạo ra chuyển động giữa các hình dáng của miệng. Cuối cùng phương
pháp kết hợp các dãy chuyển động này để tạo ra được video mới.
Hai bước cơ bản của phương pháp ghi lại video là : thu thập âm vị và hình vị;
tổng hợp video mới.
2.3.2.2.Thu thập âm vị và hình vị
Phương pháp ghi lại video học từ thước phim mẫu cách khuôn mặt con người
thay đổi trong quá trình nói. Chương trình học được miệng của một người trông như
thế nào khi người đó nói chuyện bằng cách tạo ra một cơ sở dữ liệu.
Để lấy mẫu một người, phương pháp ghi lại video cần một tập các bức ảnh vẽ
tay. Đây là công việc duy nhất mà con người phải thực hiện trong cả quá trình thực
hiện. Tuy vậy, ngay cả quá trình này cũng có thể thay thế bằng cách sử dụng các mẫu
có sẵn đã được đưa ra trong [Kirby 1990, Covell 1996].
Phương pháp ghi lại video thu thập âm vị bằng cách áp dụng phương pháp ghép
nối tổng hợp tiếng nói của [Moulines 1990]. Phương pháp này phân tích một tập các
đoạn nói chuyện, chọn ra những âm vị mẫu và lấy trung bình các âm vị này. Sau đó,
phương pháp này tổng hợp đoạn audio mới bằng cách ghép nối những âm vị thích hợp.
Sau quá trình thay đổi âm vị cho phù hợp với cường độ và khoảng thời gian, kết quả
của đoạn audio mới khá là tự nhiên. Việc thu thập hình vị cũng làm tương tự.
- 10 -
Hình 6 : Tổng quan của quá trình thu thập âm vị và hình vị
Hình 6 mô tả quá trình thu thập âm vị và hình vị. Phương pháp ghi lại video sử
dụng một đoạn audio để chia video ra thành các âm vị. Các kỹ thuật phân tích ảnh giúp
tìm ra hướng của đầu, hình dáng, vị trí của miệng và cằm để tìm ra các hình vị tương
ứng. Phương pháp ghi lại video chọn từ video mẫu các hình vị phù hợp để tổng hợp
một video mới khớp với bất kỳ đoạn audio nào.
2.3.2.3. Tổng hợp video mới
Ở bước này này, phương pháp tự động thu thập các dãy hình vị phù hợp với các
âm vị, trộn lẫn chúng bằng các kỹ thuật morphing. Kết quả là một video mới với môi
và cằm chuyện động phù hợp với đoạn audio mới được đưa vào.
Hình 7 : Tổng quan của quá trình tổng hợp video mới
- 11 -
Hình 7 là tổng quan của quá trình tổng hợp. Phương pháp ghi lại video tách đoạn
audio và sử dụng nó để lấy ra các âm vị. Dựa trên kết quả của bước thu thập, các bức
ảnh của miệng được lấy ra và morphing để tạo ra gương mặt chuyển động
2.3.2.4. Đánh giá phƣơng pháp
Phương pháp này cùng với những cải tiến về sau của nó cho ra những đoạn video
khá thật và tự nhiên. Tuy vậy phương pháp này cũng có một số nhược điểm : để nhân
vật có thể nói chuyện được, ảnh của mọi vị trí cần có của miệng cần phải có sẵn.
Ngoài ra, kết quả trả về bị cố định vào một tư thế phụ thuộc vào các bức ảnh được lấy
từ đoạn video gốc. Cuối cùng, việc morphing giữa các vị trí khác nhau của môi và
răng cũng là một công việc không hề dễ dàng.
2.3.3.Phƣơng pháp dựa trên kỹ thuật 3D
2.3.3.1.Giới thiệu phƣơng pháp
Phương pháp mà chúng tôi giới thiệu sau đây được đưa ra bởi Volker Blanz
[Blanz 2003].
Phương pháp này có thể áp dụng cho bất kỳ khuôn mặt nào trong một bức ảnh
hoặc một đoạn video. Kỹ thuật này không cần dữ liệu mẫu của miệng nhân vật. Bức
ảnh được tạo chuyển động cũng không bị giới hạn ở bất kỳ vị trí cố định nào. Phương
pháp này có thể tạo ra những chuyển động của đầu và cho phép nhân vật nói chuyện.
Để có thể làm được được như vậy, hệ thống tạo chuyển động miệng và các cảm xúc
khuôn mặt thông qua một chuyển động có sẵn của người khác.
Hệ thống dựa trên một biểu diễn chung của các khuôn mặt và cảm xúc khác
nhau trong một không gian vector. Không gian này được tính bằng cách scan nhiều
khuôn mặt trung lập và các cảm xúc khác nhau. Mô hình này được ứng dụng vào ảnh
thực và xử lý video bởi một thuật toán phân tích và tổng hợp : Hệ thống tự động tính
toán hình khối 3D và tất cả các thông số phù hợp (như tư thế nhân vật) từ một bức ảnh
duy nhất. Sau khi tạo ra các chuyển động mới cho miệng, khuôn mặt 3D được đưa trở
lại ảnh gốc.
2.3.3.2.Cách thức thực hiện
Phương pháp này dựa trên một không gian vector của các hình khối 3D và các bề
mặt. Các hình khối và bề mặt được tính từ tập dữ liệu gồm các mẫu scan các cảm xúc
và các khuôn mặt trung lập của khoảng vài trăm người. Trong không gian vector này,
cảm xúc có thể thay đổi liên tục. Một thuật toán khớp có tác dụng cực tiểu hóa sự khác
biệt giữa bức ảnh đầu vào và bức ảnh tổng hợp, cho phép tính ra được hình khối 3D từ
một bức ảnh hay một hình ảnh của video. Thuật có thể áp dụng cho cả các khuôn mặt
không ở trạng thái trung lập. Trong trường hợp đó, chương trình có thể tạo lại trạng
thái trung tập cho khuôn mặt. Để tạo ra những chuyển động mới, chương trình áp dụng
các thay đổi trong không gian 3D, sau đó đưa nó trở lại vào bức ảnh gốc (hoặc đoạn
video).
Không gian vector cho việc chuyển động miệng là mở rộng của phần tạo cảm
xúc khuôn mặt [Vetter 1998 | Blanz 1999]. Việc xây dựng nên không gian vector này
là rất khó khăn, đòi hỏi thêm nhiều kỹ thuật khác. Một số phương pháp đã dựng nên
- 12 -
được các không gian vector cho cảm xúc khuôn mặt [Kalberer 2001 | Pighin 2002 |
Reveret 2001]. Phương pháp này lấy các vector bằng cách scan các đỉnh của một lưới
có độ phân giải cao, lưới này chứa cả những nếp nhăn và các đặc điểm tinh vi, chi tiết.
Để tạo chuyển động cho khuôn mặt trên video, phương pháp lần theo chuyển
động của đầu, chuyển động của miệng và các cảm xúc khuôn mặt. Không dùng đến
các đặc trưng khuôn mặt hay những ràng buộc thị giác, phương pháp này cố gắng cực
tiểu hóa sự khác biệt giữa những bức ảnh trong một vòng lặp phân tích – tổng hợp
[Blanz 1999 | Pighin 2002 | Reveret 2001].
Hình 8 : Cách thức thực hiện
Trong không gian vector của khuôn mặt, những biểu lộ cảm xúc được tính toán
thông qua sự khác biệt giữa hai scan của cùng một người (hàng đầu tiên). Sự khác biệt
này được áp dụng vào cho khuôn mặt 3D ở trạng thái bình thường. Để thay đổi cảm
xúc của Mona Lisa (hàng thứ 2), phương pháp tạo ra cấu trúc khuôn mặt Mona Lisa
(hàng thứ 3), thêm cảm xúc vào khuôn mặt và cuối cùng đưa khuôn mặt 3D đó vào
trong bức tranh (hàng thứ 2, bên phải)
- 13 -
2.3.3.3.Kết quả thực hiện
Dưới đây là một số kết quả thực hiện tạo chuyển động, nói chuyện cho khuôn
mặt. Chúng được áp dụng với một số bức tranh khá nổi tiếng trên thế giới. Các nhân
vật trong các bức tranh này có các tư thế rất khác nhau.
Hình 9 : Một số kết quả
2.3.3.4.Đánh giá phƣơng pháp
Ưu điểm của phương pháp này là thật và linh hoạt. Phương pháp cũng chỉ sử
dụng rất ít dữ liệu từ nhân vật được tạo chuyển động (chỉ một bức ảnh hoặc một
video). Bức ảnh và video đó có thể xuất hiện ở các điều kiện ánh sáng và tư thế khác
nhau.
- 14 -
Nhược điểm của phương pháp này là toàn bộ tính toán của phương pháp là trên
3D. Cộng với việc phải xây dựng không gian vector cho khuôn mặt, phương pháp này
đòi hỏi những tính toán phức tạp.
2.4.Kết luận
Ở chương này, chúng tôi đã giới thiệu tổng quan về các kỹ thuật hoạt hình khuôn
mặt. Chúng tôi chia hoạt hình khuôn mặt ra làm hai loại là hoạt hình khuôn mặt 3D và
hoạt hình khuôn mặt 2D.
Để tạo được hoạt hình khuôn mặt 3D, có hai việc phải làm là mô hình hóa
khuôn mặt và mô hình hóa chuyển động. Ứng với mỗi việc này, người ta lại đề xuất ra
nhiều cách làm khác nhau. Mỗi cách làm đều có những ưu điểm và nhược điểm của
riêng nó.
Để giới thiệu về hoạt hình khuôn mặt 2D, chúng tôi đưa ra hai phương pháp nổi
tiếng hiện nay là phương pháp ghi lại video và phương pháp dựa trên kỹ thuật 3D.
Cách mà hai phương pháp này thực hiện là rất khác nhau. Xét một cách tổng thể,
phương pháp dựa trên kỹ thuật 3D trội hơn phương pháp ghi lại video ở nhiều mặt.
Nhưng nó lại đòi hỏi một khối lượng tính toán lớn.
Thật khó để có thể tìm ra một phương pháp hoàn hảo. Trong lĩnh vực đồ họa
máy tính nói chung và hoạt hình khuôn mặt nói riêng, sự chân thực và độ phức tạp
trong tính toán luôn có liên quan với nhau. Công việc của chúng ta là tăng độ chân
thực cho chuyển động và giảm độ phức tạp trong tính toán xuống mức nhỏ nhất có thể.
- 15 -
Chƣơng 3
CÁC KỸ THUẬT BÓP MÉO ẢNH
3.1.Mở đầu
Bóp méo ảnh (image-warping) là một quá trình xử lý khiến cho một phần hay
toàn bộ bức ảnh bị biến đổi. Đây là kỹ thuật được ứng dụng nhiều trong việc chỉnh sửa
ảnh, tạo các hiệu ứng đặc biệt trong trò chơi điện tử, phim ảnh và hoạt hình.
Bóp méo ảnh có thể hiểu là một phép ánh xạ một số điểm trên một bức ảnh đến
vị trí khác mà không làm thay đổi tính chất của điểm (màu sắc, độ sáng tối…). Phép
ánh xạ này có đầu vào là (một phần) ảnh gốc và kết quả trả ra là (một phần) ảnh đích
đã bị biến đổi.
Kỹ thuật bóp méo ảnh bao gồm nhiều phép biến đổi ảnh. Từ những phép biến
đổi đơn giản như phép tịnh tiến, phép quay cho đến những phép biến đổi sử dụng
những hàm số phức tạp. Bóp méo còn bao gồm cả những phép biến đổi không sử dụng
đến hàm số và những phép biến đổi là sự kết hợp của một vài kỹ thuật khác nữa.
Trong chương này, chúng tôi cũng giới thiệu về kỹ thuật morphing, là một kỹ
thuật này khá gần gũi với bóp méo ảnh. Morphing là một kỹ thuật biến đổi ảnh tạo ra
chuyển động liên tục biến đổi từ bức ảnh này thành bức ảnh khác. Mặc dù chúng tôi
không dùng đến morphing trong chương trình của mình, nhưng khá nhiều cách tiếp
cận của các tác giả khác trong việc tạo ra chuyển động cho khuôn mặt có sử dụng đến
kỹ thuật này [Bregler 1997 | Ezzat 1998]. Cùng với việc giới thiệu về kỹ thuật của các
tác giả này, chúng tôi cũng muốn bạn đọc có một cái nhìn tổng quan về kỹ thuật
morphing.
Có nhiều cách để phân loại các kỹ thuật bóp méo ảnh tùy thuộc vào tiêu chí
đánh giá. Để có thể giới thiệu một cách chi tiết và dễ hiểu về kỹ thuật bóp méo ảnh,
chúng tôi phân loại và giới thiệu các kỹ thuật bóp méo ảnh theo hai cách sau :
Cách thứ nhất, phân loại kỹ thuật bóp méo ảnh theo phương pháp biến đổi, bao
gồm ba loại :
Ảnh bị bóp méo thông qua việc sử dụng hàm số
Ảnh bị bóp méo bằng cách chia thành các đa giác khác nhau, mỗi đa giác
lại bị bóp méo theo một cách riêng biệt
Ảnh bị bóp méo để dùng cho kỹ thuật morphing
Cách thứ hai là phân loại kỹ thuật bóp méo ảnh theo cách tạo ra ảnh đích, bao
gồm hai loại :
Bóp méo xuôi : ảnh đích được tạo ra bằng cách ánh xạ trực tiếp từ ảnh
gốc đến ảnh đích
Bóp méo ngược : ảnh đích được tạo ra bằng cách ánh xạ từ ảnh đích đến
ảnh gốc
- 16 -
Cấu trúc chương này của chúng tôi gồm hai phần. Mỗi phần giới thiệu về một
cách phân loại kỹ thuật bóp méo ảnh như đã nói ở trên.
3.2.Phân loại kỹ thuật bóp méo ảnh theo phƣơng pháp biến đổi
3.2.1.Bóp méo ảnh thông qua việc sử dụng hàm số
Với việc tồn tại vô số hàm số, ta có thể nhận ra là số cách biến đổi ảnh bằng
phương pháp bóp méo sử dụng hàm số cũng cho ta vô số lựa chọn để biến đổi bức ảnh
theo ý mình. Để giới thiệu về phần này, chúng tôi xin được giới thiệu một số phép bóp
méo ảnh từ đơn giản cho đến những phép bóp méo ảnh phức tạp hơn.
3.2.1.1.Một số phép bóp méo ảnh đơn giản
Trước khi đi vào phần này, cần nhắc lại là một phép bóp méo ảnh là một cặp
hàm số hai biến x’(x, y) và y‟(x, y) tương ứng với phép ánh xạ từ tọa độ (x, y) trong
ảnh gốc (x là tọa độ cột, y là tọa độ hàng) đến tạo độ (x’, y’) trong ảnh đích.
Phép tịnh tiến
Để tạo ra sự khác biệt giữa hai bức ảnh là một phép tịnh tiến của hàng hoặc cột
hoặc cả hàng và cột thì ta sử dụng công thức
x‟ = x + a0
y‟ = y + b0
Phép quay
Để tạo ra sự khác biệt giữa hai bức ảnh là một phép quay góc ϕ thì ta sử dụng
công thức
x‟ = x cos(ϕ) – y sin(ϕ)
y‟ = x sin(ϕ) + y cos(ϕ)
Phép tỉ lệ
Để tạo ra sự khác biệt giữa hai bức ảnh là một phép tỉ lệ có hệ số s thì ta sử
dụng công thức
x‟ = x * s
y‟ = y * s
Trong trường hợp phép tỉ lệ có hệ số khác nhau giữa các trục thì ta sử dụng
công thức
x‟ = x * s1
y‟ = y * s2
Phép đối xứng
Phép đối xứng qua trục y
x‟ = -x
y‟ = y
Phép đối xứng qua tâm (0, 0)
- 17 -
x‟ = -x
y‟ = -y
Phép kéo
Đây là một phép biến đổi tuyến tính. Phép biến đổi này giữ nguyên tọa độ của
các điểm trên một trục, những điểm khác di chuyển song song với trục theo một
khoảng cách tỉ lệ thuận với khoảng cách từ điểm đó đến trục. Phép kéo có công thức
x‟ = x + shx * y
y‟ = y
hoặc
x‟ = x
y‟ = y + shy * x
Hình 10 : Ví dụ phép kéo
Hình 10 là ví dụ bức ảnh Mona Lisa bị biến đổi bởi phép kéo. Những điểm ảnh
nằm trên trục tung không thay đổi tọa độ
Phép biến đổi Affine
Phép biến đổi Affine là kết hợp của các phép biến đổi tuyến tính (ví dụ phép tỉ
lệ, phép quay, phép biến kéo, phép đối xứng…) và phép tịnh tiến. Công thức của phép
- 18 -
biến đổi Affine được đưa ra dưới dạng ma trận trong hệ tọa độ đồng nhất
Hình 11 : Ví dụ phép biến đổi Affine
Phép chiếu
Công thức của phép chiếu cũng được đưa ra dưới dạng ma trận như sau
Hình 12 : Ví dụ phép chiếu
w
y
x
fed
cba
w
y
x
100
'
'
w
y
x
ihg
fed
cba
w
y
x
'
'
'
- 19 -
3.2.1.2.Một số phép bóp méo ảnh phức tạp hơn
Quy ƣớc
Với các phép biến đổi trong phần này, ta quy ước chuyển hệ tọa độ như sau
Tọa độ của các điểm ảnh (i, j) nằm trong khoảng (0, m - 1) và (0, n - 1) được
đưa về dưới dạng tọa độ (x, y) nằm trong khoảng (-1, 1) theo công thức sau
x = 2i / m – 1
y = 2j / n – 1
Tọa độ (x, y) được đưa về dưới dạng tọa độ (r, phi) theo công thức sau
r = sqrt(x
2
+ y
2
)
phi = atan2(y,x)
Để chuyển lại từ hệ tọa độ (r, phi) sang (x, y) ta sử dụng công thức sau
x = r cos(phi)
y = r sin(phi)
Một số ví dụ của kỹ thuật bóp méo ảnh [Bourke 2002]
Hình 13 : Ảnh ban đầu
- 20 -
Hình 14 : Ảnh bị biến đổi bởi công thức r = sqrt (r)
Hình 15 : Ảnh bị biến đổi bởi công thức r = 2 arcsin(r) / p
- 21 -
Hình 16 : Ảnh bị biến đổi bởi công thức r = sin (pi. r / 2)
Hình 17 : Ảnh bị biến đổi bởi công thức r = r2
- 22 -
Hình 18 : Ảnh bị biến đổi bởi công thức x = sin(pi.x / 2) và y = sin(pi.y / 2)
Hình 19 : Ảnh bị biến đổi bởi công thức x = 2 asin(x) / pi và y = 2 asin(y) / pi
- 23 -
Một số ví dụ thú vị khác
Sau đây là một số ví dụ ảnh của một người đàn ông bị biến đổi sau khi áp dụng
các công thức khác nhau
Hình 20 : Ảnh gốc và ảnh bị biến đổi
Hình 21 : Một số kiểu biến đổi ảnh (kiểu 'mắt cá', kiểu 'xoáy', kiểu 'mƣa')
3.2.2.Bóp méo ảnh bằng cách chia ảnh thành những đa giác nhỏ
3.2.2.1.Bóp méo tam giác
Hệ tọa độ Barycentric
Định nghĩa
- 24 -
Hệ tọa độ Barycentric là hệ tọa độ được định nghĩa bởi các đỉnh của một đơn
hình (như tam giác, tứ diện…) Hệ tọa độ Barycentric là một dạng của hệ tọa độ đồng
nhất.
Gọi x1,…, xn là các đỉnh của một đơn hình trong một không gian vector A. Nếu
có một điểm P thuộc A thỏa mãn
(a1 + … + an) p = a1 x1 + … + an xn
thì ta gọi các hệ số (a1,…, an) là tọa độ Barycentric của điểm P tương ứng với các đỉnh
x1, …, xn. Các đỉnh xi có tọa độ (1, 0, …, 0), (0, 1, 0,…, 0),…, (0, 0,…, 1). Tọa độ
Barycentric không phải là duy nhất : với bất kỳ số b nào khác 0 thì (b.a1, …, b.an) cũng
là tọa độ của điểm P.
Khi tọa độ không âm, điểm P nằm bên trong của đơn hình
Hệ tọa độ Barycentric đối với tam giác
Đối với tam giác, hệ tọa độ Barycentric còn được gọi là hệ tọa độ diện tích. Cho
một điểm P và tam giác A1A2A3, tọa độ của điểm P tương ứng tỉ lệ với diện tích của
PA2A3, PA3A1 và PA1A2.
Hình 22 : Hệ tọa độ Barycentric với tam giác
Gọi t1, t2, t3 tương ứng là tỉ lệ diện tích của các tam giác PA2A3, PA3A1 và PA1A2
đối với tam giác A1A2A3. Khi đó, tọa độ của điểm P được tính dựa trên công thức
P = t1 . A1 + t2 . A2 + t3. A3
trong đó t1, t2, t3 thỏa mãn điều kiện
t1 + t2 + t3 = 1
Áp dụng hệ tọa độ Barycentric để thực hiện bóp méo ảnh
Ở hình dưới đây, ta đang cần phải thực hiện một phép bóp méo từ ảnh gốc sang
ảnh đích. Phương pháp bóp méo mà chúng tôi sử dụng ở đây là bóp méo ngược (xem
phần 3.3.3). Giả sử ta đã xác định được các điểm ABC trên ảnh gốc tương ứng với các
điểm A‟B‟C‟ trên ảnh đích. Hiện tại ta cần phải xác định tọa độ của điểm P trên ảnh
- 25 -
gốc tương ứng với tọa độ điểm P‟ đã xác định trên ảnh đích.
Hình 23 : Xác định tọa độ điểm tƣơng ứng với P’ trên ảnh ban đầu
Để xác định được điểm P trên ảnh ban đầu, ta sử dụng công thức của hệ tọa độ
đồng nhất
P = wAA + wBB + wCC và
P‟ = wAA‟ + wBB‟ + wCC‟
Với việc đã biết tọa độ của các điểm A, B, C, A‟, B‟, C‟, P‟ và các tỉ lệ wA, wB,
wC ta có thể xác định được tọa độ của điểm P
Hình 24 : Xác định tọa độ các điểm bằng hệ tọa độ Barycentric
- 26 -
Bằng cách chia ảnh thành các tam giác như trên hình ta có thể xác định được
điểm Q cần tìm trên ảnh gốc tương ứng với mọi điểm Q‟ trên ảnh đích. Cách làm
tương tự như cách ta tìm điểm P khi đã biết P‟
3.2.2.2.Bóp méo tứ giác
Phương pháp thực hiện phép bóp méo trên từng vùng hình vuông chứ không phải
trên toàn bộ bức ảnh. Mỗi hình vuông bị bóp méo được chia làm bốn góc phần tư khác
nhau, phương pháp này thực hiện bóp méo bốn góc này một cách riêng biệt
Hình 25 : Phƣơng pháp bóp méo tứ giác
Hình 25 mô tả phương pháp bóp méo tứ giác. Vector ở hình vuông thứ nhất
chính là vector mà phép bóp méo thực hiện để làm biến đổi bức ảnh. Nhờ sự tác động
của vector này mà hình vuông bên trái được đưa về dưới dạng hình vuông bên phải. Ta
có thể dễ dàng nhận ra sự khác biệt giữa hai hình vuông chính là bốn phần màu đỏ,
xanh lam, vàng và hồng đã thay đổi theo vector ở hình bên trái. Điểm trung tâm ở hình
vuông bên trái đã bị dịch một đoạn vector v làm cho hình dạng của các góc phần tư ở
hình vuông thứ nhất trở thành các hình tứ giác trong hình vuông thứ hai.
Cốt lõi của phương pháp bóp méo tứ giác này chính là cách bóp méo từng góc
phần tư ở hình vuông bên trái thành từng hình tứ giác tương ứng ở hình vuông bên
phải. Để thực hiện được phép bóp méo này, phương pháp thực hiện các phép co giãn
các góc phần tư thành các tứ giác. Phương pháp đã sử dụng đến các phép tỉ lệ, làm tròn
số thực để có thể thực hiện được phép co giãn này.
Như vậy phương pháp bóp méo tứ giác có thể tóm gọn lại trong hai bước như sau
Bước 1 : xác định các góc phần tư và tọa độ các đỉnh của hình tứ giác
tương ứng với từng góc phần tư đó.
Bước 2 : ứng với mỗi cặp góc phần tư / tứ giác, thực hiện phép bóp méo
khu vực. Đó là phép bóp méo ngược dựa trên sự tương ứng tỉ lệ.
- 27 -
Để giúp bạn đọc có thể hình dung rõ hơn về phương pháp bóp méo này, chúng
tôi thử thực hiện nó với một bức ảnh của diễn viên Elisha Cuthbert. Tất cả các phép
bóp méo được thực hiện đều được đánh dấu vector trên bức ảnh. Độ lớn của khoảng
bóp méo là một hình vuông có cạnh là 70 pixel
Hình 26 : Ảnh ban đầu với các vector để bóp méo ảnh
Hình 27 : Ảnh sau khi bóp méo theo các vector
- 28 -
3.2.3.Bóp méo ảnh dùng cho morphing
3.2.3.1.Giới thiệu về morphing
Morphing là một kỹ thuật khá đặc biệt và nó được ứng dụng nhiều trong phim
ảnh và hoạt hình. Định nghĩa đơn giản nhất, morphing là một kỹ thuật biến đổi một
bức ảnh này sang một bức ảnh khác thông qua một dãy liên tiếp các bước trung gian
để tạo thành chuyển động.
Có không ít những phương pháp tạo chuyển động cho khuôn mặt trên ảnh hai
chiều hay video có sử dụng đến morphing. Đối với một số phương pháp đó, đầu vào
của chuyển động là hai bức ảnh khác nhau và khi đó morphing sẽ được áp dụng vào để
tạo ra những hình ảnh trung gian giữa hai bức ảnh.
Thường thì morphing được sử dụng để tạo ra một chuyển động biến đổi từ mặt
người này sang mặt người khác hoặc giữa hai trạng thái khác nhau của khuôn mặt
cùng một người. Trong video clip “Black or White” của Michael Jackson, đoạn cuối
của có một loạt những biến đổi từ khuôn mặt người này sang người khác, đủ các độ
tuổi, giới tính, màu da. Đó chính là ứng dụng của kỹ thuật morphing.
Trong 3 bức ảnh sau đây, hai bức đầu và cuối là của George.W.Bush và Arnold
Schwarzenegger. Bức ở giữa chính là bức ảnh được morphing từ chân dung của hai
nhân vật nổi tiếng này.
Hình 28 : Bức ảnh morphing giữa George.W.Bush và Arnold Schwarzenegger
3.2.3.2.Ứng dụng của bóp méo ảnh vào morphing
Trước đây, để thực hiện được morphing, người ta thường sử dụng phương pháp
pha lẫn – làm mờ. Tuy vậy phương pháp này có một nhược điểm là nó tạo ra hiệu ứng
bóng ma. Điều đó làm cho quá trình chuyển động không được tự nhiên.
Để giải quyết vấn đề này, người ta đưa ra giải pháp là xắp xếp cho hai bức ảnh
đầu và cuối được thẳng hàng với nhau. Như vậy thì quá trình morphing sẽ không bị tạo
ra hiệu ứng bóng ma nữa. Tuy vậy, không phải lúc nào người ta cũng có thể sắp xếp
hai bức ảnh thẳng với nhau. Vì vậy người ta cần phải tìm ra những điểm đặc trưng trên
- 29 -
hai bức ảnh và ghép nối các cặp điểm đặc trưng này với nhau. Để có thể dóng thẳng
các điểm đặc trưng này, người ta xử dụng đến kỹ thuật bóp méo ảnh.
Hình 29 : Phƣơng pháp morphing
Hình trên là mô tả của phương pháp morphing. Hình ở giữa hàng trên là ảnh
được áp dụng trực tiếp bằng phương pháp pha lẫn – làm mờ. Ta có thể dễ dàng nhận ra
hiệu ứng bóng ma trên bức ảnh. Ở hàng dưới, trước khi thực hiện pha lẫn – làm mờ
giữa hai bức ảnh thì người ta tìm ra các điểm đặc trưng trên bức ảnh ban đầu và ảnh
đích rồi thực hiện phép bóp méo cho hai bức ảnh đó. Sau đó người ta mới pha lẫn –
làm mờ hai bức ảnh này với nhau.
Nói tóm lại, công thức cho morphing có thể viết như sau
Morphing = Bóp méo + Pha lẫn làm mờ
3.3.Phân loại kỹ thuật bóp méo ảnh theo cách tạo ra ảnh đích
3.3.1.Mở đầu
Trong quá trình bóp méo ảnh, một trong những việc quan trọng nhất phải làm là
tính ra được chính xác từng vị trí điểm ảnh trong ảnh đích với các điểm ảnh có sẵn
trong ảnh ban đầu. Chúng ta đã có sẵn ảnh gốc I(x, y) và phép biến đổi T : (x‟, y‟) =
T(x, y). Việc tiếp theo cần làm là tính ra được ảnh đích I‟(x‟, y‟). Có hai cách để thực
hiện việc này là bóp méo xuôi và bóp méo ngược.
3.3.2.Bóp méo xuôi
- 30 -
Công việc của bóp méo xuôi rất đơn giản đó là lấy mỗi điểm trong ảnh gốc, tính
toán giá trị thông qua phép biến đổi T và gắn nó vào ảnh đích (x‟, y‟) = T(x, y)
Hình 30 : Bóp méo xuôi cho ảnh
Thuật toán bóp méo xuôi
forwardWarping(I, I’, T) {
for (y = 0; y < I.height; y++)
for (x = 0; x < I.width; x++) {
(x’, y’) = T(x, y);
I’(x’, y’)=I(x, y);
}
}
Hình 31 : Mô tả thuật toán bóp méo xuôi
Vấn đề của thuật toán bóp méo xuôi đó là không phải lúc nào phép biến đổi T
cũng cho ra (x‟, y‟) là tọa độ điểm nguyên. Khi đó ta phải lấy làm tròn giá trị của điểm
(x‟, y‟). Phương pháp này lại sinh ra một vấn đề nữa là ảnh đích được sinh ra sẽ có
- 31 -
những “lỗ hổng” do tồn tại những điểm không được lấp bởi những điểm ảnh của ảnh
gốc (và tương tự cũng có những điểm ảnh được lấp nhiều lần). Để lấp những khoảng
trống này, ta tính màu trung bình của các điểm lân cận của điểm bị trống và lấy màu
này làm giá trị của điểm cần tìm.
Hình 32 : Vấn đề của bóp méo xuôi
3.3.3.Bóp méo ngƣợc
Công việc của bóp méo ngược trái với bóp méo xuôi. Ở bóp méo xuôi, ta lấy
từng giá trị điểm ảnh của ảnh gốc để tính ra các giá trị điểm ảnh ở ảnh đích. Đối với
bóp méo ngược, ta tính ra giá trị của từng điểm ảnh ở ảnh đích bằng cách tìm các điểm
tương ứng với nó trong ảnh gốc.
Với mỗi điểm (x‟, y‟) ta tính ra (x, y) = T-1(x‟, y‟)
Hình 33 : Bóp méo ngƣợc cho ảnh
Thuật toán bóp méo ngược
inverse-warping(I, I’, T) {
for (y=0; y<I’.height; y++)
for (x=0; x<I’.width; x++) {
(x,y)=T
-1(x’,y’);
I’(x’,y’)=I(x,y);
- 32 -
}
}
Vấn đề của thuật toán bóp méo ngược là có những khi điểm (x, y) mà T-1 trả về
không phải là điểm nguyên. Khi đó, để tính giá trị (x, y) ta tính giá trị trung bình của
các điểm ảnh quanh vị trí (x, y).
Hình 34 : Vấn đề của bóp méo ngƣợc
Thuật toán đề giải quyết vấn đề của bóp méo ngược
inverse-warping(I, I’, T) {
for (y=0; y<I’.height; y++)
for (x=0; x<I’.width; x++) {
(x,y)=T
-1(x’,y’);
I’(x’,y’)=I(x,y);
I’(x’,y’)=Reconstruct(I,x,y,kernel);
}
}
3.3.4.So sáng bóp méo xuôi và bóp méo ngƣợc
Nói chung, phương pháp bóp méo ngược được ưa chuộng hơn phương pháp bóp
méo xuôi vì nó tránh gặp phải rắc rối với những lỗ hổng. Tuy vậy, phương pháp bóp
méo xuôi vẫn có giá trị của nó vì không phải khi nào chúng ta cũng có thể có được
một hàm T có thể tìm được hàm ngược T-1 để sử dụng trong chương trình.
3.4.Kết luận
Trong chương này, chúng tôi đã giới thiệu khá chi tiết về kỹ thuật bóp méo ảnh.
Chúng tôi đã phân loại kỹ thuật bóp méo ảnh theo hai cách là phương pháp bóp méo
và cách tạo ra ảnh đích. Đồng thời cũng giới thiệu qua về kỹ thuật morphing. Đây là
kỹ thuật không được sử dụng trong chương trình của chúng tôi nhưng, nó đã được ứng
dụng bởi một số tác giả khác khi tạo chuyển động cho khuôn mặt người trên ảnh hai
chiều.
- 33 -
Phương pháp mà chúng tôi tạo chuyển động cho khuôn mặt được xây dựng dựa
trên các kỹ thuật bóp méo ảnh. Cách thức ứng dụng các phép bóp méo ảnh trong
chương trình được chúng tôi giới thiệu chi tiết trong chương 4.
- 34 -
Chƣơng 4
MÔ PHỎNG CHUYỂN ĐỘNG CỦA KHUÔN MẶT DỰA
TRÊN CÁC KỸ THUẬT BÓP MÉO ẢNH
4.1.Mở đầu
Để mô phỏng chuyển động trên khuôn mặt khi thay đổi cảm xúc hoặc nói
chuyện, chúng tôi sử dụng các phép bóp méo ảnh đã được giới thiệu trong chương 3
cho chương trình của mình.
Phương pháp mà chúng tôi sử dụng để tạo chuyển động cho khuôn mặt bao
gồm cả việc sử dụng các phép bóp méo ảnh sử dụng hàm số và những phép bóp méo
ảnh phân tách thành những đa giác khác nhau.
Về cách tạo ảnh đích, chúng tôi sử dụng kỹ thuật bóp méo ngược. Lý do, như
chúng tôi đã nói, vì phương pháp này có nhiều ưu điểm và chúng tôi cũng đưa ra được
phép biến đổi ngược với phép biến đổi ban đầu.
Chương này có ba phần chính. Thứ nhất, chúng tôi sẽ giới thiệu cách thức sử
dụng kỹ thuật bóp méo ảnh để mô phỏng chuyển động xoay xương hàm cho nhân vật.
Ở phần thứ hai chúng tôi sẽ giới thiệu cách ứng dụng bóp méo ảnh cho việc mô phỏng
chuyển động của các cơ. Trong cả hai phần, trước khi đi vào việc mô phỏng chuyển
động khuôn mặt trên máy tính, chúng tôi sẽ giới thiệu một chút về khuôn mặt từ góc
độ giải phẫu học. Phần cuối cùng, sau khi đã có được công cụ để mô phỏng chuyển
động của các cơ, chúng tôi xây dựng nên hệ mô phỏng của các cơ cho chương trình
của mình.
4.2.Mô phỏng chuyển động xoay của xƣơng hàm
4.2.1.Chuyển động của xƣơng hàm
Khi con người nói chuyện hay ăn uống, miệng chúng ta mở ra bằng cách chuyển
động hàm. Khi đó toàn bộ hàm sẽ quay quanh một trục đi qua điểm xoay xương hàm.
Điểm xoay xương hàm được mô tả như trong hình 35. Khi đó, các điểm trên hàm, là
những điểm nhạt màu nằm ở phần phía dưới của khuôn mặt sẽ đồng thời quay quanh
trục quay của hàm một góc ϕ.
Theo [Parke 1974], khi quay, toàn bộ các điểm trên cằm sẽ quay nhưng một số
điểm sẽ quay với một góc quay khác. Để tạo cho miệng có một hình oval tự nhiên, các
điểm nằm trên môi dưới sẽ quay với các góc khác nhau. Những điểm nằm ở giữa của
môi dưới sẽ quay cùng góc với cằm. Góc quay sẽ giảm dần với các điểm trên môi dưới
nhưng nằm ở gần khóe miệng hơn.
- 35 -
Hình 35 : Điểm xoay xƣơng hàm
Môi trên cũng bị ảnh hưởng bởi phép xoay xương hàm. Những điểm nằm ở giữa
của môi trên sẽ giữ nguyên vị trí. Còn các điểm trở về gần với mép hơn thì sẽ quay với
các góc gần với góc quay của các điểm nằm gần mép của môi dưới. Như vậy, hai điểm
ngoài cùng của môi trên và môi dưới sẽ quay với cùng một góc quay như nhau.
4.2.2.Mô phỏng chuyển động
Phương pháp mô phỏng xoay xương hàm được chúng tôi xây dựng dựa trên
phương pháp trong không ba chiều của [Parke 1974] kết hợp với việc áp dụng các
phép bóp méo ảnh.
Mặc dù khuôn mặt và bức ảnh chúng tôi sử dụng là 2D nhưng chúng tôi coi như
mình đang thao tác với một khuôn mặt 3D. Ý nghĩa của việc làm này là để thực hiện
phép xoay hàm nhân vật, một phép biến đổi hình học ba chiều nhưng được thực hiện
trên ảnh hai chiều.
Để có thể mô phỏng được phương pháp này trên ảnh 2 chiều, chúng tôi giả sử có
tồn tại một trục quay nằm phía sau bức ảnh. Dĩ nhiên là bức ảnh khuôn mặt của chúng
ta chỉ có phần trước, điều đó có nghĩa là trục quay này là không thể nhìn thấy trên ảnh.
- 36 -
Hình 36 : Ƣớc lƣợng trục quay của hàm
Hình trên là ước lượng của chúng tôi về vị trí trục quay của hàm. Như đã nói ở
trên, hình vẽ chỉ biểu diễn được chính xác tọa độ x và y của trục quay. Nếu coi mặt
phẳng bức ảnh là z = 0, trục z vuông góc với mặt phẳng bức ảnh và hướng ra ngoài thì
trục quay của khuôn mặt có z < 0 (nằm phía sau bức ảnh)
Để có thể thực hiện được phép quay ta cần xác định được chính xác phương trình
đường thẳng của trục quay và tọa độ của các điểm cần phải quay. Dựa trên hình 35 và
những ước lượng ngoài đời về tỉ số giữa độ sâu của trục quay của hàm, độ rộng của
môi, độ lớn của khuôn mặt khi nhìn trực diện cùng với những thử nghiệm trong
chương trình, chúng tôi ước lượng được độ lớn của z. Cùng với những ước lượng về x,
y như trên hình vẽ, chúng tôi xác định được phương trình đường thẳng của trục quay.
Sau khi đã xác định được phương trình của trục quay, ta cần xác định tọa độ của
các điểm cần phải quay quanh trục. Trên lý thuyết, tất cả các điểm nằm trên cằm đều
quay quanh hàm. Nhưng trong chương trình, chúng tôi không thực hiện phép quay cho
tất cả các điểm mà chỉ thực hiện phép quay cho một số điểm nhất định.
Vì chương trình của chúng tôi tập trung vào việc cải thiện tốc độ nhưng vẫn cố
gắng giữ được độ thật cho chuyển động khuôn mặt. Chúng tôi chỉ thực hiện phép quay
cho các điểm nằm trên môi dưới. Để tạo cho hàm có được chuyển động thật, kết hợp
với phép quay môi dưới, chúng tôi sử dụng kết hợp thêm phép bóp méo ảnh cho môi
trên và ba vị trí nằm dưới cùng của hàm.
Sau đây chúng tôi sẽ trình bày chi tiết về cách tạo chuyển động cho môi dưới,
môi trên và cằm nhân vật.
- 37 -
Mô phỏng chuyển động của môi dƣới
Hình 37 : Môi của nhân vật
Để xác định được các điểm nằm trên môi dưới chúng tôi ước lượng tọa độ các
điểm nằm trên biên. Đường trên của môi dưới dễ nhận thấy là một đường thẳng.
Đường dưới môi dưới là một đường cong có dáng của một parabol. Chúng tôi xác định
5 điểm nằm trên đường cong dưới của môi dưới và xấp xỉ ra được công thức của
parabol đi qua đường cong này. Bằng cách đó chúng tôi xác định được chính xác tất cả
các điểm nằm trên môi dưới.
Tuy vậy, sau khi xác định được tọa độ của các điểm nằm trên môi dưới, chúng
tôi vẫn chưa thể sử dụng ngay tọa độ của các điểm này. Bởi vì chúng ta đang chuẩn bị
để thực hiện phép quay 3D nên phải xét các điểm này như là những điểm trong không
gian 3D.
Theo [Parke 1974], các điểm nằm giữa của môi dưới sẽ quay với góc lớn hơn
các điểm nằm gần khóe miệng. Trên thực tế khi thực nghiệm trong chương trình của
mình, chúng tôi nhận thấy phương pháp này không mang lại hiệu quả như mong đợi.
Vì vậy, chúng tôi thực hiện phép quay cho tất cả các điểm là như nhau.
Thay vào đó, chúng tôi để ý thấy môi của chúng ta không hoàn toàn “bằng
phẳng”, phần giữa của môi có vẻ “nhô” ra phía trước nhiều hơn hai phần khóe môi,
quan sát này giúp chúng tôi đưa ra nhận xét là tọa độ z của phần giữa môi lớn hơn tọa
độ z của các điểm nằm gần khóe môi. Sự khác biệt này được chúng tôi xác định bằng
cách thực nghiệm, thay đổi các hằng số và tham số.
Đến đây, chúng ta đã có đủ các yếu tố cần thiết để có thể thực hiện phép quay 3D
cho môi dưới của nhân vật. Đó là phương trình của trục quay và tọa độ các điểm quay
trong không gian 3D. Để cho đơn giản chúng tôi tịnh tiến trục Ox trùng với trục quay
của hàm, tọa độ x và tọa độ y bằng với tọa độ x, y của trung điểm đoạn thẳng phía trên
của môi dưới.
Khi đó phép quay trong không gian ba chiều là phép quay quanh trục Ox (trùng
với trục quay của hàm). Ta có công thức
x‟ = x
y‟ = y cos(ϕ) – z sin(ϕ)
z‟ = y sin(ϕ) + z cos(ϕ)
Bằng cách áp dụng công thức trên ta có thể tính ra tọa độ (x‟, y‟, z‟) theo góc
quay ϕ. Mặt khác ta lại không cần tọa độ z khi biểu diễn trên ảnh nên ta thực hiện phép
chiếu các điểm lên mặt phẳng Oxy và bỏ qua tọa độ z. Khi đó ta có
- 38 -
x‟ = x
y‟ = y cos(ϕ) – z sin(ϕ)
Như vậy tọa độ x không thay đổi trong phép quay và ta chỉ cần tính ra tọa độ mới
cho y. Bằng cách tính ra (x‟, y‟) của môi dưới, chúng tôi tạo được chuyển động cho
môi dưới sang một vị trí khác với một hình dáng khác.
Hình 38 : Hình ảnh của môi dƣới sau phép xoay
Ở hình 38 ta thấy sau khi thực hiện phép quay cho môi dưới, môi dưới dịch
xuống một đoạn tạo ra một khoảng trống giữa môi trên và môi dưới. Tiếp theo đây,
chúng tôi sẽ giới thiệu cách mô phỏng chuyển động của môi trên để tạo ra chuyển
động thật cho toàn bộ miệng của nhân vật.
Mô phỏng chuyển động của môi trên
Như đã nói, khi môi trên chuyển động, các điểm nằm ở giữa của môi trên giữ
nguyên vị trí còn các điểm gần khóe miệng chuyển động theo các điểm gần khóe
miệng của môi dưới.
Để có thể mô phỏng chuyển động cho môi chính xác, chúng tôi phải xác định
được tọa độ 2 khóe môi của cả môi trên và môi dưới rồi sử dụng phép bóp méo để nối
chúng lại với nhau. Để thực hiện được việc này, chúng tôi sử dụng một kỹ thuật gọi là
bóp méo tứ giác có giới hạn.
Phương pháp bóp méo tứ giác có giới hạn cũng tương tự như phương pháp bóp
méo tứ giác nhưng được thêm vào một hình chữ nhật ảo gọi là giới hạn cho phép bóp
méo. Khi thực hiện phép biến đổi này thì tất cả các điểm nằm trong hình chữ nhật này
không bị ảnh hưởng.
Trong trường hợp mô phỏng chuyển động của môi trên, chúng tôi đặt giới hạn
cho phép bóp méo là hình chữ nhật chứa toàn bộ khuôn mặt có cạnh trên trùng với môi
dưới. Khi đó phép biến đổi chỉ tác động lên các điểm có độ cao ngang với môi trên trở
lên. Với cách làm như vậy thì chúng tôi có thể nối 2 phần khóe môi trên và dưới lại
với nhau
Hình 39 : Ảnh trƣớc và sau khi thực hiện kỹ thuật bóp méo môi trên
- 39 -
Sau đây là một số kết quả của chương trình khi chúng tôi thực hiện đồng thời cả
hai phép biến đổi với môi trên và môi dưới
Hình 40 : Môi mở ra với các góc ϕ = 0, ϕ = pi / 20, ϕ = pi / 15, ϕ = pi / 10
Mô phỏng chuyển động của cằm
Mặc dù mô phỏng chuyển động xoay xương hàm nhưng chúng tôi lại chỉ thực
hiện phép xoay cho các điểm nằm trên môi dưới. Để mô phỏng chuyển động cho toàn
bộ cằm khi nhân vật nói chuyện, ví dụ như khi miệng mở ra thì cằm cũng phải hạ
xuống một đoạn. Chúng tôi thực hiện phép bóp méo tứ giác cho ba điểm nằm ở dưới
cùng của cằm. Các vector để thực hiện phương pháp bóp méo tứ giác đều song song
với trục y và có chiều hướng xuống dưới. Mức độ bóp méo phụ thuộc vào góc ϕ - tức
góc quay của cằm hay độ lớn của miệng.
Dưới đây là dãy hình ảnh mô tả chuyển động của cằm
Hình 41 : Trạng thái ban đầu - Trƣớc khi sử dụng phép bóp méo cho cằm - Sau
khi sử dụng phép bóp méo cho cằm
4.3.Mô phỏng chuyển động của các cơ trên khuôn mặt
4.3.1.Giới thiệu về cơ mặt
Trước khi đi vào việc giới thiệu cách mô phỏng cơ mặt, chúng tôi muốn giới
thiệu qua một chút về cơ mặt dưới góc độ giải phẫu học.
Cơ mặt được định nghĩa là một nhóm các cơ co giãn được điều khiển bởi các
dây thần kinh có tác dụng điều khiển cảm xúc của khuôn mặt. Người ta chia cơ mặt ra
làm năm nhóm chính, đó là : nhóm cơ xung quanh mắt, nhóm cơ mũi, nhóm cơ tai,
nhóm cơ trán và nhóm cơ miệng. Các cơ này co giãn theo các hướng khác nhau để tạo
chuyển động cho khuôn mặt và mỗi cơ lại tác động lên một vùng xác định.
Dưới đây là vị trí của các cơ trên khuôn mặt khi nhìn thẳng và nhìn ngang.
- 40 -
Hình 42 : Các cơ trên khuôn mặt (khi nhìn thẳng)
Hình 43 : Các cơ trên khuôn mặt (khi nhìn ngang)
- 41 -
4.3.2.Mô phỏng chuyển động
Mô phỏng chuyển động của tất cả các cơ trên khuôn mặt ngoại trừ cơ môi
Để mô phỏng chuyển động của hầu hết các cơ trên khuôn mặt, chúng tôi sử
dụng cùng một phương pháp là kỹ thuật bóp méo tứ giác. Để mô phỏng mỗi cơ, chúng
tôi phải xác định được vector của phương pháp bóp méo tứ giác và độ lớn khoảng bóp
méo. Cách xác định chúng tôi sẽ nói chi tiết trong phần 4.4.
Ví dụ sau đây là khi chúng tôi thực hiện phương pháp bóp méo tứ giác với 2
nhóm cơ là cơ khóe miệng và cơ mắt
Hình 44 : Phép bóp méo tứ giác tạo nụ cƣời nửa miệng với cơ khóe miệng
Hình 45 : Phép bóp méo tứ giác làm mắt mở rộng hơn với cơ mắt
Mô phỏng chuyển động của cơ môi
Như chúng ta có thể thấy, chuyển động của miệng không chỉ đơn giản là việc mở
miệng mà còn là độ to nhỏ của miệng theo chiều ngang và độ to nhỏ của môi. Rõ ràng
khi chúng ta huýt sáo và khi chuẩn bị hôn người yêu thì độ mở miệng của chúng ta cả
về chiều ngang và chiều dọc đều tương đương nhưng độ lớn của môi thì khác nhau.
Việc mô phỏng chuyển động của cơ môi khác với các cơ khác ở chỗ : các cơ
khác khi mô phỏng chuyển động đều được xác định sẵn một vector với hướng và
chiều. Với cơ môi thì hướng và chiều của vector này không được xác định trước và mà
được xác định sau mỗi lần chương trình yêu cầu cơ này chuyển động.
Để có thể tạo chuyển động cho môi, chúng tôi sử dụng 4 vector có gốc ở 4 vị trí
của môi là 2 khóe môi và 2 phần trên cùng và dưới cùng của môi. Để xác định được
tọa độ của 4 điểm này, chúng tôi lưu lại tọa độ các điểm khi thực hiện việc mô phỏng
xoay xương hàm.
Ý nghĩa lớn nhất của việc điều khiển chuyển động của môi là ứng dụng cho khả
năng nói chuyện của nhân vật.
Dưới đây là một số ví dụ mà chuyển động của môi có tác động đến hình dáng
của miệng
- 42 -
Hình 46 : Một số hình dáng của môi
4.4.Xây dựng dựng hệ mô phỏng các cơ trên khuôn mặt
Sau khi đã đưa ra phương pháp để mô phỏng các cơ trên khuôn mặt. Chúng tôi
tiến hành xây dựng hệ các cơ.
Hệ cơ của chúng tôi được xây dựng dựa theo hệ cơ của [Duy 2004]
Hình 47 : Hệ các cơ đƣợc chƣơng trình xây dựng dựa theo
Ở hình 47 có hai loại cơ là cơ vector và cơ vòng ở miệng và mắt. Chương trình
của chúng tôi chỉ có thể mô phỏng được cơ vector, tuy vậy, chúng tôi cũng cố gắng mô
phỏng các cơ vòng bằng cách kết hợp một số cơ vector lại với nhau.
Hệ thống cơ của chúng tôi gồm 30 cơ đối xứng ở cả bên trái và phải của khuôn
mặt. Nếu gọi tên các cơ và coi các cơ đối xứng với nhau là một thì chúng tôi có tất cả
16 cơ (có hai cơ không có đối xứng là hai cơ ở phần trên và phần dưới của môi).
Danh sách 16 cơ chúng tôi sử dụng trong chương trình được cho dưới bảng sau.
Chú ý là chuyển động xoay xương hàm không được đưa vào bảng các cơ nhưng nó
cũng đóng vai trò quan trọng trong việc tạo cảm xúc khuôn mặt
- 43 -
Bảng 1 : Hệ Thống Các Cơ Đƣợc Sử Dụng Trong Chƣơng Trình
STT Mô tả chuyển đông của cơ Loại cơ
Hệ số vùng
tác động
1 Cơ nén môi trên Mô phỏng cơ vòng 4
2 Cơ nén môi dưới Mô phỏng cơ vòng 4
3 Cơ nâng cằm Cơ vector 2
4 Cơ kéo khóe miệng xuống Cơ vector 2
5 Cơ kéo khóe miệng lên Cơ vector 3
6 Cơ tạo má lúm đồng tiền Cơ vector 2
7 Cơ nâng cánh mũi Cơ vector 2
8 Cơ kéo lông mày xuống Cơ vector 3
9 Cơ kéo lông mày lên, phía trong Cơ vector 2.5
10 Cơ kéo lông mày lên, phía ngoài Cơ vector 3
11 Cơ khép mắt lại, phía trên Mô phỏng cơ vòng 8
12 Cơ khép mắt lại, phía dưới Mô phỏng cơ vòng 4
13 Cơ mở mắt Mô phỏng cơ vòng 13
14 Cơ kéo môi rộng / hẹp Mô phỏng cơ vòng
15 Cơ ép / giãn môi, phía trên Mô phỏng cơ vòng
16 Cơ ép / giãn môi, phía dưới Mô phỏng cơ vòng
Ở bảng trên có một số cơ thuộc loại “mô phỏng cơ vòng” chính là những cơ
vector mà chúng tôi đưa vào để mô phỏng các cơ vòng ở miệng và mắt.
Để xác định được một cơ nào đó (ngoại trừ cơ môi có vector không cố định và
không có hệ số vùng tác động ), chúng tôi cần phải xác định được 2 yếu tố sau
Điểm đặt, hướng và độ lớn của vector
Độ lớn của vùng mà cơ tác động lên
Điểm đặt, hướng và độ lớn của vector được chúng tôi xác định dựa trên hình 47
và các thử nghiệm trong chương trình.
- 44 -
Để xác định được độ lớn của vùng mà cơ tác động lên. Chúng tôi ước lượng và
thử nghiệm hệ số vùng tác động. Độ lớn của vùng mà cơ tác động lên là kết quả của
phép nhân hệ số vùng tác động và độ lớn của vector tạo nên cơ đó.
Qua quá trình thử nghiệm về vị trí đặt, hướng, độ lớn của vector và hệ số vùng
tác động, chúng tôi đã có được một hệ thống các cơ có thể phục vụ cho việc tạo cảm
xúc trên khuôn mặt nhân vật. Dưới đây là ví dụ về sự biến đổi khi chúng tôi áp dụng
sự tác động của một số cơ trên khuôn mặt
Hình 48 : Tác động của 2 cơ nén môi trên và môi dƣới
Hình 49 : Tác động của cơ kéo khóe miệng xuống
Hình 50 : Tác động của cơ kéo khóe miệng lên
Hình 51 : Tác động của cơ kéo cánh mũi lên
Hình 52 : Tác động của cơ nâng lông mày bên mắt trái
Hình 53 : Tác động của cơ kéo lông mày xuống
- 45 -
Hình 54: Tác động của cơ thu nhỏ mắt lại
Hình 55 : Tác động của cơ cằm
Điều khiển mức độ co giãn của các cơ
Các cơ trên khuôn mặt luôn có một giới hạn co giãn. Khi cơ co giãn để tạo
chuyển động cho khuôn mặt, nó có thể co giãn ở nhiều mức độ khác nhau, từ co tối đa
tới giãn tối đa và một mức độ co giãn nào đó nằm giữa hai khoảng đó. Khi đó, chuyển
động của khuôn mặt cũng phụ thuộc vào mức độ co giãn của các cơ. Chương trình của
chúng tôi cũng mô phỏng được điều này, tức là có thể tạo cho các cơ nhiều mức độ co
giãn khác nhau. Ý nghĩa của việc làm này là chương trình của chúng tôi có thể điều
khiển được mức độ tác động của các cơ lên khuôn mặt, từ đó điều khiển được mức độ
của cảm xúc.
Điều này được chúng tôi thực hiện bằng cách thay đổi độ lớn của các vector tạo
nên cơ nhưng vẫn giữ nguyên tất cả những đặc tính còn lại của cơ như chiều, tọa độ
điểm đặt và hệ số vùng tác động.
Sau đây là ví dụ về việc điều khiển mức độ co giãn của các cơ
Hình 56 : Mức độ co giãn của cơ kéo khóe môi xuống từ trạng thái bình thƣờng
cho đến trạng thái giãn tối đa
- 46 -
4.5.Kết luận
Ở chương này, chúng tôi đã giới thiệu về cách áp dụng các kỹ thuật bóp méo ảnh
vào việc mô phỏng các chuyển động khuôn mặt. Chúng tôi đã giới thiệu về cách tạo
chuyển động cho môi, hàm và các cơ trên khuôn mặt. Trong khi việc mô phỏng
chuyển động của các cơ là áp dụng trực tiếp phương pháp bóp méo tứ giác thì việc mô
phỏng chuyển động của hàm và môi là sự kết hợp của việc sử dụng kỹ thuật 3D và các
phương pháp bóp méo ảnh.
Có trong tay các chuyển động xoay xương hàm và hệ mô phỏng các cơ, chúng tôi
đã có một nền tảng để xây dựng nên hệ thống cảm xúc cho nhân vật và phát triển một
khuôn mặt có khả năng nói chuyện.
- 47 -
Chƣơng 5
TẠO CẢM XÚC KHUÔN MẶT
5.1.Mở đầu
Cảm xúc khuôn mặt là một phương thức giao tiếp phi ngôn ngữ. Nó là sự kết
hợp chuyển động của các cơ trên khuôn mặt. Những chuyển động này làm thay đổi
trạng thái cảm xúc mà chúng ta thể hiện ra ngoài.
Trong chương trình của chúng tôi, để có thể tạo ra sự thay đổi và chuyển động
cảm xúc cho khuôn mặt nhân vật, có hai việc phải thực hiện
Xây dựng hệ thống các cơ tạo ra chuyển động cho khuôn mặt.
Xây dựng hệ thống các cảm xúc trên khuôn mặt dựa trên các cơ đó
Ở chương 4, chúng tôi đã giới thiệu một hệ thống mô phỏng các cơ tạo chuyển
động cho khuôn mặt. Ở chương này, chúng tôi sẽ giới thiệu công việc còn lại là xây
dựng hệ thống các cảm xúc dựa trên hệ các cơ được mô phỏng trước đó.
Chương này bao gồm ba phần :
Phần thứ nhất giới thiệu về hệ mã hóa các cử động khuôn mặt (Facial Action
Coding System – FACS) [Ekman & Friesen 1978]. Hệ thống này mô tả tất cả các cử
động cơ bản có thể quan sát được của khuôn mặt. Mỗi cử động này là kết hợp của một
hoặc nhiều cơ mặt. Hệ thống các cảm xúc được xây dựng dựa trên các cử động cơ bản
này.
Phần tiếp theo, chúng tôi sẽ giới thiệu về những cảm xúc cơ bản và mô hình sáu
cảm xúc được đưa ra bởi Paul Ekman [Ekman 1972]. Mỗi cảm xúc trong số sáu cảm
xúc này được mô tả dựa trên sự kết hợp của các đơn vị cử động trong hệ mã hóa các
cử động khuôn mặt (FACS) [Deng & Neumann 2008].
Phần cuối cùng, chúng tôi đưa ra cách xây dựng hệ thống cảm xúc cho nhân vật
của mình cùng với kết quả của chương trình.
5.2.Hệ mã hóa các cử động khuôn mặt (Facial Action Coding System - FACS)
Hệ thống mã hóa các cử động khuôn mặt bắt nguồn từ tên tiếng Anh Facial
Action Coding System và thường được viết tắt là FACS. FACS được đưa ra bởi Paul
Ekman và Wallace Friesen [Ekman & Friesen 1978]. Hệ thống này mô tả tất cả các cử
động cơ bản có thể quan sát được của khuôn mặt.
FACS là một danh sách gồm 64 đơn vị cử động (tên tiếng Anh là Action Unit,
viết tắt là AU), mỗi AU được mô tả là kết hợp của một hoặc một số các cơ trên khuôn
mặt.
FACS được ứng dụng rất phổ biến trong lĩnh vực tạo chuyển động cho khuôn
mặt [Ahlberg 2001 | Flores 2005]. Các cảm xúc trên khuôn mặt được xây dựng dựa
trên các AU của FACS.
- 48 -
Sau đây là bảng danh sách các AU của FACS
Bảng 2 : Hệ Mã Hóa Các Cử Động Khuôn Mặt (FACS)
AU
Mô tả chuyển
động
Các cơ chuyển động Hình ảnh minh họa
1 Nhướn mày trong Frontalis, pars medialis
2 Nhướn mày ngoài Frontalis, pars lateralis
4 Hạ lông mày
Corrugator supercilii,
Depressor supercilii
5 Nhướn mi trên
Levator palpebrae
superioris
6 Nâng má
Orbicularis oculi,
pars orbitalis
7 Căng mí mắt
Orbicularis oculi,
pars palpebralis
9 Nhăn mũi
Levator labii superioris
alaquae nasi
10 Nâng môi trên Levator labii superioris
- 49 -
11 Làm sâu mũi
Levator anguli oris
(a.k.a. Caninus)
12 Kéo khóe môi Zygomaticus major
13 Phồng má Zygomaticus minor
14 Má lúm đồng tiền Buccinator
15 Nén khóe môi
Depressor anguli oris
(a.k.a. Triangularis)
16 Bặm môi dưới Depressor labii inferioris
17 Nâng cằm Mentalis
18 Nhàu môi
Incisivii labii superioris
and
Incisivii labii inferioris
- 50 -
20 Kéo căng môi Risorius w/ platysma
22 Môi hình phễu Orbicularis oris
23 Bặm chặt môi Orbicularis oris
24 Ép môi Orbicularis oris
25
Tách môi trên
và dưới
Depressor labii inferioris or
relaxation of Mentalis, or
Orbicularis oris
26 Hạ hàm
Masseter, relaxed
Temporalis and internal
Pterygoid
27 Căng miệng Pterygoids, Digastric
28 Mút môi Orbicularis oris
- 51 -
41 Rủ mí mắt
Relaxation of Levator
palpebrae superioris
42 Ti hí mắt Orbicularis oculi
43 Nhắm mắt
Relaxation of Levator
palpebrae superioris;
Orbicularis oculi,
pars palpebralis
44 Liếc mắt
Orbicularis oculi, pars
palpebralis
45 Chớp mắt
Relaxation of Levator
palpebrae superioris;
Orbicularis oculi, pars
palpebralis
46 Nháy mắt
Relaxation of Levator
palpebrae superioris;
Orbicularis oculi, pars
palpebralis
51 Quay đầu sang trái
52 Quay đầu sang phải
53 Ngửa đầu lên
- 52 -
54 Cúi đầu xuống
55 Đầu ngả sang trái
56 Đầu ngả sang phải
57
Ngả đầu về phía
trước
58 Ngả đầu về phía sau
61 Liếc mắt sang trái
62 Liếc mắt sang phải
63 Ngước mắt lên trên
64
Mắt nhìn xuống
dưới
- 53 -
5.3.Những cảm xúc cơ bản
Những cảm xúc cơ bản là những cảm xúc được biểu lộ giống nhau giữa mọi nền
văn hóa trên thế giới [Ekman 1969]. Có nhiều nhà khoa học đã đưa ra những cách
khác nhau để phân loại những cảm xúc cơ bản [Plutchik 1980 | Parrot 2001 | Ortony &
Turner 1990]. Trong đó [Ekman 1972] đã đưa ra một danh sách 6 cảm xúc cơ bản như
sau
Ngạc nhiên
Sợ hãi
Tức giận
Ghê tởm
Hạnh phúc
Buồn bã
Sáu cảm xúc của Ekman khá nổi tiếng trên thế giới. Có một số lý do làm cho 6
cảm xúc của Ekman trở nên phổ biến như vậy : nó đã được Ekman khảo sát trong các
nền văn hóa trên thế giới và ông đã chứng tỏ rằng có thể xác định chính xác 6 cảm xúc
này dựa trên việc quan sát khuôn mặt. Sáu cảm xúc này cũng có đặc điểm là đơn giản,
hợp lý, dễ triển khai và đã được ứng dụng phổ biến trong việc tạo ra các tác nhân cảm
xúc [Duy 2004 | Tanguy 2005]
Chính vì thế chúng tôi sử dụng hệ thống 6 cảm xúc được đề xuất bởi Ekman
cho nhân vật của mình. Mỗi cảm xúc trong số 6 cảm xúc này là sự kết hợp chuyển
động của một số AU [Deng & Neumann 2008]. Như ta đã biết, mỗi AU lại là kết hợp
chuyển động của một số cơ mặt, vì vậy từ bảng các danh sách các AU của mỗi cảm
xúc cơ bản và danh sách các cơ mặt cho mỗi AU, ta xác định được danh sách các cơ
được sử dụng cho mỗi cảm xúc cơ bản.
Dưới đây là bảng liệt kê danh sách các AU tạo nên các cảm xúc cơ bản
Bảng 3 : Danh Sách Các AU Tạo Nên Các Cảm Xúc Cơ Bản
Các cảm xúc cơ bản Các AU tham gia
Ngạc nhiên 1, 2, 5, 15, 16, 20, 26
Sợ hãi 1, 2, 4, 5, 15, 20, 26
Ghê tởm 2, 4, 9, 15, 17
Tức giận 2, 4, 7, 9, 10, 20, 26
Hạnh phúc 1, 6, 12, 14
Buồn bã 1, 4, 15, 23
- 54 -
5.4.Xây dựng hệ thống các cảm xúc cho nhân vật
Xây dựng hệ thống các cảm xúc cho nhân vật là công việc cuối cùng mà chúng
tôi phải làm để cho nhân vật có thể biểu lộ được những cảm xúc.
Hiện giờ chúng ta đã có được danh sách các AU tạo nên các cảm xúc cơ bản,
danh sách các cơ tạo nên các AU và danh sách các cơ mà chương trình sử dụng. Kết
hợp ba bảng này, chúng ta sẽ có được danh sách các cơ trong hệ thống cơ của chương
trình có thể tạo nên sáu cảm xúc cơ bản.
Vì chương trình của chúng tôi có thể điều khiển được mức độ co giãn của các cơ
đồng nghĩa với việc điều khiển được mức độ tác động của các cơ lên khuôn mặt nên
chúng tôi có thể điều khiển được mức độ cảm xúc của nhân vật.
Sau đây, chúng tôi sẽ mô tả 6 cảm xúc cơ bản thông qua tập hợp các nhóm cơ và
phép quay hàm tương ứng với từng cảm xúc. Đồng thời chúng tôi cũng biểu diễn kết
quả chương trình của mình. Chú ý là một số cảm xúc cùng sử dụng một số cơ nhưng
mức độ của từng cơ ở mỗi cảm xúc có thể là khác nhau.
- 55 -
Cảm giác ngạc nhiên
Cảm giác ngạc nhiên là sự kết hợp chuyển động của :
o Quay hàm một góc ᴨ / 10
o Cơ kéo lông mày lên, phía ngoài
o Cơ kéo lông mày lên, phía trong
o Cơ mở mắt
o Thu hẹp môi theo chiều ngang
o Mở rộng môi theo chiều dọc
Kết quả của chương trình
Hình 57 : Cảm giác ngạc nhiên 50% và 100%
- 56 -
Cảm giác sợ hãi
Cảm giác sợ hãi là sự kết hợp chuyển động của :
o Quay hàm một góc ᴨ / 15
o Cơ kéo lông mày lên, phía ngoài
o Cơ kéo lông mày lên, phía trong
o Cơ mở mắt
o Thu hẹp môi theo chiều ngang
o Kéo khóe môi xuống
Kết quả chương trình
Hình 58 : Cảm giác sợ hãi 50% và 100%
- 57 -
Cảm giác ghê tởm
Cảm giác ghê tởm là sự kết hợp chuyển động của
o Cơ kéo khóe miệng xuống
o Cơ nén môi dưới
o Cơ kéo lông mày xuống
o Cơ kéo lông mày lên, phía ngoài
o Cơ nâng cánh mũi
o Cơ thu hẹp mắt, phía trên
Kết quả chương trình
Hình 59 : Cảm giác ghê tởm 70% và 100%
- 58 -
Cảm giác tức giận
Cảm giác tức giận là sự kết hợp chuyển động của
o Cơ nén môi trên
o Cơ nén môi dưới
o Cơ kéo lông mày xuống
o Cơ kéo lông mày lên, phía ngoài
Kết quả chương trình
Hình 60 : Cảm giác tức giận 40% và 100%
- 59 -
Cảm giác hạnh phúc
Cảm giác hạnh phúc là sự kết hợp chuyển động của
o Cơ kéo khóe môi lên
o Cơ nâng cánh mũi
o Cơ kéo lông mày lên, phía trong
o Cơ kéo lông mày lên, phía ngoài
o Cơ thu hẹp mắt, phía dưới
o Cơ mở mắt
Kết quả chương trình
Hình 61 : Cảm giác hạnh phúc 50% và 100%
- 60 -
Cảm giác buồn bã
Cảm giác buồn bã là sự kết hợp chuyển động của
o Cơ kéo khóe miệng xuống
o Cơ nâng cằm lên
o Cơ thu hẹp mắt, phía trên
Kết quả chương trình
Hình 62 : Cảm giác buồn bã 60% và 100%
- 61 -
5.5.Kết luận
Trong chương này, bằng cách giới thiệu về FACS và sáu cảm xúc cơ bản, kết
hợp với hệ mô phỏng các cơ đã được xây dựng trong chương 4, chúng tôi đã đưa ra
cách xây dựng hệ thống các cảm xúc cơ bản cho nhân vật của mình. Bằng cách đó,
chúng tôi đã biểu diễn kết quả chương trình của mình dưới dạng những bức ảnh mô tả
sáu cảm xúc cơ bản của nhân vật.
Chúng tôi nhận thấy rằng, để có thể tạo nên những cảm xúc thật nhất cho khuôn
mặt thì chúng tôi phải dành thời gian để điều chỉnh và kết hợp chuyển động của các cơ
sao cho chính xác nhất. Nếu chương trình càng có trong tay nhiều chuyển động của
các cơ và càng nhiều loại phép biến đổi hợp lý được áp dụng thì càng có khả năng việc
mô tả các chuyển động cảm xúc diễn ra thật hơn. Điều này thôi thúc chúng tôi tiếp tục
nghiên cứu và phát triển các phép biến đổi để có thể tạo ra thêm các chuyển động khác
nhau cho khuôn mặt nhân vật.
- 62 -
Chƣơng 6
XÂY DỰNG KHUÔN MẶT NÓI TIẾNG VIỆT
6.1.Mở đầu
Để có thể tạo được khả năng nói chuyện cho khuôn mặt, chương trình cần có ba
thứ
Một chương trình tổng hợp tiếng nói từ văn bản (text-to-speech) có khả
năng đưa ra một danh sách các âm vị và thời gian phát âm của.
Một danh sách tương ứng mỗi âm vị với một hình vị.
Một tập hợp các hình vị cho khuôn mặt, cách tạo chuyển động giữa các hình
vị.
Chương trình của chúng tôi đã cố gắng thực hiện bước 2 và bước 3. Chúng tôi
đã cố gắng tìm hiểu về hệ thống âm vị và hình vị trong tiếng Việt để xây dựng nên một
tập hợp các hình vị cho khuôn mặt của mình. Cùng với đó là đưa ra danh sách tương
ứng của các âm vị và hình vị trong tiếng Việt. Việc tạo chuyển động giữa các hình vị
là khá dễ dàng vì mỗi chuyển động của chương trình chúng tôi đều được thông qua các
tham số. Hiện tại chúng tôi đang cố gắng áp dụng một chương trình tổng hợp tiếng nói
từ văn bản cho chương trình của mình.
Đối với lĩnh vực tổng hợp tiếng nói từ văn bản, các ngôn ngữ phổ biến trên thế
giới như tiếng Anh, tiếng Pháp hay tiếng Tây Ban Nha đã có nhiều ứng dụng và cho
kết quả tốt. Hiện nay, đã xuất hiện một số chương trình tổng hợp tiếng nói từ văn bản
cho tiếng Việt và vẫn đang trong quá trình hoàn thiện.
Cấu trúc của chương này bao gồm bốn phần chính : hai phần đầu chúng tôi giới
thiệu về âm vị, hình vị và hệ thống âm vị và hình vị trong tiếng Việt. Dựa vào đó, ở
phần thứ ba chúng tôi sẽ giới thiệu về hệ thống hình vị cho khuôn mặt của mình. Phần
cuối cùng chúng tôi giành để nói về việc tạo chuyển động giữa các hình vị
6.2.Giới thiệu về âm vị và hình vị
Âm vị
Âm vị (phoneme) là đơn vị nhỏ nhất của âm thanh. Về mặt ý nghĩa thì một âm
vị hoàn toàn không mang một ý nghĩa gì.
Trong nhiều ngôn ngữ, mỗi chữ cái tương ứng với một âm vị.
Trong một số ngôn ngữ khác, như tiếng Anh, quan hệ giữa âm vị và chữ cái
không phải lúc nào cũng là quan hệ một – một. Ví dụ, hai chữ cái sh tương ứng với
một âm vị /ʃ/, trong khi các chữ cái k và c có thể cùng biểu diễn một âm vị /k/.
Hình vị
- 63 -
Hình vị (viseme) là đơn vị nhỏ nhất của hình ảnh. Một hình vị mô tả vị trí cụ thể
của mặt, miệng và những chuyển động của chúng trong thời gian mà âm vị tương ứng
được phát ra.
Âm vị và hình vị không phải lúc nào cũng có quan hệ một – một. Thường thì
vài âm vị cùng chia sẻ một hình vị. Nói một cách khác, một vài âm vị được phát ra
trông có vẻ giống nhau, ví dụ như /k/, /g/, /ŋ/. Tuy nhiên, có thể vẫn tồn tại sự khác
biệt về thời gian của các âm vị này.
6.3.Âm vị và hình vị trong tiếng Việt
Âm vị trong tiếng Việt
Âm vị trong tiếng Việt có thể phân làm hai loại là : nguyên âm và phụ âm. Nếu
một âm khi phát ra, luồng không khí từ phổi đi qua các khoang phát âm mà không bị
cản ở bất cứ một vị trí nào, thì đó là nguyên âm. Nếu một âm khi phát âm luồng không
khí từ phổi đi qua các khoang mà bị cản ở một vị trí nào đó thì là phụ âm [Lanh & Hòa
2007].
Hình vị trong tiếng Việt
Hình vị của nguyên âm
Các nguyên âm được phân chia và đồng thời được miêu tả theo ba tiêu chí chính
là vị trí của lưỡi, độ há của miệng và hình dáng của môi [Thảo & Tỉnh 2007]. Vì
chương trình của chúng tôi không mô phỏng chuyển động của lưỡi nên ở phần này
chúng tôi chỉ nói về độ há của miệng và hình dáng của môi.
Theo độ há của miệng, các nguyên âm được phân thành bốn loại là : nguyên âm
đóng (i), nguyên âm nửa đóng (ê), nguyên âm nửa mở (e) và nguyên âm mở (a). Tính
chất hẹp → rộng của nguyên âm được xác định bởi sự mở rộng dần của miệng.
Theo hình dáng của môi, các nguyên âm được phân thành hai loại, bao gồm :
nguyên âm tròn môi (o, ô) và nguyên âm không tròn môi (ơ). Tính chất tròn hay không
tròn được xác định theo khuôn môi.
Hình 63 : Hình thang nguyên âm
- 64 -
Trên đây là hình thang 16 nguyên âm trong tiếng Việt. Các cột ngang thể hiện độ
há của miệng. Hai phía của cột dọc thể hiện hình dáng của môi – phía trái thể hiện
những nguyên âm không tròn môi, phía phải thể hiện những nguyên âm tròn môi.
Hình vị của phụ âm
Các phụ âm được phân chia và đồng thời được miêu tả theo hai tiêu chí chính là
vị trí phát âm và phương thức phát âm. Khi xây dựng chương trình chúng tôi chỉ quan
tâm đến tiêu chí là vị trí phát âm.
Theo vị trí phát âm, các phụ âm được phân thành ba loại là phụ âm môi, phụ âm
lưỡi và phụ âm thanh hầu. Phụ âm môi là phụ âm mà khi phát âm có sự tham gia của
môi (môi – môi như b, p; môi – răng như v, ph). Phụ âm lưỡi là phụ âm mà khi phát
âm có sự tham gia của lưỡi hoặc đầu lưỡi (đ, ch, c, k). Phụ âm thanh hầu là phụ âm mà
khi phát âm chỉ có sự tham gia của dây thanh (h).
6.4.Xây dựng tập hợp các hình vị cho khuôn mặt
Hình vị của nguyên âm
Xét hai tiêu chí để phân loại nguyên âm. Đó là độ há của miệng và độ tròn của
môi. Cả hai tiêu chí này đều có thể mô phỏng được trong chương trình của chúng tôi.
Độ há của miệng tương ứng với góc quay của hàm còn độ tròn của môi phụ thuộc vào
các cơ tác động lên môi. Bằng cách sử dụng góc quay của hàm và các cơ tác động lên
môi theo tiêu chí của hình thang nguyên âm, chúng tôi xây dựng các hình vị cho
nguyên âm như sau. Để cho đơn giản, chúng tôi nhóm một số nguyên âm hơi giống
nhau vào cùng một nhóm.
Hình 64 : Các hình vị tƣơng ứng của a|ă|â và e|ê và o
Hình 65 : Các hình vị tƣơng ứng của ô và ơ và oo
- 65 -
Hình 66 : Các hình vị tƣơng ứng của u và ư
Hình vị của phụ âm
Theo tiêu chí phân loại của phụ âm là vị trí phát âm. Chúng tôi chia phụ âm ra
làm ba loại, 2 loại thuộc loại phụ âm môi là môi – môi và môi – răng, một loại là các
phụ âm còn lại
Hình 67 : Các hình vị tƣơng ứng của b|m|p và v|ph và các phụ âm còn lại
6.5.Tạo chuyển động liên tục cho khuôn mặt khi nói chuyện
Đầu vào của chương trình là một văn bản, đó có thể là một đoạn văn, một câu
hoặc một vài từ. Nói một cách tổng quát thì đầu vào của chương trình là một dãy các
ký tự. Với mỗi ký tự thì chúng tôi đều đã xây dựng được hình vị tương ứng với nó.
Bây giờ việc của chương trình là làm cho việc chuyển từ hình vị này sang hình vị khác
được liên tục.
Có thể dễ thấy, mỗi hình vị được tạo ra chỉ bởi góc quay của hàm và các cơ của
môi. Để có thể chuyển từ hình vị này sang hình vị khác, chúng tôi tạo ra các hình vị
trung gian nằm giữa hình vị đầu và cuối. Vì tất cả các hình vị đều được cho bởi các
tham số khác nhau, để tạo ra các hình vị mới, chúng tôi tính toán các giá trị tham số
nằm giữa các tham số của hai hình vị đầu và cuối.
Ví dụ như góc quay của hàm với ứng với ư là ᴨ / 30, góc quay của hàm với ơ là ᴨ
/ 15, khi đó để sinh ra một hình vị mới nằm chính giữa hình vị của ư và ơ thì góc quay
của hàm đối với hình vị mới là (ᴨ / 30 + ᴨ / 15) / 2 = ᴨ / 20. Tương tự, các cơ xác định
hình dạng của môi cũng được xác định độ lớn là các giá trị trung gian của các cơ đó ở
hai hình vị đầu và cuối.
Bằng cách hiện lên các hình vị trung gian, chương trình của chúng tôi có thể tạo
ra được chuyển động giữa các hình vị. Bằng cách đó, chương trình của chúng tôi có
thể tọa chuyển động liên tục cho miệng khi nói chuyện
6.6.Kết luận
- 66 -
Trong chương này, chúng tôi đã giới thiệu về âm vị và hình vị trong tiếng Việt và
những bước khởi đầu của chúng tôi để xây dựng một khuôn mặt nói tiếng Việt.
Phương pháp của chúng tôi có thể nói còn khá thô sơ. Chương trình của chúng
tôi có thể nói một cách trực quan được một văn bản tiếng Việt có độ dài bất kỳ nhưng
không điều khiển được thời điểm để nói. Cái mà chúng tôi còn thiếu là một chương
trình tổng hợp ngôn ngữ từ văn bản có thể hỗ trợ chương trình của chúng tôi trong việc
đưa ra một danh sách các hình vị và thời gian của mỗi hình vị đó, đồng thời phát ra các
âm vị tương ứng.
Hiện nay có một số chương trình tổng hợp ngôn ngữ từ văn bản có thể hỗ trợ
chương trình của chúng tôi. Một trong số đó là Mbrola, một chương trình nổi tiếng có
thể hỗ trợ tới hơn 30 ngôn ngữ trên thế giới. Nhưng rất tiếc trong đó không có tiếng
Việt. Hiện nay chúng tôi cũng chưa tìm được chương trình tiếng Việt nào có thể hỗ trợ
được cho chương trình của mình.
Trong tương lai chúng tôi dự định sẽ xây dựng một hệ thống các hình vị cho
tiếng Anh và áp dụng một chương trình tổng hợp ngôn ngữ từ văn bản cho tiếng Anh
để áp dụng cho chương trình của mình. Nhưng hơn hết chúng tôi hi vọng có thể có
được một chương trình tổng hợp ngôn ngữ tiếng Việt có thể ứng dụng được cho
chương trình của mình.
- 67 -
Chƣơng 7
TỔNG KẾT
Khóa luận này đã đưa ra một giải pháp tạo chuyển động chân thực cho khuôn
mặt trong không gian hai chiều. Phương pháp mà chúng tôi sử dụng nhận đầu vào là
một bức ảnh, sau đó phương pháp sử dụng những phép biến đổi ảnh để thay đổi trạng
thái cảm xúc khuôn mặt hoặc lời mà khuôn mặt nói ra.
So với phương pháp ghi lại video, phương pháp của chúng tôi chỉ cần đầu vào
là một bức ảnh duy nhất của khuôn mặt trong khi phương pháp ghi lại video cần đầu
vào là một đoạn video. Ngoài ra phương pháp của chúng tôi có thể tạo ra những cảm
xúc, những hình vị mới cho khuôn mặt, phương pháp ghi lại video chỉ có thể tạo
chuyển động giữa các hình ảnh có sẵn.
So sánh với phương pháp dựa trên kỹ thuật 3D, cả hai phương pháp đều chỉ cần
một bức ảnh duy nhất làm đầu vào. Tuy vậy quá trình để xây dựng cho chương trình
của phương pháp dựa trên kỹ thuật 3D là rất phức tạp. Tuy vậy, ưu điểm lớn nhất của
phương pháp chúng tôi đưa ra so với phương pháp dựa trên kỹ thuật 3D là phương
pháp của chúng tôi không đòi hỏi độ phức tạp trong tính toán bằng. Điều đó có nghĩa
là phương pháp của chúng tôi không yêu cầu các máy có cấu hình cao như của phương
pháp dựa trên kỹ thuật 3D.
Để phát triển tiếp chương trình, công việc trước mắt của chúng tôi là hoàn thiện
khả năng nói chuyện cho khuôn mặt mà cụ thể ở đây là tiếng Việt. Chúng tôi hy vọng
có thể tạo được một khuôn mặt vừa có thể biểu lộ cảm xúc vừa có thể nói chuyện với
người sử dụng.
Về những cải tiến trong việc tạo chuyển động cho khuôn mặt, chúng tôi nghĩ
đến việc tạo chuyển động cho mắt. Chúng tôi cho rằng đây là công việc có thể thực
hiện được khi việc xác định được các điểm nằm trên con ngươi không phải là bất khả
thi.
Với việc xây dựng được một khuôn mặt có khả năng biểu lộ cảm xúc và nói
chuyện, hướng phát triển tiếp theo của chúng tôi là xây dựng một nhân vật ảo với tính
cách riêng để dùng trong các ứng dụng tương tác người máy trong các phần mềm, trên
nền web hoặc trong các thiết bị di động.
Chúng tôi cũng nghĩ đến việc làm sao để chuyển giao mô hình chuyển động của
khuôn mặt hiện tại sang một khuôn mặt khác. Để tạo được chuyển động cho khuôn
mặt mới, chương trình phải xác định được vị trí các điểm đặc trưng trên khuôn mặt và
vector của các cơ. Đây là công việc đơn giản. Việc xác định được các điểm nằm trên
môi dưới thì hơi phức tạp hơn một chút nhưng vẫn có thể thực hiện được. Để xây dựng
được một chương trình có thể tự động tạo chuyển động cho khuôn mặt với đầu vào là
một bức ảnh thì chúng tôi cần phải phát triển một chương trình có khả năng nhận ra
các điểm đặc trưng trên khuôn mặt.
Một thách thức nữa đặt ra là khi đầu vào của chương trình là một bức ảnh
không chụp thẳng và khuôn mặt không trung lập, tức là đang bộc lộ một cảm xúc nào
- 68 -
đó. Với phương pháp dựa trên kỹ thuật 3D, phương pháp này có đưa ra giải pháp với
tình huống này và có thể trả về một khuôn mặt trung lập và chụp thẳng. Chúng tôi hiện
đang nghĩ đến giải pháp kết hợp ưu điểm của phương pháp này với phương pháp của
mình. Với đầu vào là một bức ảnh có khuôn mặt ở các vị trí khác nhau, sử dụng
phương pháp dựa trên kỹ thuật 3D để đưa khuôn mặt về trạng thái trung lập và chụp
thẳng, khi đó có thể dễ dàng xác định được các điểm đặc trưng và các cơ trên khuôn
mặt. Sau đó dùng phương pháp của chúng tôi để biến đổi cảm xúc của khuôn mặt. Khi
đó, phương pháp này vừa có thể tận dụng đầu vào là một bức ảnh bất kỳ và tận dụng
được ưu điểm của phương pháp chúng tôi trong tốc độ xử lý.
- 69 -
TÀI LIỆU THAM KHẢO
TIẾNG ANH
[1]
[Ahlberg 2001] J. Ahlberg. CANDIDE-3 -- an updated parameterized face.
[2]
[Blanz 1999] V.Blanz & T.Vetter. A morphable model for the synthesis of 3D faces.
[3]
[Blanz 2003] V.Blanz. Reanimating Faces in Images and Video. The Eurographics
Association and Blackwell Publishers.
[4]
[Bregler 1997] C.Bregler. Video Rewrite: Driving Visual Speech with Audio.
[5]
[Bourke 2002] P.Bourke. Image warping / Distortion.
[6]
[Choe 2001] B.Choe. Performance-Driven Muscle-Based Facial Animation.
[7]
[Chuang 2005] E.Chuang. Mood Swings: Expressive Speech Animation.
[8]
[Covell 1996] M.Covell & C.Bregler. Eigenpoints.
[9]
[Deng & Neumann 2008] Z.Deng & U.Neumann. Data-Driven 3D Facial
Animation.
[10]
[Duy 2004] B.T.Duy. Creating Emotions And Facial Expressions For Embodied
Agents.
[11]
[Ekman & Friesen 1969] P.Ekman & W.Friesen. The repertoire of nonverbal
behavior: Categories, origins, usage, and coding.
[12]
[Ekman 1972] P.Ekman. Universals and cultural differences in facial expressions
of emotion. University of Nebraska Press.
[13]
[Ekman & Friesen 1978] P.Ekman & W.Friesen. Facial Action Coding System: A
Technique for the Measurement of Facial Movement.
[14]
[Ezzat 1998] T.Ezzat. MikeTalk: A Talking Facial Display Based on Morphing
Visemes.
[15]
[Flores 2005] V.C.Flores. ARTNATOMY/ARTNATOMIA.
[16]
[Gouraud 1971] H.Gouraud. Computer display of curved surfaces. PhD thesis,
Dept. of Electrical Engineering, University of Utah.
- 70 -
[17]
[Hoch 1994] M.Hoch, G.Fleischmann & B.Girod. Modeling and animation of
facial expressions based on b-splines. Visual Computer.
[18]
[Kahler 2001] K.Kahler, J.Haber & H.P.Seidel. Geometry-based muscle modeling
for facial animation. Proceedings of Graphics Interface 2001.
[19]
[Kalra 1992] P.Kalra, A.Mangili, N.Magnenat-Thalmann, & D.Thalmann.
Simulation of facial muscle actions based on rational free form deformations.
Computer Graphics Forum (EURO-GRAPHICS ‟92 Proceedings)
[20]
[Kalberer 2001] G.Kalberer & L.Van Gool. Face animation based on observed
3D speech dynamics.
[21]
[Kirby 1990] M.Kirby & L.Sirovich. Application of the Karhunen-Loeve
procedure for the characterization of human faces.
[22]
[Lee 1995] Y.Lee, D.Terzopoulos, & K.Waters. Realistic face modeling for
animation. SIGGRAPH „95 Conferenc
Các file đính kèm theo tài liệu này:
- LUẬN VĂN THỬ NGHIỆM PHƯƠNG PHÁP BIẾN ĐỔI KHUÔN MẶT TRÊN ẢNH HAI CHIỀU.pdf