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 2LOI 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 3MỤ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 42.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 52.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 63.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 74.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 8DANH 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 9Hì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 10DANH 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 11DANH MỤC TỪ VIẾT TẮT
Ký hiệu viết tắt | Chữ viết đầy đủ
Trang 12TOM 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 13Chươ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 14lư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 151.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 16Hiề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 171.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 18Remaining = 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 19e 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 203 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 21e 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 23Chươ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 24Từ 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 25Frames 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 262.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 272.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 28b 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 29c 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 30d 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 312.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 33dfl_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 34epc 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 3624
Trang 37Sự 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 38Từ 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 39Step
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 40Phâ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