Giới thiệu dự án

Bối cảnh và thực trạng ngành

U thần kinh đệm (Glioma) là dạng u não nguyên phát phổ biến và nguy hiểm nhất ở hệ thần kinh trung ương. Theo phân loại của Tổ chức Y tế Thế giới (World Health Organization - WHO), u thần kinh đệm được chia thành u cấp độ thấp (Low-Grade Glioma - LGG) và u cấp độ cao (High-Grade Glioma - HGG). Trong đó, gần 60% bệnh nhân trưởng thành mắc HGG – dạng u ác tính có tốc độ xâm lấn nhanh và tỷ lệ tử vong cao.

Chụp cộng hưởng từ (Magnetic Resonance Imaging - MRI) là tiêu chuẩn vàng trong chẩn đoán và lập kế hoạch xạ trị/phẫu thuật thần kinh nhờ khả năng hiển thị độ tương phản mô mềm vượt trội mà không phát xạ ion hóa. Tuy nhiên, việc khoanh vùng thủ công (manual contouring) các cấu trúc khối u phức tạp trên không gian 3D đa chuỗi xung (T1, T1ce, T2, FLAIR) đòi hỏi từ 45–60 phút cho mỗi ca chụp từ các chuyên gia xạ trị thần kinh. Mức độ đồng thuận phân đoạn giữa các bác sĩ chẩn đoán hình ảnh đối với các tiểu vùng phức tạp chỉ đạt đỉnh khoảng 26% (theo báo cáo từ thử thách quốc tế BraTS).

   ┌─────────────────────────────────────────────────────────────┐
   │                    Thách thức lâm sàng                      │
   │  - Tốn thời gian (45-60 phút/ca)                            │
   │  - Biến thiên đánh giá liên chuyên gia (Inter-observer ~26%)│
   │  - Mất cân bằng dữ liệu cực đoan (Voxel u < 1-2% thể tích) │
   └──────────────────────────────┬──────────────────────────────┘
                                  ▼
   ┌─────────────────────────────────────────────────────────────┐
   │                  Giải pháp Đồ án UIT (2024)                 │
   │   Mô hình 3D-UNet + 3D Contextual Transformer (CoT)         │
   │           + Double Attention (DA) Skip Connections          │
   └──────────────────────────────┬──────────────────────────────┘
                                  ▼
   ┌─────────────────────────────────────────────────────────────┐
   │                       Kết quả đạt được                      │
   │  - Dice Score: ET 82.8% | TC 84.6% | WT 89.2%               │
   │  - Tham số giảm 28.7% (1.79M vs 2.51M)                      │
   │  - Tích hợp Module trực quan hóa 3D Slicer cho lâm sàng     │
   └─────────────────────────────────────────────────────────────┘

Vấn đề nghiên cứu cụ thể

  1. Mất cân bằng voxel cực đoan (Severe Class Imbalance): Tổng thể tích khối u chỉ chiếm khoảng 1% đến 2% tổng số voxel của toàn bộ não bộ (nền chiếm > 98%), trong đó tiểu vùng lõi hoại tử (NCR/NET) lại chiếm tỷ lệ rất nhỏ so với vùng phù nề (ED).
  2. Hình thái dị biến và biên giới mơ hồ: Vùng phù nề quanh u (Peritumoral Edema) và lõi khối u có tín hiệu phân tán, ranh giới mờ nhạt giữa các mô lành và mô bệnh học trên từng chuỗi xung.
  3. Giới hạn của mạng tích chập 3D chuẩn (Standard 3D-CNN): Toán tử tích chập cục bộ (local receptive field) không thu nhận được ngữ cảnh không gian tầm xa (long-range dependencies) trên toàn thể tích khối 3D mà không làm bùng nổ số lượng tham số và chi phí bộ nhớ GPU.

Mục tiêu của đồ án

  1. Xây dựng quy trình tiền xử lý 6 bước tiêu chuẩn hóa chuyên sâu cho dữ liệu MRI thể tích 3D đa phương thức.
  2. Thiết kế kiến trúc 3D Contextual Transformer (3D-CoT) nhằm tích hợp khai thác ngữ cảnh tĩnh (static context) qua tích chập 3D lân cận và cơ chế tự chú ý động (dynamic self-attention).
  3. Phát triển cơ chế Double Attention (DA) trên các đường kết nối tắt (skip connections) của mạng 3D U-Net để thu thập và phân phối đặc trưng toàn cục đến bộ giải mã (decoder).
  4. Đánh giá kiểm chuẩn thực nghiệm trên hai bộ dữ liệu benchmark quốc tế BraTS2019 và BraTS2020, chứng minh sự vượt trội qua các chỉ số Dice Similarity Coefficient (DSC) và 95% Hausdorff Distance (HD95).
  5. Triển khai ứng dụng phần mềm thực tế, tích hợp mô hình phân đoạn tự động vào nền tảng mã nguồn mở 3D Slicer phục vụ trực quan hóa 3D hỗ trợ bác sĩ.

