PHẦN MỞ ĐẦU Hơn một thập kỷ vừa qua, thế giới đã chứng kiến sự xuất hiện của rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người, từ ảnh đen trắng, xám đến ảnh màu, từ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐÀO VŨ CHIẾN
PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH THEO HƯỚNG TIẾP CẬN THÀNH PHẦN
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Hà Nội – 2011
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐÀO VŨ CHIẾN
PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH THEO HƯỚNG TIẾP CẬN THÀNH PHẦN
Chuyên ngành : Hệ thống thông tin
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: PGS TS Đỗ Năng Toàn
Hà Nội – 2011
Trang 3MỤC LỤC
PHẦN MỞ ĐẦU 1
DANH SÁCH TỪ VIẾT TẮT 3
CHƯƠNG 1 KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH 4
1.1 Khái quát về xử lý ảnh 4
1.1.1 Xử lý ảnh là gì? 4
1.1.2 Các vấn đề cơ bản trong xử lý ảnh 4
1.1.2.1 Một số khái niệm cơ bản 4
1.1.2.2 Nắn chỉnh biến dạng 5
1.1.2.3 Khử nhiễu 6
1.1.2.4 Chỉnh mức xám 6
1.1.2.5 Trích chọn đặc điểm 6
1.1.2.6 Nhận dạng 7
1.1.2.7 Nén ảnh 10
1.2 Phát hiện mặt người trong xử lý ảnh 10
1.2.1 Bài toán 10
1.2.2 Những khó khăn của bài toán phát hiện khuôn mặt 11
1.2.2.1 Tư thế, góc chụp 11
1.2.2.2 Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt 11
1.2.2.3 Sự biểu cảm của khuôn mặt 12
1.2.2.4 Sự che khuất: 12
1.2.2.5 Điều kiện của ảnh 13
CHƯƠNG 2 PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH THEO HƯỚNG TIẾP CẬN THÀNH PHẦN 15
2.1 Sử dụng kỹ thuật PCA 15
2.1.1 Các khái niệm cơ bản 15
2.1.1.1 Độ lệch chuẩn 15
2.1.1.2 Phương sai 16
2.1.1.3 Hiệp phương sai 16
2.1.1.4 Ma trận hiệp phương sai 17
2.1.1.5 Ma trận đại số 17
Trang 42.1.1.5.1 Eigenvector (Vectơ riêng) 18
2.1.1.5.2 Eigenvalue (Giá trị riêng) 18
2.1.2 Kỹ thuật phân tích thành phần chính (PCA–Principal Components Analysis) 19
2.1.2.1 Phương pháp 19
2.1.2.2 Eigenface 25
2.1.2.3 Triển khai 25
2.2 Phương pháp sử dụng đặc trưng Haar kết hợp Adaboost 28
2.2.1 Adaboost 28
2.2.2 Đặc trưng Haar 31
2.2.3 Hệ thống xác định vị trí khuôn mặt trong ảnh 34
2.3 Dựa trên đặc trưng không thay đổi 35
2.3.1 Các đặc trưng khuôn mặt 35
2.3.2 Kết cấu 39
2.3.3 Sắc màu của da 40
2.3.4 Đa đặc trưng 40
2.4 Dựa trên so khớp mẫu 43
2.4.1 Xác định các mẫu trước 44
2.4.2 Các mẫu bị biến dạng 48
CHƯƠNG 3 CHƯƠNG TRÌNH THỬ NGHIỆM 50
3.1 Bài toán 50
3.2 Hướng nghiên cứu 50
3.2.1 Phân loại thành phần khuôn mặt 50
3.2.2 Cấu trúc các bộ nhận dạng 51
3.3 Phân tích, thiết kế 51
3.4 Giao diện và cách sử dụng 54
3.5 Kết quả thử nghiệm 55
3.5.1 Góc chụp so với hướng ống kính 55
3.5.2 Kích thước khuôn mặt 57
3.5.3 Các kết quả thực nghiệm khác 57
PHẦN KẾT LUẬN 59
Trang 5PHẦN MỞ ĐẦU
Hơn một thập kỷ vừa qua, thế giới đã chứng kiến sự xuất hiện của rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người, từ ảnh đen trắng, xám đến ảnh màu, từ ảnh tĩnh đến những dữ liệu ảnh thu nhận được từ camera như ngày hôm nay Phát hiện khuôn mặt trong ảnh số là vấn đề đang được quan tâm và phát triển Nhiều hướng tiếp cận, nhiều phương pháp được nghiên cứu và đề xuất để phát hiện khuôn mặt trong ảnh hoặc chuỗi ảnh Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng trong ảnh đen trắng Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay đổi trong ảnh Không những vậy mà còn mở rộng cả phạm vi từ môi trường xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức tạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thật
sự và rất nhiều của con người
Bài toán xác định khuôn mặt người (Face Detection) là một phần quan trọng trong bài toán nhận dạng mặt người, một bài toán liên quan đến rất nhiều ứng dụng trong thực tế đời sống Sau đây là một số ứng dụng đã
và đang được thiết kế:
Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay, Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý
Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân viên và chấm công
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 đó
là 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 (visual input, visual interaction)
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ư: Đài truyền hình Việt Nam (VTV) 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ó G Bush hoặc Bin Laden
Trang 6 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, khoá,
Đề tài được tổ chức thành ba chương với nội dung:
Chương 1 Khái quát về xử lý ảnh và phát phát hiện mặt người trong ảnh: Giới thiệu tổng quan về các khái niệm căn bản trong lĩnh vực
xử lý ảnh và của bài toán phát hiện mặt người trong ảnh, xác định bài toán
và những khó khăn gặp phải khi giải quyết bài toán này
Chương 2 Phát hiện mặt người trong ảnh theo hướng tiếp cận thành phần: Giới thiệu một số kĩ thuật phát hiện mặt người trong ảnh theo
hướng tiếp cận thành phần
Chương 3 Chương trình thử nghiệm: Xác định yêu cầu của bài
toán, phân tích thiết kế và giới thiệu chức năng chính, cài đặt thử nghiệm một chương trình phát hiện mặt người trong ảnh theo hướng tiếp cận thành phần
Trang 7DANH SÁCH TỪ VIẾT TẮT
Trang 8và có nhiều ứng dụng trong cuộc sống Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong tương tác người máy
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận
1.1.2.1 Một số khái niệm cơ bản
Ảnh và điểm ảnh: Điểm ảnh được xem như là dấu hiệu hay cường
độ sáng tại một toạ độ trong không gian của đối tượng và ảnh được xem như là một tập hợp các điểm ảnh
Mức xám, màu: Là số các giá trị có thể có của các điểm ảnh
của ảnh
Trang 91.1.2.2 Nắn chỉnh biến dạng
Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử
Hình 1.2: Mô hình việc nắn chỉnh biến dạng
Để khắc phục người ta sử dụng các phép chiếu, các phép chiếu thường được xây dựng trên tập các điểm điều khiển
Giả sử (Pi, P'
i)n
i 1 có n các tập điều khiển Tìm hàm f: Pi f(Pi) sao cho:
Giả sử ảnh bị biến đổi chỉ bao gồm: Tịnh tiến, quay, tỷ lệ, biến dạng bậc nhất tuyến tính Khi đó hàm f có dạng:
f (x, y) = (a1x + b1y + c1, a2x + b2y + c2)
Ta có:
Để cho φ → min
Trang 10Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh
- Nhiễu hệ thống: Nhiễu có quy luật có thể khử bằng các phép biến
- Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian
bằng kỹ thuật nội suy Kỹ thuật này nhằm tăng cường độ mịn cho ảnh
1.1.2.5 Trích chọn đặc điểm
Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử lý ảnh Có thể nêu ra một số đặc điểm của ảnh sau đây:
- Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên
độ, điểm uốn
Trang 11- Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng
việc thực hiện lọc vùng (zonal filtering) Các bộ vùng được gọi là “mặt nạ đặc điểm” (feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn, )
- Đặc điểm biên và đường biên: Đặc trưng đường biên của đối
tượng rất hữu ích trong việc trích chọn các thuộc tính bất biến và được dùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing),
Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: Mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng (vaguely defined) và
có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói Khi có một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:
Trang 12 Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt (discriminant analyis), trong đó mẫu đầu vào đƣợc định danh nhƣ một thành phần của một lớp đã xác định
Hoặc phân loại không có mẫu (unsupervised classification hay clustering) trong đó các mẫu đƣợc gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫn chƣa biết hay chƣa đƣợc định danh
Những ứng dụng của các hệ thống nhận dạng mẫu nói chung và hệ thống nhận dạng trong xử lý ảnh với dữ liệu hình ảnh là rất lớn và bao trùm một phạm vi rộng lớn của cuộc sống Sau đây là một số ví dụ trong một vài hoạt động chuyên ngành:
Các nghiên cứu di truyền học
Quản lý công dân:
Phân tích và điều khiển luồng giao thông
Trang 13 Phân loại các loại đá
Ƣớc lƣợng những tài nguyên khai thác
Phân tích nguồn tài nguyên địa chất sử dụng những hình ảnh
vệ tinh
Phân tích địa chấn
Y học:
Phân tích điện tâm đồ
Phân tích điện não đồ
Phân tích những hình ảnh nội khoa
Quân sự:
Phân tích ảnh chụp không gian
Phát hiện và phân loại các sóng ra đa và sóng siêu âm
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả
Trang 14những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu
1.1.2.7 Nén ảnh
Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cả hai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:
- Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần suất xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hoá thích hợp Một ví dụ điển hình cho kỹ thuật mã hoá này là *.TIF
- Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh để tiến hành mã hoá Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần nhau Ví dụ cho kỹ thuật này là mã nén *.PCX
- Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không bảo toàn và do vậy, kỹ thuật thường nến hiệu quả hơn
*.JPG chính là tiếp cận theo kỹ thuật nén này
- Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal
1.2 Phát hiện mặt người trong xử lý ảnh
1.2.1 Bài toán
Phát hiện khuôn mặt người (Face Detection) là một kỹ thuật máy tính để xác định các vị trí và các kích thước của các khuôn mặt người trong các ảnh bất kỳ (ảnh kỹ thuật số) Kỹ thuật này nhận biết các đặc trưng của khuôn mặt và bỏ qua những thứ khác, như: Toà nhà, cây cối, cơ thể, …
Phát hiện khuôn mặt được coi như một giai đoạn quan trọng trong hệ thống nhận dạng khuôn mặt Việc xác định chính xác vị trí và kích thước các khuôn mặt trong ảnh là một trong những yếu tố quyết định để giai đoạn kiểm tra xem khuôn mặt vừa tìm thấy là ai được chính xác
Trang 151.2.2 Những khó khăn của bài toán phát hiện khuôn mặt
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 70 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 nói chung và bài toán phát hiện khuôn mặt nói riêng có thể kể như sau:
1.2.2.1 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, 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
Hình 1.3: Hướng mặt nghiêng
Hình 1.4: Máy ảnh đặt phía trên và sau lưng người chụp
1.2.2.2 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
Trang 16Hình 1.6: Một khuôn mặt biểu cảm phức tạp 1.2.2.4 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ình 1.7: Khuôn mặt bị che khuất một phần
Trang 171.2.2.5 Đ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
Hình 1.8: Ảnh chụp trong nhà
Hình 1.9: Ảnh chụp ngoài trời
Hình 1.10: Ảnh chụp ngược sáng
Trang 18Hình 1.11: Ảnh bị chói do đèn
Một vài ví dụ cho việc các hệ thống phát hiện và nhận dạng mặt người hoạt động không hiệu quả:
Vào năm 2001, Sở cảnh sát Tampa đã lắp đặt một hệ thống camera
có gắn phần mềm nhận diện khuôn mặt tại quận Ybor City vốn nổi tiếng về các hoạt động về đêm nhằm giảm bớt tỉ lệ tội phạm trong khu vực này Nhưng kế hoạch này đã hoàn toàn thất bại, và nó bị đình chỉ vào năm 2003
do thiếu hiệu quả Bởi những người sống trong khu vực này đã đeo mặt nạ
và thực hiện hành vi phạm tội khiến cho camera không thể nhận diện được bất kỳ ai
Sân bay Logan ở Boston cũng đã nhờ những người tình nguyện thực hiện hai bài kiểm tra hệ thống nhận diện khuôn mặt riêng biệt tại các điểm chốt an ninh của sân bay Sau một khoảng thời gian kiểm tra 3 tháng, kết quả thu được thật đáng thất vọng Theo như Trung tâm thông tin bảo mật điện tử, hệ thống này chỉ đạt tỉ lệ chính xác là 61.4%, buộc các nhà quản lý sân bay phải tính đến những lựa chọn an ninh khác
Trang 192.1.1 Các khái niệm cơ bản
Phần này giới thiệu về các khái niệm toán học sẽ được sử dụng trong PCA Các khái niệm đó bao gồm: Độ lệch chuẩn (Standard deviation), phương sai (variance), hiệp phương sai (covariance), vec tơ riêng (eigenvector), giá trị riêng (eigenvalue)
[0 8 12 20] và [8 9 11 12]
Có trung bình mẫu bằng nhau nhưng lại khá khác nhau Sự khác biệt
ở đây chính là khoảng cách của dữ liệu Và độ lệch chuẩn là đại lượng để
đo khoảng cách này Ta có thể hiểu độ lệch chuẩn là khoảng cách trung bình từ trung bình mẫu đến các điểm của dữ liệu
Ta có công thức:
) 1 (
) (
n
Trang 20Ta có thể dễ dàng nhận thấy tập dữ liệu 1 có độ lệch chuẩn lớn hơn
có khoảng cách lớn hơn tập dữ liệu 2
2.1.1.2 Phương sai
Phương sai là một đại lượng khác dùng để đo khoảng cách của dữ
)1(
)(
1
2 2
n
Dễ thấy phương sai chính là bình phương độ lệch chuẩn
2.1.1.3 Hiệp phương sai
Ta thấy rằng 2 đại lượng độ lệch chuẩn và phương sai chỉ sử dụng được trong 1 chiều Trong thực tế dữ liệu có thể có rất nhiều chiều Một ví
dụ đơn giản ta có dữ liệu về cân nặng và điểm số của toàn bộ sinh viên trong lớp K15-T4 Đối với dữ liệu này, độ lệch chuẩn và phương sai chỉ tính được trên từng chiều riêng biệt và ta không thấy được mối liên hệ giữa
2 chiều này
Trang 21Tương tự phương sai, hiệp phương sai là đại lượng đo sự biến thiên giữa 2 chiều Nếu tính hiệp phương sai giữa 1 chiều với chính nó ta được phương sai của chiều đó Nếu tập dữ liệu có 3 chiều x, y, z ta có thể tính hiệp phương sai của từng cặp chiều (x, y), (y, z), (z, x) Công thức của hiệp phương sai tương tự công thức của phương sai Công thức của phương sai được khai triển như sau:
)1(
)(
()
N I
Và công thức của hiệp phương sai:
)1(
)(
)(
),
2.1.1.4 Ma trận hiệp phương sai
Hiệp phương sai đó sự biến thiên giữa 2 chiều, do đó đối với tập dữ liệu có n chiều ta có
2 )!*
2 (
)) ,
cov(
, ( i,j i,j i j
n
x
n
Dim Dim
c c
Trong đó Cm x n là 1 ma trận với n hàng, n cột và Dim x là chiều thứ
x Ví dụ ma trận hiệp phương sai của 1 tập dữ liệu có 3 chiều x, y, z:
𝐶 =
𝑐𝑜𝑣(𝑥, 𝑥)𝑐𝑜𝑣(𝑦, 𝑥)𝑐𝑜𝑣(𝑧, 𝑥)
𝑐𝑜𝑣 𝑥, 𝑦 𝑐𝑜𝑣(𝑦, 𝑦)𝑐𝑜𝑣(𝑧, 𝑦)
𝑐𝑜𝑣(𝑥, 𝑧)𝑐𝑜𝑣(𝑦, 𝑧)𝑐𝑜𝑣(𝑧, 𝑧)
Trang 22Ta có thể nhân 2 ma trận với điều kiện kích cỡ phù hợp và eigenvector là 1 trường hợp đặc biệt của phép nhân này Quan sát 2 phép nhân ma trận với vector trên hình (2.1) Ở ví dụ thứ nhất vector kết quả không phải là một bội số của vector gốc trong khi ở ví dụ thứ 2 vector kết quả bằng 4 lần vector gốc Ta thấy rằng vector 32 trong ví dụ 2.2 biểu diễn
1 mũi tên từ điểm (0, 0) đến điểm (3, 2) và ma trận còn lại được hiểu là ma trận chuyển đổi Nếu ta nhân ma trận này về bên trái của vector thì vector mới nhận được chính là vector cũ bị tịnh tiến đi một lượng Đó là tính biến đổi của vector riêng
Các tính chất của vector riêng:
Chỉ các ma trận vuông (n x n) mới có vector riêng
Không phải mọi ma trận vuông đều có vector riêng
Nếu 1 ma trận vuông (n x n) có vector riêng thì sẽ có n vector riêng
Nếu nhân vector riêng với 1 số thì kết quả sau khi nhân với ma trận chuyển đổi, vector kết quả vẫn là vector ban đầu
Tất cả các vector riêng của 1 ma trận đều trực giao với nhau
2.1.1.5.2 Eigenvalue (Giá trị riêng)
Giá trị riêng là một khái niệm liên quan chặt chẽ đến vector riêng Thực tế chúng ta đã thấy 1 giá trị riêng trong hình 2.1 Chú ý trong cả 2 ví
dụ trên, số được nhận với 2 vector riêng bằng nhau và bằng 4; 4 được gọi là giá trị riêng ứng với 1 vector riêng (2 vector riêng trong 2 ví dụ trên là tương đương nhau) Giá trị riêng và vector riêng luôn đi với nhau thành một cặp
Trang 23 Rút gọn số liệu
Biểu diễn và giải thích tập số liệu
Việc phân tích các thành phần chính thường phát hiện ra các mối quan hệ tiềm ẩn trong các thành phần và cho phép ta giải thích các mối quan hệ đó Hơn nữa, việc phân tích các thành phần chính là một giai đoạn trung gian của các nghiên cứu khác, ví dụ như phân tích hồi quy, phân tích nhân tố thông qua các thành phần chính
Một vấn đề được đặt ra của việc phân tích thành phần chính là số thành phần chính chủ yếu, hay nói cách khác là cần phải giữ lại bao nhiêu thành phần chính giải thích các vấn đề liên quan tới thành phần chính
Thông thường các thành phần chính ứng với các giá trị riêng i rất nhỏ (i 0) không đóng vai trò gì trong phân tích số liệu và ta có thể loại
đi Theo ngôn ngữ về sự khôi phục thông tin về các số liệu ban đầu dựa trên các dự báo tuyến tính của các thành phần X , ,1 X pcủa vector X dựa trên các thông tin về quan sát các thành phần chính Y , ,1 Y pta chỉ cần giữ lại
Trang 24PCA là một công cụ thống kê đã được xây dựng trong các ứng dụng nhận dạng mặt người và nén ảnh, ngoài ra PCA còn là một công cụ được sử dụng phổ biến trong việc tìm mẫu cho dữ liệu nhiều chiều
2
1 1.5 1.1
2.4 0.7 2.9 2.2 3.0 2.7 1.6 1.4 1.6 0.9
Bước 2: Trừ dữ liệu cho kỳ vọng
Data Adjust =
.69 1.31 39 09 1.29 49 19 -.81 -.31 -.71
.49 -1.21 99 29 1.09 79 -.31 -.81 -.31 -1.01
Trang 25Hình 2.3: Mô tả dữ liệu đầu vào trên mặt phẳng 2 chiều
Bước 3: Tính ma trận hiệp phương sai
Trang 26 Có thể viết lại nhƣ sau:
DataAdjust tor
FeatureVec FinalData T
-.175115307 142857227 384374989 130417207 -.209498461 175282444 -.349824698 0464172582 0177646297 -.162675287
Trang 27Hình 2.4: Mô tả các thành phần chính trên mặt phẳng
Nếu chỉ chọn vector riêng ứng với giá trị riêng lớn nhất,
ta được thành phần chính là:
Bước 6: Khôi phục dữ liệu ban đầu
o DataAdjust FeatureVec torFinalData
Cộng thêm kỳ vọng ta sẽ được dữ liệu ban đầu
o Trong ví dụ với 1 thành phần chính:
DataAdjust
Trang 28 Dữ liệu ban đầu:
Hình 2.5: Dữ liệu được khôi phục lại với 1 thành phần chính
o Nhận xét: Nếu chỉ giữ lại một thành phần chính để khôi phục lại dữ liệu ban đầu bằng dự báo tuyến tính tối ưu x và y ban đầu qua 1 thành phần chính vừa tính thì sai số tương đối là:
Trang 29%6819,3036819
01.2840277189
Cho một tập các ảnh huấn luyện có kích thước n x m được mô tả bởi các vector có kích thước n x m Turk và Pentland dùng PCA trên tập huấn luyện ảnh các khuôn mặt để sinh các ảnh riêng (gọi là eigenface) để tìm một không gian con (không gian khuôn mặt) trong không gian ảnh Nếu cho 100 ảnh, mà mỗi khuôn mặt có kích thước 91x50 thì có thể chỉ dùng 50 ảnh riêng, trong khi vẫn duy trì được một khả năng giống nhau hợp lý (giữ được 95% tính chất) Các ảnh khuôn mặt được chiếu vào không gian con này và được gom nhóm lại Tương tự các ảnh không có khuôn mặt dùng để huấn luyện cũng được chiếu vào cùng không gian con và gom nhóm lại Các ảnh khuôn mặt khi chiếu vào không gian khuôn mặt thì ít bị thay đổi, trong khi chiếu các ảnh không phải khuôn mặt thì xuất hiện nhiều sự khác nhau Xác định sự có mặt của một khuôn mặt trong ảnh thông qua tất cả khoảng cách giữa các vị trí trong ảnh và không gian ảnh, đã có nhiều nghiên cứu về xác định khuôn mặt, nhận dạng, và trích đặc trưng từ ý tưởng vector riêng, phân rã, và gom nhóm
2.1.2.3 Triển khai
Ảnh khuôn mặt nói riêng và ảnh số nói chung được biểu diễn thông qua các giá trị của mỗi điểm ảnh Với một ảnh khuôn mặt đa cấp xám I có kích thước r x c, chúng ta có thể nói rằng mỗi ảnh khuôn mặt đó là một lưới các điểm ảnh với r hàng và c cột Tổng số điểm ảnh của mỗi bức ảnh sẽ là
N = rc Ảnh I đơn giản là một ma trận với mỗi thành phần là một giá trị 8 bit được biểu diễn thông qua từng điểm ảnh riêng biệt
Bây giờ bức ảnh đang xét được coi như một vector với độ dài N hay nói cách khác là một điểm trong không gian N chiều Xét một ví dụ với một ảnh đa cấp xám có kích thước 128 x 128, ảnh này sẽ là một điểm trong không gian 16384 chiều Một cách trực quan ta thấy rằng, khi kích thước của ảnh tăng lên, thì giá trị N, số chiều của không gian ảnh cũng tăng theo
Trang 30Vì những ảnh khuôn mặt là tương tự nhau nên những điểm biểu diễn ảnh khuôn mặt trong không gian ảnh sẽ không bị phân tán ngẫu nhiên trong không gian rộng mà sẽ hội tụ trong một vùng nhỏ của không gian ảnh Có thể hiểu một cách hình thức như sau:
Hình 2.6: Mô tả hình thức không gian các ảnh khuôn mặt trong không gian ảnh
Từ tập dữ liệu là một tập ảnh của một vài người, ta biểu diễn là một vector N chiều với M là tổng số vector
Tiếp theo ta tính khuôn mặt trung bình của tập dữ liệu:
Tiếp theo ta trừ mỗi ảnh khuôn mặt trong tập dữ liệu cho ảnh trung bình:
Tiếp theo ta tính ma trận hiệp phương sai:
Trang 31Tại đây ta có thể tận dụng một kết quả của đại số để giảm nhẹ chi phí tính toán
Đầu tiên ta xét ma trận A như sau:
Coi vi là vector riêng ứng với giá trị riêng i của ma trận A T A
Ta có:
Thực hiện biến đổi nhân cả hai vế với A, ta có:
Từ đây ta nhận thấy Av i là vector riêng của ma trận hiệp phương sai
C với i là giá trị riêng tương ứng Tức là ta có thể giải quyết bài toán trên
ma trận M x M thay vì ma trận N x N như cũ Tức là nếu với 100 ảnh huấn luyện có kích thước 128 x 128, ta có thể giải quyết ma trận 100 x 100 thay cho 16384 x 16384 như cũ
Các vector riêng ( eigenface ) tính được:
Trang 32Đầu tiên ta chiếu ảnh đó vào không gian mặt, tính vector trọng số:
Trong đó M' là số vector riêng tốt nhất đƣợc chọn
Để phân lớp ta tính khoảng cách đến không gian mặt, khoảng cách
ta nói bộ phân loại đã đƣợc “boost”
Adaboost là một tiếp cận boosting đƣợc Freund và Schapire đƣa ra vào năm 1995 Adaboost cũng hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifiers để có một strong classifier
Trang 33Là một cải tiến của tiếp cận boosting, Adaboost sử dụng thêm khái niệm 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 kế tiếp: 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 classifiers trước nó chưa làm tốt Sau cùng, các weak classifiers sẽ được kết hợp tuỳ theo mức độ “tốt” của chúng để tạo dựng nên strong classifier
Có thể hình dung một cách trực quan như sau: Để biết một ảnh có phải là bàn tay hay không, ta hỏi T người (tương đương với T weak classifiers xây dựng từ T vòng lặp của boosting), đánh giá của mỗi người (tương đương với một weak classifier) chỉ cần tốt hơn ngẫu nhiên một chút (tỉ lệ sai dưới 50%) Sau đó, ta sẽ đánh trọng số cho đánh giá của từng người (thể hiện qua hệ số α), người nào có khả năng đánh giá tốt các mẫu khó thì mức độ quan trọng của người đó trong kết luận cuối cùng sẽ cao hơn những người chỉ đánh giá tốt được các mẫu dễ Việc cập nhật lại trọng
số của các mẫu sau mỗi vòng boosting chính là để đánh giá độ khó của các mẫu (mẫu càng có nhiều người đánh giá sai là mẫu càng khó)
Các weak classifiers hk(x) được biểu diễn như sau:
𝑘 𝑥 = 1, 𝑝𝑘𝑓𝑘 𝑥 < 𝑝𝑘𝜃𝑘
0, 𝑜𝑡𝑒𝑟𝑤𝑖𝑠𝑒 Trong đó:
• x = (x1, x2, , Xn): vector đặc trưng của mẫu
• θ: ngưỡng
• fk: hàm lượng giá vector đặc trưng của mẫu
• pk: hệ số quyết định chiều của bất phương trình
Hình 2.7: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh