HAC là thuật toán phân cụm cây phân cấp có tính gia tăng cao và tạo ra được một cây phân cấp dựa theo yếu tố nào đó, theo hướng tiếp cận này khóa luận sẽ áp dụng phương pháp phân cụm HAC
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Bùi Thế Duy
Hà Nội – 2014
Trang 3LỜI CẢM ƠN
Trước tiên, em xin gửi lời cảm ơn chân thành và sự biết ơn sâu sắc tới thầy giáo hướng dẫn, PGS.TS Bùi Thế Duy đã tận tình hướng dẫn em trong suốt quá trình thực hiện khoá luận tốt nghiệp, cách đặt ra các câu hỏi nghiên cứu, hiểu các vấn đề, và viết báo cáo một cách khoa học
Em xin chân thành cảm ơn sâu sắc tới các anh chị, thầy cô trong phòng tương tác người máy đã luôn tận tình chỉ bảo, giải quyết những vấn đề vướng mắc
Em xin bày tỏ lời cảm ơn sâu sắc tới các thầy cô giáo trong trường Đại học Công Nghệ, những người thầy, cô đã tận tình giảng dạy và truyền đạt cho em những kiến thức, những kinh nghiệm quý báu trong suốt quá trình học tập và rèn luyện ở Trường
Con xin bày tỏ lòng chân thành và biết ơn tới cha mẹ, anh chị, những người trong gia đình và bạn bè đã luôn ở bên cạnh con những lúc khó khăn nhất, giúp con vượt qua khó khăn trong học tập cũng như trong cuộc sống
Hà nội, ngày 2 tháng 09 năm 2014
Học viên
Cù Việt Dũng
Trang 4Lời cam đoan
Tôi xin cam đoan:
Những kết quả nghiên cứu được trình bày trong luận văn là hoàn toàn trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật Việt
Nam Nếu sai, tôi xin chịu hoàn toàn trách nhiệm trước pháp luật
TÁC GIẢ LUẬN VĂN
Cù Việt Dũng
Trang 5MỤC LỤC
Trang
Lời cam đoan 3
MỤC LỤC 4
Danh mục các ký hiệu và chữ viết tắt 6
Danh mục các bảng 7
Danh mục các hình vẽ, đồ thị 8
LỜI MỞ ĐẦU 9
CHƯƠNG 1: TỔNG QUAN 10
1.1 Giới thiệu 10
1.2 Phát biểu bài toán 11
1.2.1 Quy trình xử lý 11
1.2.2 Những khó khăn, thách thức 12
1.3 Một số phương pháp xác định khuôn mặt 12
1.3.1 Hướng tiếp cận dựa trên tri thức 13
1.3.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi 14
1.3.3 Hướng tiếp cận dựa trên so khớp mẫu 16
1.3.4 Hướng tiếp cận dựa trên diện mạo 17
1.4 Kết luận chương 1 17
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 18
2.1 Phát hiện khuôn mặt 18
2.1.1 Các đặc trưng giống Haar 18
2.1.2 Phương pháp Adaboost 20
2.2 Tổng quan về các phương pháp trích rút đặc trưng 22
2.2.1 Phương pháp trích chọn đặc trưng hình học 23
2.2.2 Phương pháp trích chọn đặc trưng diện mạo 23
2.3 Phương pháp phân tích thành phần chính 24
2.3.1 Sơ lược đại số tuyến tính 24
2.3.2 Phân tích thành phần chính - PCA 25
2.4 Mô hình diện mạo tích cực 28
Trang 62.4.1 Hình dáng và các điểm mốc 28
2.4.2 Căn chỉnh hình dạng của tập huấn luyện 30
2.4.3 Huấn luyện mô hình 30
2.4.3.1 Huấn luyện mô hình hình dáng 31
2.4.3.2 Huấn luyện hình ảnh 31
2.4.3.3 So khớp 32
2.5 Giới thiệu về phân cụm 33
2.5.1 Khái niệm 33
2.5.2 Một số vấn đề trong phân cụm 35
2.5.3 Phân cụm phân cấp 36
2.6 Kết luận chương 2 37
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 38
3.1 Tổng quan hệ thống 38
3.2 Phát hiện khuôn mặt 40
3.3 Trích rút đặc trưng 41
3.3.1 Phân tích thành phần chính 42
3.3.2 Mô hình diện mạo tích cực 44
3.4 Xác định khuôn mặt chung nhất 45
3.5 Kết luận chương 3 46
CHƯƠNG 4: THỬ NGHIỆM VÀ KẾT QUẢ ĐẠT ĐƯỢC 47
4.1 Cơ sở dữ liệu khuôn mặt thử nghiệm 47
4.2 Một số thực nghiệm 48
4.3 Kết luận chương 4 54
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 55
TÀI LIỆU THAM KHẢO 56
Trang 7Danh mục các ký hiệu và chữ viết tắt
CSDL Cơ sở dữ liệu
ASM Active Shape Model
PCA Principal Component Analysis
Trang 8Danh mục các bảng
Bảng 2.1: Tham số dữ liệu thuộc tính nhị phân 35
Trang 9Danh mục các hình vẽ, đồ thị
Hình 2.1: Bốn đặc trưng Haar-like cơ bản 18
Hình 2.2: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở 18
Hình 2.3: Cách tính Integral Image của ảnh 19
Hình 2.4: Cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh 19
Hình 2.5: Cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các đặc trưng xoay 45o 20
Hình 2.6: Thuật toán Adaboost 21
Hình 2.7: Hình dạng và biểu diễn của hình dạng trong mô hình 29
Hình 2.8: Vị trí 68 điểm mốc trên khuôn mặt 29
Hình 2.9: Thuật toán gióng hàng tập huấn luyện 30
Hình 2.10: Quy trình huấn luyện mô hình hình dáng 31
Hình 2.11: Thuật toán so khớp hình dáng khuôn mặt 32
Hình 3.1: Sơ đồ tổng quát của hệ thống 38
Hình 3.2: Mã giả thuật toán tổng quát của hệ thống 39
Hình 3.3: Giao diện chính của hệ thống 40
Hình 3.4: Giao diện kết quả sau khi xác định được khuôn mặt chung nhất 40
Hình 3.5: Giao diện kết quả phát hiện khuôn mặt 41
Hình 3.6: Chuyển ảnh khuôn mặt sang vector 42
Hình 3.7: Tập ảnh khuôn mặt sau khi chuẩn hóa cùng kích thước 43
Hình 3.8: Thuật toán so khớp khuôn mặt 44
Hình 3.9: Thuật toán phân cụm phân cấp 45
Hình 4.1: Ví dụ một tập cơ sở dữ liệu tự xây dựng 47
Hình 4.2: Tập ảnh đầu vào thực nghiệm 1 48
Hình 4.3: Khuôn mặt chung nhất trong thực nghiệm 1 48
Hình 4.4: Kết quả của hệ thống trong thực nghiệm 1 - PCA 49
Hình 4.5: Kết quả của hệ thống trong thực nghiệm 1 - ASM 49
Hình 4.6: Tập ảnh đầu vào thực nghiệm 2 50
Hình 4.7: Khuôn mặt chung nhất trong thực nghiệm 2 50
Hình 4.8: Kết quả của hệ thống trong thực nghiệm 2 - PCA 51
Hình 4.9: Kết quả của hệ thống trong thực nghiệm 2 - ASM 51
Hình 4.10: Tập ảnh đầu vào thực nghiệm 3 52
Hình 4.11: Khuôn mặt chung nhất trong thực nghiệm 3 52
Hình 4.12: Kết quả của hệ thống trong thực nghiệm 3 - PCA 53
Hình 4.13: Kết quả của hệ thống trong thực nghiệm 3 - ASM 53
Trang 10LỜI MỞ ĐẦU
Hiện nay thế giới có hàng trăm mạng mạng xã hội khác nhau như MySpace và Facebook nổi tiếng trong thị trường Bắc Mỹ và Tây Âu; Orkut và Hi5 tại Nam Mỹ; Friendster tại Châu Á và các đảo quốc Thái Bình Dương Một số mạng xã hội khác đã gặt hái được thành công đáng kể theo vùng miền như Bebo tại Anh Quốc, CyWorld tại Hàn Quốc, Mixi tại Nhật Bản Ở Việt Nam xuất hiện rất nhiều các mạng xã hội như: Facebook, Zing Me, YuMe, Tamtay được đông đảo các bạn trẻ và mọi người trong nước tin dùng Với số lượng mạng xã hội đông đảo như thế, lượng thông tin dữ liệu thu được là khổng lồ Trong lượng thông tin khổng lồ này, có một lượng lớn là hình ảnh Một minh chứng rõ nhất là mạng xã hội facebook, cho đến nay đã có hàng trăm tỷ bức hình trong cơ sở dữ liệu Việc tìm ra thông tin hữu ích trên lượng dữ liệu hình ảnh lớn như vậy sẽ rất cấp thiết
Nhiều thông tin được chia sẻ trên mạng xã hội thể hiện bằng các hình ảnh cung cấp cho người dùng về thông tin của người, phong cảnh mang nhiều phong cách của từng cá nhân Mọi người thường chia sẻ hình ảnh cá nhân trên các trang mạng xã hội
để chia sẻ chúng với gia đình, người thân, bạn bè và người quen Tuy nhiên, mỗi khi một người dùng muốn tìm hiểu thông tin về một ai đó gặp phải vấn đề phải tìm thông tin về người đó rất khó khăn (tốn thời gian và nhiều khi không tìm được) Lý do của việc này là lượng ảnh trên mạng xã hội quá nhiều và tăng nhanh hàng ngày
Với một tập ảnh cho trước, mỗi bức ảnh có thể có một hay nhiều hơn một khuôn mặt gây ra nhiều khó khăn cho người dùng có thể xác định chủ thể trong tập ảnh đó một cách nhanh nhất Do đó, chúng ta nên cần một hệ thống có thể giúp gom các đối tượng khuôn mặt về cùng một cụm (theo một độ đo tương tự nào đó) trong một tập dữ liệu ảnh có một hay nhiều khuôn mặt trong bức ảnh là vô cùng cần thiết Từ đó xác định được khuôn mặt chung nhất trong tập ảnh Với sự cần thiết đó tác giả chọn đề tài
“Nghiên cứu và xây dựng hệ thống xác định khuôn mặt chung nhất trong tập ảnh số” Nội dung khóa luận gồm có 4 chương:
Chương 1: Tổng quan, giới thiệu và phát biểu bài toán, nêu một số hướng tiếp cận trong việc phát hiện khuôn mặt trong ảnh
Chương 2: Cơ sở lý thuyết, giới thiệu cơ sở lý thuyết một số phương pháp liên quan trong bài toán
Chương 3: Xây dựng hệ thống, trình bày về xây dựng hệ thống giải quyết bài toán
Chương 4: Thử nghiệm và kết quả đạt được, trình bày về cơ sở dữ liệu thực nghiệm và kết quả thử nghiệm, đánh giá thử nghiệm
Trang 11CHƯƠNG 1: TỔNG QUAN 1.1 Giới thiệu
Thông thường để lưu trữ thông tin, dữ liệu về một nội dung, sự vật, sự việc nào
đó thì người ta thường chọn sử dụng dạng lưu trữ kiểu văn bản Nhưng lưu trữ dữ liệu bằng văn bản nhiều khi không thể phản ánh đầy đủ, chân thực về đối tượng được miêu
tả và nhiều khi đó chỉ là do cảm nhận chủ quan của mình người viết Vì vậy kết hợp với lưu trữ dữ liệu dạng văn bản người ta còn sử dụng lưu trữ dữ liệu dạng ảnh Khối lượng dữ liệu dạng ảnh ngày càng trở nên khổng lồ nhất là khi hiện nay các thiết bị thu nhận ảnh số ngày càng trở nên phổ biến với giá cả phù hợp Khi ta có nhu cầu tìm kiếm một vài bức ảnh trong một kho dữ liệu ảnh có thể lên tới vài trăm nghìn bức ảnh
để minh họa cho một đề tài nào đó, thì tuyệt đối không phải là chuyện đơn giản nếu chúng ta tìm kiếm một cách thủ công tức là xem lần lượt từng bức ảnh cho tới khi ta tìm thấy được bức ảnh có nội dung cần tìm Song song với sự phát triển của các phương tiện kỹ thuật số trong tương lai số lượng ảnh sẽ còn tăng hơn nữa nhiều hơn nữa Nhu cầu chia sẻ hình ảnh cá nhân của đa số mọi người trên thế giới và Việt Nam
là rất lớn làm cho lượng hình ảnh khuôn mặt ngày càng tăng nhanh Trên các trang mạng xã hội, mỗi cá nhân đều có một số lượng hình ảnh lớn của bản thân và nhu cầu kết bạn chia sẻ là rất lớn nên gặp khó khăn trong việc tìm hiểu thông tin bạn bè Do vậy nhu cầu thật sự đòi hỏi phải có một công cụ hỗ trợ tìm kiếm ảnh chính xác và hiệu quả giúp cho người dùng có thể xác định được người mình muốn làm quen là ai, thông
tin liên quan đến bạn bè Vì vậy tác giả chọn đề tài “Nghiên cứu và xây dựng hệ thống xác định khuôn mặt chung nhất trong tập ảnh số” góp phần giải quyết và
đáp ứng nhu cầu này
Khi tìm kiếm thông tin, ở đây là thông tin chủ nhân của tập ảnh gồm lượng lớn hình ảnh, hình ảnh có thể chỉ là phong cảnh, có một người hay một tập thể gồm nhiều người khác nhau thì chúng ta không thể giải quyết bằng cách tìm kiếm tuần tự được Tác giả giải quyết vấn đề này bằng cách sử dụng một thuật toán phân cụm Cụm dữ liệu nào có số lượng lớn nhất đảm bảo rằng đấy cá nhân xuất hiện nhiều nhất trong tập ảnh cho trước Phân cụm là bài toán cổ điển đã được nhiều người nghiên cứu trước đây, nhưng nó vẫn có vai trong quan trọng và cần thiết trong nghiên cứu khai phá dữ liệu cũng như trong nhiều lĩnh vực đời sống: thương mại, sinh học, phân tích dữ liệu không gian Đề tài này nghiên cứu phân cụm ảnh thành từng cụm rồi trích chọn khuôn mặt có trong cụm có số lượng lớn nhất, dựa vào đó ta có thể tra cứu xác định khuôn mặt chung nhất một cách nhanh chóng và chính xác từ một cơ sở dữ liệu ảnh cho trước Có nhiều phương pháp phân cụm khác nhau như K-Means, Hierarchical Agglomerative Clustering (HAC) Mỗi phương pháp có những ưu điểm, thế mạnh riêng, và có yêu cầu riêng về cách biểu diễn dữ liệu, độ đo So sánh các thuật toán
Trang 12khác nhau ở các phạm vi khác nhau là không đơn giản, do vậy việc đánh giá thường dựa vào chất lượng kết quả phân cụm HAC là thuật toán phân cụm cây phân cấp có tính gia tăng cao và tạo ra được một cây phân cấp dựa theo yếu tố nào đó, theo hướng tiếp cận này khóa luận sẽ áp dụng phương pháp phân cụm HAC để phân cụm dữ liệu sau đó tìm ra cá nhân xuất hiện nhiều nhất trong kho ảnh cho trước bằng cách xác định cụm có số lượng khuôn mặt nhiều nhất
1.2 Phát biểu bài toán
Hệ thống xác định khuôn mặt người là một hệ thống nhận đầu vào là một tập ảnh có thể chứa nhiều khuôn mặt trong ảnh Qua quá trình xử lý tính toán hệ thống xác định được vị trí mặt người trong ảnh (nếu có) và xác định người nào là xuất hiện nhiều nhất trong số những người hệ thống tách được
- Ảnh với màu tự nhiên chiếu sáng và độ đậm đều (không quá tối và không quá sáng)
- Kích thước của khuôn mặt không quá lớn hoặc quá nhỏ
- Khuôn mặt phải được chụp trực diện, mắt mở tự nhiên
- Không có vật gì che khuôn mặt: mũ, khăn, tóc
Trích rút đặc trưng
Giai đoạn này là tìm ra các đặc trưng chính của khuôn mặt, từ các đặc trưng này hình thành các véc tơ đặc trưng, các vectơ này được sử dụng để đối sánh sự giống nhau giữa ảnh khuôn mặt cần tìm để phân cụm xác định khuôn mặt chung nhất giữa các bức ảnh
Xác định khuôn mặt chung nhất
Từ các đặc trưng đã trích chọn ở trên tác giả áp dụng một thuật toán phân cụm là phân cụm phân cấp để phân cụm các khuôn mặt nhóm các khuôn
Trang 13mặt giống nhau về cùng một cụm Khoảng cách Euclide được áp dụng để tính toán khoảng cách giữa các đặc trưng được trích rút cho ta biết được sự giống nhau của các khuôn mặt Cụm có số lượng lớn nhất chứa khuôn mặt chung nhất trong tập ảnh
1.2.2 Những khó khăn, thách thức
Những bài toán liên quan đến xử lý khuôn mặt là một trong những bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt được kết quả mong muốn Chính vì vậy vấn đề này vẫn đang được nhiều nhóm tác giả trên thế giới quan tâm nghiên cứu Những khó khăn, thách thức của bài toán có thể kể đến như sau:
Tư thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc
chụp giữa camera và khuôn mặt Chẳng hạn như: chụp thẳng, chụp nghiêng bên trái , hay nghiêng bên phải , chụp từ trên xuống, chụp từ dưới lên, Với các tư thế khác nhau, các thành phần trên khuôn mặt như mắt, mũi, miệng có thể bị khuất một phần hoặc thậm chí khuất hết
Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặ trưng
như: râu mép, râu hàm, mắt kính, có thể xuất hiện hoặc không Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều
Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt người có thể làm ảnh
hưởng đáng kể lên các thông số của khuôn mặt Chẳng hạn, cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi,
Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc các
khuôn mặt khác
Hướng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các góc
quay khác nhau của trục camera Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh
Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về: chiếu
sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v ) ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt
Những khó khăn đã nêu trên cho chúng ta thấy tầm quan trọng của giai đoạn dò tìm khuôn mặt có sự ảnh hưởng rất lớn tới hiệu quả của các giai đoạn sau đó là trích rút đặc trưng và xác định khuôn mặt chung nhất
1.3 Một số phương pháp xác định khuôn mặt
Dựa vào tính chất của các phương pháp xác định mặt người trong các bức ảnh,
các phương pháp này được chia thành bốn loại chính, tương ứng với bốn hướng[1] tiếp
cận khác nhau Ngoài ra cũng có rất nhiều nghiên cứu mà phương pháp xác định mặt người không chỉ dựa vào một hướng mà có liên quan đến nhiều hướng
Trang 14 Hướng tiếp cận dựa trên tri thức: Dựa vào sự hiểu biết của con người về các loại khuôn mặt để mã hóa các đặc trưng và quan hệ giữa các đặc trưng của khuôn mặt thành các luật
Hướng tiếp cận dựa trên đặc trưng không thay đổi: Các thuật toán trong hướng tiếp cận này thương tìm các đặc trưng của khuôn mặt mà các đặc trưng này không thay đổi khi tư thế khuôn mặt, vị trí đặt thiết bị hay điều kiện ánh sáng
bị thay đổi
Hướng tiếp cận dựa trên so sánh khớp mẫu: Dùng các mẫu chuẩn của khuôn mặt người (các mẫu này đã được chọn lựa và lưu trữ) để mô tả cho các khuôn mặt hay các đặc trưng của khuôn mặt (các mẫu này được chọn tách biệt theo tiêu chuẩn đã được các tác giả đề ra để so sánh) Phương pháp này cho ta thấy các mối tương quan giữa dữ liệu ảnh đưa vào và các mẫu dùng để xác định khuôn mặt người
Hướng tiếp cận dựa trên diện mạo: Trái ngược hẳn với hướng tiếp cận dựa trên
so khớp mẫu, các mô hình (hay các mẫu) sẽ được học từ một tập ảnh huấn luyện trước đó theo một phương pháp học nào đó thể hiện tính chất tiêu biểu của sự xuất hiện của mặt người trong ảnh Sau đó hệ thống (mô hình) sẽ xác định khuôn mặt người Phương pháp này còn được biết đến với tên gọi tiếp cận theo các phương pháp học máy
1.3.1 Hướng tiếp cận dựa trên tri thức
Trong hướng tiếp cận này, các phương pháp xác định mặt người được xây dựng dựa vào các luật, các luật này phụ thuộc vào tri thức của các tác giả nghiên cứu về bài toán xác định khuôn mặt Có thể xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn mặt và các quan hệ tương ứng Ví dụ, một khuôn mặt thường có hai mắt đối xứng qua trục thẳng đứng giữa khuôn mặt và có một mũi một miệng Các quan hệ đặc trưng có thể là quan hệ về vị trí và khoảng cách tương đối Khó khăn của hướng tiếp cận này đó là làm thế nào để chuyển các tri thức của con người về khuôn mặt sang các luật cho máy tính một cách hiệu quả Nếu các luật này quá chi tiết, chặt chẽ thì sẽ có thể xác định thiếu các khuôn mặt có trong ảnh, nhưng nếu các luật quá tổng quát thì sẽ dẫn đến xác định sai khu vực không phải là khuôn mặt thành khuôn mặt Ngoài ra cũng khó để mở rộng phạm vi của bải toán để xác định các khuôn mặt có nhiều tư thế khác nhau
Có nhiều cách để xây dựng chương trình xác định mặt người theo hướng tiếp cận dựa trên tri thức Thông thường chương trình sẽ được xây dựng theo hướng dựa vào một phương pháp nào đấy chọn ra các ứng viên trong bức ảnh trước, sau đó sẽ áp dụng các luật để xác định ứng viên nào là khuôn mặt, ứng viên nào không phải là khuôn mặt Quá trình này có thể được áp dụng nhiều lần để giảm sai sót Các luật được
Trang 15xây dựng dựa vào tri thức của người nghiên cứu về các đặc trưng của khuôn mặt (ví
dụ như cường độ phân phối, sự khác nhau) của vùng trên khuôn mặt
Yang và Huang đã sử dụng hướng tiếp cận dựa trên tri thức để xác định khuôn
mặt [2] Hệ thống của hai tác giả bao gồm ba mức luật Đầu tiên các ông sử dụng một
khung cửa sổ để quét trên bức ảnh và thông qua một số tập luật để xác định các ứng
viên có thể là mặt người, ví dụ như tìm phần trung tâm của khuôn mặt (phần tối hơn
trong hình 1.1) Tiếp theo, dùng một tập luật để mô tả tổng quát hình dáng khuôn mặt,
lọc các ứng viên ở mức một thành một tập các ứng viên mới có xác xuất là khuôn mặt
cao hơn Cuối cùng lại dùng một tập luật khác để xem xét ở mức chi tiết các đặc trưng
khuôn mặt ( có thể là đặc trưng về mắt, mũi, miệng … ), từ đó lọc ra các ứng viên
chính xác nhất Có thể nói cách làm của hai tác giả là một cách làm mịn dần để đạt
được kết quả tốt nhất, mặc dù tỷ lệ chính xác chưa cao, nhưng đây là tiền đề cho nhiều
nghiên cứu sau này
Kotropoulos và Pitas đưa ra một phương pháp gần tương tự với Yang và Huang
dùng trên độ phân giải thấp Đầu tiên, các vùng của khuôn mặt được định vị bởi
phương pháp chiếu để xác định biên của khuôn mặt Với I(x,y) là giá trị xám của một
điểm trong ảnh có kích thước m x n ở tại vị trí (x,y), các hàm để chiếu ảnh theo
phương ngang và thẳng đứng được định nghĩa như sau:
HI(x) = và VI(y) = (1.1)
Dựa trên biểu đồ hình chiếu ngang, khi xét biểu đồ biến thiên của HI hai ông tìm
được hai cực tiểu địa phương tương ứng với hai đỉnh đầu bên trái và bên phải của
khuôn mặt Còn theo hình chiếu dọc, xét biến thiên và tìm cực tiểu địa phương của VI
cũng cho ta các vị trí của miệng, đỉnh mũi và hai mắt Các đặc trưng này đủ để xác
định khuôn mặt Cách xác định này có tỷ lệ xác định chính xác là 86.5% cho trường
hợp chỉ có một khuôn mặt thẳng trong ảnh và hình nền không phức tạp Nếu hình nền
phức tạp thì rất khó tìm Còn nếu ảnh có nhiều khuôn mặt thì sẽ không xác định được
1.3.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi
Tiếp cận dựa trên các đặc trưng không thay đổi là tiếp cận theo kiểu bottom up
Dựa trên thực tế, chúng ta cố gắng tìm ra những đặc điểm không thay đổi khi của
khuôn mặt khi ở các tư thế khác nhau và các điều kiện môi trường như ánh sáng khác
nhau Đã có rất nhiều nghiên cứu về hướng tiếp cận này, các đặc điểm không thay đổi
được tìm thấy như lông mày, mắt, mũi, miệng hay các đường viền trên tóc … Trên cơ
sở các đặc trưng này, các nhà nghiên cứu xây dựng lên một mô hình thống kê mô tả
quan hệ của các đặc trưng và từ đó xác định sự xuất hiện của khuôn mặt trong bức ảnh
Khó khăn của hướng tiếp cận này đó là phải mô tả các đặc trưng không thay đổi và
quan hệ giữa chúng phù hợp với điều kiện ánh sáng, độ nhiễu hay bị che khuất
Trang 16Có rất nhiều nghiên cứu về các đặc trưng của khuôn mặt Có thể dựa vào các đặc trưng như hai mắt, hai lỗ mũi, miệng, phần nối giữa mũi và miệng … hoặc dựa vào đường viền của khuôn mặt
Leung đã đưa ra một mô hình xác xuất để xác định khuôn mặt trong ảnh có hình nền phức tạp dựa trên việc tìm kiếm các đặc trưng không thay đổi của khuôn mặt trong ảnh, sau đó dùng đồ thị ngẫu nhiên để xác định khuôn mặt Tư tưởng của phương pháp này đó là xem bài toán xác định khuôn mặt như là bài toán tìm kiếm với mục tiêu là tìm thứ tự các đặc trưng không thay đổi của khuôn mặt Dùng năm đặc trưng (hai mắt, hai lỗ mũi, phần nối giữa mũi và miệng) để mô tả một khuôn mặt Đồng thời tính quan
hệ khoảng cách cho tất cả các cặp đặc trưng (như mắt trái, mắt phải), sau đấy dùng phân bố Gauss để mô hình hóa Một mẫu khuôn mặt được đưa ra thông qua trung bình tương ứng cho một tập đa hướng, đa tỷ lệ của bộ lọc đạo hàm Gauss Từ một ảnh, các đặc trưng của ứng viên được xác định bằng cách so khớp từng điểm ảnh khi lọc tương ứng với vector mẫu Hai ứng viên có đặc trưng đứng đầu sẽ được chọn để tìm kiếm cho các đặc trưng khác của khuôn mặt Từ các đặc trưng không thay đổi, các đặc trưng khác sẽ được xác định thông qua sự đánh giá xác xuất khoảng cách giữa các đặc trưng, hơn nữa phương sai của phép thống kê này có thể được tính toán trước để xác định các đặc trưng với xác xuất lớn
Bên cạnh tính khỏang cách liên quan để mô tả quan hệ giữa các đặc trưng như Leung Kendall [3], Mardia and Dryden [4] dùng lý thuyết xác suất thống kê về hình dáng Dùng hàm mật độ xác suất (Probility Density Function - PDF) qua N điểm đặc trưng, tương ứng (xi, yi) là đặc trưng thứ i với giả sử là phân bố Gauss có 2N-chiều Các tác giả áp dụng phương thức cực đại khả năng (Maximum-Likelihood - ML) để xác định vị trí khuôn mặt Một thuận lợi của phương pháp này là các khuôn mặt bị che khuất vẫn có thể xác định được Hạn chế phương pháp này đó là không xác định được nhiều khuôn mặt trong cùng một ảnh
Không dùng phương pháp xác xuất, Sirohey đưa một phương pháp khác xác định khuôn mặt từ một ảnh có hình nền phức tạp [5] Phương pháp dựa trên cạnh Dùng phương pháp Candy [6] và heuristics loại bỏ các cạnh để còn lại duy nhất một đường bao xung quanh khuôn mặt Một hình ellipse dùng để bao khuôn mặt, tách biệt vùng đầu và hình nền Tỷ lệ chính xác của thuật toán là 86%
Graf đưa ra một phương pháp xác định đặc trưng rồi xác định khuôn mặt trong ảnh xám [7] Dùng bộ lọc để làm nổi các biên, các phép toán hình thái học (morphology) được dùng để làm nổi bật các vùng có cường độ cao và hình dáng chắc chắn (như mắt) Thông qua histogram để tìm các đỉnh nổi bật để xác định các ngưỡng chuyển ảnh xám thành hai ảnh nhị phân Các thành phần dính nhau đều xuất hiện trong hai ảnh nhị phân thì được xem là vùng của ứng viên khuôn mặt rồi phân loại xem có phải là khuôn mặt không Phương pháp được kiểm tra trên các ảnh chỉ có đầu
Trang 17và vai của người Tuy nhiên phương pháp này còn một vấn đề đấy là sử dụng các phép toán morphology như thế nào và làm sao xác định khuôn mặt trên các vùng ứng viên Park dùng Gaze để tìm ứng viên góc mắt, miệng và tâm mắt [8] Ông xây dựng SVM (Support Vector Machine) đã được học trước đó để xác định các vị trí ứng viên
có phải là góc mắt, miệng, và tâm mắt hay không để theo vết con mắt người
1.3.3 Hướng tiếp cận dựa trên so khớp mẫu
Trong hướng tiếp cận dựa trên so sánh khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc được biểu diễn thành một hàm với các tham số cụ thể Từ một ảnh đưa vào, tính các giá trị tương quan
so với các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng Thông qua các giá trị tương quan này mà hệ thống sẽ quyết định có hay không có tồn tại khuôn mặt trong ảnh Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ
Craw đưa ra một phương pháp xác định khuôn mặt người dựa vào các mẫu về hình dáng của các ảnh được chụp thẳng (dùng vẻ bề ngoài của hình dáng khuôn mặt) Đầu tiên dùng phép lọc Sobel (Phép lọc Sobel dựa vào tích vô hướng của hai vector gradient) để tìm các cạnh Các cạnh này sẽ được nhóm lại theo một số ràng buộc Sau
đó, tìm đường viền của đầu, quá trình tương tự được lặp đi lặp lại với mỗi tỷ lệ khác nhau để xác định các đặc trưng khác như: mắt, lông mày, và môi Sau đó Craw mô tả một phương thức xác định dùng một tập có 40 mẫu để tìm các đặc trưng khuôn mặt
và điều khiển chiến lược dò tìm
Một số nhà nghiên cứu sử dụng hình chiếu như các mẫu để xác định khuôn mặt người Silhouettes dùng Principal Component Analysis [10] (phân tích thành phần chính – Principal Component Analysis - PCA) để có một tập hình chiếu cơ bản từ các mẫu khuôn mặt, hình chiếu được mô tả như một mảng các bit Dùng đặc trưng hình chiếu riêng kết hợp biến đổi Hough để xác định khuôn mặt người Sau đó một phương pháp xác định dựa trên đa loại mẫu để xác định các thành phần của khuôn mặt được trình bày Phương pháp này định nghĩa một số giả thuyết để mô tả các khả năng của các đặc trưng khuôn mặt
Trang 181.3.4 Hướng tiếp cận dựa trên diện mạo
Trái ngược với hướng tiếp cận dựa trên so sánh khớp mẫu (các mẫu đã được các nhà nghiên cứu định nghĩa trước), các mẫu trong hướng tiếp cận này được học từ một tập ảnh mẫu Có thể nói hướng tiếp cận dựa trên diện mạo áp dụng các kỹ thuật theo hướng xác suất thống kê và học máy để tìm những đặc tính liên quan của khuôn mặt
và không phải là khuôn mặt Các đặc tính đã được học ở trong hình thái các mô hình phân bố hay các tham số của một hàm số nên có thể dùng các đặc tính này để xác định khuôn mặt người Đồng thời, bài toán giảm số chiều thường được quan tâm để tăng hiệu quả tính toán cũng như hiệu quả xác định
Trong hướng tiếp cận này, phương pháp xác xuất tiếp tục được nhiều nhà nghiên cứu sử dụng Một bức ảnh hoặc một vector (đặc trưng cho bức ảnh) được xem như một biến ngẫu nhiên Biến ngẫu nhiên này sẽ được xác định là có mô tả các đặc tính của khuôn mặt hay không thông qua các xác xuất có điều kiện p(x/face) và p(x/nonface)
Có thể dùng bộ phân loại Bayesian để phân loại các ứng viên là khuôn mặt hay không phải khuôn mặt Tuy nhiên, việc cài đặt bộ phân loại Bayesian với số chiều x lớn là một điều khá khó khăn, do đó có rất nhiều nghiên cứu theo hướng tiếp cận này quan tâm tới việc tham số hóa hay không tham số các xác xuất p(x/face) và p(x/nonface) Một các tiếp cận khác trong hướng tiếp cận dựa trên diện mạo là tìm một hàm biệt số ví dụ như các hàm mô tả mặt phẳng hay siêu phẳng quyết định (các ranh giới)
để phân biệt hai lớp khuôn mặt và không phải khuôn mặt Thông thường, một bức ảnh được chiếu vào không gian có số chiều ít hơn rồi sau đó dùng một hàm biệt số (dựa trên các độ đo khoảng cách) để phân loại hoặc xây dựng một mặt quyết định phi tuyến bằng mạng neural đa tầng Ngoài ra có thể dùng SVM (Super Vector Machine)[11] chiếu các mẫu vào không gian có số chiều cao hơn để dữ liệu bị rời rạc hoàn toàn và từ
đó có thể sử dụng mặt phẳng phân loại để phân loại các mẫu là khuôn mặt hay không phải là khuôn mặt
1.4 Kết luận chương 1
Trong chương này, tác giả đã phát biểu và đặt vấn đề cho bài toán Bên cạnh đó, tác giả cũng phân tích: những ưu, nhược điểm, các khó khăn thách thức của lớp bài toán đã đặt ra trong luận văn Để giải quyết yêu cầu đặt ra của luận văn, tác giả đi sâu nghiên cứu và giải quyết hai vấn đề chính: Vấn đề thứ nhất, giới thiệu trình tự các
bước giải quyết cho lớp bài toán Vấn đề thứ hai, nghiên cứu và xây dựng ứng dụng
hệ thống xác định khuôn mặt chung nhất trong một tập ảnh cho trước
Trang 19CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Trong chương này tác giả sẽ trình bày tổng quan lý thuyết để giải quyết bài toán
bao gồm lý thuyết thuật toán, phương pháp của các giai đoạn như phát hiện khuôn mặt,
trích rút đặc trưng, và xác định khuôn mặt chung nhất trong tập ảnh cho trước
2.1 Phát hiện khuôn mặt
2.1.1 Các đặc trưng giống Haar
Viola và Jones dùng 4 đặc trưng cơ bản [18] để xác định khuôn mặt người Mỗi
đặc trưng Haar–like là sự kết hợp của hai hay ba hình chữ nhật "trắng" hay "đen" như
trong hình sau:
Hình 2.1: Bốn đặc trưng Haar-like cơ bản
Để áp dụng các đặc trưng này vào việc bài toán xác định mặt người, 4 đặc trưng
Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:
1 Đặc trưng cạnh (edge features):
2 Đặc trưng đường (line features):
3 Đặc trưng xung quanh tâm (center-surround features):
Hình 2.2: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở
Lợi ích của các đặc trưng Haar-like là nó diễn đạt được tri thức về các đối tượng
trong ảnh (bởi vì nó biểu diễn mối liên hệ giữa các bộ phận của đối tượng), điều mà
bản thân từng điểm ảnh không diễn đạt được Để tính giá trị các đặc trưng haar-like, ta
tính sự chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng như
trong công thức sau:
f(x) = Tổngvùng đen (pixel) - Tổng vùng trắng (pixel) (2.1)
Trang 20Như vậy ta có thể thấy rằng, để tính các giá trị của đặc trưng Haar-like, ta phải
tính tổng của các vùng pixel trên ảnh Nhưng để tính toán các giá trị của các đặc trưng
Haar-like cho tất cả các vị trí trên ảnh đòi hỏi chi phí tính toán khá lớn, không đáp ứng
được cho các ứng dụng đòi hỏi tính run-time Do đó Viola và Jones đưa ra một khái
niệm gọi là Integral Image để tính toán nhanh cho khác feature cơ bản Sau này,
Lienhart kế thừa gọi Integral Image là SAT – Summed Area Table và đưa ra thêm khái
niệm RSAT – Rotated Summed Area Table dùng để tính toán nhanh cho các đặc trưng
xoay 1 góc 45o Integral Image là một mảng 2 chiều với kích thước bằng với kích của
ảnh cần tính các đặc trưng Haar-like, với mỗi phần tử của mảng này được tính bằng
cách tính tổng của điểm ảnh phía trên (dòng-1) và bên trái (cột-1) của nó Bắt đầu từ vị
trí trên, bên trái đến vị trí dưới, phải của ảnh, việc tính toán này đơn thuần chỉ đựa trên
phép cộng số nguyên đơn giản, do đó tốc độ thực hiện rất nhanh
(2.2)
Hình 2.3: Cách tính Integral Image của ảnh
Sau khi đã tính được Integral Image, việc tính tổng điểm ảnh của một vùng bất
kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau: (Giả sử ta cần tính tổng điểm
ảnh của vùng D như trong hình 2.4:
D = A + B + C + D – (A+B) – (A+C) + A
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như
vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại điểm P1
Vậy ta có thể viết lại biểu thức tính D ở trên như sau:
Trang 21Hình 2.5: Cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các đặc trưng
Như vậy tổng các điểm ảnh trong một hình chữ nhật (kể cả trường hợp xoay 45º)
bất kì đều có thể được tính nhanh dựa trên integral image tại 4 đỉnh của nó :
Sum (D ) = 4 - 2 – 3 + 1
2.1.2 Phương pháp Adaboost
Như đã biết, AdaBoost [18] ( Adaptive Boost ) là một bộ phân loại mạnh phi
tuyến phức dựa trên hướng tiếp cận boosting được Freund và Schapire đưa ra vào năm
1995 Adaboost hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifier dựa
trên các đặc trưng Haar- Line để hình thành một strong classifier
Để có thể kết hợp các bộ phân loại yếu, adaboost sử dụng một trọng số (weight)
để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện, cứ mỗi weak
classifier được xây dựng, thuật toán sẽ tiến hành cập nhật lại trọng số để chuẩn bị cho
việc xây dựng weak classifier tiếp theo: tăng trọng số của các mẫu bị nhận dạng sai và
giảm trọng số của các mẫu được nhận dạng đúng bởi weak classifier vừa xây dựng
Bằng cách này, các weak classifier sau có thể tập trung vào các mẫu mà các weak
classifier trước đó chưa thực hiện tốt Sau cùng các weak classifier sẽ được kết hợp tùy
theo mức độ „tốt‟ của chúng để tạo nên một strong classifier
Các weak classifiers hk(x) là các bộ phân loại yếu, được biểu diễn như sau:
Trang 22Trong đó:
X : mẫu hay cửa sổ con cần xét ( X = (x1,x2,…,xn) là vector đặc trưng của mẫu)
Ok: ngưỡng (O = teta)
fk: giá trị của đặc trưng Haar-like
pk: hệ số quyết định chiều của bất phương trình
Công thức trên có thể diễn giải như sau: Nếu giá trị đặc trưng của mẫu cho bởi hàm đánh giá của bộ phân loại vượt qua một ngưỡng cho trước thì mẫu đấy là khuôn
mặt ( gọi là object : đối tượng cần nhận dạng ), ngược lại thì mẫu là background (
không phải là đối tượng )
Thuật toán AdaBoost:
Hình 2.6: Thuật toán Adaboost
1 Cho một tập gồm n mẫu có đánh dấu (x1,y1), (x2,y2),… (xn,yn) với xk ∈ (xk1, xk2, … , xkm) là vector đặc trưng và yk ∈ (-1, 1) là nhãn của mẫu (1
ứng với object, -1 ứng với background)
2 Khởi tạo trọng số ban đầu cho tất cả các mẫu: với m là số mẫu đúng (ứng với object và y = 1) và l là số mẫu sai (ứng với background và y =
: Hệ số dùng để đưa về đoạn [0,1] (normalization factor)
4 Strong classifier được xây dựng :
Trang 23Quá trình huấn luyện bộ phân loại được thực hiện bằng một vòng lặp mà ở mỗi
bước lặp, thuật toán sẽ chọn ra weak classifier ht thực hiện việc phân loại với lỗi εt nhỏ
nhất (do đó sẽ là bộ phân loại tốt nhất) để bổ sung vào strong classifier Mỗi khi chọn
được 1 bộ phân loại ht, Adaboost sẽ tính giá trị αt theo công thức ở trên αt cũng được
chọn trên nguyên tắc làm giảm thiểu giá trị lỗi εt
Hệ số αt nói lên mức độ quan trọng của ht:
Trong công thức của bộ phân loại H(x):
Sau khi tính được giá trị αt, Adaboost tiến hành cập nhật lại trọng số của các
mẫu: tăng trọng số các mẫu mà ht phân loại sai, giảm trọng số các mẫu mà ht phân loại
đúng Bằng cách này, trọng số của mẫu phản ánh được mức độ khó nhận dạng của
mẫu đó và ht+1 sẽ ưu tiên học cách phân loại những mẫu này
Vòng lặp xây dựng strong classifier sẽ dừng lại sau T lần lặp Trong thực tế cài
đặt (thư viện OpenCV của Intel), người ta ít sử dụng giá trị T vì không có công thức
nào đảm bảo tính được giá trị T tối ưu cho quá trình huấn luyện Thay vào đó, người ta
sử dụng giá trị max false positive hay max false alarm (tỉ lệ nhận dạng sai tối đa các
mẫu background) Tỉ lệ này của bộ phân loại cần xây dựng không được phép vượt quá
giá trị này Khi đó, qua các lần lặp, false alarm của strong classifier Ht(x) xây dựng
được (tại lần lặp thứ t) sẽ giảm dần, và vòng lặp kết thúc khi tỉ lệ này thấp hơn max
false alarm
2.2 Tổng quan về các phương pháp trích rút đặc trưng
Hiện nay có rất nhiều các phương pháp trích dẫn dữ liệu từ khuôn mặt, mỗi
phương pháp có những ưu nhược điểm và đặc điểm riêng nhưng theo cách
thức mà những phương pháp và hình thức của dữ liệu được trích dẫn thì chia ra làm 2
hướng tiếp cận chính:
Thứ nhất, hướng tiếp cận dựa trên đặc trưng hình học là hướng tiếp cận dựa vào
các bức ảnh trực diện khuôn mặt lấy từ khâu phát hiện khuôn mặt, trích chọn đặc trưng
Trang 24về hình học biểu diễn hình dáng, vị trí các phần của khuôn mặt như mắt, mũi, miệng, lông mày Cụ thể xác định một số các điểm đặc trưng trên khuôn mặt: 2 mống mắt, điểm chính giữa miệng, khóe miệng, một số các điểm khác ở vùng trán, mắt,…
Thứ hai, hướng tiếp cận dựa trên đặc trưng diện mạo là hướng tiếp cận dựa vào cấu trúc phân bổ của cường độ sáng của điểm ảnh trên bề mặt của bức ảnh để trích chọn các đặc trưng
Trong đó trích chọn đặc trưng diện mạo có ưu điểm là ít phức tạp hơn phương pháp trích chọn đặc trưng hình học, các khâu ít hơn nhưng độ chính xác thường thấp hơn Tùy thuộc vào yêu cầu hệ thống chúng ta có thể áp dụng các phương pháp khác nhau Tuy nhiên kết quả tối ưu nếu chúng ta áp dụng cả hai phương pháp trên xuất hiện phương pháp thứ ba là phương pháp lai giữa hai phương pháp sử dụng đặc trưng hình học và đặc trưng diện mạo
2.2.1 Phương pháp trích chọn đặc trưng hình học
Yang [11] đã phát triển một hệ thống thời gian thực để xác định và theo vết các điểm đặc trưng như mống mắt, khóe miệng hay lỗ mũi Phương pháp tìm kiếm 2 vùng mắt là 2 vùng tối nhất và sử dụng các điều kiện về hình học như vị trí bên trong mặt, kích thước và hình dáng để xác định Phương pháp dùng phép lặp lấy ngưỡng để phát hiện ra vùng tối nhất với điều kiện ánh sáng thay đổi Xác định lỗ mũi cũng tương tự như xác định 2 mống mắt
Phương pháp trên có một số những ưu điểm như thỏa mãn điều kiện thực thi với thời gian thực Một số phương pháp có thể áp dụng với những độ phân giải khác nhau (với cả độ phân giải thấp), tuy nhiên vẫn có trường hợp phát hiện ra lông mày thay vì mắt Tian [13] đã giải quyết vấn đề bằng cách phát hiện cả vùng mắt và lông mày Bằng cách đó, không chỉ trích chọn được thêm đặc trưng mà tỷ lệ chính xác còn được tăng lên Đối với xác định khóe miệng, trường hợp sai là khi miệng không ở trạng thái bình thường và phương pháp áp dụng đối với mặt trực diện hoặc gần trực diện
2.2.2 Phương pháp trích chọn đặc trưng diện mạo
Một dạng khác của trích chọn đặc trưng là trích trọn đặc trưng diện mạo để xác định những thay đổi trên khuôn mặt Đặc trưng về diện mạo biểu diễn sự thay đổi
vẻ bề ngoài: kết cấu da như các nếp nhăn trên khuôn mặt; biểu đồ nhiệt của khuôn mặt: các mẫu nhiệt khuôn mặt là duy nhất với mỗi người và đặc trưng về nụ cười Các đặc trưng về diện mạo có thể được trích rút trên cả khuôn mặt hoặc phần nào đó trên khuôn mặt Một số phương pháp tiểu biểu như : Principal component analysis (PCA) [10,14], Gabor Wavelet Analysis [19] và Local Binary Pattern [15, 16] và được áp dụng trên toàn bộ bề mặt bức ảnh hoặc một phần để trích ra các đặc trưng và phát hiện sự thay đổi của khuôn mặt
Trang 252.3 Phương pháp phân tích thành phần chính
2.3.1 Sơ lược đại số tuyến tính
Vector riêng, trị riêng và sự chéo hóa của ma trận
Cho A là một ma trận vuông cấp n trên trường K Một số K được gọi là giá
trị riêng của ma trận A nếu tồn tại vectơ u khác không n
uK , sao cho thỏa mãn điều kiện A u( ) u Khi đó vectơ u được gọi là vectơ riêng của ma trận A ứng với giá trị
riêng Ma trận A với kích thước n x n sẽ có tối đa n trị riêng và n vector riêng tương
Kết luận: u là vectơ riêng của ma trận A ứng với giá trị riêng – 7, còn v không là
vectơ riêng của ma trận A vì không tồn tại một số thực k nào thỏa Av = kv
Nếu tồn tại một cơ sở trong không gian Rn sao cho ma trận A biểu diễn trong cơ
sở đó có dạng chéo (các phần tử ngoài đường chéo bằng 0) thì ma trận A sẽ chéo hóa
được
Kỳ vọng và phương sai trong thống kê đa chiều
Đối với thống kê đa chiều, mỗi một mẫu thống kê là một vector đa
chiều Giả sử ta có một biến ngẫu nhiên X trong không gian tuyến tính n
chiều
X = [x1, x2,…, xn]T (2.8)
Khi đó kỳ vọng của biến ngẫu nhiên X cũng là một vector n chiều,
trong thống kê, kỳ vọng E[X] của biến ngẫu nhiên X có thể ước lượng bằng trung
bình mẫu , và được tính bằng công thức:
(2.9)
Trong đó: M là tổng số mẫu có trong thống kê
Ma trận hiệp phương sai
Trang 26Giá trị phương sai trong thống kê một chiều là độ đo mức độ phân tán của một
biến ngẫu nhiên xung quanh giá trị kỳ vọng
Trong thống kê đa chiều, khái niệm này được mở rộng thành ma trận hiệp
phương sai:
Ma trận hiệp phương sai là một ma trận đối xứng Mỗi phần tử của ma trận
là hiệp phương sai giữa hai thành phần và trong vector X
- Nếu = 0 ta nói hai thành phần và là độc lập hay không phụ thuộc lẫn
Trong các thực nghiệm khoa học cũng như các thống kê các phép đo đạc
thường tạo ra lượng dữ liệu khổng lồ Phát hiện các quy luật ẩn sau dữ liệu trở thành
một công việc rất khó khăn do có quá nhiều yếu tố cần được xét đến Một cách đơn
giản nhưng hiệu quả để giúp các nhà thực nghiệm, các nhà nghiên cứu là PCA
PCA là viết tắt của Principle Component Analysis (phương pháp phân tích
thành phần chính) là phương pháp thay thế các đại lượng của bộ dữ liệu ban đầu bằng
các tổ hợp tuyến tính của chúng (gọi là một “thành phần”) và từ đó chọn ra những
thành phần quan trọng nhất cho những bước phân tích tiếp theo
PCA được ứng dụng rộng rãi trong các lĩnh vực nghiên cứu khác nhau: vật lí,
sinh học, xã hội Ngoài ra nhờ khả năng nén dữ liệu (làm giảm khối lượng dữ liệu
trong khi vẫn giữ lại phần lớn thông tin), PCA cũng được áp dụng trong một số kĩ
thuật nén ảnh, xử lí ảnh, nhận dạng
Mục tiêu của phương pháp PCA là giảm số chiều của một tậ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 dữ liệu huấn
luyện Có thể nói phương pháp PCA tì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
Trang 27Giả sử ta cần giảm số chiều của tập mẫu huấn luyện từ n chiều
X = a1v1 + a2v2 + … + aNvN Với v1, v1, …, vN là cơ sở trong không gian N chiều xuống còn K chiều (K < N)
y = b1u1 + b2u2 + … + bKuK trong đó u1, u1, …, uK là cơ sở trong không gian K chiều
Nghĩa là ta cần tìm một ánh xạ từ không gian N chiều xuống không
gian nhỏ hơn chỉ có K chiều (K < N) Gọi x là một vector trong không gian N chiều, y
là một vector trong không gian K chiều Ta có trung bình phương lỗi MSE (mean
square error) ‖ x - y ‖ khi loại bỏ một số thành phần trong x để thu được y sẽ bằng
tổng phương sai của những thành phần bị loại bỏ Phương pháp PCA sẽ tìm một phép
biến đổi tuyến tính T, thỏa mãn:
Người ta chứng minh được rằng nếu T là một ma trận mà mỗi hàng là một
vector riêng của C và M vector riêng này (M hàng của ma trận T) ứng với M giá trị
riêng lớn nhất thì T chính là phép biến đổi tuyến tính thỏa mãn điều kiện để trung bình
phương lỗi nhỏ nhất
Trang 28Gọi là ma trận vuông N x N mà mỗi cột là một vector riêng của C đã được
chuẩn hóa với phép biến đổi:
với y= ( ) được gọi là phép biến đổi Hotelling Xét theo quan điểm của nhận dạng thì mỗi thành phần của vector y được xem
như là một đặc trưng của vector mẫu x 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ủa y là
(2.17)
Trong đó là một ma trận chéo
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ông
gian N chiều xuống không gian K chiều sẽ đi tìm các trị riêng và vector riêng của ma
trận hiệp phương sai C của tập X và giữ lại K vector riêng ứng với K trị riêng lớn
nhất làm cơ sở cho không gian k chiều này
Kỹ thuật trích rút đặc trưng bằng PCA
Giả sử ta cần xem xét tập dữ liệu
X = [x1, x2,…, xn] (2.18)
Trong đó n là số mẫu dữ liệu, xi là mẫu dữ liệu thứ i có kích thước là d Đầu tiên ta tính
giá trị trung bình của X trên mỗi chiều
Trang 29là ma trận chéo của giá trị riêng tương ứng với vector riêng của
(2.23)
Các vector riêng tương ứng với giá trị riêng cao nhất đại diện cho các thành
phần chính đầu tiên
(2.24)
Có 2 cách để xác định K sao cho hiệu quả
Cách đầu tiên ta sắp xếp theo thứ tự giảm dần các giá trị riêng đã tìm được Thứ tự
này vẫn đảm bảo được thứ tự của các vector đặc trưng tương ứng Theo dõi sự biến
thiên của dãy trên, khi không còn biến thiên(hoặc xáp xỉ bằng không) thì lúc đó ta đã
chọn đủ K vector đặc trưng
Cách thứ hai thì ta chọn K theo tiêu chuẩn sau:
(2.25)
Vớ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ẫu riêng cần thiết nhất
Đánh giá:
- Khi lấy số đặc trưng càng về sau thì khả năng biến động càng thấp, có nghĩa
mối quan hệ giữa các phần tử càng cao, thì sự giao nhau giữa các lớp mẫu trong
tập mẫu càng lớn
- Nhưng nếu lấy không đủ số lượng thành phần chính, thì khả năng phân
tán của tập mẫu càng cao (có thể tăng vượt ngoài lớp mẫu cần thiết trong tập
mẫu)
2.4 Mô hình diện mạo tích cực
2.4.1 Hình dáng và các điểm mốc
Trong không gian hai chiều, một hình dạng được định nghĩa gồm n điểm và
được biểu diễn bằng vector x gồm 2n phần tử, được thành lập bằng cách kết hợp các
phần tử biểu diễn vị trí của các điểm độc lập {(xi, yi)} được gọi là điểm mốc:
Ví dụ: Một đối tượng có hình dạng là tam giác thì được biểu diễn bởi 3 điểm
mốc, một đối tượng có hình dạng tứ giác thì được biểu diễn bởi 4 điểm mốc Hình 2.7
minh họa 1 hình là tam giác