1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Hệ thống thông tin: Hệ thống điểm danh bằng nhận dạng khuôn mặt

108 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Hệ thống Nhận Dạng Khuôn Mặt Dùng Cho Điểm Danh Lớp Học
Tác giả Tran Anh Tuan, Huynh Huu Y
Người hướng dẫn THS. Ho Tran Nhat Thuy
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật Hệ thống Thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 108
Dung lượng 60,2 MB

Nội dung

Mục tiêu nghiên cứu của dé tài bao gồm việc cài đặt thuật toán phát hiện và nhận dạng khuôn mặt đề thực hiện xây dựng ứng dụng điểm danh cho lớp học dành cho giảng viên và hệ thống quản

Trang 1

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THÓNG THÔNG TIN

TRAN ANH TUẦN - 17521224

HUỲNH HỮU Ý - 17521284

Building attendance system using face recognition

ki SU NGANH HE THONG THONG TIN

THANH PHO HO CHi MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THÓNG THÔNG TIN

TRAN ANH TUẦN - 17521224

HUỲNH HỮU Ý - 17521284

KHÓA LUẬN TÓT NGHIỆP

XÂY DỰNG HỆ THÓNG NHẬN DẠNG KHUÔN

MAT DUNG CHO DIEM DANH LỚP HỌC

Building attendance system using face recognition

KĨ SU NGANH HE THONG THONG TIN

GIANG VIEN HUONG DAN

THS HO TRAN NHAT THUY

THANH PHO HO CHi MINH, 2021

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

Hội đồng châm khóa luận tốt nghiệp, thành lập theo Quyết định số

.-T8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

LỜI CẢM ƠN

Khóa luận tốt nghiệp là kết quả của việc nghiên cứu và học tập của nhóm tác giả trong suốt thời gian được làm sinh viên của Trường Đại Học Công Nghệ Thông Tin Để

hoàn thành khóa luận này, bênh cạnh sự nỗ lực học hỏi của bản thân còn có sự hướng

dẫn tận tình của thầy cô hướng dẫn và bạn bè xung quanh.

Đầu tiên, nhóm tác giả xin gửi lời cảm ơn chân thành đến tập thể quý Thầy Cô

Trường Đại học Công nghệ thông tin — Dai học Quốc gia TP Hồ Chi Minh và quý Thay

Cô khoa Hệ thống thông tin đã tạo môi trường và điều kiện thuận lợi, giúp cho nhóm tác

giả có những kiến thức cơ bản làm nền tang dé thực hiện dé tài.

Đặc biệt, nhóm tác giả xin gửi lời cảm ơn và biết ơn sâu sắc đến giảng viên hướng dẫn — ThS Hồ Trần Nhật Thủy, người đã tận tình chỉ bào và hướng dẫn nhóm tác giả trong suốt thời gian nghiên cứu khóa luận.

Bên cạnh đó, nhóm tác giả xin được cảm ơn gia đình, người thân và bạn bẻ đã

động viên, khích lệ và hỗ trợ nhóm về mặt tinh thần trong suốt thời gian thực hiện khóa luận tốt nghiệp.

Trong thời gian một học kỳ thực hiện đề tài, nhóm tác giả đã vận dụng những kiến thức nền tảng đã tích lũy được, đồng thời kết hợp với việc học hỏi và nghiên cứu những

kiến thức mới nhằm hoàn thành một báo cáo đồ án tốt nhất Tuy nhiên, trong quá trình thực hiện, nhóm tác giả không tránh khỏi những thiếu sót Chính vì vậy, nhóm tác giả

rất mong nhận được những sự góp ý từ phía các Thầy Cô nhằm hoàn thiện những kiến

thức mà nhóm tác giả đã học tập và là hành trang để nhóm tác giả thực hiện tiếp các đề

tài khác trong tương lai.

Xin chân thành cảm ơn quý Thầy Cô !

Nhóm tác giả

Trang 5

TÓM TAT KHÓA LUẬN

Chương 1 TONG QUAN DE TÀI +

LL Dat an 3

1.2 Khảo sát hiện trạng ¿+ 5+ xxx vn HH ri"

1.2.2 Các hệ thống điểm danh bằng nhận diện khuôn mặt cho lớp học hiện nay 4 1.2.3 Đánh giá hệ thống điểm danh bằng nhận diện khuôn mặt tại Việt Nam 9 1.3 Mục tiêu đề tài

1.4 Phạm vi đề tài

1.5 Công nghệ và công cụ sử dụng - ¿+ + SxtstéthttHg re 11

Chương 2 CƠ SỞ LÝ THUYÊTT -22+222E+2+22EEE12222211222711112272112227212 cty, 13

2.1 Tổng quan về nhận diện khuôn mặt ¿ ¿2+++222+++++22v+z++tzxx 13

2.2 Các phương pháp phát hiện khuôn mặt - -¿- 5< +5 ++5+£vx+£+xsxzezererve+ 14

2.2.1 Phương pháp phát hiện khuôn mặt bằng Haar-like Adaboost (Haar-based

Cascade CASSIÍT€T) c2 12191211512 1 1 11111111 TT TT TH nh HT TT TT Hàn nàn 14

2.2.2 CNN Face Detector của Dlib

2.2.3 MTCCNN (Multi-task Cascaded Convolutional Neural Networks)

2.2.4 So sánh các phương pháp nhận diện đã nghiên cứu: - 28

2.3 Mô hình nhận dạng khuôn mặt Facenet - ¿+ - 52 5+ 5++++++x+cvxsrzxze+ 31

2.3.1 Tổng quan thuật toán 22222222++22222122222222221111111.2211111 tre, 31

2.3.2 Mô hình Triplet Loss

2.3.3 Huan luyện mô hình.

2.4 SVM (Support Vector Machine)

Trang 6

2.5.2.2 Dependency Injection (DI).

2.5.3 Cac module.

2.6 Quan lý phiên bản với Liquibase - St vEkrrrerrrsrrkrkrkrrkrrre 42

2.6.1 Liquibase là gi? o ccceccccecccesscecscscsesesesecesscscsesesesesscecsssessseseesessseeseseseenaeee 42

2.6.2 Loi ich khi su dung Liquibase

2.6.3 Cách thức Liquibase hoạt động [10]

2.7 Tìm hiểu về Tkinter trong Python

4

2.7.1 Tổng quan về TKỈner -©22222222+22222EEY222+222223112122222211111 cccrrrrrer 45

2.7.2 Các Widget của Tkinter trong Python [ 13] - <5 s+<+c<+ceccsr+ 45

2.11.1 Giới thiỆu s- ST HH HH HH ri,

2.11.2 Một số tính năng của Heroku

Chương 3 PHAN TÍCH, THIẾT KE HE THONG

3.1 Phan tich yéu cau

ho sẽ ẽ.ẽ

3.1.2 Yêu cầu phi chức năng

3.2 Phân tích, thiết kế hệ thống

3.2.1 Sơ đồ chức năng (Use case Diagram).

3.2.1.1 Sơ đồ Use-case mô tả chức năng của người quản tr

3.2.1.2 Sơ đồ Use-case mô tả chức năng của giảng

viên -3.2.1.3 Sơ đồ Use-case mô tả chức năng của phụ huynh . - 60

Trang 7

mùi

3.2.1.6 Danh sách các chức năng của hệ thống - ¿z2 6l

3.2.2 Sơ đồ tuần tự (Sequence Diagram) .-:-2++2222+++t2cvvxrrrtrrrrrrrrrrs 62

62

63

3.2.1.4 Sơ đồ Use-case mô tả chức năng của học viên

3.2.1.5 Danh sách các tác nhân của hệ thống

3.2.2.1 Sơ đồ tuần tự đăng nhập.

3.2.2.2 Sơ đồ tuần tự đăng xuat

3.2.2.3 Sơ đồ tuần tự điểm danh cho lớp học

3.2.2.4 Các sơ đồ tuần tự của người quản trị . : cc+2cvzcreczxveceee 65

3.2.2.4.1 Sơ đồ tuần tự nhập danh sách lớp học từ file excel 65

3.2.2.4.2 Sơ đồ tuần tự nhập danh sách môn học từ file excel .66

3.2.2.4.3 Sơ đồ tuần tự nhập thời khóa biểu từ file excel 67 3.2.2.4.4 Sơ đồ tuần tự nhập thông tin người dùng và tài khoản từ file excel

68

3.2.2.4.5 So đồ tuần tự xem thống kê 68

3.2.2.5 Các sơ đồ tuần tự của giảng viên 69

3.2.2.5.1 Sơ đồ tuần tự tìm kiếm giảng viên -©2ccccscccvcccrrree 69

3.2.2.5.2 Sơ đồ tuần tự xem danh sách giảng viên :-cccccce2 69

3.2.2.5.3 Sơ đồ tuần tự xem chỉ tiết giảng viên 60

3.2.2.5.4 Sơ đồ tuần tự thêm mới giảng vién 70

1.70

3.2.2.5.5 Sơ đồ tuần tự cập nhật thông tin giảng viên

3.2.2.5.6 Sơ đồ tuần tự xóa giảng viên -22¿-22222zreErkvrrrrrrkrerrrres 71

3.2.2.6 Các sơ đồ tuần tự của phụ huynh -:2++z+2cvvzczvzxveceee 71

3.2.2.6.1 Sơ đồ tuần tự cập nhật thông tin phụ huynh - 7I 3.2.2.6.2 Sơ đồ tuần tự xem thông tin phụ huynh 71 3.2.2.7 Các sơ đồ tuần tự của học viên „72 3.2.2.7.1 Sơ đồ tuần tự xem danh sách học viên - ¿+ 72

3.2.2.7.2 Sơ đồ tuần tự xem thông tin học viên -.-:-cc:cc++ 72

3.2.2.7.3 Sơ đồ tuần tự cập nhật thông tin học viên -:-c2+ 72

73

73

3.2.2.7.4 Sơ đồ tuần tự xem lich sử điểm danh của học viên

3.2.2.7.5 Sơ đồ tuần tự xem thời khóa biểu học viên

Trang 8

3.2.2.7.6 Sơ đồ tuần tự xóa học viên 73 3.2.3 Sơ đồ lớp (Class Diagram) 74

Chương 4 CÀI ĐẶT VÀ TRIEN KHAI HỆ THÓNG - 2 ©cz++2c2vzcrrres 75

4.1 Cài đặt và triển khai hệ thong 2¿£©222++22EE+++222EEE+tSEEEErrrtrrrrrrrrrks 4.1.1 Các công cụ xây dựng hệ thống

4.1.2 Triển khai hệ thống

4.2 Triển khai đữ liệu ảnh học viên lên hệ thông

4.3 Quá trình huấn luyện mô hình và thực hiện điểm danh -: + 79

4.3.1 Các bước thu thập mẫu thực hiện quá trình huấn luyện: - 79

4.3.2 Quy trình thực hiện điểm danh:

4.4 Giao diện của hệ thông

4.4.1 Sơ dé tô chức giao diện

4.4.2 Một số giao diện chính - ‹- x1 HH rư 83 Chương 5 KET LUẬN VÀ HƯỚNG PHÁT TRIỄN -.-.-c ¿-22csscccczz 92 5.1 Kết quả đạt được : 22222c 2222222 2227112222211122211122211112121111 0.1112 E111 cee

5.2 Đánh giá ưu điểm, khuyết điểm

5.2.1 Ưu điểm _ 5.2.2 Khuyết điểm 22222 2v 222222111111 re 93

5.3 Hurdng phat trién dé 8n 93

DANH MỤC TAI LIEU THAM KHẢO -22:©222+2222222++tE2ES++eetzvverrrrrseee 94

Trang 9

DANH MỤC HÌNH ANH

Hình 1.1 Hình minh họa cho giải pháp cham công nhận diện khuôn mặt 5

Hình 1.2: Hình ảnh minh họa cho Hình 1.3 Hình ảnh minh họa nhóm sinh viên thực hiện để tài ìcccccciccrieerrreer 8 Hình 2.1: Quy trình nhận diện khuôn mat - - 5+ +5++x+£+xvxeEvrkexererrxeerke 13 Hình 2.2: Đặc trưng cạnh (edge feature) cece + +55 *k tk E112 11 re 15 Hình 2.3: Đặc trưng đường (line feature) oo eee ¿+ + St tre 15 Hình 2.4: Đặc trưng xung quanh tâm (center-surround feature$) -. - 15

Hình 2.5: Ví dụ tính đặc trưng, Haar-like - + + SEvEk+kexEkerrrkrkerrrrrkrkrkrke 16 Hình 2.6: Mô hình phân tầng kết hợp các bộ phân loại yếu đề xác định khuôn mặt l7 Hình 2.7: Phát hiện khuôn mặt sử dụng Haar Cascade với hướng chính diện 18

Hình 2.8: Phát hiện khuôn mặt sử dung Haar Cascade với hướng nghiêng nhỏ 19

Hình 2.9: Phát hiện khuôn mặt sử dụng Haar Cascade với hướng nghiêng lớn 19

Hình 2.10: Phát hiện khuôn mặt sử dụng Haar Cascade trong môi trường thiếu ánh Sáng #f CG: ,Ấ / 20

Hình 2.11: Phát hiện khuôn mặt sử dụng CNN với hướng chính diện 21

Hình 2.12: Phát hiện khuôn mặt sử dụng CNN với hướng nghiêng nhỏ 22

Hình 2.13: Phát hiện khuôn mặt sử dung CNN với hướng nghiêng lớn 23

Hình 2.14: Phát hiện khuôn mặt sử dụng CNN trong môi trường thiếu ánh sáng 23

