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: Hệ thống điểm danh kết hợp thẻ RFID và nhận diện khuôn mặt sử dụng CNN, Facenet, SVM

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

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống điểm danh kết hợp thẻ RFID và nhận diện khuôn mặt sử dụng CNN, Facenet, SVM
Tác giả Vế Sỹ Dũng
Người hướng dẫn PTS. Phan Đình Duy
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ thuật máy tính
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 69
Dung lượng 62,69 MB

Nội dung

Cu thé, hệ thống sé sửdụng thẻ RFID dé xác định danh tính ban đầu của người dùng, sau đó xác thực danhtính bằng nhận diện khuôn mặt.. Giới thiệu về đề tài khóa luận tốt nghiệp: - Hệ thố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 KỸ THUẬT MÁY TÍNH

VÕ SỸ DŨNG - 20521215

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

HE THONG DIEM DANH KET HỢP THẺ RFID VA

NHAN DIEN KHUON MAT SU DUNG CNN,

FACENET, SVM

Attendance system combines RFID card and face

recognition using CNN, Facenet, SVM

CU NHAN KY THUAT MAY TINH

GIANG VIEN HUONG DAN

PHAN DINH DUY

TP HO CHi MINH, 2024

Trang 2

LỜI CẢM ƠN

Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trường Đại học Công nghệThông tin - Đại học Quốc gia TP Hồ Chí Minh và Khoa Kỹ thuật Máy tính đã

tạo điều kiện tốt nhất cho em học tập Đây cũng là nơi tụ họp những người bạn

đồng trang lứa tuyệt vời dé em cùng học tập và phát trién

Em gửi lời cảm ơn đặc biệt đến thầy Phan Đình Duy, thầy hướng dẫn của em từ

Đồ an 1 đến khóa luận tốt nghiệp Thầy đã hướng dẫn và hỗ trợ em trong thờigian thực hiện đề tài này.

Em cũng xin cảm ơn chân thành đến các thầy, các cô trong Khoa Kỹ Thuật MáyTính đã truyền đạt cho em những kiến thức và kỹ năng cần thiết trong suốt quá

trình học tập tại trường.

Em cũng xin cảm ơn đến hội đồng chấm khóa luận đã góp ý tận tình, chỉ ranhững lỗ hồng của đề tài để em có thể khắc phục trước khi bắt đầu và hoànthành chặng đường cuối cùng

Trang 3

MỤC LỤC

Chương 1 TONG QUAN -2::ceeieeetreeEEtreEEtrrettrrertrtrtrrrrrrrrrrrrrrerre 2

1.1 Giới thiệu về dé tài khóa luận tốt nghiệp: - -ecceerreecerreccee 21.2 Mục tiêu của đề tài: -ccccccttieeeeevvEEEErEiirrtkkkkkrtrtrirrrrekkktrrrrrrrrreeerrrrrrrrree 3

1.3 Giải pháp Va gI1ới hạn: - «cty nhanh 3

Chương 2 CƠ SỞ LÝ THUYẾT -22:+eeS2222EEE22EE22.23E12 21222 ee 5

2.1 Kit Raspberry Pi 3 mode B+, module Camera Rev l.3: 5

2.2 Kit Raspberry Pi 5, module Camera V3, module RFID,LCD16x2 và mOdule I2: -ss + tồn HH Hư HH HH HH Hee 7

2.3 Công nghệ OpenCV và thuật toán xử lý ảnh, máy học, deep learning,

2.4 Tìm hiểu về firebase: eiccccerreeceerrieeerrrrrrrtrrrrrtrrrirrrrrrrrrrrrre 252.5 _ Tìm hiểu về Sendgrid: cceceeccerreeveerrreeetrieertrrrrrrrrrirrrrrrree 26

2.6 Tìm hiểu về công nghệ ReactJS, Vite, TailwindCSS, Ant Design dùng déthiết kế giao GiSMcecccssssssseessnneesssssnssenesnssnnenscasssssesssasonneeesaasonnennunssnnennnassoneeennaaseneenneaseneees 28

Chương 3 PHAN TÍCH VÀ THIẾT KẾ HỆ THỐNG -s 30

ốc ẽ.ẽỒ 303.2 Kết nối Raspberry Pi với camera nhận diện khuôn mặt: 31

3.3 Kết nối Raspberry Pi với firebase: -cs-ecetrecerrrrerrrrerrre 33

3.4 Kết nối giao diện người dùng với firebase: ccccccerrrceecerrrre 373.5 Kết nối Raspberry Pi với SendGrid: -: ecccerirrecvevrrrrererrrrrre 43

3.6 _ Danh sách thư viện sử dụng: -e-cexer+rerrrertrirtrrirrrrrrrirrree 47

Chương 4 KẾT QUA THỰC NGHIỆM 2.2.2.2 48

Trang 4

4.1 Một số thông số và tiêu chí đánh giá độ chính xác hệ thống nhận diện

khuôn mmặT: <5 x£cc£ts+tv+EEEteEtstterkEkrrrtkrrkrrkrrrrrrrkrrkrrrrrrkrrkrrkrrkrrrrrrkrrsrrrrrrrsrk 48

4.2 Banh giá độ chính xác của hệ thống dựa trên tập dataset người nồi tiếng 494.3 Đánh giá về độ chính xác khi sử dung data thực tế: - 51

