Tải bản đầy đủ (.pdf) (31 trang)

Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt

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.02 MB, 31 trang )

Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
MỤC LỤC
I. GI I THI UỚ Ệ 4
II. S I KH I PH N M M:Ơ ĐỒ Ố Ầ Ề 5
III. THU TH P VÀ CHU N HÓAẬ Ẩ 6
1. Thu th pậ 6
2. Chu n hóa nhẩ ả 7
a. C t và xoay chu n nh:ắ ẩ ả 7
b. Chu n sáng nhẩ ả 12
III. TRÍCH CH N C TÍNHỌ ĐẶ 13
a. Quá trình h cọ 14
b. Quá trình t o đ c tínhạ ặ 22
IV. QUÁ TRÌNH NH N D NGẬ Ạ 24
V. GIAO DI NỆ 26
TÀI LI U THAM KH OỆ Ả 27
PH L C CÁC HÀM Ụ Ụ 28


- 1 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
DANH MỤC HÌNH VẼ
HÌNH 1. MÔ HÌNH T NG QUÁT 2 KH I CHÍNH C A H TH NG.Ổ Ố Ủ Ệ Ố 5
HÌNH 1. S KH I PH N M M H TH NG NH N D NG M T NG IƠ ĐỒ Ố Ầ Ề Ệ Ố Ậ Ạ Ặ ƯỜ 5
HÌNH 2. QUÁ TRÌNH THU TH P VÀ TÁCH I T NG KH I NH. A. - NHẬ ĐỐ ƯỢ Ỏ Ả Ả
N N, B- NH CH A I T NG, C. K T QU TR NH, D. M T N SAU KHIỀ Ả Ư ĐỐ ƯỢ Ế Ả Ừ Ả Ặ Ạ
L C NHI U, E – I T NG C TÁCH KH I N N.Ọ Ễ ĐỐ ƯỢ ĐƯỢ Ỏ Ề 7
HÌNH 3. KH I CHU N HÓA NHỐ Ẩ Ả 8
HÌNH 4. XÁC NH VÙNG M T B NG PHÂN TÍCH L C M C XÁMĐỊ Ắ Ằ ƯỢ ĐỒ Ứ 9
HÌNH 4. QUÁ TRÌNH T NG NG TÁCH VÙNG M T.ĐẶ ƯỠ Ắ 9


HÌNH 5. XÁC NH TÂM M T C A I T NG ĐỊ Ắ Ủ ĐỐ ƯỢ 10
HÌNH 5(B). XÁC NH GÓC NGHIÊNG C A KHUÔN M T D A TRÊN TÂM M T.ĐỊ Ủ Ặ Ự Ắ
10
HÌNH 6. XOAY CHU N I T NG THEO GÓC Ẩ ĐỐ ƯỢ 12
HÌNH 7 K T QU CÂN B NG M C XÁM, BI U SAU KHI M C XÁM PHÂN BẾ Ả Ằ Ứ Ể ĐỒ Ứ Ố
U H N SO V I BAN U.ĐỀ Ơ Ớ ĐẦ 13
HÌNH 8. S BÊN TRONG KH I TRÍCH CH N C TÍNH S D NG PCAƠ ĐỒ Ố Ọ ĐẶ Ử Ụ 14
HÌNH 9 (A). CÁC NH H C C A B D LI U 1Ả Ọ Ủ Ộ Ữ Ệ 15
HÌNH 9 (B). CÁC NH H C C A B D LI U 2.Ả Ọ Ủ Ộ Ữ Ệ 16
HÌNH 10. CHU N HÓA MA TR N NHẨ Ậ Ả 17
HÌNH 11. TRUNG BÌNH NH C A CÁC T P D LI U H C.Ả Ủ Ậ Ữ Ệ Ọ 17
HÌNH 12. BI U GIÁ TR RIÊNG C A COVARIANCE MATRIX. CH N 34 GIÁỀ ĐỒ Ị Ủ Ọ
TR RIÊNG U TIÊN TRÍCH CH N C TÍNH.Ị ĐẦ ĐỂ Ọ ĐẶ 20
HÌNH 13. 34 EIGENFACES TÌM C.ĐƯỢ 20
HÌNH 14. BI U GIÁ TR RIÊNG C A COVARIANCE MATRIX. CH N 26 GIÁỀ ĐỒ Ị Ủ Ọ
TR RIÊNG U TIÊN TRÍCH CH N C TÍNH.Ị ĐẦ ĐỂ Ọ ĐẶ 21
HÌNH 15. 26 EIGENFACES TÌM C.ĐƯỢ 22
HÌNH 16. KHÔI PH C NH T CÁC VEC-T C TÍNHỤ Ả Ừ Ơ ĐẶ 23