Hình 2.15: Ví dụ xử ly mạng P-ÌNe(L -¿- - + St tt HH 00 rà 24 Hình 2.16: Ví dụ xử lý mạng P-ÌNet ¿5-5 tt 21210111111 25 Hình 2.17: Ví dụ xử lý mang R-ÌNet - - + Sàn TH ve 25 Hình 2.18: Ví dụ xử lý ảnh mạng O-ÌNet 5-5 S222 re 26 Hình 2.19: Phát hiện khuôn mặt sử dụng MTCCNN với hướng chính diện 26

Hình 2.20: Phát hiện khuôn mặt sử dụng MTCCNN với hướng nghiêng nhỏ 27

Hình 2.21: Phát hiện khuôn mặt sử dụng MTCCNN với hướng nghiêng lớn.

Hình 2.22: Phát hiện khuôn mặt sử dụng MTCCNN trong môi trường thiếu ánh sáng 28

Trang 10

Hình 2.23: Mô hình Triplet Loss 32

Hình 2.24: Dataset VGGFace2 34

Hình 2.25: Ví dụ các điểm thuộc 2 lớp cho trước 35 Hình 2.26: Anh minh hoa margin tỐC -: ++22++++22E+++tttEEvvrettrvvrrrrrrrree 36

Hình 2.27: Anh minh hoa margin không tốt . -¿©++222EE+z++2222+zzrzrzzsee 36

Hình 2.28: Giới thiệu Spring Framework -. 5+ + csc+cttrtettrkerrrerkerrrrrre 36

Hình 2.29 Mô tả luồng hoạt động trong Spring Framework -c-:+-c-c-++ 37

Hinh 2.30 Hinh minh hoa 10C 21 38

Hình 2.31 Ví dụ DI ¿525252222 2 2212212712212 1.1.1 39

Hình 2.32: Các module của Spring ÍTam€WOTẨ ¿-¿- 5c + Sky 40

Hình 2.33: Giới thiệu Liquibase - - - 52521 St tk k1 H121 1112121 11 ri 42

Hình 2.34 Liquibase tập chimh ¿+5 2 tt Sv*EEEESEEkEkEkrkrkkekekrkskrkrkrkrrrrkevre 44

Hình 2.35 Hình ảnh bảng databaseChangeloglock +-¿-s- +s+sez+xzx+xvzerzezxs 44

Hình 2.36 Hình anh bảng databasechangeloglOCKk - - - ¿+ +5+++<+x+£vrvzxexererrx 45

Hình 2.37: Giới thiệu PostgreSQLL - - - ¿+ 6S 2S SE2EEEE RE 1111 te 50

Hình 2.38: Hình minh họa cài đặt hệ thống giám sát Raspberry PI - 55

Hình 2.39: Camera ÏPH ¿+ 11th 111 TH HH HT HH 56

Hình 3.1: Sơ đồ Use-case mô tả chức năng của người quản trị : + 59

Hình 3.2: So đồ Use-case mô ta chức năng của giảng viên -2cc++ 59 Hình 3.3: Sơ đồ Use-case mô tả chức năng của phụ huynh -¿©c5sc+ 60

Hình 3.4: Sơ đồ Use-case mô tả chức năng của học viên cccccc+ccccccee 60 Hình 3.5: Sơ đồ tuần tự đăng nhập -2+¿22©+++t2222++t2EEEEvrttEEErrrtrrrrrrrrrrrvee 63

Hình 3.6: Sơ đồ tuần tự đăng xuất ::-2222222+crrrtEEEEEEErrrrrrrrrrkrrrrrrrrrrrrkes 63 Hình 3.7: Sơ đồ tuần tự điểm danh cho lớp học - ¿z2+zz+22+ze+ztzxse+ 64

Hình 3.8: So đồ tuần tự nhập danh sách lớp học từ file excel -: : 65

Hình 3.9: Sơ đồ tuần tự nhập danh sách môn học từ file excel -. - 66 Hình 3.10: Sơ đồ tuần tự nhập thời khóa biểu từ file excel -¿cc5sc+ 67

Trang 11

Hình 3.11: Sơ đồ tuần tự nhập thơng tin người dùng và tài khoản từ file excel 68

Hình 3.12: Sơ đồ tuần tự xem thống kê 68

Hình 3.13: Sơ đồ tuần tự tìm kiếm giảng viên 69 Hình 3.14: Sơ đồ tuần tự xem danh sách giảng viên - c:¿7c5ccccccsccz 69

Hình 3.15: Sơ đồ tuần tự xem chỉ tiết giảng viên 2¿-2222+zccevzvveerrrrrcee 69

Hình 3.16: Sơ đồ tuần tự thêm mới giảng viên 2-:¿¿-222v2vvvrettrrrvrvrrrrrre 70 Hình 3.17: Sơ đồ tuần tự cập nhật thơng tin giảng viên -ccccc-ccccccee 70 Hình 3.18: Sơ đồ tuần tự xĩa giảng viên 2222222222222EvrtEEEvrrrrrrrrrrrrrrrree 71

Hình 3.19: Sơ đồ tuần tự cập nhật thơng tin phụ huynh cc.ccccssescsssseessessseeesssseeseeeseee 71

Hình 3.20: So đồ tuần tự xem thơng tin phụ huynh -¿¿- c++22v+c++ccvseee 71 Hình 3.21: Sơ đồ tuần tự xem danh sách học viên - 2 ¿+2 ++tEE£+Exz+Esz+rse+ 72

Hình 3.22: Sơ đồ tuần tự xem thơng tin học viÊn -¿- ¿+ + +++x+£vxeEexexeeevseree 72

Hình 3.23: Sơ đồ tuần tự cập nhật thơng tin học viÊn -¿-++c+c+sererezxsesrvrere 72 Hình 3.24: Sơ đồ tuần tự xem lịch sử điểm danh của học viên ¿- 5c 5se¿ 73 Hình 3.25: Sơ dé tuần tự xem thời khĩa biểu học viên -ccce 73

Hình 3.26: Sơ đồ tuần tự xĩa học ViÊN - ĩc tt SH ng rey 73

Hình 3.27: Sơ đồ lớp tổng hợp

Hình 4.1: Minh họa triển khai hệ thống -2¿©+£22++++22S+++ttvvzrezrrseez 75

Hình 4.2 Hình anh giao diện chính Cloudinary ¿- - ¿5+ ++++++s+c+se+++xz++ T7

Hình 4.3: Hình anh Media Library của Cloudinary ¿-¿- + 5s 5xx s*£exexexrxeeree 77

Hình 4.4: Hình ảnh thao tác tải lên nhiều ảnh hoc Vien cscescssessssseesssesssseessseessseeeesee 78 Hình 4.5: Hình ảnh thơng tin chỉ tiết học viên -¿¿222+++22vvvveetrvvrrrrrrrvee 78

Hình 4.6: Hình ảnh thêm ảnh trạn ¿+5 52525 E2 £2£££+E+EeEexeErkzkerrrersreree 79

Hình 4.7: Hình ảnh thêm anh train thành cơng - ¿+55 S£x+xzzvrvrerexexex 79

Hình 4.8 Hình anh minh họa mỗi sinh viên cĩ hai gĩc nhìn khác nhau 80

Hình 4.9: Sơ đồ tổ chức giao diện ứng dung điểm danh cho giáo viên - §I Hình 4.10: Sơ đồ tổ chức giao diện ứng dung web quan lý của ađmin 81

Trang 12

Hình 4.11: Sơ đồ tô chức giao diện ứng dụng web quản lý của giảng viên

Hình 4.12: Sơ đồ tổ chức giao điện ứng dụng web quản lý của học viên

Hình 4.13: Màn hình đăng nhập của ứng dụng điểm danh -Ö„83 Hình 4.14: Màn hình chọn lớp học của ứng dụng điểm danh - -: -+ 84

Hình 4.15: Màn hình điểm danh -2¿+222E22222++t2222222SE+rrrttrrrvrrrrrrrrrrrrres 84

Hình 4.16: Hình ảnh minh họa gửi mail đến sinh viên -ccccccc++ez 85

Hình 4.17: Màn hình đăng nhập của web quản lý -. ¿©5c55+c<cxsccccsce+ 85

Hình 4.18: Màn hình danh sách khóa học - ¿2+ 5+2 £+tS+E£vE£vEeEetxexzereeeexseser 86

Hình 4.19: Màn hình thêm khóa hỌC - ¿+ 23 2233 E+tEvE+vE+Evrxerrrtrrxeerrrrrrrrsrrre 86

Hình 4.20: Màn hình cập nhật khóa học ¿+ 5S SSk+k‡xEEkEEEkekerrrrkrkrke 87

Hình 4.21: Man hình danh sách sinh viên trong một lớp -. - ¿+5 2 2 =++s++ 87

Hình 4.22: Màn hình thông tin chi tiết của một sinh viên - cc¿5cc5sc+ 88

Hình 4.23: Màn hình thời khóa biều 2:cccccccvtettrrrrrierrrrrrrrrrrriee 88 Hình 4.24: Màn hình thống kê tinh trang đi học của sinh viên trong một lớp 89 Hình 4.25: Màn hình xem trước file PDF thống kê .:¿-¿225+c++cc5ssc+ 89

Hình 4.26: Màn hình danh sách anh được đưa vào mô hình nhận diện của một sinh

viên 56, ĂƇ 7 CỒN TH TH nai 90

Hình 4.27: Lịch sử điểm danh của một sinh viên trong một lớp học -. 90 Hình 4.28: Xem ảnh đã chụp lúc điểm danh -2©222++++22vvv+vttvvvrrrrrrrvee 91

Trang 13

TOM TAT KHÓA LUẬN Hiện nay việc điểm danh truyền thống gây ra nhiều trở ngại, bên cạnh đó thì công nghệ nhận diện khuôn mặt hiện đang được phát triển rong rãi Xuất phát từ những vấn

dé này nên nhóm đã chọn thực hiện dé tài khóa luận “Xây dung hệ thống nhận dang

khuôn mặt dùng cho điểm danh lớp học”.

Mục tiêu nghiên cứu của dé tài bao gồm việc cài đặt thuật toán phát hiện và nhận

dạng khuôn mặt đề thực hiện xây dựng ứng dụng điểm danh cho lớp học dành cho giảng

viên và hệ thống quản lý cho toàn bộ người dùng tham gia vào hệ thống.

Bố cục khóa luận bao gồm 5 chương chính:

- Chương |: Tổng quan dé tài

- Chương 2: Cơ sở lý thuyết

- Chương 3: Phân tích, thiết kế hệ thong

- Chương 4: Cài đặt và triển khai hệ thông

- Chương 5: Kết luận và hướng phát triển Nội dung chỉ tiết từng chương như sau: Chương | tong quan về dé tài, chương

này sẽ cho biết nội dung đề tài nhóm đang thực hiện, thực trạng, phạm vi nghiên cứu và các công nghệ và công cụ nhóm đang sử dụng đề thực hiện đề tài Đi qua chương 2 là

nội dung cơ sở lý thuyết nhóm là nguồn tài liệu tham khảo đề thực hiện đề tài Các chức năng được nhóm lên ý tưởng và thé hiện bằng cách thực hiện vẽ các sơ đồ chức năng, sơ

đồ tuần tự, sơ đồ lớp được trình bày ở Chương 3 Từ Chương 2 và Chương 3 là nền tảng

dé nhóm thực hiện xây dựng hệ thống Sau khi xây dựng thành công nhóm bắt đầu triển khai hệ thống, đưa dé liệu hình ảnh của học viên lên hệ thống Về nội dung triển khai hệ

thống được trình bày ở Chương 4 Ở chương này sẽ có cái nhìn tổng quan về hệ thống:

các bước để triển khai hệ thống, sơ đồ hoạt động tổng quan của hệ thống, giao diện của

hệ thống Sau khi nhóm đã triển khai thành công hệ thống, nhóm đã nhìn nhận lại kết quả đạt được sau thời gian thực hiện đề tài, đánh giá những ưu điểm và khuyến điểm của

Trang 14

hệ thống đang gặp phải Từ đó đưa ra giải pháp khắc phục và hướng phát triển tiếp theo của đề tài Nội dung này được thể hiện ở Chương 5.

Vay là nhóm đã tóm tắt nội dung của khóa luận tốt nghiệp với đề tài “Xây dựng

hệ thống nhận diện khuôn mặt dùng cho điểm danh lớp học”, rất mong nhận được những

ý kiến nhận xét của các thầy cô để giúp nhóm hoàn thiện hơn với đề tài đang nghiên cứu.

Trang 15

Chương 1 TỎNG QUAN ĐÈ TÀI

1.1 Đặt vấn đề

Thế giới trải qua ba nền cách mạng công nghiệp và hiện nay đang bước vào kỉnguyên số với cuộc cách mạng công nghiệp lần thứ tư dẫn đến sự bùng né về công nghệđặc biệt ở các lĩnh vực robot, công nghệ big data, đã phần nào đưa nền kinh tế của các

quốc gia phát triển vượt bậc Trong đó công nghệ nhận diện khuôn mặt là một trong

những công nghệ đột phá được phát triển trong thập kỉ qua

Trong ngành giáo dục những năm gần đây, điểm danh từ phương pháp truyền

thống đã chuyền sang sử dụng sinh trắc học như máy quét vân tay hoặc méng mắt.

Tuy nhiên hau hết các công nghệ này đều có những hạn ché nhất định như việc dấu vân

tay bị ướt, dính ban hay gian lận điểm danh, Còn đối với phương pháp truyền thống

thì gây nhiều trở ngại như mất thời gian, xảy ra tình trạng điểm danh hộ

Bên cạnh đó, nhận diện khuôn mặt là cách nhận diện khuôn mặt của con người

thông qua công nghệ Hệ thống nhận dạng khuôn mặt sử dụng sinh trắc học để định vị

các đặc điểm khuôn mặt từ một bức ảnh hoặc video Sau đó so sánh thông tin với cơ sở

dữ liệu của các khuôn mặt đã ghi nhớ dé tìm một kết quả trùng khớp Công nghệ nhậndạng khuôn mặt có thể ứng dụng ở mọi lĩnh vực thương mại, từ giám sát an ninh đến lênchiến lược quảng cáo

Xuất phát từ những vấn đề trên, nhóm tác giả đã xây dựng hệ thống nhận dạngkhuôn mặt dùng cho điểm danh lớp học

1.2 Khảo sát hiện trạng

1.2.1 Nhu cầu sử dụng hệ thống điểm danh nhận diện khuôn mặt cho lớp

học hiện nayHiện nay tình trạng trốn học, bỏ tiết học, không thực hiện đầy đủ nội quy, tham

gia đầy đủ số tiết học trong các trường học của học sinh đang ngày càng tăng cao Vì

Trang 16

vậy, việc điểm danh là điều vô cùng cần thiết dé nhà trường và gia đình có thé quản ly

tình trạng con em mình đến trường Tuy nhiên, công tác điểm danh bang phương phápthủ công hiện nay còn khá nhiều bat cập Nếu điểm danh bang cách đọc tên thì tốn rấtnhiều thời gian và còn có khả năng không chính xác Nếu điểm danh băng cách quét vântay thì có thê lây bệnh truyền nhiễm Hay nếu điểm danh bằng quẹt thẻ thì có thể xảy ratình trạng người này quẹt thẻ giúp người khác Do đó, việc xây dựng một hệ thống điểmdanh nhận diện bằng khuôn mặt là điều rất cần thiết trong quá trình quản lý học sinh củacác giảng viên và các bậc phụ huynh.

1.2.2 Các hệ thống điểm danh bằng nhận diện khuôn mặt cho lớp học hiện nay

Đầu tiên, BiFace là thiết bị chấm công, điểm danh nhận diện khuôn mặt (FacialRecognition System) được nghiên cứu va phat trién 100% bởi người Việt BiFace giúpgiải quyết các công việc:

- Cham côn ø nhận diện khuôn mặt cho doanh nghiệp

- Điểm danh học sinh, thông báo tới phụ huynh

- Tích hợp đóng mở cửa.

- Tích hợp ứng dụng di động cho nhân viên

Trang 17

Hình 1.1 Hình minh hoa cho giải pháp cham công nhận diện khuôn mặtKhông thể không nhắc đến phần mềm quản lý điểm danh EasyEdu có thể điểmdanh học viên trên hai nền tảng: Nền tảng Web và nền tảng App di động.

Mỗi một nền tảng được thiết kế phù hop với từng đối tượng ý nghĩa sử dụng khácnhau mang lại sự tiện ích lớn nhất đến người dùng

Trang 18

Đối với giáo viên

Để dem lại sự tiện ích và nhanh gọn nhất cho giáo viên, tiết kiệm thời gian trên

lớp, vì vậy mỗi giờ học giáo viên có thể điểm danh học viên trên app điểm danh Toàn

bộ đữ liệu điểm danh sẽ tự động đồ về hệ thống tổng, chủ trung tâm có thể theo dõi và

quản lý học viên hàng ngày trên hệ thống, dữ liệu sẽ được cập nhật liên tục và đồng bộ.Hơn nữa, sự tiện ích của app điểm danh không dừng lại ở đó, ứng dụng điểm danh giúp

giáo viên dễ dàng thống kê theo dõi tình hình hoạt động của lớp học.

Đối với học viên

Ứng dụng điểm danh kiểm soát gid ra gid vao của học viên, học viên có thể tựthống kê được số ngày nghỉ và số ngày đi học muộn của mình, giúp học viên có ý thứchơn với việc học của mình.

Ngoài ra, sau mỗi buổi học, học viên có thể đánh giá giáo viên trên ứng dụng điểm

danh, dữ liệu này sẽ được đồ về dữ liệu của trung tâm, trung tâm có thể kiểm soát được

chất lượng giảng day của trung tâm dé đưa ra các định hướng phát triển hiệu quả hơn.

Trang 19

Đối với phụ huynh

Phụ huynh có thể theo dõi con từ xa, ứng dụng điểm danh có thông báo giờ ra vàvào lớp của các con vì vậy các bậc phụ huynh an tâm không sợ các con nghỉ học Bêncạnh đó, ứng dungdiém danh cũng có ghi lại nhận xét của giáo viên với các con theotừng buổi, phụ huynh có thé kiểm soát được sát sao tình hình học tập của các con

Đến với phần mềm điểm danh được phát triển bởi Aegona, phan mém duge tiếp

cận với công nghệ hiện đại nhắm theo dõi và báo cáo dữ liệu học sinh ra vào lớp học,

Hình 1.2: Hình ảnh minh họa cho

Thêm vào đó, lay ý tưởng tư việc điểm danh cho sinh viên của giảng viên, nhómsinh viên đại hộc FPT, chuyên ngành Kỹ thuật phần mềm đã đưa ra giải pháp hỗ trợthông qua đồ án Xây dựng thiết bị điểm danh bằng nhận diện khuôn mặt

Trang 20

Ưu điểm của hệ thống này là tiết kiệm thời gian tối đa cho việc điểm danh của giảng viên Đặc biệt, hệ thống còn cho phép thầy cô điểm danh cùng lúc số lượng sinh viên lớn mà không ảnh hưởng đến độ chính xác.

Theo đó, hệ thông này được nhóm sinh viên áp dụng Trí tuệ nhân tạo (AI) để nhận

diện khuôn mặt Các đặc điểm trên khuôn mặt mỗi người sẽ được hệ thống phân tích và lưu nhận dang bằng các điểm mô tả có định Sau đó, hệ thống được lập trình dé tách

điểm mặt và lưu lại đữ liệu bao gồm hồ sơ mỗi khuôn mặt Bằng cách này, khi camera

tiến hành chụp ảnh và gửi hình ảnh về hệ thống, công tác nhận diện sẽ được tiến hành trong chưa day 1 giây Ngay sau đó, hệ thống sẽ trả về thông tin của những sinh viên xuất hiện trong ảnh và tiến hành tự động điểm danh trên hệ thống điểm danh điện tử của

nha trường [18].

Trang 21

Như mô tả, công nghệ nhận diện này được kết hợp với hệ thống điểm danh điện

tử của nhà trường Nhờ thế, mỗi lần điểm danh, giảng viên chỉ cần thực hiện thao tác chụp ảnh tập thé lớp và gửi về hệ thống, công tác nhận diện và điểm danh cho những sinh viên xuất hiện trong ảnh sẽ được thao tác tự động [18].

Tiện lợi hơn, nếu lớp học có lắp sẵn camera giảng viên sẽ không cần thực hiện

thao tác chụp ảnh, mà hệ thống sẽ tự động ghi lại hình anh và điểm danh ngay lập tức cho các sinh viên có mặt trong lớp Đề kiểm soát được các trường hợp gian lận, hệ thống

cho phép nhà trường điểm danh ngẫu nhiên, điểm danh suốt cả budi học hoặc điểm danh trong một khoảng thời gian nhất định [18].

Công nghệ này vượt trội ở chỗ mọi công đoạn đều được tiến hành tự động, không

gây mất thời gian và công sức quản trị Thêm vào đó, hệ thống cho phép lưu giữ hình ảnh của các lớp học dé dễ dàng kiêm tra, đối chiếu khi có trường hợp nhằm lẫn xảy ra.

Trước khi trình bày nghiên cứu này tại Hội nghị Sinh viên Nghiên cứu Khoa học

FPT Edu 2018, nhóm sinh viên FPT Edu đã thử nghiệm tính năng nhận diện khuôn mặt

của hệ thống trên hơn 2.200 sinh viên Kết quả thu về có độ chính xác lên đến 99,35%

[18].

Được biết, trong thời gian tới, có thé trường ĐH FPT sẽ áp dụng giải pháp công

nghệ này vào hoạt động điềm danh dé tăng chất lượng quan lý sự chuyên cần của sinh viên Bên cạnh việc hỗ trợ điểm danh, hệ thống này còn có thể tích hợp với các hệ thống

khác dé hỗ trợ việc chấm công tại các doanh nghiệp, nhận diện tội phạm, bảo đảm an

ninh [18]

1.2.3 Đánh giá hệ thống điểm danh bằng nhận diện khuôn mặt tại Việt Nam

Nhìn chung các hệ thống điểm danh đã có nhiều ở Việt Nam và cũng được ứng dụng cho việc điểm danh học viên ở các trung tâm dạy học và trường học Từ đó nhóm sinh viên thực hiện xây dựng ứng dụng tuơng tự với mong muốn giảm chỉ phí lắp đặt,

dễ dàng hơn trong quá trình vận chuyền và nâng cao hiệu suất làm việc của chương trình.

Trang 22

1.3 Mục tiêu đề tài

Hệ thống nhận dạng khuôn mặt dùng cho điểm danh lớp học sử dụng trên nềntảng web với mục tiêu cung cấp cho các trung tâm day học, nhà trường có thé dé dangquản lý quá trình lên lớp của học viên Cụ thể là giảng viên và phụ huynh có thể thựchiện điểm danh, theo dõi, đánh giá quá trình lên lớp của học viên Đối với học viên có

thé theo đõi được quá trình lên lớp, nhận xét, đánh gia của giảng viên.Đặc biệt hệ thống điểm danh sử dụng nhân diện khuôn mặt nhằm giúp quá trình điểm danh diễn ra một

cách nhanh chóng và dễ dàng hơn.

1.4 Phạm vi đề tài

Hệ thống được xây dựng cho các phân quyền người dùng: Người quản trị, giảngviên, sinh viên, phụ huynh Người dùng tham gia vào hệ thống đều bắt buộc phải có tàikhoản để đăng nhập

Vi thời gian thực hiện có hạn nên hệ thông được nhóm tác giả tập trung phát triển

bao gồm:

Giao diện web:

- Quản lý tài khoản: Người quản trị được phép sử dụng

- Quản lý giảng viên: Người quản trị được phép sử dụng

- Quản lý lớp học: Người quản trị, giảng viên được phép sử dụng

- Quản lý sinh viên: Người quản trị, giảng viên được phép sử dụng

- Quản lý điểm danh : Người quản trị, giảng viên được phép sử dụng

- Quản lý thống kê: Người quản trị được phép sử dụng

- Ngoài ra học viên có thể xem được thời khóa biểu, lịch sử điểm danh và phụhuynh cũng có thê xem được những thông tin này của con

- Tất cả người dùng (Người quản trị, giảng viên, phụ huynh, học viên) đều thựchiện được thao tác cập nhật thông tin cá nhân, mật khẩu tài khoản

Thiết bị điểm danh:

10

Trang 23

Thiết bị điểm danh sử dụng Raspberry PI để nhận hình ảnh, xử lý ảnh và gửi kết

quả về server.

1.5 Công nghệ và công cụ sử dụng

Hệ thống nhận diện khuôn mặt dùng trong điểm danh lớp học có sử dụng thiết bịRaspberry PI được kết nối đến camera dé thu nhập hình ảnh và chuyên dit liệu vềserver xử lý.

Giao diện người dùng được xây dựng trên đa nền tang, có thé sử dụng trên cáctrình duyệt khác nhau, đồng thời trên các thiết bị di động

Trong quá trình thực hiện, nhóm tác giả đã sử dụng một số phần mềm phục vụcho việc tìm hiểu và xây dựng đề tài bao gồm:

Các công cụ:

- Visual Studio Code: Trình biên tập mã miễn phí nồi tiếng từ Microsoft, hỗ trợnhiều nền tảng khác nhau

- IntelliJ IDEA: Hỗ trợ nhiều nền tảng, đồng thời mở rộng có trình chỉnh sửa cơ

sở dữ liệu và thiết kế vẽ UML.

- Figma: Phần mềm phổ biến, giao dieejn thân thiện dé thiết kế giao diện ứng

dụng.

- Visual Paradigm: Phần mềm hỗ trợ vẽ các sơ đồ chức năng, sơ đồ tuần tự, sơ đồ

lớp mạnh mẽ Có thể tạo ra code SQL từ sơ đồ thực thê mối kết hợp.

Các công nghệ:

- ReactJS: Thư viện javascript hỗ trợ việc xây dựng giao diện người dùng trên nền

tảng web

- PostgreSql: Hệ quản tri cơ sở dữ liệu quan hệ

- Java Spring Boot: Framework Java hỗ trợ xây dựng server cho ứng dụng

- Tkinter: Thư viện Python hỗ trợ xây dựng giao diện ứng dụng.

Lý do sử dụng các công nghệ:

II

Trang 24

- ReactJS:

Ưu điểm: Đây là thư viện mã nguồn mở, được cộng đồng sử dụng rộng rãi, điềunày giúp xử lý những lỗi đã gặp trong quá trình xây dựng hệ thống một cách dễ dàng.Thư viện cho phép chia nhỏ những giao diện trong một trang web thành những khối

giao diện nhỏ độc lập dé dang quan lý trong quá trình phát trién

- PostgreSql: Tương thích với nhiều nền tảng khác nhau, tích hợp được vớinhiêu ngôn ngữ chính.

- Spring Boot: Đơn giản hóa cau hình và xây dung được các ứng dụng độc lập

có khả năng chạy trên nhiêu nên tảng khác nhau.

- Tkinter: Thư viện Python hé trợ xây dựng giao diện ứng dụng nhẹ nhàng.

Thuật toán nhận diện và phát hiện khuôn mặt đều sử dụng ngôn ngữ Python đề viết mà

lại được đặt trong giao diện ứng dụng Do vậy có độ tương thích cao.

12

Trang 25

Chương 2 CƠ SỞ LÝ THUYET

2.1 Tổng quan về nhận diện khuôn mặt

Nhận dạng khuôn mặt (Face Recognition) là một phương pháp sinh trắc để xácđịnh hoặc xác minh một cá nhân nào đó băng cách so sánh dữ liệu hình ảnh chụp trựctiếp hoặc hình ảnh kỹ thuật số với bản ghi được lưu trữ cho người đó

Một hệ thống nhận dang khuôn mặt có đầu vào là một hình anh kỹ thuật số haymột khung hình từ một video Đầu ra là xác định hoặc xác minh người ở trong bức hìnhhoặc trong video đó là ai Hệ thống nhận dạng khuôn mặt sử dụng trong khóa luận gồm

ba bước chính như sau: Phát hiện khuôn mặt, trích rút đặc trưng và nhận dạng khuôn mặt

Input

é Feature Face

Face detection =), >,

