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

Khóa luận tốt nghiệp Kỹ thuật máy tính: Xây dựng hệ thống điểm danh ứng dụng trong phòng học thông minh

82 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

Định dạng
Số trang 82
Dung lượng 86,59 MB

Nội dung

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 3

MỤ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 4

2.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 5

3.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 6

DANH 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 7

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.

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 8

Thô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 9

DANH 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 10

DANH MUC TU VIET TAT

Radio Frequency Identification

Graphical User Interface Quick Response

Convolutional Neural Network

User Experience

Trang 11

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 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 12

Kế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 13

Chươ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 14

1.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 15

tượ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 16

Chươ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 17

2.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 18

2.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 20

2.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 21

Chươ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 22

4 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 23

Trong đó: 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 25

1 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 26

Hì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 27

Mộ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 28

Hì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 30

Trong 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 31

Hì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 32

Gigabit 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 33

3.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 34

Tiê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 35

Khoả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 36

Bả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 37

3.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 38

3.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 39

gọ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 40

thự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

Ngày đăng: 06/12/2024, 15:24