Luận văn: Nhận dạng người dựa vào thông tin khuôn mặt xuất hiện trên ảnh

331 2

Miễn phí

Tải về máy để xem đầy đủ hơn, bản xem trước là bản PDF

Tags: #luận văn#luận án#đồ án#luận án tiến sĩ#tiểu luận

Mô tả chi tiết

1. Mở đầu

Trong những năm gần đây, các ứng dụng về trí tuệ nhân tạo ngày càng phát triển và được đánh giá cao. Một lĩnh vực đang được quan tâm của trí tuệ nhân tạo nhằm tạo ra các ứng dụng thông minh, có tính người đó là nhận dạng. Đối tượng cho việc nghiên cứu nhận dạng cũng rất phong phú và đa dạng. Trong đề tài này chúng tôi chọn đối tượng là khuôn mặt. Khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa người với người, và cũng mang một lượng thông tin giàu có, chẳng hạn có thể xác định giới tính, tuổi tác, trạng thái cảm xúc của người đó, ... hơn nữa khảo sát chuyển động của các đường nét trên khuôn mặt có thể biết được người đó muốn nói gì. Do đó, nhận dạng khuôn mặt là điều quan trọng và cần thiết trong xã hôi loài người

2. Nội dung

2.1 Phát biểu bài toán nhận dạng người dựa vào thông tin khuôn mặt xuất hiện trên ảnh

Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt

Tổng quan về các ứng dụng tương tác người máy (Human computer interactive) liên quan đến khuôn mặt

Các hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt .

2.2 Mô tả dữ liệu

Thu thập dữ liệu

Biểu diễn dữ liệu khuôn mặt trong máy tính

2.3 Dò tìm khuôn mặt

Giới thiệu

Chuẩn bị dữ liệu cho hệ thống dò tìm khuôn mặt

Phương pháp dò tìm khuôn mặt thẳng

2.4 Rút trích đặc trưng từ khuôn mặt

Tiếp cận theo phương pháp phân tích thành phần chính (Principal Component Analysis hay PCA)

Tiếp cận theo phương pháp Biến đổi Cosine rời rạc

2.5 Phương pháp SVM và ứng dụng nhận dạng khuôn mặt

Cở sở lý thuyết của SVM

Nhận dạng khuôn mặt người với SVM

2.6 Thiết kế chương trình và hướng dẫn sử dụng

Giới thiệu mô hình Makov ẩn

Nhận xét và hướng phát triển tương lai

2.7 Thực nghiệm và kết quả

Giới thiệu

Thiết kế và cài đặt chương trình

Giao diện màn hình và hướng dẫn sử dụng

2.8 Nhận xét và hướng phát triển

Dữ liệu và phương pháp thử nghiệm nhận dạng khuôn mặt

Kết quả Kết quả theo tiếp cận HMM

Kết quả theo tiếp cận SVM

So sánh kết quả HMM và SV

3. Kết luận

Khoa học phát triển không ngừng, những bước đi đầu tiên bao giờ cũng chập chững. Chúng tôi hy vọng trong một tương lai không xa khi mà những hệ thống nhận dạng của chúng ta đã đạt đến một độ tin cậy nhất định thì những ứng dụng về nó sẽ rộng rãi. Và những nghiên cứu tiếp theo từ lĩnh vực này sẽ được nâng lên ở một cấp độ cao hơn, hoàn thiện hơn

4. Tài liệu tham khảo

Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, John Weng, Discriminant Analysis of Principal Components for Face Recognition, Centrer for Automation Research, University of Maryland (page 73) of Face Recognition from Theory and Applications.

John Daugnman, Phenotypic versus Genotypic Approches to Face Recognition, University of Cambridge, the Computer laboratory Cambridge CB3 3QG England (page 108) of Face Recognition from Theory and Applications.

Emmanuel Viennet và Francoise Fogelman Soulie, Connectionists Methods for Human face Rrocessing, University Paris 13, 93430

