1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng ảnh mặt người sử dụng mạng Nơron

65 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhận dạng ảnh mặt người sử dụng mạng Nơron Nhận dạng ảnh mặt người sử dụng mạng Nơron Nhận dạng ảnh mặt người sử dụng mạng Nơron luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 2

M ục lục

Lời cam đoan 1

Danh mục các từ viết tắt 2

Danh mục các bảng 3

Danh mục các hình vẽ, đồ thị 4

Lời cảm ơn 5

Chương 1: Mở đầu 6

1.1 Giới thiệu chung 6

1.2 Bố cục luận văn 8

Chương 2: Trích chọn đặc trưng 10

2.1 Phương pháp phân tích thành phần chính 10

2.1.1 Cơ sở toán học 11

2.1.2 Phương pháp PCA 20

2.2 Phương pháp phân tách tuyến tính 27

2.3 Phương pháp xử lý hình thái 30

2.3.1 Biến đổi trúng-trượt (hit-or-miss) 32

2.3.2 Phép dãn ảnh và co ảnh tổng quát 35

2.3.3 Dãn và co ảnh đa mức xám 42

Chương 3: Mạng nơron 44

3.1 Giới thiệu mạng nơron 44

3.1.1 Nơron – đơn vị xử lý cơ bản 44

3.1.2 Liên kết giữa các nơron 45

3.1.3 Hàm kích hoạt và các quy tắc xác định tín hiệu ra 46

3.1.4 Quy tắc delta 47

3.2 Thuật toán học lan truyền ngược 49

Chương 4: Thiết kế và đánh giá 54

4.1 Thiết kế hệ thống 54

4.1.1 Cơ sở dữ liệu ảnh 54

4.1.2 Môi trường cài đặt 55

4.1.3 Cài đặt 55

4.2 Kiểm thử và đánh giá 58

Kết luận 60

Trang 3

L ờ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

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

Võ Phúc Nguyên

Trang 4

Danh m ục các từ 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 5

Danh m ục các bảng

Bảng 2.1 Tính toán độ lệch chuẩn 13

Bảng 2.2 Tập dữ liệu hai chiều và tính toán hiệp phương sai 15Bảng 4.1 Các module chính của chương trình 55

Trang 6

Danh m ục các hình vẽ, đồ thị

Hình 1.1 Mô hình hệ thống nhận dạng mặt người 6

Hình 2.1 Ví dụ minh họa PCA 11

Hình 2.2 Ví dụ vector thường và vetor riêng 18

Hình 2.3 Ví dụ về sự ổn định của vector riêng đối với việc lấy tỉ lệ 19

Hình 2.4 Dữ liệu và đồ thị biểu diễn dữ liệu 21

Hình 2.5 Đồ thị biểu diễn dữ liệu đã chuẩn hóa với các vector riêng 23

Hình 2.6 Ảnh gốc trong cơ sở dữ liệu ORL 26

Hình 2.7 Ảnh sau khi biến đổi theo PCA 26

Hình 2.8 Ví dụ minh họa LDA 27

Hình 2.9 Ảnh sau khi biến đổi theo LDA 30

Hình 2.10 Sự liên thông 31

Hình 2.11 Phép dãn ảnh nhị phân 34

Hình 2.12 Phép co ảnh nhị phân 35

Hình 2.13 Các toán tử đại số ảnh trên các mảng nhị phân 36

Hình 2.14 Lật và dịch một mảng nhị phân 37

Hình 2.15 Phép dãn ảnh tổng quát dựa theo phép cộng Minkowski 39

Hình 2.16 So sánh các kết quả của hai phép co ảnh 41

Hình 2.17 Phép dãn ảnh và co ảnh tổng quát với phần tử cấu trúc 5×5 42

Hình 2.18 Ảnh sau khi xử lý hình thái 43

Hình 3.1 Các thành phần cơ bản của mạng nơron nhân tạo 45

Hình 3.2 Một số dạng hàm kích hoạt của nơron 46

Hình 3.3 Mạng nơron l lớp 49

Hình 4.1 Ảnh gốc trong bộ ảnh ORL 54

