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 3THÔ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 4LỜ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 5TÓ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 62.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 7mù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 83.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 9DANH 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 10Hì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 11Hì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 12Hì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 13TOM 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 14hệ 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 15Chươ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 16vậ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 17Hì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 21Như 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 221.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 23Thiế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 25Chươ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 27tin 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 28Haar-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 29Viola 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 30cá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 31Hì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 32Hì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 33kí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 34Hì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 35Hì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 362.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 37Maximum 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 38Bướ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 39Hì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