BodyCompLab / 论文导读

这篇论文在讲什么

面向计算机专业学生的导读。读完这一页,你应该能回答三个问题:这篇论文的问题是什么、创新点究竟新在哪里、它能投到什么档次的期刊。

BodyCompLab · 对应定稿 tag paper1-v1.5.2 · 本页所有数字取自仓库 docs/results/ 下的归档 JSON,可按手稿附录 A 的字段路径逐条核验

本页的一处结构变更(2026-11-01)

这个项目原本在推两篇论文。2026-11-01 的可行性评估判定第二篇不足以独立成文——它原定的核心物理假说被自己的实验数据否掉了——于是把其中真正站得住的三项增量并入第一篇,成为现在的第 7 节。所以现在只有一篇论文,而 7.5 完整记录了那个「判死一篇论文」的过程。如果你只打算读一段,读那一段。

30 秒速览

医学图像分割领域用 Dice 当损失函数、也用 Dice 选模型。这篇论文证明:对于又薄又碎的解剖结构(腹部 CT 里 1~2 mm 的肌间脂肪、脑血管 CTA 里的细交通支),两个 Dice 几乎一模一样的模型,测出来的体积能差 18%~45%——而体积才是临床真正在用的那个数。

全文沿一条线索展开:同一个几何量 S/V(表面体素占比)把三条失真通道串起来,每条通道都配一个修法或一个检出量:

  • 机制一(生产侧 · 训练):训练停在高学习率 → 跨 seed 体积发散。修法:尾段权重平均(Tail SWA),+4% 算力,消除约 70%。
  • 机制二(生产侧 · 导出):后处理重采样顺序 → 凹脊截断侵蚀。修法:Argmax 先行导出,零成本,消除 75%~94%。
  • 机制三(消费侧 · 输入):图像本身的剂量/重建/层厚退化 → 噪声膨胀与层厚收缩在总体积上虚假对消。检出量:空间翻转比 STR,不需要真值。

两个修法都不需要重训网络。证据在私有 159 例单次封存盲测与公开 TopCoW 2024 脑血管 CTA 20 例封存盲测上双重复现,并给出 Bland–Altman LOA 与 ICC(2,1) 完整一致性矩阵。

怎么读这一页

如果你是计算机背景、医学影像零基础,建议顺序:

0. 医学背景速成(零基础必读)

这一节给没有医学背景的读者。读完它,后面所有术语你都不用再查。如果你已经做过医学影像,直接跳到第 1 节。

0.1 CT 和 HU:为什么医学影像里「阈值法」能活到今天

一次 CT 扫描的产物是一摞横断面灰度图,堆起来就是一个 3D 体数据(通常存成 NIfTI 或 DICOM)。每个体素存一个标量,表示该点对 X 射线的线性衰减系数,并按一个绝对物理标度标定——这就是 Hounsfield Unit(HU):

−1000−190 −300 +55+100 +1000 脂肪窗 [−190, −30] IMAT / SAT / VAT 都在这里 肌肉 实测 +55.24 ± 5.84 空气 水 致密骨 HU 是有绝对标度的物理量——这是医学影像与自然图像最根本的区别:自然图像的像素值没有物理含义,所以没人对它做阈值分割。
HU 刻度。脂肪的 [−190, −30] HU 这个区间是放射学几十年的惯例,第 7 节的「纯阈值估计量」就是直接按它切体素。

这解释了一个 CS 学生会觉得奇怪的事:为什么 2026 年了还有人用固定阈值做分割?因为在 CT 里阈值确实有物理依据——它不是在猜,是在读一个标定过的测量值。本项目实测也证实了这点:在干净的高质量 CT 上,纯 HU 规则与参考标注的相对体积偏差只有 −1.34%。问题只出在图像退化的时候(第 7 节的全部内容)。

0.2 体素、间距与各向异性:所有重采样麻烦的根源

体素是 3D 的像素,但它几乎从来不是立方体。本项目内部队列的原生体素是 1.25 × 0.73 × 0.73 mm:

三个方向分辨率不同,叫各向异性(anisotropic)。深度网络需要统一的输入网格,所以 nnU-Net 会把所有病例重采样到一个共同间距,推理完再采样回各自的原生网格——本文的机制二就出在这个「回去」的路上。

部分容积效应(PVE)——记住这个词

当一个体素正好跨在两种组织的交界上,它记录的是两者的加权平均衰减值。对一个只有 1~2 mm 厚的脂肪薄片,在 5 mm 层厚下它会和上下的肌肉平均到一起,HU 从 −60 被「稀释」到 −54 甚至更高,越过 −30 的边界后就不再被算作脂肪。这就是第 7 节里层厚加厚导致 IMAT 系统性萎缩 −14.46% 的物理机制,而且它不可逆——信息在采样时就丢了,任何算法都补不回来(香农采样定理)。

0.3 腹部体成分:四类组织,以及医生为什么在乎

在腰椎 L1–L5 水平的横断面上,把身体成分分成几类并测各自体积,叫体成分分析(body composition analysis)。

组织是什么临床为什么重要
Muscle
骨骼肌
腹壁肌与腰大肌等,大块实心结构肌肉总量反映生理储备。肌少症(sarcopenia)= 肌肉量与功能下降,与化疗耐受性、术后并发症、总生存期强相关
SAT
皮下脂肪
皮下那一圈连续脂肪层代谢上相对「惰性」,常作为对照基线
VAT
内脏脂肪
腹腔内脏器之间的脂肪,形状不规则代谢活性高,与胰岛素抵抗、心血管风险相关
IMAT
肌间脂肪
肌束筋膜之间的脂肪薄片,厚度仅 1~2 mm,在图上是穿插在肌肉里的细条纹肌肉脂质异位沉积(myosteatosis)的直接量度。IMAT 升高意味着肌肉「质量」变差(不只是量少),是独立于总体脂率的恶性预后标志物
Bone
骨
椎体与骨盆骨皮质本项目中主要作为低 S/V 对照组织

IMAT 就是全文的主角,原因在于它的形态:又薄、又碎、表面积占比极高。它在临床上重要(有预后价值)、在技术上又最脆弱(S/V = 51.2%),这个组合正是整个项目成立的前提。

补充一个口径差异:临床传统上常只在 L3 单层上测横截面积(cm²),因为人工勾画一层就够累了;而深度学习可以做整卷 3D 体积(cm³)。这个「2D 单层 vs 3D 整卷」的口径分歧,正是 7.2 要回答的问题之一。

0.4 脑底动脉环:外部验证数据集讲的是什么

本文的外部复现用的是 TopCoW 2024 数据集,模态是 CTA(CT angiography,打了碘造影剂的 CT,血管因此变得很亮)。标注目标是脑底动脉环(Circle of Willis)——颅底一个环状的血管吻合结构。

① 大动脉主干S/V 46.0% ② MCA 大脑中动脉S/V 65.5% ③ ACA / PCAS/V 71.0% ④ 极细交通支 S/V 80.6% ACom / PCom 直径常 ≈ 1 mm, 接近体素尺寸本身 按管径递增排成一条连续的 S/V 几何梯度 —— 这正是内部 IMAT 所缺的「同一数据集内的多级分层」。
脑底动脉环的四个口径分层(示意,非解剖精确图)。红色的交通支是左右/前后循环之间的「备用通路」:一侧血管堵塞时,侧支循环能否代偿,很大程度取决于这几根细管是否通畅、口径多大。所以它的容积是有临床意义的终点,而不只是一个难分割的目标。

选这个数据集做外部验证非常关键,因为它同时换掉了四样东西:器官(腹部→颅内)、模态(平扫/增强 CT→CTA)、标注来源(教师模型→人类专家)、拓扑(二维薄片→三维分叉管网)。而且它自带一条内部的 S/V 梯度(46% → 80.6%),能单独检验「S/V 是否真的是主导因子」这个假设。

0.5 「金标准」从哪来——本项目最大的软肋

CS 学生习惯把 ground truth 当成给定的。医学影像里它是整个问题中最贵、也最可疑的一环:

顺带说明:这个领域普遍如此。Otgonbaatar 等 2026 在 BMC Med Imaging 上也明确写了他们「没有可用的独立参考标准」。所以 Medical Physics 这类期刊对参考标准的要求相对务实,而这也是把它定为首选的理由之一。

0.6 术语对照表

术语在本文里的意思
掩膜 mask与图像同形状的整数标签体,每个体素存一个类别 ID。就是分割的输出
队列 cohort数据集。「广东结直肠癌队列」= 796 套 CT 及其掩膜
病例 case一个样本 = 一次扫描的整个 3D 体数据(不是一张切片)
原生网格 native grid该病例扫描时的原始体素间距,逐例不同。临床体积必须在这个网格上报告
网络网格预处理后统一到的间距(本项目 1.25×0.732×0.732 mm),所有病例一致
Dice2|A∩B|/(|A|+|B|),区域重叠度,等价于 F1。医学影像的事实标准指标
HD9595 百分位 Hausdorff 距离,衡量最坏边界偏差,对离群点比 Dice 敏感
clDice在骨架上算的 Dice(CVPR 2021),专门衡量管状结构的连通性保持
Betti-0 误差预测与真值的连通分量个数之差。血管断成几截,它就会涨
Bland–Altman LOA医学测量学的标准一致性报告:偏倚 ± 1.96×SD,即 95% 一致性界限
ICC(2,1)组内相关系数,两向随机效应、绝对一致性、单次测量。衡量「同一对象被不同观测者重复测量」的信度
Hazard Ratio生存分析里的风险比。体积测量最终进的就是这类模型——这是为什么体积漂移 15% 是个严重问题
mAs毫安秒,CT 的辐射剂量代理量。低剂量 = 低 mAs = 高噪声
FBP / IR / DLR三代重建算法:滤波反投影 / 迭代重建 / 深度学习重建。同样的剂量,换算法就能让噪声幅度差 3.5~4 倍、并改变噪声的频谱形状(这曾是第 7 节原定的核心论点,后被实验否决,见 7.1)
NPS噪声功率谱,噪声在空间频率上的能量分布。决定噪声「长什么样」——是细密颗粒还是成片斑块
nnU-Net医学图像分割的事实标准框架,会根据数据自动配置预处理、网络结构与训练计划。本项目用其 ResEnc-M 变体

