Bối cảnh và vấn đề nghiên cứu

Ung thư vú là một trong những bệnh lý ác tính phổ biến và là nguyên nhân gây tử vong hàng đầu ở phụ nữ trên thế giới cũng như tại Việt Nam. Theo số liệu thống kê từ Tổ chức Ung thư Toàn cầu (GLOBOCAN) năm 2020, toàn cầu ghi nhận hơn 2,2 triệu ca mắc mới ung thư vú và gần 685.000 ca tử vong. Riêng khu vực châu Á chiếm tới 45% tổng số ca mắc trên toàn thế giới, với dự báo số ca mắc tăng 20,9% và tỷ lệ tử vong tăng 27,8% trong giai đoạn 2020–2030. Tại Việt Nam, ước tính mỗi năm có khoảng 182.000 trường hợp mắc mới ung thư các loại với khoảng 122.000 trường hợp tử vong; trong đó ung thư vú chiếm 9,6% (đứng thứ ba sau ung thư gan và ung thư phổi). Việc phát hiện sớm bệnh khi còn khu trú trong tuyến vú giúp nâng cao tỷ lệ sống sau 5 năm lên đến 90% (theo nghiên cứu tại Hoa Kỳ) và từ 56,5% đến 86,7% (tại châu Á).

Trong các phương pháp sàng lọc lâm sàng, chụp X-quang tuyến vú (Mammography) đóng vai trò then chốt, giúp giảm 20–22% tỷ lệ tử vong do ung thư vú. Tuy nhiên, hệ thống y tế hiện nay đang đối mặt với sự thiếu hụt nghiêm trọng các bác sĩ chuyên khoa chẩn đoán hình ảnh X-quang vú, đồng thời tồn tại khoảng cách lớn về trình độ chuyên môn giữa các bệnh viện tuyến trung ương và cơ sở. Việc ứng dụng Trí tuệ nhân tạo (AI) và mạng học sâu (Deep Learning) vào hệ thống chẩn đoán từ xa là giải pháp kỹ thuật nhằm giảm tải áp lực cho đội ngũ y tế, tăng tính chính xác và hỗ trợ sàng lọc cho các vùng thiếu điều kiện y tế.

Mục tiêu nghiên cứu

Đề tài đặt mục tiêu phát triển hệ thống tự động phân loại ảnh X-quang tuyến vú thành 3 nhóm trạng thái: Bình thường (Normal), Lành tính (Benign) và Ác tính (Cancer) dựa trên mạng học sâu, đồng thời xây dựng ứng dụng web cho phép tiếp nhận ảnh và trả kết quả chẩn đoán từ xa.

Nhiệm vụ nghiên cứu

Văn bản xác định 8 nội dung thực hiện cụ thể:

  1. Tìm kiếm và sàng lọc tập ảnh sử dụng cho quá trình huấn luyện và thử nghiệm hệ thống.
  2. Nghiên cứu nguyên lý trí tuệ nhân tạo và mạng học sâu.
  3. Tìm hiểu và nắm vững quá trình huấn luyện mạng học sâu.
  4. Thực hiện huấn luyện và điều chỉnh mạng học sâu trên tập dữ liệu đã chuẩn bị.
  5. Lập trình thiết kế giao diện web chẩn đoán hình ảnh.
  6. Hoàn thiện trang web cho phép người dùng gửi ảnh và nhận kết quả từ xa.
  7. Viết báo cáo khóa luận.
  8. Bảo vệ luận văn tốt nghiệp.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Hình ảnh chụp X-quang tuyến vú (ảnh xám - Grayscale, độ phân giải cao); các mô hình mạng nơ-ron tích chập (VGG-16, ResNet-152, DenseNet-201, EfficientNet-B0); các kỹ thuật tiền xử lý và tăng cường dữ liệu; giao diện và dịch vụ web chẩn đoán.
  • Phạm vi dữ liệu: Sử dụng tập dữ liệu ảnh chụp X-quang kỹ thuật số Mini-DDSM đã được gán nhãn sẵn.
  • Phạm vi môi trường: Mô hình được huấn luyện và thực nghiệm trên phần cứng máy tính xách tay cá nhân; chưa triển khai thử nghiệm trên bệnh nhân thực tế tại bệnh viện.

Cơ sở lý thuyết và phương pháp

Cơ sở y khoa và hệ thống phân loại tổn thương

Bệnh học ung thư vú liên quan đến sự phân chia bất thường không kiểm soát của tế bào vú, chịu tác động của đột biến gen (BRCA1, BRCA2), yếu tố nội tiết (Estrogen, Progesterone), lối sống và độ tuổi. Quy trình chụp X-quang tuyến vú tiêu chuẩn bao gồm hai tư thế: thẳng trên - dưới (CC) và chếch trong - ngoài (MLO). Để đánh giá mức độ ác tính, hệ thống y tế áp dụng bảng phân loại BI-RADS (Breast Imaging Reporting and Data System) năm 2013:

  • BI-RADS 0: Chưa đủ dữ liệu, cần bổ sung thăm dò khác.
  • BI-RADS 1: Tuyến vú bình thường, không có tổn thương.
  • BI-RADS 2: Tổn thương dạng lành tính.
  • BI-RADS 3: Khả năng lành tính cao (nguy cơ ác tính >0% và <2%), cần theo dõi ngắn hạn.
  • BI-RADS 4: Nghi ngờ ác tính, chỉ định sinh thiết.
  • BI-RADS 5: Gần như chắc chắn ác tính (tỷ lệ ác tính >95%).

Mạng nơ-ron tích chập và học chuyển giao

Đề tài sử dụng mạng nơ-ron tích chập (CNN) với các khối cơ bản gồm lớp Convolutional, lớp kích hoạt ReLU, lớp Pooling (Max Pooling, Average Pooling), lớp Fully Connected (FC) và lớp Dropout để tránh hiện tượng quá khớp (overfitting). Phương pháp học chuyển giao (Transfer Learning) được áp dụng để kế thừa các trọng số đã được huấn luyện trước trên tập dữ liệu lớn ImageNet, giúp rút ngắn thời gian huấn luyện và tối ưu hóa độ chính xác đối với tập dữ liệu y tế.

Đặc điểm Tập dữ liệu ImageNet Tập dữ liệu ảnh y tế (Grayscale)
Kênh màu 3 kênh màu RGB 1 kênh màu (độ sáng/mức xám)
Đặc trưng học tập Màu sắc, hình thái tổng quát đa dạng Độ tương phản, mật độ mô, cấu trúc tổn thương
Mục tiêu áp dụng Nhận dạng đối tượng tổng quát Phân loại bệnh lý chuyên biệt

Kiến trúc EfficientNet-B0

Mô hình chính được lựa chọn để huấn luyện là EfficientNet-B0. Kiến trúc này sử dụng phương pháp mở rộng đồng đều (Compound Scaling) dựa trên hệ số mở rộng toàn cục $\phi$: $$d = \alpha^\phi, \quad w = \beta^\phi, \quad r = \gamma^\phi$$ với các hệ số thực nghiệm: $\alpha = 1{,}2$; $\beta = 1{,}1$; $\gamma = 1{,}15$. Cấu trúc gồm lớp tích chập mở đầu Conv 3x3 và các khối MBConv (Mobile Inverted Bottleneck Convolution, gồm MBConv1 và MBConv6) giúp trích xuất đặc trưng với số lượng tham số thấp và tốc độ tính toán nhanh.


Thiết kế và triển khai hệ thống

Hệ thống chẩn đoán từ xa được xây dựng theo mô hình Client - Server với sự phân tách giữa giao diện web và dịch vụ xử lý học sâu:

[Người dùng: Máy tính / Điện thoại]
[Giao diện Web Frontend (HTML/CSS)]
[Máy chủ Backend (Python / Flask)]
[Mô hình Học sâu PyTorch (EfficientNet-B0 - File .pth)]
[Giao diện trả kết quả hiển thị cho người dùng]

Công nghệ phát triển

  • Giao diện Frontend: Ngôn ngữ HTML và CSS, thiết kế giao diện tương thích với cả máy tính để bàn và điện thoại thông minh.
  • Máy chủ Backend: Ngôn ngữ Python kết hợp framework Flask để xử lý tiếp nhận thông tin bệnh nhân, lưu trữ ảnh tạm thời và điều phối luồng dữ liệu.
  • Mô hình suy luận (Model API): Xây dựng trên nền tảng PyTorch, nạp trọng số đã được huấn luyện lưu dưới dạng tệp tin .pth để thực hiện suy luận và trả kết quả về backend.