Phương pháp tiếp cận và cơ sở khoa học

Nghiên cứu kết hợp mạng nơ-ron tích chập 3D (3D-UNet Backbone) đóng vai trò trích xuất đặc trưng không gian cục bộ với hai module chú ý nâng cao:

  • 3D Contextual Transformer (CoT): Mở rộng kiến trúc CoT từ 2D sang không gian tensor 3D ($H \times W \times D \times C$), mã hóa đồng thời mối liên hệ cục bộ của các khóa lân cận và sự phụ thuộc ngữ cảnh toàn cục.
  • 3D Double Attention (DA): Bố trí tại các đường skip connection, thực hiện gom cụm đặc trưng toàn cầu (feature gathering) thông qua phép gộp song tuyến tính (bilinear pooling) và phân phối lại (feature distribution) vào từng vị trí voxel ở decoder.

Kết quả kỳ vọng và chỉ số đo lường

  • Độ chính xác phân đoạn: Điểm Dice Score trên tập thử nghiệm đạt $\ge 81.0%$ cho Enhancing Tumor (ET), $\ge 84.5%$ cho Tumor Core (TC) và $\ge 89.0%$ cho Whole Tumor (WT).
  • Độ chính xác đường biên: Giảm chỉ số khoảng cách Hausdorff 95% (HD95) xuống dưới mức $5.0\text{ mm}$.
  • Tối ưu hóa mô hình: Giảm dung lượng tham số mạng so với 3D-UNet tiêu chuẩn xuống dưới $2.0\text{ triệu tham số}$ (triệu parameters).

Phạm vi và giới hạn

  • Phạm vi dữ liệu: Tập trung vào các ca quét MRI đa phương thức từ người trưởng thành thuộc tập dữ liệu thử thách BraTS2019 ($n=335$) và BraTS2020 ($n=369$).
  • Giới hạn kỹ thuật: Yêu cầu đầy đủ 4 chuỗi xung đầu vào (T1, T1ce, T2, FLAIR) đã đồng quy chiếu (co-registered). Chưa hỗ trợ xử lý thời gian thực đối với các trường hợp thiếu hụt chuỗi xung (missing modalities).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp Ưu điểm Nhược điểm / Hạn chế Dice Score trung bình (WT / TC / ET)
Machine Learning truyền thống (Random Forest, SVM) Chi phí tính toán thấp, không đòi hỏi phần cứng GPU mạnh. Phụ thuộc vào trích xuất đặc trưng thủ công (hand-crafted features), độ nhạy kém với biên giới u. 65.0% / 58.0% / 52.0%
2D U-Net & Cascade CNN (Jiang et al., ĐH Cần Thơ) Tốc độ suy luận nhanh, nhẹ bộ nhớ GPU. Mất mát hoàn toàn tương quan ngữ cảnh 3D giữa các lát cắt liền kề (inter-slice context). 82.0% / 70.0% / 68.0%
Standard 3D U-Net (Çiçek et al., nnU-Net) Giữ toàn vẹn cấu trúc không gian 3 chiều của thể tích não. Receptive field bị giới hạn cục bộ; kết nối tắt truyền tải cả nhiễu nền sang decoder. 84.7% / 80.1% / 78.3%
Vision Transformer thuần (UNETR, TransUNet) Khả năng nắm bắt tương quan toàn cục mạnh mẽ. Số lượng tham số khổng lồ (> 100M params), đòi hỏi tập dữ liệu tiền huấn luyện cực lớn, tính toán nặng. 88.5% / 82.7% / 81.5%
Đề xuất: 3D-UNet + 3D-CoT + DA (UIT 2024) Kết hợp ngữ cảnh tĩnh/động, chọn lọc đặc trưng tầm xa qua DA, tham số tối ưu (1.79M). Thời gian huấn luyện trên 1 fold tăng gần gấp đôi so với 3D-UNet cơ bản do phép tính ma trận attention. 89.3% / 85.0% / 81.0%

Ma trận yêu cầu hệ thống (MoSCoW)

  • Must Have (Bắt buộc có): Pipeline tiền xử lý 6 bước; Input tensor 4 kênh $(4 \times 128 \times 128 \times 128)$; Module 3D-CoT tại các khối tích chập; Module Double Attention tại Skip Connections; Đầu ra phân đoạn 3 tiểu vùng (WT, TC, ET).
  • Should Have (Nên có): Hàm mất mát kết hợp Softmax Dice Loss và Cross-Entropy Loss; Kỹ thuật suy luận cửa sổ trượt (sliding-window inference); Đo lường song song DSC và HD95.
  • Could Have (Có thể có): Giao diện đồ họa người dùng tích hợp trên 3D Slicer; Trực quan hóa 3D Volume Rendering đa nhãn.
  • Won't Have (Chưa thực hiện ở phiên bản này): Huấn luyện trực tiếp trên thiết bị Edge di động không có GPU chuyên dụng; Tự động điền chuỗi xung MRI bị khuyết thiếu.

