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

Khóa luận tốt nghiệp: Xây dựng ứng dụng web phát hiện bất thường trên ảnh X-Quang cột sống

87 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Ứng dụng Web Phát Hiện Bất Thường Trên Ảnh X-Quang Cột Sống
Tác giả Phạm Nguyễn Thanh Bình
Người hướng dẫn Th.S NGUYEN THI KIM PHUNG
Trường học Đại học Công nghệ Thông tin
Chuyên ngành Hệ thống thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 87
Dung lượng 53,03 MB

Nội dung

Chọn được mô hình đạt hiệu suất tốt trên tập dữ liệu, xây dựng một trang web áp dụng mô hình tìm được qua đó có thể cho phép người dùng truyền một file ảnh X-quang và trả về một hình ảnh

Trang 1

ĐẠI HỌC QUÓC GIA THÀNH PHÓ HÒ CHÍ MINH

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

KHOA HỆ THÓNG THÔNG TIN

PHẠM NGUYÊN THANH BÌNH

KHOÁ LUẬN TÓT NGHIỆP

XÂY DỰNG ỨNG DỤNG WEB PHÁT HIỆN BAT THUONG TREN ANH X-QUANG COT

SONG

GIẢNG VIÊN HƯỚNG DAN:

Th.S NGUYEN THỊ KIM PHỤNG

TP HO CHÍ MINH, NĂM 2023

Trang 2

ĐẠI HOC QUOC GIA TP HO CHÍ MINH CONG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN

DE CƯƠNG CHI TIẾT

TÊN ĐÈ TÀI: Xây dựng ứng dụng phát hiện bất thường trên ảnh X-quang cột sống

(Developing an application for detecting spinal abnormalities from spine X-ray films)

Cán bộ hướng dẫn: ThS GVC Nguyễn Thị Kim Phung

Thời gian thực hiện: Từ ngày 27/02/2023 đến ngày 17/06/2023

Sinh viên thực hiện:

Phạm Nguyễn Thanh Bình - 19521267

Nội dung đề tài:

Chỉ tiết mục tiêu: Xác định vị trí bất thường, loại thương tồn thông qua một file ảnh

X-quang cột sống, từ đó hỗ trợ các bác sĩ trong quá trình chan đoán, đưa ra quyết định một

cách chính xác, nhanh chóng, tiết kiệm thời gian và tăng hiệu quả trong quá trình điều trị

cho bệnh nhân Chọn được mô hình đạt hiệu suất tốt trên tập dữ liệu, xây dựng một trang

web áp dụng mô hình tìm được qua đó có thể cho phép người dùng truyền một file ảnh

X-quang và trả về một hình ảnh kết quả trong đó có các vị trí bất thường, loại thương tổn

từ file ảnh truyền vào.

Pham vi dé tai: Đề tai được áp dụng trong lĩnh vực chan đoán, phát hiện vị trí bất

thường, loại ton thương cột sống trong hình ảnh y khoa (X-quang cột sống)

Đối tượng nghiên cứu: Đề tài được thực hiện trên bộ dữ liệu VinDr- SpineXR thuộc

Công ty Cổ phần VinBigData (thuộc Tập đoàn Vingroup) Tập dữ liệu bao gôm 10,469

hình ảnh X-quang cột sông Dữ liệu được thu thập và gán nhãn, vị trí thương tôn cho 13

loại bất thường khác nhau bởi các bác sĩ có kinh nghiệm thuộc Bệnh viện Đại học Y Hà

Nội và Bệnh viện Trung ương Quân đội 108.

Phương pháp thực hiện: Áp dụng các mô hình đò tìm đối tượng trên ảnh và các phương

pháp khai phá dữ liệu, deep learning, vào tập đữ liệu dé tài, so sánh các thông số, kết

quả dat quả của các mô hình đê từ đó có các kêt luận và chọn được mô hình tdi ưu trên

tập dữ liệu.

Kết quả mong đợi:

- Đề xuất mô hình tối ưu cho việc phát hiện loại tổn thương ở X-quang cột sống l

- Xây dựng được một trang web có khả năng xác định vị trí bat thường, loại tôn

thương thông qua file ảnh X-quang cột sông truyện vào

Trang 3

Tài liệu tham khảo:

[1] Simon J.D Prince: Understanding Deep Learning (2023)

[2] Muhammad Mujahid ,Furqan Rustam, Roberto Alvarez , Juan Luis Vidal Mazon ,

Isabel de la Torre Diez, Imran Ashraf: Pneumonia Classification from X-ray Images with Inception-V3 and Convolutional Neural Network (2022)

[3] Min-Jen Tsai, Yu-Han Tao: Deep Learning Technology Applied to Medical Image

Tissue Classification (2022)

[4] Hieu T Nguyen, Hieu H Pham, Nghia T Nguyen, Ha Q Nguyen, Thang Q Huynh,

Minh Dao, Van Vu: VinDr-SpineXR: A deep learning framework for spinal lesions detection and classification from radiographs (2021)

[5] Machine Learning in Medical Image Analysis: ChenLiang (2018)

[6] Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun: Faster R-CNN: Towards Time Object Detection with Region Proposal Networks (2015)

Real-[7] Ross Girshick: Fast R-CNN (2015)

[8] Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi: You Only Look Once:

Unified, Real-Time Object Detection (2015)

[9] Christian Szegedy, Vincent Vanhoucke, Sergey loffe, Jonathon Shlens, Zbigniew Wojna: Rethinking the Inception Architecture for Computer Vision (2015)

[10] Karen Simonyan, Andrew Zisserman: Very deep convolutional networks for scale image recognition (2014)

large-Kế hoạch thực hiện:

- _ Xử lí dữ liệu ảnh DICOM, phân tích đặc điểm của bộ dữ liệu

- Triên khai các mô hình l

- So sánh các kết qua thu được từ các mô hình và rút ra kêt luận

- _ Xây dựng chương trình ứng dụng

Xác nhận của CBHD TP HCM, ngày tháng năm

(Ký tên và ghi rõ họ tên) Sinh viên

(Ký tên và ghi rõ họ tên)

Trang 4

LỜI CÁM ƠN

Trong thời gian học tập tại khoa Hệ thống thông tin, trường Đại học Công nghệ thông tin,

em đã học tập được nhiều kiến thức và kỹ năng hữu ích Em xin chân thành cảm ơn Ban

giám hiệu, thầy, cô Khoa Hệ thống thông tin đã tạo điều kiện học tập, giảng dạy và truyền đạt kiến thức hỗ trợ em rất nhiều trong quá trình nghiên cứu giúp đỡ đề em có thé oàn thành đề tài Điều này là nền tảng chính để giúp em có thể thực hiện công việc

nghiên cứu và hoàn thành khóa luận tốt nghiệp.

Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên hướng dẫn ThS Nguyễn Thị Kim

Phụng, cô đã tạo cơ hội và tận tình hướng dẫn, cho em những lời khuyên, kiến thức

chuyên môn, định hướng phủ hợp và những kinh nghiệm quý giá giúp em hoàn thành

hoá luận tốt nghiệp.

Trong thời gian thực hiện, cá nhân em đã vận dụng các kiến thức tiếp thu được vào đề tài,

ết hợp với tìm tòi, nghiên cứu các kiến thức mới đề áp dụng tốt nhất vào đề tài Tuy nhiên, do thời gian thực hiện đề tài cũng có hạn cũng như kiến thức bản thân còn hạn chế

nên không thé tránh khỏi sai sót Vì vay, em rat mong nhận được những góp ý bé sung từ các thầy, cô để hoàn thiện hơn về mặt kiến thức để có thê rút ra được các kinh nghiệm

quý báu cho bản thân từ đó giúp đề tài hiện tại và các đề tài tiếp theo được hoàn thiện hơn

trong tương lai.

Trang 5

TOM TAT

Ngày nay, trí tuệ nhân tao (AI) hiện đang có các ứng dụng mạnh mẽ trong các nghiên cứu

cơ bản lẫn nghiên cứu ứng dụng, sự phát triển của AI trong nghiên cứu cơ bản đã mở đường cho rất nhiều lĩnh vực khác nhau và một trong các lĩnh vực được đánh giá là có

tiềm năng nhất đó là lĩnh vực y tế.

Đề tài tập trung vào xây dựng một ứng dụng có khả năng phát hiện các bất thường trên

ảnh X-quang cột sống Đề tài sử dụng ba phương pháp khác nhau đề đưa ra các đánh giá

về khả năng và giới hạn của các phương pháp để từ đó có được các góc nhìn, các so sánh

và đánh giá các phương pháp, từ đó lựa chọn phương pháp phù hợp trong việc chan đoán bất thường trên ảnh X-quang cột sống.

Từ phương pháp được lựa chọn, mô hình sinh ra có thé được ứng dụng lâm sàng nhằm hỗ trợ các bác sĩ trong quá trình chân đoán, đưa ra liệu pháp chữa trị kịp thời và hiệu quả cho

bệnh nhân điều trị.

Trang 6