Cấu hình phần cứng huấn luyện

Quá trình huấn luyện mạng học sâu được thực hiện trên máy tính xách tay cá nhân với cấu hình:

  • Card đồ họa (GPU): NVIDIA GeForce GTX 1650.
  • Số nhân xử lý: 896 lõi CUDA.
  • Tốc độ xung nhịp tăng cường: Khoảng 1665 MHz.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Trình bày tổng quan về gánh nặng bệnh tật của ung thư vú trên thế giới và tại Việt Nam; phân tích vai trò của kỹ thuật chụp X-quang tuyến vú trong giảm thiểu tỷ lệ tử vong; chỉ ra sự thiếu hụt nhân lực bác sĩ chẩn đoán hình ảnh và sự chênh lệch trình độ chuyên môn giữa các tuyến y tế; xác định mục tiêu, đối tượng, giới hạn và nhiệm vụ thực hiện đề tài.

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

Tổng hợp kiến thức bệnh học ung thư vú, các giai đoạn tiến triển (từ tiền ung thư đến giai đoạn IV), quy trình chụp và phân loại tổn thương theo BI-RADS 2013; trình bày nguyên lý Deep Learning, cấu tạo mạng nơ-ron tích chập (CNN), phương pháp Transfer Learning; phân tích các kiến trúc VGG-16, DenseNet, EfficientNet-B0; khảo sát vai trò của các ứng dụng website y tế như bệnh án điện tử (EMR), đặt lịch khám và hỗ trợ chẩn đoán từ xa.

Chương 3: Phân loại hình ảnh ung thư vú dùng mạng EfficientNet-B0

Trình bày chi tiết về tập dữ liệu Mini-DDSM với dung lượng khoảng 45GB ở định dạng JPEG gồm 7.809 ảnh. Dữ liệu được chuẩn hóa và chia thành 3 lớp phân loại với tỷ lệ phân bổ cụ thể:

Nhãn phân loại (Label) Số lượng mẫu (ảnh) Tỷ lệ phần trăm
Cancer (Ác tính) 2.716 34,7%
Benign (Lành tính) 2.685 34,4%
Normal (Bình thường) 2.408 30,9%
Tổng cộng 7.809 100,0%

Dữ liệu được chia thành hai tập theo tỷ lệ 80:20:

  • Tập huấn luyện (Train): 6.247 mẫu (80%).
  • Tập kiểm tra/đánh giá (Test): 1.562 mẫu (20%).

Các bước biến đổi dữ liệu (Data Transform) bao gồm:

  1. Transforms.ToTensor: Chuyển đổi định dạng ảnh thành Tensor của PyTorch và chuẩn hóa giá trị pixel về đoạn $[0, 1]$.
  2. Transforms.Resize((300, 300)): Đồng nhất kích thước mọi ảnh đầu vào về $300 \times 300$ pixel.
  3. Transforms.RandomHorizontalFlip: Lật ảnh ngẫu nhiên theo chiều ngang nhằm tăng cường tính đa dạng của dữ liệu.

Mô hình EfficientNet-B0 được tinh chỉnh lớp Fully Connected cuối cùng thành 2 lớp Dense kết hợp lớp kích hoạt ReLU ở giữa để xuất ra 3 lớp ngõ ra tương ứng. Thiết lập siêu tham số huấn luyện gồm: Batch size = 32, số Epochs = 100, thuật toán tối ưu Adam với tốc độ học (learning rate) = 0,001, sử dụng hàm mất mát CrossEntropyLoss.

Chương 4: Xây dựng hệ thống chẩn đoán từ xa

Trình bày thiết kế chi tiết hệ thống web hỗ trợ chẩn đoán:

  • Xây dựng giao diện Frontend tiếp nhận ảnh chụp X-quang và thông tin bệnh nhân.
  • Xây dựng lưu đồ giải thuật cho Backend xử lý ảnh tải lên, giao tiếp với API suy luận PyTorch.
  • Xây dựng giao diện hiển thị kết quả phân loại (Normal, Benign hoặc Cancer) và kiểm tra khả năng tương thích trên trình duyệt máy tính lẫn thiết bị di động.

Chương 5: Kết quả và nhận xét