Thiết kế hệ thống

graph TB
    subgraph Preprocessing ["Giai đoạn Tiền Xử Lý 6 Bước"]
        A["Ảnh MRI thô 4 chuỗi<br/>(T1, T1ce, T2, FLAIR)<br/>240x240x155"] --> B["1. Cắt thể tích nền (Crop Volumes)"]
        B --> C["2. Ghép đa phương thức (Inter-modality)"]
        C --> D["3. Resampling (1x1x1 mm³)"]
        D --> E["4. Bóc tách sọ não (Skull Stripping)"]
        E --> F["5. Chuẩn hóa Z-Score / Min-Max"]
        F --> G["6. Tái cấu trúc nhãn (WT, TC, ET)"]
    end

    subgraph Architecture ["Kiến Trúc Mạng 3D-UNet + 3D-CoT + DA"]
        G --> H["Tensor đầu vào<br/>(4 x 128 x 128 x 128)"]
        H --> I["Encoder Level 1-4<br/>(Conv3D + 3D-CoT Block)"]
        I --> J["Bottleneck<br/>(512 x 2 x 2 x 2)"]
        I -.->|"Skip Connections"| K["Double Attention (DA) Blocks<br/>(Thu thập & Phân phối đặc trưng)"]
        K -.-> L["Decoder Level 4-1<br/>(ConvTranspose3D + Conv3D)"]
        J --> L
        L --> M["Lớp Output 1x1x1 Conv + Sigmoid"]
    end

    subgraph OutputStage ["Đầu Ra & Ứng Dụng Lâm Sàng"]
        M --> N["Mặt nạ phân đoạn 3D<br/>(3 x 128 x 128 x 128)<br/>ET, TC, WT"]
        N --> O["Tích hợp Plugin 3D Slicer<br/>(Trực quan hóa khối u 3D)"]
    end

Technology Stack và phiên bản chi tiết

  • Ngôn ngữ lập trình: Python 3.10.12
  • Framework Deep Learning: PyTorch 2.1.0+cu118, TorchVision 0.16.0
  • Xử lý ảnh y tế: SimpleITK 2.3.1, Nibabel 5.1.0, MedPy 0.4.0
  • Khoa học dữ liệu: NumPy 1.24.3, SciPy 1.11.4, Scikit-learn 1.3.2
  • Nền tảng trực quan hóa lâm sàng: 3D Slicer 5.6.1
  • Hạ tầng phần cứng: Intel® Xeon® CPU @ 2.00GHz, GPU NVIDIA Tesla P100 16GB VRAM, CUDA 11.8.

Thiết kế biểu diễn dữ liệu và nhãn y sinh

Bộ dữ liệu BraTS chuẩn sử dụng 4 chuỗi xung đầu vào được gán nhãn pixel ban đầu (0: Background, 1: Necrotic/Non-Enhancing Tumor - NCR/NET, 2: Peritumoral Edema - ED, 4: GD-Enhancing Tumor - ET). Mô hình đề xuất tái cấu trúc thành 3 nhãn phân đoạn phục vụ phẫu thuật:

  • Enhancing Tumor (ET - U tăng cường): Nhãn gốc $4$. Thể hiện vùng khối u ngấm thuốc cản quang gadolinium, nơi có mật độ tân sinh mạch máu cao.
  • Tumor Core (TC - Lõi khối u): Hợp nhất nhãn $1 + 4$ (gồm vùng u tăng cường và vùng mô hoại tử trung tâm u).
  • Whole Tumor (WT - Toàn bộ khối u): Hợp nhất nhãn $1 + 2 + 4$ (bao gồm toàn bộ cấu trúc u xâm lấn và vùng phù nề dịch lỏng xung quanh).

Phương pháp luận (Methodology)

Quy trình nghiên cứu tuân theo mô hình lặp thực nghiệm khoa học (Iterative Experimental Research Methodology) gồm 4 mốc quan trọng (Milestones):

  1. Milestone 1 (Tháng 1-2): Thẩm định và tối ưu hóa Pipeline tiền xử lý dữ liệu MRI thể tích trên BraTS2019/BraTS2020.
  2. Milestone 2 (Tháng 3-4): Xây dựng cấu trúc toán học và lập trình các khối module 3D Contextual Transformer và 3D Double Attention trên nền tảng PyTorch.
  3. Milestone 3 (Tháng 4-5): Đào tạo mô hình với cơ chế 3-fold cross validation, thực hiện chuỗi nghiên cứu loại trừ (ablation study) đánh giá đóng góp của từng thành phần.
  4. Milestone 4 (Tháng 6): Kiểm định mô hình, tối ưu hóa kích thước tham số và đóng gói extension cho phần mềm 3D Slicer.

Implementation và kết quả

