Kỹ Thuật - Công Nghệ - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin SỞ GDĐT THÀNH PHỐ ĐÀ NẴNG Lĩnh vực: Kỹ thuật y sinh Đà Nẵng, tháng 12 năm 2022 BÁO CÁO TÓM TẮT DỰ ÁN KHOA HỌC KĨ THUẬT Dự án: Ứng dụng Deep Learning nhận diện bệnh viêm phổi và lao phổi qua hình ảnh X-quang Lý do chọn đề tài: Deep Learning (Học sâu) bắt chước hoạt động của bộ não con người trong việc xử lí dữ liệu và tạo ra các model có thể sử dụng tốt trong việc nhận diện và phân loại các hình ảnh có độ phức tạp cao. Nhóm nghiên cứu đã đặt ra vấn đề: “Làm thế nào có thể ứng dụng học sâu trong việc nhận diện và phân biệt các hình ảnh X-quang có độ nhiễu lớn, như hình ảnh X-quang của các loại bệnh viêm phổi và lao phổi, giúp cho công tác chẩn đoán hình ảnh của các bác sỹ đơn giản và chính xác hơn?”. Mục tiêu nghiên cứu: 1. Mục tiêu tổng quát: - Ứng dụng mô hình học sâu để phát triển phần mềm ứng dụng nhận diện và phân biệt hai loại bệnh Viêm phổi và Lao phổi. Mục tiêu nghiên cứu: 2. Mục tiêu cụ thể: - Tìm hiểu về thực trạng bệnh Viêm phổi và bệnh Lao phổi và dữ liệu X-quang về hai loại bệnh này. - Lựa chọn mô hình học sâu phù hợp và huấn luyện mô hình lựa chọn để nhận diện bệnh viêm phổi, bệnh lao phổi và trạng thái không bị bệnh. - Xây dựng một phần mềm đơn giản, dễ sử dụng, nhận diện hình ảnh X- quang phổi và cho ra kết quả là phổi đang bị bệnh viêm phổi hay lao phổi hay không bị bệnh một cách chính xác nhất. Đánh giá kết quả và triển khai mô hình thử nghiệm. Phương pháp nghiên cứu: - Thu thập và tổng hợp thông tin từ các nguồn tài liệu về Bệnh Viêm phổi và Lao phổi; - Các phương pháp ứng dụng học sâu vào nhận diện hình ảnh đã có. 1. Phương pháp nghiên cứu lý thuyết Phương pháp nghiên cứu: - Phương pháp thống kê, phân tích, thử nghiệm; - Phương pháp theo dõi: Xác định độ chính xác của máy học qua nhiều lần thử nghiệm (Minh họa: 3 lần, Bảng 1). 2. Phương pháp nghiên cứu thực nghiệm Lần thử nghiệm Số epochs Train loss thấp nhất Validation loss thấp nhất Train accuracy tốt nhất Validation accuracy tốt nhất Thứ nhất 5 0.0420 0.1109 0.9784 0.9611 Thứ hai 10 0.0297 0.0489 0.9899 0.9758 Thứ ba 15 0.0227 0.0295 0.9917 0.9888 Bảng 1: Kết quả nhiều lần thử nghiệm Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu, máy học (Machine Learning) cũng như học sâu (Deep Learning). Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau. Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển. Nhận thấy tiềm năng đó, nhóm tác giả quyết định chọn Python để lập trình Deep Learning cũng như tạo lập phần mềm. Thiết kế nghiên cứu 1. Ngôn ngữ lập trình - Python PyTorch là một framework được xây dựng dựa trên Python cung cấp nền tảng tính toán khoa học phục vụ lĩnh vực Deep learning. Pytorch tập trung vào 2 khả năng chính: Một sự thay thế cho bộ thư viện Numpy để tận dụng sức mạnh tính toán của GPU. Một platform Deep Learning phục vụ trong nghiên cứu, mang lại sự linh hoạt và tốc độ. 2. Thư viện mã nguồn mở PyTorch Thiết kế nghiên cứu Thiết kế nghiên cứu 3. Cấu trúc CNN hiện đại Resnet-50 Hình 1: Cấu trúc Resnet-50 4. Mô hình hoạt động nhận diện và phân loại: - Sơ đồ quy trình nhận diện và phân loại: (Verma et al., 2020) Thiết kế nghiên cứu Hình 2. Sơ đồ quy trình nhận diện và phân loại 5. Biểu diễn Bộ phân loại mạng thần kinh Thiết kế nghiên cứu Hình 3. Biểu diễn Bộ phân loại...
Trang 2Lý do chọn đề tài:
Deep Learning (Học sâu) bắt chước hoạt động của bộ não
con người trong việc xử lí dữ liệu và tạo ra các model có thể
sử dụng tốt trong việc nhận diện và phân loại các hình ảnh
có độ phức tạp cao.
Nhóm nghiên cứu đã đặt ra vấn đề: “Làm thế nào có thể ứng dụng học sâu trong việc nhận diện và phân biệt các hình ảnh X-quang có độ nhiễu lớn, như hình ảnh X-quang của các
loại bệnh viêm phổi và lao phổi, giúp cho công tác chẩn
đoán hình ảnh của các bác sỹ đơn giản và chính xác hơn?”.
Trang 3Mục tiêu nghiên cứu:
1 Mục tiêu tổng quát:
Trang 4Mục tiêu nghiên cứu:
- Xây dựng một phần mềm đơn giản, dễ sử dụng, nhận diện hình ảnh X- quang phổi
và cho ra kết quả là phổi đang bị bệnh viêm phổi hay lao phổi hay không bị bệnh
một cách chính xác nhất Đánh giá kết quả và triển khai mô hình thử nghiệm.
Trang 5Phương pháp nghiên cứu:
1 Phương pháp nghiên cứu lý thuyết
Trang 6Phương pháp nghiên cứu:
nhiều lần thử nghiệm
2 Phương pháp nghiên cứu thực nghiệm
Trang 7Lần thử
Train loss thấp nhất
Validation loss thấp nhất
Train accuracy tốt nhất
Validation accuracy tốt nhất
Thứ nhất 5 0.0420 0.1109 0.9784 0.9611 Thứ hai 10 0.0297 0.0489 0.9899 0.9758 Thứ ba 15 0.0227 0.0295 0.9917 0.9888
Bảng 1: Kết quả nhiều lần thử nghiệm
Trang 8Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu, máy học (Machine Learning) cũng như học sâu (Deep Learning) Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển Nhận thấy tiềm năng đó, nhóm tác giả quyết định chọn Python để lập trình Deep Learning cũng như tạo lập phần mềm.
Thiết kế nghiên cứu
1 Ngôn ngữ lập trình - Python
Trang 9PyTorch là một framework được xây dựng dựa trên Python cung cấp nền tảng tính toán khoa học phục vụ lĩnh vực Deep learning Pytorch tập trung vào 2 khả năng chính:
Một sự thay thế cho bộ thư viện Numpy để tận dụng sức mạnh tính toán của GPU.
Một platform Deep Learning phục vụ trong nghiên cứu, mang lại sự linh hoạt và tốc độ.
2 Thư viện mã nguồn mở PyTorch
Thiết kế nghiên cứu
Trang 103 Cấu trúc CNN hiện đại Resnet-50
Hình 1: Cấu trúc Resnet-50
Trang 114 Mô hình hoạt động nhận diện và phân loại:
- Sơ đồ quy trình nhận diện và phân loại: (Verma et al., 2020)
Thiết kế nghiên cứu
Hình 2 Sơ đồ quy trình nhận diện và phân loại
Trang 125 Biểu diễn Bộ phân loại mạng thần kinh
Thiết kế nghiên cứu
Hình 3 Biểu diễn Bộ phân loại mạng thần kinh
Trang 136 Chọn mẫu nguyên cứu - Kaggle
Thiết kế nghiên cứu
Số ảnh được sử dụng cho việc huấn luyện Model được lấy từ diễn đàn Kaggle, cụ thể: ảnh Bình thường: 1341 ảnh, ảnh Viêm phổi: 3875 ảnh và ảnh Lao phổi: 1036 ảnh Tuy nhiên để đảm cân bằng dữ liệu, tăng độ chính xác của phần mềm, chúng em chọn cân bằng số lượng ảnh khi huấn luyện model, cụ thể: ảnh Bình thường: 1000 ảnh, ảnh Viêm phổi: 1000 ảnh và ảnh Lao phổi: 1000 ảnh.
- Những hình ảnh chụp X-quang phổi Bình thường và Viêm phổi được lấy từ các bệnh nhân nhi từ 1 đến 5 tuổi từ Trung tâm Y tế Phụ nữ và Trẻ em Quảng Châu (Guangzhou Women and Children’s Medical Center), tỉnh Quảng Châu, Trung Quốc
- Những hình ảnh chụp X-quang bệnh Lao phổi được tổng hợp từ: Bộ dữ liệu NLM;
Bộ dữ liệu Belarus; Bộ dữ liệu RSNA CXR; Bộ dữ liệu NIAID TB.
Trang 14Kết quả và thảo luận
1 Giới thiệu sơ đồ hoạt đồng của phần mềm
2 Demo phần mềm
Trang 15Nhãn dự đoán Lao phổi
Kết quả và thảo luận
Trang 16Dựa vào số liệu trên, đánh giá các chỉ số chính xác ở bảng 2:
Chỉ số đánh
giá Bình thường Bệnh Viêm
phổi Bệnh Lao phổi
Trang 17Bao gồm độ chính xác trung bình 95% như Bảng 5 dưới đây
Hình 4: Đánh giá accuracy
Kết quả và thảo luận
Trang 18Kết luận
Xây dựng được phần mềm dễ sử dụng giúp người dùng có thể dễ dàng đưa ảnh X-quang của phổi vào để nhận diện các bệnh viêm phổi, lao phổi hoặc không bệnh với độ chính xác cao.
Hỗ trợ cho các y sinh, bác sĩ thực tập, chưa có nhiều kinh nghiệm trong việc phân biệt hai loại bệnh trên của phổi qua phim X-quang, có thể thực tập nâng cao trình độ và chẩn đoán chính xác hơn loại bệnh phổi mà bệnh nhân đang gặp phải để kịp thời chữa trị.
1 Kết quả đạt được của dự án:
Trang 19Đề tài đang giới hạn thực hiện được ở bước phân biệt được hai loại bệnh
về phổi phổ biến: Viêm phổi và Lao phổi.
Bộ dữ liệu máy học chưa đa dạng, với khó khăn trong việc tiếp cận dữ liệu nên phần lớn các hình ảnh X-quang được tải về và sử dụng từ nguồn
dữ liệu trên Internet, chưa có nguồn cung cấp tại các bệnh viện ở Việt Nam.
2 Hạn chế:
Kết luận
Trang 20Hướng phát triển của đề tài
Thử nghiệm với các mô hình Resnet101, Resnet-152 hoặc Vision Transfomer để tìm kiếm nâng cao độ chính xác.
Xây dựng phần mềm hoàn chỉnh đầy đủ, thêm chức năng giúp quản lí hồ sơ bệnh nhân bị lao hoặc viêm phổi.
Thu thập các nguồn dữ liệu ảnh X-quang của các bệnh viện tại Việt Nam.
Nhận diện thêm các loại bệnh khác liên quan đến phổi có thể được nhận biết qua ảnh X-quang (Ví dụ: Ung thư phổi, Tràn dịch màng phổi, Tràn khí màng phổi, Nấm phổi,…)
Trang 21Để thực hiện được đề tài này, em nhận được sự động viên khuyến khích từ gia đình và sự giúp đỡ tận tình của các thầy cô giáo.
Và em xin chân thành cảm ơn Ban tổ chức và Ban giám khảo đã tạo điều kiện cho em được trình bày ý tưởng của mình qua Hội thi Xin đón nhận những đóng góp ý kiến của các thầy cô để đề tài của em được hoàn thiện hơn Em xin trân trọng cảm ơn!
Lời cảm ơn