- 2 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
HÌNH 17. NH N D NG THEO KHO NG CÁCH EUCLIDE.Ậ Ạ Ả 25
HÌNH 18. GIAO DI N CH NG TRINH, V I K T QU LÀ NH N D NG CỆ ƯƠ Ớ Ế Ả Ậ Ạ ĐƯỢ
I T NG.ĐỐ ƯỢ 26


- 3 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”

Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
I. GIỚI THIỆU
Nhận dạng mặt người là cách dễ dàng nhất mà con người sử dụng để phân biệt người
với người. Tuy nhiên, công việc dễ dàng đối với con người này lại rất khó để thể hiện
bằng công thức toán học. Cùng với sự phát triển của toán học và khoa học máy tính,
vấn đề nhận dạng mặt người đang có được điều kiện thuận lợi để được giải quyết.
Nhận dạng mặt người là một dạng của bài toán nhận dạng mẫu vật (pattern
recognition) dựa trên những đặc điểm của một khuôn mặt. Khuôn mặt cần nhận dạng sẽ
được đem so sánh với các khuôn mặt mẫu theo một cách nào đó. Kết quả của quá trình
nhận dạng là cho biết khuôn mặt có trong ảnh đầu vào là “đã được biết đến” hay
“chưa được biết đến”. Trong một hệ thống điều khiển, kết quả đó sẽ được sử dụng để
thực hiện các chức năng điều khiển của hệ thống.
Cho một ảnh đầu vào có chứa khuôn mặt người cần nhận dạng. Khi đó mối quan hệ
giữa mức xám của các điểm ảnh trên ảnh đầu vào sẽ phản ánh các đặc tính của khuôn
mặt, ví dụ như:
− Vị trí, diện tích của các vùng tóc, vùng mắt, vùng miệng, vùng da mặt,…
− Hình dạng khuôn mặt, hình dạng mắt, mũi, miệng,…
− Khoảng cách giữa 2 mắt, khoảng cách lông mày,…
Từ các mối quan hệ đó, sử dụng kỹ thuật xử lý ảnh số ta có thể tìm được các đặc
trưng cho mỗi khuôn mặt. So sánh đối chiếu giữa các đặc trưng của khuôn mặt trong
ảnh với cơ sở dữ liệu, ta có thế xác nhận được gương mặt đó là “chưa được biết”, hay
“đã được biết” và chỉ ra người đó.
Hệ thống xử lý bao gồm các khối sau:
T hu nhận,
s ố hóa ảnh
C am era
S ens or
P hân tíc h
ảnh
N hận dạng,

ư ớ c lư ợ ng
X ử lý kết quả
Ảnh số Kết quả
Outpu t
In p u t
TH U TH Ậ P
Ả N H
X Ử LÝ Ả N H


- 4 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Hình 1. Mô hình tổng quát 2 khối chính của hệ thống.
Quá trình được nhìn theo 2 khối là khối thu thập và khối xử lý nhận dạng.
Khối thu thập có nhiệm vụ ghi lại được hình ảnh xuất hiện trước Camera khi được
yêu cầu.
Khối xử lý có nhiệm vụ xử lý tín hiệu ảnh , gồm các phần chính sau:
- Phân tích ảnh:
o Khâu chuẩn hóa: Đưa ảnh thu thập về một định dạng chuẩn cho trước (độ
sáng, kích thước,…)
o Khâu trích chọn đặc tính: tìm đặc tính đặc biệt để có thể phân biệt giữa
các đối tượng với nhau.
- Nhận dạng, ước lượng
o Khâu phân loại và nhận dạng: so sánh đặc tính ảnh đầu vào và cơ sở dữ
liệu có trước để xác nhận đối tượng nhận dạng.
- Khâu xử lý kết quả nhận dạng: Các thao tác sau khi nhận dạng thành công.
Khối phần mềm sẽ đảm nhiệm công việc xử lý ảnh trên.
II. SƠ ĐỒI KHỐI PHẦN MỀM:
Phần mềm chủ yếu là được viết đối với khối Xủ lý ảnh số.

