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

Khóa luận tốt nghiệp Hệ thống thông tin: Thiết kế và triển khai dịch vụ nhận dạng khuôn mặt trên nền tảng đám mây

95 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 đề Thiết kế và triển khai dịch vụ nhận dạng khuôn mặt trên nền tảng đám mây
Tác giả Nguyễn Hải Đăng
Người hướng dẫn TS. Nguyễn Thanh Bình
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc Gia TP.HCM
Chuyên ngành Hệ thống Thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 95
Dung lượng 50,91 MB

Nội dung

Các thuật toán phát hiện khuôn mặt Phát hiện khuôn mặt là một thuật toán máy học có thé xác định vị trí khuôn mặt trongmột hình ảnh hoặc video.. Phân tích cảm xúc: Phát hiện khuôn mặt đư

Trang 1

ĐẠI HỌC QUOC GIA TP.HCM

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

KHOA HỆ THÓNG THÔNG TIN

NGUYEN HAI ĐĂNG

KHOA LUAN TOT NGHIEP

THIET KE VA TRIEN KHAI DICH VU NHAN DIEN

KHUON MAT TREN NEN TANG DAM MAY

DESIGN AND IMPLEMENTATION OF A CLOUD-BASED

FACE RECOGNITION SERVICE

KY SU NGANH HE THONG THONG TIN

TP HO CHi MINH, 2023

Trang 2

ĐẠI HỌC QUOC GIA TP.HCM

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

KHOA HỆ THÓNG THÔNG TIN

NGUYEN HAI ĐĂNG

KHOA LUAN TOT NGHIEP

THIET KE VA TRIEN KHAI DICH VU NHAN DIEN

KHUON MAT TREN NEN TANG DAM MAY

DESIGN AND IMPLEMENTATION OF A CLOUD-BASED

FACE RECOGNITION SERVICE

KY SU NGANH HE THONG THONG TIN

TP HO CHi MINH, 2023

Trang 3

Mở đầu

Nhu cầu sử dụng sử dụng các tai san số trên internet tăng cao, chính vì vậy các hệ

thống Digital Asset Management đóng vai trò ngày càng quan trọng Và để các hệ

thống Digital Asset Management có thé quản lý và tô chức các tài sản số của mình một

cách tốt hơn, thì tôi đã cung cấp thêm một giải pháp mới cho việc tìm kiếm và phân

loại tài sản số dựa vào metadata là nội dung của chính tài sản số đó, cụ thể trong đề tài

này tôi sẽ cung cấp dịch vụ nhận diện khuôn mặt dạng SaaS cho các hệ thống Digital

Asset Management.

Vì việc triển khai một hệ thong trén nén tang dam may tốn khá nhiều chi phí, nên

trong dé tài này tôi quyết định xây dựng ở phía local trước, sau khi hoàn thiện tat cả

các tính năng, tôi sẽ triển khai hệ thong lên các nha cung cấp dịch vụ điện toán đám

mây, cụ thê là AWS

Trang 4

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

ngầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 5

LỜI CÁM ƠN

Đầu tiên tôi xin chân thành cảm ơn trường Dai học Công Nghệ Thông Tin — Dai học

Quốc Gia TP.HCM và Khoa Hệ Thống Thông Tin đã tạo môi trường học tập tốt nhất

trong suốt bốn năm qua dé tôi có được những kiến thức quý báu, những kinh nghiệm

học tập nghiên cứu hữu ích, đây sẽ là những hành trang dé tôi có thé vững bước sau

này.

Tôi xin chân thành cảm ơn thầy TS Nguyễn Thanh Bình đã tận tình hướng dẫn, giúp

đỡ, giải đáp thắc mắc một cách tận tình đề tôi có thể hoàn thành tốt khóa luận

Đồng thời tôi cũng xin gửi lời cảm ơn chân thành nhất đến các quý thầy cô trường Đại

học Công Nghệ Thông Tin đã tận tình dạy dỗ và giúp đỡ tôi trong suốt những năm học

vừa qua và cuối cùng là sự động viên của gia đình, bạn bè đã là nguồn động lực để tôi

có được những điều kiện tốt nhất hoàn thành khóa luận này

Mặc dù tôi đã cố gang hết sức dé hoàn thành tốt khóa luận nhưng cũng không thé tránh

được những thiếu sót, tôi rất mong nhận được sự đóng góp quý báu của quý thầy cô và

các bạn.

Xin chân thành cảm ơn quý Thay Cô!

TP Hồ Chí Minh, ngày 13 Thang 11 Năm 2023

Nhóm sinh viên thực hiện

Nguyễn Hải Đăng

Trang 6

Churong 1 Go.ái d4 1

1.1 Đặt vấn đề cccchh nh Hưng ng ưu |1.2 Mục tiêu và hướng tiếp cận ¿- + ©2++2+++x+2EE2EEEEEESEEEEEEEEEerkrrrkerrrees 2

In" ` 32 da áá á á ám l3 ầầ.ắ.ằ.ố 2

1.2.2 Hướng tiếp cận -:-+-©2++2E+2Ek22EE2112711271211211211211 21 cre 3

1.3 Khảo sát và đánh giá hiện trạng - -c 1 1v S1 SH HH ng rệt 3

Chương 2 Cơ sở công nghỆ - G1 3111211993011 1019 11191 ng ng 4

2.1 Ngôn ngữ, thư viện và nền tảng lập trình -¿-+¿2x+x++zxzzxezzeez 42.2 Một số công nghệ web ¿- + t2 2EEEEEE2E2112212717112112111171 21.1 xe, 4

PP N00 0.1 4 2.2.2 MySQL @ z7 £ Ty, BE se se 5 2.2.3 Elasticsearch HH HT HH HH HH HH Hệ 9

2.3 Công cụ và dỊCh VỤ HH TH KH HH HH 12

2.3.1 Môi trường triỂn khai -2- + 2+E2E£EEEEEEEEEEEEEEEEEEEEEEErkerkrrkrrkee 122.3.2 Môi trường phát triỀn - 222 ++E+EE£EESEEEEEEEEEEEEEEEErrkerkerkerkee 13

Chương 3 Co sở thuật toán xà ng ggg 14

3.1 Cac thuật toán phát hiện khuôn mặt - - 55255 + *++*++se+veexseesszesss 14

3.1.1 Haar CasCade HH HH nh ng ngư 15

3.1.2 Histogram of GadI€n( - «+ 4 kh nh ng ng 20

3.1.3 MTCNN 5 23 3.1.4 RetinaFace 0 eee eseesecsecsseessesscesseessecsseseessecseeseesseesseceeseessessaesseesseens 26 3.2 Cac thuật toán nhận diện khuôn mat eee eeesessesscceeceeesececceeeeeeesseeeeeens 28

Chương 4 Phân tích và thiết kế hệ thống ¿- 2: ©+2©5+++++£x+2x+vrx+zrxezrxees 49

Trang 7

4.1 Phân tích thiết kế +: +t+ESEtSE‡E9EEEE2E1E3112E55111212111151151111131111 111.115 eExe 49

4.1.1 Yêu cầu chức năng 2¿ 5¿©-++2+++EE+2EE2EEEEEEEEEEEEEEEkerkrerkrervee 494.1.2 Yêu cầu phi chức năng +: 2+ ©+¿+2£+Ek£EEEEEEEEEEEEEEEEErkrrkrrkerreee 49

SN (na n 49

4.2 Kiến trúc hệ thống 2¿-+¿©2++2E++Ek+2EEE2EE2211271221211271.211 21.21 crxe 50

4.2.1 Các modules trong hệ thống - 2 2 ++E+EE£+E++EE+EEeEEzEErrxerkerreee 50

4.2.2 So đồ phân rã chức năng - ¿- c +E+Ek£EE#EE2EEEEEEEEEEEEErkerkerkrrkee 52

42.3, SOG APL na 534.2.4 Sơ đồ Use Cases tiêu DiGU ccsccscsesssesssssesssesssecssessecssecsuecssecsecasecsneeseeeses 54

4.2.5 Sơ đồ hoạt MONG eecccccccsssesssesssssssssecssecsusssssssscssecsuessecssecssecssessecasecaseeseesses 564.3 Thiết kế cơ sở đữ LGU cceeccescessessesssssessessessusssessecsessusssessecsessusssessessessessseesecses 58

4.3.1 Mô hình tổ chức dữ liệu -2¿ ¿22-5 x2E+2E+2Exerxrkezreerxerxerseee 58

43.2 Mô tả tô chức dữ liệu - - 2-55 ©52+EE2EEEEEEEEEEEEEEEEEEErrrrkerkerreee 594.4 _ Thiết kế thành phần giao điỆn - ¿- 2 + E+EE£EE+EE+EEEEEEEEEerEerkerkrrerrkee 67

AAL Trang landIng HS HH ng HH He 67

4.4.3 Trang thống k6 cccccscecscsssesssesssecssessesssessssssscssecssecssscsscssecssscsusssecasecsssessesses 69

4.4.4 Trang quản lý người đùng - s11 kg ng ey 70

4.4.5 Trang quản lý hệ thống sử dụng dịch vụ 22 2 szs+zs+zx+resreee 70

4.4.6 Trang quản lý khuôn mat - << E1 E131 9v vn kg re 71 4.4.7 Trang quản lý MOdeÌL G1111 91H HH HH ry 71 4.4.8 Trang quan lý tài nQuy6n eee ecsceceneceseeceseecseeesaeceeeceaeeceaeeeseeeeseeeeaes 72 4.4.9 Trang thông tin May CHủỦ - <1 vn HH ng 75

Chương 5 Thực nghiệm với MYMY SG t9 HH ng ng nệt 76

Chương 6 Kết luận và hướng phát triỂn 2 ¿+ x+E++EE£E++E++E£EezEerxerxrrxsree 80

6.1 Kết Ua dat QUOC 0.0 ÍHHiaaaaid 'Ỷ 80

6.3 Định hướng phát triỂn - 2 £+SE+EE£+EE£EE£EEEEEEEEEEEEEEEEEEEEEEEErrkerkerree 80

Trang 8

Danh mục hình

Hình 1 Một số tài sản kỹ thuật số trong DAM - 2-52 ©E+E2+E£EEeEEeEErEkrrserseee |

Hình 3 Logo của Google Photos c1 1 12111191111 11 91111 11 1H nh ng kg kg 3

Hình 4 Logo của MySQÌL, c1 111111119111 1H TH ng HH HH re 5

Hình 5 Tổng quan kiến trúc của MySQLL 2 2© s+SEEE+EE£EE£E££E£EEeEEeEEerxrrerree 6

I§0ii)i08PU lui 851-000 n 9

Hình 7 Elasticsearch có thé dé dang mở rộng theo chiều ngang - 11Hình 8 Mối quan hệ giữa các thuật ngữ RDBMS va Elasticsearch - 11

Hình 9 Thông tin CỦa S€TV€T - Gà E93 kh nh TT HH Hà HH ng 13

Hình 10 Mô tả chung về việc huấn luyện một phân loại Haar -55- 16Hình 11 Các kiểu Haar Feature so ccccsssecsssseecssssescsneesesssesecnsvecesnnesessneeeenneeensnesennneses 17

Hình 12 Minh hoa cách hoạt động của một hình ảnh tích hợp - «+ 18

Hình 13 Biểu điễn thuật toán AdabooSf 5: St SE+EEEEEESEEEEEEEEEeErkererkerxrreree 19Hình 14 Sơ đồ phân loại theo tầng ¿ 2 2:22 52222 2EEt2EEEEEESEEEEEEEEEerkrsrkrrrrees 19

Hình 15 Chia hình ảnh thành các 6 nhỏ - 6 + +33 E3 E#EEsEEEeEeeereeeseesessre 21

Hình 16 Tính toán biêu đồ của từng ô - 2-22 2¿22x2EEt2EEEEEESEECEEEEEEkrrkrsrkrrrrees 22

Hình 17 Kết hợp các biéu đồ nhỏ thành một biéu đồ là vecto đặc trưng cuối cùng 22

Hình 18 Hình anh đầu vào được thay đổi kích thước theo các ty lệ khác nhau để xây

dung kim tu thap himh 0:1 08 Pn 24

000061840) 11 25

Hith 20 R-Net 0 25

Hinh 21 O-Net 1 .Ô 26

Hình 22 Các bước nhận diện khuôn mat . << 5 555222221 ££++++zseeeeeeeezzzz 28

Hình 23.Minh hoa cosine similarity trên không gian 2 chiều .: -5- 29Hình 24 Minh họa khoảng cách I1 trong không gian 2 chiều -: -: 29Hình 25 Minh họa khoảng cách 12 trên không gian 2 chiễu -2 ¿- 5: 30

Trang 9

Hình 26 FaceNet lay hình ảnh khuôn mặt làm vector nhúng đầu vào và đầu ra 34

Hình 27 Hình ảnh khuôn mặt được vẽ ở dạng 2 - +5 + +kEsesserssersres 35