Extraction Recognition

Hình 2.1: Quy trình nhận điện khuôn mặt

- Đầu vào (Input): Là các hình ảnh, video được thu thập trực tiếp từ camera hoặcbất kì thiết bị nào với mục đích cần xác minh đối tượng trong những hình ảnh, video đó

13

Trang 26

- Nhận diện khuôn mặt (Face Recognition): Vector đặc trưng của khuôn mặt cần

nhận dạng được so sánh với các vector đặc trưng trong cơ sở dt liệu được lưu trữ sẵn

trong hệ thống nhăm xác định khuôn mặt thuộc đối tượng nào

2.2 Các phương pháp phát hiện khuôn mặt

Hon một thập kỷ qua, phát hiện khuôn mặt đã trở thành dé tài phổ biến trongngành thị giác máy tính và có rất nhiều ứng dụng trong việc phân tích hình ảnh Bài toánphát hiện khuôn mặt là kỹ thuật để xác định vị trí, kích thước các khuôn mặt có trongmột ảnh bất kỳ Khóa luận đã tìm hiểu và thử nghiệm một số phương pháp phát hiệnkhuôn mặt được sử dụng phô biến trong những năm gần đây

2.2.1 Phương pháp phát hiện khuôn mặt bằng Haar-like Adaboost

