Lời cảm ơn 1 Lời cảm ơn 2 Lời mở đầu Sự ra đời của chiếc máy vi tính là một đột phá trong lịch sử loài người, một bước tiến lớn trong khoa học Máy vi tính đã giúp đỡ con người hoàn thành từ những công việc nhỏ nhặt như tính toán vài con số đến những nhiệm vụ to lớn như đưa con người lên mặt trăng một cách thuận lợi Công dụng của máy vi tính vô cùng đa dạng Sự đa dạng này là do con người đã tận dụng khả năng xử lý, tính toán và lưu trữ của máy để linh hoạt sáng tạo ra các ứng dụng khác nhau phục.
Trang 1Lời cảm ơn
Trang 2Lời mở đầu
Sự ra đời của chiếc máy vi tính là một đột phá trong lịch sử loài người, một bước tiến lớn trong khoa học Máy vi tính đã giúp đỡ con người hoàn thành từ những công việc nhỏ nhặt như tính toán vài con số đến những nhiệm vụ to lớn như đưa con người lên mặt trăng một cách thuận lợi Công dụng của máy vi tính vô cùng đa dạng Sự đa dạng này là do con người đã tận dụng khả năng xử lý, tính toán và lưu trữ của máy để linh hoạt sáng tạo ra các ứng dụng khác nhau phục vụ cho từng mục tiêu riêng biệt
Nhận dạng khuôn mặt người là một trong những ứng dụng tuyệt vời của thị giác máy tính nói riêng cũng như khoa học máy tính nói chung Bài toán nhận dạng khuôn mặt người vốn được nghiên cứu từ những năm 1970 và cho đến nay, rất nhiều nghiên cứu lẫn ứng dụng cho bài toán này đã ra đời Tuy nhiên, bài toán nhận dạng khuôn mặt người vẫn còn nhiều thử thách và trong luận văn này, chúng tôi đề xuất một hướng giải quyết mới cho bài toán, đó là: NHẬN DẠNG MẶT NGƯỜI VỚI ĐẶC TRƯNG GABOR WAVELET KẾT HỢP ADABOOST Với hướng giải quyết này, chúng tôi lập trình ứng dụng để thực nghiệm, qua đó thấy rõ được hiệu quả của hướng giải quyết Luận văn gồm 4 chương, được bố cục như sau:
• Chương 1 – Tổng quan: Giới thiệu bài toán nhận dạng khuôn mặt người, các hướng tiếp cận của bài toán và đề xuất hướng tiếp cận trong luận văn
• Chương 2 – Cơ sở lý thuyết: Trình bày cơ sở lý thuyết cơ bản về Gabor wavelet, phương pháp học AdaBoost và phương pháp gom nhóm
• Chương 3 – Xây dựng thuật giải: Nhận dạng mặt người với đặc trưng Gabor wavelet kết hợp AdaBoost, đưa ra mô hình giải quyết bài toán
• Chương 4 – Cài đặt chương trình thực nghiệm, kết quả và đánh giá: Thiết kế chương trình ứng dụng, giới thiệu về tập mẫu huấn luyện,
số đặc trưng cần lựa chọn; kết quả huấn luyện và kết quả kiểm tra; đưa ra nhận xét và hướng phát triển trong tương lai
Trang 3Dù đã hết sức cố gắng nhưng trong bài viết khó tránh khỏi những sai sót Xin hãy gửi phản hồi cũng như những ý kiến đóng góp cho chúng tôi để đề tài này ngày một hoàn thiện hơn Mọi góp ý xin liên hệ nhóm tác giả:
Trang 41.1.4 Những khó khăn của bài toán nhận dạng mặt người 13
1.2 Các hướng tiếp cận của bài toán nhận dạng mặt người 14
Trang 53.1.2 Đại diện cho ảnh khuôn mặt dùng Gabor wavelet 70
3.2 Không gian intra-personal và không gian extra-personal 74
Chương 4: Cài đặt chương trình thực nghiệm, kết quả và đánh giá 85
Trang 7Danh sách các hình
Hình 2.1 – Hàm cơ sở Fourier, trục thời gian – tần số và độ phủ trong mặt phẳng 27
Hình 2.2 – Hàm cơ sở wavelet Daubechies, trục thời gian – tần số và độ phủ trong
Hình 2.3 – (Trái) Một họ Gabor wavelet; (Phải) Độ phủ của nó trong mặt phẳng 35
Hình 2.4 – Một tập nhỏ các đặc trưng có thể nhận dạng mặt người 35 Hình 2.5 – Phần thực của 40 bộ lọc Gabor theo 5 tỉ lệ và 8 hướng 38
Hình 2.6 – Ví dụ của ảnh mặt người phản ứng trên bộ lọc Gabor 38
Hình 2.7 – Minh họa Boosting trên tập mẫu là các điểm hai chiều 42
Hình 2.8 – Quá trình cập nhật lại trọng số và xây dựng bộ phân loại mạnh H 44
Hình 2.9 – Minh họa thuật toán AdaBoost trên tập mẫu là các điểm hai chiều 48
Hình 2.10 – Các cách chia nhóm khác nhau của cùng một tập điểm 54
Hình 2.12 – Minh họa gom nhóm dựa trên phương pháp phân cấp 56
Hình 2.13 – Hai loại phương pháp tạo kiến trúc phân cấp nhóm 57
Hình 2.14 – Gom tập dữ liệu thành 3 nhóm dùng thuật toán k-means 61
Hình 2.18 – Hai cặp nhóm vói mỗi cặp trọng tâm ban đầu thuộc một nhóm 67
Hình 2.19 – Hai cặp nhóm, mỗi cặp có ít hơn hoặc nhiều hơn hai trọng tâm ban
Hình 3.1 – Đại diện Gabor wavelet cho một bức ảnh khuôn mặt 73
Trang 8Hình 3.2 – Một mẫu trong không gian IS 75
Hình 3.5 – Mô hình quá trình huấn luyện gom nhóm dùng k-means 83
Trang 9Danh sách các bảng
Bảng 7: Kết quả của AdaBoost và AdaBoost kết hợp k-means 92
Trang 10Chương 1 Tổng quan
Trong cuộc sống, bạn phải giao tiếp với nhiều người, thậm chí có thể lên đến hàng trăm người Hiển nhiên rằng việc nhớ tên tất cả là một điều khó khăn Đây chính là mục tiêu mà đề tài chúng tôi nhắm đến Một chương trình có thể cung cấp cho bạn tên của người bạn cần thông qua hình ảnh của người đó cùng với một bộ cơ sở dữ liệu gồm các bức ảnh của những người đã được định danh Với chương trình này, bạn không còn phải nhớ tất cả mọi khuôn mặt cũng như tên của người quen nữa, đồng thời có thể nhanh chóng biết được bạn có quen biết đối phương không Tất nhiên để có thể xây dựng được một chương trình như vậy, trước hết ta cần xác định rõ bài toán xuyên suốt luận văn này: bài toán nhận dạng khuôn mặt người
1.1.2 Bài toán nhận dạng mặt người
Hệ thống sinh trắc học là một hệ thống được thiết kế để xác minh và nhận dạng một người dựa vào những đặc trưng sinh học duy nhất của người đó
Hệ thống nhận dạng mặt người là hệ thống sinh trắc học được thiết kế để tìm thông tin của một người Kỹ thuật nhận dạng là kiểm tra sự phù hợp dựa trên
Trang 11phép so sánh một-nhiều Cụ thể hơn, hệ thống nhận vào là một ảnh hoặc một đoạn video (một chuỗi các ảnh) Qua xử lý tính toán hệ thống xác định là người nào trong số những người hệ thống đã được biết hoặc là người lạ, hình 1.1
Hình 1.1 – Một hệ thống nhận dạng mặt người
Hệ thống nhận dạng tĩnh-tĩnh: là hệ thống được thiết kế bằng cách sử dụng một số hình ảnh tĩnh làm mẫu để nhận dạng khuôn mặt trong ảnh tĩnh Kỹ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một-nhiều như hệ thống nhận dạng nói trên [8]
Hệ thống nhận dạng tĩnh-động: là hệ thống được thiết kế bằng cách sử dụng một số hình ảnh tĩnh làm mẫu để nhận dạng khuôn mặt trong ảnh động Kỹ thuật nhận dạng này kiểm tra sự phù hợp dựa trên so sánh một-nhiều như hệ thống nhận dạng nói chung ở trên, song ảnh cần kiểm tra là các khung ảnh động trong các đoạn phim từ máy camera Kỹ thuật này dĩ nhiên không thể chính xác vì chuyển động của mặt người trong đoạn phim khá phức tạp, song thể hiện trong ảnh tĩnh để huấn luyện ít lại [8]
Hệ thống nhận dạng động-động: là hệ thống được thiết kế bằng cách sử dụng một số hình ảnh động làm mẫu để nhận dạng khuôn mặt trong ảnh động Kỹ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một-nhiều như hệ thống nhận dạng nói trên Tuy nhiên, kỹ thuật này chính xác hơn kỹ thuật sử dụng
Trang 12trong hệ thống nhận dạng tĩnh-động do sự chuyển động phức tạp của khuôn mặt người cũng được huấn luyện bằng các khung ảnh động [8]
Các hướng nghiên cứu về bài toán này (dựa theo Face Recognition Vendor Test – FRVT [1] ):
• Nhận dạng từ ảnh về khuôn mặt được chụp chính diện
• Nhận dạng từ ảnh về khuôn mặt được chụp không chính diện
• Nhận dạng với tỉ lệ sai sót thấp chấp nhận được
• Hiểu được tại sao đàn ông dễ nhận dạng ra hơn so với phụ nữ
• Hiểu rõ hơn về ý nghĩa của các yếu tố nhân khẩu học được thể hiện
… Ngoài ra, còn có một hướng mới cho bài toán nhận dạng khuôn mặt người
là nhận dạng khuôn mặt theo thời gian, kết hợp với nghề nghiệp và môi trường làm việc, hay chủng tộc,…
1.1.3 Các ứng dụng hiện nay
Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên cứu trong thời gian dài Các ứng dụng liên quan đến nhận dạng mặt người
• Hệ thống giao tiếp người - máy: thay thế việc tương tác giữa người
và máy theo những cách truyền thống như: bàn phím, chuột,… Thay vào đó
Trang 13là sử dụng các giao tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay ,
• Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo người) Chẳng hạn như: một đài truyền hình có một kho dữ liệu video tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có B.Obama , C.Ronaldo…
• Các hệ thống bảo mật dựa trên thông tin trắc sinh học: mặt người, vân tay,… thay vì xác nhận mật khẩu, khóa,… như thông thường
1.1.4 Những khó khăn của bài toán nhận dạng mặt người
Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từ những năm 1970 Tuy nhiên, đây là một 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ì thế vấn đề này vẫn đang được nhiều nhóm trên thế giới quan tâm nghiên cứu Khó khăn của bài toán nhận dạng mặt người có thể kể 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 xéo bên trái 450 hay xéo bên phải 450, 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 đặ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,…
Trang 14• 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,…) ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt
• Giới hạn về số ảnh cần thiết cho việc nhận dạng, tập huấn luyện 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ạng trong thế giới thực
Tuy bài toán có rất nhiều khó khăn khách quan lẫn chủ quan nhưng đây vẫn
là một bài toán hấp dẫn đối với con người Nhiều hướng tiếp cận cũng như phương pháp giải quyết đã được đề xuất cho bài toán nhận dạng mặt người Mỗi phương pháp có chỗ hay, chỗ chưa hay khác nhau nhưng đều đã đóng góp ít nhiều cho khoa học Hầu hết các nghiên cứu đếu cố gắng giải quyết bài toán từ trường hợp đơn giản nhất như ảnh khuôn mặt người được chụp chính diện, đầy đủ các chi tiết
và là ảnh xám Sau khi đạt được thành công nhất định cho trường hợp đơn giản nhất này, các nghiên cứu dần dần tiến đến từng trường hợp khó hơn như ảnh chụp nghiêng hay ảnh đầu vào là ảnh màu, hay thậm chí chỉ cải tiến phương pháp cũ cho nhanh hơn, chính xác hơn, hoặc đề xuất phương pháp mới tốt hơn…
1.2 Các hướng tiếp cận của bài toán nhận dạng mặt người
Bài toán nhận dạng khuôn mặt cần xác định hai vấn đề chính Thứ nhất, dùng thông tin nào để nhận dạng, chẳng hạn như mắt, mũi, miệng, tai, chân
Trang 15mày,… hay kết hợp tất cả các thông tin trên Thứ hai, dùng phương pháp nào để huấn luyện cho máy nhận dạng nguồn thông tin đó
Nhiều phương pháp nhận dạng khuôn mặt người được đề xuất trong khoảng
30 năm gần đây, và có rất nhiều công trình và bài báo đã được công bố rộng rải trên thế giới Nhận dạng khuôn mặt người là một vấn đề thú vị và đầy tính thử thách, nó đã thu hút nhiều nhà nghiên cứu từ nhiều lĩnh vực khác nhau như: tâm lý học, nhận dạng mẫu (hay nhận dạng mô hình), mạng nơron nhân tạo, thị giác máy tính, đồ họa máy tính,… Thông thường, một hệ thống máy tính đơn lẻ chứa nhiều
kỹ thuật được vận hành dựa trên những nguyên tắc khác nhau Chính sự kết hợp nhiều kỹ thuật đã gây khó khăn cho việc phân loại những hệ thống này (dựa trên loại kỹ thuật mà chúng sử dụng cho biểu diễn đặc trưng hay sự phân lớp) Để có một phân loại tốt và rõ ràng, chúng tôi đi theo một hướng do tâm lý học đề nghị, cách thức con người sử dụng những đặc trưng tổng thể và cục bộ
Cụ thể có 3 hướng tiếp cận chính cho bài toán nhận dạng khuôn mặt người:
(1) Phương pháp so khớp tổng thể (holistic matching methods) Những
phương pháp này sử dụng toàn bộ vùng mặt như là dữ liệu thô đầu vào cho
hệ thống nhận dạng Các thuật toán nổi bật đại diện cho lớp này có thể kể như là Eigenfaces và Fisherfaces
(2) Phương pháp so khớp dựa trên đặc trưng (feature-based matching methods) Đối với những phương pháp này, những đặc trưng cục bộ như
đôi mắt, mũi, miệng,… được trích ra đầu tiên và vị trí của chúng cũng như những thông tin cục bộ được nạp vào một lớp có cấu trúc
(3) Phương pháp lai (hybrid methods) Tương tự hệ thống nhận dạng
của con người sử dụng đồng thời những đặc trưng cục bộ lẫn toàn vùng mặt
để nhận dạng một khuôn mặt
Phương pháp so khớp tổng thể
Trang 16• Eigenfaces, ứng dụng trực tiếp của PCA Kirby và Sirovich dùng vector riêng để nhận dạng khuôn mặt người Sử dụng mạng neural đơn giản
để tính một mô tả của khuôn mặt bằng cách xấp xỉ các vector riêng cùa ma trận tương quan của ảnh đã được chuẩn hóa [1]
• Probabilistic eigenfaces, Moghaddam và Pentland [1, 23] đề xuất độ
đo xác suất cho vấn đề 2 lớp: “intra-presonal” và “extra-personal”, chuyển bài toán nhận dạng mặt người về bài toán hai lớp và sử dụng kỹ thuật so khớp dựa trên eigenfaces để nhận dạng
• Fisherfaces/subspace LDA (Linear Discriminant Analysis), dùng biệt số tuyến tính Fisher (Fisher’s Linear Discriminant - FLD) để chiếu các mẫu từ không gian ảnh có số chiều cao sang một không gian đặc trưng có
số chiều thấp hơn [1]
Phương pháp so khớp dựa trên đặc trưng
• Kelly và Kanade [1] sử dụng phương pháp hình học để so khớp đặc trưng, hầu hết những phương pháp cũ đều được xếp vào nhóm phương pháp đối chiếu cấu trúc, sử dụng độ rộng của đầu, khoảng cách giữa hai mắt và
• Nefian và Hayes [8] sử dụng mô hình Markov ẩn (HMM) để nhận dạng Ảnh mẫu khuôn mặt được lượng hóa thành chuỗi quan sát trên khuôn
Trang 17mặt theo quan niệm dựa trên thứ tự xuất hiện các đặc trưng khuôn mặt (chân mày, lông mi, mũi, miệng, cằm) Trong chuỗi quan sát đó, mỗi quan sát lại là một vector nhiều chiều và mỗi vector quan sát này được dùng để đặc trưng cho mỗi trạng thái trong chuỗi 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
• Phillips [1] sử dụng phương pháp học Support Vector Machine (SVM) Xác định vị trí những thành phần của khuôn mặt, rút trích chúng, kết hợp chúng vào một vector đặc trưng đơn được phân lớp bằng SVM [1998]
• Guodong Guo, Stan Z.Li và Kap Luk Chan [8] dùng phương pháp SVM để nhận dạng khuôn mặt Sử dụng chiến lược kết hợp nhiều bộ phân loại nhị phân để xây dựng bộ phân loại SVM đa lớp
• Peng Yang, Shiguang Shan, Wen Gao, Stan Z Li và Dong Zhang[10] nghiên cứu và thực thi ứng dụng phương pháp AdaBoost cho bài toán nhận dạng mặt người Các tác giả dùng bộ lọc Gabor cho việc rút trích đặc trưng và sử dụng mô hình AdaBoost phân tầng để chọn lựa đặc trưng và xây dựng bộ phân loại mạnh
• Boris Ruf [12] sử dụng Gabor wavelet để rút trích ra các vectơ đặc trưng Gabor, xây dựng một hàm ngưỡng để tạo nên các bộ phân loại yếu, dùng AdaBoost để lựa chọn đặc trưng và tìm ra bộ phân loại mạnh
1.3 Đề xuất hướng tiếp cận trong luận văn
Để giải quyết bài toán nhận dạng mặt người, hướng tiếp cận của chúng tôi
sử dụng phương pháp nhận dạng dựa trên việc so khớp các đặc trưng Chúng tôi
sử dụng phương pháp này bởi vì đối với con người, sự khác biệt giữa khuôn mặt người này và người khác chủ yếu là sự khác biệt về các đặc trưng trên khuôn mặt như mắt, mũi, chân mày, gò má, miệng, cằm Do đó, việc so khớp các đặc trưng trên khuôn mặt để tiến hành nhận dạng là rất hợp lý và phù hợp với thực tế
Trang 18Áp dụng hướng tiếp cận này để giải quyết bài toán nhận dạng mặt người, chúng tôi sử dụng lại một số kiến thức trong các công trình nghiên cứu của các tác giả là dùng Gabor wavelet rút trích các vectơ đặc trưng Gabor để đại diện cho ảnh khuôn mặt và dùng AdaBoost để chọn lựa đặc trưng, đồng thời tạo ra bộ phân loại mạnh dùng để nhận dạng [7, 10, 11, 12, 16, 18, 19, 21] Bên cạnh việc sử dụng lại một số kết quả nghiên cứu của các tác giả, chúng tôi cũng đề xuất ra một số hiệu chỉnh cho thuật toán AdaBoost, chỉ ra cách xây dựng nên các bộ phân loại yếu dựa trên các đặc trưng Gabor và kết hợp thêm phương pháp gom nhóm, cụ thể là thuật toán k-means để giải quyết bài toán nhận dạng mặt người này
Chúng tôi sử dụng Gabor wavelet để rút trích đặc trưng bởi vì các đặc trưng Gabor được rút trích từ Gabor wavelet diễn đạt được tri thức về các đối tượng trong ảnh nghĩa là 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 thể hiện được Mỗi thành phần trong họ Gabor wavelet mô hình một cấu trúc không gian vùng tiếp thu của một tế bào đơn trong
vỏ não nguyên thủy ở động vật hữu nhũ Phân tích Gabor có thể xem như một chiếc kính hiển vi nhạy cảm với hướng và tỷ lệ [5, 6] Do đó, việc chọn Gabor wavelet để rút trích đặc trưng là hợp lý, giống như cách con người phân biệt các đặc trưng khác nhau trên khuôn mặt Đồng thời, việc sử dụng Gabor wavelet để rút trích vectơ đặc trưng Gabor cho ảnh thực hiện khá nhanh, chỉ là phép tính tích chập với ảnh
Từ khi AdaBoost ra đời, nó đã được ứng dụng nhiều trong lĩnh vực phân loại mẫu và nhận dạng mẫu AdaBoost là thuật toán học có nhiều thuận lợi, đơn giản, dễ hiểu, dễ lập trình Sử dụng AdaBoost, ngoài việc xây dựng được bộ phân loại mạnh dùng trong quá trình nhận dạng, ta còn có thể chọn được các đặc trưng Gabor quan trọng trên khuôn mặt để đại diện cho ảnh
Chúng tôi sử dụng thuật toán k-means để gom nhóm dữ liệu bởi vì k-means thì đơn giản, dễ hiểu, tương đối hiệu quả và có thể dùng cho rất nhiều loại dữ liệu Việc gom nhóm tập dữ liệu thành các nhóm riêng biệt nhau này sẽ giúp cho quá
Trang 19trình kiểm tra thực hiện nhanh hơn thay vì duyệt qua toàn bộ ảnh, đồng thời giúp hạn chế các trường hợp phân loại sai nhóm
Sau đây, chúng tôi sẽ mô tả chi tiết các bước để giải quyết bài toán nhận dạng mặt người
Quá trình nhận dạng khuôn mặt gồm hai giai đoạn Đầu tiên là giai đoạn huấn luyện Từ ảnh khuôn mặt người trong tập dữ liệu, chúng tôi dùng Gabor wavelet để đại diện cho ảnh khuôn mặt và rút trích các đặc trưng trên ảnh để tạo thành vectơ đặc trưng Bởi vì vectơ đặc trưng này có số chiều lớn, do đó để giảm
số chiều của vectơ này đồng thời lựa chọn ra được các đặc trưng đóng vai trò thật
sự quan trọng có thể đại diện chính xác cho đối tượng trong ảnh, chúng tôi sử dụng phương pháp học AdaBoost để lựa chọn các đặc trưng quan trọng đó Đặc biệt, AdaBoost ngoài việc chọn lựa ra các đặc trưng để xây dựng nên vectơ đặc trưng mới có số chiều nhỏ hơn vectơ đặc trưng được rút trích từ Gabor wavelet, AdaBoost còn tìm ra được một bộ phân loại mạnh đóng vai trò quan trọng trong việc phân lớp ảnh khuôn mặt giúp cho việc nhận dạng đạt hiệu quả
Giai đoạn thứ hai là quá trình kiểm tra, với ảnh cần kiểm tra, ta có được vectơ đặc trưng đại diện cho ảnh đó Đối với mỗi ảnh trong tập dữ liệu, sau quá trình huấn luyện ta cũng có được các vectơ đặc trưng đại diện cho tập ảnh đó Thay vì tiến hành so khớp bằng cách duyệt tuyến tính hết ảnh trong cơ sở dữ liệu
để đối chiếu với ảnh cần kiểm tra để tìm sự tương đồng của chúng Chúng tôi sử dụng phương pháp gom nhóm, cụ thể là thuật toán k-means để tiến hành phân nhóm các ảnh trong cơ sở dữ liệu Mỗi nhóm được phân như vậy sẽ đại diện cho nhiều bức ảnh và mỗi nhóm sẽ được đại diện bởi một vectơ đặc trưng cho từng nhóm Với ảnh cần kiểm tra, ta tiến hành kiểm tra nó “gần” với nhóm nào nhất, sau đó duyệt hết ảnh trong nhóm đó để so khớp với ảnh cần kiểm tra mà không cần quan tâm đến các nhóm còn lại
Trang 20nắm rõ hơn về Gabor wavelet Nhưng trước hết, ta phải biết wavelet là gì
2.1.1 Wavelet là gì?
Wavelet [24] là những hàm có thể chia cắt dữ liệu ra các thành phần có tần
số khác nhau Chúng có một vài thuận lợi hơn phương pháp Fourier truyền thống trong việc phân tích các tình huống vật lý như tín hiệu chứa những điểm không
liên tục hay đỉnh nhọn Wavelet được ứng dụng rất nhiều trong xử lý tín hiệu, một
vài lĩnh vực đặc sắc như nén dữ liệu, xử lý âm thanh (nhịp điệu nhạc), hay giảm
nhiễu… Chúng tôi sẽ mô tả lịch sử của wavelet bắt đầu từ Fourier, so sánh biến đổi wavelet với biến đổi Fourier, mô tả tính chất của wavelet Từ đó, chúng tôi sẽ
giới thiệu về Gabor Wavelet
• Ý tưởng
Ý tưởng chính của wavelet là phân tích dựa trên từng tỷ lệ Wavelet là
những hàm thỏa mãn các điều kiện toán học nào đó và được sử dụng để đại diện cho dữ liệu hay những hàm khác Sự xấp xỉ sử dụng nguyên lý chồng chất của hàm đã xuất hiện từ đầu những năm 1800, khi Joseph Fourier phát hiện ra rằng ông ấy có thể “chồng” (hay tổng hợp) những hàm sin và hàm cos để đại diện cho
Trang 21các hàm khác Tuy nhiên, trong phân tích bằng wavelet, tỷ lệ mà ta sử dụng để
xem xét dữ liệu đóng một vai trò đặc biệt Thuật toán wavelet xử lý dữ liệu ở
những tỷ lệ hay độ phân giải khác nhau Nếu ta nhìn tín hiệu qua một khung cửa
sổ lớn, ta sẽ chú ý đến những chi tiết thô, to Ngược lại, khi ta nhìn tín hiệu với một khung cửa sổ nhỏ, ta sẽ chú ý đến những chi tiết nhỏ, đặc trưng Có thể nói, kết quả của phân tích bằng wavelet có thể cho ta thấy được cả khu rừng và từng cây trong rừng
Điều đó làm wavelet trở nên thú vị và hữu dụng Trong nhiều thập kỷ, các nhà khoa học muốn có nhiều hơn những hàm xấp xỉ thay vì kết hợp những hàm sin
và cos dựa trên nền tảng ý tưởng của Fourier, để xấp xỉ những tín hiệu rạn nứt (choppy signals) Như định nghĩa của chúng, đây là những hàm không địa phương
và có thể kéo dãn ra vô hạn Do đó chúng khá tệ khi xấp xỉ những đỉnh nhọn Nhưng với wavelet, ta có thể xấp xỉ những hàm được chứa gọn gàng trong những miền hữu hạn Wavelet rất tiện lợi cho việc xấp xỉ những dữ liệu không liên tục,
có đỉnh sắc, nhọn
Tiến trình phân tích wavelet được thực hiện thông qua một hàm wavelet
mẫu, gọi là wavelet mẹ Phân tích theo trục thời gian sẽ được biểu diễn bằng một
dạng chặt, tần số cao của wavelet mẫu, trong khi phân tích theo tần số sẽ được biểu diễn bằng một dạng không chặt, tần số thấp của cùng một wavelet mẫu Do tín hiệu gốc hay hàm gốc được biểu diễn dựa trên một khai triển wavelet (dùng những hệ số trong sự kết hợp tuyến tính của các hàm wavelet), dữ liệu đang làm việc có thể được biểu diễn bằng việc sử dụng những hệ số wavelet tương ứng Nếu
ta chọn được những wavelet tốt thích ứng với dữ liệu, hoặc chặn những hệ số dưới một ngưỡng nào đó, dữ liệu của ta có thể được biểu diễn một cách thưa thớt Chính sự thưa này đã giúp wavelet trở thành một công cụ tuyệt vời trong lĩnh vực nén dữ liệu
Trang 22• Nguồn gốc toán học
Trước năm 1930, một nhánh của toán học dẫn đến wavelet được bắt đầu bởi Joseph Fourier (1807) với lý thuyết của ông ta về giải tích tần số, nay là phép tổng hợp Fourier Ông ấy đã khẳng định rằng bất kỳ hàm tuần hoàn f x( ) nào cũng
có thể biểu diễn thành tổng những chuỗi Fourier của nó
0 1
Sau năm 1807, bằng việc khảo sát ý nghĩa về hàm, tính hội tụ của chuỗi Fourier, không gian trực giao, các nhà toán học dần dần hướng sự chú ý từ giải tích tần số sang giải tích tỷ lệ Nghĩa là, phân tích hàm f x( ) thành những cấu trúc toán học, những cấu trúc toán học này biến thiên theo tỷ lệ Nhưng làm thế nào? Xây dựng một hàm, biến đổi nó đi một vài khoảng, và thay đổi tỷ lệ của nó Áp dụng hàm này trong việc xấp xỉ một tín hiệu Bây giờ ta lặp lại tiến trình Lấy hàm gốc, biển đổi nó, biển đổi nó một lần nữa Lại áp dụng nó cho cũng một tín hiệu để nhận được một xấp xỉ mới, cứ thế lặp lại Qua đó, ta có thể thấy dạng phân tích mảnh này ít bị ảnh hưởng bởi nhiễu vì nó tính sự biến thiên trung bình của tín hiệu
ở những mảnh khác nhau
Wavelet được đề cập lần đầu tiên trong một phụ lục trong luận án của A Haar (1909) Một đặc tính của Haar wavelet là nó hỗ trợ tính compact, nghĩa là nó triệt tiêu bên ngoài khoảng con hữu hạn Đáng tiếc, Haar wavelet không khả vi liên tục nên phần nào gây hạn chế cho những ứng dụng của chúng
(2.1)
Trang 23Trong những năm 1930, một số nhóm nghiên cứu việc biểu diễn các hàm
thông qua những hàm cơ sở biến thiên tỷ lệ Tại mục 2.1.2, chúng tôi sẽ giới thiệu
rõ thêm về hàm cơ sở và hàm cơ sở biến thiên tỷ lệ
Bằng việc sử dụng hàm cơ sở biến đổi tỷ lệ gọi là hàm cơ sở Haar, Paul Levy, một nhà vật lý những năm 1930, đã tiến hành khảo sát chuyển động Brown, một dạng tín hiệu ngẫu nhiên Ông nhận ra rằng hàm cơ sở Haar tốt hơn các hàm
cơ sở Fourier trong việc xem xét các chi tiết nhỏ phức tạp trong chuyển động Brown
Cũng trong những năm 1930, Littlewood, Paley, và Stein đã đưa ra công thức tính năng lượng của một hàm f x( ), công thức 2.2
2
2 0
trực giao Dựa trên những kết quả này, Y Meyer đã xây dựng những wavelet bất thường Không giống Haar wavelet, wavelet của Meyer khả vi liên tục, nhưng
chúng lại không hỗ trợ compact Vài năm sau, Ingrid Daubechies dựa vào kết quả của Meyer, ông đã xây dựng một tập những hàm wavelet cơ sở trực giao, đây chính là những viên đá nền tảng cho các ứng dụng wavelet hiện nay
2.1.2 Hàm cơ sở - Hàm cơ sở biến thiên tỷ lệ
Để đơn giản việc giải thích về hàm cơ sở, ta tạm thời rời bỏ mảng tín hiệu analog (các hàm) và đi vào mảng tín hiệu số (các vector)
Mỗi vector 2 chiều ( , )x y là một sự kết hợp của 2 vector (1, 0) và (0,1) Hai vector này gọi là hai vector cơ sở của ( , )x y Tại sao? Khi chúng ta nhân (1,0) cho
x và nhân (0,1) cho y, sau đó tổng lại ta sẽ được vector ( , )x y Những vector cơ sở
(2.2)
Trang 24tốt thường có thêm đặc tính trực giao với nhau, với (1,0) và (0,1) điều này là thỏa mãn
Ta trở lại với thế giới hàm, làm sao để liên hệ những khái niệm trên cho hàm cơ sở Thay vì một vector ( , )x y , ta có một hàm f x( ) Tưởng tượng rằng
( )
f x như một điệu nhạc, nói nốt A trong một quãng tám cụ thể Ta có thể tạo A bằng cách cộng những hàm sin và hàm cos sử dụng sự kết hợp biên độ và tần số Những hàm sin và hàm cos chính là những hàm cơ sở trong ví dụ này, và cũng là những nhân tố trong tổng Fourier Ta có thể xây dựng thêm các điều kiện để các hàm sin và cos này trực giao nhau Như thế nào? Chọn hàm hợp tương ứng của các hàm sin và cos này sao cho tích trong (tích vô hướng) của nó bằng 0 Tập hợp gồm những hàm như vậy là trực giao và những hàm f x( ) trong đó là những hàm
cơ sở trực giao
Một hàm cơ sở biến đổi theo tỷ lệ bằng cách chia nhỏ hàm hay không gian dữ liệu bởi những kích thước tỷ lệ khác nhau Ví dụ, giả sử ta có một tín hiệu trên miền từ 0 đến 1 Ta có thể chia tín hiệu thành 2 hàm từ 0 đến 1/2 và từ 1/2 đến 1
Ta có thể tiếp tục chia tín hiệu gốc thành 4 hàm từ 0 đến ¼, ¼ đến ½ , ½ đến ¾, ¾ đến 1 Và cứ thế Mỗi tập biểu diễn tín hiệu gốc với một tỷ lệ cụ thể
2.1.3 Giải tích Fourier
Việc Fourier biểu diễn các hàm bằng cách “tổng” những hàm sin và cos đã trở nên thông dụng, từ những phương pháp số và phương pháp giải tích để giải phương trình vi phân đến việc phân tích và xử lý tín hiệu giao tiếp Giải tích Fourier và Wavelet có sự liên kết rất mạnh mẽ
• Biến đổi Fourier
Sự hữu ích cũng như khả năng của biến đổi Fourier là phân tích một tín hiệu trong miền thời gian bởi lượng tần số của nó Biến đổi Fourier chuyển một hàm trong miền thời gian sang một hàm trong miền tần số Sau đó tín hiệu có thể được phân tích dựa trên tần số của nó bởi vì những hệ số Fourier của hàm đã biết
Trang 25đổi biểu diễn sự đóng góp của mỗi hàm sin và hàm cos tại mỗi tần số Để chuyển đổi dữ liệu từ miền tần số sang miền thời gian, một biến đổi Fourier ngược chính
là điều ta mong đợi
• Biến đổi Fourier rời rạc
Biến đổi Fourier rời rạc ước lượng biến đổi Fourier của một hàm từ một số hữu hạn những điểm được lấy mẫu của nó Các điểm được lấy mẫu xem như đặc trưng cho tín hiệu tại một thời điểm nào đó Biến đổi Fourier rời rạc có hầu hết các tính chất đối xứng giống với biến đổi Fourier liên tục Hơn nữa, công thức đảo của biến đổi Fourier rời rạc được tính dễ dàng bằng việc sử dụng công thức của biến đổi Fourier rời rạc vì hai công thức này gần như đồng nhất với nhau
• Biến đổi Fourier khung
Nếu f t( ) là một tín hiệu không tuần hoàn thì tổng của những hàm tuần hoàn, sin và cos, không biểu diễn chính xác được tín hiệu Ta có thể khếch đại một cách gượng ép khiến cho tín hiệu trở nên tuần hoàn, nhưng điều này đòi hỏi thêm
sự liên tục tại những điểm kết thúc Biến đổi Fourier khung là một giải pháp cho vấn đề này, giúp cho việc biểu diễn những tín hiệu không tuần hoàn được tốt hơn
và chính xác hơn Biến đổi Fourier khung được sử dụng để lấy thông tin về những tín hiệu trong miền thời gian và miền tần số một cách đồng thời
Với biến đổi Fourier khung, tín hiệu đầu vào f t( ) được “băm” nhỏ vào từng khu vực, mỗi khu vực được phân tích một cách riêng biệt theo tần số của nó Nếu tín hiệu có những điểm nhọn chuyển tiếp, ta đóng khung dữ liệu đầu vào để các khu vực hội tụ về 0 tại những điểm kết thúc Việc đóng khung này được thực hiện bởi một hàm trọng lượng Tác dụng của khung là địa phương hóa tín hiệu theo thời gian
Trang 26• Biến đổi Fourier nhanh
Để xấp xỉ một hàm bằng mẫu, và xấp xỉ tích phân Fourier bằng biến đổi
Fourier rời rạc, ta cần dung một ma trận có bậc là số những điểm lấy mẫu n Do khi nhân một ma trận kích thước n n với một vector hao tốn khoảng n 2 phép tính
số học, nên vấn đề sẽ tệ hơn khi số điểm lấy mẫu tăng nhanh Tuy nhiên, nếu các mẫu được lấy cách đều nhau, sau đó ma trận Fourier được phân tích thành tích của một vài ma trận thưa hơn, và những nhân tử kết quả này được áp dụng cho một vector với số phép tính chỉ còn nlogn Đây gọi là biến đổi Fourier nhanh
2.1.4 Biến đổi Wavelet và biến đổi Fourier
• Giống nhau
Biến đổi Fourier nhanh và biến đổi wavelet rời rạc đều là những phép tính tuyến tính, từ đó sinh ra một cấu trúc dữ liệu chứa log n2 đoạn có chiều dài khác nhau, thường được làm kín và biến đổi nó sang một vector dữ liệu khác có chiều dài 2n
Những tính chất toán học của các ma trận trong cả hai phép biến đổi cũng tương tự nhau Ma trận nghịch đảo trong biến đổi Fourier nhanh và biến đổi wavelet rời rạc đều là chuyển vị từ ma trận gốc Chưa hết, xét về mặt kết quả, ta có thể xem cả hai phép biến đổi như một phép quay trong không gian hàm sang một miền khác Đối với biến đổi Fourier nhanh, miền mới chứa các hàm cơ sở có dạng sin và cos Đối với biến đổi wavelet, miền mới chứa nhiều hàm cơ sở phức tạp hơn gọi là các wavelet, wavelet mẹ hay giải tích wavelet
Cả hai phép biến đổi còn có điểm tương đồng khác Các hàm cơ sở được địa phương hóa trong miền tần số, tạo ra những công cụ toán học như phổ năng lượng (bao nhiêu năng lượng chứa trong một khoảng tần số) và đồ thị mức rất hữu dụng trong việc tách các tần số và tính toán năng lượng phân phối
• Khác nhau
Trang 27Điểm khác nhau thú vị nhất giữa hai phép biến đổi là cá nhân từng hàm wavelet được địa phương hóa trong không gian Các hàm sin và cos Fourier thì không Đặc trưng địa phương hóa này, cùng với sự địa phương hóa của wavelet trong tần số, tạo nên nhiều hàm và toán tử dùng wavelet thưa khi được biến đổi sang miền wavelet Chính sự thưa này là tốt cho một số ứng dụng như nén dữ liệu,
trích đặc trưng ảnh, và giảm nhiễu cho các chuỗi thời gian
Một cách khác để thấy sự khác nhau về độ phân giải thời gian – tần số giữa biến đổi Fourier và biến đổi wavelet là nhìn vào độ phủ của hàm cơ sở trong mặt phẳng thời gian – tần số Hình 2.1 cho thấy một biến đổi Fourier khung, trong
đó khung chỉ là một sóng hình thang đơn giản Khung sóng thang cắt hàm sin hay cos sao cho vừa với độ rộng cụ thể của một khung Bởi vì chỉ có một khung đơn duy nhất được dùng cho mọi tần số trong biến đổi Fourier khung nên độ phân giải
là như nhau tại mọi nơi trong mặt phẳng thời gian – tần số
Hình 2.1 – Hàm cơ sở Fourier, trục thời gian – tần số và độ phủ trong mặt phẳng
Thuận lợi của biến đổi wavelet là khung này biến thiên Để cô lập sự không liên tục của tín hiệu, cần những hàm cơ sở ngắn Nhưng đồng thời, để thu được những phân tích tần số tỉ mỉ, cần những hàm cơ sở dài Tức là phải xây dựng những hàm cơ sở tần số cao thì ngắn còn tấn số thấp thì dài Và đây chính là thứ ta
Trang 28có khi sử dụng biến đổi wavelet Hình 2.2 cho thấy độ phủ của một hàm wavelet trong mặt phẳng thời gian – tần số, hàm wavelet Daubechies
Hình 2.2 – Hàm cơ sở wavelet Daubechies, trục thời gian – tần số và độ phủ trong mặt phẳng
Cần nhớ là biến đổi wavelet không có một tập đơn các hàm sin và cos giống biến đổi Fourier Thay vào đó, biến đổi wavelet có một tập vô hạn những hàm cơ
sở có thể Vì vậy, biến đổi wavelet cung cấp những thông tin mà các phương pháp thời gian – tần số khác không thấy được, ví như phương pháp Fourier
2.1.5 Giải tích Wavelet
Bây giờ ta bắt đầu vào lý thuyết wavelet, nơi ta phân tích tín hiệu trong thời gian dựa vào lượng tần số của nó Khác với giải tích Fourier, nơi ta phân tích tín hiệu bằng các hàm sin và cos, nay ta dùng các hàm wavelet
• Biến đổi wavelet rời rạc
Những phép giãn và phép tịnh tiến của hàm mẹ Φ( )x , định nghĩa một cơ sở trực giao, cơ sở wavelet của ta:
2 ( , ) ( ) 2 (2 )
s s
Trang 29wavelet, và chỉ số địa phương l cho biết vị trí của nó Điều khiến nền tảng wavelet
trở nên đặc biệt thú vị chính là khả năng tự đồng dạng khi thay đổi tỷ lệ Một khi
ta biết hàm mẹ, ta sẽ biết mọi thứ về cơ sở
Để mở rộng miền dữ liệu tại các độ phân giải khác nhau, wavelet được dùng trong phương trình tỷ lệ:
2
1 1
k k
với là hàm delta và l là chỉ số địa phương
Một trong những đặc trưng hữu hiện nhất của wavelet là nó dễ cho các nhà khoa học chọn định nghĩa hệ số cho một hệ thống wavelet cho trước ứng với một vấn đề cho trước Trong bài báo gốc của Daubechies, bà đã phát triển một họ wavelet đặc biệt rất tốt cho xử lý đa thức Wavelet Haar còn đơn giản hơn, thường được dùng cho mục đích học
Hãy xem các hệ số { , , , }c c1 2 c n như là một bộ lọc Bộ lọc hay các hệ số thay thế cho một ma trận biến đổi, thứ được áp dụng cho một vector dữ liệu thô Các hệ số được sắp xếp thứ tự theo hai dạng, một bên hoạt động như một bộ lọc trơn (như phép trung bình động), một bên mang ra các thông tin chi tiết của dữ liệu Hai dạng thứ tự của các hệ số gọi là một cặp bộ lọc đối xứng gương cầu phương theo cách nói trong xử lý tín hiệu
Để kết thúc phần giới thiệu về biến đổi wavelet rời rạc, ta hãy xem thử làm sao áp dụng ma trận hệ số wavelet cho vector dữ liệu Ma trận được ứng dụng trong một thuật toán phân tầng, thường gọi là thuật toán hình chóp Các hệ số wavelet được sắp xếp sao cho những hàng lẻ thì chứa các hệ số có tác dụng như bộ
(2.4)
Trang 30lọc làm trơn, những hàng chẵn thì chứa các hệ số với các ký hiệu khác nhau giúp mang lại chi tiết của dữ liệu Ma trận được áp dụng lần đầu cho vector gốc Sau
đó, vector sẽ trơn hơn và giảm đi một nửa Tiếp tục áp dụng ma trận cho vector này Thế là vector lại trơn hơn và cũng bị giảm đi một nửa Quá trình cứ thế lặp lại cho đến khi tính trơn đến một ngưỡng nào đó mà dữ liệu còn thể hiện được Nghĩa
là, mỗi lần áp dụng ma trận ta sẽ được một độ phân giải cao hơn của dữ liệu đồng thời làm trơn dữ liệu còn lại Đầu ra của biến đổi wavelet rời rạc chứa các thành phần trơn còn lại ấy và tất cả thành phần chi tiết tích lũy được
• Biến đổi wavelet nhanh
Thông thường ma trận biến đổi wavelet rời rạc không thưa, do đó tại lại đối mặt với cùng một vấn đề như trong biến đổi Fourier rời rạc Ta sẽ giải quyết nó cùng một cách như biến đổi Fourier nhanh, phân tích biến đổi wavelet rời rạc thành tích các ma trận thưa hơn có tính tự đồng dạng với nhau Kết quả là một
thuật toán chỉ cần n phép toán cho một vector n mẫu Đây chính là biến đổi
wavelet rời rạc nhanh của Mallat và Daubechies
Với phần sơ lược phía trên về wavelet, ta đã phần nào hình dung được wavelet là gì và dùng wavelet để làm gì Qua những kiến thức cơ bản trên, ta tiếp tục đến với trọng tâm của vấn đề rút trích đặc trưng: Gabor Wavelet
2.1.6 Gabor Wavelet
Từ khi phát hiện về cấu tạo tinh thể của vỏ thị giác nguyên thủy trong não động vật hữu nhũ hơn 30 năm trước bởi Hubel và Wiesel [5], một lượng lớn những nghiên cứu từ lý thuyết đến thực nghiệm đã nâng cao sự hiểu biết của chúng ta về lĩnh vực này và các đặc tính phản xạ của các tế bào của nó Về mặt lý thuyết, Marcelja và Daugman [5] đã đề xuất một nhận thức quan trọng là các tế bào đơn giản trong vỏ thị giác có thể được mô hình hóa bằng các hàm Gabor Những hàm Gabor được Daugman đề nghị là những bộ lọc băng thông địa phương
Trang 31trong miền không gian, chúng có những hạn chế lý thuyết về độ phân giải kết hợp của thông tin trong không gian hai chiều và miền Fourier hai chiều
Hàm Gabor được Dennis Gabor đưa ra lần đầu tiên như là một công cụ để xác định tín hiệu bị nhiễu Gabor đã chứng minh được ở đây tồn tại một nguyên lý lượng tử cho thông tin Miền liên kết thời gian – tần số cho tín hiệu một chiều cần phải được lượng tử để không tín hiệu hay bộ lọc nào có thể chiếm diện tích ít hơn một diện tích nhỏ nhất nào đó trong nó Tuy nhiên, ở đây có một sự cân bằng giữa
độ phân giải thời gian và độ phân giải tần số Gabor phát hiện ra rằng hàm mũ phức bị biến điệu của Gauss cung cấp sự cân bằng tốt nhất Do đó, các hàm sơ cấp Gabor nguyên gốc xuất phát từ một hàm Gauss được chỉnh sửa, trong khi tần số của sóng biến điệu biến thiên
Dennis Gabor cho rằng lý thuyết truyền thông dựa trên hai phương pháp tách biệt sau đây,
• Phương pháp thứ nhất là mô tả tín hiệu như một hàm của thời gian
• Phương pháp thứ hai là mô tả tín hiệu như một hàm của tần số Phân tích Fourier là một dạng của mô tả này
Lý thuyết Gabor đưa ra một phương pháp mới để mô tả tín hiệu theo cả hai miền thời gian và tần số
Gabor xét hai phương pháp biểu diễn tín hiệu nêu trên Biểu diễn trong miền thời gian sẽ xác định biên độ của một tín hiệu tại mỗi thời điểm tức thời Trong khi đó, biểu diễn trong miền tần số sử dụng một chuỗi vô hạn các hàm tuần hoàn được xác định bằng tần số, biên độ và pha của chúng Hai phương pháp biểu diễn này là lý tưởng Bởi vì biểu diễn trong miền tần số cho rằng một tín hiệu trong miền thời gian là dài vô hạn khi tần số của một tín hiệu hữu hạn trong miền thời gian không thể xác định chính xác được Tương tự, một tín hiệu tức thời trong miền thời gian (chẳng hạn hàm xung đơn vị) có một phổ tần số chứa tất cả các tần
số khác nhau được phân bố đều torng miền tần số Điều kiện này là không thỏa
Trang 32mãn cho các tín hiệu trong thực tế Ví dụ một tín hiệu là một sóng âm nhạc bao gồm một số nốt nhạc vối một tần số đặc biệt nhưng chúng được thể hiện chỉ trong một khoảng thời gian hữu hạn Rõ ràng, các biểu diễn như vậy không thích hợp cho phân tích các tín hiệu có chiều dài hữu hạn trong miền thời gian
Tiếp theo, Gabor xét các đáp ứng tần số (phổ Fourier) của các đường cong Gauss với các chiều rộng khác nhau Các đường cong Gauss này có các độ lệch chuẩn tỉ lệ nghịch với nhau thông qua các trục thời gian và tần số tương ứng và thấy rằng giữa thời gian và tần số của một tín hiệu có một sự liên hệ mật thiết Theo Gabor, đó chính là xuất phá điểm để hình thành lý thuyết của ông Gabor đã tìm thấy mối quan hệ này và hình thức hóa bằng các hệ thức quan trọng được dẫn
t f
trong đó:
t
là khoảng bất định tại một vị trí của tín hiệu trong miền thời gian
f
là khoảng bất định của tần số tín hiệu trong miền tần số
Trong công thức 2.5, Gabor chứng tỏ rằng:
• Không thể xác định một cách chính xác một khoảng của tín hiệu trong miền thời gian cũng như tần số trong miền tần số của tín hiệu đó
• Tích của khoảng bất định trong miền thời gian và khoảng bất định trong miền tần số phải lớn hơn một hằng số nào đó
(2.5)
Trang 33Nghĩa là nếu một tín hiệu được định nghĩa trên một khoảng thời gian tức thời duy nhất (t = 0) thì nó sẽ không được xác định một cách đầy đủ trong miền tần số ( = f ) Ngược lại, một tín hiệu được xác định một cách chính xác trong miền tần số ( =f 0) nó phải có chiều dài vô hạn ( = t ) Giữa hai thái cực này, một tín hiệu là bất định với một mức độ nào đó theo cả hai miền thời gian và tần
số Nhưng tích của hai khoảng bất định này tối thiểu phải bằng ½
Gabor chỉ ra rằng có tồn tại một dạng tín hiệu có thể biến đổi 1
Ta xét tín hiệu ở đây chính là ảnh, miền thời gian như đã nói ở trên gọi là miền không gian và miền tần số nó ở trên sẽ gọi là miền không gian tần số Trong miền không gian, một ảnh được xem như tập hợp các pixel Trong miền không gian tần số, một ảnh được xem như tổng vô hạn các hàm tuần hoàn Theo Daugnam, trong các thực nghiệm liên quan đến các dữ kiện sinh lý học và tâm lý học của hệ thống thị giác con người và đã chứng tỏ rằng có một sự liên hệ mật thiết giữa đáp ứng tần số (hay còn gọi là tỉ lệ) của chúng và đáp ứng hướng của chúng Ông đã chọn ra một hàm có khả năng điều chỉnh tần số và hướng một cách độc lập Hàm mà ông chọn chính là hàm Gabor hai chiều, hàm này giờ đây được
sử dụng rộng rãi trong các ứng dụng thị giác máy tính Daugman [5] đã tổng quát hóa hàm Gabor theo không gian hai chiều để mô hình những mảng tiếp thu của các tế bào đơn có định hướng chọn lựa:
(2.6)
Trang 342 2
được sử dụng rộng rãi trong thống kê để mô tả phân phối chuẩn, còn trong xử lý
tín hiệu thì dùng định nghĩa bộ lọc Gauss Tần số trung tâm của bộ lọc thứ i được
cho bởi vector có đặc tính sóng:
cossin
v ix
i
k k
Các bằng chứng thần kinh học gần đây cho thấy rằng cấu trúc không gian của vùng tiếp thu của các tế bào đơn có kích thước khác nhau thì hầu như bất biến Daugman và một vài nhà nghiên cứu khác đề xuất rằng, một tập các tế bào đơn được mô hình hóa tốt nhất như là một họ các Gabor wavelet hai chiều lấy mẫu trong miền tần số Họ này tương đương với một họ các trạng thái dính affine sinh bởi phép quay và phép giãn Sự phân tích một ảnh I trong các trạng thái trên chính
là biến đổi wavelet của một ảnh:
R x =I x x−x dx
Với I x( ) là giá trị cường độ ảnh tại x
Mỗi thành phần trong họ Gabor wavelet mô hình một cấu trúc không gian vùng tiếp thu của một tế bào đơn trong vỏ não nguyên thủy Phân tích Gabor có thể xem như một chiếc kính hiển vi nhạy cảm với hướng và tỷ lệ [5, 6] Do tính chất riêng của các tế bào này, chúng phản ứng với các đường thẳng ngắn, những điểm kết của đường và sự thay đổi sắc, nhọn trong độ cong Bởi vì những đường cong thường ứng với một số đặc trưng lồi mức thấp trong một ảnh nên có thể xem
(2.7)
(2.8)
(2.9)
Trang 35Hình 2.3 – (Trái) Một họ Gabor wavelet; (Phải) Độ phủ của nó trong mặt phẳng
tần số
Hình 2.4 – Một tập nhỏ các đặc trưng có thể nhận dạng mặt người và các vùng tiếp thu được đối chiếu với vài đặc trưng địa phương trên khuôn mặt (a) miệng, (b) mũi, (c) mi mắt, (d) đường viền hàm dưới, (e) gò má
các tế bào này như một bản đồ các đặc trưng mức thấp của ảnh xám, hình 2.3, hình 2.4
Từ khi Gabor wavelet được giới thiệu trong lĩnh vực thị giác máy tính, một trong những ứng dụng quan trọng nhất của biểu diễn Gabor wavelet hai chiều là nhận dạng khuôn mặt người Đã có một số nghiên cứu về hệ thống nhận dạng khuôn mặt người trong đó áp dụng biểu diễn Gabor wavelet, nổi bật là vài hệ thống nhận dạng cùa chính phủ Mỹ, hệ thống của B.S Manjunath…
Trang 362.1.7 Chọn Gabor wavelet biểu diễn khuôn mặt người
Do nhận dạng khuôn mặt người không phải là một nhiệm vụ khó đối với con người nên việc chọn các bộ lọc Gabor là hợp lý cho vấn đề này Các bộ lọc Gabor, mô hình các phản ứng của các tế bào đơn trong vỏ não nguyên thủy, là những song phẳng đơn giản được thu hẹp bởi hàm bao Gauss
Ta thấy rằng, một Gabor wavelet có ba đặc tính quan trọng là vị trí, hướng
và tỉ lệ Do đó, khi áp dụng Gabor wavelet để rút trích đặc trưng trên ảnh chúng ta cần phải xác định rõ hai tham số quan trọng là hướng và tỉ lệ
Tuy nhiên, vấn đề xác định hai tham số trên vẫn còn là một vấn đề mở Vì hiện nay, chưa có một báo cáo nào cho thấy với mỗi ứng dụng cụ thể, trong đó, có thể sử dụng Gabor wavelvet để trích các đặc trưng nên chọn hướng và tỉ lệ như thế nào? Bao nhiêu hướng, bao nhiêu tỉ lệ có thể chọn? Và giá trị của chúng là bao nhiêu? Chẳng hạn, trong lĩnh vực nhận dạng chữ viết tay bằng tiếng Anh, các tác giả sử dụng tối đa 16 Gabor wavelet (chọn 4 hướng và 4 tỉ lệ)
Trong các ứng dụng về nhận dạng mặt người, số lượng các bộ lọc Gabor được chọn còn tùy thuộc vào tập ảnh mà chúng ta sử dụng cũng như tùy thuộc vào
sự khác nhau của các ứng dụng Tuy nhiên, thông thường thì người ta thường sử dụng 40 bộ lọc (8 hướng và 5 tỉ lệ khác nhau) [5, 7, 10, 11, 12, 18, 19] Do đó, trong luận văn này chúng tôi cũng sử dụng 40 bộ lọc như trên để tìm ra các vectơ đặc trưng Gabor của ảnh khuôn mặt
Sau đây, chúng ta sẽ nhắc lại định nghĩa các Gabor wavelet và xem xét một
số vấn đề liên quan đến việc chọn hướng và tỉ lệ và một số thông số khác cho Gabor wavelet
Các Gabor wavelet , (còn gọi là bộ lọc Gabor hay nhân Gabor) được xác định như sau:
2 2,
Trang 37Trong đó, z = (x,y) là một điểm trong không gian hai chiều Các tham số và
được định nghĩa lần lượt là hướng và tỉ lệ của nhân Gabor, σ là độ lệch chuẩn của
phân phối Gauss, ||.|| là toán tử tính chuẩn Một Gabor wavelet có ba thuộc tính quan trọng là: vị trí, hướng và tỉ lệ
Một vectơ sóng k , được xác định như sau, , i
k k e
= Trong đó kmax
k f
= là hướng của sóng, với kmax là tần số tối đa của sóng,
f là hệ số khoảng cách giữa các nhân trong miền tần số Các Gabor wavelet được tạo ra từ một bộ lọc bằng cách thay đổi các hướng và tỉ lệ của vectơ k ,
Trong luận văn, chúng tôi đề xuất sử dụng 8 hướng khác nhau và 5 tỉ lệ khác nhau để tạo thành 40 bộ lọc Gabor, cụ thể {0, , 7} và {0, , 4} Ngoài
ra, các thông số σ, kmax và f thường được chọn để xây dựng một Gabor wavelet
như sau: =2 , max
Như vậy, với bộ lọc Gabor, ta đã có thể rút trích được các đặc trưng tiêu biểu đại diện cho ảnh, ta gọi chúng là các đặc trưng Gabor Lợi ích của đặc trưng Gabor 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
Trang 38Biến thiên hướng
Hình 2.6 – Ví dụ của ảnh mặt người phản ứng trên bộ lọc Gabor, (a) ảnh mặt người gốc; (b) phản ứng của bộ lọc
Trang 392.2 Tổng quan về AdaBoost
2.2.1 Giới thiệu
AdaBoost (Adaptive Boost) là một tiếp cận Boosting được Freund và
Schapire [4] đưa ra vào năm 1995 Cũng giống như Boosting, AdaBoost là
phương pháp dùng để tăng độ chính xác cho các thuật toán học AdaBoost ra đời dùng để giải quyết các hạn chế mà Boosting chưa giải quyết được AdaBoost là phương pháp nhận dạng dựa trên lý thuyết học thống kê ngày cà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ại mẫ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ương pháp cổ điển khác:
dể dàng xử lý, thực hiện nhanh chóng, xử lý với tính ổn định cao trên dữ liệu phức
tạp, có số chiều cao và quan trọng là khả năng xử lý tổng quát
2.2.2 Phương pháp Boosting
Boosting là kỹ thuật dùng để tăng độ chính xác cho các thuật toán học Boosting có nguồn gốc cơ sở lý thuyết dựa trên mô hình PAC (Probably Approximately Correct) Boosting ra đời như một câu trả lời cho câu hỏi của Kearns: “Liệu có thể xây dựng một học viên mạnh từ một tập hợp các học viên yếu? ” Nguyên lý cơ bản của nó là kết hợp các bộ phân loại thành một bộ phân loại mạnh Trong đó, bộ phân loại yếu là các bộ phân loại đơn giản chỉ cần có độ chính xác trên 50%, các bộ phân loại yếu này thì tốt hơn so với việc dự đoán một cách ngẫu nhiên Bằng cách này, chúng ta nói bộ phân loại đã được “boost”
Ví dụ 2.1: Một người cá cược đua ngựa với hy vọng tối ưu hóa chiến thắng
đã quyết định tạo ra một chương trình máy tính có thể dự đoán một cách chính xác con ngựa thắng cuộc trong một cuộc đua với những thông tin thông thường như:
số trận thắng của mỗi con ngựa, tỉ lệ đặt cược của mỗi con… Để tạo một chương trình như vậy, anh ta yêu cầu một chuyên gia cá cược rất thành công giải thích chiến lược đặt cược của mình Tất nhiên, người chuyên gia không thể đưa ra rõ
Trang 40ràng một tập hợp lớn gồm những nguyên tắc để chọn một con ngựa Mặt khác, khi được giới thiệu tập dữ liệu cụ thể của các cuộc đua, người chuyên gia không ngần ngại đưa ra “nguyên tắc ngón tay cái” cho tập dữ liệu này, chẳng hạng: đặt cược cho con ngựa thắng hầu hết các cuộc đua gần đây, hay đặt cho con ngựa có tỉ lệ cược tốt nhất… Hiển nhiên, bản thân “nguyên tắc ngón tay cái” vốn rất thô và không chính xác, nhưng nó vẫn đưa ra những dự đoán một cách hợp lý và ít nhất
nó cũng tốt hơn việc dự đoán ngẫu nhiên Hơn nữa, bằng cách hỏi đi hỏi lại ý kiến của người chuyên gia đối với những tập hợp khác nhau, người cá cược đã có thể rút trích được nhiều “nguyên tắc ngón tay cái”
Nhưng để sử dụng những “nguyên tắc ngón tay cái” này có hiệu quả nhất, người cá cược phải đối mặt với hai vấn đề Đầu tiên, anh ta phải chọn những tập
dữ liệu như thế nào để khi giới thiệu với người chuyên gia, anh ta có thể rút ra những nguyên tắc hữu dụng nhất Thứ hai, một khi anh ta đã thu thập được nhiều nguyên tắc, anh ta phải kết hợp chúng lại như thế nào để tạo ra một luật dự đoán đơn lẻ và chính xác cao
Boosting là một phương pháp hiệu quả để đưa ra một nguyên tắc dự báo chính xác bằng cách kết hợp những nguyên tắc thô và thiếu chính xác trong một
khía cạnh nào đó, tương tự với ví dụ 2.1
Tiến trình của Boosting như sau: cung cấp cho “booster” một tập huấn luyện được dán nhãn gồm các mẫu ( ,x y1 1), , (x N,y N), với mỗi y i là một nhãn tương ứng cho x i; trở lại ví dụ cá cược đua ngựa ở trên, x i có thể xem là dữ liệu quan sát được từ mỗi cuộc đua cụ thể và y i sẽ là con ngựa thắng cuộc ở mỗi cuộc đua Với mỗi vòng lặp t = 1,2,…,T “booster” sẽ thiết lập một phân phối D t trên tập hợp các mẫu và yêu cầu (từ một sự chỉ dẫn nào đó) một giả thuyết yếu hay nguyên tắc ngón tay cái h t với một sai số thấp t đối với D t Do đó, phân phối
t
D định rõ tầm quan trọng tương đối của mỗi mẫu trên vòng lặp hiện hành Sau