Hình 4.2 Ảnh gốc được bổ sung ảnh gương 56

Hình 4.3 Giao diện chính của chương trình 57

Trang 7

L ời cảm ơn

Tôi xin cảm ơn Viện Đào tạo Sau đại học, trường Đại học Bách khoa Hà

Nội đã tạo điều kiện cho tôi hoàn thành luận văn này

Tôi xin chân thành cảm ơn sự giúp đỡ của PGS TS Nguyễn Thanh Thủy, Viện Công nghệ thông tin và Truyền thông, trường Đại học Bách khoa Hà

Nội

Tôi xin cảm ơn sự động viên và giúp đỡ của tất cả những người thân trong gia đình, của các bạn bè, đồng nghiệp trong quá trình thực hiện luận văn này

Võ Phúc Nguyên

Trang 8

Chương 1: Mở đầu

1.1 Gi ới thiệu chung

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 dạng

mặt người

Người

nhận dạng

Trang 9

Có hai hướng tiếp cận chính làm hạt nhân của các kỹ thuật phân tích đặc trưng mặt người: hướng tiếp cận hình học và hướng tiếp cận hình ảnh

trưng mặt người Mặt người được phân loại theo khoảng cách hình

học, theo đường bao và theo các góc giữa các điểm

đặc trưng mặt người Mẫu của các đặc trưng nổi bật, hoặc thậm chí

là toàn khuôn mặt được thiết lập, việc nhận dạng được thực hiện bằng cách duyệt các khuôn mặt rồi tìm mặt nào khớp nhất với mẫu Hiện nay các hệ thống nhận dạng mặt người vẫn đang tiếp tục được phát triển Dưới đây là một số phương pháp trích chọn đặc trưng:

- Mặt riêng (Eigenface)

- Mô hình Markov ẩn

- Phân tích thành phần chính (PCA)

giản và hiệu quả tính toán Thuật toán sử dụng cách tiếp cận lý thuyết thông tin trong việc mã hóa các ảnh mặt người và xác định các vector riêng tương ứng với giá trị riêng lớn nhất của ma trận hiệp phương sai của ảnh Sau đó, đối với mỗi nhóm ảnh của một người, ta tính vector trung bình, một ngưỡng

sẽ được chọn để xác định khoảng cách chấp nhận được cực đại từ một ảnh đến nhóm ảnh giúp nhận dạng những ảnh mới

chuỗi Markov Một dãy ngẫu nhiên các biến lấy trên các giá trị điểm ảnh

tương ứng tạo nên chuỗi Markov, nếu xác suất để hệ thống đạt trạng thái x n+1

tại thời điểm n+1 chỉ phụ thuộc vào xác suất để hệ thống đạt trạng thái x n tại

Trang 10

thời điểm n Trong một chuỗi Markov, việc chuyển hệ thống từ trạng thái này sang trạng thái khác tương ứng với một xác suất nào đó, nhưng kết quả của

một ký hiệu ra lại xác định được trước Như vậy, kết quả là một phân bố xác

suất của tất cả các ký hiệu ra tại mỗi trạng thái và kết quả này được dùng để

so sánh giữa hai khuôn mặt

Trong phương pháp phân tích thành phần chính (PCA − còn gọi là biến

đổi Karhunen-Loeve), tập dữ liệu được biểu diễn lại với số đặc trưng ít hơn đồng thời giữ được hầu hết các thông tin quan trọng nhất của dữ liệu PCA thường được sử dụng cùng phương pháp mặt riêng Tập con các vector riêng được dùng làm các vector cơ sở của một không gian con, trong đó ta có thể so sánh với các ảnh trong cơ sở dữ liệu để nhận dạng các ảnh mới Các vector cơ

sở này còn được gọi là các thành phần chính của cơ sở dữ liệu ảnh

người Kỹ thuật mạng nơron mô phỏng hoạt động của các nơron trong bộ não người Mạng nơron có khả năng điều chỉnh các trọng số dựa trên các mẫu học trong quá trình huấn luyện Kết quả là mạng đạt được hiệu quả cao trong việc phân loại các lớp, dựa trên dữ liệu mẫu khả tách tuyến tính hoặc phi tuyến