(Haar-based cascade classifier)

Haar-like cascase classifier được Violas và John đề xuất vào năm 2001 dùng dé

xác định đối tượng

Đặc trưng Haar-like

Khuôn mặt được đặc trưng bởi tập hợp các pixel trong vùng khuôn mặt mà các

pixel nay tạo lên những điểm khác biệt so với các vùng pixel khác Tuy nhiên với một

ảnh đầu vào, việc sử dụng các pixel riêng lẻ lại không hiệu quả Vì vậy những nhà nghiên

cứu đã đưa ra ý tưởng kết hợp các vùng pixel với nhau tạo đặc trưng có khả năng phânloại tốt các vùng của khuôn mặt Trong số đó đặc trưng Haar-like đã được đưa vào ứngdụng.

Đặc trưng Haar-like được tạo thành bằng việc kết hợp các hình chữ nhật đen,

trang với nhau theo một trật tự, một kích thước nao đó Có 4 đặc trưng co ban cua

Haar-like [1] :

Đặc trưng cạnh (edge feature):

14

Trang 27

tin ed

(a) (h) (c) (d)

Hình 2.2: Đặc trưng cạnh (edge feature)

Đặc trưng đường (line feature):

Hình 2.4: Đặc trưng xung quanh tâm (center-surround features)

