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ự - Pdf 40

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



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.

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


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


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



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

đố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

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ậ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ó



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



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.

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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status