Tiền xử lý
Trích chọn đặc
tính
Thu thập và
tách mặt người
trong ảnh
Cơ sở
dữ liệu
Phân loại, nhận
dạng
Xử lý kết quả
Ảnh cần
nhận dạng
Ảnh được
chuẩn hóa
Vec-tơ
đặc tính
Xử lý ảnh số
Hình 1. Sơ đồ khối phần mềm hệ thống nhận dạng mặt người


- 5 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
III. THU THẬP VÀ CHUẨN HÓA
1. Thu thập
Đầu vào của khối: ảnh lấy được từ Webcam.
Đầu ra của khối: Ảnh người cần nhận dạng được tách khỏi nền.
Khối này sử dụng phương pháp trừ ảnh để tách đối tượng.
Cho ảnh nền X và ảnh chứa đối tượng Y có cùng kích thước 600×800.

Ảnh kết quả của phép trừ ảnh là I.
Xét pixel có tọa độ
0 0
( , )x y
, ta có:
0 0 0 0
0 0
0 0 0 0
1 ( , ) ( , )
( , )
0 ( , ) ( , )
khi X x y Y x y
I x y
khi X x y Y x y
ε
ε
 − >

=

− ≤


Kết quả của phép trừ ảnh là một ảnh nhị phân. Khu vực chứa đối tượng sẽ có màu
trắng (giá trị bằng 1), và khu vực còn lại sẽ có màu đen (giá trị bằng 0). Tuy nhiên, do
sự thay đổi cường độ sáng ở một mức độ nào đó giữa ảnh nền và ảnh chứa đối tượng,
ảnh sẽ có nhiều nhiễu.
Lọc nhiễu:
- Lọc các nhiễu (các vùng màu trắng không có đối tượng) có diện tích bé. Vùng
chứa đối tượng luôn là vùng có diện tích tích lớn nhất.

- Lọc các vùng đen bên trong khu vực chứa đối tượng.


- 6 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
(a)
(b)
(e)
(c)
(d)
Hình 2. Quá trình thu thập và tách đối tượng khỏi ảnh. a. - Ảnh nền, b- Ảnh chưa đối tượng, c. Kết quả
trừ ảnh, d. Mặt nạ sau khi lọc nhiễu, e – Đối tượng được tách khỏi nền.
2. Chuẩn hóa ảnh
- Đầu vào: Ảnh đối tượng sau khi đã được tách ở khâu thu thập.
- Đầu ra: Ảnh có kích thước cố định (310×250 pixels), bao trọn khuôn mặt đối tượng,
được xoay thẳng và được cân bằng sáng.
a. Cắt và xoay chuẩn ảnh:
Để thực hiện nhiệm vụ tìm khung khuôn mặt mà xoay chuẩn, đồ án sử dụng phương
pháp tìm tâm 2 mắt để xác định vị trí khuôn mặt.
Để xác định vùng mắt, ta nhận thấy mắt là một vùng có ánh sáng tối nằm ở một khu
vực riêng trên khuôn mặt, xung quanh là vùng màu da. Do đó, ta sử dụng phương pháp
tách vùng để tìm ra vùng chứa mắt. Phương pháp phân ngưỡng được sử dụng.


- 7 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Các bước thực hiện:
Tạo mặt nạ

