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

Phát triển hệ thống nhận dạng khuôn mặt ứng dụng trong các hệ thống quản lý nhân sự

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.95 MB, 69 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------

HỒ THĂNG THÔI

PHÁT TRIỂN HỆ THỐNG NHẬN DẠNG KHUÔN MẶT ỨNG DỤNG
TRONG CÁC HỆ THỐNG QUẢN LÝ NHÂN SỰ

Chuyên ngành: Kỹ thuật truyền thông

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN:
PGS. TS. NGUYỄN TIẾN DŨNG

Hà Nội – Năm 2013


LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Tác giả

HỒ THĂNG THÔI

1



LỜI NÓI ĐẦU
Xử lý ảnh là một lĩnh vực nghiên cứu rộng và có rất nhiều ứng dụng trong
thực tế. Một trong những khía cạnh nghiên cứu của xử lý ảnh là nhận dạng khuôn
mặt. Kỹ thuật này cho phép chúng ta nhận dạng khuôn mặt người từ ảnh tĩnh hay
video bằng cách so sánh với kho dữ liệu có sẵn trong hệ thống. Với sự phát triển
mạnh mẽ của công nghệ thông tin và truyền thông, rất nhiều phương pháp nhận
dạng khuôn mặt có độ chính xác cao, hiệu quả và dễ sử dụng đã được áp dụng nhiều
trong các hệ thống tương tác giữa người và máy, đặc biệt là các hệ thống quản lý
đòi hỏi có độ bảo mật và có tính ưu việt như hệ thống quản lý nhân sự, quản lý hàng
hóa, giám sát sân bay v.v.
Để xây dựng được một hệ thống quản lý nói chung và quản lý nhân sự nói
riêng với những đòi hỏi về tính ưu việt, hiệu quả cao cũng như đảm bảo được các
yêu cầu về an ninh khắt khe, các nhà nghiên cứu và kỹ thuật đã tích hợp các công
nghệ khác nhau như công nghệ thông tin, tự động hóa, công nghệ không dây…
trong cùng một hệ thống. Có thể nói một trong những xu hướng phát triển chính của
khoa học công nghệ hiện đại đó là tổng hợp thành tựu của các lĩnh vực khác nhau
để xây dựng một hệ thống đáp ứng được những yêu cầu ngày càng cao của sản xuất
và đời sống.
Dựa trên cơ sở của việc nghiên cứu và đề xuất một phương pháp nhận dạng
khuôn mặt mới có độ chính xác cao, tôi đã phát triển nghiên cứu của mình trong
một ứng dụng về quản lý nhân sự sử dụng nhận dạng khuôn mặt làm nền tảng hoạt
động chính. Hệ thống này đồng thời cũng là đề tài nghiên cứu luận văn cao học của
tôi với tên đề tài là: “Phát triển hệ thống nhận dạng khuôn mặt ứng dụng trong các
hệ thống quản lý nhân sự”.
Nội dung mà tôi thực hiện trong luận văn là nghiên cứu bộ phân loại SVM,
đặc trưng Haar sử dụng trong module nhận diện khuôn mặt và nghiên cứu cơ sở lý

2



thuyết của bài toán chứng thực khuôn mặt sử dụng phương pháp Client Specific
Fisherface để xây dựng module chứng thực khuôn mặt trong hệ thống, đồng thời
với những kết quả thu được sau những nghiên cứu về nhận dạng khuôn mặt, tôi đã
xây dựng và thiết kế một phần mềm quản lý nhân sự dựa trên việc ứng dụng công
nghệ nhận dạng khuôn mặt.
Nhằm thực hiện đầy đủ những nội dung đã đặt ra, luận văn được chia làm 5
chương chính:
-

Chương 1: Tổng quan về hệ thống

-

Chương 2: Module nhận diện khuôn mặt

-

Chương 3: Module chứng thực khuôn mặt và phần mềm quản lý nhân sự

-

Chương 4: Kết quả thực hiện và đánh giá kết quả

-

Chương 5: Kết luận và hướng phát triển đề tài

Qua đây, tôi xin chân thành cảm ơn thầy giáo hướng dẫn PGS.TS Nguyễn
Tiến Dũng đã có những định hướng và góp ý quý báu để tôi có thể hoàn thành tốt
luận văn của mình với kết quả tốt nhất.

Cuối cùng tôi xin cảm ơn các thầy cô giáo ở trường Đại học Bách Khoa Hà
Nội nói chung và các thầy cô giáo ở Viện Điện tử - Viễn thông nói riêng, cảm ơn
gia đình và bạn bè đã giúp đỡ, động viên tôi trong thời gian vừa qua.
Hà Nội, ngày….tháng….năm 2013
Học viên

Hồ Thăng Thôi

3


