Võ Phúc Nguyên Tạp chí KHOA HỌC & CÔNG NGHỆ 64(02): 53 - 57
53
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
NHẬN DẠNG ẢNH MẶT NGƢỜI SỬ DỤNG MẠNG NƠRON
Võ Phúc Nguyên
Trường Đại học Kỹ thuật Công nghiệp – ĐH Thái Nguyên
TÓM TẮT
Bài báo trình bày một phƣơng pháp mới trong việc trích chọn đặc trƣng kết hợp với mạng nơron
để nhận dạng ảnh mặt ngƣời. Hệ thống thực hiện trích chọn các đặc trƣng mặt ngƣời từ một ảnh
theo ba phƣơng pháp: phân tích thành phần chính (PCA), phân tách tuyến tính (LDA) và biến đổi
hình thái. Sau đó bài báo trình bày về mạng nơron với thuật toán học lan truyền ngƣợc để phân
loại giúp nhận dạng các đặc trƣng đã trích chọn ở trên. Khi có yêu cầu nhận dạng, ảnh đầu vào sẽ
đƣợc trích chọn đặc trƣng, các đặc trƣng sẽ đƣợc nhận dạng qua các mạng nơron đã huấn luyện.
Tín hiệu ra của từng mạng riêng biệt sẽ đƣợc so sánh với nhau để đƣa ra câu trả lời của hệ thống.
Kết quả là, bằng việc kết hợp những đặc trƣng mang tính chất thống kê và những đặc trƣng mang
tính hình thái, hệ thống đã đạt hiệu quả khá cao so với những hệ thống nhận dạng mặt ngƣời trƣớc
đây. Đặc biệt, hệ thống nhận dạng khá tốt đối với những ảnh có nhiễu.
Từ khóa: Nhận dạng ảnh mặt người, phân tích thành phần chính (PCA), phân tách tuyến tính
(LDA), biến đổi hình thái, mạng nơron.
*
GIỚI THIỆU
Hiện nay, cùng với sự pháttriển nhƣ vũ bão
của công nghệ thông tin nói chung và sự phát
triển trong lĩnh vực thị giác máy nói riêng,
các hệ thống phát hiện và nhận dạng mặt
ngƣời đang ngày càng có nhiều ứng dụng
trong thực tế. Đặc biệt sau thảm họa ngày
11/9, các chính phủ trên toàn thế giới đã bắt
đầu chú ý hơn tới các mức an ninh ở sân bay
và biên giới. Ngân sách hằng năm của các
nƣớc đã tăng lên nhiều cho các kỹ thuật hiện
đại để xác định, nhận dạng và lần theo các đối
tƣợng nghi vấn. Nhu cầu tăng lên trong các
ứng dụng này đã giúp các nhà khoa học có
thêm quỹ để phát triển các dự án nghiên cứu.
Mặc dù việc nhận dạng mặt ngƣời không thể
chính xác đƣợc nhƣ các phƣơng pháp nhận
dạng khác nhƣ nhận dạng vân tay, nhƣng nó
vẫn nhận đƣợc sự quan tâm lớn của các nhà
nghiên cứu trong lĩnh vực thị giác máy. Lý do
chủ yếu là trên thực tế, mặt ngƣời vẫn là cách
truyền thống để con ngƣời nhận ra nhau.
*
Tel: 0917829740
Một hệ thống nhận dạng mặt ngƣời điển hình
bao gồm các thành phần chính nhƣ hình 1.
Hiện nay, có hai hƣớng tiếp cận chính làm hạt
nhân của các kỹ thuật phân tích đặc trƣng mặt
ngƣời: hƣớng tiếp cận hình học và hƣớng tiếp
cận hình ảnh [1].
Hướng tiếp cận hình học: sử dụng việc
ánh xạ không gian các đặc trƣng mặt ngƣời.
Mặt ngƣời đƣợc phân loại theo khoảng cách
hình học, theo đƣờng bao và theo các góc giữa
các điểm.
Hướng tiếp cận hình ảnh: bao gồm việc
xây dựng các mẫu từ những đặc trƣng mặt
ngƣời. Mẫu của các đặc trƣng nổi bật, hoặc
thậm chí là toàn khuôn mặt đƣợc thiết lập, việc
nhận dạng đƣợc thực hiện bằng cách duyệt các
khuôn mặt rồi tìm mặt nào khớp nhất với mẫu.
Mặc dù các hệ thống nhận dạng mặt ngƣời
hiện tại đã đạt đƣợc hiệu quả khá cao, tuy
nhiên chúng vẫn còn hạn chế là chỉ tập trung
vào một hay một vài phƣơng pháp trích chọn
đặc trƣng. Có hệ thống chỉ thực hiện nhận
dạng dựa trên các đặc điểm về hình học của
Ảnh
mặt
ngƣời
Hình 1. Mô hình hệ thống nhận dạng mặt ngƣời
Trích
chọn
đặc
trƣng
Phân
loại
mặt
ngƣời
Ngƣời
đƣợc
nhận
dạng
Võ Phúc Nguyên Tạp chí KHOA HỌC & CÔNG NGHỆ 64(02): 53 - 57
54
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
mặt ngƣời hoặc có hệ thống chỉ dựa trên các
đặc điểm thống kê.
Trong bài báo này, việc trích chọn đặc trƣng
sẽ đƣợc thực hiện dựa trên những đặc điểm
thống kê của khuôn mặt (cụ thể là phƣơng
pháp phân tích thành phần chính – PCA và
phƣơng pháp phân tách tuyến tính – LDA) và
những đặc điểm về hình thái của khuôn mặt.
Phần 2 trình bày các phƣơng pháp trích chọn
đặc trƣng. Phần 3 trình bày về mạng noron
với thuật toán học lan truyền ngƣợc lỗi, đƣợc
dùng để phân loại ảnh. Phần 4 trình bày cụ
thể việc thiết kế hệ thống và đánh giá hiệu
quả thực hiện. Cuối cùng là phần kết luận.
TRÍCH CHỌN ĐẶC TRƢNG
Phƣơng pháp phân tích thành phần chính
Ý 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 mặt ngƣời” [2, 3].
Mỗi ảnh là một ma trận M×N các điểm ảnh,
ma trận này đƣợc chuyển thành một vector
bằng cách xếp các cột điểm ảnh liên tiếp
nhau. Nhƣ vậy, mỗi ảnh đƣợc coi là một điểm
trong không gian MN chiều. Các vector của
tập ảnh huấn luyện đƣợc xếp thành một ma
trận. Từ ma trận này, ta sẽ tính đƣợc ma trận
hiệp phƣơng sai của dữ liệu, là ma trận trong
đó mỗi phần tử (i, j) là giá trị hiệp phƣơng sai
giữa chiều thứ i và chiều thứ j.
Công việc tiếp theo là tính các giá trị riêng và
vector riêng của ma trận hiệp phƣơng sai. Các
vector riêng chính là các thành phần đặc trƣng
cho sự phân bố của tập dữ liệu. Cuối cùng,
ma trận biến đổi của phƣơng pháp PCA là ma
trận hình thành từ các vector riêng ứng với
các giá trị riêng lớn nhất vừa tính đƣợc, nghĩa
là các thành phần đặc trƣng nhất, còn các
thành phần kém quan trọng hơn sẽ đƣợc bỏ
qua để giảm số chiều của dữ liệu.
Trong bài báo, tập dữ liệu ảnh đƣợc lấy từ cơ
sở dữ liệu ORL (Olivetti Research
Laboratory, Surrey University). Mỗi ảnh có
kích thƣớc 112×92, có thể đƣợc coi là một
vector 10304 chiều, hoặc tƣơng đƣơng với
một điểm trong không gian 10304 chiều. Hình
2 là một số ảnh gốc trong cơ sở dữ liệu.
Áp dụng PCA để giảm số chiều của không
gian khổng lồ trên, kết quả thu đƣợc là các
ảnh đã đƣợc biến đổi sau khi phân tích theo
các thành phần đặc trƣng, các vector riêng
đƣợc chọn theo các giá trị riêng tƣơng ứng
lớn hơn hoặc bằng 10
-3
, số lƣợng vector riêng
là 49, nghĩa là mỗi ảnh biểu diễn một điểm
trong không gian 49 chiều (hình 3).
Phƣơng pháp phân tách tuyến tính
Phƣơng pháp PCA ở trên còn có nhƣợc điểm
là chỉ làm nổi bật lên các đặc trƣng của từng
ảnh mà chƣa quan tâm đến các ảnh đó là của
cùng một ngƣời hay của những ngƣời khác
nhau. Phƣơng pháp phân tách tuyến tính
(LDA – Linear Discriminant Analysis) có thể
khắc phục đƣợc những nhƣợc điểm đó.
Nhiệm vụ chính của phƣơng pháp là tính sự
biến thiên giữa các ảnh của những ngƣời khác
nhau và tính sự biến thiên giữa các ảnh của
cùng một ngƣời, sau đó tìm một phép biến đổi
để làm cực đại tỉ số của hai sự biến thiên trên.
Nghĩa là, tập ảnh huấn luyện sẽ đƣợc biến đổi
sang một không gian mới sao cho sự khác
nhau giữa các ảnh của những ngƣời khác
nhau đƣợc tăng lên tối đa, đồng thời cũng làm
tăng sự giống nhau giữa các ảnh của cùng một
ngƣời [3].
Thông thƣờng trong phƣơng pháp LDA, sự
phân bố ngoại và sự phân bố nội đƣợc dùng
làm tiêu chí để phân lớp [4, 5]. Ma trận biến
đổi của LDA đƣợc hình thành từ tập vector W
= [W
1
, .., W
d
], thỏa mãn:
Hình 2. Ảnh gốc trong cơ sở dữ liệu ORL
Hình 3. Ảnh sau khi biến đổi theo PCA
Võ Phúc Nguyên Tạp chí KHOA HỌC & CÔNG NGHỆ 64(02): 53 - 57
55
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1maxarg
WSW
WSW
W
w
T
b
T
trong đó S
w
và S
b
lần lƣợt là ma trận phân bố
nội và ma trận phân bố ngoại.
Nếu ma trận S
w
là khả nghịch, tỉ số ở công
thức (1) sẽ đạt cực đại khi các vector của W là
các vector riêng của
bw
SS
1
. Đối với bài toán
nhận dạng mặt ngƣời, ma trận S
w
thƣờng
không khả nghịch, vì số lƣợng ảnh nhỏ hơn
rất nhiều so với số chiều biểu diễn ảnh. Có
nhiều phƣơng pháp khác nhau để giải quyết
vấn đề của LDA nhƣ phƣơng pháp giả nghịch
đảo, phƣơng pháp không gian con hoặc
phƣơng pháp không gian null. Trong bài báo
này, phƣơng pháp giả nghịch đảo đƣợc dùng
để giải quyết vấn đề trên [6, 7]. Hình 4 là một
số ảnh sau khi biến đổi theo phƣơng pháp
phân tách tuyến tính.
Phƣơng pháp biến đổi hình thái
Hai phƣơng pháp PCA và LDA cho phép
phân tích dựa trên các đặc điểm mang tính
thống kê của ảnh. Tuy nhiên, các phƣơng
pháp này chƣa xét đến những đặc điểm về
hình thái của mặt ngƣời. Đó chính là những
đặc trƣng về đƣờng nét của các bộ phận trên
khuôn mặt nhƣ mắt, mũi, miệng. Phƣơng
pháp biến đổi hình thái sẽ bổ sung cho những
thiếu sót này của hai phƣơng pháp trên.
Xử lý ảnh về hình thái là một phép xử lý trong
đó dạng không gian hoặc cấu trúc của các đối
tƣợng trong ảnh đƣợc chỉnh sửa. Phép dãn ảnh
và phép co ảnh là hai thao tác xử lý hình thái
cơ bản. Với phép dãn ảnh, một đối tƣợng sẽ
nổi đều lên trong không gian, còn với phép co
ảnh đối tƣợng sẽ co đều xuống [8, 9].
Xét một ảnh đa mức xám F(j,k) đƣợc lƣợng tử
hóa với một thang mức xám nào đó. Khi đó,
phép dãn ảnh đối với ảnh đa mức xám đƣợc
định nghĩa nhƣ sau:
2
1,1
,..,1,1
1,,,
,
kjF
kjF
kjFkjF
MAXkjG
trong đó MAX{S
1
,..,S
9
} trả về giá trị lớn nhất
trong các giá trị của chín điểm ảnh của lân
cận 3×3. Tƣơng tự, phép co ảnh đối với ảnh
đa mức xám đƣợc định nghĩa nhƣ sau:
3
1,1
,..,1,1
1,,,
,
kjF
kjF
kjFkjF
MINkjG
với MIN{S
1
,..,S
9
} trả về giá trị nhỏ nhất trong
các giá trị của chín điểm ảnh của lân cận 3×3.
Hình 5 là một số ảnh mặt ngƣời đã đƣợc biến
đổi qua phép xử lý hình thái.
BỘ PHÂN LOẠI - MẠNG NƠRON
Phần 2 đã giới thiệu ba phƣơng pháp trích
chọn đặc trƣng của ảnh. Nhiệm vụ tiếp theo
của hệ thống nhận dạng là dựa trên những đặc
trƣng đã đƣợc trích chọn đó, học đƣợc cách
phân loại ảnh tƣơng ứng với từng ngƣời.
Trong các bộ phân loại hiện nay, nổi trội lên
và đƣợc quan tâm nhiều đó là mạng nơron
nhân tạo. Các mạng nơron nhân tạo có thể
đƣợc coi nhƣ những “mô hình tính toán” với
những đặc tính nhƣ khả năng thích nghi hay
khả năng học, tổng quát hóa, phân cụm hay tổ
chức dữ liệu [10].
Trong bài báo này, thuật toán học lan truyền
ngƣợc đƣợc sử dụng vì thuật toán đã tỏ ra khá
hiệu quả đối với bài toán nhận dạng mặt
ngƣời. Khi một mẫu học đƣợc đƣa vào, các
giá trị kích hoạt sẽ đƣợc lan truyền đến các
nơron ra, tín hiệu ra thực sự của mạng đƣợc
so sánh với tín hiệu ra mong muốn. Sự khác
biệt giữa các tín hiệu này gọi là lỗi e
o
với mỗi
nơron ra o. Mục đích là phải làm cho e
o
bằng 0.
Theo quy tắc delta [10], để giảm lỗi, các trọng
số đƣợc chỉnh sửa theo
4
hooho
yydw
Để có thể chỉnh sửa đƣợc trọng số từ nơron
vào đến các nơron ẩn, cần tiếp tục áp dụng
Hình 5. Ảnh sau khi biến đổi hình thái
Hình 4. Ảnh sau khi biến đổi theo LDA
Võ Phúc Nguyên Tạp chí KHOA HỌC & CÔNG NGHỆ 64(02): 53 - 57
56
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
quy tắc delta. Mỗi nơron ẩn h nhận một
từ
mỗi nơron ra o bằng
của nơron ra đó với
trọng số là trọng số của kết nối giữa những
nơron đó
5
o
hooh
w
Sau mỗi lần lặp, giá trị mới của các trọng số
đƣợc cập nhật theo giá trị của số gia. Quá
trình huấn luyện đƣợc tiếp tục đến khi lỗi nhỏ
hơn một ngƣỡng cho phép nào đó.
CÀI ĐẶT VÀ KIỂM THỬ
Thiết kế hệ thống
Bộ ảnh dữ liệu dùng để kiểm thử hệ thống đƣợ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…
MATLAB đƣợc sử dụng để cài đặt hệ thống
vì nó đƣợc tích hợp một môi trƣờng tính toán
kỹ thuật phù hợp cho các thuật toán đƣợc
thiết kế ở đây.
Kết quả thực nghiệm
Cơ sở dữ liệu ảnh ORL gồm 10 ảnh cho mỗi
ngƣời, chƣơng trình sử dụng 5 ảnh đầu tiên
cho việc huấn luyện mạng và 5 ảnh còn lại để
kiểm thử. Mỗi ảnh huấn luyện sẽ đƣợc bổ
sung một ảnh ở dạng ảnh gƣơng của nó để
tăng thêm sự đa dạng cho tập ảnh huấn luyện.
Các tham số huấn luyện nhƣ số lƣợng các
vector đặc trƣng đƣợc chọn ở mỗi phƣơng
pháp, tỉ lệ học của mạng nơron, số lƣợng các
nơron ẩn của mạng là những tham số quan
trọng ảnh hƣởng lớn đến thời gian thực hiện
cũng nhƣ độ chính xác của hệ thống. Hệ
thống đã đƣợc kiểm thử nhiều lần để chọn ra
bộ tham số tối ƣu, giúp hệ thống đạt đƣợc
hiệu quả về thời gian thực hiện và độ chính
xác cao nhất có thể.
Với những tham số học đã tính, nếu chỉ sử
dụng phƣơng pháp trích chọn đặc trƣng dựa
trên những đặc điểm mang tính thống kê,
chƣơng trình chỉ đạt độ chính xác khoảng
90%. Trong khi đó, nếu kết hợp các đặc trƣng
mang tính thống kê với những đặc trƣng
mang tính hình học, chƣơng trình đã đạt độ
chính xác trên 95%.
Đặc biệt, phƣơng pháp xử lý hình thái đã bổ
sung cho phƣơng pháp trích chọn đặc trƣng
mang tính chất thống kê, chƣơng trình đã
nhận dạng rất tốt đối với những ảnh có nhiễu.
Ảnh có nhiễu ở đây là những ảnh đã đƣợc
chỉnh sửa bằng tay với những loại nhiễu nhƣ
nhiễu nhị phân, che khuất hoặc xóa bớt một
số bộ phận của khuôn mặt (hình 6).
KẾT LUẬN
Bằng cách kết hợp các phƣơng pháp phân tích
thống kê và phƣơng pháp biến đổi hình thái,
hệ thống đã đạt đƣợc một phƣơng pháp khá
hiệu quả đối với bài toán nhận dạng mặt
ngƣời. Phƣơng pháp PCA và LDA trích chọn
những đặc trƣng mang tính thống kê, kết hợp
với phƣơng pháp biến đổi hình thái ảnh cung
cấp những đặc trƣng mang tính hình học của
khuôn mặt giúp hệ thống có đƣợc những
thông tin đặc trƣng tƣơng đối đầy đủ của mỗi
ngƣời. Mạng nơron với thuật toán học lan
truyền ngƣợc đã thực hiện khá tốt vai bộ phân
loại của hệ thống.
Mặc dù hệ thống đã đạt đƣợc độ chính xác
khá cao, tuy nhiên vẫn còn một tỉ lệ nhỏ chƣa
chính xác do hệ thống chƣa đánh giá đƣợc
toàn bộ những đặc trƣng của mặt ngƣời.
Trong những nghiên cứu tiếp theo nhằm phát
triển hoàn thiện hệ thống hơn, việc nhận dạng
có thể kết hợp thêm các phƣơng pháp phân
tích khác nhƣ nhận dạng mắt, nhận dạng
miệng hay nhận dạng mũi là những đặc trƣng
quan trọng của khuôn mặt.
TÀI LIỆU THAM KHẢO
Hình 6. Một số ảnh nhiễu dùng để
kiểm thử hệ thống
Võ Phúc Nguyên Tạp chí KHOA HỌC & CÔNG NGHỆ 64(02): 53 - 57
57
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
[1]. W. Zhao, R. Chellappa, P. J. Phillips, A.
Rosenfeld (2003), “Face Recognition - A Literature
Survey”, ACM Computing Surveys, Vol. 35 (No. 4).
[2]. Lindsay I. Smith (2002), A Tutorial on
Principal Components Analysis, Cornell
University, USA.
[3]. />ml.
[4]. Kresimir Delac, Mislav Grgic (2007),
“PCA and LDA based Neural Networks for
Human Face Recognition”, Face Recognition,
ISBN 978-3-902613-03-5, I-Tech, Vienna,
Austria.
[5]. />minant_analysis.
[6]. />Penrose_pseudoinverse.
[7]. />ue_decomposition.
[8]. William K. Pratt (2007), Digital Image
Processing, John Wiley & Sons, Inc., Publication.
[9]. Ethan Png (2004), Morphological Shared-
Weight Neural Network for Face Recognition,
University of Manchester Institute of Science and
Technology.
[10]. Ben Kröse, Patrick van der Smagt (1996),
An introduction to Neural Networks, The
University of Amsterdam.
HUMAN FACE RECOGNITION USING NEURAL NETWORK
Vo Phuc Nguyen
Thai Nguyen University of Technology,
SUMMARY
This paper aims to present a new method in combining feature extraction with neural network to
recognize human faces. The system implements extracting features of human face from an image
in three methods: Principal Components Analysis (PCA), Linear Discriminant Analysis (LDA),
and Morphological processing. Then it mentions the neural network with the algorithm of back
propagation to drill the categorization which is utilized to recognize the foregoing extracted
features. When the face recognition is required, the features will be extracted from the input
image. The features will be recognized by the trained neural networks soon after. The results of
each distinct network will be compared later on to bring out the final systematic answer. Finally,
by using statistical features and morphological features, the performance of the system is quite
better than current systems. Especially, the system can recognize with noisy images.
Keywords: Human Face Recognition, Principal Components Analysis, Linear Discriminant
Analysis, Morphological Processing, Neural Network.