tách ngưỡng
màu mắt
Loại bỏ vùng
có diện tích
quá lớn hoặc
quá bé
Xác định vùng
chứa mắt
Xác định tâm
của 2 mắt
Cắt và xoay
ảnh
I
INPUT
OUTPUT
Mask = I(find(I<thresh))
Mask = bwareaopen(Mask,1000)
Mask = bwareaclose(Mask,100)
[L1,L2,R1,R2] = LeftRight(Mask)
Alpha = Angle(L1,L2,R1,R2]
Mask1 = imrotate(Mask, Alpha)
I1 = imrotate(I, Alpha)
Output = CutImage(I1 .* Mask1)
Hình 3. Khối chuẩn hóa ảnh
a.1 – Xác định tâm mắt
Ta thấy, số pixel quy định gương mặt có tỉ lệ gần như không đổi so với tổng số
pixel (điều này do ta đã quy định chặt chẽ điều kiện biên).


- 8 -

Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Ảnh chứa đối tượng Lược đồ mức xám của ảnh
Hình 4. Xác định vùng mắt bằng phân tích lược đồ mức xám
Ta thấy khu mực chứa màu mắt khá nổi bật trong lược đồ mức xám. Nhận thấy tỉ lệ
của vùng da và nền so với tổng số pixel luôn nằm trong một khoảng cố định, do đó ta
có thể tính được ngưỡng của vùng màu mắt.
Do diện tích của vùng mắt là nhỏ hơn rất nhiều so với vùng tóc, nên ta sử dụng
chương trình lọc để bỏ đi các vùng có diện tích lớn. Vùng có diện tích lớn hơn ngưỡng
sẽ được thay thế bằng giá trị 0 (màu đen). Qua khảo sát, đồ án lựa chọn ngưỡng đó là
1000 pixels.
Việc đặt ngưỡng thông thường sẽ sinh ra các vùng nhiễu có diện tích bé. Để lọc các
vùng này, ta cũng sử dụng hàm lọc giống như trên nhưng chỉ để lọc với các vùng có
diện tích bé hơn ngưỡng. Qua khảo sát, đồ án lựa chọn ngưỡng đó là 100 pixels.
Sau khi lọc nhiễu, ta có kết quả như sau:
Ảnh mặt nạ sau khi đặt
ngưỡng tách màu mắt
Ảnh mặt nạ sau khi được lọc
nhiễu.
Vùng mắt được tách
Hình 4. Quá trình đặt ngưỡng tách vùng mắt.
Sau khi tách được vùng mắt, sử dụng phương pháp tìm tâm của một vùng, ta có được
tâm của mắt như sau:


- 9 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Hình 5. Xác định tâm mắt của đối tượng
Tìm được tâm 2 mắt, từ đây ta có thể thực hiện phép xoay ảnh và tách được vùng

mặt như mong muốn.
a.2– Xoay ảnh và tắt khung mặt
Từ tọa độ tâm 2 mắt, ta xác định góc nghiêng
α
của khuôn mặt so với phương
thẳng đứng. Nếu
0
5
α
>
, ta sẽ thực hiện phép xoay ảnh.
α
α
Mắt phải
Mắt trái
Hình 5(b). Xác định góc nghiêng của khuôn mặt dựa trên tâm mắt.
Giả sử tại tâm 2 mắt có tọa độ tương ứng là (x
1
,y
1
) và (x
2
,y
2
) khi đó ta có:
2 1
2 1
y
x
y

tg
x
α

=

Xoay chuẩn đổi tượng thực chất là một phép biến đổi hệ tọa độ. Giả sử ảnh f ban đầu
ở trong hệ tạo độ (w,z), thông qua phép biến đổi T ta được ảnh f’ trong hệ tọa độ (x, y);
( )
{ }
( , ) ,x y T w z=
Phương pháp biến đổi phổ biến hay được dùng là phương pháp affine transform theo
phương pháp này thì:


- 10 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
[ ] [ ] [ ]
11 12
21 22
31 32
0
1 1 1 0
1
t t
x y w z w z t t
t t
 
 

= ⋅ = ⋅
 
 
 
T
Các phép chuyển đổi thông thường có thể là: scale, rotation translation,…
Đối với mỗi phương pháp có ma trận T khác nhau, trong trường hợp xoay ảnh thì ma
trận T tương ứng sẽ là:
cos sin 0
sin cos 0
0 0 1
α α
α α
 
 
= −
 
 
 
