Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
NHẬN DẠNGKHUÔNMẶTNGƯỜIBẰNGMẠNGNƠRONVÀPHƯƠNG
PHÁP PHÂNTÍCHTHÀNHPHẦNCHÍNH
FACE RECOGNITION USING NEURAL NETWORK AND PRINCIPLE
COMPONENT ANALYSIS
SVTH: Từ Minh Hiển – Trần Thị Khánh Hòa
Lớp 07ĐT3, Khoa Điện tử Viễn thông, Trường Đại học Bách khoa, Đại học Đà Nẵng
GVHD: TS. Phạm Văn Tuấn
Khoa Điện tử Viễn thông, Trường Đại học Bách khoa, Đại học Đà Nẵng
TÓM TẮT
Nhận dạngkhuônmặt hiện nay có rất nhiều hướng nghiên cứu nhằm nâng cao hiệu suất
nhận dạngvà tối ưu hóa hệ thống. Bài báo này nghiên cứu và phát triển hai hệ thống nhậndạng
khuôn mặt đơn giản theo hai phươngpháp đối sánh vàmạngnơron cùng dựa trên đặc trưng PCA.
Hệ thống được kiểm tra trên cơ sở dữ liệu ORL của AT&T. Kết quả thực nghiệm được phântích
để đánh giá hiệu suất nhậndạngvà tính ổn định của hai hệ thống nhậndạng trong các điều kiện
kiểm thử khác nhau. Kết quả cũng chỉ ra hiệu suất vượt trội của mạngnơron so với phươngpháp
đối sánh.
ABSTRACT
Face recognition nowadays has a lot of researchs to improve recognition performance and
optimise system. In this report,we research and develop two simple face recognition systems using
template matching and neural network based on Principal Component Analysis PCA. The system
has been tested on the ORL database of AT&T. The experimental results are analysed to evaluate
recognition performance and the stability of two systems in different conditions. The results have
also examined that the performance of neural network is superior to that of the template matching.
1. Đặt vấn đề
Nhận dạngkhuônmặtngườ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ươngphápnhậndạngkhuônmặt để nâng cao
hiệu suất tuy nhiên dù ít hay nhiều những phươngpháp này đang vấp phải những thử thách
về độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng của tham số môi trường.
Có hai phươngphápnhậndạng phổ biến hiện nay là nhậndạng dựa trên đặc trưng
của các phần tử trên khuônmặt như biến đổi Gabor Wavelet vàmạng Neural, SVM,…và
nhận dạng dựa trên xét tổng thể toàn khuônmặt như phươngpháp PCA, LDA, LFA [1][2].
Trong đó, PCA là phươngphá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ậndạngkhuônmặt dùng PCA kết hợp với mạng
nơron là phươngphápmang lại hiệu quả nhậndạng cao bởi nó phát huy được ưu điểm của
PCA vàmạngnơron [3]. 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.
Trong bài báo này, các phươngpháp dựa trên PCA vàmạngnơron được nghiên
cứu và phát triển trong phần 2. Kết quả thực nghiệm được phântích trong phần 3. Phần
cuối cùng trình bày kết luận và hướng phát triển của đề tài.
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
2. Xây dựng hệ thống nhậndạngkhuônmặt
2.1.Hệ thống nhậnkhuônmặt
Hình 1 mô tả các bước nhậndạngkhuônmặt cơ
bản trong một hệ thống [2].
2.1.1. Tiền xử lý
Quá trình tiền xử lý đối với khuônmặt nhằm
nâng cao chất lượng ảnh, chuẩn hóa dữ liệu, kích thước
ảnh. Các ảnh trong nghiên cứu này là có chất lượng
tương đối tốt nên ta không cần dùng các thuật toán nâng
cao chất lượng ảnh mà ta chỉ cần chuẩn hóa ảnh
(normalize image) [4]. Việc chuẩn hóa này khiến độ lệch
giữa 2 điểm ảnh được giảm xuống làm quá trình rút đặc
trưng thêm chính xác.
2.1.2. Trích rút đặc trưng
Trích rút đặ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 những đặc điểm riêng biệt
của một người. Trong bài báo này ta sử dụng phương
pháp PCA [5] được thực hiện theo các bước :
*Tạo một tập S gồm M ảnh (ảnh học). Mỗi ảnh có kích
thước RxC. Mỗi ảnh được chuyển thành một vector N =
RxC chiều.
}, ,,{
21 M
S
(1)
*Tính ảnh trung bình :
M
i
i
M
1
1
(2)
*Tính sai lệch của các ảnh đầu vào so với trung bình:
ii
(3)
*Tính ma trận hiệp phương sai :
T
M
i
T
ii
AA
M
C .
1
1
, A = [Φ
1
, Φ
2
, Φ
3
,… Φ
m
] (4)
Vì ma trận C có kích thước quá lớn (NxN) nên để tìm eigenvector u
i
của C ta tìm
eigenvector và eigenvalue của ma trận L:
L = A
T
A với
n
T
mnm
L
,
Ma trận L có kích thước MxM << NxN nên việc tính eigenvector sẽ nhanh chóng hơn.
*Gọi v
i
là eigenvector của L thì eigenvectơ của C là :
Mivu
M
k
kiki
,1,
1
Sau khi tìm được các eigenface, các ảnh trong tập cơ sở dữ liệu sẽ được chiếu lên
không gian các eigenface này để tạo ra vector đặc tính. 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 nhiều nhất thông tin chứa trong ảnh.
Hình 1. Hệ thống nhậndạng
khuôn mặt cơ bản
HHHhh
Hình 2. Quá trình trích rút đặc trưng
Tập ảnh học
Chuẩn hóa ma trận ảnh
Trung bình các ảnh
Ma trận ảnh so với trung bình
ảnh
Tính các Eigenfaces
Chiếu lên không gian
eigenface
Ảnh đầu vào
Vector đặc tính
Eigenfaces
Khối trích chọn
đặc tính
(4)
(5)
(6)
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
2.1.3. Nhận dạngkhuônmặt
Những đặc trưng sau khi được trích rút sẽ đưa vào khối nhậndạng để phân lớp đối
tượng. Trong đề tài này ta dùng hai thuật toán: phươngpháp đối sánh dùng khoảng cách
Euclides, Mahalanobis [6] và dùng mạngnơron [7] để nhậndạng các đối tượng.
2.2. Nhận dạngkhuônmặt bằng mạngnơron ( Neural network )
Là kỹ thuật tái tạo mạngnơron thần
kinh của con ngườibằng máy tính. Nó bao
gồm các phần tử đơn giản (còn gọi là nơron)
hoạt động song song được nối với nhau bằng
các liên kết có trọng số để kích thích hoặc ức
chế giữa các nơron. Có nhiều cấu trúc mạng
nơron khác nhau như mạng hồi qui (
feedback ), mạng tự tổ chức ( self-organizing
), mạng truyền thẳng (feedforward). Đề tài
này tập trung với mạng truyền thẳng đa lớp
với thuật toán lan truyền ngược ( back
propagation) các sai số [8][12].
2.2.1. Quá trình huấn luyện mạng
Quá trình huấn luyện mạngchính là quá trình
huấn luyện các mẫu học X
s
={x
1
, x
2
, …,x
n
} để giá trị ra cuối cùng T
s
={t
1
, t
2
, …,t
n
} như ta
mong muốn.
+ Quá trình truyền thẳng :
Giá trị đầu ra tại nơron j của một lớp bất kì : với (7)
Trong đó gọi là trong số liên kết từ đầu vào thứ i đến nơron j, là giá trị đầu
vào thứ i đến nơron j, m là số phần từ của lớp trước đó.
+ Quá trình lan truyền ngược các sai số :
Tại mỗi nơron đầu ra k ta tính lỗi giá trị : (8)
Với là giá trị đầu ra mong muốn thứ k.
Đối với mỗi nơron trong lớp ẩn : (9)
Với outputs là tập hợp cái nơron ở lớp ra, là trọng số liên kết từ k nơron lớp ra
đến nơron j của lớp ẩn.
Quá trình cập nhật lại trọng số : (10)
Nếu gọi η được gọi là hệ số học thì η (11)
Sau khi cập nhật những trọng số này, các mẫu trong tập X
s
lại tiếp tục đưa vào
mạng, quá trình này sẽ diễn ra khi giá trị lỗi E < ε cho trước :
(12)
Với outputs là tập hợp cái nơron ở lớp ra, là giá trị ra mong muốn của nơron k
cho mẫu huấn luyện d, và là giá trị ra thực của nơron k.
Hình 3 . Mạngnơron 2 lớp truyền thẳng
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
2.2.2. Cấu hình mạng
Ta khởi tạo mạngnơron ban đầu với các thông số như sau : Đầu vào mạng là các
vectơ đặc trưng được trích rút bằng thuật toán PCA, 120 nơron trong lớp ẩn, 40 nơron ở
lớp đầu ra, sử dụng hàm truyền log-sig ở các nơron của cả hai lớp mạng, chọn tốc độ học lr
= 0.01, dùng phươngpháp độ dốc gradient để tính lỗi, chọn giá trị lỗi mse =1e-10. Ngoài
ra các trọng số và hệ số phân cực được khởi tạo ngẫu nhiên trước khi huấn luyện mạng [9].
3. Kết quả vàphântích
3.1. Cơ sở dữ liệu
Cơ sở dữ liệu cho bài toán nhậndạng được phânthành tập huấn luyện và kiểm tra
từ tập ảnh ORL ( Olivetti Research Laboratory ) của AT&T [10]. Cơ sở dữ liệu này gồm
có 400 ảnh của 40 người, mỗi người có 10 hình ảnh khác nhau. Đối với một đối tượng,
hình ảnh được chụp tại các thời điểm khác nhau, thay đổi ánh sáng, biểu cảm trên khuôn
mặt (vui, buồn, …) và các chi tiết trên khuônmặt (kính / không đeo kính).Với bộ ảnh này
trong 10 ảnh sẽ có 5 tư thế khác nhau tức là 2 trong 10 ảnh sẽ gần giống nhau và có 5 cặp
như vậy. Từ đặc điểm này chúng tôi phân chia ra các tập dữ liệu dùng để huấn luyện và
kiểm tra như sau:
- Tập 1: Từ 10 ảnh của 1 người, lấy 3 ảnh đưa vào tập Training và 7 ảnh đưa vào tập
Testing sao cho ảnh trong tập Test chứa tư thế chụp chưa từng xuất hiện trong tập Train (
Train 3-7 và Test 3-7 ).
- Tập 2: Ứng với 5 cặp ảnh ta lần lượt lấy 1 ảnh đưa vào tập Training và 1 ảnh đưa vào tập
Testing ( Train 5-5 và Test 5-5).Như vậy tập Testing sẽ có các bức ảnh gần giống với tập
Training.
- Tập 3: Lấy 7 ảnh đưa vào tập Training và 3 ảnh còn lại đưa vào tập Testing (Train 7-3 và
Test 7-3 ).
3.2. Kết quả thực nghiệm
3.2.1. Kết quả kiểm tra khi thay đổi các thông số mạng ( tập 3-7)
Bảng 1. Hiệu suất nhậndạng khi thay đổi số nơron trong lớp ẩn
Số nơron
120
110
100
90
80
70
60
50
40
30
Hiệu suất (%)
85.71
86.43
85.36
83.21
84.29
82.86
83.21
82.14
81.79
77.86
Hình 4. Kết quả nhậndạng khi tốc độ học thay đổi
Từ Bảng 1, ta thấy số nơron trong lớp ẩn càng nhiều thì khả năng nhậndạng càng
chính xác. Tuy nhiên khi số nơron trong lớp ẩn đạt đến ngưỡng 110 thì tỉ lệ nhậndạng sẽ
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
giảm. Khi dữ liệu đầu vào không đổi, số nơron trong lớp ẩn quá nhiều cũng gây ta khó
khăn cho việc học của mạng (cấu trúc phức tạp, dữ liệu ít, ) làm cho tỉ lệ nhậndạng thấp.
Theo Hình 4, tốc độ học cũng ảnh hưởng hiệu suất nhận dạng. Điều này là phù hợp
với công thức (11). Tốc độ học càng nhỏ thì quá trình huấn luyện càng lâu, mạng càng khó
hội tụ, đòi hỏi bộ nhớ lớn. Hiệu suất của mạng không tỉ lệ nghịch với tốc độ học mà ta chỉ
có thể dùng phươngpháp thử sai để lựa chọn thông số phù hợp với mạng.
Từ hai nhận xét trên, ta có thể chọn các thông số để tối ưu cho mạng như sau : Số
nơron trong lớp ẩn là 110, tốc độ học lr = 0.01.
3.2.2. Kết quả so sánh hiệu suất nhậndạng giữa hai phươngpháp đối sánh vàmạngnơron
( tập 3-7)
Hình 5. Hiệu suất nhậndạng giữa hai phươngpháp khi thay đổi số eigenfaces
Bảng 2. Hiệu suất nhậndạng giữa hai phươngpháp khi thay đổi số ảnh huấn luyện
Tập kiểm
tra
Số ảnh huấn
luyện
Số ảnh kiểm
tra
Đối sánh
Mạng nơron
Euclide
Mahalanobis
Tập 1
120
280
79.286%
80.357%
85.714%
Tập 2
200
200
87.000%
88.000%
90.500%
Tập 3
280
120
95.000%
94.167%
95.833%
Từ bảng 2 và hình 5, ta thấy rõ ràng hiệu suất nhận của mạngnơron tốt hơn hẳn so
với việc dùng phươngpháp đối sánh trong cùng tập cơ sở dữ liệu. Khi dữ liệu đầu vào thay
đổi thì hiệu suất nhậndạngmạngnơron cũng ổn định hơn nhiều so với phươngpháp đối
sánh. Điều này cho thấy mạngnơron rất linh hoạt, mềm dẻo khi xử lý các dữ liệu đầu vào
khác nhau.
4.Kết luận và hướng phát triển đề tài
Bài báo đã xây dựng hệ thống nhận dạngkhuônmặt dùng PCA kết hợp với mạng
nơron với các thông số : tốc độ học lr=0.01, số nơron trong lớp ẩn là 110, giá trị mse=1e-
10, hàm truyền ở cả hai lớp là log-sig. Với các thông số này, mạngnơron có hiệu suất nhận
dạng cao và ổn định hơn hẳn phươngpháp đối sánh. Một ưu điểm nữa có thể thấy qua các
kết quả đó là dù lượng thông tin vào mạng ít ( 60 eigenfaces so với 120 eigenfaces) nhưng
kết quả nhậndạng vẫn cao hơn mạng đối sánh ( 84% so với 80%). Để thu được kết quả
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
nhận dạng với độ chính xác cao hơn cần tối ưu hơn nữa cấu trúc và các thông số mạng,
điều này đòi hỏi thời gian thử nghiệm và huấn luyện mạng lâu hơn.
Mạng nơron là mạng có tính linh hoạt các nên ta có thể áp dụng nó không chỉ cho
nhận dạngkhuôn mặt, mà còn ứng dụng cho nhậndạng vân tay, điệu bộ mà chỉ cần thay
đổi dữ liệu đầu vào với giá trị đầu ra mong muốn. Đây chính là một ưu thế của mạngnơron
mà những thuật toán khó có được [11].
Tuy nhiên kết quả nhậndạng ta thu được nằm trong những điều kiện cụ thể. Việc
ứng dụng hệ thống vào thực tế sẽ gặp những vấn đề thách thức hiện nay như các thông số
của môi trường, chất lượng ảnh thu được…. Đây là một hướng phát triển của đề tài để đưa
hệ thống vào các ứng dụng thực tế như quản lý nhân viên, kiểm soát ra vào. Ngoài ra, có
thể ‘‘nhúng’’ vào các hệ thống vi xử lý, FPGA DSP…để mở rộng phạm vi ứng dụng.
TÀI LIỆU THAM KHẢO
[1] Phạm Thế Bảo, Nguyễn Thành Nhựt, Cao Minh Thịnh, Trần Anh Tuấn, Phan Phú
Doãn (2007), Tổng quan các phươngpháp xác định khuônmặt người.
[2] Ion Marqués (2010), Face recognition Algorithms, Universidad del País Vasco.
[3] Byung-Joo Oh (2003), ‘‘Face Recognition by Using Neural Network Classifiers based
on PCA and LDA’’, Daejeon, Korea.
[4] Weisstein, Eric W. ‘‘Normalized Vector’’ from mathworld. A wolfram web resource :
http://mathworld.wolfram.com/NormalizedVector.html
[5] Lindasay I Smith (2002), ‘‘A tutorial on Principal Components Analysis’’, John Wiley
& Sons Inc.
[6] Trần Thị Thanh Hải, Eric Marchand (2009), ‘‘Một số phươngpháp đối sánh ảnh thời
gian thực’’, Trung tâm MICA, Trường đại học Bách Khoa Hà Nội.
[7] Volkan Akalin (2003), Face recognition using eigenfaces and neural network, The
Middle East Technical University.
[8] Tom M.Mitchell (1997), Machine Learning, McGraw-Hill Science/Engineering/Math.
[9] Howard Demuth (2002), Neural network Toolbox : For use with MATLAB.
[10] Link ORL Database : www.cam-orl.co.uk/facedatabase.html
[11] Anil K.Jain (1996), ‘‘Artifical Neural network : A tutorial’’, Proceedings of the IEEE.
[12] Kishan Mehrotra, Chilukuri K. Mohan and Sanjay Ranka (1996), Elements of Artifical
Neural Networks, Bradford.
. lần thứ 8 Đại học Đà Nẵng năm 2012
NHẬN DẠNG KHUÔN MẶT NGƯỜI BẰNG MẠNG NƠRON VÀ PHƯƠNG
PHÁP PHÂN TÍCH THÀNH PHẦN CHÍNH
FACE RECOGNITION USING NEURAL. tốt. Nhận dạng khuôn mặt dùng PCA kết hợp với mạng
nơron 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