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

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Nền tảng ứng dụng về tập luyện và dinh dưỡng

119 4 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 đề Nền Tảng Ứng Dụng Về Tập Luyện Và Dinh Dưỡng
Tác giả Lưu Lê Ba Chính, Nguyễn Ngọc Quang Huy
Người hướng dẫn TS. Nguyễn Thị Xuân Hương, ThS. Nguyễn Công Hoan
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Cử nhân ngành Kỹ thuật phần mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 119
Dung lượng 32,86 MB

Nội dung

Vận dụng những công thức tính toán dinh dưỡng từ các bài báo, nghiên cứu khoa học uy tín, cộng kèm với sự phát triển của trí tuệ nhân tạo, ứng dụng phân tích món ăn, gợi ý, đưa ra lời kh

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA CONG NGHE PHAN MEM

LUU LE BA CHINH - 20521133 NGUYEN NGOC QUANG HUY - 20521401

KHOA LUAN TOT NGHIEP

NEN TANG UNG DUNG

VE TAP LUYEN VA DINH DUONG

The platform for fitness and nutrition application

CU NHAN NGANH KY THUAT PHAN MEM

GIANG VIEN HUONG DAN

TS NGUYEN THI XUAN HUONG

ThS NGUYEN CONG HOAN

TP Hồ Chí Minh, tháng 6 năm 2024

Trang 2

LOI CAM ON

Lời đầu tiên cho phép nhóm em gửi lời cảm ơn chân thành va lòng biết on sâu sắc

đến quý tập thé quý Thầy Cô Trường Đại học Công nghệ thông tin - ĐHQG TPHCM vàquý Thầy Cô khoa Công nghệ phần mềm, đặc biệt là TS Nguyễn Thị Xuân Hương và ThS.Nguyễn Công Hoan đã trực tiếp hướng dẫn, tận tình sửa chữa, đóng góp nhiều ý kiến, kinhnghiệm quý báu cho chúng em hoàn thành báo cáo khóa luận Đồng thời chúng em cũngrất biết ơn sự góp ý và chỉnh sửa từ giáo viên phản biện cùng với hội đồng cho đề tài của

khoá luận của nhóm em.

Trong suốt quá trình thực hiện đề tài, nhóm em đã vận dụng tối đa những kiến thứcnền tang đã tích lũy, đồng thời nghiên cứu những kiến thức mới dé phục vụ làm khóa luận.Tuy nhiên, chúng em cũng gặp nhiều khó khăn nhất định nên những hạn chế, thiếu sót làđiều khó tránh khỏi Chính vì vậy chúng em rất mong nhận được sự góp ý, nhận xét từ phíahội đồng dé hoàn thiện hơn

Nhóm em xin chân thành cảm ơn!

TP Hồ Chi Minh, ngày 17 tháng 6 năm 2024

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

Lưu Lê Bá Chính

Nguyễn Ngọc Quang Huy

Trang 3

MỤC LỤC

Chương 1: GIỚI THIEU DE TAL 5° 5° s22 2S 2 s£ s£Es££seEss£ss+ssessessesse 1