Trình bày kết quả huấn luyện mô hình qua 100 epochs, theo dõi độ biến thiên của hàm mất mát (Loss) và độ chính xác (Accuracy); phân tích đánh giá mô hình thông qua phương pháp ma trận nhầm lẫn (Confusion Matrix); kiểm tra độ chính xác và độ ổn định khi chạy thực tế trên website đối với từng trường hợp ảnh đầu vào.

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

Đánh giá mức độ hoàn thành so với mục tiêu ban đầu; nêu rõ các mặt hạn chế về hạ tầng phần cứng thử nghiệm và nguồn dữ liệu; đề xuất các hướng nâng cấp và mở rộng nghiên cứu trong tương lai.


Kết quả và đóng góp

Kết quả chính

  • Xây dựng và tiền xử lý thành công tập dữ liệu 7.809 ảnh X-quang vú từ nguồn Mini-DDSM, phân bổ cân bằng giữa 3 nhóm bệnh lý.
  • Huấn luyện hoàn chỉnh mô hình học sâu EfficientNet-B0 trên nền tảng PyTorch qua 100 epochs với hàm mất mát CrossEntropyLoss và tối ưu hóa Adam.
  • Triển khai thành công ứng dụng web chẩn đoán từ xa sử dụng Flask framework, kết nối trực tiếp với mô hình học sâu qua API, cho phép tải ảnh X-quang và trả về kết quả phân loại 3 mức độ (Normal, Benign, Cancer) hiển thị rõ ràng trên giao diện máy tính và điện thoại.

Giải pháp và kiến nghị của tác giả

  • Ứng dụng mô hình AI vào quy trình hỗ trợ quyết định lâm sàng nhằm giảm thời gian đọc phim và giảm áp lực công việc cho bác sĩ chẩn đoán hình ảnh.
  • Áp dụng hệ thống web từ xa để rút ngắn khoảng cách chẩn đoán giữa các cơ sở y tế tuyến dưới và bệnh viện tuyến trung ương.

Đóng góp tự nêu của đề tài

  • Ứng dụng kỹ thuật Transfer Learning trên kiến trúc mạng EfficientNet-B0 để giải quyết bài toán phân loại ảnh y tế đơn sắc (Grayscale) mà không cần xây dựng mạng nơ-ron từ đầu.
  • Tích hợp trọn vẹn từ khâu xử lý mô hình AI đến xây dựng ứng dụng web hoàn chỉnh phục vụ mục đích chẩn đoán từ xa.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Dữ liệu nghiên cứu chỉ khai thác từ tập dữ liệu có sẵn Mini-DDSM, chưa được mở rộng kiểm chứng trên các tập dữ liệu lâm sàng thực tế tại các bệnh viện trong nước.
  • Mô hình chỉ được huấn luyện và chạy thử nghiệm trên phần cứng máy tính xách tay cá nhân trang bị card đồ họa NVIDIA GeForce GTX 1650, chưa được tối ưu hóa trên các hệ thống tính toán hiệu năng cao chuyên dụng (như NVIDIA RTX hoặc Tesla).
  • Hệ thống mới dừng lại ở mức độ thử nghiệm học thuật, chưa được tích hợp và kiểm thử trực tiếp trong môi trường khám chữa bệnh lâm sàng.

Hướng nghiên cứu tiếp theo

  • Cải thiện độ chính xác và khả năng khái quát hóa của mô hình bằng cách bổ sung thêm các nguồn dữ liệu đa dạng khác (như VinDR-Mammo, MIAS).
  • Mở rộng phạm vi phân loại sang các dạng tổn thương mô bệnh học khác hoặc các loại bệnh ung thư khác.
  • Nâng cấp hạ tầng tính toán phần cứng để huấn luyện các kiến trúc mạng sâu hơn.
  • Đưa hệ thống vào thử nghiệm thực tế tại các cơ sở y tế để hỗ trợ quy trình sàng lọc lâm sàng.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên, học viên và các nhóm nghiên cứu thuộc các chuyên ngành:

  • Kỹ thuật Điện tử - Viễn thông và Kỹ thuật Y sinh: Tham khảo quy trình xử lý tín hiệu hình ảnh y tế, kỹ thuật chuẩn hóa ảnh nhũ ảnh Grayscale và cấu trúc phân loại tổn thương theo thang đo BI-RADS.
  • Khoa học Dữ liệu và Trí tuệ nhân tạo: Tham khảo phương pháp áp dụng Transfer Learning trên mạng EfficientNet-B0, cách thiết lập siêu tham số và tinh chỉnh lớp phân loại cho bài toán nhận dạng 3 lớp trên PyTorch.
  • Công nghệ phần mềm / Hệ thống nhúng & IoT: Tham khảo mô hình tích hợp mô hình học sâu vào dịch vụ web chẩn đoán từ xa qua API sử dụng Python Flask.