Chương 1: Tổng quan đề tài -©+ee<<SEEEEEEEEEEL d9EESEEEAEEEEL.L.drddorrotii 1

1.1 Đặt vấn đề c0 000 1 tre 1

1.2 Giới thiệu bài toán và thách thức -c-ccccccrrrrrrrrrtrrrrtrrtrrrrrrrrrrrrrrrrrrrriee 1

cố nn ố.ốỐốỐốỐốỐốỐốỐốỐốỐốỐ.Ố.Ắ.Ắ.Ắốố 1 1.2.2 Thách thte c.ecccccccssscsccceccsssesesseesseeseeseeceeseeeseeseceeeseceeseeceeseeceeseesceseeseeseseeeeceeeeeeeeeeeeees 2 1.3 Khảo sát các ứng dụng hiện có

Chương 2 Cơ sở lí thuyét.

2.1 Các hướng tiếp cận dé giải quyết bài toán :¿522v+++tt22Evvvrrerrrrveerrrrrr 7

2.2 Neural network đi -o- AUD as one uae sos I, LG LG gtee 9

2.3 Mang neural tích chập (Convolutional Neural Network) - - +-ccec++x++ 11

2.3.1 Cấu trúc mạng neural tích chập - -: 22£22VV22+++222ES+++++t2vvvvvrrerrres 11 2.3.2 Một số các mạng tích chập

2.4 Faster R-CNN

2.5 RetinaNet

2.6 Fully Convolutional One-Stage Object Detection (FCOS)

Chương 3 Thực nghiệm và đánh giá

3.1 Phương pháp đánh giá đối với bài toán phát hiện đối tượng

3.1.1 Intersection Over UniOn - ¿c5 525t tt 2 22112111 2111111111 35 2.7.2 Average PT€CiSiOI - ¿5c ề HH HH 1 1 11 1 11g 36 2.7.3 L1-point interpolafiOn ¿5 St t2 2 2 21 2E 2112121111 37 2.7.4 101-point interpolation - ¿55+ 2222x222 221 1.1 1 38 2.7.5 Mean Average PT€CiSIOH - +5 S SE HH1 111 12112121 1111 11111 gre 38 3.1 Phương pháp thực hiện -¿- ees ¿5+2 S+ 2x E2 2k2 2122112102101 39 3.2 BO dit LGU ốố ố ố ốốố ố 42

GVHD: ThS Nguyén Thi Kim Phung i SVTH: Pham Nguyén Thanh Binh

Trang 7

3.2.2 Một số thống kê trên tập dữ liệu: 2¿¿222E++2++222222E2+t22E2EE2errrrrrrrree 42

3.3 Môi trường huấn luyện 222++2222222++22222111122271111222271111222121112 T XeC 45 3.4 Huấn luyện các mô hình - 2¿©++2++22EEE++++t2222212212222211212222711122 22221 xe 45 3.4.1 Huấn luyện các mô hình -2 2+++22EEE++++t2E2E212212212211212212211222222.xe+ 45

3.4.2 Huan luyện mô hình Faster RCNN với ResNet FPN -.-cccccccee 48

3.4.3 Một số các kết quả chan đoán từ mô hình ¿2++z+++222zvzzrzzrrz 54

Chương 4 Chương trình Ứng dụng - 5-5-5 5s s55 s3 x33 x3 3 5 5 3s se

Chương 5 Kết luận và hướng phát triển

Tài liệu tham khảo

GVHD: ThS Nguyễn Thị Kim Phụng ii SVTH: Pham Nguyén Thanh Binh

Trang 8

Danh mục kí hiệu và việt tat

STT Ký hiệu Diễn giải

1 CNN Convolutional Neural Network

2 DNN Deep Neural Networks

3 RPN Region Proposal Network

4 FPN Feature Pyramid Networks

5 AP Average Precision

6 mAP mean Average Precision

GVHD: ThS Nguyén Thi Kim Phung 11 SVTH: Phạm Nguyễn Thanh Bình

Trang 9

Hinh 2.2 Mang neural tich Chap n1 II

Hình 2.3 Tính tốn tích chập lần lượt trên các Vi trÍ - s+s+xsx+EvEEESEeErEerrrxsrrrsrees 12

Hình 2.4 Cơng thức tính tốn giá tri cho các vi trí tích chập -‹ s++++ex+exssz 12 Hình 2.5 Tích chập trên các feature TnapD - 2G 2c 22 2319191911 91 91 91 01 011111 kg n rưy 13

Hình 2.6 Bước nhảy trong tích chập - - c2: 22 2312313311511 11 11 1111101 11 11 1 g1 rệt 13

Hình 2.7 Viền trong tích chập - 2-©+£+S++2EE+2EE9EE122E12211271127112111271.271 11.11 Ercrrk 14

Hình 2.8 Lớp gộp trong mạng tích chập - + + + + SE *ESEESksksrerrrrrkrrke 15

Hình 2.9 Lớp dau ra của mang tích Chap ccceccesssesssesssesssesssesssesssesssesssesssesssessesseesseeeseee 16Hình 2.10 Kiến trúc mạng VGG16 veccccccsccscsssssessessesstecsvesuscsesssessecsessussuesssessesscssesseeanessecave 17Hình 2.11 Một số kiến trúc khác của 11:1 OAC Cet Ai 18Hình 2.12 Một số kiến trúc của Mang {J0 -.45 19Hình 2.13 Kiến trúc của một khối phần dư - 2 ©22E+2E£+£E++£E++EEE+EEz+rxzzrxesrxeee 20Hình 2.14 Kết nối tắt trong mạng ResNet +: 22s 2E2E22EE22E1221271211221 212 xe 21Hình 2.15 Kiến trúc mơ hình Faster RCNN - :::2222cvccrtrrkrtrrrrrrrrrrrrrrrrrrrrree 22Hình 2.16 Anchor boxes dị tìm đối tượng trên các feature map 22- 2 52252 s2 23

Hình 2.17 ROT POỌInB - - c1 115119112112 1 01 11T T Tnhh HH TT TT TH rệt 24

Hình 2.18 Kết hợp đặc trưng từ các mức khác nhau - 22 2 2+++£E2+E++£xzzx+zzszrez 27

Hình 2.20 Đồ thị của Focal Loss với các y khác nhau 2-2 52 s2 E+E+2£+zzEz+zszes 30Hình 2.21 Kiến trúc của mơ hình FCOS cccc:c+222vvvvrrrtkrtrrrtrtrrtrrrrrrrrrrrrrre 31

Hình 2.22 Tinh tốn centerness trong mang FCOS - - 5c + *+ssksekrsrrrrerske 33

Hình 3.1 Tính tốn chỉ số IoU :¿-222v+++++£EEEktrrrttEkktrrrrttrttrrrrrrrtrirrrrrrrirrrrre 35Hình 3.2 Số lượng các nhãn bat thường - 2-2 ++SE+EE+2EE2EEEEEE2EEEEE2E12E1 71.22 erxeei 42Hình 3.3 Tỉ lệ chiều rộng của các bất thường -2- 2 s++Ez+EE+2E2EESEEEEEerxrrrkrrrerei 43Hình 3.4 Tỉ lệ chiều cao của các bat thường 2 22+ +EE£EE2EE2EE2EEEEEeEErrkerrrrred 43Hình 3.5 Tỉ lệ diện tích của các bất 0/0677 44Hình 3 6 Tỉ lệ xuất hiện các bất thường trên mỗi hình 2-22 2 s+££+£x+£E+zzxzrsz 44Hình 3.7 Biểu đồ nhiệt AP giữa các lớp và mơ hình - 2-2 2 +£E£+£++£xezxezrxees 47Hình 3.8 So sánh mAP ở các mạng trích xuất đặc trưng và số lớp huấn luyện 50Hình 3.9 So sánh mAP ở các mạng trích xuất đặc trưng và số lớp huấn luyện sau khi áp

BÌ0†Ä1i19i8r;†>ixš†sgvì18)12) 8A 52

Hình 3.10 Chân đốn cho bat thường Osteophytes 2- + 2 s2 2+EE££E£+Eerxrrxerred 54

Hình 3.11 Chân đốn cho bat thường Surgical implant 2-2 22 s2+s£+zxzz2czzex 55

GVHD: ThS Nguyễn Thị Kim Phung IV SVTH: Phạm Nguyễn Thanh Bình

Trang 10

Hình 3.12 Chân đoán cho bat thường Foraminal stenosis 2-2 52 522 s+£zz2£zzs2 56Hình 3.13 Chân đoán cho bat thường Disc space narrowing -s s++s+zxscsez 57Hình 3.14 Chân đoán cho bat thường Vertebral collapse 2-2-2 s2 sz+sz+zxzzse2 57

Hình 3.15 Chân đoán cho bat thường Spondylolysthesis 2- 2 52©5zczzzzzzxccxz 58

Hình 3.16 So sánh kết chan đoán của mô hình với kết quả thực tế ở bất thường gai xương

Hình 4.2 Giao diện chức năng chân đoán theo ngưỡng 2- 2 s2 ++£xerx++rxerxeez 65

