Tải bản đầy đủ (.doc) (54 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 54 trang )

Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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
Hình 2.2 Tín hiệu trộn
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
1
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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ến
tí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ủa
tín hiệu s(t) để xấp xỉ
α
. Và điều lưu ý tiếp theo là tín hiệu s
1
(t), s
2
(t) và s


3
(t), tại mỗi
thờ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ính
xá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ập
ICA 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ày
cho phép chúng ta chia các tín hiệu gốc từ tín hiệu đã trộn x
1
(t), x
2
(t) và x
3
(t).
Một ví dụ khác, ICA được dùng để là trích các đặc trưng. Vấn đề quan trọng
trong 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ác
loạ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 đổi
Fourier 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 x
1
,…,x
n
của n thành phần độc lập [1]
1 1 2 2

j j j jn n
x a s a 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 x
j
ứng với mỗi thành phần độc lập s
k
là biến ngẫu nhiên, thay cho tín hiệu theo thời gian
thích hợp. Giá trị quan x
j
(t), những tín hiệu thu được từ microphone trong bài toán
cocktail-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 x
i
về gía trị trung tâm bằng cách trừ với mẫu
trung 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ần
của nó là tổ hợp
1 2
, , ,
n
x x x
tương tự như vector ngẫu nhiên s với các thành phần
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
2
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
1 2
, , ,
n

s s s
. Chúng ta quan sát ma trận A với các phần tử a
ij
.Tất cả các vector được
được hiểu như vector cột; do đó x
T
là chuyển vị của x ,là vector hàng, sử dụng ký
hiệu ma trận vector, mô hình hỗn hợp ở trên sẽ được viết lại là:
x As=
(2.2)
Thỉnh thoảng, chúng ta cần cột của ma trận A; điều đó có nghĩa là mô hình a
j
có thể được viết lại như sau
1
n
i i
i
X a s
=
=

(2.3)
Mô hình thống kê (2.2) được gọi là phân tích các thành phần độc lập, hay mô
hình ICA. Mô hình ICA mô tả cách thức tạo ra dữ liệu quan sát bằng quá trình trộn
các đối tượng s
i
. Các đối tượng độc lập là các biến số ẩn, có nghĩa là ta không thể
quan sát chúng một cách trực tiếp. Vì vậy ma trận trộn cũng được xem như là không
biết. Tất cả những gì ta quan sát được chỉ là vector ngẫu nhiên x, và chúng ta phải
dùng x để xấp xỉ cả A và s.

Đ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 s
i

độ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ận
vuô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ác
thà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 chia
tí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ày
quá trình phân chia nguồn mù.
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
3
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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ận
tươ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
s
i

có thể khử bằng cách chia cho cột tương ứng a
i
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ải
ICA để 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 định
nà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 độc
lậ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
1
x AP Ps

=
. Các phần tử của Ps là các
thành phần biến độc lập gốc s
j
, nhưng theo thứ tự khác. Ma trận AP
-1
được biết
như là một ma trận trộn mới chưa biết được dùng để giải bài toán ICA .
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
4
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh

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át
hiện khuôn mặt.
Phương pháp AdaBoost được đánh giá là nhanh nhất trong các thuật
toán dò tìm hiện nay. Tuy nhiên những khuôn mặt tìm được có độ chính xác
chư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ứng
thự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ới
AdaBoost ở 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ợp
mạ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 khi
qua 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
tính tích phân của ảnh theo các đặc trưng Haar – like. Các đặc trưng này sẽ
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
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
5
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
đượ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 được
bởi AdaBoost sẽ được đưa về kích thước 30x30 pixel. Chuyển đổi ảnh màu
thà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, ta
dù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ôn
mặ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ìm kiế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ên
kiể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
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
6
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
cho nên người dùng không thể ngồi theo dõi chương trình mà phải chép ảnh
tìm được vào một thư mục riêng.
Sơ đồ xử lý nhận dạng khuôn mặt
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
Tập ảnh lớn
(kho ảnh)
Lưu vị trí và kích thước
ảnh vào file data
Ảnh khuôn mặt
mẫu
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

Dò tìm bằng
AdaBoost-NN
hoặc đọc ảnh từ
file data
Có khuôn mặt
Đối sánh ảnh tìm
được với ảnh mẫu
(bằng mạng
nơron)
Khớp nhau
Duyệ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
7
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
Thuật toán AdaBoost:
B1. Đầu vào
(1) Tập Z = {(x1, y1), , (xN, yN)} với:
N = a + b
a là số mẫu thuộc phân lớp yi = +1
b là số mẫu thuộc phân lớp yi = -1
(2) Số lớp yếu tối đa Mmax sẽ được kết hợp.
B2. Khởi tạo giá trị
(0)
1
2

