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

Luận văn thạc sĩ Công nghệ thông tin: Hệ thống điểm danh bằng nhận diện khuôn mặt sử dụng máy tính nhúng NVIDIA Jetson nano

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

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống điểm danh bằng nhận diện khuôn mặt sử dụng máy tính nhúng NVIDIA Jetson Nano
Tác giả Bùi Minh Quốc
Người hướng dẫn Tiến sỹ Nguyễn Tất Bảo Thiện
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 122
Dung lượng 42,06 MB

Nội dung

LỜI CAM ĐOANBằng tất cả niềm tự hào, vinh dự cũng như danh dự của mình, em chắc chắn rằng LVTN Thạc sĩ của em với luận văn Hệ thông điêm danh băng nhận diện khuôn mặt sử dụng máy tính nh

Trang 1

_ ĐẠI HỌC QUOC GIA TP HCM

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

GOK CR

Bùi Minh Quốc

HE THONG DIEM DANH BANG NHAN DIỆN KHUÔN MAT

SU DUNG MAY TINH NHUNG NVIDIA JETSON NANO

LUAN VAN THAC Si

NGANH CONG NGHE THONG TIN

Mã sé: 8.48.02.01

NGƯỜI HƯỚNG DAN KHOA HỌC:

Tiến sỹ Nguyễn Tất Bảo Thiện

TP HO CHÍ MINH - NĂM 2023

Trang 2

LỜI BÀY TỎ

Đầu tiên,em muốn bày tỏ lòng biết ơn chân thành của mình đối với tắt cả các Giảng viên tại UIT, những người đã cung cấp cho em kiến thức và kỹ năng vô giá mà tôi đã nhận được trong suốt quá trình học tập của mình Sự hướng dẫn của Thay, Cô đã đánh thức niềm

d

đam mê nghiên cứu va hoc hỏi trong em.

Tiếp đến, em muốn bày tỏ sự biết ơn đặc biệt của mình đến Thầy Tiến sỹ Nguyễn Tất Bảo Thiện, người đã truyền động lực và cung cấp hướng dẫn cực kỳ quý báu về luận văn của em Những lời khuyên của Thay, ngắn gọn nhưng chính xác và tập trung vào van

đề, đã giúp em tiết kiệm thời gian và làm tốt hơn.

Cuối cùng, em muốn gửi lời cảm ơn chân thành đến gia đình và người thân yêu của

em Sự hỗ trợ không ngừng và sự thông cảm của họ đã là nguồn động viên lớn giúp em

vượt qua các thách thức trong quá trình làm luận văn Em cũng xin cảm ơn các bạn học và

ông nghiệp tại công ty, những người đã không ngần ngại chia sẻ kiến thức và cung cấp

trang thiết bị cần thiết, góp phần vào thành công của em.

Trân trọng!

Trang 3

LỜI CAM ĐOAN

Bằng tất cả niềm tự hào, vinh dự cũng như danh dự của mình, em chắc chắn rằng

LVTN Thạc sĩ của em với luận văn Hệ thông điêm danh băng nhận diện khuôn mặt sử

dụng máy tính nhúng NVIDIA JETSON NANO sẽ được thực hiện hoàn toàn bởi cá nhân

em, dưới hướng dan của Thay Tiên sy Nguyễn Tat Bảo Thiện Em xin cam kêt chịu trách

nhiệm về các kết quả trong luận văn này.

Dưới đây là những cam kết của em đối với việc thực hiện LVTN:

e Camkétvé sự nỗ lực: Em sẽ nỗ lực hết mình cho LVTN này Em sẽ dành thời gian

và nỗ lực cần thiết để nghiên cứu, thực hiện phát triển luận văn một cách hiệu quả

và tối ưu.

e Tuan thủ hướng dẫn: Em sẽ tuân thủ mọi hướng dẫn, gợi ý và phần hồi từ Thay

Tiến sy Nguyễn Tat Bảo Thiện Em sẽ luôn lắng nghe và đáp ứng các chỉ dẫn dé đảm bảo sự phát triển và hoàn thiện luận văn.

e Sang tạo và nghiên cứu: Em cam kết sẽ thực hiện nghiên cứu sáng tạo trong việc

xây dựng luận văn Em sẽ tìm ra giải pháp mới, nắm vững công nghệ và áp dụng kiến thức của mình dé dam bảo rằng luận văn là độc đáo và hiệu qua.

© Tuan thủ quy định và đạo đức nghiên cứu: Em cam kết sẽ tuân thủ tat cả các quy

định và đạo đức nghiên cứu ở UIT, bao gồm việc trích dẫn và công bố công việc

nghiên cứu một cách chính xác và trung thực.

Em rat biết ơn cơ hội này đề được học hỏi và phát triển dưới sự hướng dẫn của Thay,

Cô trong tai UIT Em tin tưởng rang dự án nay sẽ đóng góp đáng kê vào lĩnh vực CNTT

Trang 4

1.1 Phát biểu bài toán ++c222S2222EtrrEEEEEEE.rrr.trrrrrrrrrrrrrrrree 10

1.2 Lý do chọn đề tài

1.3 Mục tiêu

1.3.1 Tổng quan

1.3.2 Cụ thể

1.4 Đóng góp của luận vănn 6-5 St th E111 11x rkrrrerrrree 12

Chương 2 CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIEN QUAN 14

2.1 Các nghiên cứu liên quan -©76c55cscseeeeerteerseeerrrrrrrrrrrrrerree LA

2.2 Hướng tiếp cận luận văn :-225552tstrtreererrrrrrrrrrrrrrrrrrrrrrre, TỔ 2.2.1 Cơ sởlý thuyẾt -cs22 2222222221111, cEE rrrrrrrre 16

2.2.2 Phương pháp nghiên cứu -2- ¿2£ ©++©+++++++++rxerrxerrerrxrrrxrrrrrre 20

2.3 Các công nghệ -50c nh nhe ưec 22

2.3.1 Thiết bị phần cứng -:++2+2+22222222221121111111122ccr rrrrrrrrer 22 2.3.2 Thong số phan mềm

Chương 3 PHÂN TÍCH MÔ HÌNH HÓA YÊU CÀU

3.1 Phan tích mô hình hóa yêu cau

3.1.1 Mô hình tổng quan

3.2 Quy trình nghiệp vụ -. -c-ccscsrieerrierriierrriririirrrerrerrrr 0)

3.2.1 Đối tượng người dùng của hệ thống -++++crrrrrrrrrerereeesvee 29 3.2.2 Quy trình nghiệp vụ tổng thễ c222222cc+c++ttttEEEEE1E22221111111122 22c 30 3.2.3 Quy trình nghiệp vụ chỉ tiết 222222222ccccrrrrrtttrrrtrrrrrrrtrrrrrrrrreree 31

Trang 5

Chương 4 PHAN TÍCH THIET KE HE THÓNG -ss - 36 4.1 Mô hình hệ thống V©-E22tttttttttttttttii1111111111111111221.2 crrree 36 4.1.1 Mô hình phần mềm - VVVVEEEEEEE+++++222222+ttttttEEEEEEEEEEEEEE1111112222eccee 36 4.1⁄2 So đồ chức năng -nnn.00001111111111111121 11ecirrrrrre 36 ' TA 101 e H,),L 37 4.2.1 Kiến trúc tổng quan -22222VV2222222222222222+t E.EE.E E 11111111 xe 37 4.2.2 Kiến trúc triển khai ccc5sttrrrrrrrrtrrririrrrirrrrrrrriirrrrrrriie 38

Chương 5 TRIEN KHAI THỰC NGHIỆM -:ccc5552terreceverrrrrree 42

