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  
THNGHIỆM PHƢƠNG PHÁP BIẾN ĐỔI  
KHUÔN MẶT TRÊN ẢNH HAI CHIU  
KHOÁ LUẬN TT NGHIỆP ĐẠI HC HỆ CHÍNH QUY  
Ngành: Công Nghệ Thông Tin  
HÀ NỘI - 2009  
ĐẠI HC QUỐC GIA HÀ NỘI  
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ  
--------  
Bùi Lê Hùng  
THNGHIỆM PHƢƠNG PHÁP BIẾN ĐỔI  
KHUÔN MẶT TRÊN ẢNH HAI CHIU  
KHOÁ LUẬN TT NGHIỆP ĐẠI HC HỆ CHÍNH QUY  
Ngành: Công Nghệ Thông Tin  
Cán bộ hƣớng dn: TS. Bùi Thế Duy  
HÀ NỘI - 2009  
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 chiu. Sdụng đầu vào là một bc 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 bng tiếng Vit. 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ó nhng chuyển động chân thực kết hp vi  
vic tn dụng ưu điểm của đồ ha hai chiu trong tốc độ xử lý. Kết qucủa phương  
pháp này là khá khả quan. Khuôn mặt đã có thể biu lộ được nhng cảm xúc cơ bản và  
mô phỏng được các chữ cái trong tiếng Vit.  
I
 
LI CẢM ƠN  
Trước hết, em xin được chân thành gi li cảm ơn tới thầy T.S Bùi Thế Duy vì  
đã chỉ bảo và hướng dn 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 nhng kiến thức quý báu trong suốt bốn năm học đại hc.  
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 gi ti bmẹ 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  
II  
 
MC LC  
Chƣơng 1  
Chƣơng 2  
Chƣơng 3  
III  
 
Chƣơng 4  
Chƣơng 5  
Chƣơng 6  
IV  
DANH MỤC HÌNH ẢNH  
Hình 17 : nh bbiến đổi bởi công thc r = r2.............................................................21  
VI  
 