LL Cái 0 (4 1

1.1.2 Đối tượng và phạm vi nghiên CỨU - 2-2 2 + +x+EE+EE+EE+£E+E+2EzEzzzxsrxees 2

1.1.2.1 Đối tượng nghiên cứu - ¿- 2 2+2x+E£EESEEEEEEEEE21711211211211211211 1E xe 2

1.1.2.2 Phạm vi nghiên CỨU c5 23322183211 8351 1321115219111 E1 E111 xre 2 1.1.2.3 Muc tidu mghién CUU ng 3

1.1.2.4 Kết quả nghiên COU ecccecccssesssesseessessesssessesssessesssessesssessesssessessesssessetsessees 31.1.3 Phát biểu bài toán :.:ccc 222cc 11,22 Hư, 41.2 Tổng h1" £€đ£ <Ấ“a 6 ếố hẻẽ 4

1.2.1 Tổng quan về bài toán luyện tập và dinh dưỡng - 2 2 2 2 s+zz+cxee: 4

1.2.2 Tinh hinh nghién Ctu HDDDDỤDIPỊNỊNỊNẠỌẠỌIaaDỤDỤỦỒ 5

1.2.2.1 Nghiên cứu trên thế giGi oo cecccceceesessesscssescssesscssesvssessesncsvssesassnssvsstssesneaveass 5

1.2.2.2 Nghiên cứu trong ƯỚC - - - - 5 + 2S 3331113331 E*EEESEEESErEsrkrsrrerrrererere 9 1.2.3 Nhận xét và đánh giá - 1h19 TT HT TH Hàng ngư 9

Chương 2: CƠ SỞ LÝ THUYET -2- 5< 5< 5£ ©s£©S£ss£S££Ss£Ss£Es£EseEseEseEserssrssrssre 11

2.1 Mô hình nhận diện thực phẩm 11

2.1.1 Cơ sở lý thuyẾT - 2-5252 E1 E12 1 E1EE127121121211211211211211211211 21111 11x 11

2.1.1.1 Bài toán nhận diện - - E22 112211111211 11181 111181211118 11118111182 xe 11 2.1.1.2 M6 hinh 0400117 ẻ.ẻ.H 12

Trang 4

2.1.1.2.5 Một số bài tốn thường gặp khác 2-2 2+cs+x+zxerxerxerxerreee 19

2.1.2 Thu thập dit liệu 2 2¿+22+2E2EE+EEt2EEEEE2EE271221271211271211211711 1121 xe 19

2.1.3 Quá trình thực hiỆn - cceccceseceeseeeseeeeseceseeceseceeeceseeesseceseeessseesseesseeeaes 20

QA KGt nha 31

2.2 AI chat và bài tốn tư van người dùng oo eeseesessesessessessessessessessessessessessees 32

2.2.1 Đặt vấn đề - cv E211 11111111111111111111111111111E11111E111111111ETEE1EEETeE 32

2.2.2 ChafbOI 52-22222221 2211221221121127112112711211211121121121121121121111211 1e 32

2.2.2.1 Những điều cần biẾt ¿- 2c SE 12211211211211211211211 21111111 re.32

2.2.2.2 Hướng dẫn sử dụng ¿+ + 2 SE2E£EEEEE2EE1EE121215121717111121 11 te 33

2.2.3 Ứng dụng 7: =@ 34

2.2.3.1 Chuẩn bị dữ liệU ¿-2¿- 52 22222232 22122112212211221271211271211 212 tre 34

2.2.3.2 Cách thực hiện c¿262-5- 5 25 Scc E2 2E2122110211211011121111 21111 re 34

2.2.4 CC NnNnNnN nã (é ` maậạ 34

2.3 Kiến trúc MicrOServices E1 151151 1111E1111E11111111111111111E11111111111 1x cEe 35

2.3.2 Kiến trúc miCTOS€TVÏC€S - - S1 3E EEE121E1111E2111111111111E111.11 111v 35

2.3.3 So sánh Microservice và MonolitHh - << 5s S222 eeeeessreeees 37

2.4 Kiến trúc hệ thống ¿- -©sSk9EE2EEEEEEEE12111121121121111111121111111111 1111 xe 38

2.4.1 Kiến trúc ứng đụng - 2-52 +99 12E2EE21921211217121121121111121 1111 38

2.4.2 Cách thức hoạt động ¿c1 111121112 11101111 11181111 1110211101118 1 8k rệt 40

2.4.2.1 Xác thu occ cccccecccsssscccccccecessssessssssssssccceeceseseesssssssssseeeseessseeeetseeesess 40

2.4.2.2 Gateway APL ou cccceccccscessesseessesssssesseessessesssessvsssessesssecsesssessesssessesssesseeaseeses 40

“4 6h sai ^ 40

2.4.2.4 Đồng bộ hố - 2©52+212EE9E19EEE21E21E712112112112112112112111111 1111 re.41

2.4.2.5 Giao tiẾp cSn n1 1211211211211 11 1121111111111 21 1 11 re 41

Trang 5

2.5 Lý thuyết về tính toán đinh đưỡng - ¿2£ 2+E2E2E+2EE2EEEEEEEEEEEEEEEEEcrkrrrres 42

2.5.1 Lý thuyết cơ bản ¿- ¿+ Ss2S2 E1 EEE19212121112112112111112111111111 1111 42

3.2.1.1 Danh sach Cac vo an 48

3.2.1.2 Danh sách các Se-CS€ - óc HS nh HH HH HH tt ưệt 48

3.2.1.3.7 Hướng dẫn nấu ăn ¿- 2-2 sSE‡9EEE2E1231211211221221221 7121212 55

3.2.1.3.8 Tra cứu thực phẩm ¿2 ++++E‡EEEE2EE2EEEEEEE2E121712111121 111 xe 56

3.2.1.3.9 Thêm thực phẩm vào nhật ký ngàyy 2-2 + s+c++£z+£+zxerxzcez 57

3.2.1.3.10 Hướng dẫn tập luyện - + + ©2+E+E+E£EE2E2E£EEEEEEEEEEEEErErkrrerrree 59

3.2.1.3.11 Thêm bai tập luyện vao nhật ký hàng ngày -c+S-5- 60 3.2.1.3.12 Tập luyện ngay - c3 vn TH TH HH Hưng key 61 3.2.1.3.13 Nhật ký hàng ngày - - Án nh HH HH nh tư như61

3.2.1.3.14 Xem biéu đồ thống kê - ¿2 +S2E£+E£2E2EE2EE2EE2EEEEEerxerxerree 62

3.2.1.3.15 Theo dõi người dùng - + 2 +11 S211 1139111911 9111k re63

Trang 6

3.2.1.3.16 Đăng fIT\ - ch TH TH TH TH HH nh 64 3.2.1.3.17 Feedback từ trợ lý ảO - St n1 HS HS H11 191 1 ky re,65

3.2.1.3.18 Phân tích bữa ăn - - Án TH TH TH HH nh nh th tư nu65

3.2.2 Activity Diagram O4 66

3.2.2.1 Cung cap thé trạng va lựa chọn mục tIÊU ¿+ +5 s++++s++s++x 66

3.2.2.2 Quan lý tài khoản cá nhân 5 222 3322133211121 EEErrrkree 67

3.2.2.3 Giám sát dinh dưỡng - . - - c2 3211321131911 1191 118111111181 1111 811 re, 67

3.2.2.4 Hướng dẫn nấu ăn - 2 + S+E9E92EE2E21121121121121121121111 111111 re.683.2.2.5 Tra cứu thực phẩm - - ++Sx+SE+E+E£EEEEE2E2EE715112117171112111 111 xe 693.2.2.6 Thêm thực phẩm vào nhật kí hằng ngày 2-2 2£ s+>x£xezxezsz 70

3.2.2.7 Hướng dẫn tập luyện - ¿52 St SS12121821E121215221217111 112111 te 71

3.2.2.8 Thêm bài tập vào nhật ký hang ngày - 2-2 2 s+cx+rxerxerxerreree 72

3.2.2.9 Tập luyện ng đ :v Ỉ ìĂằĂêÍisee 73

K2 ND i80 i0 eea.- 74

3.2.2.11 Xem biểu đồ thống kê - ¿5£ 22S22E22EE2E1221221221271 7121212 re.75

3.2.2.12 Theo dõi người dùng - - - ¿+ ¿+ 2c 1222111211122 1182E5111121EE811 1E ce+ 76

3.2.2.13 Dang án 77 3.2.2.14 Feedback tt tro LY 80 oo .e- 78 3.2.2.15 Phan tich bita nan Ằ 79

3.3.3 Thiết kế cơ sở dữ HOU oe eeeceeeccseeeeessseeeessseeeeseeesssneesssneeessnneeeesneeeesneeessnnees 80

Chương 4: XÂY DUNG UNG DUNG s- 5< cs<©sscssevseerseerssersserssersserssee 83

4.1 Sơ đồ màn hình -.: ©+:+22++22221122211222111272 122 E122 tri 83

4.2 Chi tiết màn hình -:¿-52++2222vt22E2 t2 tri 84

4.3.2 Đăng ký c1 n0 ng n2 re ceraa 85

Trang 7

4.3.3 Quên mật khâu -¿- ¿+ ềSt‡EEEEEEEEE1211111111111111111111111 111111111 xe 86

4.3.4 Khảo Sat ces eeccceccesssesssesssesssesssesssecssesssecssesssesssesssesssesssesssesssesssesssetasetssesasetseesseess 87

4.3.5 Màn hình chink 00 0ccccccccccccsssccesscecesseecesseecessseceesseceesseecesseecesseecesseesenseeeees 90

4.3.6 Tìm kiếm thực phẩm -¿- 2 + +s+SE+SE+E£EE£EEEEE2EEEEEEEEEEE171711111 71112 Xe 91

4.3.7 Quét thực phan c.cccccccccccsscssssssssessessessessessessessessessessessussusssessessesecssesseesesseeaes 92

4.3.8 Nau ăn hàng ngày - 2-52 St 12E121212112112112111112112111111 11 11c 93

Chương 5: KET LUẬN ussccssccsssscssessessessssssssssssssssssssssssssscsscsscssesacsnsssessnssssensensenseneescese 104

5.1 Góc nhìn cá nhân về đề tài -¿- +: 52221222 2E1EEE222122112312711211271211 221 2 xe 104

5.2 Thuan loi va Kho Khan 01 - 4 104

5.2.1 Thuận Oi ceccccssesssesssesssesssesssessseessesssesssessssssesssessseessesssesssesssesssesssesssessseeeseee 104 5.2.2 Khó KAA ce eccecccesssesssesssesssesssecssesssesssesssecsssssesssesssesssesssesssesssesssesssesssessseessees 104

5.3 Két quả đạt ẨƯỢC c1 2.11211221110111 11101111011 g1 TH TH ng HH rệt 105

5.3.1 Kiến thức - + 5¿+2<+SE2E19212212711211271121127112111112111112111121111211 1 xe 105

5.3.2 Ứng dụng -:- 2-5 t 2E921211211211211211211271211111111211211211211211 211.1 1e 105

5.4 Hạn ChẾ - ¿2 ©52+2x2E122112112212112212711271711211111211111211111211111111 111 kg 106

5.5 Hướng phát triỂn -:- ¿+ ¿+2+EE+EE£EE2E12E19215717171711711211211211211211 11.1111 xe 106

TÀI LIEU THAM KHẢO 2- 2 2° 5° 5£ 22s SE 3£ seEsezsesstsersersesee 107

Trang 8

DANH MỤC HÌNH

Hình 1.1: Hình anh ứng dụng FifnessSÌPal - - - - - 5+ 3113211135111 1 191119111811 1 ng ray 6 Hình 1.2: Hình ảnh ứng dung home Workout — No Equlpmeni - + +-s+++ss>++s 8

Hình 2.1: Hình ảnh so sánh tốc độ Y OlO - 5c St+E+E+EEE+E+EEEEEEEEEEEEEEEEEEEeEEEErErrererrsree 13Hình 2.2: Hình ảnh kiến trúc yOÌO -¿- 2 2E E9EE9EE+E£EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErkerkrree 14

Hình 2.3: Hình ảnh ví dụ cho Residual bIOCKS - <5 552255 + + +22 +++eeeezeeeeesexess 15 Hình 2.4: Hình ảnh ví dụ cho Bounding box regression -.5 552225 **S*+ssvxsses2 16 Hình 2.5: Hình ảnh vi dụ cho IO 22c 2221111112231 111 1155311111185 1 1111182511 re 17

Hình 2.6: Hình ảnh kết quả sau 25 epoch đầu tiên 2 2 2+ 2+++£++£++£x+zxerxerseez 22Hình 2.7: Hình ảnh kết qua train batch l - 2-2 ++x+£E+E++E++EE+E+2EEEEEEEEerxerkerkees 22Hình 2.8: Hình ảnh kết qua train batch 2 2-2-5 S£+E+E£2EE2EE2EE2EESEEEEEEEEerxerxerrerex 23

Hình 2.9: Hình anh kết quả train batch 3 - ¿+52 +kS2+S++E££E£EEEEE2EEEEEEEEEErEerkerkrree 24

Hình 2.10: Hình ảnh metrics/mAPS c6 131199189911 119 119111 ng ng nàng25 Hình 2.11: Hình ảnh metr1CS/T€C1SIOTI - c1 213118511951 E2 EE#EE+EEEeekereesrkererreere 26 Hình 2.12: Hình ảnh metrICS/TreCaÌÏ, ¿- -¿- ¿c6 1E 191951 91 1 91 1 1 1 vn tư rưy 27 Hình 2.13: Hình ảnh metrics/mAAPSS0-95 - c- c2 2 12112112 119111 111 1 91 1 ng net 28

Hình 2.14: Hình ảnh chỉ số tập train - c2 + Sx9EE+E‡EEEEEEEEEEEEEEEEEEEEEEEEEEEEErkerkerkrree 29

Hình 2.15: Hình ảnh chỉ $6 tập val c s- ¿+2 6 sSE2E2EEEEEE12E121E11511211117111211 11111 xe 30

Hình 2.16: Hình ảnh val batch - - - 2c 2221213211151 1321 1518115111151 E111 Ekrrry 3l

Hình 2.17: Hình anh minh họa kiến trúc MicroserViCes -¿-¿2 2 +s+s+E+s+E+E+E+E+E+xrrsssz 36

Hình 2.18: Hình ảnh về kiến trúc hệ thống - - 2 ¿+ ++E£2EE2EE2EE+EE2EE+EEeEEeEEerxerxere, 38

Hình 3.1: Sơ đồ se-case - 5-5252 222212212212212717121211211211211211211211 2111 1 xe 47Hình 3.2: Sơ đồ activity cung cấp thể trạng và lựa chọn mục tiêu -: -s++++ 66Hình 3.3: So đồ activity quan ly tài khoản cá nhân 2 2 2+2z+E2+EE+EE+Exerxerxerxeez 67Hình 3.4: Sơ đồ activity giám sát dinh đưỡng - +52 E2 E2 erkerkrree 67

Hình 3.5: Sơ đồ activity hướng dẫn nấu ăn 2-5-1 EE2EE‡ESEEEEEE2EEEEEE121121 111 xe2 68Hình 3.6: So đồ activity tra cứu thực phẩm -¿- 2 + +s+2E++E++E+2EE2EE2EE2EEEEEerkerkerkeee 69Hình 3.7: Sơ đồ activity thêm thực phẩm vào nhật ký ngày 5-2 2 e+sezerxsce2 70Hình 3.8: Sơ đồ activity hướng dẫn tập luyện 2- 22 +2E22EEt2E2EEEEEEEEerrrrrres 7l

Hình 3.9: So đồ activity thêm bài tập vào nhật ký hằng ngày - 25c csccssce2 72Hình 3.10: Sơ đồ activity tập luyện ngày - 552 +5+2E2E 2222221221221 2212121 rkcrk,73

Trang 9

Hình 3.11: Sơ đồ activity nhật ký hàng ngày -5 52 S222 E2 12212 EcEEerrerrees 74

Hình 3.12: Sơ đồ activity biểu đồ thống kê - ¿ 2+ £+E++EE2EE£EE2EEEEEEEEErEerkerrrrer 75

Hình 3.13: Sơ đồ activity theo đði người đùng + 2-52 SE 2E EEerkrrrrree 76Hình 3.14: Sơ đồ activity đăng tin ¿52512212 2E 212211211211211211211211 1111 xe 77Hình 3.15: Sơ đồ activity feedback từ trợ lý ảO - +52 2121212112121 1e xe 78Hình 3.16: Sơ đồ activity phân tích bữa ăn 2-5-1 SE E8 2171112111111 xe 79Hình 3.17: Sơ đồ quan hệ main S€TViC€ - - 2-52 St +SSE9EE2EE£EEEEEEE2EE21E71E121121 212 xe2 80

Hình 3.18: Sơ đồ quan hệ authentication service - 2 2S EE‡E2E£EEeEEErEerkerxsree 81Hình 3.19: Sơ đồ quan hệ social s€rViCe 2-2 2 SSE2E£EE2EE2EE2EE2EE2E122122121 22x S1Hình 3.20: Sơ đồ quan hệ notification S€TViCe - + 2 2+S2+E++EE+EE+EE2EEEEEeEEerxerkerreee 82

Hình 4.1: Hình ảnh sơ đồ màn hình s¿-22+222++t22EEYvttEExtttrtrtrrtrtrtrrrtrtrrrrrrreg 83

Hình 4.2: Màn hình đăng nhập - -. - - G2 E321 8353 1355111311551 1181111111811 1111k re 84 Hình 4.3: Man hình đăng ký . 2c SG 3222 11301112111121 1151112111911 111119 11H ng ng re 85

Hình 4.4: Cụm màn hình thay đối mật khẩu - 2 2 ++E£2E++EE+EE+EE+EE£EEeEEerxerxerseea 86

Hình 4.5: Cụm màn hình câu hỏi tong quat ccccccccccccececsessessesssesessssessessessessesseeseeseesees 87

Hình 4.6: Màn hình tính toán TTDEIE (c2 190112301 12118311 8911911 911 911 11g ng ngư S8

Hình 4.7: Cụm màn hình câu hỏi thé trạng chỉ tiẾt 5-52 2 s2SE2EE+E£EE£EEzEEzEeEEerxzrez 89

Hình 4.8: Man hình chính 6 x1 1 11211 vn TH TH Hàng HH HH TT nhiệt 90

Hình 4.9: Màn hình tìm kiếm thực phẩm - 2-2 5£ 2E22E£+EE2EE£EE2EE+EEeEEeEEerxerseee 91Hình 4.10: Man hình quét thực phan i c.ceccecsscesessessessessessessessesessessessesessessessessesseesees 92Hình 4.11: Cụm màn hình nấu ăn hàng ngày 2 2 2+S£+SE+EE£EE£EEeEEeEEerxerrerreee 93

Hình 4.12: Màn hình danh sách bài tap - c1 1211 9118 11911 911 1 ng ngư 94 Hình 4.13: Màn hình thêm bài tập luyện - - 2c 22 3322133211132 .Exree 95 Hình 4.14: Màn hình thêm bai tập luyỆn - -.- (6c 321183112 E31 1 1E krrrsee 96 Hình 4.15: Man hình nhật ký - c2 2321112113231 3151 1195115511181 1 01118 11 01 81 re 97

Hình 4.16: Màn hình thống kê lượng tiêu thu trung bình ngày 2 25c sccszs+ 98

Hình 4.17: Màn hình dang tin - - - (G22 1221112111291 11111 111118 111 1118 11 81118 1H kg 99

Hình 4.18: Màn hình kết bạn 2¿- 2 ©S¿22<92E2E122E221271122122112112711211271211 22121 e6 100

Hình 4.19: Màn hình cá nhân - <1 111199112 1 911 vn nh ng nh nh 101

Hình 4.20: Màn hình tư van chatbot c ccccccsccssssssesssessesssessesssessesssessesssessessssssesssesseeseees 102

Hình 4.21: Màn hình phân tích món ăn - 5 2 222 3323 E+2EE+#EE+vEEEeeerereereeerrree 103

Trang 10

DANH MỤC BANG

Bảng 2.1: Bảng so sánh Monolith và MICTOS€TVICGS, - 5 S112 sseerrresee 37 Bang 3.1: Bảng danh sách actor - - + 119991 1 9v nh nu nh nh ng nàn Hy48 Bảng 3.2: Bảng danh sách uS€-CASG - - - - 2 2 2212221111211121111931 1911118311111 1 111111 1x re 48

Bảng 3.3: Bảng đặc tả use-case đăng ký - c1 n1 v11 1111181111811 11 kg 50

Bang 3.4: Bảng đặc tả use-case đăng nhập - - ¿+2 3119219 E1 3 ng ni 51

Bang 3.5: Bang đặc tả use-case quên mat Kau cececcccseescssessessesesssseesvesveseseesveeveeteneane 52Bang 3.6: Bảng đặc tả use-case cung cấp thé trạng và lựa chọn mục tiêu 53

Bang 3.7: Bảng đặc tả use-case quản lý tài khoản cá nhân - ¿+55 +++s*++ss+++ 54

Bang 3.8: Bảng đặc tả use-case giám sát dinh dưỡng - 5 55-553 *++x+sesseeresees 55

Bang 3.9: Bảng đặc tả use-case hướng dẫn nấu ăn 2 2 s+E++EEeEeEEerxerxerrerex 55

Bang 3.10: Bang đặc tả use-case tra cứu thực phâm -2- 2 2 +2++£++£+Eezxsrszcez 56

Bảng 3.11: Bang đặc tả use-case thêm thực phẩm vào nhật ký ngày - 57

Bang 3.12: Bảng đặc tả use-case hướng dẫn tập luyện ¿2-52 5+2c+cxsczxzrerees 59

Bảng 3.13: Bảng đặc tả use-case thêm bài tập luyện vào nhật ký ngày 60 Bảng 3.14: Bảng đặc tả use-case tập luyện ngày - - - Sc St sksesrerrrrrrree 61

Bảng 3.15: Bảng đặc tả use-case nhật ký hàng ngay - ¿5c 2c ‡+++sseeseeeeeses 61

Bang 3.16: Bảng đặc tả use-case xem biéu đồ thống kê 2 2 +Sx+EE+E+Ee£Eerxzzez 62

Bảng 3.17: Bảng đặc tả use-case xem theo dõi người dùng -«++<<++<xx+sss2 63 Bảng 3.18: Bảng đặc tả use-case đăng tit - SG ST nn HH SH 9 1v Hy ng rệt 64 Bảng 3.19: Bảng đặc tả use-case feedback từ trợ lý ảO Si shreiex 65 Bảng 3.20: Bảng đặc tả use-case phân tích bữa ăn - - - (25 S213 EEssererrrreree 65

Trang 11

DANH MỤC TỪ VIẾT TẮT

Ký hiệu viết tắt | Chữ viết đầy đủ

Trang 12

TOM TAT KHOA LUẬN

Sức khỏe là một van đề thường được đề cập dù trong bat ki thời đại nào Nhắc đến

sức khỏe ta sẽ đề cập đến hai khía cạnh chính, cũng là yếu tố tiền đề của một cơ thé khỏe

mạnh, đó là sự tập luyện, vận động của cơ thể và cân bang dinh dưỡng

Khóa luận đưa ra giải pháp cho bài toán trên bằng một ứng dụng di động sẽ cungcấp đầy đủ tính năng về cả hai khía cạnh đã đề cập Vận dụng những công thức tính toán

dinh dưỡng từ các bài báo, nghiên cứu khoa học uy tín, cộng kèm với sự phát triển của trí

tuệ nhân tạo, ứng dụng phân tích món ăn, gợi ý, đưa ra lời khuyên về chế độ dinh dưỡng

như một người PT trực tiếp Kèm theo đó là hệ thống bài tập và nhắc nhở người dùng tập

luyện, bám sát mục tiêu đề ra từ đầu

Với nhu cầu mở rộng lượng người dùng, đề tài còn đang từng bước hướng đến xây

dựng một cộng đồng lành mạnh, vì chúng em tin rằng con người mới là nguồn động lực

tích cực nhất

Cấu trúc khoá luận gồm 5 chương:

e Chương 1: Giới thiệu dé tài Đặt van dé và giới thiệu về đề tài Trình bày nghiên

cứu và hướng làm khoá luận.

e Chương 2: Cơ sở lý thuyết Trình bày các công nghệ, kỹ thuật được sử dụng trong

khoá luận từ lý thuyết đến cách vận dụng

e Chương 3: Phân tích và thiết kế hệ thống Trình bày thiết kế của hệ thống, bao gồm

các sơ đồ

e Chương 4: Xây dựng ứng dung Trinh bày các kết qua đạt được thông qua giao

diện.

e Chương 5: Kết luận Nhận xét về điểm mạnh điểm yếu và kết quả đạt được, đề ra

hướng phát triển trong tương lai

Trang 13

Chương 1: GIỚI THIỆU ĐÈ TÀI

Đây là chương sẽ giới thiệu bài toán cần giải quyết và mục tiêu của ứng dụng

Ngoài ra trình bày những nghiên cứu về các ứng dụng trên thị trường và nhận xét đánhgiá ưu nhược điểm Từ đó đưa ra hướng phát triển cho ứng dụng mang tính mới mẻ và

cạnh tranh hơn.

1.1 Giới thiệu

1.1.1 Đặt vấn đề

Với sự phát triển của xã hội, đời sống của moi người đều được cải thiện, chúng

ta thường đặt sự quan tâm hàng đầu lên sức khoẻ Hàng loạt cửa hàng về thực phẩm chứcnăng bổ sung vitamin (đại lý DHC ), các phòng gym (Citigym ) xuất hiện để cungcấp các dịch vụ, sản phẩm để chăm sóc khỏe Bên cạnh sự phát triển đó cũng kèm theonhững thói hư tật xau trong cuộc sống hăng ngày của con người, những lối sống khônglành mạnh dẫn đến những van đề liên quan đến cả thé trạng lẫn ngoại hình, phố biến nhất

là căn bệnh béo phì dường như xuất hiện ở mọi lứa tuôi Bài toán sức khỏe ở đây được

chia làm hai khía cạnh chính Thứ nhất là tập luyện, việc duy trì lối sống vận động đều

đặn sẽ mang đến cho con người không chỉ là sức khỏe thể chất mà còn tinh thần Thứ

hai là bài toán đinh dưỡng, việc cân bang dinh dưỡng trong ăn uống là chìa khóa chính

cho một cuộc sống lành mạnh

Sau khi nghiên cứu về lĩnh vực sức khỏe, đây là một lĩnh vực vô cùng lớn và tiềmnăng, điều đó đồng nghĩa đã có rất nhiều ứng dụng có san, vì vậy khóa luận mong muốntìm ra điểm khác biệt trong cách tiếp cận người dùng Điểm chung của các ứng dụng

hiện nay (từ CH Play và App Store) là ứng dụng sẽ thường tập trung vào hệ thống tậpluyện Khả năng sử dụng sẽ chỉ trong phạm vi tự giác của người dùng, chắng hạn nhưkhi đã quen với các bài tập thì người dùng không cần phải vào ứng dụng nữa Từ đó khógiám sát được quá trình tập luyện cũng như đảm bảo kết quả mong muốn Một điểmkhác mà những người đang theo đuôi một sức khỏe tốt, hay một ngoại hình cần đối phải

Trang 14

lưu tâm đó là dinh dưỡng chiếm 70-80% (tùy vào thé trang) tầm quan trọng trong mục

tiêu này.

Đề tài khóa luận là tìm ra phương pháp giúp người dùng đạt kết quả tốt nhất trong

con đường theo đuôi sức khỏe, đó là sự kết hợp bổ trợ qua lại của hai yếu tố trên Thể

hiện qua việc giải quyết những bài toán hàng ngày, tưởng chừng đơn giản mà ai cũnggặp phải như “Hôm nay ăn gì dé giữ dang?”, “Nay nên tập cái gì day?”

1.1.2 Đối tượng và phạm vi nghiên cứu

1.1.2.1 Đối tượng nghiên cứu

Đối tượng người dùng: Những người đang luyện tập (tập gym, workout,

aerobic ), đang theo chế độ ăn uống (ăn kiêng, detox ) hay những người có ý địnhtham gia vào chương trình cải thiện bản thân trong tương lai Đây là nhóm đối tượng

cung cấp yêu cầu.

Đối tượng chuyên gia: Những chuyên gia trong lĩnh vực tập luyện, họ sẽ có kiếnthức về cả tập luyện lẫn đinh đưỡng (PT, huấn luyện viên, vận động viên ) Đây là nhóm

đối tượng cung cấp kiến thức

Đối tượng tham khảo: Việc tạo ra ứng dụng mới vượt trội sẽ bao gồm việc kế thừa

và phát triển từ những ứng dụng trong cùng lĩnh vực Vì vậy chúng em sẽ nghiên cứukết quả dựa trên những trải nghiệm với một vài ứng dụng

1.1.2.2 Phạm vi nghiên cứu

Nhu cầu người dùng được thu thập qua trực tiếp với người dùng cuối (thu thập từ

người quen biết) và thông qua dữ liệu tìm kiếm từ google, các nhóm trên mạng xã hội

Kiến thức được cập nhật thông qua các trang mạng, các bài báo uy tín và các huấn

luyện viên chia sẻ trên youtube.

Trải nghiệm các ứng dụng nỗi tiếng (căn cứ vào lượng người dùng), các ứng dụng

quảng cáo rộng rãi, các KOL giới thiệu.

Trang 15

1.1.2.3 Mục tiêu nghiên cứu

Ung dụng luyện tập và đinh dưỡng mong muốn mang đến giải pháp toàn diện cho

người dùng với độ hiệu quả trong tập luyện nhất:

Nghiên cứu và thực hiện cơ sở hạ tang theo kiến trúc Microservice Hệ thống có

sức chịu tải và nâng cao khả năng mở rộng hệ thống cho tương lai

Tổ chức hệ thống tập luyện đơn giản phù hợp với đa số người dùng

Nghiên cứu va áp dung AI trong thực hiện hóa chức năng quét nhận diện món ăn,

chatbot tư vấn, hỗ trợ gỢI ý

Phát triển dữ liệu dựa trên thói quen người dùng.

Xây dựng cộng đồng với những tính năng cơ bản

1.1.2.4 Kết quả nghiên cứu

Lên kế hoạch luyện tập:

© Tạo và theo dõi kế hoạch luyện tập dựa trên mục tiêu cá nhân và cấp độ

thê chất của người dùng

o Cung cấp bài tập và chương trình tập luyện da dạng

Theo dõi hoạt động vận động:

o Ghi lại thông tin về các hoạt động vận động hàng ngày.

Quản lý dinh dưỡng:

© Theo dõi lich sử ăn uống và cung cấp gợi ý về chế độ dinh dưỡng dựa trên

mục tiêu cá nhân.

© Tính toán lượng calo tiêu thụ và cung cấp thông tin dinh dưỡng của các

thực phẩm

Trợ lý ảo:

o Trả lời các thắc mắc về dinh dưỡng và tập luyện.

o Nhận xét chế độ ăn và cho lời khuyên.

Theo dõi tiến trình và đạt được mục tiêu:

Trang 16

Hiền thị biểu đồ và thống kê về tiến trình luyện tập và dinh dưỡng.

o Đặt mục tiêu và theo dõi việc đạt được chúng.

e Đánh giá sức khỏe:

© Cung cấp các công cụ đánh giá sức khỏe như do chỉ số BMI

e Kết nối người dùng

o Theo dõi bạn bè.

© Chia sẽ khoảnh khắc tập luyện

1.1.3 Phát biểu bài toán

Người dùng mong muốn có sự thay đôi về sức khỏe, ngoại hình Người dùng cungcấp thông tin về thé trạng cho ứng dụng Ứng dụng sẽ cung cấp cho người dùng một chế

độ dinh đưỡng và tập luyện cho người ding bám sát dé đạt được mục tiêu Trong quatrình đó, ứng dụng sẽ liên tục cập nhật dựa trên thay đôi của người dùng, hỗ trợ tư vấn

giúp người dùng bám sát mục tiêu nhất

Dé giải quyết toán trên ứng dụng đòi hỏi phải dam bảo được hai yếu tố Thứ nhất

là tính hiệu quả của ứng dụng dựa trên những tính năng nó mang lại Thứ hai là khả năng thu hút giúp người dùng sử dụng ứng dụng lâu dài.

1.2 Tổng quan

1.2.1 Tổng quan về bài toán luyện tập và dinh dưỡng

Sức khỏe và dinh dưỡng là những yếu tố quan trọng trong cuộc sống con người.Việc duy trì một lối sống lành mạnh, bao gồm cả chế độ ăn uống hợp lý và hoạt độngthé chất đều đặn, đóng vai trò then chốt trong việc ngăn ngừa các bệnh lý như béo phi,

tim mạch, tiểu đường, và nhiều bệnh khác Ngày nay, với sự phát triển của công nghệ,các ứng dụng hỗ trợ theo dõi và cải thiện sức khỏe đã trở thành một phần không thé

thiêu, giúp người dùng quản lý và cải thiện lôi sông của mình một cách hiệu quả.

Trang 17

1.2.2 Tình hình nghiên cứu

1.2.2.1 Nghiên cứu trên thế giới

Trên thế giới, các nghiên cứu về sức khỏe và dinh dưỡng đã phát triển mạnh mẽ,

đặc biệt là trong lĩnh vực công nghệ sức khỏe (HealthTech) Nhiều ứng dụng và nền tảng

kỹ thuật số đã được phát triển dé hỗ trợ người dùng theo dõi và quản lý chế độ ăn uống,cân nặng và hoạt động thé chất Các nghiên cứu đã chỉ ra rằng việc sử dụng các ứng dụngnày không chỉ giúp người dùng cải thiện sức khỏe tổng thé mà còn giảm nguy cơ mắc

các bệnh mãn tính.

Một số ứng dụng có thê ké đến như:

Trang 18

Remaining = Goal - Food + Exercise

Base Goa ‘iil ase Goal il là)

Quảng cáo bị dong boi Google

Say goodbye toads Go Premium White rice, cooked @ +

121 cal, 1,0 cup

Steps Exercise + vega 2

Connect to 99 cal, 100,0 gram

` track steps ? bì 10 cal

Trang 19

e Dac điểm:

+ Ung dung tra phi.

+ Ung dung chuyén về lĩnh vực quan ly calories, món ăn và tính toán khá chi

tiết

+ Có cho phép tính toán lượng calo tiêu thụ thông qua hệ thống bài tap va đi bộ

+ Có hệ thống nhật ký biểu đồ.

e Điểm hạn chế:

+ Món ăn va bài tập luyện còn kha thô, thiếu hình ảnh minh hoạ

+ Bắt người dùng nhập liệu khá nhiều

+ Chức năng liên quan đến tập luyện còn khá hạn chế, chủ yếu tập trung vào

giám sat calories.

e Home Workout - No Equipment (và những ứng dung tương tự cua NPH Leap Fitness

Group):

Trang 20

3 Chào bạn, bạn củo tôi! Hãy tiếp tục

-laf chỉnh phục mục tiêu của ban! Lịch sử Tất cả bản ghi

F CN T2 T3 T4 T5 T T7

THU THÁCH 7x4

23 © 25 26 27 28 29

TOAN THAN =

ước của bạn trong 4 tua

KHỞI ĐẦU Hiện tại Nặng nhất 61.3

61 3 kg Nhenhat 61.3

Ngườibắtđẩu Trungbình Nông cao

or NGƯỜI BAT MoMo: Chuyển tiên & Thanh toán

DAU FREE - Open in app

Trang 21

e Dac điểm:

+ Ung dung chuyén vé tap luyén

+ Có hệ thống bài tập theo nhóm co và hướng dan chỉ tiết

+ Có chức năng ghi lại quá trình tập luyện và ghi lại kết quả

e Nhược điểm:

+ Ứng dụng tập trung vào tập luyện mà không có thông tin liên quan đến dinh

dưỡng.

Nhận xét chung:

e Các ứng dụng nhìn chung làm khá tốt với mục tiêu của mình

e Ứng dụng chưa đa dạng, và van còn nhiều chỗ dé cải thiện

e Ứng dụng đòi hỏi tương tác của người dùng cao

1.2.2.2 Nghiên cứu trong nước

Tại Việt Nam, các nghiên cứu về sức khỏe và dinh dưỡng cũng đang nhận được

sự quan tâm lớn Các ứng dụng và nền tảng số như Y tế số hay các chương trình của Bộ

Y tế đã được triển khai dé hỗ trợ người dân theo dõi sức khỏe và duy trì lối sống lànhmạnh Tuy nhiên, so với các nước phát triển, việc ứng dụng công nghệ trong quản lý sứckhỏe cá nhân ở Việt Nam vẫn còn gặp nhiều thách thức, đặc biệt là về mặt nhận thức và

thói quen của người dân.

Nhận xét chung: Số lượng ứng dụng liên quan đến tập luyện và dinh dưỡng ở ViệtNam vẫn còn nhiều hạn chế Chưa có ứng dụng nào thật sự thành công và đang pháthành ở thời điểm hiện tại, vì vậy chúng em sẽ không dẫn chứng ở đây

Trang 22

được hiệu quả tối ưu, cần có sự phối hợp chặt chẽ giữa các bên liên quan, bao gồm nhàphát triển ứng dụng, cơ quan y tế và người dùng, nhằm nâng cao nhận thức và thay đổithói quen của cộng đồng.

Việc một ứng dụng kết hợp cả hai yếu tô dinh dưỡng và tập luyện là một điều cầnthiết cho một ứng dụng về sức khoẻ Tuy nhiên vẫn chưa có nhiều ứng dụng kết hợp cả

hai, nếu có cũng thường chỉ là tâm trung về một mảng, mảng còn lại thường xuất hiệnkhông được chăm chuốt đáng kẻ, điều đó có nghĩa là người dùng sẽ sử dụng ứng dụngvới một chức năng nhất định Ví dụ một ứng dụng dé kiểm soát lượng dinh dưỡng từ ănuống, một ứng dụng dé tập luyện Về góc độ người dùng, họ sẽ phải so sánh những thành

quả đạt được qua đữ liệu riêng biệt của hai ứng dụng này, gây khó khăn và phiền toáitrong việc kiểm soát quá trình tập luyện

10

Trang 23

Chương 2: CƠ SỞ LÝ THUYET

Chương này sẽ nói về những công nghệ được ứng dụng trong đề tài Chương sẽ

trình bày về lý thuyết của công nghệ, cách thực hiện và được ứng dụng vao trong đề tàinhư thế nào

2.1 Mô hình nhận diện thực phẩm

2.1.1 Cơ sở lý thuyết

2.1.1.1 Bài toán nhận diện

Bài toán nhận diện thực phẩm trong lĩnh vực sức khỏe và dinh dưỡng có vai tròquan trọng trong việc hỗ trợ người dùng theo déi và quản lý chế độ ăn uống của mình.Nhận diện thực phẩm bao gồm việc xác định loại thực phâm, thành phần dinh dưỡng(protein, carbohydrate, fat, vitamin, khoáng chất, v.v.), và định lượng khâu phan ăn

Mục tiêu của bài toán:

1 Xác định loại thực phẩm: Phân loại và gan nhãn cho các loại thực phẩm có trong hình

ảnh.

2 Đánh giá thành phần dinh dưỡng: Dựa trên loại thực phẩm, đánh giá các thành phần

dinh dưỡng và lượng calo mà thực phẩm đó cung cấp

Thách thức:

1 Đa dạng thực phẩm: Thực phẩm có rất nhiều loại với hình dáng, màu sắc, và kết cầu

khác nhau, làm cho việc nhận diện trở nên phức tạp.

2 Độ phân giải và chất lượng ảnh: Hình ảnh có thé có độ phân giải thấp hoặc bị mờ,

ảnh hưởng đến độ chính xác của việc nhận diện

3 Sự chồng lấp và che khuất: Các thực phẩm có thể chồng lấp lên nhau hoặc bị che

khuất một phần, gây khó khăn trong việc phân tích

4 Ánh sáng và môi trường: Điều kiện ánh sáng va môi trường xung quanh cũng ảnh

hưởng lớn đến quá trình nhận diện thực phẩm.

11

Trang 24

Từ thách thức trên, nhóm quyết định sử dụng thêm model Gemini Pro Vision cho

việc nhận diện thực phẩm.

2.1.1.2 Mô hình Yolo

YOLO (You Only Look Once) là một thuật toán phát hiện đối tượng (objectdetection algorithm) sử dụng một mang neural don (single neural network) dé dự đoánđồng thời các đối tượng nằm trong khung xác định cùng với xác suất lớp cho mỗi đối

tượng đó Ra đời năm 2015, YOLO liên tục được cải tiến qua các phiên bản, mang lạihiệu suất và độ chính xác ngày càng cao

Nguyên lý hoạt động của YOLO dựa trên việc chia ảnh thành lưới, mỗi ô lưới

chịu trách nhiệm dự đoán bounding box và xác suất lớp của đối tượng nằm trong đó.Nhờ sử dụng một mạng neural duy nhất, YOLO xử lý ảnh nhanh chóng, cho phép phát

hiện đối tượng theo thời gian thực

YOLOv§, phiên bản được sử dụng trong dự án này, mang đến nhiều ưu điểm như

tốc độ xử lý vượt trội, độ chính xác cao, tính tổng quát tốt và khả năng tùy chỉnh linh

hoạt Kiến trúc của YOLOv8 cũng được cải tiễn để nâng cao hiệu suất và hỗ trợ nhiều

chính xác trung bình (mAP) gấp khoảng 2 lần so với các đối thủ

Từ biểu đồ dưới đây, chúng ta nhận thấy rằng YOLO vượt xa các bộ nhận diệnđối tượng khác với 91 FPS

12

Trang 25

Frames per second

Hình 2.1: Hình anh so sánh tốc độ Yolo

b Độ chính xác cao trong nhận điện:

YOLO vượt trội so với các mô hình hiện đại khác.

€ Tính tổng quát cao hơn:

YOLO đã có một bước tiến nhỏ so với các phiên bản trước, cung cấp một tổngthê tốt hơn cho các lĩnh vực mới, điều này làm cho nó trở thành lựa chọn tuyệt vời chocác ứng dụng dựa vào việc nhận diện đối tượng một cách nhanh chóng và mạnh mẽ

d Mã nguồn mở:

Việc YOLO trở thành mã nguồn mở đã giúp cộng đồng liên tục cải thiện mô hình.Day là một lý do quan trọng khiến YOLO tiến bộ nhanh chóng trong thời gian ngắn

13

Trang 26

2.1.1.2.2 Kiến trúc Yolo

448

448

30

' Cony, layer | © Conv Layer ' Conv, Layers ' Conv Layers ' Cony, Layers ‘Conv Layers | Conn Layer Conn Layer

| 7x7x6ó4»s2 | 3x3x192 „ TxIx128 ii owned tore 1xIx512 po 3x3x1024 |

Maxpool Layer 4Moxpoollayer | 3x3x256 1 | 3x3x512 |) 3x3x1024 1, 3x3x1024 |

2 Áp dụng tích chập 1x1 để giảm số lượng kênh (channels), sau đó sử dụng tích chập

3x3 để tạo hình hộp chữ nhật (cuboidal) làm đầu ra

3 Sử dụng hàm kích hoạt ReLU (Rectified Linear Unit), ngoại trừ lớp sau cùng, nơi

hàm kích hoạt tuyến tính được sử dụng

4 Các kỹ thuật bố sung như chuẩn hóa batch (chuẩn hóa hàng loạt) và loại bỏ kênh,

nhằm chuẩn hóa mô hình và ngăn không cho mô hình khớp quá mức (overfitting)

14

Trang 27

2.1.1.2.3 Cách hoạt động

Thuật toán hoạt động dựa trên bốn phương pháp sau đây:

« Residual blocks

« Bounding box regression

« Intersection Over Unions or IOU

«= Non-Maximum Suppression

a Residual blocks

Bước đầu tiên này bắt đầu bang cách chia ảnh gốc (A) thành lưới 6 hình vuôngNxN có hình dạng đồng đều, trong đó N trong trường hợp của chúng ta là 4 như được

hiển thị trên hình ảnh bên phải Mỗi ô trong lưới này có trách nhiệm định vị và dự đoán

lớp của đôi tượng mà nó bao phủ, cùng với giá tri xác suât/độ tin cậy.

Hinh 2.3: Hinh anh vi du cho Residual blocks

15

Trang 28

b Bounding box regression

Bước tiếp theo là xác định các bounding box tương ứng với các hình chữ nhật làm

nồi bật tat cả các đối tượng trong ảnh Chúng ta có thé có nhiều bounding box bang sốlượng đối tượng trong một hình ảnh nhất định

Yolo xác định các thuộc tính của các hộp giới hạn thông qua một mô-đun hồi quyduy nhất theo định dạng sau, trong đó Y là biểu diễn vectơ cuối cùng cho mỗi hộp giới

hạn.

Y = [pc, bx, by, bh, bw, cl, c2]

pc tương ứng với điểm xác suất của lưới chứa một đối tượng Chang hạn, tat cả các lướimàu đỏ sẽ có điểm xác suất cao hơn 0 Hình ảnh bên phải là phiên bản đơn giản hóa vìxác suất của mỗi ô màu vàng băng 0 (không đáng kê)

Grids with Grids with

probability > 0 probabllity = 0 Significant grids

Hình 2.4: Hình anh vi du cho Bounding box regression

bx, by là tọa độ x va y của tam bounding box đối với 6 lưới bao quanh

bh, bw tương ứng với chiều cao và chiều rộng của bounding box đối với ô lưới bao

quanh.

cl và c2 tương ứng với hai lớp Người chơi và Bong Chúng ta có thé có nhiều lớp tùytheo yêu cầu của trường hợp sử dụng

16

Trang 29

c Intersection Over Unions or IOU

Thông thường, một đối tượng trong anh có thé có nhiều hộp lưới (grid boxes) dé

dự đoán, dù rằng không phải cái nào cũng phù hợp Mục tiêu của IOU (giá trị từ 0 đến1) là loại bỏ các hộp lưới như vậy dé chỉ giữ lại những hộp có liên quan Đây là logicđăng sau nó:

=> Người dùng xác định ngưỡng IOU của mình, ví dụ: có thé là 0,5

=> Sau đó, YOLO tính toán IOU của mỗi 6 lưới là Intersection area chia cho Union

Area

=> Cuối cùng, nó bỏ qua dự đoán về các 6 lưới có ngưỡng IOU bé hơn và xem xét

những ô có ngưỡng IOU lớn hơn ngưỡng đã đề ra ở trên (ví dụ 0,5)Dưới đây là hình minh họa việc áp dụng quy trình chọn lưới cho đối tượng phíadưới bên trái: Đối tượng ban đầu có 2 lưới được dự đoán, sau đó chỉ có “Lưới 2” được

Trang 30

d Non-Max Suppression or NMS

Việc đặt ngưỡng cho IOU sẽ không đủ trong một số trường hợp nhất định vì một

đối tượng được phép có nhiều hộp có IOU vượt quá ngưỡng và việc đề lại tất cả các hộp

đó có thé gây ra nhiễu Day là nơi chúng ta có thé áp dụng NMS dé chỉ giữ lại những

hộp có điêm xác suat phát hiện cao nhật.

2.1.1.2.4 Đặc điểm của Yolo

Trong YOLOv8, có nhiều tính năng quan trọng can tập trung Sau đây là một số

điểm đáng chú ý của YOLOv8:

Tăng cường độ chính xác: Độ chính xác trong việc nhận diện được cải thiện so

với các thé hệ tiền nhiệm thông qua việc tích hợp các kỹ thuật và tối ưu hóa mới.Cải thiện tốc độ mạnh Mẽ: Tốc độ suy luận được nâng cao hơn so với các mô

hình nhận khác mà vẫn giữ được độ chính xác cao.

Đa backbones: Với việc hỗ trợ nhiều backbones khác nhau (EfficientNet, ResNet

và CSPDarknet) đã mang lại sự linh hoạt cho người sử dụng để chọn ra mô hình

tối ưu nhất

Huấn luyện linh hoạt: Sử dụng huấn luyện linh hoạt để tinh chỉnh tỷ lệ học vàđiều chỉnh hàm mat mát (loss function) trong suốt quá trình huấn luyện, từ đó cải

thiện độ hiệu quả.

Tăng cường dit liệu: Ap dụng các kỹ thuật tiên tiến (MixUp và CutMix) nhamnâng cao tính đồng nhất và khả năng tổng quát của mô hình

Kiến trúc có tính tùy chỉnh: Dễ dàng điều chỉnh cấu trúc và các tham số sao cho

phù hợp.

Mô hình đã huấn luyện: Dua ra các mô hình đã huấn luyện dé dé dang sử dụnh

và có thê chuyền áp dụng cho nhiều tập dit liệu khác nhau

18

Trang 31

2.1.1.2.5 Một số bài toán thường gặp khác

YOLOv§ có nhiều trường hợp sử dụng khác nhau trong cả nhiệm vụ phát hiệnđối tượng và phân loại hình ảnh Dưới đây là một số ví dụ:

Xe tự lãi: Nhận dang vật thé theo và theo dõi thời gian thực trong xe tự lái nhằmphát hiện các thực thể tham gia giao thông

Giám sát: Trong các hệ thống giám sát dé phát hiện và theo dõi vật thé trong thời

gian thực.

Bán lẻ: Theo dõi mức tồn kho, phát hiện kẻ trộm

Hình ảnh y tế: Phát hiện và phân loại các dị thường và bệnh khác nhau

Nông nghiệp: Quan sát sự phát triển cây trồng, phát hiện bệnh lý và sâu bệnh

Robotics: Hỗ trợ robot phát hiện và tương tác với các đối tượng trong môi trường

xung quanh.

2.1.2 Thu thập dữ liệu

Dé tạo ra một mô hình nhận diện thực phẩm hiệu quả, việc thu thập dữ liệu cóchất lượng cao là điều tối quan trọng

Quá trình thu thập dữ liệu bao gồm các bước sau:

Xác định nguồn dữ liệu: Thu thập hình ảnh thực pham từ các nguồn đa dạng như

các cơ sở dit liệu công cộng, hình ảnh từ các ứng dụng thực phẩm, và chụp hình

thực phẩm trực tiếp

Gan nhãn dữ liệu (Labeling): Mỗi hình ảnh được gán nhãn với loại thực phẩm

tương ứng.

Tiền xử lý dữ liệu: Chỉnh sửa và chuan hóa các hình anh dé đảm bảo chất lượng

cao và đáp ứng các yêu cầu của mô hình YOLO (thay đổi kích thước ảnh )Tạo tập Train/Val: Tach dữ liệu thành hai tập riêng biệt: tap Train dé đào tao môhình và tập Val nhăm kiểm tra độ hiệu quả của mô hình

19

Trang 32

Đề đạt được mức độ chính xác cao, quá trình tạo lập một bộ dữ liệu chất lượngyêu cau nhiều chi phí và nỗ lực Nhưng vi hạn chế về nguồn lực, nhóm chúng em chỉ cókhả năng thu thập và xử lý một khối lượng dữ liệu nhất định Dù vậy, chúng em đã cốgắng đảm bảo rằng dữ liệu này đủ đa dạng và chất lượng để mô hình có thể dự đoánchính xác nhất có thé.

2.1.3 Quá trình thực hiện

Quy trình xây dựng và đào tạo mô hình nhận diện thực pham gồm những bước

sau:

1 Chuan bi đữ liệu: Ap dụng bộ dữ liệu đã được thu thập va xử ly so bộ dé tao ra các

tập huấn luyện và kiểm tra Đảm bảo đữ liệu được phân bố đều và đủ đa dạng dé môhình có thể học tốt

2 Xây dựng mô hình YOLO: Sử dụng phiên bản YOLOv8 dé xây dung mô hình nhận

diện thực phẩm Cấu hình mô hình bao gồm các tham số như kích thước lưới, số

lượng lớp, và các hàm kích hoạt.

3 Huấn luyện mô hình: Train trên tập dữ liệu bằng cách sử dụng các kỹ thuật tối ưu

hóa và giảm thiểu mat mát Quá trình này có thé yêu cầu nhiều tài nguyên tính toán

và thời gian.

4 Đánh giá mô hình

Khi train, chúng ta sẽ có một số tham số như sau:

e epoch: số lần duyệt qua toàn bộ dataset

e© box loss: Mất mát liên quan đến dự đoán bounding box (hộp giới hạn) trong tập

dữ liệu dao tạo Gia tri càng giảm, mô hình sẽ càng chính xác trong việc xác định

vị trí của các đối tượng trong hình ảnh

e cls loss: Mat mát liên quan đến phân loại trong bộ dir liệu đào tạo Giá trị càng

giảm, mô hình sẽ càng phân biệt hiệu quả hơn giữa các lớp đối tượng

20

Trang 33

dfl_loss: Mắt mát tiêu cự phân phối, một loại mất mát được áp dụng trong một số

mô hình phát hiện đối tượng Giá trị càng giảm, mô hình càng hiệu quả

precision(B): Mức độ chính xác của mô hình khi phán đoán bounding box Gia

trị càng cao càng tốt Độ chính xác cao có nghĩa là mô hình có ít phán đoán sai

Precision trả lời nghỉ vấn: “Trong số mọi trường hợp được dự đoán là đương tinh

(true positive), có bao nhiều là đúng?”

recall(B): Độ thu hồi của mô hình khi dự đoán hộp giới hạn Giá trị càng cao càngtốt Độ thu hdi cao có nghĩa là mô hình có thể tìm thay hầu hết các đối tượng trongảnh Recall trả lời nghi vẫn: “Trong mọi trường hợp dương tính thực sự, mô hình

đã xác định đúng bao nhiêu?”

mAP50(B) - mean Average Precision at 50% Intersection over Union: Trung bình

độ chính xác (Mean Average Precision) tai ngưỡng loU=0.50 Giá tri càng cao

càng tốt Đây là một chỉ số chuân đề đo lường và đánh giá hiệu quả mô hình

mAP50-95(B): Trung bình độ chính xác (Mean Average Precision) trung bình

qua các ngưỡng IoU từ 0.50 đến 0.95 Giá trị càng cao càng tốt Day là một thước

đo nghiêm ngặt hơn so với mAP50.

Ir/pg0, Ir/pgl, Ir/pg2: Tốc độ học (learning rate) cho từng nhóm tham số khác

nhau trong suốt quá trình huấn luyện Tốc độ học xác định mức độ mà mô hình

sẽ điều chỉnh các trọng số của nó dựa trên các lỗi quan sát được Giá trị này thườnggiảm dan qua các epoch dé giúp mô hình hội tụ ôn định hơn

train/val: tập dữ liệu.

21

Trang 34

epc train/boxloss trainclsloss trainm/dflloss metrics/precision(B) metrics/recal(BẠ metrics metricsi vaUbox loss vaUcls_loss vaUdfL loss

Trang 35

$:32

Hình 2.8: Hình ảnh kết quả train batch 2

23

Trang 36

24

Trang 37

Sự gia tăng trong mAP cho thay mô hình đang học cách phát hiện các đối tượng

hiệu quả hơn Sự ồn định cuối cùng phản ánh rằng mô hình đã thành công trong việc đạtđược mức độ mAP 6n định, và có thé không cần thiết phải huấn luyện thêm nhiều bước

nữa dé cải thiện mAP.

25

Trang 38

Từ kết quả trên, có thể thấy tỷ lệ các dự đoán dương tính thực sự chính xác Đây

Là tỷ lệ của các trường hợp dự đoán dương tính thực sự (true positives) trên tổng số các

trường hợp dự đoán dương tính (true positives + false positives).

26

Trang 39

Step

10 15 w

Hình 2.12: Hình anh metrics/recall

Kết quả cho thấy sự tương quan giữa các trường hợp dương tính thực sự được môhình xác định đúng Đây là tỷ lệ của các dự đoán dương tính thật trên tổng số các trường

hợp dương tính thực tế (đương tính thật + âm tính giả)

Phân biệt giữa Precision và Recall:

e Recall = Dương tính thật/ (Dương tính thật + Am tính giả)

e Precision = Duong tính that/ (Dương tính thật + Dương tính gia)

27

Trang 40

Phân biệt mAP50-95 và mAP50:

e mAP50: Do lường độ chính xác trung bình tại ngưỡng IoU 50% Được dùng như

một thước đo cơ bản.

e mAP50-95: Do lường độ chính xác trung bình tại nhiều ngưỡng IoU từ 50% đến

95% Phản ánh toàn diện hơn về hiệu suất của mô hình ở nhiều mức chặt chẽ khác

nhau.

28

Ngày đăng: 23/12/2024, 23:56

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w