Hình 4.3 Lựa chon file cần chan Goan ecccccccccsscssssssssssscsvsseevssecsveesesvessavevessaveeatsveeaeaveneees 65

Hình 4.4 Chọn ngưỡng dự ổđOáñ óc 2c c1 9919911211 11 112 1T HH ng rệp 66

Hình 4.5 Kết quả hiển thi cccccecceccssesssecssecssesssessessesssesesvcssesssecssectuesssesssesssecssesssesssessesesees 66

Hình 4.6 Giao diện kiểm tra kết quả - 2-22 2+E2£+2EE2EE29EE282E122112212271227122712221 22 cee 67Hình 4.7 Kết quả hién thị với vi trí du đoán và vị trí truyền vào - 67

Hình 4.8 Danh sách các dự án bác sĩ được phan công ¿+ sc +2 *++++vssxsersexrs 68

Hình 4.9 Chi tiết dự án tham gia 2+ 5: 222222222 22E2221222112212711271271211 211211 1 re 68Hình 4.10 Chọn khu vực bắt thường trên ảnh 2c +22 1121133 1 EEEEErrrrsrrree 68

Hình 4.11 Tạo mới dự án va chon bác sĩ tham g1a - ¿5+ +22 *++*£++t£+eEE+exeeexeerses 69

Hình 4.12 Upload thư mục ảnh và nhãn bệnh - -¿- ¿+ +22 £+2£+2+££+x+exeexeerexss 69

Hình 4.13 Danh sách dự án hiện có của người quan ÏÍ - - :- 6c se£+e£+ssseeserserse 69 Hình 4.14 Các ảnh của dự ắn c1 2c 2 2211221111211 12211 1211118111811 10111001118 111g kg xkt 70 Hình 4.15 Danh sách các bác sĩ 2c S2 1211211211111 1 11112111111 111 1111111111 HH, 70

Hinh 0099.1500, 28.11011117 70

Hình 4.17 Danh sách ảnh, nhãn bệnh và vùng dé xuất 2- 2 2+2zz+£xz+zxz+rscee 71Hình 4.18 Các khu vực được đề xuất bởi các bác sĩ - cccccccvvrierrrrrrerrrrrrrree 71Hình 4.19 Lựa chọn khu vực bat thuOng cccccccccscsesssesssesssesssesssessseessesssesssesssesssesasesssessses 72

GVHD: ThS Nguyễn Thị Kim Phung V SVTH: Phạm Nguyễn Thanh Bình

Trang 11

Danh mục bảng

Bang 3.1 So sánh chỉ số mAP@0.5 giữa các mô hình -2-© 2 s2£+£z+£xzzzzrxerez 45