5.1 Cae bước thực hiện 5 + HH re42 5.2 Chụp khung hình và phát hiện khuôn mặt - -©c -ccscc .- AA 5.3 Bộ phát hiện -ọnn HH net 44 5.4, Phát hiện khuôn mặt -ccc5 istccevveerrrrrrrrerrrrrrrrrrrerrreroo.4 5 5.5 Thu thập dữ liệu icccccSScsssrrreeeerrrrrrrrrrrrrrrrrrrrr đỔ

5.6 Huấn luyện tập dữ liệu -++222 22222222 EEEEEEE rrrrrtrrrrrrrrrrrrrre 48 5.7 Bộ huấn luyện -:::2ttttttttttt11111111111111.2 rrrrrrrrrrrrrree 50

5.8 Nhận diện khuôn mặt

Chương 6 KET QUA THỰC NGHIỆ

6.1 Độ chính xác của nhận diện

6.2 Kết quả của việc lưu trữ lịch sir nhận diện “

6.3 Phân tích hiệu suất -222c22++222++222222222222111111112112 22 r ttrrrrrrrrrer54 6.4 Một số hình ánh của chương trình -cc55sstrecceeserrrrrreeeevsrr Ôf

Chương 7 KET LUẬN VÀ HƯỚNG PHÁT TRIÉN - 2 2c cccccccccv266 Lli OD<0 -14 , 66

LÀN 7a d4 Ả ÔÒỎ 66

LÔ: nha HH

Trang 6

7.4 Hướng phát triển -ccccee

TÀI LIEU THAM KHẢO 22 -cccc+2 PHU LUC A THONG TIN VE BAI BAO KHOA HỌC

Trang 7

DANH MỤC HÌNH ANH

Hình 1 Sơ đồ hoạt động chính của thuật toán nhận diện - 5+5 5<c+s+c+ex+c+xse2 10

Hình 2 Các loại đặc trưng Haar khác nhau được trích xuất từ một phần của hình ảnh, (a) Đặc trưng cạnh, (b) Đặc trưng dòng, (c) Đặc trưng bốn hình chữ nhật - 17 Hình 3 Lớp thuật toán phát hiện đối tượng của Haar Cascade ¿- ¿+22 18

Hình 4 Máy tính nhúng NVIDIA Jetson Nano [2 l ] - ¿5555 <5 <+x+svxseseEseeseeeree 22 Hình 5 Mô-đun Raspberry Pi Camera V2 [222 ] - - 65+ +++k£sE+k+kksEskekerskrekrkekrke 23

Hình 6 Mô hình tổng quan 22-22 ©+£2EEE£2EEE£EEEEEEEEEEEEEEEEEEEEEEE112711217112 211.1 rrred 25

Hình 7 Phân hệ Quản tTỊ - G- 2G 2< 3111161111 11 11111111 111011011011 11 1T TH TH HH Hy Hy 26 Hinh 8 Phan hé NDHT ue 28

Hình 9 Các đối tượng (actor) tham gia vào Hệ thống ¬ 29

Hình 10 Quy trình nghiệp vụ tổng thé của hệ thống . - 2¿©22©+z+2£+z2cvszzcrsz 30

Hinh 11 Quy 0ý: 063 1n 31 Hình 12 Quy trình cập nhật men - - 65+ S+E+E**E*E*k+ESEEEkEEEEkEkEEEkEkEkkkrkrkrkrkrke 31

Hinh 13 Quy trimh tao 0U na 1 32 Hình 14 Quy trình cập nhật i |) ⁄Z⁄' 8ô c- Ý 32

Hình 15 Quy trình tạo vị trí thiẾt bị 2 22%22E+222EE222EE1121222111271112227112 2221 crrrked 32 Hình 16 Quy trình cập nhật vi trí i ga 33

Hình 17 Quy trình tao người Ùng - -¿- 65+ xxx SE TT HH ng rà, 33 Hình 18 Quy trình cập nhật thông tin người dùng - - 55 5+ <+++£+c++exerseeserseeseee 34 Hình 19 Quy trình cập nhật thông tin cá nhân - ¿5 + ++++£+£+++£sEekekxeEstexeerseeerke 34

Hình 20 Quy trình cập nhật mật ` NV _ 35 Hình 21 Quy trình xem danh sách lịch sử điểm danh - se + +Ex+Exerxxerxeerxeee 35 Hình 22 Quy trình xem chỉ tiết lich sử điểm danh 2¿©2£++£2£E+£+2E+zz£xzzzcrez 35

Hình 23 Mô hình phần mềm của hệ thống điểm danh - 2222222222222 36

Hình 24 Sơ đồ chức năng của hệ thống 2¿-©22£+©+++2EEEtEEEECEEEEEEEEEECEEEEEEkrrrrrrrrrree 36

Hình 25 Kiến trúc tổng quan -2 £©©++£+2EE+£+2EE+EE2EEEEEEEEEE127111112111227111 12711 rrrye 37

Hình 26 Kiến trúc triển khai tổng quát -2 ¿©++++E+++++EE++++2EE+e+Ex+ertrrxeerrrrved 38

Hình 27 Kiến trúc triển khai vật lý - 2 ¿2E++£+2EE++t2EEEEetEEEEEEEEEEEEEELErrrrrkrrrrrked 38

Hình 28 Kiến trúc dữ liệu ¿+ £©+k£+EEE9EEEE21127111111271E111111.11E 11.1111 11 xe 39

Hình 29 Mô hình dữ liệu quan hệ phân hệ Quan tri hệ thống 40

Hình 30 Mô hình dữ liệu quan hệ Người dùng hệ thống 2¿- ¿2+zccxzeecree 41

Hình 31 Quy trình giải thuật nhận diện khuôn mặt của luận văn 555: 43

Hình 32 Phát hiện khuôn mặt với Raspberry Pi Carm€Ta 5s + sscseexsseseeesee 45

Hình 33 Tập dữ liệu khuôn mặt dùng dé huấn I7 47

Hình 34 Cấu trúc của thư mục DafaS€( -s 6-5 t+EE‡EESEEEEEESEEEEEEEEEEEEEEEEtrkerrkerkrrrkrrs 48

Hình 35 Ví dụ về phương thức LBPH -2-2£+©EE+£+2EEEE£tEEEEEeEEEEEEEEEEEerrrrkrrrrrrked 49

Hình 36 Trainer.yml được sử dụnng trong quá trình nhận diện - - 555-552 50 Hình 37 Độ chính xác của nhận diện khuôn mặt 5 5+2 + +2 *++x£+£+eEeeeeeeeexss 53

Trang 8

Hinh 38 Raspberry nổ TỶ 61 Hinh 39 Man hinh 05ris1s2i1) 1111777 64

Hình 40 Màn hình thong tin người dùng - - 5+ + t2 v21 ng ng ưkg 64

Hình 41 Màn hình lịch sử điểm danh 2-2 c ®SS+EE+EE£EEESEEEEEEEEEEEEEEEErtrkerrkerkrerkrre 65

Hình 42 Màn hình chi tiết lịch sử điểm đanh -2 s2 + E2EE+£EEE+EEEtEEE+tEkeerxesrxeee 65

Trang 9

DANH MỤC BANG

Bảng 1 Bảng đối tượng người dùng hệ thống -2-©222-22Z£2EEE2EEEetEEEErrrkrrrrkerrrred 30

Bảng 2 Bảng công nghệ sử dụng trong hệ thống 2 2¿©22£+2E+2e+2EEEeerervxerrrrred 39 Bảng 3 Kết quả thực nghiệm 2 222 ©S22£92EEE£2EEEE22E21122711117711127111227111 1.11 rrryeg 56 Bảng 4 Bảng kết qua đo hiệu năng và tài nguyên sử dụng trên NVIDIA Jetson Nano 60

Bảng 5 Bảng so sánh cau hình phần cứng 2-2 ©+£££E++££EEE£2EEE£+EEEEzExerrrrerrrred 61

Bảng 6 Bảng tóm tat kết qua so sánh thực nghiệm giữa NVIDIA Jetson Nano va Raspberry

số 62

Bảng 7 Các thách thức và giải phápp - + - +6 + k+k S112 121v HH ng rkg 67

Trang 10

BANG VIET TAT

Trang 11

Chương 1 TONG QUAN

1.1 Phat biểu bài toán

Một phương pháp đôi mới dé theo đõi sự có mặt là Hệ thống điểm danh bằng nhận

diện khuôn mặt sử dụng máy tính nhúng NVIDIA JETSON NANO và ghi lại sự hiện diện

của cá nhân Công nghệ này hỗ trợ điểm danh hiệu quả trong vòng một phần nhỏ của một

giây Hệ thống xác định danh tính một người bằng cách sử dụng hình ảnh khuôn mặt được

chụp bằng camera Sau đó, hình ảnh này được so sánh với các hình ảnh đã đăng ký trong

CSDL trước đó Công nghệ này không chỉ nhanh và hiệu quả hơn so với các phương pháp

điểm danh trước đây mà còn loại bỏ việc ghi nhận thủ công, giảm khả năng lỗi Ngày càng

có nhiều người sử dụng các hệ thống điểm danh dựa trên nhận diện khuôn mặt dé theo dõi

sự có mặt của họ ở các nơi công cộng và trường học.

Hình 1 Sơ đô hoạt động chính của thuật toản nhận diện

Hiện có nhiều cách khác nhau dé điểm danh mà các tô chức, công ty và trường học

có thể sử dụng, chăng hạn như tự đăng ký trên hệ thống, quét vân tay, thẻ thông minh hoặc

10

Trang 12

điểm danh bằng giấy Mỗi phương pháp điểm danh sẽ phù hợp với từng loại tổ chức hoặc

doanh nghiệp với những ưu và nhược điêm riêng:

e Viéc điểm danh học sinh thông thường bang cách gọi tên học sinh mat nhiều

thời gian và phải lặp đi lặp lại.

e_ Chấm công vân tay của người dùng không thé làm gia vân tay, cham công

hộ hay gian lận.

e_ Cham công thẻ từ có thé được áp dụng cho các công ty có nhiều nhân viên

mà vẫn ồn định Nhưng chi phí mua thẻ và máy khá cao vì nhân viên thường

quên thẻ, mất thẻ, cham công hộ nhau hoặc lỗi thẻ.

1.2 Lý do chọn đề tài

Haar Cascade - thuậttoán dựa trên ML thường được sử dụng dé phat hién déi tuong

trong hình anh/video Haar Cascade cung cấp các phương thức xử ly hình ảnh don giản như phát hiện biên và các đặc trưng Haar, khá dễ hiểu và ứng dụng Ngược lại, các mô hình và thuật toán DL thường đòi hỏi kiến thức nâng cao về mạng nơ-ron và ngôn ngữ lập

trình Dù các phương pháp học sâu đã cho thấy hiệu quả trong việc phát hiện và nhận diện

khuôn mặt, thì việc sử dụng Haar Cascade trên hệ thống máy tính nhúng NVIDIA Jetson

Nano lại là một giải pháp giá rẻ và dễ dàng triên khai, rất phù hợp cho các dự án với ngân sách eo hẹp hoặc các ứng dụng không yêu cầu độ chính xác quá cao Sự kết hợp giữa Haar Cascade và OpenCV2 cho phép phát hiện chính xác và hiệu quả nếu hình ảnh có chứa

khuôn mặt Khi các khuôn mặt được tìm thấy, chúng được so sánh với các khuôn mặt trong

CSDL, và việc điểm danh được đánh dấu.

Hệ thống điểm danh nay mang lại cách thức đáng tin cậy và hiệu quả dé theo doi

Sự có mặt trong nhiều tình huống khác nhau, như các trường học, nơi làm việc, Luận văn

tập trung phát triển và xây dựng một hệ thống điểm danh bằng nhận diện khuôn mặt trên

máy tính nhúng NVIDIA Jetson Nano nhằm thay cho việc điểm danh thủ công và phương

pháp chấm công dựa trên vân tay/thẻ, còn tồn tại nhiều bất cập, bằng hệ thống mới dựa trên công nghệ TTNT Hình 1 thé hiện tổng quan hệ thống của luận van.

1.3 Mục tiêu

1.3.1 Tổng quan Mục tiêu của nghiên cứu là xây dựng, tối ưu một hệ thống điểm danh sử dụng tải nguyên phần cứng chỉ phí thấp, tiêu thụ năng lượng ít hơn nhưng vẫn đảm bảo độ tính toán

chính xác cao và có thé thực hiện trong thời gian thực bằng cách sử dụng thuật toán Haar

II

Trang 13

Cascade và OpenCV2 trên máy tính nhúng NVIDIA Jetson Nano Ngoài ra, còn có một

hệ thống CSDL lưu trữ các bản ghi điểm danh và tạo báo cáo Điều này cho phép dé dàng

giám sát sự có mặt trong nhiều tình huồng, trường hợp và điều kiện môi trường khác nhau.

1.3.2 Cụ thể

e Xây dựng một hệ thống điểm danh chính xác và hiệu quả sử dung các công

nghệ mới, có thê sử dụng cho nhiều trường hợp để theo dõi và theo dõi sự

có mặt.

e Sử dung Haar Cascade Classifier và OpenCV2 dé chứng minh tính hiệu qua

của việc xây dựng hệ thống điểm danh, đem lại hiểu suất xử lý luồng hình ảnh/video cao trong nhiều điều kiện ánh khác nhau và tư thế khi nhận diện đồng thời xử lý tính toán tốn ít tài nguyên.

e Thấy được tiềm năng của máy tính nhúng như NVIDIA Jetson Nano trong

việc cung cấp giải pháp nhận diện hiệu quả, tiết kiệm tài nguyên và linh hoạt

về mặt phần cứng và phần mềm Góp phần giúp công nghệ nhận điện khuôn mặt trong hệ thống điểm danh linh hoạt hơn.

e Tạo ra một hệ thống cho phép người dùng truy cập và quản lý dữ liệu.

1.4 Đóng góp của luận văn

Trong những năm gần đây, công nghệ nhận diện khuôn mặt đã trở nên phổ biến

hơn trong quản lý cham công nhờ tính tiện lợi và chính xác của nó Dé phát triển một hệ thống quản lý cham công bằng nhận diện khuôn mặt hiệu quả và chính xác, luận văn đã

sử dụng các công nghệ phần cứng và phần mềm tiên tiến, chang hạn như bộ phân loại Haar Cascade, Camera Raspberry Pi và NVIDIA Jetson Nano mạnh mẽ Luận văn bao gồm việc huấn luyện mô hình nhận diện trên một tập dữ liệu khuôn mặt đã biết trước Điều này cho phép hệ thống xác định và nhận diện khuôn mặt trong thời gian thực Luận văn cũng triển

khai một hệ thống ghi lại thời gian các cá nhân đến và rời điểm danh dé hỗ trợ quan lý

châm công.

Hai lợi thế đáng chú ý nhất của hệ thống là chính xác và tốc độ cao, được đạt được

nhờ khả năng xử lý cua NVIDIA Jetson Nano, cho phép nhận diện khuôn mặt nhanh chóng

trong thời gian thực Bộ phân loại Haar Cascade cũng giúp xác định khuôn mặt chính xác

ngay cả trong ánh sáng khó xác định Hệ thống này cũng có khả năng mở rộng, đây là một

lợi thé quan trọng Hệ thống có thé sử dụng nhiều camera và máy tính nhúng NVIDIA Jetson Nano dé đáp ứng cho môi trường phức tạp hơn.

12

Trang 14

Tóm lại, hệ thống của luận văn cung cấp khả năng nhận diện khuôn mặt thời gian thực với độ trễ tối thiêu đồng thời có tính chính xác cao bằng cách sử dụng các công nghệ

và thuật toán tiên tiến Nó có khả năng mở rộng và tích hợp, giúp nó trở thành một giải

pháp linh hoạt cho quản lý chấm công trong nhiều nơi, chăng hạn như trường học, nơi làm

việc và sự kiện.

Thêm vào đó, kết quả khoa học của luận văn được viết thành bài báo và đã nộp đến

một tạp chí khoa học quốc tế uy tín (được lập chỉ mục ở cơ sở dữ liệu Scopus và xếp hạng

Trang 15

Chương 2 CAC NGHIÊN CỨU VA CÔNG NGHỆ LIEN QUAN

2.1 Các nghiên cứu liên quan

Hệ thống nhận diện khuôn mặt đã trở nên quan trọng hơn trong nhiều ứng dụng như

giám sát, an ninh và sinh trắc học trong những năm gần đây Khi các phương pháp học sâu

(DL) tiến triển, nhiều nhà nghiên cứu đã chuyên hướng sang phát triển hệ thống nhận diện khuôn mặt dựa trên mạng nơ-ron Vì chúng đòi hỏi nhiều tài nguyên tính toán, nên những

hệ thống nay không phủ hợp với các hệ thống nhúng.

Trong nghiên cứu của Y Wen [1], đã giới thiệu một mạng nơ-ron tích chập sâu

(DCNN) được thiết kế dé hỗ trợ nhận diện khuôn mặt Phương pháp này hoạt động tốt nhất

trên các bộ dữ liệu thử nghiệm như LFW, YTF và IJB-A khi mạng học các đặc trưng phân

biệt về khuôn mặt Dang chú ý, chi phí tính toán của phương pháp này thấp hơn đáng ké

so với các phương pháp khác dựa trên DCNN Tác giả đã chứng minh rằng phương pháp

của họ hoạt động tốt trong nhận diện khuôn mặt cũng như xác minh và phân cụm khuôn mặt Một loạt các kỹ thuật đã được phát triển để tối ưu hóa độ chính xác và tin cậy của nhận diện khuôn mặt, khiến lĩnh vực này trở thành một lĩnh vực nghiên cứu đáng chú ý Các phương pháp dựa trên DL đã xuất hiện như một hướng tiến bộ không cần sử dụng hệ

thống nhúng Những phương pháp này thường bao gồm việc huấn luyện các mạng nơ-ron

sâu trên các tập dữ liệu hình ảnh khuôn mặt lớn, giúp mô hình học được các biểu diễn đặc trưng mạnh mẽ cho việc nhận diện khuôn mặt Còn những phương pháp khác, bao gồm các

kỹ thuật ML truyền thống như máy vector hỗ trợ và phân tích thành phần chính, cũng như các phương pháp kết hợp DL với những kỹ thuật truyền thống này, vẫn đang được khám phá Mặc dù có thê yêu cầu tài nguyên tính toán nhiều hơn so với hệ thống nhúng, những

phương pháp này mang lại sự linh hoạt và có thé áp dụng trên nhiều nền tang và thiết bi

khác nhau.

Một hệ thống phát hiện và theo dõi đối tượng thời gian thực sử dụng Camera

Raspberry Pi và OpenCV đã được trình bày bởi Mani và Gnanamurthy [2] Tap chí thảo

luận về một phương pháp tìm kiếm và theo dõi đối tượng dựa trên kiến tric mạng nơ-ron

YOLOv4 và chứng minh sự hiệu quả trong môi trường thực tế Hệ thống của nhóm tác giả

có độ chính xác cao trong khi sử dụng phan cứng rẻ tiền và không tiêu thụ nhiều điện Điều này làm cho chúng phù hợp với nhiều ứng dụng khác nhau, chăng hạn như giám sát và robot Mô-đun Camera Raspberry Pi được sử dụng cho nhiều ứng dụng khác ngoài nhận

diện khuôn mặt Một ứng dụng như vậy cho phép người dùng chụp ảnh và quay video của

động vật hoang đã và bảo tồn chúng trong môi trường tự nhiên của chúng Ngoài ra, camera

đã được sử dụng trong nông nghiệp đề theo dõi sự phát triển của cây trồng và tìm sâu bệnh Lĩnh vực robot có thêm một ứng dụng, nơi camera có thể được sử dụng dé nhận diện và

theo đõi đối tượng Tóm lai, do tính đa dang và chi phí thấp của nó, Camera Raspberry Pi

được sử dụng cho nhiều ứng dụng trong nhiều lĩnh vực.

14

Trang 16

Haar Cascade thường được dùng đề nhận diện đối tượng trong luồng hình ảnh/video

thời gian thực Nó có sự ứng dụng rộng rãi trong giám sát an ninh, quản lý giao thông và

tự động hóa công nghiệp Trái ngược với điều đó, Camera Raspberry Pi là một lựa chọn phổ biến, chi phí thấp và độ phân giải cao, phù hợp cho các dự án như robot, tự động hóa

nhà cửa và thu thập hình ảnh.

Ngoài ra, vào năm 2020, Salih và Basman [3] đã thử nghiệm việc xây dựng một hệ

thống nhận diện khuôn mặt trên máy tính nhúng NVIDIA Jetson Nano và Raspberry Pi Kết quả thử nghiệm của nhóm tác giả cho thấy Jetson Nano có hiệu suất nhận diện thời gian thực tốt hon Raspberry Pi; cụ thé, Jetson Nano xử lý 8,9 khung hình/giây, trong khi

phiên ban thứ 4 của Raspberry Pi chỉ có 2,6 khung hình/giây.

Adoghe, Noma-Osaghae và Okokpujie [4] đã tao ra một ứng dụng nhận diện cũng

sử dụng Haar Cascade vào năm 2021 Nhóm nghiên cứu đã triển khai nó trên Raspberry Pi

sử dụng thư viện Dlib và OpenCV Tuy nhiên, kết quả thử nghiệm chỉ đạt độ chính xác

72.9%.

Ngoài ra, Chandramouli [5] đã giới thiệu một hệ thống điểm danh vào năm 2021 sử dụng thuật toán Haar Cascade trên máy tính nhúng NVIDIA Jetson Nano dé thực hiện các nhiệm vụ như xác định khuôn mặt, trích xuất và gán nhãn Sau đó, nhận dạng khuôn mặt với kết quả thử nghiệm cho thấy TensorRT là một nén tảng tối ưu, độ trễ thấp và lưu lượng

xử lý cao hơn cho các ứng dụng DL đối với các nhiệm vụ như Phát hiện và Trích xuất Khuôn mặt do sự hỗ trợ bố sung cua GPU của TensorRT Tuy nhiên, kết quả nhận diện

khuôn mặt của hệ thông không được đánh giá cao khi sử dụng trên máy tính Desktop Độ

tin cậy này tăng/giảm theo khoảng cách lấy mẫu khuôn mặt.

Một hệ thống nhận diện khuôn mặt thời gian thực sử dụng các bộ phân loại Haar Cascade và mạng nơ-ron trên NVIDIA Jetson Nano được đề xuất trong bài báo của Nayak

và Nanda [6] Theo bài báo, hệ thống mà họ dé xuất có thé đạt được độ chính xác cao với hiệu suất thời gian thực Các tác giả nhắn mạnh rằng các hệ thống nhúng như NVIDIA Jetson Nano cần tài nguyên tính toán thấp Ngoài ra, họ đưa ra các mô tả về thiết kế và

triển khai hệ thống, bao gồm các bước tiền xử lý, phân loại bằng mạng nơ-ron và các bộ

phân loại Haar Cascade dé trích xuất đặc trưng Tóm lại, bài báo đưa ra ý tưởng rằng các

nền tảng nhúng có thé được sử dụng dé phát triển hệ thong nhận diện khuôn mặt với hiệu

suất cao và độ chính xác thời gian thực.

Có nhiều cách khác nhau dé thiết kế ứng dụng điểm danh bằng khuôn mặt Tuy

nhiên, câu hỏi là làm thế nào dé phát triển một hệ thống nhận diện khuôn mặt trực tuyến cho các thiết bị di động nhỏ, ít tiêu thụ năng lượng, ATBM? Những tác phẩm này thể hiện khả năng xây dựng hệ thống nhận diện khuôn mặt bang cách sử dụng các bộ phân loại Haar

Cascade và NVIDIA Jetson Nano với ít tài nguyên tính toán nhưng dat được độ chính xác

15

Trang 17

cao và xử lý thời gian thực Các công trình này cung cấp thông tin quan trọng về thiết kế,

triển khai và đánh giá hiệu suất của hệ thống.

Từ tất cả các ý tưởng và thử nghiệm được trình bày bởi các tác giả trong ba nhóm

[3], [4], [5] [6] luận văn đề xuất việc kết hợp quá trình Phát hiện, Trích xuất, Gán nhãn

và Nhận diện băng cách sử dụng Haar Cascade, một giải pháp phô biến với độ phức tạp

vừa đủ và độ chính xác cao Toàn bộ quá trình được thực hiện trên một máy tính nhúng

NVIDIA Jetson Nano, một thiết bị chuyên biệt AI với khả năng xử lý mạnh mẽ Máy tính nhúng này, mặc dù nhỏ gọn, có khả năng xử lý thời gian thực tốt và cung cấp 472 GFLOPs

dé thực hiện các tác vụ xử lý AI, bao gồm cả các thuật toán DL hiện đại, một cách nhanh

chóng.

2.2 Hướng tiếp cận luận văn

2.2.1 Cơ sở lý thuyết s* Ly thuyết về Haar Cascades

Vào năm 2001, Viola và Jones [7] đã trình bày một cách tiếp cận mới, sử dụng chuỗi

bộ phân loại dựa vào đặc trưng Haar, làm phương pháp đột phá trong việc phát hiện đối

tượng, bao gồm cả việc nhận diện khuôn mặt Cách tiếp cận này nhắn mạnh việc áp dụng

loạt đặc trưng đơn giản dé đạt được hiệu suất cao và độ chính xác trong việc nhận diện đối tượng trong hình anh, đặc biệt là trong các tình huống xử lý theo thời gian thực Kết qua thử nghiệm từ công trình của họ cho thấy phương pháp này có thê xác định khuôn mặt và các đôi tượng khác như người đi bộ và xe cộ với độ chính xác và tốc độ cao Cách thức này

đề cập đến việc huấn luyện loạt bộ phân loại dựa trên nhiều hình ảnh chứa đối tượng cần nhận diện (hình ảnh tích cực) cùng với hình ảnh không chứa đối tượng đó (hình ảnh tiêu cực), nhằm mục đích phát hiện đối tượng trong nhiều hoàn cảnh khác nhau.

Trọng tâm của nghiên cứu này là khám phá các khuôn mặt Quá trình huấn luyện

bộ phân loại khởi đầu từ việc thu thập hình ảnh chứa khuôn mặt (dạng tích cực) và hình

ảnh không chứa khuôn mặt (dạng tiêu cực) Sau khi hoàn thành, việc trích xuất đặc trưng

từ các hình ảnh được thực hiện Dé làm điều này, nhóm tác giả sử dụng các đặc trưng Haar,

giống như các lõi tích chập Mỗi đặc điểm có giá trị có thể được xác định bằng cách lấy

tong số pIxel trong vùng trắng và trừ đi tổng số pixel trong vùng đen Hình 2 minh họa các

đặc trưng cạnh, dòng và góc của Haar Cascade có thé được trích xuất từ mảng hình ảnh

bằng Haar Cascade Thuật toán Haar Cascade tông hợp các đặc điểm này thành một bộ

phân loại mạnh mẽ có thể xác định đối tượng với độ chính xác cao dé xác định các loại đối

tượng khác nhau trong hình ảnh.

16

Trang 18

(a) (b) (c)

Hình 2 Cac loại đặc trưng Haar khác nhau được trích xuất từ một phan của hình ảnh,

(a) Đặc trưng cạnh, (b) Đặc trưng dong, (c) Đặc trưng bon hình chữ nhật

Thuật toán sử dung tat cả các kích thước và vị trí có thé của mỗi kernel dé tính toán nhiều đặc trưng Điều này đòi hỏi một lượng lớn sức mạnh tính toán, đặc biệt là đối với cửa sô 24 x 24 cho ra hơn 160,000 đặc trưng Dé tính toán từng đặc trưng, chúng tôi phải xác định số lượng pixel trong hình chữ nhật màu trắng và đen Hình ảnh tích phân được

cung cấp dé giúp quá trình này trở nên đơn giản hơn Bằng cách sử dụng phương pháp này,

bắt kề kích thước của hình ảnh, số lượng phép tính cần thiết cho một pixel cụ thé chỉ còn

bốn pixel Tính toán trở nên đáng kế nhanh hơn và hiệu quả hơn do điều này.

Một phần lớn tat cả các đặc trưng đã được tính toán là không có giá trị Nhìn vào hình anh sau dé hiéu rõ hơn Các đặc trưng đầu tiên và thứ hai trên hàng đầu tiên là những

ví dụ tốt về các đặc trưng có ích Đặc điểm đầu tiên là bạn có thé thấy rằng khu vực xung quanh mắt thường tối hon so với khu vực xung quanh má va mũi Ý tưởng rang mắt tối

hơn so với phần giữa của mũi là co sở cho đặc điểm thứ hai Tuy nhiên, việc sử dụng cửa

số tương tự cho má hoặc bất kỳ vùng nào khác thì không quan trọng Vì vậy, làm thế nào

họ lựa chọn hơn 160,000 đặc trưng quan trọng nhất? Nhiệm vụ được hoàn thành bằng cách

sử dụng AdaBoost.

17

Trang 19

Mỗi đặc trưng được sử dụng cho tat cả các hình ảnh huấn luyện, và một ngưỡng được thiết lập cho mỗi đặc trưng đề giúp phân loại dễ dàng hơn Tuy nhiên, phân loại sai

sẽ xây ra, và các đặc điểm có ty lệ lỗi thấp nhất được chọn là những đặc điểm có thông tin

nhất Mặc du ban đầu mỗi hình ảnh được gan cùng một trọng số, tuy nhiên, trọng số của

các hình ảnh bị phân loại sai sẽ tăng lên sau mỗi vòng phân loại Điều này khiến việc chọn

này trở nên khó khăn Cho đến khi đạt được mức độ chính xác hoặc số lượng đặc trưng cần

thiết, quy trình này được lặp lại Hình 3 cho thay một vi du về xác định khuôn mặt trong

ảnh.

Bộ phân loại cuối cùng được tạo ra bằng cách sử dụng bộ phân loại "yếu" cùng với tổng trọng số Mặc dù bộ phân loại “yếu” riêng lẻ không thé phân loại toàn bộ hình anh,

nhưng các kết quả được kết hợp tạo ra một bộ phân loại mạnh Theo bài báo, thậm chí 200

đặc trưng cũng có thê đạt được 95% độ chính xác Mặc dù cấu hình cuối cùng có khoảng

6.000 đặc trưng, nhưng cầu hình ban đầu có trên 160,000 đặc trưng.

18

Trang 20

nyo ={ @)

Điều quan trọng là phải có một cách nhanh chóng và dễ dàng dé xác định xem một

cửa số không có khuôn mặt trong hình ảnh đề tối ưu hóa việc phát hiện khuôn mặt Một khu vực có thể được từ chối ngay lập tức nếu xác minh rằng nó không có khuôn mặt Thay vào đó, thuật toán có thể tập trung sự chú ý của mình vào các khu vực có khả năng chứa khuôn mặt cao hơn Bằng cách bỏ qua phần lớn hình ảnh, thường là các khu vực không liên quan đến khuôn mặt có thể giúp tiết kiệm tài nguyên và tăng hiệu suất.

Tác giả đã tạo ra phương pháp "Cascade of Classifiers" đề giải quyết vấn đề này Thay vì áp dụng tất cả 6.000 đặc trưng cùng một lúc vào một cửa số, các đặc trưng được thực thi theo tuần tự và được chia thành nhiều giai đoạn của bộ phân loại, giai đoạn đầu tiên thường không có gì đặc biệt Nhưng một cửa số sẽ bị loại bỏ nếu nó không hoàn thành giai đoạn đầu tiên và không thể tiếp tục sử dụng các tính năng khác Tuy nhiên, nếu điều

đó xảy ra, các đặc điểm tiếp theo sẽ được áp dụng và quá trình tiếp tục Một cửa số đi qua

mọi giai đoạn sẽ được coi là khuôn mặt chứa.

Các tác giả tạo ra bộ phát hiện với 38 giai đoạn sử dụng một số lượng đặc trưng khác nhau, tổng cộng hơn 6.000 đặc trưng Trong năm giai đoạn đầu tiên, các đặc trưng lần lượt là 1, 10, 25, 25 và 50 Hai đặc trưng trong hình ảnh trước đã được chọn là các trình diễn tốt nhất bằng cách sử dụng AdaBoost Tác giả nói rằng, trong hơn 6.000 đặc trưng đã được đánh giá cho mỗi cửa số con, trung bình chỉ có khoảng mười đặc trưng.

“ Kỹ thuật phát hiện của Haar Cascade trong OpenCV

TGMT có khả năng nhận diện các đối tượng như người đi bộ, mắt, và khuôn mặt

thông qua sử dụng kỹ thuật Haar Cascade trong việc phát hiện đối tượng, một tính năng được hỗ trợ bởi thư viện mã nguồn mở OpenCV.

Quá trình phát hiện bao gồm việc huấn luyện một bộ phân loại sử dụng hình ảnh tích cực (chứa đối tượng) và tiêu cực (không chứa đối tượng) OpenCV mang đến một bộ

phân loại đã qua huấn luyện, sẵn sàng cho việc nhận diện khuôn mặt, và có thể được tíchhợp một cách thuận lợi Quá trình phân loại tải tệp phân loại, chụp ảnh từ máy ảnh hoặc

video và truyền các khung hình qua bộ phân loại Khi bộ phân loại tìm thấy khuôn mặt, nó

xác định tọa độ của chúng trong hình ảnh.

19

Trang 21

Đối với việc phát hiện đối tượng, vì kỹ thuật Haar Cascade nhẹ hơn so với các kỹ thuật khác dựa trên DL, nó phù hợp với các thiết bị có công suất thấp như Raspberry Pi và NVIDIA Jetson Nano Triển khai đơn giản và tính toán thấp cũng làm cho việc lập trình và triển khai dé dàng hơn so với DL Mặc dù có nhiều thuật toán DL tiên tiến hơn, các bộ phân loại Haar Cascade vẫn là lựa chọn hợp lý cho phát hiện và nhận diện đối tượng trên NVIDIA Jetson Nano Điều này là do yêu cầu tính toán thấp hơn so với DL, đặc biệt trên các thiết bị có tài nguyên hạn chế như NVIDIA Jetson Nano Hơn nữa, Haar Cascade có thé dé hiểu hơn so với các mô hình DL, giúp người dùng hiểu cách thuậttoán ra quyết định Điều này đặc biệt quan trọng đối với các ứng dụng đòi hỏi khả năng giải thích Ngoài ra, Haar Cascade có thé khá mạnh mẽ hơn trong việc xử lý thay đồi môi trường hoặc ánh sáng

so với DL, do DL thường nhạy cam hon với biến thé dit liệu Mặc dù DL vẫn là lựa chọn hàng đầu cho nhiều nhiệm vụ TGMT, Haar Cascade vẫn là một lựa chọn hữu ích và khả thi cho một số ứng dụng trên NVIDIA Jetson Nano.

Trong thư viện OpenCV, có sẵn một bộ sưu tập các bộ phân loại Haar Cascade đã

được huấn luyện sẵn Những bộ phân loại này tập trung vào việc phát hiện các phần khác

nhau của cơ thể như khuôn mặt, mắt, miệng và cơ thể hoàn chỉnh hoặc một phan Thu vién

này cung cấp cả việc huấn luyện và sử dung bộ phân loại Haar Cascade Các mô hình nay

có thể đễ dàng được lưu trữ trong thư mục data của OpenCV thông qua phương thức

cv: :CascadeClassifier: : load.

2.2.2 Phương pháp nghiên cứu

s* Thư viện xử lý hình ảnh

Để đảm bảo hiệu suất và độ chính xác tối ưu, việc lựa chọn thư viện xử lý hình anh

phù hợp là can thiệt trong quá trình phát triên hệ thông điêm danh dựa trên NVIDIA Jetson

Nano Do các lý do sau đây, OpenCV đã được chọn:

© OpenCV được biết đến với khả năng xử lý hình ảnh và video nhanh chóng,

điều này rất quan trọng cho hệ thống điểm danh thời gian thực Nó tối ưu hóa việc sử dung GPU, điều này phù hợp với phần cứng NVIDIA Jetson Nano trong hệ thống của luận văn.

© OpenCV cung cấp một loạt các chức năng phân tích và xử lý hình ảnh có độ

chính xác cao, bao gồm việc nhận diện khuôn mặt và theo dõi đối tượng.

e OpenCV cho phép tích hợp dé dàng với các thư viện và công cụ khác, hỗ trợ

việc mở rộng và cải thiện hệ thống trong tương lai Khả năng tùy chỉnh cao cũng là một yếu tố quan trọng.

So sánh với các thư viện khác: Mặc dù YOLO là một lựa chọn mạnh mẽ, nó khônghoàn toàn phù hợp với yêu câu của hệ thông điêm danh của luận văn YOLO đòi hỏi tài

nguyên phân cứng lớn hon và có thê không tôi ưu khi chạy trên NVIDIA Jetson Nano Hơn

20

Trang 22

nữa, trong khuôn khổ của luận văn này, nhu cầu chính là nhận diện khuôn mặt chính xác

hơn là phát hiện đôi tượng đa dạng, nơi mà YOLO có ưu thê Do đó, OpenCV được chọn

là thư viện cho việc phân tích hình ảnh của luận văn.

s* Nền tang nhúng

Một số nền tảng khác có thể được xem xét, mỗi nền tảng có ưu và nhược điểm riêng:

© Raspberry Pi: Đây là lựa chọn phổ biến cho các dự án với ngân sách hạn hẹp.

Raspberry Pi có giá thành thấp và cộng đồng hỗ trợ lớn, nhưng nó không chuyên biệt cho xử lý AI và ML nên có thể không cung cấp hiệu suất xử lý

mạnh mẽ như NVIDIA Jetson Nano, đặc biệt trong xử lý hình ảnh và video thời gian thực.

e Google Coral: Đây là một nền tảng phát triển cho AI và ML tới TPU tích

hợp, cho phép xử lý nhanh chóng các mô hình máy hoc Coral có thé là một lựa chọn tốt cho nhận diện khuôn mặt nhờ khả năng xử lý AI mạnh mẽ, nhưng

nó có thé đắt hon NVIDIA Jetson Nano.

¢ Intel Neural Compute Stick: Là một thiết bi phan cứng nhỏ gon có thé kết

nối với máy tính hoặc Raspberry Pi để cung cấp kha năng xử lý AI Tuy nhiên, nó cần kết hợp với một máy tính chủ và không phải là một giải pháp

độc lập như Jetson Nano.

® AWS DeepLens: Đây là một máy ảnh thông minh tích hợp khả năng xử lý

ML, nhưng nó liên kết chặt chẽ với dich vụ đám mây của Amazon, có thé là

một hạn chế muốn một hệ thống hoạt động độc lập.

Lý do chinh cho việc sử dung NVIDIA Jetson Nano dé phát triển hệ thống của luận

văn có thê bao gôm:

© _ Hiệu suất và tối ưu hóa cho AI: NVIDIA Jetson Nano được thiết kế đặc biệt

cho các ứng dụng AI và ML, cung cấp hiệu suất xử lý hình ảnh và video thời

gian thực mạnh mẽ, phù hợp cho nhận diện khuôn mặt.

© Chỉ phí và hiệu quả năng lượng: Jetson Nano cung cấp một sự cân bằng tốt

giữa chi phí và hiệu suất, đặc biệt trong việc xử lý AI với việc tiêu thụ năng lượng thấp.

¢ - Hỗ trợ và cộng đồng: NVIDIA cung cấp một lượng lớn tài nguyên hỗ trợ và

một cộng đồng lớn, điều này có thể hữu ích cho việc phát triển và gỡ lỗi ứng

dụng.

21

Trang 23

2.3 Các công nghệ

2.3.1 Thiết bị phần cứng

s* Máy tính nhúng NVIDIA Jetson Nano

Luận văn sử dụng NVIDIA Jetson Nano, một máy tính TTNT giá rẻ Thiết bị này cung cấp hiệu suất cao cho các khối công việc TTNT hiện đại, mặc dù kích thước nhỏ gọn,

và chỉ tiêu thụ 5 watt điện năng, giúp tiết kiệm năng lượng Như được thé hiện trong Hình

ảnh, Jetson Nano có kích thước 80mm x 100mm và được trang bị GPU Maxwell 128 nhân,

CPU Arm Cortex-A57 4 nhân và 4GB bộ nhớ hệ thống Bang NVIDIA Jetson Nano bao

gồm GPU, CPU và bộ nhớ trong hình 4 Ngoài ra, bảng mach là một công cụ đa năng cho các ứng dụng TTNT vì nó có các công đề kết nói các thiết bị khác như máy ảnh, màn hình

rời, thiết bị thu wifi

s* Camera Raspberry Pi

Mô-đun Camera Raspberry Pi V2 là một máy ảnh đa năng dành cho máy tinh nhúng.

Cảm biến ảnh 8 megapixel Sony IMX219 cho phép chụp ảnh rõ nét và chỉ tiết Hơn nữa, mô-đun máy ảnh có khả năng ghi lại video chất lượng cao với độ phân giải 1080p30 hoặc 720p60 Mô-đun camera bao gồm dây cáp đề có thé kết nói Nó có thé được sử dụng cho

22

Trang 24

các ứng dụng như hệ thông điểm danh sử dụng công nghệ nhận diện khuôn mặt của chúng tôi, như thể hiện trong hình 5.

đơn giản đến những dự án phức tạp và đầy thách chăng hạn như ML, thiết kế Website và

dữ liệu lớn Nó có các thư viện đa dạng cho phép các nhà phát triển xây dựng các ứng dụng phần mềm với hiệu suất tính toán cao và ít tốn tài nguyên hệ thống.

Visual Studio Code — một IDE được sử dụng rộng rãi, hỗ trợ nhiều ngôn ngữ lập trình, bao gồm Python IDE này cung cấp nhiều tính năng tiên tiến như gỡ lỗi, làm nồi bật

cú pháp và hoàn thành mã Hơn nữa, sự kết hợp giữa Visual Studio Code và Python cung cấp một nền tảng mạnh mẽ để xây dựng các ứng dụng phần mềm chất lượng cao với thiết

kế chỉ tiết.

Thư viện Python chuyên về TGMT, OpenCV2, là một phần quan trọng trong việc phát triển ứng dụng TGMT Nhiều chức năng TGMT, bao gồm xử lý ảnh và video, phát hiện đặc trưng và nhận diện đối tượng, có thé được nhà phát triển truy cập với OpenCV2 Tao ra các ứng dung phần mềm hiệu suất cao cho thực tế bằng cách kết hợp OpenCV2 với

23

Trang 25

các thư viện Python mạnh mẽ Bằng cách sử dụng Python và Visual Studio Code cùng với OpenCV2, các nhà phát triển có thé dé dàng xây dựng các ứng dụng phần mềm mạnh mẽ.

Node.js, môi trường chạy mã JavaScript ở phía máy chủ, được dựng trên nền engine JavaScript V8 của Google Chrome Điều này cho phép thực thi mã JavaScript trực tiếp trên máy chủ, không chỉ trên trình duyệt Node.js thích hợp cho việc xây dựng nhiều loại ứng

dụng như ứng dụng web thời gian thực, đa luồng, mạng, dựa trên API và nhiều loại khác.

Nó phù hợp cho các dự án cần hiệu suất cao và khả năng mở rộng.

Angular, một nền tảng Open Source do Google phát triển, dành cho việc tạo ra các ứng dụng web đa trang và động mạnh mẽ Framework này cung cấp một cơ sở hạ tầng và

công cụ quản lý giao diện người dùng và tương tác dữ liệu Angular thích hợp cho việc xâydựng các ứng dụng web phức tạp và đáp ứng, phù hợp với cả các dự án nhỏ lẫn lớn.

24

Trang 26

Chương 3 PHAN TÍCH MÔ HÌNH HÓA YÊU CAU

3.1 Phân tích mô hình hóa yêu cầu

s* Phân hệ QTHT

Phân hệ QTHT là một phần quan trọng của một ứng dụng hoặc hệ thống phức tạp,

nhằm đảm bảo rằng tat cả các thành phần và tài nguyên của hệ thống hoạt động một cách

hiệu quả và an toàn Dưới đây là mô tả về các chức năng của phân hệ QTHT, bao gồm:

Trang 27

o_ Hỗ trợ tổ chức giao điện người dùng và đảm bảo ứng dụng vừa dễ sử dụng

vừa có tính thâm mỹ cao.

o Quản trị viên có quyền thay đổi cách các mục trong Menu được tổ chức, cũng

như thêm đường dẫn đến các chức năng hoặc trang khác.

© Quản lý Thiết bị:

26

Trang 28

o_ Chức năng này cho phép quản trị viên theo dõi và quản lý tat cả các thiết bị.

o Thong tin thiét bi bao gồm tên, mã, trạng thái, thông số kỹ thuật, và lịch sử

sử dụng.

o_ Chức năng cho phép thêm mới, cập nhật thiết bị, cũng như theo dõi tình trạng

hoạt động của thiết bị.

© Quản lý Vị trí Thiết bị:

o Có thể tạo mới, chỉnh sửa vị tri đặt thiết bị.

o_ Chức năng cho phép quản trị viên định vị và theo dõi vị trí của thiết bị.

o Quản trị viên có thể xem thông tin chỉ tiết về vi trí của thiết bị.

© Quản lý NDHT cũng có thé bao gồ việc xác thực và kiểm soát truy cập dé

dam bảo tính bảo mật của hệ thống.

l Các chức năng này cùng nhau tạo nên một phân hệ QTHT mạnh mẽ, giúp dam bảorăng ứng dụng hoặc hệ thông được quản lý một cách hiệu quả, linh hoạt va an toàn, dongthời giúp cải thiện trải nghiệm người dùng và hiệu suât của hệ thông.

s* Phân hệ NDHT

Cấp quyền cho NDHT để truy cập các tính năng điểm danh và kiểm tra bản ghi lịch

sử điểm danh cá nhân.

27

Trang 29

Phân hệ Người dùng hệ thống

Thực hiện Quản lý Thông tin

Điểm danh Cá nhân

Quản lý Lịch sử

Điểm danh

⁄.v⁄ v.v viv

viv

Hình 8 Phân hệ NDHT

Phân hệ NDHT bao gồm các chức năng sau:

© Thực hiện Điểm danh:

o_ Chức năng này cho phép người dùng thực hiện việc đánh dấu sự hiện

điện của họ tại một thời điểm cụ thể.

o Thường được sử dụng trong các ngữ cảnh như giảng day, làm việc tại

vị trí cố định.

o Để đảm bảo tính trungthực của điểm danh,người dùng thực hiện điểm

danh bằng cách đứng trước hệ thống camera và máy tính nhúng

NVIDIA Jetson Nano.

28

Trang 30

e Quan lý Thông tin cá nhán:

o Chức năng này cho phép người dùng quan lý dữ liệu cá nhân của họ

trong hệ thống.

o_ Tên, hình ảnh đại diện, địa chỉ email, mật khâu và các thông tin khác

có thé được cập nhật bởi người dùng.

o_ Chức năng cung cấp kha năng thay đôi và bảo mật thông tin cá nhân

dé dam bảo tính riêng tư và bảo mật.

e_ Tra cứu Lịch sử Điểm danh:

o Cho phép xem lịch sử các lần điểm danh đã thực hiện trong quá khứ.

o Xem thông tin về thời gian, ngày, hình ảnh khuôn mặt và kết quả của

mỗi lần điểm danh.

o Chức năng này có thé hữu ich dé theo dõi và xác minh sự hiện diện

hoặc vắng mặt.

Các chức năng này giúp người dùng thực hiện nhiệm vụ quản lý điểm danh và theo

dõi thông tin cá nhân một cách tiện lợi và hiệu quả.

Trang 31

SIT Tên đối tượng Mô tả

Thực hiện Điểm danh

Quản lý Thông tin Cá nhân

O Quan ly Lịch sử Điểm danh

Trang 32

3.2.3 Quy trình nghiệp vụ chỉ tiết

s* Quy trình nghiệp vụ Quan lý Menu

Nhập đường dẫn

Menu Nhập tên Menu Nhập mã Menu

¢ Quy trình nghiệp vụ Quản lý Thiết bị

a) Quy trình tạo thiết bị

31

Trang 33

Nhập mô tả

thiết bị Nhập tên thiết bị Nhập mã thiết bị

Trang 34

Quy trình nghiệp vụ Quản lý Người dùng

a) Quy trình tạo người dùng

Trang 35

Hình 18 Quy trình cập nhật thông tin người dùng

e Quy trình nghiệp vụ Quản lý Thông tin Cá nhân

Trang 36

Nhập mật khẩu

hiện tại

Nhập lại

mật khẩu mới Nhập mật khẩu mới

Không

Hình 20 Quy trình cập nhật mật khẩu

e_ Quy trình nghiệp vụ Quản lý Lich sử Điểm danh

a) Quy trình xem danh sách lịch sử điểm danh

Xem lưới danh sách im kiếm theo điều kiện

lịch sử điểm danh Từ ngày - Đến ngày Có snes

hông

Chọn điểm danh

cần xem chỉ tiết Chọn nút Chi tiết

35

Trang 37

Chương 4 PHAN TÍCH THIET KE HỆ THONG

Ỉ : SỬ DUNG MAY TÍNH NHŨNG , +.ø " i ‘ _— DATABASE SERVER "

; la - H NVIDIA JETSON NANO H Mã hóa, xác thực 4 QUAN LY DIEM DANH | h

| HỆTHỐNGMÁY ! q ke he cao nie Pe a

Q TÍNHNHÚNG _⁄

-Hình 23 Mô hình phan mém của hệ thong điểm danh

4.1.2 Sơ đồ chức năng

HỆ THỐNG ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT SỬ

DỤNG MAY TINH NHUNG NVIDIA JETSON NANO

Trang 38

Hệ thống điểm danh bằng nhận diện khuôn mặt sử dung

máy tính nhúng NVIDIA Jetson Nano

API Gateway, Access Tokens

Clients ` > Quản lý > _ Xác thực người