Hình 28 Nhận dạng một người bằng cách tính toán khoảng cách nhúng 36Hình 29 Trạng thái ban đầu trước khi huấn luyện ¿- ¿22 5+2x++z++zx+zz++ 37

Hình 30 Quá trình đào tạo FaceÌNet -.- c1 k SH HH TH TH HH iệt 38

Hình 31 FaceNet là một chức năng lấy hình ảnh khuôn mặt làm đầu vào và xuất ra

một vectơ các đặc điểm quan trọng nhất trên khuôn mặt ¿- - s+s+zs+xezxzzerxez 39

Hình 32 Mô hình Siamese NetWOrKS -.- ctnnv TH TH HH TH ng Hiệp 40

Hình 34 Đặc trưng khuôn mặt được biểu diễn bang vector - 5-5552 46Hình 35 Tổng quan cách hoạt động của vector search trong Elasticsearch 47Hình 36 Tổng quan hệ thống - 2- 2 2 SE 8 E+E£EE‡EEEEEEEEEEEEEEEEEEEEEEEEEEEEErkrrkerree 50Hình 37 Kiến trúc của Job MoOnitOr - 2: + s2E2EE2EE£EEEEEEEEEEEEerkrkerrerkerkerkee 51Hình 38 Sơ đồ chức năng của hệ thống ¿- 2 2 +k++E+EE+EE£EE+EE2EEErkerxerxereee 52Hình 39 Sơ đồ API của Sface Engine 2 2 2 £+£EE£EE£EEEEEEEEEEEEEEEEerkerkrrkerkee 53Hình 40 Sơ đồ use case quản lý ChUNg cccccecceccessessessssssessessesssessessessesssessessesssseeeseeseess 54Hình 41 Sơ đồ use case quản lý hình ảnh -2- 2 2 E+EE2E2EE+EEtEEtzxezreerxerxres 55Hình 42 Sơ đồ hoạt của của upload hình ảnh 2-2 5¿2x2++£x++zx+rxerxecree 56Hình 43 Sơ đồ hoạt động nhận diện khuôn mặt cho bên thứ 3 sử dung dịch vụ 57Hình 44 Mô hình tổ chức dit liệu tổng quan -2¿ 52 s+22x+2x+vzxezrxzrxees 59

Hinh hái 8n 67

Hình 46 Trang đăng nhập - 2-22 S111 SH TH TH TH TH TH ng TH ệt 68

Hình 47 Trang thống kê 2-22 +£©2%£++£+EE++EEEEEEEEEEEEE2EE21127112711211211712 221.2 xe 69

Hình 48 Trang quản lý người dung - c2 c1 3S 3v HH ng giết 70

Hình 49 Trang quản lý hệ thống 2-22 5¿©2££©+££EE+2EEt2EEEEEESEESEEEEEEerkeerkrrrrees 70

Hình 50 Trang quản lý khuôn mặtt - 22.12231121 1 3131111111711 rree 71 Hình 51 Trang quản lý Model - - 191121123911 11 1 ng HH nh nh ng ưy 71

Trang 10

Trang quan Ly tai NGUYEN oo ee ee 72

Popup khi nhắn nhận diện khuôn mặt - ¿2 2 + x2 £E++EeEx+Eerxezezxerx 73Trang chi tiết hình ảnh 2-2-2 2 E2 E2 E£EE£EE£EEEEESEEEEEEEEEEEEEEEEeEErrkerkrree 74

Trang thông tin va trạng thái của máy chủ - «sec sesseesersessrs 75

Khuôn mặt đã được trích Xuất ¿+ + +St+E‡Ek+EEEESEEEESEEEEEEkrkerxererxererkee 77

Các khuôn mặt tương đồng sẽ được đưa vao chung một nhóm 77

Các hình ảnh được phân loại theo khuôn mặt - 5+5 <+<<>+<<++ss2 78

Lay danh sách khuôn mặt đề tìm kiếm - 2 2 2 E£E2+E£+£++zxrseee 78Kết qua tìm kiếm khuôn mặt theo Obama - 2-2 2 2+ +E+£E+£+£+zs+2 79

Trang 11

Danh mục bảng

Bảng 1 Bảng so sánh độ chính xác (precision) của một số thuật toán nhận diện khuôn

5 - ad Á:::- Ö 33 Bang 2 Bang ngur0i c1 107077 ố 59

Bang 3 Bang task q8 aaai 60

Bang 4 Bảng hệ thong ccceccescecccccssessessesscsscssesessessessessessssucssesessesssssessesscsessssessessessesees 61

Bảng 5 Bảng sao lưu dit lIỆU 11 9 931912 HH HH nh y 61 Bang 6 Bang Cai dat ee eececesceesseesessessessesecsecsessseeaeesecseesessessessesseseeeeseaeeaeeaes 62

Bảng 8 Bảng model - c6 + 111 11 vn nh TT TT HH HH Hưng 64

Bảng 9 Bảng JOD Q c2 n TS t1 1 1H HT TH TT TH TT TH TH TH Triệt 65

100008; ác 8 o 66 Bang 11 Bang aSS€K Go HT TH tt 66

Trang 12

Từ viết tắt

Danh mục từ viết tắt

API Application Programming Interface

REST Representational State Transfer

Al Artificial Intelligence

UI | User Interface

SAAS | Software as a service

MVC Model — View — Controller

HTML | Hypertext Markup Language

CSS Cascading Style Sheets

URL Uniform Resource Locator

Feature Dac trung

Integral Image Hinh anh tich phan

Client May khac

Server May chu

Trang 13

Relational Database Management

RDBMS System

GUI Graphical User Interface

HOG Histogram of Gradient

Trang 14

Chương 1 Giới thiệu

1.1 Đặt vẫn đề

Trong thời đại kỹ thuật số ngày nay, việc quản lý và sắp xếp các tài sản kỹ thuật số nhưhình ảnh, video và tài liệu đã trở thành một phần thiết yếu của bất kỳ doanh nghiệp

hoặc tổ chức nào Từ quản lý tính nhất quán của thương hiệu đến hợp lý hóa quy trình

làm việc và hệ thống quản lý tài sản kỹ thuật số (Digital Asset Management - DAM) ra

đời nhằm mang lại nhiều lợi ích có thể giúp các tổ chức hoặc doanh nghiệp tận dụng

tài sản kỹ thuật số của họ tốt hơn

What is a digital asset?

Images Videos Audio

JPEG, PNG, GIF, TIFF, MP4, AVI, MOV, MP3, WAV, AIFF, etc.

Documents 3D models and Web pages and code

PDF, Word, Excel, animations HTML, CSS,

