Voriacare · Edge Cardiac-CT

So sánh kiến trúc segmentation 3D — họ nnU-Net & lân cận

Chọn backbone cho ROI pericardium: cân bằng độ chính xáctriển khai edge (ONNX→TensorRT)
📅 2026-07-10 🎯 Task: segmentation 3D 1 lớp (pericardium ROI) 📄 Trạng thái Thuật toán 🖼 Gallery 🔧 Pipeline

Pipeline hiện dùng nnU-Net để định vị ROI pericardium (rồi phép tính HU deterministic ra EAT). Trang này so sánh các CNN/segmentation-3D có thể thay thế được, theo hai trục: độ chính xác (benchmark công khai) và khả năng triển khai edge (export TensorRT, tốc độ/RAM trên Jetson/GB10, độ bền trên nhãn silver ít/nhiễu).

Kết luận đặt lên đầu (trung thực): với nhiệm vụ hiện tại — học lại một ROI hull proxy — kiến trúc KHÔNG phải nút thắt. Mọi 3D U-Net mạnh đều hội tụ về Dice ~0.96–0.97 vì tất cả cùng học đúng một nhãn silver (và cùng thừa hưởng sai lệch over-inclusion của nó). Đổi kiến trúc không cải thiện EAT lâm sàng — chỉ gold label mới làm được. Vì vậy khi chọn backbone, hãy tối ưu triển khai (tốc độ, export, độ bền), đừng chạy theo SOTA Dice.

1Tiêu chí so sánh

TrụcTiêu chíVì sao quan trọng ở đây
Độ chính xácDice/benchmark 3D (BTCV, AMOS, MSD, BraTS)Chỉ mang tính tương đối — task này bị chặn bởi nhãn, không phải model
Độ bền trên nhãn ít / nhiễu (silver)Ta chỉ có silver label; model data-hungry sẽ overfit/nhiễu
Triển khai edgeExport ONNX → TensorRTMục tiêu chạy on-device (Jetson); transformer thường vướng op attention
Tốc độ / RAM inferenceEdge có giới hạn; ảnh hưởng thời gian/ca
Tích hợp & self-confignnU-Net tự cấu hình; tái dùng được preprocess + pipeline TRT sẵn có

2Bảng so sánh

Độ chính xác (benchmark công khai, tương đối): A+SOTA Arất mạnh A−/B+tốt Bcơ bản  ·  TRT: Dễ / Vừa / Khó
Kiến trúcLoạiChính xácParams* Tốc độ edgeTRT exportBền silver/ít dataSelf-configGhi chú
nnU-Net 3d_fullresCNN U-NetA~30M Trung bìnhDễTốt✅ Auto Đang dùng. Baseline SOTA thực chiến; đã verify TRT FP16 (Jetson)
nnU-Net 3d_lowresCNN U-NetA~30M Nhanh (~3×)DễTốt✅ Auto Volume nhỏ ~8× → inference nhanh, Dice tương đương/hơn. Ứng viên edge tốt nhất trong họ
SegResNet (MONAI)CNN ResNet-encA−~4–20M NhanhDễTốt⚙ MONAI Nhẹ, op thuần CNN → TRT mượt. Ứng viên edge gọn nhẹ; kém nnU-Net chút về biên
MedNeXtConvNeXt-U-NetA+~10–60M Chậm hơnVừaTốt✅ (nnU-Net FW) Thường > nnU-Net về Dice. Chạy TRONG framework nnU-Net → drop-in. Depthwise/GRN op TRT OK phần lớn
STU-NetCNN U-Net (scalable)A+14M–1.4B Tùy biếnDễRất tốt✅ (nnU-Net FW) Pretrained trên TotalSegmentator → transfer learning; biến thể S/B nhẹ cho edge. Thuần CNN → TRT dễ
Attention U-NetCNN + attn-gateA−~30M Trung bìnhDễTốt Attention-gate (không phải self-attention) → TRT OK. Lợi ích biên nhỏ so nnU-Net
UNet++ CNN nestedA−~9–35M Chậm hơnVừaTốt Dense skip + deep supervision; nặng bộ nhớ hơn, lợi ích không rõ trên task 1 lớp
V-Net / 3D U-NetCNN cổ điểnB+~10–45M Nhanh–TBDễTốt✖ thủ công Đơn giản, dễ export. nnU-Net thực chất là bản "auto + tuned" của chúng → không có lý do quay lại
UNETRViT-enc + CNN-decA−~92M Chậm/nặngKhóKém⚙ MONAI ViT cần nhiều data; self-attention → TRT cần opset/plugin. Overkill cho ROI proxy
Swin UNETRSwin-TransformerA+~62M Chậm/nặngKhóTB⚙ MONAI Trần benchmark cao (BTCV/BraTS) nhưng window-attention + roll → TRT vướng (cần plugin). Có pretrain
nnFormerHybrid CNN-TransformerA~150M Chậm/nặngKhóTB Mạnh trên benchmark, rất nặng; export + edge đều khó. Không hợp on-device
TotalSegmentator= nnU-Net (bên dưới)A~30M Trung bìnhDễTốt Đang dùng để sinh silver label (segment tim). Chính là nnU-Net đóng gói sẵn model

*Params là khoảng điển hình theo cấu hình; thay đổi theo patch size / số kênh. Cột "Chính xác" là tương đối theo benchmark công khai (không phải đo trên task pericardium này).

3Ba nhóm — nên nghĩ theo họ, không theo từng model

① CNN U-Net thuần edge-friendly

nnU-Net, SegResNet, V-Net, 3D U-Net, Attention U-Net

  • Workhorse. Op thuần convolution → ONNX/TensorRT mượt, có sẵn kernel.
  • Bền trên data ít / nhãn silver; ít overfit.
  • Nhanh, RAM thấp — hợp on-device.
  • Lựa chọn mặc định cho edge.

② ConvNeXt / Scalable CNN trần cao hơn

MedNeXt, STU-Net

  • Vẫn chủ yếu op CNN → TRT vẫn khả thi.
  • Dice thường > nnU-Net vài điểm trên benchmark.
  • STU-Net có pretrain trên TotalSegmentator → transfer, hợp khi ít nhãn.
  • Chạy trong framework nnU-Net → drop-in, tái dùng preprocess của ta.

③ Transformer / Hybrid trần cao, khó edge

UNETR, Swin UNETR, nnFormer

4Khuyến nghị cho pipeline này

Mục tiêuChọnLý do
Giữ ổn định, đã verifynnU-Net 3d_fullres/lowres (hiện tại)Đã tích hợp + TRT-verified; đủ tốt để thay hull ở inference
Nhanh nhất trên edgennU-Net 3d_lowres hoặc SegResNetVolume nhỏ / model nhẹ; op CNN → TRT mượt
Nhích độ chính xác, vẫn export dễMedNeXt-S hoặc STU-Net-S/BDrop-in trong nnU-Net FW; STU-Net thêm transfer từ TotalSegmentator
Chạy theo SOTA DiceSwin UNETR (thận trọng)Chỉ khi đã có gold label + data lớn; chấp nhận TRT khó + nặng
Cải thiện EAT lâm sàng thậtGold pericardium label, không phải đổi kiến trúcNút thắt là nhãn (over-inclusion 1.6×), mọi model đều học lại sai lệch này
A/B test rẻ trên đúng setup này: MedNeXt và STU-Net chạy trong framework nnU-Net — chỉ đổi -tr (trainer) / plans, tái dùng nguyên bộ preprocessed .b2nd + đường export ONNX→TRT đã có. Nên có thể so sánh trực tiếp với nnU-Net baseline trên chính cohort 1000 ca này mà gần như không đổi pipeline. SegResNet/UNETR/Swin-UNETR thì qua MONAI (khác pipeline hơn).

5Giới hạn của bảng này (trung thực)