Bối cảnh và vấn đề nghiên cứu
Ung thư vú (UTV) là một trong những nguyên nhân gây tử vong hàng đầu ở phụ nữ trên toàn cầu. Theo số liệu được dẫn trong đồ án, hiện có khoảng 18,1 triệu người mắc ung thư trên toàn thế giới, trong đó khoảng 9,5 triệu người tử vong mỗi năm. Riêng tại Việt Nam, thống kê ghi nhận khoảng 164.671 ca mắc bệnh và 114.871 người tử vong. UTV chiếm tỷ lệ cao thứ ba (9,2%) trong các loại ung thư, sau ung thư gan và phổi. Theo số liệu GLOBOCAN năm 2018, UTV ở phụ nữ chiếm 15.229 trong tổng số 73.849 ca ung thư của giới nữ tại Việt Nam. Nguyên nhân gây UTV vẫn chưa được xác định rõ ràng, song các nghiên cứu cho rằng biến đổi gen BRCA1 hoặc BRCA2, ô nhiễm môi trường, tia phóng xạ và các yếu tố lối sống có thể làm tăng nguy cơ mắc bệnh.
Nhóm tác giả nhấn mạnh rằng phát hiện sớm có ý nghĩa quyết định đến tiên lượng điều trị: nếu phát hiện ở giai đoạn đầu, tỷ lệ chữa khỏi đạt khoảng 80%; ở giai đoạn hai, tỷ lệ này giảm xuống còn khoảng 60%. Tuy nhiên, tần suất tầm soát định kỳ (1–2 lần/năm) trong cộng đồng vẫn còn thấp, và năng lực chẩn đoán bằng thiết bị truyền thống đôi khi bỏ sót tổn thương ở giai đoạn sớm.
Mục tiêu đề tài được xác định rõ gồm hai hướng:
- Phát triển một hệ thống chẩn đoán bệnh UTV thông qua hình ảnh X-quang (Mammography) dựa trên trí tuệ nhân tạo (AI) với dữ liệu ảnh X-quang quy mô lớn.
- Thiết kế hệ thống website để hỗ trợ bác sĩ trong chẩn đoán bệnh UTV.
Phạm vi nghiên cứu:
- Chỉ sử dụng ảnh X-quang vú (Mammography); không áp dụng các phương thức chẩn đoán hình ảnh khác.
- Mô hình được huấn luyện và thực nghiệm trên bốn kiến trúc mạng huấn luyện trước: Resnet-152, EfficientNet-V2, DenseNet-201, VGG-16.
- Hệ thống ở giai đoạn thực nghiệm, chưa triển khai vào thực tiễn lâm sàng.
- Thời gian thực hiện: từ ngày 11/9/2023 đến ngày 16/12/2023, tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình
Đồ án dựa trên hai nền tảng lý thuyết chính:
Deep Learning và mạng nơ-ron tích chập (CNN): Mạng CNN được trình bày với đầy đủ các thành phần cấu thành gồm lớp tích chập (Convolution Layer), hàm kích hoạt (Activation Function — Sigmoid, Tanh, ReLU), lớp tổng hợp (Pooling Layer) và lớp kết nối đầy đủ (Fully Connected Layer). Nhóm phân tích đặc điểm và ưu nhược điểm của từng hàm kích hoạt, trong đó ReLU được xác định là phổ biến nhất trong huấn luyện hiện đại do tốc độ hội tụ nhanh gấp 6 lần Tanh và không đòi hỏi phép tính lũy thừa phức tạp.
Transfer Learning (Học tập chuyển giao): Thay vì huấn luyện mô hình từ đầu trên tập dữ liệu lớn, nhóm sử dụng lại các mô hình huấn luyện trước đã được huấn luyện trên tập ImageNet (lấy từ thư viện PyTorch), sau đó tinh chỉnh (fine-tune) lớp kết nối đầy đủ cuối cùng (FC layer) để thích nghi với bài toán phân loại ba nhãn: Benign, Cancer, Normal.
Bốn kiến trúc mạng được ứng dụng:
| Mô hình |
Đặc điểm kiến trúc |
| VGG-16 |
13 lớp tích chập + 3 lớp FC; bộ lọc 3×3, stride=1; đạt 92,7% trên ImageNet |
| Resnet-152 |
152 lớp (150 tích chập, 1 MaxPool, 1 Average Pool); khắc phục Vanishing Gradient bằng kết nối tắt (residual) |
| EfficientNet-V2 |
Chia tỷ lệ đồng đều độ sâu, độ rộng, độ phân giải; cân bằng hiệu suất và tài nguyên tính toán |
| DenseNet-201 |
Đầu ra các lớp trước được nối trực tiếp vào đầu vào lớp sau; số lượng tham số ít, hiệu suất cao |
Hàm mất mát: CrossEntropyLoss được sử dụng để tính toán sự sai lệch giữa đầu ra dự đoán và nhãn thực tế trong quá trình huấn luyện.
Phương pháp đánh giá: Confusion Matrix với các chỉ số Accuracy, Sensitivity (Recall), Specificity, Precision và F1-Score.
Phương pháp nghiên cứu
Đồ án thuộc dạng thiết kế và thực nghiệm kỹ thuật, bao gồm: tiền xử lý dữ liệu ảnh, huấn luyện và tinh chỉnh bốn mô hình học sâu, đánh giá so sánh hiệu suất, và xây dựng hệ thống website tích hợp.
Nguồn dữ liệu
Nhóm khảo sát và so sánh nhiều bộ dữ liệu phổ biến trước khi lựa chọn:
| Dataset |
Năm phát hành |
Số mẫu |
Image-Level Labels |
| VinDR-Mammo |
2022 |
5.000 |
Có |
| MIAS |
1994 |
330 |
Không |
| InBreast |
2011 |
410 |
Không |
| DDSM |
1997 |
~64.000 |
Có |
| CBIS-DDSM |
2013 |
~45.000 |
Có |
| Mini-DDSM |
2020 |
7.808 |
Có |
Bộ dữ liệu Mini-DDSM được chọn vì đáp ứng đủ yêu cầu: có nhãn ở cấp ảnh (Image-Level Labels), định dạng JPEG tương thích trực tiếp với Python/PyTorch, miễn phí sử dụng, và được hỗ trợ từ Chương trình Nghiên cứu Ung thư Vú của Bộ Tư lệnh Nghiên cứu Y tế và Trang thiết bị Quân đội Hoa Kỳ (sàng lọc bởi Đại học Nam Florida).
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương mở đầu trình bày bối cảnh dịch tễ học về UTV tại Việt Nam và trên thế giới, phân tích những hạn chế của phương pháp chẩn đoán truyền thống và vai trò tiềm năng của AI trong hỗ trợ bác sĩ. Nhóm xác định mục tiêu kép của đề tài (mô hình phân loại + website), đồng thời nêu rõ các giới hạn nghiên cứu và danh sách chín nội dung thực hiện theo thứ tự từ thu thập dữ liệu đến bảo vệ luận văn.
Chương 2: Cơ sở lý thuyết
Đây là chương lý thuyết nền tảng, bao phủ ba nhóm nội dung chính:
- Kiến trúc học sâu: Giải thích nguyên lý CNN từ lớp tích chập đến lớp FC; phân tích ba hàm kích hoạt (Sigmoid, Tanh, ReLU) và cơ chế Pooling. Mô tả chi tiết bốn kiến trúc mô hình huấn luyện trước: VGG-16 (cấu trúc lặp 5 lần khối tích chập + pooling, FC với 4.095–1.000 kênh), Resnet-152 (Conv1 đến Conv5_x với các khối filter tương ứng 64/128/256/512), EfficientNet-V2 (chia tỷ lệ đồng đều ba chiều), DenseNet-201 (kết nối dày đặc giữa các lớp).
- Phương pháp đánh giá: Định nghĩa đầy đủ Confusion Matrix (TP, TN, FP, FN), công thức tính TPR, TNR, FPR, FNR, Accuracy, Sensitivity, Specificity, Precision và F1-Score.
- Công nghệ web: Kiến trúc ba tầng FrontEnd–BackEnd–API. FrontEnd sử dụng ReactJS (Virtual DOM, Redux, Component-based), BackEnd sử dụng Flask/Python, cơ sở dữ liệu Firebase (Realtime Database, Authentication, Cloud Storage lên đến 5TB, Cloud Functions), giao tiếp qua RESTful API (GET/POST/PUT/DELETE).
Chương 3: Xây dựng mô hình huấn luyện
Chương này mô tả toàn bộ pipeline huấn luyện:
Phân chia dữ liệu:
| Label |
Số lượng |
Tỷ lệ |
| Benign |
2.685 |
34,4% |
| Cancer |
2.716 |
34,7% |
| Normal |
2.408 |
30,9% |
Tập Mini-DDSM (7.808 mẫu) được chia thành tập Train (6.247 mẫu — 79,9%) và tập Validation (1.562 mẫu — 20,1%). Tỷ lệ Train/Validation xấp xỉ 4:1 được chọn chủ đích để mô hình học được đa dạng đặc trưng từ nhũ ảnh.
Chuẩn hóa dữ liệu: Bao gồm thay đổi kích thước ảnh, chuẩn hóa giá trị pixel, cắt ảnh, xoay ảnh và các phép biến đổi khác (Data Transform) để đồng hóa đầu vào theo yêu cầu của từng mô hình huấn luyện trước trên PyTorch.
Tinh chỉnh mô hình (Fine-tuning): Với mỗi trong bốn kiến trúc, nhóm giữ nguyên trọng số đã huấn luyện trước và chỉ thay đổi lớp FC cuối thành đầu ra 3 nút (tương ứng ba nhãn bệnh). Quy trình này được thực hiện lần lượt cho VGG-16, Resnet-152, EfficientNet-V2 và DenseNet-201.
Hàm mất mát: CrossEntropyLoss được áp dụng xuyên suốt quá trình tối ưu hóa.
Chương 4: Thi công hệ thống
Chương này mô tả quá trình xây dựng hệ thống website tích hợp mô hình phân loại:
- FrontEnd: Xây dựng bằng ReactJS, sử dụng Redux để quản lý trạng thái ứng dụng và Virtual DOM để tối ưu hiệu năng render giao diện.
- BackEnd: Xây dựng bằng Python/Flask, thiết lập địa chỉ
http://localhost:9000, kết nối với cơ sở dữ liệu Firebase.
- Kết nối: FrontEnd và BackEnd giao tiếp thông qua RESTful API. Khi người dùng tải ảnh lên giao diện, FrontEnd gọi API đến BackEnd, BackEnd chạy mô hình suy luận và trả kết quả phân loại về giao diện.
- Giao diện người dùng: Gồm màn hình khởi động, trang thông tin bổ sung, trang chọn ảnh chẩn đoán, và màn hình hiển thị kết quả (Cancer/Benign/Normal).
Chương 5: Kết quả và nhận xét, đánh giá mô hình
Chương trình bày kết quả huấn luyện và đánh giá so sánh bốn mô hình thông qua biểu đồ độ chính xác, Confusion Matrix, biểu đồ phần trăm tỷ lệ dự đoán đúng, và bảng tổng hợp Accuracy. Hiệu suất từng mô hình được ghi lại riêng biệt (Bảng 3.3 đến 3.6 trong văn bản). Ngoài ra, nhóm thực hiện so sánh mô hình phân loại với các phương pháp khác trong tài liệu tham khảo (Bảng 5.2).
Chương 6: Kết luận và hướng phát triển
Tổng kết kết quả đạt được và chỉ ra các hướng mở rộng tiếp theo.
Thiết kế và triển khai
Kiến trúc hệ thống
Hệ thống được thiết kế theo kiến trúc ba tầng:
- Tầng giao diện (FrontEnd): ReactJS với Redux (quản lý state) và Virtual DOM (tối ưu render).
- Tầng xử lý (BackEnd): Python/Flask, tích hợp mô hình học sâu đã huấn luyện, phục vụ tại
http://localhost:9000.
- Tầng dữ liệu: Firebase (NoSQL Realtime Database, Cloud Storage, Authentication).
Giao tiếp giữa FrontEnd và BackEnd được thực hiện qua RESTful API theo chuẩn HTTP với các phương thức GET/POST/PUT/DELETE.
Công nghệ sử dụng
| Nhóm |
Công nghệ |
| Ngôn ngữ lập trình |
Python, HTML, CSS, JavaScript |
| Framework học sâu |
PyTorch |
| FrontEnd |
ReactJS, Redux |
| BackEnd |
Flask |
| Cơ sở dữ liệu |
Firebase |
| Ngôn ngữ giao diện |
HTML/CSS/JavaScript |
Quy trình huấn luyện và kiểm thử
Pipeline huấn luyện gồm các bước tuần tự: nhập dữ liệu từ Mini-DDSM → tiền xử lý (chuẩn hóa, Data Transform) → tinh chỉnh lớp FC → huấn luyện với CrossEntropyLoss → đánh giá trên tập Validation bằng Confusion Matrix và F1-Score → lựa chọn mô hình tốt nhất để tích hợp vào BackEnd.
Kiểm thử hệ thống website được thực hiện end-to-end: tải ảnh từ giao diện, gọi API, nhận kết quả phân loại, hiển thị trên màn hình chẩn đoán. Nhóm thực hiện chạy thử nghiệm toàn hệ thống trong tuần 12 và sửa lỗi trong tuần 13 (theo lịch trình từ ngày 1/12 đến 14/12/2023).
Kết quả và đóng góp
Kết quả chính
Độ chính xác huấn luyện đạt được là 82,01% (được công bố trong phần Tóm tắt của đồ án). Bốn mô hình được huấn luyện và đánh giá riêng biệt; hiệu suất từng mô hình (VGG-16, Resnet-152, EfficientNet-V2, DenseNet-201) được ghi nhận qua các bảng đánh giá 3.3–3.6 và tổng hợp tại Bảng 5.1. Phần so sánh với các phương pháp trong tài liệu tham khảo được trình bày tại Bảng 5.2.
Hệ thống website hoạt động hoàn chỉnh với giao diện người dùng cho phép:
- Tải ảnh X-quang lên để chẩn đoán.
- Nhận kết quả phân loại trả về (Cancer / Benign / Normal).
- Xem thông tin bổ sung liên quan đến bệnh.
Giải pháp và đóng góp
Đóng góp chính của đồ án, theo nhóm tác giả tự nêu, bao gồm:
- Ứng dụng Transfer Learning từ các mô hình ImageNet vào bài toán phân loại nhũ ảnh — hướng tiếp cận giúp tiết kiệm đáng kể thời gian và tài nguyên tính toán so với huấn luyện từ đầu.
- Thực nghiệm và so sánh có hệ thống bốn kiến trúc CNN khác nhau (VGG-16, Resnet-152, EfficientNet-V2, DenseNet-201) trên cùng một bộ dữ liệu Mini-DDSM, cho phép đánh giá tương đối khách quan hiệu suất các mô hình.
- Tích hợp mô hình học sâu vào một ứng dụng web hoàn chỉnh với kiến trúc FrontEnd (ReactJS) – BackEnd (Flask) – Database (Firebase), tạo ra sản phẩm có thể tiếp cận thực tế với người dùng phi chuyên môn kỹ thuật.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
Theo nhóm tác giả tự ghi nhận trong phần giới hạn đề tài:
- Hệ thống chưa được áp dụng vào thực tiễn lâm sàng; kết quả mới dừng ở mức thực nghiệm trong phòng lab.
- Chỉ sử dụng một phương thức hình ảnh duy nhất là ảnh X-quang vú (Mammography); không bao gồm siêu âm hoặc MRI vú.
- Mô hình chỉ phân loại ba nhãn (Benign, Cancer, Normal) theo cấp ảnh toàn bộ, chưa thực hiện phân đoạn (segmentation) hay định vị tổn thương.
- Độ chính xác đạt được (82,01%) còn thấp hơn mục tiêu kỳ vọng ban đầu của nhóm (hơn 90%).
Hướng phát triển
Nhóm tác giả đề xuất các hướng mở rộng trong Chương 6:
- Cải thiện độ chính xác mô hình thông qua tinh chỉnh siêu tham số hoặc thử nghiệm các kiến trúc mới hơn.
- Bổ sung chức năng khoanh vùng tổn thương (ROI) để hỗ trợ bác sĩ xác định vị trí nghi ngờ trên ảnh.
- Mở rộng tập dữ liệu hoặc tích hợp thêm các bộ dữ liệu như VinDR-Mammo để tăng tính đại diện, đặc biệt cho bệnh nhân Việt Nam.
- Triển khai hệ thống vào môi trường thực tế với đánh giá lâm sàng từ bác sĩ chuyên khoa.
Giá trị tham khảo
Đồ án có giá trị tham khảo cho các nhóm đối tượng sau:
- Sinh viên ngành Kỹ thuật Y Sinh đang tìm hiểu về ứng dụng AI trong chẩn đoán hình ảnh y tế, đặc biệt là phần lý thuyết về CNN (Chương 2) và pipeline huấn luyện Transfer Learning (Chương 3).
- Sinh viên ngành Công nghệ Thông tin / Kỹ thuật Phần mềm quan tâm đến cách tích hợp mô hình học sâu vào ứng dụng web với stack ReactJS + Flask + Firebase (Chương 4).
- Nhóm làm đề tài phân loại ảnh y tế có thể tham khảo quy trình chọn và so sánh bộ dữ liệu (Bảng 2.1), phương pháp chia Train/Validation, và cách tinh chỉnh lớp FC cho bài toán nhiều nhãn.
- Người nghiên cứu về UTV tại Việt Nam có thể tham khảo phần thống kê dịch tễ học (Chương 1) và phần khảo sát các bộ dữ liệu nhũ ảnh quốc tế hiện có.
Phần đáng tham khảo nhất về mặt kỹ thuật là Bảng 2.1 (so sánh sáu bộ dữ liệu), quy trình tiền xử lý ảnh trong Chương 3, và kiến trúc hệ thống website tích hợp mô hình AI trong Chương 4.
Câu hỏi thường gặp
1. Tại sao nhóm chọn Mini-DDSM thay vì các bộ dữ liệu lớn hơn như DDSM hay CBIS-DDSM?
Mini-DDSM được chọn vì đáp ứng đồng thời các yêu cầu của nhóm: có nhãn ở cấp ảnh (Image-Level Labels), định dạng JPEG tương thích trực tiếp với Python và PyTorch (không cần chuyển đổi từ DICOM), dung lượng hợp lý (5GB so với 230,9GB của DDSM gốc), và miễn phí sử dụng. DDSM gốc có hơn 64.000 mẫu nhưng quá lớn và đòi hỏi chuyển đổi định dạng phức tạp.
2. Nhóm tinh chỉnh (fine-tune) phần nào của các mô hình huấn luyện trước?
Nhóm giữ nguyên toàn bộ trọng số đã huấn luyện trước (từ tập ImageNet) và chỉ thay đổi lớp kết nối đầy đủ cuối cùng (lớp FC) của mỗi mô hình, điều chỉnh số lượng đầu ra từ số lớp gốc (ví dụ 1.000 lớp của ImageNet) xuống còn 3 đầu ra tương ứng với ba nhãn: Benign, Cancer, Normal.
3. Tỷ lệ phân chia Train/Validation là bao nhiêu và lý do lựa chọn?
Nhóm chia 6.247 mẫu cho tập Train (79,9%) và 1.562 mẫu cho tập Validation (20,1%), tỷ lệ xấp xỉ 4:1. Lý do được nêu rõ là nhóm muốn mô hình học được nhiều đặc tính của nhũ ảnh hơn, từ đó cải thiện hiệu suất và độ chính xác trên tập kiểm tra.
4. Hệ thống website được xây dựng bằng công nghệ gì và hoạt động theo cơ chế nào?
FrontEnd được xây dựng bằng ReactJS (với Redux quản lý state và Virtual DOM tối ưu render), BackEnd bằng Python/Flask chạy tại địa chỉ http://localhost:9000, cơ sở dữ liệu sử dụng Firebase của Google. Hai tầng FrontEnd và BackEnd giao tiếp thông qua RESTful API: khi người dùng tải ảnh lên, FrontEnd gọi API đến BackEnd, BackEnd chạy mô hình học sâu và trả kết quả phân loại về giao diện.
5. Độ chính xác đạt được của toàn hệ thống là bao nhiêu và có đạt mục tiêu ban đầu không?
Độ chính xác huấn luyện đạt 82,01%, thấp hơn so với mục tiêu kỳ vọng ban đầu mà nhóm đặt ra là hơn 90%. Nhóm ghi nhận đây là một trong những hạn chế của đề tài. Kết quả so sánh chi tiết giữa bốn mô hình (VGG-16, Resnet-152, EfficientNet-V2, DenseNet-201) và so sánh với các phương pháp khác trong tài liệu được trình bày lần lượt tại Bảng 5.1 và Bảng 5.2 trong Chương 5.
Kết luận
Đồ án tốt nghiệp "Chẩn đoán bệnh Ung thư Vú dựa trên ảnh X-quang sử dụng Mạng học sâu" của nhóm sinh viên Phạm Anh Tuấn và Phạm Hữu Thế (Khoa Điện – Điện tử, Bộ môn Điện tử Công nghiệp – Y Sinh, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, 12/2023) trình bày một hệ thống hoàn chỉnh gồm hai thành phần: mô hình phân loại nhũ ảnh dựa trên Transfer Learning với bốn kiến trúc CNN (VGG-16, Resnet-152, EfficientNet-V2, DenseNet-201) huấn luyện trên bộ dữ liệu Mini-DDSM (7.808 mẫu), và ứng dụng web tích hợp với stack ReactJS–Flask–Firebase. Độ chính xác huấn luyện đạt được là 82,01%, thấp hơn mục tiêu 90% đề ra ban đầu, và hệ thống hiện chưa được triển khai vào thực tiễn lâm sàng. Đóng góp nổi bật của công trình là việc thực nghiệm có hệ thống và so sánh bốn kiến trúc mạng học sâu trên cùng một bộ dữ liệu, kết hợp với sản phẩm phần mềm web có thể trình diễn đầu cuối.