Bảng 3.2 AP chỉ tiẾt các ÏỚp - 2-5221 2222E1E212211171211271711211111211211211 21111211 re 47Bảng 3.3 So sánh mAP(@0.5 ở các mức độ ảnh và số lớp huấn luyện khác nhau 49Bảng 3.4 So sánh mAP(@0.5 ở các mức độ ảnh và số lớp huấn luyện khác nhau sau khi

tang CUONY Ai WSU 0 m 52

Bảng 3.5 Chi số mAP(@0.5 của mô hình Faster RCNN ResNet152 FPN 53

GVHD: ThS Nguyễn Thị Kim Phụng 1 SVTH: Phạm Nguyễn Thanh Bình

Trang 12

Tổng quan đề tài

Chương 1: Tổng quan đề tài

1.1 Đặt vấn đề

Trí tuệ nhân tạo (AJ) hiện đang có các ứng dụng mạnh mẽ trong các nghiên cứu cơ

bản lẫn nghiên cứu ứng dụng, sự phát triển của AI trong nghiên cứu cơ bản đã mở đường

cho rất nhiều lĩnh vực khác nhau và một trong các lĩnh vực được đánh giá là có tiềm năng

và hiện được ứng dụng nhiều chính là lĩnh vực xử lí ảnh y té

Trong lĩnh vực xử lí anh y tế, việc chân đoán bat thường trong ảnh X-quang cột

sống đóng vai trò quan trọng trong việc đưa ra quyết định điều trị hiệu quả và nhanh

chóng cho các bệnh lý về xương, cột song và các co quan lân cận Tuy nhiên, dé một bác

sĩ đạt được một mức độ chuyên môn đủ dé đưa ra các quyết định chân đoán chính xác và

hiệu quả yêu cầu một quá trình đào tạo kéo dải và nắm vững kiến thức phức tạp về bệnh

lý cột sống Điều này đặt ra nhu cầu về phát triển các ứng dụng hỗ trợ chân đoán thôngminh, đáng tin cậy và chính xác đề giúp cải thiện quy trình chân đoán và tăng cường khảnăng phát hiện bất thường trong ảnh X-quang cột sống

1.2 Giới thiệu bài toán và thách thức

1.2.1 Bài toán

Bài toán đặt ra là xây dựng một ứng dụng phát hiện bất thường trên ảnh X-quang cột

song, với mục tiêu tự động phát hiện các được các bất thường Bên cạnh đó, để đạt được

hiệu quả tốt nhất cho việc phát hiện bat thường, ứng dụng còn hỗ trợ các bác sĩ làm việc

với các ca bệnh đê từ đó đưa ra được kêt quả chân đoán chính xác nhât.

Đầu vào là một ảnh X-quang cột sống Đầu ra là các bất thường nằm thuộc 7 loại bất

thường bao gồm gai xương, trượt đốt sống, hẹp khe khớp, xẹp đốt sống, hẹp lỗ liên hợp,kết hợp xương, các bất thường khác và vị trí của các bất thường

GVHD: ThS Nguyễn Thi Kim Phung 1 SVTH: Pham Nguyén Thanh Binh

Trang 13

Hình 1.1 Đầu vào và dau ra của bài toán

1.2.2 Thách thức

Thiếu các bộ dữ liệu được gán nhãn bởi các chuyên gia y tế

e Để xây dựng được một bộ dữ liệu lớn đặc biệt là bộ dữ liệu thuộc về lĩnh vực y

tế thì rất khó dé thu thập được bên cạnh đó việc thu thập các dữ liệu này cũngphải tuân thủ rất nhiều các nguyên tắc về bảo mật thông tin bệnh nhân và cácvấn đề liên quan đến đạo đức

© Quỹ thời gian của các bác sĩ rất han hep dé có thé dành thời gian tham gia vào

các dự án nghiên cứu.

Domain shift problem

Trong thực tế các kĩ thuật, chất lượng, kĩ thuật chụp, máy móc ở các bệnh viện khác nhaucùng một bệnh nhân, cùng một ca bệnh lại cho ra các hình ảnh khác nhau do đó khiến cho

mô hình được huấn luyện và kiểm tra đạt kết quả rất tốt nhưng lại đạt được kết quả thấp lÙ

các bộ đữ liệu khác (bệnh viện khác) Đây cũng là một trong các vấn đề lớn trong quá

trình triển khai được các mô hình ra thực tế

GVHD: ThS Nguyễn Thi Kim Phung 2 SVTH: Phạm Nguyễn Thanh Bình

Trang 14

Tổng quan dé tài

1.3 Khảo sát các ứng dụng hiện có

IDx-DR: Được FDA (Cục quản lý thực phẩm và dược phẩm Hoa Kỳ) chấp thuận vào

năm 2018, IDx-DR là một ứng dụng trí tuệ nhân tạo đã triển khai để phát hiện bệnh đái tháo đường ở mắt (diabetic retinopathy) từ hình ảnh X-quang của võng mạc Ứng dụng

này có khả năng tự động phân loại hình anh dé xác định mức độ nặng của bệnh và đưa ra

kết luận chan đoán.

Aidoc: Aidoc là một công ty đã triển khai nền tảng trí tuệ nhân tạo trong nhiều bệnh viện

trên thế giới Ứng dụng của họ sử dụng học sâu dé phát hiện bat thường trên ảnh X-quang

va CT Công nghệ của Aidoc đã được sử dụng dé phát hiện và đánh dấu các bất thường như xương gãy, khối u, và các vấn đề cần được quan tâm trên hình ảnh y tế.

Lunit INSIGHT: Lunit INSIGHT là một ứng dụng của công ty Lunit, đã triển khai tại một số bệnh viện trên thế giới Sử dụng trí tuệ nhân tạo, nó cung cấp hỗ trợ cho việc phân loại và chan đoán bất thường trên ảnh X-quang ngực Lunit INSIGHT có khả năng xác định các dấu hiệu của viêm phổi, ung thư phổi và các bệnh lý khác.

InferVISION: InferVISION là một công ty Trung Quốc đã triển khai ứng dụng trí tuệ

nhân tạo dé phân loại và chan đoán bat thường trên ảnh X-quang va CT Ứng dụng của

họ có khả năng nhận dạng các bất thường trong hình ảnh, như vi khuẩn, ung thư, và các

van đề khác, từ đó hỗ trợ quyết định chân đoán của các bác sĩ.

Các ứng dụng có nhiều các chức năng khau nhằm hỗ trợ quá trình điều trị và khả năng chan đoán bat thường trên ảnh X-quang y tế nhưng các chức chính sẽ tập trung vào phân

loại hoặc chỉ ra vị trí bất thường và hỗ trợ quá trình chan đoán:

e Phan loại bất thường: Các ứng dụng nay sử dụng các mô hình học sâu và thuật

toán trí tuệ nhân tạo đề phân loại các bất thường trên ảnh X-quang Ứng dụng

có khả năng nhận dạng các vùng bất thường trong hình ảnh và đưa ra dự đoán

về loại bất thường có thể có, chẳng hạn như vi khuẩn, nhiễm trùng, ung thư phổi, viêm phôi, và các van đề khác.

GVHD: ThS Nguyễn Thị Kim Phụng 3 SVTH: Phạm Nguyễn Thanh Bình

Trang 15

Tổng quan dé tài

Hình 1.2 Lựa chọn ảnh cân chẩn đoán của ứng dụng IDx-DR

Nguồn ảnh: www.healthvisors.com

G IDx |

IDx-DR Analysis Report

Hình 1.3 Một kết quả trả về từ Idx-DR cho một ca chụp với phân lớp Negative

Nguồn ảnh: www.healthvisors.com

GVHD: ThS Nguyễn Thị Kim Phụng 4 SVTH: Phạm Nguyễn Thanh Bình

Trang 16

Tổng quan dé tài

e_ Hỗ trợ chân đoán: Các ứng dụng này cung cấp hỗ trợ cho các chuyên gia y tế

trong quá trình chân đoán Chúng có thé đánh giá các kết quả từ ảnh X-quang

và cung cấp thông tin bổ sung, gợi ý hoặc nhận diện các khu vực bắt thường

trên hình ảnh, giúp các bác sĩ tăng cường khả năng chân đoán và đưa ra quyết định điều trị.

1.4 Mục tiêu, phạm vi

1.4.1 Mục tiêu

Dé có thé hỗ trợ chân đoán bat thường ở ảnh X-quang cột sóng, đề tài sẽ xây dựng ứng

dụng hỗ trợ phát hiện và chỉ ra vị trí bất thường trên ảnh X-quang cột sống nhằm hỗ trợ các bác sĩ trong quá trình chân đoán bệnh góp phần đưa ra các kết quả chân đoán chính

xác từ đó có các liệu pháp điều trị sớm và hiệu quả cho bệnh nhân.

1.4.2 Phạm vi

Phạm vi của khoá luận này được thực hiện trên bộ dữ liệu VinDr-SpineXR Do giới hạn

về mặt thời gian cũng như kiến thức nên các mô hình được triển khai trong dé tai: Faster

RCNN, RetinaNet, FCOS.

Một số công nghệ sử dung:

- Ng6n ngữ: Python, Javascript,

- Framework: Django, ngrok,

- Thu vién: Pytorch, Numpy, Pandas, Matplotlib,

1.5 Nội dung thực hiện

Bước 1:

e_ Tìm hiểu, khai thác bộ dữ liệu được lựa chọn và tiền xử lí dữ liệu.

e Khao sát các mô hình, bài toán liên quan.

e Lua chọn mô hình phù hợp với tập dữ liệu.

GVHD: ThS Nguyễn Thị Kim Phụng 5 SVTH: Phạm Nguyễn Thanh Bình

Trang 17

Tổng quan dé tài

Bước 2:

e = Thử nghiệm các mô hình đã được lựa chọn.

e _ Tiến hành thiết lập các tham số thích hợp cho các mô hình.

Bước 3:

¢ Đánh giá kết quả đầu ra của các mô hình.

e Lựa chọn mô hình tối ưu cho bài toán.

Bước 4:

e Xây dựng chương trình ứng dụng.

e Nhận xét và đánh giá

1.6 Bố cục báo cáo

Khoá luận được bô cục với các chương và mục như sau:

¢ Chương 1: Tổng quan đề tai

Giới thiệu tóm tắt về mục tiêu, bài toán đặt ra, lĩnh vực và phạm vi thực hiện.

© Chương 2: Cơ sở lí thuyết

Các hướng tiếp cận đề giải quyết bài toán, các mô hình phát hiện đối tượng

Faster RCNN, RetinaNet, FCOS.

e Chương 3: Thực nghiệm và đánh giá

Cách thức đánh giá bài toán phát hiện đối tượng.

Thử nghiệm các mô hình trên bộ dữ liệu và đánh giá các kết quả thu được.

e Chương 4: Chương trình ứng dụng

Sử dụng mô hình đạt kết quả tốt cho xây dựng ứng dung chân đoán bat thường trên ảnh X-quang cột sóng.

© _ Chương 5: Kết luận và hướng phát triển

Tóm tắt về đề tài, kết luận và hướng phát triển tiếp theo cho bài toán phát hiện đối tượng trong ảnh y tế.

GVHD: ThS Nguyễn Thị Kim Phụng 6 SVTH: Phạm Nguyễn Thanh Bình

Trang 18

Cơ sở lí thuyết

Chương 2 Cơ sở lí thuyết

2.1 Các hướng tiếp cận để giải quyết bài toán

Bài toán xử lí ảnh

Sự bùng né của deep learning đã mang lại một cuộc cách mạng trong việc áp dụng vào

bài toán xử lý ảnh Trước đây, phương pháp truyền thống trong việc phân loại ảnh dựa

trên các quy tắc phức tạp hoặc nhờ vào việc tạo đặc trưng thủ công Tuy nhiên, phương pháp này tốn thời gian, khá khó tổng quát hóa và đòi hỏi các kiến thức chuyên môn trong

lĩnh vực áp dụng Hiện nay, deep learning, đặc biệt là mô hình CNN (Convolutional

Neural Networks), đã thay đổi hoàn toàn cách tiếp cận này CNN không yêu cầu tạo đặc trưng thủ công, tiết kiệm thời gian xử lý ảnh Thay vào đó, CNN tự động học các đặc

trưng ảnh từ dữ liệu thông qua các lớp bộ lọc ban đầu và các lớp sau để tiến hành phân loại điều này mang lại cho CNN các kết quả tích cực hơn so với các thuật toán truyền

thống [1], [2], [3].

Trong lĩnh vực y tế, việc áp dụng các mô hình học sâu cũng trở thành xu hướng để giải

quyết các bài toán khác nhau trong đó có các bài toán xử lí ảnh y khoa.

DEEP LEARNING AND MEDICAL

Trang 19

Cơ sở lí thuyết

Bài toán phát hiện đối tượng trên ảnh X-quang

Mô hình phát hiện đối tượng trong thị giác máy tính là các hệ thống được thiết kế để nhậndiện và xác định vị trí của các đối tượng trong ảnh Có hai loại chính của mô hình pháthiện đối tượng là mô hình phát hiện đối tượng một giai đoạn (one-stage object detectionmodel) và mô hình phát hiện đối tượng hai giai đoạn (two-stage object detection model):

¢ Mô hình phát hiện đối tượng một giai đoạn (one-stage object detection model):

Đây là một loại mô hình phát hiện đối tượng nhanh và hiệu quả Mô hình này

thực hiện việc phát hiện và xác định vị trí đối tượng trong một lần chạy

(single-pass) qua mạng nơ-ron Một số mô hình phổ biến trong nhóm này bao gồm

YOLO, SSD, RetinaNet, FCOS, Những mô hình này thường sử dụng các

phương pháp như giảm số lượng khung hình đề xuất (proposals) và chia lưới

(grid) thành các vùng con (sub-regions) dé đưa ra dự đoán

¢ Mô hình phát hiện đối tượng hai giai đoạn (two-stage object detection model):

Mô hình này thực hiện quá trình phát hiện đối tượng trong hai giai đoạn riêngbiệt: đề xuất (proposal) và phân loại (classification) Trong giai đoạn đầu tiên,

mô hình tạo ra một số lượng các khung hình đề xuất ứng viên cho đối tượng cóthê tồn tại trong ảnh Sau đó, trong giai đoạn thứ hai, mô hình phân loại đốitượng và xác định vi trí chính xác của chúng Một mô hình tiêu biểu trong các

mô hình phát hiện đối tượng hai giai đoạn là Faster R-CNN

Cả hai loại mô hình trên đều có ưu điểm và hạn chế riêng Mô hình một giai đoạn có tốc

độ nhanh và có thể phát hiện đối tượng trong thời gian thực, nhưng đôi khi có thể gặpkhó khăn trong việc xác định chính xác vi trí của đối tượng Mô hình hai giai đoạn đạt

được độ chính xác cao hơn nhưng đòi hỏi thời gian tính toán và tài nguyên hơn Sự lựa

chọn giữa hai loại mô hình này thường phụ thuộc vào yêu cầu cụ thể của bài toán và môi

Trang 20

Cơ sở lí thuyết

Có thể thấy Faster RCNN là một trong những mô hình phát hiện đối tượng mang lại độ

chính xác tốt trong các mô hình phát hiện đối tượng được áp dụng trên ảnh X-quang

trong y khoa.

Bên cach Faster RCNN, RetinaNet cũng là một trong các mạng thường được áp dung détrong bài toán phát hiện bat thường trên ảnh X-quang với đặc điểm là có khả năng giảmthiểu van đề mat cân bằng giữa các lớp [7] [8], [9] FCOS cũng tương tự RetinaNet đều

thuộc phương pháp một giai đoạn nhưng với kiến trúc không áp dụng các anchor box

cũng mang lại các kết quả tốt trên tập MS COCO [11] và cũng đã được áp dụng trong

phát hiện đối tượng trên ảnh X-quang [7]

Ở các mô hình FCOS và RetinaNet đa phần mạng trích xuất đặc trưng được sử dụng làmạng ResNet có áp dụng kiến trúc FPN Trong đó mạng ResNet thường xuyên sử dụng là

ResNet50 [7], [8].

Mô hình Faster RCNN cũng áp dung kiến trúc ResNet FPN [8] nhưng bên cạnh đó cũng

có các nghiên cứu áp dụng mạng trích xuất đặc trưng từ bài viết góc là VGG16 [9].

Bài toán phát hiện đối tượng trên ảnh X-quang cột sống

Faster RCNN va Retina cũng đã được áp dụng trên bộ dữ liệu được lựa chọn [9] với

mAP00.5 31.38% cho Faster RCNN va 28.09% cho RetinaNet.

Dựa trên việc khảo sát các nghiên cứu đã có, dé tài sẽ áp dụng hai mô hình một giai đoạn

là RetinaNet, FCOS với mạng mạng trích xuất đặc trưng là ResNet50 và mô hình hai giaiđoạn áp dụng là Faster RCNN với các mạng trích xuất đặc trưng là VGG16, Resnet va

Resnet FPN.

2.2 Neural network

Mạng neural là một khái niệm trong lĩnh vực trí tuệ nhân tạo và học máy, được lấy cảmhứng từ cách hoạt động của hệ thần kinh sinh học trong não người Mạng neural nhân tạo(hay còn gọi là mạng nơ-ron nhân tao) là một mô hình tính toán được thiết kế dé mô

phỏng và mô phỏng câu trúc và hoạt động của mạng nơ-ron sinh học.

GVHD: ThS Nguyễn Thi Kim Phung 9 SVTH: Phạm Nguyễn Thanh Bình

Trang 21

Cơ sở lí thuyết

Mạng neural bao gồm một tập hợp các đơn vi tính toán gọi là nơ-ron nhân tao (artificial

neurons) hoặc đơn giản là nơ-ron Các nơ-ron này kết nối với nhau thông qua các trọng

số và tạo thành các lớp, tạo nên kiến trúc của mạng Mỗi ron nhận đầu vào từ các ron trong lớp trước đó, thực hiện một phép tính toán đơn giản và truyền kết quả đến cácnơ-ron trong lớp tiếp theo Mạng neural có khả năng học từ đữ liệu thông qua quá trìnhgọi là huấn luyện Trong quá trình huấn luyện, mạng neural điều chỉnh các trọng số củacác kết nối giữa các nơ-ron đề tối ưu hóa đầu ra dựa trên các đầu vào đã biết và kết quảmong muốn tương ứng Các thuật toán như lan truyền ngược (backpropagation) thường

nơ-được sử dung dé điêu chỉnh các trọng sô này.

Mạng neural đã đạt được nhiều thành công trong nhiều lĩnh vực ứng dụng khác nhau, baogồm nhận dạng hình ảnh, nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, dự đoán, vànhiều lĩnh vực khác Các mạng neural sâu (deep neural networks) là một dạng đặc biệtcủa mạng neural, được xây dựng với nhiều lớp ân (hidden layers) và đã đạt được nhữngkết quả ấn tượng trong nhiều bài toán phức tạp

GVHD: ThS Nguyễn Thi Kim Phung 10 SVTH: Phạm Nguyễn Thanh Bình

Trang 22

Cơ sở lí thuyết

2.3 Mạng neural tích chập (Convolutional Neural Network)

Mạng neural tích chập (Convolutional Neural Network - CNN) là một loại mạng neural

được sử dung chủ yếu trong lĩnh vực xử lý ảnh và thị giác máy tính CNN được thiết kếđặc biệt dé tự động học và trích xuất các đặc trưng từ dit liệu hình ảnh Cấu trúc co bảncủa một mang CNN thường bao gồm 5 lớp: lớp tích chập, lớp kích hoạt, lớp gdp, lớp kếtnối đầy đủ, lớp đầu ra

Hinh 2.2 Mang neural tich chap [12]

2.3.1 Cau trúc mang neural tích chập

Lớp tích chap (Convolutional layer)

Lớp tích chập là lõi của mang CNN Lop tích chập này thực hiện phép toán tích chập

giữa ma trận đầu vào (hình ảnh) và một bộ lọc (kernel) để trích xuất các đặc trưng Mỗilớp tích chập sẽ có nhiều bộ lọc khác nhau dé nhận diện các đặc trưng khác nhau trong

hình ảnh.

e Phép toán tích chập được thực hiện bằng cách lay một ma trận đầu vào (thường

là một ma trận 2D) và áp dụng một ma trận bộ lọc (kernel) lên đó Mỗi phần tửtrong ma trận kết quả được tính băng cách nhân các phần tử tương ứng trong

ma trận đầu vào với các phần tử tương ứng trong ma trận bộ lọc, sau đó tínhtổng các kết quả này Quá trình này được lặp lại trên toàn bộ ma trận đầu vàobăng cách dịch chuyên ma trận bộ lọc qua đầu vào theo từng bước (stride)

GVHD: ThS Nguyễn Thi Kim Phung 11 SVTH: Pham Nguyén Thanh Binh

Trang 23

Hình 2.3 Tinh toán tích chập lần lượt trên các vị trí [13]

e Công thức tính toán cho các vi trí trên ma trận tích chap:

Input matrix Convolution kernel Output Ốc = Wy, + WM, + WM, + Wy My,

Oy = Wy My + Vy + WM, + Wy) My,

04, = W) Mts, a Ms; + May + MayHis

Oy = Wy), + WIN, + Wy, + WM,

