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

Nhan dang khuon mat bang PCA va mang noron

18 253 2

Đ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 18
Dung lượng 1,04 MB
File đính kèm Nhan dang khuon mat bang PCA va mang Noron.rar (1 MB)

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

Nội dung

Phương pháp phân tích thành phần chính (PCA Principal Component Analysis) là phương pháp trích rút đặc trưng nhằm giảm số chiều của ảnh tuy đơn giản nhưng mang lại hiệu quả tốt. Nhận dạng khuôn mặt dùng PCA kết hợp với mạng noron là phương pháp mang lại hiệu quả nhận dạng cao bởi nó phát huy được ưu điểm của PCA và mạng nơron

Trang 1

2

Trang 2

3

M ỤC LỤC

MỤC LỤC 3

MỞ ĐẦU 4

1 HỆ THỐNG NHẬN DẠNG KHUÔN MẶT 5

2 PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG PCA 6

3 MẠNG NORON NHÂN TẠO 8

3.1 MẠNG NORON TRUYỀN THẲNG 8

3.2 THUẬT TOÁN LAN TRUYỀN NGƯỢC SAI SỐ 10

4 NHẬN DẠNG KHUÔN MẶT 12

5 CHƯƠNG TRÌNH TRÊN MATLAB 14

6 KẾT LUẬN 19

Trang 3

4

MỞ ĐẦU

Nhận dạng khuôn mặt người là một công nghệ được ứng dụng rộng rãi trong đời sống hằng ngày của con người như các hệ thống giám sát, quản lý vào

ra, tìm kiếm thông tin một người nổi tiếng,…Có rất nhiều phương pháp nhận

dạng khuôn mặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này đang vấp phải những thử thách

Phương pháp phân tích thành phần chính (PCA - Principal Component Analysis) là phương pháp trích rút đặc trưng nhằm giảm số chiều của ảnh tuy đơn giản nhưng mang lại hiệu quả tốt Nhận dạng khuôn mặt dùng PCA kết hợp với mạng noron là phương pháp mang lại hiệu quả nhận dạng cao bởi

nó phát huy được ưu điểm của PCA và mạng nơron Hệ thống hoạt động ổn định

và có tính thích nghi cao khi dữ liệu đầu vào thay đổi nhiều về độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng của tham số môi trường

Trang 4

5

1 HỆ THỐNG NHẬN DẠNG KHUÔN MẶT

Các bước nhận dạng khuôn mặt cơ bản trong một hệ thống

Hình 1: H ệ thống nhận dạng khuôn mặt cơ bản

Ảnh cần nhận dạng: Ảnh mặt người cần nhận dạng

Tiền xử lý: Đây là quá trình xử lý đối với ảnh khuôn mặt Mục đích của

quá trình này nhằm nâng cao chất lượng ảnh, chuẩn hóa dữ liệu, kích thước ảnh

Trích ch ọn đặc trưng: Là kỹ thuật sử dụng các thuật toán để lấy ra những

thông tin mang tính đặc trưng của đối tượng cần nhận dạng Trong nội dung sẽ trình bày phương pháp phân tích thành phần chính PCA Đây là một phương pháp có nhiều ưu điểm, phương pháp này giúp giảm chiều dữ liệu; thay vì giữ

lại các trục tọa độ của không gian cũ, PCA xây dựng lên một không gian mới ít chiều hơn, nhưng có khả năng biểu diễn dữ liệu tốt tương đương không gian cũ

Bộ phân loại: Các đặc trưng của các đối tượng sau khi được trích chọn sẽ

được đưa vào bộ phân loại (nhận dạng) để so sánh với các dữ liệu trong Cơ sở

d ữ liệu khuôn mặt huấn luyện, từ đó nhận dạng đối tượng Có nhiều phương

pháp khác nhau cho nhận dạng khuôn mặt Trong nội dung trình bày phương pháp nhận dạng bằng mạng noron

Trang 5

6

2 PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG PCA

Ý tưởng chính của phương pháp phân tích thành phần chính (PCA– Principal Component Analysis) là tìm các vector biểu diễn những sự phân bố đặc trưng nhất của các ảnh trong toàn bộ không gian ảnh Những vector này hình thành nên một không gian con của các ảnh được gọi là “không gian khuôn

mặt” (eigenface)

Đọc các ảnh từ tập huấn luyện

Chuyển các ảnh thành các vector cột

Tính vector trung bình

Tính sai lệch của mỗi vector đối với vector trung bình

Biểu diễn các ảnh của tập huấn luyện trong không gian khuôn mặt (eigenface)

Bắt đầu

Tính ma trận hiệp phương sai

Tính trị riêng và

vector riêng của ma

trận hiệp phương sai

Chọn số đặc trưng để

tạo không gian khuôn

Hình 2: Lưu đồ thuật toán cho trích chọn đặc trưng bằng PCA

Đầu tiên, các ảnh trong tập huấn luyện phải cùng kích thước, khuôn mặt trong các ảnh phải chính diện

- Giả sử có tập ảnh mẫu S gồm m ảnh Mỗi ảnh có kích thước r x c Mỗi ảnh được chuyển thành một vector cột Γ có n= r x c chiều i

[ 1, 2, , ]

=

S Γ Γ Γm

- Tính vector trung bình:

1

1 m

i i

m =

- Tính sai lệch của các ảnh đầu vào so với ảnh trung bình

Φ Γ Ψ

- Tính ma trận hiệp phương sai

Trang 6

7

T

=

C A A với A=[Φ Φ1, 2, ,Φm]

- Tính trị riêng và vector riêng của ma trận hiệp phương sai

Do ma trận C có kích thước quá lớn (n x n) nên để tìm vector riêng và trị riêng của C ta tìm vector riêng và trị riêng của ma trận L:

T

=

L A A

Ma trậnL sẽ có kích thước: m x m Giả sử vL, uLvà vector riêng và trị riêng của ma trậnL, khi đó ma trận vector riêng vCcủa ma trận C sẽ là:

=

vC A.vL

- Ma trận vector riêng vC có kích thước nxn Ta có thể bỏ đi k vector riêng ứng với các trị riêng nhỏ nhất và giữ lại n-k vector riêng ứng với các trị riêng lớn hơn Khi đó ma trận vC sẽ có kích thước n x (n-k)

- Tập hợp các vector cột trong ma trận vC tạo ra một eigenface (Không gian khuôn mặt)

- Chiếu các vector ảnh trong tập huấn luyện lên không gian mới này ta được các vector đặc tính tương ứng Các vector này có kích thước nhỏ hơn nhiều

so với kích thước ảnh, nhưng vẫn mang đặc trưng của ảnh

- Ma trận các vector đặc tính:

T

P = vC A

Mỗi cột trong ma trận P là một vector đặc tính tương ứng với mỗi ảnh trong tập mẫu

Mỗi cột trong ma trận P sẽ là một vector đầu vào của mạng noron để huấn luyện mạng

Trang 7

8

3 M ẠNG NORON NHÂN TẠO

Nơron nhân tạo và mạng nơron nhân tạo được hình thành trên cơ sở các kiến thức về cấu trúc và chức năng của nơron thần kinh và hệ thống thần kinh sinh học Mạng nơron nhân tạo giải quyết được nhiều bài toán thực tế như nhận dạng, phân loại mẫu, xấp xỉ hàm phi tuyến…cũng như các bài toán xử lý thông tin, hình thành tín hiệu điều khiển… mà một nơron đơn không thể giải quyết được Thông thường, mỗi mạng nơron bao gồm nhiều lớp, mỗi lớp lại có nhiều nơron liên kết theo các dạng khác nhau

Mạng noron sử dụng để nhận dạng khuôn mặt trong bài toán là mạng noron truyền thẳng nhiều lớp, luyện mạng với thuật toán lan truyền ngược giảm độ dốc với momentum và quy tắc học thích nghi

3.1 Mạng noron truyền thẳng

Mạng nơron truyền thẳng (liên kết thẳng) bao gồm nhiều lớp nơron liên kết nối tiếp với nhau, đầu ra của lớp này được nối với đầu vào của lớp kế tiếp Tín hiệu truyền thẳng từ đầu vào đến đầu ra của mạng Một mạng nơron truyền thẳng thường có ba lớp chính:

- Lớp đầu vào (input layer), đầu vào của lớp này liên kết với vectơ đầu vào,

số lượng nơron trong lớp này bằng với số lượng tín hiệu của vectơ đầu vào;

- Lớp ẩn (hidden layer), là lớp trung gian giữa lớp vào và lớp ra, số lượng lớp

ẩn có thể là một hoặc nhiều hơn Lớp ẩn đóng vai trò chủ yếu trong việc xử lý và biến đổi tín hiệu đầu vào Số các lớp ẩn và số lượng nơron trong một lớp ẩn, hàm chuyển đổi của nơron trong lớp ẩn phụ thuộc vào tính chất và mức độ phức tạp của nhiệm vụ mà mạng nơron cần phải giải quyết

- Lớp ra (output layer), thường có hàm chuyển đổi là hàm tuyến tính, số

lượng nơron trong lớp này bằng với kích thước của vectơ đầu ra

Trang 8

9

Hình 3 : Cấu trúc mạng noron truyền thẳng 3 lớp

Hàm kích hoạt sử dụng cho mỗi lớp trong hệ thống nhận dạng khuôn mặt

là hàm logsig

Hình 4: Hàm logsig

Mạng noron truyền thẳng nhiều lớp sử dụng thuật toán lan truyền ngược sai số là một dạng huấn luyện có giám sát

Hình 5: Mô hình h ọc có giám sát

Trang 9

10

3.2 Thuật toán lan truyền ngược sai số

Thuật toán này yêu cầu cung cấp cả vector đầu vào và vector mục tiêu

(vector đầu ra mong muốn) Khi tiến hành luyện mạng, vector đầu ra a của mạng

sẽ được so sánh với vector mục tiêu t Trong trường hợp có sự khác nhau giữa 2 vector, các trọng số và bias của mạng sẽ được điều chỉnh để giảm thiểu sự khác

nhau đấy Khi bắt đầu luyện mạng, trọng số và bias của mạng được cài đặt ngẫu nhiên

Hình 6: Mô hình m ạng noron truyền thẳng 3 lớp

Đối với mạng nhiều lớp lan truyền thẳng, đầu ra của lớp trước là đầu vào của lớp kế tiếp Phương trình biểu diễn mối quan hệ nối tiếp nhau này có dạng:

trong đó là số lớp của mạng Các nơron của lớp đầu tiên nhận các tín hiệu đầu vào đưa đến mạng:

0 1

=

Các đầu ra của nơron của lớp cuối cùng là đầu ra của mạng:

m

a = a Với mỗi vectơ đầu vào đưa đến mạng, giá trị đầu ra của mạng sẽ được so sánh với giá trị đích Thuật toán phải điều chỉnh các tham số của mạng nhằm

mục đích tối thiểu hóa hàm số đối với sai số trung bình bình phương:

( ) E[e ] = E[(t - a) ]

trong đó là vectơ tham số của trọng lượng và bias của mạng

Nếu như mạng có nhiều đầu ra thì:

( ) E[e e] = E[( - ) ( - )]T T

Giống như thuật toán giảm độ dốc lớn nhất (LMS), thực hiện xấp xỉ hóa hàm số của sai số trung bình bình phương bằng hàm số:

( ) ( (k) - (k)) ( (k)- (k))=T T(k) (k)

Trang 10

11

trong đó kỳ vọng của sai số bình phương được thay thế bằng sai số bình phương

tại bước lặp thứ k

