Tải bản đầy đủ (.docx) (74 trang)

đồ án điểm danh sinh viên bằng nhận diện gương mặt

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 (3.9 MB, 74 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ

ĐỒ ÁN CHUYÊN NGÀNH
HỆ THỐNG ĐIỂM DANH SINH VIÊN BẰNG

NHẬN DIỆN GƯƠNG MẶT
CBHD: GV. Phạm Thị Quỳnh Trang
LỚP: 20231FE6071001
NHÓM: 6

Hà Nội, Năm 2023

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ

ĐỒ ÁN CHUYÊN NGÀNH
HỆ THỐNG ĐIỂM DANH SINH VIÊN BẰNG

NHẬN DIỆN GƯƠNG MẶT
CBHD: GV. Phạm Thị Quỳnh Trang
LỚP: 20231FE6071001
NHÓM: 6

Hà Nội, Năm 2023

LỜI CẢM ƠN
Nhóm em xin chân thành cảm ơn Cô Phạm Thị Quỳnh Trang đã tận tình
dạy dỗ, giúp đỡ nhóm trong q trình chuẩn bị và thực hiện đồ án. Hướng dẫn,
cung cấp tài liệu và truyền đạt nhiều ý kiến thiết thực trong suốt quá trình thực
hiện đồ án. Những kinh nghiệm quý báu mà cơ truyền đạt sẽ giúp cho nhóm em


trong việc thực hiện các đề tài khác trong tương lai.

Mặc dù đã có nhiều cố gắng nhưng với kiến thức còn hạn hẹp và thời
gian tiếp xúc với thực tế chưa nhiều, vì vậy bài báo cáo đồ án của nhóm em
khơng thể tránh khỏi nhiều thiếu sót. Em rất mong có được những ý kiến
đóng góp chân thành của các Thầy Cơ để cho kiến thức trong cuốn báo cáo
này được hoàn thành hơn.

Em xin chân thành cảm ơn!

Hà Nội, ngày 25 tháng 12 năm 2023

Nhóm sinh viên

MỤC LỤC

LỜI CẢM ƠN...................................................................................................I
DANH MỤC CÁC KÝ HIỆU......................................................................IV
DANH MỤC CÁC TỪ VIẾT TẮT...............................................................V
DANH MỤC BẢNG BIỂU...........................................................................VI
DANH MỤC HÌNH ẢNH.......................................................................VII
MỞ ĐẦU..........................................................................................................1

1. Giới thiệu...................................................................................................1
2. Lý do chọn đề tài.......................................................................................2
3. Nội dung nghiên cứu.................................................................................2
4. Phân chia cơng việc nhóm.........................................................................3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT..............................................................5
1.1 Tổng quan về hệ thống............................................................................5
1.2 Ngơn ngữ lập trình Python......................................................................5

1.3 Các thư viện mã nguồn mở.....................................................................6
1.4 Bài tốn nhận đạng khn mặt................................................................7

1.4.1 Tìm khn mặt...................................................................................8
1.4.2 Vị trí của khuôn mặt...........................................................................9
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG ĐIỂM DANH SINH VIÊN BẰNG
NHẬN DIỆN GƯƠNG MẶT.......................................................................12
2.1 Mục đích và yêu cầu..............................................................................12
2.1.1 Mục đích...........................................................................................12
2.1.2 Yêu cầu.............................................................................................12
2.2 Thiết kế hệ thống...................................................................................14
2.2.1 Các tác nhân của hệ thống................................................................14
2.2.2 Biểu đồ usecase đăng nhập..............................................................15
2.2.3 Biểu đồ use case thông tin sinh viên................................................16
2.2.4 Biểu đồ use case thông tin giáo viên................................................18
2.2.5 Biểu đồ use case thông tin lớp học...................................................21
2.2.6 Biểu đồ use case điểm danh sinh viên bằng nhận diện gương mặt. .27
2.2.7 Biểu đồ use case xem danh sách điểm danh....................................28
2.3 Thiết kế cơ sở dữ liệu............................................................................29
2.3.1 Cơ sở dữ liệu “SinhVien”.................................................................29

2.3.2 Cơ sở dữ liệu “GiaoVien”................................................................29
2.3.3 Cơ sở dữ liệu “Khoa”.......................................................................30
2.3.4 Cơ sở dữ liệu “MonHoc”.................................................................30
2.3.5 Cơ sở dữ liệu “LopHoc”...................................................................30
2.3.6 Cơ sở dữ liệu “DiemDanh”..............................................................31
2.4 Thiết kế giao diện..................................................................................31
2.4.1 Phác thảo giao diện “Đăng nhập”....................................................31
2.4.2 Phác thảo giao diện “Sinh viên”.......................................................32
2.4.3 Phác thảo giao diện “Giáo viên”......................................................32

2.4.4 Phác thảo giao diện “Lớp học”........................................................33
2.4.5 Phác thảo giao diện “Điểm danh sinh viên”.....................................34
2.4.6 Phác thảo giao diện “Danh sách điểm danh”...................................34
CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC.................................................36
3.1 Giao diện chương trình..........................................................................36
3.1.1 Giao diện đăng nhập.........................................................................36
3.1.2 Giao diện chính của hệ thống...........................................................36
3.1.3 Giao diện “Thông tin sinh viên”......................................................37
3.1.4 Giao diện “Thông tin giáo viên”......................................................38
3.1.5 Giao diện “Thông tin lớp học”.........................................................38
3.1.6 Giao diện “Điểm danh sinh viên”....................................................39
3.1.7 Giao diện “Danh sách điểm danh sinh viên”...................................39
3.2 Kiểm thử chức năng..............................................................................40
3.2.1 Kiểm thử chức năng đăng nhập........................................................40
3.2.2 Kiểm thử chức năng điểm danh sinh viên........................................50
3.2.3 Kiểm thử chức năng Lớp học...........................................................52
3.2.4 Kiểm thử chức năng Danh sách điểm danh......................................56
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...................................................60
1. Kết quả đạt được...................................................................................60
2. Kế quả chưa đạt được............................................................................60
3. Hướng phát triển...................................................................................60
TÀI LIỆU THAM KHẢO............................................................................61

DANH MỤC CÁC KÝ HIỆU

Phần tử mơ hình Ký hiệu Ý nghĩa
Tác nhân Một người / nhóm
(Actor) người hoặc một thiết
bị hoặc hệ thống tác
Use case động hoặc thao tác

đến chương trình.
Mối quan hệ giữa Biểu diễn một chức
các use case năng xác định của
hệ thống

Use case này sử
dụng lại chức năng
của use case kia
Use case này kế
thừa các chức năng
từ use case kia

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

Chữ viết tắt Tên tiếng anh Tên tiếng việt
WWDC Hội nghị các nhà phát
Worldwide Developers
API Conference triển toàn cầu của
GUI
Application Apple
Programming Interface Giao diện lập trình ứng

Graphical User dụng
Interface giao diện đồ họa người

dùng

DANH MỤC BẢNG BIỂU
Bảng 2.1 Cơ sở dữ liệu “SinhVien”................................................................29
Bảng 2.2 Cơ sở dữ liệu “GiaoVien”................................................................29

Bảng 2.3 Cơ sở dữ liệu “Khoa”.......................................................................30
Bảng 2.4 Cơ sở dữ liệu “MonHoc”.................................................................30
Bảng 2.5 Cơ sở dữ liệu “LopHoc”..................................................................30
Bảng 2.6 Cơ sở dữ liệu “DiemDanh”..............................................................31
Bảng 3.1 Kế hoạch và kết quả test case chức năng đăng nhập.......................40
Bảng 3.2 Kế hoạch và kết quả test case chức năng cập nhật thông tin sinh viên. 43
Bảng 3.3 Kế hoạch và kết quả test case chức năng truy cập danh sách giáo viên.46
Bảng 3.4 Kế hoạch và kết quả test case chức năng điểm danh sinh viên.............50
Bảng 3.5 Kế hoạch và kết quả test case chức năng truy cập danh sách giáo viên.53
Bảng 3.6 Kế hoạch và kết quả test case chức năng truy cập danh sách giáo viên.56

DANH MỤC HÌNH ẢNH

Hình 1.1 Ví dụ sau khi sử dụng thư viện face-recognition...............................7
Hình 1.2 Ảnh của Will Ferrel....................................................8
Hình 1.3 Phiên bản pixel của hình 1 hiển thị hướng chuyển
màu........................................................................................ 9
Hình 1.4 Hình ảnh dựa trên HOG được so sánh với HOG được
tạo ra từ rất nhiều hình ảnh khn mặt..................................9
Hình 1.5 68 điểm mốc chúng ta sẽ xác định trên mỗi khn
mặt....................................................................................... 10
Hình 2.1 Sơ đồ khối thực hiện chương trình..........................14
Hình 2.2 Biểu đồ Use case đăng nhập...................................15
Hình 2.3 Biểu đồ Use case thêm sinh viên............................16
Hình 2.4 Biểu đồ Use case cập nhật sinh viên.......................17
Hình 2.5 Biểu đồ Use case xóa sinh viên...............................18
Hình 2.6 Biểu đồ Use case thêm giáo viên............................19
Hình 2.7 Biểu đồ use case cập nhật thơng tin giáo viên........20
Hình 2.8 Biểu đồ use case xóa thơng tin giáo viên................21
Hình 2.9 Biểu đồ use case thêm mơn học.............................22

Hình 2.10 Biểu đồ use case xóa mơn học..............................22
Hình 2.11 Biểu đồ use case thêm mơn học...........................23
Hình 2.12 Biểu đồ use case xóa lớp học................................24
Hình 2.13 Biểu đồ use case thêm lớp học cho giáo viên.......25
Hình 2.14 Biểu đồ use case xóa lớp học cho giáo viên..........25
Hình 2.15 Biểu đồ use case thêm lớp học cho sinh viên........26
Hình 2.16 Biểu đồ use case xóa lớp học cho sinh viên..........27
Hình 2.17 Biểu đồ use case điểm danh sinh viên bằng nhận
diện gương mặt....................................................................27
Hình 2.18 Biểu đồ use case xem danh sách điểm danh........28
Hình 2.19 Phác thảo giao diện đăng nhập.............................31
Hình 2.20 Phác thảo giao diện sinh viên...............................32
Hình 2.21 Phác thảo giao diện giáo viên...............................33
Hình 2.22 Phác thảo giao diện lớp học..................................33
Hình 2.23 Phác thảo giao diện điểm danh sinh viên..............34

Hình 2.24 Phác thảo giao diện danh sách điểm danh............35
Hình 3.1 Giao diện khi mới mở hệ thống...............................36
Hình 3.2 Giao diện sau khi đăng nhập thành cơng................37
Hình 3.3 Giao diện cập nhật và thêm thơng tin sinh viên......37
Hình 3.4 Giao diện cập nhật và thêm thơng tin giáo viên.....38
Hình 3.5 Giao diện thơng tin lớp học.....................................39
Hình 3.6 Giao diện điểm danh sinh viên theo lớp học...........39
Hình 3.7 Giao diện Danh sách điểm danh sinh viên theo ngày
và lớp học............................................................................. 40
Hình 3.8 Giao diện hiển thị cảnh báo lỗi khi đăng nhập........41
Hình 3.9 Hiển thị thơng báo lỗi khi nhập sai tên đăng nhập
hoặc mật khẩu......................................................................42
Hình 3.10 Hiển thị thơng báo khi đăng nhập thành cơng......43
Hình 3.11 Hiển thị thơng báo “Nhập mã sinh viên”...............44

Hình 3.12 Hiển thị thơng báo “Nhập đầy đủ thơng tin”.........45
Hình 3.13 Hiển thị thơng báo “Nhập đầy đủ thơng tin”.........45
Hình 3.14 Hiển thị “Chụp ảnh thành cơng”...........................46
Hình 3.15 Test case 1 kiểm thử chức năng truy cập danh sách
giáo viên............................................................................... 48
Hình 3.16 Test case 2 kiểm thử chức năng truy cập danh sách
giáo viên............................................................................... 49
Hình 3.17 Test case 3 kiểm thử chức năng truy cập danh sách
giáo viên............................................................................... 50
Hình 3.18 Hiển thị “Chọn lớp điểm danh”.............................51
Hình 3.19 Hiển thị webcam và danh sách sinh viên..............52
Hình 3.20 Thơng báo chưa nhập mã sinh viên......................52
Hình 3.21 Test case 1 kiểm thử chức năng truy cập danh sách
lớp học.................................................................................. 54
Hình 3.22 Test case 2 kiểm thử chức năng truy cập danh sách
lớp học.................................................................................. 55
Hình 3.23 Test case 3 kiểm thử chức năng truy cập danh sách
lớp học.................................................................................. 56
Hình 3.24 Test case 1 kiểm thử chức năng truy cập danh sách
điểm danh............................................................................57

Hình 3.25 Test case 2 kiểm thử chức năng truy cập danh sách
điểm danh............................................................................58
Hình 3.26 Test case 3 kiểm thử chức năng truy cập danh sách
điểm danh............................................................................59

1

MỞ ĐẦU


1. Giới thiệu

Trong thời đại trí tuệ nhân tngày càng phát triển nơi công nghệ đang
phát triển với tốc độ ánh sáng, nhiều những cơ hội và con đường được tạo ra
trước mắt nhân loại. Phân tích khn mặt, nhận dạng khn mặt là một trong
những con đường mang lại hiệu quả tích cực và có lợi cho xã hội. Trong
nhiều năm, những công nghệ này đã phát triển một cách triệt để thơng qua trí
tuệ nhân tạo và cơng nghệ học máy. Thị giác máy tính cũng là lĩnh vực mà ở
đó cơng nghệ rất có ích. Việc sử dụng các công nghệ như vậy là nhu cầu trong
cuộc sống hàng ngày của chúng ta ngày nay.

Một trong những vấn đề nổi bật nhất của thị giác máy tính hệ thống là
nhận dạng khn mặt. Nhiều diễn biến mà diễn ra trong những năm gần đây
bởi nhiều gã khổng lồ công nghệ là một trong những những tuyên bố ủng hộ
nhất. Vào tháng 9 năm 2017 Apple.inc đó là một trong những cơng ty đột phá
nhất trên thế giới, trong sự kiện WWDC đã công bố công nghệ Face ID. Theo
cách tương tự, Facebook cũng giới thiệu công nghệ trong nền tảng truyền
thông xã hội của mình cả trên Instagram và Facebook nơi khn mặt của bạn
bè được tự động gắn thẻ trong khi đăng một bức ảnh của họ. Facebook báo
cáo rằng hiệu quả của thuật toán là khoảng 93%. Việc nghiên cứu và phát
triển những vấn đề như vậy đã dẫn đến sự phát triển của nhiều thư viện và
API khác nhau để nhận dạng khn mặt. Những thư viện này có thể được sử
dụng theo yêu cầu để giải quyết vấn đề cần thiết của chúng ta. Phát triển
nhiều thư viện và nhiều API khác bằng cách sử dụng các công nghệ khác
nhau và trong nhiều chương trình được hỗ trợ ngơn ngữ được thực hiện.
Nhiều cơng nghệ cũng tìm thấy một hoặc nhiều khn mặt trong hình ảnh
nhất định theo mơ hình nhất định. Phát triển có rất nhiều con đường cho một
vấn đề có thể gây ra nhầm lẫn khi lựa chọn lời giải cho bài toán đã cho.

2


2. Lý do chọn đề tài

Hình ảnh minh họa
Việc lựa chọn đề tài Hệ thống điểm danh bằng nhận diện
gương mặt hướng tới mục tiêu kết hợp những công nghệ hiện
đại ứng dụng vào trong mơi trường học đường. Có cơ hội học
tập và nghiên cứu lĩnh vực trí tuệ nhân tạo đang rất nóng
bỏng hiện nay. Việc điểm danh bằng gương mặt cũng giúp
tăng sự xác thực cho việc điểm danh, tránh những trường hợp
không trung thực trong điểm danh. Công nghệ xây dựng đơn
giản và dễ sử dụng cho người.
Đề tài chủ yếu sử dụng thư viện face_recognition của
python để nhận dạng gương mặt. Thuật toán trong thư viện
chủ yếu sử dụng các gradient định hướng biểu đồ để tìm các
khn mặt, ước lượng các mốc mặt, máy vector hỗ trợ nhận
dạng khn mặt và mạng tích chập sâu để so sánh những
khuôn mặt.
3. Nội dung nghiên cứu
- Xây dựng một dự án phần mềm ứng dụng nhận dạng
khn mặt.
- Tìm hiểu về thư viện OpenCv.

3

- Nghiên cứu phương pháp trích chọn đặc trưng HOG
(Histogram of Oriented Gradients).

- Tìm hiểu các phương pháp xác định khn mặt (Face
Detection).


- Nghiên cứu phương pháp phát hiện và nhận diện gương
mặt của thư viện face_recognition Python

- Tìm hiểu xây dựng giao diện GUI bằng thư viện Tkinter
- Xây dựng cơ sở dữ liệu với MongoDB.

4. Phân chia cơng việc nhóm

# Cơng việc – Ngày Ngày Ngày Ngày Trạng thái Người
Task bắt bắt kết kết – thực hiện
đầu đầu thúc thúc Status –
-Tìm hiểu về dự thực dự thực (On-go / Owner(s)
tình hình thực kiến tế - kiến tế - Done
tiễn của đề tài – Actu – Actu / Late/
Start al Targ al Pending)
1 -Tìm hiểu về date start et end
các thuật toán date date date
phát hiện và
nhận diện 14/9/ 15/9/ 20/9/ 20/9/ Hoàn thành Đinh
gương mặt 2023 2023 2023 2023 Quỳnh
Hoa,
2 -Tìm hiểu về Nguyễn
thiết kế giao Văn Duy
diện bằng thư
viện trên 21/9/ 22/9/ 8/10/ 8/10/ Hoàn thành Đinh
python 2023 2023 2023 2023 Quỳnh
Hoa,
Nguyễn
Văn Duy,

Nguyễn Bá

4

-Tìm hiểu về cơ

sở dữ liệu Tùng

noSQL

-Viết sơ đồ Đinh

khối Quỳnh

cho chương Hoa,

trình 9/10/ 9/10/ 15/10 14/10 Nguyễn Bá
3 -Xác định rõ 2023 2023 /2023 /2023 Hoàn thành Tùng

các khối, lên ý

tưởng, xác định

cách hoạt động

của phần mềm Nguyễn
Viết cơ sở dữ

4 liệu cho 15/10 16/10 20/10 21/10 Hoàn thành Văn Duy,
chương trình /2023 /2023 /2023 /2023 Đinh Thị


Thiết kế giao Quỳnh Hoa
Nguyễn

5 diện GUI 21/10 21/10 15/11 Hoàn thành Văn Duy,
/2022 /2022 /2022 Nguyễn Bá

Tùng

Viết chương

6 trình phát hiện 20/10 20/10 21/11 Hoàn thành Nguyễn Bá
và nhận diện /2023 /2023 /2023 Tùng

gương mặt Đang thực Nguyễn Bá
7 Chạy kiểm thử 22/11 chương trình /2023 1/12 hiện Tùng

Nguyễn Bá

8 Hoàn thành báo 01/12 15/12 Đang thực Tùng, Đinh
cáo /2023 hiện Thị Quỳnh

Hoa

5

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Trong chương này sẽ tập trung nghiên cứu tìm hiểu về ngơn
ngữ lập trình Python, các kĩ thuật nhận diện cùng với sự hỗ trợ
của thư viện Opencv


1.1 Tổng quan về hệ thống
Hệ thống điểm danh bằng nhận diện khn mặt thường

được tích hợp trong hệ thống quản lí giáo dục, doanh nghiệp
để cung cấp giải pháp tự động và hiệu quả cho việc điểm
danh và quản lí hiện vật. Cơng nghệ nhận diện khn mặt đã
và đang được phát triển liên tục để cải thiện độ chính xác,
tốc độ và tiện ích.

Những công nghệ hiện đại cũng đã cho phép xác thực hay
nhận dạng một cá nhân dựa vào các đặc trưng sinh lí học của
con người như đặc điểm vân tay, gương mặt,… hoặc dựa trên
những đặc điểm liên quan đến nhận diện khn mặt là một
trong số ít các phương pháp nhận dạng dựa vào đặc trưng
sinh lý cho kết quả chính xác cao và thuận tiện sử dụng. Các
chương trình về nhận dạng có nhiều ứng dụng chẳng hạn như
nhận dạng tội phạm, kiểm soát truy cập các hệ thống máy
tính, giải pháp bảo mật bổ sung cho các giao dịch rút tiền tự
động ATM, đối chiếu ảnh trong các hoạt động của ngành luật
pháp, hay các ứng dụng giao tiếp người – máy, hoặc quản lý
nhân sự, chấm cơng trong một đơn vị.

1.2 Ngơn ngữ lập trình Python
Python là ngôn ngữ lập trình hướng đối tượng bậc cao,

dùng để phát triển website và nhiều ứng dụng khác nhau.
Hiện nay, python đang được sử dụng rất rộng rãi trong các
ứng dụng về trí tuệ nhân tạo, học máy, học sâu. Python được
tạo ra bởi Guido và Rossum và được phát triển trong một dự

án mã nguồn mở.

Với cú pháp cực kì đơn giản và dễ hiểu, dễ sử dụng,
Python là sự lựa chọn hoàn hảo cho những ai lần đầu tiên học

6

lập trình. Tuy nhiên, đây cũng là ngôn ngữ nổi tiếng về sự chặt
chẽ, nhanh, mạnh và có mặt ở mọi hệ điều hành.

Python có 100 thư viện xây dựng sẵn để thực hiện các
thuật toán Machine Learning và Deep Learning khác nhau.
Hơn nữa, Python có thể chạy trên nhiều nền tảng bao gồm
Windows, MacOS, Linux, ...

Python có một cộng đồng lớn và tích cực, là nguồn hỗ trợ
quan trọng khi gặp vấn đề về mã hóa. Python là ngơn ngữ
được lựa chọn cho việc triển khai trí tuệ nhân tạo với nhiều
thuật tốn sẵn có. Hỗ trợ cho các gói xác định trước giảm độ
phức tạp lập trình và “kiểm tra khi code” giúp giảm số lượng
mã viết.

1.3 Các thư viện mã nguồn mở
Mục này sẽ giới thiệu về các thư viện mã nguồn mở được

sử dụng trong đề tài:

Thư viện OpenCV:

OpenCV viết tắt của Open Source Computer Vision được

xem là một trong những thư viện mã nguồn mở hàng đầu cho
việc xử lý ảnh theo thời gian thực. OpenCV chính thức được ra
mắt đầu tiên vào năm 1999, OpenCV là thư viện mã nguồn
mở miễn phí cho cả học thuật và thương mại. Thư viện có hơn
2500 thuật tốn được tối ưu hóa.

OpenCV hỗ trợ đa nền tảng gồm Windows, Linux, Mac OS,
iOS và Android. OpenCV hỗ trợ ngơn ngữ lập trình C/C++,
Python và Java. OpenCV được viết bằng C / C ++ và tích hợp
OpenCL.

Thư viện OpenCV Dlib:

Dlib là một công cụ C++ hiện đại với các thuật tốn học
máy và cơng cụ để phát triển phần mềm phức tạp trong C+
+ , đặc biệt hữu ích trong nhiều lĩnh vực như robot, thiết bị
nhúng, điện thoại di động và mơi trường máy tính hiệu suất

7

cao. Bản quyền mã nguồn mở giúp người dùng sử dụng miễn
phí.

Dlib là một phần của thư viện OpenCV, chủ yếu được sử
dụng cho việc xác định khuôn mặt bằng thuật toán HOG
( Histogram of Oriented Gradients) và SVM( Support Vector
Machine), với khả năng chạy nhanh và ứng dụng trong thời
gian thực. Dlib cũng hỗ trợ các hàm xác định khuôn mặt dựa
trên mạng CNN( Convolutional Neural Network).


Thư viện Face-recognition:

Thư viện face-recognition là một thư viện dùng để nhận
diện khuôn mặt bằng ngơn ngữ lập trình Python. Face-
recognition sử dụng thư viện dlib, một thư viện xử lí hình ảnh
và học máy, để phát hiện và xác định các đặc trưng của
khuôn mặt, so sánh và nhận dạng các khuôn mặt khác nhau,
huấn luyện các mơ hình nhận dạng riêng.

Với nhiều ưu điểm như độ chính xác cao và tốc độ nhanh,
dễ cài đặt và sử dụng, không giới hạn số lượng khuôn mặt cần
nhận diện, hỗ trợ nhiều loại hình ảnh và video, có nhiều ví dụ
và tài liệu hướng dẫn. Do đó được sử dụng nhiều cho các ứng
dụng như chấm công nhân viên, khóa màn hình bằng khn
mặt, tạo bộ lọc và hiệu ứng cho khn mặt, phân tích cảm
xúc và biểu cảm khn mặt, ước lượng được tuổi và giới tính.

8

Hình 1.1 Ví dụ sau khi sử dụng thư viện face-recognition

Face Recognition Documentation - Adam Geitgey

1.4 Bài tốn nhận đạng khn mặt
Những vấn đề sau đây cần được giải quyết trước khi đưa ra
một thuật toán cho hệ thống điểm danh.
- Tìm khn mặt – khơng nhận diện được khn mặt bất kể

đầu vào là video từ máy quay hay một video từ đoạn
phim truyền hình hoặc bất kỳ video nào

- Vị trí của khuôn mặt – Trong các trường hợp thử nghiệm
thực tế, nh chủ yếu thấy rằng khuôn mặt thường bị xoay
hoặc không đúng vị trí tức là về phía máy ảnh. Mục tiêu
chính của thời điểm này sẽ biến bức ảnh thành như vậy
chụp trực tiếp đối diện với máy ảnh.
- Xác định các nét đặc trưng trên khn mặt – bước này có
thể được coi là bước chính trong nhận dạng khn mặt
nơi có những nét độc đáo trên khuôn mặt được thu thập
và lưu trữ dưới dạng có giá trị kỹ thuật số.
- Nhận dạng người – dữ liệu nhận được từ video đầu vào
được so sánh muộn hơn với dữ liệu có sẵn, nếu cả hai dữ
liệu đều giống nhau, chúng tôi sẽ điểm danh.

9
1.4.1 Tìm khn mặt

Bước đầu tiên để phát triển một loại hệ thống điểm danh như vậy bước
chính sẽ là xác định một khn mặt từ khung hình nhất định của video. Nếu
bất kỳ khuôn mặt nào vẫn không bị phát hiện hoặc bất kỳ vật thể nào khác
được coi như hệ thống nhóm đang phát triển vẫn không tốt và kết quả sẽ được
tạo ra sẽ là khơng đạt u cầu. Vì vậy, để khắc phục vấn đề này người ta sử
dụng một trong các thuật toán phổ biến nhất để tìm khn mặt trong ảnh được
phát minh vào năm 2005 bởi Navneet Dalal và Bill Triggs,
Thuật tốn hoạt động trên các bước sau đây:
- Để tìm khn mặt trong một hình ảnh, chúng ta sẽ bắt đầu bằng cách tạo

hình ảnh của mình đen trắng vì chúng ta khơng cần dữ liệu màu để tìm
khn mặt:

Hình 1.2 Ảnh của Will Ferrel


Face Recognition Documentation - Adam Geitgey

+ Mục tiêu của chúng ta sẽ xem xét từng pixel và xem xét pixel xung
quanh của chúng và vẽ mũi tên về phía pixel tối hơn. Các q trình
tương tự được tiếp tục cho tất cả các pixel. Cuối cùng, chúng ta đi đến
tình huống trong đó tất cả các pixel đều được thay thế bằng mũi tên.
Những mũi tên này được gọi là gradient và chúng hiển thị luồng ánh
sáng trong khung.


×