Curriculum-Driven 3D CT Report Generation via Language-Free Visual Grafting and Zone-Constrained Compression
Organizations: Center for Applied Artificial Intelligence, University of Kentucky, Lexington, KY 40506 USA
Abstract
Automated radiology report generation from 3D computed tomography (CT) volumes is challenging due to extreme sequence lengths, severe class imbalance, and the tendency of large language models (LLMs) to ignore visual tokens in favor of linguistic priors. We present Ker-VLJEPA-3B, a four-phase curriculum learning framework for free-text report generation from thoracic CT volumes. A phased training curriculum progressively adapts a Llama 3.2 3B decoder to ground its output in visual features from a frozen, self-supervised encoder. Our visual backbone (LeJEPA ViT-Large) is trained via self-supervised joint-embedding prediction on unlabeled CTs, without text supervision. Unlike contrastive models (CLIP, BiomedCLIP), this language-free backbone yields modality-pure representations. Vision-language alignment is deferred to the curriculum's bridge and generation phases. This modality-agnostic design can integrate any self-supervised encoder into an LLM without paired text during foundation training. Methodological innovations include: (1) zone-constrained cross-attention compressing slice embeddings into 32 spatially-grounded visual tokens; (2) PCA whitening of anisotropic LLM embeddings; (3) a positive-findings-only strategy eliminating posterior collapse; (4) warm bridge initialization transferring projection weights; and (5) selective cross-attention freezing with elastic weight consolidation to prevent catastrophic forgetting. Evaluated on the CT-RATE benchmark (2,984 validation volumes, 18 classes), Ker-VLJEPA-3B achieves a macro F1 of 0.429, surpassing the state-of-the-art (U-VLM, macro F1 = 0.414) by 3.6%, and reaching 0.448 (+8.2%) with threshold optimization. Ablation studies confirm 56.6% of generation quality derives from patient-specific visual content. Code and weights are available.
Figures & tables
| Metric | Before (3072d) | After (256d) |
|---|---|---|
| Mean pairwise cosine sim. | 0.949 | 0.001 |
| Discriminability ( ) | 1.36 | 16.03 |
| Variance retained | — | 97.3% |
| Run | Best F1 | Epochs to | Outcome |
| collapse | |||
| Baseline | 0.198 | 2 | Never sustained |
| + Cross-attn fix | 0.304 | 1 | Immediate collapse |
| + Vis. dropout | 0.262 | 1 | Faster collapse |
| + LLM visual cls. | 0.259 | 4 | Slight delay |
| + Pos.-findings | 0.427 | none | Sustained 0.40 |
| Ver. | Configuration | Best F1 |
|---|---|---|
| v1 | No freeze, no EWC | 0.297 |
| v2 | Freeze LoRA (3 epochs) | 0.289 |
| v3 | EWC + JEPA + MMD | 0.274 |
| v4 | EWC only | 0.304 |
| v5 | Freeze cross-attn + EWC | 0.418 |
| Method | Macro F1 | Macro Prec | Macro Rec |
|---|---|---|---|
| CT-CLIP [ 2 ] | 0.194 | — | — |
| CT-CHAT [ 3 ] | 0.287 | — | — |
| BTB3D [ 4 ] | 0.354 | — | — |
| U-VLM [ 5 ] | 0.414 | 0.491 | 0.429 |
| Ker-VLJEPA-3B (P3) | 0.422 | 0.380 | 0.517 |
| Ker-VLJEPA-3B (P4) | 0.429 | 0.389 | 0.524 |
| Phase | Type | F1 | Prec | Rec | AUC |
|---|---|---|---|---|---|
| 1 | Cls. | 0.460 | 0.463 | 0.551 | 0.811 |
| 2 | Cls. | 0.465 | 0.490 | 0.532 | 0.816 |
| 3 | Gen. | 0.422 | 0.380 | 0.517 | — |
| 4 | Gen. | 0.429 | 0.389 | 0.524 | — |
| Metric | Cold | Cold + | Warm |
|---|---|---|---|
| Baseline | Better P2 | Bridge | |
| Best F1 | 0.427 (ep16) | 0.424 (ep7) | 0.446 (ep9) |
| Best Precision | 0.391 | 0.366 | 0.437 |
| Epoch 1 F1 | 0.360 | 0.362 | 0.425 |
| Epochs to 0.42 | 5 | 5 | 1 |
| Val. loss floor | 1.130 | 1.069 | 1.056 |
| Class | Prec | Rec | F1 | Support |
|---|---|---|---|---|
| Pleural effusion | 0.574 | 0.789 | 0.664 | 370 |
| Art. wall calcification | 0.642 | 0.660 | 0.651 | 849 |
| Coronary artery calc. | 0.580 | 0.585 | 0.582 | 752 |
| Cardiomegaly | 0.437 | 0.743 | 0.550 | 315 |
| Lung nodule | 0.491 | 0.560 | 0.523 | 1344 |
| Lung opacity | 0.545 | 0.453 | 0.494 | 1173 |
| Stage | Dim | F1 (macro) |
|---|---|---|
| Raw LeJEPA embeddings | 1024 | 0.447 |
| Phase 1 (visual context) | 1024 | 0.459 |
| Phase 1 (norm-matched) | 3072 | 0.488 |
| Phase 2 (norm-matched) | 3072 | 0.495 |
| Phase 3 (norm-matched) | 3072 | 0.495 |
| Phase 4 (norm-matched) | 3072 | 0.495 |
| Condition | P3 F1 | P3 Prec | P4 F1 | P4 Prec |
|---|---|---|---|---|
| Normal | 0.222 | 0.408 | 0.190 | 0.298 |
| Zeroed | 0.096 | 0.114 | 0.104 | 0.146 |
| Random | 0.121 | 0.156 | 0.121 | 0.129 |
| Shuffled | 0.122 | 0.204 | 0.119 | 0.137 |
| Condition | P3 NLL | P4 NLL | ||
|---|---|---|---|---|
| Correct | 1.200 | — | 1.196 | — |
| Zeroed | 1.211 | +0.9% | 1.209 | +1.1% |
| Shuffled | 1.264 | +5.3% | 1.259 | +5.3% |
| Configuration | F1 | vs. Base |
|---|---|---|
| Cross-attn fix only | 0.304 | — |
| + Positive-findings-only | 0.427 | +0.123 |
| + Warm bridge | 0.446 | +0.142 |
| + Phase 4 (freeze xattn + EWC) | 0.429 ∗ | +0.125 |
| ∗ Phase 4 generates raw narrative; direct comparison with | ||
| positive-findings Phase 3 reflects task difference, not regression. | ||