PolypGen 多中心息肉检测与分割数据集

横跨 5 国 6 中心的 8,037 帧结肠镜息肉数据集,专为跨中心泛化评估而建

来源 University of Oxford / SimulaMet / EndoCV2021 Consortium(Synapse 托管) url: https://www.synapse.org/#!Synapse:syn26376615/wiki/613312发布时间: 2026-10-18最后更新: 2026-10-20 阅读 77
PolypGen 多中心息肉检测与分割数据集

信息速览

数据集名称PolypGen 多中心息肉检测与分割数据集
数据类型8,037 帧结肠镜图像,3,447 个像素级息肉实例,300+ 名患者,5 国 6 中心,CC BY 4.0 免费获取
规模300+ 名患者(6 中心每中心至少 50 名,官方未公布确切总数)
接入方式University of Oxford / SimulaMet / EndoCV2021 Consortium(Synapse 托管) url: https://www.synapse.org/#!Synapse:syn26376615/wiki/613312
AI 就绪度

PolypGen 是牛津大学、SimulaMet 与六家医院联合发布的结肠镜息肉检测与分割数据集:8,037 帧影像,其中 1,537 张单帧、2,225 帧正样本序列帧、4,275 帧阴性序列帧,3,447 个息肉实例全部经 6 名从业二十余年的胃肠病学家复审。六家中心分处法国、意大利、挪威、英国、埃及,构成一道天然的域漂移考题。

它的问题意识不是"再多给几百张分割图",而是"模型换一家医院、换一台内镜还能不能用"。官方协议以 C1–C5 单帧训练,在从未参与训练的 C6 中心测试:最好的 DeepLabV3+ 单帧 Dice 只有 0.82,序列口径降到 0.71,小息肉更是掉到 0.46;TransNetR 的全中心扫描里,C5 的 mIoU 只有 35.97,而 C3 是 76.75。

获取门槛不高:注册 Synapse 账号即可下载,许可为 CC BY 4.0,但官方同时限定教育与研究用途并要求引用论文,商业使用须另议。它是泛化评估的基础设施,不是刷分的语料库——用在验证上很划算,用在预训练上不划算。

§1 它是什么:为跨中心泛化而建的多中心息肉集

PolypGen 是牛津大学、SimulaMet 与六家医院联合发布的结肠镜息肉检测与分割数据集:8,037 帧影像,其中 1,537 张单帧、2,225 帧正样本序列帧、4,275 帧阴性序列帧,全部息肉轮廓由 6 名从业超过二十年的胃肠病学家逐一复审后确定为 3,447 个实例。它最想解决的问题不是"再多给几百张分割图",而是"模型换一家医院、换一台内镜之后还能不能用"——6 个中心分处法国、意大利、挪威、英国、埃及五国,本身就是一道天然的域漂移考题。

数据规模不大,但结构是罕见的完整:原图、同尺寸掩码、PASCAL VOC 绝对坐标框、框叠加图四件套同帧严格对齐,另附官方 train-validation 划分文件。许可为 CC BY 4.0,注册 Synapse 账号即可下载,限定教育与研究用途并要求引用主论文。挑战赛前身是 ISBI 2021 的 EndoCV2021,完整版于 2023 年 2 月经 Scientific Data 论文固化。

它的价值集中在"落差"上:官方协议以 C1–C5 单帧训练、在从未参与训练的 C6 中心测试,最好的 DeepLabV3+ 单帧 Dice 也只有 0.82,序列口径降到 0.71,小息肉(≤100×100 像素)更是掉到 0.46;TransNetR 的全中心扫描里,C5 的 mIoU 只有 35.97,而 C3 是 76.75。把这些数字放在一起看,才知道"单中心 0.9 以上"的报告离临床有多远。

1.1 一句话定位与三条设计线

把 PolypGen 放在息肉数据集的时间轴上看,它的位置很清晰:在它之前,息肉分割的默认舞台是 Kvasir-SEG 与 CVC 系这类单中心集合;在它之后,"训练与测试来自不同医院"才开始成为论文里必须交代的一件事。

这条转变靠三条设计线支撑。

第一条:数据按中心组织,不按随机划分组织。 目录结构把 data-C1 到 data-C6 摆在最外层,这是把"中心"当成一等公民的物理表达。使用者想无视中心都难。

第二条:留出一个中心完全不参与训练。 C6 在完整版里才补齐,且全程不进训练。这不是随机切分出来的测试集,而是"从没见过这家医院"的测试集。

第三条:阴性样本单独成块。 4,275 帧阴性序列帧不与正样本混放,而是独立目录。这让"模型在正常黏膜上会不会乱报"成为一个可以单独打分的问题,而不是被正样本稀释掉。

三条线合起来,构成了一件在数据层面很少被认真做的事:把评测协议写进了数据结构。

1.2 它的数字为什么显得"小"

8,037 帧在今天不算大——HyperKvasir 有 11 万张图,LDPolypVideo 有 5.7 万帧。PolypGen 的规模在数量级上落后一个身位。

但这个比较忽略了一件事:标注成本。3,447 个息肉实例全部经过 6 名资深胃肠病学家复审,两阶段二元审查拒掉了 30.5% 的初标帧。若按"每帧都要专家看一遍"计,这套数据的专家工时远超它的帧数所暗示的量级。规模小是选择的结果,不是能力不足——它把钱花在了"每个标签都可信"上,而不是"标签足够多"上。

对使用者的实际含义是:用它做预训练不划算,用它做验证很划算。两者的差别在于你需要的到底是样本量还是标签可信度。

1.3 与"泛化"这个词的距离

需要提前说清一点:PolypGen 提供的是测量泛化的工具,不是解决泛化的方法。

它给出的是落差数字——同一模型在 C3 是 76.75,在 C5 是 35.97。它没有告诉你为什么,也没有给出缩小落差的方案。论文本身也没有声称做到了后一件事。

这个区分很重要。文献里常见的一种误读是把"在这个数据集上跨中心测试过"当成"模型具备跨中心泛化能力"的证据。恰恰相反:在这个数据集上测出来的往往是不能泛化。它的价值在于让这个"不能"变得可量化、可比较、可追踪。


§2 数据构成:六中心、四件套、两道缺口

2.1 规模与子集切分

数据分两块:Positive/ 与 Negative/。前者再分 Single_Frames_centre_Split/(data-C1 至 data-C6)与 Sequence_Frames/(seq_1 至 seq_23);后者是 23 个阴性序列文件夹(seq1_neg 至 seq23_neg)。

子集 帧数 构与来源
单帧正样本 1,537 C1–C5 共 1,449 帧 + C6 88 帧
序列正样本帧 2,225 23 条序列,主要来自 C2 865 / C4 450 / C6 432
阴性序列帧 4,275 4 家医院,无标注文件
合计 8,037 每中心至少 50 名独特患者,合计 300+ 人

正样本按中心分布为 C1 484、C2 1,166、C3 457、C4 677、C5 458、C6 520。这个分布本身就是一个偏倚源:C2 的贡献接近 C3 的 2.5 倍,跨中心训练若不做加权,模型会被大中心主导。

2.2 逐中心国别、设备与伦理

中心 机构与城市 设备 伦理与知情同意
C1 Ambroise Paré Hospital,巴黎,法国 Olympus Exera 195 批件 N° IDRCB: 2019-A01602-55(Endospectral 研究)
C2 Istituto Oncologico Veneto IOV-IRCCS,帕多瓦,意大利 Olympus H190 通用患者同意
C3 Centro Riferimento Oncologico CRO IRCCS,阿维亚诺,意大利 Olympus VG-165 / CV180 / H185 通用患者同意
C4 Oslo University Hospital,奥斯陆,挪威 Olympus Evis Exera III / CF 190 豁免 + 书面知情同意
C5 John Radcliffe Hospital,牛津,英国 GIF-H260Z、EVIS Lucera CV260 REC Ref 16/YH/0247 通用同意
C6 University of Alexandria,亚历山大,埃及 Olympus Exera 160AL / 180AL 书面知情同意