Hình 2.4 Công thức tinh toán giá trị cho các vị trí tích chập [14]

GVHD: ThS Nguyễn Thi Kim Phung 12 SVTH: Phạm Nguyễn Thanh Bình

Trang 24

Cơ sở lí thuyết

e Phép tích chập trên các feature map với các kernel:

HH Bias matrix

Feature Maps Convolution kernel

e Bước nhảy (Stride): là một tham số trong phép toán tích chập trong xử lý ảnh

và mang neural tích chập (CNN) dé xác định khoảng cách đi chuyền của bộ lọc

khi áp dụng lên dữ liệu đầu vào Khi áp dụng phép toán tích chập, bộ lọc được dịch chuyển qua đầu vào theo từng bước nhảy Bước nhảy quy định số bước

mà bộ lọc di chuyển qua đầu vào sau mỗi lần áp dụng Việc chọn giá trị bước

nhảy phụ thuộc vào đặc điểm của dữ liệu đầu vào và yêu cầu của bài toán Một

bước nhảy nhỏ hơn có thé giúp mô hình trích xuất được nhiều đặc trưng nhỏ hon, trong khi một bước nhảy lớn hơn có thé làm mat một số thông tin chỉ tiết

nhưng giảm kích thước đầu ra và tốc độ tính toán.

Hình 2.6 Bước nhảy trong tích chập [15]

GVHD: ThS Nguyễn Thị Kim Phụng 13 SVTH: Phạm Nguyễn Thanh Bình

Trang 25

Cơ sở lí thuyết

e Đường viền (Padding): là một tham số trong phép toán tích chập trong xử lý

ảnh và mạng neural tích chập (CNN) dé thay đổi kích thước của đầu vào trước

khi áp dụng bộ lọc Khi áp dụng phép toán tích chập, kích thước đầu ra thường nhỏ hơn kích thước đầu vào Điều này có thé gây mat mát thông tin ở viền của

đầu vào Dé giữ lại thông tin nay và đảm bảo rằng các điểm ở viền cũng được

xử lý, ta có thể sử dụng đường viền Đường viền được thêm vào các cạnh của đầu vào bằng cách thêm các giá trị 0 (hoặc giá trị khác) vào xung quanh các

giá trị ban đầu Điều này đặc biệt hữu ích trong các tác vụ như phân loại ảnh hoặc phát hiện đối tượng, khi thông tin biên có thể chứa nhiều đặc trưng quan

trọng.

Lớp kích hoạt (Activation layer)

Lớp kích hoạt được áp dụng sau lớp tích chập để tạo ra độ phi tuyến tính cho mạng Nhiệm vụ của lớp kích hoạt là đưa ra một phản ứng phi tuyến tính vào mạng, giúp mô

hình học được các mối quan hệ phức tạp và biểu diễn các đặc trưng phi tuyến tính Hàm

kích hoạt phổ biến như ReLU (Rectified Linear Unit) thường được sử dụng để loại bỏ các

giá trị âm và tạo ra các đặc trưng không âm.

