Quá trình lưu trữ ảnh nhằm 2 mục đích: Tiết kiệm bộ nhớ, giảm thời gian xử lý Việc lựa chọn độ phân giải thích hợp tuỳ thuộc vào nhu cầu sử dụng và đặc trưng của mỗi ảnh cụ thể, trên cơ
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT&TT
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT&TT
TRẦN XUÂN TỨ
NHẬN DẠNG ẢNH MẶT NGƯỜI SỬ DỤNG MẠNG NƠRON
Chuyên ngành: Khoa học máy tính
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS ĐỖ NĂNG TOÀN
Thái Nguyên - 2011
Trang 3Lời cam đoan
Tôi xin cam đoan luận văn “Nhận dạng ảnh mặt người sử dụng mạng
nơron” này là công trình nghiên cứu của riêng tôi Các số liệu sử dụng trong
luận văn là trung thực Các kết quả nghiên cứu được trình bày trong luận văn chưa từng được công bố tại bất kỳ công trình nào khác
Trần Xuân Tứ
Trang 4Lời cảm ơn
Tôi xin chân thành cảm ơn Thầy giáo PGS.TS Đỗ Năng Toàn đã tận tình chỉ dạy và hướng dẫn tôi trong suốt thời gian nghiên cứu hoàn thành luận văn Để có kết quả như ngày hôm nay công lao của các Thầy, Cô giáo là vô cùng to lớn Tôi xin chân thành cảm ơn các Thầy, Cô giáo Viện Công nghệ thông tin và Khoa Công nghệ thông tin - Đại học Thái Nguyên đã tận tình giảng dạy, trang bị những vốn kiến thức và kinh nghiệm quý báu để tôi có được kết quả tốt nhất trong học tập
Tôi xin bày tỏ lòng biết ơn sâu sắc đến gia đình, bạn bè và đồng nghiệp
đã luôn giúp đỡ, động viên để tôi hoàn thành tốt chương trình học và đề tài nghiên cứu của mình
Thái Nguyên, ngày 02 tháng10 năm 2011
Trần xuân Tứ
Trang 5MỤC LỤC
Trang Trang phụ bìa
Lời cam đoan
Mục lục i
Danh mục các ký hiệu, các chữ viết tắt ii
Danh mục các bảng iii
Danh mục các hình vẽ, đồ thị iv
Phần mở đầu 1
Chương 1: khái quát về xử lý ảnh và trích chọn đặc trưng 5
1.1 Khái quát về xử lý ảnh 5
1.1.1 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh 5
1.1.2 Thu nhận và biểu diễn ảnh 6
1.2 Trích chọn đặc trưng 9
1.2.1 Phương pháp phân tích thành phần chính 9
1.2.2 Phương pháp phân tách tuyến tính 19
1.2.3 Phương pháp xử lý hình thái 22
Chương 2: Mạng nơron 35
2.1 Giới thiệu về mạng nơ-ron 35
2.1.1 Lịch sử phát triển 35
2.1.2 Mô hình mạng nơ-ron nhân tạo 37
2.2 Phạm vi ứng dụng của mạng nơ-ron 47
2.2.1 Các lĩnh vực ứng dụng mạng nơ-ron 47
2.2.2 Ưu và nhược điểm của mạng nơ-ron 48
2.3 Thuật toán học lan truyền ngược 48
Chương 3: Nhận dạng ảnh mặt người sử dụng mạng Nơron 53
3.1 Bài toán 53
3.2 Thiết kế hệ thống 53
3.2.1 Trích chọn đặc trưng 53
3.2.2 Thiết kế mạng nơron 54
3.3 Chương trình 54
3.3.1 Cơ sở dữ liệu ảnh 54
3.3.2 Môi trường cài đặt 56
3.3.3 Cài đặt 56
3.4 Kiểm thử và đánh giá 57
Phần Kết luận 59
Tài liệu tham khảo 61
Trang 6Danh mục các ký hiệu, các chữ viết tắt LDA (Linear Discriminant Analysis): Phương pháp phân tách tuyến tính LMS (Least Mean Square): Phương pháp bình phương trung bình tối
thiểu
ORL (Olivetti Research Laboratory, Surrey University): Cơ sở dữ liệu
ảnh dùng trong luận văn
PCA (Principal Components Analysis): Phương pháp phân tích thành
phần chính
Trang 7Danh mục các bảng
Bảng 3.1 Các module chính của chương trình 56
Trang 8Danh mục các hình vẽ, đồ thị
Hình 1.1 Quá trình xử lý ảnh 5
Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh 6
Hình 1.3 Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB 7
Hình 1.4 Sự chuyển đổi giữa các mô hình biểu diễn ảnh 8
Hình 1.5 Ví dụ vector thường và vetor riêng 13
Hình 1.6 Ví dụ về sự ổn định của vector riêng đối với việc lấy tỉ lệ 14
Hình 1.7 Ảnh gốc trong cơ sở dữ liệu ORL 18
Hình 1.8 Ảnh sau khi biến đổi theo PCA 18
Hình 1.9 Ví dụ minh họa LDA 19
Hình 1.10 Ảnh sau khi biến đổi theo LDA 22
Hình 1.11 Sự liên thông 23
Hình 1.12 Phép dãn ảnh nhị phân 26
Hình 1.13 Phép co ảnh nhị phân 27
Hình 1.14 Phép dãn ảnh tổng quát dựa theo phép cộng Minkowski 30
Hình 1.15 So sánh các kết quả của hai phép co ảnh 32
Hình 1.16 Ảnh sau khi xử lý hình thái 34
Hình 2.1 Mô hình nơ ron sinh học 37
Hình 2.2 Một số dạng hàm kích hoạt của nơron 39
Hình 2.3 Mô hình một nơ-ron 42
Hình 2.4 Các thành phần cơ bản của mạng nơron nhân tạo 43
Hình 2.5 Mạng truyền thẳng một lớp 45
Hình 2.6 Mô tả cấu trúc của mạng nơ ron truyền thẳng nhiều lớp 46
Hình 2.7 Mạng một lớp có nối ngược 46
Hình 2.8 Mạng nhiều lớp có nối ngược 47
Hình 2.9 Mạng nơron l lớp 49
Hình 3.1 Ảnh gốc được bổ sung ảnh gương 53
Hình 3.2 Ảnh gốc trong bộ ảnh ORL 55
Hình 3.3 Giao diện chính của chương trình 57
Trang 9Phần mở đầu
- Đặt vấn đề:
+ Giới thiệu tổng quan về đề tài
Trong luận văn này trình bày khái quát về xử lý ảnh, các phương pháp trích chọn đặc trưng Mạng nơron và sử dụng mạng Nơron trong bài toán nhận dạng ảnh mặt người
+ Lý do chọn đề tài
Hiện nay, cùng với sự phát triển như vũ bão của công nghệ thông tin nói chung và sự phát triển trong lĩnh vực thị giác máy nói riêng, các hệ thống phát hiện và nhận dạng mặt người đang ngày càng có nhiều ứng dụng trong thực tế như vấn đề an ninh, nhận dạng người dùng trong các hệ thống bảo mật, nhận dạng người trên các bằng lái xe, hộ chiếu, nhận dạng người trong các hệ thống tương tác người-máy, trong lĩnh vực giải trí…
Đặc biệt sau thảm họa ngày 11/9, các chính phủ trên toàn thế giới đã bắt đầu chú ý hơn tới các mức an ninh ở sân bay và biên giới Ngân sách hằng năm của các nước đã tăng lên nhiều cho các kỹ thuật hiện đại để xác định, nhận dạng và lần theo các đối tượng nghi vấn Nhu cầu tăng lên trong các ứng dụng này đã giúp các nhà khoa học có thêm quỹ để phát triển các dự án nghiên cứu Mặc dù việc nhận dạng mặt người không thể chính xác được như các phương pháp nhận dạng khác như nhận dạng vân tay, nhưng nó vẫn nhận được sự quan tâm lớn của các nhà nghiên cứu trong lĩnh vực thị giác máy Lý
do chủ yếu là trên thực tế, mặt người vẫn là cách truyền thống để con người nhận ra nhau
Trong thế kỷ 20 có rất nhiều mô hình tính toán mô phỏng bộ não của người được nghiên cứu trong đó có mạng nơron Mạng nơ-ron có khả năng
Trang 10giải quyết hàng loạt các bài toán như tính toán tối ưu, nhận dạng, điều khiển
và được ứng dụng trong nhiều lĩnh vực của công nghệ thông tin
Một mạng nơron nhân tạo bao gồm một tập các đơn vị xử lý cơ bản, gọi
là nơron, chúng truyền thông tin bằng cách gửi các tín hiệu cho nhau qua các kênh kết nối có trọng số Mỗi nơron thực hiện một công việc tương đối đơn giản: nhận tín hiệu từ các nơron lân cận hoặc từ nguồn bên ngoài, tính toán tín hiệu ra rồi truyền sang cho các nơron khác Ngoài việc xử lý này, nhiệm vụ thứ hai của nơron là điều chỉnh lại các trọng số Hệ thống sẽ được thực hiện song song vì nhiều nơron có thể thực hiện tính toán ở cùng thời điểm Xuất phát trong hoàn cảnh đó tôi đã quyết định lựa chọn đề tài: “Nhận dạng ảnh mặt người sử dụng mạng Nơron” là một việc làm không chỉ có ý nghĩa khoa học và còn mang đận tính thực tiễn nhất khi thực tế đang đặt ra những yêu cầu đòi hỏi
- Nội dung nghiên cứu
+ Mục tiêu nghiên cứu và tính cấp thiết của đề tài
Đề tài nghiên cứu các phương pháp trích chọn đặc trưng, nghiên cứu về mạng nơron và ứng dụng thuật toán lan truyền ngược để giải bài toán nhận dạng ảnh mặt người
Tính cấp thiết của đề tài: Hiện nay tình trạng bất ổn về an ninh, chính trị
và nạn khủng bố trên thế giới ngày càng phức tạp do vậy vấn đề nhận dạng người dùng trong các hệ thống bảo mật, nhận dạng người trên các bằng lái xe,
hộ chiếu, nhận dạng người trong các hệ thống tương tác người-máy, trong lĩnh vực giải trí… càng trở nên quan trọng và cấp thiết
Trang 11+ Phạm vi nghiên cứu và ứng dụng
Nghiên cứu các ứng dụng của mạng nơron trong bài toán nhận dạng ảnh mặt người Từ dó cài đặt chương trình phân công nhiệm vụ trong hệ thống nhận dạng mặt người
Trong khuôn khổ của đề tài chỉ tập trung nghiên cứu cơ sở lý thuyết và cài đặt thử nghiệm chương trình trên máy tính
+ Ý nghĩa khoa học
Tìm hiểu nhận dạng ảnh mặt người sử dụng mạng Nơron, phục vụ ứng dụng trong thực tế như vấn đề an ninh, nhận dạng người dùng trong các hệ thống bảo mật, nhận dạng người trên các bằng lái xe, hộ chiếu, nhận dạng người trong các hệ thống tương tác người-máy, trong lĩnh vực giải trí
+ Phương pháp nghiên cứu
Nghiên cứu lý thuyết: thu nhận từ internet, các tài liệu từ thầy hướng dẫn Thu thập tài liệu, đọc, hiểu
Tổng hợp đánh giá, phân tích những vấn đề về cơ sở khoa học, cơ sở lý luận của lĩnh vực nghiên cứu
Nghiên cứu lý thuyết tổng hợp và cài đặt thử nghiệm
+ Các kết quả dự kiến đạt được
Giới thiệu tổng quan về xử lý ảnh, bài toán nhận dạng ảnh mặt người Trình bày Mạng nơron, Sử dụng thuật toán Lan truyền ngược để giải bài toán nhận dạng ảnh mặt người
Cài đặt thử nghiệm chương trình nhận dạng ảnh mặt người
Trang 12- Bố cục luận văn
Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung cơ bản của luận văn được trình bày theo cấu trúc như sau:
Chương 1: Khái quát về xử lý ảnh và trích chọn đặc trưng
Trình bày khái quát về xử lý ảnh, phương pháp tích chọn đặc trưng
Chương 2: Mạng nơron
Mạng nơron nhân tạo, mô hình mạng nơron nhân tạo, liên kết giữa các nơron, hàm kích hoạt và quy tắc xác định tín hiệu ra Sử dụng thuật toán Lan truyền ngược để giải bài toán nhận dạng ảnh mặt người
Chương 3: Nhận dạng ảnh mặt người sử dụng mạng Nơron
Trang 13Chương 1: khái quát về xử lý ảnh và trích chọn đặc trưng 1.1 Khái quát về xử lý ảnh
1.1.1 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh
- Xử lý ảnh
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò quan trọng nhất Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và 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
Hình 1.1 Quá trình xử lý ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như
là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của
XỬ LÝ ẢNH Ảnh
Ảnh
“Tốt hơn”
Kết luận
Trang 14Sơ đồ tổng quát của một hệ thống xử lý ảnh:
Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh
- Các vấn đề cơ bản trong xử lý ảnh
+ Nắn chỉnh biến dạng + Khử nhiễu
+ Chỉnh mức xám + Trích chọn đặc điểm + Nhận dạng
Các thiết bị thu nhận ảnh thông thường Raster là camera các thiết bị thu nhận ảnh thông thường Vector là sensor hoặc bàn số hoá Digitalizer hoặc được chuyển đổi từ ảnh Raster
xử lý
Trang 15- Biểu diễn ảnh
Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được nhúng trong các thiết bị kỹ thuật khác nhau Quá trình lưu trữ ảnh nhằm 2 mục đích: Tiết kiệm bộ nhớ, giảm thời gian xử lý
Việc lựa chọn độ phân giải thích hợp tuỳ thuộc vào nhu cầu sử dụng và đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thường được biểu diễn theo 2 mô hình cơ bản
+ Mô hình Raster
Đây là cách biểu diễn ảnh thông dụng nhất hiện nay, ảnh được biểu diễn dưới dạng ma trận các điểm (điểm ảnh) Thường thu nhận qua các thiết bị như camera, scanner Tuỳ theo yêu cầu thực thế mà mỗi điểm ảnh được biểu diễn qua 1 hay nhiều bít
Mô hình Raster thuận lợi cho hiển thị và in ấn Ngày nay công nghệ phần cứng cung cấp những thiết bị thu nhận ảnh Raster phù hợp với tốc độ nhanh
và chất lượng cao cho cả đầu vào và đầu ra Một thuận lợi cho việc hiển thị trong môi trường Windows là Microsoft đưa ra khuôn dạng ảnh DIB (Device Independent Bitmap) làm trung gian Hình 1.3 thể hiện quy trình chung để hiển thị ảnh Raster thông qua DIB
Hình 1.3 Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB
BMP PCC
Thay đổi Paint
Trang 16+ Mô hình Vector
Biểu diễn ảnh ngoài mục đích tiết kiệm không gian lưu trữ dễ dàng cho hiển thị và in ấn còn đảm bảo dễ dàng trong lựa chọn sao chép di chuyển tìm kiếm… Theo những yêu cầu này kỹ thuật biểu diễn vector tỏ ra ưu việt hơn Trong mô hình vector người ta sử dụng hướng giữa các vector của điểm ảnh lân cận để mã hoá và tái tạo hình ảnh ban đầu ảnh vector được thu nhận trực tiếp từ các thiết bị số hoá như Digital hoặc được chuyển đổi từ ảnh Raster thông qua các chương trình số hoá
Công nghệ phần cứng cung cấp những thiết bị xử lý với tốc độ nhanh và chất lượng cho cả đầu vào và ra nhưng lại chỉ hỗ trợ cho ảnh Raster Do vậy, những nghiên cứu về biểu diễn vectơ đều tập trung từ chuyển đổi từ ảnh Raster
Hình 1.4 Sự chuyển đổi giữa các mô hình biểu diễn ảnh
hóa
Raster hóa
Trang 171.2.1 Phương pháp phân tích thành phần chính
Phương pháp phân tích thành phần chính (PCA – Principal Components Analysis) là một kỹ thuật thống kê hữu ích trong các ứng dụng nhận dạng mặt người và nén ảnh, đồng thời đây cũng là một kỹ thuật phổ biến cho việc tìm kiếm các mẫu trong không gian dữ liệu có số chiều lớn
Mục đích của phương pháp phân tích này có thể diễn đạt ngắn gọn như sau: Ảnh gốc có kích thước 112×92 (10304 điểm ảnh) Những ảnh này cần được rút gọn sao cho lượng thông tin dùng để biểu diễn ảnh đó giảm đi, đồng thời không làm mất những đặc điểm quan trọng nhất của khuôn mặt
Ảnh gốc cần 10304 giá trị để biểu diễn trong khi ảnh biến đổi chỉ cần 49 giá trị
Trang 18* Cơ sở toán học
- Lý thuyết thống kê
Các nhà thống kê thường quan tâm đến việc lấy mẫu trên một tập dữ liệu
Ví dụ về cuộc bầu cử, tập dữ liệu là toàn bộ dân số trong một đất nước, trong khi đó mẫu là một tập con của dân số nhà thống kê muốn đánh giá
Một vấn đề lớn của thống kê học là thông qua phương pháp đánh giá một mẫu của dân số, kết quả thống kê cho phép đánh giá được xu hướng chính của toàn bộ dân số
Xét một tập ví dụ X = [1 2 4 6 12 15 25 45 68 67 65 98] Chỉ số dưới của
hiệu n còn được sử dụng để chỉ tổng số các phần tử trong tập X
Giá trị trung bình của mẫu là:
=∑ (1.1) Giá trị trung bình không thể hiện được nhiều về dữ liệu ngoại trừ điểm trung bình Ví dụ, hai tập sau có cùng một giá trị trung bình là 10, nhưng chúng hoàn toàn khác nhau: [0 8 12 20] và [8 9 11 12] Sự khác nhau đó là sự
trải rộng của dữ liệu Độ lệch chuẩn của tập dữ liệu sẽ đánh giá được sự trải
rộng của dữ liệu Độ lệch chuẩn là khoảng cách trung bình từ điểm trung bình của dữ liệu đến các điểm Công thức tính như sau:
( − 1) (1.2)
Phương sai là một hàm đo khác về sự trải rộng của dữ liệu trong một tập Thực tế nó gần như giống hoàn toàn với độ lệch chuẩn:
Trang 19= ∑ ( − )
( − 1) (1.3)
dùng cho phương sai của một mẫu Cả hai phương pháp này đều đánh giá độ trải rộng của dữ liệu Độ lệch chuẩn là phương pháp thông dụng hơn, bên cạnh đó phương sai cũng được sử dụng
Độ lệch chuẩn và phương sai chỉ thực hiện trên một chiều, do đó chúng cũng chỉ có thể tính toán được cho mỗi chiều của tập dữ liệu một cách độc lập với các chiều khác Tuy nhiên, nếu có một phương pháp đánh giá được sự biến đổi của các chiều từ giá trị trung bình của mỗi chiều khác, khi đó sẽ rất hữu ích đối với việc thống kê dữ liệu
Hiệp phương sai là một phương pháp như vậy Hiệp phương sai luôn
đánh giá giữa hai chiều Để tính hiệp phương sai giữa một chiều với chính nó,
có thể sử dụng phương sai Với một tập dữ liệu ba chiều (x, y, z), ta có thể đánh giá hiệp phương sai giữa các chiều x và y, giữa y và z, giữa z và x
Công thức tính hiệp phương sai gần giống với công thức tính phương sai Công thức tính phương sai có thể được viết lại như sau:
( − 1) (1.4) Tương tự, công thức tính hiệp phương sai được viết như sau:
( − 1) (1.5) Công thức (1.5) tương tự công thức (1.4), ngoại trừ ở nhân tử thứ hai, giá
trị của X được thay bằng giá trị của Y Việc này có thể được diễn đạt như sau:
“Với mỗi điểm dữ liệu, tính tích của độ sai khác giữa giá trị x và giá trị trung
Trang 20bình của x, với độ sai khác giữa giá trị y và giá trị trung bình của y Cộng tất
cả vào rồi chia cho (n 1)”
Hiệp phương sai chỉ đánh giá được quan hệ giữa hai chiều Nếu dữ liệu có nhiều hơn hai chiều, có thể có nhiều hơn một giá trị hiệp phương sai được
tính Ví dụ, từ một tập dữ liệu ba chiều (x, y, z) ta có thể tính cov(x,y), cov(y,z)
trên có nghĩa là với một tập dữ liệu n chiều, ma trận hiệp phương sai của dữ liệu là ma trận n hàng, n cột (ma trận vuông) với phần tử tại hàng i, cột j là giá trị hiệp phương sai giữa hai chiều thứ i và thứ j
Một số điểm chú ý: Trên đường chéo chính, các giá trị chính là hiệp phương sai giữa một chiều và chính nó, đó là phương sai của chiều đó Điểm
thứ hai là, vì cov(a,b) = cov(b,a) nên ma trận hiệp phương sai là ma trận đối
xứng qua đường chéo chính
Trang 21- Đại số ma trận
Phần này trình bày một số kiến thức cơ bản về đại số ma trận được dùng
trong PCA Đặc biệt trong đó sẽ xét các vector riêng và giá trị riêng của một
ma trận cho trước
Hai ma trận có thể được nhân với nhau, với điều kiện chúng có kích thước
phù hợp Vector riêng là một trường hợp đặc biệt của việc này Xét hai phép
nhân giữa một ma trận và một vector như hình 1.5
Các vector riêng có một số tính chất Thứ nhất, vector riêng chỉ có thể được xác định được đối với các ma trận vuông Không phải mọi ma trận
vuông đều có vector riêng Nếu một ma trận nn có vector riêng thì số lượng
đó là n
Thứ hai, khi nhân vector riêng với một số nào đó, vector kết quả vẫn sẽ bằng đúng số lần như vậy của vector gốc (hình 1.6) Lý do là khi lấy một tỉ lệ
Trang 22nào đó của vector, chỉ đơn giản độ dài của nó bị thay đổi, không ảnh hưởng đến chiều của vector Cuối cùng, mọi vector riêng của một ma trận là trực giao, nghĩa là chúng vuông góc với nhau, bất kể dữ liệu có bao nhiêu chiều Điều này rất quan trọng bởi vì nó có ý nghĩa lớn khi biểu diễn dữ liệu theo các
vector trực giao này thay vì biểu diễn theo các trục x và y
64
đã xuất hiện một giá trị riêng Trong cả hai ví dụ trên, số lần vector gốc được tăng lên sau khi nhân với ma trận vuông luôn cố định, số lần này là 4 Vậy 4
là giá trị riêng ứng với vector riêng đó Không cần biết bội số nào của vector riêng đã được lấy trước khi đem nhân với ma trận vuông, vector kết quả nhận được luôn bằng 4 lần vector gốc (hình 1.6)
Hiện nay có rất nhiều thư viện toán học hỗ trợ việc tìm các vector riêng và giá trị riêng của các ma trận, ví dụ gói phần mềm newmat trên trang web http://webnz.com/robert/, hay các bộ công cụ trong thư viện lập trình của MATLAB
Trang 23Bước 1: Lấy dữ liệu
Bước 2: Hiệu chỉnh theo giá trị trung bình
Để tính PCA thuận lợi, các giá trị trên mỗi chiều của dữ liệu sẽ được trừ
giá trị x của tất cả các điểm) và tất cả các giá trị y bị trừ đi (trung bình giá trị
y của tất cả các điểm) Tập dữ liệu nhận được có giá trị trung bình là 0
Bước 3: Tính ma trận hiệp phương sai
Bước 4: Tính vector riêng và giá trị riêng của ma trận hiệp phương sai
Vì ma trận hiệp phương sai vuông nên có thể tính vector riêng và giá trị riêng của ma trận này Chúng cho biết những thông tin hữu ích về dữ liệu Điều lưu ý quan trọng rằng các vector riêng ở đây đều là vector đơn vị, nghĩa là độ dài của chúng bằng 1 Điều này rất quan trọng trong PCA Hầu hết các gói phần mềm toán học, khi tính vector riêng đều trả về kết quả là các vector đơn vị
Bước 5: Chọn các thành phần và xác lập vector đặc trưng
Các vector riêng và giá trị riêng tính được ở phần trước với các giá trị riêng khá khác nhau Vector riêng ứng với giá trị riêng cao nhất sẽ là thành phần chính của tập dữ liệu
Một cách tổng quát, sau khi tìm được các vector riêng từ ma trận hiệp phương sai, bước tiếp theo là sắp xếp chúng theo giá trị riêng, từ cao đến thấp Nghĩa là các thành phần được sắp xếp theo thứ tự tầm quan trọng giảm dần Khi đó, các thành phần ít có ý nghĩa có thể được bỏ qua nếu cần Một số thông tin đã bị lược bỏ, nhưng vì giá trị riêng của chúng nhỏ nên dữ liệu không bị mất nhiều Khi bỏ qua một số thành phần, dữ liệu thu được sẽ có số
chiều ít hơn dữ liệu gốc Nói cách khác, nếu dữ liệu gốc có n chiều, sau khi
Trang 24tính được n vector riêng và giá trị riêng, p vector riêng đầu tiên được chọn, khi đó dữ liệu cuối cùng chỉ còn p chiều
Tiếp theo cần xác lập một vector đặc trưng, thực chất là tên gọi của một
ma trận các vector Vector này được xây dựng bằng cách lấy các vector riêng muốn giữ lại, rồi đặt chúng theo các cột để tạo thành ma trận:
Bước 6: Xác định tập dữ liệu mới
Bước này là bước cuối cùng trong PCA đồng thời là bước đơn giản nhất Sau khi các thành phần (vector riêng) được chọn để giữ lại trong dữ liệu và thiết lập vector đặc trưng, tiến hành chuyển vị vector và nhân vào phía trái tập
dữ liệu gốc đã chuyển vị
Dữ_liệu_cuối = Vector_Đặc_trưng Dữ_liệu_điều_chỉnh
trong đó:
Vector_Đặc_trưng là ma trận với các vector riêng trong các cột đã
chuyển vị sao cho chúng nằm theo các hàng, với vector riêng ý nghĩa nhất nằm trên cùng
Dữ_liệu_điều_chỉnh là dữ liệu đã được điều chỉnh theo giá trị trung
bình sau đó chuyển vị, nghĩa là các dữ liệu nằm trên mỗi cột, với mỗi hàng theo mỗi chiều khác nhau
Dữ_liệu_cuối là tập dữ liệu cuối cùng, với các điểm dữ liệu nằm theo
cột, còn các chiều là theo hàng
Kết quả là dữ liệu gốc được biểu diễn chỉ theo các vector đã chọn Tập dữ
liệu gốc có hai trục x, y và dữ liệu được biểu diễn theo chúng Dữ liệu cũng có
thể được biểu diễn theo bất kỳ trục nào trong số đó Nếu các trục này vuông góc với nhau thì việc biểu diễn là hiệu quả nhất Đó là tầm quan trọng của sự
Trang 25trực giao của các vector riêng Dữ liệu đã được biểu diễn theo hai vector riêng
thay vì biểu diễn theo các trục x và y Trong trường hợp tập dữ liệu mới được
giảm về số chiều, nghĩa là bỏ qua một số vector riêng, dữ liệu mới chỉ được biểu diễn theo các vector đã chọn
Bây giờ là việc áp dụng phân tích thành phần chính đối với tập dữ liệu ảnh Trong luận văn, tập dữ liệu ảnh được lấy từ cơ sở dữ liệu ORL (Olivetti Research Laboratory, Surrey University) Mỗi ảnh có kích thước 112×92, có thể được coi là một vector 10304 chiều, hoặc tương đương với một điểm trong không gian 10304 chiều Hình 1.7 là một số ảnh gốc trong cơ sở dữ liệu
Áp dụng PCA để giảm số chiều của không gian khổng lồ trên, kết quả thu được là các ảnh đã được biến đổi sau khi phân tích theo các thành phần đặc trưng, các vector riêng được chọn theo các giá trị riêng tương ứng có giá trị
trong không gian 49 chiều (hình 1.8)
Trang 26Hình 1.7 Ảnh gốc trong cơ sở dữ liệu ORL
Hình 1.8 Ảnh sau khi biến đổi theo PCA
Trang 271.2.2 Phương pháp phân tách tuyến tính
Phương pháp PCA ở trên còn có nhược điểm là chỉ làm nổi bật lên các đặc trưng của từng ảnh mà chưa quan tâm đến các ảnh đó là của cùng một người hay của những người khác nhau Phương pháp phân tách tuyến tính (LDA – Linear Discriminant Analysis) có thể khắc phục được những nhược điểm đó Nhiệm vụ chính của phương pháp là tính sự biến thiên giữa các ảnh của những người khác nhau và tính sự biến thiên giữa các ảnh của cùng một người, sau đó tìm một phép biến đổi để làm cực đại tỉ số của hai sự biến thiên trên Nghĩa là, tập ảnh huấn luyện sẽ được biến đổi sang một không gian mới sao cho sự khác nhau giữa các ảnh của những người khác nhau được tăng lên tối đa, đồng thời cũng làm tăng sự giống nhau giữa các ảnh của cùng một người Hình 1.9 là một ví dụ minh họa trực quan ý nghĩa của phép biến đổi này Hình 1.9(a) là một cách biến đổi không tốt khi các hình chiếu của các điểm thuộc hai lớp vẫn lẫn lộn với nhau; hình 1.9(b) là một cách biến đổi khá tốt khi hình chiếu của các điểm thuộc cùng một lớp gần nhau, còn hình chiếu của các điểm khác lớp xa nhau
Hình 1.9 Ví dụ minh họa LDA
Trang 28Thông thường trong phương pháp LDA, sự phân bố ngoại và sự phân bố nội được dùng làm tiêu chí để phân lớp
Ma trận phân bố nội được tính như sau:
thỏa mãn
= arg max = (1.10)
ảnh được chiếu lên các vector của W, các ảnh sẽ được phân bố gần nhau trong
mỗi lớp và sẽ được tách biệt giữa các lớp, càng nhiều càng tốt Nói cách khác,
Trang 29các vector này cực tiểu hóa mẫu số và cực đại hóa tử số của công thức (1.10)
nhiều so với số chiều biểu diễn ảnh Có nhiều phương pháp khác nhau để giải quyết vấn đề của LDA như phương pháp giả nghịch đảo, phương pháp không gian con hoặc phương pháp không gian null
Trong luận văn này, phương pháp giả nghịch đảo được dùng để giải quyết vấn đề trên Vì ảnh gốc có kích thước 112×92, mỗi ảnh có thể coi là một điểm trong không gian 10304 chiều, số chiều này quá lớn để có thể thực hiện LDA nên trước hết cần sử dụng phương pháp PCA để giảm bớt số chiều của không gian này Sau đó, áp dụng phương pháp giả nghịch đảo với tập dữ liệu mới để
tìm ma trận biến đổi W
= (1.11) trong đó:
= diag(1, , k) chứa các giá trị riêng dương của S w, nghĩa là các
phần tử khác đều bằng 0
k là hạng của S w
= (1.12)
chính là các vector cột của ma trận biến đổi W
Trang 30Hình 1.10 là một số ảnh sau khi biến đổi theo phương pháp phân tách tuyến tính
Hình 1.10 Ảnh sau khi biến đổi theo LDA
1.2.3 Phương pháp xử lý hình thái
Hai phương pháp PCA và LDA cho phép phân tích dựa trên các đặc điểm mang tính thống kê của ảnh Tuy nhiên, các phương pháp này chưa xét đến những đặc điểm về hình thái của mặt người
Xử lý ảnh về hình thái là một phép xử lý trong đó dạng không gian hoặc cấu trúc của các đối tượng trong ảnh được chỉnh sửa Phép dãn ảnh và phép
co ảnh là hai thao tác xử lý hình thái cơ bản Với phép dãn ảnh, một đối tượng
sẽ nổi đều lên trong không gian, còn với phép co ảnh đối tượng sẽ co đều xuống Trong các phần sau, các kỹ thuật xử lý hình thái trước hết sẽ được trình bày cho các ảnh nhị phân Sau đó chúng sẽ được mở rộng đối với ảnh đa mức xám
Trang 31Các thao tác xử lý hình thái ảnh nhị phân dựa trên các quan hệ về mặt hình học hay là sự liên thông của các điểm ảnh được cho là thuộc cùng một lớp Trong ảnh nhị phân ở hình 1.11(a), vòng gồm các điểm ảnh đen, hình thành bởi sự liên thông của các điểm ảnh, phân ảnh ra thành ba phân đoạn: các điểm ảnh trắng ở ngoài vòng, các điểm ảnh trắng ở trong vòng và các điểm ảnh đen của bản thân vòng Các điểm ảnh trong mỗi phân đoạn được gọi
là liên thông với nhau Khái niệm liên thông này rất dễ hiểu đối với hình 1.11(a), nhưng lại trở nên nhập nhằng khi xét đến hình 1.11(b) Liệu các điểm ảnh đen có còn tạo nên một vòng kín, hay chúng tạo thành bốn đoạn thẳng rời nhau? Câu trả lời tùy thuộc vào cách định nghĩa sự liên thông
Hình 1.11 Sự liên thông Xét mẫu điểm ảnh lân cận sau:
trong đó một điểm ảnh có giá trị nhị phân F(j,k) = X, với X = 0 (trắng) hoặc
X = 1 (đen) được bao quanh bởi tám điểm lân cận gần nhất X 0 , , X 7 Có một cách khác để gán nhãn cho các điểm lân cận này theo hướng la bàn: bắc (B), tây bắc (TB),…
Trang 32Điểm ảnh X được gọi là bốn-liên thông nếu nó có giá trị 1 và nếu một trong các lân cận đông, tây, nam hay bắc có giá trị 1 Điểm ảnh X được gọi là
tám-liên thông nếu nó có giá trị 1 và một trong tám lân cận đông, đông bắc,
có giá trị 1
- Biến đổi trúng-trượt (hit-or-miss)
Hai thao tác xử lý hình thái cơ bản, dãn ảnh và co ảnh, cùng với nhiều biến thể có thể được định nghĩa và cài đặt bằng một biến đổi trúng-trượt Một mặt nạ kích thước lẻ, thường là 33, được quét qua một ảnh nhị phân Nếu các mẫu giá trị nhị phân của mặt nạ phù hợp với trạng thái của các điểm ảnh dưới mặt nạ (trúng), điểm ảnh tương ứng với điểm ảnh trung tâm của mặt nạ
sẽ được đặt về một trạng thái nhị phân mong muốn nào đó Với một mẫu không phù hợp (trượt), điểm ảnh đó sẽ được đặt về trạng thái nhị phân đối lập Ví dụ, để thực hiện việc loại bỏ nhiễu nhị phân đơn giản, nếu mẫu 33 độc lập sau:
Trang 33( , ) = ∩ ( ∪ ∪ .∪ ) (1.13) trong đó là toán tử giao (AND logic) và là toán tử hợp (OR logic)
- Dãn ảnh tám-lân cận
Xác lập giá trị của một điểm ảnh là đen nếu ít nhất một điểm ảnh lân cận tám-liên thông là đen
( , ) = ∪ ∪ .∪ (1.14) Định nghĩa trúng-trượt này của phép dãn ảnh là một trường hợp đặc biệt của phép dãn ảnh tổng quát sẽ được giới thiệu ở mục sau Phép dãn ảnh có thể được áp dụng một cách đệ quy Với mỗi lần lặp, các đối tượng sẽ nổi lên bằng một vòng có độ rộng đơn điểm ảnh của các điểm ảnh bên ngoài Hình 1.12 minh họa phép dãn ảnh cho một và ba lần lặp của một ảnh nhị phân Trong ví
dụ này, các điểm ảnh gốc được ghi lại là đen, các điểm ảnh nền là trắng và các điểm ảnh bổ sung là xám
- Phép co ảnh tám-lân cận
Loại bỏ một điểm ảnh đen nếu ít nhất một điểm ảnh lân cận tám-liên thông là trắng
( , ) = ∩ ∩ .∩ (1.15) Phép co ảnh tổng quát sẽ được trình bày ở mục sau Ứng dụng đệ quy của phép co ảnh cuối cùng sẽ loại bỏ tất cả các điểm ảnh đen Hình 1.13 minh họa kết quả của một và ba lần lặp thực hiện phép co ảnh Các điểm ảnh bị xóa được biểu diễn là màu xám Kết quả cho thấy sau ba lần lặp, vòng tròn đã bị xóa hoàn toàn
Trang 34Hình 1.12 Phép dãn ảnh nhị phân