六家全部使用 Olympus 系统,且 5 家在洲、1 家在非。这决定了它的泛化结论只能覆盖"同品牌跨机构",不能外推为"跨品牌泛化"。

2.3 标注协议与质检链路

标注在 Labelbox 平台完成,3 名研究人员分工均分标注,6 名资深胃肠病学家(均超过 20 年经验)复审。质检是两阶段二元审查:

环节 数量 结果
标注分工 3 名研究人员 单帧均分、Labelbox 平台
专家复审 6 名胃肠病学家 覆盖全部标注帧
二元审查(剔除歧义后) 2,213 帧 接受 1,537 / 拒绝 676(约 30.5%)
歧义批次重标 2 名研究者联合重标 再审后仍拒 34.17%
最终发布实例 3,447 个 全部通过专家验收

被拒三成是这套数据质量的核心证据——绝大多数公开分割数据集不公布拒绝率,而这里的 30.5% 说明"专家认为可接受的边界"远比"能画出来"严格。

配套的 8 条书面标注协议把经典歧义源逐条钉死:隆起型只标隆起区;染色内镜帧排除墨迹;带器械的息肉排除器械本身;pedunculated 息肉包含全部隆起;flat 息肉须在放大视图下标注;远处不清晰的病灶不标;被遮挡部分排除;癌变后的非息肉样黏膜排除。尺寸分层按 small ≤100×100 像素、medium 介于其间、large >200×200 像素,另按面积以 10,000 与 40,000 平方像素分档。

2.4 格式、目录与四件套

PolypGen/ 下的层级是 Positive 与 Negative → Single_Frames_centre_Split 与 Sequence_Frames → data-C1…data-C6 与 seq_1…seq_23。每个病灶帧带四件套:

  • 原图 .jpg,分辨率跨度 384×288 至 1920×1080;
  • 同尺寸掩码 .jpg——注意是 JPG,有损压缩,边界像素只是近似;
  • 边界框 .txt,PASCAL VOC 绝对坐标,每行一个实例;
  • 框叠加图 .jpg,仅供人工核对,不可当模型输入。

正样本中的无息肉帧用"空 bbox 文件 + null 掩码"表达;阴性帧则完全没有标注文件。这一区别常被误读为数据损坏,实际是显式设计。

2.5 两处口径缺口

缺口一:标注实例数在预印本与正式版之间差一个。 arXiv v1 写 3,446,Scientific Data 正式版写 3,447。引用时以正式版为准,若对比 2021 年挑战赛结果则需注明预印本口径。

缺口二:摘要的 “3,762 annotated polyp labels” 不是实例数。 它是正样本帧数(1,537 + 2,225),与 3,447 个实例是两个概念,混用会造成约 10% 的规模误报。

另有第三方统计口径可作交叉参考:DatasetNinja 解析结果为 3,734 个息肉对象、3,121 张有标注、4,916 张(约 61%)无标注,平均对象面积占图像 8.45%。其对象数与官方 3,447 不同,原因是把序列帧中的重复跟踪对象计入了——这正是"按序列去重"必要性的一处旁证。

2.6 中心间差异的实质内容

六个中心不只是"六个文件夹"。把它们摆在一起,才能看出这套数据究竟在测什么。

人群层面:五家欧洲中心(巴黎、帕多瓦、阿维亚诺、奥斯陆、牛津)与一家北非中心(亚历山大)。息肉检出率与病变谱人群间本就存在差异,埃及中心的加入让数据集第一次带有非欧洲队列。

设备层面:虽然全部是 Olympus,但型号跨了三代以上——从 VG-165、H185 这类较早期平台,到 H190、Evis Exera III / CF 190,再到 Exera 160AL / 180AL。即使在同品牌内部,成像链路的色域、锐度与动态范围也不同。

采集流程层面:C1 来自 Endospectral 研究框架下的归档检索,C2、C3 走通用患者同意,C4 是豁免加书面同意,C5 有明确的 REC 编号,C6 为书面知情同意。流程不同意味着图像并非在同一种采样规范下产生。

这三层差异叠加,构成了一种"真实世界的混合域":它不像人工合成的域偏移那样干净可控,而更接近实际部署时会遇到的那种说不清哪里不一样、但性能就是掉了的情形。

2.7 尺寸分层与形态分布

官方按像素尺寸把息肉分为三层,并给出了对应的分割难度:

分层 判据 DeepLabV3+ R101 在 C6 的 DSC
large >200×200 像素 0.87
medium >100×100 且 ≤200×200 像素 0.84
small ≤100×100 像素 0.46

另有一套按面积的分档(<10,000 与 ≥40,000 平方像素)。同一模型在 large 与 small 之间差了 0.41,这个跨度比"跨中心"带来的下降还大。含义很直接:在这套数据上,目标尺寸比中心归属更能预测模型表现。任何总分如果不按尺寸分层报告,就掩盖了最需要改进的那一层。

形态方面,官方随包发布 protruded 与 flat 的占比图(论文图 6),但未提供逐帧清单。这意味着研究者无法直接按形态筛选子集做分层实验,只能依赖官方给出的整体占比。


§3 怎么拿到:Synapse 注册制与一条许可边界

3.1 获取通道对照

资产 通道 门槛 许可
完整数据(8,037 帧) Synapse syn26376615 注册 Synapse 账号 CC BY 4.0,教育研究用途
编译正式版 Synapse syn45200214 同上 同上
视频序列原片 Google Drive(GitHub 提供链接) 无 同上
官方划分与说明 GitHub DebeshJha/PolypGen 无 见仓库 LICENSE
前身挑战子集 endocv2021.grand-challenge.org 需签数据保密协议 挑战赛条款

数据 DOI 为 10.7303/syn26376615,论文 DOI 为 10.1038/s41597-023-01981-y,二者常被混引,需分开写。

3.2 下载实操

-- 1) 注册 Synapse 并在个人设置中生成 Access Token
pip install synapseclient
synapse login --username <你的账号>

-- 2) 拉取完整数据(约 8,037 帧四件套)
synapse get -r syn26376615 --downloadLocation ./polypgen_raw

-- 3) 校验:单帧正样本应为 1,537 个原图文件
find ./polypgen_raw/PolypGen/Positive/Single_Frames_centre_Split -name "*.jpg" \
  -not -path "*gt*" -not -path "*overlay*" | wc -l

视频序列不在 Synapse 包内,需从 GitHub README 的 Google Drive 链接另取。下载不完整是这套数据最常见的落地故障:Synapse 客户端在中途断线时不会报错,只会少文件,务必用上面的计数命令核对。

3.3 许可边界:CC BY 4.0 但用途受限

这里有一个容易踩的陷阱:CC BY 4.0 本身并不禁止商业使用,但数据集官方声明限定"教育与研究用途,使用须引用论文"。二者叠加的实际效果是:商业使用需要另行联系作者(Sharib Ali、Debesh Jha),而不是凭 CC BY 标签直接放行。

因此正确表述是"CC BY 4.0 + 官方用途限定"两句话同时出现,只写其中一句都会误导:

  • 只写 CC BY 4.0 → 读者以为可自由商用;
  • 只写"仅限研究" → 读者以为是非商业许可(如 CC BY-NC),与实际许可标识不符。

另需注意 SA 条款并不存在——PolypGen 没有 ShareAlike 要求,衍生数据集不强制沿用同一许可。

3.4 与 EndoCV2021 子集的版本关系

版本 时间 内容 通道
EndoCV2021 挑战版 2021-06(随 arXiv:2106.04463) 仅 C1–C5 单帧 1,449 帧,含挑战训练/测试划分 endocv2021.grand-challenge.org
完整发布版 2022 追加 C6(88 单帧 + 432 序列帧)、23 条正序列、4,275 帧阴性 Synapse syn26376615
编译正式版 2023-02-06 内容与完整版一致,官方 train-validation TXT、目录结构定型 Synapse syn45200214

把 8,037 帧直接与 2021 年挑战赛排行榜对比属于口径错位:复现挑战结果请用 1,449 帧子集,引用当前规模请用 2023 年正式版数字。