1.2 B ố cục luận văn

Mặc dù các hệ thống nhận dạng mặt người hiện tại đã đạt được hiệu quả khá cao, tuy nhiên chúng vẫn còn hạn chế là chỉ tập trung vào một hay một vài phương pháp trích chọn đặc trưng Có hệ thống chỉ thực hiện nhận dạng

dựa trên các đặc điểm về hình học của mặt người hoặc có hệ thống chỉ dựa trên các đặc điểm thống kê

Trong luận văn này, việc trích chọn đặc trưng sẽ được thực hiện dựa trên ững đặc điểm thống kê của khuôn mặt (cụ thể là phương pháp phân tích

Trang 11

thành phần chính – PCA và phương pháp phân tách tuyến tính – LDA) và những đặc điểm về hình thái của khuôn mặt Chương 2 trình bày về các

phương pháp trích chọn đặc trưng Chương 3 trình bày về mạng noron với thuật toán học lan truyền ngược lỗi, được dùng để phân loại ảnh Chương 4 trình bày cụ thể việc thiết kế hệ thống và đánh giá hiệu quả thực hiện Cuối cùng là phần kết luận

Trang 12

Ch ương 2: Trích chọn đặc trưng

Chương này sẽ trình bày về các phương pháp trích chọn đặc trưng được

sử dụng trong luận văn Mục đích thứ nhất của việc trích chọn đặc trưng là giảm số chiều của dữ liệu Dữ liệu ảnh mặt người có số điểm ảnh lớn (cỡ vài nghìn đến vài chục nghìn điểm ảnh), do đó cần có một phép biến đổi để giảm lượng thông tin sử dụng để biểu diễn, đồng thời không làm mất quá nhiều thông tin quan trọng Mục đích thứ hai của việc trích chọn đặc trưng là giúp phân biệt tốt hơn đối với các mẫu dữ liệu Các ảnh mặt người sẽ được biểu diễn trong một không gian mới sao cho có thể làm nổi bật được sự khác biệt giữa các ảnh với nhau Các phần sau sẽ trình bày về phương pháp phân tích thành phần chính, phương pháp phân tách tuyến tính và phương pháp xử lý hình thái ảnh mặt người

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 Kết quả

của việc phân tích này sẽ đạt được như hình 2.1

Trang 13

Hình 2.1 Ví dụ minh họa PCA Ảnh gốc cần 10304 giá trị để biểu diễn trong khi ảnh biến đổi chỉ cần 49 giá trị

2.1.1 C ơ sở toán học

a 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

ký hiệu X được dùng để trỏ tới một số cụ thể trong tập Ví dụ X 3 trỏ tới số thứ

ba trong X với giá trị là 4 Lưu ý rằng X 1 là số đầu tiên trong X Ngoài ra ký 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𝑛𝑛 𝑋𝑋𝑖𝑖 (2.1)

Trang 14

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:

𝑠𝑠 = �∑ (𝑋𝑋𝑛𝑛 𝑖𝑖 − 𝑋𝑋�)2

𝑖𝑖=1

(𝑛𝑛 − 1) (2.2)

Câu hỏi đặt ra: “Vì sao lại sử dụng giá trị (n−1) mà không ph ải là n?”

Nguyên nhân là, nếu mẫu của tập dữ liệu được lấy là tập con của thế giới thực thì phải sử dụng (n−1) vì giá trị nhận được gần với độ lệch chuẩn hơn so với

sử dụng n Tuy nhiên, nếu tính độ lệch chuẩn cho toàn bộ dân số, giá trị cần

dùng là n ch ứ không phải (n1)

Với hai tập dữ liệu trên, việc tính độ lệch chuẩn được thực hiện như bảng 2.1 Tập thứ nhất có độ lệch chuẩn lớn hơn do dữ liệu trải ra xa hơn so với điểm trung bình Một ví dụ khác, tập [10 10 10 10] cũng có điểm trung bình là

10, nhưng độ lệch chuẩn lại bằng 0, bởi vì tất cả các số là giống nhau Không

số nào chệch ra khỏi điểm trung bình

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:

𝑠𝑠2 =∑ (𝑋𝑋𝑛𝑛 𝑖𝑖 − 𝑋𝑋�)2

Trang 15

Bảng 2.1 Tính toán độ lệch chuẩn Tập 1:

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

Trang 16

Hai phương pháp trên chỉ sử dụng được cho dữ liệu một chiều Tuy nhiên, nhiều tập dữ liệu lại có nhiều hơn một chiều và mục đích của việc phân tích

thống kê các tập dữ liệu này là nhằm tìm hiểu mối quan hệ giữa các chiều Ví

dụ, xét tập dữ liệu về chiều cao của các sinh viên trong một lớp và điểm số của họ về một môn học nào đó Ta có thể tiến hành phân tích thống kê xem ảnh hưởng của chiều cao sinh viên đến điểm số như thế nào

Độ 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) (2.4) Tương tự, công thức tính hiệp phương sai được viết như sau:

𝑐𝑐𝑐𝑐𝑣𝑣(𝑋𝑋, 𝑌𝑌) = ∑ (𝑋𝑋𝑛𝑛𝑖𝑖=1 𝑖𝑖 − 𝑋𝑋�)(𝑌𝑌𝑖𝑖 − 𝑌𝑌�)

(𝑛𝑛 − 1) (2.5) Công thức (2.5) tương tự công thức (2.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:

Trang 17

“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 bì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)”

Ví dụ với một nhóm sinh viên, xét tổng số giờ họ dành cho môn học A và điểm số họ đạt được ở môn đó Khi đó bài toán có hai chiều, chiều thứ nhất là

H, s ố giờ học, chiều thứ hai là M, điểm số Bảng 2.2 là các số liệu và việc tính toán cov(H,M), hiệp phương sai giữa thời gian học và điểm số

Bảng 2.2 Tập dữ liệu hai chiều và tính toán hiệp phương sai

S ố giờ (H)

Điểm (M)

Trang 18

−3.92 4.08

−13.92 2.08

−8.92 5.08 2.08 6.08

−23.42

−6.42 30.58

−1.42

−12.42 12.58

−30.42 22.58

−20.42 7.58 3.58 17.58

115.23

−6.93 338.83

−0.11 48.69 51.33 423.45 46.97 182.15 38.51 7.45 106.89

Giá trị chính xác không quan trọng bằng dấu của nó (dương hay âm) Nếu giá trị là dương, nó chỉ ra rằng cả hai chiều cùng nhau tăng, nghĩa là một cách tổng quát, khi số giờ học tăng lên thì điểm số cũng tăng lên

Nếu giá trị là âm, khi đó một chiều tăng lên, một chiều giảm đi Giá trị hiệp phương sai âm cho thấy rằng chúng đối lập nhau, khi số giờ học tăng lên thì điểm số giảm đi

Trường hợp cuối cùng, nếu giá trị hiệp phương sai bằng 0, khi đó hai chiều độc lập với nhau

Trang 19

Kết quả điểm số tăng lên khi số giờ học tăng có thể dễ dàng nhận thấy bằng đồ thị Tuy nhiên, việc minh họa trực quan như vậy chỉ có thể thực hiện được khi dữ liệu có hai hoặc ba chiều Vì giá trị hiệp phương sai có thể được tính giữa hai chiều bất kỳ trong một tập dữ liệu, nên kỹ thuật này thường được

sử dụng để tìm mối liên hệ giữa các chiều trong các tập dữ liệu nhiều chiều

mà việc biểu diễn trực quan gặp khó khăn

Từ công thức tính cov(X,Y) trên, bằng cách đổi chỗ hai nhân tử

(𝑋𝑋𝑖𝑖 − 𝑋𝑋�)(𝑌𝑌𝑖𝑖 − 𝑌𝑌�) ta suy ra cov(X,Y) = cov(Y,X)

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)

và cov(z,x) V ới một tập dữ liệu n chiều, sẽ có (𝑛𝑛−2)!∗2𝑛𝑛! giá trị hiệp phương sai khác nhau

Các giá trị hiệp phương sai giữa tất cả các chiều khác nhau được tính toán rồi đưa vào một ma trận Ma trận hiệp phương sai của một tập dữ liệu n chiều là:

ở đây C n ×n là ma trận n hàng, n cột và Dimi là chiều thứ i Toàn bộ công thức

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

Ví dụ: Ma trận hiệp phương sai của một tập dữ liệu ba chiều, với các chiều là x, y và z là ma trận có 3 hàng, 3 cột với các giá trị như sau:

Trang 20

𝐶𝐶 = �𝑐𝑐𝑐𝑐𝑣𝑣(𝑥𝑥, 𝑥𝑥) 𝑐𝑐𝑐𝑐𝑣𝑣(𝑥𝑥, 𝑦𝑦) 𝑐𝑐𝑐𝑐𝑣𝑣(𝑥𝑥, 𝑧𝑧)𝑐𝑐𝑐𝑐𝑣𝑣(𝑦𝑦, 𝑥𝑥) 𝑐𝑐𝑐𝑐𝑣𝑣(𝑦𝑦, 𝑦𝑦) 𝑐𝑐𝑐𝑐𝑣𝑣(𝑦𝑦, 𝑧𝑧)

𝑐𝑐𝑐𝑐𝑣𝑣(𝑧𝑧, 𝑥𝑥) 𝑐𝑐𝑐𝑐𝑣𝑣(𝑧𝑧, 𝑦𝑦) 𝑐𝑐𝑐𝑐𝑣𝑣(𝑧𝑧, 𝑧𝑧)� (2.7)

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

b Đạ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

Hình 2.2 Ví dụ vector thường và vetor riêng

Trong trường hợp thứ nhất, vector kết quả không phải là một bội số của vector gốc, trong khi đó ở trường hợp thứ hai, vector kết quả bằng đúng 4 lần

vector gốc Vector �32� (trường hợp thứ hai) biểu diễn một mũi tên từ gốc (0,0) đến điểm (3,2) Ma trận bênh cạnh là ma trận vuông, có thể coi như một

ma trận biến đổi Nếu nhân ma trận này vào phía trái của vector, kết quả sẽ là một vector khác đã được biến đổi từ vị trí gốc của nó Vector này (và tất cả

Trang 21

các bội số của nó, vì chiều dài của vector không ảnh hưởng đến kết quả) là một vector riêng của ma trận biến đổi đó

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 n×n 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 2.3) Lý do là khi lấy một tỉ lệ nà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

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

Trang 22

http://webnz.com/robert/, hay các bộ công cụ trong thư viện lập trình của

một số bước cơ bản sau:

Bước 1: Lấy dữ liệu

Để có thể vẽ đồ thị minh họa trực quan việc phân tích PCA theo từng bước, dữ liệu trong ví dụ sẽ có hai chiều Dữ liệu được cho ở hình 2.4

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ừ