Lớp gộp (Pooling layer)

Lớp gộp giúp giảm kích thước của feature map bằng cách thực hiện phép gộp thông tin

trong một vùng nhất định Mục tiêu chính của lớp gộp là giảm kích thước của đầu vào

GVHD: ThS Nguyễn Thị Kim Phụng 14 SVTH: Phạm Nguyễn Thanh Bình

Trang 26

Cơ sở lí thuyết

băng cách áp dụng một phép gộp (pooling operation) lên các vùng không gian của đữ liệu.Lớp gộp không chỉ giảm kích thước mà còn giúp giảm số lượng tham số và tính toántrong mang, từ đó làm giảm nguy cơ overfitting và tăng tốc độ huấn luyện Phép gopthường được thực hiện băng cách lấy giá trị lớn nhất (max pooling) hoặc lấy giá trị trung

bình (average pooling) trong vung gop.

Hình 2.8 Lop gộp trong mang tích chập [14]

Lớp kết nối đầy đủ (Fully Connected layer) và Lớp đầu ra (Output layer)

Sau khi các lớp tích chập và gộp, các đặc trưng đã được trích xuất từ ảnh được chuyển

đổi thành một đầu vào dạng vector Lớp kết nối đầy đủ sử dụng các nút neuron đề học

méi quan hệ giữa các đặc trưng và thực hiện phân loại Các lớp kết nối đầy đủ thường có

một số neuron ấn (hidden neurons) để học các đặc trưng phức tap và ánh xạ các đầu vào

không gian cao xuống đầu ra Số lượng nơron trong lớp kết nối đầy đủ là một tham số

của mô hình và có thé được điều chỉnh để tăng hoặc giảm độ phức tap của mạng

Lớp đầu ra của mang CNN thực hiện việc phân loại hoặc dự đoán dựa trên các đặc trưng

đã được học từ mạng Tùy thuộc vào bài toán và kiến trúc mạng, lớp đầu ra có thể có một hoặc nhiều nơron Số lượng nơron thường phụ thuộc vào 36 lớp đối tượng cần phân loại

hoặc sô chiêu đầu ra mong muôn.

GVHD: ThS Nguyễn Thi Kim Phung 15 SVTH: Phạm Nguyễn Thanh Bình

Trang 27

Convolutional Networks for Large-Scale Image Recognition" của Karen Simonyan va

Andrew Zisserman, được công bố vào năm 2014 [16] Mô hình đạt được top 5 về độ

chính xác trong cuộc thi ILSVRC-2014 trên tập dữ liệu ImageNet, một bộ dữ liệu gồm

1000 đối tượng khác nhau với số lượng hình ảnh là trên 1 triệu hình anh Day là mộttrong những mô hình CNN nổi tiếng và phố biến được sử dụng rộng rãi trong lĩnh vực thị

giác máy tính và học sâu.

Kiến trúc VGG16 có tổng cộng 16 lớp (do đó tên gọi VGG16), trong đó bao gồm 13 lớp

tích chập và 3 lớp kết nối day đủ (fully connected layers) Các lớp tích chập sử dụng các

bộ lọc nhỏ kích thước 3x3 với các bước nhảy (stride) bang 1 và đệm (padding) dé duy trikích thước đầu vào, đây cũng là lần đầu tiên có khái niệm về khối tích chập TrongVGG16, mỗi khối tích chập là một tập hợp các lớp tích chập và lớp kích hoạt phi tuyến

GVHD: ThS Nguyễn Thi Kim Phung 16 SVTH: Phạm Nguyễn Thanh Bình

Trang 28

Cơ sở lí thuyết

được lặp lại theo cùng một mô hình Kiến trúc này đã trở thành một mô hình cơ bản vàđược áp dụng rộng rãi trong nhiều mạng CNN sau này

VGGI6 có đặc điểm là có số lượng lớp rất lớn và các kênh đầu ra rất sâu, tạo ra một mô

hình rất mạnh nhưng cũng rất phức tạp Mạng VGG16 thường được sử dụng dé thực hiện

các tác vụ như phân loại ảnh, phát hiện đối tượng và trích xuất đặc trưng

Kiến trúc của VGG16 bao gồm:

e Lớp đầu vào: Một bức ảnh với kích thước có định (thường là 224x224x3) được

đưa vào mô hình.

e Lớp tích chập (Convolutional layers): VGG16 sử dụng một chuỗi các lớp tích

chập với bộ lọc kích thước 3x3, hàm kích hoạt ReLU và padding dé duy trikích thước đầu vào Các lớp tích chập này được xếp chồng lên nhau và sau đóđược theo sau bởi các lớp max pooling để giảm kích thước

e Lớp pooling: VGG16 sử dụng lớp max pooling dé giảm kích thước của đặc

trưng và tạo ra các đặc trưng được tông hợp Thông thường, kích thước cửa số

và bước nhảy của lớp pooling được đặt là 2x2 và 2 tương ứng.

e Mang kết nối đầy đủ (Fully connected layers): Sau khi trích xuất đặc trưng,

VGG16 sử dụng một số lớp kết nối day đủ dé thực hiện phân loại Các lớp kết

nôi đây đủ này có thê có một sô lượng lớp và đơn vị nơ-ron khác nhau, nhưng

GVHD: ThS Nguyễn Thi Kim Phung 17 SVTH: Phạm Nguyễn Thanh Bình

Trang 29

Cơ sở lí thuyết

trong trường hợp của VGG16, có hai lớp kết nối đầy đủ với số đơn vị nơ-ron là

4096, 4069 sử dụng ReLU làm hàm kích hoạt.

e Lớp đầu ra: Cuối cùng, lớp đầu ra sử dụng hàm softmax được sử dụng dé dự

đoán xác suất phân loại cho các lớp đối tượng

VGGI6 sử dụng một số lớp tích chập dé trích xuất các đặc trưng của ảnh Các lớp tích

chập được thiết kế để nhận diện các đặc trưng cấp thấp (ví dụ: cạnh, góc) và các đặctrưng cấp cao (vi dụ: hình dạng, texture) VGG16 đã đạt được kết quả tốt trong nhiềunhiệm vụ phân loại ảnh và đã trở thành một trong những kiến trúc CNN quan trọng vàphô biến

Bên cạnh VGGI6 chúng ta còn có các mạng VGG khác như VGGII, VGG13, VGG19 với sô lượng các lớp và kiên trúc các khôi khác nhau.

conv3-64 conv3-64 conv3-64 conv3-64 conv3-64 conv3-64

LRN cony3-64 conv3-64 conv3-64 conv3-64

maxpool conv3-256 | conv3-256 | conv3-256 | conv3-256 | conv3-256 | conv3-256

conv3-256 | conv3-256 | conv3-256 | conv3-256 | conv3-256 | conv3-256

convl-256 | conv3-256 | conv3-256

conv3-256

maxpool conv3-512 | conv3-512 | conv3-512 | conv3-512 | conv3-512 | conv3-512

conv3-512 | conv3-512 | conv3-512 | conv3-512 | conv3-512 | conv3-512

convl-512 | conv3-512 | conv3-512

conv3-512

maxpool

conv3-512 | conv3-512 | conv3-512 | conv3-512 | conmv3-512 | conv3-512

conv3-512 | conv3-512 | conv3-512 | conv3-512 | comv3-512 | conv3-512

convl-512 | conv3-512 | conv3-512

Trang 30

Cơ sở lí thuyết

Mạng ResNet

ResNet (Residual Network) là một kiến trúc mạng nơ-ron tích chập (CNN) đặc biệt được

đề xuất bởi Kaiming He và các đồng nghiệp vào năm 2015 ResNet đã đạt được thànhcông lớn trong các nhiệm vụ phân loại ảnh và xếp hạng trong cuộc thi ImageNet 2015

[17].

Một trong những đặc điểm độc đáo của ResNet là việc sử dụng các khối cơ bản được gol

là Residual Blocks Những khối nay cho phép mạng xây dựng các đường truyền thôngqua các lớp mà không bị giảm đáng kể hiệu suất, thậm chí có thé cải thiện độ chính xác

Kiến trúc ResNet sử dụng một số khối cơ bản đề tạo nên mô hình Dưới đây là một mô tả

tong quan về kiến trúc ResNet:

e Lớp đầu vào: Một bức ảnh RGB được đưa vào mang với kích thước cô định

(thường là 224x224x3) Convolutional layers: ResNet bắt đầu với một lớp tích

e Residual Block: Đây là thành phần chính của ResNet Mỗi khối cơ bản bao

gồm hai hoặc ba lớp tích chập kết hợp với các kết nối nhánh (skip connections)

dé truyền thông qua các lớp Kết nối nhánh cho phép thông tin trực tiếp từ các

GVHD: ThS Nguyễn Thi Kim Phung 19 SVTH: Phạm Nguyễn Thanh Bình

Trang 31

Cơ sở lí thuyết

