MỞ ĐẦU Hiện nay, phần lớn tƣơng tác giữa con ngƣời và máy tính đƣợc thực hiện thông qua chuột và bàn phím. Cùng với sự phát triển nhanh chóng của đồ họa máy tính và công nghệ ngôn ngữ, các nhà nghiên cứu ngày càng chú ý tới việc đƣa sự tƣơng tác này trở nên linh hoạt, thích ứng và hƣớng tới con ngƣời hơn. Một cách thực hiện điều này là qua việc tạo ra các agent hiện thân (embodied agent). Các agent hiện thân đã từng đƣợc sử dụng làm giao diện cho tƣơng tác con ngƣời – máy tính [11].
Ngƣời ta cho rằng những agent hội thoại hiện thân (embodied conversational agents) cho phép ngƣời sử dụng tƣơng tác tự nhiên hơn với máy tính. Với xu thế phát triển của thế giới ảo, công nghệ agent hiện thân cho phép tạo dựng những nhân vật ảo với nhiều mục đích khác nhau nhƣ giải trí, giáo dục. Khả năng nói chuyện, biểu hiện gƣơng mặt và các cử chỉ của agent hiện thân khiến chúng rất phù hợp với các ứng dụng giải trí. Ngƣời kể chuyện ảo tại Đại học Twente là một ví dụ về agent hiện thân [38].
Đây là một agent nói chuyện hiện thân, kể lại những câu chuyện đƣợc sáng tác ra, với những ngôn điệu và cử chỉ thích hợp. Agent này đƣợc đặt trong một mô hình - bản sao nhà hát địa phƣơng: Virtual Music Center. Bên cạnh dạng kể chuyện truyền thống này, ngƣời ta cũng dự định phát triển các vở kịch ảo, trong đó các nhân vật hiện thân diễn trên sân khấu ảo, dựa trên cốt truyện đã sáng tác. Còn có nhiều ví dụ khác về các agent hiện thân phục vụ lĩnh vực giải trí, nhƣ các nhân vật nhân tạo ở phòng thí nghiệm truyền thông MIT [4], các nhà bình luận bóng đá robot [2].
Các agent hiện thân có thể làm ngƣời hƣớng dẫn các thủ tục, trả lời câu hỏi thắc mắc, và kiểm soát hành động của sinh viên. Agent hiện thân cũng có thể trở thành đồng đội trong những nhiệm vụ đòi hỏi sự tham gia của nhiều ngƣời. Một ví dụ về những agent nhƣ vậy là Steve - chuyên gia luyện bay trong môi trƣờng ảo tại Đại học Nam California [35]. Steve đƣợc xây dựng nhằm hỗ trợ việc tập luyện của đội trong một mô hình môi trƣờng làm việc ảo tƣơng tác ba chiều của một sinh viên, khi mà việc luyện tập dựa trên các thiết bị thật không có trên thực tế.
Các agent hiện thân cũng đƣợc dùng để phát triển các trò chơi trên máy tính. Các trò chơi máy tính truyền thống thƣờng có những nhân vật thụ động, cứng nhắc, máy móc. So với trò chơi một ngƣời chơi (một ngƣời chơi với các nhân vật máy tính), thì các trò chơi nhiều ngƣời chơi vẫn đƣợc ƣa chuộng hơn. Chơi với ngƣời thật thú vị hơn vì cách phản ứng của con ngƣời luôn đƣa đến những diễn biến mới mẻ, ngay cả khi chơi nhiều lần với cùng một ngƣời.
Còn trò chơi chỉ chơi với nhân vật máy tính sẽ không có đƣợc điều đó. Các agent hiện thân (hay các nhân vật ảo có thể cử động) có mục tiêu, kiến thức và khả năng riêng của chúng, đây có thể là lời giải đáp cho vấn đề này [23], đặc biệt là đối với những loại trò chơi sử dụng máy tính để tạo nên thế giới và các nhân vật ảo có thể tƣơng tác động với ngƣời chơi, ví dụ nhƣ Quake, Half-Life 2, Diablo 3,. Do đó, các nhân vật ảo có thể cử động đang đƣợc phát triển và đƣa vào z 2 nhiều loại trò chơi máy tính. Chúng cũng có tiềm năng dẫn đến việc ra đời những loại trò chơi hoàn toàn mới [23].
Một agent hiện thân điển hình gồm các thành phần sau: - Một cái đầu nói chuyện có khả năng nói, thể hiện các cử động môi trong khi nói, có các biểu cảm trên gƣơng mặt và thể hiện đƣợc các tín hiệu hội thoại. - Một cơ thể có khả năng thể hiện các cử chỉ. - Một mô hình trí não có thể bao gồm lòng tin, cảm xúc, kế hoạch hành vi, động thái và tính cách… Đối tƣợng nghiên cứu của luận văn này là các agent hiện thân đƣợc thể hiện dƣới dạng một khuôn mặt 3D. Trong bài toán xây dựng một mô hình khuôn mặt 3D, thông thƣờng ta phải trải qua các bƣớc sau: - Bƣớc 1: Sử dụng đồ hoạ máy tính để tạo dựng một mô hình khuôn mặt 3D.
- Bƣớc 2: Tạo dựng mô hình cơ mặt có thể đạt đƣợc những biểu hiện khuôn mặt chân thực trong thời gian thực trên một máy tính thông thƣờng. Các nghiên cứu trƣớc đây đã cho thấy bƣớc 2 đòi hỏi rất nhiều công sức và thời gian. Và việc này lặp lại mỗi khi chúng ta xây dựng một mô hình khuôn mặt 3D mới. Đây là lý do để luận văn nghiên cứu một phƣơng pháp tạo dựng mô hình cơ mặt cho một khuôn mặt 3D mới bằng cách biến đổi mô hình khuôn mặt nguồn đã có mô hình cơ mặt.
Trên cơ sở nghiên cứu và thử nghiệm phƣơng pháp nhân bản của Bùi Thế Duy và cộng sự [9], tôi đƣa ra một quy trình và xây dựng một công cụ tạo ra hoạt ảnh trên các khuôn mặt 3D. Công cụ này đƣợc xây dựng để kết nối với phần mềm tạo khuôn mặt Poser. Có một số ƣu điểm khi sử dụng mô hình khuôn mặt biến đổi để thể hiện một mô hình khuôn mặt mới thay cho việc sử dụng chính bản thân mô hình mới. Thứ nhất, khi tạo hoạt ảnh với những mô hình khuôn mặt khác nhau, chúng ta có thể giữ đƣợc một mô hình khuôn mặt cố định với số đỉnh và số đa giác đƣợc xác định trƣớc.
Thứ hai, ta có thể tái sử dụng các thông số trên mô hình khuôn mặt cố định trƣớc, ví dụ nhƣ các thông số xoay quai hàm và đảo mắt. Thứ ba, ta có thể sử dụng lại những thông tin về các vùng trên mô hình khuôn mặt để nâng cao hiệu quả của cơ vectơ và điều khiển hoạt ảnh. Luận văn đƣợc cấu trúc nhƣ sau. Chƣơng 1 giới thiệu một mô hình khuôn mặt 3D dựa trên hệ thống cơ đơn giản, có thể đáp ứng các mục tiêu sau: nó vừa có thể tạo nên những biểu hiện khuôn mặt chân thực, đồng thời lại đạt đƣợc hoạt ảnh thời gian thực trên những máy tính cá nhân thông thƣờng.
Chƣơng 2 trình bày cơ sở lý thuyết để xây dựng một phƣơng pháp truyền hoạt ảnh khuôn mặt từ một mô hình khuôn mặt cho trƣớc tới một mô hình mới đƣợc tạo ra mà không cần nhiều thao tác của con ngƣời. Chƣơng 3 trình bày một phƣơng pháp truyền hoạt ảnh khuôn mặt từ một mô hình khuôn mặt cho trƣớc tới một mô hình mới đƣợc tạo ra mà không cần nhiều thao tác của con ngƣời. Chƣơng này mô tả quy trình và một công cụ do tác giả phát triển để thử nghiệm phƣơng pháp đƣợc đƣa ra trong luận văn. TỔNG QUAN VỀ KHUÔN MẶT VÀ HOẠT ẢNH CỦA KHUÔN MẶT 3D 1.1 Giới thiệu Khuôn mặt của con ngƣời rất đặc biệt.
Đó là bộ phận cơ thể quan trọng để giúp nhận diện một ngƣời bằng mắt thƣờng. Trong hàng trăm khuôn mặt quen thuộc, chúng ta vẫn có thể nhận ra một khuôn mặt cụ thể. Ta cũng có khả năng phát hiện ra từng cử động tinh tế của khuôn mặt. Khả năng này phát triển từ thời thơ ấu của chúng ta và nhờ nó ta có đƣợc công cụ giao tiếp cơ bản nhất của con ngƣời.
Theo một số nghiên cứu, trẻ em 9 tháng tuổi bắt đầu hiểu đƣợc những phản ứng của khuôn mặt ngƣời khác. Ngay khi 1 tuổi, trẻ em phát triển bình thƣờng có thể phân biệt các biểu hiện cảm xúc và chúng tiếp tục hoàn thiện khả năng này trong quá trình trƣởng thành. Hoạt ảnh của khuôn mặt con ngƣời giữ vai trò quan trọng trong giao tiếp mặt đối mặt. Cử động môi trong khi nói chuyện giúp đoán biết đƣợc bằng mắt ngƣời đó đang nói gì.
Cohen and Massaro [13] đã chứng minh rằng tỷ lệ nhận biết âm vị từ những đoạn video vừa có hình ảnh ngƣời nói vừa có âm thanh cao hơn hẳn so với từ những đoạn băng chỉ có âm thanh. Đối với ngƣời điếc, cử động môi là điều thiết yếu để họ hiểu đƣợc các hội thoại. Trong giao tiếp bằng cử chỉ, biểu hiện của khuôn mặt thƣờng ngụ ý sự biến đổi của khuôn mặt theo thời gian. Tuy nhiên, ngay cả một bức tranh chân dung cũng thể hiện cảm xúc, nghĩa là biểu hiện của khuôn mặt có thể ở chế độ tĩnh, mặc dù những biểu hiện đó không rõ ràng nếu không đƣợc đặt trong hoàn cảnh cụ thể.
Biểu hiện của khuôn mặt diễn ra liên tục trong suốt quá trình nói chuyện. Chúng là sự minh họa và bổ sung cho những thông tin từ lời nói. Chúng có thể diễn đạt cảm xúc, tâm trạng, và truyền đạt các thông tin về tính cách của ngƣời nói. Những thông tin này có thể làm lộ ra phần ẩn giấu bên trong một con ngƣời, mà lời nói không toát lên đƣợc.
Bài toán tạo mô hình khuôn mặt con ngƣời và tạo ra các hoạt ảnh mặt bằng máy tính là một thách thức lớn trong cộng đồng khoa học nghiên cứu về đồ họa vi tính. Một nhu cầu mới nảy sinh là thể hiện đƣợc khuôn mặt chân thực, chất lƣợng cao và đồng thời đạt đƣợc hoạt ảnh thời gian thực của khuôn mặt. Nhìn chung, trƣớc nghiên cứu của Bùi Thế Duy và cộng sự [7, 8], các cách tiếp cận đều chƣa thể đạt đƣợc cả hai mục tiêu này. Hoạt ảnh khung cơ sở (key-frame animation) [29], hoạt ảnh đƣợc tham số hoá (parameterized animation) [30] và hoạt ảnh dựa trên hệ thống cơ giả (pseudo- muscle-based animation) [21] là các cách thức đơn giản để đạt đƣợc hoạt ảnh thời gian thực, tuy nhiên chúng không thể tạo ra các biểu hiện khuôn mặt chân thực, do không tạo đƣợc các chỗ phình và nếp nhăn trên da, cũng nhƣ không xử lý đƣợc các tƣơng tác đa tham số (đa cơ).
Mặt khác, hoạt ảnh dựa trên hệ thống cơ đa lớp với nhiều lớp thuộc cấu trúc khuôn mặt có thể tạo đƣợc sự biểu đạt chân thực, nhƣng việc xử lý hoạt ảnh z 4 thời gian thực bằng phƣơng pháp này đòi hỏi dung lƣợng tính toán khổng lồ, mà các máy tính cá nhân thông thƣờng không đáp ứng đƣợc. Trong chƣơng này, tôi sẽ xem xét một mô hình khuôn mặt 3D dựa trên hệ thống cơ giản đơn, mà có thể tạo ra nét mặt chân thực cũng nhƣ các hoạt ảnh thời gian thực trên máy tính cá nhân thông thƣờng.