Quy trình phát triển và chi tiết thuật toán

1. Quy trình tiền xử lý 6 bước (6-Step Preprocessing Pipeline)

  • Bước 1 (Crop Volumes): Loại bỏ không gian nền đen vô ích xung quanh hộp sọ, cắt giảm kích thước ma trận từ $240 \times 240 \times 155$ xuống vùng giới hạn chứa não bộ.
  • Bước 2 (Inter-modality Fusion): Xếp chồng 4 chuỗi xung (T1, T1ce, T2, FLAIR) thành một khối tensor 4 chiều duy nhất.
  • Bước 3 (Resampling): Chuẩn hóa độ phân giải không gian về kích thước đẳng hướng $1\text{ mm} \times 1\text{ mm} \times 1\text{ mm}$.
  • Bước 4 (Skull Stripping): Kiểm tra và loại bỏ hoàn toàn các cấu trúc phi não bộ (màng não, mô mỡ dưới da đầu).
  • Bước 5 (Normalization): Áp dụng chuẩn hóa Z-score trên từng chuỗi xung độc lập: $$\hat{X} = \frac{X - \mu_{brain}}{\sigma_{brain}}$$ nhằm đồng nhất phân phối cường độ sáng và loại bỏ nhiễu biên.
  • Bước 6 (New Labels Generation): Nhóm các voxel thành 3 mặt nạ nhị phân tương ứng với ET, TC, WT. Sau tiền xử lý, dữ liệu đầu vào có kích thước cố định là $(4 \times 128 \times 128 \times 128)$ và nhãn tương ứng là $(3 \times 128 \times 128 \times 128)$.

2. Công thức toán học của các module cốt lõi

Khối 3D Contextual Transformer (3D-CoT): Cho tensor đầu vào $X \in \mathbb{R}^{H \times W \times D \times C}$, các biểu diễn khóa $K$, truy vấn $Q$, và giá trị $V$ được tính qua các phép chiếu tuyến tính:

  • Ngữ cảnh tĩnh lân cận (Static Context): Thu được qua phép tích chập 3D kích thước $k \times k \times k$: $$K_1 = \text{Conv3D}_{k \times k \times k}(K)$$
  • Ma trận chú ý theo ngữ cảnh (Contextual Attention Matrix): $$A = [K_1, Q] W_\theta W_\delta$$ với $[\cdot, \cdot]$ là phép nối kênh, $W_\theta$ và $W_\delta$ là các ma trận trọng số khả học qua hai lớp tích chập $1 \times 1 \times 1$.
  • Ngữ cảnh động (Dynamic Context): $$K_2 = A \otimes V$$
  • Đầu ra tích hợp: $$Y = K_1 + K_2$$

Khối 3D Double Attention (DA): Khối DA áp dụng phép chú ý kép nhằm khai thác tương quan ngữ cảnh toàn cục qua hai bước liên tiếp:

  1. Tập hợp đặc trưng toàn cầu (Feature Gathering): Sử dụng ma trận chú ý $A$ gom cụm đặc trưng từ $V$: $$G = \text{Softmax}(A) \cdot V^T$$
  2. Phân phối đặc trưng (Feature Distribution): Phân bổ các véc-tơ đặc trưng toàn cục $G$ trở lại từng vị trí không gian thông qua ma trận chú ý thứ hai $B$: $$Z = \text{Softmax}(B) \cdot G$$ Kết quả đầu ra được cộng trực tiếp vào luồng tín hiệu skip connection thông qua phép chiếu phần tử (residual element-wise addition).

3. Cài đặt mã nguồn PyTorch đại diện

import torch
import torch.nn as nn
import torch.nn.functional as F