T
Tương ứng với phương trình toán học:
cos sin
sin cos
x w z
y w z
α α
α α
= −
= +
Sau khi xoay, tọa độ của các điểm trong ảnh cũ sẽ bị dịch chuyển đi theo công thức

trên. Trong hệ tọa độ mới, ta có được khuôn mặt theo tư thế thẳng đứng và hai tâm mới
tương ứng với mắt của đối tượng. Từ đây, ta có được khung để tách phần mặt mong
muốn ra khỏi ảnh.
Kết quả thực hiện như sau:


- 11 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng

0
1
α
=

0
9
α
=
Hình 6. Xoay chuẩn đối tượng theo góc
α
b. Chuẩn sáng ảnh
Để kiểm tra mức sáng, ta kiểm tra biểu đồ mức xám của ảnh và sử dụng thuật toán
san bằng mức xám (histogram equalization). Ảnh sau khi được san bằng mức xám thì
mức xám của ảnh sẽ phân bố đều từ 0-255.
0 50 100 150 200 250
0
500
1000
1500

0 50 100 150 200 250
0
500
1000
1500
2000
a)
b)
c)
d)
(a)
0 50 100 150 200 250
0
500
1000
1500
0 50 100 150 200 250
0
500
1000
1500
2000
a)
b)
c)
d)
(b)


- 12 -

Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
0 50 100 150 200 250
0
500
1000
1500
0 50 100 150 200 250
0
500
1000
1500
2000
a)
b)
c)
d)
(c)
0 50 100 150 200 250
0
500
1000
1500
0 50 100 150 200 250
0
500
1000
1500
2000
a)

b)
c)
d)
(d)
Hình 7 Kết quả cân bằng mức xám, biểu đồ sau khi mức xám phân bố đều hơn so với ban đầu.
III. TRÍCH CHỌN ĐẶC TÍNH
Các khâu trong quá trình trích chọn đặc tính:
- Đầu vào: Ảnh đã được chuẩn hóa
- Đầu ra: vec-tơ đặc tính của ảnh đầu vào.
Để có được vec-tơ đặc tính, ta cần phải qua 2 giai đoạn:
Giai đoạn 1: Tạo ra các eigenfaces thông qua quá trình học các ảnh mẫu.
Giai đoạn 2: Chiếu vec-tơ ảnh cần nhận dạng vào không gian eigenface. Các vec-tơ
đặc tính của ảnh đầu vào là phép chiếu tử ảnh ban đầu vào không gian tạo bởi các
eigenface.
Quá trình trích chọn đặc tính được thể hiện qua lưu đồ sau:


- 13 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng

Khối
Trích chọn
đặc tính
Hình 8. Sơ đồ bên trong khối Trích chọn đặc tính sử dụng PCA
a. Quá trình học
Mô hình được xây dựng và kiểm nghiệm trên 2 bộ dữ liệu:
- Bộ 1: Ảnh được download từ bộ dữ liệu ảnh mẫu ORL của Cambridge
University Engineering Department. Bộ dữ liệu lựa chọn có 20 người, ảnh
được cắt thủ công, mỗi người 5 ảnh. Trong số 5 ảnh của mỗi người ta chọn

ngẫu nhiên 2 ảnh để tạo bộ số liệu học, và 3 ảnh còn lại để kiểm tra mô hình.
Trong bộ ảnh này, các ảnh học được xếp vào cùng một thư mục, có đánh số
thứ tự.
- Bộ 2: Bộ thu thập trực tiếp từ hệ thống webcam được thiết kế trong khuôn khổ
của đồ án. Người chụp đứng cách webcam khoảng 1m, tư thế tương đối ngay
ngắn. Số người được thu thập là 6 người, mỗi người có 5 ảnh để xây dựng mô
hình. Ảnh để kiểm tra mô hình cũng được lấy trực tiếp từ webcam. Trong bộ
ảnh này, ảnh được xếp theo nhóm. Các ảnh của cùng một người được xếp
chung vào một thư mục. Những người khác nhau sẽ được đặt trong các thư


