Nhận dạng ảnh mặt người sử dụng mạng nơron
Trang 153
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
Trang 2mặ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
Trang 355
1 max
arg
W S W
W S W
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 Sw1Sb Đố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:
, , 1 , 1
1 , , , ,
k j F
k j F
k j F k j F MAX k
j G
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:
, , 1 , 1
1 , , , ,
k j F
k j F
k j F k j F MIN k
j G
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
ho d y y
Để 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
Trang 4quy 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
ho
o
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
Trang 557
[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] http://people.revoledu.com/kardi/index.ht
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] http://en.wikipedia.org/wiki/Linear_discri
minant_analysis
[6] http://en.wikipedia.org/wiki/Moore-Penrose_pseudoinverse
[7] http://en.wikipedia.org/wiki/Singular_val 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