CƠ SỞ LÝ THUYẾT
NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
KIẾN THỨC CƠ SỞ
3.1.1 Mạng Nơ-ron nhân tạo
3.1.2 Tổng quan về xử lý ảnh
3.1.3 Mạng Nơ-ron tích chập
3.1.4 Các mô hình pre-trained
ÁP DỤNG VÀO CHẨN ĐOÁN CÁC BỆNH PHỔI DỰA TRÊN HÌNH CHỤP X-QUANG
3.2.1 Giới thiệu tập dữ liệu
3.2.2 Phân tích dữ liệu về các bệnh
3.2.4 Giới thiệu các bệnh phổi được chẩn đoán
3.2.5 Nền tảng kỹ thuật được áp dụng
3.2.6 Các phương pháp hỗ trợ
3.2.7 Các bước xây dựng mô hình chẩn đoán
Chương 4: KẾT QUẢ, NHẬN XÉT VÀ KẾT LUẬN
KẾT QUẢ ĐẠT ĐƯỢC
4.3 KẾT LUẬN VỀ HƯỚNG PHÁT TRIỂN
Chương 5: TÀI LIỆU THAM KHẢO
1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 10
1.2 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN 10
Chương 2: CƠ SỞ LÝ THUYẾT 12
Chương 3: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 14
3.1.1 Mạng Nơ-ron nhân tạo 14
3.1.1.1 Khái niệm về Perceptron và mạng Perceptron 14
3.1.1.2 Hàm kích hoạt (Activation Functions - AFs) 15
3.1.1.3 Đạo hàm và thuật toán giảm độ dốc (Gradient Descent) 17
3.1.1.4 Mạng nơ-ron nhân tạo (Neural Network - NN) 21
3.1.1.7 Xây dựng mô hình mạng nơ-ron nhân tạo bằng với ngôn ngữ Python Error! Bookmark not defined 3.1.2 Tổng quan về xử lý ảnh 34
3.1.2.3 Ý nghĩa của phép tích chập 40
3.1.3 Mạng Nơ-ron tích chập 41
3.1.3.1 Mạng nơ-ron tích chập là gì? 41
3.1.3.3 Cấu trúc mạng nơ-ron tích chập 42
3.1.4 Các mô hình pre-trained 50
3.1.4.1 Mô hình pre-trained VGG16 50
3.1.4.2 Mô hình pre-trained MobileNet 50
3.1.4.3 Mô hình pre-trained DenseNet 52
3.2 ÁP DỤNG VÀO CHẨN ĐOÁN CÁC BỆNH PHỔI DỰA TRÊN HÌNH CHỤP X-QUANG 53
3.2.1 Giới thiệu tập dữ liệu 53
3.2.2 Phân tích dữ liệu về các bệnh 57
3.2.4 Giới thiệu các bệnh phổi được chẩn đoán 60
3.2.4.3 Tràn dịch màng phổi (Effusion) 62
3.2.4.8 Tràn khí màng phổi (Pneumothorax) 69
3.2.4.13 Dày màng phổi (Pleural_Thickening) 76
3.2.5 Nền tảng kỹ thuật được áp dụng 79
3.2.6 Các phương pháp hỗ trợ 80
3.2.6.1 Phương pháp đường cong ROC 80
3.2.6.2 Phương pháp Gradient-weighted Class Activation Mapping (Grad CAM) 86
3.2.7 Các bước xây dựng mô hình chẩn đoán 87
3.2.7.1 Tiền xử lý dữ liệu 87
3.2.7.2 Phân chia các tập huấn luyện, thẩm định, kiểm tra 92
3.2.7.4 Xây dựng mô hình và huấn luyện 95
3.2.8 Triển khai mô hình Error! Bookmark not defined Chương 4: KẾT QUẢ, NHẬN XÉT VÀ KẾT LUẬN 115
4.4 KẾT LUẬN VỀ HƯỚNG PHÁT TRIỂN 115
Chương 5: TÀI LIỆU THAM KHẢO 117
Hình 2.1 Cách máy tính nhìn một đối tượng 12
Hình 3.1 Mô hình của perceptron 14
Hình 3.3 Đồ thị biểu diễn hàm tuyến tính 16
Hình 3.4 Đồ thị hàm sigmoid và đạo hàm của nó 16
Hình 3.5 Đồ thị hàm tanh và đạo hàm của nó 17
Hình 3.6 Đồ thị hàm ReLU 17
Hình 3.7 Đồ thị hàm số f(x)=x^2 18
Hình 3.8 Các bước mô phỏng thuật toán GD 19
Hình 3.9 Các trường hợp xảy ra khi chọn learning rate 20
Hình 3.10 Đồ thị biểu diễn các trường hợp chọn learning rate 21
Hình 3.11 Nơ-ron thần kinh con người 21
Hình 3.12 Quá trình tính tổng tuyến tính và thực hiện hàm kích hoạt 22
Hình 3.13 Mô hình tổng quát của mạng nơ-ron 23
Hình 3.14 Mạng nơ-ron và các tham số 24
Hình 3.15 Mạng nơ-ron cho ví dụ về áp dụng thuật toán GD 28
Hình 3.16 Sơ đồ thực hiện thuật toán GD 29
Hình 3.17 Quá trình lan truyền tiến 33
Hình 3.18 Quá trình lan truyền ngược 33
Hình 3.20 Ảnh màu trong thực tế 34
Hình 3.21 Chi tiết về thuộc tính của hình ảnh được biểu diễn trên mày tính 35
Hình 3.22 Biểu diễn ảnh màu trên máy tính 37
Hình 3.23 Tích chập phần tử đầu tiên của X và W 38
Hình 3.24 Kết quả tích chập của X và W 39
Hình 3.26 Vùng đệm kết hợp với bước sải 40
Hình 3.27 Các kernal và ý nghĩa cúa nó trong xử lý ảnh 41
Hình 3.28 Cấu trúc mạng nơ-ron 42
Hình 3.29 Dùng mạng nơ-ron cho việc xử lý ảnh không khả thi 43
Hình 3.30 Áp dụng phương pháp tích chập trên ảnh xám 44
Hình 3.31 Áp dụng phương pháp tích chập trên kernal (ảnh màu) 44
Hình 3.32 Chia nhỏ cách nhân tích chập giữa 2 tensor 45
Hình 3.33 Phép nhân tích chập trong mạng CNN có sử dụng padding 46
Hình 3.34 Tóm tắt cấu trúc của tầng tích chập 46
Hình 3.36 Pooling làm giảm chiều (width, height) nhưng không giảm dept 48
Hình 3.38 Cách thực hiện flatening 49
Hình 3.39 Tóm tắt mạng nơ-ron tích chập 49
Hình 3.40 Cấu trúc mạng VGG16 50
Hình 3.41 Cấu trúc mô hình MobileNet 51
Hình 3.42 Tổng quan ý tưởng DenseNet 52
Hình 3.44 Kiến trúc chi tiết phần thân mô hình DenseNet 53
Hình 3.45 Hình ảnh thống kê sự phân phối của 14 loại bệnh 55
Hình 3.46 Biểu đồ thể hiện giới tính mắc từng loại bệnh 57
Hình 3.47 Phổ tuổi theo giới tính của các bệnh Cardiomegaly, Emphysema, Effusion, Hernia 58
Hình 3.48 Phổ tuổi theo giới tính của các bệnh còn lại 58
Hình 3.49 Biểu đồ so sánh số lượng bệnh mắc phải trong từng ảnh 59
Hình 3.50 Xẹp phổi thùy dưới phổi phải trên phim X-quang 61
Hình 3.51 Cardiomegaly trên X-quang ngực với máy tạo nhịp tim 61
Hình 3.52 Tràn dịch màng phổi 63
Hình 3.53 Hình ảnh X-Quang thâm nhiễm phổi 64
Hình 3.54 X-Quang ung thư phổi 66
Hình 3.55 Hình ảnh chụp cắt lớp vi tính nốt mờ ở phổi 67
Hình 3.56 Đặc điểm hình ảnh Xquang viêm phổi 68
Hình 3.57 Hình X-Quang tràn khí màn phổi 69
Hình 3.58 X-Quang phổi đông đặc 71
Hình 3.59 Phù phổi với tràn dịch màng phổi nhỏ ở cả hai bên 72
Hình 3.60 Khí phế thủng và căng phồng phổi quá mức 73
Hình 3.61 Ảnh chụp X-Quang bệnh xơ hóa phổi 75
Hình 3.62 Dấu hiệu dày màng phổi trên hình ảnh chụp X quang phổi thường là hậu quả sau tràn dịch màng phổi 76
Hình 3.63 Thoát vị Hiatal ngẫu nhiên trên X-quang ngực 77
Hình 3.64 Hình ảnh X quang của viêm phổi do Coronavirus 2019 (COVID-19) 78
Hình 3.69 Biểu đồ thể hiện độ mất mát trong quá trình training và validate của mô hình DenseNet121 98
Biểu đồ trong Hình 3.70 cho thấy độ chính xác của mô hình DenseNet121 trong quá trình training và validate, trong khi Hình 3.71 minh họa độ mất mát của mô hình MobileNet trong cùng quá trình này.
Hình 3.72 Biểu đồ thể hiện độ chinh xác trong quá trình training và validate của mô hình MobileNet 101
Hình 3.73 Biểu đồ thể hiện độ mất mát trong quá trình training và validate của mô hình VGG16 103
Hình 3.74 Biểu đồ thể hiện độ chinh xác trong quá trình training và validate của mô hình VGG16 103
Hình 3.75 Biểu đồ ROC thể hiện độ chính xác từng bệnh của mô hình DenseNet121 105
Hình 3.76 Biểu đồ ROC thể hiện độ chính xác từng bệnh của mô hình MobileNet 106
Hình 3.77 Biểu đồ ROC thể hiện độ chính xác từng bệnh của mô hình VGG16 107
Bảng 3.1 Sự biến thiên của hàm số f(x)=x^2 18
Bảng 3.2 Dataset về thời gian làm việc và lương hưởng 26
Bảng 3.3 Ma trận xảy ra của 14 bệnh ngực trong bộ dữ liệu X-quang 56
Bảng 3.4 Bảng accuracy của 4 model hồi quy 85
Bảng 3.5 Kết quả điểm AUROC qua quá trình huấn luyện của model DenseNet121 97
Bảng 3.6 Kết quả điểm AUROC qua quá trình huấn luyện của model MobileNet 99
Bảng 3.7 Kết quả điểm AUROC qua quá trình huấn luyện của model VGG16 102
Bảng 3.8 Ma trận confusion cho tập dữ liệu với model DenseNet121 108
Bảng 3.9 Ma trận confusion cho tập dữ liệu với model MobileNet 109
Bảng 3.10 Ma trận confusion cho tập dữ liệu với model VGG16 110
1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Mạng nơ-ron tích chập (CNN) là một mô hình Deep Learning tiên tiến, cho phép xây dựng các hệ thống thông minh với độ chính xác cao Các công ty lớn như Facebook, Google và Amazon đã áp dụng CNN vào sản phẩm của mình để phát triển các chức năng thông minh như nhận diện khuôn mặt, xe hơi tự lái và drone giao hàng tự động CNN thường được sử dụng trong các bài toán nhận dạng đối tượng, vật thể trong ảnh và phân loại ảnh.
Việc áp dụng CNN trong y tế để chẩn đoán hình ảnh như X-Quang và ảnh điện tử mang lại nhiều lợi ích Mô hình CNN chính xác cao giúp bác sĩ đưa ra quyết định nhanh chóng và đúng đắn, góp phần cải thiện chất lượng chẩn đoán.
Bệnh về phổi là một trong những bệnh lý phổ biến trong cuộc sống, và việc chẩn đoán cần phải thông qua các xét nghiệm, đặc biệt là phim X-Quang Hình chụp X-Quang đóng vai trò quan trọng trong việc đưa ra chẩn đoán chính xác Để đơn giản hóa quy trình này, nhóm nghiên cứu đã quyết định phát triển một mô hình học sâu Điều này đòi hỏi phải tìm hiểu các kiến thức liên quan, với trọng tâm là mạng nơ-ron tích chập.
1.2 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Đề tài nghiên cứu này tập trung vào học sâu, đặc biệt là thuật toán CNN, và các ứng dụng trong môi trường giáo dục Mô hình này đã chứng minh hiệu quả qua các hệ thống nhận diện gương mặt của Facebook và Google Thuật toán này giúp máy tính suy nghĩ gần giống trí óc con người, đồng thời phát triển công nghệ AI cũng như học sâu đang mang lại nhiều lợi ích cho nhân loại Tuy nhiên, sự phát triển này cũng đặt ra những thách thức khi máy tính ngày càng có khả năng suy nghĩ và hiểu biết.
Trong lĩnh vực y tế, việc chẩn đoán các bệnh phổi qua phim X-Quang đang ngày càng trở nên quan trọng Đề tài này sẽ trình bày về việc sử dụng thuật toán CNN để hỗ trợ trong việc chẩn đoán các bệnh lý phổi.
Mục tiêu chính của nghiên cứu này là cải thiện quy trình chẩn đoán bệnh phổi qua hình chụp X-Quang, giúp bác sĩ tiết kiệm thời gian và công sức, từ đó nâng cao hiệu suất làm việc Khi mô hình huấn luyện đạt độ chính xác cao, việc kiểm tra kết quả chẩn đoán có thể được tự động hóa, góp phần xây dựng hệ sinh thái y tế tiên tiến, giảm chi phí và tăng độ chính xác, với khả năng thay thế con người trong việc chẩn đoán bệnh trong tương lai.
Chương 2: CƠ SỞ LÝ THUYẾT
Máy tính nhận diện hình ảnh khác với con người, bởi vì chúng chỉ hiểu thông qua các con số Mỗi hình ảnh được chuyển đổi thành mảng 2 chiều của các pixel, đại diện cho các giá trị số.
Máy tính có khả năng nhận diện mẫu theo cách khác biệt so với con người, nhưng chúng ta vẫn có thể hướng dẫn máy tính để nhận diện các mẫu giống như con người Điều quan trọng là cần thay đổi cách nhìn nhận hình ảnh để đạt được hiệu quả tốt hơn trong việc dạy máy tính.
Để dạy thuật toán nhận diện đối tượng trong hình ảnh, chúng ta sử dụng mạng nơ-ron tích chập (Convolutional Neural Network - CNN), một loại mạng nơ-ron nhân tạo Tên gọi của mạng này xuất phát từ phép tính tích chập, một yếu tố quan trọng trong quá trình xử lý hình ảnh.
Mạng nơ-ron tích chập, lấy cảm hứng từ cấu trúc não người, đã được nghiên cứu bởi D.H Hubel và T.N Wiesel trong những năm 1950 và 1960 Nghiên cứu của họ trên não động vật đã đề xuất một mô hình mới về cách mà động vật nhận thức thế giới xung quanh Trong báo cáo, họ mô tả hai loại tế bào nơ-ron: tế bào đơn giản (S cell) và tế bào phức tạp (C cell), cùng với sự khác biệt trong cách hoạt động của chúng.
Các tế bào đơn giản trong hệ thống thị giác được kích hoạt khi nhận diện các hình dáng cơ bản như đường thẳng trong một khu vực xác định và một góc cạnh của nó Ngược lại, các tế bào phức tạp có vùng tiếp nhận lớn hơn và không nhạy cảm với vị trí cố định trong vùng tiếp nhận Vùng tiếp nhận của một nơ-ron là khu vực trên võng mạc mà khi bị kích thích sẽ dẫn đến sự kích hoạt của nơ-ron đó.
Năm 1980, Fukushima đã giới thiệu mô hình mạng nơ-ron cấp bậc mang tên neocognitron, dựa trên khái niệm S cell và C cell, cho phép nhận diện mẫu qua việc học hình dáng của đối tượng Đến năm 1998, Bengio, Le Cun, Bottou và Haffner đã phát triển mạng nơ-ron tích chập với mô hình đầu tiên là LeNet-5, có khả năng nhận diện chữ số viết tay.
Chương 3: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1.1 Mạng Nơ-ron nhân tạo
3.1.1.1 Khái niệm về Perceptron và mạng Perceptron
Perceptrons, hay còn gọi là nơ-ron nhân tạo trong mạng nơ-ron nhân tạo (ANN), được phát triển bởi nhà khoa học Frank Rosenblatt vào những năm 1950 - 1960 Ý tưởng về Perceptrons được lấy cảm hứng từ những nghiên cứu trước đó của Warren McCulloch và Walter Pitts.
Các thành phần của một Perceptron:
• Các giá trị đầu vào (input) là các giá trị nhị phân 𝑥 1 , 𝑥 2 , 𝑥 3 , … Số lượng các giá trị input có thể tùy ý, phụ thuộc vào mục đích sử dụng
Giá trị đầu ra của nơ-ron trong mạng perceptron là nhị phân, chỉ có thể là 0 hoặc 1 Đầu ra này có thể được sử dụng làm đầu vào cho nơ-ron khác trong cùng một mạng.
• Ngưỡng 𝑡 là một tham số giống như weight, để xác định kết quả output
ƯU ĐIỂM
- Kết quả chẩn đoán tương đối chính xác ở một số bệnh: Covid-19, Khí phế thủng, bóng tim to, phù phổi
- Xây dựng được ứng dụng demo có giao diện trực quan
- Áp dụng được phương pháp Grad-CAM để phân tích chi tiết những vùng có vấn đề liên quan tới bệnh được chẩn đoán trên hình ảnh X-Quang
Việc áp dụng chẩn đoán Covid-19 do virus Corona sẽ giúp đơn giản hóa quy trình chẩn đoán bệnh, từ đó tiết kiệm thời gian và chi phí cho xét nghiệm người nhiễm Covid-19 trong bối cảnh dịch bệnh đang diễn biến phức tạp.
NHƯỢC ĐIỂM
- Độ chính xác của các model chưa tối ưu ở một số bệnh: Viêm phổi, thâm nhiễm phổi
- Thiếu kiến thức chuyên môn về mặt y học để có thể chẩn đoán được dấu hiệu của từng bệnh trên hình ảnh X-Quang
- Việc triển khai mô hình dự đoán chỉ ở mức độ thử nghiệm, chưa ứng dụng vào trong thực tế để quan sát hiệu quả của đề tài.