1. 任务与两个世界的脱节

任务本身很朴素:给一张 3D 腹部 CT(或脑部 CTA),逐体素分类出若干组织,然后数体素、乘体素体积,得到每类组织多少毫升。这个毫升数不是给人看图用的,它直接进临床模型:

于是出现了一个典型的「两个世界」问题:

模型开发者的世界

优化 Dice / IoU,用验证集 EMA 伪 Dice 做早停。衡量的是区域重叠。对边界沿法向整体漂移 0.2 个体素这种事,几乎没有梯度信号。

临床研究者的世界

读的是绝对体积 cm³ 和体积比。体积进了 Cox 回归,直接决定风险比(Hazard Ratio)。体积漂 15% 足以颠覆一个生存分析结论。

1.1 S/V:全文真正的主角

把一个二值掩膜 Ω 的离散表面体素占比定义为:

S/V = |∂Ω| / |Ω| ∂Ω = 至少有一个 6-邻居落在掩膜外的前景体素集合(单层表面壳)。实现见 src/bodycomp_lab/label_provenance.py 的 surface()。

这是整个项目的核心自变量。实测值(内部队列 80 例参考掩膜均值):

来源:docs/results/2026-10-29/alpha_tv01_thin_volume_summary.json 字段 aggregate.<tissue>.reference_surface_fraction.mean
组织S/V形态直觉相对条形
骨骼肌 Muscle12.9%大块实心
皮下脂肪 SAT14.9%厚层环带
骨 Bone15.6%壳状但厚
内脏脂肪 VAT22.5%不规则填充
肌间脂肪 IMAT51.2%1~2 mm 筋膜薄片

IMAT 超过一半的体素都在单层边界壳里,是骨骼肌的 3.97 倍。这意味着「边界」对它来说不是一个薄薄的外皮,而几乎就是它的全部。外部 TopCoW 脑血管数据集提供了另一条独立梯度:大主干 46.0% → MCA 65.5% → ACA/PCA 71.0% → 极细交通支 80.6%。

口径陷阱(审稿人一定会问)

这个 S/V 是无量纲的体素计数比,不是物理意义上的 mm⁻¹ 面积/体积比。它的数值依赖体素间距和网格采样:同一根血管,重采样到更细的网格,S/V 会变小。因此两套数据集之间的绝对数值不能横向比较,论文只在各自数据集内部用它做几何分层。这种「把自己用的量定义清楚、并主动说明它不能干什么」的写法,是分析型论文的基本功。

1.2 Dice 盲区的算术:为什么它必然会瞎

先建一个一维直觉模型。设结构有 N 个前景体素,其中 S = (S/V)·N 个在边界壳上。假设模型的决策边界沿法向整体偏移 δ 个体素(δ 很小,比如 0.2)。那么:

ΔV / V ≈ δ · (S/V) 体积的相对变化 ≈ 边界位移 × 表面体素占比

代入实测数据对一下:肌肉实测等效边界位移 0.077 体素 × 0.129 ≈ 1.0%,实测跨 seed 极差 1.54%;IMAT 为 0.199 × 0.512 ≈ 10.2%,实测极差 18.12%(极差是 3 个 seed 的最大−最小,比单侧偏移约大一倍,量级吻合)。一阶近似就能解释观测。

而 Dice 对同样的 δ 有多敏感?Dice = 2|A∩B| / (|A|+|B|)。整体偏移 δ 时,错配体素约为 δ·S,于是

1 − Dice ≈ δ · (S/V) / 2

看起来和体积一样敏感——但关键在于基线水位:IMAT 的 Dice 本来就只有 0.88,剩下的 0.12 全是真实的边界模糊和标注噪声。δ 带来的那 0.01 变化完全淹没在里面。体积是从 0 开始累加的无基线量,Dice 是靠近 1 的有饱和量——这就是盲区的根源。

厚结构(肌肉,S/V = 12.9%) 边界壳 = 13% 体素 · 位移 0.08 体素 ΔV ≈ 1.5% Dice 0.9825 — 看不出问题,也确实没问题 薄结构(IMAT,S/V = 51.2%) 边界壳 = 51% 体素 · 位移 0.20 体素 ΔV ≈ 18.1% Dice 0.8789 — 两两 |ΔDice| 仅 0.0125 同一个 0.1~0.2 体素的法向漂移,经 S/V 几何放大后, 在薄结构上变成 12 倍的体积变异,而 Dice 的变化留在 0.01 的噪声带内。
几何放大效应。左右两侧是同一次微小边界漂移的两种后果;放大倍数就是 S/V 之比(51.2% / 12.9% ≈ 3.97)乘以位移之比(0.199 / 0.077 ≈ 2.6),约 10~12 倍,与实测的 12 倍一致。

2. 一句话与整体结构

论文的一句话

细微解剖结构的绝对体积测量存在三条与 Dice 解耦的系统性失真通道——训练停在高学习率导致的跨 seed 体积发散、后处理重采样顺序导致的凹脊截断侵蚀,以及输入图像退化下噪声膨胀与层厚收缩在总体积上的虚假对消;前两条能用免重训的低成本手段消除 70%~94%,第三条给出一个无需真值的检出量。

标题:细微解剖结构体积定量测量的几何困境与双源消偏:Dice 盲区、训练动态与重采样侵蚀。结构是一条「机制—解法」成对展开的链:前两条在生产侧(模型怎么产生测量),第三条在消费侧(它拿到的图像本身有多脏)。

共同的几何自变量:S/V 生产侧 机制一 · 训练动态 停在高 LR → 落在盆地不同侧壁 IMAT 极差 18.12% · 细血管 44.79% 生产侧 机制二 · 后处理导出 线性插值 logits → argmax,钝化凹脊 IMAT 侵蚀 −2.82% · 细血管 −10.47% 消费侧 机制三 · 输入图像退化 剂量/重建/层厚 → 正负偏差虚假对消 净 +7.83% 而 Dice 已跌到 0.7086 2D 单层口径:SD 放大 1.8× 解法一 · Tail SWA(+4% 预算) 尾段 10 轮权重平均,不动学习率日程 消除 69.2% / 73.9%(盲测) 解法二 · Argmax 先行导出(0 成本) 先在网络网格 argmax,再重采样标签 消除 75.7% / 93.8% 检出量 · STR(不需要真值) (FP+FN) / |FP−FN| ≫ 1 即报警 配两条规范:报噪声幅度口径; L3 单层可筛查、不可随访
三条通道相互独立,并且每条都配一个可执行的东西:机制一的解法要 +4% 算力,机制二的解法完全免费(连权重都不动),机制三给的不是修法而是一个检出量——因为输入退化是既成事实,改不了,只能检出并拒收。「问题—解法」成对出现是分析型论文能被接收的关键:只指出问题不给解法,审稿人会问 so what。

3. 机制一:高学习率截断与跨 seed 体积发散

nnU-Net 默认 1000 轮 poly 学习率衰减。很多工作(包括本项目的前期实验)出于预算只训 250 轮。问题是:

lr(250) = 0.01 · (1 − 250/1000)0.9 = 0.007728 第 250 轮停下时,学习率还留在初始值的 77.3%——优化根本没收敛,只是被人为截断了。

在高学习率上截断,模型就随机停在损失盆地的某一侧壁上。不同 seed 停在不同侧壁,每个模型相当于有一个自己的全局判定阈值偏移。实测证据非常干净:

80 例验证集原生网格全量复核(3 seeds)。来源:docs/results/2026-10-30/alpha_tv08_native_summary.json
组织S/VDice 均值跨 seed 体积极差两两 |ΔDice|
骨 Bone15.6%0.98511.82%0.0020
SAT14.9%0.98292.11%0.0027
Muscle12.9%0.98251.54%0.0017
VAT22.5%0.96424.63%0.0040
IMAT51.2%0.878918.12%0.0125

两个让这个发现站得住的辅助测量:

3.1 checkpoint_best 陷阱:早停不但没救,有时还更糟

一个自然的反驳是:「那我按验证集最高 Dice 早停不就行了?」论文审计了 A01 方案全部 12 个模型,答案是不行。

24 例网络网格,checkpoint_best vs 第 250 轮末点。来源:alpha_tv08_swa_cooldown_summary.json
监督方案best 发生轮次best 极差末点极差
standard191 / 203 / 25020.09%17.41%
native223 / 235 / 23710.99%11.40%
reduced191 / 240 / 2499.25%15.47%
soft191 / 222 / 2429.35%10.48%
四方案均值—12.42%13.69%

均值 12.42%,依然是两位数。更有意思的是 standard 方案:seed32 在第 203 轮因为偶然形态贴合触发了早停,结果把极差从 17.41% 恶化到了 20.09%。

这里的逻辑点

早停按 Dice 选点,而 Dice 对体积偏移不敏感——所以早停在体积维度上等价于随机挑点。随机挑点有时会挑到更差的。这不是「早停效果一般」,而是「早停在这个终点上根本不是一个选择机制」。

3.2 外部复现:换解剖、换模态、换标注来源

只有一个私有队列,审稿人必然质疑泛化性。论文在公开的 TopCoW 2024 3D CTA 脑血管数据集(专家人工标注,85 训练 / 20 验证 / 20 封存测试)上跑了 5 个种子 × 7 个端点 = 35 套模型。