I
a
ω
=
với các mẫu thuộc lớp yi = +1
(0)
1
2
I
b
ω
=
với các mẫu thuộc lớp yi = -1
M = 0
B3. Suy diễn tiến
While M < Mmax
(1) M <- M +1
(2) Chọn hm dựa theo biểu thức (4)
(3) Cập nhật
[ ]
( )
exp ( )
M
i i M i
y H x
ω
¬ −
và chuẩn hóa để
( )M
i

ω
Để
( )
1
M
i
i
ω
=

B4. Đầu ra
Σ = = M
1
( ) ( )
M
m
m
H x sign h x
=
 
=
 

SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
8
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
3/ Nhận dạng dùng Support Vector Machine (SVM) :
SVM (Support Vector Machines) là phương pháp nhận dạng do

Vladimir N. vapnik đề xuất năm 1995. SVM là phương pháp nhận dạng dựa
trên lý thuyết học thống kê ngày càng đươọc sử dụng phổ biến trong nhiều lĩnh
vự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ều
tì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ọng
hơ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òn
trong 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 quan
trọ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 = {x
1
, . .,x
900
}
rồi dùng phương pháp PCA để rút trích đặc trưng thành véc tơ y={y
1
, . .,y
100
}
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 cho
mẫ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ạng

Nơron để so sánh.
Phương pháp phân lớp SVM :
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
9
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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
R∈
- w là véc tơ chuẩn của siêu phẳng phân cách trong không
gian đặc trưng được sinh ra từ ánh xạ Φ(x):
D F
R R→
- (F > D, Φ(x) có thể tuyến tính hoặc phi tuyến) và b là độ
lệch so với gốc tọa độ.
Ban đầu, SVM được thiết kế cho bài toán phân lớp nhị phân, do đó dấu của
g(x) cho biết véc tơ x thuộc lớp +1 hay lớp -1.
Cho tập mẫu {(x
1
,y
1
), ,(x
N
,y
N

)} trong đó x
i

R
D
và y
i

{±1}, mục tiêu của
phương pháp phân lớp SVM là tìm một siêu phẳng phân cách sao cho khoảng cách lề
(margin) giữa hai lớp đạt cực đại
Khoảng cách lề giữa hai lớp là
2
2 2
.w w
w
=
. Để nới lỏng điều kiện phân lớp,
thêm vào một số yếu tố cân bằng và việc huấn luyện SVM chính là giải bài toán tối
ưu có ràng buộc:

,
1
1
min .
2
N
i
w b
i

w w C
ξ
=
+

SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
10
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
sao cho:
y
i
(w. Φ(x
i
) + 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ài
toán qui hoạch toàn phương (QP-Quadratic programming):
1
1
2
T
maz H
α

α α α
 

 ÷
 
(3)
Thỏa mãn:
0
i
C
α
≤ ≤

1
0
N
i i
i
y
α
=
=

,
trong đó α =[α
1
, , α
N
]
T

và H là ma trận kích thước N×N được gọi là ma
trận nhân (kernel matrix) với mỗi phần tử H(i,j) = y
i
y
j
Φ(x
i
).Φ(x
j
).
Giải bài toán QP (3) ta thu được:
1
( )
N
i i i
i
w y x
α
=
= Φ

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

Thế (4) vào (1), ta có :
1
( ) ( ) ( )
N
i i i
i
g x y x x b
α
=
= Φ Φ +

(5)
Giả sử Φ(x
i
).Φ(x
j
) = K(x
i
,x
j
). Nghĩa là, tích vô hướng trong không gian đặc
trưng tương đương với một hàm nhân K của không gian đầu vào. Vì vậy, ta không
cần phải tính trực tiếp các giá trị Φ(x
i
), Φ(x
j
) mà chỉ cần tính tích vô hướng
<Φ(x
i
).Φ(x

j
)> gián tiếp thông qua hàm nhân K(x
i
,x
j
). Nếu sử dụng hàm nhân là hàm
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
11
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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 x y 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
( ) ( , )
SV
N

i i i
i
f x sng y K x x b
α
=
 
= +
 ÷
 

(7)
trong đó, N
SV
là số véc tơ hỗ trợ.
SVM gồm có SVM tuyến tính và SVM phi tuyến.
 SVM tuyến tính
Giả sử cho tập
{ }
1
,
n
i i
i
S x y
=
=
(1)
trong đó xi

Rn và yi


{+1,-1}. Mục đích của SVM là tìm ra siêu mặt
phâ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
2
w
ρ
=
. Do đó trong trường hợp tuyến
tí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 :
( )
1
2
T
w
w wΦ =
(3)
với ràng buộc

( ) 1
T
i i
y w x b+ ≥
i = 1,2,…,n (4)
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
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
12
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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
{ }
1
n
i
i
ξ
=
được thêm
vào (2) như sau:
( ) 1
T
i i i
y w x b
ξ
+ ≥ −
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
w w w C
ξ ξ
=
Φ = +

(6)
Với ĐK :
( ) 1
T
i i i
y w x b
ξ
+ ≥ −
i=1,2,…,n (7)
và ξ ≥ 0,i = 1,2, , n (8)

Trong đó C là tham số do người dùng chọn.
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ép
tổ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 :
( )
1 1 1
1
2
n n n
i i j i j i j
i i j
Q y y x x
α α α α
= = =
= −
∑ ∑∑
(9)
Với ĐK :
1
0
n
i i
i
y
α

=
=

(10)
0
i
C
α
≤ ≤
i=1,2,…,n (11)
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
13
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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
{ }
( )
, 1
m
T
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ài
toá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:

( )
1 0
0
T
i i i i
i i
y w x b
α ξ
β ξ
 
+ − + =
 
=
i=1,2,…n (12)
Trong đó :
i i
C
β α
= −
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
w y x
α
=
=

(14)
Trong đó : N
s
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
( )
S
N
T
i i i

i
g x sing y x x b
α
=
 
= +
 ÷
 

(15)
đồng thời siêu mặt phân cách chính là g(x) = 0. Trường hợp khác xảy ra nữa là
khi
i
α
=C (ξi>0 có thể tính được bằng(12)) và
i
α
= 0 (mẫu i đã được phân loại
đúng)
 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ông
gian đặc trưng có số chiều cao hơn nhiều. Bằng cách sử dụng hàm ánh xạ
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
14
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
( )
M
x R

ϕ

, trong đó M>N, chúng ta có thể xây dựng siêu mặt phân cách trong
không gian mới này. Hàm xử lý chính tích vô hướng K(x,xi) ánh xạ không gian
phi tuyến vào không gian đặc trưng:
( ) ( )
, , ( ) ( )
T
i i i
K x x K x x x x
ϕ ϕ
= =
(16)
Do đó bài toán đối ngẫu trở thành :
Cực đại :
( )
1 1 1
1
( , )
2
n n n
i i j i j i j
i i j
Q y y K x x
α α α α
= = =
= −
∑ ∑∑
(17)
Với cùng ràng buộc (10-11). Điều kiện duy nhất chính là hàm xử lý

chính K(x,xi) phải thỏa điều kiện Mercer. Bằng cách sử dụng các hàm xử lý
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:
( ) ( , )
S
i i i
N
g x sing y K x x
α
 
=
 ÷
 

4/ Nhận dạng dùng Fuzzy SVM (SVM mờ) :
Với SVM, quá trình huấn luyện khá nhạy cảm với các mẫu cách quá xa lớp.
Nếu như hai lớp có thể phân cách tuyến tính thì SVM có thể tìm ra siêu mặt phân cách
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ân
bằ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àng
nhỏ 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ù C
nhỏ 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 được
huấ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
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
15
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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ân
cá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 x
i
ta gọi
P
x
(x
i
) là xác xuất x
i
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
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
16
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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ên
với cả tập mẫu ban đầu. Tập mẫu ban đầu trở thành tập mờ S
f
:
{ }
1
, ,
n
f i i i
i
S x y
µ
=
=
Với các mẫu dương(y
i

=+1) giá trị độ đo thành viên dược gán là
i
µ
+
và ngược
lại là giá trị
i
µ

. 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ông
giống như SVM, FSVM giảm ảnh hưởng của các mẫu ít quan trọng hơn bằng độ đo
thành viên. Bài toán FSVM trở thành :
Cực tiểu
( )
1
1
, ,
2
n
T m
i i
i
w w w C
ξ µ µ ξ
=
Φ = +

Với ĐK

( )
1
T
i i i
y w x b
ξ
+ ≥ −
i = 1,2,…,n
0
ξ

Trong đó m là độ mờ hóa của hàm lượng giá.
Hàm Lagrange trở thành :
( )
( )
1 1 1
1
, , , , , 1
2
n n n
T m i T
i i i i i i i
i i i
Q w b w w C y w x b
ξ α β µ µ ξ α ξ β ξ
= = =
 
= + − + − + −
 
∑ ∑ ∑

Trong đó :
i
α

i
β
là các hệ số nhân Lagrange không âm, việc giải các phương trình
đạo hàm riêng Q theo w,b và
i
ξ
sẻ cho kết quả, do đó ta có phương trình sau :
( )
1
, , , , ,
0
n
i i i
i
Q w b
w y x
w
ξ α β µ
α
=

= − =


( )
1

, , , , ,
0
n
i i
i
Q w b
y
b
ξ α β µ
α
=

= − =


( )
, , , , ,
0
m
i i i
i
Q w b
C
ξ α β µ
µ α β
ξ

= − − =

Thay 3 phương trình vào phương trình trên, hàm Lagrange là hàm theo

α
:
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
17
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
Cực đại :
( )
1 1 1
1
2
n n n
i i j i j i j
i i j
Q y y x x
α α α α
= = =
= −
∑ ∑∑
Với ĐK :
1
0
n
i i
i
y
α
=
=


0
1,2, ,
m
i i
C
i n
α µ
≤ ≤
=
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
i
α
trong 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 x
i
càng nhỏ thì vùng khả thi dọc theo trục
i
α
càng hẹp.
Cuối cùng ta có điều kiện là :
( )
( )
1 0
. 0
T
i i i i
m
i i i

y w x b
C
α ξ
µ α ξ
 
+ − + =
 
− =
i = 1,2,…,n
5/ Nhân dạng bằng mạng Nơron:
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ạt
này đảm bảo tính chất phi tuyến cho tính toán của mạng neural.
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
18
w
2
w
k
w
1
y
1
y
2
b
0
y

k
f
a
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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 :
 Liên kết neural.
 Bộ cộng .
 Hàm kích hoạt.
Mạng neural là một hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay còn
gọi là neural) tựa như neural thần kinh của não người, hoạt động song song và được
nối với nhau bởi các liên kết neural. Mỗi liên kết kèm theo một trọng số nào đó, đặc
trưng cho tính kích hoạt hoặc ức chế giữa các neural.
Hình 1.2: Sơ đồ đơn giản về một mạng neural
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
19
Đầu vào
Đầu ra a=f( ∑w’y+b)
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
Mô hình mạng neural ở trên gồm 3 lớp:
 Lớp nhập (input).
 Lớp ẩn(hidden).
 Lớp xuất (output).
Phân loại mạng neural nhân tạo:
 Mạng neural dẫn tiến
 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:
 Học có giám sát (có mẫu).
 Học không giám sát.
 Học tăng cường.
Tập mẫu huấn luyện được véc tơ hóa dùng phương pháp chia lưới để tính trung
bình mức xám của cửa sổ con kích thước 4x4, như vây với ảnh mẫu kích thước
100x100 sẽ được biến đổi thành véc tơ kích thước là {x
1
, …,x
625
} , các véc tơ
này làm đầu vào cho bộ huấn luyện mạng Nơron. Mỗi đối tượng sẽ được huấn
luyện với các tư thế khuôn mặt như nhìn thẳng, sang trái 30
0
và sang phải 30
0
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õ ra
mong 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
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
20
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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ày
khô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ụng
GRADIENT của hàm lỗi .
 Bước 5: Tính đạo hàm riêng “δE” theo trọng số cho lớp ẩn. sử dụng
GRADIENT 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/ δ Wi).
 Bước 7: quay lai “Bước 2” cho đến “Bước 6” cho tất cả các mẫu.
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
21
w
2
w
k
w
1
z=g(v)
v=b
0
+
g(x)=
y
1
y

2
b
0
y
k
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
Hàm lỗi:
E(z)= (z - t)
2

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






=


Ta có:





>
=
=


−=


=


−=


0,
0,1
)1(
)(
1
iy
i
b
v
zz
v
g

v
z
tz
z
E
i
Đặt:
)1()(
−−=




=
zztz
v
z
z
E
p
Ta được:



>
=
=


0

0
ipy
ip
b
E
i
i
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
22
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
Đối với các neural lớp ẩn:
Đạo hàm riêng của hàm lỗi theo trọng số:
a
u
u
y
y
E
a
E






=



Ta có:
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
23
a
2
a
d
a
1
y=g(u)
v=a
0
+
x
1
x
2
a
0
Lớp đầu
ra
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
( )



>

=
=


−=


=


=−−=










=



=
0,
0,1
1
)1()(

1
jc
j
a
u
yy
u
y
b
y
v
pzztz
v
z
z
E
y
v
v
z
z
E
y
E
j
j
i
i
iiiii
i

i
i
K
i
i
i
i
i
Đặt:
)1(
1
yybp
u
y
y
E
q
K
i
ii







=





=

=
Ta được:



>
=
=


0
0
1
iqx
iq
a
E
i
(1.8)
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




−=

i
w
E
ww
ii
µ
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
24
Luận Văn Tốt Nghiệp GVHD :
Nhận dạng mặt người dùng Gabor Wavelet Th.S Phạm Thành Danh
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.
2
0 0
( ) ( )
0
( , , ) .
t t i t t
t t e e
σ ω
ω
− − − −
Ψ =

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ý ảnh
trên máy tính.
2 2
2
2
2
2 2
2
( )
i
i
k x
i
jk x
i
k
x e e e
σ
σ
σ


 
Ψ = −
 
 
 
uur r
uurr

ur
r
SVTH : Võ Văn Triều – 06106401 Trang
Lê Thanh Sơn – 06045621
25

×