信息速览
INFOBOX — BronchoAccess 一屏速览
维度 内容 本质 首个把「术前 CT」与「术中真实取材转归」配对的可达性数据集 + 评测基准(非挑战赛) 团队 西北大学 Bagci Lab(Machine and Hybrid Intelligence Lab),通讯 Ulas Bagci,13 作者 论文 MICCAI 2026:Anatomy-Aware Prediction of Bronchoscopic Accessibility from 3D CT(arXiv:2609.37386v2,2026-10-12) 规模 438 例 / 3 家中心;279 例诊断成功 + 159 例非诊断(阳性率 63.7%) 模态 术前胸部 3D CT + 病灶 patch + 气道树图;每例 1 个目标病灶 标签 活检组织经组织病理学确认才算成功——术后硬结局,非术前主观判断 文件 HF 仓库 1,323 个文件:images 438 + patches 438 + graphs 438 + labels.csv + 6 张示意图 命名 DiagMal 224 / DiagBen 55 / NonDiag 159;前两者合并 = 279 基准模型 解剖感知专家混合(CT + 肺叶 + 路径几何三专家 + 自适应门控),3.83M 参数 主结果 患者级五折:Acc 0.8068 / F1 0.8595 / AUROC 0.8052 / PRAUC 0.8496 人机对比 22 名临床医生 AUROC 0.5661;最强同输入 CNN 基线 EfficientNet-b0 0.7310(未达显著差异) 获取 Hugging Face 公开直链, gated=false,无需申请许可 CC BY-NC-4.0(禁商用);项目页页脚 CC BY-SA 4.0 只约束网页 库内互链 atm-airway(922)、bm-bronch(912)、luna16(237)、lidc-idri(19)、nsclc-radiomics(247)
BronchoAccess 拆掉了支气管镜领域一道长期存在的墙:术前影像里「这个结节能不能够到」从来没有人用手术结果去校准过。过去,一位术者对着 CT 判断「这个片子镜子应该能到位」,做完之后不管成没成,这个判断都不会被记录下来、更不会被汇总成数据。BronchoAccess 的做法是把 438 次真实手术的结果逐个贴回术前 CT——279 次拿到了组织病理学确认的诊断性组织,159 次没有——然后问一个很朴素的问题:只看术前 CT,能不能提前算出这一次会不会成功?
答案出人意料地悲观:22 名临床医生的 AUROC 只有 0.5661,几乎等于抛硬币。而一个 3.83M 参数、只有三个「专家」的小模型做到了 0.8052。这个反差本身,就是这个数据集最值得被记录的地方。
导语读法三则:
- 只想下数据跑通:直奔 §6 获取与许可——HF 公开直链、无 gate,
snapshot_download一把拉完 1,323 个文件;先读labels.csv再决定怎么造标签。 - 关心「这个分数能不能信」:直奔 §4 与 §5——AUROC 0.8052 是在 438 例上做五折得到的,且同输入对照里 EfficientNet-b0 的 0.7310 与它差异不显著,这一点必须连着读。
- 关心临床怎么用:直奔 §7 与 §9——这份数据是「分诊信号」而不是「否决权」,误判的代价是双向的。
§0 导读:这个数据集解决什么问题
0.1 一支镜子够不到结节,意味着什么
肺结节离气道越远,支气管镜就越难取到组织。临床上这条路径通常是:CT 发现可疑结节 → 判断能不能做支气管镜 → 能就做导航支气管镜(navigational bronchoscopy),取到组织送病理 → 病理报告决定下一步是手术、放化疗还是随访。这个链条里最脆弱的一环是第二步:「能不能做」这个判断长期依赖术者盯着 CT 的主观阅片。
论文开篇把这个痛点写得很直白:当前的可达性评估依赖对 CT 的主观人工阅片,既耗时又存在观察者间变异(inter-observer variability)。更重要的是,这个判断在临床上几乎没有被系统性地「记账」——做了什么术式、有没有取到组织,这些结果散落在各自的病历里,不会回流成可学习的标签。
0.2 BronchoAccess 的三个动作
动作一:把转归变成标签。 论文采用的判据极其干净——一次手术被判「成功」,当且仅当活检样本经组织病理学分析确认取得了诊断性组织。这是「诊断率(diagnostic yield)」这一客观终点,而非术者事后回忆的「我觉得挺顺利」。438 例里 279 例成功、159 例失败,标签来自病历中记录的转归。
动作二:把影像拆成三块可解释的输入。 术前 CT 不是直接塞进一个 3D 卷积网络了事,而是拆成三路:病灶周围的局部形态(CT 专家)、病灶坐落在哪个肺叶(肺叶专家)、从气管到病灶的那条路径沿途的几何累积约束(路径几何专家)。三路各自出特征,再由一个门控网络按病例加权融合。
动作三:把人和机器放在同一张表上比。 论文请 22 名临床医生对同一批 CT 做可达性判断,得到 AUROC 0.5661,作为基准表里的一行。这个设计让「AI 到底有没有超过人」这个问题第一次在这个任务上有了可引用的数字。
0.3 一个必须先记住的前提
BronchoAccess 的标签是回顾性队列的真实转归,不是前瞻性招募下按统一方案测量的结果。这意味着两件事:第一,阳性率 63.7% 反映的是这家中心「决定给谁做支气管镜」的选择偏倚,不是人群基础发生率;第二,某些「非诊断」并非真的够不到,而可能是术中并发症、样本质量、病理判读等链路其他环节出问题。论文的定性分析里对这一点有直接的证据(见 §4.5 假阴性案例)。
0.4 与其他「影像→结局」数据集的差别
库内已有大量「影像→诊断」的数据集:luna16 是「这张 CT 里有没有结节」,lidc-idri 是「这个结节的良恶性标注」,deeplesion 是「病灶在哪」。BronchoAccess 问的不是这三类问题中的任何一个,它问的是**「如果我拿这支镜子去够它,够得着吗」——一个关于操作可行性而不是病变性质**的问题。这个区分很重要:同样一个 8 mm 的实性结节,长在右上叶尖段邻近支气管处和长在左下叶后基底段外周,前者的可达性和后者完全不同,而任何只学「结节外观」的模型都无法表达这种差别。
§1 数据集速览:十问十答
Q1:BronchoAccess 到底是什么?
一个「术前影像 ↔ 术中真实转归」配对的数据集:438 例患者,每例一份术前胸部 3D CT,配一个二分类标签——这次支气管镜活检有没有拿到诊断性组织。同时附带一个论文提出的基准模型与一套完整对照实验。
Q2:438 例是从哪来的?
论文写「retrospectively collected」(回顾性收集),来自三家临床中心。三家中心的名字、国别、各自贡献的例数都没有披露。全部手术在同一导航平台上完成,但涉及多名术者与不同设备配置。
Q3:279 和 159 分别是什么?
279 例诊断成功(diagnostic),159 例非诊断(nondiagnostic)。判据是活检组织经组织病理学确认。这两个数字在三处来源(论文 §3.1、官网新闻稿、HF 数据卡)完全一致。
Q4:文件里怎么区分这两类?
HF 仓库用三个前缀命名:DiagMal(恶性诊断)224 例、DiagBen(良性诊断)55 例、NonDiag(非诊断)159 例。224 + 55 = 279,正好对上「诊断成功」的口径。也就是说,数据集保留了「诊断成功里是良性还是恶性」这一层信息,而二分类任务把它抹平。
Q5:每例具体有几个文件?
三个:images/<ID>_0000.nii.gz(术前 CT,NIfTI)、patches/<ID>_0000.nii.gz(以病灶为中心的三通道 patch)、graphs/<ID>_0000.pt(气道树图,PyTorch Geometric 格式)。另有仓库根的 labels.csv 汇总标签。
Q6:那个「三通道 patch」是哪三通道?
论文写得很明确:原始 CT 强度、病灶的二值掩膜、气道的三维欧氏距离变换(Euclidean Distance Transform, EDT)。EDT 的价值在于把稀疏的气道掩膜变成连续的空间梯度,比直接用掩膜更稳定。
Q7:基准模型的三个「专家」分别做什么?
CT 专家:4 个残差块 + 挤压激励(SE)通道注意力,从 128×128×32 的 patch 里抽局部形态特征。肺叶专家:把肺叶编号(1-5)做嵌入再进两层 MLP,作为全局解剖先验。路径几何专家:在气道树上选出离病灶质心最近的路径,把沿途每个节点的管径、分叉指数、曲率、扭转、相对路径长度排成序列,喂给一层双向 GRU。
Q8:这个 0.8052 是什么口径的分数?
患者级五折交叉验证的 AUROC,四个指标一起报(Acc 0.8068 / F1 0.8595 / AUROC 0.8052 / PRAUC 0.8496)。「患者级」意味着同一个患者的样本不会被同时分进训练和验证折。
Q9:能直接下载吗?
能。HF 仓库 gated=false、private=false,公开直链,snapshot_download 或 git clone 都行。许可 CC BY-NC-4.0,不能商用。
Q10:它对我有什么用?
三类人最直接受益:做术前规划工具的团队(需要真实转归标签来验证「能不能到」的预测);做影像→结局建模的研究者(438 例的多中心小样本「硬终点」是很好的方法验证场);以及写综述或做临床决策支持分析的人(人机对比表 AUROC 0.5661 vs 0.8052 是可引用的基准)。
§2 数据构成与规格
2.1 队列构成与标签口径
先看数字怎么闭合。论文正文给出的是二分类口径:
| 类别 | 例数 | 占比 | 判据 |
|---|---|---|---|
| 诊断成功(diagnostic) | 279 | 63.70% | 活检组织经组织病理学确认 |
| 非诊断(nondiagnostic) | 159 | 36.30% | 未取得诊断性组织 |
| 合计 | 438 | 100% | 3 家临床中心,回顾性 |
再看文件命名口径。HF 仓库三个子目录(images/patches/graphs)的命名前缀分布完全一致:
| 前缀 | 含义(推断) | 例数 | 与二分类的关系 |
|---|---|---|---|
DiagMal |
诊断成功且病理为恶性 | 224 | 归入「诊断成功」 |
DiagBen |
诊断成功且病理为良性 | 55 | 归入「诊断成功」 |
NonDiag |
非诊断 | 159 | 「非诊断」 |
| 合计 | — | 438 | 224 + 55 = 279 |
两种口径在数值上严丝合缝,说明命名不是随手起的,而是把二分类标签与病理性质编码进了文件名。对使用者的实际意义:如果你只做二分类,labels.csv 或前缀里 Diag* 与 NonDiag 的区分就是全部;如果你想做三分类(恶性/良性/未诊断),BronchoAccess 意外地直接支持——这是一个论文没有强调、但数据组织方式已经提供的扩展方向。
需要注意的一个隐含问题:224 比 55 的恶性/良性落差不能解读为「肺结节的恶性率」。这是「做了支气管镜且取到组织」的子集,本身经过临床筛选,恶性比例高是选择链的结果。
2.2 文件结构与规格
HF 仓库共 1,323 个文件,构成如下(2026-10-17 用 HF API siblings 逐文件清点):
| 路径 | 数量 | 格式 | 内容 |
|---|---|---|---|
images/ |
438 | .nii.gz(NIfTI) |
术前胸部 3D CT 体数据 |
patches/ |
438 | .nii.gz(NIfTI) |
以目标病灶为中心的 3 通道 patch |
graphs/ |
438 | .pt(PyTorch Geometric) |
气道树图、路径节点与几何描述子 |
assets/ |
6 | .png |
README 配图(管线图、队列协议、案例解剖、基准 AUROC、消融、banner) |
labels.csv |
1 | CSV | 病例标签汇总表 |
README.md / .gitattributes |
2 | 文本 | 数据卡与 Git 配置 |
所有病例文件的后缀都是统一的 _0000(例如 DiagMal0012_0000.nii.gz),这是 nnU-Net 风格的通道后缀约定,表示该文件是第一通道。438 个病例 ID 无重复。
2.3 病例 ID 的编号空隙说明了什么
逐文件清点可以看到,编号不是从 0001 连续排到 0438 的,中间存在跳号(例如 DiagBen0010、DiagBen0012、DiagBen0013 在仓库中不存在)。这通常意味着原始队列做过筛选:某些病例在质控环节被剔除(图像质量、病灶不可定位、转归记录缺失等),保留下来的是 438 例。
论文没有解释筛选标准,也没有给出「筛掉了多少」。这一点对复现研究有影响:如果你要在自己的单中心队列上复现这个结果,需要自己决定同样的筛选规则(例如「必须有明确的单个目标病灶、必须有完整的病理转归记录」),否则分布对不上。
2.4 预处理链
论文 §3.2 给出的预处理是两步串行:
- 病灶检测:用 RetinaNet 自动检测肺病灶,再人工核验,确保与手术目标一致。这一步很关键——数据集里的「目标病灶」必须与术者当天实际去够的那个病灶一致,否则标签没有意义。
- 气道分割:用 Naviairway 管线(Wang et al., arXiv:2203.04294)分割气道树。
产物就是三个子目录里的东西:CT 原图(images)、以病灶为中心的 patch(patches,三通道:强度 + 病灶掩膜 + 气道 EDT)、气道树图与路径(graphs)。
2.5 CT patch 的规格
论文写明:patch 尺寸 128 × 128 × 32,以目标病灶为中心提取;强度值裁剪到肺窗范围后归一化。
128×128×32 是一个相当克制的尺寸。它覆盖的物理范围取决于层厚与平面分辨率——论文没有给出具体毫米数,这是本条目记下的一个疑点(见坑 9)。对使用者的含义是:如果你想扩展视野(例如把整个肺叶都放进去),必须自己重新从 images 里切,patches 只提供论文口径的那一版。
2.6 气道树图与路径序列
graphs 目录里存的是气道树图。论文描述的构造流程是:
- 从分割后的气道树构建图 𝒢 = (𝒱, ℰ);
- 只保留最大连通分量(防止分割噪声产生孤立碎片);
- 剔除长度短于某个物理阈值的边;
- 从气管到病灶之间选出候选导航路径:如果有多条合理路线,选欧氏距离到病灶质心最短的那条;
- 把路径上的节点按解剖级数(generation)排成近端到远端的序列。
这个设计有一个值得注意的取舍:气道树本身是图,但路径选出来之后是一维有序序列,所以路径专家用的是序列模型(GRU)而不是图神经网络。作者在方法节明确解释了这一点。对于想改进这个方法的人,这个取舍正是一个可攻击的假设——如果路径选择错了,后面再好的序列模型也只能沿着错的路走。
2.7 标签文件的角色
labels.csv 是整个数据集里唯一一个非影像文件。它的重要性被低估了:所有影像文件本身不带标签,标签只在这里(以及文件名前缀里)出现。工程上建议的做法是:先读 labels.csv 建立 case_id → label 的映射,再用目录清单交叉核对 438 行是否对齐,避免因为某个子目录缺文件而不自知。
本条目没有逐行核验 labels.csv 的字段结构(见坑 8 与 FACTS §9 疑点 4),只确认了文件名存在、且三个子目录的病例数均为 438。
2.8 三类文件之间的关系
三个子目录不是"三种不同的数据",而是同一份 CT 的三种视图:
| 文件 | 从哪来 | 精度 | 谁需要它 |
|---|---|---|---|
images/<ID>.nii.gz |
原始 CT 重采样/重定向后的完整体数据 | 全肺、原始分辨率 | 想自己切 patch、想试验更大视野的团队 |
patches/<ID>.nii.gz |
从 images 按病灶中心裁 128×128×32 + 三通道构造 |
局部、固定体素数 | 直接复现论文 baseline 的团队 |
graphs/<ID>.pt |
从气道分割结果构建的图与路径 | 结构级(节点/边) | 想做图神经网络或路径建模的团队 |
这意味着一个重要的自由度:images 是"原料",patches 与 graphs 是"半成品"。如果论文的 128×128×32 视野对你的场景太小(例如你想看整条叶支气管的走行),你可以从 images 自己重切,代价是必须自己重建 EDT 与掩膜通道,而且必须自己跑一遍分割,否则三通道对不上。
反过来,如果你只想验证"这套方法在一个新数据上是否可行",直接用 patches 最省事,但它把你锁死在作者的预处理假设里——包括一个未公开的细节:patch 的物理尺寸随层厚变化(坑 9)。
2.9 标签在两类文件里的冗余
同一份标签被编码了两次:一次在文件名前缀(DiagMal/DiagBen/NonDiag),一次在 labels.csv。这种冗余在数据集设计里有好处(单一文件损坏不至于丢全部标签),也有风险(两处不一致时以谁为准)。
推荐的核对顺序是:
- 从三个子目录各取文件名前缀,两两比对,三者必须完全一致;
- 用同一份 case_id 去
labels.csv查对应标签; - 对不上的病例单独列一张表,人工判读——数量应该为 0 或极少,若成批不一致说明下载不完整或者
labels.csv用了另一套编号。
这个流程之所以必要,是因为 BronchoAccess 的病例 ID 不是连续的(见 2.3),任何"按序号顺序假设对齐"的做法都会出错。
2.10 一个被忽略的可用性维度:病例编号的语义
DiagMal0001、DiagBen0001、NonDiag0001 这样的编号方式,意味着三类病例各自独立编号。这带来两个实际后果:
- 不能用编号大小推断采集时间。
DiagMal0300与NonDiag0012谁先拍的完全不知道,编号只是类内序号。 - 同一序号在三类里可能都存在。
DiagMal0001与NonDiag0001是两个完全不同的患者,做任何 join 操作前必须带上前缀作为完整键。
对于想在病例层面做时间序列分析(例如"早期病例的转归率是否更低")的研究者,这份数据不提供时间信息——这是一个结构性限制,不是可以通过预处理绕过的。
§3 任务定义:从「可达性」到可训练的二分类
3.1 形式化
论文把任务写成一次映射:
ℱ: { X, 𝒢, c_N, L } → y
其中 X ∈ ℝ^(H×W×D) 是 CT 体数据,𝒢 = (𝒱, ℰ) 是气道树图,c_N ∈ ℝ³ 是目标病灶质心,L ∈ {1,…,5} 是肺叶编号,y ∈ {0,1} 表示这次支气管镜是否可达(即是否取得诊断性组织)。
这个式子里有三处值得停下来看:
- c_N 是「这一例的目标病灶质心」而不是「所有病灶」。数据集是单病灶口径(HF 卡写 「one target lesion each」),多发病灶病例在被纳入时只保留一个作为目标。
- L 是肺叶编号而不是三维坐标。这是一个强烈的先验压缩:把病灶位置降维成 5 个类别。作者的理由是「不同肺叶的分叉深度与走向不同,导致操作难度不同」。
- 𝒢 是输入而不只是中间产物。气道树不是被边缘化的背景,而是显式参与预测的信息源。
3.2 标签的三个容易混淆的层次
初读这份数据的人容易把下面三件事混为一谈,必须分开:
| 层次 | 含义 | 数据里怎么体现 |
|---|---|---|
| 病理性质 | 病灶是恶性还是良性 | 文件名前缀 DiagMal / DiagBen |
| 取材是否成功 | 这次活检有没有拿到诊断性组织 | Diag* vs NonDiag;论文二分类标签 |
| 手术是否「可到达」 | 镜子在解剖上能不能到 | 数据里没有单独字段,只能由取材成功反推 |
第三层是模糊的。论文用「取材是否成功」作为「可达性」的操作化定义,理由是这个终点是客观的(有病理报告背书)。但这两者并不等价——镜子可以到达病灶却因为样本太小、坏死太多、穿刺位置偏移而没取到诊断性组织。论文的定性分析(§4.5)自己举了假阴性的例子:外周病灶在实际操作中可能靠术者经验或超细支气管镜取样成功,而模型判为不可达。
这个「操作化定义」的代价必须在使用前想清楚:你训练的模型学到的其实是「这个病例的支气管镜取材会不会成功」,它混杂了「解剖可达性」和「操作与样本质量」两个成分,而数据里没有把两者分开。
3.3 为什么这是一个「新任务」
论文在引言里明确宣称把这个任务「形式化为一个新的监督学习任务」,并给出三条贡献:首个端到端框架、一个融合三路信息的 MoE 架构、首个针对该任务的综合基准。这个「新」需要放在文献脉络里看:
- 气道分割已有的工作(Naviairway、多中心气道树建模)解决的是「把树画出来」,不解决「能不能到」。
- 病灶检测(LUNA16 一类的任务)解决的是「找出结节」,同样不解决可达性。
- 路径规划解决的是「怎么走」,但规划出来的路径通常是几何最优,不代表实际操作能成功。
- 既有的转归预测尝试(Naito et al., IJCARS 2023)用手工几何描述子 + 统计关联模型,没有端到端监督,作者认为这无法刻画局部形态、解剖位置、气道复杂度之间的非线性交互。
所以 BronchoAccess 的「新」不在于发明了一个概念,而在于把一个临床上人人都在做、但从未被数据化的判断,第一次变成了有标签、有基准、有对照的可复现实验。
3.4 评估协议
论文采用患者级五折交叉验证(patient-level splits)。这个协议在 438 例的规模上是合理选择——单独划一个测试集只会剩下不到 90 例,置信区间会宽到没有意义。患者级而非样本级划分保证了同一个患者的不同 patch 不会跨折泄漏。
代价是:五折交叉验证的结果仍然是内部验证。没有外部中心留出验证,也没有前瞻性验证。这一点在解读 0.8052 时必须记住(见坑 4)。
3.5 人工评估的设计
论文请 22 名临床医生独立阅 CT 体数据与目标位置,做可达性判断。设计上有两处非标准之处需要点明:
- 判断是三级难度评分,不是二分类。医生给的是「易/中/难」一类的三级评价,然后被映射成概率值 0.9 / 0.7 / 0.4 再算 AUROC 与 PRAUC。
- 这 22 人不是一个统一的「集体判断」。论文报告的是一个聚合后的 AUROC(0.5661),没有给逐医生的分布、也没有给医生间一致性指标。
这两点使得「人机对比」这张表在解读时要打折扣:0.9/0.7/0.4 这个映射是人为选的,换一组映射(比如 0.85/0.6/0.35)AUROC 会变;而单个医生的表现可能远好于或远差于 0.5661。论文用 「experienced human experts」 和 「expert bronchoscopists」 来描述这批医生,但没有给年资分布。
3.6 任务的临床位置
把这个任务放回临床流程,它的位置是「术前分诊」而不是「术中导航」:
| 环节 | 现有工具 | BronchoAccess 能贡献什么 |
|---|---|---|
| 术前:判断做不做支气管镜 | 术者阅片、经验 | 一个可量化的成功概率信号 |
| 术中:导航到病灶 | 电磁导航、机器人支气管镜 | 不直接参与(输入只有术前 CT) |
| 术后:记录转归 | 病历 | 数据集的标签来源 |
这也解释了为什么论文强调模型只有 3.83M 参数——“supports potential integration into pre-procedural planning workflows”,它要的不是一个吃掉整个工作站的巨模型,而是能在规划环节快速给出一个概率的小模块。
3.7 任务边界之外的事
需要明确指出三件 BronchoAccess 不做的事,避免误用:
- 不预测并发症:没有气胸、出血等字段。
- 不预测病理结果:虽然文件名里带了 Mal/Ben,但论文的任务不是良恶性分类,224:55 这个不平衡也没有被当作分类问题处理。
- 不覆盖非支气管镜路径:CT 引导下经皮穿刺、手术切除这些替代方案的成功率不在数据里。临床决策需要的是「在支气管镜和经皮穿刺之间选哪个」,而这份数据只能回答前者的那一半。
§4 基准结果:0.8052 是怎么来的,又该怎么读
4.1 主模型:三个专家 + 一个门控
Anatomy-Aware Mixture-of-Experts(解剖感知专家混合模型)的骨架可以从接口层面看清楚。它要解决的问题是:给一份 CT、一棵气道树、一个病灶位置、一个肺叶编号,输出一个 0 到 1 之间的可达概率。三个专家各自从不同侧面提取信息:
CT 专家(CT Expert)。以病灶为中心切一个 128×128×32 的立方块,三个通道分别是原始 CT 强度、病灶二值掩膜、气道三维欧氏距离变换。这个立方块送进一个定制的 3D 卷积编码器:4 个连续的残差块,每个残差块里加了挤压激励(Squeeze-and-Excitation, SE)通道注意力。卷积之后做全局平均池化,再过一个线性层投影到 d 维联合特征空间,得到 z_ct。
肺叶专家(Lobe Expert)。把肺叶编号 L(取值 1 到 5)当成一个类别变量,通过嵌入层映射到一个可学习的向量空间,再过两层 MLP,得到 z_lobe。作者的设计意图是:这层表示不应是某个肺叶的「独热标签」,而应是能刻画肺叶之间结构相似性的连续表示——上叶和下叶的难度不同,但上叶与中叶的相似度也不该是零。
路径几何专家(Path Geometry Expert)。这一路是整篇论文里工程细节最多、也最能体现「解剖感知」的部分。流程是:在气道树上选出通往病灶的一条路径;在路径的每个节点上计算五个几何与拓扑描述子——管径、分叉指数、曲率、扭转、相对路径长度;把这些描述子按解剖级数排成一维序列;最后用一层双向 GRU(每方向隐藏维 128)编码,两个方向的末态拼接后投影到联合空间,得到 z_path。
自适应门控(adaptive gating)。融合方式不是简单拼接或取平均,而是一个按病例计算权重的门控网络:
w = Softmax(MLP([p ; Ψ(L) ; g]))
Z = w_ct · z_ct + w_lobe · z_lobe + w_path · z_path
其中 p 是病灶位置,Ψ(L) 是肺叶嵌入,g 是图级的气道统计量。门控本身是一个三层 MLP(ReLU 激活,末层 Softmax)。融合后的 Z 进一个分类头,输出可达概率。
4.2 损失函数里的一行小心思
分类损失是标准的二元交叉熵(BCE),但作者在它后面减了一项门控分布的熵正则:
L_total = L_bce − λ · L_ent, L_ent = −(1/M) Σ_i Σ_j w_ij log(w_ij + ε)
注意这个减号。熵衡量门控分布有多「分散」,减去熵等于最大化熵——也就是鼓励三个专家的权重别太集中。如果不加这一项,门控很容易塌缩成「永远偏向 CT 专家」的退化解,另外两个专家就成了摆设。论文把 λ 设为 0.01。
这是一个小但关键的设计。它和常见的稀疏门控(Shazeer 等人 2017 年提出的 sparse-gated MoE,恰恰是鼓励稀疏、让每个样本只用少数几个专家)在方向上相反:这里要的是每个样本都用上多个专家、且不要一家独大。原因是这里只有三个专家,稀疏化没有计算收益,只有信息损失。
4.3 主结果与全表对照
论文 Table 1 把四个指标(Acc / F1 / AUROC / PRAUC)和参数量放在一起报。下表是该表的完整复刻(† 表示与本文方法的差异在 DeLong 检验下 p < 0.05):
| 输入类型 | 方法 | Acc | F1 | AUROC | PRAUC | 参数量 |
|---|---|---|---|---|---|---|
| 几何特征 | Logistic Regression | 0.6136 | 0.7536 | 0.5128 | 0.6897 | N/A |
| 几何特征 | Random Forest | 0.5682 | 0.7031 | 0.4590 | 0.5785 | N/A |
| CT 体数据 | DenseNet121† | 0.5909 | 0.7313 | 0.5301 | 0.6543 | 11.24M |
| CT 体数据 | Swin Transformer† | 0.6136 | 0.7499 | 0.5418 | 0.8069 | 38.50M |
| CT 体数据 | EfficientNet-b0† | 0.6022 | 0.7517 | 0.5725 | 0.7459 | 4.69M |
| CT 体数据 | ConvNeXt† | 0.6023 | 0.7482 | 0.5982 | 0.7750 | 31.30M |
| CT 体数据 | ResNet18† | 0.5795 | 0.6185 | 0.6333 | 0.7700 | 33.16M |
| 气道图 | GAT† | 0.6386 | 0.7794 | 0.5767 | 0.7115 | 52.35K |
| 气道图 | GIN† | 0.6265 | 0.7257 | 0.5774 | 0.6782 | 101.12K |
| 气道图 | GraphSAGE† | 0.6203 | 0.7541 | 0.5897 | 0.7129 | 86.14K |
| 气道图 | GCN† | 0.6329 | 0.7752 | 0.6483 | 0.7666 | 51.59K |
| — | 人类专家(22 人) | 0.5272 | 0.5423 | 0.5661 | 0.7434 | N/A |
| 混合 | Anatomy-Aware MoE(本文) | 0.8068 | 0.8595 | 0.8052 | 0.8496 | 3.83M |
这张表里有四个值得单独拎出来看的数字:
第一,人类专家 0.5661 几乎等于随机。 论文正文对此的措辞是 「indicating that visual CT inspection alone is insufficient for reliable accessibility estimation」。这句话的分量要看清楚:它不是「医生不如 AI」,而是「只看 CT 这一件事本身很难」。临床上医生做这个判断时还会看病史、看既往影像、看患者体位,这些信息模型都没有——所以这个对比不是公平的「人 vs 机」,而是「仅凭 CT 的人 vs 仅凭 CT 的机器」。
第二,最好的纯 CT 深度网络是 ResNet18 的 0.6333。 一个 33.16M 参数的标准骨干网络,在这个任务上比逻辑回归强不了多少(0.5128 → 0.6333)。这说明「把 CT 塞进大网络」这条路在这里走不通。
第三,最好的图神经网络是 GCN 的 0.6483,只有 51.59K 参数。 参数只有 ResNet18 的约 1/642,AUROC 反而更高。这个反常现象提示:气道树的结构信息比 CT 的纹理信息更「信号浓缩」。
第四,本文模型 3.83M 参数,比所有 CT 骨干网络都小。 论文特意强调这一点,指向的是部署可行性:一个 3.83M 的模型可以塞进术前规划工作站,而 38.50M 的 Swin 不行。
4.4 同输入对照:把「输入变多」这个解释排除掉
Table 1 有一个软肋:本文模型的输入比基线丰富(三通道 patch + 图 + 肺叶),赢了可能只是因为输得多。论文用 Table 2 回应——把 CT 骨干网络也喂同样的三通道输入(CT 强度 + 气道距离变换 + 病灶掩膜):
| 方法 | Acc | F1 | AUROC | PRAUC |
|---|---|---|---|---|
| Swin Transformer† | 0.6250 | 0.7626 | 0.5243 | 0.6698 |
| ConvNeXt† | 0.6477 | 0.7438 | 0.6629 | 0.7057 |
| DenseNet121† | 0.6590 | 0.7058 | 0.6640 | 0.7611 |
| ResNet18† | 0.6818 | 0.7586 | 0.7109 | 0.7834 |
| EfficientNet-b0 | 0.6704 | 0.7819 | 0.7310 | 0.8269 |
| Anatomy-Aware MoE(本文) | 0.8068 | 0.8595 | 0.8052 | 0.8496 |
结论被写得很清楚:性能提升来自「架构分解与自适应融合」,而不是输入增广。ResNet18 在拿到三通道之后从 0.6333 涨到 0.7109,涨了 7.8 个百分点——这部分提升确实来自输入;但即使涨完之后,距离 0.8052 仍差 9.4 个百分点。
但是这里有一个必须指出的细节。 表格里 EfficientNet-b0 那一行没有 †,也就是说它与本文方法的差异没有达到统计显著(DeLong 检验 p ≥ 0.05)。这是全表唯一一个未达显著的对照。论文正文写 「The strongest CNN baseline achieves 0.7310 AUROC, while the proposed method reaches 0.8052」,把 0.7310 归为「最强 CNN 基线」,但没有在同一句里点明它不显著。0.8052 − 0.7310 = 0.0742 的 AUROC 差距,在 438 例的规模上,置信区间是可以重叠的。
这不是说论文错了——主结论(相对 Table 1 的一众基线显著领先)仍然成立。但如果你要引用「BronchoAccess 的模型显著优于所有 CNN 基线」,这句话在同输入条件下不成立。准确的表述是:在同输入条件下,本文模型仅对 EfficientNet-b0 未达显著优势,对其余四个骨干显著。
4.5 消融:哪个专家真的在干活
Table 3 把三个专家做开关组合,共 7 种配置:
| 肺叶专家 | 路径专家 | CT 专家 | Acc | F1 | AUROC | PRAUC |
|---|---|---|---|---|---|---|
| ✓ | — | — | 0.6190 | 0.7647 | 0.5513 | 0.7030 |
| — | ✓ | — | 0.6310 | 0.7704 | 0.6040 | 0.6665 |
| — | — | ✓ | 0.7500 | 0.8035 | 0.7382 | 0.8028 |
| ✓ | ✓ | — | 0.7045 | 0.7968 | 0.5960 | 0.6857 |
| ✓ | — | ✓ | 0.7841 | 0.8504 | 0.7477 | 0.8141 |
| — | ✓ | ✓ | 0.7500 | 0.8358 | 0.7756 | 0.8030 |
| ✓ | ✓ | ✓ | 0.8068 | 0.8595 | 0.8052 | 0.8496 |
读这张表有三条线索:
单专家里 CT 专家最强(0.7382),肺叶专家最弱(0.5513,接近随机)。 肺叶专家只有 5 个取值的输入,能提供的独立信息本来就少。作者对此的解释是它担任「全局解剖先验」而非独立预测器——这个定位是诚实的,但也意味着:如果你只想做一个最简版本,肺叶这一路可以砍掉,损失约 0.07 AUROC(0.7382 → 0.8052 的三专家增益中,肺叶与路径合计贡献 0.067)。
路径专家的增益主要体现在与 CT 联合时。 单独路径 0.6040,单独 CT 0.7382,两者相加 0.7756——增益 0.0374。而肺叶单独 0.5513 接近随机,与 CT 相加后得 0.7477——增益只有 0.0095。也就是说,路径几何是主要的互补信息源,肺叶主要起正则化作用。
三专家全开时最优,但边际收益递减。 0.7756(CT+路径)→ 0.8052(全开)的增益是 0.0296,来自肺叶专家。这个增益在 438 例上是否有统计意义,论文没有单独报告。
4.6 门控权重本身就是一个解释
论文给出了一个有意思的观察:中心型病灶的 CT 专家权重更高,而远端与下叶病灶的路径几何专家权重升高。这在解剖上说得通——中心型病灶离主气道近,局部形态(病灶与邻近支气管的关系)已经足够判断;远端病灶则要跨越多级分支,累积的管径变窄与分叉累积才是关键约束。
作者进一步主张:门控权重 w = [w_ct, w_lobe, w_path] 本身就是逐病例的归因,不需要事后跑 SHAP 或 Grad-CAM 之类的解释方法。这个主张有道理但有边界:门控权重告诉你「模型用了哪个专家的信息」,但不告诉你「在那个专家的特征里,哪些具体因素起了作用」。对于临床解释而言,这只是一半的答案。
4.7 定性分析:四类案例各自说明什么
论文用一张四象限图(真阳性、假阳性、假阴性、真阴性各一例)做了定性说明。四类的解剖特征与错误机制如下:
| 类别 | 解剖特征 | 模型行为与机制 |
|---|---|---|
| 真阳性 TP | 病灶邻近连接良好、管径充足的支气管分支 | 三路信息一致指向可达,判断正确 |
| 假阳性 FP | 病灶靠近远端支气管,但存在分支突变(abrupt branching changes) | CT 专家过度权重了局部邻近性,忽略了路径上的突变更难通过 |
| 假阴性 FN | 外周病灶,实际中可能靠术者经验或超细支气管镜取样成功 | 模型按几何约束判为不可达,但实际操作绕过了几何约束 |
| 真阴性 TN | 深部外周病灶,支气管连接稀疏 | 影像与路径一致指向不可达,判断正确 |
假阴性这一类最值得临床关注。 它揭示了一个模型无法从数据中学到的东西:术者的技能与器械的选择是可达性的一部分。同一个病灶,用 4.2 mm 的标准支气管镜判为不可达,换 2.8 mm 的超细支气管镜可能就到了;同一个病灶,一位做了两千例的术者可能取到,刚入行的术者可能取不到。这些变量在数据里没有编码,因此模型学到的是一个「平均术者 + 平均器械」下的几何可达性。
这既是局限也是价值:如果你要用它做分诊,它的假阴性意味着「别放弃」,而不是「别做」。
4.8 结果的可复现性边界
把上面的所有数字汇总,可复现性的边界是这样的:
- 协议:患者级五折交叉验证,内部验证,无外部中心留出,无前瞻性验证。
- 样本量:438 例,五折平均每折约 87.6 例(算术推算,非论文口径),折内类别配比未知。
- 训练配置:AdamW,学习率 1e-3,batch 16,100 epochs,单张 NVIDIA A100,Dropout + weight decay 防过拟合,λ = 0.01。
- 预处理依赖:RetinaNet 做病灶检测 + Naviairway 做气道分割,两个都是外部工具,版本与权重未披露。如果你想复现,最大的不确定性来自这两个前端,而不是模型本身。
§5 模型解剖:为什么是「三个专家」而不是「一个大网络」
5.1 三类信息在物理上是不同尺度的
这个架构最核心的洞察不是 MoE 本身,而是它承认了三类信息在物理尺度上根本不同:
| 信息 | 物理尺度 | 空间形式 | 为什么不适合放进同一个卷积 |
|---|---|---|---|
| 病灶局部形态 | 厘米级(一个 128×128×32 的立方块) | 稠密体素 | — |
| 肺叶归属 | 分米级(整个肺的一个分区) | 单一类别 | 一个标量塞进卷积没有意义 |
| 气道路径几何 | 沿一条一维曲线的累积量 | 变长序列 | 路径是曲线,不是规整网格 |
如果硬要用一个网络吃下这三类信息,常见的做法是把肺叶做成 one-hot 通道贴到 CT 上、把气道做成额外通道——这正是 Table 2 里被对照的做法。结果是:肺癌变的全局信息被淹没在局部像素里,路径的顺序性(近端到远端的累积变窄)完全丢失。
分开建模的价值就在于保住这两种结构:肺叶作为类别嵌入,路径作为序列。这不是「为了用 MoE 而用 MoE」,而是三个专家各自对应一种物理上不可约的数据形状。
5.2 为什么路径用 GRU 而不是 GNN
论文对这个选择的论证值得完整引用:「气道树天生是图,但一旦导航路径选定,沿路径的数据就构成了一维有序的几何描述子序列,因此我们采用序列模型而非图神经网络。」(原文:「While the airway tree is naturally a graph, once the navigation path is selected, the data along it forms a one-dimensional ordered sequence of geometric descriptors; we therefore adopt a sequence model rather than a graph neural network.」)
这个论证有两面:
支持的一面:一旦路径确定,你要建模的是「从气管往下走,管子越来越细、分叉越来越多、越绕越远」这个累积过程,序列模型天然适合。
可质疑的一面:路径选择本身用了「到病灶质心欧氏距离最短」这个纯几何启发式。如果存在分叉选择(两条路径距离相近但实际操作难度差异很大),这个启发式可能选错,而序列模型只能沿着错的路走。对比 Table 1 里的 GNN 基线(GAT/GIN/GraphSAGE/GCN),它们直接在整棵树上做消息传递,不需要预先选路径——但它们的最好成绩只有 0.6483。
一个自然的改进方向是:保留 GRU 的序列建模,但把路径选择也变成可学习的,用 GNN 先做路径排序,再选前 k 条送入 GRU。论文没有做这个实验。
5.3 距离变换这一手
三通道 patch 里的第三通道是气道的三维欧氏距离变换。这个设计的理由在论文里写得很清楚:EDT 提供了连续的空间梯度,比稀疏的气道掩膜更稳定。
展开说:如果只用二值气道掩膜,那么一个距离气道 1 毫米的病灶和 5 毫米的病灶,在掩膜上的表现完全一样(都是「不在气道内」)。EDT 把每个体素到最近气道的距离编码成灰度值,于是「贴近」与「远离」变成连续可微的信号。这对 3D 卷积网络尤其重要——稀疏的前景会让梯度几乎没有可学习的推手。
这个技巧不新(分割领域常用 EDT 或 signed distance map 作为辅助通道),但用在「操作性预测」这个任务上是恰当的:可达性的本质是距离与路径的累积,EDT 正好是距离的显式表达。
5.4 参数量的分布
3.83M 总参数要分给三个专家加门控。虽然论文没有给逐模块的参数量,但从架构可以粗略推断:CT 专家(4 个残差块 + SE + 卷积)占了绝大部分;路径专家(一层双向 GRU,每方向 128 维)很小;肺叶专家(嵌入 + 两层 MLP)几乎可以忽略;门控(三层 MLP)也很小。
这个分布与 Table 1 的观察一致:GCN 只用了 51.59K 参数就拿到了 0.6483。在这个任务上,「结构的先验」比「参数的规模」值钱得多。
5.5 一个小模型意味着什么
3.83M 参数在 2026 年的医学影像模型里属于「极小」。作者强调这一点有其现实考虑:术前规划环节需要在临床工作站上快速出结果,不能依赖 GPU 集群。但小模型也有代价——它的表达能力有上限,在 438 例的数据量下这个上限暂时不是瓶颈(换到 4380 例可能会有不同结论,但没人验证过)。
5.6 与邻近方法的定位
把 BronchoAccess 的方法放到「术前规划」这条方法链上看:
| 环节 | 代表方法 | 目标 | 与 BronchoAccess 的关系 |
|---|---|---|---|
| 病灶检出 | RetinaNet、nnDetection、LUNA16 基线 | 找到结节 | BronchoAccess 的前置环节(论文即用 RetinaNet) |
| 气道分割 | Naviairway、ATM22 | 画出气道树 | BronchoAccess 的前置环节(论文即用 Naviairway) |
| 路径规划 | 电磁导航系统的内部算法 | 术中导航 | 输入侧供给了「候选路径」,但 Aim 不同 |
| 转归预测 | Naito et al. 2023(手工几何描述子) | 预测能否到达 | 直接前作,无端到端监督 |
| 转归预测 | BronchoAccess MoE | 预测能否取到诊断组织 | 首个端到端 + 基准 + 公开数据 |
这个定位说明:BronchoAccess 不是凭空造出来的方法,它站在三条成熟方法链的交汇点上,把前三个环节的产物组装成一个预测器,并且第一次把「结果」接进了监督信号。
§6 获取、装载与工程实操
6.1 下载
HF 仓库 linkai-peng/BronchoAccess,gated=false,private=false,公开直链。两种方式:
from huggingface_hub import snapshot_download
path = snapshot_download(
repo_id=「linkai-peng/BronchoAccess」,
repo_type=「dataset」,
local_dir=「./BronchoAccess」,
)
git lfs install
git clone https://huggingface.co/datasets/linkai-peng/BronchoAccess
国内网络环境通常需要镜像或代理(本条目撰写时,镜像站会跳转到主站,实际可用性取决于网络位置)。仓库共 1,323 个文件,438 例影像的体积取决于 CT 的层数与矩阵大小,论文未给总体积。
6.2 目录与标签对齐
至少要做的第一件事是核对三个子目录与标签表的三方对齐:
import csv, os
from pathlib import Path
root = Path(「./BronchoAccess」)
ids = {
「images」: {p.name.split(「_」)[0] for p in (root / 「images」).glob(「*.nii.gz」)},
「patches」: {p.name.split(「_」)[0] for p in (root / 「patches」).glob(「*.nii.gz」)},
「graphs」: {p.name.split(「_」)[0] for p in (root / 「graphs」).glob(「*.pt」)},
}
print({k: len(v) for k, v in ids.items()}) # 期望均为 438
print(len(ids[「images」] & ids[「patches」] & ids[「graphs」])) # 期望 438
# 前缀即标签:DiagMal / DiagBen → 1,NonDiag → 0
def label_of(case_id: str) -> int:
return 0 if case_id.startswith(「NonDiag」) else 1
再用同一个 case_id 读 labels.csv 交叉验证,两者不一致的病例应当单独列出排查。
6.3 读 NIfTI 与读图
import nibabel as nib
import torch
ct = nib.load(root / 「images」 / 「DiagMal0001_0000.nii.gz」)
print(ct.shape, ct.header.get_zooms()) # 体素尺寸(毫米),用于换算物理尺度
patch = nib.load(root / 「patches」 / 「DiagMal0001_0000.nii.gz」)
arr = patch.get_fdata() # 预期形状 (128, 128, 32, 3)
graph = torch.load(root / 「graphs」 / 「DiagMal0001_0000.pt」)
print(type(graph)) # PyTorch Geometric 数据对象
三个必须现场核对的点:
- patch 的三通道顺序。论文写作「CT 强度 / 病灶掩膜 / 气道 EDT」,但 NIfTI 的第 4 维索引是否与论文叙述同序,需自行验证(看哪个通道全为 0/1、哪个通道是连续灰度)。
- patch 的空间范围。128×128×32 对应多少毫米,取决于
get_zooms()——不同 CT 的层厚不同,同一个 32 层切片覆盖的物理高度可能差一倍以上。 - graph 的字段名。PyTorch Geometric 的
Data对象里节点特征、边索引、路径序列的命名是作者的约定,未在论文中给出,需自行print(graph)探查。
6.4 复现基准的最小步骤
要复现 0.8052 附近的结果,最短路径是:
- 下载全部 438 例,按
case_id建表,label 由前缀或labels.csv生成; - 用
StratifiedKFold(n_splits=5, shuffle=True)按患者(即 case_id)分层——因为每例只有一条样本,按样本分层即等于按患者分层; - 只跑 CT 专家一路(4 个残差块 + SE + 全局平均池化 + 线性层),目标 AUROC 约 0.74;
- 加上路径专家(双向 GRU),目标约 0.78;
- 最后加肺叶专家与门控,目标 0.80 左右。
第 3 步能不能做到 0.7382,是判断你的预处理链是否与论文一致的试金石——如果 CT 专家单路只有 0.6 多一点,问题多半出在 patch 的三通道构造或 EDT 的计算上,而不是模型。
6.5 数据装载的常见坑
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 三目录病例数不等 | 下载中断或 LFS 指针未拉取 | 重新 snapshot_download,或用 git lfs pull |
patch 的某一通道全 0 |
该例病灶掩膜为空(检测失败/标注缺失) | 单独列出,检查是否应剔除 |
graph 无法 torch.load |
PyG 版本不匹配或 weights_only 默认值变化 |
显式传 weights_only=False |
| AUROC 只有 0.5 左右 | 标签取反(NonDiag 被当成 1) |
核对前缀映射方向 |
| 五折结果方差极大 | 折内类别失衡 | 改用分层折,并报告逐折结果而非只报均值 |
6.6 许可与合规
CC BY-NC-4.0:允许共享与演绎,禁止商业使用,必须署名、必须注明是否修改、修改后的作品需在同一许可下分发。
实务上有两点容易踩:
- 「非商业」的边界不由你定义。把它用在医院内部署、用于科研发表、用于教学,通常没问题;一旦嵌入到要收费的产品里(包括 SaaS 的付费档),就越界了。企业与高校的合作项目要充分沟通。
- 它是医学数据,不是「敏感数据豁免」。虽然 HF 卡片标注了
region: us,且论文称已做回顾性收集与去标识,但数据里是否含任何可回溯到患者的元数据(例如 DICOM 头残留),下载后应自行检查再用于任何共享场景。
6.7 与仓库同时发布的示意图
assets/ 目录下有 6 张 PNG:管线图(pipeline.png)、队列协议(cohort_protocol.png)、案例解剖(case_anatomy.png)、基准 AUROC(benchmark_auroc.png)、消融(ablation_experts.png)与横幅(banner.png)。这几张图是论文正文配图的同源文件,做演示或复现对照时可以直接引用(记得遵守许可与署名)。
§7 临床视角:这个分数在诊室里意味着什么
7.1 三种可能的用法
一个 0 到 1 的可达概率,在临床工作流里至少有三种用法,代价各不相同:
| 用法 | 决策方式 | 收益 | 风险 |
|---|---|---|---|
| 分诊(triage) | 高分 → 首选支气管镜;低分 → 考虑经皮穿刺或直接手术 | 减少「做了也没结果」的无效操作 | 假阴性把可做的病人推走 |
| 知情同意 | 把概率作为沟通材料 | 患者对失败可能性有预期 | 数字被误读为「判决」 |
| 质量控制 | 回顾分析本院低分病例 | 发现术者/器械的系统性短板 | 被误用为对术者的考核 |
分诊是最有价值的用法,也是最需要阈值的用法。BronchoAccess 没有给临床推荐阈值——论文只报 AUROC/PRAUC,这两个都是与阈值无关的指标。要用它做分诊,必须先在自己中心的队列上选定阈值(例如以「宁可多做也不漏」为原则选高敏感度点),而这个阈值不能从论文里抄。
7.2 假阴性的临床代价
§4.7 已经说明:模型的假阴性一类是「外周病灶,实际上靠超细支气管镜或术者经验成功了」。这类错误在临床上的含义是——模型说不行,但人可以。
这与很多医学 AI 的失效模式相反。影像诊断 AI 的错误通常是「漏诊恶性」,医生修正的方向是「再多看一眼」;而这里的错误是「低估可达性」,医生修正的方向是「换更细的镜子或更有经验的术者再试一次」。两者都不能靠「相信 AI」来解决,只能靠「把 AI 当成第二个意见」。
论文用 22 名医生的 0.5661 作为对比,容易被解读成「AI 比医生强」。更准确的解读是:在只看 CT 这一个信息源的条件下,群体平均的判断力接近随机,而模型把 CT 里那些隐性的几何线索系统性地提取了出来。这不等于模型比「有完整临床信息的医生」强——后者从来没被测试过。
7.3 阳性率 63.7% 的正确读法
438 例里 279 例成功,阳性率 63.70%。这个数字不能被当作「支气管镜诊断率」引用到其他场合,理由有三:
- 它是回顾性的选择结果。哪些病人被送去支气管镜,本身就是临床决策的产物——如果一家中心倾向于只给「看起来好做」的病人做,阳性率就会偏高。
- 它来自三家中心的混合,逐中心的阳性率未知(FACTS §9 疑点 2)。如果三家中心分别是 70%/65%/50%,混合后的 63.7% 掩盖了很大的异质性。
- PR-AUC 0.8496 依赖这个阳性率。PRAUC 是随类别分布变化的指标——同样的模型,在阳性率 30% 的人群里 PRAUC 会显著下降。所以引用 PRAUC 时必须同时引用阳性率,否则数字没有可比性。
7.4 与替代路径的比较缺口
临床上「做不做支气管镜」从来不是一个二选一,而是在三条路之间选:
- 支气管镜(可导航、可超声、可机器人)
- CT 引导下经皮穿刺(对外周病灶命中率高,但气胸风险大)
- 直接手术切除(创伤最大,但对高度可疑的周边病灶可能一步到位)
BronchoAccess 只覆盖第一条路的成功率。要真正支持决策,还缺后两条路的对照数据——这是本数据集最大的临床缺口,也是它被定位为「研究基准」而非「临床工具」的原因。
7.5 谁应该读这份数据
- 介入肺脏病学团队:想知道「如果我们中心也做类似的回顾性标注,能不能得到可用的预测模型」——BronchoAccess 提供了一个现成的模板与参考性能。
- 器械厂商:机器人支气管镜、超细支气管镜的适用人群选择,可以直接用可达性模型做筛选。
- 影像 AI 团队:这是一个「输入是多模态结构(体数据 + 图 + 类别)」的干净案例,比大多数纯视觉任务更接近真实临床的数据形态。
7.6 一个具体的分诊推演
把模型放进诊室,最自然的用法是这样一段对话的量化版本:
影像科报了一个 1.8 cm 的外周实性结节,位于左下叶后基底段,距胸膜 1.2 cm。术者看完 CT 后觉得能做,但不确定值不值得做。模型的输出是 0.34。
这个 0.34 该怎么用?
第一层:它不是「不要做」的意思。AUROC 0.8052 意味着模型在排序上有相当的区分力,但没有哪个阈值能保证「0.34 一定失败」。要给出阈值,必须先在本地队列上画出敏感度/特异度曲线,并想清楚代价不对称性——漏掉一个可切除的早期肺癌,代价远高于多做一次没结果的支气管镜。按这个代价结构,阈值应该定在低概率一侧,也就是「宁可多做」。
第二层:0.34 应该触发的是「换方案讨论」,而不是「取消手术」。三个选项要摆上桌:换超细支气管镜再评估、考虑 CT 引导下经皮穿刺(这个位置贴近胸膜,经皮穿刺的气胸风险可控)、或者直接进入多学科讨论。BronchoAccess 只对第一个选项有话说。
第三层:如果最后仍然做了,并且成功了——这一例就该被记录下来。每一条「模型说低、实际做成」的病例,都是这个模型下一次迭代最值钱的样本。论文里的假阴性分析(§4.7)正是靠这类案例支撑的;一个中心如果能持续积累自己的假阴性案例,就有了本地化的改进依据。
7.7 与既有术前评估流程的接口
在多数中心的实际流程里,「能不能做支气管镜」的判断由三件事支撑:CT 阅片、虚拟导航软件的内置测距、以及术者经验。BronchoAccess 的位置是第四项,而且它不替代前三项中的任何一个:
| 流程环节 | 现有手段 | BronchoAccess 的补充 | 冲突时怎么处理 |
|---|---|---|---|
| 病灶定位 | CT 阅片 + 结节检测软件 | 不参与(前置环节已解决) | — |
| 路径评估 | 虚拟导航软件的路径可视化 | 给出整条路径的几何累积难度 | 以可视化为主、模型为辅 |
| 成功概率 | 术者经验 | 一个可复现的数值 | 模型低而术者认为可行 → 记录并随访 |
| 方案选择 | 多学科讨论 | 仅覆盖支气管镜这一支 | 不作为决策依据 |
这里的「冲突时怎么处理」一列,是这份数据最需要临床团队自己定义的部分。论文没有给任何界面级或流程级的建议,它止步于「这是一个可用的预测器」。从预测器到工作流,中间还有很多工程与制度设计,这不是数据集的职责,但使用者必须自己补上。
7.8 术者与器械:两个数据里没有的变量
假阴性分析暴露出一个重要事实:可达性不是病灶的固有属性,而是「病灶 × 器械 × 术者」三者的联合结果。数据只记录了病灶(CT)与结果(取材成功),中间两个变量完全缺失。
这带来两个具体后果:
- 同一份 CT 在不同中心的「真实可达性」可能不同。一家中心如果普遍使用机器人支气管镜与锥形束 CT(cone-beam CT)辅助,同样的外周病灶成功率会显著高于只用标准软镜的中心。BronchoAccess 的 438 例全部来自同一导航平台(§8.3),因此它的标签反映的是那个平台的能力边界。
- 模型的输出不能作为「术者能力」的评价依据。如果一位术者的病例里模型预测概率普遍偏低、但实际成功率不低,这说明该术者擅长处理模型认为困难的病灶——这是正面信息,不是负面信息。反过来,高预测概率伴随低成功率才是需要排查的信号。
对于想在本地部署这套方法的中心,最务实的第一步不是训练模型,而是统计本中心的器械构成与术者分布,判断 BronchoAccess 的标签口径与本中心差多远。这个判断不需要任何代码,只需要病历科的统计。
§8 局限与争议:八个必须知道的边界
8.1 样本量与统计功效
438 例、五折,每折约 87.6 例。在这个规模上,AUROC 的标准误大致在 0.03 到 0.05 量级(取决于折间方差)。0.8052 与 0.7310 之间 0.074 的差距,恰好落在一个「可能显著、也可能不显著」的灰区——Table 2 里 EfficientNet-b0 没有 † 就是这个灰区的直接证据。
实操建议:引用任何两个方法之间的 AUROC 差异时,先看有没有 DeLong 检验标记;没有标记的差异不要写成「显著优于」。
8.2 中心异质性与未见中心
三家中心的具体构成未披露。论文的说法是「多中心设计引入了异质性,减少了单一操作者或设备类型的系统性偏倚」——这个论证是合理的,但它是定性的。没有逐中心的结果表,读者无法判断模型在某一家的表现是否显著低于另一家。
8.3 单一导航平台
论文明确写「所有手术在同一平台上完成,以确保主要导航技术的一致性」。这是一个好处(减少了技术混杂),也是一个限制(结论不能外推到其他平台)。机器人支气管镜近年的诊断率普遍高于传统导航,如果把这套模型用到机器人平台上,它的可达性判断可能与实际操作的成功率脱节。
8.4 标签的混杂
§3.2 已经讨论过:标签是「取材成功」,混杂了「解剖可达」与「操作/样本质量」两个成分。数据里没有把两者分开的字段。这意味着:
- 模型可能学到一些与操作相关的伪信号(例如某位术者的病例集中在某个编号段,而编号段又与图像特征相关);
- 改进方向不是「换模型」,而是「补字段」——如果未来版本增加「术中是否到达目标」「取样次数」「样本是否充足」等字段,任务会被拆得更干净。
8.5 人机对比的方法学折扣
22 名医生的评估有三处非标准:三级难度映射为 0.9/0.7/0.4、只报聚合结果不报个体分布、未披露年资。这些使得 0.5661 这个数字不应被引用为「医生的可达性判断能力」的一般估计,而应被理解为「这批医生在这一次实验设定下的表现」。
8.6 缺失的临床协变量
年龄、性别、吸烟史、肺功能、既往治疗史——这些人口学与临床变量在模型里全部缺席。它们对可达性的影响可能不大(可达性主要是几何问题),但对「该不该做」的整体决策影响很大。BronchoAccess 的定位是几何可达性,不是完整的临床决策。
8.7 单病灶口径
每例只有一个目标病灶。多发病灶病例被纳入时只保留一个,这意味着:
- 数据集不能直接用于「多病灶同时规划」的场景;
- 如果真实世界里相当比例的病例是多发的,438 例的「每例一病灶」口径会与临床分布不一致。
8.8 缺少外部验证
五折交叉验证是内部验证。没有留出一个中心做外部测试,也没有前瞻性队列。这意味着 0.8052 是一个在训练分布内的估计,真实部署时的性能可能更低。这在医学影像领域是常识性的衰减(通常 5-15 个百分点的 AUROC 下降),但 BronchoAccess 没有提供任何量化。
§9 与库内条目的关系:在内链图谱里的位置
BronchoAccess 在千方病案医数集的内链图谱里处在几个集合的交汇处:胸部 CT、介入内窥镜、影像→结局。下面按关系强度分层说明。
9.1 强相关:气道与支气管镜本体
atm-airway(rid 922) — Multi-site, Multi-domain Airway Tree Modeling(ATM’22),肺气道树分割的公共基准。它与 BronchoAccess 的关系最直接:BronchoAccess 论文里气道分割环节所用的 Naviairway 与 ATM 系列同属「气道分割」这条方法线,而论文引用列表里的 Zhang et al. 2023(Medical Image Analysis 90:102957)正是 ATM’22 的多中心气道树建模工作。读法:先看 atm-airway 理解气道分割的评测口径(树状结构的分支检出率、泄漏率),再看 BronchoAccess 怎么把分割结果变成「可达性」的输入。
bm-bronch(rid 912) — BM-BronchoLC,越南白梅医院柔性支气管镜肺癌多任务图像数据集。它与 BronchoAccess 是同一临床场景的两个断面:bm-bronch 是术中镜子看到的东西(图像),BronchoAccess 是术前 CT 里预测「能不能够到」的东西(几何)。两者合起来,正好覆盖「术前规划 → 术中成像」这条链的两端。
9.2 中等相关:肺结节与胸部 CT
luna16(rid 237) — 肺结节检测挑战赛,是「找出结节」这件事的标准基准。BronchoAccess 的预处理链第一步就是病灶检测(论文用 RetinaNet),luna16 是理解这条链路的标准起点。
lidc-idri(rid 19) — 肺结节 CT 参考数据库,提供带放射科医师标注的结节。它和 BronchoAccess 的差别在任务:lidc-idri 标的是「结节的性质与边界」,BronchoAccess 标的是「结节能否被够到」。
deeplesion(rid 17) — 大规模 CT 病灶检测数据集,覆盖全身多器官。作为通用的「病灶在哪」的参照,可以和 luna16 一起构成 BronchoAccess 前置环节的知识底座。
9.3 弱相关但值得并列:影像→结局的邻近范式
nsclc-radiomics(rid 247) — NSCLC 影像组学队列,从 CT 特征预测临床结局(生存等)。与 BronchoAccess 共享「用影像特征预测一个与治疗相关的结局」的范式,但结局类型不同(生存 vs 取材成功)。
nlst(rid 317) — 国家肺癌筛查试验,提供大规模 CT 筛查队列。BronchoAccess 的 438 例在规模上与之相差两个数量级,但在「标签的临床硬度」上更强(NLST 的终点是死亡率,BronchoAccess 的终点是单次操作的组织学确认)。
hecktor(rid 461) — 头颈肿瘤 PET/CT 分割与预后,同样是「影像特征 + 临床结局」的组合,可作为方法论邻近范式参考。
chimera(rid 633) — 泌尿肿瘤多模态预后挑战赛,在「多模态输入 + 结局预测」的挑战赛组织方式上可对照。
9.4 场景邻近:内窥镜与术中视觉
endovis-challenges(rid 79) — 内窥镜视觉挑战赛系列,涵盖器械分割、场景理解、深度估计。BronchoAccess 的模型不处理术中图像,但两者共同构成「术前规划 + 术中视觉」的完整内窥镜 AI 图景。
kvasir-hyperkvasir(rid 75) — 胃肠道内窥镜 AI 数据集,是内窥镜领域最成熟的数据集之一,可在「内窥镜数据集的标注规范」这一维度上与 BronchoAccess 对照。
9.5 横向工艺对照:三个「支气管/气道」数据集的定位差
库内与气道、支气管镜相关的条目不止 BronchoAccess 一个,三者容易混淆,值得放一张表:
| 维度 | atm-airway(922) | bm-bronch(912) | BronchoAccess(本条) |
|---|---|---|---|
| 观测对象 | 术前 CT 中的气道树 | 术中支气管镜图像 | 术前 CT + 术中取材转归 |
| 任务 | 气道树分割 | 多任务图像分类/检测 | 可达性二分类 |
| 标签来源 | 人工勾画 | 图像级/病灶级标注 | 组织病理学确认的转归 |
| 规模量级 | 数百例 CT | 数千帧图像 | 438 例 |
| 对 BronchoAccess 的意义 | 上游能力 | 同一场景的术中侧 | — |
这张表说明一个常被忽略的事实:这条临床链上有三个可被 AI 化的环节,库内恰好各有一个代表条目,而且它们的标签成本递增:勾画气道(标注工时)→ 图像分类(图像级标签)→ 取材转归(必须等病理报告)。BronchoAccess 的标签成本最高,也因此样本量最小。这个「成本—规模」的权衡,是理解它为什么只有 438 例的关键。
9.6 建议互链点
| 目标条目 | rid | 关系 | 建议写法 |
|---|---|---|---|
| atm-airway | 922 | 气道分割上游 | 「术前气道分割的公共基准,本文预处理链的直接上游」 |
| bm-bronch | 912 | 同一场景的术中侧 | 「同为支气管镜域,但观测对象是术中图像而非术前 CT」 |
| luna16 | 237 | 病灶检测上游 | 「病灶检出的标准基准,本文用 RetinaNet 承担同一环节」 |
| lidc-idri | 19 | 肺结节 CT 参考 | 「结节性质标注 vs 结节可达性标注,任务不同」 |
| nsclc-radiomics | 247 | 影像→结局范式 | 「影像特征预测治疗相关结局的邻近范式」 |
| nlst | 317 | 大规模 CT 筛查队列 | 「规模差两个数量级,但标签硬度更强」 |
| deeplesion | 17 | 通用病灶检测 | 「前置环节的通用底座」 |
| endovis-challenges | 79 | 内窥镜视觉 | 「术中视觉侧的互补参照」 |
| kvasir-hyperkvasir | 75 | 内窥镜数据规范 | 「内窥镜数据集标注规范的同域参照」 |
| hecktor | 461 | 影像→结局 | 「PET/CT 特征预测预后的邻近范式」 |
§10 避坑清单:十二个必须避开的坑
坑 1:把 438 说成「438 张 CT」。 是 438 例患者,每例 1 个目标病灶,每类文件各 438 个。患者数与文件数不要混用——HF 卡片写的是 「438 patients, one target lesion each」。
坑 2:把 DiagMal 224 / DiagBen 55 / NonDiag 159 当成三个平行类别去算准确率。 二分类口径下 DiagMal 与 DiagBen 合并为「诊断成功」(279),NonDiag 为「非诊断」(159)。三分类是数据组织方式提供的扩展,但论文报的所有指标都是二分类口径。
坑 3:把 0.8052 当成「显著优于所有基线」。 Table 2 同输入对照里,EfficientNet-b0(AUROC 0.7310)那一行没有 †,即与本文方法的差异未达显著(DeLong p ≥ 0.05)。准确说法是:显著优于 Table 1 的一众基线,同输入条件下显著优于其中四个骨干网络,对 EfficientNet-b0 未达显著。
坑 4:把五折交叉验证当成外部验证。 患者级五折是内部验证,三家中心没有留出一家做外部测试。0.8052 是训练分布内的估计,部署时通常会下降。
坑 5:把项目页的 CC BY-SA 4.0 当成数据许可。 项目页页脚的 CC BY-SA 4.0 是学术项目页模板自带的,约束的是网页本身;数据的许可是 HF 卡片上的 CC BY-NC-4.0,禁商用。两者指称对象不同,不能混引。
坑 6:把「人类专家 AUROC 0.5661」解读为「医生判断力接近随机」。 这个数字来自 22 名医生仅凭 CT 与目标位置的三级难度评分,并被映射成 0.9/0.7/0.4。它衡量的不是医生的整体临床判断,而是「只看 CT 的可达性判断」。
坑 7:把 63.7% 的阳性率当成支气管镜诊断率引用。 这是回顾性富集队列(经过「决定做支气管镜」的临床筛选)的阳性率,逐中心分布未披露。PRAUC 0.8496 同样依赖这个分布,引用时必须同时给出阳性率。
坑 8:以为 Hugging Face 的在线 viewer 能直接看数据。 HF API 返回 viewer: false,在线预览未启用。只能 snapshot_download 或 git clone 后本地读。另外 labels.csv 的字段结构本条目未逐行核验,使用前请自行 head 一遍。
坑 9:以为 patch 的 128×128×32 是固定物理尺寸。 这是体素数,不是毫米数。不同 CT 的层厚与像素间距不同,同样的 patch 在不同病例上覆盖的物理范围可以差一倍以上。要换算必须读 get_zooms()。
坑 10:以为「可达性」等于「解剖可达」。 标签是「取材是否成功」(组织病理学确认),混杂了「镜子到没到」与「取样质量好不好」两个成分。模型学的是后者被观测到的结果,不是纯粹的前者。
坑 11:直接拿文件名前缀当权威标签而不核对 labels.csv。 前缀与二分类口径在数值上完全闭合(224 + 55 = 279),但这只是总量闭合,不代表逐条一一对应。工程上应以 labels.csv 为准、前缀为交叉校验。
坑 12:忽略单病灶口径。 每例只有一个目标病灶,不能直接用于多病灶同时规划的研究设计。
§11 DAIMS 评估:按数据管理维度打分
DAIMS(Data and Information Management System)框架把数据集按若干维度拆开评估。下表按本库统一口径给分(1-5 分,5 为最佳),每格附判据。
| 维度 | 评分 | 判据 |
|---|---|---|
| 可发现性(Findability) | 4 | HF 公开仓库 + 项目页 + arXiv + 代码仓四入口齐备;有 DOI(arXiv 版)但无独立数据集 DOI,正式引用只能落到论文 |
| 可获取性(Accessibility) | 5 | gated=false、private=false,公开直链,无需申请、无需签署数据使用协议 |
| 互操作性(Interoperability) | 4 | 影像用 NIfTI(通用)、图用 PyTorch Geometric .pt(需 PyG 生态)、标签用 CSV;无 DICOM 原始数据、无 BIDS 风格描述文件 |
| 可复用性(Reusability) | 3 | CC BY-NC-4.0 禁商用;缺 CT 采集参数、人口学、逐中心分布;预处理链依赖外部工具(RetinaNet/Naviairway)却未给版本 |
| 可追溯性(Provenance) | 3 | 论文给出回顾性收集与三中心的说明,但中心匿名、无采集时间窗、无数据版本号 |
| 标注质量(Annotation Quality) | 5 | 标签为组织病理学确认的硬终点,非主观判断;这是本数据集最强的一环 |
| 文档完备性(Documentation) | 3 | HF 卡片 + 论文 + 项目页三方互补,但字段级说明(labels.csv 列名、graph 字段名、patch 通道顺序)均未成文 |
| 规模充分性(Scale) | 2 | 438 例对深度学习偏小;五折内部验证,统计功效有限 |
| 临床相关性(Clinical Relevance) | 5 | 直接对应术前规划中的真实决策点,且有 22 名医生的对照 |
| 伦理与合规(Ethics) | 3 | 回顾性去标识、作者声明无利益冲突;但未见独立伦理审批编号与患者知情豁免说明的明文 |
加权综合(等权):3.7 / 5。
三个最高分(可获取性、标注质量、临床相关性)说明它作为一个研究基准是合格的;三个最低分(规模、可复用性/文档、伦理明文)说明它作为一个临床部署基础还不够。这个「高可达但低承诺」的形态,恰好符合一个刚发布的 MICCAI 数据集应有的状态。
分维度改进建议(按投入产出排序):
- 补一份字段级
DATA_CARD.md:labels.csv列定义、graph 的节点/边/路径字段名、patch 三通道顺序——零成本,收益最大。 - 补一版对照代码与训练权重,把「能否复现 0.7382 的 CT 专家单路」变成可验证的事实。
- 若条件允许,增加逐中心结果表,至少让读者知道异质性有多大。
- 长期看,增加「术中是否到达目标」字段,把标签拆成两级,是对任务本身最有价值的升级。
FAQ(高频问答 30 问)
A. 基础认知
Q1:BronchoAccess 是挑战赛吗?
不是。没有排行榜、没有提交系统,是一个数据集 + 论文 + 参考实现的项目,附带一套完整对照实验作为基准。
Q2:名字怎么读?
Broncho(支气管)+ Access(可达/进入)。中文可译为「支气管镜可达性」。注意不是「支气管通道」——它描述的是「镜子能不能进到病灶那里」,而非「气道是否通畅」。
Q3:它和普通肺结节数据集差在哪?
普通数据集标的是「结节是什么」(性质、边界、良恶性),BronchoAccess 标的是「结节能不能被够到」。同一个结节在这两套标签下可以是完全不同的样本。
Q4:为什么说它是「首个」?
论文的宣称是首个把支气管镜可达性预测形式化为端到端监督任务、并配公开数据与基准的工作。这个「首个」的边界是「公开数据 + 端到端监督」两个条件同时成立——以手工几何特征的转归预测更早就有了(Naito et al. 2023)。
Q5:谁做的?
西北大学(Northwestern University)Bagci Lab,通讯作者 Ulas Bagci,共 13 位作者,涵盖电子与计算机工程、计算机科学、医学、放射科四个系,另有一位作者来自伊斯坦布尔医学院放射科。
Q6:论文发在哪?
MICCAI 2026(International Conference on Medical Image Computing and Computer-Assisted Intervention)。arXiv 编号 2609.37386,v1 于 2026-09-29 提交,v2 于 2026-10-12 修订。
B. 数据细节
Q7:到底有多少例?
438 例患者,来自 3 家临床中心。每例 1 个目标病灶。
Q8:279 和 159 是怎么来的?
279 例诊断成功(活检取得经组织病理学确认的诊断性组织),159 例非诊断。合计 438。
Q9:文件名里的 DiagMal/DiagBen/NonDiag 是什么意思?
DiagMal = 诊断成功且病理为恶性(224 例),DiagBen = 诊断成功且病理为良性(55 例),NonDiag = 非诊断(159 例)。前三者中的前两个合并即 279。
Q10:一共多少个文件?
1,323 个。其中 images 438、patches 438、graphs 438、assets 6 张示意图、README 与 .gitattributes 各 1、labels.csv 1。
Q11:patch 是什么?
以目标病灶为中心的三通道 3D 立方块,尺寸 128×128×32。三通道为 CT 强度、病灶掩膜、气道欧氏距离变换。
Q12:graphs 里存的是什么?
气道树图(PyTorch Geometric 格式),含节点、边与路径几何描述子。文档未给字段级说明,需自行探查。
Q13:三家中心是哪三家?
论文未披露名称与国别,只写「three clinical centers」。这是一个明确的信息缺口。
Q14:CT 是什么参数拍的?
未披露。层厚、设备型号、是否增强都没有写。这是复现时最实际的障碍之一。
Q15:有患者年龄性别吗?
没有。数据里不含人口学信息。
C. 方法与结果
Q16:模型有几个专家?
三个:CT 专家(局部形态)、肺叶专家(解剖先验)、路径几何专家(气道轨迹约束)。
Q17:融合是怎么做的?
自适应门控:w = Softmax(MLP([病灶位置; 肺叶嵌入; 图级气道统计])),然后用 w 加权求和三个专家的特征。
Q18:为什么路径用 GRU 不用 GNN?
因为路径一旦选定就是一维有序序列,序列模型更贴合「沿路径累积变窄」的物理过程。整棵树是图,但选定的路径不是。
Q19:AUROC 0.8052 是怎么算的?
患者级五折交叉验证的 AUROC。同批还报了 Acc 0.8068、F1 0.8595、PRAUC 0.8496。
Q20:模型多大?
3.83M 参数,比所有对照的 CT 骨干网络(4.69M 到 38.50M)都小。
Q21:最好的基线是多少?
分两种口径:异输入条件下最好的 CT 网络是 ResNet18 的 0.6333,最好的 GNN 是 GCN 的 0.6483;同输入三通道条件下最好的是 EfficientNet-b0 的 0.7310,且与本文方法差异不显著。
Q22:医生的表现如何?
22 名医生 AUROC 0.5661,Acc 0.5272。判断方式是把三级难度评分映射为 0.9/0.7/0.4 后再计算。
Q23:消融说明了什么?
CT 专家是主力(单路 0.7382);路径专家提供主要互补信息(与 CT 合并后 0.7756);肺叶专家单独接近随机(0.5513),主要起全局先验的正则作用。
Q24:模型最容易犯什么错?
假阳性:病灶靠近远端支气管但有分支突变,CT 专家高估了局部邻近性。假阴性:外周病灶,实际靠术者经验或超细镜成功。
D. 使用与许可
Q25:能商用吗?
不能。CC BY-NC-4.0 明确禁止商业使用。
Q26:需要申请吗?
不需要。gated=false,公开直链。
Q27:能用 HF 在线预览看数据吗?
不能,viewer: false。需要本地下载后读取。
Q28:数据有多大?
论文未给总体积。438 例 CT + patch + 图,实际大小取决于 CT 层数,建议先查 snapshot_download 报告或多阶段下载。
Q29:怎么引用?
引用 MICCAI 2026 论文(BibTeX key peng2026bronchoacc),并注明数据来自 HF linkai-peng/BronchoAccess。arXiv 版的 DOI 是 10.48550/arXiv.2609.37386,但这是论文 DOI,不是数据集 DOI。
Q30:有已知的勘误吗?
本条目未发现勘误声明。已记录的三处口径差异(作者名写法、许可指称对象、HF 更新时间与公告日期相差一天)都不是错误,是需要在引用时写清楚的细节。
术语表
| 术语 | 英文 | 释义 |
|---|---|---|
| 支气管镜 | bronchoscopy | 经口或鼻插入柔性内镜,经气管进入支气管观察或取样的操作 |
| 导航支气管镜 | navigational bronchoscopy | 结合电磁导航或虚拟支气管镜路径,把器械引导到外周病灶的技术 |
| 可达性 | accessibility | 在本条目语境中特指「支气管镜能否到达病灶并取得诊断性组织」 |
| 诊断性组织 | diagnostic tissue | 病理科能据此给出明确诊断的组织样本 |
| 诊断率 | diagnostic yield | 一次操作中取得诊断性组织的比例 |
| 非诊断 | nondiagnostic | 未取得可据以诊断的组织,原因可能是未到达、样本不足或判读困难 |
| 专家混合 | Mixture-of-Experts, MoE | 多个子模型(专家)分别处理输入,再由门控网络加权融合的架构 |
| 门控网络 | gating network | 输出各专家权重的神经网络,权重和为 1 |
| 自适应门控 | adaptive gating | 权重随输入(病例)变化,而非全局固定 |
| 肺叶先验 | lobe prior | 以病灶所属肺叶作为输入的先验信息 |
| 路径几何 | path geometry | 沿气管到病灶路径的管径、曲率、扭转等几何量的集合 |
| 距离变换 | Distance Transform, EDT | 把二值区域转换为每个体素到该区域距离的连续场 |
| 分叉指数 | branching index | 描述气道在某节点处分叉程度的量 |
| 扭转 | torsion | 曲线偏离其所在平面的程度,衡量路径的「拧」 |
| 残差块 | residual block | 带跨层捷径连接的卷积模块,缓解深层网络训练困难 |
| 挤压激励 | Squeeze-and-Excitation, SE | 一种通道注意力机制,按通道重加权特征 |
| 双向门控循环单元 | BiGRU | 分别从前向与后向处理序列并拼接结果的循环网络 |
| 患者级划分 | patient-level split | 同一患者的所有样本只出现在训练或验证一侧,防泄漏 |
| 五折交叉验证 | 5-fold cross-validation | 数据分五份,轮流一份做验证、四份做训练 |
| DeLong 检验 | DeLong test | 比较两条 ROC 曲线 AUC 差异是否显著的统计检验 |
| AUROC | Area Under ROC Curve | ROC 曲线下面积,衡量排序能力,与阈值无关 |
| PRAUC | Area Under PR Curve | 精确率-召回率曲线下面积,对类别不平衡更敏感 |
| 阳性率 | prevalence | 数据集中正类所占比例,本例为 63.70% |
| 假阳性 | false positive | 预测可达但实际未取得诊断性组织 |
| 假阴性 | false negative | 预测不可达但实际取得了诊断性组织 |
| 外周病灶 | peripheral lesion | 位于肺外带、远离主气道的病灶 |
| 超细支气管镜 | ultrathin bronchoscope | 外径更小的支气管镜,可进入更远端的气道 |
| 组织病理学确认 | histopathological confirmation | 以病理切片判读作为「取得诊断性组织」的证据标准 |
| 观察者间变异 | inter-observer variability | 不同医生对同一影像给出不同判断的程度 |
| 回顾性队列 | retrospective cohort | 从既有病历中回溯收集的病例集合,非前瞻性招募 |
事实清单(硬事实 40 条)
以下每条均可回溯到 arXiv v2 正文/表格、HF API 或项目页三者之一。标注来源以便核对。
| # | 事实 | 来源 |
|---|---|---|
| 1 | 患者数 438,来自 3 家临床中心 | 论文 §1/§3.1、官网、HF 卡 |
| 2 | 诊断成功 279 例 | 论文 §3.1、官网、HF 卡 |
| 3 | 非诊断 159 例 | 同上 |
| 4 | 阳性率 279/438 = 63.70% | 本条目推算 |
| 5 | 判据为活检组织经组织病理学确认 | 论文 §3.1 |
| 6 | 每例 1 个目标病灶 | HF 卡片 |
| 7 | 模态为术前胸部 3D CT | 论文、HF 卡 |
| 8 | 全部手术同一导航平台 | 论文 §3.1 |
| 9 | 涉及多术者与不同设备配置 | 论文 §3.1 |
| 10 | 采用患者级五折交叉验证 | 论文 §3.1 |
| 11 | 论文标题 Anatomy-Aware Prediction of Bronchoscopic Accessibility from 3D CT | arXiv |
| 12 | 会议 MICCAI 2026 | arXiv comments |
| 13 | arXiv 编号 2609.37386,v1 2026-09-29,v2 2026-10-12 | arXiv 页面 |
| 14 | 通讯作者 Ulas Bagci | 论文首页 |
| 15 | 作者共 13 人 | arXiv 元数据 |
| 16 | 官网新闻发布日 2026-10-12 | bagcilab.com |
| 17 | HF 仓库 lastModified 2026-10-11T22:03:18Z | HF API |
| 18 | HF 仓库文件总数 1,323 | HF API siblings |
| 19 | images 目录 438 个文件 | HF API |
| 20 | patches 目录 438 个文件 | HF API |
| 21 | graphs 目录 438 个文件 | HF API |
| 22 | DiagMal 224 例 | HF API 文件计数 |
| 23 | DiagBen 55 例 | HF API 文件计数 |
| 24 | NonDiag 159 例 | HF API 文件计数 |
| 25 | 224 + 55 = 279(与诊断成功口径闭合) | 本条目核算 |
| 26 | 每例三个子目录文件后缀均为 _0000 |
HF API |
| 27 | 数据许可 CC BY-NC-4.0 | HF cardData |
| 28 | HF 仓库 gated=false、private=false | HF API |
| 29 | HF viewer=false | HF cardData |
| 30 | HF downloads 437、likes 3(2026-10-17) | HF API |
| 31 | 主模型参数量 3.83M | 论文 Table 1 |
| 32 | 五折 AUROC 0.8052 | 论文 Table 1/3 |
| 33 | 五折 Acc 0.8068、F1 0.8595、PRAUC 0.8496 | 论文 Table 1 |
| 34 | 人类专家 AUROC 0.5661(22 人) | 论文 Table 1 |
| 35 | 三级难度映射值 0.9/0.7/0.4 | 论文 §3.2 |
| 36 | 同输入对照最强 CNN 为 EfficientNet-b0,AUROC 0.7310,未标 † | 论文 Table 2 |
| 37 | CT 专家单路 AUROC 0.7382 | 论文 Table 3 |
| 38 | 肺叶专家单路 AUROC 0.5513 | 论文 Table 3 |
| 39 | 路径专家单路 AUROC 0.6040 | 论文 Table 3 |
| 40 | 训练 AdamW lr 1e-3 batch 16 100 epochs A100 | 论文 §3.2 |
与硬事实相关的三条「非事实」提醒:官网称 「AUROC 0.805」(三位小数)与论文 0.8052 是同一数字;项目页未提中心数与交叉验证协议;HF 卡片标签 task_categories: image-classification 是检索用的粗分类,不精确反映「多模态输入 + 二分类」的实际任务形态。
附录
附录 A:来源清单与抓取时点
| # | 来源 | URL | 抓取时点 | 用途 |
|---|---|---|---|---|
| 1 | Bagci Lab 官方新闻 | https://bagcilab.com/news/BronchoAccess | 2026-10-17 | 438/3 中心/279/159/AUROC 0.805、发布日 |
| 2 | 项目页 | https://nubagcilab.github.io/BronchoAccess/ | 2026-10-17 | 作者名单、机构、Table 1-3、BibTeX、22 名医生 |
| 3 | arXiv 摘要页 | https://arxiv.org/abs/2609.37386 | 2026-10-17 | 题名、作者、提交日期、DOI、会议 |
| 4 | arXiv 全文(HTML v2) | https://arxiv.org/html/2609.37386v2 | 2026-10-17 | 方法细节、数据集描述、训练配置、定性分析 |
| 5 | Hugging Face API | https://huggingface.co/api/datasets/linkai-peng/BronchoAccess | 2026-10-17 | 文件清单、许可、gated、downloads、lastModified |
| 6 | HF 数据卡(经镜像访问) | https://hf-mirror.com/datasets/linkai-peng/BronchoAccess | 2026-10-17 | 一句话定义、438 patients、one target lesion each |
六源互证结果:核心数字(438 / 3 / 279 / 159 / 0.8052)在来源 1、2、4 三处完全一致;文件级数字(1,323 文件、224/55/159 前缀分布)仅来源 5 可提供,属单一来源但可自行复算;许可(CC BY-NC-4.0)仅来源 5 的 cardData 字段可靠,来源 2 的页脚 CC BY-SA 4.0 指称网页而非数据。
附录 B:双口径存照表
| 编号 | 冲突点 | 口径一 | 口径二 | 本条目的处理 |
|---|---|---|---|---|
| B1 | 数据许可 | HF cardData:CC BY-NC-4.0 | 项目页页脚:CC BY-SA 4.0 | 以 HF 为准(约束数据),项目页许可只约束网页,全文明确二者指称对象不同 |
| B2 | 作者署名 | 项目页/BibTeX:Eminenur Sentasci | arXiv 元数据:Eminenur Sen Tasci | 按 arXiv 元数据写,并保留两种写法 |
| B3 | 时间线 | HF 仓库更新 2026-10-11 | arXiv v2 与官网新闻 2026-10-12 | 记为「数据先上线、公告后发」,非冲突 |
| B4 | 样本单位 | 论文正文 「438 cases」 | HF 卡 「438 patients, one target lesion each」 | 统一写「438 例患者,每例 1 个目标病灶」 |
| B5 | AUROC 精度 | 官网 「0.805」 | 论文 「0.8052」 | 正文一律用 0.8052,官网三位小数视为同值异写 |
| B6 | 人类专家描述 | 论文引言 「expert bronchoscopists」 | 论文 §3.2 只写 「22 clinicians」,未给年资 | 按 §3.2 保守表述为「22 名临床医生」,不对「专家」一词加码 |
| B7 | 数据集类型标签 | HF task_categories: image-classification |
实际方法为「体数据 + 图 + 类别」的多模态二分类 | 正文按方法实况描述,提醒 HF 标签是检索粗分类 |
| B8 | 病例数写法 | 论文 「438 clinically verified cases」 | HF 文件名计数 438(三目录一致) | 两者一致,无需调和;但编号存在跳号,说明入库前做过筛选 |
| B9 | 中心数量 | 论文 §1 「three medical centers」 | HF 卡 「3 clinical centers」 | 同一事实,措辞不同 |
附录 C:Table 1 / Table 2 / Table 3 完整数值(便于逐行核对)
C1. Table 1(异输入基线)
| 方法 | Acc | F1 | AUROC | PRAUC | 参数 |
|---|---|---|---|---|---|
| Logistic Regression | 0.6136 | 0.7536 | 0.5128 | 0.6897 | N/A |
| Random Forest | 0.5682 | 0.7031 | 0.4590 | 0.5785 | N/A |
| DenseNet121 | 0.5909 | 0.7313 | 0.5301 | 0.6543 | 11.24M |
| Swin Transformer | 0.6136 | 0.7499 | 0.5418 | 0.8069 | 38.50M |
| EfficientNet-b0 | 0.6022 | 0.7517 | 0.5725 | 0.7459 | 4.69M |
| ConvNeXt | 0.6023 | 0.7482 | 0.5982 | 0.7750 | 31.30M |
| ResNet18 | 0.5795 | 0.6185 | 0.6333 | 0.7700 | 33.16M |
| GAT | 0.6386 | 0.7794 | 0.5767 | 0.7115 | 52.35K |
| GIN | 0.6265 | 0.7257 | 0.5774 | 0.6782 | 101.12K |
| GraphSAGE | 0.6203 | 0.7541 | 0.5897 | 0.7129 | 86.14K |
| GCN | 0.6329 | 0.7752 | 0.6483 | 0.7666 | 51.59K |
| Human Experts | 0.5272 | 0.5423 | 0.5661 | 0.7434 | N/A |
| Ours | 0.8068 | 0.8595 | 0.8052 | 0.8496 | 3.83M |
C2. Table 2(同输入三通道)
| 方法 | Acc | F1 | AUROC | PRAUC | 显著性 |
|---|---|---|---|---|---|
| Swin Transformer | 0.6250 | 0.7626 | 0.5243 | 0.6698 | † |
| ConvNeXt | 0.6477 | 0.7438 | 0.6629 | 0.7057 | † |
| DenseNet121 | 0.6590 | 0.7058 | 0.6640 | 0.7611 | † |
| ResNet18 | 0.6818 | 0.7586 | 0.7109 | 0.7834 | † |
| EfficientNet-b0 | 0.6704 | 0.7819 | 0.7310 | 0.8269 | 无 † |
| Ours | 0.8068 | 0.8595 | 0.8052 | 0.8496 | — |
C3. Table 3(消融,7 种组合)
| 肺叶 | 路径 | CT | Acc | F1 | AUROC | PRAUC |
|---|---|---|---|---|---|---|
| ✓ | — | — | 0.6190 | 0.7647 | 0.5513 | 0.7030 |
| — | ✓ | — | 0.6310 | 0.7704 | 0.6040 | 0.6665 |
| — | — | ✓ | 0.7500 | 0.8035 | 0.7382 | 0.8028 |
| ✓ | ✓ | — | 0.7045 | 0.7968 | 0.5960 | 0.6857 |
| ✓ | — | ✓ | 0.7841 | 0.8504 | 0.7477 | 0.8141 |
| — | ✓ | ✓ | 0.7500 | 0.8358 | 0.7756 | 0.8030 |
| ✓ | ✓ | ✓ | 0.8068 | 0.8595 | 0.8052 | 0.8496 |
附录 D:HF 仓库文件结构(API 实测)
linkai-peng/BronchoAccess (sha 63d945dc68208beebf123d350742d0edbb903dfc)
├── .gitattributes
├── README.md # 数据卡
├── labels.csv # 438 例标签汇总(字段未核验)
├── assets/ # 6 张示意图
│ ├── banner.png
│ ├── pipeline.png
│ ├── cohort_protocol.png
│ ├── case_anatomy.png
│ ├── benchmark_auroc.png
│ └── ablation_experts.png
├── images/ # 438 × <ID>_0000.nii.gz
├── patches/ # 438 × <ID>_0000.nii.gz
└── graphs/ # 438 × <ID>_0000.pt
<ID> 的三种前缀及计数:DiagMal 224、DiagBen 55、NonDiag 159,合计 438。三个子目录的前缀分布完全相同。
API 字段速查(2026-10-17 实测):
| 字段 | 值 |
|---|---|
id |
linkai-peng/BronchoAccess |
sha |
63d945dc68208beebf123d350742d0edbb903dfc |
lastModified |
2026-10-11T22:03:18.000Z |
private / gated / disabled |
false / false / false |
downloads / likes |
437 / 3 |
cardData.license |
cc-by-nc-4.0 |
cardData.size_categories |
n<1K |
cardData.language |
en |
cardData.viewer |
false |
附录 E:论文 BibTeX
@inproceedings{peng2026bronchoacc,
title={Anatomy-Aware Prediction of Bronchoscopic Accessibility from 3D CT},
author={Peng, Linkai and Sun, Cuiling and Wang, Bin and Rowell, Jamie and Gao, Catherine
and Ikizgul, Oyku and Sentasci, Eminenur and Bejar, Andrea and Aktas, Halil Ertugrul
and Durak, Gorkem and Wahidi, Momen and Kapp, Christopher and Bagci, Ulas},
booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI)},
year={2026}
}
注:这是项目页给出的官方 BibTeX,作者名 「Sentasci, Eminenur」 与 arXiv 元数据 「Eminenur Sen Tasci」 不一致(见附录 B2)。若投稿系统按 arXiv 元数据校验,可能出现作者名匹配失败,建议以 arXiv 版本为准并注明差异。
附录 F:最小复现代码骨架
"""BronchoAccess 最小复现骨架:CT 专家单路 + 五折评估。
目标:CT 专家单路 AUROC 应落在 0.73 附近(论文 Table 3)。
若显著低于此值,优先检查 patch 三通道与 EDT 计算。
"""
from pathlib import Path
import nibabel as nib
import numpy as np
import torch
import torch.nn as nn
import torch.nn.functional as F
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import StratifiedKFold
ROOT = Path(「./BronchoAccess」)
def load_case(case_id: str):
「」「读一例:patch 三通道 + 二分类标签。」「」
patch = nib.load(ROOT / 「patches」 / f「{case_id}_0000.nii.gz」).get_fdata()
patch = patch.astype(np.float32)
# 形状应为 (128, 128, 32, 3);转成 (C, H, W, D) 供 3D 卷积使用
x = torch.from_numpy(np.transpose(patch, (3, 0, 1, 2)))
y = 0 if case_id.startswith(「NonDiag」) else 1
return x, y
def list_cases():
「」「以 images 目录为准列出全部病例,并校验三目录对齐。」「」
ids = sorted(p.name.split(「_」)[0] for p in (ROOT / 「images」).glob(「*.nii.gz」))
for sub, suf in ((「patches」, 「.nii.gz」), (「graphs」, 「.pt」)):
n = len(list((ROOT / sub).glob(f「*{suf}」)))
assert n == len(ids), f「{sub} 文件数 {n} != images {len(ids)}」
return ids
class SEBlock(nn.Module):
「」「挤压激励通道注意力。」「」
def __init__(self, ch: int, r: int = 8):
super().__init__()
self.fc = nn.Sequential(
nn.Linear(ch, max(ch // r, 4)), nn.ReLU(inplace=True),
nn.Linear(max(ch // r, 4), ch), nn.Sigmoid(),
)
def forward(self, x):
w = x.mean(dim=(2, 3, 4))
w = self.fc(w).view(*w.shape, 1, 1, 1)
return x * w
class ResSEBlock(nn.Module):
「」「残差块 + SE 通道注意力。」「」
def __init__(self, cin: int, cout: int):
super().__init__()
self.conv1 = nn.Conv3d(cin, cout, 3, padding=1, bias=False)
self.bn1 = nn.BatchNorm3d(cout)
self.conv2 = nn.Conv3d(cout, cout, 3, padding=1, bias=False)
self.bn2 = nn.BatchNorm3d(cout)
self.se = SEBlock(cout)
self.proj = nn.Conv3d(cin, cout, 1, bias=False) if cin != cout else nn.Identity()
def forward(self, x):
h = F.relu(self.bn1(self.conv1(x)), inplace=True)
h = self.bn2(self.conv2(h))
h = self.se(h)
return F.relu(h + self.proj(x), inplace=True)
class CTExpert(nn.Module):
「」「论文里的 CT 专家:4 个残差块 + SE + 全局平均池化 + 线性投影。」「」
def __init__(self, in_ch: int = 3, width: int = 32, dim: int = 128):
super().__init__()
self.stem = nn.Conv3d(in_ch, width, 3, padding=1, bias=False)
blocks = []
for _ in range(4):
blocks.append(ResSEBlock(width, width))
self.blocks = nn.Sequential(*blocks)
self.fc = nn.Linear(width, dim)
def forward(self, x):
h = self.stem(x)
h = self.blocks(h)
h = h.mean(dim=(2, 3, 4))
return self.fc(h)
def evaluate(model, xs, ys):
model.eval()
with torch.no_grad():
logits = model(torch.stack(xs))
p = torch.sigmoid(logits).numpy()
return roc_auc_score(ys, p)
def main():
cases = list_cases()
data = [load_case(c) for c in cases]
xs = [x for x, _ in data]
ys = [y for _, y in data]
print(「n =」, len(xs), 「positives =」, sum(ys))
skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=0)
aucs = []
for k, (tr, va) in enumerate(skf.split(np.zeros(len(ys)), ys)):
model = CTExpert()
opt = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=1e-4)
x_tr = torch.stack([xs[i] for i in tr])
y_tr = torch.tensor([ys[i] for i in tr], dtype=torch.float32)
x_va = [xs[i] for i in va]
y_va = [ys[i] for i in va]
model.train()
for epoch in range(100):
perm = torch.randperm(len(x_tr))
for b in range(0, len(perm), 16):
idx = perm[b:b + 16]
opt.zero_grad()
loss = F.binary_cross_entropy_with_logits(model(x_tr[idx]), y_tr[idx])
loss.backward()
opt.step()
auc = evaluate(model, x_va, y_va)
aucs.append(auc)
print(f「fold {k}: AUROC = {auc:.4f}」)
print(f「mean AUROC = {np.mean(aucs):.4f} (论文 CT 专家单路 0.7382)」)
if __name__ == 「__main__」:
main()
这段骨架的三处刻意留白(也是复现时最容易出问题的地方):
- patch 通道顺序未假设。代码直接按原顺序取三通道,未做交换。若 AUROC 异常低,先打印每个通道的直方图,确认哪个是掩膜(全 0/1)、哪个是 EDT(连续非负、大量零值)。
- 未做强度裁剪。论文说强度裁剪到肺窗范围后归一化,具体窗口上下限未给。常见肺窗约为窗位 −600 HU、窗宽 1500 HU,但这是通用经验值,论文未明示,属于需自行试的假设。
- 未实现 EDT 重算。直接用仓库里已算好的 patch,不做重算。若想复现「从 CT 到 patch」的完整链路,需要自己跑分割与 EDT,成本高且版本不可控。
附录 G:关键数字速查卡
| 指标 | 数值 |
|---|---|
| 患者数 | 438 |
| 中心数 | 3 |
| 诊断成功 | 279(63.70%) |
| 非诊断 | 159(36.30%) |
| DiagMal / DiagBen / NonDiag | 224 / 55 / 159 |
| HF 文件总数 | 1,323 |
| patch 尺寸 | 128 × 128 × 32 |
| 模型参数量 | 3.83M |
| 五折 AUROC | 0.8052 |
| 五折 Acc / F1 / PRAUC | 0.8068 / 0.8595 / 0.8496 |
| 人类专家 AUROC(22 人) | 0.5661 |
| 同输入最强 CNN(EfficientNet-b0) | 0.7310(未达显著差异) |
| CT 专家单路 | 0.7382 |
| 路径专家单路 | 0.6040 |
| 肺叶专家单路 | 0.5513 |
| 训练配置 | AdamW 1e-3 / batch 16 / 100 epochs / A100 |
| 许可 | CC BY-NC-4.0 |
附录 H:按角色的阅读路径
| 角色 | 建议顺序 | 关注点 |
|---|---|---|
| 介入肺脏病学医师 | §0 → §7 → §8 | 假阴性的临床含义、63.7% 不能当诊断率引用、替代路径缺口 |
| 影像 AI 研究者 | §3 → §4 → §5 → 附录 F | 任务定义、消融、三模态融合的架构取舍、可复现骨架 |
| 数据集工程师 | §2 → §6 → 附录 D | 文件结构、装载对齐、许可边界、字段未知项 |
| 器械与产品团队 | §7 → §8.3 → §6.6 | 单一平台限制、非商用许可、部署形态 |
| 综述与教学 | §1 → §11 → FAQ → 术语表 | 十问十答、DAIMS 评分、术语统一 |
| 审计与合规 | §6.6 → §8 → 附录 B | 许可三层辨析、伦理明文的缺口、双口径存照 |
附录 I:后续维护触发点
出现以下任一情况时,本条目需要复核更新:
- 数据集版本变更:HF 仓库 sha 从
63d945dc...变化,或出现 v2 数据/新增字段。 - 正式出版物信息变更:MICCAI 2026 会议论文集(Springer LNCS)上线后,需补正式页码与 DOI;届时 arXiv 版不再是最新引用源。
- 代码仓库公开:
github.com/NUBagciLab/BronchoAccess若发布训练权重与预处理脚本,附录 F 的骨架可替换为官方版本。 - 外部验证结果发表:若有团队在其他中心复现或报告性能下降,§8.8 的「外部验证缺失」一条需要改写。
- 许可变更:若作者将 CC BY-NC-4.0 改为更宽松或更严格的许可,§6.6 需全段重写。
- 补披露:若后续版本补出三家中心名称、逐中心分布或 CT 采集参数,原文的多处「未披露」需要同步删除。
附录 J:检索路径示范
| 目标 | 推荐查询式 | 预期命中 |
|---|---|---|
| 数据集本体 | 「BronchoAccess」 + bronchoscopy |
HF 仓库、Bagci Lab 新闻 |
| 论文 | arXiv 2609.37386 或精确题名 |
arXiv 摘要页 |
| 团队后续 | Bagci Lab + bronchoscopy |
实验室页面、后续论文 |
| 直接前作 | Naito + reachability + transbronchial |
IJCARS 2023 18(2):247-255 |
| 气道分割上游 | Naviairway / ATM22 / airway tree modeling |
arXiv:2203.04294、Media 90:102957 |
| 判别性对照 | bronchoscopy + diagnostic yield + peripheral nodule |
大量临床文献(本条目未引用其数字) |
| 勿用 | 把 bronchoaccess 当作通用词搜 |
会命中大量支气管镜/气道相关但与数据集无关的结果 |
检索卫生两条:一、本数据集的名称没有连字符变体(不是 broncho-access),但搜索引擎常自动拆分;二、HF 仓库 owner 是 linkai-peng(第一作者个人账号,即 Northwestern 缩写),不在 NUBagciLab 组织下——按组织名搜不到。
尾注
本条目为 AI-Ready Wikipedia 数据集条目,生产于 2026-10-17,抓取与核验时点见附录 A。事实陈述以 arXiv:2609.37386v2 正文与表格、Hugging Face API 实测、Bagci Lab 项目页与官方新闻三源为据;数据许可的双源差异、作者名写法差异、时间线先后等已在附录 B 逐条存照,未披露项(中心名称、逐中心分布、CT 采集参数、labels.csv 字段结构、graph 字段名)已在 §8 与 FACTS §9 记为遗留疑点,不做推测填充。
条目的核心判断是:BronchoAccess 的价值不在 AUROC 0.8052 这个数字本身,而在于它第一次把「术前判断能不能够到」与「术后是否真的取到组织」这两件长期各自散落的事接了起来,并因此暴露出一个被低估的事实——仅凭 CT 的人眼判断,在这个任务上接近随机。这个发现会随着更多中心、更多平台的数据被验证或修正,但在那之前,它是这个领域最值得被引用的一个基线。
条目与库内 atm-airway(rid 922)、bm-bronch(rid 912)、luna16(rid 237)、lidc-idri(rid 19)、nsclc-radiomics(rid 247)、nlst(rid 317)、deeplesion(rid 17)、endovis-challenges(rid 79)、kvasir-hyperkvasir(rid 75)、hecktor(rid 461)、chimera(rid 633)等条目互链,构成「胸部影像 + 内窥镜 + 影像结局预测」的完整检索面。后续维护触发点见附录 I。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- limuc — 共享标签:医学影像 / 图像分类 / 内窥镜影像 / 评测基准
- ct-rate — 共享标签:医学影像 / CT / 图像分类 / 肺癌
- bm-bronch — 共享标签:医学影像 / 图像分类 / 内窥镜影像 / 肺癌
- hyperkvasir — 共享标签:医学影像 / 图像分类 / 内窥镜影像 / 评测基准
- slam-laparoscopic-motions — 共享标签:医学影像 / 图像分类 / 内窥镜影像 / 评测基准
- ercpmp-gx — 共享标签:医学影像 / 图像分类 / 内窥镜影像 / 评测基准
- cholectriplet2022 — 共享标签:医学影像 / 图像分类 / 内窥镜影像 / 评测基准
- luna25 — 共享标签:医学影像 / CT / 肺癌 / 评测基准
- gastrovision — 共享标签:医学影像 / 图像分类 / 内窥镜影像
- nsclc-radiomics — 共享标签:医学影像 / CT / 肺癌
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