20 例封闭验证集,5 seeds 均值。来源:alpha_ex01_topcow_summary.json · S/V 来源:topcow_surface_fraction.json
血管分层S/V(实测中位数)未退火基线极差checkpoint_best 极差相对 SD
大动脉主干46.0%9.14%8.03%3.81%
MCA65.5%11.84%11.89%4.78%
ACA / PCA71.0%10.40%10.31%4.21%
极细交通支80.6%44.79%35.35%18.19%

换了器官(腹部→脑)、换了模态(CT→CTA)、换了标注来源(教师模型→人类专家)、换了拓扑(薄片→分叉管网),两端的对应关系依然成立(大主干 9.14% → 极细交通支 44.79%,近 5 倍),checkpoint_best 陷阱也原样重现。这是全文最硬的一块证据。

但中间两档不单调——和导出侵蚀那一侧一样

上表自己就打破了严格单调:ACA/PCA 的 S/V 比 MCA 高 5.5 个百分点,跨 seed 极差却更低(10.40% vs 11.84%)。第 6 节对导出侵蚀记录了同一类反例(MCA −2.56% 小于更粗的大主干 −2.89%),结论也一样:S/V 是主导因子而非唯一因子。

值得单独留意的是,中间口径的错位在两类机制上重复出现——跨 seed 发散与导出侵蚀在机制上并不相干,却在同一组血管上同向出错。所以 §1.2 的 ΔV/V ≈ δ·(S/V) 要当一阶近似读:δ 是每个结构各自拟合的自由量(肌肉 0.077、IMAT 0.199),不是跨结构的常数;把它当常数,就会预期一条这里并不存在的单调曲线。

注意 comm_thin 这一组是 n=19,不是 20:topcow_ct_138 这一例的专家金标准里不含交通支。这个细节被显式写进了 JSON 的 cases_present 字段——这不是吹毛求疵,审计过程中确实有一次统计误用 n=20 平均,导致同一数字在论文两处不一致,后来被捕捉并修正(见 8.2)。

4. 机制二:重采样导出侵蚀

这一节是整篇论文最「计算机」的部分,也是最容易被忽视的工程 bug 类问题。

nnU-Net 的标准流程:原生 CT(逐例各向异性间距)→ 重采样到统一网络网格(本项目实测为 1.25 × 0.732 × 0.732 mm)→ 网络推理得到 logits → 把 logits 线性插值回原生网格 → 取 argmax 得到标签。

问题就在最后两步的顺序。对薄层结构,前景概率在厚度方向上只有一两个体素宽的峰。线性插值会把这个峰和周围的背景值做加权平均,峰顶被拉低;再取 argmax,原本过半的体素就跌破了判定线,被背景吃掉。沿着薄壁的凹脊,这个效应系统性累积。

① 标准流程:线性插值 logits → argmax(侵蚀) p = 0.5 p=1 插值后峰顶被背景拉低, 靠近 0.5 的部分被 argmax 吞掉。 IMAT −2.82% · 细交通支 −10.47% ② Argmax 先行:网络网格先判定 → 重采样标签 在网络网格上先取离散决策, 阻断了软概率的边界衰减。 IMAT −0.69% · 细交通支 −0.65% 代价:离散标签重采样缺少亚体素概率平滑,原生 Dice 从 0.9085 降到 0.8932(−0.0153)。 这是一个明确的权衡——以绝对体积为临床终点时值得换,以空间重叠为终点时不值得。 论文把它写成权衡而不是「我们的方法更好」,这是诚实也是必要的。
导出侵蚀的机制与两种修法。注意右侧的 Dice 下降被论文明确报告为代价,没有藏起来。

误差记账(把总误差拆到各个来源):

原生网格总误差 (−3.47%) ≈ 预测导出插值侵蚀 (−2.82%) + 预处理标签重采样偏移 (−0.73%) 注意是约等号。
这个「拆解」不是恒等式——2026-11-04 更正

三项的分母互不相同:导出侵蚀以模型自己的网络网格预测体积为分母,预处理位移刻画的是参考掩膜自身的体积位移,总误差以参考体积为分母。所以它们本来就不能直接相加——右边加起来是 −3.55%,不是 −3.47%。按归档值相减,总误差里未被导出侵蚀解释的残差是 −0.65 个百分点,与独立测得的 −0.73% 量级一致但不相等。手稿此前写成等号,已在 v1.5.2 更正为近似并补上口径声明。这一条是外部评审查出来的。

还有一个漂亮的分层证据:按轴向层厚把 80 例分成两组。轴向间距正好等于目标 1.25 mm 的病例,侵蚀 −2.52%;间距错配(2.5~5.0 mm)的病例,侵蚀加深到 −3.43%。各向异性重采样确实加剧了钝化,机制假设又被独立验证了一次。

4.1 插曲:算子身份这件事,为什么值得单开一节

这是整个项目最有教育意义的一次自我纠错。论文最初把「Argmax 先行导出」描述为最近邻重采样。实际从 plans.json 读出来的配置是:

resampling_fn_seg        = resample_data_or_seg_to_shape
resampling_fn_seg_kwargs = {'is_seg': True, 'order': 1, 'order_z': 0, 'force_separate_z': None}

is_seg=True, order=1 的语义是:把标签拆成每个类别的 one-hot,对每个通道做一阶(线性)插值,然后在通道维取 argmax。这不是 order=0 的零阶最近邻——两者是不同算子,会给出不同数值。

为什么这很严重

论文的核心贡献之一是「改导出顺序就能修 75%~94% 的侵蚀」。如果别人照着「最近邻」去复现,用的是另一个算子,数字对不上,整个贡献就会被当成不可复现。命名错误在分析型论文里等价于结论错误。

修法:在 §5.2 用引用块把完整 kwargs 锁死,正文、README 和代码注释全部统一更正,并在局限性里显式记录这次更名。归档 JSON 里的键名 net_argmax_nearest_export 保留了历史命名(为了和已发布的权重清单对得上),但附录加了一条命名提示说明该键对应的真实算子。保留历史命名 + 显式说明 > 悄悄改名。

5. 解法一:单轨迹零退火 Tail SWA

做法简单到可以一句话说完:在原训练日程末尾多训 10 轮,学习率一点不降,把这 10 轮的权重做均匀算术平均。

θSWA = (1/10) · Σt=251260 θt 成本:+4% 训练预算。不需要改学习率日程,不需要额外退火,不需要改网络或损失。
4.43%
80 例原生网格 IMAT 跨 seed 极差
(基线 18.12% / 同预算单点 14.39%)
0.8986
Dice 同时上升 +0.0197
——稳定性不是用精度换的

5.1 预算配平对照:这一节是全文实验设计的精华

对「多训 10 轮就变好了」最致命的质疑是:增益是不是只是因为多算了?论文用一个配平矩阵正面回答:

80 例原生网格 IMAT,3 seeds 全量。来源:alpha_tv08_native_summary.json
端点预算末轮 LRDice跨 seed 极差削减率
epoch250基准0.007730.878918.12%基准
control260_last+4%0.007640.880214.39%−20.6%
control260_swa+4%(0 退火)0.007640.89864.43%−69.2%
anneal260+4%0.000970.89883.42%−76.2%
control300+20%0.007260.876713.04%−28.0%
anneal300+20%0.000230.90772.14%−88.2%

读这张表要看两组对照:

  1. 同预算三方对照(都是 +4%,10 轮):单点续训 14.39% / 权重平均 4.43% / 尾段退火 3.42%。算力完全相同,结果差 3~4 倍。所以增益来自「轨迹聚合或学习率下降」,不来自额外算力。
  2. 更高预算反例(+20%):control300 拿到 5 倍于 SWA 的额外预算,但因为仍停在高学习率(0.00726),极差还是 13.04%,Dice 甚至略低于基线。更多训练本身不解决问题。
方法论外带

这个设计叫 budget-matched control。任何声称「加一个 trick 能提升」的工作都应该做:把替代解释(更多算力、更多数据、更多参数)在对照臂里固定住,否则你的 trick 和「多训一会儿」在实验上不可区分。control300 这个更高预算却更差的反例尤其有力——它把「算力单调改善性能」这个默认假设直接证伪了。

5.2 为什么权重平均能行?一个反面实验给出了边界

论文没有停在「它有效」,而是做了一个参数空间检验:如果权重平均是因为「平均掉了噪声」,那跨 seed 平均应该也行?

24 例网络网格。来源:alpha_tv09_mechanism_summary.json 的 part_b_cross_seed_mode_connectivity
端点单 seed 模型平均 Dice跨 seed 权重直接平均 Dice壁垒
epoch2500.86830.0001−0.8682
control260_last0.86730.0006−0.8667
anneal3000.89560.0002−0.8954

彻底崩溃,Dice 掉到 0.0001。这是深度学习里著名的置换对称性问题:两个独立初始化的网络,神经元排列顺序不同,不做置换对齐(如 Git Re-Basin)就直接平均权重,等于把两个毫不相干的函数线性混在一起。

这个反面结果精确界定了 SWA 的作用域:它只在同一个随机种子的同一条连续优化轨迹上有效——平滑的是随机梯度噪声,把解推向当前吸引盆地内更平坦的极小值,而不是跨越不同盆地。

同一盆地内(SWA 有效) θ_SWA 高 LR 下轨迹在盆地壁上来回震荡; 平均 10 个点落回盆底的平坦区。 跨 seed(直接平均 = 崩溃) Dice 0.0001 置换对称性未对齐 → 中点落在两个盆地之间 的高损失壁垒上(Barrier −0.88)。
SWA 的机制与边界。左边是它做的事,右边是它做不到的事。论文同时给出两者,才算把机制说清楚。

6. 解法二:Argmax 先行离散导出(零成本)

这是我认为对工程实践最直接有用的一条:不重训,不改权重,只调后处理计算图的顺序。

24 例验证集,3 seeds 平均。来源:alpha_tv09_mechanism_summary.json 的 part_a_export_mechanism_control
导出策略导出体积偏移原生相对误差原生 Dice
1. 线性插值 logits → argmax 主流默认−2.82%−3.47%0.9085
2. Softmax 概率线性插值 → argmax−1.13%−1.79%0.9032
3. 网络网格 argmax → 离散标签重采样−0.69%−1.34%0.8932
4. 免标签质量守恒导出—−0.67%0.9094

策略 2 的存在很重要:它是一个中间态对照(logits → softmax,但插值位置不变),把「侵蚀是插值造成的」和「侵蚀是数值尺度造成的」两种解释区分开。从 −2.82% 到 −1.13%,说明 logits 的无界数值尺度贡献了约六成,而剩下的 −1.13% 才是插值本身。

策略 4(质量守恒导出)在体积和 Dice 上都最好——它保持标准概率插值,但根据网络网格的体积自适应校正 argmax 的判定阈值。代价是实现更复杂、并且引入了一个依赖「网络网格体积是对的」这一前提的假设。

外部数据集上的分层结果把 S/V 的主导作用再演示了一遍:

TopCoW anneal300 端点,5 seeds 均值。来源:alpha_ex01_topcow_summary.json 的 anneal300_export_comparison
血管分层S/V标准导出侵蚀Argmax 先行消除率ΔDice
大动脉主干46.0%−2.89%−0.72%75.1%−0.0136
MCA65.5%−2.56%+0.53%~100%−0.0174
ACA / PCA71.0%−5.77%−0.93%83.9%−0.0167
极细交通支80.6%−10.47%−0.65%93.8%+0.0017
注意这里没有硬套单调性

MCA(S/V 65.5%)的侵蚀 −2.56% 比管径更粗的大主干(−2.89%)还小,打破了严格单调。论文没有把这个点藏起来或者归为「测量误差」,而是在摘要里明写:S/V 是侵蚀深度的主导因子而非唯一因子,局部曲率、分支拓扑、轴向间距错配同样参与。把一个「几乎单调」的趋势诚实地写成「主导但非唯一」,比强行声称单调要安全得多——后者只要被审稿人抓到一个反例,整条论证的可信度都会被质疑。

7. 机制三:输入退化——从「模型怎么坏」到「图像怎么坏」

前面四节讲的都是生产侧:模型是怎么被训练的(机制一)、预测是怎么被导出的(机制二)、以及两个零成本修法。但把一个已经收敛、已经用守恒路径导出的模型放到临床回顾性队列里,它还要面对消费侧的问题——它拿到的图像本身就不干净。回顾性多中心队列里混着低剂量扫描、不同年代的重建算法、2.5~5.0 mm 的粗层厚。这一节问的是:图像质量退化时,不同的测量方法各自怎么坏。

这一节原本是第二篇论文

这些实验最初是作为一篇独立的第二篇论文做的。2026-11-01 的可行性评估判定它不足以独立成文(原定的核心假说被自己的数据否掉了),于是把真正站得住的三项增量并入本文第 6 章。7.5 完整讲这个过程——那是本页最值得读的一段,因为它展示的是一个假说被证伪之后该怎么处理。

背景:三类估计量

要读懂这一节,先得知道临床上「测 IMAT 体积」有三种完全不同的做法:

范式做法代表
I. 纯 HU 阈值
本节记作 Raw HU
在固定解剖腔室内直接截取 [−190, −30] HU 的体素,无任何空间先验经典放射学做法,至今大量在用
II. 混合估计量先用网络或形态学分出肌肉腔室,再在腔室内按 HU 阈值细分BOA/BCA、SliceOmatic、ClariMetaboCore —— 当前工业界最主流
III. 端到端 3D 深度网络
本节记作 3D nnU-Net
把 IMAT 当独立语义类别,多类联合体素级分割TotalSegmentator、本文的 nnU-Net ResEnc-M

把「阈值法 vs 深度学习」这个常见二元对立拆成三层本身就有价值——临床上用得最多的是中间那层,而文献里几乎不单独讨论它。

数据纪律

本章全部实验跑在 80 例内部验证集上。159 例私有封存测试集与 TopCoW 20 例封存测试集在本章中完全未被触碰(三份归档 JSON 的 test_used 字段均为 false,并有自动化测试逐条断言)。这一点很重要:第 7 节是在 第 8 节的封存盲测之后补做的分析,如果它动用了测试集,前面整条证据链就全废了。

物理前提:为什么阈值法一加噪声就暴涨

肌肉总体积约 5,140 mL,而 IMAT 只有 362 mL——差 14.2 倍;肌肉核心 HU 实测 +55.24 ± 5.84,脂肪窗上界是 −30 HU。给图像加 N(0, σ²) 噪声,均值不变,但分布变宽:会有一部分肌肉体素跌破 −30 HU 被误判成脂肪,也会有一部分脂肪体素逃出窗口。关键在于基数差了 14 倍——前者的绝对数量压倒性地超过后者。于是净效应是单向的正向膨胀:大量边缘肌肉被成片误判为脂肪。

这是一个纯粹的「尾部概率 × 基数不对称」问题,可以在纸上先算出来再去测——和 1.1 的 ΔV/V ≈ δ·(S/V) 是同一种做法。能被简单模型预测的现象才叫机制。

7.1 等幅不同谱:一次教科书级的单变量对照

文献对「低剂量 CT 对 IMAT 的影响」给出的结果差了一个数量级:

研究设计IMAT 变化
Troschel 2021(AJR)105 名患者同机配对,16.5 vs 156.8 mAs,B35f 宽频核,测 2D 单层+58.8%
Salhöfer 2025(JCSM)20 头小型猪 117 次配对,10% 剂量,SAFIRE-3 迭代重建,测 3D 体积+3.84%

相差约 15 倍。原本的假说很有吸引力:决定脆弱程度的不是噪声幅度 σ,而是重建算法决定的噪声功率谱(NPS)形状。依据是 Otgonbaatar 2026(BMC Med Imaging,202 名患者同投影数据)——固定剂量只换重建算法,噪声幅度就能变 3.5~4 倍(FBP 47.0 → hybrid IR 20.3 → DLR 13.0 HU),且 NPS 形状被本质重塑。

这里有一个实验设计上的陷阱,值得单独讲

要检验这个假说,不能按文献原文的幅度各跑一档:FBP 跑 47 HU、DLR 跑 13 HU,那样幅度和谱形两个变量同时在变,无论得到什么结果都无法归因。正确做法是构造等幅不同谱对照臂——把三条谱统一标定到同一个 σ = 20 HU,只让谱形变。

这是整个项目里最干净的一次单变量设计,而它的代价是必须先造一个能在频域整形、同时还能把总方差精确锁到目标值的噪声发生器。实测达成的 σ 是 19.99985 / 20.00018 / 20.00015 HU,两两极差 0.00033 HU——验收红线是 0.5 HU,实际做到了它的 1/1500。

80 例验证集,等幅不同谱(σ 全部标定至 20.00 HU)。来源:docs/results/2026-11-01/echo_p1_nps_spectral_summary.json
重建谱实测 NPS 峰频Raw HU 偏差Raw HU DiceSmoothed HU 偏差
FBP
宽频
0.264 mm⁻¹+15.16%0.7811+3.00%
hybrid IR
中频压制
0.178 mm⁻¹+15.14%0.7812+6.38%
DLR
高频截断
0.129 mm⁻¹+15.20%0.7812+10.84%

这张表要读两列,不是一列。

Raw HU 那一列,三个数几乎一样(极差 < 0.06%,Dice 差异 < 0.0001)。假说被否了。而且这个否定是可以在纸上先推出来的:纯阈值判定 𝕀[X(v) ∈ [−190, −30]] 在数学上只依赖体素强度的一维边际分布 N(0, σ²)。频域相位与空间自相关改变的是误判体素在空间中怎么成团,但完全不改变落进阈值区间的体素数量的期望值。所以点阈值估计量的体积偏置由 σ 单独决定——谱形不起独立作用。

为什么这不是「谱形根本没造出来」的假阴性

这是所有阴性结果最容易被质问的地方:你测不到差异,是因为真没差异,还是因为你的噪声发生器根本没把三条谱拉开?

答案在表格的最后一列:同一批噪声场,Smoothed HU 给出 +3.00% → +6.38% → +10.84% 的单调强阶梯响应。机制也清楚:3×3×1 均值核能消掉 FBP 的高频成分,但对 DLR 残留的低频成簇涨落无能为力——斑块尺度大于滤波核,直接穿透。

同一个输入,一个估计量看得见谱形,另一个看不见。这叫内生阳性对照(endogenous positive control):它把「仪器失灵」这个竞争解释直接排除了。

这是本页最该带走的实验设计原则之一:做阴性结果时,必须在同一份数据里安排一个你预期它会动的量。否则你的阴性永远可以被解释成手艺不行。项目里还专门写了一条自动化测试,同时断言 Raw HU 极差 < 0.0006 和 Smoothed HU 极差 > 0.05——把阴性结论和它的对照锁死在一起,将来谁改坏了噪声发生器,测试就会红。

那 15 倍到底从哪来的

既然不是谱形,就按文献原文的幅度各跑一档看看(这一次故意让幅度变):

条件实测 σRaw HU 偏差Raw HU Dice
FBP(文献幅度)47.03 HU+116.03%0.4568
DLR(文献幅度)13.01 HU+5.34%0.8626

相差 21.7 倍。所以 Troschel 与 Salhöfer 的分歧,主因是现代降噪重建带来的约 3.6 倍真实体素噪声幅度削减(47.03 / 13.01 = 3.61),不是谱形的频域结构。一个被否掉的假说,换来了对文献争议的一个干净归因。

一个事先就算清楚的几何边界(必须随结论一起报告)

本队列面内体素 0.7324 mm,对应 Nyquist 频率 0.6827 mm⁻¹。而 Otgonbaatar 原文的 DLR 截断频率 0.6 mm⁻¹ 落在我们可表示频带的 87.9% 处,几乎贴在边缘。这意味着三条谱在本像素尺度下的可区分带宽必然窄于原文几何。

这正是为什么必须归档实测达成的径向 NPS 曲线,而不是只归档目标谱:否则无法区分「谱形不起作用」和「谱形被像素尺寸抹平了」。这个边界是在跑实验之前算出来并写进协议的,不是事后找的借口。

7.2 偏倚与精密度的解耦:这一节差点漏掉一半结论

15 倍矛盾还有第二个候选来源:测量口径。Troschel 测的是 L3 单层横截面积,Salhöfer 测的是 3D 全容积积分。那差异里有多少只是口径不同?

选层规则刻意做成解剖无关、客观可复现:z* = argmax_z 腔室体素数(肌肉筋膜截面最大的那一层),不依赖任何解剖标志点。

80 例验证集,Raw HU,相对各自 clean 基准。来源:docs/results/2026-11-01/echo_p2_2d_vs_3d_summary.json
退化条件2D 单层 均值 (SD)3D 全卷 均值 (SD)均值比SD 比
NPS FBP σ=20+11.69% (±7.54%)+15.16% (±4.25%)0.75×1.77×
NPS IR σ=20+11.51% (±7.73%)+15.14% (±4.26%)0.74×1.82×
NPS DLR σ=20+11.43% (±6.93%)+15.20% (±4.29%)0.73×1.61×
NPS FBP σ=47+99.48% (±71.10%)+116.03% (±42.38%)0.83×1.68×
NPS DLR σ=13+4.30% (±3.18%)+5.34% (±1.49%)0.77×2.14×
轴向层厚 4×(5.0 mm)−19.25% (±9.52%)−14.46% (±5.65%)1.56×1.69×

第一眼的结论是阴性:均值比 0.73×~0.83×,2D 并没有放大系统偏差,反而略低。机制是基数效应——在腔室截面最大的那一层,基线脂肪面积与腔室背景都比较充实;而 3D 全卷包含头尾那些脂肪少、边界体素占比高的薄层,积分后表观百分比反而更高。相邻 3 层窗口的均值与单层差异 < 0.15%,说明这不是单层的偶然噪声。于是「2D 单层抽样导致了文献 15 倍分歧」在均值层面被否定。

但只看均值,会漏掉一半的信息——而这一半才是对的

把单例标准差(SD)也拉出来:全部 38 个「退化条件 × 估计量」组合里,2D 的 SD 无一例外大于 3D——Raw HU 为 1.6×~2.1×,深度模型为 1.4×~2.2×,Smoothed HU 最高达 7.4×。也就是说,2D 单层把标准差放大约 1.8 倍,等价于抽样方差约 3.2 倍。

这一条为什么要紧:Troschel 2021 报的核心数字本身就是离散度——IQR 33.2%~110.0%,全距 16.9%~513.6%。均值通道被否掉了,离散度通道恰好对上。

于是一个纯阴性结果变成了一条能直接落到临床的正面结论:临床普遍采用的 L3 单层惯例,缺陷不在系统偏倚,而在精密度。单次横断面筛查尚可接受,但在药物疗效监测或恶病质纵向随访里,足以造出严重的假性波动——你以为病人在变化,其实是测量在抖。

这和本文的主线是同构的。1.2 讲的是:Dice 作为一个标量汇总量,掩盖了体积这条失效通道。这里是:偏倚均值作为一个标量汇总量,掩盖了精密度这条失效通道。同一类错误的两个方向。共同的教训是——报告了一个汇总量,不等于报告了终点的可靠性。

补一句过程:这一节的第一版结论只写了均值比,把「假说被明确否定」当成了全部结论。审计时有人从归档 JSON 里算了一遍 SD 比值,才发现 2D 离散度全线更高——而数据一直就躺在 sd_rel_bias 字段里。归档得细,是会反过来约束作者自己的;如果当初只归档了均值,这条结论就永远发现不了,而审稿人反而可能先发现这个漏报。

7.3 虚假对消陷阱与一个不需要真值的检出量

临床日常扫描里,低剂量噪声和粗层厚往往同时出现。把两者叠加,会得到一个很有欺骗性的结果:

0% 噪声 20 HU +15.16% 层厚 2.5 mm −6.74% = 两者叠加 +7.83% 「看起来还行」 但空间上: Dice vs clean = 0.7086 FP 和 FN 各自很大,只是互相抵消 Smoothed HU:表观 −0.45% 实际对真值 −25.74% 完美的伪中立伪装 3D nnU-Net:−0.89%,Dice 0.8599
在临床最常见的「低剂量 + 粗层厚」组合下,两种物理机制符号相反,在「总体积」这个标量上相互抵消。只报总体积的鲁棒性评测会完全看不到底下的空间崩塌。

两点要分开看:

  1. Raw HU:净值骗人。单独 20 HU 噪声给 +15.16% 的膨胀,单独 2× 层厚给 −6.74% 的部分容积收缩;叠加后净值 +7.83%,看着「还行」,而空间重叠 Dice 已经跌到 0.7086。FP 和 FN 各自都很大,只是在求和时抵消了。
  2. Smoothed HU:伪中立更危险。它相对自身 clean 的偏差只有 −0.45%,在「鲁棒性」榜单上会排第一;但相对参考标签的真实偏差是 −25.74%——大量真实筋膜脂肪被均质化抹掉了。只以「自身 clean」为基准的评测,会把这种估计量评为最优。这是评测设计的一个真实陷阱。

论文给出的检出量是空间翻转比(Spatial Turnover Ratio):

STR = (FP + FN) / |FP − FN| 分子是空间总误差,分母是净体积差。STR ≫ 1 时,即便表观体积稳定,也必须触发空间严重失真警报。

它的实用价值在于不需要真值。只要同一个病例有两种输入下的两份预测(比如同一患者的薄层与厚层重建、或原始与降噪版本),就能算。这意味着回顾性队列在没有任何人工标注的情况下也能做测量质控——这是这一章里唯一一个「可以直接拿去用」的工具。

7.4 一致性矩阵与三条新增的部署规范

最后把所有退化条件汇总,算 Bland–Altman 95% LOA 与 ICC(2,1),统计口径和 8.1 的 159 例盲测矩阵保持一致:

80 例验证集跨退化条件一致性。来源:docs/results/2026-11-01/echo_agreement_summary.json
估计量ICC
全 NPS 条件
ICC
等幅条件
最差 LOA 宽度
Raw HU0.66360.9815166.11%
Smoothed HU0.98580.992811.23%
3D nnU-Net (SWA)0.99900.99919.98%
3D nnU-Net (Anneal)0.99820.999412.93%

Raw HU 那两个 ICC 的对比是一条独立证据。跨全部 NPS 条件时它掉到 0.6636(在 FBP 47 HU 下 LOA 宽达 166.11%,即 [+32.97%, +199.08%]——单例测量完全失控);但只在等幅条件之间比,它回升到 0.9815。换句话说,它的方差几乎全部来自幅度,几乎没有来自谱形——这是用完全不同的统计量第二次确认了 7.1 的结论。

据此给论文的部署规范(原本三条)增补了三条:

  1. 报告绝对体积时必须同时报告输入的噪声幅度口径(有效体素 σ 或等效 mAs),而不是只报重建算法名称。谱形对点阈值不起独立作用,幅度才是支配量——而文献里普遍只写「用了 SAFIRE-3」这类算法名。
  2. L3 单层惯例可用于横断面筛查,但不适合纵向随访。它不引入额外系统偏倚,但使个体测量标准差放大约 1.8 倍。需要纵向比较时应改用 3D 容积积分,或至少在同一患者各次随访间严格固定选层规则。
  3. 在无真值的回顾性队列上,用 STR 做失真门控。仅凭「总体积在两种输入下接近」不足以判定测量可靠,必须同时确认空间翻转没有发生。

7.5 这一章原本是一篇独立论文:一个假说被证伪之后发生了什么

这一段讲的不是科学结论,是做研究的过程。我认为它比这一节任何一张表都更值得 CS 学生读。

这些实验最初的定位是一篇独立论文,核心卖点就是那个 NPS 谱形假说。做之前,任务指令书里事先写定了三条「能独立成文」的硬门槛——注意是在看到任何结果之前写的,所以没有事后挪动标准的空间:

预设门槛实测判定
谱形被证明是独立起作用的因子未达成。纯阈值法呈阴性,三谱极差 < 0.06%
实测 NPS 确实区分开了三条谱达成,但受像素尺度约束(Nyquist 87.9% 边界)
2D/3D 给出可与文献对话的放大倍数定量达成,但结论是反向否定

三条不能同时满足。同时,把摘要里原本的四条核心发现对照文献,发现有三条已经被使用真实数据的先行工作占据了:

于是结论是:如果硬推成一篇独立论文,它的主打叙事会被审稿人一句话打掉——「你在合成退化上复现了别人已经在真实数据上发表的结论」。所以技术团队的建议是不独立成文,把真正属于本项目的三项增量(STR、等幅不变性判决、2D/3D 精密度惩罚)折叠进本文;项目负责人裁决采纳。

给 CS 学生的那条真正的外带

把这个过程拆开,有五个动作是可以直接搬到你自己的研究里的:

① 门槛事先写定,所以结果出来时不需要争论「这算不算成功」。
② 阴性结果照实归档,连「原定核心假说被证伪」这句话都原样写进了评估报告。
③ 给阴性结果配内生阳性对照,排除「是不是你手艺不行」。
④ 在被否掉的通道旁边,继续找真正成立的那个通道——结果在精密度维度上找到了,而且比原假说更有临床价值。
⑤ 最后老老实实建议别发,而不是把一个不成立的物理假说包装成论文。

在学术生产里,肯把一篇论文判死的人,写出来的另一篇才可信。一个项目的质量,看它怎么处理不想要的结果,比看它最漂亮的那张结果表准得多。

并章时也没有把原稿全搬过来。留在底稿里当素材的部分包括:相关滤波噪声下经典平滑滤波器的失效(Smoothed HU 偏差 +23.15%)、层厚收缩与两项真实研究的三方收敛(−14.46% / −14.7% / −14.3%)、以及 S/V 跨解剖尺度的解释框架。这些要么与正文重复,要么属于已被占据的发现,所以不进正文——并章不是搬家,是取舍。

8. 证据链是怎么搭起来的

这部分对想做研究的学生最有参考价值:一个结论要经过几道关卡才能写进论文。

① 24 例机理对照(网络网格) 小样本、可快速迭代,用来定位机制、排除替代解释 ② 80 例验证集全量复核(原生网格) 所有超参数、门槛、方法选择都在这里定。测试集不许碰 ③ 冻结协议:预设门槛 G8n / G_EX1b 在跑盲测之前就写死「极差削减 ≥60%、Dice 增益 ≥0.015」等判定线 ④ 外部公开基准复现(TopCoW 2024,人工专家标注,5 seeds × 7 端点) 换解剖 / 模态 / 标注来源 / 拓扑,检验机制是否普适 ⑤ 封存测试集单次盲测:私有 159 例 + TopCoW 20 例 全程物理隔离,方法完全冻结后只跑一次。2,862 次全 3D 推理。 结果:G8n 5/5 全通
五层证据链。关键纪律是第 ③ 层和第 ⑤ 层:门槛必须在看到盲测结果之前写死,盲测只能跑一次。否则「测试集」就退化成了另一个验证集,所有泛化性声称都失效。

159 例盲测的主表(这是进论文的终极数字):

159 例封存测试集,3 seeds,原生网格。来源:paper1_blind_test_summary.json
组织epoch250 极差control260 极差SWA 极差SWA 削减率anneal300 极差
Bone1.20%1.84%0.32%−73.3%0.44%
SAT2.11%1.89%1.12%−46.9%0.42%
Muscle0.87%1.29%0.50%−42.5%0.55%
VAT6.41%4.62%1.76%−72.5%1.61%
IMAT18.76%14.60%4.89%−73.9%2.11%

配 Bootstrap 95% CI(10,000 次病例维度重抽样):SWA vs epoch250 的极差比率 0.2609(CI [0.2465, 0.2753]),即压减 73.91%。验证集上是 69.2%,盲测 73.9%——没有过拟合的迹象。

8.1 LOA 与 ICC:为什么要换统计量

这一节是为了满足医学物理领域的报告规范,但其中有一个很好的统计直觉。

159 例盲测 IMAT 一致性。来源:paper1_blind_test_agreement.json
端点相对偏倚95% LOA 宽度跨 seed ICC(2,1)
epoch250+2.37%21.10%0.9500
control260_last+0.11%21.77%0.9563
control260_swa−0.32%20.00%0.9955
anneal300−2.86%14.90%0.9991

注意这个看似矛盾的现象:SWA 把跨 seed 极差压减了 74%,但 Bland–Altman 的 LOA 宽度只从 21.10% 收窄到 20.00%(1.1 个百分点)。为什么?

Var(Vpred − Vref) = Var跨病例 + Var跨seed 159 个不同患者之间的解剖差异巨大,第一项主导了总方差。

LOA 衡量的是「模型对真值的总体一致性」,里面混了跨病例的生物变异;而 ICC(2,1)(两向随机效应、绝对一致性、单次测量)在数学上就是把跨病例方差作为分母、把观测者误差作为分子,所以它能干净地剥离出「算法内在随机性」这一项——ICC 从 0.9500 跳到 0.9955,信号清晰得多。

外带:选统计量要看你想测的方差成分是哪一项。同一组数据,用错指标会得出「几乎没改善」的结论。

8.2 保留下来的负面结果(这页最该学的部分)

论文和审计记录里原样保留了几个不利于自己的结果。这不是谦虚,是分析型论文可信度的来源。

① 预设门槛 G_EX1b 明确未通过 负面

冻结协议写的是「极差相对降幅 ≥ 50% 且 Dice 不下降」。外部细交通支上实测只有 25.00%(验证集)/ 24.70%(盲测)。论文直接写「G_EX1b 明确未通过」,同时指出验证集与盲测的降幅吻合到小数点后一位(25.00% vs 24.70%),说明测量本身是可靠的,只是效应量没达到预设的强门槛。

② 机制归因被自己的拓扑实测证伪 负面

原来的猜测是「SWA 改善了细血管的离散断裂」。于是补测了 clDice(骨架重叠)和 Betti-0 误差(连通分量数差)。结果:真值平均 2.053 个连通分量,所有 7 个策略都过分段到 3.03~3.21 个,SWA 的 clDice(0.6748)和基线(0.6694)几乎无差别。猜测被否定,论文照实写了「原有归因证伪与客观修正」。

替代机制:直接测量「跨 5 个 seed 在真值边界壳内的体素翻转率」,SWA 把它从 34.62% 降到 30.50%。方向对了。

③ 但那个替代机制也只被部分支持 自我约束

在全部 7 个端点上,边界翻转率与体积极差的相关性只有 Pearson r = 0.241、Spearman ρ = 0.357。两个明确反例:anneal260 翻转率低(31.04%)但体积极差第二高(64.98%);control300 翻转率最高(37.58%)而极差只是中等(57.30%)。

于是论文把主张分三层写:(a)在 SWA vs 基线这一对上,边界稳定化成立;(b)在 7 个端点的集合上,它不是充分解释;(c)未被捕捉的其他来源(离散碎块增减、单帧漏检、管腔中断位置变化)本文未做独立分解。这才是严谨——不是不下结论,而是把结论的适用范围精确划出来。

规范

这个项目里立了一条明确的纪律:照实报告的负面结果算通过;只挑符合预期的子集报告则不通过。这条规则同时写进了给执行侧的两份任务指令书,并在验收时实际用到过。

9. 创新点拆解:哪些是真新的,哪些不是

这是你判断一篇论文分量时最该做的事:把贡献列表逐条拆开,看每一条在已有文献面前还剩多少。

论文的主张已有文献占了多少净增量
随机种子会造成跨模型波动 Åkesson 2024(Comp Biol Med)用 50 个种子做过,但只评 Dice,没测绝对体积 弱 现象本身不新
Soft Dice 优化存在体积偏差 Bertels 2020(MedIA)已有理论与实证,证明 p≈0.5 边界处的系统偏差 弱 理论基础是借来的
权重平均能稳定训练 SWA 2018、LAWA 2022、Ajroldi ICML 2025 都是通用优化工具 弱 算法不是新提的
体积发散幅度由 S/V 几何因子定量主导 没有先例把「表面体素占比」作为自变量去解释体积不稳定性 强 核心贡献
Dice 与体积在细结构上深度解耦(|ΔDice|≈0.01 对应 18%~45% 体积差) Åkesson 观察到「个例 Dice 波动 45% 而均值只差 1%」,与此共鸣但终点不同 强 临床终点上的定量化
重采样导出侵蚀的机制定位与计算图调序修法 nnU-Net 官方 commit a89e0db 的更新日志明确声明单阶段配置「不受影响,因为它们按概率重采样后再 argmax」——即这个问题在主流框架里至今未被解决 强 有官方记录可引
checkpoint_best 在体积终点上等价于随机选点(有时更差) 无直接先例 强 直接改变实践
低剂量 CT 下阈值法敏感、层厚导致 IMAT 萎缩、重建算法重塑 NPS 三条全部已被真实配对数据占据:Troschel 2021、Salhöfer 2025、Bennemann 2026、Otgonbaatar 2026 无 第 7 节只作收敛验证
等幅标定下证明谱形对点阈值不起独立作用(阴性判决 + 内生阳性对照) Otgonbaatar 2026 公布了真实 NPS 曲线,但没人把它当作受控自变量去检验估计量;也没人把幅度与谱形分离开 强 方法学增量,且把文献 15 倍矛盾归因到 3.6 倍幅度差
2D 单层口径的偏倚—精密度解耦(均值 0.73× 而 SD 1.8×) 无先例。文献只比过 2D 与 3D 的均值,没有人指出 L3 单层惯例的代价在精密度而非偏倚 强 可直接改变临床研究设计
虚假对消的定量解剖与无真值检出量 STR Vedder 2026(Sci Rep)定性指出降噪与 PVE 可能对消,但没有分解 FP/FN,也没给可执行的检出指标 强 唯一能直接拿去用的工具
Tail SWA 在细结构体积稳定性上的即插即用价值 算法通用,但「+4% 预算、零退火、针对高 S/V 结构绝对体积」这个具体用法是实证新发现 中 应用层贡献,论文自己就这么定位的
论文类型判断

这是一篇典型的分析论文(analysis paper),不是方法论文。它的参照系是 nnU-Net Revisited 和 Metrics Reloaded 那一类工作:不提新网络、不提新损失,而是指出「常规做法里有一个被忽视的问题,它有多严重、从哪来、怎么避开」。

这类论文的评审标准和方法论文完全不同:不看是否超过 SOTA,看现象是否可复现、原因是否被定位、结论是否能改变实践。相应地,审稿人最常问两个问题:「这是不是显然的?」和「能不能推广到别的数据和模型?」——这也正是本项目为什么要做外部 TopCoW 复现和 159 例盲测。

注意这张表里有一整块「无增量」。第 7 节的四条发现里有三条已经被真实数据的先行工作占满了,论文把它们明确降级为「收敛验证」而不是贡献——这正是第二篇论文被判定不能独立成文的直接原因(7.5)。一张诚实的创新点表,是会把自己的一部分划掉的。

10. 局限:论文自己列的八条

把局限写得具体、可核验,是分析论文的一部分竞争力。这八条每一条都指向一个具体的可质疑点(后两条随第 7 节并入时新增):

  1. 参考掩膜不是人工金标准——内部队列的参考来自一个 70 例训练的 nnU-Net 教师模型输出,不是多专家阅片真值。这是本项目最大的软肋,缓解方式是靠外部 TopCoW(有专家标注)互补。论文最新版把这条从定性写成了定量,见下面的方框。
  2. 患者级隔离未经权威认证——内部划分是按扫描/影像 ID 隔离的,同一患者多次扫描是否被完全分开,没有独立认证。
  3. 种子数少——内部 3 个、外部 5 个。所以论文刻意不追求 p 值显著性,只报效应量、配对设计和 Bootstrap 区间(遵照 Åkesson 关于「少数 seed 的显著性检验很脆弱」的警告)。
  4. 后处理算子身份——就是 4.1 那次更名,被明确记录在局限里而不是悄悄改掉。
  5. Bootstrap 的抽样单位——重抽样只在病例维度(159 例),seed 维度固定为所用的 3 个。所以置信区间只刻画病例抽样的不确定性,不包含 seed 抽样不确定性;换一批种子可能给出区间之外的极差。这是一个两层嵌套结构,论文显式说明了。
  6. 网络网格间距的确切数值——早期版本写的是「各向同性 1.25 mm」,后来从真实 plans 文件核实为各向异性 1.25 × 0.732 × 0.732 mm 并归档。
  7. 第 7 节的退化是合成的——噪声由频域 NPS 整形合成、层厚由原生网格块平均模拟,不是真实的多剂量采集或多重建算法重建。证据等级低于 Troschel 2021 与 Salhöfer 2025 的真实配对数据,所以第 7 节的定位被限制为「受控单变量条件下的机制归因」,不声称替代真实配对剂量研究。层厚收缩 −14.46% 与两项独立真实研究(−14.7%、−14.3%)的三方收敛只能作为退化算子物理有效性的旁证,不改变这个等级差。
  8. 第 7 节的基线是「同一病例自己的 clean 输入」——除明确标注「相对参考标签」的那几列外,第 7 节的偏差刻画的是输入扰动下的可重现性,不是相对人工真值的准确性。这两件事经常被混为一谈。
局限第 1 条的量化边界:教师参照到底藏了多少

「参考是教师输出」通常只能写成一句定性的歉词。这篇论文做了一件更狠的事:在有专家真值的 TopCoW 上把内部队列的处境复刻了一遍——用 20 例专家标注训练一个教师,由它给 85 例生成伪标签,再训练学生。于是同一批学生同时拥有两套读数:相对教师标签的,和相对专家的。在 S/V 最高的交通支上:

网络网格,3 seeds。来源:alpha_li01_summary.json · alpha_li01c_summary.json(手稿附录 A.7)
读数体积误差Dice
学生 (教师标签训练) 相对教师标签 你能看到的+5.3%0.693
学生 (同一批) 相对专家真值 真实情况−62.1%0.417
学生 (专家标签训练,对照) 相对专家−23.7%0.640

偏倚确实会从教师传给学生:两组学生相对专家的差 −40.1%(95% CI [−55.0%, −26.7%],不含 0)。而只拿教师当参照时,你看到的是 Dice 0.693、体积几乎没偏——虚高了 0.276,而真实的低估有 62%。

最要命的一条:把教师做好也解除不了这个掩盖。把教师训练例从 10 加到 40,Dice 虚高只从 0.291 降到 0.186(三档 CI 全部排除 0);而在 40 例那一档,学生对教师标签的体积误差是 +20.8%(看着在高估),对专家却是 −37.3%(实际在大幅低估)——教师参照下的读数连符号都可以是反的。

边界:这是在外部数据集的受控设置下测的,不直接外推到内部队列(教师规模、解剖域、标注来源都不同),且只覆盖单一教师抽样。需要分清的是:本文两条机制结论(机制一、机制二)是模型内部与后处理的性质,不依赖参考的真值地位;外部 TopCoW 的全部对决本来就以专家标注为参考。所以这条局限限制的是「内部数字能叫准确性还是只能叫可重现性」,不是机制本身。

给写论文的人

上面那个方框是处理致命局限的范本:不要只写「我们的参考不是金标准,这是局限」——那等于把刀递给审稿人。去量化它,哪怕要为此单做一个配套实验。量化之后,「软肋」就变成了「一个被精确界定、并且我比你更清楚的边界」,审稿人能提的那句话你已经先替他说完了。

第 5 条(Bootstrap 抽样单位)是那种 99% 的论文都不会写、但只要被懂统计的审稿人抓到就很难看的细节。主动写出来,等于告诉审稿人「我知道我的区间能说明什么、不能说明什么」。

第 7 条同理,而且更要紧:合成退化低于真实配对数据,这件事审稿人一定会提——而且 Medical Physics 的审稿人恰好是最清楚这个差别的人。自己先写出来并划定适用范围,等级差就从一个把柄变成了一个被明确界定的边界。

11. 期刊等级判断

先说结论:这篇工作的专业现实落点在医学物理 / 放射影像领域的权威期刊(如 Medical Physics,最新中科院 3 区 / JCR Q2;或 European Radiology,中科院 2 区),有冲击 1 区 Top(MedIA)的可能性,但不是高概率事件。并入第 7 节之后,首选目标没变,但「为什么是它」的论据和风险结构都变了。2026-11-01 手稿升到 v1.5 之后又变了一次:局限第 1 条由定性改成定量(见 第 10 节的方框),这把第二站的排序整个换了一遍——Radiology: AI 从「增幅最大」退到「有条件」,MedIA 反而上来并列第二。下面三段分别讲。

并章改变了什么(这决定了下面的排序)

并章前,论文的可操作结论只面向算法实现者:「报告体积前先确认收敛」「导出要 Argmax 先行」。并章后多了两条面向临床研究设计者的结论:「L3 单层惯例使个体测量标准差放大约 1.8 倍,不适合纵向随访」「报告体积必须同时报告噪声幅度口径,而不是只写重建算法名称」。

这个变化的意义不只是「内容更多了」:它把论文从「一篇讲模型怎么不可靠的工程论文」变成「一篇讲测量不确定度全链路的医学物理论文」——而后者正好是首选目标刊的母语。

分区信息依据仓库 docs/reports/venue-options.md(§6 为并章后重评,§7 为 2026-11-01 局限第 1 条量化后的重评,以 §7 为准)整理时的已知情况,各体系每年调整,投稿前必须在 LetPub / ablesci / 学校图书馆查询系统核实最新版本。
优先级期刊 / 会议分区适配判断(↑↓ 为并章后的变化)
首选 Medical Physics
AAPM 旗舰
中科院 3 区
JCR Q2
CCF 未列入
↑ 显著增强。该刊的核心关切就是测量不确定度与物理可重现性。并章后,本文在同一篇里同时给出不确定度的产生侧(训练、导出)与输入侧(噪声幅度、层厚、聚合口径)记账,加上两套 LOA/ICC 矩阵和一个无真值质控量。「偏倚没变而精密度翻倍」就是医学物理最典型的论述形态。注:当年度最新升级版正式分区核实为医学 3 区 / 核医学与医学影像 3 区(非 Top,JCR Q2),若单位考核卡硬性 2 区需注意备选方案。
第二站(有条件) Radiology: Artificial Intelligence
RSNA
中科院 1–2 区
JCR Q1
CCF 未列入
⬇ v1.5 后风险上升、超过收益(这是本轮变动最大的一行)。并章时它曾是「增幅最大」:STR 作为无人工标注条件下的失真门控,直接对应临床 AI 工具的验证与监管痛点;L3 精密度惩罚能直接改临床研究设计。但局限第 1 条量化之后,它原有的硬缺口(风险 2,缺临床终点)和新的参考属性问题会合并成一个更难回答的质询:「你自己证明了教师参照可能连符号都反,而你没有任何临床终点,那临床该据此做什么?」只在备好这套合并质询的回应后再投;否则把 European Radiology 提前。
第二站(并列)/冲刺 Medical Image Analysis
MedIA
中科院 1 区 Top
JCR Q1
CCF B
⬆ v1.5 后实质增强,上调为第二站候选。并章让对 nnU-Net 默认早停与默认导出的批判更完整;而局限第 1 条的量化把本文从「我们的参考不太好」提升到「我们顺带量化了一类公开数据集的共性问题」——MedIA 的读者对模型生成标注的下游后果有直接兴趣(TotalSegmentator、AbdomenAtlas 这些广用数据集的标注本身就是模型输出)。代价是篇幅压力进一步上升,仍可能被要求「拆开」或补架构/数据集。
临床线 European Radiology
Insights into Imaging
中科院 2–3 区
JCR Q1–Q2
↑ 明显增强。L3 单层惯例的精密度结论是放射科读者能直接拿去用的——不需要理解 SWA、也不需要理解重采样算子。
不再建议首投 MICCAI / MIDL
会议
CCF B(MICCAI)
会议无分区
↓ 适配下降。并章后内容量远超 8 页,强行压缩会牺牲第 7 节与双队列证据链——而那正是本文的分量所在。MIDL/MELBA 社区口碑好,但多数国内考核体系不计分,需先确认单位规则。
保底 Journal of Medical Imaging (SPIE)
Scientific Reports
中科院 2–4 区
JCR Q1–Q3
门槛低,影响力有限。

必须正面处理的四个审稿风险

  1. 合成退化的证据等级(最可能的拒稿理由)。第 7 节的噪声是频域整形合成的,层厚是块平均模拟的,不是真实多剂量采集。而 Medical Physics 和 Radiology: AI 的审稿人恰好最清楚这个差别。
    应对:手稿局限第 7 条已明写等级差,并把定位限制为「受控单变量条件下的机制归因」;同时拿层厚收缩与两项独立真实研究的三方收敛(−14.46% / −14.7% / −14.3%)作旁证。投稿信里要主动点出来,别等审稿人提。如果被要求补真实数据,唯一已知的现成路径是 TCIA 的 LDCT-and-Projection-data(Moen 等 2021,含真实投影),但工作量很大,宜作为 major revision 的预案而非首投前置条件。
  2. 缺少临床终点联动(Radiology: AI 这条线的硬缺口)。本文证明了测量不确定度有多大,但没有数据回答「这个不确定度是否真的改变了肌少症的诊断分类、或生存分析的风险比」。RSNA 系期刊一定会问这个问题,而当前仓库没有带临床随访终点的队列。
    应对:诚实写成未来工作。这也是为什么 Radiology: AI 不适合首投——而在 v1.5 之后,这个缺口还会和新出现的风险 4 合并,所以它从第二站退到了附条件的第三站。
  3. 篇幅与范围。三机制 + 两解法 + 一指标 + 双队列 + 附录 A 七节字段溯源,已经是长文规模。
    应对:优先把第 7 节的完整退化相图与 38 组 SD 比明细下沉到补充材料,正文只留等幅三谱、2D/3D 主表、复合退化表与 LOA/ICC 矩阵。若目标刊有硬字数上限,7.3(虚假对消与 STR)可单独做一篇 Technical Note 配套短文。
  4. 参考属性——把软肋量化之后新出现的风险(v1.5 新增)。局限第 1 条改成定量是净收益,但它有不利的一面,必须自己先说清:量出来的数字很难看,而且是作者自己给的。审稿人现在从正文就知道,在可比的细结构上教师参照的读数可以偏 62%、甚至符号相反——而本文全部内部定量结果都是教师参照的。
    应对:见下面的方框。核心是一句话:本文两条机制结论的形态是「差」,不是「准确度」。另外 159 例私有盲测在 v1.5 之后不能再写成与外部 TopCoW 并列的两大支柱之一,它证明的东西变了——改写成「机制结论在大样本真实临床队列上的可重现性证据」。
v1.5 之后的关键防守:差值 vs 准确度

局限第 1 条攻击的是相对真值的准确度。但本文机制一、机制二的主张形态是同一模型在不同条件下的差——参考根本不进入这些量:

主张归档字段依赖参考?
跨 seed 体积极差 18.12% → SWA 4.43%aggregate.IMAT.<arm>.seed_range_relative_mean否(模型与模型之间比)
导出侵蚀 −2.82% → −0.69%part_a_export_mechanism_control.<path>.mean_pred_export_shift否(同一模型自己的网络网格对自己的导出)
第 7 节各退化条件的偏差以同一病例自己的 clean 输入为基线否(「相对参考标签」列除外)
原生相对误差 −3.47% / Dice 0.9085.mean_nat_rel_err、.nat_dice是,受局限第 1 条限制

两条机制的核心数字与两个修法的效果量,全部落在「否」那几行。教师参照只影响以「相对参考」表述的准确度列。这一点必须在正文和投稿信里明写——否则审稿人读完 v1.5 的局限第 1 条,很自然会把整篇内部结果一并打折。这个区分在 v1.5 之前就成立,只是以前没必要说破。

建议的投稿顺序

顺序去向定位与准备
1Medical Physics框架写成「细微解剖结构绝对体积测量的全链路不确定度记账与免重训修复」;投稿信并列申明两件事:第 7 节的合成退化属性与等级边界,以及内部参考为模型输出、其影响已被量化写入局限第 1 条——同时用一句话给出上面的差值/准确度区分。两件事放在一起主动说,比分开被问效果好得多。
2MedIA
与下一行并列,二选一
v1.5 后上调。按投稿时的篇幅准备情况与下一行二选一:若愿意承担篇幅压缩与可能的补数据集要求,伪标签量化使它比并章时更有胜算
3Radiology: AI导语改为临床 AI 工具的验证与质控视角,主打 STR 与 L3 精密度惩罚;仅在备好「临床终点缺口 + 参考属性」合并质询的回应后再投,否则把下一行提前
4European Radiology / JMI临床放射学线或保底。这条线主卖 L3 单层精密度惩罚,不依赖内部参考的真值地位,所以 v1.5 对它基本没有影响

按你的考核口径选

看 CCF

只能冲 MedIA(CCF B)。医学影像方向基本没有 CCF A 的专门刊物——MICCAI、MedIA、TMI 全是 CCF B,这就是这个方向的天花板。并章后 MICCAI 这条路实际上关了,所以「看 CCF」和「看分区」现在指向同一本刊。

看中科院分区

冲刺 MedIA(1 区 Top)或 Radiology: AI(1–2 区),专业首选 Medical Physics(最新核实为中科院 3 区 / JCR Q2)。若机构考核硬性要求「2 区以上」,Medical Physics 将不满足该门槛,需转由 European Radiology(中科院 2 区,但偏临床)或 MedIA(1 区 Top,高门槛)承接;若无硬性 2 区限制,Medical Physics 依然是专业与论述形态最契合的目标。

诚实的概率估计

为什么不建议把 MedIA 当主目标:本文只用了一个网络架构(nnU-Net ResEnc-M)。MedIA 这个档位的审稿人几乎一定会问「换成 Transformer 架构(如 Swin-UNETR)还成立吗?」目前没有这个实验。另外内部参考掩膜是教师模型输出,这在 1 区 Top 的审稿中是一个实打实的扣分项。并章后又多了一个合成退化的等级问题。但 v1.5 把天平往回拨了一些:伪标签偏倚的量化正好落在 MedIA 读者关心的地方,所以它从「冲刺」变成了「并列第二站」——仍然不是主目标,但不再是只能看时间余量才考虑的那一档。

为什么 Medical Physics 仍是现实首选:该刊接受「这是一个测量学问题」这个框架,对参考标准的要求相对宽松(Otgonbaatar 等 2026 在 BMC Med Imaging 上也明确写了「缺乏独立参考标准」,这是该领域的共同现状),而本文的 LOA/ICC 矩阵与不确定度分解正好是它的标准语言。并章之后这种契合度只增不减。

TMI 为什么不在列表前面

IEEE TMI 偏好方法创新。本文不提新网络、不提新损失,适配度低。把分析型论文投给偏好方法创新的期刊,是最常见的、也最浪费时间的误配。

12. 给计算机专业学生的八条外带

  1. 你优化的指标和你真正关心的量,可能是解耦的。Dice 差 0.01、体积差 18%,不是矛盾——是因为一个是接近饱和的重叠量,一个是从零累加的无基线量。动手前先问:我的损失函数覆盖了下游终点吗?
  2. 一阶近似先于实验。ΔV/V ≈ δ·(S/V) 这个式子一行就能写出来,然后用它去预测哪个组织会出问题、放大多少倍,再去测。能被简单模型预测的现象才叫机制,否则只是观测。
  3. 计算图的顺序是有语义的。「插值后 argmax」和「argmax 后插值」在数学上不是同一个算子。这类 bug 在工程上不报错、在指标上只掉 0.015 Dice、但在下游量上造成 10% 的系统偏差。
  4. 做预算配平对照。任何「加个 trick 就变好」的声称,都要把更多算力/数据/参数这些替代解释在对照臂里固定住。control300 那个「拿到 5 倍预算反而更差」的反例,比正面结果更有说服力。
  5. 给你的机制找一个反面实验。跨 seed 权重平均崩到 Dice 0.0001,这个失败界定了 SWA 的作用域。只有正面结果的机制解释,审稿人没法判断你是不是在讲故事。
  6. 照实保留负面结果,并把结论的适用范围精确划出来。G_EX1b 未通过、拓扑归因被自己证伪、边界翻转率只能解释一部分(r = 0.241)——这些全部原样写进论文。把主张分层(在这一对上成立 / 在整个集合上不充分 / 其余来源未分解),比含糊地声称一个强结论安全得多。
  7. 做阴性结果时,必须在同一份数据里安排一个你预期它会动的量。这叫内生阳性对照。「三条谱下阈值法偏差一样」本身是无法解释的——可能是真没差异,也可能是你的噪声发生器根本没把谱形拉开。而同一批数据上 Smoothed HU 给出 +3.00% → +6.38% → +10.84% 的强阶梯,就把「仪器失灵」这个竞争解释排除了。没有阳性对照的阴性结果,等于没有结果。
  8. 偏倚和精密度是两个独立的失效通道,报了一个不等于报了另一个。7.2 里 2D 单层的均值偏差更小(0.73×)而标准差更大(1.8×)——只看均值会得出「2D 没问题」,只看 SD 会得出「2D 更糟」,两个都对,合起来才是真相。这和 Dice 盲区是同一类错误:一个标量汇总量永远可能在掩盖另一条通道。每报一个汇总量,都问一句「它掩盖了什么」。
如果只能记住一条

第 7、8 条其实是同一件事的两面:你报告的数字和你关心的事实之间,永远隔着一层「我选了哪个汇总量」。Dice 掩盖体积、偏倚均值掩盖精密度、净体积差掩盖空间翻转——这三次是同一个错误犯了三遍,而论文的全部价值就在于把这三遍都抓出来并各给一个可执行的补救。做研究时,怀疑你的指标,比怀疑你的模型更有回报。

13. 仓库导航

想看什么去哪
论文全文(唯一一篇)docs/reports/measurement-reliability-draft.md
原第二篇论文的实验底稿
已并入正文第 6 章,不独立投稿
docs/reports/estimator-bias-tradeoffs-draft.md
「不独立成文」的决策记录(P6)paper2-viability-assessment-2026-11-01.md
每条断言 → JSON 字段路径的映射手稿附录 A(A.1–A.8;A.6 对应本页第 7 节,A.7 对应局限第 1 条的量化边界)
期刊选择的完整评估docs/reports/venue-options.md
独立复核与未决问题台账independent-verification-and-new-leads-2026-10-31.md
S/V 的实现src/bodycomp_lab/label_provenance.py 的 surface()
导出机制对照实验scripts/run_tv09_export_mech_and_mode_conn.py
全部归档结果 JSONdocs/results/2026-10-29/ · 2026-10-30/ · 2026-10-31/ · 2026-11-01/