3.5 前身挑战的流程与一条官方勘误

EndoCV2021 的关键时点可直接从官方页面核对(均为太平洋时间):赛事网站 2020-11-01 上线;训练数据在 2021-01-15 首发,经 01-25 延至 02-02 定版;参赛声明表截止 02-19;测试数据分两批释放(02-12 首发 50%,02-28 全量);排行榜提交截止 03-03、延至 03-07;论文投稿 03-20、录用通知 03-27、终稿 03-31;挑战赛与 workshop 于 2021-04-13 在 IEEE ISBI 2021 举行。官方明确 EndoCV 系列论文不进 ISBI 正式论文集,而是收录于 CEUR 在线会议录。

同一页面还挂着一条与方法学直接相关的勘误,原文为:“Please note that the leaderboard results for detection have very high mAP values due to a bug in the evaluation code that has now been fixed in our GitHub evaluation code”。也就是说,检测榜上那些异常高的 mAP 是评估代码缺陷造成的,缺陷已在 GitHub 评估代码中修复;官方同时说明联合期刊论文纳入了大量序列数据,团队排名在未见数据上发生了变化,且最终获奖依据同时考察精度、速度与鲁棒性三项,而非单一精度。

这条勘误对引用者的直接含义是:若见到 2021 年检测榜的 mAP 数字,不能直接当成绩引用,须先确认它出自修复前还是修复后的代码;分割榜不受此缺陷影响。它同时也是"挑战赛榜单不等于评测结论"的一个真实样本——榜单是过程产物,勘误后的代码与论文才是可引用的口径。

3.6 逐项核对清单

下载完成后,按这张表逐项核对,能在十五分钟内判断数据是否完整、目录是否符合预期、口径有没有被第三方重新打包过。

检查项 期望值 偏差意味着什么
Single_Frames_centre_Split 下目录数 6(data-C1…data-C6) 少于 6:可能只取了挑战子集
单帧原图数(不含 gt/overlay) 1,537 1,449:拿到的是 EndoCV2021 版
正样本序列目录数 23(seq_1…seq_23) 缺失:序列未随包下载
阴性序列目录数 23(seq1_neg…seq23_neg) 缺失:阴性块被过滤掉
单帧掩码数 与单帧原图数一致 不一致:存在未配对的四件套
单帧 bbox 文件数 与单帧原图数一致(含空文件) 少:无息肉帧的空文件被误删
单帧目录下是否存在 overlay 应有 缺失不影响训练,但会丢失人工核对手段
官方划分 TXT 是否存在 应有 缺失:需自行重建 80/20,无法对齐论文
图像尺寸范围 384×288 至 1920×1080 全部被 resize 过:第三方重打包版本

最后一行尤其值得留意。部分镜像站会把图像统一缩放到固定尺寸再打包,这会改变小息肉的像素尺度,直接毁掉尺寸分层实验的可比性。核对时抽几张图看原始尺寸,就能识别。

3.7 研究用途与商业用途的分界

官方声明是"教育与研究用途 + 须引用论文",同时又标注 CC BY 4.0。这两句话放在一起,边界在哪?

对研究机构:直接使用,引用主论文,无需额外授权。

对企业研发:分两种情况。若成果不进入商业产品(例如内部技术预研、学术合作发表),通常可按研究用途处理;若训练出的模型要进入商业产品,则应先联系作者确认。这不是法律判断,而是对官方声明的保守解读——声明写的是"教育与研究用途",没有写"允许商业使用"。

对再分发:CC BY 4.0 允许再分发,但需保留署名与许可声明,并不得附加额外限制。把 PolypGen 转成 COCO 或 YOLO 格式后再发布,属于再分发行为,须保留原始出处与许可。

一个实务建议:在模型卡或许可清单里,把"CC BY 4.0 + 官方教育与研究用途限定"两句话一起写上。只写前者的团队在合规审查时经常被追问,而引用官方声明原文是最省事的解释方式。


§4 质量与已知问题:九个坑与质检证据

4.1 九个坑

坑 1:跨中心 OOD 落差被低估。 TransNetR 的逐中心扫描给出 C5 的 mIoU 35.97 与 C3 的 76.75,相差超过 40 点。若只报"全 6 中心平均 60.58",这个落差会被平均数抹平。任何跨中心结论都必须逐中心报告。

坑 2:把 61% 的无标注帧当损坏。 阴性帧无标注文件,序列内的无息肉帧用空 bbox 加 null 掩码表达。检测训练要把它们当"空 GT"处理,而不是丢弃或报错——丢掉它们等于扔掉全部阴性背景。

坑 3:掩码是 JPG。 有损压缩会在边界产生毛刺与色阶断点。二值化阈值不能照搬 PNG 掩码的经验(如 >127),建议先统计前景像素分布再定阈值,并对边界做一次形态学清理。

坑 4:PASCAL VOC 绝对坐标 vs YOLO 归一化。 .txt 里是绝对像素坐标,每行一个实例,多息肉就是多行。转 YOLO 需按原图宽高归一化并转为中心点格式,混用会导致框整体偏移。

坑 5:序列帧时间泄漏。 相邻帧高度相似,随机帧级划分会让验证集里混进训练集的近邻帧,指标虚高。必须按序列或按患者分组划分。

坑 6:分辨率跨度大。 384×288 到 1920×1080,统一 resize 到 512×512 会改变小息肉的相对尺寸,直接影响尺寸分层评估的可比性。做分层报告时要记录 resize 策略。

坑 7:下载不完整。 Synapse 客户端断线不报错,视频序列又另放在 Google Drive。落地第一件事是数文件,不是跑模型。

坑 8:染色内镜帧的颜色域。 seq12、14、15、16 含靛胭脂染色帧,外观与白光差异显著。常规的颜色抖动增强会破坏染色线索,模型在染色帧上的失效不是"泛化不足",而是"训练分布未覆盖"。

坑 9:1,449 帧与 8,037 帧混用。 前者是挑战子集,后者是完整版。文献里两个数字都在流通,引用时必须写清是哪个。

4.2 已知偏倚

偏倚类型 描述 严重程度 缓解建议
中心规模不均衡 正样本帧 C2 1,166 vs C3 457,跨 2.5 倍 中 加权采样或按中心重采样,逐中心报告
地域代表性 欧洲 5 中心 + 埃及 1 中心 中高 外部验证纳入亚洲/美洲队列
设备单一 6 中心全部 Olympus 中高 不可宣称跨品牌泛化
人口学盲区 完全匿名化,无年龄/性别 中 不可做人群亚组分析
序列分布倾斜 序列帧集中于 C2/C4/C6 中 时序结论按中心分层验证
尺寸难度失衡 小息肉(≤100×100 px)DSC 仅 0.46 高 过采样小息肉,按尺寸分层报告
无组织学标签 内镜视觉标注,无病理金标准 中 不可用于病理分级,CADx 需外接病理

4.3 标注质量的边界

质检链路处于公开内窥镜数据集的第一梯队,但仍有明确边界需要在使用前知道:掩码为 JPG 有损格式,边界精度受压缩限制;官方未公布标注者间一致性系数(如逐对 Dice),因此"专家一致"只能定性描述,不能量化;flat 息肉在放大视图下标注,其边界天然比隆起型更具不确定性;染色帧的"排除墨迹"协议要求标注者具备临床背景,非临床标注者难以复现。

4.4 泛化性证据表

场景 失效风险 证据
中心外推(C1–C5 → C6) 显著下降但可用 DeepLabV3+ R101 单帧 DSC 0.82 / 序列 0.71
中心间互测 最低与最高中心差约 40 点 mIoU TransNetR OOD:C5 35.97 vs C3 76.75
单帧 → 序列 系统性下降约 10 点 官方表 5 vs 表 6;TransNetR 60.58 vs 47.17
小息肉 高危(DSC 0.46) 官方尺寸分层(DeepLabV3+ R101)
跨品牌设备 未知,本数据无法评估 全部 Olympus
染色内镜帧 白光训练模型易失效 seq12/14/15/16 靛胭脂帧