Đề tính giá trị các đặc trưng Haar-like, ta tính sự chênh lệch giữa tổng của các

pixel của các vùng đen và các vùng trắng theo công thức sau:

F(x) = Tổng mức xám (các ô đen) — Tổng mức xám (các ô trăng)

Dé tính các giá trị của đặc trưng Haar-like, ta phải tính tổng của các vùng pixel

trên ảnh Nhưng dé tính toán các giá trị của đặc trưng Haar-like cho tất cả các vị trí trên

anh đòi hỏi chi phí tính toán khá lớn Do đó những nhà nghiên cứu đã đưa ra một khái

niệm gọi là Intergral Image đề tính toán nhanh cho các đặc trưng cơ bản Intergral Image

là một mảng 2 chiêu với kích thước băng với kích thước của ảnh cân tính các đặc trưng

15

Trang 28

Haar-like, với mỗi phan tử của mang nay được tinh bang cách tính tong của điểm ảnhphía trên và bên trái của nó Bắt đầu từ vị trí trên, bên trái đến vị trí phía dưới, bên phảicủa ảnh

A +B+C+~+D là gia trị tai điểm P4 (vì xét tại vị trí trên cùng ở phía trái cho đến

vị trí góc dưới cùng của điểm cần xét), A + B là giá trị tại điểm Pa, A + C là giá trị tại

