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
Trang 1ĐẠ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
Trang 2ĐẠ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
Trang 3TÓ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
Trang 4LỜ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
Trang 5MỤ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
Trang 63.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
Trang 8DANH 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 = r 2 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
Trang 9Hì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
Trang 10DANH 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
Trang 11Chươ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
Trang 12Cũ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ý
Trang 13Chú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
Trang 14Chươ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]
Trang 15Hì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
Trang 16Như đã 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
Trang 17củ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
Trang 18Hì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
Trang 19khi 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ự
Trang 20Hì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
Trang 21Hì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
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
Trang 22đượ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)
Trang 232.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
Trang 24Nhượ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ể
Trang 25Chươ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 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
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
Trang 26Cấ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
Trang 27x‟ = -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
Trang 28biế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
x f e d
c b a
w y x
1 0 0 '
f e d
c b a w
y x
' ' '
Trang 293.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(x2 + y2) 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
Trang 30Hì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
Trang 31Hì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 = r 2
Trang 32Hì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
Trang 33 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
Trang 34Hệ 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 A3trong đó 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
Trang 35gố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
Trang 36Bằ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ệ
Trang 37Để 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
Trang 383.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
Trang 39hai 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
Trang 40Cô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
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ó