- 14 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
mục khác nhau. Trong mỗi thư mục có một file dữ liệu chứa thông tin về
người có ảnh đặt trong thư mục đó. Các thư mục được đánh số theo thứ tự.
Các khuôn mặt trong trong bộ dữ liệu 1 được cắt thủ công . Tư thế của mỗi khuôn
mặt là ngẫu nhiên và chưa được căn chỉnh. Các ảnh chưa được chuẩn sáng và san bằng
mức xám.
Trong bộ cơ sở dữ liệu 2, các ảnh đều đã được căn chỉnh về tư thế thẳng đứng. Các
ảnh cũng chưa được chuẩn sáng và san bằng mức xám.
Tất cả các ảnh học của mỗi bộ được liệt kê và được thể hiện trên các Hình 9 (a) và
Hình 9(b) sau:
Database
Hình 9 (a). Các ảnh học của bộ dữ liệu 1


- 15 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng

Database
(b)
Hình 9 (b). Các ảnh học của bộ dữ liệu 2.
a.1. Chuẩn hóa ma trận ảnh
Chuẩn hóa vec-tơ là khâu đầu tiên cần thực hiện khi sử dụng thuật toán PCA. Sự
phân bố của một vec-tơ trong không gian được thể hiện qua trung bình (mean) và chuẩn
(standart) của vec-tơ đó.
Cho vec-tơ
[ ]
1 2
, , ,
N
x x x=X
, trung bình và chuẩn của vec-tơ X được tính như sau:
1
2
1
1
( )
( )
( )
1
N
i
i
N
i
i
mean x
N

x
std
N
=
=
= =

=



X X
X
X
Theo công thức trên, từ một ảnh
Γ
ban đầu, ta có trung bình
Γ
và chuẩn
( )std Γ
của
Γ
.
Phép chuẩn hóa ma trận ảnh được thực hiện theo công thức sau:


- 16 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
( , )

'( , )
( )
x y
x y
std
Γ − Γ
Γ =
Γ
trong đó,

là ma trận ảnh đã được chuẩn hóa, (x, y) là tọa độ điểm ảnh.
Kết quả quá trình chuẩn hóa được thể hiện như sau:
Ảnh đầu vào Ảnh sau chuẩn hóa
Hình 10. Chuẩn hóa ma trận ảnh
a.2. Tính trung bình tập ảnh đầu vào
Khâu này cho ta xác định được gốc tọa độ của không gian vec-tơ biểu diễn các ảnh.
Ảnh trung bình được tính bằng trung bình cộng của tất cả các ảnh. Ảnh trung bình này
thể hiện những điểm giống nhau nhất giữa tất cả các khuôn mặt.
Gọi số ảnh học là N, mỗi ảnh có kích thước
R C×
.
{ }
1 2 3
, , , ,
M
S = Γ Γ Γ Γ
Trung bình N ảnh trên được tính theo công thức:
1
1
M

i
i
M
=
Ψ = Γ

Kết quả thực hiện trên 2 bộ dữ liệu:
Average Image
Trung bình tập ảnh học của bộ 1 Trung bình tập ảnh học của bộ 2
Hình 11. Trung bình ảnh của các tập dữ liệu học.


- 17 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Sau khi tính được ảnh trung bình của bộ ảnh học, các ảnh đầu vào sẽ được so
sánh với ảnh trung bình này. Ảnh mới sẽ chứa những điểm khác nhau giữa ảnh đầu vào
so với các ảnh còn lại. Ta có tập vec-tơ đầu vào mới sau khi so sánh với trung bình:
1 2
[ , , , ]
, 1,
M
i i
i M
= Φ Φ Φ
Φ = Γ − Ψ =
A
a.3. Tính eigenface
Ma trận Covariance (covariance matrix) thể hiện sự tương quan của từng
vec-tơ đối với các vec-tơ còn lại trong không gian.

Cho 2 vec-tơ N chiều
[ ]
1 2
, , ,
N
x x x=X

[ ]
1 2
, , ,
N
y y y=Y
. Ta có tương quan
giữa 2 vec-tơ trên được tính theo công thức:
1
( )( )
cov( , )
1
N
i i
i
x y
N
=
− −
=


X Y
X Y

Nếu hai véc tơ đã được chuẩn hóa trước, ứng với
0, 0= =X Y
, ta có:
1
1
cov( , ) ( )
1 1
N
i i
T
i
x y
N N
=
= = ⋅
− −