điểm P và A là giá trị tại điểm P¡

Khi đó ta có thé tính lại biểu thức trên như sau:

D = G4, ya) — (Xa, Y2) — (X3, V3) + (XI, Y1)

Thuật toán AdaBoost

16

Trang 29

Viola và Jones dùng AdaBoost kết hợp cascade đề xác định khuôn mặt người với các đặc trưng dạng Haar wavelet-like Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn

80% trên ảnh xám.

AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên tiếp cận boostingđược Freund và Schapire dua ra vào năm 1995 Adaboost cũng hoạt động dựa trênnguyên tắc kết hợp tuyến tính các phân loại yếu (weak classifiers) dé hình thành một

phân loại mạnh (strong classifier).

AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặc trưng haar-like theo mô

hình phân tầng (cascade) như sau:

Hình 2.6: Mô hình phân tang kết hợp các bộ phân loại yếu dé xác định khuôn mặt

Là một cải tiến của tiếp cận boosting, AdaBoost sử dụng thêm khái niệm trọng số(weight) dé đánh dau các mẫu khó nhận dạng Trong quá trình huấn luyện, cứ mỗi phânloại yếu được xây dựng, thuật toán sẽ tiễn hành cập nhật lại trọng số để chuẩn bị cho

việc xây dựng phân loại yếu kế tiếp: tăng trọng số của các mẫu bị nhận dang sai và giảm

trọng số của các mẫu được nhận dạng đúng bởi các phân loại yếu vừa xây dựng Bang

17

Trang 30

cách này phân loại yếu sau có thé tập trung vào các mẫu mà các phân loại yếu trước nólàm chưa tốt Sau cùng, các phân loại yếu sẽ được kết hợp tùy theo mức độ tốt của chúng

dé tạo nên phân loại mạnh

Bộ phân loại Haar Cascade của OpenCV hoạt động trên phương pháp tiếp cận cửa