lớp trước đó được truyền qua các lớp tiếp theo Điều này giúp tránh hiện tượngmat thông tin (vanishing gradient) Trong mạng ResNet, kết nối tat được ápdụng thông qua các khối phần dư (Residual Blocks) Mỗi khối phần dư baogồm một kết nối tắt, còn được gọi là kết nối nhánh (shortcut connection), nốitrực tiếp từ đầu vào đến đầu ra của khối Cụ thể, khi thông tin đi qua một khốiphan dư, thông tin từ đầu vào được truyền thăng tới đầu ra thông qua kết nồi tắt.Ngoài ra, dé dam bao rang thông tin từ đầu vào có thê được kết hợp với dau racủa khối phan dư, đôi khi có thé sử dụng một lớp tích chập 1x1 dé điều chỉnh

kích thước của dau vào đê phù hợp với dau ra.

Hình 2.13 Kiến trúc của một khói phan dư [17]

e Lớp kết nối đầy đủ (Fully connected layers): Sau khi trích xuất đặc trưng,

ResNet sử dụng một số lớp kết nối đầy đủ để thực hiện phân loại Thông

thường, các lớp kết nối đầy đủ này cuối cùng được kết nối với một lớp softmax

dé đưa ra dự đoán xác suất phân loại cho các lớp đối tượng

Mạng trích xuất đặc trưng: ResNet sử dụng một chuỗi các khối cơ bản dé trích xuất cácđặc trưng từ ảnh Số lượng và kích thước của các khối cơ bản phụ thuộc vao phiên bản cụthé của ResNet (ví dụ: ResNet-50, ResNet-101, ResNet-152) Các khối cơ bản được xếpchồng lên nhau dé xây dựng một mạng CNN sau

GVHD: ThS Nguyễn Thi Kim Phung 20 SVTH: Phạm Nguyễn Thanh Bình

Trang 32

Cơ sở lí thuyết

weight layer

x

identity

Hình 2.14 Kết nổi tat trong mang ResNet [17]

Khi có ap dung Residual connections khả nang học tập thông qua các mang có độ sâu lớn

được cải thiện, trong quá trình học mạng sẽ dễ giữ lại các đặc trưng đã học ở trước đó và

kết quả cho ra của mô hình sẽ tốt hơn.

ResNet là một kiến trúc mạng nỗi tiếng và quan trọng trong lĩnh vực phân loại ảnh Mạng

ResNet đã giúp nâng cao hiệu suất và khả năng học của các mô hình CNN, đồng thời

vượt qua các thách thức của việc xây dựng các mạng sâu.

2.4 Faster R-CNN

Faster R-CNN (Region-based Convolutional Neural Networks) là một mô hình nỗi tiếngtrong lĩnh vực nhận dang va phat hiện vat thể trên hình ảnh Mô hình này được giới thiệubởi Shaoging Ren, Kaiming He, Ross Girshick và Jian Sun trong bài báo có tiêu dé

"Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks"

vao nam 2015 [18].

Faster R-CNN cải tiến phương pháp R-CNN trước đó bang cách tích hợp một mang ron tích chập đề thay thế bước đầu vào chứa các khu vực đề xuất (region proposals) Điều

nơ-này giúp tăng tôc quá trình đê xuât khu vực và cải thiện hiệu suât của mô hình.

GVHD: ThS Nguyễn Thi Kim Phung 21 SVTH: Pham Nguyén Thanh Binh

Trang 33

'VGGI16 được sử dụng làm mang trích xuất đặc trưng Bên cạnh đó, việc thay đổi từ mạng

