Công nghệ nhận diện khuôn mặt mang lại nhiều ứng dụng hữu ích và thiết thực trong cuộc sống hàng ngày như phần mềm mở khóa điện thoại, hệ thống chấm công không chạm, hay các hệ thống cam
Trang 1SOUVANNAKHAMPHONG SAYSAMONE
NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG KHUÔN MẶT DỰA TRÊN
PHƯƠNG PHÁP BIẾN ĐỔI EIGENFACES
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên, 12 - 2022
Trang 2ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
SOUVANNAKHAMPHONG SAYSAMONE
NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG KHUÔN MẶT DỰA TRÊN
PHƯƠNG PHÁP BIẾN ĐỔI EIGENFACES
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Mã số: 84 80 101
Người hướng dẫn khoa học: TS NGUYỄN HẢI MINH
Thái Nguyên, 12-2022
Trang 3LỜI CẢM ƠN Đầu tiên, tôi xin gửi lời cảm ơn sâu sắc tới thầy TS Nguyễn Hải Minh,
thầy đã tận tình hướng dẫn và chỉ bảo và giúp đỡ tôi thực hiện luận văn này Tôi xin chân thành cảm ơn Ban giám hiệu trường Đại học Công nghệ thông tin và Truyền thông đã quan tâm tới các học viên quốc tế; các thầy cô trong trường đã tận tình giảng dạy và tạo điều kiện thuận lợi để tôi có thể học tập và rèn luyện trong suốt thời gian theo học tại Trường
Tôi xin chân thành cảm ơn những người thân và các bạn bè đã chia sẻ, giúp đỡ tôi hoàn thành luận văn này
Mặc dù đã hết sức cố gắng, nhưng do thời gian và kinh nghiệm nghiên cứu còn có nhiều hạn chế, tiếng Việt chưa thực sự thông thạo nên luận văn vẫn còn một số thiếu sót Kính mong các Thầy/Cô và các bạn góp ý để tôi có thể kịp thời chỉnh sửa
Tôi xin chân thành cảm ơn!
Thái Nguyên, tháng 12 năm 2022
Học viên thực hiện
SOUVANNAKHAMPHONG SAYSAMONE
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan nội dung và kết quả nghiên cứu trong luận văn này là trung thực và những nội dung trùng lặp với các đề tài khác đều đã được chú thích tham khảo theo đúng quy định Tôi cũng xin cam đoan mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc
Thái Nguyên, tháng 12 năm 2022
SOUVANNAKHAMPHONG Saysamone
Trang 5MỤC LỤC
LỜI CẢM ƠN I LỜI CAM ĐOAN II DANH MỤC CHỮ VIẾT TẮT V DANH MỤC CÁC HÌNH VẼ VI
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH 3
1.1 GIỚI THIỆU CHUNG VỀ XỬ LÝ ẢNH SỐ VÀ ỨNG DỤNG 3
1.2 TỔNG QUAN VỀ CÁC KỸ THUẬT XỬ LÝ ẢNH SỐ 3
1.3 CÁC KHÔNG GIAN MÀU VÀ ẢNH MÀU 5
1.3.1 Không gian màu RGB 6
1.3.2 Không gian màu HSV 8
1.3.3 Không gian màu CIE LAB 9
1.4 XỬ LÝ HÌNH THÁI TRÊN ẢNH NHỊ PHÂN 10
1.4.1 Khái niệm cơ bản 10
1.4.2 Phép dãn (Dilation) và phép co (Erosion) 12
1.4.3 Phép mở và đóng nhị phân (Opening and Closing) 15
1.4.4 Phép toán (Hit-or-Miss) 16
CHƯƠNG 2: CÁC PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT 18
2.1 EIGENFACES 18
2.1.1 Các gian đoạn của Eigenfaces 18
2.1.2 Tính toán Eigenfaces 21
2.1.3 Sử dụng Eigenface để phân lớp 28
2.1.4 Kết luận nhận dạng bằng Eigenface 30
2.2 MẠNG NƠRON (Artificial Neural Network) 32
2.2.1 Giới thiệu về mạng Nơron nhân tạo 32
2.2.2 Mô hình mạng Nơron 32
2.3 MÔ HÌNH MARKOV ẨN 35
2.3.1 Giới thiệu mô hình Markov ẩn 35
2.3.2 Nhận dạng khuôn mặt bằng mô hình Markov ẩn 37
Trang 62.4 SUPPORT VECTOR MACHINE 37
2.4.1 Sơ lược lý thuyết SVM 37
2.4.2 Nhân dạng khuôn mặt bằng SVM 43
CHƯƠNG 3: NHẬN DẠNG KHUÔN MẶT SỬ DỤNG EIGENFACES 46
3.1 GIỚI THIỆU VỀ CÔNG CỤ HỖ TRỢ 46
3.2 NHẬN DẠNG KHUÔN MẶT 46
3.3 CƠ SỞ DỮ LIỆU KHUÔN MẶT 48
3.4 CHUẨN BỊ DỮ LIỆU 49
3.5 KỸ THUẬT EIGENFACES 49
3.6 MÃ NGUỒN CÀI ĐẶT 52
3.6.1 Eigenfaces in OpenCV 52
3.6.2 Mã nguồn hiển thị và ghi dữ liệu ảnh 61
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO 64
Trang 7DANH MỤC CHỮ VIẾT TẮT
GFM Geometrical Feature Mtching
SVM Support Vector Machine
MCSs Multiple Classifier Systems
SE Structuring Element
PCA Principal Component Analysis
LIF Linear Image Filter
sRGB Standard Red, Green and Blue
HSV(HSB) Hue, Saturation and Value (Hue, Saturation and Bright) CIE International Commission on Illumination
MIP Morphological Image Processing
ANN Artificial Neural Network
MLP Multi Layer Perceptron
RL Reinforcement Learning
OpenCV Open Source Computer Vision
CSV Comma Separated Values
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1 1: Các bước chính trong xử lý ảnh số 3
Hình 1 2 : Có nhiều hệ màu trong color space 6
Hình 1 3 : Không gian màu RGB 7
Hình 1 4 : Không gian màu HSV 9
Hình 1 5 : Không gian màu CIE 10
Hình 1 6: Toán tử hình thái (Morphological Operator) 11
Hình 1 7 : Phần tử cấu trúc (Structuring Element) 12
Hình 1 8 : Minh họa về cách hoạt động của phép dãn 13
Hình 1 9 : Minh họa về cách hoạt động của phép co 14
Hình 1 10 : Kết quả phép dãn và phép co 14
Hình 1 11 : Phép mở và đóng nhị phân 15
Hình 1 12 : Phép mở và đóng nhị phân các đường vân tay 15
Hình 1 13: Ứng dụng khác của phép mơ và đóng nhị phân 16
Hình 1 14: Phép toán (Hit or Miss) 17
Hình 2 1:Mạng nơron chỉ có 1 nút và có sự phản hồi 33
Hình 2 2:Mạng nơron truyền thẳng 1 lớp 33
Hình 2 3: Mạng nơron hồi quy 1 lớp 34
Hình 2 4: Mạng MLP tổng quát 34
Hình 2 5:Mô hình Markov ẩn 36
Hình 2 6: siêu mặt phân cách tuyến tính cho trường hợp phân cách được và ký hiệu các support vestor chính là các điểm được bao bằng viền tròn 39
Hình 2 7:ảnh, trong H, với hình vuông [1,-1] €R2 dưới ánh xạ ϴ 42
Hình 2 8: cây nhị phân: Cấu trúc cây nhị phân với số lớp bằng số mũ của 2 Phải: số mũ không bằng số mũ của 2 44
Hình 3 1:Kết quả phân tách ảnh dựa trên kỹ thuật Eigenface 51
Hình 3 2: Kết quả phân tách ảnh khi sử dụng ảnh chụp với các góc nghiêng 51
Trang 9MỞ ĐẦU
Nhận diện khuôn mặt là thuật toán xác định danh tính của một cá nhân bằng đặc trưng dựa trên khuôn mặt của họ Hệ thống nhận diện khuôn mặt thường được sử dụng để xác định một người thông qua hình ảnh hoặc video trong thời gian thực Công nghệ nhận diện khuôn mặt mang lại nhiều ứng dụng hữu ích và thiết thực trong cuộc sống hàng ngày như phần mềm mở khóa điện thoại, hệ thống chấm công không chạm, hay các hệ thống camera giám sát an ninh, an toàn trong các trung tâm thương mại, trường học, bệnh viện… Các hệ thống công nghệ trên khuôn mặt có thể khác nhau, nhưng nhìn chung, chúng
có xu hướng hoạt động theo như sau: nhận diện khuôn mặt, phân tích khuôn mặt, chuyển đổi hình ảnh thành dữ liệu, tìm kết quả nhận diện khuôn mặt phù hợp Hiện nay có rất nhiều phương pháp và kỹ thuật đã được các nhà khoa học
áp dụng để xây dựng hệ thống như: hệ thống nhận dạng vân tay, nhận dạng và phát hiện cử chỉ, nhận dạng biển số xe … Các phương pháp phổ biến hiện nay được áp dụng như: Eigenfaces, Neural Network, Geometrical Feature Matching, Support Vector Machine (SVM)… Nhưng tôi đã chứng có hiệu quả cao và ổn định Do đó, đề tài này tôi tập trung vào nghiên cứu, tìm hiểu và vận dụng kỹ thuật của phương pháp Eigenfaces Để hỗ trợ phát triển hệ thống nhận dạng khuôn mặt cho sinh viên trường Cao đẳng Sư phạm Bankuen – Lào với mục tiêu việc nhận dạng trên dữ liệu chụp với góc nghiêng không đáng kể (không quá 100)
Nội dung báo cáo của luận văn gồm có 3 chương:
Chương 1: Tổng quan về xử lý ảnh
Chương này giới thiệu tổng quan về các kỹ thuật xử lý ảnh số, các không gian màu RGB, HSV, CIE, …
Trang 10Chương 2: Các phương pháp nhận dạng khuôn mặt
Chương này trình bày các phương pháp nhận dạng khuôn mặt phổ biến hiện nay như Eigenfaces, mạng Nơron, SVM, Mô hình Markov ẩn …
Chương 3: Nhận dạng khuôn mặt sử dụng Eigenfaces
Chương này trình bày hệ thống và phương pháp nhận dạng khuôn mặt được thực hiện trong đề tài
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH
1.1 GIỚI THIỆU CHUNG VỀ XỬ LÝ ẢNH SỐ VÀ ỨNG DỤNG
Xử lý ảnh số là một trong những lĩnh vực phát triển rất nhanh của ngành Công nghệ thông tin Trong những năm trở lại đây, phần cứng máy tính và các thiết bị liên quan xử lý ảnh số đã có sự tiến bộ vượt bậc về tốc độ tính toán, khả năng lưu trữ và xử lý đã thúc đẩy nghiên cứu xử lý ảnh số ngày một đấy mạnh trong cả lý thuyết và ứng dụng Khái niệm ảnh số đã trở nên thông dụng với hầu hết mọi người trong xã hội và việc thu nhận ảnh số bằng các thiết bị cá nhân hay chuyên dụng cùng với việc đưa vào máy tính xử lý đã trở nên đơn giản Nó được ứng dụng rộng rãi trong nhiều lĩnh vực khoa học và công nghệ Chẳng hạn như thị giác máy tính, rô bốt, tìm kiếm tài liệu ảnh, hỗ trợ chẩn đoán hình ảnh y học, thiết kế ảnh, giải trí xử lý ảnh số bằng máy tính đã giúp chúng
ta thay đổi cách cảm nhận và sử dụng máy tính, nó đã trở thành những công cụ trực quan quan trọng không thể thiếu trong đời sống hàng ngày
Kết luận
Trang 12Thu nhận ảnh: Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình xử lý ảnh Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, sensor, máy scanner,v.v… và sau đó các tín hiệu này sẽ được số hóa Việc lựa chọn các thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần
xử lý Các thông số quan trọng ở bước này là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị
❖ Tiền xử lý: Ở bước này, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng, khử độ lệch,v.v… với mục đích làm cho chất lượng ảnh trở lên tốt hơn nữa, chuẩn bị cho các bước xử lý phức tạp hơn về sau trong quá trình xử lý ảnh Quá trình này thường được thực hiện bởi các bộ lọc
❖ Phân đoạn ảnh: phân đoạn ảnh là bước then chốt trong xử lý ảnh Giai đoạn này phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông Tiêu chuẩn để xác định các vùng liên thông
có thể là cùng màu, cùng mức xám v.v… Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần tử khác nhau cấu tạo lên ảnh thô Vì lượng thông tin chứa trong ảnh rất lớn, trong khi đa số các ứng dụng chúng ta chỉ cần trích một vài đặc trưng nào đó, do vậy cần có một quá trình để giảm lượng thông tin khổng lồ đó Quá trình này bao gồm phân vùng ảnh và trích chọn đặc tính chủ yếu
❖ Biểu diễn và mô tả: Kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó Trong cả hai trường hợp, sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết Để chuyển đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một vùng ảnh dưới dạng biên hay dưới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh thuộc về nó Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm chủ yếu đến các
Trang 13đặc trưng hình dạng bên ngoài của đối tượng, ví dụ như các góc cạnh và điểm uốn trên biên chẳng hạn Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác các tính chất bên trong của đối tượng, ví dụ như vân ảnh hoặc cấu trúc xương của nó Sự chọn lựa cách biểu diễn thích hợp cho một vùng ảnh chỉ mới là một phần trong việc chuyển đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho các xử lý về sau Chúng ta còn phải đưa ra một phương pháp mô
tả dữ liệu đã được chuyển đổi đó sao cho những tính chất cần quan tâm đến sẽ được làm nổi bật lên, thuận tiện cho việc xử lý chúng
❖ Nhận dạng và nội suy ảnh: Đây là bước cuối cùng trong quá trình xử lý ảnh Nhận dạng ảnh có thể được nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng trong ảnh Ví dụ đối với nhận dạng chữ viết, các đối tượng trong ảnh cần nhận dạng là các mẫu chữ, ta cần tách riêng các mẫu chữ đó ra
và tìm cách gán đúng các ký tự của bảng chữ cái tương ứng cho các mẫu chữ thu được trong ảnh Giải thích là công đoạn gán nghĩa cho một tập các đối tượng
đã được nhận biết
Chúng ta cũng có thể thấy rằng, không phải bất kỳ một ứng dụng xử lý ảnh nào cũng bắt buộc phải tuân theo tất cả các bước xử lý đã nêu ở trên, ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật chỉ dừng lại ở bước tiền xử lý Một cách tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động hoặc bán tự động, được dùng để rút trích ra những thông tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng ký tự quang học, nhận dạng chữ viết tay v.v…
1.3 CÁC KHÔNG GIAN MÀU VÀ ẢNH MÀU
Các không gian màu là một mô hình toán học dùng để mô tả các màu sắc trong thực tế được biểu diễn dưới dạng số học Ở đây mình sẽ chỉ đề cập đến một số không gian màu chủ yếu và thường sử dụng để biểu diễn ảnh raster Đối với những người làm am hiểu về nhiếp ảnh, chắc hẳn nó không phải một cụm
Trang 14từ lạ lẫm Không gian màu chính là phương pháp định tính màu sắc được thiết lập công thức một cách khoa học Hệ thống không gian màu cho phép mỗi màu được xác định theo số học Bằng cách đó ta có thể chọn và lặp lại những màu
đó thật chính xác
❖ Phân loại không gian màu
Đối với hệ tống không gian màu trên các máy ảnh thì người ta dựa vào
nhóm màu sắc mà phân chia các hệ thống không gian màu khác nhau Ta sẽ tiếp xúc với những không gian màu chính sau đây: HLS (sắc thái, quang độ, và
độ bão hòa), HSB (sắc thái, mức bão hòa và độ đâm nhạt), CMYM ( xanh hóa học, vàng, hồng sẫm, đen)
Hình 1 2 : Có nhiều hệ màu trong color space
1.3.1 Không gian màu RGB
RGB là không gian màu phổ biến được sử dụng trong máy tính, máy ảnh, điện thoại và một số thiết bị kỹ thuật số khác Không gian màu khá gần với mắt người RGB là từ viết tắt của 3 màu: red (đỏ), green (xanh lục) và blue
Trang 15(xanh lam) để biểu diễn tất cả màu sắc Hiểu cách đơn giản, RGB là không gian màu sử dụng hệ màu chung Vì thế khi trộn lại chúng sẽ cho ra rất nhiều màu khác nhau
Thông thường, trong mô hình 24 bit (không gian màu mặc định sử dụng bởi OpenCV - tuy nhiên OpenCV đảo 2 kênh R và B, trở thành BGR), mỗi kênh màu sẽ sử dụng 8bit để biểu diễn, tức là giá trị R, G, B nằm trong khoảng
0 - 255 Bộ 3 số này biểu diễn cho từng điểm ảnh, mỗi số biểu diễn cho cường
độ của một màu Giới hạn màu trong không gian cũng được quy định như sau Trong mô hình 24 bit (không gian màu mặc định sử dụng bởi OpenCV), mỗi kênh màu sẽ có 8 bit để biểu diễn giới hạn màu của mình, có nghĩa là các giá trị R, G, B nằm trong khoảng 0-255 Khi 3 màu này biểu diễn cho từng điểm ảnh, mỗi số biểu diễn cho cường độ của một màu Trong giới hạn biểu diễn 24 bit, số lượng màu tối đa sẽ là 16581375
Ngoài ra, trong không gian màu còn có 2 hệ màu chính đó là sRGB và Adobe RGB Hai hệ màu sẽ có mức độ phân màu khác biệt nhau Thông thường
hệ màu Adobe RGB sẽ có nhiều màu sắc hơn hệ màu sRGB là 30%
Hình 1 3 : Không gian màu RGB
Trang 161.3.2 Không gian màu HSV
Không gian màu HSV là một cách tự nhiên hơn để mô tả màu sắc, dựa trên 3 số liệu HSV là một mô hình màu hình trụ, biến đổi các màu cơ bản RGB thành các kích thước dễ hiểu hơn đối với con người Giống như hệ màu Munsell, các kích thước này là Hue, Saturation và Value
- Hue: xác định góc của màu trên vòng tròn màu RGB Màu 0 ° tạo ra màu
đỏ, 120 ° tạo ra màu xanh lục và 240 ° cho kết quả là màu xanh lam
- Saturation: kiểm soát lượng màu được sử dụng Màu có độ bão hòa 100%
sẽ là màu tinh khiết nhất có thể, trong khi độ bão hòa 0% mang lại thang độ xám
- Value: kiểm soát độ sáng của màu Màu có độ sáng 0% là màu đen tuyền, màu có độ sáng 100% không có màu đen lẫn vào màu Bởi vì thứ nguyên này thường được gọi là độ sáng, mô hình màu HSV đôi khi được gọi là HSB Điều quan trọng cần lưu ý là ba chiều của mô hình màu HSV phụ thuộc lẫn nhau Nếu thứ nguyên giá trị của một màu được đặt thành 0%, thì lượng màu và độ bão hòa không quan trọng vì màu sẽ có màu đen Tương tự như vậy, nếu độ bão hòa của màu được đặt thành 0%, màu sắc không quan trọng vì không
có màu nào được sử dụng Vì kích thước màu là hình tròn nên mô hình màu HSV được mô tả tốt nhất dưới dạng hình trụ Điều này được minh họa trong ví
dụ tương tác bên dưới, trong đó tất cả các hỗn hợp màu có thể được thể hiện trong các giới hạn của hình trụ
Trang 17• H: (Hue) Vùng màu
• S: (Saturation) Độ bão hòa màu
• B (hay V): (Bright hay Value) độ sáng
1.3.3 Không gian màu CIE LAB
Không gian màu CIE Lab là không gian màu có sự đồng đều trong dải màu sắc, do vậy phù hợp để so sánh sự khác biệt giữa màu sắc này với màu sắc khác Các giá trị Lab mô tả tất cả những màu mà mắt một người bình thường
có thể nhìn thấy được
Lab được xem là một mô hình màu độc lập đối với thiết bị và thường được
sử dụng như một cơ sở tham chiếu khi chuyển đổi một màu từ một không gian màu này sang một không gian màu khác
Hình 1 4 : Không gian màu HSV
Trang 18
Theo mô hình Lab, tất cả các màu có cùng một độ sáng sẽ nằm trên cùng một mặt phẳng có dạng hình tròn theo 2 trục a* và b_ Màu có giá trị a_ dương thì ngả đỏ, màu có giá trị a* âm thì ngả lục Tương tự b* dương thì ngả vàng
và b* âm thì ngả lam Còn độ sáng của màu thì thay đổi theo trục dọc
1.4 XỬ LÝ HÌNH THÁI TRÊN ẢNH NHỊ PHÂN
Hình ảnh nhị phân có thể chứa nhiều yếu tố không hoàn hảo Đặc biệt, các vùng nhị phân được tạo ra bằng các phép phân ngưỡng đơn giản và rất dễ xuất hiện nhiều nhiễu và cấu trúc không mong muốn
Xử lý ảnh hình thái học (Morphological Image Processing=MIP) giúp loại
bỏ nhiễu, làm đẹp cấu trúc và hình thức của ảnh nhị phân Các phép toán của
kỹ thuật này có thể áp dụng được trên ảnh xám
1.4.1 Khái niệm cơ bản
Morphological Image Processing (MIP) là tập hợp các phép toán phi tuyến tính (non-linear) tác động đến hình dạng hoặc hình thái của các điểm nhị phân
Hình 1 5 : Không gian màu CIE
Trang 19trong ảnh Dựa trên các phép toán AND, OR, XOR và NOT để biến đổi các điểm nhị phân
Morphological Operator sẽ sử dụng một cấu trúc nhỏ quét qua và áp dụng toàn bộ ảnh được gọi là Structuring Element (SE) SE sẽ quét qua toàn bộ vị trí trong hình ảnh và so sánh với các pixel lân cận nằm trong vùng sẽ tương ứng
Phần tử cấu trúc (Structuring Element) là một ảnh nhị phân nhỏ Tức
là một ma trận nhỏ gồm các pixel mang giá trị 0 và 1:
• Kích thước của ma trận xác định kích thước của SE
• Pixel có giá trị 0 được bỏ qua trong quá trình tính toán
• Luôn có một pixel làm mốc trong ma trận SE
Hình 1 6: Toán tử hình thái (Morphological Operator)
a Phần tử cấu trúc là phù hợp với hình ảnh
b.Phần tử cấu trúc chạm (tương tác) với hình ảnh
c Phần tử cấu trúc không phù hợp hoăc chạm với ảnh
Phần tử cấu trúc
Trang 20Structuring Element hoạt động giống như ma trận tích chập (convolution kernel) trong lọc ảnh tuyến tính (linear image filtering) SE sẽ dịch chuyển toàn
Trang 21Hình 1 8 : Minh họa về cách hoạt động của phép dãn
➢ Phép co của ảnh A bởi phần tử cấu trúc B cho ra ảnh G Mỗi vị trí cấu trúc B quét qua được sẽ chọn giá trị nhỏ nhất và trả về điểm mốc tương
ứng trên ảnh G
Trang 22Hình 1 9 : Minh họa về cách hoạt động của phép co
Với thứ tự áp dụng phép dãn và co như thế nào để có thể lọc được các nhiễu như các hình ảnh dưới đây
Hình 1 10 : Kết quả phép dãn và phép co
Trang 231.4.3 Phép mở và đóng nhị phân (Opening and Closing)
Mở (Opening) là thực hiện phép co rồi bắt đầu thực hiện phép giãn với
một cấu trúc Giúp làm mượt các đường viền, phá vỡ các khe nhỏ, loại bỏ các đối tượng nhỏ, làm mượt các đỉnh lồi 𝐴 ∘ 𝐵 = (𝐴 ⊖ 𝐵) ⊕ 𝐵
Đóng (Closing) là thực hiện phép giãn rồi bắt đầu thực hiện phép co với
một cấu trúc Giúp làm mượt các đường viền, loại bỏ các lỗ nhỏ, làm mượt các đỉnh khe hẹp 𝐴 ⋅ 𝐵 = (𝐴 ⊕ 𝐵) ⊖ 𝐵
Trang 24Trong đó B (cặp SE {B1, B2}) sẽ mang giá trị -1 0 1 Kết quả ở mỗi vị trí
SE quét qua sẽ bằng 1 nếu thoả điều kiện ở những vị trí -1 phải bằng 0, vị trí 1 phải bằng 1 và vị trí 0 không bắt buộc Ví dụ cách tính được thể hiện ở hình ảnh sau:
Trang 25Kết luận chương 1
Trong chương này, luận văn đã tìm hiểu tổng quan về xử lý ảnh như:
1 Giới thiệu chung về xử lý ảnh số
2 Tổng quan về các kỹ thuật xử lý ảnh số
3 các không gian máu và ảnh màu như: RGB, HSV, CIE
4 Xử lý hình thái trên ảnh nhị phân như: phép dãn, phép cơ, phép
mở và đóng nhị phân
Hình 1 14: Phép toán (Hit or Miss)
Trang 26CHƯƠNG 2: CÁC PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT
2.1.1 Các gian đoạn của Eigenfaces
Kỹ thuật Eigenfaces (Khuôn mặt riêng) sử dụng việc phân tích những
thành phần chính của hình ảnh trên khuôn mặt Việc phân tích này giảm thiểu được số kích thước của tập đào tạo giúp thuân tiện hơn cho việc nhận diện Eigenfaces là một tập của những vector riêng được sử dụng trong bài toán thị giác máy tính trong nhận diện khuôn mặt người Hướng giải quyết sử dụng eigenfaces cho nhận dạng đã được phát triển bởi Sirovit và Kirby và sau đó được Mattew Turk và Alex Pentland sử dụng trong phân loại khuôn mặt được coi như là sự thành công đầu tiên trong công nghệ nhận diện khuôn mặt Những vector riêng được tính toán từ ma trận hiệp phương sai phân phối xác suất của không gian vector kích thước nhiều chiều của những khuôn mặt người có thể chấp nhận Việc coi một bức ảnh đầu vào là một đa chiều sẽ giúp cho việc xử
lý bức ảnh trở thành việc xử lý tính toán trên vector trong đại số tuyến tính Do ảnh được biểu diễn trong không gian hai chiều thường có kích thước lớn, để cho việc tính toán có hiểu quả, cần thiết phải có bước giảm số chiều vector Thực tế thường sử dụng phương pháp thành phần chính PCA (Principal Component Analysis) 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 các thông tin quan trọng nhất Điều này có nghĩa là vẫn giữ được K đặc tính mới từ các thông tin chứ không phải giữ nguyên K đặc tính ban đầu, những đặc tính mới này được suy
Trang 27ra từ những dặc tính cũ Nói một cách ngắn gọn, mục tiêu của phương pháp PCA là tìm ra một không gian với số chiều nhỏ hơn không gian cũ mà các trục tọa độ của không gian mới được xây dụng sao cho trên mỗi trục, độ biến thiên
dữ liệu là lớn nhất có thể Một điểm nữa là các trục tọa độ trong không gian mới luôn đảm bảo trực giao đôi một với nhau Vector x ban đầu có N chiều, vector y mới được tạo hình chỉ còn K chiều khi loại bỏ một số thành phần của vector x để thu được vector y sẽ gây ra sai số, phương pháp PCA sẽ cố gắng tìm phép biến đổi tuyến tính T thỏa mãn y=Tx sao cho trung bình phương lỗi (MSE) là bé nhất
❖ Chia thành 2 giai đoạn
- Giai đoạn tìm các mặt riêng (Eigenfaces)
- Giai đoạn nhận dạng
➢ Giai đoạn tìm các mặt riêng
+ Bước 1: Giả sử tập ảnh huấn luyện gồm M ảnh khuôn mặt: Γ1, Γ2, … Γ𝑀
Với tập ảnh huấn luyện trên ta tính được ảnh trung bình như sau:
+ Bước 3: Tính độ sai khác giữa ảnh huấn luyện Γ𝑖 so với ảnh trung bình Ψ:
Trang 28❖ Để tìm eigenvector ui của C ta thực hiện như sau:
Giả sử vi là vector riêng của ma trận ATA, tức là:
𝚨𝑻𝑨𝒗𝒊 = 𝝁𝒊𝒗𝒊
Nhân 2 về với ma trận A ta được:
𝑨𝑨𝑻𝑨𝒗𝒊 = 𝝁𝒊𝑨𝒗𝒊 (𝟐.𝟒)
➢ Như vậy Avi là eigenvector của C
❖ Để tìm eigenvector ui của C ta thực hiện như sau(tt):
- Tìm eigenvector là eigenvalue của ma trận L:
Hay còn gọi là mặt riêng (eigenface)
❖ Từ M eigenvector (ui), chọn ra 𝑀′ eigenvector ứng với 𝑀′giá trị riêng đầu tiên trong mảng các giá rị riêng (được sắp xếp giảm dần)
❖ Thường chọn 𝑀′ sao cho [3]:
Trang 30Biểu diễn mọi ảnh li thành vector Γ𝑖
Ví dụ: Để đơn giản ta giả sử chỉ có 4 ảnh trong tập huấn luyện (kích thước
2 ]
Γ3 =
[
196352342325924424357226]
Γ4 =
[
2552232242550255249255235]
170 ]
+ Bước 3:
Trừ vector khuôn mặt trung bình: Φ𝑖 = Γ𝑖 − Ψ
Trang 32Tính các vector riêng vi (eigenvectors) của ma trận vuông 𝐴𝑇 𝐴 này
Ở đây ta sẽ tìm được 4 trị riêng của ma trận 𝐴𝑇 𝐴, tuy nhiên ta sẽ sắp xếplại theo thứ tự giảm dần, và chỉ lấy các trị riêng “non-Zero” Kết quả ta được 3 trị riêng (từ đó tính ra 3 vector riêng tương ứng):
𝑉1 = [
−0.263
−0.6790.5860.355
] 𝑉2 = [
0.521
−0.437
−0.5590.475
] 𝑉3 = [
−0.6400.314
−0.3060.631
]
𝜆1 = 153520 𝜆2 = 50696 𝜆3 = 22781
Sau khi đã tính được các vector Vi (có kích thước Mx1), ta sẽ dễ dàng suy ra được các vector riêng ui (kích thước N2x1) mong muốn cần tìm, theo công thức:
(*)
Các eigenvector của A T A thương ưng với các eigenvalues Kích thước Mx1
Các eigenvalues của
AT A
Kích thước MxM(4x4) Giảm hẳn
Trang 33−23.6550.781
−25.09811.71597.366 ]
𝑢3 =
[
−39.78752.38046.6759.591
−33.49311.72588.21360.533
−58.978]
Chú ý nên chuẩn hóa các vector𝑢𝑖(∥ 𝑢𝑖 ∥= 1), nghĩa là: 𝑢𝑖 = 𝑢𝑖
∥𝑢𝑖∥ Sau khi chuẩn hóa ta thu được các vector 𝑢𝑖 cuối cùng như sau:
−0.0480.105
−0.0040.1120.492
−0.432]
𝑢3 =
[
−0.2640.3470.3090.064
−0.2220.0780.5850.401
−0.391]
➢ Ta rút ra được chú ý sau (theo TOÁN HỌC):
❖ Ma trận 𝐴 𝐴𝑇 có thể có đến N2 trị chỉ riêng (mỗi trị riêng sẽ ứng với
vô số vector riêng – nó được gọi là “không gian riêng ứng với trị riêng nào đó”)
❖ Ma trận 𝐴𝑇 𝐴 có thể có đến M trị riêng
❖ M trị riêng của ma trận 𝐴𝑇 𝐴 (kèm với các vector riêng tương ứng),
sẽ ứng với M trị riêng lớn nhất của 𝐴𝑇 𝐴 (cái này quan trọng bởi ta đang đi tìm các hướng biến thiên quan trọng nhất)
- Bước 5.3:
Tính M vector riêng ui tốt nhất của 𝐴 𝐴𝑇 theo công thức (*)
Thành quả cuối cùng Đây chính là các vector cơ sở của không gian mới Ta gọi các vector này là các EIGENFACES
Các eigenvector của ma trận hiệp phương sai C(AT.A) cần phải tìm Kích thước
N2x1
Trang 34- Sắp xếp theo thứ tự dãy giảm dần các eigenvalues tìm được
- 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
Φ𝑖 = ∑𝑘𝑗=1w𝑢𝑗𝑇 Φ𝑖
Trong đó w𝑗 = 𝑢𝑗𝑇 Φ𝑖
Ta gọi các vector riêng ui là các Eigenfaces (khuôn mặt riêng) Như vậy,
từ bây giờ, mỗi khuôn mặt trong tập huấn luyện Φ𝑖 sẽ được biểu diễn trong không gian mới
Trang 35+ Bước1: Chuẩn hóa Φ = Γ − Ψ
Điều này cũng tương ứng như quy vector dù về không gian với gốc tọa độ mới (gốc tọa độ này gọi là meanface)
+ Bước2: Biểu diễn Φ thành Ω như sau:
Ω =[
Trang 362.1.3 Sử dụng Eigenface để phân lớp
Hình ảnh Eigenface được tính toán từ các eigenvectors của L kéo dài một bộ cơ sở để mô tả hình ảnh khuôn mặt Sirovich và Kirby đã đánh giá một phiên bản giới hạn của khuôn khổ này trên một tập hợp M = 115 hình ảnh của nam giới da trắng, được số hóa một cách có kiểm soát, và nhận thấy rằng khoảng 40 biểu tượng mặt chữ là đủ để mô tả rất tốt tập hợp các hình ảnh khuôn mặt Với 𝑀′= 40 eigenfaces, sai số pixel-by-pixel RMS trong việc biểu diễn các phiên bản cắt xén của hình ảnh khuôn mặt là khoảng 2%
Vì các Eigenface có vẻ phù hợp để mô tả hình ảnh khuôn mặt trong các điều kiện được kiểm soát rất chặt chẽ, chúng tôi quyết định điều tra tính hữu dụng của chúng như một công cụ để nhận dạng khuôn mặt Trong thực tế,
𝑀′nhỏ hơn là đủ để nhận dạng, vì không cần phải tái tạo chính xác hình ảnh Trong khuôn khổ này, nhận dạng trở thành một nhiệm vụ nhận dạng mẫu Các eigenfaces trải dài một không gian con có chiều 𝑀′của không gian ảnh ban đầu
N2 Các giá trị riêng quan trọng 𝑀′của ma trận L được chọn là những giá trị riêng có liên quan lớn nhất Trong nhiều trường hợp thử nghiệm của chúng tôi, dựa trên hình ảnh khuôn mặt M = 16, 𝑀′= 7 eigenfces đã được sử dụng
Một hình ảnh khuôn mặt mới (Γ) được chuyển đổi thành các thành phần eigenface của nó (dự án thành "không gian khuôn mặt") bằng một thao tác đơn giản Với k = 1,…, 𝑀′ điều này mô tả một tập hợp các phép nhân và tổng của hình ảnh từng điểm, các phép toán được thực hiện ở tốc độ khung hình xấp xỉ trên hình ảnh hiện tại và phép chiếu của nó vào không gian mặt bảy chiều Các trọng số tạo thành một vectơ Ω𝑇 = (𝜔1, 𝜔2, , 𝜔𝑀") mô tả sự đóng góp của mỗi eigenface trong việc đại diện cho hình ảnh khuôn mặt đầu vào, coi các eigenface như một bộ cơ sở cho các hình ảnh khuôn mặt Sau đó, vectơ có thể được sử dụng trong thuật toán nhận dạng mẫu tiêu chuẩn để tìm ra một số