đi giá trị trung bình của chiều đó Tất cả các giá trị x bị trừ đi 𝑥𝑥̅ (trung bình

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

Do dữ liệu có hai chiều nên kích thước của ma trận hiệp phương sai là 2×2 Ma trận thu được là:

𝑐𝑐𝑐𝑐𝑣𝑣 = �0.616555556 0.6154444440.615444444 0.716555556�

Trang 23

Vì các phần tử nằm ngoài đường chéo chính của ma trận là dương, nên hai

giá trị x và y cùng nhau tăng

D ữ liệu

g ốc

D ữ liệu sau khi

ch ỉnh

2.5 0.5 2.2 1.9 3.1 2.3

2

1 1.5 1.1

2.4 0.7 2.9 2.2 3.0 2.7 1.6 1.1 1.6 0.9

0.69

−1.31 0.39 0.09 1.29 0.49 0.19

Trang 24

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 Hai vector riêng là �−0.7351786560.677873399 � và �−0.677873399−0.735178656�, với hai giá trị riêng

tương ứng là 0.0490833989 và 1.28402771

Đ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ị

Như trên đồ thị dữ liệu ở hình 2.5, dữ liệu có một mẫu chủ đạo (hướng theo một đường chéo) Ở phía trên của dữ liệu là hai vector riêng, chúng là những đường chéo hình chấm chấm Như đã trình bày ở phần vector riêng, chúng vuông góc với nhau Nhưng quan trọng hơn, chúng cung cấp thông tin

về các mẫu trong dữ liệu Một trong hai vector riêng nằm theo hướng phân bố chính của dữ liệu Vector riêng đó cho thấy mối quan hệ giữa dữ liệu với đường thẳng đó Vector riêng thứ hai cho thấy một mẫu khác, kém quan trọng hơn, là tất cả các điểm phân bố dọc theo đường chính nhưng cách đường chính một khoảng nào đó

Như vậy, bằng việc tính các vector riêng của ma trận hiệp phương sai, ta

có thể trích ra các đặc trưng của dữ liệu Các bước còn lại sẽ là việc biến đổi

dữ liệu sao cho nó được biểu diễn theo các đặc trưng đó

Trang 25

Hình 2.5 Đồ thị biểu diễn dữ liệu đã chuẩn hóa với các vector riêng

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 Trong ví dụ trên, vector riêng với giá trị riêng lớn hơn là vector trỏ dọc theo dữ liệu Nó mô tả mối quan hệ có ý nghĩa nhất giữa các chiều của 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 26

tí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ị

trong đó:

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

Trang 27

• 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

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ự trự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 2.6 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ị

lớn hơn 10-3, số lượng vector riêng là 49, nghĩa là mỗi ảnh biểu diễn một điểm trong không gian 49 chiều (hình 2.7)

Trang 28

Hình 2.6 Ảnh gốc trong cơ sở dữ liệu ORL

Hình 2.7 Ảnh sau khi biến đổi theo PCA

Trang 29

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, còn sự giống nhau giữa các ảnh của cùng một người được làm cực tiểu Hình 2.8 là một ví dụ minh họa trực quan ý nghĩa của phép biến đổi này Hình 2.8(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 2.8(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 2.8 Ví dụ minh họa LDA

Trang 30

Thô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:

𝑆𝑆𝑤𝑤 =𝑁𝑁 � ��𝑋𝑋1 𝑖𝑖𝑗𝑗 − 𝜇𝜇𝑗𝑗��𝑋𝑋𝑖𝑖𝑗𝑗 − 𝜇𝜇𝑗𝑗�𝑇𝑇

𝑖𝑖=1

𝐶𝐶 𝑗𝑗=1

(2.9)trong đó:

(2.10)

trong đó µ là giá trị trung bình của tất cả các lớp

Không gian mới của LDA được hình thành từ tập vector W = [W1 , , W d], thỏa mãn

Trang 31

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, cá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 (2.11)

Nếu ma trận S w là khả nghịch, tỉ số ở công thức (2.11) sẽ đạt cực đại khi các vector của W là các vector riêng của 𝑆𝑆𝑤𝑤−1𝑆𝑆𝑏𝑏 Đối với bài toán nhận dạng mặt

người, ma trận S w thường không khả nghịch, vì số lượng ảnh nhỏ hơn rất 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

Để tính ma trận giả nghịch đảo 𝑆𝑆𝑤𝑤+, S wđược phân tích như sau:

𝑆𝑆𝑤𝑤 = 𝑄𝑄1Λ𝑄𝑄1𝑇𝑇 (2.12) trong đó:

• Λ = diag(λ 1, , λ k) chứa các giá trị riêng dương của Sw, nghĩa là các phần tử trên đường chéo chính của Λ là các giá trị riêng của Sw, còn các phần tử khác đều bằng 0

• k là hạng của S w

• Q 1 chứa các vector riêng của S w tương ứng với k giá trị riêng dương

Trang 32

Khi đó ma trận giả nghịch đảo của Sw là:

𝑆𝑆𝑤𝑤+ = 𝑄𝑄1Λ−1𝑄𝑄1𝑇𝑇 (2.13)

Cuối cùng, các vector riêng của 𝑆𝑆𝑤𝑤+ ứng với các giá trị riêng dương chính

là các vector cột của ma trận biến đổi W

Hình 2.9 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 2.9 Ảnh sau khi biến đổi theo LDA

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

Ngày đăng: 12/02/2021, 21:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm