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

Luận văn điện tử Nhận dạng mặt người dùng gabor wavelet

54 855 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Luận Văn Tốt Nghiệp Nhận dạng mặt người dùng Gabor Wavelet
Tác giả Võ Văn Triều, Lê Thanh Sơn
Người hướng dẫn Th.S Phạm Thành Danh
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Nhận dạng mặt người dùng
Thể loại Luận văn tốt nghiệp
Định dạng
Số trang 54
Dung lượng 1,77 MB

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

Nội dung

CHƯƠNG I : CÁC PHƯƠNG PHÁP NHẬN DẠNG1/ Phương pháp phân tích các thành phần độc lập ICA: Đây là một giải pháp được ứng dụng cho nhiều mục đích khác nhau trong việc xử lý tín hiệu và phân

Trang 1

CHƯƠNG I : CÁC PHƯƠNG PHÁP NHẬN DẠNG

1/ Phương pháp phân tích các thành phần độc lập (ICA):

Đây là một giải pháp được ứng dụng cho nhiều mục đích khác nhau trong việc

xử lý tín hiệu và phân tích dữ liệu

Một ví dụ cụ thể :

Tín hiệu tiếng gốc có thể giống như hình 2.1 và tín hiệu trộn có dạng như 2.2

Hình 2.1 Tín hiệu gốc

Trang 2

Nếu như chúng ta biết các hệ số , chúng ta có thể giải hệ phương trình tuyếntính trên theo phương pháp thông thường và tìm đươc các tín hiệu ban đầu Tuy nhiên

ở đây ta không biết các hệ số  do đó bài toán trở nên phức tạp

Một hướng để giải quyết bài toán là sử dụng thông tin đặc trưng thống kê củatín hiệu s(t) để xấp xỉ  Và điều lưu ý tiếp theo là tín hiệu s1(t), s2(t) và s3(t), tại mỗithời điểm t, là các độc lập thống kê Tuy nhiên trong thực tế không hoàn toàn chínhxác như vậy Các hướng phát triển gần đây của kĩ thuật phân tích thành phần độc lậpICA có thể xấp xỉ  dựa trên các thông tin độc lập của chính tín hiệu đó Điều nàycho phép chúng ta chia các tín hiệu gốc từ tín hiệu đã trộn x1(t), x2(t) và x3(t)

Một ví dụ khác, ICA được dùng để là trích các đặc trưng Vấn đề quan trọngtrong xử lý tín hiệu số là tìm ra biễu diễn phù hợp cho hình ảnh, âm thanh hoặc cácloại dữ liệu khác thích hợp Biểu diễn dữ liệu thường dựa vào biến đổi tuyến tính.Biến đổi tuyến tính được ứng dụng rộng rãi trong xử lý ảnh số như biến đổiFourier Haar, biến đổi cosin Mỗi phép biến đổi có ưu điểm riêng

Để định nghĩa ICA ta có thể dùng mô hình thống kê “làm chậm biến số”

Ta quan sát n tổ hợp tuyến tính x1,…,xn của n thành phần độc lập [1]

xa sa s  a s (2.1)Chúng ta bỏ qua chỉ số thời gian t (trong mô hình ICA), ta giả sử mỗi tổ hợp xj

ứng với mỗi thành phần độc lập sk là biến ngẫu nhiên, thay cho tín hiệu theo thời gianthích hợp Giá trị quan xj(t), những tín hiệu thu được từ microphone trong bài toáncocktail-party, là mẫu của biến số ngẫu nhiên Không mất tính tổng quát, ta giả sử cảbiến trộn lẫn và thành phần độc lập có giá trị trung bình không Nếu thực tế khôngđúng, có thể đưa các biến số quan sát xi về gía trị trung tâm bằng cách trừ với mẫutrung bình

Điều đó rất thuận tiện khi dùng ký hiệu ma trận vector thay cho dạng tổng nhưcác công thức trước đây Điều này cho thấy với vector ngẫu nhiên x, các thành phầncủa nó là tổ hợp x x1, , ,2 x n tương tự như vector ngẫu nhiên s với các thành phần

Trang 3

có thể được viết lại như sau

1

n

i i i

Điểm khởi đầu của ICA là sự thừa nhận rất đơn giản rằng các thành phần si làđộc lập thống kê Tiếp theo chúng ta phải thừa nhận các thành phần độc lập phải cóphân bố không Gauss Tuy nhiên, ở mô hình cơ bản chúng ta không cần biết sự phân

bố này Một cách đơn giản, chúng ta chỉ cần giả thiết ma trận trộn chưa biết là ma trậnvuông Sau đó ta xấp xỉ ma trận A, chúng ta có thể tính ma trận ngược (là W), cácthành phần độc lập có thể được tính bằng công thức:

S = Wx (2.4)ICA cũng tương tự phương pháp “phân chia nguồn mù” (BBS) hoặc phân chiatín hiệu chưa biết.”Nguồn” có nghĩa là các tín hiệu gốc, là các thành phầnđộc lập, tương tự như trong bài toán cocktail-party.”Mù” có nghĩa là biết rất

ít ICA là một phương pháp có thể được ứng dụng rất rộng rãi trong việc trình bàyquá trình phân chia nguồn mù

Trang 4

Trong nhiều ứng dụng, chúng ta giả thiết có thêm nhiễu trong quá trình đo đạc, cónghĩa là phải thêm thành phần nhiễu vào mô hình tính toán Để đơn giản đôi khi ta cóthể bỏ qua thành phần nhiễu.

Các điểm không xác định trong ICA:

Trong mô hình ICA (2.2), chúng ta có thể thấy các điểm không xác định nhưsau:

Chúng ta không thể xác định được thành phần biến (số cột ma trậntương quan) của các thành phần độc lập

Lý do là cả S và A đều không được biết, phép nhân vô hướng của nguồn

si có thể khử bằng cách chia cho cột tương ứng ai của A với cùng hướng (2.3)

Hệ quả, chúng ta phải hiệu chỉnh biên độ của thành phần độc lập; như ta biết,các ICA đều là các biến ngẫu nhiên, cách đơn giản ta giả sử mỗi nguồn đều cóthành phần biến số đơn vị Sau đó ma trận A sẽ đáp ứng với phương pháp giảiICA để khắc phục các hạn chế này Ta có thể loại bỏ những dấu hiệu bất địnhnày: ta có thể nhân thành phần độc lập với -1 mà không làm ảnh hưởng đến môhình tính Trong hầu hết các ứng dụng yếu tố dấu không có nghĩa

Chúng ta không thể xác định được thứ tự của các thành phần độc lập

Lý do là cả S và A đều không được biết, chúng ta có thể thay đổi tùy ýtrật tự của phép tính trong công thức (2.3), và có thể gọi bất cứ thành phần độclập nào là thành phần đầu tiên Ma trận hoán vị P và phép biến đổi ngược của

nó có thể được thay thế trong công thức x AP Ps 1

 Các phần tử của Ps là cácthành phần biến độc lập gốc sj , nhưng theo thứ tự khác Ma trận AP-1 được biếtnhư là một ma trận trộn mới chưa biết được dùng để giải bài toán ICA

Trang 5

2/ Nhận dạng mặt người bằng AdaBoost kết hợp mạng nơron:

Phát hiện mặt người là bước đầu tiên của hệ nhận dạng mặt người Tốc

độ xử lý và hiệu suất của hệ nhận dạng phụ thuộc rất nhiều vào quá trình pháthiện khuôn mặt

Phương pháp AdaBoost được đánh giá là nhanh nhất trong các thuậttoán dò tìm hiện nay Tuy nhiên những khuôn mặt tìm được có độ chính xácchưa cao (kết quả dò tìm thừa) Vì vậy cần một bộ lọc để loại bỏ các kết quảthừa

Mạng nơron có khả năng dò tìm tương đối tốt Ngoài ra khả năng chứngthực mặt người của mạng nơron là rất tốt Vì vậy ta có thể kết hợp vớiAdaBoost ở tầng cuối để tạo thành một hệ thống nhất

AdaBoost – NN là mô hình dò tìm khuôn mặt bằng AdaBoost kết hợpmạng nơron AdaBoost sẽ đóng vai trò là bộ dò tìm nhanh các khuôn mặt.Mạng nơron sẽ lọc ra các dò tìm sai để cho kết quả chính xác hơn Ảnh sau khiqua mạng nơron sẽ xác định chính xác vị trí của khuôn mặt Hệ thống dò tìmđược minh hoạ trong hình sau:

Phát hiện khuôn mặt nhanh bằng AdaBoost : Các ảnh đầu vào sẽ được

Tiền xử lý ảnh

Ảnh đầu vào

Ảnh khuôn mặt

Ảnh đã tiền

xử lý

Bộ dò tìm AdaBoost

Ảnh ứng viên khuôn mặt

Chứng thực ảnh bằng mạng nơron

Trang 6

được chọn lựa lại theo mô hình phân tầng Đầu ra của hệ thống sẽ là các ảnhứng viên khuôn mặt dò tìm được.

Chứng thực mặt người bằng mạng Nơron : Ảnh ứng viên dò tìm đượcbởi AdaBoost sẽ được đưa về kích thước 30x30 pixel Chuyển đổi ảnh màuthành ảnh grayscale Sau đó thực hiện điều chỉnh độ tương phản của ảnh vàthực hiện cân bằng lược đồ mức xám Khi quá trình tiền xử lý hoàn tất, tadùng một cửa sổ trượt có kích thước 20x20 để dò tìm tất cả các vị trí trong ảnh.Nếu có một ảnh con được xác nhận là khuôn mặt thì ảnh gốc cần chứng thực làkhuôn mặt Ngược lại, nếu không có cửa sổ con nào được xác nhận là khuônmặt thì thì ảnh đầu vào không phải là ảnh khuôn mặt

Đầu vào của ảnh

- Tập ảnh lớn (kho ảnh)

- Ảnh khuôn mặt mẫu của đối tượng cần tìm

- File data (nếu có) lưu vị trí và kích thước của ảnh khuôn mặt

Quá trình xử lý:

- Từ tập ảnh mẫu, huấn luyện mạng nơron để chuẩn bị đối sánh mẫu

- Từ mỗi ảnh trong kho ảnh, dò tìm khuôn mặt trong ảnh bằng hệ

AdaBoost-NN đã xây dựng Nếu tìm thấy ảnh mặt người thì lưu vị trí và kích thước củaảnh vào file data, đồng thời đối sánh từng khuôn mặt tìm được với ảnh mẫu(dùng mạng nơron) Nếu ảnh tìm được khớp với ảnh mẫu thì chép ảnh gốc cóchứa khuôn mặt của đối tượng vào một thư mục cho trước

Ý nghĩa:

- Việc lưu vị trí ảnh khuôn mặt vào file data nhằm phục vụ cho những lần tìmkiếm sau Nếu đã có file data thì chương trình không cần dò tìm khuôn mặt mà

sẽ lấy ảnh khuôn mặt theo mô tả trong file data

- Việc chép ảnh gốc vào thư mục riêng nhằm phục vụ cho các điều tra viênkiểm tra lại ảnh tìm được Vì tập ảnh lớn, thời gian chạy chương trình sẽ rất lâu

Trang 7

cho nên người dùng không thể ngồi theo dõi chương trình mà phải chép ảnhtìm được vào một thư mục riêng.

Mạng nơron

Chép ảnh gốc vào thư mục cho trước

Tiền xử lý và rút trích đặc trưng

Bộ trọng số của mạng nơron đã được huấn luyện

Ảnh khuôn mặt tìm được

Khớp nhauDuyệt từng ảnh

Tập tin lưu vị trí và kích thước các ảnh mặt người

Thư mục chứa các file ảnh có chứa đối tượng cần tìm

Trang 8

Thuật toán AdaBoost:

B1 Đầu vào

(1) Tập Z = {(x1, y1), , (x N , y N )} với:

N = a + b

a là số mẫu thuộc phân lớp y i = +1

b là số mẫu thuộc phân lớp y i = -1

(2) Số lớp yếu tối đa M max sẽ được kết hợp

B2 Khởi tạo giá trị

Trang 9

3/ Nhận dạng dùng Support Vector Machine (SVM) :

SVM (Support Vector Machines) là phương pháp nhận dạng doVladimir N vapnik đề xuất năm 1995 SVM là phương pháp nhận dạng dựatrên lý thuyết học thống kê ngày càng đươọc sử dụng phổ biến trong nhiều lĩnhvực, đặc biệt là lĩnh vực phân loại mẫu và nhận dạng mẫu Đồng thời có nhiềutình năng ưu việt so với các phương pháp cổ điển khác: dể dàng xử lý, xử lývới tính ổn định cao trên dữ liệu phức tạp, có thể có số chiều lớn và quan trọnghơn cả là khả năng xử lý tổng quát

SVM (Support Vector Machines) là một phương pháp máy học tiên tiến

đã có nhiều thành công không chỉ trong các lĩnh vực khai phá dữ liệu mà còntrong lĩnh vực nhận dạng Trong những thập niên gần đây, SVM được đánh giá

là một trong những phương pháp phân lớp có độ chính xác rất cao và nó cũng

đã được áp dụng nhiều trong các bài toán nhận dạng Vì vậy chúng ta có thểứng dụngtrong nhận dạng trên cơ sở phương pháp phân lớp SVM Trích chọnđặc trưng phục vụ cho công việc huấn luyện và nhận dạng là một bước rất quantrọng trong một hệ thống nhận dạng

Phương pháp SVM: gồm hai giai đoạn là huấn luyện và nhận dạng

Giai đoạn huấn luyện :Các ảnh mẫu được véc tơ hóa x = {x1, ,x900}rồi dùng phương pháp PCA để rút trích đặc trưng thành véc tơ y={y1, ,y100}rồi đưa vào bộ huấn luyện SVM

Giai đoạn nhận dạng: Mẫu cần nhận dạng được cũng được véc tơ hóa

và rút trích như trên sau đó đưa vào bộ nhận dạng SVM để xác định lớp chomẫu Tuy nhiên SVM là phương pháp phân lớp rất nhanh nhưng SVM có thểphân một đối tượng nhầm lớp nên có thể dùng thêm phương pháp mạngNơron để so sánh

Phương pháp phân lớp SVM :

Trang 10

Hàm mục tiêu của một máy phân lớp SVM nhị phân có thể được phát biểu nhưsau:

g(x) = w.Φ(x) + b (1) Trong đó :

- Véc tơ đầu vào x D

Khoảng cách lề giữa hai lớp là 2

N i

Trang 11

sao cho:

yi(w Φ(xi) + b) ≥ 1-ξi ξi ≥ 0, trong đó :

C là tham số nới lỏng điều kiện phân lớp [1]

Thay vì giải bài toán (2), ta giải bài toán đối ngẫu của nó bằng cách giải bàitoán qui hoạch toàn phương (QP-Quadratic programming):

wy x

  (4) Mỗi mẫu huấn luyện xi tương ứng với một hệ số Lagrange αi Sau khi huấnluyện, các mẫu có αi>0 được gọi là véc tơ hỗ trợ

<Φ(xi).Φ(xj)> gián tiếp thông qua hàm nhân K(xi,xj) Nếu sử dụng hàm nhân là hàm

Trang 12

tuyến tính thì SVM được gọi là SVM tuyến tính, ngược lại thì gọi là SVM phi tuyến.Như vậy, hàm mục tiêu cho bài toán phân lớp SVM nhị phân có dạng:

1

N

i i i i

g xy K x x b

  (6) Chỉ có các véc tơ hỗ trợ tham gia vào việc xây dựng siêu phẳng phân cách, do

đó một mẫu x sẽ được phân lớp theo hàm quyết định:

1

N

i i i i

SVM gồm có SVM tuyến tính và SVM phi tuyến.

SVM tuyến tính

Giả sử cho tập S  x y i, i in1 (1)trong đó xi  Rn và yi  {+1,-1} Mục đích của SVM là tìm ra siêu mặtphân cách thỏa:

T

w xi +b≥1 khi yi =+1

T

w xi +b≥−1 khi yi =−1 (2)trong đó w  Rn và cũng là vectơ pháp tuyến của siêu mặt Nếu như các thành phần của tập học S thỏa bất phương trình (2) thì ta nói đây là trường

hợp phân cách tuyến tính Trong việc huấn luyện siêu mặt, SVM tìm cách cực

đại khoảng cách bờ ρ giữa hai lớp với  w2 Do đó trong trường hợp tuyếntính, việc tìm siêu mặt phân cách cũng chính là giải hệ sau:

Cực tiểu : ( )

12

Nếu như bất phương trình (2) không đúng với một số phần tử trong tập

học,ta nói đây không phải là trường hợp phân cách tuyến tính Trong trường

Trang 13

hợp này tabờ mặt phân cách là “mềm”( soft margin) nếu như có một vài phần

tử không thỏa (2) như trên Để giải quyến trường hợp này, tập  i i n1được thêm

vào (2) như sau:

y w xb    i=1,2,…,n (5)

và ξi được gọi là các biến slack (lỏng) Khi 0<ξi <1 thì các điểm rơi đúng vào

hần ngăn cách của bờ ngăn cách Khi có lỗi xuất hiện tức có điểm rơi vào bờ bên kia,

ξi tương ứng sẽ lớn hơn 1 Do đó mục đích SVM bây giờ là tìm siêu phằng phân cách

sao cho lỗi phân loại ít nhất và khoảng cách bờ lớn nhất trong trường hợp không thểphân cách tuyến tính, bài toán trở thành:

Cực tiểu :  

1

1,2

n T

i i

Một cách để giải quyết bài toán là dùng hàm Largange Có hai lý do cho điều này Thứ nhất là ràng buộc (7 - 8) sẽ được thế bằng ràng buộc trên hệ

số nhân Lagrange, để dễ làm việc hơn Thứ hai là dữ liệu huấn luyện sẽ chỉ

xuất hiện dưới dạng phép nhân vô hướng giữa các vector Điều này cho phéptổng quát hoá cho trường hợp phi tuyến Đưa ra các hệ số nhân Lagrange

không âm αi, và βi , cho các ràng buộc bất đẳng thức (7-8) Bài toán đối ngẫu

trở thành :

Cực đại :  

12

Trang 14

Trong bài toán đối ngẫu hàm lượng giá Q(α) cực đại chỉ phụ thuộc vào

dữ liệu dưới dạng tích vô hướng T m,  1

i j i j

x x

 Do đó các hệ số nhân Lagrange có

thể tính được dựa trên các ràng buộc (10-11).

Điều kiện Karush-Kuhn-Tucker (KKT) có vai trò quan trọng đối với bàitoán tối ưu ràng buộc Với bài toán trên, điều kiện KKT có thể phát biểu:

Có hai dạng tham số i, nếu như 0<i ≤C thì mẫu tương ứng là véctơ

hỗ trợ Véctơ lời giải cho bài toán chính là véctơ xác định bởi:

0 1

s

N

i i i i

wy x

Trong đó : Ns chính là số lượng các vectơ hổ trợ

Tuy nhiên trong trường hợp 0<i <C chúng ta có ξi = 0 theo phương trình (13) của điều kiện KKT Do đó có thể lấy điểm huấn luyện bất kỳ thỏa 0< i< C để dùng công thức (12) (với ξi = 0) để tính b0 Cuối cùng có thể lấy trung bình b0 trên toàn tập mẫu S.

Một khi (w0,b0) được xác định, ta có hàm quyết định chính là:

0 1

N

T

i i i i

SVM phi tuyến:

Trong trường hợp phi tuyến, ta chỉ cần ánh xạ véctơ dữ liệu vào khônggian đặc trưng có số chiều cao hơn nhiều Bằng cách sử dụng hàm ánh xạ

Trang 15

 x R M

  , trong đó M>N, chúng ta có thể xây dựng siêu mặt phân cách trongkhông gian mới này Hàm xử lý chính tích vô hướng K(x,xi) ánh xạ không gianphi tuyến vào không gian đặc trưng:

chính, dữ liệu có thể được phân loại như sau:

Trong đó g(x) là hàm quyết định như sau:

mà không có mẫu nào bị phân loại sai kể hai tập mẫu có độ đo compact nhỏ đến mức

độ nào Tuy nhiên xét trường hợp hai lớp không thể phân cách tuyến tính, việc chọnđúng giá trị C có ý nghĩa khá quan trọng (C chính là tham số do người dùng chọn cânbằng giữa độ phức tạp của hệ số và số lượng lổi ) C càng lớn thì lỗi phân cách càngnhỏ thì càng bỏ qua nhiều các mẫu phân cách sai, song bờ phân cách càng lớn Dù Cnhỏ hay lớn thì gái trị C vẫn cố định trong quá trình huấn luyện Do đó các mẫu đượchuấn luyện ngang nhau, nên cuối cùng bớ phân cách sẽ nhạy cảm với những mẫu

Trang 16

vượt Việc xem vai trò các mẫu ngang nhau sẽ dẫn đến việc huấn luyện SVM “quáthích nghi” (overfit):

Hình minh họa nhược điểm về điểm vượt của SVM

Trong hình trên là ví dụ của việc huấn luyện mẫu hai chiều không thể phâncách tuyến tính được Vùng ít quan trọng hơn là vùng chứa mẫu không tham gia và

việc hình thành các véctơ hỗ trợ thỏa mãn phương trình (2) Ngược lại những mẫu

tham gia vào hình thành véctơ hỗ trợ sẽ thuộc vùng quan trọng hơn Với cùng giá trị

C, nếu như tồn tại các mẫu vượt biên của lớp 1, siêu mặt phân cách sẽ hướng về lớp 2

Do đó độ dốc của siêu mặt cũng thay đổi do tập các véctơ hỗ trợ thay đổi theo phương

trình (14) Điều đó kéo theo việc nhận dạng các mẫu của lớp 2 có nhiều lỗi hơn do

việc huấn luyện “quá thích nghi”(overfit) gây ra bởi các phần tử vượt

Như ta thấy trên, các mẫu được huấn luyện ngang hang nhau, nên cuối cùng bờphân cách sẻ nhạy cảm với những mẫu vượt Việc xem các mẫu ngang hàng nhau cóthể gây lỗi cho SVM Do đó ý tưởng của FSVM là tương ứng với mỗi mẫu xi ta gọi

Px(xi) là xác xuất xi là mẫu vượt, ta có thể sửa lỗi thành

1

( )*

n

x i i i

p x

 Tuy nhiên, với

Trang 17

từng mẫu trong tập mẫu ban đầu, nếu được một giá trị i là độ đo thành viên Khi đótương ứng với xác xuất gây lỗi chính là độ đo thành viên i xác độ gắn kết thành viênvới cả tập mẫu ban đầu Tập mẫu ban đầu trở thành tập mờ Sf :

Chúng được gán độc lập với nhau

Giả sử đã có tập mẫu đã mờ hóa, ta bắt đầu việc hình thành hàm lượng giá.FSVM vừa cực đại bờ phân cách và cực tiểu lỗi ngay cả với các mẫu vượt Khônggiống như SVM, FSVM giảm ảnh hưởng của các mẫu ít quan trọng hơn bằng độ đothành viên Bài toán FSVM trở thành :

Cực tiểu  

1

1, ,

2

n

i i i

Q w b

w y x w

Q w b

y b

Trang 18

Cực đại :  

12

Dể thấy sự khác biệt duy nhất giữa SVM và FSVM chính là chặn trên của hệ

số nhân itrong bài toán đối ngẫu Nếu như với SVM, chặn số cố định với giá trịhằng số C, thì FSVM linh động hơn với độ đo thành viên của từng mẫu Độ đo mẫu xi

Neural là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào

đến từ một liên kết Đặc trưng của neural là một hàm kích hoạt phi tuyến chuyển đổi

tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra Hàm kích hoạtnày đảm bảo tính chất phi tuyến cho tính toán của mạng neural

Trang 19

Hình1.1: Mô hình một neural nhân tạo

Một neural được cầu tạo gồm các thành phần chính :

Hình 1.2: Sơ đồ đơn giản về một mạng neural

Trang 20

Mô hình mạng neural ở trên gồm 3 lớp:

 Mạng neural qui hồi

Phương pháp mạng Nơron gồm hai giai đoạn là huấn luyện và nhận dạng như sau:

Giai đoạn huấn luyện: Mạng neural phỏng theo việc xử lý thông tin

của bộ não người, do vậy đặc trưng cơ bản của mạng là có khả năng học, khảnăng tái tạo các hình ảnh và dữ liệu khi đã học Có 3 kiểu học chính:

trong một mạng Nơron riêng rẽ tạm gọi là chủ nhân của mạng này với ngõ ramong muốn của đối tương chủ nhân là 1, các đối tượng không phải chủ nhân sẽ

có ngõ ra là 0 Mô hình này đã cải tiến được yếu điểm của SVM

Giai đoạn nhận dạng: Ảnh cần nhận dạng cũng được véc tơ hóa như

giai đoạn huấn luyện và là đầu vào của từng mạng nơron để xác định chủ nhân

Trang 21

của mạng Nếu không xác định được thì hệ thống thông báo là đối tượng nàykhông có trong cơ sở dữ liệu.

Thuật toán:

Xét mạng neural 3 lớp : lớp nhập, lớp ẩn và lớp xuất

Hàm kích hoạt các neural : logistic (sigmoid)

g(x)=

 Bước 1: Khởi tạo trọng số w ngẫu nhiên nhỏ

 Bước 2 : Chọn lớp đầu vào x và đính nó vào lớp đầu vào

 Bước 3 : Truyền sự kích hoạt qua trọng số đến khi kich hoạt các neural đầu ra

 Bước 4: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất sử dụngE” theo trọng số cho lớp xuất sử dụngGRADIENT của hàm lỗi

 Bước 5: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất sử dụngE” theo trọng số cho lớp ẩn sử dụngGRADIENT của hàm lỗi

Bước 6: Cập nhật tất cả trọng số theo Wi=W(i-1)-µ(δE” theo trọng số cho lớp xuất sử dụngE/ δE” theo trọng số cho lớp xuất sử dụng Wi).

 Bước 7: quay lai “Bước 2” cho đến “Bước 6” cho tất cả các mẫu

w2

w1

z=g(v) v=b0 + g(x)=

y1

y2

b

Trang 22

z z

E b

0 ,

1

) 1 (

) (

i b

v

z z v

g v

z

t z z

E

i

Đặt:

) 1 ( )

i p b

E

i i

Đối với các neural lớp ẩn:

a2a

Trang 23

Đạo hàm riêng của hàm lỗi theo trọng số:

a

u u

y y

E a

0,11

)1()(

1

j c

j a

u

y y u y

b y v

p z z t z v

z z E

y

v v

z z

E y

E

j j

i i

i i i i i i

i i

K i

i i

i i

Đặt:

)1(

1

y y b p u

y y

E

i i

Trang 24

Sau khi tính được đạo hàm riêng của hàm lỗi theo từng trọng số, trọng số sẽđược điều chỉnh bằng cách trừ bớt đi 1 lượng bằng tích của đạo hàm riêng và tốc độhọc:

1 1

E w

w i i

CHƯƠNG II:

GABOR WAVELETS

1/ Tổng quát về biến đổi Gabor Wavelet:

Hàm Gabor Wavelet được đề xuất đầu tiên bởi Dennis Gabor như là 1 công cụdùng để phát hiện tín hiệu từ tạp nhiễu

Trang 25

Sau đó, hàm Gabor Wavelet được Daugman tổng quát hóa thành dạng 2 chiều.

Bộ lọc Gabor 2 chiều hiện nay được sử dụng rộng rãi trong nhiều ứng dụng xử lý ảnhtrên máy tính

2 2

2 2

K

k e f

Một số thông số quan trọng đối với biến đổi Gabor Wavelet:

-  mô tả hướng của Wavelet Thông số này khiến cho Wavelet quayquanh tâm của nó Trong đa số các trường hợp  có giá trị trong khoảng 0 đến  Ởđây ta sẽ chọn  từ  với bước nhảy  / 8:  u / 8 với u=1, ,8

-  mô tả bước sóng của sóng sin hoặc tần số trung tâm của Wavelet.Wavelet có bước sóng lớn sẽ đáp ứng với những thay đổi cường độ của ảnh Wavelet

có bước sóng nhỏ sẽ đáp ứng với những cạnh

Biểu diễn dạng ảnh của bộ lọc Gabor Wavelet với 5 tỉ lệ và 8 hướng:

Trang 26

Biểu diễn biên độ của bộ lọc Gabor Wavelet

Trang 27

Phần thực của bộ lọc Gabor Wavelet

2/ Biểu diễn hình ảnh bằng Gabor Wavelet:

Biến đổi Gabor Wavelet của một ảnh I cho trước được cho bởi công thức sau:

R x I x  x x dx  Với I x( ) là cường độ ảnh tại vị trí x

Từ khi biến đổi Gabor Wavelet được giới thiệu trong lĩnh vực xử lý ảnh trênmáy tính, một trong những ứng dụng quan trọng của biểu diễn Gabor Wavelet 2 chiều

là nhận dạng khuôn mặt Trong 1 hoạt động của chính phủ Mỹ (chương trìnhFERET ) để tìm ra hệ thống nhận dạng khuôn mặt tốt nhất, một hệ thống dựa trên biểudiễn Gabor Wavelet của ảnh khuôn mặt đã được chạy thử cùng với một số hệ thốngkhác trong một vài cuộc thử nghiệm

Ngày đăng: 09/05/2014, 10:08

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Tín hiệu gốc - Luận văn điện tử Nhận dạng mặt người dùng gabor wavelet
Hình 2.1 Tín hiệu gốc (Trang 1)
Sơ đồ xử lý nhận dạng khuôn mặt - Luận văn điện tử Nhận dạng mặt người dùng gabor wavelet
Sơ đồ x ử lý nhận dạng khuôn mặt (Trang 7)
Hình minh họa nhược điểm về điểm vượt của SVM - Luận văn điện tử Nhận dạng mặt người dùng gabor wavelet
Hình minh họa nhược điểm về điểm vượt của SVM (Trang 16)
Hình 1.2:  Sơ đồ đơn giản về một mạng neural - Luận văn điện tử Nhận dạng mặt người dùng gabor wavelet
Hình 1.2 Sơ đồ đơn giản về một mạng neural (Trang 19)
Hình 1.1 Trong khi đối với phần lớn các ngôn ngữ lập trình truyền thống phải trải qua giai đoạn dịch (compilation) và liên kết (linking) thì MATLAB cho phép người sử dụng có thể thực thi ngay các lệnh hoặc nhóm lệnh cùng lúc - Luận văn điện tử Nhận dạng mặt người dùng gabor wavelet
Hình 1.1 Trong khi đối với phần lớn các ngôn ngữ lập trình truyền thống phải trải qua giai đoạn dịch (compilation) và liên kết (linking) thì MATLAB cho phép người sử dụng có thể thực thi ngay các lệnh hoặc nhóm lệnh cùng lúc (Trang 38)

TỪ KHÓA LIÊN QUAN

w