PowerPoint, etc STL, OBJ, FBX, ete JavaScript, etc.

Hình 1 Một số tài sản kỹ thuật số trong DAM

Một trong những tính năng quan trọng trong hệ thống Digital Asset Management đó làtìm kiếm Việc tìm kiếm trong hệ thống Digital Asset Management sẽ dựa vào các

Trang 15

metadata của tài sản đó, tài sản cụ thê là hình ảnh trong luận văn này Về metadata củahình ảnh trong DAM sẽ gồm có 4 dạng chính:

Hệ thống (filename, filesize, )

EXIF

Metadata

Người dùng định nghĩa (tiêu đề, mô tả, )

-Nội dung của phương tiện

Hình 2 4 dang metadata chính trong DAM

1 Metadata của hệ thống như filename, filesize,

Metadata EXIF luu trữ thong tin vé may anh, dia diém chup,

Metadata do người dung tự định nghĩa như tiêu đề, mô tả,

FY N Metadata là nội dung của chính tài san số đó, ví dụ như các đối tượng xuất hiện

trong tam ảnh

Ở trong luận văn này, tôi sẽ tập trung vào Metadata thứ 4 — nội dung của chính tài sản

số đó, cụ thé tôi sẽ thiết kế và triển khai dich vụ dé hỗ trợ chức năng tìm kiếm và phânloại hình ảnh theo khuôn mặt trong hệ thống Digital Asset Management

1.2 Mục tiêu và hướng tiếp cận

1.2.1 Mục tiêu

1 Tìm hiểu các thuật toán nhận dạng khuôn mặt và khả năng áp dụng vào thực tế

2 Thiết kế và triển khai Sface Engine

3 Tìm hiểu về các phương pháp triển khai các thuật toán nhận dạng khuôn mặt trên

quy mô lớn.

4 Thực nghiệm với hệ thống Digital Asset Management có tên là MYMY

Trang 16

1.2.2 Hướng tiếp cận

1 Đánh giá và so sánh các thuật toán

2 Tìm hiểu về các công nghệ web dé thiết kế và triển khai Sface Engine cung cấp

dich vụ thông qua RESTFul API Đảm bảo thời gian đáp ứng nhanh, hoạt động ồn

định 24/7, đáp ứng các yêu cầu của đề tài

3 Tìm hiểu sâu hơn về cách hoạt động của các thuật toán nhận dạng khuôn mặt

1.3 Khảo sát và đánh giá hiện trạng

Hiện nay, có một số hệ thống DAM đã ứng dụng chức năng tìm kiếm và phân loại hìnhảnh trong hệ thống của họ, phô biến nhất là Google Photos

Coogle Photos

Hình 3 Logo của Google Photos

Khi chúng ta tải một bức ảnh lên Google Photos, hệ thống sẽ tự động trích xuất khuôn

mặt trong bức ảnh, và nếu khuôn mặt này có trong cơ sở dữ liệu rồi thì sẽ tự động nhậndạng khuôn mặt cho tam hình, đây được gọi là face auto identification Ngoài ra,

chúng ta cũng có thé chọn khuôn mặt cho từng tam ảnh

Trang 17

Chương 2 Cơ sở công nghệ

2.1 Ngôn ngữ, thư viện và nền tảng lập trình

Các công nghệ được sử dụng trong ứng dụng bao gồm:

các trang thái tài nguyên được định dạng và được truyền tải qua http/https La một

dạng chuyền đổi cau trúc dữ liệu, một kiểu kiến trúc dé viết API Nó sử dụng phương

Trang 18

thức HTTP đơn giản đề tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một

URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như

GET, POST, DELETE, wv đến một URL dé xử lý dữ liệu [1]

2.2.2 MySQL

MySQL.

Hình 4 Logo của MySOL

1 Giới thiệu

- MySQL là một hệ thống quản ly cơ sở dữ liệu quan hệ (RDBMS) hoạt động theo

mô hình client-server cung cấp một triển khai cho cơ sở dữ liệu SQL

- MySQL là mã nguồn mở, có cộng đồng rộng lớn và hỗ trợ trên toàn thé giới

Trang 19

PLUGIN Connectors:JDBC,.NET,PHP,Python CLIENT

Connections / Thread Handling

| SERVER

Query Cache Parser Table Metadata |

InnoDB MYiSAM NDB MEMORY

Hình 5 Tổng quan kiến trúc của MySOL

e Client Layer: là lớp trên cùng trong sơ đồ trên Client đưa ra yêu cầu thông qua

Command Prompt hoặc qua màn hình GUI bằng cách sử dụng các lệnh và biêu

thức MySQL hợp lệ Nếu Biéu thức và lệnh hợp lệ thì đầu ra sẽ thu được trên mànhình Một số dịch vụ thành phần của lớp client là:

- Connection Handling.

- Authentication.

- Security.

Connection Handling: Khi client gửi yêu cầu đến server và server sẽ chấp nhận yêu

cầu va client được kết néi Khi client được kết nối với server vào thời điểm đó, client

sẽ nhận được luồng riêng cho kết nối của nó và tất cả các truy vấn từ phía client đều sẽ

thực thi.

Trang 20

Authentication: Xác thực được thực hiện ở phía server khi client được kết nối với

server MySQL Việc xác thực được thực hiện với sự trợ giúp của tên người dùng và

mật khâu.

Security: Sau khi xác thực, client được kết nối thành công với server MySQL, server

sẽ kiểm tra rằng một ứng dụng khách cụ thê có đặc quyền đưa ra trong một số truy

vấn nhất định đối với máy chủ MySQL hay không

e Server Layer: Lớp kiến trúc MySQL thứ hai chịu trách nhiệm về tat cả các chức

năng logic của hệ thống quản lý cơ sở dữ liệu quan hệ của MySQL Lớp hệ thống

MySQL nay còn được gọi là “Bộ não của kiến trúc MySQL” Khi client đưa ra

hướng dẫn yêu cầu cho server và server sẽ đưa ra đầu ra ngay khi lệnh được khớp.

Các thành phan con khác nhau của máy chủ MySQL là:

Thread Handling- Khi client gửi yêu cầu đến server và server sẽ chấp nhận yêu

cầu và client được kết nói Khi client được kết nối với server vào thời điểm đó,

client sẽ nhận được luồng riêng cho kết nối của nó Luéng này được cung cấp

bang cách xử lý luồng của Server Layer Ngoài ra, các truy van của phía client

được thực thi bởi luồng cũng được xử lý bởi mô-đun Thread Handling

Parser - là một cau trúc dit liệu (cây phân tích cú pháp) của đầu vào đã cho

