DeepCAN-SEG-PosEnc-T1-CanonAug
Canine Brain MRI 9-Class Segmentation — T1 + Canon-robust domain randomization
⚠️ Research / preview checkpoint. Trained with simulated Canon-style degradation on SKY (GE-family) T1 data — no real Canon-labeled data. See Known limitations before clinical routing.
A T1-weighted, Canon-robust adaptation of hwonheo/DeepCAN-SEG-PosEnc
(shared T2-trained base). LoRA (rank 16, α 32) on Conv3d layers, trained with
canon_aug intensity domain randomization (applied to the intensity channel
only — the xyz position-encoding channels are never degraded). Adapters are
merged into the base weights, so this is a standard LRSegmentationMultiClassUNet
loaded exactly like the base model (drop-in).
Classes (9, L/R separated)
0 Background · 1/5 Lateral Ventricle L/R · 2/6 Gray Matter L/R ·
3/7 White Matter L/R · 4/8 Cerebellum L/R
Input is 4-channel: image intensity + normalized x/y/z position encoding. Models
expect the RPS orientation / 0.5 mm grid layout.
Domain randomization (canon_aug)
To mimic thick-slice, low-contrast Canon (Vantage Elan) clinical scans without any
Canon labels, the intensity channel is degraded during training: anisotropic
through-plane Gaussian blur (σ_z 1–3), GM-WM contrast gamma (0.6–1.6), mild bias
field, and Gaussian noise. Validation uses a deterministic degradation
(σ_z=2.0, γ=1.3) so val_dice and early-stopping track Canon-restoration.
Performance
val_dice 0.6565 on the Canon-degraded validation set (early-stopped @ epoch 74).
On the real Canon "달래" AX T1WI case, canon_aug restores near-normal symmetry
vs the plain T1 model:
| metric | plain T1 | T1 + CanonAug |
|---|---|---|
| Hemisphere asymmetry | 32.4% | 13.0% |
| Cerebral-cortex asymmetry | 45.3% | 13.9% |
| White-matter asymmetry | 20.3% | 8.5% |
Training
| Base | DeepCAN-SEG-PosEnc (T2) |
| Method | LoRA (r=16, α=32) on all Conv3d + canon_aug, base frozen, adapters merged at export |
| Data | 30 T1 HR subjects → balanced 64³ patches @ 0.5 mm |
| Optimizer | AdamW, LR 2e-4, weight decay 1e-5 |
| Schedule | cosine, 200 epochs (early-stopped @ 74) |
| Loss | MultiClass Dice + CE (dice_weight 0.7) |
| W&B | https://wandb.ai/heohwon/DeepCAN-SegSR-public/runs/la5fb6qx |
Usage
from huggingface_hub import snapshot_download
snapshot_download(repo_id="hwonheo/DeepCAN-SEG-PosEnc-T1-CA",
local_dir="src/checkpoint/DeepCAN-SEG-PosEnc-T1-CanonAug-LoRA")
from src.inference.models.segmentation_inferencer import SegmentationInferencer
seg = SegmentationInferencer(
checkpoint_path="src/checkpoint/DeepCAN-SEG-PosEnc-T1-CanonAug-LoRA/DeepCAN-SEG-PosEnc-T1-CanonAug-LoRA.pth",
device="cuda")
Known limitations
- Trained on GE-family (SKY) T1 with simulated Canon degradation, not real Canon anatomy — domain randomization narrows but does not fully close the gap.
- Smaller T1 corpus (30 subjects) than the T2 base; Ventricle is the weakest class.
License
Research use only — see LICENSE. Contact: Hwon Heo, PhD (heohwon@gmail.com), BMC lab, Asan Medical Center.
- Downloads last month
- -