Align, Then Adapt: Few-Shot fMRI Visual Reconstruction For New Subjects
Organizations: Department of Computer Science, University of California, Santa Barbara, USA · Department of Psychological and Brain Sciences, University of California, Santa Barbara, USA
Abstract
Reconstructing visual images from fMRI data is a central but challenging problem in neuroscience. Despite recent progress, current methods fall short when data and computation are limited-precisely the conditions under which this task is most critical. We introduce Adapter Alignment, a staged, architecture-agnostic training procedure for adapting a pre-trained reconstruction model to a new subject with little data. Rather than letting a shared representation space emerge implicitly, lightweight subject-specific adapters are first explicitly aligned to a pre-trained reference subject on a small set of shared calibration images, and the full pipeline is then fine-tuned while preserving this alignment. The resulting representations not only place different subjects in a shared space but also align them semantically. Our results demonstrate significant gains in low-data regimes, improving reconstruction metrics by up to 8%, and pre-diffusion retrieval shows that these gains reflect additional image-specific information in the fMRI embeddings rather than the generative prior. We also propose a coverage-based algorithm to select representative calibration images. Using both techniques together, we surpass baseline models fine-tuned with one hour of data using only 24 minutes of subject-specific data. The procedure is effective across architectures, reference subjects, and datasets, including adapting 3T subjects to a 7T reference.
Figures & tables
| Low-Level | High-Level | |||||||
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 1 Pre-train | 0.345 | 0.346 | 92.80% | 96.88% | 94.40% | 90.02% | 0.692 | 0.399 |
| Baseline FT AVG | 0.258 | 0.339 | 89.64% | 95.05% | 92.63% | 89.64% | 0.717 | 0.427 |
| AAMax FT AVG | 0.259 | 0.337 | 89.20% | 95.16% | 92.68% | 89.49% | 0.713 | 0.423 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 2 FT 1HR Baseline | 0.078 0.010 | 0.264 0.007 | 75.33% 1.62% | 84.18% 1.40% | 74.15% 0.99% | 73.66% 1.3% | 0.862 0.011 | 0.524 0.009 |
| Subject 2 FT Selected 1HR Baseline | 0.097 0.003 | 0.288 0.004 | 78.78% 0.41% | 85.78% 0.69% | 77.13% 0.76% | 76.17% 0.03% | 0.842 0.003 | 0.513 0.005 |
| Subject 2 FT 1HR AAMax | 0.112 0.005 | 0.259 0.025 | 78.75% 1.29% | 88.04% 1.19% | 78.99% 0.97% | 78.28% 0.39% | 0.824 0.003 | 0.513 0.014 |
| Subject 2 FT Selected 1HR AAMax | 0.102 0.003 | 0.267 0.11 | 81.41% 0.27% | 89.55% 0.26% | 80.43% 0.13% | 80.33% 0.01% | 0.823 0.002 | 0.496 0.002 |
| Subject 5 FT 1HR Baseline | 0.082 0.002 | 0.267 0.002 | 75.05% 0.08% | 83.28% 0.27% | 76.04% 1.12% | 76.40% 0.64% | 0.855 0.002 | 0.526 0.006 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| MindAligner (MA) | 0.116 | 0.280 | 82.11% | 88.68% | 81.36% | 79.69% | 0.809 | 0.483 |
| AAMax + IS | 0.118 | 0.285 | 81.78% | 89.61% | 81.49% | 79.55% | 0.810 | 0.491 |
| MA + AAMax + IS | 0.124 | 0.284 | 82.24% | 89.95% | 81.49% | 80.99% | 0.795 | 0.480 |
| Low-Level | High-Level | |||||
| Method | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| NSD Subj1 Pre-train | 92.80% | 96.88% | 94.40% | 90.02% | 0.692 | 0.399 |
| THINGS Subj1 Individual | 68.02% | 72.6% | 58.8% | 64.29% | 0.947 | 0.649 |
| THINGS Subj1 Baseline Fine-Tune | 77.46% | 81.07% | 71.06% | 73.16% | 0.911 | 0.619 |
| THINGS Subj1 AAMax Fine-Tune | 78.27% | 85.55% | 74.10% | 81.37% | 0.902 | 0.595 |
Appendix figures & tables38 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Where alignment acts | Alignment signal | How alignment is trained |
|---|---|---|---|
| Hyperalignment / SRM ( Haxby et al., 2011 ; Chen et al., 2015 ) | Voxel / response space | Shared stimuli | Separate alignment model (no reconstruction) |
| MindEye2 ( Scotti et al., 2024 ) | Shared space after linear adapters | Implicit, via reconstruction losses | Jointly end-to-end; no explicit alignment |
| Ferrante et al. (2024) | Adapter output (reference space) | Shared stimuli | Explicit alignment only; no subsequent end-to-end training |
| MindBridge ( Wang et al., 2024 ) | Subject-invariant shared space | Cyclic reconstruction | Jointly with the reconstruction objective |
| MindAligner ( Dai et al., 2025 ) | Voxel space | Category-level pairs | Explicit voxel-space alignment module |
| Adapter Alignment (ours) | Adapter output (reference space) | Shared or semantically matched calibration images | Explicit alignment, then end-to-end fine-tuning retaining the alignment loss |
| Method | Split | Alex(2) | Alex(5) | Incep | CLIP | Eff |
|---|---|---|---|---|---|---|
| MindEye2 Baseline FT | Standard | 82.94% | 89.68% | 80.36% | 78.74% | 0.814 |
| MindEye2 Baseline FT | Modified | 79.54% | 86.46% | 78.50% | 75.13% | 0.847 |
| MindEye2 AAMax FT | Modified | 81.23% | 88.80% | 82.79% | 79.08% | 0.819 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 5 FT 1HR Baseline | 0.102 | 0.358 | 78.40% | 86.61% | 79.85% | 77.23% | 0.839 | 0.494 |
| Subject 5 FT 1HR AAMax | 0.121 | 0.354 | 80.68% | 88.86% | 85.12% | 81.89% | 0.799 | 0.469 |
| Subject 7 FT 1HR Baseline | 0.103 | 0.356 | 78.50% | 84.70% | 76.81% | 74.02% | 0.858 | 0.506 |
| Subject 7 FT 1HR AAMax | 0.131 | 0.390 | 80.80% | 87.86% | 80.29% | 76.55% | 0.836 | 0.508 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 2 FT 1HR AAMAX linear | 0.110 | 0.277 | 79.70% | 88.61% | 80.35% | 79.88% | 0.815 | 0.486 |
| Subject 2 FT 1HR AAMAX GELU | 0.112 | 0.259 | 78.75% | 88.04% | 78.99% | 78.28% | 0.824 | 0.513 |
| Subject 2 FT 1HR AAMAX ReLU | 0.101 | 0.273 | 80.44% | 88.18% | 78.72% | 78.17% | 0.827 | 0.508 |
| Subject 2 FT 1HR AAMAX 2 linear | 0.107 | 0.268 | 78.28% | 87.12% | 78.78% | 78.62% | 0.827 | 0.504 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 1 FT From Subject 2 1HR Baseline | 0.007 | 0.268 | 75.55% | 84.00% | 75.20% | 74.60% | 0.862 | 0.520 |
| Subject 1 FT From Subject 2 1HR AAMAX | 0.060 | 0.277 | 81.13% | 88.99% | 79.71% | 78.89% | 0.824 | 0.494 |
| Subject 1 FT From Subject 5 1HR Baseline | 0.094 | 0.239 | 71.54% | 80.10% | 73.11% | 74.02% | 0.875 | 0.537 |
| Subject 1 FT From Subject 5 1HR AAMAX | 0.105 | 0.259 | 76.77% | 86.20% | 80.08% | 80.14% | 0.828 | 0.496 |
| Subject 1 FT From Subject 7 1HR Baseline | 0.010 | 0.266 | 74.96% | 81.55% | 71.71% | 73.72% | 0.874 | 0.528 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 5 FT From Subject 2 1HR AAMAX | 0.097 | 0.275 | 77.31% | 86.98% | 81.41% | 80.06% | 0.829 | 0.488 |
| Subject 7 FT From Subject 2 1HR AAMAX | 0.112 | 0.272 | 77.05% | 84.75% | 78.39% | 76.95% | 0.843 | 0.502 |
| Subject 2 FT From Subject 5 1HR AAMAX | 0.092 | 0.264 | 76.74% | 86.27% | 78.80% | 78.24% | 0.823 | 0.489 |
| Subject 7 FT From Subject 5 1HR AAMAX | 0.093 | 0.252 | 76.49% | 85.31% | 79.21% | 77.99% | 0.834 | 0.504 |
| Subject 2 FT From Subject 7 1HR AAMAX | 0.098 | 0.264 | 75.73% | 84.33% | 77.69% | 77.36% | 0.838 | 0.494 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Pre-train Subjects 1+2 FT Subject 5 1HR AAMAX | 0.102 | 0.263 | 78.79% | 88.45% | 81.08% | 81.41% | 0.804 | 0.495 |
| Pre-train Subject 1 FT Subject 5 1HR AAMAX | 0.105 | 0.278 | 79.90% | 88.68% | 80.63% | 82.20% | 0.808 | 0.493 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Random Selection | 0.112 | 0.259 | 78.75% | 88.04% | 78.99% | 78.28% | 0.824 | 0.513 |
| 10 EV Dimensions | 0.114 | 0.303 | 78.99% | 86.53% | 77.30% | 75.23% | 0.850 | 0.541 |
| 20 EV Dimensions | 0.102 | 0.267 | 81.41% | 89.55% | 80.43% | 80.33% | 0.823 | 0.496 |
| 30 EV Dimensions | 0.112 | 0.275 | 79.60% | 88.03% | 78.58% | 76.89% | 0.850 | 0.537 |
| 40 EV Dimensions | 0.118 | 0.285 | 81.78% | 89.61% | 81.49% | 79.55% | 0.810 | 0.491 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Ours | 0.118 | 0.285 | 81.78% | 89.61% | 81.49% | 79.55% | 0.810 | 0.491 |
| K-Means | 0.110 | 0.281 | 82.40% | 89.14% | 80.51% | 80.26% | 0.815 | 0.490 |
| K-Center Greedy | 0.114 | 0.271 | 81.93% | 89.54% | 80.10% | 79.35% | 0.817 | 0.489 |
| DPP Diversity | 0.115 | 0.270 | 80.80% | 89.22% | 80.21% | 78.66% | 0.820 | 0.493 |
| CLIP K-Center | 0.112 | 0.290 | 81.15% | 88.73% | 78.56% | 79.92% | 0.831 | 0.499 |
| Ours | K-Center | K-Means | DPP | CLIP K-Center | |
|---|---|---|---|---|---|
| Ours | 250 (100.0%) | 73 (29.2%) | 74 (29.6%) | 65 (26.0%) | 58 (23.2%) |
| K-Center | 73 (29.2%) | 250 (100.0%) | 43 (17.2%) | 131 (52.4%) | 77 (30.8%) |
| K-Means | 74 (29.6%) | 43 (17.2%) | 250 (100.0%) | 43 (17.2%) | 60 (24.0%) |
| DPP | 65 (26.0%) | 131 (52.4%) | 43 (17.2%) | 250 (100.0%) | 64 (25.6%) |
| CLIP K-Center | 58 (23.2%) | 77 (30.8%) | 60 (24.0%) | 64 (25.6%) | 250 (100.0%) |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| AAMAX | 0.112 | 0.259 | 78.75% | 88.04% | 78.99% | 78.28% | 0.824 | 0.513 |
| AA Step 1 only | 0.008 | 0.240 | 77.14% | 87.04% | 77.00% | 75.43% | 0.857 | 0.510 |
| End-to-End with MSE+Prior+CLIP Loss (MLP Frozen) | 0.007 | 0.238 | 76.40% | 86.42% | 77.72% | 75.04% | 0.852 | 0.507 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 1 FT 1HR Baseline E1 | 0.031 | 0.234 | 58.31% | 62.56% | 58.51% | 58.71% | 0.947 | 0.611 |
| Subject 1 FT 1HR AAMAX E1 | 0.095 | 0.254 | 77.20% | 85.98% | 78.80% | 79.39% | 0.833 | 0.503 |
| Subject 1 FT 1HR Baseline E160 | 0.094 | 0.239 | 71.54% | 80.10% | 73.11% | 74.02% | 0.875 | 0.537 |
| Subject 1 FT 1HR AAMAX E160 | 0.105 | 0.259 | 76.77% | 86.20% | 80.08% | 80.14% | 0.828 | 0.496 |
| Subject 1 FT 2HR Baseline E1 | 0.049 | 0.242 | 62.41% | 68.06% | 62.64% | 64.80% | 0.925 | 0.583 |
| Metric | Baseline | AAMax |
|---|---|---|
| Paired cosine (95% CI) | 0.366 [0.360, 0.373] | 0.576 [0.569, 0.582] |
| Paired MSE | 8.42 | 6.30 |
| kNN consistency @50 | 0.339 | 0.427 |
| Subject 1 2 identification, top-1 / top-5 | 50.80% / 76.27% | 92.40% / 98.93% |
| Subject 2 1 identification, top-1 / top-5 | 49.47% / 78.13% | 87.73% / 97.47% |
| Region | Baseline | AAMax | ||
|---|---|---|---|---|
| pRF areas | All pRF voxels | 0.344 | 0.505 | +0.160 |
| V1 | 0.286 | 0.394 | +0.108 | |
| V2 | 0.241 | 0.335 | +0.094 | |
| V3 | 0.186 | 0.266 | +0.080 | |
| hV4 | 0.171 | 0.250 | +0.079 | |
| Eccentricity | 0.102 | 0.180 | +0.078 |
| Subregion | Baseline | AAMax | [95% CI] |
|---|---|---|---|
| OFA | 0.121 | 0.133 | +0.011 [0.006, 0.016] |
| FFA-1 | 0.120 | 0.186 | +0.066 [0.061, 0.070] |
| FFA-2 | 0.156 | 0.236 | +0.079 [0.074, 0.086] |
| OPA | 0.099 | 0.173 | +0.074 [0.069, 0.080] |
| PPA | 0.292 | 0.359 | +0.068 [0.064, 0.072] |
| EBA | 0.271 | 0.395 | +0.124 [0.118, 0.130] |
| Region removed | Baseline | AAMax | |
|---|---|---|---|
| pRF | V1 | 0.020 | 0.026 |
| V2 | 0.011 | 0.018 | |
| V3 | 0.008 | 0.019 | |
| hV4 | 0.005 | 0.010 | |
| All pRF voxels | 0.029 | 0.056 | |
| fLOC | Faces | 0.006 | 0.011 |
| 1,000-way (T1 / T5 / T10) | 300-way (top-1) | ||||
|---|---|---|---|---|---|
| Model | Training | Image retrieval | Brain retrieval | Image retrieval | Brain retrieval |
| MindEye1 | Baseline | 21.7 / 45.2 / 55.1 | 25.4 / 50.1 / 61.7 | 34.78 0.76 | 39.24 0.99 |
| MindEye1 | AAMax | 29.0 / 55.9 / 66.6 | 36.1 / 64.8 / 74.2 | 44.20 0.80 | 52.08 0.92 |
| MindEye2 | Baseline | 33.2 / 63.8 / 75.0 | 39.8 / 70.0 / 80.2 | 50.87 0.88 | 56.18 1.23 |
| MindEye2 | AAMax | 39.6 / 69.6 / 78.6 | 45.1 / 75.2 / 85.5 | 56.60 0.79 | 63.00 0.74 |
| Dimension 1 | Animals (giraffes, zebras, and elephants), nature, and outdoor scenes |
|---|---|
| Dimension 2 | Cats and food |
| Dimension 3 | Kite flying, airplanes, and flying objects |
| Dimension 4 | Surfing, water sports, beach, and ocean scenes |
| Dimension 5 | Airplanes, flying objects, outdoor activities and events, transportation scenes |
| Training Method | Adapter Alignment (Total Time) | End-to-End Fine-tuning | Total Time to Train | |
|---|---|---|---|---|
| Time per Epoch | Total Time (160 epochs) | |||
| Baseline | - | 221.40 seconds | 590.40 minutes | 590.40 minutes |
| AAMax | 67 seconds | 223.61 seconds | 596.29 minutes | 597.41 minutes |
| Architecture | Subject adapters | Shared voxel-to-CLIP | Diffusion prior | Total |
|---|---|---|---|---|
| MindEye1 | 122,912,768 | 883,162,112 | 56,056,564 | 1,062,131,444 |
| MindEye2 | 122,896,384 | 1,903,020,028 | 259,866,596 | 2,285,783,008 |
| Low-Level | High-Level | |||||||
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| B5k Subj1 Pre-train | 0.041 | 0.211 | 65.71% | 76.87% | 66.24% | 74.77% | 0.928 | 0.612 |
| FT B5k Subj2 on B5k Subj1 | 0.047 | 0.247 | 60.53% | 66.23% | 60.06% | 64.63% | 0.952 | 0.631 |
| FT B5k Subj2 on NSD Subj1 | 0.053 | 0.252 | 63.32% | 69.13% | 59.75% | 66.07% | 0.948 | 0.634 |
| FT NSD Subj2 on B5k Subj1 | 0.115 | 0.289 | 79.76% | 86.73% | 79.57% | 79.88% | 0.825 | 0.499 |
| FT NSD Subj2 on NSD Subj1 | 0.114 | 0.270 | 83.70% | 91.76% | 83.71% | 82.00% | 0.789 | 0.469 |
| Low-Level | High-Level | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Baseline | 0.078 | 0.264 | 75.33% | 84.18% | 74.15% | 73.66% | 0.862 | 0.524 |
| AAMax, approximate pairs | 0.086 | 0.275 | 78.11% | 85.74% | 74.79% | 75.29% | 0.843 | 0.518 |
| AAMax, exact pairs | 0.112 | 0.259 | 78.75% | 88.04% | 78.99% | 78.28% | 0.824 | 0.513 |
| Low-Level | High-Level | |||||||
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| Subject 1 Pre-train | 0.345 | 0.346 | 92.80% | 96.88% | 94.40% | 90.02% | 0.692 | 0.399 |
| Baseline FT AVG | 0.258 0.03 | 0.339 0.005 | 89.64% 1.8% | 95.05% 0.87% | 92.63% 1.62% | 89.64% 1.55% | 0.717 0.017 | 0.427 0.01 |
| AAMax FT AVG | 0.259 0.03 | 0.337 0.00 | 89.20% 2.27% | 95.16% 1.03% | 92.68% 1.69% | 89.49% 1.25% | 0.713 0.02 | 0.423 0.02 |
| Low-Level | High-Level | |||||||
| Method | PixCorr | SSIM | Alex(2) | Alex(5) | Incep | CLIP | Eff | SwAV |
| MindEye1 | ||||||||
| Baseline | 0.078 | 0.264 | 75.33% | 84.18% | 74.15% | 73.66% | 0.862 | 0.524 |
| AAMax | 0.112 | 0.259 | 78.75% | 88.04% | 78.99% | 78.28% | 0.824 | 0.513 |
| MindEye2 | ||||||||
| Baseline | 0.104 | 0.354 | 81.71% | 88.06% | 78.84% | 74.15% | 0.845 | 0.499 |