Trước khi phân tích từ vựng được thực hiện, tức là đầu vào được chia thành số

lượng mã thông báo Sau khi có sẵn dữ liệu trong trình phân tích cú pháp các phần tử nhỏ hơn, hãy thực hiện Phân tích cú pháp, Phân tích ngữ nghĩa sau khi

cây phân tích cú pháp đó được tạo làm đầu ra

Optimizer — Ngay sau khi quá trình phân tích cú pháp hoàn tat, nhiều loại kỹthuật tối ưu hóa khác nhau sẽ được áp dụng tại Optimizer Block Các kỹ thuậtnày có thể bao gồm viết lại truy vấn, thứ tự quét các bảng và chọn đúng chỉ mục

để sử dụng

Query Cache - Bộ đệm truy van lưu trữ tập kết quả hoàn chỉnh cho câu lệnhtruy van đã nhập Ngay cả trước khi phân tích cú pháp, MySQL Server phảitham khảo bộ đệm truy vấn Khi client viết một truy vấn, nếu truy vẫn do client

Trang 21

viết giống hệt trong bộ đệm thì server chỉ cần bỏ qua việc phân tích cú pháp, tối

ưu hóa và thậm chí thực thi, nó chỉ đơn giản hién thị đầu ra từ bộ đệm

- Buffer and Cache - Lưu trữ bộ đệm truy vấn hoặc sự cô trước đó do client yêu

cầu Khi client viết một truy vấn, trước tiên nó sẽ chuyền đến Bộ đệm truy vấn,

sau đó bộ đệm truy vấn sẽ kiểm tra xem có cùng một truy vấn hoặc vấn đề đó

trong bộ đệm hay không Nếu có cùng một truy vấn thì nó sẽ cung cấp đầu ra

mà không can thiệp vào Parser, Optimizer.

- Table Metadata Cache — là vùng bộ nhớ dành riêng được sử dung dé theo dõi

thông tin trên cơ sở dữ liệu, chỉ mục hoặc đối tượng Số lượng cơ sở đữ liệu, chỉmục hoặc đối tượng mở càng lớn thì kích thước bộ nhớ đệm siêu dữ liệu cảng

lớn.

- Key Cache - là một mục nhập chỉ mục xác định duy nhất một đối tượng trong

bộ đệm Theo mặc định, máy chủ biên lưu nội dung vào bộ đệm dựa trên toàn

bộ đường dẫn tài nguyên và chuỗi truy vấn

e Storage Layer: Lớp Storage Layer trong Kiến trúc MySQL này làm cho nó trở nên

độc đáo và được các nhà phát triển ưa thích nhất Lớp MySQL được tính là

RDBMS được sử dụng nhiều nhất và được sử dụng rộng rãi Trong may chủ

MySQL, đối với các tình huống và yêu cầu khác nhau, các loại công cụ lưu trữ

khác nhau được sử dụng là InnoDB, MyISAM, NDB, Memory Các công cụ lưu

trữ này được sử dụng như các plugin có thể được tích hợp một cách dễ dàng

3 Ưu và nhược điểm

o Tính linh hoạt cao

o Tương thích đa nền tang

Trang 22

elasticsearch

Hình 6 Logo cua Elasticsearch

1 Giới thiệu

Elasticsearch là một công cụ tìm kiếm phân tán, được xây dựng cho tốc độ và khả

năng mở rộng Nó được sử dụng dé lưu trữ và tìm kiếm dữ liệu có cấu trúc và không

có cấu trúc, bao gồm văn bản, hình ảnh, video, nhật ky, dữ liệu truyền thông xã hội,

2 Kiến trúc [3]

Kiến trúc cơ bản của Elaticsearch bao gồm các node, là các khối xây dựng cơ bản của

một cluster.

Trang 23

Các node trong Elaticsearch có thê được phân thành hai loại: data nodes and

master-eligible nodes.

- Data Nodes: Cac node nay lưu trữ dữ liệu và thực hiện các hoạt động liên quan

đến đữ liệu như lập chỉ mục, tìm kiếm và tổng hợp Các node dữ liệu chứa các

phân đoạn chính và bản sao của một chỉ mục.

- Master-Eligible Nodes: Cac node này thực hiện các tác vụ quản ly cluster như

tạo hoặc xóa các chỉ mục, gan phân đoạn cho các node và theo dõi tinh trạng

của cluster Các node đủ điều kiện chính cũng tham gia vào việc bầu chọn node

chính mới trong trường hợp xảy ra lỗi

Mỗi node trong Elaticsearch được gan một tên duy nhất và có thé giao tiếp với các

node khác trong cluster qua mang Elaticsearch sử dụng cơ chế khám phá dé tìm va

tham gia các node khác trong cluster Có một số cơ chế khám phá có sẵn, chang han

như khám phá unicast, khám pha multicast và khám pha dam mây.

Một cluster trong Elaticsearch là một nhóm gồm một hoặc nhiều node làm việc cùngnhau dé lưu trữ và quản lý dit liệu Khi nhiều node được kết nối và hoạt động cùng

nhau trong một cluster, Elaticsearch sẽ tự động phân phối dit liệu và truy van cân bằngtải trên tất cả các node trong cluster

Phân mảnh là quá trình chia nhỏ một chỉ mục lớn thành các phần nhỏ hơn gọi là phân

đoạn, có thể được phân phối trên nhiều node trong một cluster Mỗi phân đoạn là một

chỉ mục độc lập có thể được lưu trữ và quản lý độc lập với các phân đoạn khác Bằngcách chia chỉ mục thành các phân đoạn và phân phối chúng trên nhiều node,

Elaticsearch có thê xử lý lượng lớn dữ liệu và mở rộng quy mô theo chiều ngang

10

Trang 24

Cluster Indices Shards Documents

Document 1

Document 2

Node 3

Hình 7 Elasticsearch có thé dé dàng mở rộng theo chiều ngang

Elaticsearch có thé tự động cân bằng dit liệu trên các node trong cluster bằng tinh năng

phân bồ phân đoạn Mỗi chỉ mục được chia thành nhiều phân đoạn và Elaticsearch có

thể tự động phân phối các phân đoạn này trên nhiều node đề đảm bảo tính khả dụng và

khả năng mở rộng của dữ liệu.

Hình 8 Mối quan hệ giữa các thuật ngữ RDBMS và Elasticsearch

3 Ưu vả nhược diém

11

Trang 25

- Uudiém

le) Tốc độ: Elasticsearch có thê tìm kiếm terabyte dữ liệu trong vài mili

giây.

Kha năng mở rộng: Elasticsearch có thé dé dàng mở rộng dé dap ứng

