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 3Mở đầ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 4THONG 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 5LỜ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 6Churong 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 74.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 8Danh 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 9Hì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 10Trang 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 11Danh 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 12Từ 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 13Relational Database Management
RDBMS System
GUI Graphical User Interface
HOG Histogram of Gradient
Trang 14Chươ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 15metadata 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 161.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 17Chươ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 18thứ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 19PLUGIN 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 20Authentication: 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 21viế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 22elasticsearch
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 23Cá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 24Cluster 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 26Operating 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 27Chươ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 281 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 29hợ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 30N (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 31Hì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 32Iteration 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 33vì 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 34Bước 2: Tính toán biểu đồ cho từng 6.
21
Trang 35Hì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 36o 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 37Hì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 40d 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