44 Kết quả độ tin cậy mà hệ thống dựa trên nhận diện trực tiếp qua camera:53

AS TOC AG XU LY? số 534.6 Diém danh thông qua hệ thống RFID wcsessssssessesssssssesssssesssssssessssssesnsesessesssee 544.7 _ Giao diện hién thị và một số chức năng khác: -.‹-e-cce-cxeeccxsexes 55

Trang 5

DANH MỤC HÌNH

Hinh 08010 100037 4Hình 2.1: Hình ảnh tong thé kit Raspberry Pi 3 Mode B+ -cc :+- 5

Hìn.2.2: Camera Rev 3 ss-csc th thành hinh 6

Hình 2.3: Hình ảnh tổng thé kit raspberry pi 5 -ce .ccccerreeceerrrereerrre 7

Hình 2.4: Camera Module VỔ -s-ccxs+rt+kttrrrtrrtrirtritrrrtkirrrirrririirrriirirrrrrrrrrriiee 9

Hình 2.5: Màn hình LCD16x2 & Module I2C -cccc5ccsesrxeeerreerrrrree 10

Hình 2.6: Sơ đồ chân Module RFID-RC522 -22++ecssrreccettrreretrrrrrerre 11

Hình 2.7: Deep learning [2] -s s«csxtekekEkttthH hà hư hà hy nhanh ngưet 12

Hình 2.8: Convolutional Neural Networks [3] -csccscseesesseeererseesrsee 13

Hình 2.9: Kiến trúc ConvNet wssssssisssstiasssssseesstiattasssssaesasananeetaetaeaeatatn 14Hình 2.10: Tang Convolution [4] \ 0dtllleccessscssscesMacssssssssecssesssstfasesssessesessceacessesssaesseessessessesoes 14

