Bối cảnh và vấn đề nghiên cứu
Phân loại bệnh lý vùng phổi dựa trên hình ảnh chụp X-quang ngực là công việc chuyên môn thiết yếu của các bác sĩ trong lĩnh vực chẩn đoán hình ảnh y khoa. Trong những năm gần đây, việc ứng dụng học sâu (Deep Learning) vào giải quyết các bài toán phân loại hình ảnh y tế đã trở thành một hướng nghiên cứu quan trọng nhằm hỗ trợ bác sĩ lâm sàng tối ưu hóa thời gian đọc kết quả, giảm thiểu tình trạng bỏ sót tổn thương và hỗ trợ các nghiên cứu chuyên sâu. Một số công trình tốt nghiệp tiêu biểu trước đó tại đơn vị đã bước đầu giải quyết bài toán này như nghiên cứu của Ngô Thị Anh Thơ và Phạm Thiên Vương về nhận biết bệnh viêm phổi ở trẻ em, hoặc nghiên cứu của Võ Kiều Phượng và Nguyễn Nhật Uyên về ứng dụng Deep Learning và Radiomics trong chẩn đoán ung thư phổi (kết hợp mạng tích chập và kiến trúc U-Net để phân đoạn).
Tuy nhiên, việc triển khai các mô hình trí tuệ nhân tạo (AI) trong y tế đối mặt với nhiều rào cản đặc thù:
- Sự hạn chế về quy mô dữ liệu: So với các tập dữ liệu tổng quát khổng lồ như ImageNet (hơn 14 triệu ảnh, 21.000 nhãn) hay JFT (300 triệu ảnh, 18.000 nhãn), các tập dữ liệu ảnh y tế công khai có quy mô nhỏ hơn rất nhiều (tập Chest14 có 112.316 ảnh với 14 nhãn; tập VinDr-CXR có 15.000 ảnh với 15 nhãn).
- Hiện tượng đồng xuất hiện nhiều bệnh lý: Trong thực tế lâm sàng, một phim X-quang phổi có thể chứa đồng thời nhiều tổn thương hoặc nhiều bệnh lý khác nhau, trong đó một bệnh lý có thể là nguyên nhân tiềm ẩn dẫn tới các tổn thương khác. Các kiến trúc mạng nơ-ron tích chập (CNN) truyền thống thường chỉ tối ưu hóa việc phân loại từng bệnh độc lập mà chưa xử lý triệt để mối quan hệ tương quan không gian tầm xa (long-range dependency) giữa các vùng tổn thương nằm cách xa nhau.
- Yêu cầu về tính minh bạch và giải thích được (Explainability): Trong y tế, mô hình AI không thể hoạt động như một "hộp đen" (black-box) mà cần cung cấp cơ chế diễn giải trực quan quy trình đưa ra quyết định để bác sĩ thẩm định độ tin cậy.
Kiến trúc Vision Transformer (ViT) với cơ chế tự chú ý (Self-Attention) mang lại khả năng mô hình hóa mối quan hệ tầm xa trên toàn bộ bức ảnh. Tuy nhiên, ViT đòi hỏi dữ liệu huấn luyện sơ bộ rất lớn và chi phí tính toán cao. Khóa luận đặt ra vấn đề nghiên cứu: Tinh chỉnh mô hình ViT đã huấn luyện trước trên ImageNet thông qua hai tập dữ liệu y tế trung gian (ChestXpert và Chest14), sau đó tinh chỉnh tiếp trên tập dữ liệu mục tiêu VinDr-CXR để nâng cao độ chính xác phân loại bệnh phổi, đồng thời ứng dụng kỹ thuật Attention Map để minh giải cơ chế ra quyết định so với kỹ thuật Grad-CAM của CNN.
Mục tiêu nghiên cứu
- Cải thiện hiệu suất phân loại của mô hình Vision Transformer trên tập dữ liệu ảnh X-quang ngực VinDr-CXR.
- Trực quan hóa và diễn giải cơ chế ra quyết định của mô hình Vision Transformer thông qua kỹ thuật Attention Map khi đối chiếu với Grad-CAM của CNN.
- Xây dựng ứng dụng web API bằng Flask để tích hợp mô hình phân loại bệnh phổi, hỗ trợ bác sĩ chẩn đoán và gửi thông báo kết quả tới bệnh nhân qua Email/SMS.
- Đóng gói và triển khai ứng dụng bằng công nghệ Docker.
Nhiệm vụ nghiên cứu (Đánh số theo văn bản)
- Tìm hiểu lý thuyết về các mô hình phân loại (CNN và Transformer).
- Nghiên cứu các tập dữ liệu Chest14, CheXpert, 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 Vision Transformer.
- Đánh giá kết quả các thí nghiệm dựa trên 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.
- 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 khóa luận tốt nghiệp.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Các mô hình phân loại hình ảnh học sâu (Vision Transformer và các biến thể ResNet), kỹ thuật giải thích mô hình (Attention Map, Grad-CAM), tập dữ liệu X-quang ngực (VinDr-CXR, ChestXpert, Chest14).
- Phạm vi không gian và dữ liệu: Dữ liệu ảnh X-quang lồng ngực chỉ thu nhận ở tư thế chụp thẳng sau - trước (PA - Posteroanterior), tập trung vào 10 nhãn bệnh lý lựa chọn từ tập dữ liệu VinDr-CXR của Viện Nghiên cứu Dữ liệu lớn (VinBigdata - Tập đoàn Vingroup).
- Thời gian thực hiện: Từ ngày 25/02/2022 đến ngày 21/06/2022.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình sử dụng
- Biểu diễn ảnh y tế và chuẩn DICOM:
- Ảnh số được xử lý dưới dạng ảnh xám (grayscale, 256 mức xám) hoặc ảnh màu RGB ($256^3$ màu).
- Chuẩn DICOM (Digital Imaging and Communications in Medicine) được sử dụng để tích hợp thông tin metadata (ID bệnh nhân, thông số chụp) và dữ liệu pixel thô từ hệ thống lưu trữ và truyền hình ảnh PACS. Trước khi huấn luyện, dữ liệu pixel DICOM được chuẩn hóa về phạm vi số thực $[0, 255]$.
- Cơ sở học sâu và hàm tối ưu:
- Mạng nơ-ron nhân tạo với các hàm kích hoạt phi tuyến: Sigmoid, ReLU ($y = \max(0, x)$), Tanh, Softmax.
- Thuật toán tối ưu Gradient Descent điều chỉnh trọng số $W$ theo tốc độ học (learning rate $\alpha$).
- Hàm tổn thất mất mát Cross-Entropy ($L_{CE} = -\sum_{i=1}^n t_i \log(p_i)$) được dùng để đo lường sai khác giữa phân phối xác suất dự đoán và nhãn thực tế của các lớp.
- Các kiến trúc CNN làm cơ sở so sánh:
- LeNet-5: Kiến trúc tích chập cổ điển gồm các tầng Convolution, Average-Pooling và Fully Connected.
- AlexNet: Mạng 8 tầng sử dụng hàm kích hoạt ReLU, Local Response Normalization và Dropout để giảm overfitting.
- VGG (VGG-16, VGG-19): Mạng sử dụng các khối tích chập nhỏ kích thước bộ lọc $3 \times 3$ xếp chồng.
- GoogLeNet: Sử dụng các khối Inception đa nhánh song song ($1 \times 1, 3 \times 3, 5 \times 5$ và Max Pooling) kết hợp Global Average Pooling.
- ResNet (ResNet-18, ResNet-34, ResNet-50, ResNet-101, ResNet-152): Sử dụng các kết nối tắt đồng nhất (skip connection / residual connection) giúp giải quyết triệt để hiện tượng triệt tiêu đạo hàm (vanishing gradient) khi tăng chiều sâu mạng.
- Kiến trúc Vision Transformer (ViT):
- Mô hình phân rã ảnh đầu vào $x \in \mathbb{R}^{H \times W \times C}$ thành chuỗi $N$ mảnh ảnh phẳng 2D kích thước cố định $x_p \in \mathbb{R}^{N \times (P^2 \cdot C)}$, với $N = HW/P^2$.
- Mỗi patch được ánh xạ tuyến tính thành patch embedding kích thước $D$, cộng thêm mã hóa vị trí (1D hoặc 2D position embedding) và chèn thêm một token học được $[CLS]$ để đại diện cho thông tin toàn cục phục vụ phân loại.
- Bá mã hóa (Transformer Encoder) gồm nhiều khối xếp chồng, mỗi khối chứa tầng chuẩn hóa LayerNorm (LN), khối chú ý đa đầu Multi-Head Self-Attention (MSA) và khối Multi-Layer Perceptron (MLP) với các kết nối residual.
- Cơ chế diễn giải mô hình:
- Grad-CAM: Tính toán đạo hàm của điểm số phân lớp $y^c$ đối với các bản đồ đặc trưng $A^k$ ở tầng tích chập cuối cùng để tạo bản đồ nhiệt (heatmap).
- Attention Map: Trích xuất trọng số tự chú ý từ token phân loại $[CLS]$ qua các tầng của Transformer để thể hiện mức độ quan tâm của mô hình đối với từng vùng trên ảnh.
Phương pháp nghiên cứu
- Phương pháp thực nghiệm và chuyển giao tri thức (Transfer Learning): Sử dụng các mô hình ViT tiền huấn luyện từ tập ImageNet 21K, tiếp tục tinh chỉnh (fine-tuning) trên hai tập dữ liệu ảnh y tế trung gian là ChestXpert và Chest14, sau đó tinh chỉnh lần cuối trên tập dữ liệu đích VinDr-CXR.
- Phương pháp đánh giá định lượng: Khảo sát và so sánh các chỉ số phân loại giữa các biến thể backbone ViT (ViT-S16, ViT-B16, ViT-L16, R50+ViT-B16) và các biến thể ResNet (ResNet-18, ResNet-34, ResNet-50) dưới các thiết lập kích thước ảnh đầu vào khác nhau.
- Phương pháp đánh giá định tính: Trực quan hóa các vùng tổn thương đơn lẻ và đa tổn thương trên ảnh X-quang bằng Attention Map và Grad-CAM để đối chiếu với nhận định y khoa.
Nguồn dữ liệu sử dụng
| Tên tập dữ liệu |
Quy mô ảnh |
Số lượng nhãn bệnh |
Đơn vị / Nguồn công bố |
| ImageNet |
14.000.000 |
21.000 |
Dữ liệu hình ảnh tổng quát công khai |
| CheXpert |
224.316 |
14 |
Đại học Stanford |
| Chest14 |
112.316 |
14 |
Viện Y tế Quốc gia Hoa Kỳ (NIH) |
| VinDr-CXR |
15.000 |
15 (chọn 10 nhãn cho đề tài) |
Viện Nghiên cứu Dữ liệu lớn (Vingroup) |
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình kiến trúc phân tầng, tích hợp giữa mô hình trí tuệ nhân tạo và ứng dụng web quản lý lâm sàng:
[Người dùng / Bác sĩ]
Công nghệ và thư viện phát triển
- Ngôn ngữ lập trình: Python, HTML, CSS.
- Framework học sâu: PyTorch (sử dụng các mô-đun
torch.data cho Dataset/DataLoader, torch.nn xây dựng tầng mạng, torch.autograd tính toán đạo hàm, torch.hub, torch.onnx/torch.jit hỗ trợ đóng gói và chuyển đổi mô hình).
- Phát triển Web API: Flask Framework trong môi trường phát triển PyCharm.
- Cơ sở dữ liệu: SQLite, thao tác quản lý dữ liệu thông qua công cụ Object Relational Mapping (SQLAlchemy ORM).
- Dịch vụ thông báo: Dịch vụ Twilio (cấu hình qua
account_sid và auth_token) để gửi tin nhắn SMS chẩn đoán và giao thức SMTP để gửi kết quả qua Gmail.
- Đóng gói và triển khai: Docker và kho lưu trữ Docker Hub.
Luồng vận hành của ứng dụng
- Đăng ký và lưu trữ: Người dùng thực hiện đăng ký thông tin hành chính của bệnh nhân (Họ tên, tuổi, số điện thoại, email) vào cơ sở dữ liệu SQLite.
- Tải ảnh và phân loại: Bác sĩ tải ảnh chụp X-quang phổi của bệnh nhân lên hệ thống qua giao diện web.
- Xử lý suy luận và trực quan hóa: Flask API gửi ảnh đến mô hình ViT trong PyTorch để xử lý, xuất ra xác suất dự đoán 10 loại bệnh phổi và tạo biểu đồ nhiệt Attention Map hiển thị các vùng tổn thương.
- Phê duyệt kết luận: Bác sĩ xem xét kết quả dự đoán của mô hình cùng hình ảnh Attention Map, sau đó nhập kết luận chuyên môn chính thức vào hệ thống.
- Gửi kết quả: Hệ thống gửi kết quả chẩn đoán cuối cùng của bác sĩ tới bệnh nhân qua tin nhắn SMS (Twilio) hoặc thư điện tử (Gmail) dưới định dạng ký tự văn bản.
Nội dung chính theo từng chương
Chương 1. Tổng quan
Chương 1 trình bày bối cảnh thực tiễn của việc chẩn đoán bệnh lý phổi qua ảnh X-quang, đặt vấn đề nghiên cứu về ứng dụng học sâu trong y tế. Tác giả phân tích những hạn chế về quy mô của các bộ dữ liệu ảnh y tế (Chest14, VinDr-CXR) so với các bộ dữ liệu ảnh thông thường (ImageNet, JFT), nêu rõ thách thức khi xử lý các trường hợp xuất hiện đồng thời nhiều bệnh lý trên cùng một phim chụp X-quang. Chương này xác định rõ mục tiêu, 8 nội dung công việc, 7 điểm giới hạn của đề tài và cấu trúc 6 chương của báo cáo khóa luận.
Chương 2. Cơ sở lý thuyết
Chương 2 cung cấp hệ thống kiến thức nền tảng toàn diện:
- Lý thuyết về ảnh số (ảnh RGB, ảnh xám), quy trình chụp X-quang và cấu trúc lưu trữ chuẩn DICOM trong hệ thống PACS.
- Các công cụ phần mềm: Ngôn ngữ Python, quy trình 6 bước huấn luyện mô hình trên thư viện PyTorch (
torch.data, torch.nn, torch.autograd, torch.hub, torch.onnx).
- Mạng nơ-ron nhân tạo: Hàm kích hoạt (Sigmoid, ReLU), giải thuật tối ưu Gradient Descent, vai trò của tốc độ học (learning rate), hàm tổn thất Cross-Entropy Loss.
- Tiến trình phát triển của mạng tích chập CNN: Phân tích kiến trúc LeNet-5, AlexNet, VGG (VGG-16, VGG-19), GoogLeNet (khối Inception) và mạng ResNet với cơ chế kết nối tắt (skip connection) khắc phục hiện tượng triệt tiêu đạo hàm.
- Kỹ thuật diễn giải Grad-CAM: Phương pháp tính gradient trung bình toàn cục (GAP) trên feature map của tầng tích chập cuối cùng để tạo bản đồ nhiệt phân biệt lớp.
- Kiến trúc Transformer và Vision Transformer (ViT): Cơ chế tính ma trận Attention ($Query, Key, Value$), khối Multi-Head Attention, quá trình phân mảnh ảnh thành các patch vector phẳng 2D, phép chiếu tuyến tính, bổ sung position embedding và vector nhúng $[CLS]$.
- Kỹ thuật Attention Map trích xuất vùng tập trung của mô hình ViT.
- Lý thuyết về kiến trúc Web REST API, vi khung Flask, cơ sở dữ liệu SQLite kết hợp SQLAlchemy ORM và nền tảng ảo hóa Docker.
Chương 3. Thí nghiệm huấn luyện và đánh giá mô hình
Chương 3 thiết lập quy trình thực nghiệm chi tiết:
- Tổng quan phương pháp tổ chức dữ liệu thí nghiệm: Lọc và tiền xử lý dữ liệu ảnh X-quang từ tập VinDr-CXR theo 10 phân lớp bệnh được lựa chọn.
- Xây dựng cấu trúc các mô hình thử nghiệm: Nhóm backbone Transformer (ViT-S16, ViT-B16, ViT-L16, mô hình lai R50+ViT-B16) và nhóm backbone CNN đối chứng (ResNet-18, ResNet-34, ResNet-50).
- Thiết kế các kịch bản thực nghiệm: Đánh giá ảnh hưởng của kích thước ảnh đầu vào, so sánh hiệu năng giữa các loại backbone, khảo sát vai trò của việc tiền huấn luyện trung gian trên các tập dữ liệu y tế (ChestXpert, Chest14).
- Xác định phương pháp đánh giá định lượng (các chỉ số đo lường hiệu suất) và đánh giá định tính (khả năng định vị tổn thương đơn lẻ và đa tổn thương trên ảnh thông qua Attention Map và Grad-CAM).
Chương 4. Triển khai ứng dụng
Chương 4 tập trung vào quy trình thi công hệ thống phần mềm:
- Thiết kế kiến trúc tổng thể của hệ thống Web API phục vụ mô hình phân loại.
- Xây dựng các hàm tiện ích (
utils.py), thiết lập giao diện người dùng bằng HTML/CSS trên IDE PyCharm.
- Cấu hình tích hợp dịch vụ gửi tin nhắn SMS thông qua tài khoản Twilio (
account_sid, auth_token) và cấu hình dịch vụ gửi email qua Gmail.
- Tạo lập cơ sở dữ liệu SQLite và bảng quản lý thông tin bệnh nhân bằng SQLAlchemy ORM.
- Đóng gói toàn bộ mã nguồn và môi trường chạy thành Docker Image, đẩy image lên Docker Hub và thực hiện kéo (pull) image để triển khai chạy thử nghiệm trên máy tính độc lập.
Chương 5. Kết quả - nhận xét - đánh giá
Chương 5 công bố các phát hiện thực nghiệm của đề tài:
- Trình bày bảng dữ liệu đánh giá định lượng: Ảnh hưởng của kích thước ảnh, hiệu quả vượt trội của phương pháp có sử dụng tập dữ liệu tiền huấn luyện y tế so với việc không có tiền huấn luyện, và so sánh kết quả giữa các backbone ViT với backbone CNN.
- Đánh giá khả năng diễn giải: So sánh trực quan giữa Grad-CAM và Attention Map trong các ca bệnh có một vùng tổn thương đơn lẻ và các ca bệnh có nhiều vùng tổn thương đồng xuất hiện.
- Kết quả triển khai ứng dụng: Minh chứng giao diện trang chủ, màn hình đăng ký bệnh nhân, màn hình dự đoán hiển thị Attention Map, giao diện nhập kết luận của bác sĩ, thông báo gửi thành công qua Email/SMS, và quy trình pull/chạy Docker Image thành công trên máy tính đích.
- Đưa ra các nhận xét, phân tích kỹ thuật về điểm mạnh và hạn chế của các phương pháp thử nghiệm.
Chương 6. Kết luận và hướng phát triển
Chương 6 tổng kết các kết quả đạt được về mặt mô hình và ứng dụng thực tế, khẳng định tính khả thi của mô hình Vision Transformer trong hỗ trợ chẩn đoán y tế, đồng thời nêu các đề xuất cải tiến cho các nghiên cứu tiếp theo.
Kết quả và đóng góp
Kết quả nghiên cứu chính
- Hiệu suất mô hình:
- Phương pháp đề xuất (tinh chỉnh Vision Transformer trên các tập dữ liệu ảnh y tế trung gian ChestXpert và Chest14 trước khi chuyển giao sang VinDr-CXR) đạt độ chính xác phân loại tổng thể nhỉnh hơn so với các phương pháp tích chập CNN thông thường (ResNet).
- Việc áp dụng mô hình tiền huấn luyện (pre-trained model) mang lại sự cải thiện rõ rệt về hiệu năng so với mô hình huấn luyện từ đầu không có pre-train.
- Khả năng diễn giải bệnh học:
- Trong trường hợp hình ảnh X-quang chỉ có một vùng tổn thương đơn lẻ, cả Grad-CAM (trên CNN) và Attention Map (trên ViT) đều định vị tốt vùng bất thường.
- Khi trên một bức ảnh xuất hiện đồng thời nhiều loại bệnh hoặc nhiều vùng tổn thương cách xa nhau, kỹ thuật Attention Map của mô hình Vision Transformer thể hiện khả năng nắm bắt toàn diện các mối quan hệ không gian tầm xa, giúp làm nổi bật chính xác các vị trí tổn thương đồng thời tốt hơn so với Grad-CAM của mạng CNN.
- Ứng dụng thực tế:
- Xây dựng hoàn chỉnh ứng dụng web thông qua Flask API, cho phép tải ảnh, hiển thị kết quả phân loại 10 nhãn bệnh kèm bản đồ Attention Map với thời gian phản hồi từ 2 đến 10 giây.
- Tích hợp thành công chức năng lưu trữ bệnh nhân vào cơ sở dữ liệu SQLite và gửi kết quả chẩn đoán chính thức của bác sĩ qua SMS (Twilio) và Gmail.
- Đóng gói hoàn chỉnh ứng dụng thành Docker Image, tải lên Docker Hub và triển khai thành công trên môi trường máy tính khác.
Đóng góp của đề tài
- Khảo sát thực nghiệm toàn diện về khả năng áp dụng của kiến trúc Vision Transformer trong phân loại ảnh X-quang phổi khi dữ liệu y tế bị giới hạn về số lượng mẫu.
- Đề xuất quy trình tinh chỉnh mô hình ViT qua các tập dữ liệu y tế trung gian (ChestXpert, Chest14) để nâng cao chất lượng biểu diễn đặc trưng cho tập dữ liệu đích (VinDr-CXR).
- Chứng minh tính hiệu quả của cơ chế Attention Map trong việc giải quyết bài toán đồng xuất hiện nhiều bệnh lý trên cùng một ảnh X-quang ngực.
- Xây dựng giải pháp phần mềm hoàn chỉnh từ khâu suy luận mô hình đến giao diện web hỗ trợ bác sĩ và cơ chế thông báo kết quả cho bệnh nhân.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài (Theo công bố của tác giả)
- Phạm vi dữ liệu và tư thế chụp: Mô hình mới chỉ được huấn luyện và đánh giá trên ảnh chụp X-quang lồng ngực ở tư thế thẳng sau - trước (PA), chưa mở rộng cho các tư thế chụp khác (như tư thế nghiêng Lateral hay tư thế trước - sau AP).
- Số lượng phân lớp bệnh: Thí nghiệm mới chỉ tập trung phân loại trên 10 nhãn bệnh lý được lựa chọn từ tập dữ liệu VinDr-CXR.
- Tốc độ xử lý: Thời gian đưa ra dự đoán của ứng dụng còn phụ thuộc vào cấu hình phần cứng máy tính và tốc độ mạng internet (dao động từ 2 đến 10 giây).
- Phương thức gửi thông báo: Kết quả chẩn đoán gửi qua Gmail và tin nhắn SMS mới chỉ ở dạng chuỗi ký tự văn bản thuần túy, chưa đính kèm tệp hình ảnh X-quang hoặc bản đồ Attention Map trực quan.
- Bảo mật dữ liệu: Ứng dụng web chưa được tích hợp các cơ chế bảo mật, mã hóa dữ liệu đối với thông tin cá nhân và hồ sơ bệnh án của bệnh nhân.
- Tính chất hỗ trợ lâm sàng: Ứng dụng chỉ đóng vai trò cung cấp dự đoán tham khảo hỗ trợ bác sĩ, hoàn toàn không có chức năng thay thế bác sĩ đưa ra kết luận y khoa.
Hướng phát triển tiếp theo
- Mở rộng tập dữ liệu huấn luyện với nhiều tư thế chụp X-quang khác nhau và gia tăng số lượng phân lớp bệnh lý phổi.
- Tối ưu hóa mô hình nhằm giảm độ trễ xử lý suy luận của hệ thống.
- Bổ sung tính năng gửi kèm tệp hình ảnh chẩn đoán trực quan trong thông báo Email/SMS cho bệnh nhân.
- Nâng cấp hệ thống bảo mật thông tin bệnh nhân theo các tiêu chuẩn an toàn dữ liệu y tế.
Giá trị tham khảo
Tài liệu khóa luận tốt nghiệp này mang lại giá trị tham khảo chuyên môn cho các đối tượng sau:
- Sinh viên và học viên ngành Kỹ thuật Y sinh (Biomedical Engineering): Cung cấp tài liệu tham khảo thực tế về quy trình xử lý ảnh y tế từ định dạng chuẩn DICOM, phương pháp chuẩn hóa dữ liệu và xây dựng hệ thống hỗ trợ chẩn đoán hình ảnh.
- Sinh viên và nghiên cứu viên ngành Khoa học Máy tính / Trí tuệ Nhân tạo: Cung cấp tài liệu tổng quan và chi tiết thực nghiệm về việc chuyển giao kiến trúc Vision Transformer từ lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) sang thị giác máy tính, đặc biệt là chiến lược tinh chỉnh mô hình khi dữ liệu chuyên ngành bị hạn chế.
- Người phát triển ứng dụng y tế thông minh: Là tài liệu tham khảo hữu ích về cách thức đóng gói mô hình học sâu PyTorch vào dịch vụ Web API bằng Flask, kết nối cơ sở dữ liệu SQLite qua SQLAlchemy ORM, tích hợp các API dịch vụ bên thứ ba (Twilio, Gmail SMTP) và ảo hóa môi trường bằng Docker.
Câu hỏi thường gặp
1. Khóa luận sử dụng các tập dữ liệu ảnh X-quang nào để huấn luyện và đánh giá mô hình?
Khóa luận sử dụng 3 tập dữ liệu ảnh X-quang lồng ngực gồm: CheXpert (Stanford, 14 loại bệnh), Chest14 (NIH, 112.316 ảnh, 14 nhãn) và VinDr-CXR (Viện Nghiên cứu Dữ liệu lớn Vingroup, 15.000 ảnh). Mô hình Vision Transformer được tiền huấn luyện trên ImageNet 21K, sau đó tinh chỉnh qua ChestXpert và Chest14, trước khi tinh chỉnh trên tập dữ liệu mục tiêu VinDr-CXR với 10 nhãn bệnh được lựa chọn.
2. Sự khác biệt chính trong khả năng diễn giải giữa Vision Transformer và CNN là gì?
Đối với mạng CNN, tác giả sử dụng kỹ thuật Grad-CAM dựa trên đạo hàm của tầng tích chập cuối cùng; đối với Vision Transformer, tác giả trích xuất Attention Map từ token $[CLS]$. Khi trên ảnh chỉ có một vùng tổn thương đơn lẻ, cả hai kỹ thuật đều định vị tốt. Tuy nhiên, khi có nhiều vùng tổn thương đồng xuất hiện tại các vị trí xa nhau, Attention Map của ViT nắm bắt tốt các phụ thuộc tầm xa trên diện rộng, thể hiện các vùng tổn thương đầy đủ hơn so với Grad-CAM.
3. Những biến thể mô hình nào đã được đưa vào thử nghiệm và so sánh trong khóa luận?
Khóa luận thử nghiệm nhóm mô hình dựa trên Transformer gồm: ViT-B16, ViT-L16, ViT-S16 và mô hình lai R50+ViT-B16. Nhóm mô hình CNN đối chứng gồm có: ResNet-18, ResNet-34 và ResNet-50.
4. Hệ thống ứng dụng web được xây dựng bằng những công nghệ nào và có những chức năng gì?
Hệ thống được phát triển bằng ngôn ngữ Python, vi khung Flask, giao diện HTML/CSS, cơ sở dữ liệu SQLite thông qua SQLAlchemy ORM, đóng gói bằng Docker. Các chức năng chính gồm: Đăng ký và lưu trữ thông tin bệnh nhân, tải ảnh X-quang để mô hình dự đoán và hiển thị Attention Map, hỗ trợ bác sĩ nhập kết luận chính thức, và gửi thông báo kết quả dạng văn bản đến bệnh nhân qua SMS (Twilio API) hoặc Email (Gmail).
5. Những giới hạn kỹ thuật nào được tác giả nêu rõ đối với ứng dụng web?
Ứng dụng web chỉ xử lý ảnh chụp tư thế thẳng sau - trước (PA) trên 10 phân lớp bệnh; thời gian phản hồi dự đoán mất từ 2 đến 10 giây; thông báo gửi qua SMS/Email chỉ ở dạng văn bản không kèm hình ảnh; hệ thống chưa có cơ chế bảo mật dữ liệu bệnh nhân; và ứng dụng chỉ có vai trò hỗ trợ tham khảo, hoàn toàn không thay thế kết luận của bác sĩ.
Kết luận
Khóa luận tốt nghiệp "Ứng dụng mô hình Vision Transformer trong phân loại dữ liệu bệnh phổi" đã nghiên cứu và triển khai thành công mô hình Vision Transformer kết hợp cơ chế Attention Map trên tập dữ liệu X-quang lồng ngực VinDr-CXR thông qua chiến lược chuyển giao học tập từ các tập dữ liệu y tế trung gian. Kết quả thực nghiệm khẳng định phương pháp đề xuất không chỉ mang lại độ chính xác phân loại tốt hơn các mạng tích chập truyền thống mà còn vượt trội trong việc minh giải các ca bệnh có nhiều tổn thương đồng xuất hiện. Đề tài cũng hoàn thiện giải pháp phần mềm thông qua ứng dụng Web Flask được đóng gói Docker, tích hợp dịch vụ thông báo SMS/Email, tạo tiền đề ứng dụng thiết thực cho công tác hỗ trợ chẩn đoán hình ảnh y khoa.