Professional Documents
Culture Documents
ABSTRACT
Hệ thống nhận dạng khuôn mặt là một trong những quy trình thông tin sinh trắc học, khả năng
ứng dụng của nó dễ dàng hơn và phạm vi hoạt động lớn hơn các quy trình khác, tức là; vân tay,
quét mống mắt, chữ ký, v.v. Hệ thống nhận dạng khuôn mặt được thiết kế, triển khai và thử
nghiệm tại Đại học Atılım, Khoa Kỹ thuật Cơ điện tử. Hệ thống sử dụng kết hợp các kỹ thuật
theo hai chủ đề; phát hiện và nhận diện khuôn mặt. Việc nhận diện khuôn mặt được thực hiện
trên các hình ảnh thu được trực tiếp mà không cần lưu ý đến bất kỳ trường ứng dụng nào. Các
quy trình được sử dụng trong hệ thống là hiệu chỉnh cân bằng trắng, phân vùng vùng giống da,
trích xuất đặc điểm khuôn mặt và trích xuất hình ảnh khuôn mặt trên một ứng viên khuôn mặt.
Sau đó, phương pháp phân loại khuôn mặt sử dụng Mạng thần kinh FeedForward được tích
hợp vào hệ thống. Hệ thống được thử nghiệm với cơ sở dữ liệu được tạo ra trong phòng thí
nghiệm với 26 người. Hệ thống được thử nghiệm có hiệu suất chấp nhận được để nhận dạng
khuôn mặt trong giới hạn dự định. Hệ thống cũng có khả năng phát hiện và nhận diện nhiều
1. INTRODUCTION
Hệ thống nhận dạng khuôn mặt là một phần của ứng dụng xử lý ảnh khuôn mặt và tầm
quan trọng của chúng như một lĩnh vực nghiên cứu đang gia tăng gần đây. Chúng sử dụng
thông tin sinh trắc học của con người và có thể áp dụng dễ dàng thay vì dấu vân tay, mống mắt,
chữ ký, v.v., vì những loại sinh trắc học này không phù hợp lắm với những người không hợp tác.
Hệ thống nhận dạng khuôn mặt thường được áp dụng và ưu tiên cho người dân và camera an
ninh trong cuộc sống đô thị. Những hệ thống này có thể được sử dụng để ngăn chặn tội phạm,
giám sát video, xác minh cá nhân và các hoạt động bảo mật tương tự.
Hệ thống nhận dạng khuôn mặt là một bài toán xử lý ảnh phức tạp trong các ứng dụng
thực tế với các hiệu ứng phức tạp về chiếu sáng, che khuất và điều kiện hình ảnh trên ảnh sống.
Nó là sự kết hợp giữa các kỹ thuật phát hiện và nhận dạng khuôn mặt trong phân tích hình ảnh.
Ứng dụng phát hiện được sử dụng để tìm vị trí của các khuôn mặt trong một hình ảnh nhất
định. Thuật toán nhận dạng được sử dụng để phân loại các hình ảnh nhất định với các thuộc
tính có cấu trúc đã biết, được sử dụng phổ biến trong hầu hết các ứng dụng thị giác máy tính.
Các ứng dụng nhận dạng sử dụng hình ảnh tiêu chuẩn và thuật toán phát hiện sẽ phát hiện
khuôn mặt và trích xuất hình ảnh khuôn mặt bao gồm mắt, lông mày, mũi và miệng. Điều đó
làm cho thuật toán phức tạp hơn thuật toán phát hiện hoặc nhận dạng đơn lẻ. Bước đầu tiên
của hệ thống nhận dạng khuôn mặt là thu được hình ảnh từ camera. Bước thứ hai là nhận
diện khuôn mặt từ hình ảnh thu được. Bước thứ ba, nhận dạng khuôn mặt lấy hình ảnh
khuôn mặt từ đầu ra của phần phát hiện. Bước cuối cùng là nhận dạng con người nhờ phần
nhận dạng. Hình minh họa các bước của hệ thống nhận dạng khuôn mặt được đưa ra trong
Hình 1.
Việc thu hình ảnh vào máy tính từ máy ảnh và phương tiện tính toán (môi trường) thông
qua bộ lấy khung là bước đầu tiên trong các ứng dụng hệ thống nhận dạng khuôn mặt. Hình
ảnh đầu vào, ở dạng dữ liệu số, được gửi đến một phần thuật toán nhận diện khuôn mặt của
phần mềm để trích xuất từng khuôn mặt trong ảnh. Có nhiều phương pháp để phát hiện khuôn
mặt trong ảnh trong tài liệu [1 – 9]. Các phương pháp có sẵn có thể được phân thành hai nhóm
chính như sau: phương pháp dựa trên kiến thức [1 – 4] và dựa trên ngoại hình [5 – 9]. Tóm lại,
các phương pháp dựa trên tri thức đều bắt nguồn từ tri thức của con người đối với các đặc
điểm tạo nên khuôn mặt. Các phương pháp dựa trên ngoại hình có nguồn gốc từ các phương
Hình 1. Các bước ứng dụng hệ thống nhận dạng khuôn mặt
Sau khi khuôn mặt được phát hiện, các khuôn mặt phải được nhận dạng để xác định
những người trong ảnh khuôn mặt. Trong tài liệu, hầu hết các phương pháp đều sử dụng hình
ảnh từ thư viện khuôn mặt có sẵn, được tạo thành từ các hình ảnh tiêu chuẩn [10 – 17]. Sau khi
khuôn mặt được phát hiện, hình ảnh tiêu chuẩn sẽ được tạo bằng một số phương pháp. Trong
khi các hình ảnh tiêu chuẩn được tạo ra, các khuôn mặt có thể được gửi đến thuật toán nhận
dạng. Trong tài liệu, các phương pháp có thể được chia thành hai nhóm là phương pháp dựa
trên 2D và 3D. Trong phương pháp 2D, hình ảnh 2D được sử dụng làm đầu vào và một số
phương pháp học tập/đào tạo được sử dụng để phân loại nhận dạng con người [1 – 15]. Trong
phương pháp 3D, dữ liệu ba chiều của khuôn mặt được sử dụng làm đầu vào để nhận dạng. Các
phương pháp khác nhau được sử dụng để nhận dạng, tức là sử dụng thước đo điểm tương ứng,
nửa mặt trung bình và thước đo hình học 3D [16, 17]. Chi tiết về các phương pháp sẽ được giải
Các phương pháp cho hệ thống phát hiện và nhận dạng khuôn mặt có thể bị ảnh hưởng
bởi tư thế, sự hiện diện hay vắng mặt của các thành phần cấu trúc, nét mặt, sự tắc nghẽn,
hướng hình ảnh, điều kiện hình ảnh và độ trễ thời gian (để nhận dạng). Các ứng dụng có sẵn do
các nhà nghiên cứu phát triển thường chỉ có thể xử lý một hoặc hai hiệu ứng, do đó chúng có
khả năng hạn chế khi tập trung vào một số ứng dụng có cấu trúc tốt. Một hệ thống nhận dạng
khuôn mặt mạnh mẽ rất khó phát triển để hoạt động trong mọi điều kiện với phạm vi hiệu quả
rộng.
Một cuộc khảo sát xuyên suốt đã tiết lộ rằng các phương pháp khác nhau và sự kết hợp
của các phương pháp này có thể được áp dụng để phát triển một hệ thống nhận dạng mới.
Trong số nhiều cách tiếp cận khả thi, chúng tôi đã quyết định sử dụng kết hợp các phương pháp
dựa trên tri thức cho phần nhận diện khuôn mặt và phương pháp tiếp cận mạng lưới thần kinh
cho phần nhận dạng khuôn mặt. Lý do chính cho sự lựa chọn này là vấn đề về độ tin cậy và khả
năng ứng dụng trơn tru của chúng. Cách tiếp cận hệ thống nhận dạng khuôn mặt của chúng tôi
Phần đầu vào là phần tiên quyết cho hệ thống nhận diện khuôn mặt. Hoạt động thu
thập hình ảnh được thực hiện trong phần này. Hình ảnh được chụp trực tiếp được chuyển đổi
thành dữ liệu số để thực hiện tính toán xử lý hình ảnh. Những hình ảnh được chụp này sẽ được
Nhận diện khuôn mặt thực hiện các thao tác định vị và trích xuất hình ảnh khuôn mặt cho
hệ thống nhận diện khuôn mặt. Thuật toán phần nhận diện khuôn mặt được đưa ra trong Hình
3.
Thí nghiệm của chúng tôi cho thấy rằng phân đoạn da, bước đầu tiên để nhận diện khuôn mặt,
giúp giảm thời gian tính toán để tìm kiếm toàn bộ hình ảnh. Trong khi áp dụng phân đoạn, chỉ
vùng được phân đoạn được tìm kiếm cho dù phân đoạn đó có bao gồm bất kỳ khuôn mặt nào
hay không.
Vì lý do này, phân đoạn da được áp dụng như bước đầu tiên của phần phát hiện. Không
Cân bằng trắng của hình ảnh khác nhau do sự thay đổi điều kiện ánh sáng của môi trường
trong khi thu được hình ảnh. Tình huống này tạo ra các vật thể không thuộc da mà thuộc về vật
thể da. Do đó, cân bằng trắng của hình ảnh thu được phải được hiệu chỉnh trước khi phân đoạn
nó [18]. Kết quả phân đoạn trên ảnh gốc và ảnh đã hiệu chỉnh cân bằng trắng được cho trên
Hình 4 và 5.
Hình 4. Ví dụ về phân đoạn hình ảnh được chụp/cân bằng trắng và phân đoạn màu da ( a.) Ảnh gốc (OI), b.) Phân
đoạn trên OI, c.) Hiệu chỉnh cân bằng trắng trên OI (WBI), d.) Phân đoạn trên WBI)
Sau khi “and operation” được áp dụng trên các hình ảnh được phân đoạn, một số thao tác
hình thái được áp dụng trên hình ảnh da cuối cùng để tìm kiếm ứng cử viên khuôn mặt. Ồn ào
như việc loại bỏ các vùng nhỏ, các hoạt động đóng cửa được thực hiện. Sau đó, các ứng cử viên
khuôn mặt được chọn với hai điều kiện là tỷ lệ hộp giới hạn của ứng cử viên và che phủ một số
khoảng trống bên trong vùng ứng cử viên. Tỷ lệ khung giới hạn phải nằm trong khoảng từ 0,3
đến 1,5.
Hình 5. Kết quả phân đoạn ảnh chưa chỉnh sửa (Trái) và Ảnh đã chỉnh sửa (Phải)
Dựa trên những điều kiện này, các ứng cử viên khuôn mặt được trích xuất từ hình ảnh đầu
vào với hộp giới hạn được sửa đổi từ hộp giới hạn ban đầu. Chiều cao của hộp giới hạn được
sửa đổi lớn hơn 1,28 lần so với chiều rộng của hộp giới hạn vì phần ngực và cổ sẽ bị loại bỏ nếu
ứng viên đưa chúng vào. Giá trị sửa đổi này đã được xác định bằng thực nghiệm. Các ứng viên
khuôn mặt này sẽ được gửi đến phần trích xuất đặc điểm khuôn mặt để xác thực các ứng viên.
Quá trình xác minh cuối cùng của ứng viên và trích xuất ảnh khuôn mặt, quy trình trích
xuất đặc điểm khuôn mặt được áp dụng. Đặc điểm khuôn mặt là một trong những đặc điểm
quan trọng nhất của khuôn mặt. Đặc điểm khuôn mặt là lông mày, mắt, miệng, mũi, chóp mũi,
má, v.v. Thuộc tính được sử dụng để trích xuất mắt và miệng, hai mắt và miệng tạo thành tam
giác cân và khoảng cách giữa mắt với mắt và điểm giữa của khoảng cách mắt vào miệng là bằng
nhau [2]. Bộ lọc Laplacian of Gaussian (LoG) và một số phép lọc khác được thực hiện để trích
xuất đặc điểm khuôn mặt của ứng viên khuôn mặt [19].
Hình 6. Kết quả thao tác lọc trên khuôn mặt ứng viên
Hình 6 cho thấy, các đặc điểm trên khuôn mặt có thể được lựa chọn dễ dàng. Sau khi thu
được hình ảnh được lọc, thao tác ghi nhãn sẽ được áp dụng để xác định nhãn nào có thể là đặc
Sau khi tính toán các điểm góc che mặt, hình ảnh khuôn mặt có thể được trích xuất. Việc
trích xuất đặc điểm khuôn mặt, lớp phủ và trích xuất hình ảnh khuôn mặt được đưa ra trong
Hình 7.
Hình 7. Trích xuất đặc điểm khuôn mặt (Trái) và Hình ảnh khuôn mặt (Phải) cho tác giả
Đến đây, phần nhận diện khuôn mặt đã hoàn thành và hình ảnh khuôn mặt được tìm thấy trong
ảnh thu được. Thuật toán này được triển khai bằng MATLAB và được thử nghiệm trên hơn trăm
hình ảnh. Thuật toán này phát hiện không chỉ một khuôn mặt mà còn phát hiện nhiều khuôn
mặt. Một lượng nhỏ khuôn mặt định hướng có thể chấp nhận được. Kết quả là thỏa đáng cho
Hình ảnh khuôn mặt đã sửa đổi thu được trong hệ thống Nhận dạng khuôn mặt phải
được phân loại để nhận dạng người trong cơ sở dữ liệu. Phần nhận dạng khuôn mặt bao gồm
tiền xử lý hình ảnh khuôn mặt, ma trận hình ảnh vector hóa, tạo cơ sở dữ liệu và sau đó phân
loại. Việc phân loại đạt được bằng cách sử dụng Mạng thần kinh FeedForward (FFNN) [13].
Thuật toán phần nhận dạng khuôn mặt được đưa ra trong Hình 8.
bằng biểu đồ của hình ảnh khuôn mặt thang độ xám, thay đổi kích thước thành 30 x 30 pixel và
Trong bộ phân loại, Mạng thần kinh FeedForward (FFNN) được sử dụng [19]. FFNN là cấu
trúc đơn giản nhất trong mạng lưới thần kinh. Kiểu cấu trúc mạng này thường được sử dụng
cho các ứng dụng nhận dạng mẫu. Thuộc tính mạng của hệ thống là: lớp đầu vào có 900 đầu
vào, lớp ẩn có 41 nơ-ron và lớp đầu ra có 26 nơ-ron. Lớp đầu ra có 26 nơron vì số lượng người
Sau khi cấu trúc được tạo, mạng sẽ được huấn luyện để phân loại các hình ảnh nhất định
theo cơ sở dữ liệu khuôn mặt. Do đó, cơ sở dữ liệu khuôn mặt được tạo trước bất kỳ thử
nghiệm nào. Một cơ sở dữ liệu được tạo cho 26 người với 4 mẫu cho mỗi người. Kết quả này là
104 mẫu đào tạo. Do đó, ma trận kích thước 900 x 104 sẽ là ma trận huấn luyện. Phần tử vector
ma trận huấn luyện được sắp xếp thành 4 nhóm do số lượng mẫu của mỗi người. Mặc dù vậy,
26 phần tử vectơ đầu tiên thuộc về mẫu đầu tiên gồm 26 người và nó vẫn tiếp tục. Các cột của
ma trận huấn luyện được tạo từ hình ảnh tiền xử lý và sau đó vector hóa thành hình ảnh khuôn
Sau khi tạo xong ma trận huấn luyện và ma trận đích thì việc huấn luyện NN có thể được
thực hiện. Lan truyền ngược được sử dụng để huấn luyện mạng. Hiệu suất đào tạo và lỗi mục
tiêu được đặt thành 1e-17 để phân loại chính xác hình ảnh đã cho.
Một hệ thống phần cứng và phần mềm hoàn chỉnh được thiết kế và triển khai trong
Phòng thí nghiệm Thị giác Robot của Khoa Kỹ thuật Cơ điện tử tại Đại học Atılım. Mục tiêu cuối
cùng của dự án lớn hơn (dự án ô) là phát triển robot hình người với ứng dụng hẹp hơn như
Robot dẫn đường, robot bảo vệ, robot văn phòng, v.v. Hệ thống được phát triển đã được thử
nghiệm cho nhiều hình ảnh thu được trực tiếp và kết quả đạt yêu cầu như vậy một công việc
tiên phong trong bộ phận. Cần cải tiến để có hiệu suất tốt hơn. Mô tả hệ thống và những cải
Hệ thống có ba phần cứng chính. Chúng là máy tính, bộ lấy khung hình và máy ảnh. Máy ảnh
Sony EVI-D100P và bộ lấy khung hình Imagenation PXC 200A của CyberOptics được sử dụng.
Thuật toán của hệ thống được thực hiện trên phần mềm MATLAB R2011a. Hộp công cụ thu
nhận hình ảnh, Hộp công cụ xử lý hình ảnh và Hộp công cụ mạng thần kinh được sử dụng để
Việc triển khai hệ thống đầu tiên được thực hiện khi phát hiện khuôn mặt trong ảnh thu
được. Do đó, việc nhận diện khuôn mặt đã bắt đầu bằng việc phân chia vùng giống như da.
Ngoài RGB cho kết quả tốt nhất, màu sắc của tường bên trong phòng thí nghiệm có thể
giống màu da do giá trị cân bằng trắng của camera. Vùng da không mong muốn như vùng màu
có thể ảnh hưởng đến việc phát hiện và làm biến dạng hình dạng khuôn mặt. Vấn đề màu sắc
này có thể được loại bỏ bằng cách hiệu chỉnh cân bằng trắng của hình ảnh thu được. Việc thực
hiện hiệu chỉnh cân bằng trắng được đưa ra trong Hình 9. Màu sắc tủ quần áo là màu trắng
thực tế (Hình 9). Mặt khác, màu trong ảnh thu được (ảnh trái) là màu kem và màu tường trông
giống màu da và ảnh hưởng đến kết quả phân đoạn. Hình 10 thể hiện kết quả phân đoạn trên
ảnh thu được và ảnh đã hiệu chỉnh cân bằng trắng. Kết quả cho thấy nên áp dụng hiệu chỉnh
Hình 9. An Image Without (Left) and With Hình 10. Kết quả phân vùng da trên ảnh thu được (Trái) &
Ảnh đã chỉnh sửa (Phải)
Để đảm bảo hiệu chỉnh màu, cả hai phân đoạn được thực hiện trên hình ảnh thu được
và hình ảnh đã chỉnh sửa, sau đó thực hiện “và thao tác” logic. Sau khi thực hiện phân đoạn, các
hoạt động hình thái và tìm kiếm ứng viên sẽ đạt được như mô tả trong chương trước.
Để sử dụng tính năng phát hiện cạnh, có thể sử dụng bộ lọc Laplacian of Gaussian (LoG).
Bộ lọc LoG có phản hồi thấp hơn so với phát hiện cạnh. Nó tạo ra những cải tiến hữu ích trên
các đặc điểm trên khuôn mặt. Kết quả của bộ lọc LoG tốt hơn ba lần thử nghiệm trước. Miệng
có ý nghĩa hơn những miệng khác và mắt có thể được lựa chọn chính xác hơn.
Với việc bổ sung phương pháp tiếp cận tam giác cân, như được mô tả ở phần trước, mắt
và miệng được tìm thấy và cắt xén hình ảnh khuôn mặt. Sau đó, cơ sở dữ liệu về hình ảnh
khuôn mặt có thể được tạo ra. Cơ sở dữ liệu được tạo từ 26 người với 4 ảnh mẫu cho mỗi
Công cụ nhận dạng mẫu trong Hộp công cụ mạng thần kinh được sử dụng để tạo và
huấn luyện mạng thần kinh. Mạng được tạo gồm 2 lớp có chức năng truyền sigmoid. 2 lớp là
lớp ẩn và lớp đầu ra. Lớp đầu ra có 26 nơ-ron và số nơ-ron của lớp ẩn là 41.
3.5. Hệ thống nhận dạng khuôn mặt
Cuối cùng, các bộ phận nhận diện và nhận dạng khuôn mặt được hợp nhất để triển khai
hệ thống nhận dạng khuôn mặt. Hệ thống cũng có thể xử lý nhiều khuôn mặt trong ảnh thu
được. Mã được tạo trên môi trường MATLAB. Kết quả được thể hiện trong Hình 11 – 12.
Hình 11. Thu thập hình ảnh và tìm thấy ứng viên
Hình 12. Trích xuất đặc điểm khuôn mặt trên các ứng cử viên khuôn mặt và phân loại hình ảnh khuôn mặt (Đầu ra MATLAB)
Thực nghiệm và kết quả cho thấy thuật toán có thể tìm ra nhiều khuôn mặt trong ảnh
thu được và phân loại chính xác. Kết quả này rất quan trọng vì một số phương pháp chỉ có thể
phát hiện một khuôn mặt trong một hình ảnh nhất định.
Ngoài ra, hình ảnh được chụp khi lông mi khép lại. Việc công nhận là chính xác với kết
quả 99,0498. Mặt khác, một số thí nghiệm được thực hiện trên người chưa có trong cơ sở dữ
liệu. Hệ thống phát hiện khuôn mặt và đầu ra mạng tối đa là 52,7422 đối với người khác và
1,3872 đối với người khác. Thuật toán nhận dạng khuôn mặt là đầu ra của mạng lớn hơn 90. Do
đó, kết quả trên cho thấy những người này sẽ không được nhận dạng.
Nhiều thí nghiệm được thực hiện trên hình ảnh thu được trực tiếp. Các bộ phận nhận
diện và nhận dạng khuôn mặt hoạt động tốt. Phân đoạn da vừa làm giảm thời gian tính toán
vừa làm giảm diện tích tìm kiếm khuôn mặt. Thử nghiệm cho thấy kết nối được thiết lập tốt
giữa phần phát hiện và phần nhận dạng. Mạng có thể phân loại chính xác khi mắt/mắt nhắm lại,
lông mày cử động và khuôn mặt mỉm cười hoặc nhe răng. Ngoài ra, số lượng người trong cơ sở
dữ liệu có thể tăng lên và hầu hết có thể sẽ phân loại khuôn mặt một cách chính xác.
4. KẾT LUẬN
Hệ thống nhận dạng khuôn mặt là một phần của ứng dụng xử lý ảnh khuôn mặt và tầm
quan trọng của chúng như một lĩnh vực nghiên cứu đang gia tăng gần đây. Việc triển khai hệ
thống bao gồm phòng chống tội phạm, giám sát video, xác minh cá nhân và các hoạt động an
ninh tương tự. Việc triển khai hệ thống nhận dạng khuôn mặt sẽ là một phần của dự án robot
Mục tiêu đạt được bằng phương pháp phát hiện và nhận dạng khuôn mặt. Các phương
pháp nhận diện khuôn mặt dựa trên kiến thức được sử dụng để tìm, định vị và trích xuất khuôn
mặt trong các hình ảnh thu được. Các phương pháp được thực hiện là màu da và đặc điểm
khuôn mặt. Mạng lưới thần kinh được sử dụng để nhận dạng khuôn mặt.
Không gian màu RGB được sử dụng để chỉ định các giá trị màu da và việc phân đoạn
giúp giảm thời gian tìm kiếm hình ảnh khuôn mặt. Các thành phần khuôn mặt trên các ứng cử
viên khuôn mặt được xuất hiện khi triển khai bộ lọc LoG. Bộ lọc LoG cho thấy hiệu suất tốt
trong việc trích xuất các thành phần trên khuôn mặt trong các điều kiện chiếu sáng khác nhau.
FFNN được thực hiện để phân loại nhằm giải quyết vấn đề tái tạo mẫu vì nhận dạng
khuôn mặt là một loại nhận dạng mẫu. Kết quả phân loại là chính xác. Việc phân loại cũng linh
hoạt và chính xác khi hình ảnh khuôn mặt được trích xuất có hướng nhỏ, mắt nhắm và nụ cười
nhỏ. Thuật toán đề xuất có khả năng phát hiện nhiều khuôn mặt và hiệu năng của hệ thống đạt
Hệ thống được đề xuất có thể bị ảnh hưởng bởi tư thế, sự hiện diện hay vắng mặt của
các thành phần cấu trúc, nét mặt, tình trạng hình ảnh và ánh sáng mạnh.