Hình 2.11: Cách tính khi qua bộ loc filter [3] « e «e-e<<xesexeereexeeexxeereeee 15 I0): V2ẴẮaiii8 (2000517777 15

Hình 2.13: Max Pooling [3] -. -s ceccccsrxsersrrrrrrrrrrrrrrtrrrrirrrirrrirrrrrrrrrrrrree 16

Hình 2.14: Tầng fully connected [3] ccs eecceerreveerrrereerrrreerrrrerrrre 17Hình 2.15: kiến trúc MTCNN [5] -22 +-eceereeeeetrrereerrrervrrrrreerrrrrrrrre 17

Hình 2.16: Hình ảnh được làm nhỏ lại như kim tự tháp [6] - 18

Hình 2.17:Kiến trúc P-Net [6] ieecereeeetrreererErrerrtrrerrrtrrrrrrrrrerrrrrreerrre 19Hình 2.18:Kiến trúc R-Net [6| -eereerierieriririririrrirrirrrrrrie 20Hình 2.19: Tống thé của P-R-O net [6] -ss+ccssreeeeteeeetrrreerreeerrrerrr 21Hình 2.20: Logo công nghệ dùng trong thiết kế giao diện web - 29

In 3.1: So d6 1777 31Hình 3.2: Kết nỗi Raspberry Pi với Camera +-ccccettrrreecvvrrtrrrrerrrrrrrrrrrr 31Hình 3.3: Cây thư mục dé chạy hệ thống .-cs2+eeesteeevttrrvrrrerrrrrerre 32Hình 3.4:Phát hiện gương mặt trực tiếp qua camera ccse+cccerrrrceerre 32Hình 3.5: Thay đổi Rules ở Realtime đatabase -c ++ceecceerrreccevrrrrrrerrrr 33

Hình 3.6: VỊ trí của web app -c-ccrcrirtrritirH he ret 33

Trang 6

Hình 3.7: Các thông tin để gửi data -cc5s-ccccestreevetrrervrrrrrrvrrrrrrerrrrrrerre 34Hình 3.8: Code gửi data đến firebase -.cccettccvvtrrervrrrrrrvrrrrrrerrrrrrrrre 34Hình 3.9: Kết quả gửi data đến firebase cssteceetreeerrrrvrrrrrrrrrrrrrrerre 35Hình 3.10: Cau trúc dit liệu lớp học s:+cecettreecetrreeertrrererrrrreerrrrerrrre 35Hình 3.11: Cấu trúc dữ liệu sinh viên .v+vvvEEEEEttttttttttttrtexvvvvvvvvrrrrrrrrr 36Hình 3.12: Cấu trúc dữ liệu điểm danh -. ecs.eerrererrerierrereeree 36

Hình 3.13: Sơ đồ hoạt động Web dé hiền thị thông tin điểm danh 37

Hình 3.14: Trang chủ W€DSI(G «s2 HH nHYnHHY HH Hà Hà Hà Hàng 38

Hình 3.15: Trang Quản Ly w.eeesseessescsscssessesssesssecssecstecsessneesesseeesnecasecseecseeseeseesteesseeseesseesneesseesses 38 Hình 3.16: Trang Danh sácCh - s-+c++x+e+vsrktsrrkttrrttrrtkkrtkkrrrirrrirrriirrrrrieeriree 39 i06 Wor iu na 39 Hình 3.18: Trang Danh sácCh -e-c+ccc+scxeEktEEkrrkkrkrtkrrtkkrkkkrkrirrirrirrrrriee 40

Hình 3.19: Trang Quản Ly eeseesssesssscssessessesssesssesssesssesssesseessessesseeeasessseeaeesseessessseesseesseeseenseesseessss 40 Hình 3.20: Đăng nhập với OOgÏ€ -c -55c+ thiet 41

Hình 3.21: Giao diện được đơn giản hÓa - -555c55<<+xsrxeerxerrerrerrrertsrrkrrrkeee 41 Hình 3.22: Chức năng thêm sinh VIÊn -ss‡cExeterkxtrrkeetrrkertrrkrrrrkrrrrrieee 42

Hình 3.23: Chức năng cập nhật và xóa thông tin sinh viÊn -. s+ -s: ss¿ 43

Hình 3.24: Các bước lấy API Key cc-:rcecccvertrreererttrirerrrtrrrtrrrrrrrrrrrrere 44

Hình 3.25: Tạo tên key sau đó chon Create & VICW ccccreeereeerrekrrerreree 44

Hình 3.26: Lưu lại Key dé sử dụng vì key chỉ hiển thị một lần 45

Hình 3.27: Cài dat Single Sender Ver1fiCafIOI -cs cceeccceererxeerrrkerrrrkerrrrrree 45

Hình 3.28: Cai đặt email sử dung Python và thư viện sendgrid 46 Hình 3.29: Đã nhận được mailÏ s-scc<5c++csvctv+teEkEEtertertettersertstrrrrsersrrrsrrrrrsrree 47

Hình 4.1: Hình anh trước và sau khi căn chỉnh .-‹s eerxerererrrsrrrrrrrrkee 50

Hình 4.2: Ma trận nhầm lẫn -++t++:cccccvvv22292222122222222221212.2 1111xvxvrrrrrrrrre 50Hình 4.3: Các tham số độ chính xác -+-cec++tEtttt+evvvvEEEEEtttrreeevvvrrrrrrrirrcee 51Hình 4.4: Hình ảnh dé thử nghiệm -2+icecStrreeeetrrerertrrererrrrrerrrrrrrrrre 51Hình 4.5: Ma trận nhằm lẫn 100 hình của mỗi người -cc-e+reccccv+ 52Hình 4.6: kết quả tiêu chí đánh giá hệ thống . -+:cceccetirreecevrtrrreeeerr 52

Trang 7

Hình 4.7: Kết quả nhận diện c52i++cc22treevEEEtrvvvErtrrvttrrrrvtrrrrrrtrrrrrerre 53

Hình 4.8: Tốc độ xử lý -ccxkxtrrrrrrrEEEiiiiiririiiiiiiiiiriirriiiiirrriee 53

Hình 4.9: Ghi thông tin va ỞỌC .cc-cctcrtierHHHHHH re, 54

Hình 4.10: Thông tin sinh viên đã tồn tại hoặc không tỒn tại ccccccceeeeeeerrrrrree 54Hình 4.11: Gửi thông tin thẻ lên firebase để điểm danh -ss+: 55Hình 4.12: Giao diện hiển thị thông tin điểm danh . .-:+cccccerrrrecceve 55Hình 4.13: Danh sách điểm danh file excel ccccccccccccccrcrrrrrrrrrrrrrrrrrrrrrrrrrrrre 56

Trang 8

DANH MỤC BANG

Bảng 2.1: Cấu hình của Kit Raspberry Pi 3 mode B+ -ss.cssrrcce 5

Bảng 2.2: Cấu hình của Kit Raspberry Pi 5 -cccesircceerrrererrrrerrrrrre 8Bang 2.3: Cấu hình Module RFID-RC522 -++cccccettrreeevvttrrrrrevrrrrrrrrrrr 11

Trang 9

DANH MỤC TU VIET TAT

RFID - Radio-Frequency Identification

CNN - Convolutional Neural Network

SVM - Support Vector Machine

P-Net - Proposal Network

R-Net - Refinement Network

O-Net - Output Network

Trang 10

TOM TAT KHÓA LUẬN

Trong bối cảnh các cơ sở giáo dục và doanh nghiệp đang tìm kiếm các giải phápquản lý chấm công và điểm danh hiệu quả hơn, hệ thống điểm danh băng thẻ RFID

và nhận diện khuôn mặt đã trở thành những công nghệ nôi bật Mặc dù mang lại sự tiện lợi và nhanh chóng, cả hai phương pháp này đều có những hạn chế riêng ThẻRFID có thé bị gian lận khi người dùng chuyên giao thẻ cho người khác dé điểmdanh hộ Trong khi đó, nhận diện khuôn mặt có thể gặp phải các vấn đề như nhiễuánh sáng, góc chụp không lý tưởng, hoặc sai lệch danh tính Do đó, việc kết hợp cảhai phương pháp này có thé giúp khắc phục những hạn chế và nâng cao hiệu quảđiểm danh

Khóa luận này đề xuất một hệ thống tích hợp thẻ RFID và nhận điện khuôn mặt đểđảm bảo tính chính xác và tiện lợi trong quy trình điểm danh Cu thé, hệ thống sé sửdụng thẻ RFID dé xác định danh tính ban đầu của người dùng, sau đó xác thực danhtính bằng nhận diện khuôn mặt Đề nâng cao tính bảo mật và minh bạch, hệ thống

còn tích hợp chức năng gửi email thông báo cho sinh viên, người quản lý hoặc phụ

huynh sau mỗi lần điểm danh

Trang 11

Chương 1 TONG QUAN

1.1 Giới thiệu về đề tài khóa luận tốt nghiệp:

- Hệ thống điểm danh bang thẻ hoặc nhận diện khuôn mặt đang trở nên ngày

càng phổ biến trong các cơ sở giáo dục và doanh nghiệp dé quản lý chamcông cho nhân viên hoặc điểm danh học sinh Sự tiện lợi và tốc độ của haiphương pháp này giúp giảm thiểu thời gian và công sức cần thiết để thựchiện quy trình điểm danh, tuy nhiên, mỗi phương pháp đều mang theo nhữnghạn chế riêng Một trong những van đề phổ biến khi sử dung thẻ điểm danh

là khả năng của học sinh hoặc nhân viên dé gian lận bằng cách chuyển giaothẻ cho người khác để điểm danh hộ Điều này gây ra sự không chính xáctrong việc ghi nhận dữ liệu chấm công hoặc điểm danh Trong khi đó, việc

sử dụng nhận diện khuôn mặt có thé giam thiéu viéc nay, nhung no vẫn cóthể gặp phải các vấn đề như nhiễu ánh sáng, góc chụp không lý tưởng hoặc

thậm chí là việc nhận diện sai danh tính.

- Với mục tiêu cải thiện hiệu suất và dam bảo tính chính xác của quá trình

điểm danh, hệ thống của chúng tôi sẽ tích hợp cả hai phương pháp, tức là sửdụng cả thẻ và nhận diện khuôn mặt Bằng cách này, chúng tôi có thể tậndụng những lợi ích của cả hai phương pháp và đồng thời giảm thiểu nhượcđiểm Việc sử dụng thẻ sẽ giúp xác định rõ danh tính của người điểm danh,trong khi nhận diện khuôn mặt sẽ là một lớp bổ sung giúp xác thực danh tính

một cách chính xác và nhanh chóng.

- Bén cạnh đó, để đảm bảo tính chính xác và bảo mật của dữ liệu, hệ thống

cũng sẽ được tích hợp với chức năng gửi mail thông báo Khi một người

được điểm danh, hệ thống sẽ tự động gửi một email thông báo cho ngườiquản lý hoặc phụ huynh, báo cáo về việc điểm danh đó Điều này giúp tăngcường sự minh bạch và giám sát trong quá trình quản lý điểm danh, đồngthời cung cấp một cơ chế xác thực và thông báo cho các bên liên quan về

tình trạng diém danh của sinh viên.

Trang 12

1.3.

Mục tiêu của đề tài:

Khóa luận tốt nghiệp xây dựng một hệ thống điểm danh bằng thẻ sau đó xácthực khuôn mặt đồng thời gửi mail thông báo về tình trạng điểm danh củasinh viên vào cuối buổi học

Cụ thể đề tài sẽ thực hiện:

© Nghiên cứu và tìm hiểu về thuật toán nhận dạng khuôn mặt CNN,

Facenet, SVM Với giải pháp trên ta có thể nhận diện ở nhiều góckhác nhau mà không cần nhìn thăng, nhận diện chính xác và trích xuất

được nhiều đặc trưng khuôn mặt

o Áp dụng deep learning vào bài toán nhận diện khuôn mặt kết hợp

cùng với thẻ rfid nhằm cải thiện các nhược điểm của hai loại điểm

Về sơ đồ hệ thống bao gồm: Kit raspberry Pi 5, Camera module V3, dataset

khuôn mặt sinh viên, Module RFID va thẻ, Model training và nhận diện

khuôn mặt, giao diện web, API firebase dé lưu thông tin điểm danh, APIsendgrid để gửi mail

Trang 13

Khối xử ly dataset & training >

- Giới hạn của dé tài:

o Dataset tối thiểu 20 sinh viên mỗi sinh viên 350 ảnh thu thập từ việc

quay video xoay trái, phải, trên, xuống dé lấy được các đặc trưng

khuôn mặt từ các góc độ khác nhau.

o Tốc độ xử lý khoảng 10 FPS, nhận diện ban ngày độ chính xác trên

90%.

o_ Nhận diện tuần tự từng sinh viên một

o_ Nhận diện không bao gồm người đeo khẩu trang, mắt kính, che khuất

mặt, băng bó,

o_ Trong một phòng học cụ thé Phòng học này sẽ bao gồm tat cả lớp đã

được đăng ký học ở phòng này từ thứ 2 đến thứ 7 Các lớp học ở

phòng này sẽ có danh sách học sinh đã đăng ký trước đó.

Trang 14

Chuong 2 CƠ SỞ LÝ THUYET

2.1 Kit Raspberry Pi 3 mode B+, module Camera Rev 1.3:

2.1.1 Kit Raspberry Pi3 Mode B+:

Raspberry Pi 3 model B+ là một board máy tính nhỏ gon với nhiều tinh năngnhư Wi-Fi, Bluetooth, céng Ethernet, công USB và các công GPIO dé kết nói với

các ngoại vi khác.

Hình 2.1: Hình anh tong thé kit Raspberry Pi 3 Mode B+

Cấu hình của board:

Bang 2.1: Cấu hình của Kit Raspberry Pi 3 mode B+

CPU Broadcom BCM2837B0, SoC ARMv8s

64-bit, quad-core A53, tốc độ 1.4GHz

Bộ nhớ Dung lượng 1GB, theo chuẩn LPDDR2,

dạng SDRAM

Wireless & connector Wi-Fi chuan IEEE 802.11 b/g/n/ac

2.4GHz va 5GHz, Bluetooth 4.2, BLE,

Trang 15

Ethernet Gigabit qua công USB 2.0 (tốc

độ tôi đa 300Mbps) 4 công USB 2.0 40

chân GPIO

MIPI DSI cho màn hình, công MIPI CSIcho camera, công xuất âm thanh stereo

va video composite 4 chân.

(1080p30), mã hóa H.264 (1080p30); đồ

họa OpenGL ES 1.1 và 2.0

DC qua chân GPIO, Power over Ethernet

(PoE) (cần thêm PoE HAT)

2.1.2 Camera ReV 1.3:

Ej:ICDÊw'EỒi

tees —— Thế giới điện tử——

Trang 16

Hỗ trợ 1080p @ 30EPS, 720p @ 60EPS và 640x480 @ 60-90 FPS.

Góc nhìn 65 độ.

Độ phân giải: 2592x1944

Phạm vi lay nét 0.69m đến 1.38m

Thư viện: Picamera

2.2 Kit Raspberry Pi 5, module Camera V3, module RFID,LCD16x2

va module I2C:

2.2.1 Kit Raspberry Pi5:

Raspberry Pi 5 nhanh gấp 2 lần Pi4 và gấp 3 lần Pi3 với nhiều thay đổi vềhiệu suất và tính năng Tuy nhiên một số hạn chế về các tiện ích cũ sẽ không còn hỗ

trợ phần mềm ngay lập tức Đây là một board máy tính nhỏ gọn với nhiều tính năngnhư Wi-Fi, Bluetooth, công Ethernet, công USB và các cổng GPIO để kết nối với

các ngoại vi khác.

Hình 2.3: Hình ảnh tong thé kit raspberry pi 5

Trang 17

Cấu hình của Raspberry Pi 5:

Bảng 2.2: Cấu hình của Kit Raspberry Pi 5

ARM Cortex-A76 64-bit (ARMv8-A ISA)

Bồn lõiQuy trình sản xuất SoC 16nmTốc độ xung nhịp tối da 2.4GHz

Bộ nhớ đệm I & D 64KB

Bộ nhớ đệm L2 512KB cho mỗi

lõi và bộ nhớ đệm L3 2MB dùng chung

Bluetooth 5.0 va BLE (Bluetooth Low Energy)

phân giải 4Kp60 với HDR Giải mã HEVC 4Kp60

2 công kết nôi camera

Trang 18

hỗ trợ OpenGL ES 3.1 và Vulkan

1.2

Lưu trữ « Khe cắm thé MicroSD

« C6 thé sử dung SSD NVMe.

Power adapter « Nguồn 5V/5A type C

Ethernet True Gigabit, hỗ trợ

PoE+

2.2.2 Camera Module V3:

Camera Module

OFA

|

| _Z8£1y8NL

3

Hinh 2.4: Camera Module V3

Độ phân giải 12MP (megapixel).

Hỗ trợ Phase Detect Autofocus (PDAF)

Hỗ trợ dải động cao (HDR) với công nghệ On-Chip Video HDR

Phiên bản sử dụng ban ngày(có ánh sáng).

Góc nhìn 75° & 120°.

Kích thước ảnh: 4608x2592.

Thư viện: Picamera2 (python).

Tốc độ tối đa 120FPS

Trang 19

2.2.3.LCD 16x2 và Module I2C:

Hình 2.5: Màn hình LCD16x2 & Module I2C

Sử dụng LCD16x2 qua giao tiếp I2C nhằm giảm số lượng dây kết nối

Kết nối:

‹ Kếtnối GND

„ Két nối nguồn 5V

¢ _ Kết nối chân SDA: chân truyền dữ liệu

« _ Kết nối chân SCL: chân điều khiển2.2.4 Đặc điểm nỗi trội hơn khi nâng cấp:

Pi 5 có RP1-Chip giúp tăng tốc độ I/O, CPU mạnh 2.4Ghz so với Pi3 1.4Ghz

Pi 5 có ram 4GB nhiều hơn so với Pi 3 có ram 1GB

Hỗ trợ đồ họa mạnh mẽ hơn để có thể lấy hình ảnh có chất lượng tốt hơn

Camera Module V3 đạt tối đa 120FPS cao hơn đối với 90FPS của Camera

rev 1.3.

Góc cũng được mở rộng hon, kích thước anh cũng sẽ to hon.

2.2.5 Module RFID:

Module RFID RC522 NFC hoạt động ở tần số 13.56MHz, được thiết ké dé

đọc và phi dữ liệu trên các thẻ NFC Với kích thước nhỏ gọn và tính linh hoạt cao,

module này là sự lựa chọn phù hợp cho các ứng dụng đọc thẻ.

10

Trang 20

RFID-RC522 pinout coo MERCS22" cn dotos

))

98 Cit

@ RFID-RC522 ©

Hình 2.6: So đồ chân Module RFID-RC522

Cấu hình của module:

Bảng 2.3: Cấu hình Module RFID-RC522

Nguồn Nguồn 3.3VDC, dòng: 13 — 26mA

Trang 21

2.3 Công nghệ OpenCV và thuật toán xử lý ảnh, máy học, deep

learning, Facenet, Tensorflow:

2.3.1 Công nghệ OpenCV:

OpenCV (Open-source Computer Vision) là một thư viện mã nguôn mở cho xử lý ảnh và video, và nó cung câp các công cụ đê phát triên và nhận diện khuôn mặt.

OpenCV có thé dùng nhiều ngôn ngữ lập trình, bao gồm C++, Python, Java [1]

2.3.2 Thuật toán xử lý ảnh, máy học:

Deep learning & MTCNN (Multi-task Cascaded Convolutional Networks):

- Deep learning:

e La một phân nhánh của Machine Learning, trong đó các máy tinh

học và tự cải thiện thông qua các thuật toán Nó đi sâu vào các

định nghĩa phức tạp hơn rất nhiều còn Machine Learning truyền

thong chu yếu dựa vào các mạng nơ-ron nhân tạo để mô phỏng

khả năng tư duy và suy nghĩ của não bộ con người.

Machine Learning

Feature extraction Classification

Feature extraction + Classification

Hinh 2.7: Deep learning [2]

12

Trang 22

e Deep learning là một mang nơ-ron da tang, với mỗi tang đại diện

cho một câp độ khác nhau; mạng sâu hơn khi có nhiêu tâng hơn.

Mỗi tâng gôm các nơ-ron kết nôi với nhau qua các trọng sô, và sự

quan trọng của mỗi kết nỗi được xác định bởi giá trị của trọng sô

tương ứng.

Mỗi nơ-ron trong mạng có một hàm kích hoạt đề chuẩn hóa đầu ra

của nó Dữ liệu đi qua mọi tâng của mạng và cho ra kêt quả ở tâng cuôi gọi là tâng đâu ra.

Trong khi huân luyện mạng nơ-ron, các trọng sô được thay đôi đê tôi ưu hóa hiệu suât của mô hình Mục tiêu là tìm ra bộ trọng sô tôi

ưu nhất dé dự đoán tốt nhất

Sử dung Deep Learning phải có phần cứng mạnh mẽ dé xử lýlượng lớn dữ liệu và thực hiện các tính toán phức tạp Việc huấn

luyện nhiều model Deep Learning có thể mắt từ vài tuần đến nhiều

tháng khi triển khai trên các phần cứng mạnh mẽ

MTCNN (Convolutional Neural Networks):

FEATURE LEARNING CLASSIFICATION

Hình 2.8: Convolutional Neural Networks [3]

15

Trang 23

¢ _ Kiến trúc ConvNet: nap input là một hình ảnh đi qua K lần tang

Convolution và ReLu, mỗi K lần ta lặp N lần pooling Cuối cùngđưa qua tang fully connected dé cho ra output (được lọc là các

output nằm trong top scores)

« Tang Convolution: chuyển đổi tất cả cách pixels về giá trị duy

nhất thông qua filter dé có các output khác nhau

Input Volume (+pad 1) (7x7x3) Filter W0 (3x3x3) Filter W1 (3x3x3) Output Volume (3x3x2)

Trang 24

Convolve with 3x3

filters filled with ones

Hình 2.11: Cách tính khi qua bộ loc filter [3]

« Ham ReLU: chuyển đữ liệu sang dữ liệu mang giá tri không âm,

một số hàm khác tương tự như sigmoid, tanh,

« Tang Pooling: có 2 loại thông dụng là max pooling va average

pooling có tác dụng làm giảm parameter Với hình ảnh lớn ta có

thé sử dung filter lớn hơn 4x4 hoặc 8x8 kích thước được chonthường là số chan

15

Trang 25

e Vidu:

Single depth slice

max pool with 2x2 filters

and stride 2 6/8 |

Hinh 2.13: Max Pooling [3]

e Su dụng một max pooling với kích thước 2x2 va độ trượt là 2:

chúng ta lần lượt ốp filter 2x2 vào hình anh 4x4 theo chiều từ tráisang phải từ trên xuống dưới

« O lượt đầu tiên số lớn nhất là 6, ở lượt thứ 2 số lớn nhất là 8 làm

tương tự ta có được 3 và 4 như hình bên phải Và hình ảnh đã

được thu gọn hơn, ít tham số hơn

« Tầng fully connected

« Trước khi vào tang fully connected ta thực hiện flattening

Flattening là quá trình duỗi tensor 3D thành tensor 1D dé làm daovào cho tầng fully connected

16

Trang 26

Hinh 2.14: Tang fully connected [3]

« Gồm 3 mang CNN (P — Net, R — Net, O —Net)

P-Net R-Net

— Conv: 3x3 TY Couns om wine 1 [7 “Conv: 3x3 Conv: 3x3¢ony: 2x2 fully no |

MP: ĩ Oita | | MP: 3x3 MP: 3x3 connecr(1| Ăee classification |

xIx2

[im su 33416 Ixhð2 tệ Phciallandmak | Inputsize Tl2g 4x2x483x3x64128 lều Mudnt, |

a — <a ee J

Conv: 3x3 Conv: 3x3 Conv: a - 2x2 fully

MP: 3 MP: 3 MP: connect []race classification

2

_Ì-R- a8 8+: we box regression

g 23x23x32 10x10x64 4x4x64 — 3x3x128 256 [cia indmakloalzaion

Hình 2.15: kiến trúc MTCNN [5]

e Dau tiên, anh duoc thay đổi kích thước dé tao ra một image

pyramid, giúp mô hình có khả năng nhận diện đối tượng ở các

kích thước khác nhau.

17

Trang 27

Bước 1: The proposal network (P-Net)

« Phương pháp đầu tiên sử dụng là Fully Convolutional Network

(FCN), khác với mang CNN bởi việc loại bỏ lớp Dense (fully

connected) P-Net được dùng dé sinh ra các cửa số tiềm năng

và vector hồi quy bounding box (tọa độ)

« Bounding box regression là kỹ thuật dé dự đoán vi trí của

bounding box trong quá trình phát hiện đối tượng Sau khi thuđược các bounding boxes, thực hiện điều chỉnh để loại bỏ

những bounding box trùng lặp Kết quả đầu ra là các bounding

boxes sau khi được lọc và sàng chọn.

18

Trang 28

Feed (Input layer) Convolution Layer 1

« O đây, chúng ta sử dụng biến thé của hàm kích hoạt ReLU là

PReLU Cách hoạt động của PReLU là giữ nguyên các sốkhông âm và nhân các số âm với một hệ số Alpha được học

trong quá trình huấn luyện

« Convolution 4-1 được sử dụng để dự đoán khả năng xuất hiện

khuôn mặt trong bounding box Nhánh 4-2 được dùng đề đoán

vị trí của bounding box.

e - Bước 2: The Refine Network (R - Net)

» _ Các đầu ra từ P-Net là đầu vào cho R-Net Tại đây, chúng ta áp

dung mạng CNN dé giảm số lượng bounding boxes, điều chỉnh

19

Trang 29

tọa độ và thực hiện non-max suppression (giảm số lượng kếtquả dư thừa, giữ lại kết quả quan trọng nhất, giúp tăng độ

« Fully connected 2 là tọa độ của bounding boxes, con fully

connected 1 là dùng dé dự đoán khuôn mặt xuất hiện

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

» Pau ra từ R-Net được đưa vào O-Net Dé xác định vị trí

của các facial landmarks( mắt, mũi và miệng) bởi O-Net

20

Trang 30

Input{12x12«3] \ | Input(24x24x3 h input(48x48x3) )

| Face Bounding box Landmarks Head pose |

classification regression location estimation j

| O-net

Hình 2.19: Tong thé của P-R-O net [6]

= Output là toa độ bounding boxes, xác suất khuôn mặt xuất

hiện, tọa độ facial landmarks và head pose (xác định góc

của khuôn mặt).

2.3.3 Facenet:

e Facenet có chức năng nhận dạng va phân cụm khuôn mặt được đề

xuất bởi nhóm nghiên cứu tại Google Hệ thống này hoạt độngbang cách nhúng mỗi ảnh vào không gian Euclide thông qua việc

sử dụng mạng nơ-ron tích chập (CNN) [7]

e Các thuật toán nhận diện khuôn mặt trước Facenet đều biểu diễn

khuôn mặt là một vector embedding, tức là chuyển đôi từ dữ liệu

thô sang dữ liệu số thực, thông qua một lớp bottleneck nhằm giảm

chiều dữ liệu

e Các ảnh được kí hiệu là Anchor (A), Positive (P), va Negative (N).

Mục tiêu ham loss function trong Facenet là tối thiểu hóa khoảngcách giữa ảnh Anchor và Positive trong khi tối đa hóa khoảng cách

21

Trang 31

giữa ảnh Anchor và Negative Cụ thé, dé tối ưu hóa quá trình học,chúng ta cần chọn các bộ ba ảnh theo các tiêu chí sau:

- Anh Anchor và Positive khác nhau nhiều nhất: Điều nay có

nghĩa là chọn các ảnh sao cho khoảng cách D(A, P) lớn Tương

tự như việc chọn ảnh của bạn hồi nhỏ và ảnh hiện tại, để thuậttoán gặp khó khăn hơn trong việc học, nhưng nếu nó có thể

nhận ra được, nó sẽ thông minh hơn.

- Anh Anchor va Negative giống nhau nhiều nhất: Điều này có

nghĩa là chọn các ảnh sao cho khoảng cách D(A, N) nhỏ.

Tương tự như việc phân biệt ảnh của một người anh em giống

bạn với chính bạn.

e_ Triplot loss function thường lấy 3 ảnh làm input và trường hợp lý

tưởng nhất:

d(A, P) < d(A, N)

e Về phải và trái có khoảng cách lớn hơn thi ta thêm vào về trái một

hệ số alpha không âm (hệ số này rất nhỏ) Khi đó:

Trang 32

Dé giảm anh hưởng của các trường hop mà hệ thống nhận diện

đúng Negative và Positive lên hàm loss function, chúng ta có thay

đổi giá trị đóng góp của chúng.:

Il f(A) — ƒŒ') Ilesil f(A) — ƒ(N) llạ+ a < 0

Thay đổi giá trị đóng góp về 0 Khi đó:

L(A,P,N) = 2 max(I f(Ai) — f(Pi) lẽ —lI f(Ai) — fNj) llễ+ @, 0)

i=0

Với cach nay, khi áp dung ham Triple Loss vào các model CNN,

chúng ta có các vector biểu diễn tốt nhất cho các bức ảnh Nhữngvector này sẽ phân biệt hiệu quả giữa các ảnh Negative giống vớiPositive Đồng thời, những ảnh cùng một nhãn sẽ trở nên gần hơn

trong không gian Euclidean.

Một điều quan trọng cần lưu ý khi đào tạo mô hình mạng nơ-ron

Siamese với ham Triple Loss là chúng ta phải xác định trước cặp

(A, P) của cùng một người Ảnh N sẽ được chọn ngẫu nhiên từ các

bức ảnh thuộc các nhãn khác Do vậy, cần thu thập ít nhất hai bức

ảnh cho mỗi người dé chuẩn bị dit liệu đào tạo đầy đủ

23

Trang 33

2.3.4 Tensorflow:

e TensorFlow là một thư viện mã nguồn mở cho máy học, được phát

triển bởi Google TensorFlow được sử dung dé xây dựng và huấn

luyện các mô hình học máy, bao gồm cả mô hình nhận diện khuôn

mặt [8]

e TensorFlow được xây dựng dựa trên kiến trúc đữ liệu đồ thị, trong

đó các nút đại diện cho các phép tính toán học, và các cạnh đại

diện cho các luồng dữ liệu Điều này giúp cho TensorFlow có thébiểu diễn các mô hình học máy một cách linh hoạt và hiệu quả

e TensorFlow hỗ trợ nhiều loại mô hình học máy, bao gồm:

o Mạng noron tích chập (CNN): CNN được sử dụng cho các

tác vụ xử ly hình ảnh va video, chăng hạn như nhận diệnkhuôn mặt, phân loại hình ảnh, và nhận dạng đối tượng

o Mạng noron hồi quy (RNN): RNN được sử dụng cho các

tác vụ xử lý ngôn ngữ tự nhiên, dịch máy, nhận dạng giọng nói, và tạo văn bản.

o Mạng nơron tự hồi quy (GAN): GAN được sử dụng dé tạo

ra các dữ liệu mới, hình ảnh, âm thanh, và văn bản.

e TensorFlow có nhiều ứng dụng thực tế, bao gồm:

o Xác thực người dùng: TensorFlow được sử dụng để xác

thực danh tính bằng khuôn mặt, giọng nói, hoặc chữ viết

tay.

o Nhận dạng đối tượng: TensorFlow được sử dụng để nhận

dạng các đối tượng trong hình ảnh hoặc video, chăng hạnnhư trong các hệ thống camera an ninh

o Phân tích ngôn ngữ tự nhiên: TensorFlow được sử dụng dé

phân tích ngôn ngữ tự nhiên, chăng hạn như trong các hệthống trợ lý ảo

24

Trang 34

o Tạo nội dung: TensorFlow được sử dụng để tạo ra các nội

dung mới, chăng hạn như hình ảnh, âm thanh, và văn bản

e Ưu điểm của TensorFlow

o_ Mã nguồn: TensorFlow là mã nguồn mở, điều này giúp cho

các nhà phát triển có thé sử dung và tùy chỉnh TensorFlowmột cách dễ dàng.

o Hiệu quả: TensorFlow hoạt động mạnh mẽ hơn khi sử dụng

GPU, điều này giúp cho TensorFlow có thể đào tạo một

cách nhanh chóng và hiệu quả với các model sử dụng dữ

liệu lớn.

o Linh hoạt: TensorFlow hỗ trợ nhiều loại mô hình học máy,

điều này giúp cho TensorFlow có thể được áp dụng cho

nhiều ứng dụng khác nhau

e Nhược điểm của TensorFlow

o Cần nhiều tài nguyên: TensorFlow có thể yêu cầu nhiều tài

nguyên máy tinh dé đào tạo các mô hình học máy lớn

o Khó: TensorFlow cần có nhiều kiến thức về toán học, học

máy.

2.4 Tìm hiêu về firebase:

- Firebase cung cấp công cụ dich vụ dé phát triển web và di động được phát

triển bởi Google [9]

- Firebase được xây dựng trên nền tang Google Cloud Platform (GCP) và cung

cấp cho các nhà phát triển các công cụ dé tạo ra ứng dụng một cách nhanhchóng, đáp ứng được các yêu cầu đặc thù của từng ứng dụng Nền tảng này

cũng cho phép các nhà phát triển thiết kế ứng dụng có khả năng mở rộng và

tương tác thời gian thực Nhờ vào việc các dịch vụ của Firebase được cung

cấp trên nền tảng đám mây, việc mở rộng, tăng cường bảo mật và nâng cao

hiệu suất của ứng dụng trở nên dễ dàng hơn.

25

Ngày đăng: 24/12/2024, 00:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN