BÞ GIÁO DĀC & ĐÀO T¾O TR¯âNG Đ¾I HàC S¯ PH¾M Kþ THUÀT TP. Hà CHÍ MINH KHOA ĐIàN – ĐIàN TĈ BÞ MÔN ĐIàN TĈ CÔNG NGHIàP – Y SINH --------------------------------- KHÓA LUÀN TÞT NGHIàP NGÀNH Kþ THUÀT Y SINH ĐÀ TÀI: ĄNG DĀNG MÔ HÌNH VISION TRANSFORMER TRONG PHÂN LO¾I DĊ LIàU BàNH PHâI GVHD: TS. Nguyßn M¿nh Hùng SVTH1: Ngô Quang KhÁi MSSV1: 18129026 SVTH2: Huỳnh Văn Pháp MSSV2: 18129041 TP. Há Chí Minh – 06/2022 BÞ GIÁO DĀC & ĐÀO T¾O TR¯âNG Đ¾I HàC S¯ PH¾M Kþ THUÀT TP.
Hà CHÍ MINH KHOA ĐIàN – ĐIàN TĈ BÞ MÔN ĐIàN TĈ CÔNG NGHIàP – Y SINH --------------------------------- KHÓA LUÀN TÞT NGHIàP NGÀNH Kþ THUÀT Y SINH ĐÀ TÀI: ĀNG DþNG MÔ HÌNH VISION TRANSFORMER TRONG PHÂN LO¾I Dþ LIÞU BÞNH PHÞI GVHD: TS. Nguyßn M¿nh Hùng SVTH1: Ngô Quang KhÁi MSSV1: 18129026 SVTH2: Huỳnh Văn Pháp MSSV2: 18129041 TP. Há Chí Minh – 06/2022 TR¯äNG ĐH SPKT TP. Hâ CHÍ MINH CÞNG HÒA Xà HÞI CHĂ NGHĨA VIàT KHOA ĐIàN-ĐIàN TĈ NAM BÞ MÔN ĐIàN TĈ CÔNG NGHIàP – Y SINH Đßc lÁp - Tč do - H¿nh phúc Tp.
HCM, ngày tháng 06 năm 2022 NHIàM VĀ KHÓA LUÀN TÞT NGHIàP Há tên sinh viên: Ngô Quang KhÁi MSSV: 18129026 Huỳnh Văn Pháp MSSV: 18129041 Chuyên ngành: Kỹ thuÃt Y Sinh Mã ngành: 7520212D Há đào t¿o: Đ¿i hác chính quy Mã há: 1 Khóa: 2018 Lãp: 181290C I. TÊN Đ TÀI: ĄNG DĀNG MÔ HÌNH VISION TRANSFORMER TRONG PHÂN LO¾I DĊ LIàU BàNH PHâI II. Các sá liáu ban đÅu: - TÃp dă liáu X-quang ngąc: ChestXpert, Chest14 và VinDr-CXR. - Các mô hình Vision Transformer: ViT-B16, ViT-L16, ViT-S16, R50+ViT-B16.
- Các biÁn thÅ mô hình ResNet: ResNet18, ResNet34, ResNet50. - Các c¢ chÁ dißn giÁi mô hình: Grad-CAM, Attention Map. - Ngôn ngă lÃp trình: Python, HTML, CSS. - Th° vián hß trÿ xây dąng web API: Flask python.
- C¢ sç dă liáu: SQLite, t°¢ng tác thông qua công cā SQLAlchemy. - Công nghá đóng gói và triÅn khai āng dāng: Docker. Nái dung thąc hián: - Tìm hiÅu lý thuyÁt và các mô hình phân lo¿i - Nghiên cāu các tÃp dă liáu Chest14, ChestExpert, VinDR-CXR và t¿o tÃp dă liáu phù hÿp vãi đà tài. - TiÁn hành các thí nghiám huÃn luyán mô hình ViT.
- Đánh giá kÁt quÁ các thí nghiám bằng ph°¢ng pháp đßnh tính và đßnh l°ÿng. - Xây dąng web API cho āng dāng mô hình phân lo¿i bênh phåi. i - Ch¿y thā nghiám, kiÅm tra và hiáu chỉnh há tháng. - Đóng gói và triÅn khai āng dāng vãi Docker.
- ViÁt báo cáo thąc hián. NGÀY GIAO NHIàM VĀ: 25/02/2022 IV. NGÀY HOÀN THÀNH NHIàM VĀ: 21/06/2022 V. Hà VÀ TÊN CÁN Bà H¯âNG DÀN: Ts.
Nguyßn M¿nh Hùng CÁN Bà H¯âNG DÀN BM. ĐIàN TĀ CÔNG NGHIàP 3 Y SINH ii TR¯äNG ĐH SPKT TP. Hâ CHÍ MINH CÞNG HÒA Xà HÞI CHĂ NGHĨA VIàT KHOA ĐIàN-ĐIàN TĈ NAM BÞ MÔN ĐIàN TĈ CÔNG NGHIàP – Y SINH Đßc lÁp - Tč do - H¿nh phúc Tp. HCM, ngày tháng 06 năm 2022 LÞCH TRÌNH THČC HIàN KHÓA LUÀN TÞT NGHIàP Há tên sinh viên 1: Ngô Quang KhÁi Lãp: 181290C MSSV: 18129026 Há tên sinh viên 2: Huỳnh Văn Pháp Lãp: 181290C MSSV: 18129041 Tên đà tài: Āng dāng mô hình Vision Transformer trong phân lo¿i dă liáu bánh phåi.
Xác nhận Tuần/ngày Nội dung GVHD GÁp GVHD đÅ nghe phå biÁn yêu cÅu làm đã TuÅn 1 án, tiÁn hành chán đà tài và viÁt đà c°¢ng tóm (28/02 3 06/03) tắt yêu cÅu đà tài đã chán. TuÅn 2 Tå chāc dă liáu thí nghiám tÿ tÃp dă liáu (07/03 3 13/03) VinDr-XCR. TuÅn 3 TiÁn hành các thí nghiám đÅ đánh giá hiáu suÃt (14/03 3 20/03) mô hình. TuÅn 4 Hoàn thành các thí nghiám huÃn luyán mô (21/03 3 27/03) hình.
TuÅn 5 Ch¿y đánh giá kÁt quÁ đßnh tính cho mô hình (28/03 3 03/04) huÃn luyán tÿ các thí nghiám. TuÅn 6 TiÁn hành đánh giá đßnh l°ÿng cÿa mô hình. (04/04 3 10/04) TuÅn 6 Tìm hiÅu cách triÅn khai āng dāng model thông (11/04 3 17/04) qua API, tìm hiÅu và Docker. TuÅn 7 Xây dąng āng dāng web cho mô hình phân lo¿i (18/04 3 24/04) bằng giao thāc API vãi Flask python, html, css.
TuÅn 8 Thêm các chāc năng gāi thông báo kÁt quÁ (25/04 3 01/05) ch¿n đoán bánh qua email và sá đián tho¿i. TuÅn 9 Tìm hiÅu và thêm c¢ sç dă liáu cho āng dāng, (01/05 3 08/05) thêm chāc năng đăng ký và l°u tră thông tin iii bánh nhân. Hoàn thián các chāc năng chính cÿa āng dāng: TuÅn 10 chāc năng đăng ký bánh nhân, chāc năng dą (09/05 3 15/05) đoán cÿa mô hình, chāc năng gāi email và tin nhắn SMS. TuÅn 11 ThiÁt kÁ hoàn thián giao dián ng°åi dùng cÿa (16/05 3 22/05) āng dāng web, ch¿y thā nghiám và hiáu chỉnh.
TuÅn 12 Đóng gói và triÅn khai āng dāng vãi Docker. (23/05 3 29/05) TuÅn 13 ViÁt báo cáo đà tài, thiÁt kÁ poster. (30/05 3 05/06) TuÅn 14 Chỉnh sāa báo cáo, làm Slide thuyÁt trình. (06/06 3 12/06) TuÅn 15 Hoàn thián báo cáo, Slide thuyÁt trình, làm (13/06 3 19/06) video giãi thiáu āng dāng.
Hoàn thián báo cáo và gāi cho GVHD xem xét TuÅn 16 góp ý. (20/06 3 26/06) Báo cáo tr°ãc GVHD và náp quyÅn báo cáo Đã án tát nghiáp. GV H¯âNG DÀN (Ký và ghi rõ há và tên) iv LâI CAM ĐOAN Đà tài này do nhóm tìm hiÅu, thąc hián dąa trên mát sá tài liáu và kÁt quÁ nghiên cāu đã đ°ÿc công bá vãi są h°ãng dÁn cÿa thÅy Nguyßn M¿nh Hùng và không sao chép tÿ tài liáu hay công trình đã có tr°ãc đó. Ng°åi thąc hián đà tài Ngô Quang KhÁi – Huỳnh Văn Pháp v LâI CÀM ¡N TrÁi qua suát quá trình nghiên cāu và thąc hián đà tài, tÿ nhăng buåi đÅu chÿng bß kiÁn thāc nÃn tÁng đÁn khi hoàn thành đà tài, nhóm đã nhÃn đ°ÿc rÃt nhiÃu są hß trÿ, h°ãng dÁn tÃn tình tÿ ThÅy Nguyßn M¿nh Hùng 3 GiÁng viên bá môn Đián tā công nghiáp - Y sinh.
Nhăng góp ý, thÁo luÃn, cùng nhăng kinh nghiám quý báu mà ThÅy chia s¿ đã giúp cho đà tài cÿa nhóm ngày càng hoàn thián h¢n, chúng em cÁm thÃy rÃt trân quý. Chúng em xin gāi låi cÁm ¢n sâu sắc đÁn ThÅy. Nhóm xin gāi låi cÁm ¢n đÁn các ThÅy Cô khoa Đián - Đián tā vì nhăng kiÁn thāc nÃn móng mà thÅy cô đã truyÃn đ¿t đÅ chúng em có thÅ đi đÁn chÁn hành trình hián t¿i. Chúng em cÁm ¢n Nhà tr°ång, khoa và bá môn đã có nhăng kÁ ho¿ch tå cho sinh viên thąc hián đà tài tát nghiáp đúng h¿n mÁc dù nhăng trç ng¿i trong khoÁng thåi gian dßch bánh.
ĐÁc biát cÁm ¢n ThÅy Nguyßn Thanh HÁi, Tr°çng bá môn Đián tā công nghiáp - Y sinh, đã luôn đãng hành và tÃn tâm dÁn dắt chúng em trong ngành hác thú vß này. Xin gāi låi cÁm đÁn gia đình, nhăng ng°åi thân đã luôn quan tâm, đáng viên và ÿng há chúng em trong suát con đ°ång hác tÃp. Cuái cùng nhóm không quên gāi låi cÁm ¢n đÁn các b¿n lãp 181290 đã đãng hành, trao đåi kiÁn thāc và giúp đỡ lÁn nhau trong quá trình hác. MÁc dù đà tài đã hoàn thành theo nhăng nái dung đà ra, nh°ng vì ván kiÁn thāc còn h¿n chÁ nên đà tài có thÅ khó tránh khßi nhăng thiÁu sót.
Nhóm mong nhÃn đ°ÿc nhăng góp ý tÿ quý ThÅy Cô và ng°åi đác đÅ cÁi thián đà tài tát h¢n. Xin chân thành cÁm ¢n! Ng°åi thąc hián đà tài Ngô Quang KhÁi – Huỳnh Văn Pháp vi MĀC LĀC NHIàM VĀ KHÓA LUÀN TÞT NGHIàP .i LÞCH TRÌNH THČC HIàN KHÓA LUÀN TÞT NGHIàP. iii LâI CAM ĐOAN. vii LIàT KÊ HÌNH VẼ.x LIàT KÊ BÀNG.
xiii DANH MĀC TĆ VI¾T TÂT.xvi Ch°¢ng 1.3 NàI DUNG NGHIÊN CĀU .1 GIâI THIàU ÀNH X-QUANG .2 GIâI THIàU PHÄN MÂM .1 Ngôn ngă lÃp trình Python .2 Th° vián Pytorch .3 GIâI THIàU M¾NG N¡-RON NHÂN T¾O .1 Hàm kích ho¿t. CÁC MÔ HÌNH PHÂN LO¾I DĄA TRÊN CNN .6 Giãi thiáu kỹ thuÃt Grad-CAM .5 MÔ HÌNH PHÂN LO¾I DĄA TRÊN TRANSFORMER .1 KiÁn trúc Transformer trong xā lý ngôn ngă tą nhiên .2 Mô hình Vision Transformer .3 Giãi thiáu kỹ thuÃt Attention Map .6 GIâI THIàU V API .1 Khái quát và API .2 Th° vián Flask .3 C¢ sç dă liáu SQLite và công cā t°¢ng tác SQLAlchemy .7 GIâI THIàU V DOCKER. THÍ NGHIàM HUÂN LUYàN VÀ DÁNH GIÁ MÔ HÌNH .1 TäNG QUAN V PH¯¡NG PHÁP .3 MÔ HÌNH SĀ DĀNG .4 PH¯¡NG PHÁP ĐÁNH GIÁ. THI CÔNG Hà THÞNG .1 TäNG QUAN V Hà THàNG .2 XÂY DĄNG WEB API .3 TRIÄN KHAI ĀNG DĀNG VâI DOCKER.
K¾T QUÀ - NHÀN XÉT – ĐÁNH GIÁ .1 KÁt quÁ đánh giá đßnh l°ÿng cÿa mô hình .2 KhÁ năng dißn giÁi mô hình .3 KÁt quÁ triÅn khai āng dāng .2 NHÂN XÉT ĐÁNH GIÁ. K¾T LUÀN VÀ H¯àNG PHÁT TRIÂN .2 H¯âNG PHÁT TRIÄN. 73 TÀI LIàU THAM KHÀO. 78 ix LIàT KÊ HÌNH VẼ Hình 1.1: Są xuÃt hián đãng thåi nhiÃu lo¿i bánh trong tÃp dă liáu VinDr-CXR [9].1: Ví dā và Ánh màu RGB.3: Ành chāp X-quang vùng ngąc.4: Mô tÁ các b°ãc cÿa mát quá trình huÃn luyán mô hình trên Pytorch.5: M¿ng n¢-ron nhân t¿o.6: Đã thß hàm Sigmoid.7: Đã thß hàm ReLU.8: Vai trò cÿa viác chán learning rate.9: Đã thß Hàm log(x).10: Mô tÁ kiÁn trúc m¿ng LeNet-5 đ°ÿc thiÁt kÁ đÅ xác đßnh các chă sá viÁt tay trong tÃp dă liáu MNIST.11: Chi tiÁt các thành phÅn tham sá cÿa mô hình LeNet.12: Mô tÁ kiÁn trúc m¿ng AlexNet.13: Chi tiÁt các thành phÅn tham sá cÿa mô hình AlexNet.14: Ý t°çng xây dąng m¿ng VGG sā dāng các khái VGG block gãm các tÅng tích chÃp đ°ÿc xÁp chãng.15: Mô tÁ kiÁn trúc mô hình VGG-16.16: CÃu trúc khái Inception.17: CÃu trúc m¿ng GoogLeNet.18: KÁt nái tắt đ°ÿc sā dāng trong ResNet.19: Mô tÁ kiÁn trúc ResNet (ResNet-18).20: Tång quan và ho¿t đáng cÿa Grad-CAM.22: Mô tÁ cách tính ma trÃn attention.23: Mô tÁ Multi - Head Attention.24: Mô tÁ kiÁn trúc cÿa mô hình ViT [12].25: Hình Ánh đ°ÿc chia nhß thành các patch nhß có kích th°ãc cá đßnh.26: Làm phẳng các patch thành chußi các vectors (hình minh háa 9 patch).27: Mô tÁ c¢ chÁ Attention trong Vision Transformer.28: Đßnh nghĩa và khái Multi-self attention trong Vision Transformer.29: Attention map cÿa [CLS] giăa các lãp khác nhau.30: Mô tÁ và cách ho¿t cÿa giao thāc API.31: Ho¿t đáng cÿa API REST.32: Logo cÿa framework Flask Python.33: Ph°¢ng thāc thao tác vãi database bằng kỹ thuÃt ORM.34: Các thành phÅn c¢ bÁn cÿa Docker.1: Tång quan và ph°¢ng pháp.2: BiÅu đã phân phái dă liáu ląa chán tÿ tÃp dă liáu VinDr-CXR.3: CÃu trúc tå chāc tÃp dă liáu thí nghiám.4: KiÁn trúc m¿ng cÿa Resnet-18.5: KiÁn trúc m¿ng cÿa Resnet-34.6: Są thay đåi cÿa Resnet-50 (phÁi) so vãi các phiên bÁn tr°ãc đó (trái).7: KiÁn trúc m¿ng cÿa Resnet-50.8: Grad-CAM và attention map trên tÃp dă liáu ong và kiÁn.1: Mô tÁ cách ho¿t đáng cÿa model API.2: Tång quan và há tháng.3: S¢ đã tång quan và các chāc năng cÿa āng dāng web.