Câu hỏi thường gặp

1. Tập dữ liệu Mini-DDSM được sử dụng trong đề tài có đặc điểm và số lượng ra sao?

Tập dữ liệu Mini-DDSM là tập con được chuyển đổi sang định dạng JPEG từ bộ dữ liệu DDSM, có dung lượng khoảng 45GB. Tập dữ liệu gồm tổng cộng 7.809 ảnh X-quang kỹ thuật số, được phân loại thành 3 nhóm: 2.716 ảnh ung thư ác tính (Cancer - 34,7%), 2.685 ảnh tổn thương lành tính (Benign - 34,4%) và 2.408 ảnh bình thường (Normal - 30,9%).

2. Mô hình EfficientNet-B0 được điều chỉnh lớp ngõ ra như thế nào để phù hợp với bài toán?

Trong đề tài, lớp Fully Connected (FC) ban đầu của mô hình tiền huấn luyện EfficientNet-B0 được thay thế bằng một mạng gồm 2 lớp Dense (Fully Connected) có chèn một lớp kích hoạt phi tuyến ReLU ở giữa, đưa số lượng đầu ra về đúng 3 nơ-ron tương ứng với 3 nhãn: Normal, Benign và Cancer.

3. Quy trình tiền xử lý và biến đổi dữ liệu (Data Transform) áp dụng các bước nào?

Dữ liệu ảnh đầu vào được xử lý qua 3 kỹ thuật chính:

  • Chuyển đổi thành Tensor và chuẩn hóa pixel về đoạn $[0, 1]$ qua Transforms.ToTensor.
  • Định cỡ lại kích thước ảnh về chuẩn $300 \times 300$ pixel qua Transforms.Resize.
  • Lật ảnh ngẫu nhiên theo chiều ngang qua Transforms.RandomHorizontalFlip để tăng cường dữ liệu.

4. Phần cứng và các siêu tham số huấn luyện mô hình được cấu hình như thế nào?

Mô hình được huấn luyện trên laptop trang bị GPU NVIDIA GeForce GTX 1650 (896 nhân CUDA, xung nhịp 1665 MHz). Các siêu tham số gồm: kích thước batch (Batch size) = 32, số chu kỳ huấn luyện (Epochs) = 100, thuật toán tối ưu Adam, tốc độ học (Learning rate) = 0,001 và hàm mất mát CrossEntropyLoss.

5. Ứng dụng chẩn đoán từ xa được xây dựng bằng những công nghệ nào?

Hệ thống sử dụng giao diện người dùng viết bằng HTML/CSS tương thích với cả máy tính và điện thoại. Máy chủ Backend được lập trình bằng Python với framework Flask, thực hiện giao tiếp và truyền nhận dữ liệu với mô hình học sâu PyTorch thông qua API nội bộ để xử lý và hiển thị kết quả chẩn đoán.


Kết luận

Đồ án tốt nghiệp "Phân loại ảnh ung thư vú từ xa sử dụng mạng học sâu" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã giải quyết trọn vẹn bài toán xây dựng mô hình AI nhận diện tổn thương X-quang vú dựa trên kiến trúc EfficientNet-B0 và tập dữ liệu Mini-DDSM. Nghiên cứu đã hoàn thiện hệ thống ứng dụng web kết nối trực tiếp với mô hình học sâu, cho phép tiếp nhận dữ liệu và hỗ trợ chẩn đoán 3 trạng thái bệnh lý từ xa. Mặc dù còn hạn chế về điều kiện phần cứng thử nghiệm và nguồn dữ liệu lâm sàng thực tế, đề tài đã chứng minh tính khả thi kỹ thuật và cung cấp giải pháp tham khảo rõ ràng cho các ứng dụng trí tuệ nhân tạo hỗ trợ y tế.