số trượt Trong phương pháp này, một cửa số (kích thước mặc định 20 x 20 pixel) đượctrượt trên hình ảnh (từng hàng) để tìm các đặc điểm trên khuôn mặt Sau mỗi lần lặp,hình ảnh được thu nhỏ (thay đổi kích thước) theo một yếu tố nhất định (được xác định

bởi tham số ' scaleFactor ' Kết quả đầu ra của mỗi lần lặp được lưu trữ và thao tác trượt

được lặp lại trên hình ảnh nhỏ hơn, đã thay đổi kích thước Có thé có kết quả đương tính

giả trong các lần lặp đầu tiên sẽ được thảo luận chỉ tiết hơn ở phần sau của bài viết này.Giá trị của scaleFactor cảng nhỏ thì độ chính xác cảng lớn và chi phí tính toán càng cao.

Thử nghiệm:

Hình 2.7: Phát hiện khuôn mặt sử dụng Haar Cascade với hướng chính diện

Độ chính xác: Phát hiện được khuôn mặt

Thời gian nhận diện: 0.3672 giây

18

Trang 31

Hình 2.8: Phat hiện khuôn mặt sử dung Haar Cascade với hướng nghiêng nhỏ

Độ chính xác: Không phát hiện được khuôn mặt

Thời gian nhận diện: 0.37 giây

|E img ¬ n x

Hình 2.9: Phát hiện khuôn mặt sử dụng Haar Cascade với hướng nghiêng lớn

19

Trang 32

Hình 2.10: Phát hiện khuôn mặt sử dụng Haar Cascade trong môi trường thiếu ánh

sáng

Độ chính xác: Không nhận diện được khuôn mặt

Thời gian nhận diện: 0.493 giây

2.2.2 CNN Face Detector của Dlib

Phương pháp này được giới thiệu lần dau tiên trong vào năm 2016 Sử dung công

cụ phát hiện đối tượng (MMOD - Max-Margin Object Detection) với các tính năng dựa

trên CNN (Convolutional Neural Network) Quá trình đào tạo cho phương pháp này đơn

giản và không cần một lượng lớn dữ liệu dé đào tạo một bộ phát hiện đối tượng tùy

chỉnh Nó sử dụng tập đữ liệu được gán nhãn thủ công bởi Davis King bao gồm các hìnhảnh từ các tập dữ liệu khác nhau như ImageNet, PASCAL VOC, VGG, WIDER, FaceScrub [2] Nó hoạt động rất nhanh trên GPU và có khả năng hoạt động với nhiều hướngkhuôn mặt khác nhau trong hình ảnh Nhưng nhược điểm lớn là nó được dao tạo trên

20

Trang 33

kích thước khuôn mặt tối thiểu là 80 * 80 nên nó không thé phát hiện các khuôn mặt nhỏtrong ảnh và hoạt động rất chậm trên CPU.

Trang 34

Hình 2.12: Phát hiện khuôn mặt sử dụng CNN với hướng nghiêng nhỏ

Độ chính xác: Phát hiện chính xác khuôn mặt

Thời gian nhận diện: 34.947 giây

22

Trang 35

Hình 2.13: Phát hiện khuôn mặt sử dụng CNN với hướng nghiêng lớn

Độ chính xác: Xác định chính xác khuôn mặt

Thời gian nhận diện: 34.688 giây

Lễ = O x

Hình 2.14: Phát hiện khuôn mặt sử dung CNN trong môi trường thiếu ánh sáng

Độ chính xác: Xác định được khuôn mặt Thời gian nhận diện: 38.14 giây

23

Trang 36

2.2.3 MTCCNN (Multi-task Cascaded Convolutional Neural Networks)

MTCCNN được đề xuất bởi tác giả Zhang, Kaipeng và các đồng nghiệp Bao gồm

3 mang CNN xếp chồng và đồng thời hoạt động khi phát hiện khuôn mặt Mỗi mạng cócấu trúc khác nhau và đảm nhiệm vai trò khác nhau Đầu ra của MTCCNN là vị trí khuônmặt và các điểm mốc chính (landmark) trên mặt bao gồm: hai mắt, mũi, và hai khóc

miệng

MTCCNN hoạt động theo 3 bước và mỗi bước có một mạng neural riêng biệt

gồm: P-Net, R-Net, O-Net Tại mỗi bước sẽ thực hiện quá trình xử lý riêng với kết quả

là có thể phát hiện khuôn mặt trong ảnh đầu vào nhanh và chính xác Với mỗi bức ảnh

đầu vào, nó sẽ tạo ra nhiều bản sao của hình ảnh đó với các kích thước khác nhau nhằm

tìm kiếm các khuôn mặt có các kích thước khác nhau trong hình anh[3]

Conv:3X3 Cọnv:3x3 Conv: 3x3 œ face

Thuật toán sử dụng một kernel 12x12 quét toàn bộ anh dé thu được các cửa số

chứa khuôn mặt và các vectơ hồi quy trong các cửa số đó Tiếp theo, các cửa sô chứakhuôn mặt được hiệu chuẩn dựa trên các vector hồi quy Cuối cùng, những cửa số xếp

chồng nhau tại một vùng được hợp nhất thành một cửa số nhờ vào thuật toán

Non-24

Trang 37

Maximum Suppression (NMS) Sau khi qua tang P-Net, ta sẽ thu được các cửa số có théchứa khuôn mặt[4]

NMS & oe

Hình 2.16: Vi dụ xử ly mang P-Net

Bước 2: R-Net (Refinement network).

Tất cả các cửa số chứa khuôn mặt từ tầng P-Net sẽ được sang loc bằng cách đưavào một CNN R-Net dé tiép tục loại bỏ một số lượng lớn các cửa số không chứa khuônmặt Sau đó thực hiện hiệu chuẩn hóa với vector hồi quy và thực hiện hợp nhất các cửa

Trang 38

Bước 3: O-Net (Output Network).

Tang này tương tự như tang R-Net, nó sử dung CNN chi tiết nhất - Mạng đầu ra(O-Net) để lọc kết quả một lần nữa và đánh dấu vị trí năm điểm chính trên khuôn mặt.Những cửa số chứa khuôn mặt sau khi đi qua tầng 3 là khuôn mặt được phát hiện

NMS & — Bounding box regression ~~

Hình 2.19: Phát hiện khuôn mặt sử dung MTCCNN với hướng chính diện

Độ chính xác: Phát hiện được khuôn mặt

Thời gian nhận diện: 1.196 giây

26

Trang 39

Hình 2.20: Phát hiện khuôn mặt sử dụng MTCCNN với hướng nghiêng nhỏ

Độ chính xác: Phát hiện được khuôn mặt

Thời gian nhận diện: 1.237 giây

ÍE image = Oo x

Hình 2.21: Phát hiện khuôn mặt sử dung MTCCNN với hướng nghiêng lớn

27

Trang 40

Độ chính xác: Không phát hiện được khuôn mặt

Thời gian nhận diện: 1.253 giây

Hình 2.22: Phát hiện khuôn mặt sử dụng MTCCNN trong môi trường thiếu ánh sáng

Độ chính xác: Không phát hiện được khuôn mặt

Thời gian nhận diện: 1.622 giây

2.2.4 So sánh các phương pháp nhận diện đã nghiên cứu:

Sau khi tiễn hành thử nghiệm các thuật toán trên với số lượng ảnh thử nghiệm cho mỗi

trường hợp là 10 ảnh, nhóm tác giả đã thu được kết quả:

Thuật toán Haar Cascade Face Detector:

- Trường hợp ảnh hướng chính diện với môi trường đủ ánh sáng:

Thời gian nhận diện trung bình: 0.474 giây

Số lượng ảnh nhận diện chính xác: 9/10 ảnh

- Trường hợp ảnh hướng nghiêng nhỏ với môi trường đủ ánh sáng:

Thời gian nhận diện trung bình: 0.541 giây

Số lượng ảnh nhận diện chính xác: 3/10 ảnh

- Trường hợp ảnh hướng nghiêng lớn với môi trường đủ ánh sáng:

Thời gian nhận diện trung bình: 0.478 giây

28

Ngày đăng: 08/11/2024, 17:00