Thuật toán giảm độ dốc lớn nhất để xấp xỉ sai số trung bình bình phương,

áp dụng đối với trọng số và bias của các nơron trong mạng có dạng:

,

w

i j

F

i

F

b

α ∂

Trang 11

12

4 NHẬN DẠNG KHUÔN MẶT

Tập ảnh được sử dụng để huấn luyện được lấy từ cơ sở dữ liệu ORL (Olivetti Research Laboratory, Surrey University) Các ảnh ở đây tương đối đa dạng, chúng có thể được chụp ở những thời điểm khác nhau, với những góc nghiêng khác nhau, những trạng thái khác nhau như cười hoặc không cười, đeo kính hoặc không, nheo mắt, miệng mở hoặc đóng…… Tập ảnh gồm ảnh

của 40 người, mỗi người có 10 ảnh khác nhau Các ảnh đều là ảnh xám, có kích thước 112x92 Ngoài ra có thể tạo thêm các ảnh khác để đưa vào tập huấn luyện Các ảnh trong tập huấn luyện sẽ được lưu trong thư mục Anh train Trong thư mục này, ảnh của mỗi người sẽ được lưu trong một thư mục riêng Các thư

mục này được đặt tên theo thứ tự: S1, S2, S3… Các ảnh trong mỗi thư mục được đặt tên bằng các số theo thứ tự: 1,2,3,4…n (n: số ảnh của một người) Các

ảnh sử dụng có đuôi: bmp hoặc pgm

Người thứ 1

Người thứ 2

Người thứ k

Người thứ m

PCA đặc trưngVector Mạng noron

1 0

0

0

0 1

0

0

0 0

1

0

0 0

0

1

Người thứ: 1 2… k… m

Đầu ra mạng

Tập ảnh

huấn luyện

Hình 7: Quá trình hu ấn luyện tập ảnh huấn luyện

Trang 12

13

PCA đặc trưngVector Mạng noron

a 1

a2

a k

am

Ảnh cần

nhận

dạng

ai_max=Max(ai)

So sánh với ngưỡng a 0

Không giống trong

tập ảnh huấn luyện

Ảnh nhận dạng giống ảnh người thứ i trong tập huấn luyện

ai_max < a0

Hiển thị ảnh và thông tin của ảnh

Hình 8: Quá trình nh ận dạng ảnh

Ảnh cần nhận dạng sẽ được chuẩn hóa kích thước theo ảnh trong tập huấn luyện, biểu diễn trong không gian eigenface của tập huấn luyện để tạo ra một vector đặc trưng cho ảnh Sau đó vector đặc trưng cho ảnh này được đưa vào mạng noron để kiểm tra Đầu ra của mạng là một vector cột Xác định phần tử lớn nhất trong vector, so sánh với một ngưỡng để xác định ảnh đấy có giống với ảnh nào trong tập huấn luyện không và xác định ảnh giống đấy

Trang 13

14

5 CHƯƠNG TRÌNH TRÊN MATLAB

- Để chạy chương trình, chạy file: XLA_CDT29.m

Hình 9: Giao di ện chính của chương trình Các nút ch ức năng trong giao diện:

- Them doi tuong mau: Chọn Các đối tượng mẫu để đưa vào luyện mạng + Anh trong 1 lop: S ố ảnh của cùng một người

+ So lop them: Số người sẽ được đưa vào tập mẫu để luyện mạng

+ So lop da them: S ố người đã được đưa vào tập mẫu

- Xoa toan bo du lieu: Xóa toàn b ộ tập mẫu đã được xây dựng

- Thay doi lop du lieu: Cho phép thay đổi dữ liệu về một người đã được

đưa vào tập huấn luyện Lựa chọn lớp cần thay đổi, sau đó nhấn Thay doi và

chọn vào thư mục chứa ảnh của lớp cần thay đổi

- Tao doi tuong mau: Lựa chọn mở ra giao diện cho phép xây dựng các ảnh mẫu để đưa vào tập huấn luyện Có thể xây dựng ảnh mẫu từ webcam hoặc