VII  
Chƣơng 1  
GII THIU  
Dn nhp  
Năm 2001, khi phần đầu tiên của bphim hoạt hình Shrek ra đời, tng 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 triu. Ba năm sau đó, Shrek III tiếp tc thng li lớn và mang lại cho đoàn làm  
phim gn 800 triệu đô la.  
Hꢀnh 1 : Hai vchồ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 bphim do  
con người đóng, thật khó để có thể tìm được mt diễn viên nào có ngoại hình như  
Shrek mà lại có thể mang vmt lot ba phim vi doanh thu lên đến hàng trăm triệu  
đô. Câu trả lời có lẽ nm nhiều khía cạnh như tính cách tốt bng, bn chất chân tht  
của Shrek nhưng có lẽ yếu tquan trong nhất chính là chúng ta cảm thấy đồng cm  
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 tt bụng này.  
Cùng với sự thành công của mt sbphim 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.  
- 1 -  
   
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ế gii 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ế gii thc (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  
xut hin mt tin nhn lại có một nhân vật xut hin đọc tin cho bn.  
Có thể nói, ứng dng ca việc xây dựng lên các nhân vật o trong cuc sng  
ngày nay là vô cùng lớn. Để xây dựng lên một nhân vật o cn skết hp ca nhiu  
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 bcấu hình cao và nhiều công sức của con người. Bởi người xem mun thy  
một nhân vật có cách nói chuyện truyn cm, nhng cử động uyn chuyển và có khả  
năng bộc lra nhng 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 chy  
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 lnhng cảm xúc  
Một cơ thể có khả năng thhin nhng cchỉ  
Một trí tuệ bao gm những suy nghĩ, tình cảm, động lực, hành vi, tính  
cách… của nhân vt  
Lĩnh vực đồ họa máy tính gii 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 nhiu 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 lnhng 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 để to 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 nhng xử lý tính toán phức tp yêu cầu máy cấu hình cao về tốc độ xử lý  
card màn hình mạnh.  
Các phương pháp 2D thì ngược li, 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 truyn ln, dẫn đến dtrin  
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  
ci thiện được tính chân thực cho vic chuyển động trên khuôn mt.  
Gii thiu 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 thi vn tn dụng được ưu điểm của các  
phương pháp 2D trong tốc độ xử lý.  
- 2 -  
Chúng tôi sử dụng đầu vào là bức ảnh khuôn mặt ca 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 bc nh có thể nói chuyện được.  
Cấu trúc của khóa luận  
Chương 2 gii thiu 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 hin nay cả trên không gian 2D và 3D. Cùng với vic gii  
thiệu, chương này cũng đưa ra những nhận xét về các ưu nhược điểm ca từng phương  
pháp.  
Chương 3 gii thiu về các kỹ thuật bóp méo ảnh. Các kỹ thuật bóp méo ảnh là  
mt loi của các kỹ thut biến đổi ảnh. Chương này sẽ gii thiu một cách tổng quan  
về các kỹ thuật bóp méo ảnh, trong đó có những kthut sẽ được áp dụng trong  
phương pháp của chúng tôi. Chương này cũng giới thiu vmt kthut 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  
thiu kết quả các thử nghim của mình khi sử dụng các kỹ thuật bóp méo ảnh để to  
chuyển động cho khuôn mặt.  
Chương 5 gii thiệu cách to cảm xúc cho khuôn mặt. Sdng kết quca  
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  
mt biu lnhng cảm xúc khác nhau. Hệ cảm xúc mà chúng tôi sử dụng là hệ cm  
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 gii thiu về các công việc chúng tôi đã làm được trong nlực làm  
cho khuôn mặt của mình có khả năng nói chuyện bng tiếng Vit  
Chương 7 tng 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  
- 3 -  
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 hoc biu  
lcảm xúc. Nghĩ đến hoạt hình khuôn mặt là người ta nghĩ đến nhng ng dng ca  
nó trong phim ảnh, hoạt hình và trò chơi điện t. Được bắt đầu nghiên cứu tnhng  
năm đầu ca 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 gii hạn trong các phương pháp được ng dng  
hin nay ca hoạt hình khuôn mặt, điều đó đòi hỏi con người phi 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 gii thiu một cách tổng quan vhoạ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.  
phn thnht, chúng tôi sgii thiu một cách tổng quan vhoạt hình khuôn  
mặt 3D. Chúng tôi sẽ gii thiu từng bước để to hoạt hình khuôn mặt 3D. Vi mi  
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 vic gii thiu,  
chúng tôi cũng đưa ra những đánh giá về ưu và nhược điểm ca từng phương pháp.  
Trong phn gii thiu vhoạt hình khuôn mặt 3D, chúng tôi cũng đồng thi gii thiu  
về mô hình cơ của Waters [Waters 87]. Đây là một mô hình rất ni tiếng và được ng  
dng rộng rãi trong hoạt hình khuôn mặt.  
phn thứ hai, chúng tôi sẽ gii thiu vhoạt hình khuôn mặt 2D. Các kỹ thut  
to 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 để to hoạt hình khuôn mặt 2D, đó là phương pháp  
ghi li video [Bregler 1997] và phương pháp dựa trên kỹ thut 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ẽ cgng gii thiu 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 ti với phương  
pháp của mình.  
2.2.Hoạt hꢀnh khuôn mặt 3D  
2.2.1.Gii thiu chung  
Để to 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 khin 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 biu lộ ra ngoài. Có rất nhiu  
hướng tiếp cn, từ đơn giản như mô hình thời gian thc 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 ca [Lee 1995]  
hay mô hình Greta của [Pasquariello & Pelachaud 2001]  
- 4 -  
       
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 phi  
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ẽ gii thiu về hai bước này.  
2.2.2.Mô hꢀnh hóa khuôn mt  
Khuôn mặt của con người là một lưới 3D phc tạp và đòi hỏi slinh hoạt. Nó  
cha cnhng nếp nhăn và nhng chlồi lõm trên khuôn mặt. Thách thức ca vic  
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 to cảm giác chân thật.  
Một hướng gii quyết là sử dng một lưới các đa giác xấp xbmt của khuôn  
mặt. Khi đó để khuôn mặt có thể chuyển động, ta chcần điều chỉnh các đỉnh trên lưới  
bmặt này. Cách tiếp cận này được gii thiệu đầu tiên bởi [Gouraud 1971]. Phương  
pháp này lấy ra mt số điểm trên bề mt của khuôn mặt và nối những điểm đó với  
nhau để to 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  
dng bi [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ề  
mt lp 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. Thnhất là sử dụng các công cụ htrợ  
như AutoCad hay 3DMax. Đây là một công việc đòi hỏi rt nhiều công sức. Phương  
pháp thứ hai là sử dng mt sbc 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ử dng một máy scan laser để scan khuôn mặt ca  
người thật và sử dng kết quả đó để xây dựng nên khuôn mặt. Đây là phương pháp  
hiu qunhấ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  
- 5 -  
     
Như đã nói trong phần trước, khuôn mặt được chuyển động bằng cách điều khin  
các đỉnh đa giác ca lưới bmt hoặc các các điểm điều khiển. Có bốn cách để điều  
khiển lưới bmt, bao gm 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ẽ gii  
thiu qua về các phương pháp này cùng vi 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 sto ra chuyển động liên tục giữa hai hình.  
Để thc 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ể to ra bt ktrạ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] để khc phc mt  
sgii hn 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 bng mt số các tham số điều khiển. Các tham số này được gn vi  
các vùng riêng biệt đtạo ra các biến dng khu vc [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 mt 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 sgii hn. Thnhất là việc la chn tập các tham số  
tham sphthuộc vào cấu trúc lưới của khuôn mặt, vì vậy các tham số không đủ tng  
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 vn  
chưa thể to ra mt tập đầy đủ các tham số để sinh ra mi chuyển động cho khuôn mặt.  
Thứ ba là rất khó để phương pháp này có thể gii 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 sdụ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.  
Kthuật này bao gồm phương pháp chuyển động cơ ảo [Magnenat-Thalmann 1988],  
phương pháp biến dng tdo [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  
biu hiện trên da. Do không quan quan tâm đến nhng chuyển động dưới da mt,  
phương pháp này không tạo ra được nhng chlồ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 vic gii 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 phu học, phương pháp mô hình hóa cơ mt sdụng mô hình đa  
lp 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  
- 6 -  
của các cơ với mục đích mô hình hóa biến dng ca da. phn ti của chương này  
chúng tôi sẽ gii thiu 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 rt phbiến trên thế  
gii  
Phương pháp mô hình hóa cơ mặt đạt được mức độ chân tht nhất trong các  
phương pháp, nhưng nó phải trả giá bằng sphc tạp trong tính toán. Vì vậy phương  
pháp này không được sdng rộng rãi trong các ứng dng thi gian thực. Ngoài ra  
phương pháp này cũng đòi hỏi con ngưi phải điều chnh rt nhiều để to được mt  
khuôn mặt  
2.2.4.Mô hꢀnh cơ ca Waters  
Mô hình cơ mặt ca Waters [Waters 1987 | Parke & Waters 1996] là một mô  
hình rất thành công và được ng dng phbiế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 nhiu nht 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 bi 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 ca Waters  
được biu diễn như hình vẽ dưới đây  
- 7 -  
   
Hꢀnh 4 : Mô hꢀnh cơ mảng ca Waters  
Cơ vòng co li quanh một điểm ảo có tác dụng kéo toàn bộ mt phng xung  
quanh nó. Ví dụ mt 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 ca 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.Gii thiu chung  
phần này, chúng tôi sẽ gii thiu về hai phương pháp to 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ỹ thut 3D. Sau  
- 8 -  
       
khi gii thiu vmỗ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 ca tng phương pháp này.  
2.3.2.Phƣơng pháp ghi lại video  
2.3.2.1.Gii thiệu phƣơng pháp  
Phương pháp này được gii thiu bi 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 sdụng môt thước phim có sẵn để chương trình tự  
động to ra mt 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 gc. Kthuật này đã được ng dng  
trong phim ảnh và âm nhạc (ví dtrong vic lng tiếng).  
Phương pháp ghi lại video tự động đánh dấu các âm vị trong dliu hun luyn  
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  
khp với dãy âm vị của đoạn audio mi. Trong trường hp một âm vị nào đó không có  
một hình vị tương ứng, phương pháp chọn ra mt xp xgn nht. 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 mi.  
Để tạo ra các chuyển động giữa các hình v, phương pháp ghi li video ly ra  
nhng điểm đặc trưng trên miệng của nhân vật. Sau đó, phương pháp sử dng kthut  
morphing để to ra chuyển động giữa các hình dáng của ming. 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 mi.  
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ị;  
tng hp video mi.  
2.3.2.2.Thu thp âm vị và hꢀnh vị  
Phương pháp ghi lại video hc 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 ming ca 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ơ sdliu.  
Để ly mu một người, phương pháp ghi li video cn mt tập các bức nh vẽ  
tay. Đây là công việc duy nhất mà con người phi thc hin trong cả quá trình thc  
hin. Tuy vy, 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 li video thu thập âm vị bằng cách áp dụng phương pháp ghép  
ni tng hp 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, chn 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 tng hp đoạn audio mi bằng cách ghép ni 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 thi gian, kết quả  
của đoạn audio mới khá là tự nhiên. Vic thu thập hình vị cũng làm tương tự.  
- 9 -  
 
Hꢀnh 6 : Tng 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 li video sử  
dng một đon 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 li video chn tvideo mẫu các hình vị phù hợp để tng hp  
mt video mi khp vi bt kỳ đoạn audio nào.  
2.3.2.3. Tng hp video mi  
Ở 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ị, trn lẫn chúng bằng các kỹ thut morphing. Kết quả là một video mi với môi  
và cm chuyện động phù hợp với đoạn audio mới được đưa vào.  
Hꢀnh 7 : Tng quan của quá trꢀnh tổng hp video mi  
- 10 -  
   
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 qucủa bước thu thp, các bức  
nh ca ming đượ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 nhng ci tiến vsau 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ó mt số nhược điểm : để nhân  
vật có thể nói chuyện được, nh ca mi vị trí cần có của ming cn phải có sẵn.  
Ngoài ra, kết qutrvbcố định vào một tư thế phthuộc vào các bức ảnh được ly  
từ đoạn video gc. 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 hdễ dàng.  
2.3.3.Phƣơng pháp dựa trên kỹ thut 3D  
2.3.3.1.Gii 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 bt kỳ khuôn mặt nào trong một bc nh  
hoc một đoạn video. Kthuật này không cần dliu mu ca miệng nhân vật. Bc  
ảnh được to chuyển động cũng không bị gii hn bt kvị trí cố định nào. Phương  
pháp này có thể to ra nhng chuyển động ca đầu và cho phép nhân vật nói chuyện.  
Để có thể làm được được như vậy, hthng to chuyển động miệng và các cảm xúc  
khuôn mặt thông qua mt chuyển động có sẵn của người khác.  
Hthng dựa trên một biu din 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 nhiu  
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 mt thuật toán phân tích và tổng hp : Hthng 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) tmt bc nh  
duy nht. Sau khi tạo ra các chuyển động mi cho miệng, khuôn mặt 3D được đưa trở  
li nh gc.  
2.3.3.2.Cách thc thc hin  
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ừ tp dliu gm các mẫu scan các cảm xúc  
và các khuôn mặt trung lp ca khong 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. Mt thuật toán khớp có tác dụng cc tiểu hóa sự khác  
bit gia bc ảnh đầu vào và bức nh tng hp, cho phép tính ra được hình khối 3D từ  
mt bc nh hay một hình ảnh ca video. Thut 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ể to li trng  
thái trung tập cho khuôn mặt. Để to ra nhng 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 gc (hoặc đoạn  
video).  
Không gian vector cho việc chuyển động miệng là mở rng ca phn to cm  
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 kthuật khác. Một số phương pháp đã dựng nên  
- 11 -  
 
đượ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 ca một lưới  
có độ phân giải cao, lưới này chứa cnhng nếp nhăn và các đặc điểm tinh vi, chi tiết.  
Để to chuyển động cho khuôn mặt trên video, phương pháp ln theo chuyn  
động của đầu, chuyển động ca 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 nhng ràng buộc thị giác, phương pháp này cố gng cc  
tiểu hóa sự khác biệt gia nhng bc nh trong một vòng lặp phân tích – tng hp  
[Blanz 1999 | Pighin 2002 | Reveret 2001].  
Hꢀnh 8 : Cách thc thc hin  
Trong không gian vector của khuôn mặt, nhng biu lcảm xúc được tính toán  
thông qua sự khác biệt gia 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 trng thái bình thường. Để thay đổi cm  
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 cuối cùng đưa khuôn mặt 3D đó vào  
trong bức tranh (hàng thứ 2, bên phải)  
- 12 -  
 
2.3.3.3.Kết quthc hin  
Dưới đây là một skết quthc hin to chuyển động, nói chuyện cho khuôn  
mặt. Chúng được áp dụng vi mt sbức tranh khá nổi tiếng trên thế gii. 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 : Mt skết quả  
2.3.3.4.Đánh giá phƣơng pháp  
Ưu điểm của phương pháp này là tht và linh hoạt. Phương pháp cũng chsử  
dng rất ít dữ liu từ nhân vật được to chuyển động (chmt bc nh hoc mt  
video). Bc ảnh và video đó có thể xut hin ở các điều kiện ánh sáng và tư thế khác  
nhau.  
- 13 -  
 
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. Cng vi vic 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 tp.  
2.4.Kết lun  
Ở chương này, chúng tôi đã giới thiu tng quan về các kỹ thut 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 vi mi việc này, người ta lại đề xut 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 ca  
riêng nó.  
Để gii thiu vhoạt hình khuôn mặt 2D, chúng tôi đưa ra hai phương pháp ni  
tiếng hin nay là phương pháp ghi lại video và phương pháp dựa trên kỹ thut 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ỹ thut 3D trội hơn phương pháp ghi lại video nhiu mt.  
Nhưng nó lại đòi hi mt khi 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 đồ ha  
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à độ phc tp  
trong tính toán luôn có liên quan với nhau. Công việc ca chúng ta là tăng độ chân  
thc cho chuyển động và giảm độ phc tạp trong tính toán xuống mc nhnhất có thể.  
- 14 -  
 
Chƣơng 3  
CÁC KỸ THUẬT BÓP MÉO ẢNH  
3.1.Mở đu  
Bóp méo ảnh (image-warping) mt quá trình xử lý khiến cho mt phn hay  
toàn bộ bc nh bbiến đổi. Đây là kỹ thut được ng dng nhiu trong vic chnh sa  
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ạ mt số điểm trên một bc ả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 phn) nh gốc và kết qutrả ra là (một phn) ảnh đích  
đã bị biến đi.  
Kthuật bóp méo ảnh bao gm nhiều phép biến đổi nh. Tnhữ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 sdng  
những hàm số phc tạp. Bóp méo còn bao gồm cnhững phép biến đổi không sử dng  
đến hàm số và những phép biến đổi là sự kết hp ca một vài kỹ thuật khác na.  
Trong chương này, chúng tôi cũng gii thiu vkthut 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 kthut biến đổi nh to ra  
chuyển động liên tục biến đổi tbc ả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  
cn của các tác giả khác trong việc to ra chuyển động cho khuôn mặt có sử dụng đến  
kthuật này [Bregler 1997 | Ezzat 1998]. Cùng với vic gii thiu vkthut 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 vkthut  
morphing.  
Có nhiều cách để phân loại các kthuật bóp méo ảnh tùy thuộc vào tiêu chí  
đánh giá. Để có thể gii thiu một cách chi tiết và dễ hiu vkthut bóp méo ảnh,  
chúng tôi phân loại và gii thiệu các kỹ thuật bóp méo ảnh theo hai cách sau :  
Cách thứ nht, phân loại kthuật bóp méo ảnh theo phương pháp biến đổi, bao  
gm ba loi :  
nh bị bóp méo thông qua việc sdụ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  
li bị bóp méo theo một cách riêng biệt  
nh bị bóp méo để dùng cho kthut morphing  
Cách thứ hai là phân loại kthuật bóp méo ảnh theo cách tạo ra ảnh đích, bao  
gm hai loi :  
Bóp méo xuôi : ảnh đích được to ra bằng cách ánh xạ trc tiếp từ ảnh  
gốc đến ảnh đích  
Bóp méo ngược : ảnh đích được to ra bằng cách ánh xạ từ ảnh đích đến  
nh gc  
- 15 -  
   
Cấu trúc chương này của chúng tôi gồm hai phn. Mi phn gii thiu vmt  
cách phân loi kthuật bóp méo ảnh như đã nói ở trên.  
3.2.Phân loại kthuậ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 vic sdng 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.Mt 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 xng  
Phép đối xng qua trc y  
x‟ = -x  
y‟ = y  
Phép đối xứng qua tâm (0, 0)  
- 16 -  
   
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 độ ca  
các điểm trên một trc, những điểm khác di chuyển song song vi trc theo mt  
khoảng cách tỉ lthun vi 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  
- 17 -  
 
biến đổi Affine được đưa ra dưới dạng ma trận trong hệ tọa độ đồng nhất  
x'  
a b c x  
   
    
    
   
y' d e f y  
    
   
    
   
w
0 0 1 w  
    
   
Hꢀnh 11 : dphé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 dng ma trận như sau  
    
x'  
   
a b c x  
    
   
y' d e f y  
    
   
w' g h i w  
      
Hꢀnh 12 : Ví dụ phép chiếu  
- 18 -  
   
3.2.1.2.Mt số phép bóp méo ảnh phc tạp hơn  
Quy ƣớc  
Với các phép biến đổi trong phần này, ta quy ước chuyn htọa độ như sau  
Tọa độ của các điểm nh (i, j) nm trong khong (0, m - 1) và (0, n - 1) được  
đưa về dưi dng tọa đ(x, y) nm trong khong (-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 dng tọa độ (r, phi) theo công thức sau  
r = sqrt(x2 + y2)  
phi = atan2(y,x)  
Để chuyn li thtọa độ (r, phi) sang (x, y) ta sdụng công thức sau  
x = r cos(phi)  
y = r sin(phi)  
Mt số ví dụ ca kthuật bóp méo nh [Bourke 2002]  
Hꢀnh 13 : Ảnh ban đầu  
- 19 -  
 
Hꢀnh 14 : nh bbiến đổi bởi công thc r = sqrt (r)  
Hꢀnh 15 : nh bbiến đổi bởi công thc r = 2 arcsin(r) / p  
- 20 -  
   

Tải về để xem bản đầy đủ

pdf 82 trang yennguyen 28/04/2025 110
Bạn đang xem 30 trang mẫu của 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 hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_thu_nghiem_phuong_phap_bien_doi_khuon_mat_tren_anh.pdf