„0B = Quantyimeny = người dùng = dùng

0

=]

= 4 | 3 | QuảnWjMifEEbl | > Quản lý > Quản lý

ö Se = an JUNCLDL | .4 vitrithiết bị = điểm danh

a ¬<> z

mm

| Data Services/ Framework

Connector Layer

[ Object Storage

Ki into |

¢ Lớp giao tiếp: Đây là phan của ứng dung mà người dùng cuối tương tac,

được biết đến như lớp giao tiếp Người dùng truy nhập vào hệ thống qua trình

duyệt web.

e Lớp xử ly nghiệp vụ: Xử lý các nghiệp vụ chính và tương tác với các dich

vụ khác trong hệ thống Các thành phần lớp này bao gồm:

o API Gateway: Cho phép các ứng dụng cuối giao tiếp trực tiếp với ứng

dụng Web API Gateway không chỉ cung cấp khả năng tích hợp mà

còn tích hợp các biện pháp bảo mật để bảo vệ dữ liệu.

37

Trang 39

o Hệ thống API Được phát triển trên nền tảng công nghệ Node.js dé

cung cấp các chức năng quản trị và quản lý đữ liệu cho các thành phần khác trong hệ thống.

e Lớp dữliệu:

o CSDLQH: Được sử dụng dé lưu trữ các thông tin về hệ thống và các

tập dữ liệu liên quan CSDLQH sử dụng các bảng và quan hệ giữa

chúng đề tô chức dir liệu Điều này cho phép việc lưu trữ và truy xuất

dữ liệu dé dàng và hiệu quản Hệ thống sử dụng CSDLQH phổ biến

MySQL.

o MinIO: Đây là một giải pháp lưu trữ đối tượng (Object Storage) mã

nguồn mở Ngoài ra, MinIO cho phép lưu trữ các tập tin như hình anh, video, tài liệu và các đữ liệu không cấu trúc khác trong hệ thống.

4.2.2 Kiến trúc triển khai

Clients <<.“ x

Hệ thống điểm danh bằng nhận diện khuôn mặt | MySQL | | MinIO |

sử dung máy tính nhúng NVIDIA Jetson Nano = = =

Trang 40

e Một server ảo hóa được dùng dé deploy các service va database.

e Các module chức năng kết nối với nhau thông qua virtual IP.

e Hé thống giao tiếp với bên ngoài thông qua Firewall.

Server MySQL

Hình 28 Kiến trúc dữ liệu

MySQL là một hệ thống CSDLQH phô biến MySQL được dùng dé lưu trữ lịch sử

điểm danh, danh mục dùng chung và cấu hình hệ thống cũng như tat cả dữ liệu từ hệ thống đến người dùng.

Đóng sói và Triên khai

Bang 2 Bảng công nghệ sử dụng trong hệ thong

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

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

TÀI LIỆU LIÊN QUAN

w