4.5 伦理与合规

各中心自行负责伦理、法律与隐私流程,均在数据送交组织方前完成中心内匿名化,移除烧录进视频的人口学信息。发布版不含年龄、性别等字段。批件与同意方式已在 §2.2 逐中心列明。

对使用方的合规建议是三条:引用主论文(CC BY 4.0 使用条款的明确要求);商业用途先联系作者确认,不要凭 CC BY 标签推定可用;发布模型卡时把"训练中心清单 + OOD 协议 + 未覆盖的品牌/人群"写清,这三项是审稿与审计最常追问的。


§5 能做什么:从分割训练到联邦学习

5.1 五种可直接落地的用法

  1. 跨中心泛化基准。 以 C1–C5 训练、C6 单帧 88 帧与序列 432 帧做样本外测试,这是官方协议,结果可直接与论文表 5/6 对标。
  2. 息肉检测训练。 用 PASCAL VOC 框训练 YOLO 或 Faster R-CNN 系检测器,同时把约 61% 的无标注帧当阴性背景用。
  3. 视频时序建模。 23 条正序列与 23 个阴性序列文件夹支持帧间一致性、去闪烁与跟踪研究。
  4. 联邦学习研究。 6 个中心天然对应 6 个数据孤岛,社区已有 In-Federation F1 82.85、Out-Federation F1 86.01、Held-Out F1 74.3 的锚点。
  5. 外部验证集。 把 PolypGen 整体或单中心作为外部测试集,检验 Kvasir-SEG / CVC 系训练模型的跨域性能——TransNetR 的 C5 mIoU 35.97 就是这种用法最刺眼的证据。

5.2 划分方案

方案 做法 适用场景 风险
官方 train-val 用随包 TXT,C1–C5 单帧 80/20 复现论文基准 只覆盖单帧,不含序列与阴性帧
中心留出 C1–C5 训练,C6 测试 泛化评估(官方推荐) C6 规模小,方差大
逐中心留一 四训一验,轮转六次 全中心稳健性刻画 计算成本 ×6
序列分组 K 折 按 seq 分组做 5 折 时序模型 需自行实现分组切分
患者分组 按患者 ID 分组 最严格的泛化估计 患者 ID 未公开,难以落地

最后一行是这套数据的一处结构性缺口:官方未提供患者标识,无法做严格的患者级分组划分。序列级分组是可用的近似替代,但同一位患者在不同序列中出现时仍会泄漏。

5.3 预处理与 DataLoader

import os, glob
import numpy as np
from PIL import Image
from torch.utils.data import Dataset

class PolypGenFrame(Dataset):
    """单帧读取:原图 + JPG 掩码 + PASCAL VOC 绝对坐标框。
    root 指向 PolypGen/Positive/Single_Frames_centre_Split/data-Cx 这一层。
    """
    def __init__(self, root, size=512, thr=127):
        self.img_dir = os.path.join(root, "original_images")
        self.gt_dir = os.path.join(root, "gt")
        self.bb_dir = os.path.join(root, "pxy")
        self.size = size
        self.thr = thr
        self.ids = sorted(f[:-4] for f in os.listdir(self.img_dir) if f.endswith(".jpg"))

    def __len__(self):
        return len(self.ids)

    def __getitem__(self, i):
        k = self.ids[i]
        img = Image.open(os.path.join(self.img_dir, k + ".jpg")).convert("RGB")
        W, H = img.size
        mask = Image.open(os.path.join(self.gt_dir, k + ".jpg")).convert("L")
        # JPG 掩码:先按阈值二值化,再做一次形态学开运算去边界毛刺
        m = (np.array(mask) > self.thr).astype(np.uint8)
        boxes = []
        bb_path = os.path.join(self.bb_dir, k + ".txt")
        if os.path.exists(bb_path) and os.path.getsize(bb_path) > 0:
            for ln in open(bb_path):
                parts = ln.split()
                if len(parts) == 4:
                    x1, y1, x2, y2 = map(float, parts)
                    boxes.append([x1 / W, y1 / H, x2 / W, y2 / H])  # VOC 绝对 -> 归一化
        img = np.array(img.resize((self.size, self.size)), dtype=np.float32) / 255.0
        m = np.array(Image.fromarray(m).resize((self.size, self.size), Image.NEAREST))
        return img, m[None], np.array(boxes, dtype=np.float32).reshape(-1, 4)

三个关键点:掩码按 L 模式读入再阈值化,不要直接当二值图;框的坐标除的是原图宽高,不是 resize 后的尺寸;空 bbox 文件要判空后返回形状为 (0,4) 的数组,而不是抛异常。

5.4 数据增强

官方基线用的增强很朴素:缩放 0.5–2.0、随机裁剪、随机水平翻转、归一化,没有颜色抖动。这个选择有理由——染色帧的颜色是临床线索,颜色抖动等于破坏标签语义。若必须做颜色增强,建议只对白光帧开启,并按帧元数据区分。

5.5 评估指标

官方报告 JI(即 mIoU)、DSC(即 mDice)、F2、PPV、Recall、Accuracy,另有 AHD 系指标、NSD 与 FPS。一个常见误区是把 DSC 与 mDice 当两个指标——在 PolypGen 的官方口径里它们是同一个量的两种记法。

import numpy as np

def dice_iou(y_true, y_pred, eps=1e-7):
    """逐样本计算 Dice 与 IoU;空 GT 空预测记为 1,空 GT 非空预测记为 0。"""
    d, j = [], []
    for t, p in zip(y_true, y_pred):
        t, p = t.astype(bool), p.astype(bool)
        inter = np.logical_and(t, p).sum()
        if t.sum() == 0 and p.sum() == 0:
            d.append(1.0); j.append(1.0); continue
        if t.sum() == 0:
            d.append(0.0); j.append(0.0); continue
        d.append((2 * inter + eps) / (t.sum() + p.sum() + eps))
        j.append((inter + eps) / (np.logical_or(t, p).sum() + eps))
    return float(np.mean(d)), float(np.mean(j))

def fbeta(y_true, y_pred, beta=2.0, eps=1e-7):
    """F2:官方强调召回倾向时的综合指标。"""
    y_true, y_pred = np.asarray(y_true, bool), np.asarray(y_pred, bool)
    tp = np.logical_and(y_true, y_pred).sum()
    fp = np.logical_and(~y_true, y_pred).sum()
    fn = np.logical_and(y_true, ~y_pred).sum()
    b2 = beta ** 2
    return float((1 + b2) * tp / ((1 + b2) * tp + b2 * fn + fp + eps))

阴性帧的计分口径必须单独声明:官方检测评估把无 GT 帧上的预测计入特异性,分割评估则建议单独列示。两套口径混算会让指标既不是分割也不是检测。

5.6 硬件与复现成本

官方基线配置为单卡 Quadro RTX 6000、batch 16、输入 512×512、约 500 epochs、Adam(lr 0.01、weight decay 1e-5)、保存 100 epochs 后的最佳模型。按此配置,单中心单帧训练在单张 24 GB 显卡上约需一到两天。复现时务必锁定 albumentations 与 PyTorch 版本——增强行为的细微差异会带来 1–2 点波动,足以让结论在"持平"与"下降"之间摇摆。

5.7 部署侧的监控清单

监测维度 触发信号 建议动作
输入色调分布 均值/方差偏离训练统计 偏移 >2σ 触发域适应评估
单中心性能衰减 周环比 mIoU 下降 下降 >5 点启动复检
单帧/序列口径差 序列相对单帧下降扩大 差距 >15 点提示时序适配失效
小息肉召回 small 层召回下滑 跌破基线 0.46 对应水平即复查
染色帧占比 占比上升超出训练分布 补采或微调

5.8 迁移到其他内镜任务时的取舍

PolypGen 的方法论(多中心、留出中心、空 GT、尺寸分层)比它的像素更值钱。把它迁移到别的内镜任务时,有四点需要重新判断:

什么可以直接搬。 中心留出的评估结构、按序列分组防泄漏、按尺寸分层报告、把阴性帧当有效的负样本——这四条与具体病变无关,换到食管、胃、结肠其他病变都成立。

什么必须换。 标注协议。PolypGen 的 8 条协议是针对息肉形态(隆起、平坦、带蒂、染色)写的;换成溃疡或早癌时,边界语义完全不同——比如早癌的边界取决于黏膜色泽与微血管形态,而不是"隆起范围到哪"。

什么会失效。 尺寸分层的判据。息肉用 100×100 与 200×200 像素分档,是因为内镜视野下这个尺度大致对应临床上的"小息肉/大息肉"。换到其他任务,同一个像素尺度可能毫无临床含义,需要按该病变的临床分界重新定档。

什么需要重估。 阴性样本的价值。PolypGen 的 4,275 帧阴性全部来自"检查全程无息肉"的患者,这是干净的阴性。若换成其他任务,阴性帧里可能混有同类病变的早期形态,此时把它们当纯负样本会引入标签噪声。

5.9 一个可复现的最小实验

如果要在一周内判断某个分割模型是否值得继续投入,可以按下面的顺序做,成本从低到高:

步骤 做什么 耗时 判据
1 C1–C5 单帧 80/20 训练与验证 半天 验证集 DSC 应 ≥0.85,否则先查数据管道
2 同一模型直接测 C6 单帧 88 帧 十分钟 相对步骤 1 下降多少?超过 10 点即为跨中心脆弱
3 补测 C6 序列 432 帧 半小时 序列相对单帧再降多少?超过 10 点说明时序适配失效
4 按尺寸分层重算步骤 2 十分钟 small 层是否低于 0.50?若是,改进重点在小目标
5 逐中心留一(四训一验,轮转六次) 三天 哪个中心最差?该中心即你的短板中心

这套流程的价值在于:它不需要任何新方法,就能把"模型好不好"拆成"数据管道对不对、跨中心行不行、时序行不行、小目标行不行、哪个中心最弱"五个可分别回答的问题。多数团队的返工,恰恰发生在没有做这一步就直接换模型 backbone 的时候。

5.10 联邦学习场景的落地要点

6 个中心天然对应 6 个数据孤岛,这让 PolypGen 成为少数能直接搭联邦实验的公开数据。但落地时有三个细节容易被忽略:

其一,中心的样本量差异会被联邦放大。 C2 的正样本帧数是 C3 的 2.5 倍,标准 FedAvg 按样本量加权,会让大中心主导全局模型。要么改用按中心等权的聚合,要么在客户端内部先做重采样。

其二,Held-Out 才是真正的验收口径。 已有锚点显示 In-Federation F1 82.85、Out-Federation F1 86.01、Held-Out F1 74.3。Out-Federation 反而高于 In-Federation 这一点值得警惕——它提示联邦成员的组成会影响内部评估的乐观程度,而真正未见过的 Held-Out 低了约 8.6 点,这才是部署预期。

其三,“联邦"不等于"隐私”。 这六家中心的数据在公开数据集里已经全部匿名化并合并发布,做联邦实验时并不涉及真实的跨机构隐私约束。用它验证算法可以,用它论证"我们的方案保护了隐私"则不成立——保护的是实验设置,不是真实数据。


§6 常见误读问答

A. 身份与规模

Q1:PolypGen 到底是什么?
一个多中心结肠镜息肉检测与像素级分割数据集,源自 ISBI 2021 的 EndoCV2021 挑战赛,2023 年 2 月以 Scientific Data 论文正式固化。核心设计目标是跨中心泛化评估。

Q2:一共有多少帧?
8,037 帧 = 3,762 正样本帧(1,537 单帧 + 2,225 序列帧)+ 4,275 阴性序列帧。

Q3:多少个息肉实例?
3,447 个(Scientific Data 正式版口径)。arXiv v1 写 3,446,差异 1 个,引用以正式版为准。

Q4:摘要里的 “3,762 annotated polyp labels” 是实例数吗?
不是。3,762 是正样本帧数,3,447 才是实例数。两个数字差约 9%,混用会虚报规模。

Q5:多少患者、多少中心?
300+ 名独特患者,6 个中心、5 个国家(法国、意大利×2、挪威、英国、埃及),每中心至少 50 名患者。

Q6:图像多大?
384×288 至 1920×1080 不等。掩码与原图同尺寸。

B. 获取与许可

Q7:怎么下载?
注册 Synapse 账号,拉取 syn26376615(或编译版 syn45200214)。视频序列另在 Google Drive,链接见官方 GitHub。

Q8:许可是什么?
CC BY 4.0,但官方同时声明限定教育与研究用途并要求引用论文。商业使用需联系作者,不能凭 CC BY 标签推定可自由商用。

Q9:有 ShareAlike 要求吗?
没有。PolypGen 不是 CC BY-SA,衍生数据集不强制沿用同一许可。

Q10:能只下 C1–C5 的单帧吗?
目录按中心切分,可以只取 data-C1 至 data-C5。但要注意这 1,449 帧正是 EndoCV2021 挑战子集,与完整版口径不同。

C. 标注

Q11:掩码是什么格式?
JPG,与原图同尺寸。有损压缩,边界像素只是近似,二值化阈值需按实际分布定。

Q12:负样本有标注文件吗?
没有。阴性帧完全没有标注文件;正样本中的无息肉帧则是"空 bbox 文件 + null 掩码"。两者语义不同,别混为一谈。

Q13:为什么拒绝率高达 30.5%?
因为审查是严格的二元判定(临床可接受/不可接受),且歧义帧重标后仍拒 34.17%。高拒绝率说明质量把关严,不是标注质量差。

Q14:有标注者间一致性指标吗?
没有公开。官方只披露了标注分工(3 人)与复审(6 名专家),未给出类似逐对 Dice 的一致性系数。这是引用时应当注明的局限。

Q15:有 Paris 分类或 JNET 分级的逐帧标签吗?
没有逐帧清单。官方只给了形态占比图(protruded / flat)与序列级的染色内镜说明,没有结构化的分类标签发布。

D. 评测

Q16:官方评测协议是什么?
C1–C5 单帧 1,449 帧按 80/20 训练与验证,在 C6 单帧 88 帧与 C6 序列 432 帧上做样本外测试。

Q17:官方基线的最好成绩是多少?
DeepLabV3+(ResNet101)在 C6 单帧 OOD 上 DSC 0.82 / JI 0.75,序列 OOD 上 DSC 0.71 / JI 0.65。

Q18:为什么 U-Net 掉得那么厉害?
U-Net 在 C6 单帧上 DSC 仅 0.63,是所有官方基线里最低的。容量较小的架构在域漂移下更脆弱——这条证据反对"轻量即泛化"的直觉。

Q19:小息肉为什么只有 0.46?
官方按尺寸分层,small 层(≤100×100 px)DSC 0.46,而 large 层 0.87。小目标像素少、边界占比高,对 resize 与损失函数都更敏感。

Q20:TransNetR 的 60.58 mIoU 是"最好成绩"吗?
它是全 6 中心 OOD 口径的 mIoU 60.58,与官方 C6 单帧的 DSC 0.82 不是同一指标、也不是同一测试池,不能直接比大小。

Q21:C5 和 C3 差 40 点说明什么?
说明"平均水平"会掩盖中心间的巨大差异。同一模型在 C3 是 76.75,在 C5 只有 35.97——部署到具体医院前,必须知道你的目标中心属于哪一类。

Q22:序列比单帧掉 10 点是必然的吗?
在官方基线上是系统性的(0.82 → 0.71),在 TransNetR 上也是(60.58 → 47.17)。序列更接近真实临床流,也更难——静态帧上刷出的分数含水分。

Q23:官方给的划分文件覆盖全部数据吗?
不覆盖。官方 TXT 只针对 C1–C5 单帧做 80/20 划分,序列与阴性帧不含在内,发布版也不强制训练/测试划分。

Q24:能不能按随机帧划分?
不能。相邻序列帧高度相似,随机划分会让验证集混入训练集近邻帧,指标虚高。必须按序列或按患者分组。

E. 溯源与勘误

Q25:EndoCV2021 和 PolypGen 是什么关系?
前者是 2021 年 ISBI 挑战赛,用的是 C1–C5 单帧 1,449 帧;后者是它的完整扩展版,2022 年上线、2023 年论文固化。

Q26:2021 年检测榜的 mAP 能直接引用吗?
不能直接引用。官方在挑战赛页面明确公告,检测榜出现"非常高的 mAP"是评估代码 bug 所致,该 bug 已在 GitHub 评估代码中修复。引用前须确认数字出自修复前还是修复后的代码。

Q27:那条勘误的原文怎么说?
“Please note that the leaderboard results for detection have very high mAP values due to a bug in the evaluation code that has now been fixed in our GitHub evaluation code”。同页还说明联合期刊论文纳入了大量序列数据、团队排名在未见数据上发生变化,且获奖依据同时考察精度、速度与鲁棒性。

Q28:EndoCV2021 的论文进 ISBI 正式论文集了吗?
没有。官方明确该系列论文不进 IEEE ISBI 正式论文集,而是收录于 CEUR 在线会议录。查到 CEUR 卷号才算找到了正式出处。

Q29:为什么 arXiv 和正式版的实例数不同?
预印本是 2021 年版本,正式版是 2023 年经同行评审后的版本,标注计数修正了 1 个。这属于正常修订,不是数据错误。

Q30:DatasetNinja 统计的对象数为什么和官方不同?
DatasetNinja 解析出 3,734 个对象,高于官方 3,447 个实例。原因是序列帧中的同一病灶在多帧重复出现,第三方解析未按序列去重。以官方实例数为准,第三方统计用于分布参考。


§7 在生态中的位置:六中心方案的分工

7.1 与主流息肉数据集的横向位置

数据集 规模 中心数 标注类型 与 PolypGen 的差异
PolypGen 8,037 帧 6 中心 / 5 国 mask + VOC bbox,专家复审 唯一为泛化评估设计,含阴性序列与官方 OOD 协议
Kvasir-SEG 1,000 张 1(挪威) mask 单中心、无阴性帧,社区基准最丰富
CVC-ClinicDB 612 张 1(西班牙) mask 来自 29 段视频,规模小
ETIS-Larib 196 张 1 mask 常作外部测试集,规模最小
CVC-ColonDB 380 张 1 mask 侧重短序列,申请获取
HyperKvasir 110,079 图像 + 374 视频 1(挪威) 部分标注 规模最大但息肉标注子集有限
LDPolypVideo 346 视频 / 57,886 帧 1(中国) mask + 时序 视频规模大,单中心
ASU-Mayo 18,781 张 1(美国) mask 申请获取,无 bbox

这张表的核心信息是:在 PolypGen 之前,主流息肉数据集几乎全是单中心——Kvasir-SEG 与 CVC 系同中心训练同中心测试,天然存在自我循环偏倚。PolypGen 的 6 中心结构首次让"训练与测试来自不同医院"成为默认而非例外。

7.2 库内互链点

条目 rid 互链理由
kvasir-seg 112 最常用的单中心对照基准,构成内外验证对
hyperkvasir 693 消化道内镜大库,规模对照
kvasir-hyperkvasir 75 HyperKvasir 衍生分类任务
kvasir-instrument 213 内镜器械检测,同域
kvasir-capsule 123 胶囊内镜,设备模态对照
endovis-challenges 79 EndoVis 挑战赛谱系主锚
rare25 777 同为内镜检测基准,主打低流行率评测
cad-cap 193 结肠镜 CADe 基准,部位相同
cadis 243 CAD 相关内镜条目
bkai-igh-neopolyp 84 消化道息肉检测
ldpolypvideo 163 息肉视频检测,时序对照
slam-3d-endoscopic 82 3D 内镜重建,模态对照

7.3 在方法演进中的位置

PolypGen 于 2021 年随挑战赛出现、2023 年论文固化,正好卡在内镜 AI 从"单中心刷 SOTA"转向"跨中心证泛化"的转折点上。它之后的工作基本沿着它提出的问题往前走:TransNetR 用逐中心扫描把域差距精确到每个中心的具体数值;联邦学习研究用 6 个中心模拟 6 个数据孤岛,把"能不能不共享数据还保持性能"变成可测命题。它自己没有解决泛化,但它把泛化从一句口号变成了可以打分的任务。

7.4 生态快照

资源 类型 热度(截至 2026-09) 用途
官方 GitHub DebeshJha/PolypGen 代码与说明 26 stars / 1 fork,README 更新至 2025-08 数据入口、序列链接、作者联系方式
Synapse syn26376615 数据托管 持续可下载,保留版本历史 官方主渠道
Scientific Data 论文 文档 引用 181+(Semantic Scholar) 协议与基准的权威来源
EndoCV2021 挑战页 历史基准 归档保留,含勘误公告 前身挑战赛排行榜与方法
TransNetR 仓库 基线代码 社区常用 全 6 中心 OOD 复现起点
cosmoimd 转换脚本 工程工具 活跃维护 PolypGen→COCO/YOLO 一键转换
DatasetNinja 页面 可视化统计 静态 标注分布在线浏览

整体热度中等:低于 Kvasir-SEG 系,但作为泛化评估基准,在跨中心论文中的出场率稳定。

7.5 与同类"泛化基准"的分工

内镜领域近年出现了不止一个以"泛化"为卖点的数据集,但各自考的科目不同,混用会得出错误结论。

数据集 泛化的维度 与 PolypGen 的分工
PolypGen 跨机构、跨人群(6 中心 5 国) 机构与人群层面的域漂移
rare25 跨流行率(100:1 重采样) 部署人群的阳性率先验变化
Kvasir-SEG / CVC 系 不考泛化(单中心) 作为"内部基准",与 PolypGen 构成内外对照
各类多品牌采集库 跨设备品牌 PolypGen 在此维度上是空白(全 Olympus)

这三类维度互不替代。一个模型在 PolypGen 上跨中心表现好,不代表它在低流行率场景下的报警可信(那是 rare25 的问题);反过来,在 rare25 上 PPV 高,也不代表换家医院还能用。要完整刻画一个息肉检测系统的稳健性,至少需要跨机构与跨流行率两个轴,缺一个都不够。

设备品牌是第三个轴,目前公开数据集里覆盖得最差——PolypGen 全部 Olympus,其他多数数据集也是单一品牌。这意味着"跨品牌泛化"在文献中基本是一句无法被证伪的话,除非作者自行采集了多品牌数据。

7.6 数据集的长期可用性判断

评估一个数据集值不值得投入,通常看三件事:数据还能不能下、口径还会不会变、社区还在不在用。

下载层面:Synapse 托管相对稳定,且有 DOI(10.7303/syn26376615)与编译版(syn45200214)双入口,属于"不会突然消失"的类型。但视频序列放在 Google Drive 是个风险点——Drive 链接失效在这里并非假设,官方 GitHub 的 README 需要维护才能保持可用,而 README 最后一次更新是 2025-08。

口径层面:2023 年 Scientific Data 论文已把目录结构、规模、许可与基准全部固化,且此后未再修订,属于口径已经稳定的状态。这比多数只在 arXiv 上挂着、版本反复变化的预印本数据集可靠。

社区层面:GitHub 26 stars、Semantic Scholar 181+ 引用,热度中等。它不会像 Kvasir-SEG 那样成为默认起点,但在跨中心论文里的出场率稳定——也就是说,它更像"需要时一定会被想起的对照集",而不是"每次都要跑的基准"。

综合判断:适合作为长期对照资产持有,不适合作为唯一的训练语料。若团队只能维护一个息肉数据集,选 Kvasir-SEG;若能维护两个,第二个应当是 PolypGen。


§8 总结:一份压力测试集的使用说明

三句话概括:PolypGen 是 8,037 帧、6 中心、5 国的结肠镜息肉检测与分割数据集,3,447 个像素级实例经 6 名资深专家复审;它的核心价值是官方 OOD 协议与真实的跨中心落差证据(C5 35.97 vs C3 76.75 mIoU);它是泛化评估的基础设施,不是刷分的语料库。

适合的人:需要跨中心泛化基准的内镜 AI 研究者;做联邦学习且需要天然数据孤岛划分的团队;要把已有模型拉出来做外部验证的产品组;研究评测方法论、关心"榜单分数如何失真"的研究者。

不适合的人:需要病理分级标签的 CADx 研究(无组织学标注);需要跨品牌设备验证的团队(全部 Olympus);需要人群亚组分析的公平性研究(无人口学字段);想要开箱即用宽表的工程团队(需自写目录解析,预算一到两天)。

你的需求 是否合适 理由
息肉分割训练 是 3,447 实例 + 严格质检
跨中心泛化评估 非常适合 6 中心 + 官方 OOD 协议
视频时序建模 是 23 条正序列 + 23 条阴性序列
联邦学习 是 6 中心天然数据孤岛
病理分级 / CADx 否 无组织学标签
跨品牌设备泛化 否 全部 Olympus
人群亚组公平性 否 无年龄/性别字段
检索 2021 检测榜 mAP 谨慎 评估代码曾有 bug,须核对修复前后

§9 术语与口径速查

术语 英文 释义
息肉 polyp 结肠黏膜隆起性病变,本数据集的标注对象
腺瘤 adenoma 最常见的癌前息肉类型,需病理确认
结直肠癌 colorectal cancer (CRC) 息肉长期演变的重要终点
像素级分割 pixel-wise segmentation 为每个像素判定是否属于病灶
掩码 mask 与图像同尺寸的二值/灰度标注图
DSC Dice similarity coefficient 重叠度指标,官方记作 mDice / mDice 均值
JI Jaccard index 交并比,官方记作 mIoU
F2 F-beta (β=2) 偏重召回的调和平均,EndoCV 曾用为综合指标
PPV positive predictive value 报警中真阳性的比例
AHD average Hausdorff distance 边界距离类指标
NSD normalized surface distance 归一化表面距离
OOD out-of-distribution 训练分布外的测试场景
中心留出 centre hold-out 用部分中心训练、其余中心测试
域漂移 domain shift 训练与部署数据分布不一致
联邦学习 federated learning 各机构本地训练、只交换参数的协作范式
In / Out-Federation — 联邦内成员 / 联邦外成员,用于衡量外推
PASCAL VOC — 一种以绝对像素坐标存框的标注文本格式
靛胭脂染色 indigo carmine 喷洒染色剂增强黏膜表面结构对比
Paris 分类 Paris classification 消化道浅表病变的形态学分型
JNET — 窄带光成像下的病变血管/表面分型
空 GT empty ground truth 无病灶帧的标注状态
序列帧 sequence frame 视频抽出的连续帧,帧间高度相关

口径提醒三条:DSC 与 mDice 在 PolypGen 官方语境中是同一个量;JI 与 mIoU 亦然;“3,762 annotated polyp labels” 是帧数不是实例数。


§10 事实清单与附录

10.1 事实清单

  1. 主论文:Ali S, Jha D, et al. Scientific Data 10:75,2023-02-06 在线。
  2. DOI:论文 10.1038/s41597-023-01981-y;数据 10.7303/syn26376615。
  3. PMID 36746950;PMCID PMC9902556。
  4. 预印本 arXiv:2106.04463(2021-06)。
  5. 前身挑战:EndoCV2021,IEEE ISBI 2021,法国尼斯,2021-04-13 举行。
  6. 总帧数 8,037 = 3,762 正 + 4,275 阴。
  7. 单帧正样本 1,537(C1–C5 1,449 + C6 88);序列正样本帧 2,225。
  8. 息肉实例 3,447 个(arXiv v1 为 3,446)。
  9. 正样本按中心:C1 484 / C2 1,166 / C3 457 / C4 677 / C5 458 / C6 520。
  10. 23 条正样本序列;23 个阴性序列文件夹。
  11. 300+ 患者,每中心至少 50 名。
  12. 图像尺寸 384×288 至 1920×1080。
  13. 六中心:巴黎、帕多瓦、阿维亚诺、奥斯陆、牛津、亚历山大。
  14. 设备全部 Olympus(Exera 195 / H190 / VG-165 等 / Evis Exera III / GIF-H260Z / Exera 160AL)。
  15. 标注平台 Labelbox,3 人标注,6 名 >20 年经验专家复审。
  16. 二元审查 2,213 帧,接受 1,537、拒绝 676(约 30.5%);歧义重标后再拒 34.17%。
  17. 8 条书面标注协议;尺寸分层 small ≤100×100 px。
  18. 四件套:原图 JPG / mask JPG / VOC TXT / overlay JPG。
  19. 官方协议:C1–C5 单帧 80/20,C6 单帧 88 + 序列 432 做 OOD。
  20. 官方基线:DeepLabV3+ R101 C6 单帧 DSC 0.82 / JI 0.75;序列 DSC 0.71 / JI 0.65。
  21. PSPNet 0.80/0.72;ResNetUNet R34 0.79/0.73(87 FPS);FCN8 0.76/0.68;U-Net 0.63/0.55。
  22. 尺寸分层 DSC:large 0.87 / medium 0.84 / small 0.46。
  23. 各中心验证(DeepLabV3+ R50):C1 0.76 / C2 0.79 / C3 0.80 / C4 0.82 / C5 0.78。
  24. TransNetR 全 6 中心 OOD mIoU 60.58;C1 65.38 / C2 66.08 / C3 76.75 / C4 46.01 / C5 35.97 / C6 63.35;23 序列 47.17。
  25. TransNetR Kvasir-SEG mDice 0.8706 / mIoU 0.8016 / 54.60 FPS。
  26. 联邦学习锚点:In-Fed F1 82.85 / Out-Fed F1 86.01 / Held-Out F1 74.3。
  27. 许可 CC BY 4.0 + 教育与研究用途限定 + 引用要求。
  28. 数据托管 Synapse syn26376615(编译版 syn45200214)。
  29. 官方 GitHub 26 stars / 1 fork,README 更新至 2025-08。
  30. Semantic Scholar 引用 181+(截至 2026-09)。
  31. EndoCV2021 训练数据 2021-02-02 定版;排行榜提交截止 2021-03-07。
  32. EndoCV2021 检测榜 mAP 虚高系评估代码 bug,已在 GitHub 修复。

10.2 附录 A:版本抉择矩阵

你要做的事 用哪个版本 理由
复现论文基准(C6 OOD) 完整版 8,037 帧 官方协议基于完整版
对齐 2021 挑战赛结果 挑战子集 1,449 帧 当年评测只用这个池子
时序模型研究 完整版 + Google Drive 序列原片 Synapse 包内序列帧已抽帧
联邦学习复现 完整版按 data-C1…C6 切分 6 中心即 6 个孤岛
只要分割 mask 做预训练 单帧 1,537 张即可 序列帧高度冗余

10.3 附录 B:DAIMS 24 项检查

# 检查项 状态 说明
1 宽格式 否 目录树组织,无表格化宽表
2 唯一标识 是 文件名全局唯一且内嵌中心/检查编码
3 特殊字符 是 仅字母数字下划线,跨平台安全
4 重复行 部分 序列相邻帧高度近似,需按序列分组
5 缺失编码 是 空 mask 与空 bbox 为显式无息肉编码
6 标签标识 是 目录名 + 文件夹名双重标识
7 罕见类分组 部分 flat 息肉与染色帧仅给占比图
8 偏倚评估 是 论文提供 t-SNE 与逐中心/逐尺寸直方图
9 数据字典 部分 论文图 7 描述目录语义,无独立字典
10 信息性缺失解释 是 空标注帧语义在正文明确陈述
11 设备记录 是 表 2 逐中心列明内镜型号与伦理信息
12 共线性 是 影像数据不适用
13 编码映射 部分 无 Paris/JNET 逐帧编码发布
14 时间戳处理 否 帧无时间戳,仅能按文件名重建时序
15 划分建议 是 官方 train-val TXT + 明确 OOD 协议
16 泄漏讨论 部分 强调中心留出,未明文警告序列帧级泄漏
17 标签分布 是 图 2b / 图 6 给出尺寸与形态分布
18 测量偏倚 部分 内镜视觉标注,无病理对照
19 外部验证建议 是 论文与 TransNetR 均示范 OOD 路径
20 版本记录 部分 Synapse 有条目版本,无结构化变更表
21 预处理脚本 部分 官方划分 TXT 有,转换依赖社区脚本
22 合规要求 是 许可 + 用途限定 + 引用要求清晰
23 多模态对齐 是 四件套同尺寸同帧严格对齐
24 去标识化 是 全匿名化,无人口学信息

计分:是 13 项 ×1 + 部分 9 项 ×0.5 + 否 2 项 ×0 = 17.5 / 24。

这个分数落在"高质量研究数据集、但非开箱即用"区间。得分主要来自无可挑剔的标注 QA、显式的信息性缺失编码与完备的溯源;失分集中在工程化短板——无宽表、无独立字典、无时间戳、mask 有损,以及把"如何防泄漏"的最后一公里留给用户。

10.4 附录 C:逐项证据链

事实 证据源
8,037 = 3,762 + 4,275 Scientific Data 论文数据记录节
3,447 实例 Scientific Data 论文正文(arXiv v1 为 3,446)
中心分布 C1–C6 论文图 2 与逐中心统计表
六中心设备与批件 论文表 2 与图 2 图例
30.5% / 34.17% 拒绝率 论文标注与质量审查节
DSC 0.82 / 0.71 等基线 论文 Technical Validation 表 5/6
TransNetR 逐中心 mIoU arXiv:2303.07428
联邦学习 F1 锚点 sota2.com PolypGen 榜单汇编(引用前需回溯原文)
26 stars / README 2025-08 GitHub 仓库页面(2026-09 查)
181+ 引用 Semantic Scholar API(2026-09)
EndoCV2021 时间线 endocv2021.grand-challenge.org/Important-dates
检测榜 mAP bug 公告 endocv2021.grand-challenge.org 首页 News 区

10.5 附录 D:坑点速查卡

坑号 一句话 速查
1 跨中心落差被平均抹平 必看逐中心数字
2 61% 无标注帧不是损坏 当空 GT 用
3 mask 是 JPG 阈值按分布定 + 形态学清理
4 VOC 绝对坐标 ≠ YOLO 归一化 除以原图宽高
5 序列帧时间泄漏 按 seq 或患者分组
6 分辨率跨度大 记录 resize 策略
7 下载不完整 数文件再跑模型
8 染色帧颜色是线索 别做颜色抖动
9 1,449 ≠ 8,037 写清是哪个口径
10 2021 检测榜 mAP 曾有 bug 核对修复前后

10.6 附录 E:评测指标公式表

指标 公式 备注
Dice / mDice 2·TP / (2·TP + FP + FN) 空 GT 空预测记 1
Jaccard / mIoU TP / (TP + FP + FN) 官方 JI
F2 5·TP / (5·TP + 4·FN + FP) β=2,偏重召回
PPV TP / (TP + FP) 报警中真阳性比例
Recall TP / (TP + FN) 灵敏度
AHD Hausdorff 距离的均值形式 边界距离
FPS 帧数 / 推理耗时 部署相关

10.7 附录 F:引用来源清单

  1. Ali S, Jha D, et al. A multi-centre polyp detection and segmentation dataset for generalisability assessment. Scientific Data 10, 75 (2023). DOI 10.1038/s41597-023-01981-y
  2. arXiv:2106.04463(预印本,2021-06)
  3. PubMed 36746950 / PMC9902556
  4. DebeshJha/PolypGen(官方 GitHub)
  5. Synapse syn26376615 发布页(编译版 syn45200214)
  6. EndoCV2021 挑战页与 Important Dates 页
  7. GitHub sharibox/EndoCV2021-polyp_det_seg_gen(评估代码)
  8. Jha D, et al. TransNetR. arXiv:2303.07428
  9. cosmoimd/polyp_detection_platform(格式转换)
  10. DatasetNinja: PolypGen(第三方统计)
  11. sota2.com: PolypGen 榜单汇编(第三方,引用需回溯)
  12. Semantic Scholar API(引用计数,2026-09)

10.8 附录 G:引用指南

  • 使用数据(任何子集):引用主论文 ali2023multi,这是 CC BY 4.0 使用条款的明确要求。
  • 用 1,449 帧挑战子集做对比:同时引用 EndoCV2021 评估论文 arXiv:2202.12031。
  • 用 TransNetR 数字或代码:引用 arXiv:2303.07428。
  • 引用早期口径(3,446 实例):引用 arXiv:2106.04463 并注明预印本版本差异。
  • 引用 EndoCV2021 检测榜成绩:必先核对评估代码修复前后,并注明该页勘误公告的存在。
  • 引用本页:注明千方病案医数集(qianfanghub.com)与最后核验日期。

编辑说明

核验时点:2026-09 月内两轮,本轮为 2026-10-18 的体例重排;规模、基准、许可与仓库元数据均回读官方源。

核验方式:规模与基准数字逐条回溯 Scientific Data 论文正文与表 5/6;六中心的机构名、设备型号与伦理批件号以论文表 2 为准;TransNetR 的逐中心 mIoU 回溯 arXiv:2303.07428;联邦学习与子集成绩来自 sota2.com 汇编,正文已标注"引用前需回溯原文";EndoCV2021 的时间线与检测榜勘误以挑战赛官方首页与 Important Dates 页原文为准,正文引用采用直接摘录;仓库热度与引用计数为 2026-09 时点读数。

双口径并存项:实例数 3,447(正式版)与 3,446(预印本)并列,正文一律用正式版;正样本帧数 3,762 与实例数 3,447 分列,明确二者不是同一量;1,449 帧挑战子集与 8,037 帧完整版分列,不合并表述;DatasetNinja 的 3,734 对象数与官方 3,447 并列,并说明差异源自未按序列去重。

未覆盖内容:总体积官方未公布,本文不给估算;患者标识未公开,因此无法进行严格的患者级分组划分;标注者间一致性系数未发布,本文不作推断;Paris 分类与 JNET 分级的逐帧标签未发布,本文仅说明其存在范围(序列描述与染色帧说明)。各中心腺瘤检出率、病变组织学构成官方未逐项披露。

体例说明:本页按 v4 体例重排,章节编号 §1–§10 连续,术语与口径集中在 §9,事实清单与附录集中在 §10。原稿的 INFOBOX 与 E-E-A-T 声明块已删除——前者与模板自动渲染的信息速览重复,后者属站内审核流程,已并入本节。原稿的 AI 使用声明卡内容保留于本节末段。本页由「千方病案医数集」编辑部撰写,最终以数据库记录为准。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • cvc-clinicdb — 共享标签:医学影像 / 医学问答与基准 / 内窥镜影像 / 医学图像分割 / 评测基准
  • cvc-colondb — 共享标签:医学影像 / 医学问答与基准 / 内窥镜影像 / 医学图像分割 / 评测基准
  • endovis-2026 — 共享标签:医学影像 / 内窥镜影像 / 医学图像分割 / 手术视频 / 评测基准
  • serv-ct — 共享标签:医学影像 / 医学问答与基准 / 手术视频 / 评测基准
  • simcol3d — 共享标签:医学影像 / 医学问答与基准 / 内窥镜影像 / 评测基准
  • grasp — 共享标签:内窥镜影像 / 医学图像分割 / 手术视频 / 评测基准
  • mavis — 共享标签:医学影像 / 医学图像分割 / 手术视频 / 评测基准
  • endovis-challenges — 共享标签:医学影像 / 内窥镜影像 / 医学图像分割 / 手术视频
  • cholecseg8k — 共享标签:医学影像 / 内窥镜影像 / 医学图像分割 / 手术视频
  • autolaparo — 共享标签:医学影像 / 内窥镜影像 / 医学图像分割 / 手术视频

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集