[[[[[ [[[[[[[

MỤC LỤC

LỜI NÓI ĐẦU ....................................................................................................... 2
MỤC LỤC.............................................................................................................. 4
DANH SÁCH CÁC HÌNH VẼ .............................................................................. 8
DANH SÁCH CÁC BẢNG BIỂU ....................................................................... 10
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG QUẢN LÝ NHÂN SỰ .................... 11
1.1 Tầm quan trọng của đề tài ............................................................................ 11
1.1.1 Những vấn đề đặt ra với các hệ thống Quản lý nhân sự hiện nay ........... 11
1.1.2 Mục đích và ý nghĩa của đề tài .............................................................. 13
1.2 Giới thiệu về hệ thống QLNS đề xuất .......................................................... 14
1.2.1 Sơ đồ khối............................................................................................. 14
1.2.2 Các chức năng cơ bản của hệ thống....................................................... 15
CHƯƠNG 2: MODULE NHẬN DẠNG KHUÔN MẶT ............................................. 19
2.1 Cơ sở lý thuyết của bài toán nhận dạng khuôn mặt...................................... 19
2.2 Đặc trưng Haar ........................................................................................... 22
2.3 Support vector machine (SVM) ................................................................... 24

2.3.1 Bộ phân loại SVM tuyến tính ................................................................ 24
2.3.2 Bộ phân loại SVM phi tuyến ................................................................. 26
2.3.3 Mặt phân loại không lí tưởng ................................................................ 28
2.3.4 Thuật toán SMO.................................................................................... 28

4


CHƯƠNG 3: MODULE CHỨNG THỰC KHUÔN MẶT VÀ PHẦN MỀM
QUẢN LÝ NHÂN SỰ .......................................................................................... 32
3.1 Giới thiệu về các công nghệ chứng thực sinh trắc học. ................................. 32
3.2 Tổng quan về bài toán chứng thực khuôn mặt. ............................................. 33
3.2.1 Bài toán chứng thực khuôn mặt và các ứng dụng .................................. 33
3.2.2 Ưu điểm của phương pháp chứng thực khuôn mặt ................................ 34
3.3 Phương pháp nhận dạng khuôn mặt Client Specific Fisherface .................... 35
3.3.1 Không gian khuôn mặt và số chiều của không gian khuôn mặt.............. 35
3.3.2 Phương pháp Client Specific Fisherface ................................................ 35
3.4 Chứng thực khuôn mặt sử dụng phương pháp Client Specific Fisherface ..... 36
3.4.1 Giả thiết cho bài toán chứng thực .......................................................... 36
3.4.2 Thuật toán Client Specific Fisherface .................................................... 37
3.4.3 Quá trình chứng thực khuôn mặt sử dụng Client Specific Fisher face .......... 40
3.5 Phần mềm quản lý nhân sự: ......................................................................... 41
3.5.1 Giới thiệu phần mềm quản lý nhân sự ................................................... 41
3.5.2 Phân tích và thiết kế hệ thống................................................................ 45
CHƯƠNG 4: KẾT QUẢ THỰC HIỆN VÀ ĐÁNH GIÁ KẾT QUẢ ................ 51
4.1 Module nhận diện khuôn mặt sử dụng các đặc trưng Haar ........................... 51
4.2 Module chứng thực khuôn mặt..................................................................... 52
4.2.1 Lựa chọn công cụ và ngôn ngữ lập trình............................................... 52
4.2.2 Xây dựng tập dữ liệu khuôn mặt ........................................................... 53
4.2.3 Triển khai phương pháp Client Specific Fisherface ............................... 54

4.2.4 Module thu nhận hình ảnh người sử dụng ............................................ 56

5


4.3 Phần mềm QLNS ........................................................................................ 56
4.3.1 Giao diện người sử dụng ...................................................................... 57
4.3.2 Giao diện người quản lý ........................................................................ 58
4.3.2.1 Danh mục công việc, trình độ và phòng ban ....................................... 58
4.3.2.2 Danh mục nhân viên .......................................................................... 59
4.3.2.3 Danh mục chấm công nhân viên......................................................... 60
4.3.2.4 Danh mục giám sát chứng thực .......................................................... 61
4.3.2.5 Danh mục báo cáo thống kê nhân viên .............................................. 62
CHƯƠNG 5 ĐÁNH GIÁ KẾT QUẢ CỦA HỆ THỐNG VÀ HƯỚNG PHÁT
TRIỂN CỦA ĐỀ TÀI .......................................................................................... 64
5.1 Kết luận và đánh giá chung về hệ thống ....................................................... 64
5.1.1 Kết quả đạt được ................................................................................... 64
5.1.2 Đánh giá chung về hệ thống .................................................................. 64
5.2 Hướng phát triển của đề tài .......................................................................... 66
TÀI LIỆU THAM KHẢO ................................................................................... 67

6


DANH MỤC CÁC TỪ VIẾT TẮT
TỪ
STT

VIẾT
TẮT


THUẬT NGỮ

THUẬT NGỮ

TIẾNG ANH

TIẾNG VIỆT

Block Difference of Inverse

Sai lệch khối của xác suất

Probabilities

nghịch đảo

Block Variation of Local

Sai lệch khối của các hệ số

Correlation Coefficients

tương quan cục bộ

DFD

Data Flow Diagram

Biểu đồ luồng dữ liệu


4

ERD

Enity Relationship Diagram

Biểu đồ quan hệ thực thể

5

FD

Function Diagram

Biểu đồ chức năng

6

LAN

Local Area Network

Mạng nội bộ

7

PCA

8


ROC

9

SVM

10

QLNS

1

BDIP

2

BVLC

3

Principal Component

Phân tích thành phần chủ yếu

Analysis
Receiver Operating

Đặc tính hoạt động của đầu vào


Characteristic
Support Vector Machine

Vecto trợ giúp
Quản lý nhân sự

7


DANH SÁCH CÁC HÌNH VẼ
Hình 1.1 Ưu điểm của hệ thống QLNS bằng phần mềm ....................................... 12
Hình 1.2 Hạn chế của hệ thống QLNS truyền thống ............................................. 13
Hình 1.3 Sơ đồ khối hệ thống QLNS ứng dụng nhận dạng khuôn mặt .................. 14
Hình 2.1 Đặc trưng haar cơ bản ............................................................................ 22
Hình 2.2 Các đặc trưng Haar mở rộng. .................................................................. 23
Hình 2.3 phân loại dựa trên đặc tính haar.............................................................. 23
Hình 2.4 Phân loại mẫu sử dụng SVM thông qua mặt phẳng tối ưu ...................... 24
Hình 2.5 Toán tử ánh xạ φ biến đổi mặt phân cách phi tuyến thành mặt phẳng tuyến
tính trong miền không gian đặc tính F ................................................................... 26
Hình 2.6 Hiệu ứng khi sử dụng ξ  ( 1 ,  2 , ...,  N ) .................................................. 28
Hình 2.7 Điều kiện giới hạn cho sự tối ưu hóa. ...................................................... 29
Hình 3.1 Quá trình hoạt động của hệ thống chứng thực sinh trắc học.................... 33
Hình 3.2 Sơ đồ khối phương pháp Client Specific Fisherface ............................... 36
Hình 3.3 Thuật toán Client Specific Fisherface ..................................................... 41
Hình 3.4 Mẫu lưu trữ nhân viên ............................................................................. 42
Hình 3.5 Mẫu phiếu chấm công nhân viên ............................................................. 43
Hình 3.6 Mẫu bảng lương nhân viên ...................................................................... 43
Hình 3.7 Biểu đồ phân cấp chức năng.................................................................... 46
Hình 3.8 Biểu đồ mức ngữ cảnh ........................................................................... 47
Hình 4.1 Phát hiện và khoanh vùng đúng đối tượng khuôn mặtt ........................... 52


8


Hình 4.2 14 người đầu tiên trong tập dữ liệu khuôn mặt ...................................... 53
Hình 4.3 Quá trình so sánh ảnh thu nhận từ camera và ảnh trong cơ sở dữ liệu ...... 55
Hình 4.4 Giao diện dành cho người sử dụng .......................................................... 57
Hình 4.5 Giao diện dành cho người quản lý ........................................................... 58
Hình 4.6 Các chức năng Danh mục công việc, trình độ, và phòng ban ................... 59
Hình 4.7 Chức năng quản lý thông tin cá nhân của nhân viên ................................ 60
Hình 4.8 Chức năng chấm công cho nhân viên ...................................................... 61
Hình 4.9 Chức năng giám sát chứng thực .............................................................. 62
Hình 4.10 Báo cáo về thông tin nhân viên ............................................................ 62
Hình 5.1 Các kết quả nghiên cứu đạt được............................................................ 65

9


DANH SÁCH CÁC BẢNG BIỂU
Bảng 4.1 Bảng so sánh các wrapper kết nối OpenCV với .NET ............................. 53

10


CHƯƠNG 1: TỔNG QUAN HỆ THỐNG QUẢN
LÝ NHÂN SỰ
1.1 Tầm quan trọng của đề tài
1.1.1 Những vấn đề đặt ra với các hệ thống Quản lý nhân sự hiện nay
Các hệ thống Quản lý nhân sự (QLNS) hiện nay được sử dụng rất phổ biến
và rộng rãi từ trong các công sở, xí nghiệp, nhà máy cho đến các cơ quan tổ chức

Nhà nước, trường học, bệnh viện, khách sạn…[1]. Có thể nói các hệ thống QLNS
đã mang lại một cuộc cách mạng trong lĩnh vực quản lý, không những giảm thời
gian và chi phí so với việc quản lý thủ công mà còn nâng cao hiệu quả và độ chính
xác rất cao. Với những đòi hỏi mới phát sinh trong quá trình sử dụng mà các hệ
thống QLNS ngày càng được tăng cường thêm nhiều chức năng mới, giảm lao động
trực tiếp của con người, tăng hiệu quả quản lý. Từ những chức năng đơn giản ban
đầu như lưu trữ thông tin, tìm kiếm, bổ sung và xóa thông tin khỏi hệ thống, các
phần mềm quản lý thông minh hiện nay còn cho phép người dùng có thể thực hiện
nhiều bài toán nghiệp vụ trên đó, đặc biệt có thể thực hiện việc chấm công và tính
lương một cách chính xác và trung thực.
Tuy nhiên, các hệ thống QLNS đang được áp dụng hiện nay vẫn tồn tại một
số hạn chế như :
Thứ nhất, với các hệ thống quản lý thuần túy xây dựng trên các kỹ thuật lập
trình phần mềm thì việc chấm công, tính lương cho nhân viên sẽ khó thực hiện được
do không giám sát được thời gian đi, về và thời gian làm việc của nhân viên, đặc
biệt là ở các công ty lớn, số lượng nhân viên nhiều. Để tính được lương theo ngày
công một cách chính xác với nhân viên thì hệ thống QLNS cần có khả năng ghi lại
thời gian đến, thời gian ra về, thời gian đó sẽ được lưu lại trong hệ thống để từ đó
tính ra thời gian làm việc của nhân viên. Với các hệ thống phần mềm thuần túy, việc
nhập dữ liệu về thời gian đi và về của nhân viên phải thực hiện bằng tay và không

11


thể xử lý tự động được. Do đó, nhu cầu đặt ra là cần tự động hóa quá trình nhập dữ
liệu và xử lý dữ liệu đối với các hệ thống quản lý giám sát.

Hình 1.1 Ưu điểm của hệ thống QLNS bằng phần mềm
Thứ hai, việc tính toán và xử lý số liệu do con người làm đôi khi gặp phải
một số sai sót, nhầm lẫn gây ra những tổn thất cho công ty hoặc nhân viên. Đặc biệt

đối với những nhà máy sản xuất, khi người quản lý không giám sát chặt chẽ giờ
giấc làm việc của công nhân sẽ làm mất đi độ chính xác khi chấm công tính lương.
Hoặc trường hợp xấu hơn có thể có là người ngoài công ty sẽ lợi dụng sơ hở của
nhân viên trong công ty để ra vào trái phép, các tài sản của công ty trong thời gian
này khó có thể đảm bảo an toàn. Điều này đặt ra một bài toán kỹ thuật đòi hỏi tăng
cường độ chính xác của thông tin đầu vào cho hệ thống quản lý, khắc phục các thiếu
sót và nhầm lẫn trong quá trình giám sát truy nhập hệ thống của các nhân viên trong
công ty.

12


Người ngoài
xâm nhập
vào công ty
Nguy cơ với
các tài sản
giá trị của
công ty

HỆ THỐNG
QUẢN LÝ NHÂN SỰ
TRUYỀN THỐNG

Nhầm lẫn dữ
liệu của nhân
viên

Sai lệch kết
quả trong bài

toán chấm
công tính
lương

Người quản
lý không
giám sát chặt
chẽ

Hình 1.2 Hạn chế của hệ thống QLNS truyền thống
Trước những hạn chế còn tồn tại ở các hệ thống hiện thời, để xây dựng được
một hệ thống QLNS đáp ứng được đầy đủ các chức năng cơ bản và đảm bảo được
cho bài toán chấm công và tính lương một cách chính xác nhất, nâng cao tính bảo
mật và an toàn cho hệ thống, tôi đã lựa chọn đề tài “Phát triển hệ thống nhận
dạng khuôn mặt ứng dụng trong các hệ quản lý nhân sự”.
1.1.2 Mục đích và ý nghĩa của đề tài
Như đã đề cập ở trên, mục đích của tôi khi chọn đề tài đó là muốn xây dựng
hoàn thiện một hệ thống QLNS khắc phục được những tồn tại thiếu sót của các hệ
thống trước đó, sử dụng các công nghệ hiện đang rất phát triển vào một lĩnh vực có
tính áp dụng cao trong thực tế. Hệ thống được xây dựng sẽ đáp ứng những mục đích
cơ bản đề ra như sau:
 Thực hiện đầy đủ chức năng của một bài toán QLNS thông thường, cho
phép nhập, sửa, xóa, quản lý thông tin về các nhân viên trong công ty.

13


 Đảm bảo được yêu cầu bài toán chấm công tính lương, thông tin đầu vào
được xác thực và tính toán chính xác.
 Quản lý truy nhập vào các phòng ban quan trọng thông qua cơ chế phân

quyền người sử dụng.
1.2 Giới thiệu về hệ thống QLNS đề xuất
Hệ thống được xây dựng sẽ bao gồm các module chính được thể hiện qua sơ
đồ khối tổng quan dưới đây, tiếp theo đó sẽ là phần chú thích cụ thể về các module
và chức năng của từng module trong hệ thống.
1.2.1 Sơ đồ khối

Hình 1.3 Sơ đồ khối hệ thống QLNS ứng dụng nhận dạng khuôn mặt

14


Hệ thống bao gồm hai phần chính là xác thực thông tin đầu vào và phần mềm
QLNS. Module xác thực thông tin đầu vào gồm có webcam để chụp ảnh người sử
dụng, cơ sở dữ liệu của mỗi nhân viên và cơ sở dữ liệu khuôn mặt. Đầu vào sẽ là
khuôn mặt người và mã nhân viên được sử dụng cùng một thời điểm.
1.2.2 Các chức năng cơ bản của hệ thống
1.2.2.1 Hoạt động của hệ thống
Hệ thống sẽ hoạt động cơ bản theo chu trình sau:
1. Thu nhận thông tin User image và mã nhân viên
2. Mã nhân viên sẽ được kiểm tra sự tồn tại và tính hợp lệ.
3. Nếu hợp lệ, dữ liệu trả về cho hệ thống FaceID tương ứng với mã
nhân viên nhập vào.
4. Sau các bước trên, hệ thống đã có được User image va FaceID tương
ứng
5. Dữ kiện này được đưa vào module chứng thực khuôn mặt để thực
hiện chứng thực.
5.1

Nếu dữ kiện này so khớp (matched), quá trình đăng

nhập thành công, thông tin đăng nhập sẽ được cập nhật
vào phần mềm QLNS (thông tin đăng nhập bao gồm ảnh
khuôn mặt,mã nhân viên, thời gian đăng nhập).

5.2

Nếu dự kiện này không so khớp, hệ thống đưa ra cảnh
báo và cho phép đăng nhập lại.

6. Phần mềm QLNS sẽ có Staff Database, với thông tin được trả về sau
quá trình đăng nhập thành công (ảnh khuôn mặt, thời gian đăng nhập)
sẽ được xử lý để thực hiện các chức năng: Quản lý nhân viên, chấm
công tính lương và kết xuất các báo cáo định kỳ.

15


1.2.2.2 Phương pháp nhận dạng và xác thực khuôn mặt sử dụng trong hệ thống
Để nhận dạng khuôn mặt, hiện nay có 2 phương pháp chủ yếu [2]:
- Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Feature
based face recognition). Phương pháp này nhận dạng khuôn mặt dựa trên các đặc
trưng hình học của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng
của mắt, mũi, miệng,..) và mối quan hệ giữa chúng (như khoảng cách của hai mắt,
khoảng cách của hai lông mày,..). Ưu điểm của phương pháp này là nó gần với cách
mà con người sử dụng để nhận biết khuôn mặt. Hơn nữa, với việc xác định đặc tính
và các mối quan hệ, phương pháp này cho kết quả tốt trong các trường hợp ảnh có
nhiều nhiễu như bị nghiêng, bị xoay hoặc ánh sáng thay đổi. Nhưng nhược điểm của
phương pháp này là cài đặt thuật toán phức tạp do việc xác định mối quan hệ giữa
các đặc tính đòi hỏi các thuật toán phức tạp. Mặt khác, với các ảnh kích thước bé thì
đặc tính sẽ khó phân biệt.

- Nhận dạng dựa trên xét tổng thể khuôn mặt (Appearance based face
recognition). Phương pháp này sẽ xem mỗi bức ảnh khuôn mặt có kích thước RxC
là một vector trong không gian RxC chiều. Ta sẽ xây dựng một không gian mới có
chiều nhỏ hơn sao cho khi biểu diễn trong không gian đó, các đặc điểm chính của
một khuôn mặt không bị mất đi. Trong không gian đó, các ảnh của cùng một người
sẽ được tập trung lại thành một nhóm gần nhau và cách xa các nhóm khác.
Ngoài ra còn có một số phương pháp khác như :
- Nhận dạng 2D: Elastic Bunch Graph, Active Appearance Model.
- Nhận dạng 3D: 3D Morphable Model.
Trong hệ thống này, phương pháp nhận dạng khuôn mặt được tiến hành qua
hai giai đoạn:
Thứ nhất là quá trình nhận dạng khuôn mặt (Face detection) cho phép tìm ra
vị trí và kích thước của khuôn mặt trong một bức ảnh số hoặc trong các hình ảnh
được được ghi lại bởi camera. Quá trình này cần đảm bảo nhận dạng đúng khuôn

16


mặt, phân biệt tốt yếu tố khuôn mặt với các yếu tố không phải khuôn mặt như nhà
cửa, cây cối… Module nhận dạng khuôn mặt được xây dựng dựa trên việc sử dụng
2 đặc trưng về kết cấu BDIP và BVLC được tính toán từ ảnh dữ liệu đầu vào, sau đó
sẽ phân loại chúng vào các mômen đặc trưng rồi sử dụng bộ phân loại SVM để xác
định khuôn mặt. Phương pháp này đã được thử nghiệm trên nhiều tập hình ảnh với
các điều kiện khác nhau về hướng, độ sáng v.v và cho tỷ lệ nhận dạng chính xác
luôn cao hơn 95%.
Thứ hai là quá trình xác thực khuôn mặt. Quá trình này cho phép đối chiếu
hình ảnh thu được sau bước nhận dạng khuôn mặt và các hình ảnh lấy ra từ cơ sở dữ
liệu rồi đưa ra quyết định chấp nhận hay từ chối việc đăng nhập vào hệ thống. Đối
với hệ thống nhận dạng khuôn mặt này thì module này sẽ chỉ cần so sánh hình ảnh
sau bước thu nhận với ảnh trong cơ sở dữ liệu tương ứng với mã nhân viên đó. Có

nhiều thuật toán có thể áp dụng cho bài toán này như Eigenface sử dụng PCA,
Fisherface sử dụng LDA.
1.2.2.3 Phần mềm quản lý nhân sự
Ngày nay phần mềm được ứng dụng trong hầu hết các lĩnh vực của cuộc
sống hiện đại. Trong cuộc sống hàng ngày, chúng ta đều tiếp xúc một cách trực tiếp
hoặc gián tiếp đến các hệ thống phần mềm với quy mô từ nhỏ đến lớn. Từ các thiết
bị dân dụng trong gia đình như tivi, máy giặt, lò vi sóng…đều được ứng dụng các
phần mềm nhúng để điều khiển hoạt động đến các hệ thống lớn như trong các ngân
hàng, các công ty, trường học… Tất cả đều được ứng dụng phần mềm trong một
phần hay toàn bộ công việc. Đóng góp một phần quan trọng trong thế giới phần
mềm đó là các phần mềm quản lý dữ liệu, quản lý sản phẩm trong kho, quản lý bán
hàng, quản lý sách, quản lý sinh viên, quản lý nhân sự công ty… đều là những ví dụ
rất điển hình về dữ liệu.
Phần mềm QLNS được xây dựng với mục đích ứng dụng công nghệ nhận
dạng khuôn mặt gồm 2 phần chính:

17


+ Giao diện dành cho người dùng để người dùng có thể đăng nhập vào hệ
thống bằng việc nhập mã nhân viên và nhận dạng khuôn mặt bằng camera
+ Giao diện dành cho người quản trị, tổ chức nhân sự,…
Phần trên được xây dựng bằng ngôn ngữ C# với hệ cơ sở dữ liệu chung là
SQL Server2005. Phần mềm có nhiệm vụ quản lý thông tin cán bộ công nhân viên
trong một công ty hoặc trong các phòng ban của công ty, quản lý vào ra, thời gian
làm việc cũng như thời gian kết thúc công việc của nhân viên trong ngày. Sau đó
tổng hợp số liệu cho việc chấm công, tính lương, khen thưởng, kỷ luật một cách tiện
lợi, nhanh chóng và chính xác.

18



CHƯƠNG 2: MODULE NHẬN DẠNG KHUÔN MẶT
Nội dung của chính được trình bày trong chương này là tổng quan về bài
toán nhận dạng khuôn mặt, các phương pháp tiếp cận để giải quyết bài toán nhận
diện khuôn mặt, các ứng dụng của hệ thống nhận diện khuôn mặt và cơ sở lý thuyết
các kỹ thuật được lựa chọn áp dụng trong luận văn để xây dựng nên hệ thống mà tôi
đã nghiên cứu và tìm hiểu.
2.1 Cơ sở lý thuyết của bài toán nhận dạng khuôn mặt
Nhận dạng khuôn mặt (Face detetion) là bước đầu tiên trong hai bước của
quá trình nhận dạng khuôn mặt người (Face recognition). Nhận dạng khuôn mặt là
một công nghệ phát triển rất mạnh mẽ và đã có những ứng dụng mạnh mẽ trong
nhiều lĩnh vực từ công nghiệp, dịch vụ, y tế cho đến quân sự. Nhận dạng khuôn mặt
cũng giống như nhận dạng bằng sóng vô tuyến, là một công nghệ nhận dạng tự
động AIDC (Auto Identification Data Collection) và nằm trong hệ thống các
phương pháp nhận dạng dựa trên các đặc điểm sinh trắc học (biometric) bao gồm
một số phương pháp như nhận dạng khuôn mặt, nhận dạng vân tay (fingerprint),
nhận dạng đồng tử mắt (iris recognition) hay nhận dạng tiếng nói (Voice
recognition)…
Xác định khuôn mặt người là một kỹ thuật máy tính dùng để xác định vị trí
và kích thước của khuôn mặt người trong một ảnh số bất kỳ [9]. Công nghệ nhận
dạng khuôn mặt cho phép phân biệt được khuôn mặt người với các chi tiết không
phải khuôn mặt người trong một bức ảnh số như nhà cửa, cây cối….Lịch sử phát
triển của công nghệ nhận dạng khuôn mặt đã trải qua nhiều thập kỷ với sự tiến bộ từ
những công nghệ xử lý đơn giản đối với ảnh đen trắng, xám, cho đến ảnh màu và
thậm chí là công nghệ nhận dạng 3D như ngày nay. Các yêu cầu đặt ra với bài toán
nhận dạng khuôn mặt cũng không ngừng được nâng cao từ lúc ban đầu khi mỗi bức

19



hình đen trắng chỉ có một khuôn mặt, đầu luôn ở tư thế nhìn thẳng cho đến những
bức ảnh màu, trong hình gồm nhiều khuôn mặt khác nhau và có thể ở nhiều tư thế
cũng như ở những điều kiện ánh sáng khác nhau. Hiện nay, công nghệ nhận dạng
khuôn mặt đã được phát triển giải quyết được những bài toán phức tạp như nhận
diện 3D, nhận diện thời gian thực khi camera số ghi lại hình ảnh và phần mềm nhận
diện khuôn mặt có thể phát hiện và bám sát mục tiêu được nhận diện là khuôn mặt.
Đây chính là sự tiến bộ vượt bậc khiến công nghệ nhận dạng khuôn mặt đã được áp
dụng rộng rãi trong lĩnh vực công nghiệp như áp dụng trong máy ảnh kỹ thuật số
(digital camera), trong giao tiếp người và máy tính (human computer interaction),
công nghệ nhận dạng khuôn mặt cùng với xác thực khuôn mặt (face authentication)
được áp dụng phổ biến trong các hệ thống an ninh (security system) như chứng thực
hộ chiếu (passport verification), nhận diện tội phạm (criminal verification).
Có rất nhiều phương pháp nhận diện khuôn mặt người, tuy nhiên, tổng kết lại
có thể chia làm 4 hướng tiếp cận chính:
 Hướng tiếp cận dựa trên tri thức (knowledge-based).
 Hướng tiếp cận dựa trên các đặc trưng không thay đổi (feature invariant).
 Hướng tiếp cận dựa trên so khớp mẫu (template matching).
 Hướng tiếp cận dựa trên diện mạo (appearance-based).
a)Hướng tiếp cận dựa trên tri thức
Hướng tiếp cận này chủ yếu dựa trên các luật định nghĩa về khuôn mặt
người. Các luật này thường mô tả về các mối quan hệ giữa các thành phần trên
khuôn mặt người. Các quan hệ đặc trưng có thể được mô tả như quan hệ về khoảng
cách và vị trí. Theo phương pháp này, những người thực hiện sẽ trích chọn đặc
trưng của khuôn mặt trước tiên để có được các ứng viên, sau đó các ứng viên này sẽ
được xác định thông qua các luật để biết ứng viên nào là khuôn mặt và ứng viên nào
không phải là mặt. Khó khăn với phương pháp này là làm sao chuyển từ tri thức của

20



con người về khuôn mặt sang các luật một cách có hiệu quả vì nếu các luật chặt chẽ
quá thì có thể xác định thiếu các khuôn mặt vì không phải khuôn mặt nào cũng đáp
ứng được tất cả các luật. Một số phương pháp nghiên cứu theo hướng này như
Kanade, G.Yang, Kotropoulos, Sahbi và Boujemaa, Farhad và Abdolhorsein…
b) Hướng tiếp cận dựa trên các đặc trưng không thay đổi
Hướng tiếp cận này tập trung vào việc tìm kiếm những đặc trưng độc lập của
khuôn mặt – những đặc trưng không phụ thuộc vào tư thế khuôn mặt nghiêng hay
thẳng, điều kiện chiếu sáng, chất lượng hình ảnh v.v. Các đặc trưng thỏa mãn những
điều đó gọi là các đặc trưng bất biến và được sử dụng để phát hiện khuôn mặt. Các
nghiên cứu đầu tiên sẽ chỉ ra các đặc trưng của khuôn mặt sau đó quyết định xem
khuôn mặt có nằm trong ảnh hay không. Các đặc trưng như lông mày, mắt, mũi,
miệng và đường viền của tóc được trích chọn bằng phương pháp xác định cạnh.
Trên cơ sở các đặc trưng này, xây dựng mô hình thống kê để mô tả quan hệ của các
đặc trưng này và xác định sự tồn tại của khuôn mặt trong ảnh. Phương pháp này có
thể xác định dựa trên các đặc trưng cạnh của khuôn mặt, phân bố của màu da… với
các nghiên cứu của Sirohey, Chetverikov và Lerch, Yow và Cipolla, Augusteijin và
Skufca, Sobottka và Pitas…
c) Hướng tiếp cận dựa trên so khớp mẫu.
Trong hướng tiếp cận này, một mẫu khuôn mặt được định nghĩa bằng tay
trước hoặc được tham số hóa bằng một hàm số. Mẫu này được sử dụng để phát hiện
khuôn mặt người bằng cách quét nó qua ảnh và tính toán giá trị tương đồng cho mỗi
vị trí ví dụ về đường viền khuôn mặt, mắt, mũi và miệng. Việc xuất hiện một khuôn
mặt tại một vị trí nào đó trong ảnh phụ thuộc và giá trị tương đồng của điểm đó so
với mẫu chuẩn. Hướng tiếp cận này có lợi thế là dễ sử dụng, nhưng không có hiệu
quả khi tỷ lệ, tư thế và hình dáng thay đổi. Nhiều độ phân giải, đa tỷ lệ, các mẫu con
và các mẫu biến dạng được xem xét thành bất biến về tỷ lệ và hình dạng.
Phương pháp tiêu biểu trong hướng tiếp cận này là PCA (Principal
Component Analysis) để xác định hình chiếu của khuôn mặt được sử dụng như các
mẫu để xác định khuôn mặt người, hình chiếu được mô tả như một mảng các bit.


21


d) Hướng tiếp cận dựa trên diện mạo
Phương pháp này thường dùng một mô hình máy học nên còn được gọi là
phương pháp máy học (machine learning-based). Ngược với phương pháp so sánh
mẫu sử dụng các mẫu được định nghĩa trước, phương pháp này sử dụng những mẫu
được rút trích qua một quá trình học. Nói cách khác, các thuật toán dựa trên máy
học dùng các kỹ thuật phân tích thống kê và máy học xấp xỉ một hàm phân lớp
tuyến tính. Có nhiều mô hình máy học được áp dụng trong hướng tiếp cận này như:
Eigenface (M.Turk và A. Pentland), Mô hình dựa trên phân phối (K.Sung và
T.Poggion), Mạng nơron (H.Rowley), Support Vector Machine (E.Osuna), Phân lớp
Bayes (H.Schneiderman và T.Kanade), Mô hình Markov ẩn (A.Rajagopalan) và các
mô hình tăng cường như AdaBoost (P.Viola và M.Jones), FloatBoost (Stan Z.Li và
Zhen Qiu Zhang)…
2.2 Đặc trưng Haar
Đặc trưng Haar được xây dựng từ các hình chữ nhật có kích thước bằng nhau
dùng để tính độ chênh lệch giữa các giá trị điểm ảnh trong các vùng kề nhau. Mỗi
đặc trưng Haar là sự kết hợp của các hình chữ nhật “trắng” hay “ đen” và có 4 đặc
trưng cơ bản như sau:

Hình 2.1 Đặc trưng haar cơ bản
Để sử dụng các đặc trưng này vào việc xác định khuôn mặt người, 4 đặc
trưng Haar cơ bản được mở rộng vào chia làm 3 tập đặc trưng:
1. Đặc trưng cạnh (edge features):

22



2. Đặc trưng đường (line features):

3. Đặc trưng xung quanh tâm (center-surround features):

Hình 2.2 Các đặc trưng Haar mở rộng.
Để phát hiện ra mặt người bằng cách ta huấn luyện dựa vào các đặc trưng
haar like, sau đó dựa vào tập huấn luyện này để phát hiện khuôn mặt. Để làm được
như vậy, ảnh đầu vào trước hết phải được xám hóa, sau đó cho một hoặc nhiều hình
chữ nhật chứa đặc trưng haar-like chạy khắp bức ảnh, những chỗ khác biệt sẽ được
lưu trữ lại. Tập hợp hàng nghìn điểm khác biệt của hàng trăm khuôn mặt khác nhau
sẽ cho ta một tập dữ liệu dùng cho việc phát hiện mặt người.

Hình 2.3 phân loại dựa trên đặc tính haar.

23


Trên hình là một đặc trưng haar-like trên vùng mắt, bây giờ nếu có hàng trăm
đặc trưng như vậy trên hàng trăm bức ảnh huấn luyện thì sao? ta sẽ được một phân
lớp, tập hợp của rất nhiều phân lớp này sẽ cho ta xác định vùng chứa khuôn mặt.
2.3 Support vector machine (SVM)
Với một tập các mẫu huấn luyện từ 2 nhóm khác nhau, SVM có thể tìm được
một mặt phẳng tối ưu phân tách 2 nhóm của các mẫu này, sao cho phần lề cho trước
ở hai bên mặt phẳng tối ưu này là lớn nhất, có nghĩa là khoảng cách từ mặt phẳng
này tới mẫu gần nhất là lớn nhất. Các mẫu huấn luyện nằm song song với mặt
phẳng tối ưu được sử dụng để xác định phần lề được gọi là vector trợ giúp như mô
tả trong hình 2.4

Hình 2.4 Phân loại mẫu sử dụng SVM thông qua mặt phẳng tối ưu
2.3.1 Bộ phân loại SVM tuyến tính

Dựa trên ý tưởng về mặt phẳng tối ưu để phân loại các mẫu. Giả sử ta có tập
mẫu huấn luyện S: {(xi , yi ), i  1, ... , N} có thể phân tách tuyến tính, trong đó

Rn

và yi {1} . Mục đích của SVM là xây dựng mặt phẳng tối ưu để chia các mẫu
trong tập S thành hai phần và được gắn nhãn tương ứng. Điều đó tương đương với
việc tìm mặt phẳng tối ưu H : w  x  b  0 và hai mặt phẳng khác H 1 : w  x  b  1
và H 2 : w  x  b  1 song song và có cùng khoảng cách tới mặt phẳng tối ưu, với
điều kiện là khoảng cách giữa H 1 và H 2 là lớn nhất và không có mẫu nào nằm giữa
chúng. Có nghĩa là có thể tìm được cặp (w, b) thỏa mãn điều kiện:

24


×