nhu cau của bạn, cho dù bạn có một trang web nhỏ hay một nền tảng dữ

liệu toàn cầu

Tính linh hoạt: Elasticsearch lưu trữ dữ liệu dưới dạng tải liệu, cho phép

bạn lưu trữ bất kỳ loại thông tin nào và thích ứng với các loại đữ liệu

mới một cách dễ dàng.

Phân tích mạnh mẽ: Elasticsearch cho phép ban phân tích, tong hợp va

trực quan hóa đữ liệu của mình, phát hiện các mẫu và xu hướng ân.

Yêu cau phan cứng cao: Elasticsearch có thé yêu cầu nhiều tài nguyên

phần cứng, đặc biệt nếu bạn dang xử lý một lượng lớn dữ liệu

Khó cấu hình và tối ưu hóa: Đề đạt được hiệu suất tối ưu, bạn cần cấu

hình Elasticsearch đúng cách Điều này có thé phức tạp và tốn thờigian, đặc biệt nếu bạn không có kinh nghiệm với Elasticsearch

Khó khăn trong việc xử lý dữ liệu có quan hệ phức tap: Elasticsearch

không phải lúc nào cũng là lựa chọn tốt nhất cho các trường hợp sử dụng

liên quan đến các mối quan hệ phức tạp hoặc các thao tác chuyên sâu

trên dữ liệu.

Công cụ và dịch vụ

Môi trường triển khai

12

Trang 26

Operating System CPU Memory

Platform: linux Manufacturer: Intel Total: 31.21 GB

Distro: Ubuntu Brand: CoreTM i9-10900K Free: 27.40 GB

Version: 22.04.3 LTS Cores: 10x10 Used: 3.82 GB

Arch: x64 Cache: Lid 320 KB Available: 29.13 GB

Kernel: 5.15.0-91-generic Li 320 KB Swap Total: 8.00 GB

L2 2048 KB UEFI: true L3 20480 KB Swap Used: 0.00 GB

Swap Free: 8.00 GB

Graphics Hardware Bios

Vendor: NVIDIA Corporation Manufacturer: ASUS Vendor: American Megatrends Inc.