class ContextualTransformer3D(nn.Module):
    """
    3D Contextual Transformer (CoT) Block for Volumetric Medical Image Segmentation.
    Integrates 3D static contextual feature mining and dynamic self-attention learning.
    """
    def __init__(self, in_channels: int, kernel_size: int = 3):
        super(ContextualTransformer3D, self).__init__()
        self.in_channels = in_channels
        self.kernel_size = kernel_size

        # 3D Static context mining via spatial group convolution
        self.static_conv = nn.Sequential(
            nn.Conv3d(in_channels, in_channels, kernel_size=kernel_size, 
                      padding=kernel_size // 2, groups=in_channels, bias=False),
            nn.InstanceNorm3d(in_channels),
            nn.LeakyReLU(negative_slope=0.01, inplace=True)
        )

        # Contextual attention projections
        self.conv_query = nn.Conv3d(in_channels, in_channels, kernel_size=1)
        self.conv_key = nn.Conv3d(in_channels, in_channels, kernel_size=1)
        self.conv_value = nn.Conv3d(in_channels, in_channels, kernel_size=1)

        # Attention weight generation layers
        self.attention_embed = nn.Sequential(
            nn.Conv3d(2 * in_channels, in_channels // 2, kernel_size=1, bias=False),
            nn.InstanceNorm3d(in_channels // 2),
            nn.LeakyReLU(negative_slope=0.01, inplace=True),
            nn.Conv3d(in_channels // 2, in_channels, kernel_size=1, bias=False)
        )

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        # x shape: [B, C, D, H, W]
        static_k1 = self.static_conv(x)  # K1: Static context
        
        q = self.conv_query(x)
        v = self.conv_value(x)
        
        # Concatenate static key and query for attention map learning
        concat_feat = torch.cat([static_k1, q], dim=1)
        attention_map = torch.sigmoid(self.attention_embed(concat_feat))
        
        # Dynamic context computation
        dynamic_k2 = attention_map * v
        
        # Unified contextual representation
        out = static_k1 + dynamic_k2
        return out


class DoubleAttention3D(nn.Module):
    """
    3D Double Attention (DA) Block for Skip Connections.
    Gathers global feature descriptors and distributes them across spatial locations.
    """
    def __init__(self, in_channels: int, c_m: int = 64, c_n: int = 64):
        super(DoubleAttention3D, self).__init__()
        self.c_m = c_m
        self.c_n = c_n
        
        self.conv_a = nn.Conv3d(in_channels, c_m, kernel_size=1)
        self.conv_b = nn.Conv3d(in_channels, c_n, kernel_size=1)
        self.conv_v = nn.Conv3d(in_channels, c_n, kernel_size=1)
        self.proj_out = nn.Conv3d(c_m, in_channels, kernel_size=1)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        B, C, D, H, W = x.shape
        N = D * H * W

        # Compute feature maps A, B, V
        A = self.conv_a(x).view(B, self.c_m, N) # [B, c_m, N]
        B_mat = self.conv_b(x).view(B, self.c_n, N) # [B, c_n, N]
        V = self.conv_v(x).view(B, self.c_n, N) # [B, c_n, N]

        # Step 1: Global descriptor gathering via bilinear pooling
        attention_gather = F.softmax(B_mat, dim=-1) # [B, c_n, N]
        global_descriptors = torch.bmm(V, attention_gather.transpose(1, 2)) # [B, c_n, c_m]

        # Step 2: Global feature distribution
        attention_dist = F.softmax(A, dim=1) # [B, c_m, N]
        distributed_features = torch.bmm(global_descriptors.transpose(1, 2), attention_dist) # [B, c_m, N]
        distributed_features = distributed_features.view(B, self.c_m, D, H, W)

        # Projection and residual connection
        out = self.proj_out(distributed_features) + x
        return out

4. Hàm mất mát tối ưu hóa (Hybrid Loss Function)

Hàm mất mát toàn diện kết hợp Softmax Dice Loss ($\mathcal{L}{\text{Dice}}$) và Multiclass Cross-Entropy Loss ($\mathcal{L}{\text{CE}}$): $$\mathcal{L}{\text{total}}(Y, \hat{Y}) = \alpha \mathcal{L}{\text{Dice}}(Y, \hat{Y}) + (1 - \alpha) \mathcal{L}{\text{CE}}(Y, \hat{Y})$$ với $\alpha = 0.5$, trong đó: $$\mathcal{L}{\text{Dice}} = 1 - \frac{2 \sum_{i=1}^N y_i \hat{y}i + \epsilon}{\sum{i=1}^N y_i^2 + \sum_{i=1}^N \hat{y}_i^2 + \epsilon}$$

Kiểm thử và đánh giá hiệu năng (Testing & Validation)

Quá trình huấn luyện sử dụng thuật toán tối ưu Adam với tốc độ học ban đầu $lr = 3 \times 10^{-4}$, kết hợp bộ lập lịch Cosine Annealing Decay qua 100 epochs, kích thước batch size = 1 với kỹ thuật trích xuất patch $128 \times 128 \times 128$.

1. Kết quả thực nghiệm kiểm chuẩn trên tập dữ liệu BraTS2019 & BraTS2020

Tập dữ liệu Mô hình kiến trúc Tham số (Params) Dice Score ET (%) Dice Score TC (%) Dice Score WT (%) HD95 Trung bình (mm)
BraTS2019 Baseline (3D-UNet) 2.51M 78.3 ± 0.6 80.1 ± 0.5 84.7 ± 0.4 7.7 ± 0.3
BraTS2019 3D-UNet + CoT 2.05M 81.2 ± 0.4 82.8 ± 0.4 87.5 ± 0.3 5.8 ± 0.2
BraTS2019 3D-UNet + DA 2.18M 80.6 ± 0.5 82.1 ± 0.4 86.9 ± 0.3 6.1 ± 0.3
BraTS2019 3D-UNet + CoT + DA (Ours) 1.79M 82.8 ± 0.3 84.6 ± 0.3 89.2 ± 0.2 4.7 ± 0.2
BraTS2020 Baseline (3D-UNet) 2.51M 76.5 ± 0.7 79.8 ± 0.6 85.1 ± 0.5 8.2 ± 0.4
BraTS2020 3D-UNet + CoT + DA (Ours) 1.79M 81.0 ± 0.4 85.0 ± 0.3 89.3 ± 0.2 4.9 ± 0.2

2. Nghiên cứu loại trừ (Ablation Study) và tác động của các chuỗi xung MRI

  • Tác động của Module: Khi tích hợp đồng thời cả CoT và DA, điểm Dice trung bình trên BraTS2019 tăng thêm 4.5% trên nhãn ET, 4.5% trên TC và 4.5% trên WT so với Baseline 3D-UNet, trong khi khoảng cách sai lệch biên giới HD95 giảm mạnh 3.0 mm (từ 7.7 mm xuống 4.7 mm).
  • Đóng góp của các phương thức MRI:
    • FLAIR: Đóng vai trò quyết định trong việc định vị toàn bộ ranh giới u (WT).
    • T1ce: Là nguồn thông tin quan trọng nhất để nhận diện lõi u (TC) và vùng u tăng cường ngấm thuốc (ET).
    • Loại bỏ T1ce dẫn đến việc sụt giảm nghiêm trọng điểm Dice của ET từ 82.8% xuống dưới 55.0%.
   ┌─────────────────────────────────────────────────────────────┐
   │        Hiệu năng phân đoạn theo nhãn u não (BraTS2019)      │
   │                                                             │
   │   Whole Tumor (WT)       ████████████████████ 89.2%         │
   │   Tumor Core (TC)        ██████████████████   84.6%         │
   │   Enhancing Tumor (ET)   █████████████████    82.8%         │
   │                                                             │
   │   Khoảng cách Hausdorff (HD95): 4.7 mm (Giảm 3.0 mm)        │
   │   Số lượng tham số mô hình: 1.79M (Giảm 28.7% vs 2.51M)    │
   └─────────────────────────────────────────────────────────────┘

Đổi mới và đóng góp

1. Đổi mới kỹ thuật mang tính đột phá

  • Mở rộng Contextual Transformer sang 3D Tensor: Khắc phục nhược điểm của các cơ chế Transformer tiêu chuẩn vốn làm phẳng tensor không gian gây mất liên kết voxel lân cận, 3D-CoT tận dụng cả ngữ cảnh tĩnh lân cận 3 chiều và cơ chế tự chú ý tương tác kênh động.
  • Tái cấu trúc Skip Connections bằng Double Attention: Giải quyết triệt để hiện tượng truyền tải đặc trưng dư thừa (semantic gap) giữa Encoder và Decoder trong kiến trúc U-Net truyền thống, giúp mô hình tập trung có chọn lọc vào các vùng tổn thương ác tính.

2. So sánh chuyên sâu với các giải pháp tiên tiến

Tiêu chí 3D-UNet cơ bản (Çiçek et al.) UNETR (Hatamizadeh et al.) TransBTS (Wang et al.) Mô hình đề xuất (UIT 2024)
Cơ chế chính 3D Convolution thuần ViT Transformer Encoder Transformer tại Bottleneck 3D-CoT + Double Attention
Số lượng tham số 2.51M 92.8M 32.9M 1.79M (Tối ưu nhất)
Dung lượng VRAM huấn luyện ~8.5 GB ~15.2 GB ~12.8 GB ~9.2 GB
Dice Score (WT / TC / ET) 84.7% / 80.1% / 78.3% 88.5% / 82.7% / 81.5% 88.9% / 83.8% / 81.9% 89.2% / 84.6% / 82.8%
Độ phức tạp tính toán (FLOPs) Thấp Rất cao Cao Trung bình - Tối ưu

3. Đóng góp khoa học và ứng dụng thực tiễn

  • Bằng chứng thực nghiệm định lượng: Chứng minh mô hình lai CNN-Transformer kích thước nhỏ (1.79M params) hoàn toàn có thể đạt hiệu năng vượt trội hơn các mô hình Transformer thuần kích thước khổng lồ trên bài toán phân đoạn thể tích y tế.
  • Công bố học thuật: Đề tài cung cấp tài liệu kỹ thuật hoàn chỉnh và mã nguồn thử nghiệm cho cộng đồng nghiên cứu Y - Tin học tại Việt Nam, mở rộng tiềm năng hợp tác nghiên cứu đa trung tâm.

Ứng dụng thực tế và triển khai

Tích hợp hệ thống hỗ trợ chẩn đoán 3D Slicer

Mô hình đã được đóng gói thành công dưới dạng một Module Plugin mở rộng cho phần mềm y tế chuyên dụng 3D Slicer:

  1. Giao diện tiếp nhận: Bác sĩ tải trực tiếp các tệp tin chuỗi xung DICOM/NIfTI từ hệ thống PACS bệnh viện.
  2. Quy trình xử lý ngầm (Background Inference Engine): Tự động kích hoạt pipeline tiền xử lý 6 bước, chia patch thể tích và thực thi suy luận bằng mô hình tối ưu PyTorch qua GPU/CPU.
  3. Mô phỏng 3D tương tác (Interactive 3D Volume Rendering): Kết quả phân đoạn được tái tạo dưới dạng không gian 3 chiều với các mã màu trực quan:
    • Màu xanh lá cây: Thể hiện toàn bộ khối u (Whole Tumor - WT).
    • Màu vàng: Thể hiện cấu trúc lõi khối u (Tumor Core - TC).
    • Màu đỏ: Thể hiện nhân u tăng cường sinh mạch (Enhancing Tumor - ET).
   ┌─────────────────────────────────────────────────────────────┐
   │             Luồng tích hợp lâm sàng (PACS & 3D Slicer)      │
   └──────────────────────────────┬──────────────────────────────┘
                                  ▼
      [Hệ thống PACS / DICOM] ──► [Nhập 4 chuỗi xung MRI]
                                  │
                                  ▼
      [Module AI ngầm định]   ──► [Tiền xử lý & Suy luận Patch 3D]
                                  │
                                  ▼
      [3D Slicer GUI]         ──► [Hiển thị 3D: Đỏ (ET), Vàng (TC), Xanh (WT)]
                                  │
                                  ▼
      [Bác sĩ phẫu thuật]     ──► [Lập kế hoạch mổ & Định lượng thể tích u]

Phân tích hiệu quả kinh tế và ROI lâm sàng

  • Tối ưu hóa thời gian chuyên gia: Cắt giảm thời gian phân đoạn từ $50\text{ phút}$ xuống dưới $30\text{ giây}$ mỗi ca bệnh (tăng năng suất làm việc của bác sĩ lên gấp 100 lần trong công tác định lượng thể tích).
  • Hỗ trợ phẫu thuật chính xác: Định vị biên u chính xác với độ lệch bề mặt HD95 chỉ $4.7\text{ mm}$, hạn chế tối đa rủi ro cắt phạm mô lành não bộ và các bó dẫn truyền thần kinh quan trọng.
  • Yêu cầu hạ tầng triển khai:
    • Máy chủ suy luận (Inference Server): 1 GPU NVIDIA RTX 3060 12GB hoặc Tesla T4, 16GB RAM, SSD 100GB.
    • Máy trạm bác sĩ (Client): Cài đặt phần mềm 3D Slicer v5.x trên Windows/Linux/macOS, kết nối mạng nội bộ với Inference Server.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  1. Thời gian huấn luyện tăng: Do các phép tính ma trận trong cơ chế Double Attention và CoT, thời gian huấn luyện 1-fold tăng xấp xỉ gấp đôi so với mạng 3D-UNet cơ bản (từ ~14 giờ lên ~26 giờ trên GPU Tesla P100).
  2. Phụ thuộc chuỗi xung hoàn chỉnh: Hiệu năng mô hình giảm mạnh nếu bệnh nhân thiếu chuỗi xung T1ce hoặc FLAIR do chống chỉ định thuốc cản quang.
  3. Hiện tượng Domain Shift: Chưa được kiểm thử mở rộng trên các dòng máy quét MRI từ các hãng sản xuất khác nhau ngoài tập dữ liệu thử thách BraTS.

Định hướng nghiên cứu tiếp theo

  1. Nghiên cứu Missing-Modality Segmentation: Tích hợp mạng sinh đối kháng (GAN) hoặc bộ mã hóa đa nhánh triệt tiêu phương thức để tự động tổng hợp chuỗi xung bị thiếu.
  2. Tự tiền huấn luyện tự giám sát (Self-Supervised Pretraining): Ứng dụng mô hình Masked Autoencoder 3D (3D-MAE) trên các kho dữ liệu não bộ không gán nhãn quy mô lớn trước khi tinh chỉnh trên BraTS.
  3. Tối ưu hóa thời gian thực (Model Quantization & TensorRT): Lượng tử hóa mô hình sang dạng INT8/FP16 nhằm tăng tốc độ suy luận xuống dưới $5\text{ giây}$ trên các máy trạm y tế phổ thông.

Đối tượng hưởng lợi

  • Sinh viên và học viên cao học: Cung cấp tài liệu tham khảo hoàn chỉnh về cách mở rộng Transformer từ 2D sang 3D cho dữ liệu y khoa thể tích, kỹ thuật tiền xử lý ảnh NIfTI và xây dựng pipeline học sâu chuyên nghiệp.
  • Kỹ sư AI và chuyên viên xử lý ảnh: Tiếp cận mô hình kiến trúc lai CNN-Transformer nhẹ (1.79M params), ứng dụng cơ chế Double Attention cho bài toán phân đoạn không gian 3 chiều.
  • Doanh nghiệp MedTech và bệnh viện: Sở hữu giải pháp tự động hóa quy trình khoanh vùng u não có thể nhúng trực tiếp vào phần mềm lâm sàng 3D Slicer với chi phí phần cứng thấp.
  • Nhà nghiên cứu Y - Tin học: Tiếp cận các số liệu đối sánh thực nghiệm chuẩn xác trên BraTS2019/BraTS2020 và phương pháp xử lý mất cân bằng dữ liệu y sinh.

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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai mô hình trong thực tế là gì?

Để thực thi suy luận (inference), hệ thống chỉ cần 1 card đồ họa chuyên dụng tầm trung có VRAM từ 6GB trở lên (ví dụ: NVIDIA GTX 1660 Ti, RTX 3060 hoặc GPU đám mây Tesla T4) cùng 16GB RAM hệ thống. Quá trình suy luận một ca chụp 3D kích thước $240 \times 240 \times 155$ chỉ mất khoảng 15–25 giây với kỹ thuật cửa số trượt (patch size $128 \times 128 \times 128$).

2. Mô hình xử lý thế nào đối với hiện tượng mất cân bằng dữ liệu thể tích cực đoan?

Hệ thống kết hợp ba cơ chế: (1) Cắt bỏ thể tích nền vô ích (Crop volume) ở bước tiền xử lý; (2) Trích chọn các vùng patch tập trung vào khối u trong quá trình huấn luyện; (3) Sử dụng hàm mất mát Hybrid Softmax Dice Loss kết hợp Cross-Entropy Loss để tối ưu hóa trực tiếp độ trùng khớp giao điểm vùng u thay vì tính bình quân điểm ảnh.

3. Có thể tích hợp mô hình này vào hệ thống PACS/RIS bệnh viện hiện hữu không?

Hoàn toàn có thể. Mô hình đã được kiểm thử tích hợp trên nền tảng y tế nguồn mở 3D Slicer. Plugin có khả năng tiếp nhận trực tiếp định dạng DICOM chuẩn từ hệ thống máy chủ PACS bệnh viện, tự động chuyển đổi sang cấu trúc NIfTI, suy luận nhãn và trả kết quả mặt nạ 3D chuẩn về giao diện PACS cho bác sĩ.

4. Tại sao số lượng tham số của mô hình kết hợp (1.79M) lại nhỏ hơn mô hình cơ bản (2.51M)?

Trong kiến trúc đề xuất, các lớp tích chập chuẩn nhiều kênh ở các tầng sâu được thay thế bằng các khối 3D-CoT và Double Attention. Các khối này sử dụng các phép chiếu tích chập $1 \times 1 \times 1$ và cơ chế gộp song tuyến tính (bilinear pooling) hiệu quả, giúp giảm số lượng kênh đặc trưng không cần thiết mà vẫn bảo toàn khả năng biểu diễn ngữ cảnh không gian tầm xa.

5. Chi phí đầu tư và thời gian hoàn vốn (ROI) khi ứng dụng giải pháp này là bao nhiêu?

Chi phí phần cứng máy trạm phục vụ AI ước tính khoảng 25–35 triệu VNĐ cho mỗi phòng chẩn đoán hình ảnh. Với việc rút ngắn thời gian phân tích từ 50 phút xuống dưới 30 giây mỗi ca, hệ thống giúp mỗi bác sĩ xử lý thêm 15–20 ca chụp phức tạp mỗi ngày, mang lại thời gian hoàn vốn đầu tư công nghệ chỉ trong vòng 2–3 tháng vận hành lâm sàng.


Kết luận

Khóa luận tốt nghiệp của nhóm tác giả Nguyễn Thanh Thiện Quá và Nguyễn Hiếu Nghĩa (Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM, 2024) đã giải quyết trọn vẹn bài toán phân đoạn khối u não đa phương thức trên ảnh chụp cộng hưởng từ MRI. Bằng cách tích hợp sáng tạo 3D Contextual Transformer (3D-CoT)3D Double Attention (DA) vào mạng nền tảng 3D-UNet, nghiên cứu đã thiết lập một bước tiến mới về độ chính xác (Dice Score đạt 89.2% WT, 84.6% TC, 82.8% ET trên BraTS2019) đồng thời cắt giảm 28.7% số lượng tham số mô hình.

Công trình không chỉ mang giá trị học thuật xuất sắc trong lĩnh vực Y - Tin học mà còn hoàn thiện chu trình ứng dụng thực tế thông qua việc đóng gói module tương tác 3D trên nền tảng 3D Slicer phục vụ hỗ trợ bác sĩ chẩn đoán và điều trị.

Quý độc giả, nhà nghiên cứu và các kỹ sư phần mềm y tế quan tâm đến mô hình kiến trúc hoặc mong muốn hợp tác thử nghiệm lâm sàng có thể kết nối với nhóm nghiên cứu tại Khoa Khoa học và Kỹ thuật Thông tin - Trường Đại học Công nghệ Thông tin, ĐHQG TP.HCM để cùng mở rộng phát triển giải pháp.