VGGI6 sang mạng ResNetl0lcũng đã giúp cho độ chính xác (mAP(@0.5 và

mAP(@0.5:0.95) của mô hình tăng từ 41.5% / 21.2% lên 48.4% / 27.2% trên tập dữ liệu COCO [18].

Region Proposal Network (RPN)

Mục tiêu của mang RPN là dé xuất một tập hop các vùng quan tam (region of interest)trong anh đầu vào, mỗi vùng quan tâm đều có khả năng chứa vật thé Dé làm được điềunày, mạng RPN sử dụng một cửa số trượt (sliding window) trên các feature map đượctrích xuất từ mạng trích xuất đặc trưng (backbone network) của Faster R-CNN Quá trìnhhoạt động của mạng RPN như sau: Đầu vào của mạng RPN là feature map được tríchxuất từ mạng trích xuất đặc trưng Feature map này có kích thước nhỏ hơn ảnh gốc nhưng

GVHD: ThS Nguyễn Thi Kim Phung 22 SVTH: Phạm Nguyễn Thanh Bình

Trang 34

Cơ sở lí thuyết

van bảo tôn được thông tin vệ vi trí và đặc trưng của các vùng trong ảnh Trên feature

map, mạng RPN áp dụng một tập hợp các anchor boxes.

2k scores | | 4k coordinates | 4a & anchor boxes

cls layer \ / reg layer [+ |

| 256-d | |

‡ intermediate layer

sliding window

conv feature map

Hình 2.16 Anchor boxes do tim đối tượng trên các feature map [18]

Cac anchor boxes được su dụng để ước lượng va dự đoán vi tri của các đối tượng trongcác vùng này Mỗi điểm trên feature map sẽ được gán một tập hợp các anchor boxes vớicác ty lệ và kích thước khác nhau Ví dụ, một điểm trên feature map có thể có 3 anchor

boxes với ty lệ khác nhau (ví dụ 1:1, 1:2, 2:1) và các kích thước khác nhau (ví dụ

128x128, 256x256, 512x512) Sau khi các anchor boxes được xác định, mô hình Faster

R-CNN sẽ tiến hành dự đoán vị trí và xác suất của các đối tượng trong mỗi anchor box.Quá trình này bao gom việc tính toán các offsets (sự sai lệch) từ anchor box tới vi trí thực

tế của đối tượng và dự đoán xác suất của các lớp đối tượng khác nhau Số lượng và tỷ lệ

của anchor boxes được xác định trước và không thay đồi trong quá trình huấn luyện

RPN sử dụng một Conv với 3x3 filters, 1 padding, 512 output channels, với mỗi vị trí trên feature map, mạng RPN sẽ tính toán hai giá trị cho mỗi anchor box: một giá trị xác

suất dé anchor box chứa vật thé (obJectness score) và một vector đặc trưng dé dự đoán vi

trí và kích thước chính xác của vật thê so với anchor box (bounding box regression).

Kết quả đầu ra của mạng RPN là một tập hợp các region proposals, mỗi region proposal

được định nghĩa bởi một anchor box và các dự đoán vé vi trí và kích thước của vật thê.

GVHD: ThS Nguyễn Thi Kim Phung 23 SVTH: Phạm Nguyễn Thanh Bình

Trang 35

Cơ sở lí thuyết

Các region proposals này được sử dụng để tiếp tục quá trình phân đoạn và phân loại vật

thé trong bước tiếp theo của Faster R-CNN Mạng RPN giúp giảm đáng ké số lượng

region proposals cần được xem xét trong quá trình phát hiện vật thé, giúp tăng tốc độ xử

lý và giảm độ phức tạp tính toán RPN cũng đảm bảo rằng các region proposals có khảnăng chứa vật thé được đề xuất một cách chính xác và đáng tin cậy

ROI Pooling

ROI Pooling (Region of Interest Pooling) là một phép biến đổi trong mang Faster R-CNN

được sử dung dé trích xuất đặc trưng từ các region proposals đã được đề xuất bởi mạng

RPN Mục tiêu của ROI Pooling là chuyên đổi các region proposals có kích thước và ty

lệ khác nhau thành các feature map có kích thước cô định dé đưa vào một mạng fullyconnected layer để phân loại vật thê và dự đoán vị trí của chúng

Outputs; b b Ox

softm ax regressor

Rol feature

vector For each Rol

Hinh 2.17 ROI Pooling [20]

ROI Pooling cho phép đưa các region proposals có kích thước và ty lệ khác nhau vào một

mạng fully connected layer có số lượng đầu vào có định, mà không làm thay đổi kíchthước của các region proposals ban đầu Điều này giúp đảm bảo rằng các regionproposals với kích thước và tỷ lệ khác nhau đều được xử lý và trích xuất đặc trưng mộtcách nhất quán, cung cấp thông tin đủ cho quá trình phân loại và dự đoán vị trí của vậtthể

GVHD: ThS Nguyễn Thi Kim Phung 24 SVTH: Phạm Nguyễn Thanh Bình

Trang 36

Cơ sở lí thuyết

Cuối cùng, Faster R-CNN sử dụng một mạng nơ-ron day đủ (fully connected network) dé

phân loại các vật thể và dự đoán hộp giới hạn cho từng vật thể trong các khu vực đề xuất.

Mô hình này sẽ đưa ra các dự đoán về loại vật thê và vị trí của chúng trong hình ảnh.

Hàm mắt mát của RPN:

L(f,},{t,}) = Neis é, Leis (p; Di)1 ) | 1

N, » DiLreg (ti, ti) #(2.4-1)

i

eg

Trong đó:

i: là index cua anchor

Les(P» Pp): Hàm lỗi cho phân loại p; nhãn dự đoán, øƒ là nhãn thực tế (bằng 1 nếu là đối tượng và bang 0 nếu không phải đối tượng).

Pi Lreg (ti, tị): Hàm lỗi cho bounding box, t; là một vector biểu dién 4

tham số của bounding box mà mô hình dự đoán, t? là vector biểu diễn 4 tham số của ground-truth box Tương tự, p; là nhãn thực tế (nếu bang 0 thì không có phần hồi quy cho bounding box).

Nại;, Nreg: Hệ số chuan hoá

A: Hệ sô cân bang

Hàm mắt mát của Fast RCNN:

L(p,u, t“, v) = Lạs(p,w) + Ä[u = 1]Lia.(£", 0)#(2.4.2)

Trong đó:

p : xác suất của từng đối tượng (với K + 1 nhãn, p = po, pi, , DK).

u : nhãn của đối tượng.

t“: bốn chỉ số +, ty, tw, th cho đối tượng có nhãn 1.

0: bốn chỉ số x, y, w, ở ground-truth.

GVHD: ThS Nguyễn Thi Kim Phung 25 SVTH: Phạm Nguyễn Thanh Bình

Trang 37

Cơ sở lí thuyết

2.5 RetinaNet

RetinaNet là một mô hình phát hiện đối tượng phô biến được giới thiệu trong một bài báo

nghiên cứu có tựa dé "Focal Loss for Dense Object Detection" của Tsung-Yi Lin, Priya

Goyal, Ross Girshick, Kaiming He va Piotr Dollar [retina] Bai bao được công bố vào

nam 2017 tai IEEE International Conference on Computer Vision (ICCV) [21].

RetinaNet được thiết kế để giải quyết van dé phát hiện đối tượng trong hình ảnh có sựmat cân bang dữ liệu

Mạng backbone

Mạng ResNet được sử dung làm mạng trích xuất đặc trưng cho RetinaNet bên cạnh đómột kiến trúc đặc biệt gọi là Feature Pyramid Network (FPN) được sử dụng lên mạngResNet dé có thé giúp cho mô hình có khả năng phát hiện đối tượng ở nhiều tỉ lệ khác

nhau.

Feature Pyramid Network (FPN)

Feature Pyramid Network (FPN) là một kiến trúc rất phô biến trong lĩnh vực thi giácmáytính và nhận dạng đối tượng FPN được giới thiệu bởi Lin và cộng sự trong bài báo

"Feature Pyramid Networks for Object Detection" năm 2017 [22].

Mục tiêu chính của FPN là giải quyết van đề biến đồi tỉ lệ trong nhận dạng đối tượng

Trong mạng neural tích chập (CNN) truyền thông, mạng thường giảm kích thước anh đầu

vào để trích xuất các đặc trưng cấp cao cho việc nhận dạng Tuy nhiên, quá trình giảmkích thước này dẫn đến mắt thông tin không gian, điều này có thể quan trọng dé phát hiện

các đôi tượng ở các tỉ lệ khác.

Mạng FPN giải quyết vấn đề này bằng cách xây dựng một cấu trúc đặc biệt có các tầngpyramid (pyramid layers) Mạng FPN sử dụng một mạng trích xuất đặc trưng (backbonenetwork) dé tạo ra các đặc trưng cấp thấp và cấp cao từ ảnh đầu vào Sau đó, thông quaquá trình "top-down" và "lateral" connections, mạng FPN kết hợp các đặc trưng này dé

GVHD: ThS Nguyễn Thi Kim Phung 26 SVTH: Phạm Nguyễn Thanh Bình

Trang 38

Cơ sở lí thuyết

tạo ra một feature pyramid (pyramid của các đặc trưng) có thông tin đa tỉ lệ Quá trình

"top-down" nhằm mở rộng đặc trưng ở các tầng cấp thấp lên các tầng cấp cao bằng cách

sử dụng pooling hoặc up-sampling Quá trình "lateral" connections kết nối các đặc trưng

từ các tầng cấp cao với các tầng cấp thấp dé tao ra các feature map tích chập đa tỉ lệ

Feature pyramid được tạo ra bởi mang FPN cho phép mô hình có khả năng phát hiện vật

thể ở các tỉ lệ khác nhau trong ảnh Điều này làm tăng đáng kể hiệu suất của mô hình

trong các nhiệm vụ như phân loại vật thể và phân đoạn vật thể

Classification Subnet và Box Regression Subnet

RetinaNet sử dụng một mang con gọi là "classification subnet" để dự đoán xác suất đốitượng và một mạng con khác gọi là "box regression subnet" dé du doan vi tri chinh xac

của các đối tượng Kiến trúc RetinaNet sử dụng một lớp mạng chia nhỏ dữ liệu đầu vào

thành một lưới các vùng nhỏ gọi là "anchors" và dùng chúng để dự đoán xác suất đối

tượng và vi trí.

GVHD: ThS Nguyễn Thi Kim Phung 27 SVTH: Phạm Nguyễn Thanh Bình

Trang 39

Cơ sở lí thuyết

e Classification Subnet: Mạng con này được sử dụng dé dự đoán xác suất đối

tượng trên mỗi anchor box Đầu vào của mạng con này là các feature map từ

pyramid feature map được tạo bởi FPN Mỗi anchor box sẽ được gán một nhãn,

có thé là positive (chứa đối tượng) hoặc negative (nền) Mục tiêu củaclassification subnet là dự đoán xác suất đối tượng trên mỗi anchor box và đốitượng mà anchor box chứa thuộc vào các lớp cần phát hiện

e Box Regression Subnet: Mạng con này được sử dụng dé dự đoán vi trí chính

xác của các đối tượng trên mỗi anchor box Đầu vào của mạng con này cũng là

các feature map từ pyramid feature map Mục tiêu của box regression subnet là

dự đoán các thông số để điều chỉnh và cập nhật vị trí của anchor box ban đầu

dé phù hop với vi tri thực tế của đối tượng Thông thường, các thông số dự

đoán bao gồm điểm tâm (center coordinates) của đối tượng và các thông số về

chiều rộng và chiều cao (width và height) của đối tượng

{a} ResNet (bị feature pyramid net (c) class subnet (top) (d) box subnet (bottom)

Hình 2.19 Kiến trúc của RetinaNet [21]

Mô hình sử dụng một ham mat mát đặc biệt gọi là "Focal Loss" dé giải quyết van dé của

sự mat cân bang anchors Focal Loss giúp tập trung vào các anchors khó xác định hơn và

giảm sự ảnh hưởng của các anchors dễ dàng

Ham Cross Entropy Loss

Ham Cross Entropy được định nghĩa như sau:

CE(,) =— log (p;) #(2.5.1)

GVHD: ThS Nguyén Thi Kim Phung 28 SVTH: Pham Nguyén Thanh Binh

Trang 40

Cơ sở lí thuyết

Hàm Cross Entropy khuyến khích mô hình tạo ra xác suất cao cho các lớp đúng và xác

suất thấp cho các lớp sai Khi các mẫu dễ phân loại được dự đoán chính xác (điều này

thường xảy ra với các mau đa số), CE(p;) sẽ gần tiến tới 0 và không đóng góp nhiều vàoquá trình huấn luyện Điều này dẫn đến một mat mát gradient nhỏ, khiến cho mạng nơ-

ron khó có thê học được đặc trưng của các mau thiêu sô.

Hàm Focal Loss

Ham Focal Loss là một hàm mat mát được đề xuất dé giảm thiêu van đề mat cân bằnggiữa các lớp đối tượng trong bài toán phân loại đa lớp, đặc biệt là khi số lượng mẫu âm(negative) nhiều hơn số lượng mẫu dương (positive) Hàm này đã được sử dụng trongRetinaNet dé xử lý bài toán phát hiện đối tượng

FP(p) =~ ¡(1 — p,)" log (p,) #(2.5.2)

Trong đó:

a;: là nghịch đảo tần suất của lớp

pi: là xác suất dự đoán của mô hình cho một mau.

y : là một tham số dương, được sử dụng đề điều chỉnh độ tập trung của hàm

mât mát.

Hệ số là thường được đặt giá trị từ 0 đến 5 Khi y = 0, focal loss trở thành ham entropy thông thường Khi tang lên, mat mát của các mẫu dé phân loại giảm đáng kể vachỉ những mẫu khó phân loại có đóng góp lớn vào quá trình huấn luyện

cross-Thông qua việc thay đổi y từ đó làm tăng giá trị (1 — p,)” lên hàm mat mát của các mẫuthiểu, khi một mẫu dé phân loại được dự đoán chính xác (p; gần 1), giá trị trị (1 —pi)” sẽ gần tiến tới 0 và đóng góp của mẫu đó vào mat mát sẽ trở nên rất nhỏ Tuy nhiên,

đối với các mẫu khó phân loại (, gần 0), giá trị(1 — p¡)Y sẽ giảm đáng ké, làm tăng

đáng ké mat mát va đóng góp của mẫu đó vào quá trình huấn luyện.

GVHD: ThS Nguyễn Thi Kim Phung 29 SVTH: Phạm Nguyễn Thanh Bình

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

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

TÀI LIỆU LIÊN QUAN