Model: GA106 [GeForce RTX Model: System Product Name Version: 1208

2.3.2 Môi trường phat trién

e Hé điều hành: Linux Mint 21

e Vẽ sơ đồ: draw.io

e IDE: Neovim

e Quản ly mã nguồn: Git, Github

e Quan lý công việc: Notion

e Giao tiếp và làm việc: Zalo

Hiện nay ứng dụng hoạt động trên nên tảng website đã được cấu hình săn, hiện trangweb đã được chạy trực tiếp trên website với tên miền như sau:

e h((ps://demo.wefop.me/ai-engines

13

Trang 27

Chương 3 Cơ sở thuật toán

3.1 Các thuật toán phát hiện khuôn mặt

Phát hiện khuôn mặt là một thuật toán máy học có thé xác định vị trí khuôn mặt trongmột hình ảnh hoặc video Nó là một công nghệ quan trọng được sử dụng trong nhiều

truy cập vào điện thoại thông minh hoặc máy tính.

Phân tích cảm xúc: Phát hiện khuôn mặt được sử dụng dé phân tích cảm xúccủa một người trong các ứng dụng phân tích cảm xúc, chắng hạn như các ứng

dụng hỗ trợ khách hàng.

Có hai phương pháp chính dé phát hiện khuôn mặt:

Phương pháp dựa trên đặc điểm: Phương pháp này sử dụng các đặc điểm cu thécủa khuôn mặt, chăng hạn như mắt, mũi, miệng và tai, để xác định vị trí khuôn

mặt.

Phương pháp dựa trên học máy: Phương pháp này sử dụng các mô hình học

máy dé học cách xác định khuôn mặt từ dit liệu dao tạo

Phương pháp dựa trên đặc điểm là phương pháp đơn giản hơn và thường được sử dụngtrong các ứng dụng có yêu cầu độ chính xác thấp Phương pháp này có thé bị ảnh

hưởng bởi các yếu tố như ánh sáng, độ phân giải và vị trí của khuôn mặt trong hình

ảnh.

Phương pháp dựa trên học máy là phương pháp phức tạp hơn nhưng thường chính xác

hơn Phương pháp này có thé học cách xác định khuôn mặt trong nhiều điều kiện khác

nhau.

Đề phát hiện khuôn mặt, các thuật toán thường thực hiện các bước sau:

14

Trang 28

1 Tìm các vùng có thé chứa khuôn mặt: Các thuật toán sử dụng các kỹ thuật như phát

hiện cạnh và tìm kiêm vùng dé tìm các vung có thê chứa khuôn mặt.

2 Cắt các vùng có thể chứa khuôn mặt: Các thuật toán sử dụng các kỹ thuật như phân

tích màu sắc va phân tích câu trúc đê cat các vùng có thê chứa khuôn mặt.

3 Xác định các đặc điểm khuôn mặt: Các thuật toán sử dụng các kỹ thuật như nhận

dạng đặc trưng và phân tích khuôn mặt dé xác định các đặc điểm khuôn mặt

4 Liên kết các đặc điểm khuôn mặt: Các thuật toán sử dụng các kỹ thuật như khớp

hình học và khớp đặc trưng đề liên kết các đặc điểm khuôn mặt thành một khuôn

mặt.

Độ chính xác của phát hiện khuôn mặt phụ thuộc vào nhiêu yêu tô, bao gôm:

Chất lượng của hình ảnh hoặc video: Hình ảnh hoặc video có chất lượng tốt hơn

sẽ cung cấp nhiều thông tin hơn cho các thuật toán phát hiện khuôn mặt, dẫnđến độ chính xác cao hơn

Điều kiện ánh sáng: Điều kiện ánh sáng tốt hon sẽ giúp các thuật toán phát hiệnkhuôn mặt nhìn thấy các đặc điểm khuôn mặt rõ ràng hơn, dẫn đến độ chính xác

cao hơn.

Vi trí của khuôn mặt trong hình ảnh hoặc video: Khuôn mặt được đặt ở vi trí

trung tâm của hình ảnh hoặc video sẽ dễ dàng phát hiện hơn so với khuôn mặt

được đặt ở vi trí lệch tâm.

Các yếu tô khác: Các yếu tố khác, chăng hạn như độ phân giải của hình ảnh

hoặc video, cũng có thể ảnh hưởng đến độ chính xác của phát hiện khuôn mặt

Sau đây là một số thuật toán phát hiện được sử dụng trong ứng dụng:

3.1.1 Haar Cascade

Haar Cascade là một thuật toán học may được sử dung dé phát hiện các đối tượng

trong hình ảnh Nó được phát triển bởi Viola va Jones vào năm 2001 và đã trở thành

một trong những thuật toán phát hiện đối tượng phổ biến nhất

Haar Cascade hoạt động bằng cách sử dụng một tập hợp các đặc trưng Haar Đặc trưngHaar là một phép đo sự khác biệt giữa các vùng sáng và tối trong một hình ảnh Tập

15

Trang 29

hợp các đặc trưng Haar được đào tạo trên một tập dt liệu lớn các hình anh có chứa đối

tượng cần phát hiện [4]

Thuật toán bao gồm 4 giai đoạn chính:

1 Tính toán Haar features

Tính toán đặc điểm Haar về cơ bản là các phép tính được thực hiện trên các vùng hìnhchữ nhật liền kề tại một vi trí cụ thé trong cửa số phát hiện Việc tính toán bao gồm

việc tính tổng cường độ điểm anh ở từng vùng và tính toán sự khác biệt giữa các tông

Dưới đây là một sô ví dụ về các tính năng Haar dưới đây.

16

Trang 30

N (a) Edge Features

II — (b) Line Features

(c) Four-rectangle features

Hình 11 Các kiểu Haar Feature

Những đặc điểm nay có thé khó xác định đối với một hình ảnh lớn Day là lúc hình

ảnh tích phân (Integral Image) phát huy tác dụng vì số lượng thao tác được giảm khi

sử dụng hình ảnh tích phân.

2 Tạo Integral Image (Hình ảnh tích phân)

Hình ảnh tích phân về cơ bản sẽ tăng tốc độ tính toán các đặc trưng Haar Thay vì tínhtoán ở từng pixel, nó tạo ra các hình chữ nhật phụ và tạo các tham chiếu mảng cho

từng hình chữ nhật phụ đó Sau đó chúng được sử dụng dé tính toán các đặc trưng

Haar.

17

Trang 31

Hình 12 Minh họa cách hoạt động của một hình ảnh tích họp.

Điều quan trọng cần lưu ý là gần như tất cả các tính năng Haar sẽ không liên quan khithực hiện phát hiện đối tượng, bởi vì các tính năng duy nhất quan trọng là các tính

năng của đối tượng Tuy nhiên, cách dé xác định các đặc điềm tốt nhất đại diện cho

một đối tượng từ hàng trăm nghìn đặc điểm Haar là sử dụng Adaboost

3 Sử dụng thuật toán Adaboost

Về cơ bản, Adaboost chọn các tính năng tốt nhất và huấn luyện các bộ phân loại cách

sử dung chúng Nó sử dung sự kết hợp của bộ phân loại yếu dé tạo ra bộ phân loại

mạnh mà thuật toán có thé sử dụng dé phat hién cac đối tượng Những bộ phân loại

yếu được tạo ra bằng cách di chuyển một cửa số qua hình anh đầu vào và tính toán các

đặc tính Haar cho từng phần phụ của hình ảnh Sự khác biệt này được so sánh với

ngưỡng đã học dé phân tách phi vật thê khỏi vật thé Bởi vì đây là những bộ phân loạiyếu nên cần có một số lượng lớn các đặc tính Haar dé có độ chính xác nhằm tạo thành

một bộ phân loại mạnh [5]

18

Trang 32

Iteration 1 Iteration 2 Iteration 3

————x

Final Classifier/Strong classifier

Packt»

Hình 13 Biểu diễn thuật toán Adaboost

Bước cuối cùng kết hợp những người học yêu này thành người học mạnh bằng cách sử

dụng các bộ phân loại xếp tầng

4 Cài đặt Cascading Classifiers [6]

[posmvemaces | Cascade Classifier

HN mm tr > —_ “> Sage two ad vision.CascadeObjectDetector

function stage three System Object

NEGATIVEIMAGES “mi IB)

Hình 14 Sơ đồ phân loại theo tang.

Bộ phân loại theo tầng được tạo thành từ một loạt các giai đoạn, trong đó mỗi giai

đoạn là một tập hợp những bộ phân loại yếu Những bộ phân loại yếu được đào tạo

bang cách sử dung Adaboost, cho phép bộ phân loại có độ chính xác cao dựa trên dự

đoán trung bình của tất cả những bộ phân loại yếu Dựa trên dự đoán này, bộ phân loạiquyết định chỉ ra một đối tượng đã được tìm thấy (đương) hoặc chuyên sang vùng tiếp

theo (âm) Các giai đoạn được thiết kế dé loại bỏ các mẫu âm tính nhanh nhất có thé,

19

Trang 33

vì phần lớn các cửa số không chứa bất kỳ thứ gì đáng quan tâm Điều quan trọng là

phải tối đa hóa tỷ lệ âm tính giả thấp vì việc phân loại đối tượng là không phải đối

tượng sẽ làm giảm nghiêm trọng thuật toán phát hiện đối tượng của bạn.

e Uudiém

o Nó có thé phát hiện các đối tượng ở nhiều kích cỡ và vị trí khác nhau

o Nó có thé phát hiện các đối tượng bị che khuất hoặc nhiễu

o Nó có thé chạy nhanh trên các thiết bị có phần cứng hạn chế

e Nhược điểm

o Nó có thé không phát hiện chính xác các đối tượng có hình dạng phức tap

o Nó có thé bị ảnh hưởng bởi độ nhiễu trong hình ảnh

3.1.2 Histogram of Gradient

Histogram of Gradient hay HOG là một mô hình đơn giản và mạnh mẽ Nó không chi

được sử dụng dé nhận diện khuôn mặt mà còn được sử dụng rộng rãi dé phat hién cacđối tượng khác như ô tô, vật nuôi và trái cây, HOG rất mạnh dé phát hiện đối tượng

vì hình dạng đối tượng được đặc trưng băng cách sử dụng phân bố gradient cường độ

cục bộ va hướng cạnh [6]

Bước 1: Ý tưởng cơ bản của HOG là chia hình ảnh thành các ô nhỏ được kết

nôi

20

Trang 34

Bước 2: Tính toán biểu đồ cho từng 6.

21

Trang 35

Hình 16 Tinh toán biểu do của từng 6

Bước 3: Tập hợp tất cả các biéu đồ lại với nhau dé tạo thành vectơ đặc trưng,

tức là nó tạo thành một biéu đồ từ tất cả các biểu đồ nhỏ duy nhất cho mỗi khuôn mặt

L

[234, 124, 56, 45,98]

Hình 17 Kết hợp các biểu đô nhỏ thành một biểu do là vectơ đặc trưng cuối cùng

e© Uudiém

o Nó có thé được sử dụng dé phát hiện nhiều loại đối tượng khác nhau

o Nó có thé phát hiện các đối tượng có kích thước nhỏ hoặc bị che khuất.

e Nhược điểm

22

Trang 36

o Nó có thé không chính xác nếu đối tượng có độ tương phản thấp hoặc bi

nhiễu.

o Hoạt động không tốt trên các khuôn mặt ở các góc lạ, chỉ hoạt động hiệu

quả với các khuôn mặt thắng và chính diện

o Nó có thé chậm nếu sử dụng HOG cục bộ

3.1.3 MTCNN

MTCNN (Multi-task Cascaded Convolutional Neural Networks) là một mô hình hoc

máy được sử dung dé phát hiện khuôn mặt trong hình anh và video Nó được phat triển

bởi Kaipeng Zhang, Zhe Cao, Yu Qiao và Xiangyu Zhang tại Dai học Thanh Hoa vào

nam 2016 [7]

MTCNN là một mang CNN nhiéu tang, được chia thành ba giai đoạn:

1 Giai đoạn P-Net: Giai đoạn này được sử dung dé phát hiện các vùng có thé chứa

khuôn mặt trong hình ảnh.

Bước đầu tiên là lay hình anh và thay đổi kích thước của nó theo các tỷ lệ khác nhau

dé xây dựng một kim tự tháp hình anh, là đầu vào của mạng xếp tang ba giai đoạn sau

23

Trang 37

Hình 18 Hình ánh đầu vào được thay đổi kích thước theo các tỷ lệ khác nhau để xây dựng kim tự tháp

hình ảnh

Mang đề xuất này được sử dụng dé thu được các cửa sô ứng viên và vectơ hồi quy hộp

giới hạn.

Hồi quy hộp giới hạn là một kỹ thuật phổ biến dé dự đoán vi tri của các hộp khi mục

tiêu đang phát hiện một đối tượng thuộc một số lớp được xác định trước, trong trường

hợp nảy là các khuôn mặt Sau khi có được các vectơ hộp giới hạn, một số tỉnh chỉnh

được thực hiện dé kết hợp các vùng chồng lap Dau ra cuối cùng của giai đoạn này là

tât cả các cửa sô ứng viên sau khi sàng lọc đê giảm kích thước sô lượng ứng viên.

24

Trang 38

| Conv: 3x3 Conv: 3x3 Conv:3x3 (Œ face

2 Giai đoạn R-Net: Giai đoạn này được sử dụng dé tinh chỉnh các vùng phát hiện

được bởi P-Net và loại bỏ các vùng không chứa khuôn mặt.

Đầu ra của R-Net cho dù đầu vào có phải là khuôn mặt hay không, vectơ 4 phần tử là

hộp giới hạn cho khuôn mặt và vectơ 10 phần tử đề định vị mốc trên khuôn mặt

[ Com:3x3 Comw:3x3€onv2x2 fully n

MP: 3x3 MP: 3x3 G5ii8cði [tee classification |

3 Giai đoạn O-Net: Giai đoạn nay được sử dung dé xác định chính xác vị trí và kích

thước của khuôn mặt.

Giai đoạn này tương tự như R-Net, nhưng giai đoạn O-NET này nhằm mục đích mô tả

khuôn mặt chi tiết hơn và đưa ra VỊ trí của năm điểm mốc trên khuôn mặt cho mắt, mũi

và miệng.

25

Trang 39

[ Cony: ait “Gonv 3x3 Cai My HT —|

LÏ: 3) MP: 3x MP: 2x2 connect l|aee classification |

| ES - @- | [lbounding box regression |

o Có thé phát hiện khuôn mặt trong nhiều điều kiện khác nhau, bao gồm ánh

sáng yếu, môi trường phức tap và khuôn mặt bi che khuất

o Có tốc độ nhanh và hiệu quả

e Nhược điểm

o Có thé không chính xác nếu khuôn mặt bị biến dạng mạnh

o Có thé không phát hiện được khuôn mặt nhỏ hoặc bị che khuất nặng

3.1.4 RetinaFace

Mô hình RetinaFace là một mạng CNN được thiết kế dé trực tiếp dự đoán vị trí và kích

thước của khuôn mặt trong hình ảnh, bỏ qua các giai đoạn phát hiện vùng nghi ngờ

như nhiều mô hình khác Điều này mang lại tốc độ tính toán nhanh hơn [8]

RetinaFace hoạt động theo các bước sau:

1 Đầu vào: Hình ảnh được đưa vào mạng

2 Trích xuất đặc trưng: CNN trích xuất các đặc trưng từ hình anh, dần dan tăng tính

trừu tượng qua các lớp.

3 Dự đoán mật độ: Ở lớp cuối cùng, RetinaFace dự đoán bốn bản đồ mật độ:

a Bản đồ mật độ trung tâm khuôn mặt: Cho biết xác suất trung tâm của khuôn

mặt năm tai mỗi pIxel

b Ban đồ mật độ độ rộng khuôn mặt: Cho biết xác suất cạnh trái và phải của

khuôn mặt nằm tại mỗi pIxel

c Bản đồ mật độ độ cao khuôn mặt: Cho biết xác suất cạnh trên và dưới của

khuôn mặt năm tại môi pixel.

26

Trang 40

d Bản đồ mật độ điểm đánh dấu: Cho biết xác suất các điểm đánh dau quan

trọng trên khuôn mặt (ví dụ như mắt, mũi, miệng) nằm tại mỗi pIxel

4 Hộp giới hạn tông hợp: Từ các ban đồ mật độ, mô hình tổng hợp các hộp giới hạn

dự đoán cho khuôn mặt.

se Uudiém

o Do bỏ qua giai đoạn phát hiện vùng nghỉ ngờ, RetinaFace có tốc độ tinh

toán nhanh hơn các mô hình nhiều giai đoạn

o Đạt độ chính xác cao trong các bài toán phát hiện khuôn mặt tiêu chuẩn

o_ Các bản đồ mật độ cung cấp thông tin phong phú về vị trí và hình dạng của

khuôn mặt, hữu ích cho các tác vụ khác như theo dõi khuôn mặt hoặc ước

tính tư thế

e Nhược điểm

o_ Cấu trúc mạng phức tạp hơn so với các mô hình nhiều giai đoạn, đòi hỏi

nhiều tài nguyên tính toán hơn

o Nhạy cảm với nhiễu trong hình ảnh, ảnh hưởng đến độ chính xác

27

Ngày đăng: 02/10/2024, 02:32

w