X Y X Y
Cho một tập M vec-tơ N chiều
1 2
[ , , , ]
M
Φ Φ Φ
, xếp thành một ma trận A kích
thước
N M
×
, ta có covariance của ma trận A là một
ma
trận C có kích thước

N N
×
,
phần tử
( , )C i j
được tính như sau:
( , ) cov( , )
i j
C i j = Φ Φ
Vec-tơ riêng (eigenvector) và giá trị riêng (eigenvalue) :
Cho ma trận vuông
N N×
∈C ¡
, vec-tơ riêng
u
và giá trị riêng
λ
khi và chỉ khi:
λ
⋅ = ⋅C u u
Eigenface:


- 18 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Theo lý thuyết, eigenface chính là
các
vec-tơ riêng u ứng với các giá trị riêng v có
giá trị lớn nhất của ma trận covariance:

1
1
M
T T
i i
i
M
=
= Φ Φ = ⋅

C A A
Để tính nhanh các eigenface này, người ta chuyển sang tính toán với ma trận
T
= ⋅L A A
. Lựa chọn K vec-tơ riêng
v
ứng với K giá trị riêng lớn nhất của L. Ta có
công thức chuyển đổi:
= ⋅u A v
. Các giá trị riêng của L cũng chính là các giá trị riêng của
C
Gọi các giá trị riêng của L là:
{ }
1 2
, , ,
M
λ λ λ λ
=
sắp xếp theo thứ tự giảm dần.
K giá trị riêng lớn nhất được lựa chọn theo công thức:

1
1
K
i
i
M
i
i
λ
ε
λ
=
=



Trong đó,
ε
là ngưỡng chọn. Đồ án lựa chọn
0,97
ε
=
Kết quả tính eigenface cho 2 bộ số
liệu
như sau:
Bộ 1: Theo công thức (3.15), 34 giá trị riêng cần tìm được thể hiện trên Hình 12.
10 20 30 40 50 60 70 80
0
5
10

15
x 10
4


- 19 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Hình 12. Biều đồ giá trị riêng của covariance matrix. Chọn 34 giá trị
riêng đầu tiên để trích chọn đặc tính.
Trong hình trên, các giá trị riêng biến thiên rất nhanh về 0. Tổng giá trị của 34 giá
trị riêng đầu tiên chiếm hơn 97% tổng giá trị tất cả các giá trị riêng tìm được.
34 eigenface tương ứng với 34 giá trị riêng trên được thể hiện trên hình sau:
EIGENFACE
Hình 13. 34 eigenfaces tìm được.
Bộ 2: 26 giá trị riêng cần tìm được thể hiện trên Hình 14.


- 20 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
10 20 30 40 50 60 70
0
0.5
1
1.5
2
2.5
x 10
5

Hình 14. Biều đồ giá trị riêng của covariance matrix. Chọn 26 giá trị
riêng đầu tiên để trích chọn đặc tính.
Tương tự bộ 1, các giá trị riêng tìm được cũng biến thiên rất nhanh về 0. Tổng giá trị
26 giá trị riêng đầu tiên chiếm hơn 97% tổng giá trị tất cả các giá trị riêng tìm được. Do
đó ta chọn 26 giá trị riêng đầu tiên.
26 eigenface tương ứng với 26 giá trị riêng trên được thể hiện qua Hình 15


- 21 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
EIGENFACE
Hình 15. 26 eigenfaces tìm được.
Qua các Hình 13 và Hình 15, ta có thể thấy được sự biến thiên của các eigenface
tìm được.Các eigenface đầu tiên rất rõ rệt, đặc trưng cho chiều biến thiên mạnh nhất của
bộ dữ liệu học. Các eigenface sau “nhạt” dần, thể hiện cho các hướng biến thiên giảm
dần của bộ dữ liệu học. Các eigenface cuối cùng tương ứng với các giá trị riêng gần
bằng 0. Số lượng eigenface quyết định số chiều của vec-tơ đặc tính.
Các eigenface tìm được là các vec-tơ tạo ra không gian mới để thực hiện nhiệm vụ
trích chọn đặc tính. Vec-tơ đặc tính của đối tượng cần nhận dạng chính là hình chiếu
của ảnh đầu vào lên không gian mới này. Từ đây, các mô hình nhận dạng sẽ được áp
dụng để mang lại hiệu quả nhận dạng cao mà vẫn đáp ứng được yêu cầu về thời gian xử
lý của hệ thống.
b. Quá trình tạo đặc tính
Cho ảnh đầu vào
Γ
.
Trong không gian được tạo bởi K eigenface, ảnh
Γ
sẽ được thể hiện bởi các hệ số

[ ]
1 2
, , ,
K
w w w
ω
=
được tính theo công thức sau:
( )
T
k
u
ω
= Γ − Ψ


- 22 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Trong đó,
Ψ
là trung bình các ảnh học đã được tính trong phần học.
Trong không gian eigenface này, ảnh mới

Γ
sẽ được biểu diễn bởi công thức sau:
1 1 2 2

K K
w w w


Γ = Ψ + ⋅ + ⋅ + + ⋅u u u
Trong đó
{ }
1 2
, , ,
K
u u u u=
là các eigenface.
Sai số

Γ − Γ
càng nhỏ thì lượng thông tin bị mất khi trích chọn đặc tính càng nhỏ,
điều đó có nghĩa là vec-tơ đặc tính tạo ra có chất lượng tốt
Theo công thức trên, kết quả thu được trên 2 bộ số liệu được minh họa trong sau:
Bộ 1
Bộ 2
Ảnh đầu vào Ảnh tái tạo từ các vec-tơ đặc tính.
Hình 16. Khôi phục ảnh từ các vec-tơ đặc tính
Ta thấy, ảnh được khôi phục lại từ vec-tơ đặc tính trong không gian mới hầu như
không bị mất thông tin. Từ đây là có thể đánh giá được chất lượng các vec-tơ đặc tính
được tạo ra là tốt.


- 23 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
IV. QUÁ TRÌNH NHẬN DẠNG
- Đầu vào: Vec-tơ đặc tính của ảnh chứa đối tượng cần nhận dạng
- Đầu ra: Trả lời đối tượng “đã được nhận biết” hay “chưa được biết”.

Quá trình nhận dạng được thực hiện bằng cách so sánh khoảng cách giữa vec tơ đặc
tính của ảnh cần nhận dạng và vec-tơ đặc tính của từng ảnh học, tìm ra ảnh học gần với
ảnh cần nhận dạng nhất. Nếu khoảng cách bé nhất đó bé hơn một ngưỡng xác định, ta
kết luận là đối tượng đã được nhận biết.
Tập ảnh học
{ }
1 2 3
, , , ,
M
S = Γ Γ Γ Γ
lần lượt được chiếu vào không gian eigenface,
vec-tơ đặc tính của các ảnh học lần lượt là:
1 2
, , ,
M
ω ω ω
. Ảnh chứa đối tượng cần nhận
dạng
Γ
, chiếu vào không gian eigenface ta được vec-tơ đặc tính
ω
. Ta cần tìm ảnh
X
Γ

trong cơ sở dữ liệu học có khoảng cách ngắn nhất tới đối tượng cần nhận dạng theo
công thức sau:
argmin
X k
ω

ω ω ω
= −
X
σ ω ω
= −
Nếu
σ ε
<
, đối tượng đã được biết đến, là người
X
Γ
trong cơ sở dữ liệu học.
Nếu
σ ε

, đối tượng chưa được biết đến.


- 24 -
Chuyên đề: “Nghiên cứu thiết kế phần mềm thiết bị nhận dạng khuôn mặt”
Thực hiện: Nguyễn Đăng Dũng, Nguyễn Văn Hùng
Ảnh đầu vào
Ảnh tách được
Input 61.6488 66.8392 94.8698
61.6
σ
=
Input 61.6488 66.8392 94.8698
66.7
σ

=
Input 61.6488 66.8392 94.8698
94.8
σ
=
Các kết quả gần với đối tượng nhất tương ứng với các giá trị
σ
Hình 17. Nhận dạng theo khoảng cách Euclide.


- 25 -

×