Nội dung

Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMTRƯỜNG ĐẠI HỌC KHOA HỌC TỰNHIÊNKHOA CÔNG NGHỆTHÔNG TINBỘMÔN CÔNG NGHỆTRI THỨCLUẬN VĂN TỐT NGHIỆPCỬNHÂN TIN HỌCĐỀTÀI :NHẬN DẠNG NGƯỜIDỰA VÀO THÔNG TIN KHUÔN MẶTXUẤT HIỆN TRÊNẢNHGIÁO VIÊN HƯỚNG DẪNTS LÊ HOÀI BẮCSINH VIÊN THỰC HIỆNTRẦN PHƯỚC LONG 9912606NGUYỄN VĂN LƯỢNG 9912608TP. HỒCHÍ MINH, 07/ 2003Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMiLỜI CẢM ƠNXWXin chân thành cảm ơn các thầy, các cô khoa Công NghệThông Tin, Đại HọcKhoa Học TựNhiên đã tận tình dạy dỗ, truyền đạt cho chúng tôi nhiều kiến thứcquý báu.Xin tỏlòng biết ơn sâu sắc đến thầy Lê Hoài Bắc, người đã tận tình giúpđỡvà truyền đạt nhiều kinh nghiệm để đềtài có thểđược thực hiện và hoàn thành.Xin chân thành cảm ơn thầy VõĐức Khánh, anh Phạm Nam Trung, anhNguyễn Đức Hoàng Hạ, anh Hoàng Thân Anh Tuấn đã giúpđỡ, động viên chúngtôi rất nhiều trong quá trình thực hiện đềtài.Lời cảm ơn sâu sắc nhất xin dành cho bốmẹvìơn sinh thành và giáodưỡng.Xin cảm ơn tất cả.TP. HồChí Minh tháng 07 năm 2003.Trần Phước LongNguyễn Văn LượngKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMiiLỜI MỞĐẦUTrong những năm gần đây, cácứng dụng vềtrí tuệnhân tạo ngày càng pháttriển và được đánh giá cao. Một lĩnh vực đang được quan tâm của trí tuệnhân tạo nhằm tạo ra cácứng dụng thông minh, có tính người đó là nhậndạng. Đối tượng cho việc nghiên cứu nhận dạng cũng rất phong phú và đadạng. Trong đềtài này chúng tôi chọn đối tượng là khuôn mặt.Khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa người vớingười, và cũng mang một lượng thông tin giàu có, chẳng hạn có thểxác định giớitính, tuổi tác, trạng thái cảm xúc của người đó, ... hơn nữa khảo sát chuyển độngcủa các đường nét trên khuôn mặt có thểbiết được người đó muốn nói gì. Dođó,nhận dạng khuôn mặt là điều quan trọng và cần thiết trong xã hôi loài người. Đólà lý do chúng tôi chọn đềtài :“NHẬN DẠNG NGƯỜI DỰA VÀO THÔNG TIN KHUÔN MẶTXUẤT HIỆN TRÊN ÁNH”Đểcó hệthống nhận dạng khuôn mặtvới chất lượng tốt, chúng tôi đãtiếpcận bằng hai mô hình xửlý được đánh giá là mạnh trong lĩnh vực trí tuệnhân tạo,đó là mô hình phân cách với thuật toán SVM và mô hình thống kê với thuật toánHMM làm công cụxửlý chính cho việcnhận dạng người dựa vào thông tinkhuôn mặt trênảnh.Đềtài được tổchức thành chín chương với nội dung :—Chương 1:Phát biểu bài toán nhận dạng người dựa vào thông tin khuôn mặtxuất hiện trênảnh.—Chương 2:Mô tảdữliệu.—Chương 3:Dò tìm khuôn mặt.—Chương 4:Rút tríchđặc trưng từkhuôn mặt.—Chương 5:Phương pháp SVM vàứng dụng nhận dạng khuôn mặt.—Chương 6:Phương pháp Mô hình Makovẩn vàứng dụng nhận dạng khuônmặt.—Chương 7:Thiết kếchương trình và hướng dẫn sửdụng.—Chương 8:Thực nghiệm và kết qủa.—Chương 9:Nhận xét và hướng phát triển.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMiiiMỤC LỤCChương 1 PHÁT BIỂU BÀI TOÁN NHẬN DẠNG NGƯỜI DỰA V À OTHÔNG TIN KHUÔN MẶT XUẤT HIỆN TRÊNẢNH ......................................11.1 Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt ................21.1.1 Hệthống sinh trắc học...............................................................................21.1.2 Hệthống nhận dạng khuôn mặt ................................................................21.1.3 Hệthống xác minh hay xác thực khuôn mặt là gì? ...................................21.1.4 Những thách thức trong bài toán nhận dạng khuôn mặt ...........................31.2 Tổng quan vềcácứng dụng tương tác người máy (Human computerinteractive) liên quan đến khuôn mặt ......................................................................41.3 Các hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt ...................71.3.1 Các công trình nghiên cứu vềphương pháp nhận dạng và kiểm chứngchất lượng cho một hệthống nhận dạng khuôn mặt ..........................................71.3.2 Hướng tiếp cận được thửnghiệm trong luận văn....................................10Chương 2 MÔ TẢDỮLIỆU ............................................................................. 112.1 Thu thập dữliệu ...........................................................................................122.2 Biểu diễn dữliệu khuôn mặt trong máy tính ...............................................14Chương 3 DÒ TÌM KHUÔN MẶT ...................................................................153.1 Giới thiệu .....................................................................................................163.1.1 Các thách thức trong việc dò tìm khuôn mặt ..........................................163.1.2 Tiếp cận theo khung nhìn kết hợp mạng nơron.......................................183.1.3 Dò tìm khuôn mặt bằng phương pháp mạng neural ................................203.2 Chuẩn bịdữliệu cho hệthống dò tìm khuôn mặt........................................213.2.1 Giới thiệu.................................................................................................213.2.2 Gán nhãn và canh biên các đặc trưng khuôn mặt....................................213.2.3 Tiền xửlý vềđộsáng và độtương phản trên tập mẫu học .....................253.3 Phương pháp dò tìm khuôn mặt thẳng .........................................................273.3.1 Giới thiệu.................................................................................................273.3.2 Huấn luyện dò tìm khuôn mặt .................................................................283.3.2.1Ảnh huấn luyện khuôn mặt............................................................303.3.2.2Ảnh huấn luyện không phải khuôn mặt.........................................303.3.2.3 Phương pháp huấn luyện chủđộng ...............................................31Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMiv 3.3.3 Phương pháp cải tiến chất lượng dò tìm khuôn mặt ...............................343.3.3.1 Các Heuristic loại bỏthông tin thừa ..............................................343.3.3.2 Hệthống Mạng Kết Hợp ...............................................................37Chương 4 RÚT TRÍCH ĐẶC TRƯNG TỪKHUÔN MẶT............................394.1 Tiếp cận theo phương pháp phân tích thành phần chính (PrincipalComponent Analysis hay PCA) ............................................................................404.1.1 Vector riêng, Trịriêng và sựchéo hoá của ma trận .................................404.1.2 Kì vọng và phương sai trong thống kê đa chiều .....................................414.1.3 Kỹthuật rút trích trích đặc trưng bằng phương pháp phân tích thànhphần chính ........................................................................................................424.2 Tiếp cận theo phương pháp Biến đổi Cosine rời rạc ...................................474.2.1 Ý nghĩa phép biến đổi DCT ....................................................................474.2.2 Các khái niệm quan trọng .......................................................................474.2.3 Kĩ thuật mã hoá hệsốDCT .....................................................................494.2.4 Quét Zigzag .............................................................................................53Chương 5 SVM VÀỨNG DỤNG NHẬN DẠNG KHUÔN MẶT ..................545.1 Cởsởlý thuyết của SVM.............................................................................555.1.1 Các khái niệm nền tảng ...........................................................................555.1.1.1Đường bao tổng quát cho một hệmáy học....................................555.1.1.2 Chiều VC (VC-dimension) ............................................................565.1.1.3 Phân hoạch tập dữliệu bằng các siêu mặt có hướng .....................565.1.1.4 Cực tiểu đường bao lỗi trên cơsởcực tiểu chiều VC ...................575.1.1.5 Cực tiểu hoá lỗi theo cấu trúc (SRM)............................................585.1.2 SVM tuyến tính .......................................................................................585.1.2.1 Trường hợp dữliệu có thểphân cách được ...................................585.1.2.2Điều kiện tốiưu Karush-Kuhn-Tucker..........................................615.1.2.3 Trường hợp dữliệu không thểphân cách được .............................615.1.3 SVM phi tuyến ........................................................................................645.1.4 Chiều VC của SVM.................................................................................685.1.5 Hạn chếcủa phương pháp SVM .............................................................685.2 Nhận dạng khuôn mặt người với SVM........................................................695.2.1 Nhận dạng đa lớp dùng SVM với cây nhịphân ......................................695.2.2 Nhận dạng khuôn mặt dùng SVM...........................................................715.2.2.1 Giai đoạn huấn luyện hệthống ......................................................715.2.2.1.1 Huấn luyện SVM cho bài toán nhận dạng khuôn mặt ...........715.2.2.1.2 Vector hoá tập mẫu khuôn mặt thô.........................................72Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMv 5.2.2.1.3 Rút trích đặc trưng khuôn mặt ...............................................735.2.2.1.4 Tạo các bộphân loại nhịphân ...............................................755.2.2.1.5 Huấn luyện cho mỗi bộphân loại nhịphân từcác tập mẫunhịphân hoá hai lớp khuôn mặt với nhau ...............................................765.2.2.1.6 Khởi tạo kiến trúc cây nhịphân .............................................875.2.2.2 Giai đoạn nhận dạng khuôn mặt ....................................................875.2.2.2.1 Nhậndạng khuôn mặt dùng SVM..........................................875.2.2.2.2 Kỹthuật nhận dạng khuôn mặt SVM ....................................875.2.2.2.2.1 Vector hoá tập mẫu khuôn mặt thô .................................875.2.2.2.2.2 Rút trích đặc trưng khuôn mặt ........................................875.2.2.2.2.3Đưa mẫu thửnghiệm khuôn mặt x vào cấu trúc nhịphân và thực hiện đối sánh trên từng mô hình nhịphân SVMs..........875.2.2.2.3 Mô phỏng quá trình nhận dạng khuôn mặt ............................905.2.3 Nhận xét và hướng phát triển tương lai...................................................925.2.3.1Ưu điểm .........................................................................................925.2.3.2 Khuyết điểm và hạn chế................................................................935.2.3.3 Những đềxuất và cải tiến ..............................................................935.2.3.3.1 Vềmặt thuật toán học ............................................................935.2.3.3.2 Vềmặt chương trìnhứng dụng ..............................................94Chương 6 MÔ HÌNH MAKOVẨN VÀỨNG DỤNG NHẬN DẠNGKHUÔN MẶT .........................................................................................................956.1 Giới thiệu mô hình Makovẩn ......................................................................966.1.1 Mô hình Markov......................................................................................966.1.2 Mô hình Markovẩn .................................................................................976.1.2.1 Xác suất của chuỗi quan sát...........................................................986.1.2.1.1 Thủtục tiến ............................................................................996.1.2.1.2 Thủtục lùi ............................................................................1006.1.2.2 Dãy trạng thái tốiưu ....................................................................1016.1.2.3 Hiệu chỉnh các tham sốcủa mô hình ...........................................1036.2ỨNG DỤNG MÔ HÌNH MARKOVẨN NHẬN DẠNG KHUÔN MẶTNGƯỜI................................................................................................................1046.2.1 Ý tưởng..................................................................................................1046.2.2 Nhận dạng khuôn mặt bằng mô hình Markovẩn ..................................1056.2.2.1 Giai đoạn huấn luyện hệthống ....................................................1056.2.2.1.1Ảnh khuôn mặt huấn luyện ..................................................1056.2.2.1.2 Biểu diễn dữliệu khuôn mặt theo mô hình Makov .............106Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMvi 6.2.2.1.3 Kỹthuật trích đặc trưng trên mẫu khuôn mặt ......................1096.2.2.1.4 Huấn luyện HMM ................................................................1126.2.2.1.5Đồthịbiểu diễn tác vụhọc qua các vòng lặp và cực đại xácsuấtước lượng mô hình từdữliệu quan sát. .........................................1136.2.2.2 Giai đoạn nhận dạng khuôn mặt ..................................................1316.2.3 Nhậnxét và hướng phát triển tương lai.................................................1316.2.3.1Ưu điểm .......................................................................................1316.2.3.2 Khuyết điểm ................................................................................132Chương 7 THIẾT KẾCHƯƠNG TRÌNH VÀ HƯỚNG DẪN SỬDỤNG ..1337.1 Giới thiệu ...................................................................................................1347.2 Thiết kếvà cài đặt chương trình ................................................................1347.3 Giao diện màn hình và hướng dẫn sửdụng ...............................................135Chương 8 THỰC NGHIỆM VÀ KẾT QUẢ...................................................1408.1 Dữliệu và phương pháp thửnghiệm nhận dạng khuôn mặt .....................1418.2 Kết quảKết quảtheo tiếp cận HMM .........................................................1438.2.1 Thực nghiệm trên từng bộtham số.......................................................1438.2.2 Nhận xét ................................................................................................1488.3 Kết quảtheo tiếp cận SVM........................................................................1488.3.1 Thực nghiệm trên từng bộtham số.......................................................1488.3.2 Nhận xét ................................................................................................1558.4 So sánh kết quảHMM và SVM.................................................................156Chương 9 NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN .....................................1589.1 Thuận lợi ....................................................................................................1599.2 Khó khăn ....................................................................................................1609.3 Hướng phát triển tương lai.........................................................................1619.4 Tổng kết .....................................................................................................163Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMviiDANH SÁCH CÁC HÌNHHình 1-1 So sánh tác vụnhận dạng khuôn mặt và xác minh khuôn ...........................3Hình 1-2 Mô phỏng hệthống nhận dạng khuôn mặt ................................................10Hình 2-1 Dữliệu gồm 30 người được gán nhãn theo thứtựtừ1 đến 30. ................13Hình 2-2 Dữliệu gồm 10 người được gán nhãn theo thứtựtừ1 đến 10 .................13Hình 2-3 Kích thước chuẩn hoá của một mẫu khuôn mặt trong tập học ..................14Hình 3-1 Sơđồluồng xửlý các bước chính trong tiến trình dò tìm khuôn mặt .......20Hình 3-2 Trái: Mẫu khuôn mặt chuẩn. Phải: Các vịtrí đặc trưng khuôn mặt chuẩn(tròn trắng), và phân phối của các vịtrí đặc trưng thực (sau khi canh biên) từmọimẫu (các điểm đen). ..................................................................................................23Hình 3-3 Ví dụảnh khuôn mặt thẳng được canh biên. .............................................23Hình 3-4 Các bước trong việc tiền xửlý window. Đầu tiên, xây dựng hàm ánh xạtuyến tính với các giá trịmật độtrong window, và sau đó trừđi nó, đểhiệu chỉnhvềđộsáng. Tiếp theo, áp dụng cân bằng lược đồ, đểhiệu chỉnh đầu vào camerakhác nhau và cải thiện độtương phản. Trong mỗi bước, việc ánh xạđược tính vớicác pixel bên trong hình tròn, vàđược áp dụng với toàn window. ...........................26Hình 3-5 Thuật toán dò tìm khuôn mặt .....................................................................28Hình 3-6 Trong khi huấn luyện, hệthống đã huấn luyện một phần được áp dụngvới cácảnh phong cảnh không chứa khuôn mặt (nhưbên trái). Bất kỳvùng nàotrongảnh được dò là khuôn mặt là lỗi, và được thêm vào tập mẫu huấn luyện âm. 32Hình 3-7Ảnh mẫu đểthửnghiệm đầu ra của bộdò tìm thẳng. ................................32Hình 3-8 Đầu ra của mạng dò tìm .............................................................................33Hình 3-9 Kết qủa áp dụng threshold(4,2) với cácảnh trong Hình 3-8. ....................34Hình 3-10 Kết qủa áp dụng trùng lấp với cácảnh của Hình 9..................................35Hình 3-11 Cơcấu trộn nhiều dò tìm từmột mạng đơn: A) Các dò tìmđược ghitrong chóp “đầura”. B) tính sốdò tìm trong lân cận của mỗi dò tìm. C) Bước cuốicùng là kiểm tra các vịtrí khuôn mặt đãđưa ra vềtính chồng lấp, và D) loại bỏcác dò tìm chồng lấp nếu tồn tại. ..............................................................................36Hình 3-12 AND các đầu ra từhai mạng trên các vịtrí và tỷlệkhác nhau có thểcảithiện độchính xác dò tìm. .........................................................................................37Hình 4-1 Hai trục tươngứng với hai thành phần quan trọng nhất và ít quan trọngnhất đối với tập mẫu có hai cluster nhưtrên. ............................................................44Hình 4-2 Các hàm cơsởcủa phép biến đổi Cosine rời rạc, Miền quang phổcủaphép biến đổi Cosine rời rạc bao gồm một mảng hai chiều 8´8, mỗi phần từtrongKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMviii mảng là giá trịbiên độcủa một trong 64 hàm cơsở. ................................................50Hình 4-3 Quá trình mã hoá DCT trên một khối 8×8.................................................52Hình 4-4 Vẽkhối zigzag dạng 1 ...............................................................................53Hình 4-5 Vẽkhối zigzag dạng 2 ...............................................................................53Hình 5-1 Ba điểm trong R2........................................................................................57Hình 5-2 Độtin cậy VC là hàm đơn điệu theo h ......................................................57Hình 5-3 Các tập hàm học lồng vào nhau được sắp thứtựtheo chiều VC. ..............58Hình 5-4 Siêu mặt phân cách tuyến tính cho trường hợp phân cách được và kíhiệu các support vector chính là các điểm được bao bằng viền tròn ........................59Hình 5-5 Siêu mặt phân cách tuyến tính cho trường hợp không phân cách được. ...63Hình 5-6Ảnh, trong H, với hình vuông [1-,1] X [-1,1]∈R2dưới ánh xạΦ.........65Hình 5-7 Trái: Cấu trúc cây nhịphân với sốlớp bằng sốmũ của 2. Phải: sốlớpkhông bằng sốmũ của 2. ...........................................................................................70Hình 5-8 Các tác vụhuấn luyện hệthống SVMs nhận dạng khuôn mặt ..................71Hình 5-9 Vector hoá mẫu khuôn mặt ........................................................................72Hình 5-10 Mô phỏng phân lớp khuôn mặt giữa hai người bằng hàm tuyến tính .....77Hình 5-11 Biểu diễn sốliệu bảng 1 lên đồthị...........................................................79Hình 5-12 Mô phỏng phân lớp khuôn mặt giữa hai người quá nhiều đặc trưngtương đương hay biến động. .....................................................................................80Hình 5-13 Biểu diễn sốliệu bảng 1(Linear), bảng 2(Poly-2), bảng 3(Poly-3), bảng4 (Poly-4) trên cùng một đồthị.................................................................................84Hình 5-14 Các tác vụnhận dạng khuôn mặt .............................................................87Hình 5-15 Mô phỏng cách ghép thành từng cặp nhịphân từcác Node lá của câynhịphân .....................................................................................................................88Hình 5-16 Kết xuất phân loại mẫu xởcấp 1. ...........................................................88Hình 5-17 Kết quảmẫu x được nhận dạng với nhãn thuộc vềkhuôn mặt của người“Lớp1”. ......................................................................................................................89Hình 5-18 Mô phỏng cách ghép thành từng cặp nhịphân từcác Node lá của câynhịphân .....................................................................................................................90Hình 5-19 Quá trình xây dựng cây nhịphân từcấp có L-1 cặp đến cấp có 2K/2cặp phân loại nhịphân...............................................................................................90Hình 5-20 Nhận dạng Mẫu thửnghiệm chưa được quan sát thuộc vềNgười 1 làđúng ...........................................................................................................................91Hình 6-1 Mô hình Markov ba trạng thái biểu diễn thời tiết......................................96Hình 6-2 Mô phỏng mô hình Markovẩn rời rạc bằng mô hình bình banh...............97Hình 6-3 Tính toán theo thủtục tiếnởmột thời điểm ..............................................99Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMix Hình 6-4 Tính toán theo thủtục lùiởmột thời điểm ..............................................100Hình 6-5 Huấn luyện khuôn mặt bằng mô hình Markovẩn rời rạc. .......................105Hình 6-6 Mẫu khuôn mặt cho việc huấn luyện mô hình Markovẩn rời rạc với kíchthước chuẩn 32x32 (pixels) .....................................................................................106Hình 6-7 Tách mẫu huấn luyện HxW thành một chuỗi các khối con PxW. ...........106Hình 6-8 Mẫu khuôn mặt sẽđược tách thành 7 khối theo thứtựtừtrái sang phảivới mỗi khối là 32x8(pixels) ...................................................................................108Hình 6-9 Mẫu khuôn mặt được tách thành 7 khối theo thứtựtừtrên xuống dướivới mỗi khối là 32x8(pixels) ...................................................................................109Hình 6-10 Khối đầu tiên trong 7 khối cần được lượng hoá thành vector quan sát. 110Hình 6-11 Tách khối 8×8 (pixels) ...........................................................................110Hình 6-12 Chuỗi quan sát từngười thứnhất được gán nhãn “Người 1”. ...............114Hình 6-13 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với N = 4.........................................................................................116Hình 6-14 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với N = 6.........................................................................................118Hình 6-15 Các tiến trình huấn luyện HMM cho tập khuôn mặt “Người 1” với N =8 ...............................................................................................................................120Hình 6-16 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với N = 10.......................................................................................121Hình 6-17 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với M = 2 ........................................................................................124Hình 6-18 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với M = 4 ........................................................................................126Hình 6-19 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với M = 6 ........................................................................................128Hình 6-20 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với M = 8 ........................................................................................129Hình 6-21 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tập khuônmặt “Người 1” với M = 10nh Markovẩn rời rạc cho tập khuôn mặt “Người 1” vớiM = 10 .....................................................................................................................131Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMxDANH SÁCH CÁC BẢNGBảng 4-1 Dữliệu trên Matrận hai hiều 8x8 ..............................................................51Bảng 4-2 Dữliệu qua phép biến đổi 2D-DCT ..........................................................52Bảng 5-1 SốVector hỗtrợtính được từ29 bộphân loại nhịphân đầu tiên đểphânbiệt khuôn mặt “lớp 1” với 29 lớp khuôn mặt khác. .................................................79Bảng 5-2 Kết quảcủa việc huấn luyện từ29 bộphân loại nhịphân đầu tiên đểphân biệt khuôn mặt “Lớp 1” với các khuôn mặt của 29 người còn lại bằng SVMphi tuyến có dạng đa thức bậc 2 (Poly-2). ................................................................83Bảng 5-3 Kết quảcủa việc huấn luyện từ29 bộphân loại nhịphân đầu tiên đểphân biệt khuôn mặt “Lớp 1” với các khuôn mặt của 29 người còn lại bằng SVMphi tuyến có dạng đa thức bậc 2 (Poly-3). ................................................................83Bảng 5-4 Kết quảcủa việc huấn luyện từ29 bộphân loại nhịphân đầu tiên đểphân biệt khuôn mặt “Lớp 1” với các khuôn mặt của 29 người còn lại bằng SVMphi tuyến có dạng đa thức bậc 2 (Poly-4). ................................................................83Bảng 6-1 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc vớisốtrạng thái là 4 và hệsốMixture thay đổi từ2Æ20 .............................................116Bảng 6-2 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc vớisốtrạng thái là 6 và hệsốMixture thay đổi từ2→12.............................................118Bảng 6-3 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc vớisốtrạng thái là 8 và hệsốMixture thay đổi từ2→16.............................................119Bảng 6-4 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc vớisốtrạng thái là 10 và hệsốMixture thay đổi từ2→10...........................................121Bảng 6-5 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc HệsốMixture bằng 2 và hệsốtrạng thái thay đổi từ4→10 ........................................123Bảng 6-6 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc HệsốMixture bằng 4 và hệsốtrạng thái thay đổi từ4→10 ........................................125Bảng 6-7 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc HệsốMixture bằng 6 và hệsốtrạng thái thay đổi từ4→10 ........................................127Bảng 6-8 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc HệsốMixture bằng 8 và hệsốtrạng thái thay đổi từ4→10 ........................................128Bảng 6-9 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạc HệsốMixture bằng 10 và hệsốtrạng thái thay đổi từ4→10 ......................................129Bảng 8-1 Mô tảdữliệu thửnghiệm thu thậptừmỗi người trong hệthống nhậndạng .........................................................................................................................142Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCMxi Bảng 8-2 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng thái N =4 ...............................................................................................................................144Bảng 8-3 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng thái N =6 ...............................................................................................................................145Bảng 8-4 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng thái N =8 ...............................................................................................................................146Bảng 8-5 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng thái N =10 .............................................................................................................................147Bảng 8-6 Kết quảnhận dạng tốt nhất với phương pháp mô hình Markov tại N = 6và M = 10 ................................................................................................................148Bảng 8-7 Kết quảnhận dạng với phương pháp SVMs với C = 30 .........................150Bảng 8-8 Kết quảnhận dạng với phương pháp SVMs với C = 50 .........................151Bảng 8-9 Kết quảnhận dạng với phương pháp SVMs với C = 100 .......................152Bảng 8-10 Kết quảnhận dạng với phương pháp SVMs với C = 200 .....................153Bảng 8-11 Kết quảnhận dạng với phương pháp SVMs với C = 400 .....................154Bảng 8-12 Kết quảnhận dạng tốt nhất với phương pháp SVMs tại C = 400 và K làhàm xửlý chính dạng đa thức bậc 3 .......................................................................155Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1Chương 1 PHÁT BIỂU BÀI TOÁN NHẬNDẠNG NGƯỜI DỰA VÀO THÔNG TINKHUÔN MẶT XUẤT HIỆN TRÊNẢNHKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM21.1 Tổng quan và các khái niệm liên quan đến nhậndạng khuôn mặt1.1.1 Hệthống sinh trắc họcHệthống sinh trắc học là một hệthống được thiết kếđểxác minh và nhận dạngmột người dựa vào những đặc trưng sinh học duy nhất của người đó.1.1.2 Hệthống nhận dạng khuôn mặtHệthống nhận dạng khuôn mặt là một hệthống được thiết kếđểtìm thông tin củamột người. Kĩ thuật nhận dạng là kiểm tra sựphù hợp dựa trên phép so sánhmột-nhiều cụthểlà tìm ra một người là ai trong sốnhững người đãđược lưu trữtrong hệthống dựa vào thông tin khuôn mặt.1.1.3 Hệthống xác minh hay xác thực khuôn mặt là gì?Hệthống xác minh/xác thực khuôn mặt là một hệthống được thiết kếđểxác minhthông tin của một người . Kĩ thuật xác minh là kiểm tra sựphù hợp trên phép sosánh một-một cụthểlà đối chiếu thông tin mới nhận vềmột người với thông tinđã lưu trữvềngười này có khớp hay không dựa trên thông tin khuôn mặt.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM3Hoaøn toaøn chöa bieát thoâng tinÑaõ bieát tröôùc thoâng tinNhaän daïng ngöôøiXaùc minh ngöôøiNgöôøi naøy laø ai?Ñaây laø Peter phaûi khoâng?Keát quaû Keát quaûÑuùng/Sai PeterHình 1-1 So sánh tác vụnhận dạng khuôn mặt và xác minh khuôn1.1.4 Những thách thức trong bài toán nhận dạng khuônmặtNhững biến đổi quá lớn giữa cácảnh khuôn mặt khác nhau từmột người cần nhậndạng gồm trạng thái cảm xúc trên khuôn mặt, ánh sáng, và các thay đổi vịtrí củakhuôn mặt..vv.Giới hạnvềsốảnh cần thiết cho việc nhận dạng, tập học không thểbao quátđược tất cảcác biến đổi có thểcó trên khuôn mặt của một người cần nhận dạngtrong thếgiới thực.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM41.2 Tổng quan vềcácứng dụng tương tác người máy(Human computer interactive) liên quan đến khuôn mặtTừnhững năm 1990 trởlại đây, chúng ta đã chứng kiến sựphát triển như vũ bãocủa các ngành công nghiệp, đặc biệc là ngành công nghiệp chếtạo điện tử. Tuynhiên hiện nay các thiết bịđiện tửcao cấp như máyảnh số, camera kĩ thuật số, vànhiều sản phẩm khác dường như chỉphù hợp cho các phòng thí nghiệm, các côngty sản xuất kinh doanh, thương mại, tài chính, ngân hàng, ... Trong thời giankhông xa từ3 đến 10 năm nữa, chi phí cho các thiết bịnày sẽgiảm đáng kể. Khiđó sẽmởra nhiều hướng nghiên cứu vềthịgiác máy tính, đồng thời sẽcó nhiềuứng dụng trong giao tiếp giữa người với máy tính mà trong đó hệthống nhậndạng mặt người đóng một vai trò không nhỏ. Dưới đây chúng tôi liệt kê một sốứng dụng.¾Cácứng dụng chuyên biệt cho ngành hàng không9Đảm bảo sựtruy cập và tính hợp lệtrong công việc cho từng nhânviên: Mỗi nhân viên làm việc tại cảng hàng không cũng như nhânviên phi hành đoàn được cung cấp quyền truy cập để đến vịtrí làmviệc. Làm thếnào đểxác minh nhân viên này vào đúng khu vực làmviệc hay không?9Làm sao để đảm bảo trong sốnhững hành khách không có sựtràtrộn của một sốkẻkhủng bố/tội phạm quốc gia/ quốc tế?Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM5 ¾Bảo vệtrẻemởnhà trẻtừbọn bắt cóc9Quy định rằng, chỉcó những nhân viên của nhà trẻmới được phépdẫn trẻem ra ngoài và trao tận tay cho bốmẹđón về. Nhưng trongxã hôi cũng có một sốtrường hợp giảdanh nhân viên đểbắt cóc trẻem với mục đích xấu. Làm thểnào đểngăn chặn hành vi xấu này?¾Nhận dạng khuôn mặt được sửdụng kèm với thẻquy cập9Trong các nước phát triển, hầu như mọi người dân đều dùng thẻtíndụng đểmua bán, rút tiền, trao đổi hàng hóa. Điều này rất nguyhiểm khi thẻtruy cập này bịngười khác nhặt đựợc hay biết đượcmật khẩu của sởhữu thẻnày? Làm cách nào có thểbảo đảm an toànnhất?Có thểdùng song mật khẩu: Có nghĩa sửdụng khuôn mặtnhư là một mật khẩu thứhai đểtruy cập vào hệthống cùng vớithông tin từcard truy cập. Đểrút được tiền•Đưa thẻvào hệthống•Đưa khuôn mặt vào đểnhận dạng•Xác minh người này có phải là chủsởhữu của thẻhay không?Nếu khớp thì hệthống cho rút tiềnNếu không thì hệthống không cho rút tiền.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM6 ¾Kinh doanh thương mại điện tử9Với sựtiến bộcủa khoa học công nghệ, nhiều hình thức kinh doanhthương mại xuất hiện, đặc biệt là thương mại điện tử. Việc buôn bánvà trao đổi giữa hai bên đối tác không cần diễn ra trực tiếp (mặt đốimặt), mà chỉcần qua mạng với hìnhảnh của người đại diện. Tuynhiên bên cạnh đó sẽcó nhiều mặt tiêu cực trên hình thức kinhdoanh này, đó là các vụlừa đảo, giảmạo, giảdanh..vv. Làm sao đểbiết được đối tác của mình là thật hay giả?¾Ngăn chặn việc xuất/nhập cảnh bất hợp pháp9Một sốngười không được xuất/nhập cảnh vào nước, song họcốtìnhkhai gian giấy tờđểxuất/nhập cảnh bất hợp pháp. Làm sao đểngănchặn được sựgian lận này?¾Lần dấu vết đi tìm kẻkhủng bố9Từnhững bứcảnh sốhay những đoạn video sốđãđược ghi lại tựđộng vềhiện trường trước khi vụkhủng bốxảy ra. Cần nhận dạngnhững đối tượng khảnghi của vụkhủng bốnày?¾Hệthống giám sát công nhân và chấm công tựđộng9Hiện nay trong các khu công nghiệp hay những công ty sản xuất lớncó hàng ngàn công nhân vào ra mỗi ngày nên việc giám sát kẻgianvào công ty cũng như công việc chấm công rất phức tạp. Vậy làmthếnào đểnhận ra từng nhân viên của công ty.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM7 ™Tóm lại:nhu cầusửdụng các hệthống xửlý dùng trí tuệnhân tạo ngàycàng phát triển, mà trong đó nhận dạng khuôn mặt đểmã hóa mật khẩu cánhân là một nhu cầu thiết yếu hiện nay và trong tương lai. Đặc biệt vụkhủng bốngày 11-9-2001 tại Mỹđãđánh dấu một bước ngoặc mới trongxu hướng nghiên cứu và giá trịthương mại của các hệthống sinh trắc họcđểbảo vệsựan toàn cho con người.1.3 Các hướng tiếp cận chính trong lĩnh vực nhận dạngkhuôn mặt1.3.1 Các công trình nghiên cứu vềphương pháp nhậndạng và kiểm chứng chất lượng cho một hệthốngnhận dạng khuôn mặtBài toán nhận dạng khuôn mặt cần xác định hai vấn đềchính: dùng thông tin nàođểnhận dạng: chân mày, cặp mắt, mũi, môi, tai, hay kết hợp các thông tin trên. Vàdùng phương pháp nào đểhuấn luyện cho máy nhận dạng dùng nguồn thông tinđó. Nhận dạng khuôn mặt trên máy tính đã trãi qua nhiều bước thăng trầm với cáckết quảnhư sau:¾Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets,John Weng (1998)[1] sửdụng phương pháp PCA (phân tích thành phầnchính) kết hợp LDA (phân tích độc lập tuyến tính). Bước 1, chiếuảnhkhuôn mặt từkhông gianảnh thô sang không gian các không gian khuônmặt (Mỗi lớp khuôn mặt được nhận dạng sẽđược mô hình hóa bằng mộtkhông gian khuôn mặt) dùng PCA. Bước 2, sửdụng phương pháp LDAđểtạo bộphân loại tuyến tính có khảnăng phân lớp các lớp khuôn mặt.¾John Daugnman (1998)[2], đưa ra phương pháp dùngđặc trưng vềtròngcủa mắtđểphân biệt cặp (trai/gái) song sinh.¾Emmanuel Viennet và Francoise Fogelman Soulie (1998),[3] sửdụngphương pháp mạng neural nhân tạo đểxửlý và nhận dạng khuôn mặt.¾Antonio J.Colmenarez và Thomas S.Huang (1998),[4] sửdụng kỹthuậthọc thịgiác và phù hợp mẫu 2-D. Ông quan niệm bài toán dò tìm khuônmặt là thao tác phân loại khuôn mặt trong đó khuôn mặt thuộc vềmộtlớp và các đối tượng khác thuộc vềlớp còn lại bằng cách ước lượng môKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM8 hình xác suất cho mỗi lớp, và việc dò tìm sửdụng luật quyết địnhMaximum-likelihood.¾Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, EgorElagin, Hartmut Neven, and Christoph (1998),[5] nhận dạng khuôn mặtdựa vào sóng Gabor và phương pháp phù hợp đồthịbó. Với ý tưởngdùng đồthịđểbiểu diễn khuôn mặt,ảnh khuôn mặt được đánh dấu tạicác vịtrí đãđược xác định trước trên khuôn mặt, gọi các vịtrí này chínhlà các vịtrí chuẩn. Khi thực hiện thao tác so khớp đồthịvới mộtảnh,các điểm chuẩn (Jets) sẽtrích ra từảnh và so sánh các điểm chuẩn nàyvới tất cảcác điểm chuẩn tươngứng trong các đồthịkhác nhau, và đồthịnào phù hợp nhất vớiảnh sẽđược chọn.¾Baback Moghaddam và Alex Pentland (1998) [6],đưa ra phương phápphù hợp thịgiác trực tiếp từcácảnh cần sửdụng cho mục đích nhậndạng khuôn mặt và dùng độ đo xác suất đểtính độtương tự.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM9 ¾Massimo Tistaelli và Enrico Grosso (1998) [7],đưa ra kỹthuật thịgiácđộng. Vì khảnăng quan sát các chuyển động của khuôn mặt và xửlý cáctính huống theo dựđịnh là thông tin rất quan trọng, từđó nhận được môtảđầy đủhơn vềkhuôn mặt cho mục đích thu thập mẫu và nhận dạng.¾Jeffrey Huang, Chengjun Liu, và Harry Wechsler (1998)[8], đềxuấtthuật toán căn cứtrên tính tiến hóa (Evolutionary computation) và ditruyền (Genetic) cho các tác vụnhận dạng khuôn mặt. Đối với cách tiếpcận này, hai mắt sẽđược dò tìm trước tiên và thông tin này được xem làvết đểquan sát khuôn mặt, trình xửlý dò tiếp mắt bằng cách sửdụngmột thuật toán lai đểkết hợp thao tác học và tiến hóa trong quá trìnhhọc.¾Daniel Bgraham và Nigel M Allinson (1998)[9], sửdụng phương phápđược gọi là tạo bản sao không gian đặc trưng đểbiểu diễn và nhận dạnghướng di chuyển của khuôn mặt.¾Oi Bin Sun, Chian Prong Lam và Jian Kang Wu (1998)[10], sửdụngphương pháp tìm vùng hai chân mày, hai mắt, mũi, miệng và cằm.Ảnhkhuôn mặt thẳng ban đầu được chiếu theo chiều ngang đểtìm các giá trịđiểmảnh thỏa ngưỡng cho trước, đồthịbiểu diễn theo trục ngang sẽđịnh vịvịtrí biên trên và biên dưới của hình chữnhật bao các đặc trưngcục bộkhuôn mặt. Tương tựvới chiều đứng đểtìm rađường biên bêntrái và phải cho các vùng đặc trưng.¾Ara V.Nefian và Monson H.Hayes III (1998)[12] trình bày hướng tiếpcận theo mô hình mô hình Markovẩn (HMM) trong đóảnh mẫu khuônmặt được lượng hóa thành chuỗi quan sát trên khuôn mặt theo quanniệm dựa trên thứtựxuất hiện các đặc trưng khuôn mặt {hai chân mày,hai lông mi, mũi, miệng, cằm}. Trong chuỗi quan sát đó, mỗi quan sátlại là một vector nhiều chiều và mỗi vector quan sát này được sửdụngđể đặc trưng cho mỗi trạng thái trong chuỗi trạng trạng thái của HMM.Mỗi người được ước lượng bằng một mô hình của HMM.¾Guodong Guo, Stan Z.Li, Kap Luk Chan (17 January 2001) [13], dùngphương pháp SVM đểnhận dạng khuôn mặt. Sửdụng chiến lược kếthợp nhiều bộphân loại nhịphân đểxây dựng bộphân loại SVM đa lớp.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM101.3.2 Hướng tiếp cận được thửnghiệm trong luận vănTrong đềtài này chúng tôi thửnghiệm hai phương pháp nhận dạng: SVM vàHMM. Hai phương pháp: PCA (phân tích thành phần chính) và DCT (biến đổiCosine rời rạc) đểrút ra các vector đặc trưng làm đầu vào cho hai bộnhận dạngtrên.Việc cô lập khuôn mặt trongảnh đầu vào (ảnh chứa khuôn mặt) được thựchiện với phương pháp dò tìm khuôn mặt trongảnh dùng mạng neural.Sơ đồhệthống nhận dạng khuôn mặt được minh họa trong hình sau:Doø tìmkhuoân maëtTieàn xöû lyùaûnh khuoân maëtChuaån hoaùkhuoân maëtTrích ñaëc tröngPhöông phaùp PCATrích ñaëc tröngPhöông phaùp DCTPhöông phaùpSVMPhöông phaùpHMMLôùp 1 Lôùp 2Lôùp i-1Lôùp i Lôùp i+1 Lôùp N-1 Lôùp N ???Ñaây laø ai?Hình 1-2 Mô phỏng hệthống nhận dạng khuôn mặtKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM11Chương 2 MÔ TẢDỮLIỆUKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM122.1 Thu thập dữliệuCơ sởdữliệuảnh khuôn mặt gồm 30 người được thu thập từnhiều nguồn khácnhau.Ảnh của 10 người đầu tiên được lấy từwebsitehttp://www.humanscan.de/support/downloads/facedb.phpcủa công ty HumanScan và nguồn dữliệu này chuyện phục vụcho bài toán dò tìm khuôn mặt,Ảnhcủa 3 người tiếp theo được lấy từwebsitehttp://www.mis.atr.co.jp/~mlyons/,Kyushu University, mỗi người gồm 20ảnh khác nhau, và nguồn dữliệu nàychuyên phục vụcho bài toán nhận dạng cảm xúc, 17 người còn lại từđược lấy từwebsitehttp://cswww.essex.ac.uk/ projects/ vision/allfaces, mỗi người bao gồm20ảnh khác nhau, và nguồn dữliệu này chuyên phục vụcho cácứng dụng nhậndạng khuôn mặt. Cơ sởdữliệu này được minh hoạtrongHình2-1.Ngoài ra, còn có tập dữliệu do chúng tôi tạo ra trong lúc thực hiện đềtài.Đó là dữliệu được thu thậpbằng WebCam gồm 10 người khác nhau. Chính sựchủđộng trong việc tạo mẫu nên sốlượngảnh khoảng trên 50ảnh / 1 người. Tậpmẫu này được minh hoạtrong Hình 2-2.Nhận xét vềtập mẫu dữliệu:Hầu hết các khuôn mặt xuất hiện trongảnh làkhuôn mặt trực diện với mặt phẳngảnh và mỗi khuôn mặt đều đầy đủthông tinđặc trưng như {Hai chân mày, hai mắt, mũi, miệng, cằm}. Một sốkhuôn mặt quayvới một góc không đáng kể.Kích thước chuẩn hoá của mỗi mẫu trong tập huấn luyện30×30 (pixels) hoặc32×32 (pixels) như mô tảtrên Hình 2-3. Tuỳthuộc vào đặc trưng xửlý của mỗithuật toán ta sửdụng một trong hai dạng kích thướcảnh chuẩn trên.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1312345678910111213 14 15161718 19 20212223 2425262728 29 30Hình 2-1 Dữliệu gồm 30 người được gán nhãn theo thứtựtừ1 đến 30.12345678910Hình 2-2 Dữliệu gồm 10 người được gán nhãn theo thứtựtừ1 đến 10Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM143030Hình 2-3 Kích thước chuẩn hoá của một mẫu khuôn mặt trong tập học2.2 Biểu diễn dữliệu khuôn mặt trong máy tínhDữliệuảnh biểu diễn bên trong máy tính là cường độsáng của điểmảnh, tại vịtrịx và y: (I(x,y)).Đểbiểu diễn dữliệu cho các thuật toán học nhận dạng, ta dùng hai cách tổchức dữliệu như sau:¾Đọc từng dòngảnh theo thứtựtừtrên xuống, mỗi dòngảnh được bốtríliên tục nhau trên một mảng sốthực một chiều. Như vậy từảnh có kíchthước 30×30 (pixels) ta biểu diễn thành mảng vector một chiều trong máytính x=(x1,x2,….,x900). Đây là cách bốtrí đểthí nghiệm cho phương phápPCA và SVM.¾Đọc từng khốiảnh có kích thước 8×32 (pixel) theo thứtựkhối dưới chồnglấp khối trên một nữa kích thước tính theo chiều cao, trên mỗi khốiảnhnày ta lại tiếp tục tách ra mỗi khối con 8×8 liên tục nhau. Từkhối8×8(pixels), chúng tôi chọn ra 20 hệsốđặc trưng từphép biến đổi trênmiền tần số. Mỗi khốiảnh 8×32 sẽđược lượng hoá thành mỗi vector mộtchiều. Như vậy đỗi vớiảnh mỗi khuôn mặt ta biểu biển trong máy tínhthành một chuỗi các vector một chiều liên tiếp nhau. Đây là cách bốtrí đểthửnghiệm cho phương pháp DCT và HMM.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM15Chương 3 DÒ TÌM KHUÔN MẶTKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM163.1 Giới thiệuDò tìmđối tượng là bài toán cơ bản và quan trọng trong lĩnh vực thịgiác máy tính.Các kỹthuật đãđược áp dụng có thểchia thành một trong hai tiếp cận: so khớpcác mô hình hình học hai, ba chiều vàoảnh [Seutens at al., 1992, Chin và Dyer,1986, Besl và Jain, 1985], hay phương pháp so khớp các mô hình khung vàoảnhcó chứa khuôn mặt cần dò tìm. Các nghiên cứu trước đây cho thấy rằng cácphương pháp dựa trên khung nhìn có thểdò tìm các khuôn mặt thẳng trong nềnphức tạp một cách hiệu qủa.Việc phát triển bộdò tìmđối tượng dựa trên khung nhìn dùng máy học cóba vấn đềchính. Thứnhất,ảnh của các đối tượng (chẳng hạn khuôn mặt) biến đổinhịều, tuỳthuộc vào độsáng, tình trạng che lấp, tư thế, biểu hiện khuôn mặt vàtính giống nhau. Thuật toán dò tìm giải quyết với càng nhiều biến đổi càng tốt.Thứhai, một hay nhiều mạng neural được huấn luyện đểgiải quyết với mọi biếnđổi còn lại trong việc phân biệt đối tượng (object) với không phải đối tượng(non-object). Thứba, đầu ra từcác bộdò tìm phải được kết hợp lại thành mộtquyết định có biểu diễn đối tượng hay không.Hai bài toán dò tìm và nhận dạng đối tượng có liên quan mật thiết. Hệthống nhận dạng đối tượng có thểxây dựng mà không có tập bộdò tìmđối tượng,mỗi bộdò tìm dò một đối tượng quan tâm. Tương tự, bộdò tìmđối tượng có thểđược xây dựng mà không có hệthống nhận dạng đối tượng; bộnhận dạng đốitượng này cần phân biệt đối tượng mong muốn với mọi đối tương khác có thểxuất hiện hay là lớp đối tượng chưa biết. Do đó hai bài toán là như nhau, dù trongthực hành hầu hết các hệthống nhận dạng đối tượng ít khi giải quyết nền tuỳý, vàcác hệthống dò tìmđối tượng ít khi được huấn luyện trên đủloại đối tượng đểxây dựng hệthống nhận dạng. Điểm chú trọng khác nhau của các bài toán này dẫnđến các trình bày và thuật toán khác nhau.Thông thường, các hệthống nhận dạng khuôn mặt làm việc bằng cáchtrước hết áp dụng bộdò tìm khuôn mặt để định vịkhuôn mặt, sau đó áp dụngthuật toán nhận dạng đểnhận diện khuôn mặt.3.1.1 Các thách thức trong việc dò tìm khuôn mặtViệc dò tìmđối tượng là bài toán xác định cửa sổcon củaảnh có thuộc vềtập cácảnh của đối tượng quan tâm hay không. Do đó, đường biên quyết định của tậpảnhđối tượng phức tạp sẽlàm tăng độkhó của bài toán và có thểtăng sốlỗi dò tìm.Giảsửta muốn dò khuôn mặt nghiêng trong mặt phẳngảnh, ngoài cácKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM17 khuôn mặt thẳng. Việc thêm các khuôn mặt nghiêng vào tập cácảnh ta muốn dòtìm làm tăng độbiến thiên của tập, và có thểlàm tăng độphức tạp của đường biênquyết định của tậpảnh. Độphức tạp này làm bài toán dò tìm khó hơn. Việc thêmảnh mới vào tậpảnh đối tượng có thểlàm đường biên quyết định đơn giản hơn vàdễhọc hơn. Có thểtưởng tượng điều này là đường biên quyết định được làm trơnbằng việc thêm cácảnh vào tập.Có nhiều nguồn biến đổi trong bài toán dò tìmđối tượng, và cụthểtrongbài toán dò tìm khuôn mặt. Có các nguồn biến đổi sau.9Biến đổi trong mặt phẳngảnh: loại biến đổiảnh khuôn mặt đơn giảnnhất có thểđược biểu diễn độc lập với khuôn mặt, bằng cách quay,dịch chuyển, biến đổi tỷlệvà soi gươngảnh.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM18 9Biến đổi độsáng và ngữcảnh: biến đổi do đối tượng và môi trườnggây ra, cụthểcác thuộctính bềmặt của đối tượng và các nguồnsáng. Các thay đổi vềnguồn sáng nói riêng có thểbiến đổi hoàntoàn vẻbềngoài của khuôn mặt.9Biến đổi nền: Trong luận văn của mình, Sung cho rằng với kỹthuậtnhận dạng mẫu hiện nay, tiếp cận dựa trên khung nhìnđểdò tìmđốitượng chỉthích hợp cho các đối tượng có “đường biênảnh có thểdựđoán được”. Khi đối tượng có hình dáng dựđoán được, ta có thểtrích ra window chỉchứa các pixel bên trong đối tượng, và bỏquanền.9Biến đổi hình dáng: với khuôn mặt, loạibiến đổi này bao gồm biểulộtình cảm khuôn mặt, miệng và mắt mởhay đóng, và hình dángkhuôn mặt của từng người.3.1.2 Tiếp cận theo khung nhìn kết hợp mạng nơronHệthống dò tìm khuôn mặt thực hiện qua bốn bước chính:1.Ước lượng vịtrí: việc dùng tiếp cận máy học, cụthểlà mạng neural, đòihỏi việc huấn luyện mẫu. Đểgiảm sốlượng biến đổi trongảnh huấn luyệndương,ảnh được canh biên với cácảnh khác đểcực tiểu hoá các biến đổivịtrí đặc trưng khuôn mặt. Khi thi hành chương trình, ta không biết chínhxác các vịtrí đặc trưng khuôn mặt, do đó không thểdùng chúng để định vịcácứng viên khuôn mặt tiềm năng. Thay vậy, ta dò tìm toàn diệnởmọi vịtrí và tỷlệđểtìm mọi vịtríứng viên. Các cải tiến dò tìm toàn diện làm chothuật toán nhanh hơn, với tỷlệdò tìm giảm 10% đến 30%.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM19 2. Tiền xửlý: đểgiảm các biến đổi gây ra do chiếu sáng hay camera,ảnhđược tiền xửlý với các thuật toán chuẩn như cân bằng lược đồ đểcải thiệnđộsáng và độtương phản trongảnh.3. Dò tìm: các khuôn mặt tiềm năng đã chuẩn hoá vềvịtrí, tư thế, và độsáng trong hai bước đầu tiên được khảo sát đểxác định chúng có thực sựlàkhuôn mặt hay không. Quyết định này được thực hiện bằng mạng neural đãhuấn luyện với nhiềuảnh mẫu khuôn mặt và không khuôn mặt.4. Quyết định: Kết hợp nhiều mạngđểcó được một quyết định khách quannhất. Mỗi mạng học những điều khác nhau từdữliệu huấn luyện, và đưa racác lỗi khác nhau. Các quyết định của chúng có thểkết hợp dùng một sốheuristic đơn giản, làm tăng độchính xác dò tìm khuôn mặt và ngăn chặnlỗi.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM203.1.3 Dò tìm khuôn mặt bằng phương pháp mạng neuralCanh bieânmaãu khuoân maëtTieàn xöû lyùtaäp maãu hoïcHuaán luyeändoø tìmkhuoân maët thaúngLaáy taát caû Windowcuøng vôùi vò trí treân aûnhTieàn xöû lyùcaùc WindowGiöõ laïi vò trícaùc maãu laø khuoân maëtAÛnh thöû nghieämcoù khuoân maëtTaäp maãu Khuoân maëtTaäp maãu khoângphaûi khuoân maëtXaùc minhwindow laøkhuoân maët/khoâng phaûikhuoân maëtSaiÑuùngKeát hôïpcaùc khuoân maët maøvò trí truøng laápCaùc khuoân maëttaïi caùc vò tríkhaùc nhauLoaïi boû windowkhoâng phaûikhuoân maëtHình 3-1 Sơđồluồng xửlý các bước chính trong tiến trình dò tìm khuôn mặtKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM213.2 Chuẩn bịdữliệu cho hệthống dò tìm khuôn mặt3.2.1 Giới thiệuDùng tiếp cận khung nhìn đểdò tìm khuôn mặt, bộdò tìm khuôn mặt theo khungnhìn phải xác định xem một cửa sổcon của mộtảnh có thuộc vềtậpảnh khuônmặt hay không. Các biến đổi trongảnh khuôn mặt có thểlàm tăng độphức tạpcủa đường biên quyết định đểphân biệt khuôn mặt với không khuôn mặt, làm choviệc dò tìm khó khăn hơn. Phần này sẽmô tảcác kỹthuật đểlàm giảm sốbiến đổitrongảnh khuôn mặt.3.2.2 Gán nhãn và canh biên cácđặc trưng khuôn mặtBước đầu tiên trong việc giảm sốcác biến đổi trongảnh khuôn mặt là canh biêncác khuôn mặt này với khuôn mặt khác. Việc canh biên này sẽlàm giảm các biếnđổi vềvịtrí, hướng, và tỷlệcác khuôn mặt. Việc canh biên được tính trực tiếp từcácảnh. Và nó tạo ra không gianảnh khuôn mặt tối thiểu. Cường độ ảnh khuônmặt có thểbiến đổi nhiều, làm cho một sốkhuôn mặt khó canh biên với nhau.Ta dùng giải pháp gán nhãn thủcông các mẫu khuôn mặt. Cụthểlà vịtríhai mắt, đỉnh mũi, hai góc và trung tâm miệng của mỗi khuôn mặt.Bước tiếp theo là dùng thông tin này đểcanh biên các khuôn mặt vớikhuôn mặt khác. Trước hết định nghĩa canh biên giữa hai tập điểm đặc trưng. Đólà phép quay, biến đổi tỷlệ, và dich chuyển đểlàm cực tiểu hoá tổng bình phươngkhoảng cách giữa từng cặp đặc trưng tươngứng. Trong không gian hai chiều, mộtphép biến đổi toạđộnhư vậy có thểđược viết dưới dạng sau:      ⋅    −=    +    ⋅    −=    1 cos sinsin cos' 'y xt a bt b atty xs ss sy xy xy xθ θθ θ(3.1)Nếu có nhiều tập toạđộtươngứng, có thểviết như sau:          =          ⋅          −−M M2 21 12 22 21 11 1' '' '1 00 11 00 1y xy xttbax yy xx yy xy x(3.2)Khi có hai hay nhiều hơn cặp điểm đặc trưng phân biệt, hệcác phươngtrình tuyến tính có thểđược giải bằng phương pháp đảo ngược giả. Gọi ma trậnKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM22 bên trái là A, vector (a, b, tx, ty)Tlà T, và bên phải là B, khi đó lời giải:T = (ATA)-1(ATB)(3.3)Lời giải đảo ngược giảđưa ra phép biến đổi T làm cực tiểu tổng bìnhphương khác biệt giữa tập toạđộx’i, y’ivà phiên bản đã biến đổi của xi, yi.Canh biên tập các điểm đặc trưng.1. Khởi tạoF, vector sẽlà vịtrí trung bình của mỗi đặc trưng gánnhãn trên mọi khuôn mặt, với một sốvịtrí đặc trưng ban đầu. Trongtrường hợp canh biên các khuôn mặt thẳng, các đặc trưng này là vịtrí mong muốn của hai mắt, đỉnh mũi, hai góc và trung tâm miệngcủa mỗi khuôn mặt trong cửa sổđầu vào.2. Với mỗi khuôn mặt i, dùng thủtục canh biên đểtính phép quay,dịch chuyển, và biến đổi tỷlệtốt nhất đểcanh biên các đặc trưngkhuôn mặt Fivới các vịtrí đặc trưng trung bìnhF.Gọi vịtrí đặctrưng đã canh biên F’i.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM23 3. Cập nhậtFbằng việc lấy trung bình các vịtrí đặc trưng đã canhbiên F’icho mỗi khuôn mặt i.4. Toạđộđặc trưng trongFđược quay, dịch chuyển và biến đổi đểphù hợp với một sốtoạđộchuẩn. Toạđộchuẩn là toạđộđược dùnglàm giá trịkhởi tạo choF.5. Sang bước 2.Theo kinh nghiệm, thuật toán hội tụtrong vòng năm lần lặp, tạo cho mỗikhuôn mặt phép biến đổi đểánh xạnó gần vềvịtrí chuẩn, và canh biên với mọikhuôn mặt khác. Khi đã biết các tham sốđểcanh biên khuôn mặt,ảnh có thểđượclấy mẫu lại dùng nội suy song tuyến tính. Khuôn mặt chuẩn và phân phối của cácvịtrí đặc trưng được cho trong Hình 3-2, và các mẫuảnh đãđược canh biên dùngkỹthuật này được cho trong Hình 3-3.Hình 3-2 Trái: Mẫu khuôn mặt chuẩn. Phải: Các vịtrí đặc trưng khuôn mặtchuẩn (tròn trắng), và phân phối của các vịtrí đặc trưng thực (sau khi canhbiên) từmọi mẫu (các điểm đen).Hình 3-3 Ví dụảnh khuôn mặt thẳng được canh biên.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM24 Trong việc huấn luyện bộdò tìm, việc thu thập sốmẫu đủlớn là vấn đềquan trọng. Một kỹthuật thường dùng là khung nhìnảo, trong đó cácảnh mẫumới được tạo ra từảnh thực (quay, dịch chuyển, biến đổi tỷlệngẫu nhiênảnhmẫu).Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM253.2.3 Tiền xửlý vềđộsáng và độtương phản trên tập mẫuhọcSau khi canh biên các khuôn mặt, vẫn còn một nguồn biến đổi chính (không kểbiến đổi vềbản chất giữa các khuôn mặt). Biến đổi này gây ra do độsáng và cácđặc tính máyảnh, dẫn đến cácảnh có độsáng tươi hay kém, hoặcảnh có độtươngphản kém.Ta xửlý vấn đềnày bằng tiếp cận xửlýảnh đơn giản. Kỹthuật tiền xửlýtrước hết cân bằng các giá trịmật độtrên toàn cửa sổ.Lập hàm hàm biến đổituyến tính giá trịmật độtrong vùng tròn trong cửa sổ. Các điểmảnh bên ngoàihình tròn có thểlà nền. Nếu mật độcủa pixel (x,y) là I(x,y), khi đó cách biến đổituyến tính này được tham sốhoá bởi a, b, c với:()) , ( 1y x Ic bay x=      ⋅(3.4)Việc chọn cách biến đổi này là tuỳý. Nó có thểbiểu diễn các khác biệt vềđộsáng trên toànảnh. Các biến đổi được giới hạn là tuyến tính đểsốtham sốít vàviệc tạo lập hàm nhanh chóng. Tập hợp với mọi pixel trên toàn cửa sổhình tròn tađược phương trình ma trận ràng buộc, và được giải bằng phương pháp đảo ngượcgiả. Phương trình tuyến tính này sẽxấp xỉtoàn bộđộsáng của mỗi phần của cửasổ, và bịtrừđi với cửa sổđểcân bằng biến đổi vềđộsáng.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM26 Tiếp theo, cân bằng lược đồ, ánh xạkhông tuyến tính các giá trịmật độ đểmởrộng miền cường độtrong cửa sổ. Lược đồ được tính với các pixel trong vùngtròn trong cửa sổ. Việc này bù cho các khác biệt trong việc thu nhận đầu vàocamera, và cũng cải thiện độtương phản trong một sốtrường hợp. Các kết qủacủa mỗi bước được cho trong Hình 3-4.Hình 3-4 Các bước trong việc tiền xửlý window. Đầu tiên, xây dựng hàm ánhxạtuyến tính với các giá trịmật độtrong window, và sau đó trừđi nó, đểhiệu chỉnh vềđộsáng. Tiếp theo, áp dụng cân bằng lược đồ, đểhiệu chỉnhđầu vào camera khác nhau và cải thiện độtương phản. Trong mỗi bước, việcánh xạđược tính với các pixel bên trong hình tròn, vàđược áp dụng với toànwindow.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM273.3 Phương pháp dò tìm khuôn mặt thẳng3.3.1 Giới thiệuChương này trình bày thuật toán dựa trên mạng neural đểdò tìm ra các view(khung nhìn) của các khuôn mặt đứng, thẳng trongảnh xám. Thuật toán thực hiệnbằng cách áp dụng một hay nhiều mạng neural trực tiếp với các phần củaảnh đầuvào, và phân xửcác kết qủa của chúng. Mỗi mạng được huấn luyện đểkết xuấtmột kết quảlà có hay không có khuôn mặt.Huấn luyện mạng neural đểdò tìm khuôn mặt là một công việc đầy tháchthức, vì khó khăn trong việc biểu thịcácảnh “không khuôn mặt”. Không như việcnhận dạng khuôn mặt, trong đó các lớp phân biệt là các khuôn mặt khác nhau. Hailớp gọi là phân biệt trong dò tìm khuôn mặt là “ảnh có chứa khuôn mặt” và “ảnhkhông chứa khuôn mặt”. Dễdàng lấy được mẫuảnh chứa khuôn mặt điển hình,nhưng việc lấy mẫuảnh không chứa khuôn mặt điển hình khó hơn rất nhiều. Tatránh việc dùng tập huấn luyện có kích thước lớn đểbiểu diễn không khuôn mặtbằng việc chọn thêmảnh vào tập huấn luyện khi tiến hành huấn luyện [Sung,1996]. Phương pháp “bootstrap” nhằm giảm kích thước của tập huấn luyện cầnthiết. Việc dùng cách thức xửlý giữa đa mạng và các heuristic đểlàm rỏràng cáckết qủa và cải thiện đáng kểđộchính xác của bộdò tìm.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM283.3.2 Huấn luyện dò tìm khuôn mặtHệthống hoạt động theo hai giai đoạn: trước hết áp dụng tập bộdò tìm dựa trênmạng neural vàoảnh, và sau đó dùng bộphân xửđểkết hợp các đầu ra. Các bộdòtìm riêng lẻkhảo sát mỗi vịtrí trongảnhởmột vài tỷlệ, tìm vịtrí có thểchứakhuôn mặt. Sau đó bộphân xửhợp các dò tìm từcác mạng riêng lẻvà loại trừcácdò tìm chồng lấp.Thành phần đầu tiên của hệthống là mạng neural nhận đầu vào là vùng20x20 (pixels) củaảnh và tạo đầu ra trong khoảng 1 đến -1, biểu thịcó hay khôngcó khuôn mặt. Đểdò tìm mọi khuôn mặt trongảnh, mạng được áp dụngởmọi vịtrí trongảnh. Đểdò tìm các khuôn mặt lớn hơn kích thước cửa sổ,ảnh đầu vàođược giảm kích thước nhiều lần, và áp dụng bộdò tìmởmỗi kích thước. Mạng cómột sốbất biến với vịtrí và kích thước. Sốbất biến xác định sốtỷlệvà vịtrí nóđược dùng. Với bài này, ta áp dụng bộlọcởmọi vịtrí điểmảnh, và giảm tỷlệxuống 1.2ởmỗi bước phân tíchảnh tứphân. Chópảnh này được cho bên tráitrong Hình 3-5.Hình 3-5 Thuật toán dò tìm khuôn mặtKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM29 Sau khi cửa sổ20x20 pixel được trích ra từmột vịtrí và tỷlệnào đó trongảnh nhập, nó được tiền xửlý dùng các bước hiệu chỉnh độsáng và cân bằng lượcđồnhư đã trình bày trong Phần 2.3. Window sau khi tiền xửlý được truyền quamạng neural. Mạng có các liên kết võng mạc đến các tầng nhập. Vùng thu nhậncủa các đơn vịẩn được cho trong Hình 3-5. Window đầu vào được chia thành cácmảnh nhỏ, 4 vùng 10x10 (pixels), 16 vùng 5x5 (pixels), và 6 vùng chồng lấp 20x5(pixels). Mỗi vùng có liên kết đầy đủvới một đơn vịẩn. Dù hình vẽcho thấy mộtđơn vịẩn cho mỗi vùng con đầu vào, nhưng các đơn vịnày có thểđược tái tạo.Với thửnghiệm sau, ta dùng mạng với hai và ba tập các đơn vịẩn này. Hình dángcủa các vùng con này được chọn đểcho phép các đơn vịẩn dò tìm cácđặc trưngcho việc dò tìm khuôn mặt. Cụthể, các sọc ngang cho phép các đơn vịẩn dò tìmcác đặc trưng như miệng, cặp mắt, trong khi các đơn vịẩn với vùng tiếp thu hìnhvuông có thểdò tìm cácđặc trưng như từng mắt, mũi, hai góc của miệng. Các thửnghiệm cho thấy rằng hình dạng chính xác của các vùng này không quan trọng,quan trọng là đầu vào được chia thành các vùng nhỏthay vì dùng các kết nối hoàntoàn với toàn bộđầu vào. Tương tựcác mẫu liên kết đầu vào thường được dùngtrong việc nhận dạng tiếng nói và ký tự[Waibel et al., 1989, Le Cun et al., 1989].Mạng có một đầu ra giá trịthực, chỉđịnh window có chứa khuôn mặt hay không.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM303.3.2.1Ảnh huấn luyện khuôn mặtĐểdùng mạng neural phân loại cửa sổlà khuôn mặt hay không, ta cần các mẫuhuấn luyện cho mỗi tập. Với các mẫu khuôn mặt ta dùng kỹthuật đã trình bàytrong phần 2.2 đểcanh biên cácảnh khuôn mặt trong đó một sốđiểm đặc trưng đãgán nhãn bằng tay. Sau khi canh biên, các khuôn mặt được co vềvềmột kíchthước, vịtrí và hướng đồng nhất trong cửa sổ20x20 pixel.Ảnh được co vềvớimột lượng ngẫu nhiên từ2 . 1 / 1đến2 . 1. Điều này cho phép bộdò tìmđượcáp dụngởmỗi vịtrí pixel vàởmỗi tỷlệtrong chópảnh, và vẫn dò tìm các khuônmặtởvịtrí và tỷlệtrung bình. Ngoài ra,đểcho bộdò tìm mạnh hơn với các biếnđổi không đáng kểtrong khuôn mặt, chúng được quay với một lượng ngẫu nhiên(tối đa 10o).3.3.2.2Ảnh huấn luyện không phải khuôn mặtTa cần nhiềuảnh không khuôn mặt đểhuấn luyện bộdò tìm khuôn mặt, vì sựđadạng củaảnh không khuôn mặt lớn hơn nhiều so vớiảnh khuôn mặt. Một lớpảnhkhông chứa khuôn mặt là cácảnh phong cảnh chẳng hạn cây, núi, và toà nhà.Thu thập tập không khuôn mặt “đặc trưng” là việc khó. Hầu như bất kỳảnh nào cũng có thểđược xem như là mẫu không khuôn mặt; không gianảnhkhông khuôn mặt lớn hơn không gianảnh khuôn mặt. Tiếp cận thống kê máy họccho rằng ta nên huấn luyện mạng neural trên cùng phân bốảnh mà mạng thấy khichạy. Với bộdò tìm khuôn mặt, sốmẫu khuôn mặt là 15,000, là một sốthích hợp.Tuy nhiên, tập đại diệnảnh phong cảnh chứa gần 150,000,000 cửa sổ, và việchuấn luyện trên một cơ sởdữliệu khuôn mặt có kích thước lớn như vậy là rất khó.Phần tiếp theo mô tảviệc huấn luyện trên một cơ sởdữliệu khuôn mặt này.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM313.3.2.3 Phương pháp huấn luyện chủđộngDo khó khăn của việc huấn luyện với mọi mẫu âm có thể, ta dùng thuật toán[Sung, 1996]. Thay vì thu thập tập cácảnh trước khi việc huấn luyện bắt đầu,ảnhđược thu thập trong quá trình huần luyện, theo cách sau:1. Tạo tập khởi tạo cácảnh không khuôn mặt bằng cách tạo 1000ảnh ngẫu nhiên. Áp dụng các bước tiền xửlý cho mỗiảnh này.2. Huấn luyện mạng neural nhân tạo đểcho ra 1 với các mẫu khuônmặt, và -1 với các mẫu không khuôn mặt. Trong lần lặp đầu tiên củavòng lặp, các trọng sốmạng được khởi tạo ngẫu nhiên. Sau lần lặp đầutiên này, ta dùng các trọng sốđược tính qua việc huấn luyện trong lầnlặp trước.3. Chạy hệthống trênảnh phong cảnhkhông chứa khuôn mặt. Thuthập cácảnh con trong đó mạng nhận lầm là khuôn mặt (hoạt hoá đầura >0).4. Chọn ngẫu nhiên 250ảnh con này, áp dụng các bước tiền xửlý,và sau đó thêm chúng vào tập mẫu âm. Sang Bước 2.Thuật toán huấn luyện dùng trong Bước là thuật toán hồi quy lỗi chuẩn[Hertz et al., 1991]. Các nơron dùng hàm kích hoạt dạng tanh, cho đầu ra từ-1đến 1, do đó ngưỡng 0 với dò tìm là khuôn mặt. Vì ta không huấn luyện với mọimẫu âm, các đối sốxác suất của phần trước không áp dụng cho việc thiết lậpngưỡng dò tìm.Vì sốmẫu âm lớn hơn nhiều so với sốmẫu dương, các bó mẫu huấn luyệnchỉchứa các mẫu âm, sẽkhông thích hợp cho việc huấn luyện mạng neural. Thayvì mỗi bó gồm 100 mẫu dương và âm lấy ngẫu nhiên từtoàn bộtập huấn luyện,và truyền qua thuật toán hồi quy ngược. Ta chọn các bó huấn luyện có 50% mẫuâm và 50% mẫu dương. Điều này đảm bảo rằng ban đầu, khi tập mẫu dươngnhiều hơn tập mẫu âm, mạng sẽhọc từcảhai tập.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM32 Hình 3-6 Trong khi huấn luyện, hệthống đã huấn luyện một phần được ápdụng với cácảnh phong cảnh không chứa khuôn mặt (như bên trái). Bất kỳvùng nào trongảnh được dò là khuôn mặt là lỗi, và được thêm vào tập mẫuhuấn luyện âm.Một sốmẫu không phải khuôn mặt được thu thập trong quá trình huấnluyện được cho trong Hình 3-6. Chú ý rằng một sốmẫu tương tựkhuôn mặt, dùchúng không gần các mẫu dương trong Hình 3-3. Sựxuất hiện của các mẫu nàylàm cho mạng neural học ranh giới chính xác giữa cácảnh khuôn mặt và khôngphải khuôn mặt. Dùng 120ảnh phong cảnh đểthu thập các mẫu âm theo cáchbootstrap. Lần huấn luyện điển hình chọn khoảng 8000ảnh không khuôn mặt từ146,212,178ảnh con có sẵn tại mọi vịtrí và tỷlệtrong huấn luyệnảnh phongcảnh.Hình 3-7Ảnh mẫu đểthửnghiệm đầu ra của bộdò tìm thẳng.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM33 Hình 3-8Đầu ra của mạng dò tìmKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM343.3.3 Phương pháp cải tiến chất lượng dò tìm khuôn mặt(Theo Henry A.Royley, May 1999, CMU-CS-99-117)Hình 3-8cho thấy rằng đầu ra từmột mạng đơn vẫn còn nhiều dò tìm lỗi. Trongphần này, ta đưa ra hai chiến lược đểcải thiện độtin cậy: hợp nhất các dò tìmchồng lấp từmột mạng đơn và phân xửgiữa đa mạng.3.3.3.1 Các Heuristic loại bỏthông tin thừaTrong Hình 3-8, khuôn mặt được dò tìm với nhiều vịtrí và tỷlệgần nhau,trong khi đó các dò tìm lỗi thường xuất hiện với ít vịtrí và tỷlệhơn. Quan sát nàydẫn tới heuristic loại trừnhiều dò tìm lỗi. Với mỗi dò tìm, sốcác dò tìm kháctrong lân cận của dò tìmđó có thểtính được. Nếu sốđó lớn hơn một ngưỡng, vịtrí đó được phân loại là một khuôn mặt. Trung tâm của các dò tìm gần nhau xácđịnh vịtrí dò tìm kết qủa, do đó che lấp các dò tìm. Heuristic nàyđược gọi làphân ngưỡng theo kích thước và cấp độcoảnh trong đókích thướclà kích thướclân cận, tính theo sốđiểmảnh và các bước biến đổi tỷlệtheo dạng tứphân, vàcấp độchínhlà tổng sốdò tìm phải xuất hiện trong lân cận đó. Kết qủa của việcáp dụng threshold(4,2) với cácảnh trong Hình 3-8được cho trong Hình 3-9.Hình 3-9 Kết qủa áp dụng threshold(4,2) với cácảnh trong Hình 3-8.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM35 Nếu một vịtrí được xác định chính xác là khuôn mặt, khi đó mọi vịtríkhác chồng lấp nó có vẻnhư là lỗi, và do đó có thểđược loại trừ. Theo heuristictrên, ta giữlại vịtrí với nhiều dò tìm trong một lân cận nhỏ, và loại trừcác vịtrívới sốdò tìm ít hơn. Heuristic này được gọi là “chồng lấp”. Một sốtrường hợpheuristic này không đúng, như trong Hình 3-8b, trong đó một khuôn mặt che mộtphần khuôn mặt khác, và do đó bịmất khi áp dụng heuristic này.Hình 3-10 Kết qủa áp dụng trùng lấp với cácảnh của Hình 9.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM36 Hình 3-11 Cơ cấu trộn nhiều dò tìm từmột mạng đơn: A) Các dò tìmđượcghi trong chóp “đầura”. B) tính sốdò tìm trong lân cận của mỗi dò tìm. C)Bước cuối cùng là kiểm tra các vịtrí khuôn mặt đãđưa ra vềtính chồng lấp,và D) loại bỏcác dò tìm chồng lấp nếutồn tại.Việc thi hành hai heuristic này được minh hoạtrong Hình 3-11. Mỗi dò tìmởmột vịtrí và tỷlệđược đánh dấu trong pyramid (chóp)ảnh, gọi là chóp “đầu ra”.Sau đó mỗi dò tìmđược thay bằng sốdò tìm trong lân cận của vịtrí đó. Áp dụngngưỡng với các giá trịnày, và tính trọng tâm (vềcảvịtrí và tỷlệ) của các dò tìmtrên (bước này được bỏqua trong Hình 3-11). Khảo sát mỗi trọng tâm, bắt đầu từtrọng tâm có sốdò tìm lớn nhất trong lân cận. Nếu bất kỳvịtrí trọng tâm khácbiểu diễn khuôn mặt chồng lấp với trọng tâm hiện hành, được loại bỏkhỏi chópđầu ra. Mọi vịtrí trọng tâm còn lại tạo thành kết qủa dò tìm cuối cùng.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM373.3.3.2 Hệthống Mạng Kết HợpĐểgiảm hơn nữa sốlỗi, ta có thểáp dụng nhiều mạng, và phân xửđầu ra củachúng đểtạo quyết định cuối cùng. Mỗi mạng được huấn luyện theo cách tươngtự, nhưng với các trọng sốban đầu ngẫu nhiên, cácảnh không khuôn mặt ban đầungẫu nhiên, và hoán vịthứtựtrình bày của cácảnh phong cảnh. Việc dò tìm và tỷlệlỗi của các mạng riêng bịhạn chế. Tuy nhiên, vì cácđiều kiện huấn luyện khácnhau, và vì việc tựlựa chọn các mẫu huấn luyện âm, các mạng có các bias(khuynh hướng) khác nhau và tạo các lỗi khác nhau.Hình 3-12 AND các đầu ra từhai mạng trên các vịtrí và tỷlệkhác nhau cóthểcải thiện độchính xác dò tìm.Thuật toán phân xửđược minh hoạtrong Hình 3-12. Mỗi dò tìmởmột vịtrí và tỷlệđược ghi lại trong chópảnh, tương tựheuristic trước. Một cách đểkếthợp hai chóp đó là AND chúng. Chiến lược này cho một dò tìm chỉnếu cảhaimạng dò tìm một khuôn mặtởchính xác cùng vịtrí và tỷlệ. Do khuynh hướngkhác nhau của mỗi mạng chúng hiếm khi đồng ý với một dò tìm lỗi. Điều này chophép AND đểloại trừhầu hết các dò tìm lỗi. Heuristic này có thểgiảm tỷlệdòtìm vì một khuôn mặt được dò tìm bởi một mạng sẽbịbỏqua. Tuy nhiên, sau đâyta sẽthấy các mạng riêng có thểdò tìm cùng tập khuôn mặt, đểsốkhuôn mặt mấtKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM38 do AND là nhỏ.Các heuristic tương tự, chẳng hạn OR các đầu ra của hai mạng, hay bỏphiếu giữa ba mạng, cũng đãđược thử. Trong thực hành, các heuristic phân xửnày có thểđược dùng với các thuật toán lấy ngưỡng khác nhau đã mô tảtrên.Chẳng hạn, AND có thểđược thực hiện bằng việc kết hợp kết qủa của hai mạng,và áp dụng threshold(0,2), OR với threshold(0,1), và bỏphiếu bằng việc áp dụngthreshold(0,2) với các kết qủa của ba mạng.Các chiến lược phân xửnhư AND, OR, hay bỏphiếu có vẻnhư hợp lý,nhưng có thểmột sốheuristic kém hiển nhiên hơn có thểthực hiện tốt hơn. Đểthửnghiệm thuyết này, ta dùng một mạng khác đểphân xửđa mạng dò tìm. Vớimọi vịtrí, mạng phân xửkhảo sát một lân cận nhỏxung quanh vịtrí đó trongchóp đầu ra của mỗi mạng đơn. Với mỗi chóp, ta tính các dò tìm trong vùng 3x3pixel với ba tỷlệquanh vịtrí đó, thu được ba sốvới mỗi bộdò tìm, vàđưa vàomạng phân xử. Mạng phân xửđược huấn luyện đểtạo ra một đầura dương chotập các đầu vào cho trước chỉnếu vịtrí đó có chứa một khuôn mặt, và tạo ra mộtđầu ra âm cho các vịtrí không chứa khuôn mặt. Như sẽthấy trong phần kế, dùngmạng phân xửtheo cách này tạo ra các kết qủa có thểso sánh được với (và tốthơn trong một sốtrường hợp) các kết qủa tạo ra bởi các heuristic đã trình bàytrước đây.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM39Chương 4 RÚT TRÍCH ĐẶC TRƯNG TỪKHUÔN MẶTKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM404.1 Tiếp cận theo phương pháp phân tích thành phầnchính (Principal Component Analysis hay PCA)4.1.1 Vector riêng, Trịriêng và sựchéo hoá củama trậnXét một toán tửtuyến tính f trong không gian Rnvới các vector cơ sở:ei= [0...1...0]T(với giá trị1 nằm tại vịtrí thứi)(4.1.1)To á n tửtuyến tính này sẽđược biểu diễn bởi một ma trận vuôngTkíchthướcn×n.Một đại lượng vô hướngλđược gọi là trịriêng của toán tửf, hay của ma trậnT,nếu tìmđược một vectorx, x≠0, sao chof(x) =λx (4.1.2)hayT*x =λx. (4.1.3)Vectorxkhi đó được gọi là vector riêng củaf,hayT,ứng với trịriêngλ.Ma trậnTvới kích thướcn×ntrên đây sẽcó tối đantrịriêng và n vector riêngtươngứng. Một ma trậnTkhảnghịch đảo sẽcó đủntrịriêng (kểcảtrịriêng bội)vànvector riêng tươngứng.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM414.1.2 Kì vọng và phương sai trong thống kê đa chiềuMa trậnT(biểu diễn trong không gianRnvới các vector cơ sởeinêu trên) đượcgọi là chéo hóa được nếu tồn tại một cơ sởtrong không gianRnsao cho ma trậnTbiểu diễn trong cơ sởđó có dạng chéo (các phần tửngoài đường chéo bằng0).Ví dụ:Khảo sát trên không gianR5với ma trận chéo5×5T =123450000000000 00000 00000λλλλλGiảsửClà ma trận các vector cơ sởmới được biểu diễn trong cơ sở{ei}.Ởđây, ma trậnTđược chuyển từcơ sở{ei}sang cơ sởmới nên ma trận chuyểnđổi cơ sởtừ{ei}sangCcũng làC. NếuTchéo hóa được tức là tồn tại ma trậnCkhảnghịch (tức làCtạo được một cơ sởtrongRn) sao cho :Tc= C-1T C (4.1.4)có dạng chéo.Nếu ta cóClà một ma trận có các cột là các vector cơ sởđãđược chuẩnhóa của không gianRnthìCT= C-1, khi đó ta có thểviết :Tc= CTTC.(4.1.5)Ta c ó t hểtìmđược ma trậnCđểchéo hóa một ma trậnTbằng cách tìm cácvector riêng của ma trậnT. Ma trậnClà ma trận có các cột là các vector riêng củaT.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM42 + Kì vọngĐối với thống kê nhiều chiều, mỗi một mẫu thống kê là một vector nhiều chiều.Giảsửta có một biến ngẫu nhiênXtrong không gian tuyến tínhnchiều.X = [x1x2... xn]T(4.1.6)Khi đó kỳvọng của biến ngẫu nhiênXcũng là một vectornchiều, trongthống kê, kỳvọngE[X]của một biến ngẫu nhiênXcó thểđược ước lượng bằngtrung bình mẫuX:X=∑= MiiXM11. (4.1.7)Trong đóMlà tổng sốmẫu có trong thống kê.+ Ma trận hiệp phương saiGiá trịphương sai trong thống kê một chiều là độ đo mức độphân tán của biếnngẫu nhiên xung quanh kỳvọng. Trong thống kê nhiều chiều, khái niệm này đượcmởrộng thành ma trận hiệp phương sai :TX E X X E X E C]] [ ]][ [ [− − =(4.1.8)Ma trận hiệp phương sai là một ma trận đối xứng. Mỗi phần tửcijcủa matrận là hiệp phương sai giữa hai thành phầnxivàxjtrong vectorX.Nếucij= 0ta nói hai thành phầnxivàxjlà độc lập hay không phụthuộc lẫn nhau.Nếucij≠0, ta nóixivàxjkhông độc lập hay giữa chúng có mối tương quan vớinhau.Trong thống kê, ma trận hiệp phương sai được tính như sau :C =∑=− −−MiTi iX X X XM1) )( (1 1(4.1.9)4.1.3 Kỹthuật rút trích trích đặc trưng bằng phương phápphân tích thành phần chínhÝ tưởng chính phân tích thành phần chính:Mục tiêu của phương pháp thànhphần chính là giảm sốchiều của mộttập các vector sao cho vẫn đảm bảo được tốiđa thông tin quan trọng nhất của tập học. Có thểnóiphân tích thành phần chínhtìm cách giữlại những thành phần thống kê quan trọng nhất của tập mẫu.Giảsửta cần giảm sốchiều của mẫu học từnchiều xuống cònmchiềunghĩa là ta cần tìm một ánh xạtừkhông giannchiều xuống không gian nhỏhơnKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM43 chỉcómchiều(m<n).Gọixlà một vector trong không giannchiều,ylà mộtvector trong không gianmchiều. Ta có trung bình bình phương lỗiMSE(meansquare error)khi loại bỏmột sốthành phần trongxđểthu đượcYbằng tổngphương sai của những thành phần bịloại bỏ. Phương pháp phân tích thành phầnchính sẽtìm một phép biến đổi tuyến tínhT:y = T*x Tlà ma trậnmxn (4.1.10)sao cho trung bình bình phương lỗi là bé nhất.GọiMlà vector trung bình của các vector x trong tập họcX.M =∑= MkkxM11, Mlà sốphần tửtrong tập học.(4.1.11)GọiClà ma trận hiệp phương sai của các các phần tửtrong tậpX.C =∑=− −−MkTk kM x M xM1) )( (1 1, Clà ma trận đối xứngnxn (4.1.12)Người ta chứng minh được rằng nếuTlà một ma trận mà mỗi hàng là mộtvector riêng củaCvàmvector riêng nàyứng vớimtrịriêng lớn nhất thìTchínhlà phép biến đổi tuyến tính thỏa mãnđiều kiệnMSEnhỏnhất.GọiΦlà ma trận vuôngn×nmà mỗi cột là một vector riêng củaCđãđược chuẩnhóa với phép biến đổi :y =ΦT*x y = (y1, y2, ..., yn) (4.1.13)được gọi là phép biến đổiHotelling.Xét theo quan điểm của nhận dạng thì mỗi thành phầnyicủa vectoryđượcxem như là một đặc trưng của vector mẫux. Các đặc trưng này là các đặc trưngđộc lập với nhau vì ma trận hiệp phương sai củaylàCy=ΦTCΦ(4.1.14)là một ma trận chéo (đãđềcập tới trong phần : Vector riêng, trịriêng và sựchéohóa ma trận).Tóm lại, phương pháp phân tích thành phần chính ánh xạmột vector từkhônggiannchiếu xuống không gianmchiều sẽđi tìm các trịriêng và vector riêng củama trận hiệp phương saiCcủa tậpXvà giữlạimvector riêngứng vớimtrịriênglớn nhất làm cơ sởcho không gianmchiều này.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM44 Hình 4-1 Hai trục tươngứng với hai thành phần quan trọng nhất và ít quantrọng nhất đối với tập mẫu có hai cluster nhưtrên.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM45 ™Lưuý :Khi sốlượng mẫuMtrong tậpXnhỏhơn sốchiềun, thay vì tính trực tiếpcác vector riêng từma trận hiệp phương saiC, ta có thểtính các vector riêng theophương pháp sau :9Bước 1 :Tính ma trận kích thướcM×M, C’như sau :C’ = YT.YvớiYn×M= [x1, x2, ..., xM]mỗi cột của ma trận là một phần tửxi, i=1..m9Bước 2 :TínhMvector riêngEMivà các trịriêng tươngứng của ma trậnC’.Chọnmvector riêngứng vớimtrịriêng lớn nhất đểtiếp tục bước 3.9Bước 3 :Chiếu các vector riêngMchiều này vềlại không giannchiều củacác mẫuxibằng cách như sau :Eni=∑= Mkk kx EM1(4.1.15)Các vectorEnithu được chính là các vector riêng cần tìm của ma trậnC.™Cách xác định sốthành phần chính hiệu quảnhất9Có hai phương pháp hữu ích giúp cho chúng ta lấy sốlượng thànhthành phần chính sao cho hiệu quả. Tất cảhai phương pháp này đềudựa trên mối quan hệgiữa các giá trịđặc trưng.9Sắp xếp lại các giá trịđặc trưng tìmđược theo thứtựgiảm dần vềmặt giá trị(1,eigenvalue[1]), (2,eigenvalue[2]),…,(p,eigenvalue[p]) và Thứtựnày vẫn đảm bảo được thứtựcủacác vector đặc trưng tươngứng.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM46 9Theo dõi sựbiến thiên của chuỗi giá trịđặc trưng vừa được xếp lại,khi sựbiến thiên này tiến đến một điểm ngưỡng (thông thường xấpxỉbằng không). Thông thường đó chính là lúc mà ta chọn được đủsốlượng thành phần chính cần thiết .9Với phương châm làm sao sốlượng thành phần chính là thấp nhấtđủ đểgiải thích khảnăng phân tán tập mẫu học thành các lớp mẫuriêng cần thiết nhất.™Cách đểnhận được các thành phần chính9Các thành phần chính có thểnhận được bằng cách chiếu các vectordữliệu có nhiều biến động vào không gian mởrộng từcác vectorđặc trưng.™Các đánh giá quan trọng vềrút trích đặc trưng bằng phương phápPCA9Khi lấy sốđặc trưng càng vềsau thì khảnăng biến động cần thấp,có nghĩa nối quan hệgiữa các phần tửcàng cao , thì sựgiao nhaugiữa các lớp mẫu trong tập mẫu càng lớn9Nhưng nếu lấy không đủsốlượng thành phần chính , thì khảnăngphân tán của tập mẫu càng cao (Có thểtăng vượt ngoài sốlớp mẫucần thiết trong tập mẫu )Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM474.2 Tiếp cận theo phương pháp Biến đổi Cosine rời rạc4.2.1 Ý nghĩa phép biến đổi DCTPhép biến đổi Cosine rời rạc là một kĩ thuật biến đổi nhanh, và là một trongnhững phép biến đổi hữu ích nhất trong lĩnh vực xửlý tín hiệu sốnói chung vàlĩnh vực xửlíảnh, video nói riêng. Mục đích của mã hóa Cosine rời rạc xửlý tínhiệu trên miền không gian pixel sang một tín hiệu mới trên miền tần số, nhằmgiảm khối lượng dữliệu của các tín hiệu, đồng thời vẫn bảo toàn tốt chất lượngcủa tín hiệu.4.2.2 Các khái niệm quan trọng¾Định nghĩa 1Phép biến đổi Cosine rời rạc hai chiều trên một ma trận{}(, ) Cckn=kích thướcNN×, cũng gọi là một phép biến đổi cosine rời rạc, được định nghĩa như sau10, 0 1(, )2 (2n+1)kos 1 1, 0 12knNNck nckNnNNNπ=≤≤−=≤≤ − ≤≤ −(4.2.1)¾Định nghĩa 2Phép biến đổi Cosine rời rạc một chiều trên một dãy số{u(n),0 n N-1}≤≤đượcđịnh nghĩa như sau1n=0(2 1)v(k) = (k) ( ) cos2NnkunNπα−+∑01kN≤≤−(4.2.2)Trong đó:1(0)Nα,1()kNαvới11kN≤≤−(4.2.3)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM48 ¾Định nghĩa 3Phép biến đổi nghịch Cosine rời rạc được định nghĩa như sau10(2 1)() ()()cos2Nknkun kvkNπα−=+=∑01nN≤≤−(4.2.4)¾Định nghĩa 4Các vector cơ sởcủa phép biến đổi Cosine rời rạc trên khối88×. Có thểcónhiều trường hợp các hệsốcủa phép biến đổi này rất nhỏ, giải thích nguyên nhânnày là hầu hết năng lượng của dữliệu được dồn vềmột vài hệsốđặc biệt nào đóvàởmột vài trịtrí đặc biệt nào đó trên miền tầnsố.¾Định nghĩa 5Tín hiệu thực: một tín hiệu là một tín hiệu thực thì giá trịphần thực cũng chính làgiá trịcủa tín hiệu gốc, còn phầnảo thì bằng không.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM494.2.3 Kĩ thuật mã hoá hệsốDCTSơ đồphép biến đổi Cosine rời rạc xửlý giá trịcác khối dữliệu pixel thành cáckhối hệsốtrong miền tần số. Nhằm tăng tốc độxửlý của thuật toán ta thườngchọn khối dữliệu88C×hay16 16C×, nhưng tiểu chuẩn chọn khối phổbiến nhấtvẫn là 8×8, có thểgiải thích vấn đềnày trên phương diện khảnăng xửlý của phầncứng: Bởi vì, khối 8×8 trùng khớp với kích thước dữliệu cực đại mà công nghệvimạch điện tửhiện thời có thểxửlý tại một thời điểm.Khi sửdụng phép biến đổi Cosine rời rạc trên mỗi khối dữliệu thô88C×vàkết quảcủa phép biến đổi này cũng là một ma trận88c×phổnăng lượng trên miềntần số. Ta có thểnói rằng 64 giá trịsốthay đổi thành 64 giá trịsốkhác. Tất cảcácgía trịnày đều thuộc vềmiền sốthực:0 , 7uvcR uv×∈≤≤. Theo như tính chấtcủa Cosine rời rạc đãđược trình bàyởphần trên ta đã loại bỏđược sựphức tạpcủa toán học trong xửlý của nó và cũng chính vì vậy Cosine rời rạc sẽđơn giảnhơn nhiều so với phép biến đổi nhanh Fourier(FFT). Nhưng phép phân tíchCosine rời rạc lại tương tựnhư phép biến đổi nhanh Fourierởchỗgiá trịcủa mỗihệsốtrên ma trận DCT trong miền năng lượng quang phổchính là biên độcủahàm cơ sởtươngứng với hệsốđó. Hình 4-2 sau đây sẽmô phỏng 6 trong 64 hàmcơ sởđã sửdụng trong khối 8×8 DCT Nó cũng phụthuộc vào vịtrí trên miềnquang phổmà biên độ đó được lưu trữ.Các hàm cơ sởtrên khối 8×8 DCT có dạng như sau :7700( ) ( ) (2x+1)u (2 1)(,) (, ) os41616xyCuCv yvcuv C x yC Cosππ==+=∑∑(4.2.14)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM50 Trong đó :(, ) Cxy- Các mẫu gốc trong khối ma trận 8×8 DCT(, ) cuv- Các hệsốkhối DCT 8×8u-Tần sốngang chuẩn hóa (07u≤≤)v-Tần sốđứng (mặt) chuẩn hóa (07v≤≤)1,0(), ()21 , 1, ..., 7uvCu Cvuv ===(4.2.15)Hình 4-2 Các hàm cơsởcủa phép biến đổi Cosine rời rạc, Miền quang phổcủa phép biến đổi Cosine rời rạc bao gồm một mảng hai chiều 8´8, mỗi phầntừtrong mảng là giá trịbiên độcủa một trong 64 hàm cơsở.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM51 Kết quảphép biến đổi Cosine rời rạc trên ma trận 8×8, các thành phần cótần sốthấp đã dồn vềgóc trên bên trái của ma trận quang phổ, trong khi đó cácthành phần có tần sốcao đã dồn vềgóc dưới bên phải của ma trận quang phổ.Đối với hệsốtại vịtrí,0 uv=,1(), ()2 Cu Cv=, được gọi là thành phầnDC của ma trận 8×8 DCT77001(0, 0) ( , ) os0. 08xycCxyCCos===∑∑(4.2.16)Phương trình này cộng tất cảcác giá trịtrong khối 8×8 và chia kết quảcho8. Theo thống kê thì kết quảnày bằng 8 lần giá trịtrung bình trong khối 8×8.Các hệsốcòn lại tại các vịtrí khác,0 uv≠,(), () 1 Cu Cv=, được gọi là thànhphần AC của ma trận 8×8. Trong đó(0,1) cbằng nửa chu kỳcủa dạng sóng cosinekhảo sát trên một chiều và(1, 0 ) ccũng bằng nửa chu kỳcủa dạng sóng cosinekhảo sát trên một chiều nhưng đã bịquay 900.Trong khối 8×8 các giá trịcủa hệsốDCT đưa ra một giá trịDC lớn, biểudiễn giá trịtrung bình từkhối 8×8 ban đầu và các gía trịnhỏhơn rất nhiều so vớiDC đó chính là các thành phần có tần sốcao theo chiều ngang và đứng. Tuy nhiên,các hệsốAC theo chiều ngang cao hơn các hệsốAC theo chiều đứng.Bảng 4-1 Dữliệu trên Matrận hai hiều 8x8Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM52 Bảng 4-2 Dữliệu qua phép biến đổi 2D-DCT1234567812345678-1000 100 200 300 400 500 60012345678123456780 2040 60 80 100yxuvGiaù trò(x,y)Phoå taàn soá(u,v)Hình 4-3 Quá trình mã hoá DCT trên một khối 8×8Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM534.2.4 Quét ZigzagTừkhối các hệsốDCT, quét zigzag đểcó khảnăng mã hóa và truyền dẫn theokênh một chiều (1-D). Hình vẽdưới đây sẽđổi mảng hai chiều thành chuỗi liêntiếp các hệsốcó tần sốkhông gian tăng. Quét zigzag được chọn các hệsốcó ýnghĩa nhất, nhóm các hệsốbằng 0 nhiều nhất có thểcó. Sựphân bốcác hệsốkhác 0 phụthuộc vào sựbiến đổi giá trịcủa khối dữliệu gốc và sựbiến đổi mạnhvềmặt giá trịtrong khối dữliệu gốc theo chiều đứng. Một cách quét khác.Hình 4-4 Vẽkhối zigzag dạng 1Hình 4-5 Vẽkhối zigzag dạng 2Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM54Chương 5 SVM VÀỨNG DỤNG NHẬN DẠNGKHUÔN MẶTKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM555.1 Cởsởlý thuyết của SVMSVM là phương pháp học do Vladimir N. Vapnik đềxuất vào năm 1995, và ngàycàng được sửdụng phổbiến trong nhiều lĩnh vực, đặc biệt là lĩnh vực phân loạimẫu và nhận dạng mẫu. Đồng thời có nhiều tính năng ưu việt so với các phươngpháp cổđiển khác: dễdàng xửlý, xửlý với tínhổn định cao trên dữliệu phức tạp,có thểcó sốchiều lớn và quan trọng hơn cảlà khảnăng xửlý tổng quát.5.1.1 Các khái niệm nền tảng5.1.1.1Đường bao tổng quát cho một hệmáy họcKhảo sát bao gồmlmẫu quan sát. Mỗi quan sát gồm một cặp: một vectorxi∈Rn,i = 1,…, lvới một giá trịxác địnhyimà giá trịcủa nó xuất phát từviệc gán chủquan từngười tổchức dữliệu. GọiP(x,y)là hàm phân phối xác xuất giữaxvàyvà chưa được xác định tường minh. Cách tổchức trên đây có tính tổng quát caohơn so với việc kết hợp cứng giữayvới mỗix,điều này cho phép tính được phânphối củaydựa vào dữliệuxcho trước. Tuy nhiên, sau phần này, ta thừa nhận cốđịnh y với x cho trước.Hệmáy học có nhiệm vụhọc ánh xại iy xa, được định nghĩa từmột tậphợp các ánh xạ) , (αx f xa, trong đó hàm) , (αx fđược gián nhãn bởi các thamsốα(αcó thểhiệu chỉnh được trong quá trình xửlý trên tập học). Hệmáy họccó thểxem như là một hệquyết định. Với dữliệu đầu vào làxcho trước, chọn ramộtαthích hợp, và kết xuất sẽlà) , (αx f. Việc chọnαcó thểcó nhiều cách khácnhau,ởđây chúng ta sẽtiếp cận theo phương pháp máy học.Lỗi thửnghiệm đối với một hệmáy học đãđược huấn luyện:∫− =) , ( ) , (2 1) (y x dP x f y Rα α(5.1)Nếu tồn tại hàm mật độp(x,y)thìdP(x,y)có thểđược viết thànhdP(x,y) =p(x,y)dxdy. Đây là cách viết khác của trung bình lỗi, nhưng trong trường hợp đãước lượng đượcP(x,y)thì cách viết này sẽkhông còn ý nghĩa nữa.R(α)được gọi là lỗi kì vọng, hay lỗi.Ởđây ta gọi nó là lỗi thực. Lỗi huấnluyện (thực nghiệm)Remp(α)được định nghĩa là độ đo tỷlệlỗi trung bình xảy ratrên tập học (Ởđây chỉchú trọng vào trường hợp dữliệu là hữu hạn):Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM56∑=− =lii i empx f yl R1) , (21) (α α(5.2)Remp(α)là một giá trịtường minh tươngứng với một hệsốαriêng từdữliệuhuấn luyện riêng{xi,yi}.Đại lượng) , (2 1αi ix f y−được gọi là độlệch. Trong trường hợp này, nóchỉcó thểlấy giá trị0và1. Chọnηsao cho0≤η≤1và cho độlệch nhận các giátrịnày, với xác suất1-η, ta có:  − ++ ≤l h l hR Remp) 4 / log( ) 1 ) / 2 (log() ( ) (ηα α(5.3)hlà một sốnguyên không âm và cònđược gọi là chiều VC (VapnikChervonenkis) (VC-dimension). Gọi vếphải của(5.3)là đường bao lỗi hay biênlỗi. Các thuật ngữtrước đây của một sốnhà nghiên cứu: (Guyon et al., 1992) gọilà lỗi được thừa nhận nhưng cách gọi này có thểgây ra một sốnhầm lẫn, vì nóthực sựchỉlà đường bao trên miền lỗi chứkhông phải là giá trịchính xác của lỗi,và nó chỉđúngởmột xác suất nào đó nên thật sựlà không đảm bảo được độ đonày là chính xác. Thuật ngữthứhai là độtin cậy Vapnik Chervonenkis.5.1.1.2 Chiều VC (VC-dimension)Chiều VC là một thuộc tính của tập hàm{f(α)}(ta dùngαnhư là một tập cáctham sốcó đặc điểm chung sau: Cứchọn ra một hệsốαthì sẽxác định được mộthàm riêng tươngứng), và dùng chiều VC chúng ta có thểbiểu diễn các dạng biếnthểkhác nhau của hàmfcó thểcó.Ởđây chỉkhảo sát các loại hàm cho trườnghợp giải quyết bài toán nhận dạng mẫu hai lớp, như vậyf(α)∈{-1,1}∀x,α. Chotrước tập quan sát gồml(mẫu), có thểgán nhãn theo2lcách, và với mỗi cách gánnhãn, có thểtìmđược một thành viên của tập{f(α)}gán chính xác các nhãn này,ta gọi tập các điểm như vậy bịshatter (phân cách) bởi tập hàm này. Chiều VC chotập hàm {f(α)} được định nghĩa là sốđiểm huấn luyện lớn nhất có thểbịphântách bởi {f(α)}. Chú ý rằng, nếu chiều VC làhkhi đó tồn tại ít nhất một tậphđiểmcó thểbịphân cách, nhưng không chắc mọi tập h điểm có thểbịphân cách.5.1.1.3 Phân hoạch tập dữliệu bằng các siêu mặt có hướngGiảsửkhông gian dữliệu làR2, và tập hàm {f(α)} là các đường thẳng có hướng,như vậy với một đường cho trước, mọi điểm mẫu trên một mặt của đường sẽđượcgán nhãn bằng1, và các điểm thuộc vềmặt khác sẽđược gán nhãn-1. Hướng mũiKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM57 tên trong Hình 5-1 xác định mặt của đường thẳng mà các điểm thuộc vềmặt đó sẽđược gán nhãn1. Có thểtìmđược ba điểm phân cách bởi tập các hàm này, nhưngkhông thểtìmđược bốn điểm. Do đó chiều VC cho các đường có định hướngtrong không gian hai chiều( R2)là3.Hình 5-1 Ba điểm trong R2.Xét các siêu mặt trong không giannchiều(Rn).Định lý 1: Khảo sát tập mẫu gồmmđiểm trong không gianRn. Chọn một điểmbất kỳlàm điểm tọa độgốc. Khi đómđiểm này có thểbịphân rã bằng các siêumặt (đường thẳng có định hướng) nếu và chỉnếuvịtrí các vector của các điểmđang đềcập là độc lập tuyến tính (“Mangasarian, 1969”).Hệqủa:VC-dimension cho các siêu mặt có hướng trongRnlàn+1, vì ta luôn cóthểchọnn+1điểm dữliệu, và sau đó chọn một điểm bất kì trong sốđó làm điểmgốc, đểvịtrí các vector của các điểmđang đềcập là độc lập tuyến tính.5.1.1.4 Cực tiểu đường bao lỗi trên cơ sởcực tiểu chiều VCh/l = VC dimension / KÝch th−íc tËp mÉu0.2 0.4 0.6 0.8 1.0 1.2 1.40.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9Ñoä tin caäyHình 5-2Độtin cậy VC là hàm đơn điệu theo hKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM58 Hình 5-2: Cho thấy nhóm biểu thức thứhai bên vếphải của phương trình(5.3)((log(2 / ) 1) log( / 4) hlhlη+−)biến thiên theoh, bằng cách chọn độtin cậy95%(η= 0.05), tập mẫu huấn luyệnl=10,000(mẫu). Chiều VC là hàm tăng đều theoh. Điều này đúng với bất kỳgiá trịcủal.5.1.1.5 Cực tiểu hoá lỗi theo cấu trúc (SRM)Thuật ngữđộtin cậy VC trong (5.3) tùy thuộc vào vịêc chọn các họhàm khácnhau, trong khi lỗi huấn luyện và lỗi thựcphụthuộc vào một hàm riêng đượcchọn bằng thủtục huấn luyện. Ta muốn tìm mộttập con của tập các hàm đượcchọn, để đường bao lỗi cho tập con đó là cực tiểu. Chiều VC h là sốnguyên, nênkhông thểbiến đổi liên tục. Thay vào đó, người ta đưa ra một “cấu trúc” bằng việcchia toàn bộtập các hàm thành các tập con lồng nhau Hình 5-3. Với mỗi tập con,ta có thểtính h, hayđường bao của h. Cực tiểu hóa lỗi theo cấu trúc (SRM) khi đóbao gồm việc tìm tập con hàm cực tiểu đường bao lỗi thực. Việc này được thựchiện bằng cách huấn luyện chuỗi các máy, cho mỗi tập con, trong đó với một tậpcon cho trước mụch đích của việc huấn luyện là cực tiểu lỗi huấn luyện.h4h3h2h1h1<h2<h3<h4...Hình 5-3 Các tập hàm học lồng vào nhau được sắp thứtựtheo chiều VC.5.1.2 SVM tuyến tính5.1.2.1 Trường hợp dữliệu có thểphân cách đượcBắt đầu với trường hợp đơn giản nhất: máy học được huấn luyện trên dữliệu cóthểphân loại tuyến tính. Gán nhãn dữliệu huấn luyện{xi, yi}, i = 1,...,l, yi∈{-1,1}, xi∈Rd. Giảsửcó các siêu mặt phẳng phân loại mẫu dương với mẫu âm(gọi là “siêu mặt phân cách”). Điểmxnằm trên siêu mặt thỏa phương trìnhw. x + b = 0, trong đówlà pháp tuyến của siêu mặt,|b| / ||w||là khoảng cách từsiêuKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM59 mặt đến gốc toạđộ, và||w||độlớn (Euclide) củaw. Đặtd+(d-)là khoảng cáchngắn nhất từsiêu mặt phân cách đến mẫu dương (âm) gần nhất. Định nghĩa “bờ”(margin) của siêu mặt phân cách (kí hiêur), là(d+)+(d-). Với trường hợp tập mẫucó thểphân loại tuyến tính, thuật toán SVM chỉđơn giản là tìm siêu mặt cókhoảng cách bờlà cực đại cực đại. Các mô tảtrên đây được công thức hoá nhưsau: giảsửmọi điểm trong tập học thỏa các ràng buộc:xiw + b≥+1 với yi= +1 (5.4)xiw + b≤-1 với yi= -1 (5.5)Kết hợp thành một bất đẳng thức ràng buộc:yi(xiw + b) –1≥0∀i (5.6)Các mẫu dữliệu thỏa công thức(5.4)nằm trên siêu mặtH1:x1w + b = 1có pháptuyến là vectorw,và khoảng cách đến gốc tọa độlà|1-b|/||w||.Tương tự, các mẫuthỏa công thức (5.5) nằm trên siêu mặtH2:xiw + b = -1, có pháp tuyến làwvàkhoảng cách đến gốc toạđộlà|-1-b|/||w||. Khi đó,d+= d-= 1 / ||w||và bờr = 2/||w||. Lưuý rằngH1vàH2song song với nhau, và không có điểm dữliệu nào nằmgiữa chúng. Vì vậy, ta có thểtìm cặp siêu mặt có bờ(r) cực đại, bằng việc cựctiểu ||w||với ràng buộc (5.6).Ta mong muốn lời giải cho trường hợp không gian hai chiều có dạng nhưtrong Hình 5-4. Những điểm huấn luyện thoảphương trình(5.6)(tức những điểmnằm trên một trong hai siêu mặtH1, H2), và việc loại bỏchúng làm thay đổi lờigiải, được gọi là các vector hỗtrợ; đó là các điểm được bao bằng các hình tròntrong Hình 5-4.BêGèc to¹ ®éwH1H2Hình 5-4 Siêu mặt phân cách tuyến tính cho trường hợp phân cách được vàkí hiệu các support vector chính là các điểm được bao bằng viền trònMột cách đểgiải quyết bài toán là dùng hàmLargange. Có hai lý do choKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM60 điều này.Thứnhấtlà ràng buộc(5.6)sẽđược thếbằng ràng buộc trên hệsốnhânLagrange,đểdễlàm việc hơn.Thứhailà dữliệu huấn luyện sẽchỉxuất hiệndưới dạng phép nhân vô hướng giữa các vector. Điều này cho phép tổng quát hoácho trường hợp phi tuyến.Đưa ra các hệsốnhân Lagrange dươngαi, i = 1,..,lvàαi> 0, cho các ràngbuộc bất đẳng thức(5.6). (Nhớrằng với ràng bụôc dạng ci≥0, phương trình ràngbuộc được nhân với hệsốnhân Lagrange dương và bịtrừkhỏi hàm mục tiêu. Vớicác ràng buộc đẳng thức, hệsốnhân Lagrange không bịràng buộc). Khi đó hàmLagrange có dạng như sau:∑ ∑= =+ + − =lii lii i i pb w x y w L1 1 2) (2 1α α(5.7)Ta p hải cực tiểuLptheo(w),(b), đồng thời đòi hỏi đạo hàm củaLptriệttiêu với mọiαI,với điều kiệnαi≥0(gọi tập ràng buộc này làC1). Hay giải bàitoán đối ngẫu đó là cực đạiLpvới điều kiệnđạo hàm củaLptriệttiêu vớiw, bvàcũng với ràng buộcαi≥0(gọi tập ràng buộc này làC2).Đạo hàmLptriệt tiêu vớiwvàbta có các điều kiện:∑=ii i ix y wα(5.8)0 =∑ii iyα(5.9)Vìđây là các ràng buộc tuyến tính Thay vào (5.7) ta được:∑ ∑− =j ij i j i j iii Dx x y y L,2 1α α α(5.10)Việc huấn luyện SVM (trường hợp tuyến tính và có thểphân loại) là làmcực đạiLDtheoαI,với ràng buộc(5.9)vàαIdương, với lời giải được tính theo(5.8). Trong lời giải, các mẫu thỏaαI> 0đượcgọi là “vector hỗtrợ”, và nằm trênmột trong hai siêu mặt phẳngH1vàH2. Các điểm dữliệu còn lại cóαI= 0và nằmtrên H1hoặc H2(thoảđẳng thức (5.6)) hoặc nằm vềmột phía của H1hoặc H2(thoảbất đẳng thức (5.6)). Với những máy này, các vector hỗtrợlà các thànhphầntớihạn của tập huấn luyện. Chúng nằm gần đường biên quyết định; nếu mọiđiểm huấn luyện khác bịloại bỏvà việc huấn luyện được lặp lại, siêu mặt phẳngphân cách được tìm thấy không đổi.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM615.1.2.2Điều kiện tối ưu Karush-Kuhn-TuckerĐiều kiện Karush-Kuhn-Tucker (KKT) có vai trò quan trọngđối vớibài toán tốiưu ràng buộc. Với bài toán trên, điều kiện KKT có thểphát biểu:0 = − =∂∂∑iiv i i v Pvx y w Lwαv = 1, …, d (5.11)0 = − =∂∂∑ii i Py Lbα(5.12)yi(xiw + b) - 1≥0 i = 1, …, l (5.13)αi≥0∀i(5.14)αi(yi(wxi+ b) - 1) = 0∀i(5.15)Điều kiện KKT là điều kiện cần và đủ đểw, b ,αlà một lời giải (Fletcher, 1987).Do đó giải bài toán SVM tương đương với việc tìm lời giải cho các điều kiệnKKT.Vectorwđược tính bằng cách huấnluyện, nhưngbthì không. Tuy nhiênbdễdàng tính được khi sửdụng các điều kiệnKKTbổsung, công thức(5.15),bằng việc chọnicóαi≠0và tínhb(lấy giá trịtrung bình củabtừcác phươngtrình trên).5.1.2.3 Trường hợp dữliệu không thểphân cách đượcThuật toán trên chỉphù hợp cho trường hợptập dữliệu họccó thểphân cách được,khi áp dụng cho dữliệu không thểphân cách tuyến tính, sẽkhông nhận được lờigiải khảthi do hàmLagrangelớn. Đểmởrộng ý tưởng này cho trường hợp dữliệu không thểphân cách ta đưa thêm các biến slack (chùng, lỏng) dươngξI≥0, i= 1, …,lvào các ràng buộc như sau:xiw + b≥+1 -ξi,với yi= +1 (5.34)xiw + b≤-1 +ξi,với yi=-1 (5.35)ξi≥0∀i(5.36)Khi có lỗi xuất hiện,ξitươngứng sẽlớn hơn 1, như vậy∑iiξlà biêntrên của sốlỗi huấn luyện. Do đó một cách đểgán thêm lỗi huấn luyện, là thay đổihàm mục tiêu từviệc cực tiểu||w||2/2sang việc cực tiểu||w||2/ 2 +Ckii) (∑ξ,trong đóClà tham sốdo người dùng chọn, vàCcàng lớn thì tỉlệlỗi sẽcàng thấp.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM62 Khi đó hàmLagrangetrởthành:Cực đại:∑ ∑− ≡j i j i j iii Dx x y y Lα α α2 1(5.37)với điều kiện:0≤αi≤C, (5.38)0 =∑ii iyα(5.39)lời giải được cho bởiw =∑=SNii i ix y1α(5.40)trong đóNSlà sốvector hỗtrợ. Lời giải được minh hoạtrong Hình 5-5.Xét điều kiện KKT:∑ ∑ ∑− + − + ⋅ − + =ii i i i iiiii Pb w x y C w Lξ µ ξ α ξ} 1 ) ( {2 12(5.41)vớiµilà các hệsốnhânLagrangeđảm bảoξidương. Khi đó điều kiệnKKT là0 = − =∂ ∂∑iiv i i vv Px y ww Lα(5.42)0 = − =∂ ∂∑ii i Pyb Lα(5.43)0 = − − =∂ ∂i ii PC Lµ αξ(5.44)0 1 ) (≥ + − + ⋅ξb w x yi i(5.45)ξi≥0(5.46)αi≥0(5.47)µi≥0(5.48)0 )} 1 ( {=+ − + ⋅i i i ib w x yξα(5.49)µiξi= 0 (5.50)Có thểdùng các điều kiện bổsungKKT, công thức(5.49)và(5.50),đểxác địnhngưỡngb. Công thức(5.44)và(5.50)cho thấy rằngξi= 0nếuαi< C. Do đó cóthểlấy điểm huấn luyện bất kỳthỏa0 <αi< Cđểdùng công thức (5.44) (vớiξi=Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM63 0) đểtínhb.Gèc to¹ ®éwbw -wx-Hình 5-5 Siêu mặt phân cách tuyến tính cho trường hợp không phân cáchđược.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM645.1.3 SVM phi tuyếnLàm thếnào các phương thức đã khảo sát trên có thểđược tổng quát hoá chotrường hợp hàm quyết định không phải là hàm tuyến tính đối với dữliệu? Ta thấyrằng dữliệu trong bài toán huấn luyện, công thức(5.37)–(5.39), xuất hiện dướidạng tích vô hướngj ix x⋅. Giảsửta đã ánh xạdữliệu sang không gian EuclideΗkhác (sốchiều có thểvô hạn) dùng hàm ánh xạΦ:adR : ΦΗ(5.51)Khi đó thuật toán huấn luyện chỉphụthuộc vào dữliệu qua tích vô hướngtrongΗ, tức là hàm có dạng) ( ) (j ix xΦ⋅Φ. Nếu có một hàm xửlý chínhK(hàmKernel) mà) ( ) ( ) , (j i j ix x x x KΦ⋅Φ =, ta sẽchỉcần dùng hàmKtrong thuật toánhuấn luyện, mà không cần biếtdạng tường minh củaΦlà gì? Chẳng hạn:2 22 /) , (σj ix xj ie x x K− −=(5.52)Trong ví dụnày,Η có sốchiều vô hạn, vì thếkhông dễlàm việc vớiΦmộtcách tường minh. Tuy nhiên, nếu thayj ix x⋅bằng) , (j ix x Ktrong thuật toánhuấn luyện, thuật toán sẽtạo ra vector hỗtrợtrong không gian sốchiều vô hạn,hơn nữa thời gian huấn luyện tương đương thời gian huấn luyện trên dữliệu chưađược ánh xạ. Mọi xem xét trong các phần trước vẫn thỏa, vì ta vẫn làm việc vớitrường hợp phân cách tuyến tính, nhưng trong một không gian khác.Sửdụng hệthống này như thếnào? Ta cần tìmw, trongΗ(5.40). Nhưngkhi thửnghiệm, máy được sửdụng bằng cách tính tích vô hướng của mẫu thửnghiệmxvớiw, hay cụthểhơn tính dấu của∑ ∑= =+ = + Φ ⋅ Φ =S SNii i i Nii i ib x s K y b x s y x f1 1) , ( ) ( ) ( ) (α α(5.53)trong đósilà support vector. Vậy ta có thểdùng) ( ) ( ) , (x s x s Ki iΦ⋅Φ=.Gọi không gian dữliệu làΛ. (Λ đểchỉkhông gian có sốchiều nhỏ, vàΗ đểchỉkhông gian có sốchiều lớn: thường thìđầu ra củaΦcó chiều cao hơn đầuvào). Nhớrằng, ngoài việcwnằm trênΗra, nói chung không có vector nào trongΛ, qua ánh xạΦ, thànhw. Nếu có,f(x)trong công thức (5.53) có thểđược tínhbằng một bước, bỏqua việc tính tổng (và tạo ra vector hỗtrợtươngứng nhanhKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM65 hơnNSlần). Dễdàng tìmđược dạng hàm xửlý chính (Kernel) (chẳng hạn hàmphép nhân vô hướngxitrongΛ) đểthuật toán huấn luyện và lời giải tìmđược làđộclập với sốchiều của cảΛvàΗ.Giảsửdữliệu là các vector trong không gianR2, và chọn2) ( ) , (j i j ix x x x K⋅ =. Khi đó dễdàng tìmđược không gianΗ, và ánh xạΦtừR2vàoΗ, để) ( ) ( ) (2y x y xΦ ⋅ Φ = ⋅: chọnΗ=R3và    = Φ222 1 212 ) (xx x xx(5.54)Với dữtrongΛđã xácđịnh trong hình vuông[-1,1] X [-1,1]∈R2,ảnh củaΦđược biểu diễn trong Hình 5-6. Hình này cũng cho thấy rằngảnh củaΦcóthểnằm trong không gian có sốchiều lớn hơn, nhưng nó chỉlà một mặt (có thểméo mó) mà sốchiều bên trong vẫn làΛ.Hình 5-6Ảnh, trong H, với hình vuông [1-,1] X [-1,1]∈R2dưới ánh xạΦChú ý rằng hàm ánh xạΦvà không gianΗ là không duy nhất với một hàm xửlý chính (kernel) cho trước. Ta có thểchọnΗ =R3và      +−= Φ) (2) (2 1) (22 212 122 21x xx xx xx(5.55)hayΗ =R4vàKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM66          = Φ2221 2121 2121) (xx xx xxx(5.56)Điều kiện MercerHàm xửlý chính nào tồn tại cặp {Η,Φ}, với các thuộc tính đã mô tảởtrên, hàmnào không? Câu trảlời được cho bởi điều kiện Mercer (Vapnik, 1995; Courant vàHilbert, 1953):Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM67 Tồn tại ánh xạΦvà∑Φ ⋅ Φ =ii iy x y x K) ( ) ( ) , ((5.57)nếu và chỉnếu, với bất kỳg(x)mà∫dx x g2) (xác định(5.58)thì0 ) ( ) ( ) , (≥∫dxdy y g x g y x K(5.59)Với các trường hợpcụthể, không dễkiểm tra điều kiệnMercercó thoảhay không. Công thức(5.59)phải thỏa với mọi hàmgvớiL2xác định (nghĩa làthỏa(5.58)). Tuy nhiên, có thểchứng minh điều kiện thỏa với phần mũ của phépnhân tích vô hướng là một sốnguyên dương:py x y x K) ( ) , (⋅ =. Ta phải chứng tỏrằng0 ) ( ) ( ) (1≥∫∑=dxdy y g x g y xp dii i(5.60)Khai triểnp dii iy x) (1∑=∫− −dxdy y g x g y y x xr r p r rpr r r r) ( ) ( ......)! !...( !!2 1 2 12 1 2 12 1 2 1(5.61)kết hơp với vếtrái(5.59):0 ) ) ( ... (...)! !...( !!22 12 1 2 12 1≥− − =∫dx x g x xr r p r rpr r(5.62)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM685.1.4 Chiều VC củaSVMTa t hấy rằng chiều VC củaSVMcó thểrất lớn (thậm chí vô hạn). Ta sẽkhảosátlý do tại sao không phụthuộc vào điều này mà SVM vẫnthực hiện tổng quát hoátốt. Tuy nhiên cần nhấn mạnh rằng đây chỉlà các lý do cơ bản. Và hiện tại chưacó thuyết nào bảo đảm họSVM cho trước sẽcó độchính xác cao với bài toán chotrước.Gọi hàm xửlý chính thỏa điều kiện Mercer là hàm xửlý chính dương, vàkhông gianΗtươngứngHlà không gian nhúng. Và gọi không gian nhúng bất kỳcó chiều cực tiểu với một hàm xửlý chính cho trước là một “không gian nhúngcực tiểu”. Ta cóĐịnh lý: Đặt K là hàm xửlý chính dương tươngứng với không gian nhúngcực tiểuΗ. Khi đó chiều VC củaSVMtươngứng (với C trong (5.38) được phéplấy mọi giá trị)bằng dim(Η) +1.5.1.5 Hạn chếcủa phương pháp SVMCó lẽhạn chếlớn nhất của tiếp cận theo phương pháp SVM nằmởviệc lựa chọnhàm xửlý chính. Khi đã có hàm xửlý chính, bộphân loạiSVMchỉcó một thamsốcho người dùng chọn (ngưỡng lỗi), nhưng hàm xửlý chính là bài toán lớn vớikhảnăng của các tham số. Một sốnghiên cứu đã giới hạn hàm xửlý chính bằngcách dùng tri thức cho trước, nhưng việc chọn hàm xửlý chính tốt nhất cho mộtbài toán cho trước vẫn là một bài toán cần nghiên cứu.Giới hạn thứhai là tốc độvà kích thước, cảtrong huấn luyện và thửnghiệm.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM695.2 Nhận dạng khuôn mặt người vớiSVMTrong đềtài này, SVMđược kết hợp với cây nhịphân đểgiải quyết bài toán nhậndạng khuôn mặt đa lớp.5.2.1 Nhận dạng đa lớp dùng SVM với cây nhịphânHệthống nhận dạng mẫu đa lớp có thểcó được bằng cách dùng SVM . Có haichiến lược cho mụch đích này: (1) chiến lược one-against-all (một đối tất cả) đểphân loại mỗi lớp với mọi lớp còn lại; (2) chiến lược một đối một đểphân loạigiữa từng cặp. Chiến lược đầu tiên thường cho kết qủa phân loại nhập nhằng. Tatheo chiến lược thứhai cho bài toán nhận dạng đa lớp.Giảsửcó tám lớp trong tập dữliệu, cây quyết định được biểu diễn nhưtrong Hình 5-7, trong đó các số1-8 mã hoá các lớp. Các sốmã hoá các lớp là tuỳý không có nghĩa theo thứtự. Bằng cách so sánh từng cặp, chọn ra một lớpbiểudiễn “phần thắng” của hai lớp hiện hành. Các lớp được chọn (từcấp thấp nhất củacây nhịphân) sẽlên cấp trên với vòng thửnghiệm khác. Cuối cùng một lớp duynhất sẽxuất hiệnởđỉnh của cây.Khickhông là bội sốcủa 2, ta phân tích:1222...2Inn nc=+++, với12...Inn n≥≥≥. Nếuclẻthì0In=và nếucchẵn thì0In>. Cáchphân tíchckhông duy nhất. Sau khi phân tích, vịêc nhận dạng được thực hiệntrong từng cây nhịphân, các lớp đầu ra của các cây nhịphân này được dùng lại đểtạo ra cây nhịphân khác. Qúa trình nàyđược lặp lại cho đếnkhi chỉcòn một đầura.SVM học(1)/2 cc−hàm phân biệt trong giai đoạn huấn luyện, và thực hiện1 c−phép so sánh dưới cấu trúc cây nhịphân đã tạo ra.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM70 Hình 5-7 Trái: Cấu trúc cây nhịphân với sốlớp bằng sốmũ của 2. Phải: sốlớp không bằng sốmũ của 2.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM715.2.2 Nhận dạng khuôn mặt dùng SVM5.2.2.1 Giai đoạn huấn luyện hệthống5.2.2.1.1 Huấn luyện SVM cho bài toán nhận dạng khuôn mặtC¸c vector®Æc tr−ngVector ho¸tËp mÉuPh©n tÝchthµnh phÇnchÝnh(PCA)CÊu Trócc©y nhÞph©n C¸c hÖ sèchiÕuC¸c siªumÆt ph©nlíp SVMsAnh x¹ tËp mÉuvµo kh«ng gian®Æc tr−ngChuÈn ho¸kh«ng gian mÉuChia tËp mÉu thµnhc¸c tËp con theo thøtù tõng cÆp gi÷a c¸clíp trong tËp mÉuT¹o c©y nhÞ ph©nHuÊn luyÖnSVMs trªn tõngtËp conHình 5-8 Các tác vụhuấn luyệnhệthống SVMs nhận dạng khuôn mặtKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM725.2.2.1.2 Vector hoá tập mẫu khuôn mặt thôĐây chính là một bước biểu diễnảnh khuôn mặt vào máy tính, hình thức biểudiễn này chúng tôi đã cóđềcập trong phầnmô tảdữliệu nhận dạng khuôn mặt.Chi tiết vector hoá một mẫu khuôn mặt được trình bày trong Hình 5-9 dưới đây.::::123030 900iMoät vector 900 chieàu 30 (pixels)30 (pixels)Hình 5-9 Vector hoá mẫu khuôn mặt¾Táchảnh mẫu khuôn mặt 30×30(pixels) thành 30 dòngảnh theo thứtựtừtrên xuống dưới, mỗi dòngảnh bao gồm 30 (điểmảnh).¾Vector hoá mẫu khuôn mặt được thực hiện bằng cách nối liên tiếp các dòngảnh theo thứtựnày liên tiếp nhau và kết quảtừmột ma trậnảnh hai chiều30×30 thành một vector có sốchiều bằng 900.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM735.2.2.1.3 Rút trích đặc trưng khuôn mặtGiai đoạn rút trích đặc trưng khuôn mặt bao gồm ba bước chính đó là thực hiệnphép phân tích thành phần chính, Ánh xạtập mẫu vào không gian đặc trưng, vàchuấn hoá không gian mẫu.Trong tất cảcác hệnhận dạng mà đặc biệt là các hệnhận dạng tựđộngnói riêng, mức độthành công không những phụthuộc vào các thuật toán nhậndạng tốt mà còn phụthuộc rất nhiều vào tập mẫu dữliệu huấn luyện. Việc chọntập mẫu huấn luyện sao cho phù hợp với mục đíchứng dụng yêu cầuvà vừa đảmbảo được tính tổng quát cho một hệnhận dạng là rất khó. Bởi vì ta không thểlường trước mọi biến thểcó thểtác độngđếnđối tượng quan tâm trong lúc thunhậnảnh. Cácảnh hưởng phổbiến mà có thểliệt kêởđây: Thứnhất, môi trườnglấy mẫu biến động rất phức tạp như điều kiện thờitiết trong lúc lấy mẫu, điều kiệnđộsáng, môi trường có nhiều đối tượng khác tương tựnhư đối tượng quan tâm.Thứ2, các biến thểnội tại trong đối tượng ta quan tâm (các biến đổi không bìnhthường của mẫu ), sựkhác nhau vềkhoảng cách lấy mẫu, mặt phẳng quan sát đốitượng trong lúc lấy mẫu … đó là một trong những vô sốnhập nhằng mà một hệthống nhận dạng phải đối mặt. Thứ3, chính là chất lượng thiết bịthuảnh cũngnhư giới hạn khảnăng tính tóan của thiết bịxửlí nhận dạng. Đểkhửbớt phần nàotính nhập nhằng từdữliệu không có cách nào khác là phải tiền xửlí dữliệu.Ởđây chúng tôi chọn phương pháp phân tích thành phần chính (PCA) đểtiền xửlívà rút trích đặc trưng từdữliệu. PCA là một phương pháp rút trích đặc trưng tựđộng, không giám sát. Tính ưu việt của phương pháp xửlí này không những khửnhập nhằng tốt mà còn giảm được đáng kểkhối lượng dữliệu luu trữvà xửlí chohệthống nhận dạng sau này).Trước hếtsửdụng PCA đểrút ra các eigenvector (vector đặc trưng) haycác eigenface (khuôn mặt đặc trưng) của cácảnh khuôn mặt huấn luyện. Cáckhuôn mặt đặc trưng này cũng được dùng trong giai đoạn thửnghiệm. Chi tiết vềcơ sởlý thuyết của PCA đãđược trình bày (tham khảo lại phần phân tích và rúttrích đặc trưng khuôn mặt bằng PCA).Tập mẫu học trong đềtài bày bao gồm 30 lớp và mỗi lớp bao gồm 100mẫu huấn luyện (Kĩ thuật nhân 20 mẫu nguyên thuỷcủa mỗi lớp thành 100 mẫubằng 4 phép xửlýảnh cơ bản: Phép Mirror, tăng cường nhiều, bộlọc trung bình,bộlọc Gamma). Kích thước khuôn mặt huấn luyện 30×30 sẽđược vector hoáthành một vector 900 chiều, ta có thểxem mỗi thành phần của vector này tươngKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM74 ứng với một giá trịđiểmảnh trênảnh gốc. Như vậy toàn bộtập mẫu bao gồm3000 vector và mỗi vector 900 chiều.1. Xây dựng vector trung bình mẫu M 900 chiều2. Xây dựng ma trận hiệp phương sai D (900×900) chiều.3. Tính các giá trịđặc trưng và các vector đặc trưng tươngứng+ Với ma trận D (900×900) thì tươngứng 900 giá trịđặc trưng(eigenvalues).+ Ta có thểtạo ra các vector đặc trưng (eigenvectors) dựa trên các giá trịđặc trưng tươngứng. Trong cách tiếp cận của đềtài này và bằng thựcnghiệm chúng tôi đã chọn 100 vector đặc trưng tươngứng với 100 gía trịđặc trưng lớn nhất.+ Một ma trân K mà mỗi cột là một vector đặc trưng 900 chiều. Vậykhông gian ma trận K (900×100) chiềuKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM75 4. Ánh xạtập mẫu ban đầu vào không gian đặc trưng, sẽhình thành khônggian mẫu mới hay còn gọi là không gian mẫu đặc trưng+ Lần lược chiếu từng mẫu trong tập huấn luyện cũ xi= (xi1, xi2,…, xi900)vào không gian đặc trưng K900×100và kết quảphép chiếu này hình thànhmột vector mới yi(1×100)=xi(1×900)*K(900×100)+ Sau khi thực hiện phép chiếu này cho 3000 mẫu trong tập mẫu và kếtquảthu được một tập mẫu mới (Tập mẫu học đặc trưng của Tập mẫu họcban đầu)Y = {yi:i=1→3000}và trong đó yi= (yi1, yi2,…, yi100).Nhưvậy qua phép phân tích PCA, ta đã rút gọn sốchiều của mẫu học từ900 giảm xuống còn 100 chiều (đây chính là những thành phần quan trọng nhấtcủa mẫu học, và chính các thành phần này tạo ra sựkhác biệt cho các vector mẫutrong tập mẫu ban đầu)5.2.2.1.4 Tạo các bộphân loại nhịphânMột lần nữa chúng tôi nhấn mạnh rằng, SVMs là một bộphân loại nhịphân và cókhảnăng phân loại tốt với tính tổng quát cao từtập mẫu dữliệu được tổchứcthành hai lớp. Vì lẽđó, SVMs được sửdụng rất phổbiến trong việc xửlý liênquan đến khuôn mặt đó là dò tìm khuôn mặt trênảnh mà trong đó chỉcó duy nhấthai lớp: Lớp thuộc vềkhuôn mặt và lớp được gọi là không phải khuôn mặt người.Một chủđềchính liên quanđến việc xửlý khuôn mặt, đó là bài toán nhận dạngkhuôn mặt thì SVMs có cách giải quyết như thếnào?Đểhuấn luyện hệthống SVMs choứng dụng nhận dạng khuôn mặt ngườitrênảnh, chúng tôi đã sửdụng một cơ chếkết hợp nhiều bộphân loại nhịphânSVMs. Tập mẫu khuôn mặt gồm nhiều người cần cho mục đích nhận dạng sẽđượcbiểu diễn trong máy tínhvà chúng ta thực hiện tác vụgán nhãn cho từng lớpkhuôn mặt theo thứtựđã chọn (Tham khảo đến phầnmô tảdữliệu nhận dạng).Có nhiều phương pháp đểnhịphân hoá tập mẫu khuôn mặtcủa nhiều người,nhưng hai cơ chếthông thường nhất là Một-đối-Một hay Một-đối-Tất cả.Một-đối-Tất cảlà cơ chếtạo bộmẫu nhịphân mà trong đó một bên là lớp khuônmặt cần nhận dạng so với bên còn lại là tất cảcáckhuôn mặt của các lớp còn lại,như vậy tập mẫu của chúng ta gồm 30 người thì sẽcó tất cả30 bộphân loại nhịphân, nhưng theo thực nghiệm thì cơ chếnày có nhiều khiếm khuyết, bởi vì ngaytrong chính bản thân của mỗi bộphân loại nhịphân có chứa sựhỗn tạp của rấtnhiều lớp với nhau, nên siêu mặt có đượctừdạng này không có khảnăng phântách mạnh. Một dạng tiếp cận khác theo chiến lược Một-đối-Một, có nghĩa lầnKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM76 lược mỗi lớp khuôn mặt sẽđược so sánh với tất cảcác khuôn mặt còn lại, như vậyvới tập mẫu 30 người thì chúng tôi cần phải xây dựng 30(29-1)/2 = 435(bộphânloại nhịphân). Với cách tiếp cận theo cơ chếnày thì Siêu mặt tạo ra từmỗi bộphân loại nhịphân sẽcó khảnăng phân loại tường minh giữa hai lớp khuôn mặtvới nhau và đó cũng chính là phương pháp mà chúng tôi đã sửdụng trong đềtài.5.2.2.1.5 Huấnluyện cho mỗi bộphân loại nhịphân từcác tậpmẫu nhịphân hoá hai lớp khuôn mặt với nhau¾Đối với cách tiếp cận của đềtài chúng tôi đã sửdụng tập học với gồm200 l=(ảnh khuôn mặt) đểhuấn luyện một bộphân loại nhịphân phânbiệt hai loại khuôn mặt khác nhau.¾Tập huấn luyện có dạng sau:X = {(x1,y1), (x2,y2),…, (xl,yl)}dixlà mẫu thứitrong tập học. d∈(1..40)yilà nhãnđược gán cho mẫu i (yi∈{-1,+1}).Gọiα1,α2,….,αllà tham sốtươngứng với x1,x2,…,xltrong tậphọc.Xây dựng phương trình Siêu mặtH:*w. 0xb+=.Trong đóiw=iiiyx aåvà0iiiy a=å.Sao cho thoảbất đẳng thức sau:(.w+b) 1 0,iiyx i-³ ".¾Nhưng đểtính đượcw,bthì ta phải tính đượcatham sốđặc trưng chomẫu khuôn mặt từtập dữliệu học (a>0).¾Huấn luyện một bộphân loại nhịphân vớiphương pháp SVM từtập mẫucho mục đích phân biệt các khuôn mặt của hai người khác nhau theo 3bướcsau đây:9Bước 1: Giai đoạn tìm các vector hỗtrợ(hay còn gọi các VectorSupport) hay còn gọi đi xác định tham sốa.Theo lý thuyết tổng quát vềSVMs mà chúng tôi đã trình bày trên phầngiới thiệu vềcơ sởlý thuyết. Cấp độvà mức độsửdụng SVMs đểxửlýcũng khác nhau tuỳthuộc vào mức độphức tạp khác nhau của tập dữliệu học.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM77 Trong trường hợp nào chúng ta sửdụng bộphân loại phi tuyến đểxây dựng siêu phẳng phân lớp: Khi dữliệu khuôn mặt của hai ngườicầnphân loại được lưu trữtrên tập mẫu nhịphân hình thành hai tậpCompact, có nghĩa rằng tập mẫu của hai khuôn mặt này có thểđượcphân loại bằng một hàm tuyến tính như trên Hình 5-10.Taäp maãukhuoân maëtlôùp Bxxxxxxx xxxxxxxx xxxx**w. 1xb+=-**w. 1xb+=*w. 0xb+=*2/wTaäp maãukhuoân maëtlôùp ACöïc ñaïi bôøphaân taùchSieâu maêt tuyeán tínhdaïng ñöôøng thaúngHình 5-10 Mô phỏng phân lớp khuôn mặt giữa hai người bằng hàm tuyếntínhTrong trường hợp tập mẫu khuôn mặt của hai người cần phân loạicó kiểu phân bốnhư dạng trên Hình 5-10 thì phương pháp tính cácVector hỗtrợbằng cách sửdụng công thức như sau:•Đểthoảcông thức (5.6):yi(xiw + b) –1≥0∀i•Ràng buộc này được chuyển sang giải quyết bài toán phươngtrình Lagrangian theo công thức (5.7):∑ ∑= =+ + − =lii lii i i pb w x y w L1 1 2) (2 1α α•Đểcực đại bờphân tách2w r=cùng với các vector hỗtrợtìmđược thì phương trìnhPLphải cực tiểu theow,bvàKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM78PL’đạo hàm bậc 1 là một phương trình theoia(ia>0).Ta c ó được:0iiiy a=å(*)•Theo tính chất hai mặt của phương trình Lagrangian thì tínhcực tiểuPLkhó và theo công thức (5.10) thay vào đó ta sẽtínhcực đại theo dạng đỗi ngẫuDL:∑ ∑− =j ij i j i j iii Dx x y y L,2 1α α αnênDL’là đạo hàm triệt tiêutheoia.•VìDLlà một phương trìnhđa biến, đểtính đượcDL’bằngcách lấy đạo hàm riêng phần trên từng biếnia. (**)•Kết hợp các điều kiện (*) và (**) ta sẽdểdàng tính đượctham sốαi.•Các vector hỗtrợđựơc chọn tươngứng với mẫu nào thoảαi>0.•Kết quảcủa việc huấn luyện trên 29 bộphân loại nhịphânđầu tiên đểphân biệt khuôn mặt “Lớp 1” với các khuôn mặtcủa 29 người còn lại bằng SVM tuyến tính.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM791/2→111/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 1/10 1/11VS38 36 53 50 30 65 70 21 41 291/12→211/12 1/13 1/14 1/15 1/16 1/17 1/18 1/19 1/20 1/21VS28 19 26 25 20 16 15 23 26 251/22→301/22 1/23 1/24 1/25 1/26 1/27 1/28 1/29 1/30VS15 22 42 35 20 28 35 16 22VS: Sốvector support trên mỗi bộphân loại nhịphân.Bảng 5-1 SốVector hỗtrợtính đượctừ29 bộphân loại nhịphân đầu tiên đểphân biệt khuôn mặt “lớp 1” với 29 lớp khuôn mặt khác.0 10 20 30 40 50 60 701 4 7 10131619222528Suppor tVect or sHình 5-11 Biểu diễn sốliệu bảng 1 lên đồthịNhưng trong trường hợp khác ta lại sửdụng bộphân loại phituyến đểxây dựng siêu mặt phân lớp (Tham khảo đến 4. Support VectorMachine phi tuyến)đó là khi dữliệu khuôn mặt của hai người cần phânloại quá phức tạp: Do hai khuôn mặt quá giống nhau, hay bản thân mỗikhuôn mặt có quá nhiều biến đổi trong tậphọc, vì thếchúng ta mới sửdụng một sốloại hàm phi tuyến (Phổbiến nhất vẫn là các loại hàm đathức bậc 2,3 hay bậc 4) bởi vì chính các siêu mặt đa thức mới đủkhảnăng len lỏi vào từng mẫu đểtìm ra cácđặc trưng cần thiết đểphân lớptheo mong đợi nhưbiểu diễn trên Hình 5-11.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM80Taäp maãukhuoân maëtlôùp Bxxxxx xxxx xxxxxxx xxx xxxxxxxxx xxx xx xx xxx x xxxxxxxx x xxxx xxxx x xxxTaäp maãukhuoân maëtlôùp ASieâu maët ña thöùcbaäc 4Hình 5-12 Mô phỏng phân lớp khuôn mặt giữa hai người quá nhiều đặctrưng tương đương hay biến động.Trong trường hợp tập mẫu khuôn mặt củahai người cần phân loạicó kiểu phân bốnhư dạng trên Hình 5-12 thì phương pháp tính cácVector hỗtrợbằng cách sửdụng công thức như sau:•Đối với dữliệu phân bốnhư trong trường hợp trên, chúngta định nghĩa thêm một biến mới làix,1, . . . . , il=(l sốmẫu trên tập nhịphân hoá)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM81 •Theo công thức (5.34),(5.35),(5.36) thì ta sẽcó:xiw + b≥+1 -ξi,với yi= +1xiw + b≤-1 +ξi,với yi=-1ξi≥0∀iRàng buộc này được chuyển sang giải quyết bài toán phươngtrình Lagrangian theo công thức (5.41):∑ ∑ ∑− + − + ⋅ − + =ii i i i iiiii Pb w x y C w Lξ µ ξ α ξ} 1 ) ( {2 12•Như vậy, nếu một mẫu khuôn mặt bịphân loại lỗi thìix>1, nên ta có thểxem∑iiξnhư là đường biên hay còn gọichặn trên của lỗi trên tập mẫu huấn luyện, như vậy chúngta có thểxác định được chi phí tạo thêm lỗi nhằm đưa hàmmục đích LargangianPLtính cực tiểu từdạng||w||2/2sangtính cực tiểuởdạng||w||2/2+Ckii) (∑ξ,và C do ngườidùng chọn và C càng lớn thì tỉlệphân loại lỗi trên tập huấnluyện càng thấp.•Dựa vào biếnixmà chúng tôi có thểkiểm soát được mẫukhuôn mặtnào bịphân loại lỗi xảy ra trong lúc huấn luyệnbộphân loại nhịphân bằng hàm tuyến tính.+ Đểkhắc phục được các lỗi này, chúng ta không thểcốgắn khi xửlý SVMs với hàm xửlý tuyến tính. Nhất thiếtphải xửlý SVMs với hàm xửlý phi tuyến.+ Theo công thức (5.53) ta đặtΦlà hàm ánh xạphi tuyếnnhằm mục đích ánh xạxivào không gian đặc trưng H:H Rda : Φ+ Ràng buộc trên phương trình Lagangian{}21w(().w+b)12Piiii i iii iLC yxxaxx =+ - F -+-åå å•Đểcực đại bờphân tách2w r=cùng với các vector hỗtrợKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM82 tìmđược thì phương trìnhPLphải cực tiểu theow,bvàPL’đạo hàm bậc 1 là một phương trình theoia(ia>0).iiw= ( )iiyx aFåvài()( ) 0ii jiyx x aFF =å. (***)Việc tính toán cũng giống như trường hợp xửlý tuyến tính,theo tính chất hai mặt của phương trình Lagrangian thì tínhcực tiểuPLkhó và thay vào đó ta sẽtính cực đại theo dạngđỗi ngẫuDL:()()1111/ 2 .DiijijijiijLyyxxaaa====- FFååå1111/ 2 ( , ).iijijijiijyy K x x aaa====-ååånênDL’là đạo hàm triệt tiêu theoia.(****)•Trong đó K là một trong những hàm xửlý chính được xácđịnh trong công thức (5.66), công thức (5.68), công thức(5.69) hay công thức (5.70).Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM83 •Kết hợp (***) và (****) ta sẽtính đượciatươngứng chomẫu thứi.1/2→111/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 1/10 1/11VS45 42 65 67 34 63 69 30 54 321/12→211/12 1/13 1/14 1/15 1/16 1/17 1/18 1/19 1/20 1/21VS33 29 39 32 22 25 22 37 37 361/22→301/22 1/23 1/24 1/25 1/26 1/27 1/28 1/29 1/30VS27 25 55 52 41 40 51 25 40Bảng 5-2 Kết quảcủa việc huấn luyệntừ29 bộphân loại nhịphân đầu tiênđểphân biệt khuôn mặt “Lớp 1” với các khuôn mặt của 29 người còn lạibằng SVM phi tuyến có dạng đa thức bậc 2 (Poly-2).1/2→111/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 1/10 1/11VS63 50 73 83 45 87 85 38 67 391/12→211/12 1/13 1/14 1/15 1/16 1/17 1/18 1/19 1/20 1/21VS41 38 58 35 27 34 31 50 48 491/22→301/22 1/23 1/24 1/25 1/26 1/27 1/28 1/29 1/30VS37 33 71 64 52 51 59 31 52Bảng 5-3 Kết quảcủa việc huấn luyệntừ29 bộphân loại nhịphân đầu tiênđểphân biệt khuôn mặt “Lớp 1” với các khuôn mặt của 29 người còn lạibằng SVM phi tuyến có dạng đa thức bậc 2 (Poly-3).1/2→111/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 1/10 1/11VS78 69 83 92 56 98 105 43 88 421/12→211/12 1/13 1/14 1/15 1/16 1/17 1/18 1/19 1/20 1/21VS52 50 66 40 38 41 47 60 56 611/22→301/22 1/23 1/24 1/25 1/26 1/27 1/28 1/29 1/30VS21 46 95 85 62 62 65 36 64Bảng 5-4 Kết quảcủa việc huấn luyệntừ29 bộphân loại nhịphân đầu tiênđểphân biệt khuôn mặt “Lớp 1” với các khuôn mặt của 29 người còn lạibằng SVM phi tuyến có dạng đa thức bậc 2 (Poly-4).Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM840 20 40 60 80 100 1201357911131517192123252729LinearPoly- 2Poly- 3Poly-4Hình 5-13 Biểu diễn sốliệu bảng 1(Linear), bảng 2(Poly-2), bảng 3(Poly-3),bảng 4 (Poly-4) trên cùng một đồthịHình 5-13 cho thấy rằngứng với mỗi loại phương trình xửlýSVMs khác nhau thì chúng sẽcó cách chọn ra các vector hỗtrợphục vụcho mục đích phân loại cũng khác nhau. Hầu hết các nguồndữliệutrong thếgiới thực đều có dạng bản thân không thểphân loại được bằngtuyến tính và nhận dạng khuôn mặtcũng không phải là một ngoại lệ.Đểchứng minh cho nhận định này chúng tôi sẽkhảo sát kỹtrong phần kếtquảnhận dạng của phương pháp SVM.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM85 9Bước 2: Xây dựng siêu mặt phân loại căn cứtrên các mẫu gọi làcác Vector hỗtrợSau khi đã tìm rađược sốvector hỗtrợcần thiết cho bộphân loạinhịphân trong cảtrường hợp hàm xửlý chính là dạng tuyến tính haydạng đa thức bậc-2, bậc-3, bậc-4. Bây giờchúng ta sẽkhảo sát cách xâydựng siêu mặt phân loại tập dữliệu nhịphân từcác vector hỗtrợmà hệthống đã tìmđược đó chính là các mẫu huấn luyện xitrong tập học vớitham sốαi>0.•Đối với trường hợp SVMs sửdụng hàm xửlý tuyến tính:iw=iiiyx aåH:*w. 0xb+=H:sup ort ors1(.)p vectii iiyxx b a=+åĐây chính là phương trình siêu mặt mà chúng ta cần phải xây dựngtừSVMs sửdụng hàm xửlý chính dạng tuyến tính.•Đối với trường hợp SVMs sửdụng hàm xửlý phi tuyếnPhải có cơ chếchuyển tập dữliệu phân phối phi tuyến sang dạngphân phối tuyến tính trong trong không gian đặc trưng có sốchiềucao H bằng một phép ánh xạΦ. Khi đó w sẽđược tính có dạng sauđây:iiw= ( )iiyx aFåH:sup ort ori1()()p vectiiiyx x a=FFå+bH:sup ort ori1(,)pvectiiiyK x x b a=+å9Bước3: Xác định ngưỡng bKhi ta đã xácđịnh được giá trịtrọng sốwtối ưu cho siêu mặtphân loạinhịphân dựa trên các mẫu khuôn mặt được gọi là các vector hỗtrợthìviệc tính ngưỡng b (hay còn gọi là hệsốbias) quá dểdàng:•Đối với SVMs tuyến tính:ƒSau khi đã thoảcác ràng buộc tối ưu, theo công thức (5.15)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM86 của điều kiện KKT ta có:αi(yi(wxi+ b) - 1) = 0∀iƒChọn một điểm mẫu bất kì xiđểthay vào công thức trên làcó thểtính được bi1w.xiby =-•Đối với SVMs phi tuyếnƒTheo công thức (5.49) của điều kiện KKT ta có:0 )} 1 ( {=+−+⋅i i i ib w x yξαƒChọn một điểm mẫu bất kì xiđểthay vào công thức trên làcó thểtính được bi1w.xiibyx -=-Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM875.2.2.1.6 Khởi tạo kiến trúc cây nhịphân¾Căn cứvào dữliệu huấn luyện cho hệthống nhận dạng khuôn mặt, Sốngười cần phân loại dựa trên khuôn mặt sẽtươngứng với một vịtrí Nodelá trên cây nhịphân. Như vậy trongứng dụng này ta sẽcó cây nhịphân với30 (lá).¾Thứtựcủa từng Node lá trên cây nhịphân cũng là thứtựtheo nhãn củamỗi lớp đãđược gán trong phần mô tảdữliệu cho hệthống nhận dạng.5.2.2.2 Giai đoạn nhận dạng khuôn mặt5.2.2.2.1 Nhận dạng khuôn mặt dùng SVMC¸c hÖsè chiÕuGaùn nhaõncho maãuthöû nghieäm C¸c siªu mÆtph©n lo¹i SVMsVector ho¸mÉu thönghiªmAnh x¹ mÉuthö nghiÖmvµo kh«nggian ®Æc tr−ngChuÈn ho¸ mÉu®Æc tr−ngThùc hiÖn c¸cphÐp ®èi s¸nh trªncÊu tróc nhÞ ph©nHình 5-14 Các tác vụnhận dạng khuôn mặt5.2.2.2.2 Kỹthuật nhận dạng khuôn mặt SVM5.2.2.2.2.1 Vector hoá tập mẫu khuôn mặt thôThực hiện kỹthuật Vector hoá mẫu thửnghiệm tương tựnhư trong giaiđoạn huấn luyện 5.2.2.1.25.2.2.2.2.2 Rút trích đặc trưng khuôn mặtThực hiệnkỹthuật Rút trích đặc trưng từmẫu thửnghiệm cũng thực hiệntương tựnhư trong giai đoạn huấn luyện 5.2.2.1.35.2.2.2.2.3Đưa mẫu thửnghiệm khuôn mặt x vào cấu trúc nhịphân vàthực hiện đối sánh trên từng mô hình nhịphân SVMs¾Cấu trúc cây nhịphân được mô phỏng tương tựnhưHình 5-7.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM88 ¾Trường hợp 1:Cơ chếso sánh vớitrường hợpsốngười cầnnhận dạng là sốmũ của 2. Mô phỏng trongHình5-15bên trái.9Sốlớp khuôn mặt cần phân loại có thểcó 2,4,8,16,32,64….,2K.9Ta t hực hiện việc so sánh mẫu x theo từng cấp9Căn cứvào sốNode lá có được trên cấu trúc cây nhịphân, Chúng tasẽthực hiện nhóm hai lớp khuôn mặt liên tiếp nhau thành một cặpnhịphân và thứtựnhóm từtrái qua phải và thông tin chứa trongmỗi cặp là nhãn của hai lớp tươngứng được nhóm.2 1435621K-2KCaëp 1CaëpCaëp 3 Caëp 22/2KHình 5-15 Mô phỏng cách ghép thành từng cặp nhịphân từcác Node lá củacây nhịphân9Dựa vào thông tin gán nhãn cho mỗi lớp trong một cặp ta sẽxác địnhđược cặp này tươngứng với mô hình nhịphân SVMs nàođã xây dựngtrong bước huấn luyện.9Sau khi đã xácđịnh mô hình SVMs nào tươngứng cho mỗi cặp đượcnhóm, kếtiếp chúng ta sẽđưa mẫu thửnghiệm vào từng mô hìnhSVMs đểphân loại. Trên mỗi bộphân loại chúng ta xác định đượcmẫu thửnghiệm x gần với lớp nào nhất bằng hàm quyết định:12(w.x+b) 1(w.x+b) 1 HsignxHsign ì³ïïÎíï£ïî9Kết quảphân loại mẫu x trên2/2Kcặp đầu tiên giảsửnhưHình 5-16dưới đây:2 1435621K-2K13521K-Hình 5-16 Kết xuất phân loại mẫu xởcấp 1.9SốLớp kết xuất từcác bộphân loại nhịphân mà gần với mẫu khuônmặt x nhất sẽđược tiếp tục sửdụngởcấp thứ2. Việc gom nhóm và tìmcác lớp gần với x sẽđược thực hiện tương tựnhư cấp 1, Chúng ta sẽthực hiện cho đến khi nào chỉcó một lớp duy nhất và lớp này nằm ngayKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM89 trên đỉnh của cấu trúc cây nhịphân và nhãn của nó sẽđược gán chomẫu x, Kết quảtrên Hình 5-17.2 1435621K-2K13521K-15H1x ñöôïc gaùn nhaõn baèng 1Hình 5-17 Kết quảmẫu x được nhận dạng với nhãn thuộc vềkhuôn mặt củangười “Lớp1”.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM90 9Nhận xét: Đểcó được kết quảnhận dạng này hệthống phải thực hiện21K-phép so sánh.¾Trường hợp 2: Sốngườicầnnhận dạng trong tập học không bằng sốmũcủa 2. Mô phỏng trong Hình 5-17 bên phải.9Sốlớp khuôn mặt cần phân loại không bằng sốmũ của 2, (l≠2K)9Trong trường hợp này chúng ta không chọn cách ghép nhóm nhưtrên mà chọn cách ghép nhóm theo kiểu nối liên tục Hình 5-18.2 14356 Caëp 1Caëp 4Caëp 3Caëp 2Caëp 4CaëpL-1 LL-1Hình 5-18 Mô phỏng cách ghép thành từng cặp nhịphân từcác Node lá củacây nhịphân9Chúng ta sẽthực hiện tương tựcho đến khi nào sốnhãn xuất hiện trêncấu trúc của cây nhịphân bằng sốmũ của 2, Hình 5-19.Hình 5-19 Quá trình xây dựng cây nhịphân từcấp có L-1 cặp đến cấp có2K/2 cặp phân loại nhịphân.9Từbước này trởvềcuối cách so sánh được thực hiện tương tựnhưtrường hợp 1.9Nhận xét:Đểcó được kết quảnhận dạng hệthống phải thực hiện(1)2(21)2122KKKLL+--+-phép so sánh. Trongđó nhóm(1)2(21)22KKLL+--là sốphép so sánh từcấp 1 đến cấp mà có sốlớp xuất hiện bằng một sốmũ của 2, và nhóm21K-là sốphép sosánh còn lại đểbiết được nhãn của mẫu khuôn mặt x.5.2.2.2.3 Mô phỏng quá trình nhận dạng khuôn mặtKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM91Lôùp1 Lôùp2 Lôùp3 Lôùp11 Lôùp12Lôùp28 Lôùp29 Lôùp30Caùc lôùp khuoân maëttrong taäp hoïc Caùc khuoân maët gaànvôùi khuoân maët thöûnghieäm ôû caáp 1Hai lôùp xuaát hieän caápcuoái cuøng maø gaàn vôùimaãu thöû nghieäm nhaátLôùp1Lôùp11Lôùp29 Lôùp29 Lôùp1Lôùp1Khuoân maët thöû nghieäm ñöôïc nhaän daïngLôùp 1 gaàn vôùimaãu thöû nghieämnhaátÑaây laø ai?Hình 5-20 Nhận dạng Mẫu thửnghiệm chưa được quan sát thuộc vềNgười1là đúngTrong thí nghiệm này chúng tôi đã lấy một mẫu khuôn mặt chưa đượcquan sát trong tập học và kết quảchương trình nhận dạng đúng là khuôn mặt nàythuộc vềngười có nhãn “Người-1” sau khi đi qua một chuỗi các phép so sánh trêncác bộphân loại nhịphân SVMs.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM925.2.3 Nhận xét và hướng phát triển tương lai5.2.3.1Ưu điểm¾Xét vềđộtin cậy trong xửlý, SVMs là một thuật toán mà bản thân vốn cókhảnăng xửlý tổng quát hoá tốt.¾Thuật toán dễhiểu, dểcài đặt và thực nghiệm, có tính thực tiễn cao trongviệc giải quyết các bài toán trí tuệnhân tạo và việcứng dụng vào thươngmại là có thể¾SVMs rất thích hợp cho bài toán phân tích, xửlý và khai thác dữliệu dữliệu nhờvào khảnăng tính toán và phân tích rất mạnh ví dụ: SVMs là côngcụđểphân tích sựkhác biệt, phân tích hồi quy, và ước lượng hàm mật độ.¾Trong bài toán nhận dạng khuôn mặt, SVM là một trong các thuật toánnhận dạng tốt, tỉlệnhận dạng cao với tỉlệchính xác trung bình trên 92%.Và nhờkhảnăng xửlý tổng quát hoá tốt nên rất thích hợp cho bài toánnhận dạng khuôn mặt mà trong đó tính biến động của thông tin trênảnhcũng như thông tin trên từng khuôn mặt trong thếgiới thực luôn thay đổitừng giây từng phút.¾Thời gian huấn luyện hệthống rất nhanh với 30 lớp khuôn mặt khác nhauvà tập mẫu học gồm 3000 (mẫu) nhưng thời gian huấn luyện chỉmất từ1phút đến 2 phút. Nếu với khối lượng dữliệu như thếnày thì huấn luyệnnhanh nhất trên ANN cũng mất đến 10 phút và HMM cũng mất 5 phút.¾Đối với mỗi mô hình SVM, sốlượng tham sốtrong mỗi mô hình lớn nênchúng ta sẽcó nhiều cách khác nhau trong việc điều khiển khảnăng xửlýtối ưu cho thuật toán.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM935.2.3.2 Khuyết điểm và hạn chế¾Một trong những khiếm khuyết lớn nhất của thuật toán SVMs chỉcó khảnăng phân biệt tập học nhịphân, vì lẽđó nhiềuứng dụng trong thực tếSVMs không thểđápứng được.¾Để ứng dụng cho phân loại nhiều lớp ta phải có nhiều cách tổchức rấtphức tạp và dẫn đến chi phí tính toán cũng rất cao.¾Bài toán SVM và việc xửlý chủyếu dựa trên nền tản các các mẫu dữliệugọi là các Vector hỗtrợtìmđược trước khi thực sựtìm siêu mặt, nếu sốvector hỗtrợquá nhiều thì dẫn đến chi phí cho thời gian đi tìm siêu mặtcũng như chi phí do giai đoạn nhận dạng là rất lớn. Vì vậy SVMs thường ítthành công trong việc xửlý bài toán với khối lượng dữliệu tập học lớn.¾Bài toán nhận dạng người dựa trên thông tin khuôn mặt là một bài toánphức tạp trong thếgiới thực, Sốngười cần huấn luyện cho mỗi hệthống cóthểlên đến hàng ngàn hay hàng triệu người và dữliệu thu thập từmỗingười có thểlên tới hàng trăm, hay hàng ngàn kiểu khác nhau, và đây làmột hệthống đòi hỏi khảnăng chính xác cũng như đảm bảo khảnăng xửlýthời gian thực của hệthống.¾Cũng không ít các tính chất và định lý từthuật toán SVMs chủyếu xuấtphát từcác nhận định là chính, chưa được chứng minh chặt chẽtrênphương diện toán học.¾Sốkhuôn mặt cần thiết cho mục đích nhận dạng còn thấp (chỉmới 30người) và tập mẫu học cho từng người cũng rất hạn chế, những mẫu khuônmặt xuất hiện trongảnh với những tình huống đặc biệt là rất ít, nếu trongứng dụng thực tếmà gặp phải những trường hợp này thì có thểthất bại.5.2.3.3 Những đềxuất và cải tiến5.2.3.3.1 Vềmặt thuật toán học¾Với cách tiếp cận hiện nay việcứng dụng SVMs mà nền tản là bộphân loạinhịphân, quá trình huấn luyện trên từng bộphân loại nhịphân là độc lậpvới nhau, và bên cạnh đó việc so sánh trên từng bộphân loại cũng xảy rađộc lập trong quá trình thửnghiệm, vì vậy một cơ chếxửlý song song cóthểcải thiện được đáng kểthời gian huấn luyện cho hệthống cũng tốc độtrong lúc nhận dạng.¾Cần tìm hiểu và nghiên cứu nhiều vềcác thuật toán tối ưu đểgiảm chi phíKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM94 tính toán cho SVM trong giai đoạn huấn luyện cũng như trong giai đoạnthửnghiệm chương trình.¾Cần tìm hiểu vềmột sốphát triển mới từcho thuật toán SVM mà khi giảiquyết bài toán nhiều lớp thì không cần phải thông qua các bộphân loại nhịphân. Hiện nay có một sốđã tiếp cận kết hợp SVMs và Fuzzy đểxây dựngbộphân loại đa lớp chuẩn.5.2.3.3.2 Vềmặt chương trìnhứng dụng¾Cần tăng cường sốlượng người cho mục đích nhận dạng và thu thập càngnhiều mẫu bổsung cho tập học càng nhiều càng tốt.¾Cần huấn luyện cho hệthống với nhiều bộtham sốkhác nhau, đểrút rađược quy luật xửlý SVM choứng dụng nhận dạng khuôn mặt và có thểtìm ra bộtham sốtối ưu nhất cho mô hình SVMs.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM95Chương 6 MÔ HÌNH MAKOVẨN VÀỨNGDỤNG NHẬN DẠNG KHUÔN MẶTKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM966.1 Giới thiệu mô hình MakovẩnAndrei A Markov (1895-1922) đãđưa ra một mô hình dùngđểmô hình hoá chuỗicác sựkiện mà xác suất của sựkiệnởthời điểm hiện tại có liên quan đến sựxuấthiện của sựkiệnởthời điểm trước đó. Mô hìnhđó được gọi là chuỗi Markov.6.1.1 Mô hình MarkovChuỗi Markov có thểquan sát là chuỗi Markov mà kết xuất của tiến trình là mộttập hợp các trạng tháiởmỗi thời điểm, trong đó mỗitrạng thái tươngứng với mộtbiến cốcó thểquan sát được.Khảo sát mô hình Markov ba trạng thái dùng đểbiểu diễn tình trạng thayđổi thời tiết.MöaMaâyNaé ng0.30.20.10.30.10.20.80.60.4Hình 6-1 Mô hình Markov ba trạng thái biểu diễn thời tiết.Giảsửmỗi ngày, thời tiết được quan sát sẽrơi vào một trong ba trạng thái sau:Trạng thái 1: MưaTrạng thái 2: Có mâyTrạng thái 3: Có nắngMa trận xác suất chuyển trạng thái:      =8 . 0 1 . 0 1 . 02 . 0 6 . 0 2 . 03 . 0 3 . 0 4 . 0ACâu hỏi đặt ra: Xác suất đểthờitiết tám ngày liên tiếp là {Nắng, Nắng, Nắng,Mưa, Mưa, Nắng, Mây, Nắng} là bao nhiêu?Lời giải như sau:Ta định nghĩa dãy quan sát O là:Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM97 O= (Nắng, Nắng, Nắng, Mưa, Mưa, Nắng, Mây, Nắng)= (3,3,3,1,1,3,2,3 )P(O)=P[3, 3, 3, 1, 1, 3, 2, 3]=P[3]P[3|3]P[3|3]P[1|3]P[1|3]P[1|1]P[2|3]P[3|2]=23 32 13 11 31 233 3. . . . . ) .(a a a a a aπ= 1*0.8*0.8*0.1*0.4*0.3*0.1*0.2= 1.536*10-4VớiN i i q Pi≤ ≤ = =1 , ] [1πlà xác suất ban đầu của các trạng thái.6.1.2 Mô hình MarkovẩnChuỗi Markovẩn chính là một chuỗi Markov mà trong đó quan sát là một hàmxác suất theo trạng thái.Giảsửtrong một căn phòng có 3 bình (Hình 6-2), mỗi bình có vô sốquảbanh tô màu xanh, đỏ. Tiến trìnhđểnhận được một dãy quan sátđược thực hiệnnhư sau: Một người trong phòng chọn ngẫu nhiên các banh trong các bình mộtcách ngẫu nhiên rồi đọc màu quảbanh. Một ngườiởngoài ghi lại chuỗi màu đó(ví dụ: Xanh, Đỏ, Xanh, Xanh, Đỏ...). Đó chính là chuỗi quan sát O. Coi mỗitrạng thái tươngứng với một bình Vậy chuỗi biến đổi trạng thái đã bịẩn trongchuỗi quan sát.P(Ñoû) = b1(1)P(Xanh) = b1(2)P(Ñoû) = b2(1)P(Xanh) = b2(2)P(Ñoû) = b3(1)P(Xanh) = b3(2)Hình 6-2 Mô phỏng mô hình Markovẩn rời rạc bằng mô hình bình banhCác thành phần của một mô hình Markovẩn:q: q= {q1,…,qt}∈Ntlà chuỗi biến đổi trạng thái giảđịnhKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM98 N: Sốtrạng thái của mô hình mặc dù các trạng thái làẩn.M: Sốđặc trưng phân biệt trên mỗi trạng tháiqt:là trạng thái tại thời điểm t.A = { ai,j}:không gian xác suất chuyển trạng thái của 2 thời điểm kếtiếpnhauai,j∈A: là xác suất chuyển trạng tháiqitại thời điểmtsangqjtại thờiđiểmt+1πi= P[q1= i]: xác suất ban đầu của trạng thái iπ= {πi}: tập các xác suất trạng thái đầuot= vi: là quan sát được vitại thời điểm tO = {o1,…,ot}:Chuỗi quan sát theo thời gian tB:Ma trận phân bốxác suất của các đặc trưng khi khảo sát trên từng trạngtháibi(k): Xác suất nhận được đặc trưng vkởtrạng thái i.Ta dùng kí hiệu:) , , (πλB A =đểchỉtập tham sốcủa mô hình.6.1.2.1 Xác suất của chuỗi quan sátĐể đánh giá xem mô hình) , , (πλB A =được cho có đối sánh tốt với dãy quan sát) ... (2 1To o o O=hay không, ta cần tínhP(O |λ). Cách tính như sau:Chọn ra một dãy trạng thái) ... (2 1Tq q q q=trong sốNTdãy trạng tháiKhi đó) , | ( ) , | (1λ λt Tttq o P q O P∏==(6.1)Giảsửcác quan sát là độc lập thống kê:) ( )... ( ) ( ) , | (2 2 1 1T qT q qo b o b o b q O P=λ(6.2)Xác suất dãy trạng thái qqT qT q q qa a q P1 2 1 1.. ) | (−=πλ(6.3)Mà ta có) | ( ) , | ( ) | , (λλλq P q O P q O P=(6.4)Do đó∑=qq O P O P) | , ( ) | (λ λq∈NT(6.5)Có NTdãy trạng thái vàO(T)phép tính, nên độphức tạp của thuật toán bằngO(NTT). Đểgiảm độphức tạp, thuật toán được cải tiến bằng 2 thủtục: Thủtục lùivà thủtục tiến.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM996.1.2.1.1 Thủtục tiếnGọi) (itαlà xác suất chuỗi quan sát đến thời điểmt12...too ovà trạng tháiiởthời điểm t.) (itαcònđược gọi là biến tiến] | , .. [ ) (1λαi q o o P it t t= =(6.6)Có thểtính) (itαbằng cách quy nạp:•B1: Khởi tạoN i o b ii i t≤ ≤ =1 ) ( ) (1πα(6.7)•B2: Quy nạpN j T t o b a i jt j Niij t t≤ ≤ − ≤ ≤  =+= +∑1 , 1 1 , ) ( ) ( ) (11 1α α(6.8)•B3: Kết thúc∑==NiTi O P1) ( ) | (α λ(6.9)•B4: Đánh giáĐộphức tạp:2() ONTHình 6-3 Tính toán theo thủtục tiếnởmột thời điểmKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1006.1.2.1.2 Thủtục lùiGọi) (itβbiểu diễn xác suất của dãy quan sát riêng phần từthời điểm1 t+chotới kết thúc chuỗi quan sát, và trạng thái i trên chuỗi quan sát tại thời điểm t.) (itβđược gọi là biến lùi.] , | .. [ ) (λβi q o o P it T t t= =(6.10)Có thểtính) (itβbằng cách quy nạp.•B1:Khởi tạoN i iT≤ ≤ =1 , 1 ) (β(6.11)•B2:Quy nạpN i T T t j o b a iNjt t j ij t≤ ≤ − − = =∑=+ +1 , 1 ,..., 2 , 1 , ) ( ) ( ) (11 1β β(6.12)•B3:Kết thúc:∑==Niii i O Po b111) ( ) ( ) ( ) | (β π λ•B4:Đánh giáĐộphức tạp:2() ONTHình 6-4 Tính toán theo thủtục lùiởmột thời điểmKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1016.1.2.2 Dãy trạng thái tối ưuĐểtìm chuỗi trạng tháiqgiải thích tốt nhất cho chuỗi quan sátO, tức cần tìm q∈Ntsao cho()πλ, ,,B Aq O Plớn nhất, ta có thểdùng thuật toán Baum-Welch haythuật toán Viterbi.Thuật toán Baum-WelchGọi) , | ( ) (λ γO i q P it t= =là xác suất trạng tháiiởthời điểmttrênchuỗi quan sát O và mô hìnhλ.Ta c ó t hểbiểu diễn:∑== ===== =Njt t t t tj q O Pi q O PO Pi q O PO i q P i1) | , () | , () | () | , () , | ( ) (λ λ λλλγ(6.13)Vì) ( ) ( ) | , (j j j q O Pt t tβαλ= =nên công thức trên được tính lại nhưsau:∑==Njt tt ttj ji ii1) ( ) () ( ) () (β αβ αγ(6.14)Trong đó) (itαgiải thích dãy riêng phần12...too ovà trạng thái iởthời điểm t, còn) (itβgiải thích dãy quan sát còn lại12...ttToo o++được cho bởi trạng thái i tại thời điểm t.Dùng) (itγ, ta có thểtìmđược trạng thái*tqphù hợp nhấtởtừng thờiđiểm t:T t iNi qt t≤ ≤≤ ≤ =1 )], ( [1max arg*γ(6.15)Phương trình trên cực đại hoá kỳvọng sốcác trạng thái đúng, tuy nhiên khi HMMcó một sốxác suất chuyển trạng thái bằng không (aij= 0) thì dãy trạng thái tối ưuKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM102 đó không còn hợp lệnữa. Vì phương trình trên chỉxác định trạng thái phù hợpnhấtởtừng thời điểm mà không chú ýđến sựxuất hiện chung của dãy trạng thái.Thuật toán Viterbi:Gọi) (itδlà tỉsốtốt nhất theo đường đi đơnởthời điểmtmà nó giải thíchđượctquan sát đầu tiên và kết thúcởtrạng thái i.) | ... , , ... ( max ) (2 1 1 2 11 3 2 1λδt t tq q q q to o o i q q q q P it==−−K(6.16)Có thểtính đượcδt+1(i) bằng cách quy nạp[]) ( ) ( max ) (1 1+ +=t j ij ti to b a i jδδ(6.17)B1: Khởi tạoN i o b ii i≤ ≤ =1 ) ( ) (1 1πδ(6.18)0 ) (1= Ψi(Lưu vết chuỗi Markov)B2: Tính đệquy[]N j T t o b a i jt j ij tN i t≤≤≤≤=−≤ ≤1 ; 2 ), ( ) ( max ) (11δδ(6.19)] ) ( [ max arg ) (11ij tN i ta i j−≤ ≤= Ψδ(6.20)B3: Kết thúc[]) ( max *1i PTN iδ≤ ≤=(6.21))] ( [ max arg *1i qTN i Tδ≤ ≤=(6.22)B4: Lần ngược lại đường đi (dãy trạng thái)1 , , 2 , 1 *), ( *1 1K−−= Ψ =+ +T T t q qt t t(6.23)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1036.1.2.3 Hiệuchỉnh các tham sốcủa mô hìnhĐểhiệu chỉnh các tham sốcủa mô hình sao cho()OB Aπλ, ,đạt cực đại ta có thểsửdụng phương pháp Segmental K-mean: điều chỉnh()λ| O Pbằng cách làmcực đại giá trị()λ| ,q O Pvới q là chuỗi trạng thái tối ưu được tìm bằng thuật toánViterbi.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1046.2ỨNG DỤNG MÔ HÌNH MARKOVẨN NHẬNDẠNG KHUÔN MẶT NGƯỜI6.2.1 Ý tưởngVới quan niệm vềkhuôn mặt thẳng như sau: Các đặc trưng thuộc vềkhuôn mặtđược coi là quan trọng nhất nhưtóc, vần tráng, hai mắt, mũi, miệng, cằm, xuấthiện rất tựnhiên theo thứtựngữnghĩa khi xét từtrên xuống dưới. Vì vậy, c á cmiền đặc trưng thuộc vềkhuôn mặt có thểđược mô hình hóa thành chuỗi quan sáttheo thứtựxuất hiện của các đặc trưng cũng nhưthứtựquan sát vềmặt thời gian.Từđó chúng tôi quyết định tiếp cận theo phương pháp mô hình Markovẩn chobài toán nhận dạng khuôn mặt.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1056.2.2 Nhận dạng khuôn mặt bằng mô hình Markovẩn6.2.2.1 Giai đoạn huấn luyện hệthốngLaáy ñaëc tröngmieàn taàn soáDCTTrích caùc khoái8 8×(Pixels)Khôûi taïo moâhình HMMAÛnh khuoân maët) ( 32 32pixels ×Taùi taïo chuoãiquan saùt T=7Thuû tuïc tieán/luøiBaum-WelchÖôùc löôïng laïimoâ hình HMMKieåm trahoäi tuïÑuùngSaiKeát xuaát moâ hìnhtham soá HMMHình 6-5 Huấn luyện khuôn mặt bằng mô hình Markovẩn rời rạc.6.2.2.1.1Ảnh khuôn mặt huấn luyệnTương tựnhư tập mẫu khuôn mặt đã sửdụng từphương pháp họcSVM, nhưnglại sửdụng kích thướcảnh chuẩn là 32×32 (pixels). Nguyên nhân của sựlựa chọnnày được trình bày chi tiết trong phần rút trích đặc trưng từảnh khuôn mặt sửdụng trong mô hình Markovẩn rời rạc. Chi tiết vềmẫu khuôn mặt được biểu diễntrong Hình 6-6 nhưsau:Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM106W=32 (pixels)H=32 (pixels)Hình 6-6 Mẫu khuôn mặt cho việc huấn luyện mô hình Markovẩn rời rạcvới kích thước chuẩn 32x32 (pixels)6.2.2.1.2 Biểu diễn dữliệu khuôn mặt theo mô hình MakovĐểgiải quyết bài toán theo mô hình Markovẩn rời rạc ta chia mỗi mẫu khuôn mặttrong tập học có chiều cao kí hiệu làHvà chiều rộng kí hiệu làWra thành nhiềukhối nhỏ, mỗi khối có kích thước chiều caoP, chiều rộng vẫn bằngW. Các khốinày có thểliên tiếp hay chồng lấp lên nhau. Hình 6-7 minh hoạdưới đây:Hình 6-7 Tách mẫu huấn luyện HxW thành một chuỗi các khối con PxW.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM107 Mẫu khuôn mặt sẽđược lượng tửhoá thành các khối quan sát liên tiếpnhau. Hình bên trái sửdụng chiến lược lấy khối theo chiều ngang và mỗi khốiđược lấy bằng cách dịch chuyển theo thứtựtừtrái sang phải (Left to Right), hìnhbên phải sửdụng chiến lược lấy khối theo chiều chiều cao và mỗi khối được lấybằng cách dịch chuyển theo thứtựtừtrên xuống dưới (Top to Bottom), trong cáchtiếp cận này các khối chồng lấp lên nhau một khoảngL.Gọi T là sốkhối lượng mã hoá từmẫu khuôn mặt, và quy tắc đểtính T1 + =−−L PP HTNhưvậy với kích thước mẫu H = 32, P = 8, L = P/2 = 4, thì T =[(32-8)/(8-4)]+1 = 7 (khối).Hai chiến lược tách khối cho mô hình Markovẩn rời rạc mang ý nghĩakhác nhau đối với cùng một khuôn mặt.9Sửdụng chiến lược tách theo chiều ngang nhưtrong Hình 6-8, có nghĩa lúcnày ta quan niệm mỗi khối đều mang thông tin khá đầy đủvềkhuôn mặt,thứtựxuất hiện đồng thời các đặc trưng của một khuôn mặt trong mỗi khốitheo thứtựtừtrên xuống có thểcó như {Chân mày, mắt, má, miệng, cằm}hay cũng có thể{Chân mày, Mắt, Mũi, Miệng, Cằm}.9Sửdụng chiến lược tách khối theo chiều đứng nhưtrong Hình 6-9, cónghĩa lúc này ta quan niệm mỗi khối chỉchứa đầy đủvềmột đặc trưng cụcbộcủa khuôn mặt, và sựphân bốcó tính đối xứng của các đặc trưng bêntrong mỗi khối cũng có một ý nghĩa rất quan trọng, thứtựxuất hiện cácđặc trưng của khuôn mặt trong mỗi khối theo thứtựtừtrên xuống dưới lầnlược nhưsau {Hai chân mày }→{Hai mắt}→{Má, muĩ,má}→{Miệng}→{Cằm}.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM108 Gọi K là tập hợp các khối{}7 6 5 4 3 2 1, , , , , ,k k k k k k k K=được tách ra từmộtmẫu khuôn mặt, chỉsốđánh trên mỗi khốicủa cảhai trường hợp theo thứtựtừ1→7 cũng là thứtựxuất hiện của chuỗi quan sát trong mô hìnhMarkovẩn. Và mỗi khối được xem là một quan sát tại một thời điểm t (t =1,..,7). Nhiệm vụcủa ta bây giờlà phải dạy cho máy tính biết được cáchgiải thích chuỗi quan sát trên bằng phương phápước lượng mô hình trênquan điểm xác suất thống kê.Gọi O là chuỗi các khối dữliệu tách ra từmột khuôn mặt, ta có:{}7 6 5 4 3 2 1o , o , o , o , o , o , o O=Trong đó mỗi quan sátdiolà một vector d chiều nhận được từkhốiikcókích thướcP×Wvà d = P×W (pixels).Kết quảtách khối theo hai chiến lược nhưsau:1234567Hình 6-8 Mẫu khuôn mặt sẽđược tách thành 7 khối theo thứtựtừtrái sangphải với mỗi khối là 32x8(pixels)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1091234567Hình 6-9 Mẫu khuôn mặt được tách thành 7 khối theo thứtựtừtrên xuốngdưới với mỗi khối là 32x8(pixels)6.2.2.1.3 Kỹthuật trích đặc trưng trên mẫu khuôn mặtNếu giá trịchuỗi quan sát là giá trịcủa điểmảnh được trích ra trực tiếp từcáckhối trên mộtảnh mẫu khuôn mặt thì gặp phải hai bất lợi lớn: Thứnhất, giá trịđiểmảnh từảnh chứa khuôn mặt không biểu diễn tốt được các đặc trưng chủđạocủa khuôn mặt, đặc trưng từcác giá trịnày rất nhạy cảm vớiảnh nhiễu, khuônmặt bịquay, khuôn mặt bịche lấp, khuôn mặt bịdịch chuyển, biến đổi lớn từnộitại của khuôn mặt do biểu hiện cảm xúc quá mạnh. Thứhai, mỗi vector quan sátdiocó thểcó sốchiều rất lớn, d = 32×8 = 256, điều này dẫn đến chi phí tính toáncủa hệthống rất lớn ngay cảgiai đoạn huấn luyện cũng như giai đoạn thửnghiệm.Vì vậy rút trích đặc trưng là một tác vụvô cùng quan trọng nhằm lấy ranhững tri thức cô đọng, chính xác vàổn định nhất, đồng thời loại bỏnhững thôngtin dưthừa không cần thiết. Trong cách tiếp cận theo mô hình Markovẩn đểnhậndạng khuôn mặt ta chọn phương pháp rút trích đặc trưng hình học, không giám sát,đó là phương pháp biến đổi Cosine rời rạc hai chiều.Đểmô phỏng phương pháp rút trích đặc trưng và tái tạo thành vector quansát, ta chọn chiến lược trích khối theo chiều đứng nhưHình 6-9, và chọn khối đầutiên1kđểminh họa xửlý rút trích đặc trưng và sẽtái tạo vector quan sát đầu tiênKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1101otrong chuỗi quan sát O. Bao gồm 5 bược chính sau đây:Bước 1:Tách khối 8×32 (pixels)Khoái thöù13 142Hình 6-10 Khối đầu tiên trong 7 khối cần được lượng hoá thành vector quansát.Bước 2:Tiếp tục tách khối 8×32(pixels) thành 4 khối con 8×8 (pixels)Khoái thöù13 142Hình 6-11 Tách khối 8×8 (pixels)Bước 3:Chuẩn hoá từng điểmảnh trên mỗi khối vềcác giá trịtrongkhoảng [0,1] bằng công thức sau:Giá trịchuẩn hoá =255y) I(x,Bước 4:Thực hiện tính các hệsốDCT bằng phép biến đổi Cosine rời rạchai chiều trên mỗi khối 8×8, và sửdụng dạng một của Zigzag (Hình 4-4)đểlấy 20 hệsốDCT đầu tiên trên mỗi khối biến đổi đó.Bước 5:Tái tạo vector quan sát từcác hệsốDCT trên mỗi khối con8×8(pixels)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM111 Tái tạo vector quan sát đầu tiên1otừkhối quan sát đầu tiên1k9Gọi S là tập mẫu đặc trưng thu được từ1k{}4 3 2 1, , , ss s s S=Trong đó) , ,..., , , , (20 19 4 3 2 1i i i i i i is s s s s s s=9Từkết quảbiến đổi Cosine rời rạc hai chiều lần lượt trên 4 khối8×8(pixels)ởBước 4 sửdụng đường quét Zigzag dạng một đểchuyển 20 hệsốDCT đầu tiên trên mỗi bảng vềvector một chiều,chú ý loại bỏhệsốDC trên mỗi bảng.s1= (0.206, 0.013, -0.18, -0.67, -0.666, -0.197,....,-0.085,-0.094,-0.052, 0.188, 0.082, 0.05)s2=(-0.043, 0.617, 0.354, 0.044, 0.2602, 0.0063,...., -0.018, -0.042, -0.0366, -0.041, 0.0466,-0.049)s3=(0.3947, 0.4642, 0.263, -0.1318, -0.0063, -0.0417,...., -0.0043, 0.0126, -0.0377, 0.027, 0.15,-0.062 )s4=(-0.078, 0.156, 0.563, 0.115, -0.007, -0.021,..., 0.0086, -0.036, -0.029, 0.054, -0.21, -0.059)Vậy vector quan sát thứnhất1otươngứng với khối quan sát thứnhất1knhưsau:{}{}{}{}) , , , (4 3 2 1 1s s s s o=) ,..., , , ,..., , , ,..., , , ,.., , (204 24 14 203 23 13 202 22 12 201 21 11s s s s s s s s s s s s =) ,...., ,..., , (801 1 21 11o o o oi=Nhưvậy vector quan sát đầu tiên1otrong chuỗi quan sát O đó là vector chứa cáchệsốDCT quan trọng nhất trong mỗi khối con 8×8 được trích ra từkhối quan sátđầu tiên1k. Đó là các hệsốchứa năng lượng của tín hiệu nhiều nhất và có ýnghĩa nhất.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1126.2.2.1.4 Huấn luyện HMMSau khi thu thập 3000 mẫu cho tập học của 30 người khác nhau, mỗi người gồm100 mẫu khuôn mặt có độbiến động tương đối phức tạp. Đểgiải quyết bài toánnhận dạng từ30 người khác nhau này ta phải xây dựng 30 mô hình Markovẩn rờirạc nhằm mục đích mô hình hóa cho các khuôn mặt của những người khác nhau.Cấu trúc tham sốcủa một mô hìnhMarkovẩn rời rạc(λ)cho tác vụhuấnluyện có dạng:9Sốtrạng thái trên một mô hình Markovẩn rời rạc được chọn N = 109Sốthuộc tính cần quan sát trên mỗi trạng được chọn M = 69Chuỗi vector quan sát cho mỗi tiến trình huấn luyện T = 7) , , , , , , (7 6 5 4 3 2 1o o o o o o o O=9Sốchiều của mỗi quan sátdiovới d = 80.Tác vụhọc từdữliệu:9Bước 1:Khởi tạo mô hình Markovẩn rời rạc+ Mô hình) , , (πλB Ađược khởi tạo.+ Mẫu dữliệu huấn luyện được lượng hoá thành chuỗi vectorquan sát trên 7 thời điểm khác nhau và mỗi vector quan sát là 80chiều.+ Biến cốxảy ra trong mỗi trạng thái là không thểxác định được,chúng ta chỉcó thểước lượng bằng tính trung bình xác suất.+ Vector quan sát đầu tiên trong chuỗi quan sát sẽđược sửdụngđểkhởi tạo giá trịcho ma trận chuyển trạng thái A, và ma trậnphân phối xác suất các ký hiệu quan sát trên mỗi trạng thái B.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM113 + Khởi tạo xác suất ban đầu cho các trạng thái có thểbất kỳnhưng phải thoảđiều kiện tổng xác suất ban đầu của các trạngthái phải luôn bảo toàn. Có nghĩa∑==Nii11π.9Bước 2:Ước lượng và cập nhật lại tham sốcho mô hình+Gọi) , , (π λB A =+Cập nhật xác suất chuyển trạng thái i tại thời điểm t sang trạngthái j tại thời điểm t+1jiacủa ma trậnA+Cập nhật xác suất đểquan sát tại thời điểm t thuộc vềtrạng thái i) (t bicủa ma trậnB+Cập nhật trạng thái xác suất ban đầuiπ, xác suất này thườngkhông thay đổii iπ π=9Bước 3:Kiểm tra độhội tụcủa thuật toánĐểtác vụhuấn luyện một mô hình Markovẩn rời rạc là hội tụthìcần phải thoảhai thuộc tính sau:+ Xác suấtước lượng một chuỗi quan sát O thuộc vềmôhìnhđang huấnluyệnλ: P(O/λ) là cực đại qua các lần lặp.+ Sựkhác nhau giữa xác suấtước lượng tại các vòng lặpliên tiếp nhau phải nhỏhơn một ngưỡng C xác định trước.Nếu quá trình huấn luyện một mô hình Markovẩn rời rạc hội tụ(thoảhai điều kiện trên), có nghĩa một mô hình Markovẩn rời rạcvới các tham sốđãđượcước lượng phù hợp nhất cho tập cácchuỗi quan sát. Và chuyển sang bước 5.Nếu quá trình huấn luyện chưa hội tụthì chuyển sang bước 4.9Bước 4:Cơchếhuấn luyện được lặp lại tại bước 2.9Bước 5:Kết thúc với một mô hình Markovẩn đãđược ước lượng từcác mẫu khuôn mặt khác nhau nhưng cùng thuộc vềmột người cầnnhận dạng.6.2.2.1.5Đồthịbiểu diễn tác vụhọc qua các vòng lặp và cựcđạixác suất ước lượng mô hình từdữliệu quan sát.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM114 9Dưới đây chúng tôi sẽmô phỏng lại các kết quảcủa quá trình huấn luyệnmột mô hình Markovẩn rời rạc và tìm ra các quy luật điều khiển bộthamsốcho một mô hình mà có khảnăng mô hình hóa tập các chuỗi quan sát tốtnhất, nhanh nhất, mà vẫn đảm bảo khảnăng xửlý tổng quát hóa tốt trongbước nhận dạng khuôn mặt với chuỗi quan sát mới.9Ởđây chúng tôi chỉkhảo sát việc đi tìm một mô hình Markovẩn rời rạcthích hợp đểmô hình hoá một tập quan sát cho trước, tập quan sát này làtập mẫu khuôn mặt của người đầu tiên trong kho dữliệu khuôn mặt cầnđược huấn luyện choứng dụng nhận dạng khuôn mặt trên cách tiếp cậntheo mô hình Markovẩn rời rạc.9Tập khuôn mặt được khảo sát trong thực nghiệm này có một sốdạng trongHình 6-12 sau:Hình 6-12 Chuỗi quan sát từngười thứnhất được gán nhãn “Người 1”.9Trạng thái của một khuôn mặt biến đổi khá phức tạp.+ Các biến đổi ngay trong nội tại của khuôn mặt bao gồm: Mắt(có cảnhắm và mở), trên khuôn mặt xuất hiện râu cằm/có khuônmặt thì không có, có khuôn mặt lại đeo kích.+ Cácảnh hưởng của môi trường ngoài: Có nhữngảnh thu đượctrong điều kiện ánh sáng rất kém, nhưng cũng có nhữngảnh xuấthiện với độchói quá cao.9Cơchếthửnghiệm đểchọn bộtham số< Sốtrạng thái của mô hình (N),Sốkí hiệu quan sát cho mỗi trạng thái (M)>của một mô hình Markovẩnđược thực hiện nhưsau:+Đểkiểm tra mức độ ảnh hưởng tham sốM (Sốkí hiệu quan sát cho mỗitrạng thái) của một mô hình Markovẩnrời rạc đến việc mô hình hóa tậpmẫu khuôn mặt bằng một con số. Đó chính là xác suất P(O|λ) đểtậpkhuôn mặt khảo sát thuộc vềmô hình sao cho càng cực đại bao nhiêu thìcàng tốt bấy nhiêu.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM115 + Giữcốđịnh giá trịsốtrạng thái của một mô hình có thểcó{}10 , 8 , 6 , 4 = Nvà khảo sát P(O|λ) lần lược với các giá trịcủa tham sốMkhác nhau trên tập khuôn mặt của người thứ1.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM116 9Thí nghiệm 1: Kết quảthực hiện được trình bày trên Hình 6-13.STT N MCực đại tổng xác suấtP(Tập các khuôn mặt thuộc về“Người 1” /λ1)1 4 2 4.90473e+0042 4 4 5.39684e+0043 4 6 5.72160e+0044 4 8 5.94079e+0045 4 10 6.10240e+0046 4 12 6.51353e+0047 4 16 6.58552e+0048 4 20 6.59536e+004Bảng 6-1 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcvới sốtrạng thái là 4 và hệsốMixture thay đổi từ2Æ20-2 -10 1 2 3 4 56 7 81 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127M = 2M = 4M = 6M = 8M = 10M = 12M = 16M = 204110 ) | (×λO PHình 6-13 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với N = 4Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM117 •Nhận xét kết quảtừHình 6-13:+ Đường màu xanh da trời (đường biểu diễn dưới cùng) chính làkết quảcủa quá trình huấn luyện mô hình Markovẩn rời rạc chotập mẫu khuôn mặt “Người 1” tươngứng với N = 4, M = 2 và kếtqủa mô hình hoá bằng tổng xác suất thấp nhất P(O|λ1) =4.90473e+004.+ Đường màu đen (đường biểu diễn cao nhất) chính là kết quảcủaquá trình huấn luyện mô hình Markovẩn rời rạc cho tập mẫukhuôn mặt “Người 1” tươngứng với N = 4, M = 20 và kết quảmôhình hoá bằng tổng xác suất cao nhất P(O|λ1) = 6.59536e+004.+ Cùng một sốtrạng thái nhưng mô hình nào có sốkí hiệu quan sát(M) nhiều hơn thì có thểmô hình hoá tập khuôn mặt tốt hơn.+ Đềnghị: Cần tăng thêm giá trịcủa M đểkiếm tra sựcực đại nàyđến một mức nào đó thì dừng+ Khuyết điểm: Khi M càng tăng thì thời gian cho huấn luyện mộtmô hình Markovẩn rời rạc cũng tăng lên đáng kể.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM118 9Thí nghiệm 2:Kết quảđược trình bày trên (Hình 6-14)STT N MCực đại tổng xác suấtP(Tập khuôn mặt thuộc về“Người 1” /λ1)1 6 2 5.27965e+0042 6 4 5.75586e+0043 6 6 6.11844e+0044 6 8 6.38800e+0045 6 10 6.48651e+0046 6 12 6.63666e+004Bảng 6-2 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcvới sốtrạng thái là 6 và hệsốMixture thay đổi từ2→12-2 -10 1 2 34 5 6 7 81 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120M = 2M = 4M = 6M = 8M = 10M = 124110 ) | (×λO PHình 6-14 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với N = 6•Nhận xét kết quảtừHình 6-14:+ Đường màu xanh da trời (đường biểu diễn dưới cùng) chính làkết quảcủa tiến trình huấn luyện một mô hình Markovẩn rời rạccho tập mẫu khuôn mặt “Người 1” tươngứng với N = 6, M = 2 vàkết qủa mô hình hoá bằng một con sốđại diện, đó chính là tổngxác cực đại để ước lượng mô hìnhλ1:P(O|λ1) = 4.90473e+004. Vàkhảnăng mô hình hoá này là thấp nhất so với 6 thửnghiệm cùngtrên sốtrạng thái chung N = 6.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM119 + Đường màu mâu (đường biểu diễn cao nhất) chính là kết quảcủa quá trình huấn luyện một mô hình Markovẩn rời rạc cho tậpmẫu khuôn mặt “Người 1” tươngứng với N = 6, M = 12 và và kếtqủa mô hình hoá bằng một con sốđại diện, đó chính là tổng xáccực đại để ước lượng mô hìnhλ1:P(O|λ1) = 6.63666e+004. Vàkhảnăng mô hình hoá này là cao nhất so với 6 thửnghiệm cùngtrên sốtrạng thái chung N = 6.+ Nhưvậy khi so kết quảvới thí nghiệm 1, Thì quy luật sốkí hiệutrong một thuộc tính càng cao thì làm cho khảnăng mô hình hóacủa mô hình Markov càng tốt là đúng.9Thí nghiệm 3:Kết quảđược trình bày trên (Hình 6-15)STT N MCực đại tổng xác suấtP(Tập khuôn mặt thuộc về“Người 1” /λ1)1 8 2 5.54989e+0042 8 4 6.09219e+0043 8 6 6.40407e+0044 8 8 6.62552e+0045 8 10 6.80923e+0046 8 12 6.97235e+0047 8 16 7.25107e+004Bảng 6-3 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcvới sốtrạng thái là 8 và hệsốMixture thay đổi từ2→16Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM120-2 -10 1 2 3 45 6 7 81 4 7 1013161922252831343740434649525558616467707376M = 2M = 4M = 6M = 8M = 10M = 12M = 164110 ) | (×λO PHình 6-15 Các tiến trình huấn luyện HMM cho tập khuôn mặt “Người 1” vớiN = 8•Nhận xét kết quảtừHình 6-15:+ Đường màu xanh da trời (đường biểu diễn dưới cùng) chính làkết quảcủa tiến trình huấn luyện một mô hình Markovẩn rời rạccho tập mẫu khuôn mặt “Người 1” tươngứng với N = 8, M = 2 vàkết qủa mô hình hoá bằng một con sốđại diện, đó chính là tổngxác cực đại để ước lượng mô hìnhλ1:P(O|λ1)=5.54989e+004. Vàkhảnăng mô hình hoá này là thấp nhất so với 6 thửnghiệm cùngtrên sốtrạng thái chung N = 8.+ Đường màu hồng (đường biểu diễn cao nhất) chính là kếtquảcủa quá trình huấn luyện mô hình Markovẩn rời rạc cho tập mẫukhuôn mặt “Người 1” tươngứng với N = 8, M = 16 và và kết qủamô hình hoá bằng một con sốđại diện, đó chính là tổng xác cựcđại để ước lượng mô hìnhλ1:P(O|λ1) = 7.25107e+004. Và khảnăng mô hình hoá này là cao nhất so với 6 thửnghiệm cùng trênsốtrạng thái chung N = 6.+ Nhưvậy khi so kết quảvới thí nghiệm 1 và 2, Thì quy luật sốký hiệu trong một thuộc tính càng cao thì làm cho khảnăng môhình hóa của mô hình Markov càng tốt vẫn đúng.9Thí nghiệm 4:Kết quảđược trình bày trên (Hình 6-16)STT N M Cực đại tổng xác suấtKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM121P(Tập khuôn mặt thuộc về“Người 1” /λ1)1 10 2 5.66818e+0042 10 4 6.22766e+0043 10 6 6.45893e+0044 10 8 6.76202e+0045 10 10 6.88324e+004Bảng 6-4 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcvới sốtrạng thái là 10 và hệsốMixture thay đổi từ2→10-2 -101 23 4 5 67 81 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103M = 2M = 4M = 6M = 8M = 104110 ) | (×λO PHình 6-16 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với N = 10Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM122 •Nhận xét kết quảtừHình 6-16:+ Đường màu xanh da trời (đường biểu diễn dưới cùng) chính làkếtquảcủa tiến trình huấn luyện một mô hình Markovẩn rời rạccho tập mẫu khuôn mặt “Người 1” tươngứng với N = 10, M = 2và kết qủa mô hình hoá bằng một con sốđại diện, đó chính làtổng xác cực đại để ước lượng mô hìnhλ1:P(O|λ1) =5.66818e+004. Và khảnăng mô hình hoá này là thấp nhất so với6 thửnghiệm cùng trên sốtrạng thái chung N = 10.+ Đường màu hồng (đường biểu diễn cao nhất) chính là kết quảcủa quá trình huấn luyện mô hình Markovẩn rời rạc cho tập mẫukhuôn mặt “Người 1” tươngứng với N = 10, M = 10 và và kếtqủa mô hình hoá bằng một con sốđại diện, đó chính là tổng xáccực đại để ước lượng mô hìnhλ1:P(O|λ1) = 6.88324e+004. Vàkhảnăng mô hình hoá này là cao nhất so với 6 thửnghiệm cùngtrên sốtrạng thái chung N = 10.+ Nhưvậy khi so kếtquảvới thí nghiệm 1,2 và 3, Thì quy luật sốkí hiệu trong một thuộc tính càng cao thì làm cho khảnăng môhình hóa của mô hình Markov càng tốt vẫn đúng.+ Một nhận xét rất thú vịrút ra từ4 thí nghiệm trên nhưsau:Chúng ta có thểthấy rằng việc khảnăng mô hình hoá của một môhình Markovẩn là tuyến tính so với sốký hiệu quan sát trên mỗithuộc tính của mô hình (hay còn gọi là sốđặc trưng của trạngthái).Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM123 + Nhưng một kết quảtăng khác lại rất đáng lo ngại vềkhảnăngxửlý của mô hình Markov,đó là thời gian xửlý cũng tăng tuyếntính theo tham sốM.+Đểkiểm tra mức độ ảnh hưởng của tham sốN (Sốtrạng thái) trong mộtmô hình mô hình Markovẩn rời rạc đến việc mô hình hoá tập mẫu khuônmặt bằng một con số. Đó chính là xác suất P(O|λ) đểtập khuôn mặt khảosát thuộc vềmô hình sao cho càng cực đại bao nhiêu thì càng tốt bấynhiêu.+ Bằng cách giữcốđịnh giá trịsốkí hiệu quan sát trên một trạng thái chomột mô hình có thểcó{}10 , 8 , 6 , 4 , 2=Mvà khảo sát P(O|λ) lần lược vớicác giá trịcủa tham sốN khác nhau trên tập khuôn mặt của người “Người1”.9Thí nghiệm 5: Kết quảthực hiện được trình bày trên Hình 6-17.STTSốquan sát/Một trạngthái (M)Sốtrạng thái (N)Cực đại tổng xác suấtP(Tập khuôn mặt thuộc về“Người 1” /λ1)1 2 4 4.90473e+0042 2 6 5.27965e+0043 2 8 5.54989e+0044 2 10 5.66818e+004Bảng 6-5 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcHệsốMixture bằng 2 và hệsốtrạng thái thay đổitừ4→10•Nhận xét kết quảtừHình 6-17:+ Kết quảtừBảng 9 chính là kết quảcủa việc huấn luyện bốn môhình tham sốmô hình Markovẩn rời rạc trên cùng một tập dữliệukhuôn mặt được gán nhãn “Người 1”. Cái khác nhau chủyếu từbốn mô hình này chính là sửdụng các giá trịcủa tham sốtrạngthái N khác nhau và cùng sửdụng chung một giá trịcủa tham sốlà sốkí hiệu quan sát M.+ Với N = 4 và M = 2, Tổng xác suất được tính từviệcước lượngcho mô hìnhλ1:P(O|λ1) = 4.90473e+004. Tiến trìnhước lượng bộtham sốcho môhình nàyđược thểhiện trên đường màu xanh da trời từhình 25 vàcon sốthểhiện cho chất lượng mô hình hoá của mô hình với<N=4> và <M=2> là thấp nhất so với con sốđánh giá việc môKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM124 hình hoá của các mô hình khác, cũng sửdụng M =2 nhưng N lớnhơn.+ Với N = 10 và M = 2, Tổng xác suất được tính từviệcướclượng cho mô hìnhλ1:P(O|λ1) = 5.66818e+004. Đó cũng chính là con sốmô hình hoálớn nhất của mô hình Markov mà có nhiều sốtrạng thái nhất, N=10.+ Trong thí nghiệm này với M không đổi, việcước lượng tham sốcho một mô hình Markovẩn rời rạc dựa trên tập các chuỗi quansát khuôn mặt sẽtốt hợn khi sửdụng sốtrạng thái cho mô hìnhlớn hơn.+ Chi phí tính toán cũng tăng lên đáng kể.-2 -10 1 2 3 4 5 6 71 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121N = 4N = 6N = 8N = 104110 ) | (×λO PHình 6-17 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với M = 29Thí nghiệm 6: Kết quảthực hiện được trình bày trên Hình 6-18.STT M NCực đại tổng xác suấtP(Tập khuôn mặt thuộc về“Người 1” /λ1)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM125 1 4 4 5.39684e+0042 4 6 5.75586e+0043 4 8 6.09219e+0044 4 10 6.22766e+004Bảng 6-6 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcHệsốMixture bằng 4 và hệsốtrạng thái thay đổi từ4→10•Nhận xét kết quảtừHình 6-18:+ Với N = 4 và M = 4, Tổng xác suất được tính từviệcước lượngcho mô hìnhλ1:P(O|λ1) = 4.90473e+004. Tiến trìnhước lượng bộtham sốcho môhình nàyđược thểhiện trên đường màu xanh da trời từhình 25 vàcon sốthểhiện cho chất lượng mô hình hoá của mô hình với<N=4> và <M=4> là thấp nhất so với con sốđánh giá việc môhình hoá của các mô hình khác, cũng sửdụng M = 4 nhưng N lớnhơn.+ Với N = 10 và M = 4, Tổng xác suất được tính từviệcướclượng cho mô hìnhλ1:P(O|λ1) = 6.22766e+004. Đó cũng chính là con sốmô hình hoálớn nhất của mô hình Markov mà có nhiều sốtrạng thái nhất, N=10.+ Trong thí nghiệm này với M không đổi, việcước lượng tham sốcho một mô hình mô hình Markovẩn rời rạc dựa trên tập cácchuỗi quan sát khuôn mặt sẽtốt hợn khi sửdụng sốtrạng thái chomô hình lớn hơn.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM126-2 -10 1 2 3 4 5671 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103N = 4N = 6N = 8N = 104110 ) | (×λO PHình 6-18 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với M = 4Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM127 9Thí nghiệm 7: Kết quảthực hiện được trình bày trên Hình 6-19.STTSốquan sát/Một trạngthái (M)Sốtrạng thái (N)Cực đại tổng xác suấtP(Tập khuôn mặt thuộc về“Người 1” /λ1)1 6 4 5.72160e+0042 6 6 6.11844e+0443 6 8 6.40407e+0044 6 10 6.45893e+004Bảng 6-7 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcHệsốMixture bằng 6 và hệsốtrạng thái thay đổi từ4→10•Nhận xét kết quảtừHình 6-19:+ Với N = 4 và M = 6, Tổng xác suất được tính từviệcước lượngcho mô hìnhλ1:P(O|λ1) = 5.72160e+004. Tiến trìnhước lượng bộtham sốcho môhình nàyđược thểhiện trên đường màu xanh da trời từhình 25 vàcon sốthểhiện cho chất lượng mô hình hoá của mô hình với<N=4> và <M=6> là thấp nhất so với con sốđánh giá việc môhình hoá của các mô hình khác, cũng sửdụng M = 6 nhưng N lớnhơn.+ Với N = 10 và M = 6, Tổng xác suất được tính từviệcướclượng cho mô hìnhλ1:P(O|λ1) = 6.45893e+004. Đó cũng chính là con sốmô hình hoálớn nhất của mô hình Markov mà có nhiều sốtrạng thái nhất, N=10.+ Trong thí nghiệm này với M không đổi, việcước lượng tham sốcho một mô hình Markovẩn rời rạc dựa trên tập các chuỗi quansát khuôn mặt sẽtốt hợn khi sửdụng sốtrạng thái cho mô hìnhlớn hơn.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM128-2 -10 1 2 3 4 5 6 71 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85N = 4N = 6N = 8N = 104110 ) | (×λO PHình 6-19 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với M = 69Thí nghiệm 8: Kết quảthực hiện được trình bày trên Hình 6-20.STT M NCực đại tổng xác suấtP(Tập khuôn mặt thuộc về“Người 1” /λ1)1 8 4 5.94079e+0042 8 6 6.38800e+0043 8 8 6.62552e+0044 8 10 6.76202e+004Bảng 6-8 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcHệsốMixture bằng 8 và hệsốtrạng thái thay đổitừ4→10•Nhận xét kết quảtừHình 6-20:+ Với N = 4 và M = 8, Tổng xác suất được tính từviệcước lượngcho mô hìnhλ1:P(O|λ1) = 5.94079e+004. Tiến trìnhước lượng bộtham sốcho môhình nàyđược thểhiện trên đường màu xanh da trời từhình 25 vàcon sốthểhiện cho chất lượng mô hình hoá của mô hình với<N=4> và <M=8> là thấp nhất so với con sốđánh giá việc môhình hoá của các mô hình khác, cũng sửdụng M = 8 nhưng N lớnhơn.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM129 + Với N = 10 và M = 8, Tổng xác suất được tính từviệcướclượng cho mô hìnhλ1:P(O|λ1) = 6.76202e+004. Đó cũng chính là con sốmô hình hoálớn nhất của mô hình Markov mà có nhiều sốtrạng thái nhất, N=10.+ Trong thí nghiệm này với M khôngđổi, việcước lượng tham sốcho một mô hình Markovẩn rời rạc dựa trên tập các chuỗi quansát khuôn mặt sẽtốt hơn khi sửdụng sốtrạng thái cho mô hìnhlớn hơn.-2 -10 1 2 3 45 6 7 81 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103N = 4N = 6N = 8N = 104110 ) | (×λO PHình 6-20 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với M = 89Thí nghiệm 9: Kết quảthực hiện được trình bày trên Hình 6-21.STT M NCực đại tổng xác suấtP(Tập khuôn mặt thuộc về“Người 1” /λ1)1 10 4 6.10240e+0042 10 6 6.48651e+0043 10 8 6.80923e+0044 10 10 6.88324e+004Bảng 6-9 Bảng sốliệu khi thửnghiệm huấn luyện mô hình Markovẩn rời rạcHệsốMixture bằng 10 và hệsốtrạng thái thay đổitừ4→10•Nhận xét kết quảtừHình 6-21:Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM130 + Với N = 4 và M = 10, Tổng xác suất được tính từviệcướclượng cho mô hìnhλ1:P(O|λ1) = 6.10240e+004. Tiến trìnhước lượng bộtham sốcho môhình nàyđược thểhiện trên đường màu xanh da trời từhình 29 vàcon sốthểhiện cho chất lượng mô hình hoá của mô hình với<N=4> và <M=10> là thấp nhất so với con sốđánh giá việc môhình hoá của các mô hình khác, cũng sửdụng M = 10 nhưng Nlớn hơn.+ Với N = 10 và M = 10, Tổng xác suất được tính từviệcướclượng cho mô hìnhλ1:P(O|λ1) = 6.88324e+004. Đó cũng chính là con sốmô hình hoálớn nhất của mô hình Markov mà có nhiều sốtrạng thái nhất, N=10.+ Trong thí nghiệm này với M không đổi, việcước lượng tham sốcho một mô hình Markovẩn rời rạc dựa trên tập các chuỗi quansát khuôn mặt sẽtốt hợn khi sửdụng sốtrạng thái cho mô hìnhlớn hơn.+ Ta có thểrút ra một quy luật quan trọng, Khi mô hình hoá chotập quan sát phức tạp bằng một mô hình, việc sửdụng càng nhiềusốtrạng thái thì việcước lượng càng tốt+ Cũng giống nhưbốn thí nghiệm đầu tiên, và năm thí nghiệmđược tiến hành liên tiếp sau này cũng đảm bảo chất lượng của môhình hoá sẽtăng tuyến tính đối với sốtrạng thái sửdụng đểhuấnluyện cho một mô hình.+ Thờigian xửlý của hệthống cũng tăng tuyến tính.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM131-2 -10 1 2 3 4 5 6 7 81 5 9 13172125293337414549535761656973778185899397N = 4N = 6N = 8N = 104110 ) | (×λO PHình 6-21 Các tiến trình huấn luyện mô hình Markovẩn rời rạc cho tậpkhuôn mặt “Người 1” với M = 10nh Markovẩn rời rạc cho tập khuôn mặt“Người 1” với M = 10Tóm lại: sau khi thực hiện trên 9 thí nghiệm ta có thểrút ra kết luận sau:+ Bộtham số<N><M> đóng một vai trò lớn trong việc điềukhiển khẳnăng mô hình hoá chuỗi quan sát của một mô hìnhMarkovẩn rời rạc.+ Thời gian xửlý của hệthống cũng phụthuộc vào sựlựa chọnhai tham sốnày.6.2.2.2 Giai đoạn nhận dạng khuôn mặtCác bước tiền xửlý và rút tríchđặc trưng với mẫu cần nhận dạng được thực hiệntương tựcác bước đã làm trong quá trình huấn luyện đểtạo ra chuỗi quan sát.Tính) | ( max ) | () ( ) (n tn k tO P O Pλ λ=Quyết định khuôn mặt thửnghiệm t được nhận dạng là người thứk.6.2.3 Nhận xét và hướng phát triển tương lai6.2.3.1Ưu điểmQuá trình huấn luyện một mô hình Markovẩn có thểtổng hợp tất cảcác mẫu khácKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM132 nhau của cùng một lớp để đưa ra một mô hình chung cho tập mẫu học, và kết quảmô hình hoá nàyđược đặc trưng bằng một con số.Vì thếhiện tượng quên mẫu đãđược học là rất ít khảnăng xảy ra.6.2.3.2 Khuyết điểmChất lượng mô hình hoá của mô hình Markov phụthuộc vào việc điều khiển giátrịcủa bộtham số, đặc biệt là tham sốvề<Sốtrạng thái của mô hình> và <Sốkíhiệu quan sát trên một trạng thái>. Khi tăng tuyến tính giá trịcủa bộhai thamsốnày thì thời gian xửlý của hệthống cũng tăng tuyến tính.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM133Chương 7 THIẾT KẾCHƯƠNG TRÌNH VÀHƯỚNG DẪN SỬDỤNGKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1347.1 Giới thiệu¾Chương trìnhđược cài đặt trên môi trường Microsoft Visual C++ 6.0,chương trình nhằm mục đích xây dựng hệthống nhận dạng khuôn mặtngười dựa vào thông tin khuôn mặt trênảnh với hai phương pháp tiếpcận chính nêu trên là phương pháp SVM và phương pháp mô hìnhMarkovẩn rời rạc.¾Minh họa kỹthuật dò tìm khuôn mặt¾Minh họa các phương pháp rút trích tri thức đặc trưng của khuôn mặttrênảnh.¾Minh họa việc nhận dạng khuôn mặt bằng phương pháp SVM.¾Minh họaviệcnhận dạng khuôn mặt bằng phương pháp mô hìnhMarkovẩn rời rạc.7.2 Thiết kếvà cài đặt chương trình¾Chương trìnhđược cài đặt hướng đối tượng. Sau đây là các lớp chínhđược thiết kếtrong chương trình9Lớp thu nhận thông tinảnhCDib, LbitmapBase: Đây là những lớp đọcảnh, lấy thôngtinảnh xửlý, hỗtrợcác chức năng xửlýảnh khuôn mặt9Lớp nhận dạng theo phương pháp SVM.CPCA, CRestorePCA: Đây là lớp quản lý rút trích đặctrưng khuôn mặt cô lập bằng phương pháp phương phápphân tích thành phần chính.SVMBase: Đây là lớp phục vụcho mục đích huấnluyện vànhận dạng bằng phương pháp SVM .9Lớp nhận dạng theo phương pháp mô hình Markovẩn rời rạcCFloatDCT: Đây là lớp quản lý rút trích đặc trưng khuônmặt trên miền tần sốCHMM:Đây là lớp phục vụcho mục đích huấn luyện vànhận dạng bằng phương pháp mô hình Markovẩn rời rạc haichiều.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM135 9Các lớp hỗtrợkhácCMath:Lớp hỗtrợcác hàm xửlý toán họcCDetection:Lớp phục vụcho việc dò tìm các khuôn mặtxuất hiện trênảnh nếu có.9Lớp tạo giao diện cho chương trìnhLMyBrowse:Dùng đểxuấtảnh trên mộtcửa sốmàn hìnhdưới dạng Thumbnail.CInputView:Xuấtảnh cần nhận dạng ra màn hìnhCoutputView:Lớp đặt logo của chương trình¾Ngoài ra đềtài còn sửdụng một sốthư viện xửlýảnh khác như: Thưviện xửlýảnh LEADTOOLs của hãng LEAD Technology tại Website:http://www.leadtools.com/.7.3 Giao diện màn hình và hướng dẫn sửdụng¾Màn hình chính chương trình9Màn hình chính gồm 3 ba khungảnh9Khungảnh bên trái: Hiển thịảnh mẫu của những người có mặttrong hệthống nhận dạng khuôn mặt, và hiển thịkết quảcủa ngườiđược nhận dạng9Khungảnh bên phải-phần dưới: Đó chính là logo chương trình,Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM136 Giới thiệu tên đềtài, Giáo viên hướng dẫn và sinh viên thực hiệnchương trình.9Khungảnh bên phải-phần trên: Đó chính là vùng màn hình hiển thịảnh được chọn cho mục đích nhận dạng, hiển thịkết quảdò tìmkhuôn mặt¾Màn hình chọnảnh thửnghiệm nhận dạng khuôn mặt9Đểchọnảnh thửnghiệm bạn sẽtrỏvào biểu tượng ( ) trên mànhình chính9Chọnảnh thửnghiệm đãđược bốtrí trong thư mục DBTest¾Màn hình hiển thịảnh đã chọn đểthửnghiệm nhận dạng¾Màn hình chọn nhận dạng theo phương pháp SVMKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM137 9Trên Menu mà hình chính chọn mục “Recognition Algorithm”9Tiếp tục chọn mục “SVM”9Xuất hiện thông điệp thông báo lấy dữliệu thành công¾Màn hình chọn nhận dạng theo phương pháp mô hình Markovẩn9Trên Menu màn hình chính chọn mục “Recognition Algorithm”9Tiếp tục chọn mục “HMM”9Xuất hiện thông điệp thông báo lấy dữliệu thành công¾Màn hình hiển thịthời gian tìm kiếm khuôn mặt trongảnh nếu có9Đểdò khuôn mặt trênảnh thửnghiệm bạn sẽtrỏvào biểu tượngtrên màn hình chính.9Thời gian dò tìm khuôn mặt sẽđược thông báoKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM138 ¾Màn hình cho biết vịtrí khuôn mặt được tìm thấybằng khung bao9Kết quảdò tìm:đó chính là vịtrí các khuôn mặt có thểcó trênảnh vàvùng khuôn mặt được xác định bằng một khung bao.¾Màn hình hiển thịthời gian nhận dạng một khuôn mặt trênảnh9Đểnhận dạng một khuôn mặt trênảnh thửnghiệm bạn trỏvào biểutượng trên màn hình chính.9Thời gian nhận dạng một khuôn mặt sẽđược thông báoKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM139 ¾Màn hình cho biết kết quảnhận dạng khuôn mặt đã chọn+ Kết quảnhận dạng người trongảnh là ai trong sốnhững người đãđược lưu trữtrong hệthống nhận dạng+ Kết xuất tiến trình nhận dạng một khuôn mặt sẽcho biết khuôn mặt của ngườinào trong cơ sởdữliệu là tương đồng nhất với khuôn mặt cần nhận dạng, dấuhiệu nhận biết bằng đường bao viền xanh xuất hiện trên khuôn mặt của người đó.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM140Chương 8 THỰC NGHIỆM VÀ KẾTQUẢKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1418.1 Dữliệu và phương pháp thửnghiệm nhận dạngkhuôn mặt¾Để đo khảnăng nhận dạng khuôn mặtbằng hai phương pháp tiếp cận làSVM và mô hình Markovẩn rời rạc, chúng tôi đã sửdụng tập thửnghiệm bao gồm3341(ảnh mẫu) khuôn mặt của 30 người khác nhau, vàcó thểchưa được quan sát trên tập học. Nhưng cácảnh khuôn mặt chobước thửnghiệm này có thểrất tương đồng hay có một sốbiến đổi rấtnhỏso vớiảnh đã thu thập trên tập học.¾Sốlượngảnh của mỗi người thu được trên tập thửnghiệm được trìnhbày trong Bảng 1 dưới đây:¾Đánh giá khảnăng nhận dạng của 2 phương pháp tiếp cận:{<Tỉlệ% đúng từngười 1>,…,<Tỉlệ% đúng từngườii>,…,<Tỉlệ% đúng từngười 30>}¾Tỉlệ% đúng từngườii =(Sốmẫu xác minh đúng người thứi)*100 /Tổng sốmẫu thửnghiệm từngười thứi). Ví dụ:+ Tổng sốmẫu thửnghiệm từngười thứ1 = 285(mẫu)+Sốmẫu xác minh đúng người thứ1 = 200(mẫu)+ Tỉlệ% đúng từngười 1 = 200*100/285 = 70%¾Kết quảthửnghiệm từtập mẫu của mỗi người được ghi nhận bằng haigiá trị: đó là chất lượng và thời gian nhận dạng.Tỉlệ% xác minh đúng người thứiThời gian (s) xác minh tập mẫu người thứiKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM142 SốngườiNhận dạngẢnh gốc Mirror Noise Gamma Avergage Tổng cộngNgười 1 57 57 57 57 57 285(ảnh)Người 2 78 78 78 78 78 390(ảnh)Người 3 30 30 30 30 30 151(ảnh)Người 4 35 35 35 35 35 176(ảnh)Người 5 50 50 50 50 50 251(ảnh)Người 6 43 43 43 43 43 316(ảnh)Người 7 67 67 67 67 67 331(ảnh)Người 8 68 68 68 68 68 391(ảnh)Người 9 49 49 49 49 49 246(ảnh)Người 10 73 73 73 73 73 304(ảnh)Người 11 5 5 5 5 5 25(ảnh)Người 12 5 5 5 5 5 25(ảnh)Người 13 5 5 5 5 5 25(ảnh)Người 14 5 5 5 5 5 25(ảnh)Người 15 5 5 5 5 5 25(ảnh)Người 16 5 5 5 5 5 25(ảnh)Người 17 5 5 5 5 5 25(ảnh)Người 18 5 5 5 5 5 25(ảnh)Người 19 5 5 5 5 5 25(ảnh)Người 20 5 5 5 5 5 25(ảnh)Người 21 5 5 5 5 5 25(ảnh)Người 22 5 5 5 5 5 25(ảnh)Người 23 5 5 5 5 5 25(ảnh)Người 24 5 5 5 5 5 25(ảnh)Người 25 5 5 5 5 5 25(ảnh)Người 26 5 5 5 5 5 25(ảnh)Người 27 5 5 5 5 5 25(ảnh)Người 28 5 5 5 5 5 25(ảnh)Người 29 5 5 5 5 5 25(ảnh)Người 30 5 5 5 5 5 25(ảnh)Bảng 8-1 Mô tảdữliệu thửnghiệm thu thập từmỗi người trong hệthốngnhận dạngKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1438.2 Kết quảKết quảtheo tiếp cận HMM8.2.1 Thực nghiệm trên từng bộtham số¾Đểkiểm tra mức độ ảnh hưởng của hai tham sốlà sốtrạng thái(N) và sốký hiệu quan sát trên mỗi trạng thái (M) của một mô hình Markovẩnđến kết quảnhận dạng khuôn mặt như thếnào và qua đó chọn ra một bộtham sốtốt nhất mà nó có khảnăng giải thích tốt nhất các khuôn mặtcủa những người khác nhau.¾Tươngứng với mỗi trạng thái từN = {4, 6, 8, 10}chúng ta sẽkết hợpvới một tham sốquan sátM = {2, 4, 6, 8, 10}.¾Mỗi mẫu khuôn mặt 32×32 (pixels) sẽđược vector hóa thành mẫuvector 560 (chiều) bằng phương pháp Biến đổi Cosine rời rạc hai chiều(2-DCT).¾Kết quảthí nghiệmứng với mỗi bộtham sốbao gồm {N,M} được trìnhbày dưới đây:•Vì sốảnh khuôn mặt đưa vào hệthống nhận dạng cho những ngườitừNgười 11 đến Người 30 rất ít chỉ25ảnh thửnghiệm cho mỗingười, và hệthống nhận dạng tốt cho các trường hợp này với độchính xác 99% đến 100%.•Dữliệu khuôn mặt của những người có mã sốtừNgười 1 đến Người10 được thu thập rất phong phú và tập dữliệu khuôn mặt của nhữngngười này sẽđánh giá tốt hơn vềmô hình Markovẩn rời rạc đã huấnluyện cho nhận dạng khuôn mặt, và dưới đây chúng tôi chỉtrình bàykết quảnhận dạng từNgười 1 đến Người 10 tươngứng với mỗi bộtham sốđã chọn cho mô hình thuật toán nhận dạng mô hình Markovẩn rời rạc.¾Đểso sánh kết quảnhận dạng giữa mô hình với bộtham số(N-M) vớimô hình với bộtham số(N’-M’) chúng tôi đã sửdụng một công thứctính như sau:a=301 i=∑[(Tỉlệ% ngườiiứng với N-M)-(Tỉlệ% ngườiiứng với N’-M’)] (*)Nếu a > 0 thì mô hình với bộN-M cho chất lượng nhận dạng tốt hơn.Nếu a < 0 thì mô hình với bộtham sốN’-M’ cho chất lượng nhận dạng tốthơn.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM144 ¾Thực nghiệm 1 với N = 4, M = {2, 4, 6, 8, 10}.SốngườiM=2 M=4 M =6 M =8 M =1015(s) 18(s) 21(s) 24(s) 29(s) Người 174% 78% 84% 82% 77%21(s) 25(s) 29(s) 31(s) 36(s) Người 287% 91% 93% 92% 92%10(s) 12(s) 14(s) 16(s) 19(s) Người 399% 100% 100% 99% 100%12(s) 13(s) 16(s) 18(s) 21(s) Người 494% 96% 93% 93% 96%14(s) 16(s) 20(s) 25(s) 27(s) Người 589% 92% 94% 93% 93%13(s) 15(s) 17(s) 20(s) 24(s) Người 698% 98% 98% 98% 97%19(s) 20(s) 23(s) 27(s) 32(s) Người 760% 73% 81% 82% 83%20(s) 23(s) 26(s) 31(s) 37(s) Người 884% 89% 94% 93% 96%14(s) 16(s) 19(s) 22(s) 27(s) Người 988% 89% 89% 87% 91%18(s) 19(s) 22(s) 26(s) 31(s) Người 1094% 96% 96% 96% 96%Bảng 8-2 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng tháiN = 4¾Áp dụng công thức (*) chúng ta thấy rằng với bộtham sốN = 2, M = 6cho kết quảnhận dạng tốt nhấtvớithực nghiệm 1Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM145 ¾Thực nghiệm 2 với N = 6 và M = {2, 4, 6, 8, 10}SốngườiM=2 M=4 M =6 M =8 M =1017(s) 21(s) 23(s) 36(s) 48(s) Người 170% 77% 76% 76% 85%21(s) 26(s) 33(s) 45(s) 1.10(s) Người 290% 92% 94% 91% 95%11(s) 14(s) 17(s) 23(s) 25(s) Người 399% 100% 99% 99% 99%12(s) 18(s) 19(s) 26(s) 34(s) Người 490% 96% 94% 92% 92%16(s) 19(s) 24(s) 34(s) 43(s) Người 589% 92% 91% 90% 95%14(s) 17(s) 22(s) 29(s) 40(s) Người 697% 97% 98% 98% 98%19(s) 23(s) 29(s) 39(s) 53(s) Người 786% 91% 95% 96% 96%21(s) 26(s) 33(s) 45(s) 1.01(s) Người 886% 94% 95% 95% 95%15(s) 19(s) 24(s) 33(s) 44(s) Người 993% 97% 97% 98% 99%19(s) 22(s) 29(s) 39(s) 51(s) Người 1097% 96% 94% 92% 95%Bảng 8-3 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng tháiN = 6¾Áp dụng công thức (*) chúng ta thấy rằng với bộtham sốN = 6, M = 10cho kết quảnhận dạng tốt nhấtvớithực nghiệm 2.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM146 ¾Thực nghiệm 3 với N = 8, M = {2, 4, 6, 8, 10}SốngườiM=2 M=4 M =6 M =8 M =1018(s) 35(s) 36(s) 53(s) 1.10(s) Người 174% 81% 73% 87% 85%23(s) 45(s) 46(s) 1.07(s) 1.29(s) Người 291% 95% 95% 95% 93%12(s) 24(s) 30(s) 35(s) 46(s) Người 399% 98% 98% 98% 86%13(s) 16(s) 26(s) 38(s) 51(s) Người 493% 92% 92% 88% 89%17(s) 33(s) 35(s) 49(s) 1.04(s) Người 592% 94% 94% 92% 88%16(s) 30(s) 33(s) 44(s) 58(s) Người 697% 98% 98% 96% 97%20(s) 29(s) 40(s) 59(s) 1.18(s) Người 776% 83% 84% 81% 81%23(s) 50(s) 55(s) 1.09(s) 1.23(s) Người 894% 93% 94% 94% 94%17(s) 33(s) 33v 49(s) 1.05(s) Người 986% 84% 86% 84% 84%19(s) 38(s) 39(s) 1.00(s) 1.15(s) Người 1096% 93% 94% 92% 90%Bảng 8-4 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng tháiN = 8¾Áp dụng công thức (*) chúng ta thấy rằng với bộtham sốN = 8, M = 4cho kết quảnhận dạng tốt nhấtvớithực nghiệm 3Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM147 ¾Thực nghiệm 4 với N = 10, M = {2, 4, 6, 8, 10}SốngườiM=2 M=4 M =6 M =8 M =1019(s) 23(s) 48(s) 1.10(s) 1.33(s) Người 175% 80% 76% 72% 70%30(s) 60(s) 1.01(s) 1.30(s) 1.50(s) Người 291% 92% 94% 93% 94%13(s) 20(s) 32(s) 47(s) 1.01(s) Người 399% 100% 99% 98% 96%14(s) 22(s) 35(s) 51(s) 1.07(s) Người 491% 91% 92% 85% 84%18(s) 27(s) 44(s) 1.05(s) 1.25(s) Người 592% 92% 91% 92% 87%16(s) 24(s) 40(s) 58(s) 1.17(s) Người 697% 97% 95% 91% 93%22(s) 33(s) 53(s) 1.18(s) 1.43(s) Người 790% 96% 94% 97% 97%30(s) 40(s) 1.03(s) 1.31(s) 2.05(s) Người 892% 92% 93% 89% 87%18(s) 27(s) 45(s) 1.05(s) 1.25(s) Người 997% 99% 98% 98% 98%21(s) 35(s) 52(s) 1.16(s) 1.40(s) Người 1095% 97% 94% 95% 85%Bảng 8-5 Kết quảhệthống nhận dạng theo mô hình Markov với sốtrạng tháiN = 10¾Áp dụng công thức (*) chúng ta thấy rằng với bộtham sốN = 10, M = 4cho kết quảnhận dạng tốt nhấtvớithực nghiệm 4Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1488.2.2 Nhận xétĐặc biệt trong tất cảcác thí nghiệm này chúng tôi đã chọn được bộtham sốcho mô hình Markov mà có tỉlệnhận dạng khuôn mặt cao nhất trong toàn bộchuỗi thực nghiệm là¾Sốtrạng thái N = 6 và sốký hiệu quan sát M = 10 kết quảnhư sauLớp1Lớp 2 Lớp3Lớp4Lớp5Lớp6Lớp7Lớp 8 Lớp9Lớp1085% 95% 99% 92% 95% 98% 96% 95% 99% 96%48(s) 1.01(s) 25(s) 34(s) 43(s) 40(s) 53(s) 1.01(s) 44(s) 51(s)Bảng 8-6 Kết quảnhận dạng tốt nhất với phương pháp mô hình Markov tạiN = 6 và M = 108.3 Kết quảtheo tiếp cận SVM8.3.1 Thực nghiệm trên từng bộtham số¾SVMs là một mô hình nhiều tham sốnhưng việc chọn ra bộtham sốnàolà tốt nhất thìđến bây giờchưa ai có thểchứng minh được, cách chọntốt nhất là dựa trên cơ sởthực nghiệm là chính. Trong cách tiếp cậnnhận dạng khuôn mặt theo phương pháp này chúng tôi chú trọng vào haitham sốchính: thứnhât, C (là giới hạn đường bao chặn trên đối vớitham sốαitươngứng với hàm phân loạif), thứhai, dạng hàm xửlý K đểánh xạdữliệu từkhông gian mẫu sang không gian đặc trưng mà trên đócó thểtạo ra được các tập compact đối với các khuôn mặt khác nhau từdữliệu tươngứng và qua đó chọn ra một bộtham sốtốt nhất mà nó cókhảnăng phân loại tốt các khuôn mặt của những người khác nhau trongảnh.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM149 ¾Tươngứng với mỗi tham sốC= {30, 50, 100, 200, 400}chúng ta sẽkếthợp lần lược với một trong bốn loại hàm K = {Hàm tuyến tính, Hàm đathức bậc 2, Hàm đa thức bậc 3, Hàm đa thức bậc 4} để điểu khiển môhình học SVMs.¾Mỗi mẫu khuôn mặt 30×30 (pixels) sẽđược vector hóa thành mẫuvector mà chứa những thành phần quan trọng nhất của mẫu, và phươngpháp PCA đãđápứng được yêu cầu đó. Sốthành phần chính được giữalại sau khi thực hiện phương pháp PCA trên tập mẫuảnh khuôn mặt sẽlà thông tin thực sựđược xửlý trong hệthống nhận dạng khuôn mặt. Vàthực nghiệm cho thấy rằng nếu chúng ta giữlại 44 thành phần đầu tiêncó thểcho chất lượng nhận dạng tốt nhất.¾Kết quảthí nghiệm tươngứng với mỗi bộtham sốbao gồm {C,K} đượctrình bày dưới đây:•Vì sốảnh khuôn mặt đưa vào hệthống nhận dạng cho những ngườitừLớp 11 đến Lớp 30 rất ít chỉ25ảnh thửnghiệm cho mỗi người, vàhệthống nhận dạng tốt cho các trường hợp này với độchính xác99% đến 100%.•Dữliệu khuôn mặt của những người có mã sốtừLớp 1 đến Lớp 10được thu thập rất phong phú và tập dữliệu khuôn mặt của nhữngngười này sẽđánh giá tốt hơn vềmô hình SVMsđã huấn luyện chonhận dạng khuôn mặt, và kết quảdưới đây chúng tôi chỉtrình bàykết quảtừLớp 1 đến Lớp 10.¾Đểso sánh kết quảnhận dạng từmô hình với bộtham số(C,K) với môhình với bộtham số(C’,K’) chúng tôi đã sửdụng một công thức tínhnhư sau:a=301 i=∑[(Tỉlệ% ngườiiứng với C-K)-(Tỉlệ% ngườiiứngvớiC’-K’)] (**)Nếu a > 0 thì mô hình với bộC-K cho chất lượng nhận dạng tốt hơn.Nếu a < 0 thì mô hình với bộtham sốC’-K’ cho chất lượng nhận dạng tốthơn.¾HệsốC = 30 và K = Phương trình{Tuyến tính, K-đa thức bậc 2, K-đathức bậc 2, K-đa thức bậc 2}SốngườiK-tuyến tính K-đa thức bậc 2 K-đa thức bậc 3 K-đa thức bậc 411(s)607 7(s)607 10(s)695 12(s)328 Người 192% 92% 94% 95%Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1509(s)995 10(s)645 12(s)188 14(s)240 Người 292% 94% 95% 95%6(s)219 5(s)158 5(s)868 6(s)740 Người 396% 98% 98% 98%4(s)275 5(s)558 5(s)839 7(s)681 Người 485% 85% 95% 97%7(s)70 7(s)531 8(s)662 9(s)784 Người 578% 89% 90% 90%6(s)289 6(s)650 7(s)581 8(s)572 Người 694% 97% 98% 98%8(s)562 8(s)993 10(s)305 11(s)687 Người 776% 89% 91% 92%9(s)623 10(s)215 11(s)727 13(s)129 Người 877% 87% 89% 90%6(s)710 7(s)651 8(s)632 8(s)603 Người 998% 99% 99% 99%7(s)961 8(s)222 9(s)263 10(s)345 Người 1092% 94% 93% 92%Bảng 8-7 Kết quảnhận dạng với phương pháp SVMs với C = 30Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM151 ¾Áp dụng công thức (**)chúng ta thấy rằng với bộtham sốC = 30, Vàphương trình xửlý chính K là dạng đa thức bậc 4 cho kết quảnhận dạngtốt nhấtvớithực nghiệm 1.¾HệsốC = 50và K = Phương trình{Tuyến tính, K-đa thức bậc 2, K-đa thức bậc 2, K-đathức bậc 2}Sốngười K-tuyến tính K-đa thức bậc 2 K-đa thức bậc 3 K-đa thức bậc 414(s)160 8(s)523 10(s)785 10(s)785 Người 195% 92% 94% 95%8(s)392 10(s)736 12(s)378 14(s)310 Người 292% 94% 95% 95%4(s)156 5(s)207 5(s)878 5(s)908 Người 395% 98% 98% 98%4(s)747 5(s)869 6(s)800 7(s)681 Người 485% 95% 96% 97%5(s)999 7(s)540 8(s)753 9(s)944 Người 578% 86% 90% 90%5(s)288 6(s)619 7(s)641 8(s)652 Người 694% 97% 98% 98%7(s)210 7(s)211 10(s)325 11(s)707 Người 779% 79% 91% 92%8(s)172 10(s)294 10(s)274 13(s)249 Người 877% 87% 87% 90%5(s)558 6(s)790 7(s)721 8(s)622 Người 998% 99% 99% 99%6(s)630 8(s)212 9(s)353 10(s)405 Người 1092% 94% 93% 92%Bảng 8-8 Kết quảnhận dạng với phương pháp SVMs với C = 50Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM152 ¾Áp dụng công thức (**) chúng ta thấy rằng với bộtham sốC = 50, Vàphương trình xửlý chính K là dạng đa thức bậc 4 cho kết quảnhận dạngtốt nhất từchuỗi các kết quảtrên thửnghiệm 2.¾HệsốC = 100và K = Phương trình{Tuyến tính, K-đa thứcbậc 2, K-đa thức bậc 2, K-đathức bậc 2}Sốngười K-tuyến tính K-đa thức bậc 2 K-đa thức bậc 3 K-đa thức bậc 414(s)371 14(s)371 10(s)865 15(s)512 Người 195% 92% 94% 95%8(s)312 10(s)906 12(s)397 14(s)401 Người 292% 94% 95% 95%6(s)769 4(s)126 5(s)257 5(s)258 Người 398% 95% 98% 98%4(s)686 5(s)908 6(s)860 7(s)761 Người 488% 95% 96% 97%5(s)889 7(s)601 8(s)732 9(s)954 Người 578% 86% 90% 90%5(s)238 6(s)690 7(s)691 8(s)692 Người 694% 97% 98% 98%7(s)120 9(s)153 10(s)475 11(s)787 Người 778% 89% 91% 92%8(s)202 10(s)305 11(s)938 13(s)339 Người 877% 87% 89% 90%5(s)538 6(s)820 7(s)731 8(s)672 Người 998% 99% 99% 99%6(s)569 8(s)202 9(s)343 10(s)495 Người 1093% 94% 93% 93%Bảng 8-9 Kết quảnhận dạng với phương pháp SVMs với C = 100Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM153 ¾Áp dụng công thức (**) chúng ta thấy rằng với bộtham sốC = 100, Vàphương trình xửlý chính K là dạng đa thức bậc 4 cho kết quảnhận dạngtốt nhất từthực nghiệm 3.¾HệsốC = 200và K = Phương trình{Tuyến tính, K-đa thức bậc 2, K-đa thức bậc 2, K-đathức bậc 2}Sốngười K-tuyến tính K-đa thức bậc 2 K-đa thức bậc 3 K-đa thức bậc 414(s)511 12(s)608 14(s)941 14(s)601 Người 195% 94% 95% 95%8(s)583 10(s)815 12(s)638 14(s)481 Người 292% 94% 95% 95%6(s)790 4(s)106 4(s)520 5(s)939 Người 398% 96% 96% 98%4(s)666 5(s)939 6(s)880 7(s)771 Người 486% 95% 96% 97%5(s)897 7(s)942 8(s)822 9(s)914 Người 578% 86% 90% 90%5(s)227 6(s)739 7(s)741 8(s)732 Người 694% 97% 98% 98%7(s)731 9(s)123 10(s)495 11(s)837 Người 776% 89% 91% 92%8:202 10:305 11:938 13:350 Người 877% 87% 89% 90%6(s)820 7(s)771 8(s)662 8(s)713 Người 999% 99% 99% 99%6(s)579 8(s)232 9(s)313 9(s)364 Người 1092% 94% 93% 93%Bảng 8-10 Kết quảnhận dạng với phương pháp SVMs với C = 200Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM154 ¾Áp dụng công thức (**) chúng ta thấy rằng với bộtham sốC = 200, vàphương trình xửlý chính K là dạng đa thức bậc 4 cho kết quảnhận dạngtốt nhấtvớithực nghiệm 4.¾HệsốC = 400,và K = Phương trình{Tuyến tính, K-đa thức bậc 2, K-đa thức bậc 2, K-đathức bậc 2}Sốngười K-tuyến tính K-đa thức bậc 2 K-đa thức bậc 3 K-đa thức bậc 48(s)352 10(s)996 14(s)181 15(s)272 Người 192% 94% 95% 95%8(s)362 10(s)966 12(s)558 17(s)886 Người 292% 94% 95% 95%4(s)166 5(s)247 5(s)949 5(s)948 Người 396% 98% 98% 98%4(s)737 6(s)39 6(s)940 7(s)791 Người 487% 95% 96% 97%5(s)918 7(s)621 8(s)883 10(s)24 Người 577% 86% 90% 90%5(s)218 6(s)749 7(s)771 8(s)753 Người 693% 97% 98% 98%7(s)150 9(s)453 11(s)477 12(s)378 Người 775% 89% 91% 92%8(s)202 12(s)17 14(s)281 14(s)110 Người 898% 99% 99% 99%5(s)598 6(s)870 7(s)772 8(s)682 Người 998% 99% 99% 99%6(s)549 8(s)221 9(s)443 10(s)445 Người 1092% 94% 93% 92%Bảng 8-11 Kết quảnhận dạng với phương pháp SVMs với C = 400Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM155 ¾Áp dụng công thức (**)chúng ta thấy rằng với bộtham sốC = 400, Vàphương trình xửlý chính K là dạng đa thức bậc 3 cho kết quảnhận dạngtốt nhấtvớithực nghiệm 5.8.3.2 Nhận xétTừchuỗi thực nghiệm này chúng tôi đã chọn ra 4 bộtham sốđiều khiểnmô hình SVMs mà cho ra các kết quảnhận dạng tốt nhấtnhư sau¾C = 400 và phương trình xửlý chính K là dạng đa thức bậc 3Lớp 1 Lớp 2 Lớp 3 Lớp 4 Lớp 5 Lớp 6 Lớp 7 Lớp 8 Lớp 9 Lớp 1095% 95% 98% 96% 90% 98% 91% 99% 99% 93%14(s)20 12(s)558 6(s) 7(s) 8(s)883 7(s)771 11(s)47 14(s)281 7(s)772 9(s)443Bảng 8-12 Kết quảnhận dạng tốt nhất với phương pháp SVMs tại C = 400 vàK là hàm xửlý chính dạng đa thức bậc 3Từchuỗi thí nghiệm này chúng ta có thểrút ra được vai trò quan trọng củatừng tham sốtrong việc điều khiển tính tổng quát vốn có của phương pháp xửlýSVMs. Từkết quảnhận dạng khuôn mặt trên mỗi bảng mà có cùng tham sốC, vàhàm xửlý K càng phức tạp thì tỉlệnhận dạng đúng trên mỗi người sẽtăng lênđáng kể. Và quan sát trên các bảng với cùng hàm xửlý chính K, nhưng với cácgiá trịkhác nhau của C thì kết quảnhận dạng trên mỗi người không thay đổi.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1568.4 So sánh kết quảHMM và SVM¾Công thức đánh giá hai phương pháp dựa trên tiêu chuẩn chất lượng (Tỉlệ%) và tiêu chuẩn vềthời gian xửlýa=301 i=∑[(Tỉlệ% ngườiiứng với SVM)-(Tỉlệ% ngườiiứng vớiHMM)](***)Nếu a > 0 thì mô hình vớiphương pháp SVMs tốt hơn.Nếu a < 0 thì mô hình với phương pháp HMM tốt hơn.t=301 i=∑[(Thời gian ngườiiứng với SVM)-(Thời gian ngườiiứng vớiHMM)] (****)Nếu t > 0 thì mô hình với SVMs kém hơn .Nếu t < 0 thì mô hình với HMM kém hơn.¾Theo cách tiếp cận SVM chúng ta đã chọn được bộtham sốcó tỉlệnhậndạng cao nhấtđó là khi C = 10, K là dạng phương trình phi tuyến bậc 3và vớikết quảnhư sau:Lớp 1 Lớp 2 Lớp 3 Lớp 4 Lớp 5 Lớp 6 Lớp 7 Lớp 8 Lớp 9 Lớp 1095% 95% 98% 96% 90% 98% 91% 99%99% 93%14(s)20 12(s)558 6(s) 7(s) 8(s)883 7(s)771 11(s)47 14(s)2817(s)772 9(s)443¾Theo cách tiếp cận HMM chúng ta đã chọn được bộtham sốcó tỉlệnhận dạng cao nhấtđó là khi N = 6, M =10 và với kết như sau:Lớp 1 Lớp 2 Lớp 3 Lớp 4 Lớp 5 Lớp 6 Lớp 7Lớp 8 Lớp 9 Lớp 1085% 95% 99% 92% 95% 98% 96% 95% 99% 96%48(s) 1:01(s) 25(s) 34(s) 43(s) 40(s) 53(s) 1:01(s) 44(s) 51(s)¾TừLớp 11(Người 11) đến Lớp 30(Người 30) thì kết qủa nhận dạng theohai phương pháp SVMs và HMM là xấp xỉnhau (tỉlệnhận dạng chênhlệch 1%).¾Nhận xét:oVới cùng tập mẫu thửnghiệm kết quảtốt nhấttheohaiphương pháp SVMs và HMM là tương đương nhau. Tỉlệnhận dạng chính xác trung bình theo SVM là 95% và tỉlệnhận dạng chính xác trung bình theo HMM là 95%. Áp dụngcông thức (***) từdữliệuBảng 8-6 và Bảng 8-12 thì a≈0.oNhưng khi xét vềthời gian xửlý trên cùng tập mẫu nhậnKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM157 dạng theo hai phương pháp và dùng công thức (****) từdữliệuBảng 8-6 và Bảng 8-12 ta thấy rằng t = - 355(s) xấp xỉ-5phút. Có nghĩa chi phí nhận dạng HMM là quá cao so vớiphương pháp SVMs.oTrong hai cách tiếp cận cho hệthống nhận dạng khuôn mặtchúng tôi đánh giá phương pháp SVMs là tốt hơn so với cáchtiếp cận HMM.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM158Chương 9 NHẬN XÉT VÀ HƯỚNG PHÁTTRIỂNKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1599.1 Thuận lợi•Khi xây dựng hệthống nhận dạng này chúng tôi đã tiếp cận với nhữngphương pháp nhận dạng được coi là tốt nhất hiện nay trong lĩnh vực trítuệnhân tạo•Chương trình nhận dạng với độchính xác trung bình 95% so vớiphương pháp SVMs và 95% với phương pháp HMM.•Cơ sởdữliệu cho việcthửnghiệm hệthống nhận dạng được thu thập từnhiều nguồn khác nhau nhưng nhìn chung chất lượng dữliệu khuôn mặtrất phù hợp với những yêu cầu đặt ra từđềtài (ảnh hưởng của môitrường và sựbiến đổi trên nội tại khuôn mặt không quá lớn lên tập mẫuhọc).•Thiết bịsửdụng việc cho việc nghiên cứu và thực hiện đềtài rất tốt:Máy Pentium III 600, RAM 384M.•Dù SVMs là một phương pháp học mới và mục đích của nó chuyên choứng dụng phân loại mẫu hai lớp bằng một siêu mặt phân tách, nhưng vớikết quảđạt được như trên từSVMs đã chứng tỏđược khảnăng giảiquyết vấn đềkhông kém so với một sốphương pháp cổđiển nhưmạngneural nhân tạo hay mô hình Markovẩn rời rạc mà có khảnăng phânloại cùng một lúc nhiều lớp rất tốt.•HMM là một phương pháp được coi là độc quyền cho nhận dạng tiếngnói trong việc mô hình hóa tín hiệu quan sát bằng một con sốtheo môhình thống kê, nhưng với thí nghiệm trên đây thì HMM cũng phù hợpvớilĩnh vực xửlýảnh và thịgiác máy tính.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM160 •Khi nghiên cứu vềhệthống nhận dạng này chúng tôi không nhữngnghiên cứu vềthuật toán xửlý mà quađó chúng tôi đã biết thêm nhiềuvềcác công trình nghiên cứu vềkhuôn mặt người từcác lĩnh vực khácnhau và kết quảnày thực sựcó ý nghĩa trong việc nâng cao hiệu quảkhảnăng giao tiếp giữa con người và máy tính.•Hệthống này không những chú trọng vào kỹthuật nhận dạng mà cònchú trọng vào kỹthuật đểnhận thức một mẫu là một khuôn mặt ngườinhờđó mà chúng tôi đã xây dựng tương đối thành công một hệthốngnhận dạng khuôn mặt tựđộng.9.2 Khó khăn•Hệthống nhận dạng với cách tiếp cận từcác phương pháp học rất mạnh,nhưng tính chặt chẽvềmặt toán học chưa cao, nhiều trường hợp tối ưuhóa đòi hỏi chúng ta phải thửnghiệm nhiều lần với nhiều bộtham sốkhác nhau.•Cơ sởdữliệu còn rất hạnchế,chỉmới thửnghiệm trên 30 người, đồngthời sốlượngảnh của mỗi người không có quá nhiều biến động lớn vàđặc biệtlà điềunày có thểlàm giảm chất lượng của hệthống nhận dạngkhi áp dụng trong thếgiới thực mà trong đó khuôn mặt và môi trườngthay đổi liên tục.•Để đánh giá chất lượng của một hệthống chúng tôi đã sửdụng một sốđộ đo nhưng thực sựvẫn chưa đảm bảo đánh giáđược một cách kháchquan và đôi lúc còn rất cảm tính.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM1619.3 Hướng phát triển tương lai1.Định hướng tương lai vềmặt kỹthuật xửlýĐây là một đềtài tương đối phức tạp, mặc dù chúng tôi đã cốgắng xây dựng mộthệthống có khảnăng nhận dạng người dựa vào thông tin khuôn mặt xuất hiệntrênảnh tốt nhất. Nhưng với những hạn chếvềmặt trìnhđộcũng như thời gianthực hiện, chúng tôi kết thúc đềtài với nghiên cứu vềmột mảng nhỏtrong lĩnhvực thịgiác máy tính và những định hướng dưới đây sẽhy vọng ngày càng hoànthiện khảnăng tương tác giữa người với máy tính qua hệthống nhận dạng khuônmặt.•Đối với dữliệu học: Cần phải tăng dần sốmẫu học cũng như sốngườitrong hệthống nhận dạng, thỏa điều kiện này mới có thểnâng cao đượckhảnăng nhận dạng tổng quát cho hệthống, cũng như đápứng đượcnhu cầu thực tếtừthếgiới thực mà sốngười sẽphân loại có thểlên đếnhàng ngàn, hàng triệu và hàng tỉngười.•Đối với việc dò tìm khuôn mặt, đây điều kiên tiên quyết khi đi xây dựngmột hệthống nhận dạng khuôn mặt tựđộng: Cần phải nghiên cứuphương pháp dò tìm khuôn mặt có khảnăng chống chịu tốt với nhữngảnh hưởng của môi trường và đặc biệt phải giải quyết bài toán dò tìmkhuôn mặt xuất hiệnởnhiều góc độkhác nhau so với mặt phẳngảnh đểđảm bảo không bỏsót những người cần nhận dạng.•Đối với việc rút trích đặc trưng khuôn mặt: Cần phải tìm hiểu và nghiêncứu nhiều phương pháp rút trích đặc trưng khuôn mặt hiệu quảhơn đểcó thểbóc được thông tin nỗi thuộc vềkhuôn mặt và có khảnăng loạitrừtạp nhiễu nhiều nhất. Thông tin này phải đảm bảo thông tin tổng quátthuộc vềmột người duy nhất.•Đối với việc nhận dạng:9Cần tìm hiểu kỹhơn vềbản chất của không gian nhận thức khuônmặt người và cần trang bịnhững kiến thức vềtâm lý học, sinh lýhọc, vật lý học cũng nhưkhoa học vềnhận thức khuôn mặt đểcóđược một định hướng tốt hơn cho việc nhận dạng và tăng hiệu suấtcho nhận dạng mà chỉdựa vào tri thức từkhuôn mặt.9Cần xây dựng những hệthống lai tạo bằng việc kết hợp nhiềuphương pháp nhận dạng khác nhau đểtăng ưu điểm cho mục đíchnhận dạng và cũng giảm khuyết điểm của mỗi phương pháp nhậndạng riêng. Hiện này SVMs được kết hợp với nhiều phương phápKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM162 khác như HMM, ANN, Fuzzy đã nâng cao khảnăng phân loại đángkể.9Nhận dạng khuôn mặt thay đổi nhiều hướng nhìn khác nhau, cónhiều biến đổi từmôi trường ngoài cũng như những biến đổi bêntrong nội tại của một khuôn mặt.9Nghiên cứu cấu trúc giải phẫu của các cơ trên khuôn mặt và tìmhiểu các phương pháp nhận dạng khuôn mặt chuyển động trên video,ảnh động..vv.9Một hệthống nhận dạng hoàn chỉnh phải có khẳnăng phân biệt tínhđơn nhất các các trưng có thểcó từmột người: giọng nói, vân tay,vân tay, dáng đi, dáng đứng..vv.•Cần chú trọng xây dựng kỹthuật xửlý tăng cường cho các thuật toán xửlý chính của chương trình, SVM, ANN và mô hình Markovẩn. Bởi vìđặctrưng xửlý của hệthống nhận dạng chúng tôi dựa trên cơ sởmáy học làchính. Nhiệm vụtrong thời gian tớicủa chúng tôi sẽcải tiến thuật toán saocho khi bổsung dữliệu vào hệthống thì chúng tôi không phải dạy lại chomáy mất nhiều giờnhư hiện này.2.Định hướng tương lai vềmặtứng dụng•Việc xây dựng hệthống nhận dạng người trênảnh tĩnh còn rất nhiều bấtlợi, Mặc dù lượng thông tin trênảnh rất phong phú nhưng khối lượng trithức cần thiết cho mục đích xửlý của hệthống còn hạn chế. Chúng tôiđang định hướng chuyểnứng dụng xửlý trênảnh tĩnh sangứng dụng xửlýtrên video số.•Xây dựng hệthống bảo vệquyền lợi truy cập vào/raởcác cơ quan chínhphủta, hayởcác cảng Hàng không sân bay..vv.•Sởsởlý thuyết từcông trình nghiên cứu này tiếp tiếp tục làm cơ sởđểxây dựng nhiều trìnhứng dụng khác trong lĩnh vực máy tính. Kếhoạchmới trong tương lai chúng tôi có dựđịnh nghiên cứu vềảnh Viễn thám mộtlĩnh vực hiện rất mớiởViêt Nam. Và đặc biệt theo chương trình từbộCông nghệvà Môi trường khoảng 2005 chúng ra sẽphóng một vệtinh viễnthám đầu tiên lên quỹđạo, và chúng tôi cho rằng khoảng thời gian bây giờđến 2005 là phù hợp cho việc chuẩn bịđểchúng ta có thểkhai thác tốtnhấtnguồn tài nguyên này và chắc chắn đây là một nguồn lợi không nhỏđối vớisựphát triển của quốc gia trong tương lai.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM163Tổng kếtKhoa học phát triển không ngừng, những bước đi đầu tiên bao giờcũngchập chững. Chúng tôi hy vọng trong một tương lai không xa khi mà những hệthống nhận dạng của chúng ta đãđạt đến một độtin cậy nhất định thì nhữngứngdụng vềnó sẽrộng rãi. Và những nghiên cứu tiếp theo từlĩnh vực này sẽđượcnâng lênởmột cấp độcao hơn, hoàn thiện hơn.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM164 TÀI LIỆU THAM KHẢOChương 1:[1] Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, JohnWeng, Discriminant Analysis of Principal Components for Face Recognition,Centrer for Automation Research, University of Maryland (page 73) of FaceRecognition from Theory and Applications.[2] John Daugnman, Phenotypic versus Genotypic Approches to Face Recognition,University of Cambridge, the Computer laboratory Cambridge CB3 3QG England(page 108) of Face Recognition from Theory and Applications.[3] Emmanuel Viennet và Francoise Fogelman Soulie, Connectionists Methodsfor Human face Rrocessing, University Paris 13, 93430 Villetaneuse, France(page 124) of Face Recognition from Theory and Applications.[4] Antonio J.Colmenarez và Thomas S.Huang, Face Detection and Recognition,Department of Electrical and Computer Engineering, Coordinated ScienceLaborotory, and Beckman Institute for Advanced Science and Technology,University of Illinois at Urbana-Champaign, 405 N. Mathews Ave, USA (page174) of Face Recognition from Theory and Applications.[5] Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, Egor Elagin,Hartmut Neven, and Christoph, Computer Science Department and Center forNeural Engineering, University of Southrn California Los Angeles, USA (page286) of Face Recognition from Theory and Applications.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM165 [6] Baback Moghaddam và Alex Pentland, Beyond Linear Eigenspaces: BayesianMatching for Face Recognition, MIT Media Laboratory, 20 Ames St. Cambridge,MA 02139, USA (page 230) of Face Recognition from Theory and Applications.[7] Massimo Tistaelli và Enrico Grosso, Active Vision-base Face Recognition:Issues, Application and Techniques, University of Genoa, Department ofCommunication, Computer and System Science (DIST), Computer VisionLaboratory, Via Opera Pia 13-16145 Genoa, Italy (page 262) of Face Recognitionfrom Theory and Applications.[8] Jeffrey Huang, Chengjun Liu, và Harry Wechsler, Eye Detection and FaceRecognition Using Evolutionary Computation, Department of Computer Science,George Mason University,http://www.chagall.gmu.edu/(page 348) of FaceRecognition from Theory and Applications.[9] Daniel Bgraham và Nigel M Allinson, Characterising Virtual Eigensignaturesfor General Purpose Face Recognition, Image Engineering and Neural ComputingGroup, Department of Electrical Engineering and Electronics, University ofManchester Institute of Science and Technology. Manchester M60 1QD, UK(page 446) of Face Recognition from Theory and Applications.[10] Jason M.Kinser, Pulse Images for Face Recognition, Institute for Biosciences,Bioinformatics, and Biotechnology, George Masson, University, Fairfax, VA22030-4444 (page 503) of Face Recognition from Theory and Applications.[11] Oi Bin Sun, Chian Prong Lam và Jian Kang Wu, Using DifferentialConstraints to Generate a 3D Face Model from Stereo, Computer GraphicsLaboratory (LIG), EPEL, CH-1015, Lausanne, SWITZER-LAND (page 556) ofFace Recognition from Theory and Applications.[12] Fabien Cardinaux, Automatic Face Recognition in Weakly ConstrainedEnvironment, Phd Student – Vision Group, Dalle Molle Institute for PerceptualArtificial Intelligence, 21/05/2003.[13] Sanjiy K.Bhatia, Vasudevan Lakshininarayanan, Ashok Samal, GrantV.Welland, Parameters for Human Face Recognition, Department of Mathematics& Computer Science, School of Optometry and Department of Physics &Astronomy University of Missouri-St. Lonis. St. Lonis.MO 63121. Department ofComputer Science & Engineering University of Nebraska – Lincoln Lincoln. NE63588-0115, May 18, 1994.Chương 3:[1] Henry A.Rowley, Neural Network-Based Face Detection, School of ComputerKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM166 Science, Computer Science Department, Carnegie Mellon University, Pittsburgh.PA 15213.May 1999 CMU-CS 99-117.[2] Henry A. Rowley, Shumeet Baluja, Takeo Kanade, Rotation Invariant NeuralNetwork-Based Face Detection, School of Computer Science, Carnegie, CarnegieMellon University, Pittsburgh, PA 15213, Justsystem Pittsburgh Research Center,4616 Henry Street, Pittsburgh, PA, 15213.Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM167 Chương 4:[1] GS.TSKH Nguyễn Kim Sách, Chương 4: Nén tín hiệu Video và Audio số, 4.3-Mã hoá DCT, Truyền hình sốcó nén và Multimedia, Nhà xuất bản khoa học và kỹthuật[2] LK. JAIN, Chapter 5: IMAGE TRANSFORMS, 5.1-The Cosine Transform,Fundamentals Digital Image Processing, University of California, Davis. 1989 byPrentice-Hall, Inc, Englewood Cliffs, New Jersey 07632.[3] Steven W.Smith, Chapter 27: Data compression, The Scientist and Engineer’sGuide to Digital Signal Processing, California Technical Publishing San Diego,California.Chương 5:[1] Vladimir N.Vapnik, The Nature of Statistical Learning Theory,AT&Labs-Research, London University.[2] Vladimir N.Vapnik, Statistical Learning Theory, AT&Labs-Research, LondonUniversity.[3] Emmanuel Viennet và Francoise Fogelman Soulie, Connectionist Methods forHuman Face Processing, ([email protected]).[4] Jeffrey Huang, David Li, Xuhui Shao, và Harry Wechsler, PoseDiscriminantion và Eye Detection Using Support Vector Machines (SVM),Department of Computer Science George Mason University[5] Christopher J.C. Burges, A Tutorial on Support Vector Machines for PatternRecognitio, (http://citeseer.nj.nec.com/burges98tutorial.html)Khoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ÐH KHTN TP.HCM168 [6] Võ ThịMỹNgọc, SVM -ứng dụng lọc email, Luận văn cao học, Chuyênngành: Công nghệthông tin, Trường đại học khoa học tựnhiên. TP.HồChí Minh2002.[7] Guodong Guo*, Stan Z. Li, Kap Luk Chan. Support Vector machines for facerecognition. School of Electrical and Electronic, Nanyang Technology University,Singapore, Singapore 639798. Received 6 April 2000; accepted 17 January 2001.Chương 6:[1] Phạm Nam Trung, Lâm Chí Tín. Mô hình Markovẩn cài đặt và thực nghiệm,Bộmôn công nghệtri thức, Khoa công nghệthông tin, Trường Đại Học KhoaHọc TựNhiên-2001.[2] Nguyễn Đức Hoàng Hạ, Cao Xuân Trường. Hỗtrợtrẻkhiếm thính luyện âmtập nói, Bộmôn công nghệtri thức, Khoa công nghệthông tin, Trường Đại HọcKhoa Học TựNhiên-2002.[3] Dr.Joseph Picone, Fundamentals of Speech recognition, Institute of Signal andInformation Processing, Deparment of Electrical and Computer EngineeringMississippi State University.[4] Ara V.Nefian and Monson H.Hayes III, Face detection and recognition usingHidden Markov Models, Center for Signal and Image Processing, School ofElectrical and Computer Engineering, Georgia Institute of Technology, Atlanta.[5] Ara V.Nefian and Monson H.Hayes III, Hidden Markov Models for facerecognition, Center for Signal and Image Processing, School of Electrical andComputer Engineering, Georgia Institute of Technology, Atlanta.

- Xem thêm -

Tài liệu liên quan

Bình luận