từ một ảnh khác

Trang 14

15

Hình 10: Giao di ện tạo đối tượng mẫu

- Thiet lap mang noron: Cho phép thiết lập các tham số của mạng noron

Hình 11: Thi ết lập mạng noron

Trang 15

16

Nút View: Hiển thị cấu trúc mạng được sử dụng để luyện mạng

Hình 12: C ấu trúc mạng sử dụng

- TRAINING: Tiến hành luyện mạng

Hình 13: Hình hi ển thị khi tiến hành luyện mạng

- Nhan dang anh: Lựa chọn cho phép nhận dạng từ ảnh Ảnh cần nhận

dạng được đưa vào bằng cách nhấn Chon anh, tìm đến file ảnh cần nhận dạng

Sau đó tách khuôn mặt từ ảnh bằng các sử dụng 2 nút nhấn Tu dong hoặc Bang

tay:

Trang 16

17

+ Tu dong: Cho phép tách khuôn mặt từ ảnh một cách tự động Chương trình sẽ tự động phát hiện các khuôn mặt có trong ảnh Mỗi lần nhấn Tu dong, một khuôn mặt trong ảnh sẽ được chọn và hiển thị sang bên phải Sau đó nhấn

nút Nhan dang để tiến hành nhận dạng khuôn mặt Nếu nhận dạng được ảnh thì các thông tin về ảnh sẽ được hiển thị ở các mục bên dưới ảnh, một ảnh trong tập huấn luyện sẽ được hiện thị vào vị trí của ảnh phía trên các mục thông tin về ảnh

Mục So thu tu: Hiển thị lớp trong tập huấn luyện giống ảnh cần nhận

dạng

Nếu không nhận dạng được, mục So thu tu sẽ hiện thị: Khong xac dinh

+ Bang tay: Chọn khuôn mặt bằng cách sử dụng chuột để tạo một

khung hình chữ nhật bao quanh khuôn mặt cần nhận dạng

- Nhan dang webcam: Cho phép phát hiện và nhận dạng khuôn mặt từ webcam Nếu đối tượng được nhận dạng thì trên góc trái cùng của khuôn mặt sẽ hiển thị lớp trong tập huấn luyện mà đối tượng đó thuộc về và tên của đối tượng, nếu không nhận dạng được, thì sẽ hiện thị “00000”

Hình 14: Nh ận dạng qua webcam

Trang 17

18

- Nhan dang Video: Cho phép lựa chọn video, chương trình sẽ phát hiện các khuôn mặt trong video và tiến hành nhận dạng các khuôn mặt phát hiện

được

Hình 15 Nh ận dạng qua video

- Cách hiển thị thông tin nhận dạng được như trường hợp nhận dạng qua

webcam

Trang 18

19

6 KẾT LUẬN

Với kiến thức được trang bị trong môn học, nhóm thực hiện đã xây dựng được chương trình Nhận dạng khuôn mặt bằng mạng noron và phương pháp PCA trên phần mềm matlab Mạng noron sử dụng là mạng noron truyền thẳng nhiều lớp, luyện mạng với thuật toán lan truyền ngược giảm độ dốc với momentum và quy tắc học thích nghi Chương trình cho phép tạo đối tượng mẫu

để đưa và tập huấn luyện, thiết lập các tham số của mạng noron Chương trình

có khả năng phát hiện nhiều khuôn mặt trong ảnh, video, webcam và nhận dạng các ảnh phát hiện được Tuy nhiên, do kiến thức và thời gian thực hiện còn hạn

chế nên chương trình còn một số hạn chế như: chưa chuẩn hóa được (về chất lượng) các ảnh xây dựng để đưa vào tập mẫu, tốc độ nhận dạng qua video và webcam thấp, chưa đáp ứng được thời gian thực…

Ngày đăng: 13/08/2018, 10:34

TỪ KHÓA LIÊN QUAN

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

w