Endoscapes — 腹腔镜手术安全视野评估基准 AI-Ready Wikipedia

201 例腹腔镜胆囊切除术、58,813 帧手术场景分割与 CVS 评估基准

来源 CAMMA 研究组(IHU Strasbourg) url: https://github.com/CAMMA-public/Endoscapes发布时间: 2026-09-13最后更新: 2026-09-25 阅读 57
Endoscapes — 腹腔镜手术安全视野评估基准 AI-Ready Wikipedia

信息速览

数据集名称Endoscapes — 腹腔镜手术安全视野评估基准 AI-Ready Wikipedia
数据类型201 例手术视频,58,813 帧图像,11,090 帧 CVS 标注,1,933 帧边界框标注,493 帧实例分割,CC BY-NC-SA 4.0
规模201 例患者(单中心手术视频)
接入方式CAMMA 研究组(IHU Strasbourg) url: https://github.com/CAMMA-public/Endoscapes
AI 就绪度

数据集封面

Endoscapes — 腹腔镜手术安全视野评估基准 AI-Ready Wikipedia


INFOBOX

数据集名称 Endoscapes(发布版本 Endoscapes2023)
英文全称 The Endoscapes Dataset for Surgical Scene Segmentation, Object Detection, and Critical View of Safety Assessment
别名/简称 Endoscapes2023、Endoscapes-CVS201、Endoscapes-BBox201、Endoscapes-Seg50
疾病分类 胆石病(ICD-11:DC90 胆石症)、胆囊炎(ICD-11:DC91);均为行腹腔镜胆囊切除术治疗的良性胆囊疾病(详见 §2.1)
SNOMED CT 74040003 Cholelithiasis / 139573004 Laparoscopic cholecystectomy(详见 §2.1b)
数据模态 手术视频帧(腹腔镜影像)、实例/语义分割掩码、边界框、图像级 CVS 三准则标签
AI 任务类型 语义分割、实例分割、目标检测、CVS 自动评估、半监督与时序视频分割
样本总数 201 例手术视频 / 58,813 帧(1 fps)/ 11,090 帧 CVS 标注 / 1,933 帧边界框标注 / 493 帧实例分割
数据格式 JPG(帧)、PNG(语义掩码)、NPY + CSV(实例掩码)、COCO JSON(边界框与 CVS 标注)、CSV/TXT(元数据与划分)
许可证 CC BY-NC-SA 4.0(非商业科学研究用途)
访问级别 开放下载(GitHub/官方 S3 直链);PhysioNet 镜像为受限访问(Restricted Access)
DUO 标签 NPUNCU(非商业、非营利)
语言 英语(标注与文档);影像数据无语言属性
首发日期 2023-12-19(arXiv 技术报告 v1)/ 2024-12-11(PhysioNet v1.0.0)
最后更新 2025-09-17(GitHub 仓库发布 Dataset Overlaps 视频重叠分析公告)
发布机构 CAMMA 研究组(IHU Strasbourg / ICube-University of Strasbourg / CNRS / IRCAD / Fondazione Policlinico Universitario A. Gemelli IRCCS)
官方主页 https://github.com/CAMMA-public/Endoscapes
下载地址 https://s3.unistra.fr/camma_public/datasets/endoscapes/endoscapes.zip
DOI 10.1038/s41597-025-04642-4(Sci Data 论文)/ 10.13026/czwq-jh81(PhysioNet v1.0.0)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方三任务划分、COCO 格式标注、基线代码与模型 checkpoint 齐全(SurgLatentGraph);扣分项:公开分割子集 Seg50 仅 493 帧(完整 Seg201 私有)、无端到端一键安装脚本
页面状态 published

§0 E-E-A-T 信任与审核声明

  • 医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(胆囊结石疾病的临床背景、CVS 三准则定义、ICD-11/SNOMED CT 映射)、§7 偏倚分析。
  • 数据工程审核者:千方病案医学编辑部交叉审核(医疗 AI 数据工程师),审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
  • 审核日期:2026-09-05

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Endoscapes 采用 CC BY-NC-SA 4.0 许可,仅限非商业科学研究用途;官方 S3 直链可公开下载,PhysioNet 镜像为受限访问,使用时须按官方要求引用论文与数据集 DOI。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 30 秒速览

这是什么? Endoscapes(发布版本 Endoscapes2023)是一个面向腹腔镜胆囊切除术(Laparoscopic Cholecystectomy, LC)的手术场景理解基准数据集,由法国斯特拉斯堡 CAMMA 研究组发布。它从 201 例手术视频的关键安全窗口期(分离期、且尚未夹闭胆囊管或胆囊动脉)按每秒 1 帧抽取了 58,813 帧图像,并提供了三类人工标注:11,090 帧的安全关键视野(Critical View of Safety, CVS)三准则评估、1,933 帧的六类解剖结构与器械边界框,以及 493 帧的实例与语义分割掩码(官方仓库)。

为什么重要? 腹腔镜胆囊切除术是全球最常见的外科手术之一,而胆管损伤是其最严重的并发症之一。研究显示,约 97% 的主要胆管损伤与视觉错觉相关(Sci Data 论文)。外科界为此设立了"安全关键视野"(CVS)这一可视化的安全核查标准,但人工逐帧核查耗时费力。Endoscapes 把"判断手术画面是否达到 CVS"变成了一个可量化、可复现的 AI 基准任务,让计算机视觉模型第一次能够在这个高风险决策点上接受严格评测。

我能用它做什么? 训练和评测三类模型:对六个关键解剖结构/器械类别做目标检测(BBox201 子集)与实例/语义分割(Seg50 子集);对手术帧做 CVS 三准则的自动预测(CVS201 子集);以及利用大量未标注帧做半监督与时序建模。数据集提供官方划分、COCO 格式标注与基线代码,下载后即可复现论文基准。

§1.1 摘要

Endoscapes 由 CAMMA 团队(IHU 斯特拉斯堡、ICube-斯特拉斯堡大学/CNRS、IRCAD、罗马 Gemelli IRCCS)构建,是此前多项 CVS 研究工作(Mascagni et al. 2020 标注形式化、Murali et al. 2023 潜在图表示)的集大成与系统化发布(arXiv:2312.12429)。数据采集于 2015-02-10 至 2019-06-07 的法国 IHU 斯特拉斯堡,22 名外科医生(10 名主治 + 12 名住院医)参与手术;视频统一重编码为 480×854、30 FPS、H.264。团队将兴趣区域(ROI)严格定义为分离期开始且首次夹闭/剪切胆囊管或胆囊动脉之前,按 1 fps 抽帧得到 58,813 帧。标注协议公开(arXiv:2106.10916):CVS 由 3 名外科医生独立盲评(分歧不调解,共识取平均),空间标注由 5 名受训标注者完成。数据集按视频(患者)级分层随机划分(120/41/40 与 30/10/10),并发布三任务官方基准:Deformable-DETR 检测 32.7 mAP、Mask2Former 实例分割 26.6 mAP、SV2LSTG CVS 预测 65.3 mAP(技术报告)。期刊版发表于 Scientific Data(DOI 10.1038/s41597-025-04642-4)。

§1.2 战略价值

临床安全维度:CVS 是国际公认降低胆管损伤风险的核查框架,包含 C1(两个结构清晰)、C2(肝胆囊三角分离)、C3(胆囊板显露)三条准则(详见 §2.3)。在真实手术中,是否达成 CVS 完全依赖主刀医生的主观视觉判断,缺少客观量化工具。Endoscapes 首次提供了由 3 名外科医生独立盲评、带一致性指标的 CVS 逐帧标签(11,090 帧),使"手术安全预警"从模糊概念变成可训练、可审计的监督信号,为术中实时安全提示系统奠定数据基础。

技术基准维度:手术视频数据集普遍面临"有视频无精细标注"或"有标注无官方划分"的碎片化困境,跨论文结果难以比较。Endoscapes 同时给出官方视频级划分、统一评测协议、三任务基线与模型 checkpoint,并集中汇总了多篇前期工作的结果,使新模型可以在完全相同的协议下与历史结果对标。其 58,813 帧中绝大多数帧无标注,天然构成半监督与时序方法的大规模实验场;配套的 CAMMA Dataset Overlaps 仓库(2025-09-17 发布)进一步解决了与 Cholec80、CholecT50 之间的视频重叠问题,保障跨数据集实验的公平性。

§1.3 同类数据集横向对比

数据集 规模 模态与标注 差异化定位
Endoscapes2023 201 例手术 / 58,813 帧 分割掩码 + 边界框 + CVS 三准则标签(三层标注) 唯一以 CVS 自动评估为核心目标、带三盲共识标签与官方三任务基准的数据集
Cholec80 80 例胆囊切除手术视频 手术阶段 + 器械存在/检测 阶段识别与器械检测的经典基准,发布早、使用最广
CholecT50 50 例手术视频 器械-动作-目标三元组标注 面向"器械在做什么"的动作理解任务
CholecSeg8k 8,080 帧(Cholec80 子集) 像素级语义分割(器械 + 解剖) 稠密语义分割标注,但帧数有限、无 CVS 标签
Endoscapes 独有优势 视频级官方划分 + 低数据量划分(12.5%/25%) 标注协议公开(arXiv:2106.10916) 可复现、可对标、可与 Cholec 系列做重叠受控的联合实验

§1.4 版本时间轴

时间 版本/事件 说明
2023-12-19 arXiv:2312.12429 v1 技术报告首发,Endoscapes2023 随报告发布(含数据集与模型 checkpoint)
2024-01-26 arXiv v2 修订版
2024-10-25 arXiv v3 当前最新修订版
2024-12-11 PhysioNet v1.0.0 数据集在 PhysioNet 正式存档(DOI 10.13026/czwq-jh81),受限访问
2025 Scientific Data 期刊版 论文 DOI 10.1038/s41597-025-04642-4(Sci Data 12, 331)
2025-09-17 Dataset Overlaps 公告 GitHub 发布 camma_dataset_overlaps,分析与 Cholec80/CholecT50 的视频重叠

§1.5 典型应用场景

  1. CVS 自动评估/术中安全预警:用 CVS201 子集训练帧级三准则预测模型,探索术中实时提示"尚未达到安全视野"的可行性。
  2. 手术解剖结构分割:用 Seg50 的实例/语义掩码训练分割模型,支撑解剖结构辨识、术中导航与手术教学回放。
  3. 器械与解剖目标检测:用 BBox201 的六类边界框训练检测器,用于手术视频结构化索引与器械使用统计。
  4. 半监督与时序视频分割:利用每段视频内大量未标注帧(标注间隔 5 s/30 s)做伪标签、时序一致性或视频基础模型预训练。
  5. 跨数据集泛化研究:在重叠受控(Dataset Overlaps)前提下与 Cholec80/CholecT50/CholecSeg8k 联合训练与互测,研究中心间与标注体系间的域移位。

§2 医学背景

§2.1 ICD-11 疾病编码映射

Endoscapes 收录的手术均为针对良性胆囊疾病实施的腹腔镜胆囊切除术,相关临床概念与 ICD-11 编码对应如下:

临床概念 ICD-11 编码 中文名称 在数据集中的角色
胆石症 DC90 胆石病 主要适应证之一,典型手术人群
胆囊炎 DC91 胆囊炎 主要适应证之一,急性/慢性炎症场景
良性胆囊疾病行胆囊切除术 见 §2.1b(手术操作用 SNOMED CT 表达) — 纳入标准:成人(>18 岁)良性病变

编码说明:以上编码依据 WHO ICD-11 公开条目整理,落地使用前请以本单位术语服务复核。

§2.1b SNOMED CT 术语映射

标签 SNOMED CT 码 术语 映射说明
胆石症 74040003 Cholelithiasis (disorder) 疾病诊断概念
腹腔镜胆囊切除术 139573004 Laparoscopic cholecystectomy (procedure) 数据集全部手术的术式
CVS 三准则评估任务 无对应 SNOMED 概念 Critical view of safety 外科安全理念,源自 Strasberg 1995 提出、Mascagni 2020 形式化

编码说明:SNOMED CT 编码引用自公开文献与术语浏览器,落地使用前请以本单位术语服务复核。

§2.2 疾病简介与流行病学背景

胆囊结石是最常见的胆道系统疾病之一,在成年人中患病率较高,且随年龄增长而上升;多数胆囊结石患者长期无症状,但部分患者会出现胆绞痛、急性胆囊炎乃至继发胆总管结石。腹腔镜胆囊切除术是症状性胆囊结石的标准治疗,也是全球最常施行的腹部外科手术之一(Sci Data 论文)。

LC 术中最受关注的严重并发症是胆管损伤。虽然其总体发生率不高,但一旦发生可导致远期胆道狭窄、反复胆管炎等严重后果。官方论文指出,约 97% 的主要胆管损伤与视觉错觉(如把胆总管误认为胆囊管)相关,而非技术操作粗暴(Sci Data 论文)。这一事实把问题从"手稳不稳"转化为"看没看对",正是计算机视觉可以介入的环节。

§2.3 临床任务定义:安全关键视野(CVS)

CVS(Critical View of Safety,安全关键视野)由 Strasberg 于 1995 年提出,要求在夹闭/离断胆囊管与胆囊动脉之前,术野必须确认以下三条准则(技术报告;Sci Data 论文):

准则 名称 定义要点 数据集中的标签
C1 Two Structures(两个结构) 胆囊管与胆囊动脉均被清晰辨识、游离 帧级二值判定(共识为 0-1 连续值)
C2 Hepatocystic Triangle Dissection(肝胆囊三角分离) 肝胆囊三角(Calot 三角)底部脂肪/纤维组织被清除,三角内结构清晰可见 帧级二值判定(共识为 0-1 连续值)
C3 Cystic Plate(胆囊板) 胆囊床下 1/3 的胆囊板显露 帧级二值判定(共识为 0-1 连续值)
总体 CVS Overall 三条准则全部达成时判定为达成 帧级二值(共识)

对应的 AI 任务是帧级图像分类/多标签预测:输入手术帧,输出 C1/C2/C3 与总体 CVS 的达成概率。与一般"器械识别"任务不同,CVS 评估依赖对细粒度解剖结构与空间关系(而不仅仅是器械外观)的精确理解,这正是 Endoscapes 同时提供解剖结构分割标注的原因。

§2.4 患者人群构成

维度 内容 来源
数据来源 法国 IHU 斯特拉斯堡(单中心) PhysioNet
采集时间 2015-02-10 至 2019-06-07 PhysioNet
纳入标准 成人(>18 岁)、良性病变、行腹腔镜胆囊切除术 PhysioNet
手术者构成 22 名外科医生(10 名主治 + 12 名住院医) PhysioNet
视频片段时长 平均 283.1 ± 275.9 秒(ROI 内) PhysioNet
种族/性别分布 官方未公布 —

§2.5 临床价值

对临床而言,Endoscapes 支撑的直接价值链是:术中帧 → 解剖结构识别(分割/检测)→ CVS 三准则判定 → 安全状态提示。一个达到可用精度的 CVS 预测模型,可以在医生认为"已经好了"而实际未达成 CVS 时提供第二双眼睛,有望减少视觉错觉导致的胆管损伤。对教学而言,数据集把"什么是好的分离"用逐帧标签显式表达,可用于住院医培训中的自动评分与病例回顾。

§2.6 金标准对照

维度 内容 备注
划分 视频级分层随机:120/41/40(CVS201、BBox201)、30/10/10(Seg50) 按视频级 CVS 达成情况分层,防止患者级泄漏
标注方式 CVS:3 名外科医生独立盲评,分歧不调解,共识取 3 人平均;空间:5 名受训标注者人工逐帧标注,边界框由分割掩码自动提取 标注协议公开(arXiv:2106.10916)
标注者 CVS 3 人;空间标注 5 人(3 名外科医生 + 2 名具领域背景的计算机科学家) 外科医生均受训于 CVS 标注协议
性质 人工精标(研究级金标准) 一致性 Cohen’s kappa:C1 0.33 / C2 0.53 / C3 0.44 / 总体 0.38(PhysioNet)

§3 数据集规格

§3.0 版本抉择矩阵

Endoscapes2023 按标注类型拆分为三个子数据集,发布于同一个压缩包内。请按需求选择工作子集:

你的需求 推荐子集 标注内容 理由
CVS 自动评估 / 安全预警 Endoscapes-CVS201 11,090 帧三准则标签(每 5 s 一帧) 唯一带 CVS 共识标签的子集,官方 CVS 基准协议基于它
目标检测 Endoscapes-BBox201 1,933 帧六类边界框(每 30 s 一帧) 官方检测基准子集,COCO 格式开箱即用
分割(实例/语义) Endoscapes-Seg50 493 帧六类掩码(50 例手术) 唯一公开的分割标注子集
复现论文中的分割 SOTA 注意事项 — 论文部分结果基于私有 Seg201(1,933 帧全量分割),公开 Seg50 为其子集,数字不可直接对标(见坑点 4)
半监督/时序建模 三子集的未标注帧 58,813 帧 1 fps 全量帧 标注帧间隔规则(5 s/30 s),中间帧可作无标注数据使用

§3.1 模态详情

  • 手术视频帧(JPG):分辨率 480×854、30 FPS 重编码(H.264)后的腹腔镜影像,按 1 fps 在 ROI 内抽帧,共 58,813 帧,文件名语法 ${VIDEO_ID}_${FRAME_NUM}.jpg(PhysioNet)。
  • CVS 标签(COCO JSON + CSV):每 5 s 一帧,共 11,090 帧;每帧含 3 名标注者的 C1/C2/C3 二值判定与共识值(平均,0-1 连续)。
  • 边界框(COCO JSON):每 30 s 一帧,共 1,933 帧;六类:Gallbladder(胆囊)、Cystic Duct(胆囊管)、Cystic Artery(胆囊动脉)、Cystic Plate(胆囊板)、Hepatocystic Triangle Dissection(肝胆囊三角分离区)、Tool(器械),由分割掩码自动提取。
  • 分割掩码(NPY + CSV、PNG):实例掩码为二值掩码堆叠的 NPY 数组 + 每通道类别标签 CSV;语义掩码为 480×854×3 PNG(像素值 = class_id)。

§3.2 子集样本数

子集 视频(Train/Val/Test/总) 帧数(Train/Val/Test/总) 标注帧(Train/Val/Test/总) 标注类型
Endoscapes-CVS201 120/41/40/201 36,694/12,372/9,747/58,813 6,960/2,331/1,799/11,090 CVS 多标签(三准则)
Endoscapes-BBox201 120/41/40/201 同上 1,212/409/312/1,933 边界框(6 类)
Endoscapes-Seg50 30/10/10/50 10,380/2,310/2,250/14,940 343/76/74/493 实例 + 语义分割(6 类)

数据来源:arXiv 技术报告 Table 1。注意 BBox201 与 CVS201 共享同一 58,813 帧全集,BBox 每一折是其对应 CVS 折的严格子集。

§3.3 数据格式

内容 格式 位置 说明
手术帧 JPG train/ val/ test/、train_seg/ 等 ${VIDEO_ID}_${FRAME_NUM}.jpg
边界框标注 COCO JSON annotation_coco.json 每个数据折一份
单帧 CVS 标注 COCO JSON annotation_ds_coco.json 每 5 s 一帧
时序模型 CVS 标注 COCO JSON annotation_coco_vid.json 面向视频模型
实例分割掩码 NPY + CSV insseg/ NPY 为二值掩码堆叠,CSV 为每通道类别
语义分割掩码 PNG(480×854×3) semseg/ 像素值 = class_id
CVS 汇总 CSV all_metadata.csv、vid_cvs.csv 逐标注者 + 共识;视频级汇总
划分与映射 TXT train_vids.txt 等、seg_label_map.txt 视频 ID 列表;类别名 → ID

§3.4 存储与下载体量

官方未公布压缩包总体积。按内容构成(58,813 张 480×854 JPG、493 帧实例/语义掩码、COCO JSON 与 CSV 元数据)估算,属于"数 GB 到数十 GB"量级的单 ZIP 包。工程上建议预留不低于 50 GB 的磁盘空间(解压后目录结构见 §4.0)。确切体量以下载时服务商返回的文件大小为准。

§3.5 标注方式

  • CVS 标注(半稀疏规则采样 + 三盲共识):每 5 s 一帧,3 名受训外科医生在互不可见(blinded)的情况下独立判定 C1/C2/C3;团队明确不对分歧进行调解(mediation),以避免讨论动力学引入偏倚;最终共识取 3 人平均(或逐准则多数投票),因此共识标签是 0-1 间的连续值,小数部分直接编码了标注者分歧(Sci Data 论文)。
  • 空间标注(人工分割 + 自动提框):每 30 s 一帧,由 5 名受训标注者(3 名外科医生 + 2 名具领域知识的计算机科学家)人工分割六类目标;边界框由分割掩码自动外接生成(Sci Data 论文)。

§3.6 标注者资质与一致性

准则 Cohen’s kappa(成对平均) 解读
C1 Two Structures 0.33 一般一致,任务主观性较强
C2 Hepatocystic Triangle Dissection 0.53 中等一致
C3 Cystic Plate 0.44 中等偏下
总体 CVS 0.38 一般一致
空间标注 由受训标注者按公开协议执行,多轮复核 协议见 arXiv:2106.10916

数据来源:PhysioNet 官方页。kappa 数值提示:CVS 并非客观物理量而是专家判断,模型预测上限受标签噪声约束(见 §7.2 与坑点 3)。

§3.7 采集周期

数据采集于 2015-02-10 至 2019-06-07;标注工作于 2020-10 至 2021-04 完成;2023-12 随技术报告正式发布,2024-12 在 PhysioNet 存档(v1.0.0)(PhysioNet)。

§3.8 地域覆盖

单一中心:法国斯特拉斯堡 IHU(Institute of Image-Guided Surgery),欧洲高手术量微创外科中心。不存在跨中心、跨地域覆盖;将模型外推到其他中心/地区时需评估域移位(见 §7.3)。

§3.9 设备与采集规格

项目 规格
术式 腹腔镜胆囊切除术
影像来源 术中腹腔镜视频
重编码规格 480×854(宽×高)、30 FPS、H.264
抽帧策略 ROI 内 1 fps;标注帧每 5 s(CVS)或每 30 s(bbox/分割)
原始设备型号 官方未公布

§3.10 深度溯源链

原始手术视频(2015-2019,IHU-Strasbourg,SafeChole 项目)→ 伦理审批(斯特拉斯堡大学伦理委员会,ID F20200730144229)→ 视频重编码(480×854 H.264 30 FPS)→ ROI 划定(分离期、首次夹闭前)→ 1 fps 抽帧(58,813 帧)→ 双轨标注(CVS 三盲 + 空间五人分割)→ 质检与一致性统计(kappa)→ 打包发布(arXiv 2023-12 → PhysioNet 2024-12 → Sci Data 2025)。每一步均在期刊版论文与技术报告中有据可查。


§4 数据结构

§4.0 目录树

数据解压(endoscapes.zip)后的目录结构如下(PhysioNet 官方文档):

endoscapes/
├── train/                            # CVS201/BBox201 训练帧(1 fps,120 例视频)
│   ├── 1_29375.jpg                   # 命名语法:${VIDEO_ID}_${FRAME_NUM}.jpg
│   ├── ...
│   ├── 120_85800.jpg
│   ├── annotation_coco.json          # 边界框标注(每 30 s 一帧,COCO 格式)
│   └── annotation_ds_coco.json       # 单帧 CVS 标注(每 5 s 一帧)
├── val/                              # 验证帧(41 例视频)
│   ├── ...
│   ├── annotation_coco.json
│   └── annotation_ds_coco.json
├── test/                             # 测试帧(40 例视频)
│   ├── ...
│   ├── annotation_coco.json
│   └── annotation_ds_coco.json
├── train_seg/                        # Seg50 训练帧(30 例视频)
│   └── annotation_coco.json          # 实例分割标注(每 30 s 一帧)
├── val_seg/                          # Seg50 验证帧(10 例视频)
│   └── annotation_coco.json
├── test_seg/                         # Seg50 测试帧(10 例视频)
│   └── annotation_coco.json
├── insseg/                           # 实例分割掩码(Seg50)
│   ├── 5_5900.npy                    # 二值掩码堆叠,每个通道对应一个实例
│   ├── 5_5900.csv                    # 每个掩码通道的类别标签
│   └── ...
├── semseg/                           # 语义分割掩码(Seg50)
│   ├── 5_5900.png                    # 480×854×3 PNG,每个像素值 = class_id
│   └── ...
├── all_metadata.csv                  # 全部 CVS 标注汇总(逐标注者 + 共识)
├── vid_cvs.csv                       # 视频级 CVS 评估汇总
├── train_vids.txt                    # CVS201/BBox201 训练视频 ID(120)
├── val_vids.txt                      # 验证视频 ID(41)
├── test_vids.txt                     # 测试视频 ID(40)
├── train_seg_vids.txt                # Seg50 训练视频 ID(30)
├── val_seg_vids.txt                  # Seg50 验证视频 ID(10)
├── test_seg_vids.txt                 # Seg50 测试视频 ID(10)
└── seg_label_map.txt                 # 类别名 → ID 映射(检测/实例分割忽略背景,id 0 = cystic plate)

§4.1 DAIMS 字段字典

字段/文件 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
image_id(JPG 文件名) 文本 ${VIDEO_ID}_${FRAME_NUM},视频内 1 fps 唯一 5_5900 样本主键;由 FRAME_NUM/30 可反推帧内时间 无 无 视频 ID 1-201
video_id 整数 手术(患者)编号,一个患者一段视频 5 分组划分、防泄漏的关键 无 无 1-201
frame_num 整数 原视频帧号(30 FPS 基准) 5900 时序建模、视频内定位 重编码后帧号 无 ≥0
CVS 共识(annotation_ds_coco.json/all_metadata.csv) 浮点 三准则总体达成的 3 人平均共识 0.67 回归目标或软标签 标注者间 kappa 0.38 无缺失(标注帧必有值) [0, 1]
C1/C2/C3 逐准则共识 浮点 各准则 3 人平均 0.33 多标签软标签 kappa 0.33-0.53 无缺失 [0, 1]
逐标注者 CVS 判定 整数 all_metadata.csv 中每人每帧的二值判定 1 一致性研究、噪声鲁棒训练 主观判定 无缺失
category_id(COCO) 整数 检测/分割类别 ID;背景被忽略,id 0 = cystic plate 2 检测/分割监督信号 无(由掩码自动导出) 无 0-5(六类)
bbox(COCO) 数组 边界框 [x, y, w, h],由分割掩码外接提取 [233, 118, 310, 402] 目标检测 继承掩码边界误差 无 图像坐标系内
insseg/*.npy 数组 二值掩码堆叠,N 个通道对应 N 个实例 — 实例分割监督 人工像素级标注 N=0 表示该帧无实例掩码 {0,1} 堆叠
insseg/*.csv 文本 每个掩码通道的类别名/ID cystic_artery 掩码 → 类别对齐 无 — 六类之一
semseg/*.png 图像 像素级 class_id 图(480×854×3 PNG) — 语义分割监督 同实例掩码 语义 id 0 含背景,检测语境另作映射 0-5
vid_cvs.csv 视频级 CVS 整数 视频层面 CVS 是否达成的汇总判定 1 分层划分依据、粗粒度评估 专家共识 无

§4.2 标签分布

六类空间目标在两个标注集中的出现率(一帧含该类至少一个框/像素即计为出现;Sci Data 论文):

类别 BBox201(1,933 帧)出现帧数 占比 Seg50(493 帧)出现帧数 占比
Gallbladder 1,821 94.2% 466 94.5%
Tool 1,771 91.6% 450 91.3%
Cystic Duct 1,478 76.5% 374 75.9%
Cystic Artery 1,020 52.8% 283 57.4%
Cystic Plate 701 36.3% 192 38.9%
Hepatocystic Triangle Dissection 683 35.3% 146 29.6%

CVS 标签分布(11,090 帧,PhysioNet):

标签 达成帧数 帧级占比 视频级达成(201 例)
总体 CVS 678 6.1% 84(41.8%)
C1 Two Structures 1,899 17.1% 170(84.6%)
C2 Hepatocystic Triangle Dissection 1,380 12.4% 122(60.7%)
C3 Cystic Plate 2,124 19.2% 111(55.2%)

§4.3 关键统计

  • 视频级 CVS 达成率 41.8% 远高于帧级 6.1%:说明多数手术"最终"达成 CVS,但 ROI 内大多数帧仍处于未达成状态——这正是安全预警任务的价值所在(PhysioNet)。
  • ROI 平均时长 283.1 ± 275.9 秒,标准差接近均值,手术间差异极大,训练时建议按视频分组采样。
  • 11,090 个 CVS 标注帧与 58,813 全量帧之比约 18.9%,其余帧为无标注帧,可分别用于监督与半监督任务。

§4.4 数据层级

患者(1 例手术 = 1 个 video_id)
└── 手术视频(重编码 480×854,30 FPS)
    └── ROI(分离期起、首次夹闭胆囊管/胆囊动脉前止)
        └── 1 fps 抽帧(每例视频平均约数百帧)
            ├── 无标注帧(约 81%)
            ├── CVS 标注帧(每 5 s 一帧;3 盲评 + 共识)
            └── 空间标注帧(每 30 s 一帧;bbox / 分割掩码)

§4.5 缺失值与信息性缺失

  • 无传统表格的缺失值问题:影像帧与掩码一一对应,all_metadata.csv 对每个 CVS 标注帧都含完整三准则判定。
  • 信息性缺失 1:未标注帧。某帧没有分割/检测标注并不代表画面中没有对应目标,只表示"未被标注"。把它们当作负样本会引入系统性标签噪声(见坑点 5)。
  • 信息性缺失 2:共识小数。CVS 共识为 0.67 之类的连续值不是"缺了第三票",而是刻意保留的分歧信息;round 成 0/1 会丢失不确定性(见坑点 3)。
  • 信息性缺失 3:Seg50 的空类别。个别 Seg50 帧某类像素数为 0 是真实的"画面中无该类",与 BBox201 的"未标注"语义不同,合并使用两类任务时不能混淆。

§5 划分与使用建议

§5.1 官方划分

子集 Train Val Test 分层依据
CVS201 / BBox201(视频) 120 41 40 视频级 CVS 达成情况分层随机
CVS201 / BBox201(帧) 36,694 12,372 9,747 随视频划分自然形成
Seg50(视频) 30 10 10 同一划分体系(Seg50 ⊂ BBox201)
Seg50(帧) 10,380 2,310 2,250 随视频划分自然形成

来源:arXiv 技术报告。划分清单以 train_vids.txt/val_vids.txt/test_vids.txt 与对应 *_seg_vids.txt 为准。

§5.2 低数据量划分与社区惯例

官方另提供 12_5(12.5%,3 折)与 25(25%,3 折)两组低数据量划分,用于标签效率(label efficiency)研究;官方报告沿用了此前多篇论文的同一划分体系,保证与历史结果可比(GitHub README)。社区绝大多数论文直接采用官方划分;自行重新划分会被视为协议不一致。

§5.3 划分策略建议与泄漏风险

  • 必须按视频(患者)划分:同一视频相邻帧高度相似,按帧随机划分会让测试帧的"孪生帧"出现在训练集中,指标虚高且完全失去临床意义(见坑点 1)。
  • 跨子集嵌套关系:BBox201 每折 ⊆ CVS201 对应折,Seg50 每折 ⊆ BBox201 对应折。混用多个子集训练时,应确保验证/测试折严格对齐,否则会造成"测试帧已见于另一任务的训练集"的隐性泄漏。
  • 跨数据集重叠:Endoscapes 与 Cholec80、CholecT50 部分来源视频存在重叠(CAMMA Dataset Overlaps)。跨库实验必须先做重叠排除,否则预训练增益或泛化结论不可信(见坑点 6)。
  • 交叉验证:5 折交叉验证时可按 video_id 分组抽样(GroupKFold),保持视频完整性;低数据量研究建议直接复用官方 12_5/25 三折。
  • 外部验证:本数据集为单中心数据,任何临床导向的结论都应在其他中心数据或机构自有数据上做外部验证后再推广。

拿到数据后的第一件事:跑一遍划分完整性校验,确认三个 *_vids.txt 互斥、并集覆盖全部视频,并核对帧数与官方表格一致。

# ============================================================
# 划分完整性校验:互斥性、覆盖率、帧数核对
# 依赖:data_root/{train,val,test}_vids.txt + all_metadata.csv
# ============================================================
import pandas as pd
from pathlib import Path

root = Path("data_root")
splits = {}
for name in ["train", "val", "test"]:
    vids = Path(root, f"{name}_vids.txt").read_text().split()
    splits[name] = set(vids)
    print(f"{name}: {len(vids)} 个视频")          # 预期 120 / 41 / 40

# 1) 互斥性:任意两个划分不得共享视频
for a in ["train", "val", "test"]:
    for b in ["train", "val", "test"]:
        if a < b:
            overlap = splits[a] & splits[b]
            assert not overlap, f"{a} 与 {b} 泄漏重叠:{overlap}"

# 2) 覆盖率:三个划分的并集应等于元数据中的全部视频
meta = pd.read_csv(root / "all_metadata.csv")
video_col = [c for c in meta.columns if "video" in c.lower()][0]  # 以表头为准
all_vids = set(meta[video_col].astype(str).unique())
missing = all_vids - (splits["train"] | splits["val"] | splits["test"])
assert not missing, f"未归属任何划分的视频:{missing}"

# 3) 帧数核对:与 §5.1 官方表格比对(36,694 / 12,372 / 9,747)
meta["_split"] = meta[video_col].astype(str).map(
    {v: s for s, vs in splits.items() for v in vs})
counts = meta["_split"].value_counts()
print(counts)                                      # 与官方帧数逐项比对

任何一条断言失败都说明数据包不完整或划分文件版本不对,应先解决再开始训练。


§6 AI 就绪指南

§6.0 云端快速启动

Google Colab / Kaggle Notebooks 均可直接运行本节代码:数据为公开直链 ZIP,无需注册。建议 Colab 使用 GPU 运行时 + 挂载 Google Drive 缓存解压后的数据,Kaggle 可将解压目录转为 Datasets 缓存。因官方未公布压缩包体积,下载前请确认磁盘配额充足。

§6.1 快速上手

# ============================================================
# 快速上手:验证数据完整性与官方标注结构
# 目录结构预期(解压 endoscapes.zip 后):
#   data_root/
#   ├── train/  val/  test/           # 帧 + annotation_coco.json + annotation_ds_coco.json
#   ├── train_seg/  val_seg/  test_seg/
#   ├── insseg/  semseg/
#   └── all_metadata.csv  vid_cvs.csv  *_vids.txt  seg_label_map.txt
# data_root 变量与上述目录名直接拼接;最小可用子集 = train/ + annotation_coco.json
# ============================================================
import json, pathlib

data_root = pathlib.Path("data_root")

# 1) 读取检测标注(COCO 格式)
coco = json.loads((data_root / "train" / "annotation_coco.json").read_text())
print("训练集图像数:", len(coco["images"]))
print("训练集边界框数:", len(coco["annotations"]))
print("类别表:", [(c["id"], c["name"]) for c in coco["categories"]])

# 2) 读取视频划分清单
train_vids = (data_root / "train_vids.txt").read_text().split()
print("训练视频数:", len(train_vids))   # 预期 120

# 3) 读取 CVS 汇总元数据
import csv
with (data_root / "all_metadata.csv").open() as f:
    rows = list(csv.DictReader(f))
print("CVS 标注帧数:", len(rows))       # 预期 11,090

§6.2 数据获取

渠道 方式 访问要求 适用场景
官方 S3 直链(推荐) wget 下载 endoscapes.zip 无需注册;CC BY-NC-SA 4.0 快速开始、CI 缓存
GitHub 仓库 获取下载链接、文档与 Issue 支持 无 文档查询、版本公告
PhysioNet 镜像 注册后申请受限访问(Restricted Access) 实名 + 同意使用条款;须引用数据 DOI 机构合规流程要求正式存档引用时
模型与代码 SurgLatentGraph 无 复现官方基线
# 渠道一:官方 S3 直链(无需注册)
wget -c https://s3.unistra.fr/camma_public/datasets/endoscapes/endoscapes.zip
unzip endoscapes.zip -d data_root

# 渠道二:PhysioNet 镜像(受限访问)
#   1) 在 physionet.org 注册并实名认证
#   2) 访问 https://physionet.org/content/endoscapes-2023/ 按页面提示签署使用条款
#   3) 通过页面提供的下载命令获取(登录后可见)
#   4) 引用要求:PhysioNet DOI 10.13026/czwq-jh81 + 原始论文

引用要求(官方 README):使用 CVS201 或 BBox201 须额外引用 Murali et al., Latent Graph Representations for Critical View of Safety Assessment, IEEE TMI(DOI 10.1109/TMI.2023.3333034);使用 Seg50 须额外引用 Alapatt et al., Temporally Constrained Neural Networks(arXiv:2112.13815)。

§6.3 预处理全流程

# ============================================================
# 预处理:NPY+CSV 实例掩码 → 语义掩码 / 检测框,并做统一标准化
# 输入:data_root/insseg/5_5900.npy + 5_5900.csv
# 输出:单通道语义掩码(类别 id)与 COCO 兼容的 bbox
# ============================================================
import numpy as np
import pandas as pd
import pathlib

def load_instance_mask(data_root: pathlib.Path, stem: str):
    """读取一个实例分割标注:返回掩码堆叠与实例标签表。"""
    stack = np.load(data_root / "insseg" / f"{stem}.npy")       # 掩码堆叠
    labels = pd.read_csv(data_root / "insseg" / f"{stem}.csv")  # 每通道类别
    return stack, labels

def instances_to_semantic(stack, labels, h=480, w=854):
    """把实例堆叠合并成语义掩码。注意:类别以 CSV 为准,
    不要直接沿用语义掩码的 id(检测语境忽略背景,id 0 = cystic plate)。"""
    sem = np.zeros((h, w), dtype=np.uint8)
    for i, row in labels.iterrows():
        mask_2d = stack[i] if stack.ndim == 3 and stack.shape[0] == len(labels) \
            else stack[..., i]
        sem[mask_2d > 0] = row["class_id"]
    return sem

def mask_to_boxes(sem, ignore_background=True):
    """从语义掩码提取外接框(模拟官方 bbox 生成方式)。"""
    boxes = []
    ids = np.unique(sem)
    if ignore_background:
        ids = ids[ids != 0]                                     # 背景不参与检测
    for cid in ids:
        ys, xs = np.where(sem == cid)
        boxes.append({"category_id": int(cid),
                      "bbox": [float(xs.min()), float(ys.min()),
                               float(xs.max() - xs.min() + 1),
                               float(ys.max() - ys.min() + 1)]})
    return boxes

data_root = pathlib.Path("data_root")
stack, labels = load_instance_mask(data_root, "5_5900")
sem = instances_to_semantic(stack, labels)
print("该帧出现的类别:", np.unique(sem))

标准化建议:图像侧 Resize((480, 854))(本数据集已统一为该分辨率,通常无需缩放)→ ToTensor → 使用 ImageNet 预训练 backbone 时按其均值方差归一化;掩码侧只做最近邻插值。几何增强必须对图像与掩码施加同一参数(见 §6.6)。

§6.4 PyTorch DataLoader(完整可运行)

<details>
<summary>点击展开完整 SegmentationDataset 代码</summary>

# ============================================================
# Seg50 语义分割任务的 Dataset + DataLoader
# 目录预期:data_root/{train_seg,val_seg,test_seg}/ 存放 1 fps 帧
#           data_root/semseg/ 存放 PNG 语义掩码(每 30 s 一帧)
# 最小可用子集:train_seg/ + semseg/
# ============================================================
import pathlib
import numpy as np
import torch
from PIL import Image
from torch.utils.data import Dataset, DataLoader

class EndoscapesSegDataset(Dataset):
    """语义分割数据集:帧与掩码按 ${VIDEO_ID}_${FRAME_NUM} 主键配对。"""

    def __init__(self, data_root: str, split="train_seg", augment=None):
        self.root = pathlib.Path(data_root)
        self.img_dir = self.root / split
        self.mask_dir = self.root / "semseg"
        self.augment = augment
        # 只保留同时存在帧与掩码的样本(每 30 s 一帧有掩码)
        self.stems = sorted(p.stem for p in self.mask_dir.glob("*.png"))
        self.stems = [s for s in self.stems if (self.img_dir / f"{s}.jpg").exists()]

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

    def __getitem__(self, idx):
        stem = self.stems[idx]
        img = Image.open(self.img_dir / f"{stem}.jpg").convert("RGB")
        mask = np.array(Image.open(self.mask_dir / f"{stem}.png"))[:, :, 0]  # H×W class_id
        if self.augment is not None:            # 几何增强必须同步作用于 img 与 mask
            img, mask = self.augment(img, mask)
        img = torch.from_numpy(np.asarray(img).copy()).permute(2, 0, 1).float() / 255.0
        mean = torch.tensor([0.485, 0.456, 0.406]).view(3, 1, 1)
        std = torch.tensor([0.229, 0.224, 0.225]).view(3, 1, 1)
        img = (img - mean) / std
        return img, torch.from_numpy(mask.astype(np.int64))

train_ds = EndoscapesSegDataset("data_root", split="train_seg")
loader = DataLoader(train_ds, batch_size=8, shuffle=True,
                    num_workers=4, pin_memory=True)
imgs, masks = next(iter(loader))
print(imgs.shape, masks.shape)   # torch.Size([8, 3, 480, 854]) torch.Size([8, 480, 854])

</details>

CVS 任务的加载更直接:解析 annotation_ds_coco.json(帧级标签在 COCO 结构中)或 all_metadata.csv(逐标注者 + 共识),按文件名主键与图像路径拼接即可;视频级分层信息在 vid_cvs.csv。以下给出可直接接入训练循环的帧级 CVS Dataset:

<details>
<summary>点击展开完整 EndoscapesCVSDataset 代码</summary>

# ============================================================
# CVS 帧级分类任务的 Dataset(CVS201 子集)
# 数据预期:data_root/{train,val,test}/ 存放 1 fps 帧(jpg)
#           data_root/all_metadata.csv 存放逐标注者 + 共识 CVS
# 标签口径:共识为 0-1 连续软标签(3 名医生平均),训练默认保留软标签
# 具体列名以 all_metadata.csv 表头为准;下例先打印表头再选用
# ============================================================
import pathlib
import pandas as pd
import torch
from PIL import Image
from torch.utils.data import Dataset, DataLoader

class EndoscapesCVSDataset(Dataset):
    def __init__(self, data_root: str, split="train", soft_label=True):
        self.root = pathlib.Path(data_root)
        self.soft = soft_label
        # 1) 视频划分清单 → 允许的视频集合
        vids = set((self.root / f"{split}_vids.txt").read_text().split())
        # 2) 元数据表:视频 + 帧 + 共识 CVS(列名以表头为准,先打印确认)
        meta = pd.read_csv(self.root / "all_metadata.csv")
        video_col = [c for c in meta.columns if "video" in c.lower()][0]
        frame_col = [c for c in meta.columns if "frame" in c.lower()][0]
        cvs_col = [c for c in meta.columns if "cvs" in c.lower()
                   and "annotator" not in c.lower()][0]
        # 3) 仅保留属于该划分视频的帧,主键 ${VIDEO_ID}_${FRAME_NUM}
        meta = meta[meta[video_col].astype(str).isin(vids)].copy()
        meta["stem"] = (meta[video_col].astype(str) + "_"
                        + meta[frame_col].astype(str))
        self.rows = meta[["stem", cvs_col]].values.tolist()

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

    def __getitem__(self, idx):
        stem, cvs = self.rows[idx]
        img = Image.open(self.root / "train" / f"{stem}.jpg").convert("RGB")
        img = torch.from_numpy(
            __import__("numpy").asarray(img).copy()
        ).permute(2, 0, 1).float() / 255.0
        mean = torch.tensor([0.485, 0.456, 0.406]).view(3, 1, 1)
        std = torch.tensor([0.229, 0.224, 0.225]).view(3, 1, 1)
        img = (img - mean) / std
        target = torch.tensor(float(cvs))
        if not self.soft:                # 评估协议才阈值化,训练保留软标签
            target = (target >= 0.5).float()
        return img, target

ds = EndoscapesCVSDataset("data_root", split="train", soft_label=True)
img, y = next(iter(DataLoader(ds, batch_size=4)))
print(img.shape, y)      # torch.Size([4, 3, 480, 854]) tensor([...0-1 共识...])

</details>

三个实现要点对应官方协议:其一,训练目标保留 0-1 软标签(共识分歧本身是信息,见坑点 3);其二,样本过滤以 *_vids.txt 为准而非按帧抽样,保证患者级隔离(见坑点 1);其三,跨帧的时序模型(SV2LSTG 类)应改用 annotation_coco_vid.json 的时序标注组织样本,本 Dataset 仅覆盖单帧协议。

§6.5 坑点清单(8 个)

⚠️ 坑点 1:按帧随机划分导致患者级数据泄漏(分类:数据泄漏)

问题:同一视频内相邻 1 fps 帧几乎相同,若按帧随机划分训练/测试集,测试帧的近似副本会出现在训练集里,CVS/分割指标显著虚高,模型看起来"能上线"实际毫无泛化能力。
症状:测试 mAP/mIoU 高得离谱(例如比官方基准高 20 个点以上);换一段全新手术视频评估时性能断崖式下跌。
解决:

  1. 简单方法:永远使用官方 train_vids.txt/val_vids.txt/test_vids.txt 按视频划分;自建划分时用 GroupKFold(n_splits=5) 以 video_id 为 group。
  2. 进阶方法:复现官方分层逻辑——按视频级 CVS 达成(vid_cvs.csv)分层随机采样,保证各折 CVS 分布一致。
  3. SOTA 方法:跨数据集研究先跑 CAMMA Dataset Overlaps 排除与 Cholec80/CholecT50 的重叠视频,再划分。
    参考:arXiv:2312.12429(划分协议);PhysioNet 官方页。

⚠️ 坑点 2:检测/实例分割类别 ID 偏移(分类:标签理解)

问题:语义掩码 PNG 中 id 0 是背景;但在目标检测/实例分割语境下背景被忽略,官方规定 id 0 变为 cystic plate,六类检测类别整体前移。两套 ID 体系同名不同值。
症状:训练完检测器发现"胆囊板"框全部标在胆囊上;或 seg_label_map.txt 与 COCO JSON 的 categories 对不上号,评估时类别混淆矩阵错位。
解决:

  1. 简单方法:以 COCO JSON 的 categories 字段为唯一真值,把语义掩码 id 到检测 id 的映射写成显式字典,禁止隐式复用。
  2. 进阶方法:加载掩码后立即断言 set(np.unique(mask)) 合法,并抽样可视化若干帧人工核对。
  3. SOTA 方法:把类别映射纳入数据版本管理(如 DVC + 自定义 schema 校验),CI 中对每批数据跑映射一致性测试。
    参考:PhysioNet 官方页(seg_label_map.txt 说明)。

⚠️ 坑点 3:CVS 共识是 0-1 连续软标签,round 成 0/1 会失真(分类:标签理解)

问题:官方 CVS 标签是 3 名外科医生判定的平均值(如 0.33、0.67),小数即分歧。直接四舍五入成硬标签会把不确定样本伪装成确定样本,且与官方评估协议不一致。
症状:训练损失收敛但验证 mAP 明显低于官方基线(ResNet50 51.5 mAP 起);校准曲线异常;模型对分歧样本的置信度接近 1。
解决:

  1. 简单方法:保留软标签做回归/BCE 目标;评估时按官方协议对共识阈值化后计算指标。
  2. 进阶方法:对逐标注者标签(all_metadata.csv)做标签平滑或证据回归(evidential learning),显式建模标注不确定性。
  3. SOTA 方法:参考官方 LG-CVS(IEEE TMI,DOI 10.1109/TMI.2023.3333034)的图表示方法,把三准则结构化关系纳入模型,而非独立二分类。
    参考:Sci Data 论文(kappa 0.33-0.53);官方 README。

⚠️ 坑点 4:公开 Seg50 只有 493 帧,与论文私有分割集结果对不上(分类:评估误用)

问题:官方论文部分分割结果基于私有 Seg201(全部 1,933 帧分割掩码),公开发布的 Seg50 是其 50 视频子集。用 Seg50 复现出的数字与论文表格不匹配,常被误判为"实现有 bug"。
症状:严格按照官方代码训练,实例分割 mAP 与论文差距明显;或自己统计的类别分布(基于 493 帧)与论文 1,933 帧统计不同。
解决:

  1. 简单方法:只与官方在 Seg50 上发布的基准行对比(Mask2Former 26.6 mAP),不与 Seg201 结果对比。
  2. 进阶方法:在复现说明中显式声明所用子集(Seg50 vs Seg201),并通过官方 Issue 确认协议细节。
  3. SOTA 方法:向 CAMMA 发起 GitHub Issue 沟通完整分割集的可得性(官方联系方式见仓库),或把工作聚焦在公开可比的协议上。
    参考:官方 README(partial release 说明)。

⚠️ 坑点 5:把未标注帧当负样本训练分割/检测(分类:预处理陷阱)

问题:数据集刻意采用稀疏标注(分割每 30 s、CVS 每 5 s),中间帧无标注。把无标注帧与其"空标签"一起送入分割训练,会让模型学到"没有标注 = 没有目标"的错误假设。
症状:加入大量"空帧"后分割 mAP 反而下降;伪标签蒸馏时模型输出全面塌缩到背景类。
解决:

  1. 简单方法:监督训练只使用有标注帧;未标注帧仅用于无监督/半监督目标(一致性正则、对比学习)。
  2. 进阶方法:半监督框架中把未标注帧的损失限制在一致性项(如 Mean Teacher、TCNN 的时序约束),监督项只吃标注帧。
  3. SOTA 方法:复用官方 TCNN(Alapatt et al., arXiv:2112.13815)的时序半监督协议——这正是官方要求使用 Seg50 时引用它的原因。
    参考:官方 README;arXiv:2112.13815。

⚠️ 坑点 6:与 Cholec80/CholecT50 的视频重叠污染预训练结论(分类:偏倚陷阱)

问题:三个 CAMMA 数据集部分来源视频存在重叠。用 Cholec80 预训练再在 Endoscapes 上评估(或反之),若不排除重叠视频,"迁移增益"里混入了测试视频本身,结论失效。
症状:预训练增益大得不合理;审稿人用 Dataset Overlaps 清单一查即翻车。
解决:

  1. 简单方法:任何跨库实验前,先跑 camma_dataset_overlaps(2025-09-17 发布),从预训练集剔除重叠视频。
  2. 进阶方法:在论文表格中同时报告"含重叠/去重叠"两组结果,主动披露。
  3. SOTA 方法:构建统一视频指纹(手术者 + 时间戳 + 解剖序列哈希)复核官方清单,防止静默版本变更。
    参考:CAMMA Dataset Overlaps 仓库。

⚠️ 坑点 7:CVS 评估只看 overall,忽略三准则结构(分类:评估误用)

问题:总体 CVS 是三准则的合取(全部达成才算),总体指标掩盖了准则间的巨大差异(kappa:C2 0.53 vs C1 0.33;帧级达成率:C3 19.2% vs C2 12.4%)。只报告 overall 无法诊断模型在哪条准则上失效,也偏离官方多准则设定。
症状:模型 overall 分数尚可,但临床评审发现"三角没分好也报安全";误差分析无维度可下钻。
解决:

  1. 简单方法:按 C1/C2/C3 分别报告指标,并附混淆矩阵。
  2. 进阶方法:报告按准则校准后的概率(reliability diagram),特别关注共识介于 0.33-0.67 的分歧样本。
  3. SOTA 方法:采用结构化输出(三准则联合 + 合取规则)与官方一致的后处理,保证 overall = AND(C1, C2, C3)。
    参考:PhysioNet 官方页(准则级统计);arXiv:2312.12429。

⚠️ 坑点 8:Hepatocystic Triangle Dissection 是"区域"类而非"物体"类,框/掩码统计特性不同(分类:工程陷阱)

问题:六类中 HCT Dissection 标注的是三角区"分离状态区域"而非紧凑物体,其框大、边界模糊、掩码不成块;与 Gallbladder 等紧凑器官混在同一检测器里时,NMS 阈值、锚框尺寸、loss 权重都会被这类"大区域弱边界"目标带偏。
症状:HCT 召回率极低或框覆盖半个画面;Gallbladder 检测精度被拉低;按类别 mAP 看方差巨大。
解决:

  1. 简单方法:按类别可视化框尺寸分布,为 HCT 单独调整 NMS IoU 与最小框面积过滤。
  2. 进阶方法:对区域类改用分割头输出(软边界),或按类别设置不同 loss 权重。
  3. SOTA 方法:参考官方基准中 Deformable-DETR 的按类别 AP 分解(技术报告),对区域类单独做 miss vs false positive 误差分析。
    参考:arXiv:2312.12429;Sci Data 论文。

§6.6 数据增强建议

增强 是否安全 说明
水平翻转 ✅(谨慎) 影像本身无绝对左右,但需同步翻转掩码/框;CVS 任务建议先验证其对标签分布的影响
亮度/对比度/γ 抖动 ✅ 模拟腹腔镜光照变化与烟雾,收益稳定
高斯噪声/模糊 ✅ 轻度即可,模拟镜头污渍与组织运动模糊
小角度旋转(≤10°)+ 平移 ✅ 同步变换图像与掩码
大角度旋转/弹性形变 ❌ 破坏解剖位置关系(肝胆囊三角的空间构型正是标签语义的一部分)
垂直翻转 ❌ 与真实腹腔镜视角不符,与重力相关的组织下垂方向失真
时间维随机抽帧拼接 ❌ 破坏时序一致性方法(TCNN 类)依赖的帧间连续性
CutOut/随机擦除大区域 ❌ 可能擦除 CVS 判定的关键结构(胆囊管/动脉),制造标签矛盾

§6.7 模型推荐

任务 推荐模型 官方基准表现 备注
目标检测 Deformable-DETR 32.7 mAP(官方基线) COCO 格式直接可用
实例/语义分割 Mask2Former 26.6 mAP(官方基线) Seg50 数据量小,建议 ImageNet/外科预训练初始化
CVS 预测(帧级) ResNet50 → LG-CVS 51.5 → 63.3 mAP LG-CVS 引入解剖图结构,官方 TMI 方法
CVS 预测(时序) SV2LSTG 65.3 mAP 时序潜在图,MICCAI 2023
半监督分割 TCNN 协议见原文 官方 Seg50 引用要求的来源方法

§6.8 硬件需求

场景 GPU 显存 内存 磁盘 说明
数据探查 + 快速实验 8-12 GB 16 GB ≥50 GB 单卡 480×854 分辨率 batch 4-8
完整训练(检测/分割) 24 GB 以上(A100/4090 级) 32 GB ≥100 GB Mask2Former/Deformable-DETR 全量训练
CVS 视频模型 16-32 GB 32 GB ≥100 GB 时序模型需缓存多帧片段

§6.9 评估指标与代码

# ============================================================
# 评估:检测/分割用 COCO mAP;CVS 用官方协议的帧级指标
# ============================================================
from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval

def eval_detection(gt_json, pred_json):
    """边界框 mAP(官方基准协议)。gt_json = 官方 annotation_coco.json。"""
    coco_gt = COCO(gt_json)
    coco_dt = coco_gt.loadRes(pred_json)
    e = COCOeval(coco_gt, coco_dt, iouType="bbox")
    e.evaluate()
    e.accumulate()
    e.summarize()
    return e.stats[0]            # mAP@[.5:.95]

def eval_cvs(y_true_consensus, y_pred, threshold=0.5):
    """CVS 标签为 3 盲评共识;评估按官方共识阈值化为二值后进行;
    建议同时报告 C1/C2/C3 分准则指标(见坑点 7)。"""
    import numpy as np
    y_bin = (np.asarray(y_true_consensus) >= threshold).astype(int)
    pred_bin = (np.asarray(y_pred) >= threshold).astype(int)
    return {"accuracy": float((y_bin == pred_bin).mean())}

要点:官方 CVS 预测基准报告 mAP(对共识标签排序后的平均精度);复现对比时必须使用官方划分与同一阈值化协议,并在论文中注明所用子集(CVS201)与数据版本。

CVS 的临床评估必须下钻到三准则(C1 = Two Structures,胆囊管与胆囊动脉清晰辨识游离;C2 = Hepatocystic Triangle Dissection,肝胆囊三角清除;C3 = Cystic Plate,胆囊床下 1/3 胆囊板显露;定义见 §2.3)。下面给出按准则报告的评估骨架:

# ============================================================
# 按准则评估:overall + C1/C2/C3 + 分歧样本分层报告
# all_metadata.csv 中逐标注者与各准则列以表头为准(c1/c2/c3 语义)
# ============================================================
import numpy as np
import pandas as pd

def per_criterion_report(meta: pd.DataFrame, pred_cols: dict,
                         threshold=0.5):
    """pred_cols: {"c1": 预测列名, "c2": ..., "c3": ..., "cvs": ...}
    共识软标签按官方协议阈值化后计算命中率与分歧带统计。"""
    report = {}
    for crit, pred_col in pred_cols.items():
        gt_col = [c for c in meta.columns if c.lower() == crit][0]
        gt = (meta[gt_col].astype(float) >= threshold).astype(int)
        pred = (meta[pred_col].astype(float) >= threshold).astype(int)
        report[crit] = {
            "accuracy": float((gt == pred).mean()),
            "positive_rate_gt": float(gt.mean()),      # 准则达成率基线
        }
    # 分歧带:共识介于 0.33-0.67 的样本单独统计(kappa 噪声所在)
    cvs_col = [c for c in meta.columns if c.lower() == "cvs"][0]
    consensus = meta[cvs_col].astype(float)
    band = (consensus > threshold - 1 / 6) & (consensus < threshold + 1 / 6)
    report["disagreement_band"] = {
        "share": float(band.mean()),
        "accuracy_in_band": float(
            ((consensus[band] >= threshold).astype(int)
             == (meta.loc[band, pred_cols["cvs"]].astype(float)
                 >= threshold).astype(int)).mean())
            if band.any() else float("nan"),
    }
    return report

# 用法:pred DataFrame 与 meta 按帧主键对齐后调用;overall 之外必须附 C1/C2/C3

该报告的价值在于误差归因:若 overall 尚可但 C1 明显落后,说明模型在"两个结构是否清晰游离"这一最主观准则上失效(C1 的 kappa 0.33 为三准则最低),改进方向是引入解剖结构表示(LG-CVS 路线)而非继续堆单帧 backbone。

§6.10 MLOps 笔记

  • 数据版本化:以 video_id 清单 + 标注文件哈希作为数据版本指纹;PhysioNet v1.0.0(2024-12-11)与 GitHub 直链包应分别登记。
  • 评测防回归:把官方三任务基线(32.7 / 26.6 / 65.3 mAP)固化为 CI 烟雾测试,任何数据管线改动后先跑小子集回归。
  • 类别监控:上线后持续监控六类置信分布与 CVS 分歧样本(共识 0.33-0.67)占比漂移,警惕域移位(§7.6)。
  • 可追溯性:训练 run 需记录所用子集(CVS201/BBox201/Seg50)、划分文件哈希、是否做了 Dataset Overlaps 排除,保证结果可复现审计。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解建议
单中心偏倚 全部数据来自法国 IHU 斯特拉斯堡一家中心,设备、流程、人群构成单一 高 外部验证(其他中心数据)后再推广;跨中心训练
手术人群偏倚 仅良性病变行 LC 的成人;22 名医生(10 主治 + 12 住院医)的技能分布不代表全局 中 报告模型在不同手术者资历子分布上的分层表现
类别不平衡 Gallbladder 出现率 94.2% vs HCT Dissection 35.3%;帧级 CVS 达成仅 6.1% 中 加权损失/重采样;按类别报告指标
标注者偏倚 CVS kappa 0.33-0.53,主观性客观存在;共识策略(平均/多数投票)本身是一种建模选择 中 用软标签训练;做敏感性分析(不同共识阈值)
ROI 选择偏倚 只保留分离期、首次夹闭前片段;其他手术阶段不可用 对 CVS 任务低、对全流程任务高 明确任务边界,勿将结论外推到全手术流程
版本口径偏倚 arXiv 摘要 422 帧 vs 发布 493 帧(Seg50);部分结果基于私有 Seg201 中 只引用 GitHub/Sci Data 的 493 帧口径;声明所用子集

§7.2 标注质量

标注质量体系在同领域数据集中属于高规格:协议公开可审计(arXiv:2106.10916);CVS 三盲 + 不调解分歧 + 共识平均的设计避免了"权威医生主导"的常见问题;空间标注由 5 名受训者完成并多轮复核。但必须正视:CVS 三准则的 kappa 介于 0.33-0.53,属一般到中等一致,意味着即使金标准内部也有可观的标签噪声。实践含义:模型性能上限受标签噪声约束;把 0.67 共识当作 1 训练会人为压低上限;任何"超过人类"的声明都应指明对照的是单标注者还是共识。

§7.3 泛化性评估

目标场景 失效风险 证据与说明
其他中心/国家的 LC 手术 高 单中心数据(2015-2019,IHU-Strasbourg),设备与人群分布单一
开腹/机器人等其他术式 极高 数据仅含腹腔镜术式,视野与解剖呈现不同
非胆囊手术的术中安全评估 极高 标签体系(CVS、胆囊三角)为 LC 专属
烟雾/出血/镜头污染等恶劣画面 中 官方未发布恶劣帧分层统计;建议自行分桶评估
超高清(4K)腹腔镜影像 中 数据统一重编码为 480×854,直接上 4K 存在分辨率域差

§7.4 伦理与合规

数据采集在斯特拉斯堡大学伦理委员会批准下进行(SafeChole 项目,批准号 ID F20200730144229),符合法国 MR-004 参考方法学与 GDPR;全部数据经患者同意采集,去标识化后用于研究共享(PhysioNet)。影像为术中腹腔镜视野,不含面部等直接身份信息;官方未发布患者级人口学元数据,进一步降低了再识别风险。许可为 CC BY-NC-SA 4.0:禁止商业使用,衍生数据须以相同方式共享。

§7.5 公平性

官方未公布患者性别、年龄、种族分布,因此无法直接审计跨人群性能差异。使用者在做任何临床导向声明前,应把这视为待补的数据缺口,并在自有数据上做亚组分析;这也应写入模型卡的限制部分。

§7.6 数据漂移

数据封闭于 2015-2019 单中心窗口。潜在漂移源:腹腔镜设备升级(4K、荧光导航)、手术流程演变(如机器人 LC 的普及)、标注协议迭代(官方从早期人工选帧升级为规则抽帧)。持续学习系统应监控帧级统计(亮度分布、器械出现谱)与 CVS 预测分歧率随时间的漂移,并保留对旧协议数据的回测能力。

§7.7 DAIMS 数据质量自检(24 项)

# 检查项 状态 说明
1 宽格式 ✅ COCO JSON + CSV 结构规整,字段稳定
2 唯一标识 ✅ ${VIDEO_ID}_${FRAME_NUM} 主键全局唯一且可解析
3 特殊字符 ✅ 文件名仅字母数字与下划线
4 重复行 ✅ 官方按规则采样生成,无重复标注行
5 缺失编码 ✅ 无传统缺失;未标注帧为显式的采样设计而非缺失
6 标签标识 ✅ COCO categories + seg_label_map.txt 双重定义
7 罕见类分组 ⚠️ Cystic Plate/HCT Dissection 占比低,官方未提供合并策略
8 偏倚评估 ✅ 官方发布类别分布、CVS 分布与 kappa
9 数据字典 ✅ 技术报告 + README 详尽描述文件结构与格式
10 信息性缺失解释 ✅ 未标注帧用于半监督的用途在官方文档中明确说明
11 设备记录 ⚠️ 统一重编码规格明确,但原始腹腔镜设备型号未公布
12 共线性 ⚠️ 影像数据不直接适用;六类目标共现关系需自行统计(Gallbladder/Tool 高度共现)
13 编码映射 ✅ seg_label_map.txt 提供类别映射,检测语境的 id 偏移有官方说明
14 时间戳处理 ⚠️ 帧号隐含时间(1 fps/30 FPS 基准),但原始手术时钟未提供
15 划分建议 ✅ 官方视频级划分 + 12_5/25 低数据量划分
16 泄漏讨论 ✅ 按视频(患者)划分;Dataset Overlaps 仓库主动处理跨库重叠
17 标签分布 ✅ 官方公布两套标注集逐类出现率与 CVS 帧级/视频级分布
18 测量偏倚 ⚠️ kappa 0.33-0.53 已披露,但未提供逐标注者准确度画像
19 外部验证建议 ⚠️ 官方协议完备,但尚无跨中心外部验证结果发表
20 版本记录 ✅ arXiv v1-v3 + PhysioNet v1.0.0 + 期刊版,版本链完整
21 预处理脚本 ✅ SurgLatentGraph 提供加载与基线训练代码
22 合规要求 ✅ CC BY-NC-SA 4.0 + 引用要求 + 伦理批号全部公开
23 多模态对齐 ✅ 帧/掩码/JSON/CSV 以同一文件名主键严格对齐
24 去标识化 ✅ MR-004 + GDPR 合规,无患者级元数据发布

DAIMS 评分:21 / 24(18 项 ✅,6 项 ⚠️,0 项 ❌)

评分解读:21/24 属于"研究级高就绪"档位。数据结构、划分、合规、对齐四大硬项全部达标,官方文档与代码生态完备;扣分集中在"元信息透明度"(设备型号、时间戳、患者画像未公布)与"标注不确定性"(kappa 中等、无外部验证)两类,这些都是使用策略可以缓解、但无法从数据本身修复的问题。

对你意味着什么:如果你要做检测/分割/CVS 基准研究,可以近乎零摩擦地开始——直接用官方划分与 COCO 格式,一天内即可跑通第一个基线;如果你要把模型推向临床,请把三条动作写进计划:(1) 在自有中心数据上完成外部验证后再谈部署;(2) 用软标签处理 CVS 分歧并把 kappa 限制写进论文限制部分;(3) 建立 Dataset Overlaps 排查步骤,防止跨库实验被重叠视频污染。

§7.8 外部验证矩阵

截至 2026-09,官方尚未发表针对本数据集训练模型的跨中心外部验证结果。下表列出建议的外部验证路径与当前证据状态:

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
CholecSeg8k CAMMA(Cholec80 子集) 语义分割迁移 尚无同行评审的成对结果 未建立 视频重叠需先经 Dataset Overlaps 排除,迁移结论才可信
Cholec80/CholecT50 CAMMA 预训练/联合训练 尚无同行评审的成对结果 未建立 官方重叠清单已就绪,是执行跨库研究的必要前提
自有中心数据(推荐) 使用者所在机构 CVS 预测 + 分割 待使用者补齐 预期显著下降(单中心偏倚) 任何临床声明前必须完成,见 §7.7 行动建议

§8 基准性能与生态

§8.1 官方基准排行榜

以下为官方技术报告发布的三任务基准(同一划分与评测协议下训练/评测;arXiv:2312.12429)。注意:三行数字分属不同任务与子集,不可直接横向比较。

任务 子集 模型 性能 年份 关键技术 完整引用 代码
目标检测 BBox201 Deformable-DETR 32.7 mAP 2021(基准 2023) 可变形注意力检测 Zhu et al., 2021, ICLR. arXiv:2010.04159;基准运行:Murali et al., 2023, arXiv:2312.12429 SurgLatentGraph
实例分割 Seg50 Mask2Former 26.6 mAP 2022(基准 2023) 掩码注意力统一分割 Cheng et al., 2022, CVPR. arXiv:2112.01527;基准运行:Murali et al., 2023, arXiv:2312.12429 同上
CVS 预测 CVS201 SV2LSTG 65.3 mAP 2023 时序潜在时空图推理 Murali et al., 2023, MICCAI, pp. 647-657. arXiv:2312.06829 同上
CVS 预测 CVS201 LG-CVS 63.3 mAP 2023 解剖结构潜在图表示 Murali et al., 2023, IEEE Transactions on Medical Imaging. DOI 10.1109/TMI.2023.3333034 同上
CVS 预测 CVS201 ResNet50(基线) 51.5 mAP 2023 单帧 CNN 基线 Murali et al., 2023, arXiv:2312.12429(技术报告基线) 同上

数值不可直接比较的原因:三个任务使用不同子集(BBox201/Seg50/CVS201)、不同标注密度与不同指标语义(检测/分割 mAP 与 CVS 共识 mAP 含义不同);CVS 模型还可利用未标注帧做时序/半监督学习,训练信息量不等。

§8.2 SOTA 总结与选型建议

  • 检测:Deformable-DETR 32.7 mAP 是当前官方锚点;新检测器提交时必须保持同一 COCO 协议与划分。
  • 分割:Seg50 仅 493 帧,重点不在刷点而在标签效率与预训练策略;用外科预训练/半监督的收益通常大于更换骨架。
  • CVS 预测:从 ResNet50(51.5)到 LG-CVS(63.3)再到 SV2LSTG(65.3)的跃升来自"结构化 + 时序",证明 CVS 任务的突破口在建模解剖关系与时间上下文,而非更大的单帧 backbone。

§8.3 评测协议

官方协议要点:视频级官方划分(120/41/40、30/10/10);检测/分割按 COCO mAP@[.5:.95];CVS 预测对 3 人共识标签计算帧级指标;低数据量研究使用官方 12_5/25 三折;所有结果应声明所用子集与数据版本(Endoscapes2023)。复现类工作建议同时开源数据加载与评估代码以供审计。

数据集 机构 规模 标注类型 与 Endoscapes 的关系
Cholec80 CAMMA 80 例 LC 视频 手术阶段 + 器械 同团队早期基准;存在视频重叠,跨库实验须排除
CholecT50 CAMMA 50 例 LC 视频 器械-动作-目标三元组 同团队动作理解基准;存在视频重叠
CholecSeg8k CAMMA 8,080 帧 像素级语义分割 稠密分割补充,无 CVS 标签
Endoscapes2023 CAMMA 201 例 / 58,813 帧 CVS + 检测 + 分割 本条目;三层标注 + 官方三任务基准

§8.5 关键论文 Top 7

  1. Murali A, Alapatt D, Mascagni P, et al. Endoscapes, a critical view of safety and surgical scene segmentation dataset for laparoscopic cholecystectomy. Scientific Data, 12:331, 2025. DOI 10.1038/s41597-025-04642-4 — 期刊版数据论文,采集/标注/验证全流程权威描述。
  2. Murali A, Alapatt D, Mascagni P, et al. The Endoscapes Dataset for Surgical Scene Segmentation, Object Detection, and Critical View of Safety Assessment: Official Splits and Benchmark. arXiv:2312.12429, 2023 — 技术报告:官方划分、文件格式与三任务基准。
  3. Mascagni P, et al. Surgical data science for safe cholecystectomy: a protocol for segmentation of hepatocystic anatomy and assessment of the critical view of safety. arXiv:2106.10916, 2021 — 标注协议原文,CVS 标注设计的依据。
  4. Murali A, et al. Latent Graph Representations for Critical View of Safety Assessment. IEEE Transactions on Medical Imaging, 2023. DOI 10.1109/TMI.2023.3333034 — LG-CVS 方法论文,CVS201/BBox201 的条件引用对象。
  5. Murali A, et al. Encoding Surgical Videos as Latent Spatiotemporal Graphs for Object and Anatomy-Driven Reasoning. MICCAI 2023, pp. 647-657. arXiv:2312.06829 — SV2LSTG 方法论文,CVS 时序最高基准。
  6. Alapatt D, et al. Temporally Constrained Neural Networks: A framework for semi-supervised video semantic segmentation. arXiv:2112.13815, 2021 — 半监督时序分割协议,Seg50 的条件引用对象。
  7. Strasberg SM. An analysis of the problem of biliary injury during laparoscopic cholecystectomy. Journal of the American College of Surgeons, 180(1):101-125, 1995 — CVS 理念的源头文献。

§8.6 社区活跃度

数据集由 CAMMA 研究组通过 GitHub Issue 提供官方支持(仓库说明),维护记录活跃:截至 2026-09,README 仍持续更新,最近一次为 2025-09-17 的 Dataset Overlaps 公告。围绕该数据集的研究产出集中于手术数据科学社区(MICCAI、IEEE TMI、Scientific Data 等),官方通过同一仓库统一回答数据使用问题。官方未维护公开排行榜,新结果一般随论文与代码仓库发布。

§8.7 生态快照

资源 类型 链接 状态(截至 2026-09) 推荐理由
Endoscapes 官方仓库 数据 + 文档 https://github.com/CAMMA-public/Endoscapes 持续维护 数据入口、格式说明、引用要求
数据直链(S3 ZIP) 数据下载 https://s3.unistra.fr/camma_public/datasets/endoscapes/endoscapes.zip 开放 无需注册即可下载
PhysioNet 存档 数据存档 https://physionet.org/content/endoscapes-2023/ 受限访问(v1.0.0) 机构合规、正式引用
SurgLatentGraph 代码/模型 https://github.com/CAMMA-public/SurgLatentGraph 开放 官方基线与 checkpoint
CAMMA Dataset Overlaps 工具 https://github.com/CAMMA-public/camma_dataset_overlaps 开放(2025-09-17 发布) 跨库实验重叠排查
标注协议论文 文献 https://arxiv.org/abs/2106.10916 开放 理解标注设计

§9 相关资源与引用

§9.1 官方资源入口

§9.2 BibTeX 引用块

@article{murali2025endoscapes,
  title   = {Endoscapes, a critical view of safety and surgical scene segmentation
             dataset for laparoscopic cholecystectomy},
  author  = {Murali, Aditya and Alapatt, Deepak and Mascagni, Pietro and
             Vardazaryan, Armine and Garcia, Alain and Okamoto, Nariaki and
             Costamagna, Guido and Mutter, Didier and Marescaux, Jacques and
             Dallemagne, Bernard and Padoy, Nicolas},
  journal = {Scientific Data},
  volume  = {12},
  pages   = {331},
  year    = {2025},
  doi     = {10.1038/s41597-025-04642-4}
}

@article{murali2023endoscapes,
  title   = {The Endoscapes Dataset for Surgical Scene Segmentation, Object
             Detection, and Critical View of Safety Assessment: Official Splits
             and Benchmark},
  author  = {Murali, Aditya and Alapatt, Deepak and Mascagni, Pietro and
             Vardazaryan, Armine and Garcia, Alain and Okamoto, Nariaki and
             Costamagna, Guido and Mutter, Didier and Marescaux, Jacques and
             Dallemagne, Bernard and Padoy, Nicolas},
  journal = {arXiv preprint arXiv:2312.12429},
  year    = {2023}
}

@misc{mascagni2024endoscapes2023,
  title        = {Endoscapes2023, A Critical View of Safety and Surgical Scene
                  Segmentation Dataset for Laparoscopic Cholecystectomy (version 1.0.0)},
  author       = {Mascagni, Pietro and Alapatt, Deepak and Murali, Aditya and
                  Vardazaryan, Armine and Garcia Vazquez, Alain and Okamoto, Nariaki and
                  Costamagna, Guido and Mutter, Didier and Marescaux, Jacques and
                  Dallemagne, Bernard and Padoy, Nicolas},
  howpublished = {PhysioNet},
  year         = {2024},
  doi          = {10.13026/czwq-jh81}
}

@article{murali2023latent,
  title   = {Latent Graph Representations for Critical View of Safety Assessment},
  author  = {Murali, Aditya and Alapatt, Deepak and Mascagni, Pietro and
             Vardazaryan, Armine and Garcia, Alain and Okamoto, Nariaki and
             Padoy, Nicolas},
  journal = {IEEE Transactions on Medical Imaging},
  year    = {2023},
  doi     = {10.1109/TMI.2023.3333034}
}

@inproceedings{murali2023encoding,
  title     = {Encoding Surgical Videos as Latent Spatiotemporal Graphs for Object
               and Anatomy-Driven Reasoning},
  author    = {Murali, Aditya and Alapatt, Deepak and Mascagni, Pietro and
               Padoy, Nicolas},
  booktitle = {Medical Image Computing and Computer Assisted Intervention (MICCAI)},
  pages     = {647--657},
  year      = {2023}
}

@article{alapatt2021temporally,
  title   = {Temporally Constrained Neural Networks: A framework for semi-supervised
             video semantic segmentation},
  author  = {Alapatt, Deepak and Mascagni, Pietro and Vardazaryan, Armine and
             Garcia, Alain and Okamoto, Nariaki and Dallemagne, Bernard and
             Mutter, Didier and Padoy, Nicolas},
  journal = {arXiv preprint arXiv:2112.13815},
  year    = {2021}
}

@article{mascagni2021surgical,
  title   = {Surgical data science for safe cholecystectomy: a protocol for
             segmentation of hepatocystic anatomy and assessment of the critical
             view of safety},
  author  = {Mascagni, Pietro and Alapatt, Deepak and Ur Rehman, Sajid and
             Vardazaryan, Armine and Garcia, Alain and Okamoto, Nariaki and
             Dallemagne, Bernard and Mutter, Didier and Marescaux, Jacques and
             Padoy, Nicolas},
  journal = {arXiv preprint arXiv:2106.10916},
  year    = {2021}
}

§9.3 引用指南

  • 使用整个数据集:引用 Sci Data 期刊版 + arXiv 技术报告;经 PhysioNet 获取时另引 PhysioNet DOI(10.13026/czwq-jh81)。
  • 使用 CVS201 或 BBox201:额外引用 Murali et al., IEEE TMI 2023(DOI 10.1109/TMI.2023.3333034)。
  • 使用 Seg50:额外引用 Alapatt et al., TCNN(arXiv:2112.13815)。
  • 讨论 CVS 定义与标注设计:引用 Mascagni et al. 标注协议(arXiv:2106.10916)与 Strasberg 1995 原始文献。

§10 AI 使用声明卡

§10.1 本条目生产使用的 AI 模型

模型 用途
CodeBuddy Code(fast-model) 条目撰写、结构组织与代码示例生成

§10.2 AI 参与范围

AI 负责资料检索辅助、内容初稿撰写、代码示例生成与格式校对;全部事实性内容基于本条目 §10.3 所列公开来源交叉核实,最终结构、医学与技术判断由人工审核把关。

§10.3 输入来源列表

  1. Murali A, et al. Endoscapes, a critical view of safety and surgical scene segmentation dataset for laparoscopic cholecystectomy. Scientific Data, 12:331, 2025. DOI 10.1038/s41597-025-04642-4. https://www.nature.com/articles/s41597-025-04642-4
  2. Murali A, et al. The Endoscapes Dataset for Surgical Scene Segmentation, Object Detection, and Critical View of Safety Assessment: Official Splits and Benchmark. arXiv:2312.12429, 2023. https://arxiv.org/abs/2312.12429
  3. Mascagni P, et al. Endoscapes2023, A Critical View of Safety and Surgical Scene Segmentation Dataset for Laparoscopic Cholecystectomy (version 1.0.0). PhysioNet, 2024. DOI 10.13026/czwq-jh81. https://physionet.org/content/endoscapes-2023/
  4. CAMMA-public/Endoscapes 官方仓库(README、LICENSE、News)。https://github.com/CAMMA-public/Endoscapes
  5. Murali A, et al. Latent Graph Representations for Critical View of Safety Assessment. IEEE Transactions on Medical Imaging, 2023. DOI 10.1109/TMI.2023.3333034.
  6. Murali A, et al. Encoding Surgical Videos as Latent Spatiotemporal Graphs for Object and Anatomy-Driven Reasoning. MICCAI 2023, pp. 647-657. arXiv:2312.06829.
  7. Alapatt D, et al. Temporally Constrained Neural Networks: A framework for semi-supervised video semantic segmentation. arXiv:2112.13815, 2021. https://arxiv.org/abs/2112.13815
  8. Mascagni P, et al. Surgical data science for safe cholecystectomy: a protocol for segmentation of hepatocystic anatomy and assessment of the critical view of safety. arXiv:2106.10916, 2021. https://arxiv.org/abs/2106.10916
  9. Alapatt D, et al. Jumpstarting Surgical Computer Vision. arXiv:2312.05968, 2023. https://arxiv.org/abs/2312.05968
  10. Ramesh S, et al. Dissecting self-supervised learning methods for surgical computer vision. Medical Image Analysis, 88:102844, 2023. arXiv:2207.00449.
  11. Strasberg SM. An analysis of the problem of biliary injury during laparoscopic cholecystectomy. Journal of the American College of Surgeons, 180(1):101-125, 1995.
  12. Zhu X, et al. Deformable DETR: Deformable Transformers for End-to-End Object Detection. ICLR 2021. arXiv:2010.04159.
  13. Cheng B, et al. Masked-attention Mask Transformer for Universal Image Segmentation (Mask2Former). CVPR 2022. arXiv:2112.01527.
  14. CAMMA-public/camma_dataset_overlaps 仓库(视频重叠分析)。https://github.com/CAMMA-public/camma_dataset_overlaps
  15. CAMMA-public/SurgLatentGraph 仓库(官方基线代码与模型)。https://github.com/CAMMA-public/SurgLatentGraph

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
frontmatter 与 INFOBOX 关键数字 千方病案医学编辑部 对照 FACTS 事实清单逐项核验 ✅ 已通过
§2 医学背景(ICD-11/SNOMED 映射、CVS 定义) 千方病案医学编辑部 对照 Sci Data 论文与 PhysioNet 官方页核验 ✅ 已通过
§3-§4 数据规格与数据字典 千方病案医学编辑部 对照官方 README 与 PhysioNet 文件结构核验 ✅ 已通过
§6 代码示例与坑点 千方病案医学编辑部 代码逻辑走查 + 坑点溯源至官方文档 ✅ 已通过
§7 质量评估与 DAIMS 千方病案医学编辑部 对照官方 kappa 与分布统计核验 ✅ 已通过
§8 基准数字与引用 千方病案医学编辑部 对照 arXiv 技术报告核验 ✅ 已通过

§10.5 AI 生成章节标注

本条目正文由 AI 辅助生成初稿;§0 审核声明、§2 医学背景、§6.5 坑点、§7.7 DAIMS 评估与 §10 声明卡为人工重点审核区域,审核结论见 §10.4。

§10.6 最后人工审核日期

2026-09-05(与 §0 审核日期一致)

页面状态:published(全部内容已完成审核并发布)


相关数据集导航

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

  • EndoVis-Challenges — 共享标签:医学影像 / 手术视频 / 内窥镜影像 / 医学图像分割
  • cholecseg8k — 共享标签:医学影像 / 手术视频 / 内窥镜影像 / 医学图像分割
  • autolaparo — 共享标签:医学影像 / 手术视频 / 内窥镜影像 / 医学图像分割
  • Kvasir-HyperKvasir — 共享标签:医学影像 / 手术视频 / 内窥镜影像 / 医学图像分割
  • heico — 共享标签:医学影像 / 手术视频 / 内窥镜影像 / 医学图像分割
  • ETIS-Larib — 共享标签:医学影像 / 内窥镜影像 / 医学图像分割
  • kvasir-instrument — 共享标签:医学影像 / 手术视频 / 医学图像分割
  • cadis — 共享标签:医学影像 / 手术视频 / 医学图像分割
  • fetreg — 共享标签:医学影像 / 手术视频 / 医学图像分割
  • autoimplant — 共享标签:医学影像 / 手术视频 / 医学图像分割

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

返回 AI-Ready 数据集