TÓM TẮT KHÓA LUẬNĐề tài khóa luận tốt nghiệp của nhóm chúng em tập trung vào việc xây dựngmột hệ thống điểm danh tự động trong các phòng học thông minh, sử dụng công nghệnhận diện khuôn
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HQC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
NGUYEN KIM NGỌC - 20521664 NGUYEN PHAM THANH NGÂN - 20521647
KHOA LUAN TOT NGHIEP
XAY DUNG HE THONG DIEM DANH UNG DUNG
TRONG PHONG HOC THONG MINH
IMPLEMENTATION OF ATTENDANCE SYSTEM IN SMART
CLASSROOMS
CỬ NHÂN KY THUAT MAY TÍNH
GIANG VIEN HUONG DAN
PHAN DINH DUY PHAM QUOC HUNG
TP HO CHÍ MINH, <2024>
Trang 2Đặc biệt, chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Phan Đình Duy
và thầy Phạm Quốc Hùng, người đã tận tình hướng dẫn, cung cấp tài liệu, vàtruyền đạt những kiến thức quý báu cũng như kinh nghiệm thực tiễn trong suốt
quá trình thực hiện khóa luận Những góp ý và sự kiên nhẫn của thầy đã giúpchúng em vượt qua nhiều khó khăn và hoàn thành khóa luận một cách tốt nhất
Hơn hết, những lời động viên và sự quan tâm của các thầy là nguồn động lực lớnlao dé chúng em có gắng hoàn thiện bản than mình
Ngoài ra, chúng em xin cảm ơn tat cả các anh chị và bạn bè đã hỗ trợ chúng
em trong quá trình thu thập đữ liệu và cung cấp những thông tin cần thiết cho
khóa luận của chúng em.
Cuối cùng, chúng em xin trân trọng cảm ơn và kính chúc tất cả sức khỏe,
hạnh phúc và thành công.
Trân trọng,
Nguyễn Kim Ngọc Nguyễn Phạm Thanh Ngân
Trang 3MỤC LỤC
Chương 1 MO ĐẦU - ¿2+ SE9SE‡EE£EEEEEEEEEE12E12112112112112111111 1.1.1.1 ve 3
1.1 Lí do chọn để tài sc+cc+xthErr HH dau 3
1.2 Muc dich nghién ctu 4
1.3 Đối tượng và phạm vi nghiên COU - 2s +£s£+z++zx+zzzzzxees 4
1.3.1 Đối tượng nghiên CỨU 2-52 £+S£+S++E++E£EE+EzErrrrerrerree 4
1.3.2 Pham vi nghiÊn CỨU - 5 c 3221332111113 EEkrrreree 5
Chương 2, TONG QUAN -2-©225E+2E2EE£EEE2E2E1E71211221711221 2122 crreeg 6
2.1 Phan tích và đánh giá các hướng nghiên cứu - - «++s«s+5ss>++ 6
2.1.1 Phuong pháp sử dụng thuật toán HOG 5 +<c+<c+ceẻ 6
2.1.2 Áp dụng deep learning và CNN trong nhận diện khuôn mặt 6
2.1.3 Sử dụng mô hình MTCNN và FaceNet ‹cS<< << 7 2.1.4 Nhận diện khuôn mặt 3Ì) - - - ¿+ +2 <***+++++*eeeeveeezeeexss 7
2.1.5 Kết hop công nghệ nhận diện khuôn mặt với thẻ từ hoặc mã QR 7
2.2 Lựa chọn giải pháp HO - Gà tt vn ng ng, 8
2.3 Các van dé cần giải QUYẾT ¿- + 5++St+EE2EEE2E2E2E121121121221 c1 cxee 8
2.3.1 Độ chính xác trong điều kiện môi trường đa dang 82.3.2 Hiệu suất xử lý của thuật toán HOG - 25c <csc++ssserss 9
2.3.3 Giao diện người dùng và trải nghiệm người dùng - 9
2.4 Phương pháp giải QUYẾT - :¿©52+c++EE2EEEEEEEEEEEEECEEEEEerkrrrrrrree 9
2.4.1 Data argume€nfafION - - cv ng ry 9
2.4.2 Các phương pháp tối ưu hóa tốc độ xử lý -. 2-2 2 + 102.4.3 Tối ưu hóa mã nguÖn 2- 2 2£ sEE+EE+EE+EE+EE+EE2EEzEEzEzrerxee 10
Trang 42.4.4 Thiết kế giao diện ¿- ¿52 2+St+EE+E 2 2112112112112 10Chương 3 LÍ THUYÊT : 2¿ 2£ ©+2E++EE++EEE+EEESEE+SEEvzrxrrrxrrrree 11
3.1 Thuật toán HO Ăn HH TH TH HH HH HH ng 11
3.1.1 Tiền xử i coeececcecccccccccsccsccscsscsscsscssessessessessessessesscssessessesecseesseaseaseaes 12
3.1.2 Tinh eo na n ' 12
3.1.3 Tinh vector đặc trưng cho từng ceÌÌÏ - «<< x+sessseeesees 14
3.1.4 Chuan hóa khối (block) -c¿c++++vcvverervxvrerrrrerrrrrerree 18
3.1.5 Tính toán vector HOG ceeeeesccsseeseesecneesseeseesseesaeseeeseeseees 20
3.2 Phần cứng hệ thống -¿ ¿- 2 2+ E+EE+EE+EEEEEEEE2EE2E12E121121121 21.2 e, 21
3.2.1 Raspberry Pi 4 Model B cece eeseeeceeeseeeseeesceceseeeeeeseaeeeseeetaeeeaes 21
3.2.2 Raspberry Pi Camera ou eeesceesseesseceseeeeeeceseeeseeceaeeeeeceaeeeseeeeneeees 23
3.2.3 Module doc RFID R522 - 2-5 +22 + + + +2 £++.Eczzeeeezzeeecsz 24
3.2.4 Cảm biến hồng ngoại HW-488 2-52-5ccccrxerkrrrserreee 25
3.2.5 Man hình Raspberry 7 InCH - - - + +s «+ + v++eeeeeseeeresexs 26
3.3 Phần mềm và công nghỆ 2-2 2+++EE+EE++EE+EE£EE+EEerErrrxrrkrred 27
3.3.1 Thur viện OpenCV St 1H HT HH ng nh Hy 27 3.3.2 Thư viện DILTD c2 SE E*EESEESEESEEkEkkrkkrkkrrkrrkrrkrrke 28 3.3.3 Thư viện Face-reCOETI(IOH 6 6 xxx nrkp 28 3.3.4 Firebase Database - LH ng ng ng nh Hy 29 3.3.5 Authen(iCAfIOH - - cv HH ng ng ng 29 3.3.6 Firestore Database Go HH TH nh ng ni nr 30 3.3.7 Realtime Database sư 30 3.3.8 SMTP Gmaill - t1 nưệt 30 3.3.0 TÌKIn€T 2Q ng TH TH ng nh 31
Trang 53.3.10 Web AppliCatIOT - sG HT HnHnnHHnHg 32
Chương 4 PHAN TÍCH THIẾT KE HE THONG VÀ KET QUA THỰC
NGHIỆM -¿- ¿22 ©E 2E22EEEEE211221711211271711211711211 1111.2111111 T1 1c 34
4.1 Phân tích thiết kế hệ thống 2-2 ++2++E+++Ex++Exezrxrzrxrrrree 34
4.1.1 M6 hình tổng quan hệ thống - 2-2 22 22+ £+£zz£++£zzxeez 344.1.2 Phân tích hệ thống ¿- 2 + + EE+EEEEESEE2EE2E12E1211211211 22.1, 354.1.3 Xây dựng GUI bằng Tkinter - 2 2 s2 z+++£++£z£zzezreez 39
4.1.4 Database ae Ö 42 4.1.5 Web Application cee cescesseceseceseeceseceseeseeceeeeseeceaeeeseeseaeeeeeees 46
4.2 Kết quả thực nghi@m eeccccecccceccceccccessessesseeseesessessessesessessessessesssseeseeseeseees 50
4.2.1 Mô hình phần ctrng o ccccccscccsssesssesssesssecssecssecssecssscssessesssecesecasecsses 504.2.2 Phần mềm hệ thống của Raspberry Pi - 2-2 25252: 514.2.3 Website quản lý điểm danh 2 +++++cx++zx++zxzrxerrxee 624.2.4 Đánh giá độ chính xác của hệ thống 2- 2 52©5z+cx+=s2 654.2.5 Tốc độ mã hóÓa -2:©2+2+++2EE+EEESEEEEEESrkrrrkrrrrerrree 664.2.6 Tốc độ nhận diện hệ thống 2-2 +++++zx++zxzzxzzxez 674.2.7 Kịch bản sử dụng hệ thống 2-2-2 2 2+E++E+EzEzrerreee 67Chương 5 KET LUẬN VA HƯỚNG PHAT TRIÊỀN : :- 69
5.1 K@tuanecccccecccccccscsssessesssessessssssessessssssessessuessessesssessessesssessessesssessesseeeseess 695.2 Hướng phat trim e.c.ccecccccecccccsccsscssessessessessessessessessessessesseseseseseseaseaees 69TAI LIEU THAM KHAO ( ceccccccssesscsssscscsesecscsesucscsescavsueacsrsnearsesucatatsucaraneaeaees 71
Trang 6DANH MỤC HÌNH
Hình 3 1: Hình ảnh gốc và hình ảnh đặc trưng được HOG trích xuất 11Hình 3 2: Ảnh đã được chuẩn hóa kích thước -ccv++++ccveeerrx 12Hình 3 3: Ví dụ điểm ảnh -¿ 52++ccktrrtEEkirttttrrrttirerrrirrrirrrii 13
Hình 3 4: Kết quả đạt được sau DƯỚC 2 - SG tk gi, 14
Hình 3 5: Mô tả cách xếp chồng của các block - 2-2 s2 s+sz+szzzzse2 14
Hình 3 6: Chia hình ảnh thành các block có kích thước 16X16 16
Hình 3 7: Xây dựng biểu đồ cường độ gradient ở mỗi Cell - 16
Hình 3 8: Phân phối giá tri gradient vào histogram -+-5z 5+ 17 Hình 3 9: Phân phối giá tri gradient cho góc lớn hơn 160 độ - 18 Hình 3 10: Histogram của các gradient trong cell 8X8 - -«<-«+ 18
Hình 3 11: Ảnh hưởng của việc chuẩn hóa tới các vector gradient 19Hình 3 12: Giá tri pixel thực tẾ - + + 51+2E+EE£EESEESEEEEEEEEEEEEEErrrrkrrerree 19
Hình 3 13: Tính toán vector đặc trưng HOG - 5+5 + + + sex 21
Hình 3 14: Raspberry Pi 4 Model B, - s5 + Sư 22
Hình 3 15: Raspberry Pi CaIH€fa - «6 + E1 1 1 1 1 nh nh tr 23
Hình 3 16: Module RFID R22 - - ¿52 2£ +2 £+E+EEEEsrrsrrsrrrrrrrerek 24
Hình 3 17: Cảm biến hồng ngoại HW-488 -2- 2-52 2+S2+E£+E£2EzzEzEzzxez 25
Hình 3 18: Màn hình Raspberry 7-inch «+ + xxx nrư 26
Hình 3 19: Cấu trúc các phần của OpenCV [10] - -¿ ¿©-sz5cs5ss+¿ 27
Hình 3 20: Dlib C++ Library overview [ Í Í], - - s5 ssvseseesseeesee 28
Hình 3 21: Giới thiệu Firebase Database - 2555533 +++sscc+ssxs 29
Hình 3 22: Tkinter trong PythONn - c3 1199311 v.v vn ng re, 31 Hình 3 23: Angular ODerafIOT - c1 1 ng HH ngư, 32 Hình 4 1: Mô hình tong quan hệ thống -cc c2 >>> 35 Hình 4 2: Quá trình nhận diện khuôn mặt - 5 55 255533 *++s++eesss+ 35
Hình 4 3: Lưu đồ giải thuật quá trình thu thập dữ liệu 2-5 ¿ 36
Hình 4 4: Ảnh chụp từ Picam - 2- 2-5 SE+EE£EEEEEEEEEEEEEEEE1E2121111 21.2 cxe 37
Trang 7Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
5: Ảnh sau khi tăng độ sáng - 2 ++S++E++EE+EeEeErrrrrerrrrreee 37
6: Ảnh sau khi quay ØĨC - 2 + ++£+E£+EE+EE2EEEEEEEEEEEEEEerrerrkervee 37
7: Các anh sẽ được mã hĩa thành file npy tương ứng 38
8: Tao file mã hĩa khuơn mặt và file thơng tin sinh viên 38
9: Lưu đồ giải thuật quá trình nhận diện khuơn mặt 38
10: Các thành phần chính của GIUI - 2-2 25s ++£++£zszxzxs 39 11: Sơ đồ tương tác của người dùng với GUI trang đăng ký 40
12: Sơ đồ tương tác giữa người dùng và GUI trang tra cứu 41
13: Sơ đồ tương tác giữa người dùng va GUI trang điểm danh 42
14: Các mục chính của cơ sở dir liệu được lưu trong Firebase 42
15: Cau trúc file JSON của Students -cccccccrkiierrriierrre 43 16: Cau trúc file JSON của Class ccccccccviisrrrirrrrrrrrrrre 44 17: Cấu trúc file JSON của Attendance ccc:+ccvvrrrrvrrrrrrree 45 18: Cau trúc file JSON của Admin -ccccccvcrrrrxerrrrrkerrrre 45 19: Activity diagram của W€bSI{€ - - scc se + sstvserrrrrrrrrerrrree 46 20: Login Sequence đÌ1aØTa1m ‹- -s+++ + x£**vEE+eeeEesekseeeeeeerseee 47 21: Use case (Ì1aØTATM s- - 5 111 ng nệc 49 22: Mơ hình phần cứng thực tẾ - 2 2 s2 +2 ££+£++E++E++Ezxezzezez 51 23: Mơ hình phần cứng thực tế đã đĩng gĩi 2-2-2 2 252 51 24: Giao diện chính của GUI hệ thống - 2-2 22 2 s+£z+£zzsz 52 25: Giao diện trang đăng kỹ - - cn tt rikt 33 26: Hién thị 6 thơng báo yêu cầu người dùng quét thẻ từ 53
27: Bat camera va tién hanh thu thập dữ liệu khuơn mặt 54
28: Thơng báo khi đăng ký thành cơng -. - 5+5 s+++<xs++s++x 54 29: Email thơng báo cho người dùng khi đăng ký thành cơng 55
30: Thơng tin sinh viên đã được thêm vào Firebase 55
31: Giao diện trang tra cứu hiển thị danh sách sinh viên - 56
32: Giao diện hiền thị thơng tin va lịch sử điểm danh của sinh viên 57
33: Nhắn nút “Delete student” dé tiến hành xĩa thơng tin sinh viên 57
Trang 8Thông tin sinh viên đã bi xóa khỏi cơ sở đữ liệu 58
Giao diện trang Điểm danh - 2-5252 x+2xz+£xcrxerrserxrrei 59
Email thông báo điểm danh thành công - 2-2 2 25+: 60
Dữ liệu điểm danh được cập nhật lên Firebase 60
Điểm danh bằng thẻ từ 2- 2-52 S<SE+EE2EE‡EeEEEErrrrrrrrreee 61Nhấn dup vào phan “Note” dé xem khuôn mặt của người quẹt thẻ6IHién thị hình ảnh của người quet thé 2-2 22 2252 +2 62
Trang login của W€DSIfC 0 ng ng iệt 63 Trang hiển thị danh sách lớp 2-2 2 2 s+++s++z+zzzz+se2 63 Danh sách sinh viên một lớp và chức năng điều chỉnh điểm danh 64
Trang hiển thị danh sách điểm danh chi tiết -5:5 64Trang hiển thị chi tiết thông tin sinh viên -5- 552 65
File excel khi export lớp MA004 ngày 16/07/2024 65
Hình ảnh dé thử nghiệm - 2 2£ £+EE££E£+EE+Ex+Ez+rxsrxez 66
Kết quả tính độ chính xác dựa trên tập dataset thực tẾ 66
Tốc độ mã hóa 120 ảnh -: +++cc++++ecxvrsrrrvrrrrrrerree 67Kết quả tinh tốc độ nhận diện - 2-2 2£ 2+++E+2££+££z£z+£zzz 67
Trang 9DANH MỤC BANG
Bảng 3 1: Thông số kỹ thuật Raspberry Pi 4 2- 22 5+2cx+2zxczzxrzreee 22Bang 3 2: Thông số kỹ thuật module camera Raspberry Pi CSI - 23Bang 3 3: Thông số kỹ thuật Module RFID RC522 2-2 2 22522522 24Bang 3 4: Thông số kỹ thuật Cảm biến hồng ngoại HW-488 - 26Bảng 3 5: Thông số kỹ thuật màn hình Raspberry 7-inch . - 26
Trang 10DANH MUC TU VIET TAT
Radio Frequency Identification
Graphical User Interface Quick Response
Convolutional Neural Network
User Experience
Trang 11TÓM TẮT KHÓA LUẬN
Đề tài khóa luận tốt nghiệp của nhóm chúng em tập trung vào việc xây dựngmột hệ thống điểm danh tự động trong các phòng học thông minh, sử dụng công nghệnhận diện khuôn mặt kết hợp với thiết bị quẹt thẻ RFID Mục tiêu chính của đề tài làmang lại phương pháp điểm danh hiện đại, nhanh chóng cho giảng viên và sinh viên,đồng thời giảm thiểu sự phụ thuộc vào các phương pháp điểm danh truyền thống như
đọc tên từng người.
Đề tài này bao gồm việc phát triển một hệ thống phần cứng và phần mềm hoànchỉnh Phần cứng bao gồm các thiết bị nhận diện khuôn mặt và các thẻ RFID, trongkhi phần mềm tập trung vào việc tối ưu hóa thuật toán nhận diện khuôn mặt, xây dựng
cơ sở dé liệu trên nền tảng Firebase, phát triển giao diện người dùng (GUI) đơn giản
và thiết kế website dé quản ly dit liệu điểm danh
Hệ thống nhận diện khuôn mặt sẽ được tích hợp với các thiết bị quẹt thẻ RFID
dé xác thực danh tính sinh viên Khi sinh viên vào lớp, hệ thống sẽ tự động nhận diệnkhuôn mặt và quet thẻ dé ghi nhận thông tin điểm danh Thông báo điểm danh sẽđược gửi qua email đến sinh viên, giúp họ dé dàng theo dõi tình hình điểm danh Tat
cả dữ liệu điểm danh sẽ được quản lý tập trung trên nền tảng website, cho phép truycập và quản lý dé dàng từ bat kỳ đâu
Đối tượng chính sử dụng kết quả của đề tài này là giảng viên và sinh viên trongcác lớp học Giảng viên có thé dé dang quản lý danh sách sinh viên điểm danh, trong
khi sinh viên có thé kiểm tra lại lịch sử điểm danh của mình Hệ thống hứa hẹn sẽ cải
thiện hiệu quả công tác quản lý điểm danh, tiết kiệm thời gian và tăng tính minh bạch
Phương pháp thực hiện bao gồm việc nghiên cứu và ứng dụng thuật toán nhậndiện khuôn mặt tiên tiễn để đảm bảo độ chính xác cao, đồng thời xây dựng một cơ sở
dữ liệu trên nền tảng Firebase dé lưu trữ thông tin điểm danh một cách hiệu quả Giaodiện người dùng được thiết kế đơn giản và thân thiện, đảm bảo dễ sử dụng cho cảgiảng viên và sinh viên Website quản lý sẽ cung cấp các tính năng hữu ích như thống
kê điểm danh, xuất báo cáo và gửi thông báo tự động
Trang 12Kết quả mong đợi từ đề tài này là một hệ thống điểm danh tự động hoàn chỉnh,hoạt động ồn định và hiệu quả Hệ thống sẽ giúp giảm bớt gánh nặng công việc chogiảng viên, đồng thời nâng cao trải nghiệm học tập cho sinh viên Qua đó, đề tàikhông chi đáp ứng nhu cầu thực tiễn mà còn góp phan thúc day việc ứng dụng công
nghệ hiện đại trong giáo dục.
Trang 13Chương 1 MỞ ĐẦU
Lí do chọn đề tàiHiện nay, hệ thống điểm danh đang được áp dụng rộng rãi trong nhiều lĩnh vựcnhư giáo dục, doanh nghiệp, cơ quan Tuy nhiên, phương pháp truyền thống sửdụng phương tiện vật lý như bang cham công sẽ gặp phải các van đề như dễ bị giả
mạo, mat thời gian và công sức cũng như độ chính xác không cao Hiện nay đã có một sô sản phâm và công nghệ liên quan được nghiên cứu hoặc có săn trên thị trường:
- Hệ thống điểm danh bang vân tay: Day là một trong những phương pháp kha
phổ biến hiện nay Tuy nhiên, nó vẫn ton tại các hạn chế về độ chính xác do
sự khác biệt trong chất lượng vân tay của mỗi người, cũng như vấn đề vệ sinhkhi nhiều người cùng chạm vào một thiết bị.
Hệ thống điểm danh sử dụng thẻ từ hoặc mã QR: Mặc dù tiện lợi hơn và nhanhchóng trong việc điểm danh, nhưng những hệ thống này vẫn dễ bị giả mạo vàyêu cầu người dùng phải mang theo thẻ hoặc mã QR Ngoài ra, việc quên thẻhoặc mã QR cũng là một vấn đề thường gặp
Hệ thống điểm danh sử dụng camera và phần mềm nhận diện khuôn mặt: Đây
là giải pháp tiên tiền nhất hiện nay, mang lại độ chính xác cao và tự động hóaquá trình điểm danh Công nghệ này đang trở nên phô biến hơn nhờ kha năng
tự động nhận diện và ghi nhận thông tin mà không cần sự can thiệp của người
dùng.
Việc phát triển một hệ thong diém danh str dụng công nghệ nhận diện khuôn mặttrên Raspberry Pi 4 và PiCam sẽ mang lai nhiều lợi ích Cụ thể:
Độ chính xác: Công nghệ nhận diện khuôn mặt đang ngày càng được phat
triển, giúp cải thiện độ chính xác của hệ thống điểm danh
Tính tiện lợi và tự động: Người dùng không cần nhớ mật khâu, chỉ cần khuôn mặt của mình là đủ dé điểm danh.
Quản lý hiệu quả: Dễ dàng quản lý thông tin điểm danh cũng như tra cứu lịch
sử diém danh của người dùng.
Trang 141.2 Mục đích nghiên cứu
Đề tài này nhằm xây dựng và triển khai một hệ thống điểm danh tự động trongcác phòng học thông minh, kết hợp sử dụng công nghệ nhận diện khuôn mặt và quétthẻ RFID Mục đích cụ thé của dé tài là:
- - Xây dựng hệ thống điểm danh tự động: Tạo ra một phương pháp điểm danh
hiện đại và tự động cho các lớp học, giảm thiểu sự phụ thuộc vào các phương
pháp truyền thống như ghi chép thủ công hay sử dụng thiết bị vật lý.
“ Phát triển website quan lý dữ liệu điểm danh: Xây dựng một website đơn giản
và hiệu quả dé quan ly dit liệu điểm danh Website này sẽ cung cấp khả năngthống kê và phân tích dữ liệu một cách dé dang cho sinh viên và giảng viên.Điều này giúp cả hai có thể theo dõi và đánh giá quá trình điểm danh một cách
hiệu quả.
- Phát triển phần mềm của Raspberry Pi 4: Giao diện người dùng (GUI) don
giản và trực quan, giúp người dùng (bao gồm cả giảng viên và sinh viên)tương tác với hệ thống một cách dễ dàng và thuận tiện hơn Giao diện này sẽđược thiết kế sao cho người dùng có thể sử dụng và quản lý hệ thống điểm
danh một cách hiệu quả.
1.3 _ Đối tượng và phạm vi nghiên cứu
1.3.1 Đối tượng nghiên cứu
Đề tài nghiên cứu tập trung vào các đối tượng nghiên cứu quan trọng như kitRaspberry Pi 4, Picam, RFID RC522, cảm biến hồng ngoại và các thiết bị kỹ thuậtkhác Các thành phần này đóng vai trò then chốt trong việc triển khai và hoạt độngcủa hệ thống Kiến thức về lập trình, kỹ năng nghiên cứu cũng là những yếu tố quantrọng, đóng góp vào việc phát triển và cải tiến hệ thống, đảm bảo hiệu quả và độ tin
cậy của nghiên cứu.
Đối tượng chính của đề tài là dữ liệu hình ảnh và thông tin cá nhân của sinh viên,
bao gồm hình ảnh khuôn mặt, họ tên và mã số sinh viên Sinh viên sẽ tham gia trực
tiếp vào quá trình hoạt động và đánh giá hiệu quả của hệ thống Đây là nhóm đối
Trang 15tượng quan trọng, vì hệ thống sẽ sử dụng dữ liệu này đề nhận diện khuôn mặt và thựchiện điểm danh tự động.
1.3.2 Phạm vi nghiên cứu
Dựa trên mục đích và đôi tượng nghiên cứu, chúng em đã xác định phạm vi nghiên cứu nhăm định rõ các mục đích cụ thê cũng như những khía cạnh và yêu tô quan trọng mà nghiên cứu sẽ tập trung vào:
Phạm vi đối tượng: Đề tài sẽ nghiên cứu và áp dụng trong môi trường Trường
Đại học Công nghệ Thông tin (UIT) tại TP.HCM Đối tượng chính bao gồm
sinh viên cua UIT, giảng viên.
Phạm vi chức năng: Hệ thống sẽ phát triển dé tự động nhận diện khuôn mặtsinh viên thông qua thiết bị camera Mục tiêu là cải thiện trải nghiệm điểmdanh, đảm bảo tốc độ xử lý nhanh và tính đễ sử dụng cho sinh viên và giảng
viên.
Pham vi dữ liệu: Đề tài sẽ sử dụng bộ dữ liệu hình ảnh khuôn mặt thực của
sinh viên UIT dé huấn luyện và kiểm thử hệ thống Bộ dữ liệu sẽ bao gồm đa
dạng các đặc điểm khuôn mặt, từ các góc độ hiền thị, điều kiện ánh sáng và
môi trường khác nhau.
Phạm vi kỹ thuật: Hệ thong sẽ áp dung các kỹ thuật và thuật toán nhận diệnkhuôn mặt phù hợp với điều kiện thực tế của UIT Cụ thể, hệ thống sẽ sử dụngthuật toán HOG (Histogram of Oriented Gradients) để phát triển chức năng
nhận diện khuôn mặt.
Phạm vi bảo mật và quyền riêng tư: Hệ thống cam kết đảm bảo tính bảo
mật và quyền riêng tư của sinh viên, chỉ sử dụng thông tin cá nhân cho mục
đích điểm danh và tuân thủ nghiêm ngặt các quy định về bảo mật
Phạm vi đánh giá và kiểm tra: Đánh giá hệ thống sẽ dựa trên các tiêu chí
như độ chính xác của việc nhận diện, tốc độ xử lý và khả năng hoạt động ồn định trong môi trường thực tế.
Trang 16Chương 2 TONG QUAN
2.1 Phân tích và đánh giá các hướng nghiên cứu
Trong lĩnh vực hệ thống điểm danh tự động sử dụng công nghệ nhận diện khuônmặt và các phương pháp liên quan, đã có nhiều nghiên cứu quan trọng đã được thựchiện trên toàn thế giới, đặc biệt là trong vài năm gần đây khi các công nghệ như DeepLearning va Convolutional Neural Networks (CNN) [1] đã mang lại những tiến bộđáng kể Điều này đã mở ra nhiều hướng nghiên cứu mới nhằm cải thiện tính chínhxác và tính ứng dụng của các hệ thống này trong thực tế
2.1.1 Phương pháp sử dụng thuật toán HOG
“Histograms of Oriented Gradients for Human Detection” được giới thiệu bởi
Navneet Dalal va Bill Triggs [2] nhằm phát hiện các đặc trưng hướng gradient trongảnh đề nhận diện vật thê, bao gồm cả khuôn mặt Phương pháp này dựa trên việc tính
toán và sắp xếp các biến đổi gradient trong các 6 ảnh dé tạo ra biéu đồ phân bố các
hướng gradient Mặc di HOG đã được áp dụng thành công trong nhiều bài toán nhậndiện vật thé, nhưng nó gặp hạn chế trong việc nhận diện khuôn mặt trong các điều
kiện môi trường khác nhau, đặc biệt là ánh sáng yêu và các góc nhìn khác nhau.
2.1.2 Áp dụng deep learning và CNN trong nhận diện khuôn mặt
Deep learning va CNN đã mang lại những tiễn bộ vượt bậc trong lĩnh vực nhận
diện khuôn mặt Zhang và các cộng sự và nhiều nghiên cứu khác đã sử dụng CNN déhọc và trích xuất các đặc trưng phức tạp từ dữ liệu khuôn mặt CNN có khả năng tựđộng học và điều chỉnh các trọng số để cải thiện độ chính xác và độ nhạy của hệthống Một số ví dụ điển hình là nghiên cứu của Z Zhang và các cộng sự,
“Differentiable learning-to-group channels via groupable convolutional neural networks,” [3] được trình bay tại hội nghị ICCV 2019, nghiên cứu của T Taigman
và các cộng sự, "DeepFace: Closing the Gap to Human-Level Performance 1n Face
Verification," [4] đã phát triển các phương pháp hoc phân biệt dé nhóm các kênhthông qua mang CNN có thé nhóm được Nghiên cứu này không chỉ cải thiện độ
chính xác mà còn tôi ưu hóa hiệu suât tính toán.
Trang 172.1.3 Sử dụng mô hình MTCNN và FaceNet
Multi-task Cascaded Convolutional Networks (MTCNN) và FaceNet là các mô
hình tiên tiến trong nhận diện khuôn mặt MTCNN được sử dung cho việc phát hiệnkhuôn mặt và căn chỉnh, trong khi FaceNet được sử dụng dé trích xuất đặc trưng
khuôn mặt và thực hiện các nhiệm vụ nhận diện và xác thực Nghiên cứu cua Schroff
và các cộng sự [5] đã giới thiệu FaceNet, sử dụng một mang neural sâu để ánh xạ
hình ảnh khuôn mặt vào một không gian đặc trưng có thé so sánh trực tiếp bằng khoảng cách Euclidean.
2.1.4 Nhận diện khuôn mặt 3D
Nhận diện khuôn mặt 3D là một hướng nghiên cứu mới nhằm cải thiện độ chínhxác bang cách sử dụng thông tin độ sâu của khuôn mặt Zhao và cộng sự [6] đã nghiêncứu việc sử dụng cảm biến 3D để thu thập thông tin về cấu trúc khuôn mặt, giúp cảithiện độ chính xác trong điều kiện ánh sáng yếu và các góc nhìn khác nhau Tuynhiên, chi phí và yêu cầu phan cứng của hệ thống này cao hơn so với các phương
pháp 2D truyền thống.
2.1.5 Kết hợp công nghệ nhận diện khuôn mặt với thẻ từ hoặc mã QR
Một số nghiên cứu đã kết hợp công nghệ nhận diện khuôn mặt với thẻ từ và mã
QR để cải thiện tính bảo mật và tiện lợi của hệ thống điểm danh Tran và các cộng sự[7] đã phát triển một hệ thống điểm danh kết hợp công nghệ nhận diện khuôn mặt vớithẻ RFID Hệ thống này cho phép xác thực danh tính người dùng một cách chính xác
và nhanh chóng, đồng thời giảm thiểu nguy cơ giả mạo thông tin
Một nghiên cứu khác của Chen và các cộng sự [8] đã đề xuất việc sử dụng mã
QR kết hợp với nhận diện khuôn mặt để xác thực người dùng Hệ thống này sử dụng
mã QR để lưu trữ thông tin định danh và khuôn mặt của người dùng được xác thực
thông qua một mô hình CNN Kết quả cho thấy sự kết hợp này không chỉ tăng cườngtính bảo mật mà còn nâng cao trải nghiệm người dùng nhờ tốc độ và độ chính xác
cao.
Trang 182.2 Lựa chọn giải pháp HOG
Mặc dù có nhiều giải pháp hiện đại và phức tạp hơn như CNN, FaceNet, và
nhận diện khuôn mặt 3D, chúng em quyết định chọn phương pháp HOG vì các lý do
sau:
= Chi phí thấp: Phuong pháp HOG không yêu cầu phan cứng mạnh như các mô
hình deep learning hiện đại Điều này giúp giảm chi phí đầu tu ban đầu, phùhợp với dự án có ngân sách hạn chế như của chúng em
“ Đơn giản và dễ triển khai: HOG là một thuật toán đơn giản, dé hiểu va dễ
triển khai
“ Hiệu quả trong nhiều trường hợp: Mặc du có hạn chế trong điều kiện ánh sáng
yếu và góc nhìn khác nhau, HOG vẫn rất hiệu quả trong các điều kiện ánhsáng và góc nhìn tiêu chuẩn
“ Thời gian xử lý nhanh: Do không yêu cầu tính toán phức tạp như các mô hình
deep learning, HOG có thé xử lý hình ảnh nhanh hơn, phù hợp với các ứngdụng yêu cầu thời gian thực
“ Kinh nghiệm và tài liệu hỗ trợ: HOG đã được nghiên cứu và ứng dụng rộng
rãi trong nhiều năm, vì vậy có rất nhiều tài liệu và công cụ hỗ trợ, Ø1Úp VIỆCtriển khai và khắc phục sự cố trở nên dễ dàng hơn
Những ly do này làm cho HOG trở thành lựa chọn phù hợp và thực tế cho dự án
của chúng em, đảm bảo hiệu quả và khả thi trong các điêu kiện cụ thê.
2.3 Cac vân dé cân giải quyét
2.3.1 Độ chính xác trong điều kiện môi trường đa dạng
HOG phụ thuộc nhiều vào các đặc trưng gradient của hình ảnh, do đó, khi ánhsáng yêu hoặc thay đổi, các đặc trưng này có thé bị mờ nhạt hoặc biến đổi, dẫn đếnviệc nhận diện không chính xác Hệ thống nhận diện khuôn mặt sử dụng HOG gặpkhó khăn trong việc xử lý các hình ảnh có độ tương phản thấp hoặc bị che khuất bởibóng tối
Nhận diện khuôn mặt từ các góc nhìn khác nhau là một thách thức lớn đối với
các hệ thống sử dung HOG Góc nhìn thay đổi có thé làm biến đôi các đặc trưng hình
Trang 19ảnh, làm giảm độ chính xác của hệ thống Sự thay đổi góc nhìn khuôn mặt có thé gây
ra sự khác biệt lớn trong các đặc trưng HOG, dẫn đến việc nhận diện sai
2.3.2 Hiệu suất xử lý của thuật toán HOG
Mặc dù HOG là một thuật toán hiệu quả về mặt tính toán, nó vẫn có thé gặp vấn
đề về tốc độ khi xử lý một lượng lớn dữ liệu hình ảnh trong thời gian thực Thuật toánnày yêu cầu tính toán các gradient tại mỗi điểm ảnh và tạo ra một vector đặc trưng từ
các khối hình ảnh, điều này có thê tốn thời gian khi xử lý các video hoặc hình ảnh có
độ phân giải cao Nghiên cứu của Dalal và Triggs, những người phát triển HOG, đãchỉ ra rang việc tối ưu hóa thuật toán này là cần thiết dé áp dụng vào các hệ thống yêucầu thời gian thực
2.3.3 Giao diện người dùng và trải nghiệm người dùng
Giao diện người dùng của các hệ thống hiện tại có thê chưa thân thiện và dễ sử
dụng, gây khó khăn cho giảng viên và sinh viên trong quá trình sử dụng Một giao
diện phức tạp có thé khiến giảng viên và sinh viên mat nhiều thời gian dé thực hiệncác thao tác điểm danh, ảnh hưởng đến quá trình giảng day
2.4 Phương pháp giải quyết
2.4.1 Data argumentation
Một phương pháp hiệu qua là xoay bức anh ở nhiều góc khác nhau Bang cáchnày, hệ thống có thé tạo ra một tập dữ liệu lớn hơn và đa dạng hơn, giúp cải thiện khảnăng nhận diện trong các điều kiện góc nhìn khác nhau Việc sử dụng các bức ảnhxoay ở nhiều góc có thé cải thiện đáng ké độ chính xác của hệ thống nhận diện khuôn
mặt sử dụng HOG.
Một phương pháp khác dé khắc phục van dé ánh sáng là tăng giảm độ sáng của
hình ảnh Việc này giúp tạo ra các phiên bản khác nhau của cùng một hình ảnh với
các mức độ sáng khác nhau, giúp hệ thống học được các đặc trưng khuôn mặt trongcác điều kiện ánh sáng khác nhau Việc điều chỉnh độ sáng của hình ảnh có thể giúp
hệ thống nhận diện khuôn mặt hoạt động hiệu quả hơn trong điều kiện ánh sáng yếu
và thay đôi
Trang 202.4.2 Các phương pháp tối ưu hóa tốc độ xử lý
Sử dụng các kỹ thuật tiền xử lý dé giảm thiêu kích thước và độ phức tạp của hìnhảnh đầu vào cũng giúp cải thiện tốc độ xử lý Vi dụ, việc thay đổi kích thước hìnhảnh hoặc chuyên đổi sang hệ màu xám trước khi áp dụng thuật toán HOG có thé giảmthiểu lượng tính toán cần thiết Nghiên cứu của Viola và Jones [9] vé các kỹ thuật tiền
xử lý cho nhận diện khuôn mặt đã cho thấy sự hiệu quả của phương pháp này.
Dé cải thiện tốc độ xử lý, một phương pháp hiệu quả là chụp ít ảnh gốc nhưngsau đó xoay trái, phải và tăng giảm độ sáng dé tạo ra nhiều bức ảnh từ các ảnh gốcnày Cách tiếp cận này giúp giảm tải cho hệ thống bằng cách giảm số lượng ảnh cầnchụp ban đầu, đồng thời vẫn đảm bao có đủ dit liệu đa dang cho quá trình huấn luyện
và nhận diện khuôn mặt.
2.4.3 Tối ưu hóa mã nguồn
Tối ưu hóa mã nguồn của thuật toán nhận diện khuôn mặt băng cách sử dụng các
thư viện và công cụ như OpenCV cho xử lý ảnh và thư viện face-recognition cho
nhận diện khuôn mặt Việc này giúp giảm thiêu thời gian xử lý và tăng hiệu suất của
hệ thống Các thư viện này cung cấp các hàm tôi ưu hóa hiệu suất cao, giúp giảm
thiểu chi phí tính toán và cải thiện tốc độ xử lý.
2.4.4 Thiết kế giao diện
Giao diện người dùng (GU]) va trải nghiệm người dùng (UX) đóng vai trò quan trọng trong sự thành công của hệ thống điểm danh tự động Đề cải thiện hiệu quả của
giao diện và trải nghiệm người dùng, chúng em đề xuất các giải pháp sử dụng Tkinter
cho ứng dụng máy tính và Angular Framework cho website Việc đảm bảo các sự
kiện giao diện (như nhấn nút, nhập liệu) được phản hồi nhanh chóng và không bị trìhoãn là yếu tô then chốt Sử dụng các luồng (threads) dé xử lý các tác vụ nặng ở nềngiúp tránh làm chậm giao diện chính Đối với website, áp dụng kỹ thuật Lazy Loadingcho các thành phần không quan trọng và hình ảnh nhằm giảm thời gian tải trang ban
đầu và cải thiện hiệu suất tổng thẻ.
10
Trang 21Chương 3 LÍ THUYET
3.1 Thuật toán HOG
HOG (Histogram of Oriented Gradients) là một phương pháp phổ biến được sửdụng trong xử lý hình ảnh và thị giác máy tính để trích xuất đặc trưng từ hình ảnh
Phương pháp này thường được áp dụng trong các ứng dụng như nhận diện đối tượng,
nhận dạng khuôn mặt, và theo dõi đối tượng.
Một bộ mô tả đặc trưng giúp đơn giản hóa hình ảnh bằng cách trích xuất các đặcđiểm chính của đối tượng và loại bỏ thông tin không cần thiết
Phương pháp HOG tận dụng thông tin về sự phân bố cường độ gradient hoặc
hướng biên để mô tả các đối tượng trong ảnh Bức ảnh được chia thành các cells, và
mỗi cell có một histogram về hướng gradient Ghép các histogram này tạo ra biểudiễn cho toàn bức ảnh Để nâng cao hiệu suất nhận dạng, chuẩn hóa được áp dụngbang cách tính ngưỡng cường độ trong các "khối" lớn hơn và sử dung ngưỡng đó déchuẩn hóa tat cả các cells trong khối Kết quả sau bước chuan hóa sẽ là một vectorđặc trưng có tinh bất biến cao hơn đối với các thay đổi về điều kiện ánh sáng
Input image Histogram of Oriented Gradients
Hình 3 1: Hình ảnh gốc và hình ảnh đặc trưng được HOG trích xuất
Có 5 bước cơ bản dé xây dựng một vector HOG cho hình ảnh, bao gồm:
I — Tiền xử lý
2 Tinh gradient
3 Tinh vector dac trung cho tung cells
11
Trang 224 Chuẩn hóa khối (blocks)
5 Tính toán vector HOG
3.1.1 Tiền xử lý
Bước này thường bao gồm việc chuẩn hóa kích thước và làm mịn hình ảnh dé
giảm nhiễu Kích thước ảnh lý tưởng là 64 x 128, vì điều này giúp tối ưu hóa quátrình chia ảnh thành các cell nhỏ 8x8 va 16x16 dé trích xuất đặc trưng Việc chọn
kích thước này không chỉ giúp đơn giản hóa các tính toán mà còn đảm bảo độ chính
xác và hiệu quả của quá trình phân tích hình anh Bang cách duy trì kích thước cốđịnh, chúng ta có thể đảm bảo tính nhất quán trong các bước xử lý tiếp theo, từ đó cảithiện hiệu suất tổng thể của hệ thống
tương ứng đó là:
Dx=[-10 1] và Dy =[1 0- 1]
(Eq[1])
12
Trang 23Trong đó: T là phép toán chuyền vị ma trận
-1 0 1 -1
Nếu có một ảnh input là I, ta sẽ có 2 ảnh dao hàm riêng theo 2 hướng đó, theo
công thức: Ik =I * Dx và ly =I * Dy (Eq[2])
Khi đó, có thé tinh được Gradient bao gồm hai thành phan cường độ (Gradient
Magnitude) và hướng (Gradient Direction) theo công thức:
Trang 24Đối với hình ảnh màu, gradient của ba kênh (Red, Green và Blue) được đánh giá.
Độ lớn của gradient tai một điểm ảnh là giá trị lớn nhất của cường độ gradient của bakênh, và góc là góc tương ứng với gradient tối da
Sau bước này, kết quả thu được sẽ là:
Left : Absolute value of x-gradient Center : Absolute value of y-gradient.
Right : Magnitude of gradient.
Hình 3 4: Kết quả đạt được sau bước 2 3.1.3 Tính vector đặc trưng cho từng cell
Dé tính toán vector đặc trưng cho từng cell, chúng ta cần chia hình ảnh thành cácblock, mỗi block lại chia đều thành các cell Dé xác định được số block, chúng ta sẽ
sử dụng công thức sau:
Nblock_ image = là a;Ĩÿj + 1) (cima “BẾC ơi + 1)
Weell A cell
Trong do: Wimage, Wblock, Weell: lần lượt là chiều rộng của anh, khối, cell
Himage, Hotock, Hee: lần lượt là chiều đài của ảnh, khối, cell
14
Trang 251 Chia không gian hướng thành p bin (số chiều vector đặc trưng của cell)
2 Rời rạc hóa góc hướng nghiêng tại mỗi điểm ảnh vào trong các bin
Giả sử góc hướng nghiêng tại pixel ở vi trí (x,y) có độ lớn là alpha (x,y)
° Trường hợp rời rạc hóa unsigned-HOG với p = 9:
pxa(x.y)
B(x,y) = round( 7 ) mod p
(Eal5])
° Trường hợp rời rac hóa signed-HOG với p=18:
B(x,y)= round( => mod p
(Eq[6])
Giá tri bin được định lượng bởi tổng cường độ biến thiên của các pixels thuộc vềbin đó Sau khi tính toán đặc trưng cell, ta sẽ nối các vector đặc trưng cell dé thu đượcvector đặc trưng khối Số chiều vector đặc trưng khối tinh theo công thức:
S1Z©block = N * S1Z€cell Trong do:
n là số cell trong khốisizece là số chiều của vector đặc trưng ô (sizecen = 9 nếu sử dụng
“unsigned-HOG và sizecei = 18 nêu sử dụng “signed-HOG”
(Eq/7])
Vi dụ: Trong trường hợp nay, hình anh của chúng ta có kích thước là 64x128, ta
sẽ chia mỗi hình ảnh thành các block có kích thước 16x16 Mỗi block sẽ bao gồm 4
cell, mỗi cell có kích thước là 8x8.
15
Trang 26Hình 3 6: Chia hình ảnh thành các block có kích thước 16x16
Tiếp theo, tiến hành tính toán đặc trưng HOG tại mỗi cell sử dụng không gian
hướng 9bin, trường hợp “unsigned-HOG” Hướng gradient sẽ chạy trong khoảng 0
độ đến 180 độ, trung bình 20 độ mỗi bin
Tại mỗi cell, xây dựng một biểu đồ cường độ gradient bằng cách vote các pixelvào biểu đồ Trọng số vote của mỗi pixel phụ thuộc hướng và cường độ gradient
(được tính toán từ bước 2) cua pixel đó Vi dụ:
Trang 27Một bin được chọn dựa trên hướng cua gradient, va giá tri (vote) được đưa vào
bin dựa trên độ lớn của gradient Hãy tập trung vào pixel được khoanh tròn màu xanh
dương Pixel này có góc là 80 độ va độ lớn là 2, vì vậy nó thêm 2 vào bin thứ 5 Trong
khi đó, pixel được khoanh tròn màu đỏ có góc 10 độ và độ lớn 4 Vì 10 độ nằm giữa
0 và 20 độ, giá trị 4 sẽ được chia đều cho hai bin tương ¬O
Hình 3 8: Phân phối giá tri gradient vào histogram
Có một chỉ tiết quan trọng khác cần lưu ý Nếu góc lớn hơn 160 độ, nó nằm trongkhoảng từ 160 đến 180 độ, và ta biết răng góc này tuần hoàn, khiến 0 và 180 độ trở
nên tương đương Vi vậy, trong vi dụ dưới đây, pixel có góc 165 độ sẽ vote giá tri
theo tỷ lệ vào cả bin tương ứng với góc 0 độ và bin tương ứng với góc 160 độ.
17
Trang 28Hình 3 9: Phân phối giá trị gradient cho góc lớn hơn 160 độ
Sau khi vote hết các pixel trong một cell kích thước 8x8 vào 9 bin, ta có thể thuđược kết quả như sau:
Hình 3 10: Histogram của các gradient trong cell & x8
3.1.4 Chuan hóa khối (block)
Đề tăng cường hiệu năng nhận dạng, các histogram cục bộ sẽ được chuẩn hóa về
độ tương phản bằng cách tính một ngưỡng cường độ trong một khối và sử dụng giátrị đó để chuẩn hóa tất cả các cell trong khối Kết quả sau bước chuẩn hóa sẽ là mộtvector đặc trưng có tính bất biến cao hơn đối với các thay đổi về điều kiện ánh sáng
Đầu tiên, hãy xem xét ảnh hưởng của việc chuan hóa tới các vector gradient trong
ví dụ sau:
18
Trang 29— 9
Orig + 50
Hình 3 11: Ảnh hưởng của việc chuẩn hóa tới các vector gradient
Trong hình ảnh trên, trường hợp đầu tiên là một cell của hình ảnh ban đầu Trườnghợp thứ hai, tất cả các giá trị pixel đã được tăng lên 50 Trong trường hợp thứ ba, tất
cả các giá trị pixel được nhân với 1.5 Dễ dang thay được, trường hợp thứ ba hién thị
độ tương phản gia tăng Ảnh hưởng của phép nhân là làm các điểm ảnh sáng trở nênsáng hơn nhiều, trong khi các điểm ảnh tối chỉ sáng hơn một chút, do đó làm tăng độtương phản giữa các phần sáng và tối của hình ảnh
Hãy nhìn vào các giá trị pixel thực tế và sự thay đổi của vector gradient của ba
trường hợp trên trong hình ảnh sau:
Trang 30Trong trường hợp một va hai, giá trị cường độ vector gradient của chúng tương đương nhau, nhưng trong trường hợp thứ ba, cường độ vector gradient đã tăng lên 1.5
lần Nếu chia ba vector bằng độ lớn tương ứng, ta sẽ nhận được các kết quả tươngđương cho cả ba trường hợp Vì vậy, trong ví dụ trên, chúng ta thấy răng bằng cáchchia các vector gradient theo độ lớn của chúng, chúng ta có thé biến chúng thành batbiến dé thay đổi độ tương phản
Có nhiều phương pháp có thé được dùng dé chuẩn hóa khối Gọi v là vectơ cần
chuẩn hóa chứa tat cả các histogram của một khối Iv(k)l là giá trị chuẩn hóa của v
theo các chuẩn k=1, 3 và e là một hăng số nhỏ Khi đó, các giá trị chuẩn hóa có thểtính băng một trong những công thức sau:
3.1.5 Tính toán vector HOG
Sau khi đã tính toán vector đặc trưng cho từng cells và thực hiện chuẩn hóa khối(blocks), chúng ta kết hợp các vector đặc trưng của từng khối để tạo ra vector đặc
trưng HOG cho toàn bức ảnh Dưới đây là mô tả cách tính toán vector đặc trưng
HOG:
20
Trang 31Hình 3 13: Tĩnh toán vector đặc trưng HOG
Ghép các vector đặc trưng khối:
= Cac vector đặc trưng của các khối được ghép lại để tạo thành một vector đặc
trưng HOG toàn bức ảnh.
- Chuẩn hóa vector đặc trưng HOG (nếu cần):
= Tùy thuộc vào yêu cầu của mô hình hoặc ứng dụng cụ thể, có thể thực hiện
thêm bước chuẩn hóa toàn bộ vector đặc trưng HOG để đảm bảo tính nhấtquán và 6n định của dữ liệu
Kết quả của bước này là một vector đặc trưng HOG chứa thông tin về sự phân bố
cua gradient và các đặc trưng cục bộ trong toàn bức anh Vector này thường được sử
dụng dé đào tao mô hình nhận dạng đối tượng hoặc thực hiện các công việc phân loại
trong thị giác máy tính.
3.2 Phần cứng hệ thống
3.2.1 Raspberry Pi 4 Model B
Raspberry Pi 4 Model B là một dòng vi xử lý nhúng (single-board computer) cua
Raspberry Pi Foundation Day là một trong những phiên ban Raspberry Pi mạnh mẽ
và linh hoạt, được thiết kế để đáp ứng nhu cầu của cộng đồng đối với các ứng dụng
đa dạng từ giáo dục đến các dự án IoT (Internet of Things) và máy tính cá nhân
21
Trang 32Gigabit Ethernet
2xUSB3.0
Processor | Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC
@ 1.5GHz RAM 4GB LPDDR4-2400 SDRAM
Wireless 2.4GHz and 5.0GHz IEEE 802.11b/g/n/ac wireless LAN, Bluetooth
5.0, BLE Ethernet True Gigabit Ethernet
USB 2x USB 3.0 ports, 2x USB 2.0 Ports
GPIO Fully backwards compatible 40-pin GPIO header
HDMI 2x Micro HDMI 4K
Camera 2x MIPI DSI/CSI
Audio 4-pole stereo audio and composite video port
Data Micro SD
Power 5.1V , 3A/ USB Type C or GPIO
22
Trang 333.2.2 Raspberry Pi camera
Module Camera Raspberry Pi CSI 5MP 1080P 15Cm được sử dụng cho
Raspberry Pi với giao tiếp qua socket SCI Module Camera có độ phân giải SMP
1080P cho chất lượng anh sắc nét, phù hop sử dung cho các du án Raspberry Pi như:
Smarthome, Smart Car, Video smart car,
Hinh 3 15: Raspberry Pi camera
Bang 3 2: Thông số kỹ thuật module camera Raspberry Pi CSI
Shot 1/4 5M
Khẩu độ 2.9
Chiéu dai tiéu cu 3.29
FOV 65 độ
Loại cảm biến OmniVision OV5647 Màu CMOS QSXGA (5MP)
Kích thước cảm biến 3.67 x 2.74 mm (1/4" format)
Số điểm anh 2592 x 1944
Kích thước điểm ảnh 14x 1.4UM
Ong kính f=3.6 mm, f/2.9
Góc quan sát 54x 41 độ
Truong quan sat 2.0 x 1.33m 62m
Full-frame SLR tuong duong | 35mm
ống kính
23
Trang 34Tiêu cự cô định Im đến vô cực
Video 1080p ở 30 fps (khung hình/giây) với codec H.264
(AVC) lên tới 90 fps Video at VGA
Module RC522 hoạt động ở tần số 13.56 MHz và đọc và ghi thé UID / RFID
Các thé RFID giao tiếp được với module ở khoảng cách ngắn với tần số vô tuyến nhờ
cảm ứng điện từ lẫn nhau.
RFID-RC522 pinout
see MERC822* chip datasheet
UART I2C SPI
¬ =
reset +3.3v LSJLSILSILSILSILS] cio
Trang 35Khoảng cách hoạt động 0~60mm (mifarel card)
Các loại card RFID hỗ trợ mifarel S50, mifarel S70, mifare
UltraLight, mifare Pro, mifare Desfire
3.2.4 Cảm biến hồng ngoại HW-488
Cảm Biến Vật Can Hồng Ngoại HW-488 có khả năng thích nghỉ với môi trường
ánh sáng mạnh giúp giảm nhiễu bởi ánh sáng Sản phẩm được thiết kế nhỏ gọn dễ
dàng tích hợp vào các board mạch, có một cặp truyền và nhận tia hồng ngoại
Tia hong ngoại phát ra một tần số nhất định, khi phát hiện hướng truyền có vật
can sẽ phản xạ vào đèn thu hông ngoại, sau khi so sánh đèn sẽ sáng lên, đông thời
cho tín hiệu sô ngõ ra Khoảng cách làm việc hiệu quả từ 2-30cm, điện áp làm việc
từ 3.3-5V Độ nhạy và khoảng cách phát hiện của cảm biến được điều chỉnh bằng 2chiết áp trên mạch
25
Trang 36Bảng 3 4: Thông số kỹ thuật Cảm biến hông ngoại HW-488
Kích thước 16.5 x 12.5cm
Độ phân giải 1024x600
Kích thước màn hình LCD 7-inch
Dién ap 5VDC tir céng micro usb
Công kết nôi HDMI
26
Trang 373.3 Phan mềm va công nghệ
3.3.1 Thư viện OpenCV
OpenCV (OpenSource Computer Vision Library) là một thư viện các chức năng
lập trình chủ yếu nhằm vào tầm nhìn máy tính thời gian thực OpenCV hỗ trợ nhiềungôn ngữ lập trình như C++, Python, Java, và có sẵn trên các nền tảng khác nhaubao gồm Windows, Linux, Mac OS, Android và iOS Các giao diện cho các hoạt động
GPU tốc độ cao dựa trên CUDA và OpenCL cũng đang được phát triển tích cực
Cấu trúc tổng quan của OpenCV bao gồm 5 phan chính 4 trong 5 phần đó được
về lưu trữ cũng như đọc các file ảnh và video Phần thứ 4, Cxcore chứa đựng các cầu
trúc dữ liệu cơ bản (ví dụ như cấu trúc XML, các cây dữ liệu ) Phần cuối cùng làCvAux, phần này bao gồm các thư viện cho việc phát hiện, theo dõi và nhận dạng đối
tượng (khuôn mặt, mắt a
OpenCV - Python là một thư viện các rang buộc Python được thiết kế dé giải
quyết các vân đê về thị giác máy tính.
27
Trang 383.3.2 Thư viện DLib
DLTb là một bộ công cụ mã nguồn mở mạnh mẽ viết bang C+, chứa các thuậttoán học máy đề giải quyết các vấn đề thực tế Trong số nhiều tính năng của nó, DLib
cung cấp các công cụ đề xây dựng hệ thống nhận diện khuôn mặt thời gian thực Điều
này bao gồm các bộ phát hiện điểm mốc khuôn mặt dé tìm các phần của khuôn mặt
và các công cụ nhận diện khuôn mặt như học sâu dé tạo ra các embedding của khuôn
‘Are you trying to make
# B10 o BILOU tagger? uence _labsting_tvainer
5 Markov Random Fields
Regression
Clustering
Hinh 3 20: Dlib C++ Library overview [11]
Các mô hình của DLib thường được sử dung dé xây dựng các ứng dụng Python
thông qua các ràng buộc Python của DLib Khả năng phân tích khuôn mặt thời gian
thực đã làm cho bộ công cụ này trở nên phổ biến trong các ứng dụng kiểm soát truy
cập, xác thực người dùng và giám sát video.
3.3.3 Thư viện Face-recognition
Face Recognition là một thư viện nhận diện khuôn mặt đơn giản cho Python,
được xây dựng trên nền tảng của DLib và OpenCV Mục đích của thư viện là cung
cấp một API dễ sử dụng cho các tác vụ nhận diện khuôn mặt Các tính năng chính
bao gồm phát hiện khuôn mặt, căn chỉnh và nhận diện dựa trên học sâu
Như tên gọi của nó, Face Recognition giúp dễ dàng tích hợp nhận diện khuôn
mặt thời gian thực vào các ứng dụng Python Thư viện này ân đi sự phức tạp của việc
28
Trang 39gọi DLib và OpenCV và cung cấp một API rõ ràng Giao diện đơn giản đã làm chothư viện trở nên phổ biến trong việc triển khai các hệ thống kiểm soát truy cập và các
dự án nhận diện khuôn mặt khác.
3.3.4 Firebase Database
Firebase là một nền tảng được sử dung dé phát triển ứng dụng di động va cácwebsite với những API đơn giản và được cấu hình vô cùng mạnh mẽ mà không cần
phải sử dụng backend hay hay hệ thống máy chủ
Firebase là 1 dich vụ hệ thống backend được Google cung cấp sẵn cho ứng dụng
Nó sẽ giúp người dùng phát triển, triển khai và mở rộng quy mô của ứng dụng diđộng nhanh hon rất nhiêu
Your server code Firebase
Your client code
Hình 3 21: Giới thiệu Firebase Database 3.3.5 Authentication
Hầu hết các ứng dụng hay một website đều cần biết danh tính của người dùng.Biết danh tính của người dùng cho phép ứng dụng lưu dữ liệu người dùng trên đámmây một cách an toàn và cung cấp trải nghiệm được cá nhân hóa giống nhau trên tat
cả các thiết bị của người dùng
Firebase Authentication hay còn gọi là xác thực firebase cung cấp dịch vụ phụtrợ cho developers, SDK dễ sử dụng và thư viện UI được tạo sẵn dé xác thực ngườidùng với ứng dụng của bạn Nó hỗ trợ xác thực bằng mật khâu, số điện thoại, nhà
cung cấp nhận dạng liên kết phổ biến như Google, Facebook và Twitter, v.v Xác
29
Trang 40thực Firebase tích hợp chặt chẽ với các dich vụ Firebase khác va nó thúc đây các tiêuchuẩn công nghiệp như OAuth 2.0 và OpenID Connect.
3.3.6 Firestore Database
Firestore, còn được gọi là Cloud Firestore, là giải pháp cơ sở dữ liệu NoSQL của
Google Firebase được thiết kế dé cung cấp cho các nhà phát triển nền tang linh hoạt
và có thể mở rộng dé xây dung các ứng dung web và di động hiện dai Firestore chophép đồng bộ hóa, lưu trữ và truy xuất dữ liệu theo thời gian thực đồng thời cung cấp
chức năng mạnh mẽ, bao gồm hỗ trợ ngoại tuyến, tô chức dữ liệu phân cấp và bộ khả
năng truy vân toàn diện.
3.3.7 Realtime Database
Firebase Realtime Database là một cơ sở dữ liệu NoSQL được lưu trữ đám may
cho phép lưu trữ và đồng bộ dữ liệu Dữ liệu được lưu trữ dưới dạng JSON và đượcđồng bộ hóa theo thời gian thực cho mọi máy kết nối
Khi xây dựng các ứng dụng đa nền tang với SDK iOS, Android và JavaScript, tat
cả các Client sẽ chia sẻ một phiên ban Realtime Database va tự động cập nhật với dữ
liệu mới nhất Do đó đối với các ứng dụng đi động yêu cầu trạng thái đồng bộ hóagiữa các máy trong thời gian thực thì đây là một giải pháp hiệu quả và có độ trễ thấp
3.3.8 SMTP Gmail
SMTP Gmail (hay còn có tên gọi là Simple Mail Transfer Protocol) [12] là dich
vụ cho phép người dùng gửi số lượng lớn Email với tốc độ nhanh thông qua máy chủSMTP của Google mà không bị giới hạn giống như các hòm thư miễn phí của Gmail
Các tính năng chính:
= Gửi Email: Sử dụng SMTP Gmail dé gửi email với các tùy chọn như theo dõi,
xác thực bảo mật TLS/SSL và kiểm tra sự tương tác của người dùng với email
= Bảo mật TLS/SSL:Gmail hỗ trợ kết nối an toàn qua TLS hoặc SSL để đảm
bảo thông tin gửi đi được mã hóa.
= Xác thực OAuth 2.0: Bảo vệ tài khoản của bạn bằng cách sử dụng xác thực
OAuth 2.0, giúp tăng cường bao mật khi sử dụng may chủ SMTP.
30