信息速览

Kvasir-Capsule — 全球最大公开胶囊内镜视频数据集 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | Kvasir-Capsule |
| 英文全称 | Kvasir-Capsule: A Video Capsule Endoscopy Dataset |
| 别名/简称 | KvasirCapsule、Kvasir VCE、Kvasir 胶囊数据集 |
| 疾病分类 | 小肠病变谱(ICD-11:DA97.0 小肠血管发育不良 / ME24.A0 消化道不明原因出血 / ME24.5 消化系统溃疡 / DA42 十二指肠溃疡) |
| SNOMED CT | 235853006 Angiodysplasia of intestine / 74474003 Gastrointestinal hemorrhage / 12847006 Acute duodenal ulcer with hemorrhage(详见 §2.2) |
| 数据模态 | 影像(胶囊内镜视频帧,RGB,336×336 px) |
| AI 任务类型 | 图像多分类、目标检测(边界框)、异常检测、少样本学习、半监督/自监督视频预训练 |
| 样本总数 | 47,238 张标注帧(14 类)+ 117 段视频(43 段标注 + 74 段未标注,合计 4,741,504 帧) |
| 数据大小 | 521 MB(标注帧)/ 32.2 GB(标注视频)/ 58.2 GB(未标注视频),合计约 89 GB |
| 数据格式 | PNG(标注帧)/ AVI(H.264 视频)/ CSV(标注元数据与边界框) |
| 许可证 | CC BY 4.0(竞赛与商业用途需 Simula 书面许可,使用时必须引用原论文) |
| 访问级别 | 开放(免注册直接下载) |
| DUO 标签 | HMB, NPUNCU |
| 语言 | 英文(类别名与元数据) |
| 首发日期 | 2020-08(OSF 预印本与数据首发)/ 2021-05-27(Scientific Data 论文发表) |
| 最后更新 | 2026-06(官方页面最近更新) |
| 发布机构 | Simula 都会数字工程研究中心(SimulaMet)& Vestre Viken 医院集团(Bærum 医院,挪威) |
| 官方主页 | https://datasets.simula.no/kvasir-capsule |
| 下载地址 | https://datasets.simula.no/kvasir-capsule(直链 zip)/ https://osf.io/dv2ag(OSF)/ Google Drive 官方镜像(见 §6.2) |
| DOI | 10.1038/s41597-021-00920-z(论文)/ 10.17605/OSF.IO/DV2AG(数据集) |
| 引用次数 | 330+(Google Scholar,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 免注册开放下载、官方视频级 two-fold 划分、边界框齐备;扣分项:极端类别不平衡、3 个类别样本过少、无分割掩码、单中心单设备 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 映射、VCE 临床任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(metadata.csv 字段、14 类分布)、§5 数据划分策略(视频级 two-fold)、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与 SimulaMet、Vestre Viken 医院集团、Augere Medical AS、Olympus 公司无任何商业利益关联。本页面不销售 Kvasir-Capsule 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Kvasir-Capsule 以 CC BY 4.0 发布,但官方页面额外声明:用于竞赛与商业目的需事先获得 Simula 书面许可;所有使用或引用该数据集的文档与论文必须引用 Scientific Data 原论文(DOI: 10.1038/s41597-021-00920-z)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
Kvasir-Capsule 是挪威 Simula 都会数字工程研究中心(SimulaMet)与 Vestre Viken 医院集团于 2020-2021 年联合发布的全球最大公开胶囊内镜(VCE)数据集:117 段小肠胶囊视频、约 470 万帧,其中 47,238 帧经消化内科专家逐帧验证并打上 14 类标签与病灶边界框。
它填补了医疗 AI 的一个关键空白:胶囊内镜每次检查产生 5-10 万帧图像,医生人工读片要花费 30 分钟到 2 小时,而此前几乎没有公开的大规模标注 VCE 数据可供训练自动筛片模型。Kvasir-Capsule 用"47,238 张精标帧 + 470 万帧未标注视频"的组合,同时喂饱了监督学习与半监督/自监督研究两条路线,原论文已被引用 330 余次(截至 2026-09)。
你可以用它来:训练小肠病灶(血管扩张、溃疡、糜烂、出血等 14 类)的自动分类与目标检测模型、在 74 段未标注视频上做半监督或自监督预训练、研究极端类别不平衡(最大类与最小类相差 3,434 倍)下的鲁棒学习方法,或作为少样本医疗影像分类的基准试验场。
§1.1 摘要
Kvasir-Capsule 的数据来自挪威 Bærum 医院(Vestre Viken Hospital Trust)内科 2016 年 2 月至 2018 年 1 月间的连续临床胶囊内镜检查,设备为 Olympus Endocapsule 10 系统(EC-S10 胶囊 + RE-10 记录仪),以 336×336 像素、每秒 2 帧采集小肠全程视频,经 H.264 编码后导出为 AVI。数据集分三部分发布:47,238 张标注 PNG 帧(14 类,按文件夹组织,附 metadata.csv 记录帧号、视频来源与 4 点边界框)、43 段标注视频(约 19 小时,标注帧即提取自这些视频)、74 段未标注视频(约 25 小时)。类别体系遵循世界内镜组织 MST 3.0(Minimal Standard Terminology)框架,分为解剖标志(幽门、回盲瓣、Vater 壶腹)与腔内发现(血管扩张症、糜烂、溃疡、息肉、新鲜血、陈旧血、红斑、异物、淋巴管扩张症、正常清洁黏膜、黏膜视野受限)两大类。标注流程采用"临床医生初筛缩略图 → 专家读片者分类 → 三名硕士生逐帧画框 → 初级医生与双专家读片者两轮复核"的多人管线,26 处标注分歧全部复核至一致。官方在 GitHub 提供视频级 two-fold 交叉验证划分与基线实验代码——这是使用该数据集时最重要的可比性锚点。
§1.2 战略价值分析
临床空白维度:胶囊内镜是不明原因消化道出血(OGIB)的一线诊断工具,也是唯一能无创观察全小肠的检查手段,但其经济性命门是读片成本——单次检查 5-10 万帧,资深医生读片需 30-120 分钟。AI 自动筛片(把 10 万帧压缩到几百帧可疑帧)是 VCE 领域最明确的临床需求,而训练这种模型需要大量专家标注帧。Kvasir-Capsule 之前,公开的 VCE 标注数据只有几千张级别的小数据集(如 GIANA 竞赛数据、CAD-CAP),且多为单一病种二分类;Kvasir-Capsule 把规模提升了一个数量级,并首次给出覆盖 14 类发现的多类别标注体系,直接决定了"VCE 多分类 AI"这个研究子领域的可行性。
方法论价值维度:这个数据集是"真实医疗数据困难度"的教科书样本。极端类别不平衡(正常黏膜占 72.7%,Vater 壶腹仅 10 帧)、视频内帧间高度冗余(随机划分即泄漏)、低分辨率(336×336,远低于常规内镜)、微妙的类间差异(糜烂 vs 小残渣、轻度红斑 vs 正常黏膜,论文原话"连临床医生也难以区分")——这四个难题同时存在,使官方基线在 11 类分类上的 MCC 只有 0.42 左右。它因此成为检验不平衡学习、少样本学习、半监督学习、视频时序建模的真实试金石,而不是又一个可以轻松刷到 99% 的"玩具医疗数据集"。
生态推动维度:Kvasir-Capsule 是 Simula Kvasir 家族(Kvasir v1/v2、Kvasir-SEG、HyperKvasir、Kvasir-Instrument)在胶囊内镜方向的旗舰成员,与同团队后续发布的 KvasirCapsule-SEG(分割掩码扩展)形成互补。其"标注图像 + 标注视频 + 大规模未标注视频"的三层发布结构,启发了后续多个医疗视频数据集的设计;官方 two-fold 视频级划分与基线实验(DenseNet-161/ResNet-152 × 三种类别加权策略)为文献提供了罕见的可比基准点,2024 年 IEEE Access 的检测模型横评(Habe et al.)等工作继续以它为标准测试场。
§1.3 横向对比
| 数据集 | 标注帧数 | 模态 | 类别数 | 标注类型 | 核心差异化 |
|---|---|---|---|---|---|
| Kvasir-Capsule | 47,238 | 胶囊内镜(小肠) | 14 | 类别 + 边界框(专家验证) | 最大公开 VCE 集;附 470 万未标注帧;官方视频级划分 |
| Kvasir v2 | 8,000 | 常规胃肠镜 | 8 | 类别(内镜医生验证) | 每类均衡 1,000 张,入门友好 |
| HyperKvasir | 10,662 | 常规胃肠镜(图+视频) | 23 | 类别(部分含分割) | 类别最多的常规内镜集 |
| KvasirCapsule-SEG | 约 2,000+ | 胶囊内镜(小肠) | 多类 | 像素级分割掩码 | Kvasir-Capsule 的分割扩展,互补使用 |
| CAD-CAP | 4,180 | 胶囊内镜(小肠) | 3(正常/血管病变/炎症) | 类别 | 法国单中心,病种粗粒度 |
| GIANA 2017-2018 | 数千 | 胶囊内镜 | 按竞赛任务 | 类别/掩码 | 竞赛专用,需申请 |
Kvasir-Capsule 的不可替代性在三点:公开 VCE 数据中的最大规模、14 类 MST 3.0 对齐的细粒度类别体系、以及"4.7 万标注帧 + 470 万未标注帧"的监督/半监督双轨结构。它的短板同样清晰:单中心单设备(Olympus EC-S10)、无患者级元数据、三个类别样本过少(详见 §7)。
§1.4 版本演进时间轴
| 时间 | 事件 |
|---|---|
| 2016-02 | Bærum 医院内科开始连续收集临床 VCE 检查视频 |
| 2018-01 | 数据采集结束,共 117 段视频 |
| 2019-2020 | 多轮标注与双专家复核完成(47,238 帧,26 处分歧复核至一致) |
| 2020-08 | OSF 预印本与数据集首发(DOI: 10.31219/osf.io/gr7bn),GitHub 仓库上线(含官方 two-fold 划分) |
| 2021-05-27 | Scientific Data 论文正式发表(Smedsrud et al., Sci Data 8:142,DOI: 10.1038/s41597-021-00920-z) |
| 2021 | 同团队发布 KvasirCapsule-SEG(分割掩码扩展,Jha et al., MMM 2021) |
| 2024 | IEEE Access 检测模型系统横评(Habe et al.)以 Kvasir-Capsule 为标准测试床 |
| 2026-06 | 官方数据页面最近更新(datasets.simula.no) |
§1.5 典型 AI 应用场景
- 小肠病灶多分类:14 类(或剔除 3 个稀有类后的 11 类)帧级分类,对应 VCE 自动筛片的核心任务,官方基线 MCC ≈ 0.42(11 类口径)。
- 病灶目标检测:利用 metadata.csv 中的 4 点边界框训练 YOLO/SSD/Faster R-CNN 系检测器,2024 年 IEEE Access 横评中 SSD300 达 99.67% 的 P/R/F1(检测口径与类别子集见 §8.1)。
- 半监督与自监督预训练:74 段未标注视频(约 279 万帧)是天然的时序预训练语料,可先做 MAE/对比学习预训练再在标注帧上微调。
- 不平衡与少样本学习方法学:3,434:1 的类别失衡与 10-55 帧的稀有类(壶腹、陈旧血、息肉),是检验重采样、类别加权、Focal Loss、少样本元学习的真实战场。
- 异常检测:以正常黏膜为"正常类"、其余为异常的开放集异常检测研究(如自编码器/特征聚类路线)。
§2 医学背景
§2.1 ICD-11 疾病分类锚定
Kvasir-Capsule 覆盖小肠(十二指肠、空肠、回肠)病变谱,其 14 个类别到 ICD-11 的锚定映射如下(解剖标志类为正常结构,不对应疾病编码):
| 数据集类别 | 中文名 | ICD-11 锚点 | 说明 |
|---|---|---|---|
| Angiectasia | 血管扩张症(血管发育不良) | DA97.0 小肠血管发育不良 | 小肠血管发育不良是 50 岁以上人群不明原因消化道出血(OGIB)的最常见病因 |
| Blood - fresh | 新鲜血液 | ME24.9 胃肠出血 | 活动性出血的直接征象 |
| Blood - hematin | 陈旧血(血红素染色的咖啡色血) | ME24.A0 消化道不明原因出血 | 提示上游缓慢渗血,OGIB 核心线索 |
| Ulcer | 溃疡 | ME24.5 消化系统溃疡 / DA42 十二指肠溃疡 | 小肠溃疡可见于 NSAID 肠病、克罗恩病、感染等 |
| Erosion | 糜烂 | ME24.5 消化系统溃疡(近邻浅表病变) | 黏膜浅表破损,深度不及溃疡 |
| Erythema | 红斑 | —(内镜下炎症性表现) | 非特异性黏膜充血,类间边界模糊 |
| Lymphangiectasia | 淋巴管扩张症 | —(小肠淋巴管扩张症候群) | 白色斑点状/绒毛状表现,可致蛋白丢失性肠病 |
| Polyp | 息肉 | —(小肠良性新生物范畴) | 仅 55 帧,样本量不足以独立训练 |
| Foreign body | 异物 | —(腔内异物征象) | 胶囊滞留物、食物残渣等 |
| Normal clean mucosa | 正常清洁黏膜 | —(正常) | 占比 72.7% 的多数类 |
| Reduced mucosal view | 黏膜视野受限 | —(图像质量类) | 内容物/气泡遮挡,质控相关 |
| Pylorus / Ileocecal valve / Ampulla of Vater | 幽门 / 回盲瓣 / Vater 壶腹 | —(正常解剖标志) | 用于胶囊位置定位与行程分段 |
为什么 OGIB 是本数据集的临床锚点:VCE 最大的临床适应症是不明原因消化道出血——常规胃肠镜无法到达的小肠是 OGIB 的主要来源,而小肠血管扩张症(Angiectasia 类,866 帧)又是 50 岁以上 OGIB 患者最常见的病因。数据集中与出血直接相关的类别(血管扩张症 + 新鲜血 + 陈旧血 + 糜烂 + 溃疡)合计约 2,700 帧,构成了 OGIB AI 辅助诊断的核心训练信号。
§2.2 SNOMED CT 映射
| 数据集标签 | ICD-11 | SNOMED CT | SNOMED CT 术语 |
|---|---|---|---|
| Angiectasia | DA97.0 | 235853006 | Angiodysplasia of intestine (disorder) |
| Blood - fresh / Blood - hematin | ME24.9 / ME24.A0 | 74474003 | Gastrointestinal hemorrhage (disorder) |
| Ulcer(十二指肠出血性溃疡场景) | DA42 | 12847006 | Acute duodenal ulcer with hemorrhage (disorder) |
| 视频胶囊内镜检查(操作) | — | — | Video capsule endoscopy (procedure) |
| 小肠(解剖结构) | — | — | Small intestine structure (body structure) |
§2.3 疾病简介
胶囊内镜(Video Capsule Endoscopy, VCE)是一颗 11×26 mm 左右的可吞咽摄像胶囊,随消化道蠕动以每秒 2 帧拍摄小肠全程,单次检查产生 5-10 万帧图像、6-8 小时视频。它是目前唯一能无创观察全小肠黏膜的检查手段,临床核心适应症为不明原因消化道出血(OGIB)、疑似克罗恩病、小肠肿瘤筛查与乳糜泻评估。VCE 的瓶颈不在检查本身而在读片:资深消化科医生逐帧阅片需 30 分钟到 2 小时,且小肠病灶常只出现于寥寥数帧(一颗 5 mm 的血管扩张灶在 8 小时视频中可能只占 3-5 帧),疲劳性漏诊是公认的临床痛点。这正是"自动筛片 AI"的价值原点——把 10 万帧压缩为数百帧高可疑帧供医生终审,而 Kvasir-Capsule 就是训练这类模型的最大公开燃料库。
§2.4 临床任务定义
| AI 任务 | 临床对应 | 操作化定义 | 数据支撑 |
|---|---|---|---|
| 自动筛片(异常 vs 正常) | 阅片时间压缩 | 正常清洁黏膜 vs 其余 13 类的二分类/开放集异常检测 | 34,338 正常帧 vs 12,900 非纯正常帧 |
| 病灶分类 | 镜下诊断 | 14 类(或官方基线的 11 类)多分类 | 47,238 标注帧 |
| 病灶定位 | 镜下定位标注 | 边界框回归(x1,y1…x4,y4) | metadata.csv 中有框帧 |
| 解剖标志识别 | 行程分段/定位报告 | 幽门、回盲瓣、Vater 壶腹三分类 | 5,728 帧解剖标志帧 |
| 出血检测 | OGIB 病因排查 | 新鲜血 + 陈旧血 + 血管扩张症合并检测 | 约 1,324 帧出血相关帧 |
§2.5 患者人群特征
| 维度 | 特征 |
|---|---|
| 数据来源 | 单中心:Bærum 医院内科(Vestre Viken Hospital Trust),挪威——该院服务区人口约 490,000,其中约 200,000 由 Bærum 医院覆盖 |
| 采集时间 | 2016-02 至 2018-01(约 2 年),连续临床 VCE 检查 |
| 检查数量 | 117 段 VCE 视频(43 段含标注发现 + 74 段未标注) |
| 年龄/性别/种族 | 不可用——数据经完全匿名化(移除全部元数据、随机文件名),论文明确未提供任何患者级人口学信息;117 段视频与患者人数的对应关系亦未披露 |
| 入排标准 | 连续临床检查序列,无额外研究性入排标准;标注帧的选择由临床医生初筛缩略图决定(存在选择偏倚,见 §7.1) |
对公平性研究的硬性约束:由于匿名化移除了全部人口学元数据,本数据集无法做任何年龄/性别/种族维度的公平性分析(详见 §7.5)。
§2.6 金标准/参考标准
| 数据部分 | 标注方式 | 标注者 | 金标准性质 |
|---|---|---|---|
| 47,238 标注帧(类别) | 初筛缩略图 → 专家读片者分类 → 初级医生确认 → 第二专家读片者验证 | 4 名医务人员:1 名训练有素的临床医生、1 名中心专家读片者、1 名初级医生、1 名复核专家 | 双专家验证的专家共识标签;26 处分歧(19 处术语 + 7 处解读)复核至完全一致 |
| 边界框(metadata.csv) | 逐帧绘制(原则:框住整个病灶、尽量少含周围黏膜),不确定由专家读片者核实 | 3 名硕士生 + 专家读片者监督 | 专家监督下的半人工金标准 |
| 74 段未标注视频 | 无 | 无 | 无标签——不能视为"无病灶"(见 §6.5 坑点 7) |
| 类别体系 | 世界内镜组织 MST 3.0(Minimal Standard Terminology v3.0)对齐 | 标注团队按 MST 3.0 归类 | 国际标准术语框架,14 类无子类 |
标注管线的一个关键细节:标注在 Augere Medical AS(挪威)提供的视频标注平台上完成;原论文声明多位作者持有该公司股份,但标注系统对本数据集无商业利益关系。
§3 数据集规格
§3.0 版本抉择矩阵
Kvasir-Capsule 的三个发布子集面向完全不同的任务,30 秒选型:
| 你的需求 | 推荐子集 | 大小 | 理由 |
|---|---|---|---|
| 快速跑通分类基线 / 复现论文 / 资源有限 | kvasir-capsule-labeled-images.zip | 521 MB | 47,238 张 14 类 PNG + metadata.csv,笔记本即可训练;官方 two-fold 划分在 GitHub |
| 目标检测 / 视频时序建模 / 帧上下文利用 | + kvasir-capsule-labeled-videos.zip | +32.2 GB | 43 段完整标注视频,可把标注帧放回时序上下文,做检测或时序模型 |
| 半监督 / 自监督预训练 | + kvasir-capsule-unlabeled-videos.zip | +58.2 GB | 74 段约 279 万帧无标注视频,MAE/对比学习预训练语料 |
| 像素级分割 | KvasirCapsule-SEG(另下) | 较小 | 同团队发布的分割掩码扩展,与本集互补 |
一句话结论:90% 的用户只需 521 MB 的标注图像包 + GitHub 的 official_splits;只有做视频时序或半监督才需要 90 GB 的全量下载。
§3.1 模态详细说明
Kvasir-Capsule 是单一影像模态(胶囊内镜 RGB 视频帧),但以三种形态发布:
- 标注图像(labeled images):47,238 张 PNG,336×336 px,按 14 个类别文件夹组织。每张图对应某段标注视频中的某一帧,metadata.csv 记录其 video_id、frame_number、finding_category(Anatomy / Luminal findings)、finding_class 与 4 对边界框坐标。
- 标注视频(labeled videos):43 段 AVI(H.264),约 19 小时、1,955,675 帧,即 47,238 张标注帧的来源视频,含大量未标注帧——可用于时序上下文建模。
- 未标注视频(unlabeled videos):74 段 AVI,约 25 小时、2,785,829 帧,格式与质量与标注视频一致,完全无标注,供半监督/自监督研究。
§3.2 样本量拆分
| 数据部分 | 数量 | 帧数 | 说明 |
|---|---|---|---|
| 标注图像 | 47,238 张 | 47,238 | 14 类,PNG,521 MB |
| 标注视频 | 43 段 | 1,955,675 | 约 19 小时,32.2 GB,标注帧的来源 |
| 未标注视频 | 74 段 | 2,785,829 | 约 25 小时,58.2 GB |
| 合计 | 117 段视频 | 4,741,504 | 约 44 小时,约 89 GB |
14 类逐类帧数(GitHub 官方 README 口径,合计 = 47,238 已校验):
| ID | 类别 | 中文 | 帧数 | 占比 | 类别归属 |
|---|---|---|---|---|---|
| 0 | Ampulla of Vater | Vater 壶腹 | 10 | 0.02% | Anatomy |
| 1 | Angiectasia | 血管扩张症 | 866 | 1.83% | Luminal |
| 2 | Blood - fresh | 新鲜血液 | 446 | 0.94% | Luminal |
| 3 | Blood - hematin | 陈旧血 | 12 | 0.03% | Luminal |
| 4 | Erosion | 糜烂 | 506 | 1.07% | Luminal |
| 5 | Erythema | 红斑 | 159 | 0.34% | Luminal |
| 6 | Foreign body | 异物 | 776 | 1.64% | Luminal |
| 7 | Ileocecal valve | 回盲瓣 | 4,189 | 8.87% | Anatomy |
| 8 | Lymphangiectasia | 淋巴管扩张症 | 592 | 1.25% | Luminal |
| 9 | Normal clean mucosa | 正常清洁黏膜 | 34,338 | 72.69% | Luminal |
| 10 | Polyp | 息肉 | 55 | 0.12% | Luminal |
| 11 | Pylorus | 幽门 | 1,529 | 3.24% | Anatomy |
| 12 | Reduced mucosal view | 黏膜视野受限 | 2,906 | 6.15% | Luminal |
| 13 | Ulcer | 溃疡 | 854 | 1.81% | Luminal |
§3.3 数据格式详情
| 形态 | 格式 | 规格 | 说明 |
|---|---|---|---|
| 标注帧 | PNG | 336×336 px,RGB | 按类别文件夹组织,匿名随机文件名 |
| 视频 | AVI | H.264(MPEG-4 AVC part 10),336×336 px | 原始采集 2 fps;Olympus 导出工具将帧率元数据改写为 30 fps(帧内容不变)——见 §6.5 坑点 3 |
| 标注元数据 | CSV(metadata.csv) | 每行一帧 | 列结构见 §4.1;首行表头下有一行类型说明行需剔除 |
| 官方划分 | CSV(GitHub official_splits/) | 两折 | 视频级不重叠,文件名列表形式 |
§3.4 存储大小
| 文件 | 大小 | 内容 |
|---|---|---|
| kvasir-capsule-labeled-images.zip | 521 MB | 标注图像 + metadata.csv |
| kvasir-capsule-labeled-videos.zip | 32.2 GB | 43 段标注视频 |
| kvasir-capsule-unlabeled-videos.zip | 58.2 GB | 74 段未标注视频 |
| 合计(下载) | 约 91 GB | 建议预留 120 GB 磁盘(含解压余量) |
§3.5 标注方式
人工专家标注,六步管线(论文 Methods):
117 段 VCE 视频
→ ① 训练有素的临床医生用 Olympus 软件常规读片,选取病灶/正常缩略图
→ ② 中心专家读片者挑选并分类病理发现缩略图,回溯到对应视频片段
→ ③ 片段上传至 Augere Medical AS 视频标注平台
→ ④ 3 名硕士生逐帧标注并绘制边界框(框住整个病灶、尽量少含周围黏膜;
不确定帧由专家读片者核实)
→ ⑤ 解剖结构与正常黏膜标签由 1 名初级医生 + 专家读片者确认
→ ⑥ 全部标注经专家读片者复核 + 第二位专家读片者独立验证
→ 47,238 帧标注帧(26 处分歧复核至完全一致)
类别体系对齐世界内镜组织 MST 3.0 术语标准(无子类)。分歧复核记录:7 次检查中共 26 处分歧——19 处为术语错误(lymphoid hyperplasia 更正为 lymphangiectasia)、7 处为发现解读分歧。
§3.6 标注者资质
| 角色 | 人数 | 职责 |
|---|---|---|
| 临床医生(初筛) | 1 | 常规读片,选取缩略图 |
| 中心专家读片者 | 1 | 病理发现分类、硕士生标注监督、全部标注复核 |
| 硕士生 | 3 | 逐帧标注 + 边界框绘制 |
| 初级医生 | 1 | 解剖结构与正常黏膜标签确认 |
| 第二专家读片者 | 1 | 独立终验 |
一致性检验:26 处初始分歧全部复核至完全一致(论文披露的分歧构成见 §3.5)。
§3.7 数据采集时间范围
2016 年 2 月至 2018 年 1 月,Bærum 医院内科连续临床 VCE 检查。数据为回顾性收集。
§3.8 地理覆盖
单中心——挪威 Vestre Viken 医院集团 Bærum 医院(服务人口约 490,000,其中约 200,000 由该院覆盖)。单中心、单国家、单设备是本数据集最核心的泛化性限制因素(详见 §7.3)。
§3.9 采集设备规格
| 项目 | 规格 |
|---|---|
| 胶囊系统 | Olympus Endocapsule 10 System |
| 胶囊型号 | Olympus EC-S10 |
| 记录仪 | Olympus RE-10 |
| 分辨率 | 336×336 px |
| 采集帧率 | 2 fps(胶囊原始帧率) |
| 编码 | H.264(MPEG-4 AVC, part 10) |
| 导出格式 | AVI(导出工具将帧率元数据标记为 30 fps——帧内容不变) |
| 标注平台 | Augere Medical AS 视频标注平台 |
§3.10 深度溯源链
| 环节 | 系统/方法 | 关键转换 |
|---|---|---|
| 1. 临床采集 | Bærum 医院内科常规 VCE 检查(2016-02 至 2018-01) | Olympus EC-S10 胶囊 2 fps 采集小肠全程,RE-10 记录仪存储 |
| 2. 视频导出 | Olympus 系统自带导出工具 | 导出为 AVI(H.264);帧率元数据被改写为 30 fps(帧内容不变) |
| 3. 初筛与分类 | 临床医生缩略图初筛 → 专家读片者分类回溯 | 117 段视频中 43 段进入标注流程,产生候选片段 |
| 4. 逐帧标注 | Augere Medical 标注平台,3 名硕士生 | 类别标签 + 4 点边界框;专家监督 |
| 5. 双重验证 | 初级医生确认 + 第二专家读片者终验 | 26 处分歧复核至一致;术语对齐 MST 3.0 |
| 6. 匿名化与发布 | 移除全部元数据、随机文件名重命名 | 挪威隐私数据保护局批准导出、REC 东南挪威豁免审批(GDPR 依据);OSF + datasets.simula.no + GitHub 三渠道发布 |
§4 数据结构详解
§4.0 目录结构预览
kvasir-capsule/
├── labeled_images/
│ ├── images/
│ │ ├── ampulla-of-vater/ # 10 张
│ │ ├── angiectasia/ # 866 张
│ │ ├── blood-fresh/ # 446 张
│ │ ├── blood-hematin/ # 12 张
│ │ ├── erosion/ # 506 张
│ │ ├── erythema/ # 159 张
│ │ ├── foreign-body/ # 776 张
│ │ ├── ileocecal-valve/ # 4,189 张
│ │ ├── lymphangiectasia/ # 592 张
│ │ ├── normal-clean-mucosa/ # 34,338 张(72.7%)
│ │ ├── polyp/ # 55 张
│ │ ├── pylorus/ # 1,529 张
│ │ ├── reduced-mucosal-view/ # 2,906 张
│ │ └── ulcer/ # 854 张
│ └── metadata.csv # 47,238 行标注元数据(含边界框)
├── labeled_videos/ # 43 段 AVI(32.2 GB,需单独下载)
├── unlabeled_videos/ # 74 段 AVI(58.2 GB,需单独下载)
└── (GitHub 仓库)
├── official_splits/ # 官方 two-fold 视频级划分
├── experiments/ # 官方基线分类实验
└── scripts/ # 数据集准备脚本
§4.1 DAIMS 标准化字段描述表
核心文件:metadata.csv(47,238 行,每行一张标注帧)
| 字段名 | 数据类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| filename | string | 匿名化 PNG 文件名 | “0a1b2c3d…png” | 文件关联主键 | 无 | 不允许缺失 | 随机哈希名 |
| frame_number | integer | 该帧在源视频中的帧序号 | 12450 | 帧↔视频回链、时序建模 | 受 2fps→30fps 元数据影响(坑点 3) | 不允许缺失 | 正整数 |
| video_id | string | 来源视频标识 | “video03” | 视频级划分的关键分组键 | 无 | 不允许缺失 | 43 个取值 |
| finding_category | string | 大类(MST 3.0) | “Luminal findings” | 层级标签/多任务学习 | 无 | 不允许缺失 | Anatomy / Luminal findings |
| finding_class | string | 14 类细粒度标签 | “angiectasia” | 分类目标 | 双专家验证,26 处分歧已复核 | 不允许缺失 | 14 个取值 |
| x1…y4 | integer ×8 | 边界框 4 点像素坐标 | (45,60),(120,60),(120,150),(45,150) | 检测任务监督信号 | 硕士生绘制、专家监督 | 无局部病灶的类别为空(正常黏膜、解剖标志等) | 0-336 像素坐标或空 |
目录名即标签:images/ 下的文件夹名与 finding_class 一致(连字符形式),可直接用 ImageFolder 风格加载。
§4.2 标签分布统计
| 统计口径 | 数值 | 说明 |
|---|---|---|
| 最大类 / 最小类比例 | 3,434 : 1 | normal clean mucosa(34,338)vs ampulla of Vater(10) |
| 多数类占比 | 72.69% | normal clean mucosa |
| 病理发现类合计 | 5,110 帧(10.8%) | angiectasia + blood×2 + erosion + erythema + foreign body + lymphangiectasia + polyp + ulcer |
| 解剖标志类合计 | 5,728 帧(12.1%) | pylorus + ileocecal valve + ampulla of Vater |
| 图像质量类 | 2,906 帧(6.2%) | reduced mucosal view |
| 出血相关类合计 | 约 1,324 帧(2.8%) | angiectasia + blood-fresh + blood-hematin |
| 官方基线剔除类 | 3 类 | blood-hematin(12)、ampulla of Vater(10)、polyp(55)——样本过少 |
§4.3 关键字段描述性统计
- 类别中位数:159 帧/类(erythema);均值 3,374 帧/类——均值被正常类严重拉高,中位数更能代表"典型类别"的数据量。
- 官方基线实验(11 类,two-fold 视频级划分)上:正常黏膜类内准确率 fold0 85% / fold1 91%;其余类别大量被误判为正常黏膜(论文 Fig. 5 混淆矩阵)。
- 论文明确指出部分类间差异连临床医生也难以稳定区分(如糜烂 vs 小残渣、轻度红斑 vs 正常黏膜)——这是类别噪声的天然下限。
§4.4 数据层级关系
视频(video_id,117 段;43 段标注 + 74 段未标注)
└─ 帧(frame_number,全库 4,741,504 帧)
└─ 标注帧(47,238 帧 = labeled_images/*.png)
├─ finding_category(Anatomy / Luminal findings)
├─ finding_class(14 类 = 文件夹名)
└─ bounding box(4 点坐标,无局部病灶类为空)
- 关键对齐关系:metadata.csv 的 (video_id, frame_number) 二元组把每张标注 PNG 映射回 43 段标注视频中的精确帧位置——这是把帧级标签扩展到视频级时序建模的唯一桥梁。
- 无患者层级:匿名化移除了患者标识,无法将视频聚合到患者;117 段视频对应的患者数未披露。
§4.5 缺失值情况与信息性缺失编码
| 缺失类型 | 字段 | 缺失原因 | 信息性缺失编码 | 对 AI 的影响 |
|---|---|---|---|---|
| 语义性空值 | x1…y4(边界框) | 无局部病灶的类别(正常黏膜、解剖标志、视野受限等)本就不该有框 | 空 = “该帧无可定位病灶” | 检测任务需按 finding_class 过滤,不能把空框当 0 坐标 |
| 结构性缺失 | 患者人口学 | 匿名化移除 | 整列不存在 | 公平性分析不可行(§7.5) |
| 标注缺失 | 74 段视频全部帧 | 未进入标注流程 | 缺失 ≠ 阴性(见坑点 7) | 不可当正常样本使用 |
| 标注缺失 | 43 段标注视频中的非标注帧 | 专家未选中 | 缺失含义模糊(大概率无发现,但未经逐帧确认) | 半监督使用时作为未标注池 |
§5 数据划分与使用建议
§5.1 官方数据划分
官方在 GitHub 仓库(simula/kvasir-capsule)的 official_splits/ 目录提供 two-fold 交叉验证划分。 核心性质:视频级不重叠——论文原话 “no video is shared between splits”,同一视频的所有帧只出现在一折中;且同一发现的相关帧不跨折分布。官方基线(DenseNet-161/ResNet-152,11 类)即在此划分上以 two-fold 交叉验证报告结果。
与文献比较时请务必使用该划分——这是本数据集唯一的可比性锚点。社区大量 99%+ 准确率论文未使用它(见 §6.5 坑点 1 与坑点 4)。
§5.2 推荐划分策略
- 首选:官方 two-fold 划分(official_splits/)——与官方基线及后续规范论文可比。
- 次选:按 video_id 分组 K 折——若需 5 折/10 折,必须以 video_id 为分组键(
GroupKFold(groups=video_id)),严禁随机帧划分。 - 类别分层 × 视频分组:稀有类(壶腹 10 帧、陈旧血 12 帧)可能集中在个别视频,分组划分后检查各折类别覆盖,必要时按 finding_class 分层。
- 半监督设定:标注帧(47,238)做监督训练 + 74 段未标注视频做无标注池时,未标注视频不应再拆入测试集。
import pandas as pd
from sklearn.model_selection import GroupKFold
meta = pd.read_csv("metadata.csv")
# 剔除 CSV 首行表头下的类型说明行(见 §4.1 与坑点 6)
meta = meta[pd.to_numeric(meta["frame_number"], errors="coerce").notna()].copy()
gkf = GroupKFold(n_splits=5)
for fold, (tr, te) in enumerate(gkf.split(meta, groups=meta["video_id"])):
v_tr = set(meta.iloc[tr]["video_id"])
v_te = set(meta.iloc[te]["video_id"])
assert not (v_tr & v_te), f"fold {fold} 视频级泄漏!"
print(f"fold {fold}: train {len(tr)}, test {len(te)}")
§5.3 数据泄漏风险防御
| # | 泄漏模式 | 严重程度 | 防御措施 |
|---|---|---|---|
| 1 | 随机帧划分:同视频相邻帧几乎相同,测试集出现训练视频的画面 | 极高 | 只用官方 two-fold 或按 video_id 分组 |
| 2 | 用标注视频中的未标注帧做"额外训练数据",与测试折共享视频 | 高 | 未标注帧只取自训练折视频 |
| 3 | 图像级过采样(复制稀有类帧)先于划分 | 高 | 先划分、后在训练折内过采样/增强 |
| 4 | 用 74 段未标注视频做"正常"负样本(可能含未标注病灶) | 中高 | 未标注视频仅用于无监督/半监督,不作负样本 |
§5.4 交叉验证建议
- 标准:官方 two-fold(与基线可比)或 5 折视频级 GroupKFold(更稳健)。
- 报告规范:按官方基线口径同时报告 micro 与 macro 平均的 P/R/F1 + MCC;two-fold 报告两折均值与单折值(官方论文格式)。
§5.5 外部验证
在 Kvasir-Capsule 上训练的模型,合理的外部验证路径:KvasirCapsule-SEG(同设备同中心,验证标注一致性迁移,注意域重叠)、CAD-CAP(法国胶囊数据,跨中心跨人群)、GIANA 竞赛数据、以及各机构自有的 PillCam SB(Medtronic/Given Imaging)或 Ankon 胶囊数据(跨设备泛化,本数据集最大未知项,见 §7.3)。
§6 AI 就绪指南
§6.0 云端快速启动
零门槛极速体验:标注图像包仅 521 MB 且免注册、免申请,是少数可以在 Google Colab 免费实例上 10 分钟内跑通"下载 → 训练 → 评估"全流程的医疗影像数据集。
# Colab / Linux 一行下载(官方直链) wget -q https://datasets.simula.no/downloads/kvasir-capsule/kvasir-capsule-labeled-images.zip unzip -q kvasir-capsule-labeled-images.zip在 Colab 免费 GPU(T4)上,用 ResNet-50 迁移学习跑 11 类 two-fold 中的一折约需 30-60 分钟;仅取每类前 500 帧的调试子集可在 10 分钟内出 MCC。
§6.1 快速上手(PyTorch 版)
# ========================================
# Kvasir-Capsule 快速上手 — PyTorch 版
# 环境要求: torch>=2.0, torchvision, pandas, Pillow
#
# ⚠️ 目录结构预期:
# ./data/kvasir-capsule/
# ├── images/ # 14 个类别文件夹(连字符命名),每类一个子目录
# │ ├── angiectasia/*.png
# │ ├── ulcer/*.png
# │ └── normal-clean-mucosa/*.png ...
# └── metadata.csv # 标注元数据(首行表头,第二行为类型说明行,需剔除)
#
# 类别标签可直接取文件夹名(ImageFolder 风格);
# 需要 video_id / frame_number / 边界框时读 metadata.csv。
# ========================================
import os
import pandas as pd
from PIL import Image
from torch.utils.data import Dataset
from torchvision import transforms
DATA_ROOT = "./data/kvasir-capsule"
tf = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
])
class KvasirCapsule(Dataset):
"""按 video_id 过滤的视频级安全 Dataset。"""
def __init__(self, root, video_ids, transform=None):
meta = pd.read_csv(os.path.join(root, "metadata.csv"))
# 剔除类型说明行:frame_number 无法解析为整数的行
meta = meta[pd.to_numeric(meta["frame_number"], errors="coerce").notna()]
self.df = meta[meta["video_id"].isin(video_ids)].reset_index(drop=True)
self.classes = sorted(self.df["finding_class"].unique())
self.c2i = {c: i for i, c in enumerate(self.classes)}
self.root, self.transform = root, transform
def __len__(self):
return len(self.df)
def __getitem__(self, i):
row = self.df.iloc[i]
folder = row["finding_class"].replace(" ", "-")
img = Image.open(os.path.join(self.root, "images", folder,
row["filename"])).convert("RGB")
if self.transform:
img = self.transform(img)
return img, self.c2i[row["finding_class"]]
# 视频级划分示例(生产环境请改用官方 official_splits/)
import pandas as pd
meta = pd.read_csv(os.path.join(DATA_ROOT, "metadata.csv"))
meta = meta[pd.to_numeric(meta["frame_number"], errors="coerce").notna()]
videos = sorted(meta["video_id"].unique())
half = len(videos) // 2
train_ds = KvasirCapsule(DATA_ROOT, videos[:half], transform=tf)
val_ds = KvasirCapsule(DATA_ROOT, videos[half:], transform=tf)
print(len(train_ds), len(val_ds), train_ds.classes)
§6.2 数据获取流程
| 获取方式 | 链接/位置 | 大小 | 说明 |
|---|---|---|---|
| 官方直链(推荐) | https://datasets.simula.no/kvasir-capsule | 521 MB / 32.2 GB / 58.2 GB | 三个独立 zip 按需下载,免注册 |
| OSF 仓库 | https://osf.io/dv2ag(DOI: 10.17605/OSF.IO/DV2AG) | 同上 | 官方主仓库;部分用户报告 OSF 下载不稳定/中断 |
| Google Drive 官方镜像 | 见 GitHub README(simula/kvasir-capsule) | 同上 | 官方为 OSF 下载问题提供的镜像 |
| GitHub 仓库 | https://github.com/simula/kvasir-capsule | 小 | official_splits/、experiments/、scripts/、metadata.csv、LICENSE.md |
合规要点:CC BY 4.0 + 官方附加条款(竞赛与商业用途需 Simula 书面许可:paalh@simula.no / steven@simula.no / michael@simula.no);所有使用与引用必须标注 Scientific Data 论文(DOI: 10.1038/s41597-021-00920-z)。
§6.3 预处理 Pipeline
<details>
<summary><b>点击展开完整的 5 步预处理代码(含边界框解析与类别不平衡处理)</b></summary>
# 步骤 1:读取 metadata.csv 并剔除类型说明行
import pandas as pd
meta = pd.read_csv("metadata.csv")
meta = meta[pd.to_numeric(meta["frame_number"], errors="coerce").notna()].copy()
meta["frame_number"] = meta["frame_number"].astype(int)
# 步骤 2:解析 4 点边界框 → (xmin, ymin, xmax, ymax);无框类为 NaN
import numpy as np
bbox_cols = ["x1", "y1", "x2", "y2", "x3", "y3", "x4", "y4"]
for c in bbox_cols:
meta[c] = pd.to_numeric(meta[c], errors="coerce")
xs = meta[["x1", "x2", "x3", "x4"]]
ys = meta[["y1", "y2", "y3", "y4"]]
meta["xmin"] = xs.min(axis=1)
meta["ymin"] = ys.min(axis=1)
meta["xmax"] = xs.max(axis=1)
meta["ymax"] = ys.max(axis=1)
has_box = meta["xmin"].notna()
print(f"含边界框帧数: {has_box.sum()} / {len(meta)}")
# 步骤 3:按官方口径剔除 3 个稀有类(复现基线时)
DROP = ["blood - hematin", "ampulla of vater", "polyp"]
meta11 = meta[~meta["finding_class"].isin(DROP)].copy()
# 步骤 4:视频级划分(与 §5.2 一致;生产环境改用 official_splits/)
videos = sorted(meta11["video_id"].unique())
fold_videos = {"fold0": videos[::2], "fold1": videos[1::2]}
# 步骤 5:类别不平衡处理——训练折内加权采样(weight = 1/类频)
counts = meta11[meta11["video_id"].isin(fold_videos["fold0"])]["finding_class"] \
.value_counts()
weights = 1.0 / counts
print(weights.sort_values())
# 配合 torch.utils.data.WeightedRandomSampler 使用(见 §6.4)
</details>
三条备选路线:(1) 复现官方基线 → 直接用 GitHub experiments/ 目录的官方实验代码;(2) 检测任务 → 按 Habe et al. 2024(IEEE Access)的做法把标注帧 + 边界框转换为 MS COCO 格式后接 mmdetection/YOLO 系框架;(3) 半监督 → 官方定位即支持 semi-supervised(74 段未标注视频),可用 SimCLR/MAE 先在未标注帧预训练。
§6.4 框架加载
# PyTorch:类别加权采样 DataLoader(接 §6.1 的 KvasirCapsule)
import torch
from torch.utils.data import DataLoader, WeightedRandomSampler
targets = [train_ds.c2i[c] for c in train_ds.df["finding_class"]]
class_count = torch.bincount(torch.tensor(targets))
w = 1.0 / class_count.float()
sampler = WeightedRandomSampler(w[targets], num_samples=len(targets),
replacement=True)
train_loader = DataLoader(train_ds, batch_size=64, sampler=sampler,
num_workers=4, pin_memory=True)
# TensorFlow / Keras:ImageFolder 直接加载(文件夹名即标签)
import tensorflow as tf
ds = tf.keras.utils.image_dataset_from_directory(
"./data/kvasir-capsule/images",
image_size=(224, 224), batch_size=64, label_mode="categorical",
)
# 注意:此方式无法按 video_id 分组划分——仅适合快速冒烟测试,
# 正式实验请改用 metadata.csv + 自定义 tf.data 管道做视频级过滤。
§6.5 常见坑点
⚠️ 坑点 1:随机帧划分导致视频级数据泄漏(分类:数据泄漏)
问题:同一视频相邻帧内容几乎相同(2 fps 采集下小肠黏膜画面变化缓慢)。随机把 47,238 帧切成 train/test,测试集里全是训练视频的"近重复画面",模型记住的是视频而非病灶。
症状:准确率/AUC 轻松 95-99%,但换个视频来源(或换官方划分)性能断崖式下跌到 MCC 0.4 量级;与官方基线(MCC ≈ 0.42)完全不可比。
解决:(1) 使用 GitHub official_splits/ 的官方 two-fold 视频级划分;(2) 自定义划分时以
video_id为分组键(GroupKFold),划分后断言两折视频集合零交集(§5.2 代码);(3) 论文中明确报告划分口径。参考:Smedsrud et al. 2021(Sci Data 8:142)Technical Validation:“no video is shared between splits”;GitHub simula/kvasir-capsule official_splits/。
⚠️ 坑点 2:类别极端不平衡,macro 与 micro 指标天壤之别(分类:评估误用)
问题:正常黏膜占 72.69%,Vater 壶腹仅 10 帧(3,434:1)。只看 micro-F1/accuracy(0.73+)会掩盖少数类全线崩溃的事实——官方基线 macro-F1 只有 0.25 左右。
症状:模型 accuracy 很高但混淆矩阵显示几乎所有样本被判为 normal clean mucosa;macro-P/R/F1 与 MCC 远低于 micro 值。
解决:(1) 评估必报 macro 平均 + MCC(官方口径);(2) 训练用类别加权损失(weighted CEL)、加权采样或 Focal Loss;(3) 复现官方基线时剔除 blood-hematin/ampulla of Vater/polyp 三个稀有类(11 类口径);(4) 稀有类研究改用少样本/异常检测范式。
参考:Smedsrud et al. 2021 Table 3 与 Fig. 5;官方基线三种加权策略对比。
⚠️ 坑点 3:帧率元数据矛盾——2 fps 采集 vs 30 fps AVI 标记(分类:工程陷阱)
问题:胶囊以 2 fps 采集,但 Olympus 导出工具把 AVI 的帧率规格改写为 30 fps(帧内容不变)。按 30 fps 计算视频时长/帧索引,会得到 15 倍的错误时间轴。
症状:用 OpenCV
cv2.CAP_PROP_FPS读到 30 fps,据此计算的"视频时长"只有真实时长的 1/15;把标注帧 frame_number 映射回视频时间时全部错位。解决:(1) 时间相关计算一律按真实采集帧率 2 fps;(2) frame_number → 视频内秒数用
frame_number / 2(先确认该索引基于原始 2 fps 序列);(3) 只需抽帧时忽略 fps 元数据,按帧序号直接cap.read()遍历。参考:Smedsrud et al. 2021 Data Records(视频导出说明);社区复现文档。
⚠️ 坑点 4:99% 高准确率幻觉——文献口径五花八门不可比(分类:评估误用)
问题:社区论文报告 95-99% 的"Kvasir-Capsule SOTA"多来自:随机帧划分(坑点 1)、二分类简化(正常 vs 异常)、下采样平衡子集、或只取部分含框类别做检测。它们与官方 11 类视频级 two-fold 基线(micro-F1 ≈ 0.735,MCC ≈ 0.42)不是同一个任务。
症状:自己按官方划分复现只能到 0.7x 的 micro-F1,远低于文献宣称值,误以为实现有误。
解决:(1) 引用任何"SOTA"数字前先核对四件事:划分方式(帧级/视频级)、类别集合(14/11/2 类)、指标口径(micro/macro)、是否用官方 splits;(2) 自己的实验与官方基线同口径报告;(3) 审稿/选型时把非同口径结果视为不可比。
参考:官方基线 Smedsrud et al. 2021 Table 3;检测口径示例 Habe et al. 2024(IEEE Access 12:26793)。
⚠️ 坑点 5:336×336 低分辨率 + ImageNet 预处理导致小病灶信息丢失(分类:预处理陷阱)
问题:VCE 帧原生 336×336(常规内镜的 1/10 以下),病灶常只占几十个像素(息肉类 55 帧且病灶小)。直接 Resize 到 224×224 再喂 ImageNet 模型,小病灶信号进一步被压缩;而简单放大到 448×448 则计算量翻 4 倍。
症状:小病灶类(息肉、壶腹、血管扩张)召回率显著低于大病灶类;检测任务小目标 AP 极低。
解决:(1) 分类任务保持 336 原生分辨率或用 RandomResizedCrop 保留局部细节;(2) 检测任务用高分辨率输入 + FPN/多尺度训练(Habe et al. 2024 的 RTMDet 配置可参考);(3) 病灶 ROI 两阶段方案:先全帧分类筛可疑帧,再对可疑帧做局部放大精读。
参考:Habe et al. 2024(IEEE Access, DOI: 10.1109/ACCESS.2024.3456100);Smedsrud et al. 2021(分辨率局限讨论)。
⚠️ 坑点 6:metadata.csv 的类型说明行与空边界框语义(分类:预处理陷阱)
问题:metadata.csv 首行表头下还有一行各列类型说明行(string/integer 等),直接
pd.read_csv会把它读成数据行;此外无局部病灶的类别(正常黏膜、解剖标志等)8 个坐标列为空——把空值 fillna(0) 会造出大量 (0,0,0,0) 假框污染检测训练。症状:
frame_number列混进字符串导致 astype(int) 报错;检测器在图像左上角学到虚假小框。解决:(1) 用
pd.to_numeric(errors="coerce").notna()剔除类型说明行(§6.3 步骤 1);(2) 检测任务只用坐标非空的帧(§6.3 步骤 2 的 has_box 掩码);(3) 4 点坐标转 (xmin,ymin,xmax,ymax) 时取 min/max,不要假设顶点顺序。参考:Smedsrud et al. 2021 Fig. 4(metadata.csv 结构说明)。
⚠️ 坑点 7:把 74 段未标注视频当"正常"负样本(分类:标签理解)
问题:74 段 unlabeled videos 完全没有经过专家读片——“未标注"的含义是"未看过”,不是"无病灶"。小肠检查中偶发病灶(血管扩张、糜烂)极为常见,这些视频里大概率含有未标注的病理帧。
症状:把未标注视频帧当负样本训练"正常 vs 异常"模型,验证集出现无法解释的假阳性;半监督伪标签噪声异常高。
解决:(1) 未标注视频只用于无监督/自监督预训练或半监督的无标注池;(2) 任何需要"确认为正常"的负样本,只能取 47,238 标注帧中的 normal clean mucosa 类;(3) 同理,43 段标注视频中的非标注帧含义是"专家未选中",弱于"确认正常"。
参考:官方数据集页面对三部分的定义(datasets.simula.no/kvasir-capsule);Smedsrud et al. 2021(未标注视频用途说明:供用户自行标注或半监督使用)。
⚠️ 坑点 8:单中心单设备域偏移 + 下载渠道不稳定(分类:偏倚陷阱 / 工程陷阱)
问题:数据全部来自挪威单中心的 Olympus EC-S10 系统。市面上主流胶囊平台(Medtronic PillCam SB3、重庆金山 OMOM、Ankon 磁控胶囊等)的光学特性、分辨率、帧率、色彩渲染差异显著,直接迁移性能无法保证;同时 OSF 下载大文件(58.2 GB)常被报告中断。
症状:在 PillCam 等其他品牌胶囊视频上推理,病灶检出率明显下降;OSF wget 中途断连、zip 校验失败。
解决:(1) 部署前必须用目标设备数据做外部验证(§5.5),必要时领域自适应微调;(2) 下载优先用 datasets.simula.no 官方直链,OSF 失败时切换 GitHub README 中的 Google Drive 官方镜像;(3) 大文件用
wget -c断点续传并核对文件大小(521 MB / 32.2 GB / 58.2 GB)。参考:GitHub simula/kvasir-capsule README(镜像说明);§7.3 泛化性讨论。
版本提示:官方数据集未采用显式版本号(v1.0 事实冻结);datasets.simula.no 页面显示 2026-06 为最近更新。引用数据集时建议注明下载日期。
§6.6 数据增强
| ✅ 安全增强 | ❌ 危险增强(禁止) |
|---|---|
| 水平/垂直翻转、90° 旋转(胶囊视角无方向先验) | 强烈的色彩抖动/色相偏移(血色是出血类核心特征,色相变换会把"新鲜血"变成"陈旧血") |
| 小幅亮度/对比度扰动(模拟胶囊光照变化) | 弹性形变/大幅度几何扭曲(破坏黏膜纹理与病灶形态) |
| RandomResizedCrop(保留足够分辨率) | Cutout/Random Erasing 覆盖病灶区域(可能把阳性帧变成假阴性) |
| 帧级 Mixup/CutMix(谨慎,低权重) | 把边界框内病灶裁剪贴到正常帧的"病灶移植"(会产生临床上不可能的纹理组合,除非专门做实例增强研究) |
| 时序相邻帧一致性约束(视频任务) | 跨视频拼接伪时序(破坏视频级独立性) |
§6.7 模型推荐
| 任务 | 推荐方案 | 预期性能(官方口径) |
|---|---|---|
| 11 类分类基线复现 | DenseNet-161 / ResNet-152 + normal CEL(官方配置) | micro-F1 ≈ 0.735,MCC ≈ 0.41-0.42 |
| 11 类分类(类别加权) | 同架构 + weighted sampling(官方最佳 MCC 配置) | MCC ≈ 0.43-0.45 |
| 现代分类基线 | EfficientNet-B0 / ViT-B + 加权采样 + §6.6 安全增强 | 略优于官方基线,macro-F1 仍是瓶颈 |
| 病灶检测 | RTMDet-S / SSD300(Habe et al. 2024 横评最优) | 复杂病变准确率 >99%(检测口径,见 §8.1 注意事项) |
| 实时检测(工程部署向) | YOLOv3 / YOLOv8s 系 | YOLOv3:92.1 fps / 376 MiB(Habe et al. 2024) |
| 半监督预训练 | MAE / SimCLR(74 段未标注视频)→ 标注帧微调 | 视设定,稀有类增益最明显 |
| 异常检测 | 自编码器 / 特征聚类(正常黏膜为正常类) | AUC ≈ 0.65-0.77(arXiv:2504.06039 口径) |
§6.8 计算资源需求
| 硬件 | 最小配置 | 推荐配置 |
|---|---|---|
| 磁盘 | 2 GB(仅标注图像包) | 120 GB(全量三 zip + 解压余量) |
| 内存 | 8 GB | 32 GB(视频抽帧管道) |
| GPU | Colab 免费 T4(分类基线可跑) | 1 × 24 GB 显存(检测/高分辨率/视频模型) |
| 训练时间参考 | 11 类一折:ResNet-50 微调约 30-60 分钟(T4) | RTMDet 检测训练数小时(24 GB 卡) |
| 云端替代 | 标注图像包仅 521 MB,Colab/Kaggle 直接 wget 即可 | 视频部分建议先本地下载再上传对象存储 |
§6.9 评估指标
官方基线口径(Smedsrud et al. 2021):micro/macro 平均的 Precision/Recall/F1 + 多分类 MCC(Rk 统计量),two-fold 交叉验证逐折报告并给均值。
import numpy as np
from sklearn.metrics import (precision_recall_fscore_support,
matthews_corrcoef, confusion_matrix)
def official_eval(y_true, y_pred, class_names):
# 官方口径:micro + macro 平均
for avg in ["micro", "macro"]:
p, r, f1, _ = precision_recall_fscore_support(
y_true, y_pred, average=avg, zero_division=0)
print(f"{avg:>5} P={p:.4f} R={r:.4f} F1={f1:.4f}")
print(f" MCC={matthews_corrcoef(y_true, y_pred):.4f}")
# 逐类召回率(少数类体检)
p, r, f1, s = precision_recall_fscore_support(
y_true, y_pred, average=None, zero_division=0)
for c, rc, sup in zip(class_names, r, s):
print(f" {c:<25} recall={rc:.3f} support={sup}")
社区共识:分类报 macro-F1 + MCC(不平衡数据的诚实指标);检测报 mAP@0.5 与逐类 AP;two-fold 结果给两折均值并注明口径。
§6.10 MLOps 笔记
- 引用合规:CC BY 4.0 + 官方条款要求所有使用文档/论文引用 Scientific Data 原论文(DOI: 10.1038/s41597-021-00920-z);竞赛与商用须先取得 Simula 书面许可(见 §6.2)。
- 划分存档:把 official_splits/ 的划分文件随代码一起版本化,保证实验可复现。
- 口径声明:论文方法部分必须写明:类别集合(14/11/子集)、划分(官方 two-fold / 自定义视频级 / 其他)、指标(micro/macro/MCC)——这是本数据集结果可比性的三要素。
- 稀有类监控:线上监控时,ampulla of Vater(10 帧)与 blood-hematin(12 帧)两个类在统计上不具备评估意义,建议并入"其他发现"桶。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 单中心偏倚 | 全部来自 Bærum 医院(挪威)一家机构的连续检查 | 高 | 跨中心外部验证(§5.5) |
| 设备偏倚 | 单一 Olympus EC-S10 系统;与其他品牌胶囊(PillCam、OMOM、Ankon)光学特性不同 | 高 | 跨设备外部验证;领域自适应 |
| 选择偏倚 | 标注帧由临床医生初筛缩略图产生——"值得截图"的发现才进入标注池 | 中高 | 未标注视频不可作负样本;注意患病率不可用于流行病学推断 |
| 类别不平衡偏倚 | 正常黏膜 72.69%;三个类 <60 帧 | 高(结构固有) | 类别加权/重采样;稀有类用少样本或异常检测范式 |
| 标签语义偏倚 | 红斑/糜烂/小残渣等类间边界连临床医生也难以稳定区分 | 中 | 报告逐类召回;考虑标签软化或层级分类(先 Luminal vs Anatomy) |
| 人群偏倚 | 挪威人群(匿名化无法验证),对其他人群代表性未知 | 中 | 外部验证时纳入不同地域数据 |
| 术语演变偏倚 | 标注复核中 19 处 lymphoid hyperplasia 更正为 lymphangiectasia | 低 | 以发布版标签为准(已复核至一致) |
| 验证偏倚 | 47,238 帧经双专家验证,但 470 万未标注帧无任何验证 | 中 | 未标注数据仅作无标注池 |
§7.2 标注质量评估
| 标注类型 | 可靠性 | 一致性 | 局限性 |
|---|---|---|---|
| 类别标签(47,238 帧) | 高(双专家验证 + 初级医生确认) | 26 处分歧复核至 100% 一致 | 初筛依赖单个临床医生的缩略图选择;类间模糊边界无法靠复核消除 |
| 边界框 | 中高(3 名硕士生 + 专家监督) | 未报告框级 IoU 一致性 | 无逐框双人标注的定量一致性指标;无局部病灶类无框 |
| 类别体系 | MST 3.0 对齐 | 国际标准 | 无子类细分(如溃疡不区分病因) |
| 未标注视频 | 无 | 无 | 完全无标签,含义为"未审阅"而非"正常" |
§7.3 泛化性讨论
| 场景 | 失效风险 | 证据 |
|---|---|---|
| 跨设备(Olympus EC-S10 → PillCam/OMOM/Ankon) | 高 | 不同胶囊平台的分辨率(256×256 至 512×512+)、色彩渲染、帧率差异显著;本数据集无跨设备验证数据 |
| 跨中心/跨地域(挪威 → 其他地区) | 中高 | 单中心连续队列;人群与检查指征构成不同;CAD-CAP 等跨中心研究普遍报告域偏移 |
| 跨任务(分类 → 分割) | 中 | 本数据集只有边界框无像素掩码;需迁移至 KvasirCapsule-SEG |
| 视频时序泛化(帧级模型 → 视频级部署) | 中高 | 帧级高分不等于视频级检出率;真实部署需视频级 ROC(每段视频是否检出病灶)评估,文献中此类评估稀缺 |
| 真实世界患病率(流行病学推断) | 极高 | 标注帧为富集后的发现,类别比例不代表真实 VCE 患病率 |
§7.4 伦理考量
- 数据经完全匿名化(移除全部元数据、随机文件名);挪威隐私数据保护局批准导出匿名图像且无需参与者知情同意;挪威东南地区医学与健康研究伦理委员会(REC South East Norway)豁免审批;公开共享依据挪威法律与 GDPR 的匿名化条款。
- VCE 帧为体内黏膜影像,天然不含面部/文本等可识别信息,残余再识别风险极低。
- 数据来自真实临床检查,其中部分患者可能正经历活动性出血等急重症;研究者应保持对患者与家属的尊重。
- 竞赛与商业用途需 Simula 书面许可——商用产品开发(如胶囊厂商 AI 筛片)须先完成合规沟通。
- 匿名化导致人口学元数据缺失,任何基于本数据集的模型都无法进行人群公平性审计,临床部署前必须在可审计数据集上补足公平性评估。
§7.5 公平性评估
本数据集无法做人口学公平性分析(无年龄/性别/种族字段,见 §2.5)。可执行的替代性公平性检查是类别级公平性——模型是否系统性地牺牲稀有类:
from sklearn.metrics import recall_score
import pandas as pd
# 逐类召回率差异 = 类别公平性体检(接 §6.9 的预测结果)
per_class_recall = recall_score(y_true, y_pred, average=None,
labels=range(len(class_names)))
report = pd.Series(per_class_recall, index=class_names).sort_values()
print("召回率最低的 5 个类:")
print(report.head(5))
# 已知模式(官方基线):稀有类与类间模糊类(erythema/erosion)召回率垫底,
# normal clean mucosa 一枝独秀(85-91%)
已知差异:官方基线下少数类召回率远低于正常类(论文 Fig. 5 混淆矩阵);这不只是数据问题,也是类别公平性问题——部署场景中"漏掉一个血管扩张灶"的临床代价远高于"误报一个正常帧"。
§7.6 数据漂移提示
- 数据采集于 2016-2018 年,胶囊硬件已迭代多代(更高分辨率、更高帧率、AI 辅助曝光);新设备图像分布与 EC-S10 存在天然漂移。
- 监控信号:输入图像分辨率/色彩直方图变化、模型对"reduced mucosal view"类的预测占比异常升高(常提示图像质量分布漂移)。
- 标注体系基于 MST 3.0,若未来 MST 版本更新术语,类别语义需重新映射。
§7.7 DAIMS 24 项数据就绪度评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 数据为宽格式(每行一个样本/事件) | ✅ | metadata.csv 每行一张标注帧 |
| 2 | 有唯一标识符列 | ✅ | filename 唯一;video_id + frame_number 可回链视频 |
| 3 | 无 Unicode 或特殊字符 | ✅ | 类别名与字段为标准英文 ASCII |
| 4 | 无重复行 | ⚠️ | 同视频相邻帧内容近重复,官方未去重,需用户按需处理 |
| 5 | 缺失值已识别并编码 | ✅ | 无框类坐标为空且语义明确(§4.5) |
| 6 | 标签列被明确标识 | ✅ | finding_class / 文件夹名双轨标签 |
| 7 | 已对罕见类别(<3%)进行分组 | ❌ | 10 帧(壶腹)、12 帧(陈旧血)、55 帧(息肉)未合并,官方实验直接剔除 |
| 8 | 偏倚评估已完成 | ✅ | 论文讨论不平衡;本百科 §7.1 补充 8 类偏倚 |
| 9 | 有完整的数据字典 | ✅ | 论文 + GitHub README + 本百科 §4.1 |
| 10 | 对"信息性缺失"有明确编码解释 | ⚠️ | 空边界框语义论文有述(Fig. 4),但无显式缺失码,易被误填 0 |
| 11 | 数据采集设备和设置已记录 | ✅ | Olympus EC-S10/RE-10、336×336、2 fps、H.264 完整披露 |
| 12 | 已移除完全共线性变量 | ⚠️ | 原始图像模态下该项为帧级去重问题,官方未执行 |
| 13 | 对编码的映射标准已说明 | ⚠️ | 声明对齐 MST 3.0,但未提供 ICD/SNOMED 映射(本百科 §2 补齐) |
| 14 | 对时间戳的处理已明确说明 | ⚠️ | 2 fps 采集与 30 fps AVI 元数据矛盾已披露,但极易踩坑(坑点 3) |
| 15 | 训练/验证/测试划分建议已给出 | ✅ | 官方 two-fold 视频级划分(official_splits/) |
| 16 | 数据泄漏风险已被讨论 | ✅ | 论文明确 no video is shared between splits |
| 17 | 标签分布已被分析 | ✅ | 论文与 README 给出逐类计数;本百科 §4.2 汇总 |
| 18 | 选择性测量偏倚已被讨论 | ⚠️ | 缩略图初筛机制已披露,但选择过程未量化 |
| 19 | 外部验证建议已给出 | ⚠️ | 论文未系统给出;本百科 §5.5/§7.8 补齐 |
| 20 | 数据更新和版本信息已记录 | ⚠️ | 无显式版本号;页面 2026-06 最近更新 |
| 21 | 最小必要预处理脚本已提供 | ✅ | GitHub experiments/ 与 scripts/ 官方代码 |
| 22 | 合规使用要求已明确 | ✅ | CC BY 4.0 + 竞赛/商用书面许可 + 强制引用三要素明确 |
| 23 | 多模态对齐方法已说明 | ⚠️ | 帧↔视频经 (video_id, frame_number) 可对齐;无患者级元数据 |
| 24 | 去标识化方法已被记录 | ✅ | 隐私局批准 + REC 豁免 + 随机文件名 + 元数据移除,GDPR 依据完整 |
DAIMS 评分:18.5 / 24
评分解读:良好——标注质量、合规透明度与官方划分机制优秀,主要失分在稀有类处理与流行病学元数据缺失。
对你意味着什么:Kvasir-Capsule 的 14 个 ✅ 项集中在"作为基准数据集"的关键面——双专家验证标签、官方视频级划分、完整设备记录、教科书级的去标识化合规文档。扣分项中真正需要你在训练前动手处理的只有两件事:(1) 稀有类(壶腹 10 帧、陈旧血 12 帧、息肉 55 帧)——复现基线时按官方口径剔除,研究稀有类时改用少样本/异常检测范式并自行合并为"稀有发现"桶;(2) 帧级近重复——视频任务需自行做帧去重或序列采样。其余 ⚠️ 项(空边界框语义、2 fps/30 fps 矛盾、无患者元数据)都属于"知道就能避开"的文档型坑点,已在 §6.5 逐一给出解法。整体而言,这是医疗影像公开数据集中"开箱可用度"的第一梯队。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部测试集变化 | 关键发现 |
|---|---|---|---|---|---|
| KID 数据集(胶囊内镜) | 希腊/欧洲 | 息肉样病变分割(迁移评估) | Dice 97.94(YOLO-V8 m) | 与 Kvasir-Capsule 上 97.94 持平 | 息肉样分割模型在同模态胶囊数据间迁移良好(Dede et al. 2024, Diagnostics) |
| MS COCO 格式转换子集 | 芬兰于韦斯屈莱大学 | 病灶检测横评(7 类检测器) | SSD300 P/R/F1 = 99.67% | 检测口径,不可与分类基线比 | Habe et al. 2024 系统性确立检测基线与半监督增益(Soft-teacher 灵敏度 98.70%) |
| Mayo Clinic 胶囊数据 | 美国梅奥诊所 | 息肉样分割(文献对照行) | Dice 94.03(ResNet-101 COCO) | 跨中心对照 | 跨中心胶囊分割性能明显依赖预训练数据域(YOLO-V8 论文 Table 4) |
| 74 段未标注视频(半监督) | 同库内未标注池 | 半监督检测(Soft-teacher) | 灵敏度 98.70% / 特异度 99.84% | 相对全监督显著提升 | 官方未标注视频被证实可转化为半监督增益——数据集设计初衷被验证 |
约束说明:本矩阵仅收录有同行评审论文支撑的外部/迁移评估。跨设备(PillCam/OMOM/Ankon)的严格外部验证在文献中仍属空白——这是该数据集生态最大的未竟事项,也是投稿机会点。
§8 基准性能与生态
§8.1 排行榜
可比组:官方基线(11 类分类、视频级 two-fold、Smedsrud et al. 2021 Table 3,published 版数值)
| 排名 | 模型 | micro-F1 | MCC | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|---|
| 1 | DenseNet-161 + weighted sampling | 0.7369 | 0.4547(fold1 最佳) | 2021 | 加权采样平衡 + 121 层稠密连接 | Smedsrud PH et al. “Kvasir-Capsule, a video capsule endoscopy dataset.” Scientific Data 8:142 (2021). DOI: 10.1038/s41597-021-00920-z | https://github.com/simula/kvasir-capsule |
| 2 | DenseNet-161 + normal CEL | 0.7351 | 0.4156(两折均值) | 2021 | 标准交叉熵基线 | 同上 | 同上 |
| 3 | ResNet-152 + normal CEL | 0.7342 | 0.4119(两折均值) | 2021 | 152 层残差网络 | 同上 | 同上 |
| 4 | DenseNet-161 + weighted CEL | 0.7093 | 0.4026(两折均值) | 2021 | 类别加权交叉熵 | 同上 | 同上 |
| 5 | ResNet-152 + weighted CEL | 0.6729 | 0.3777(两折均值) | 2021 | 类别加权交叉熵 | 同上 | 同上 |
注:分类实验剔除 blood-hematin、ampulla of Vater、polyp 三个稀有类(11 类口径);macro-F1 仅 0.24-0.26,与 micro-F1 的巨大差距本身就是该数据集难度的量化(见坑点 2)。
其他口径的代表工作(任务/划分/类别集合不同,数值不可与上表直接比较):
| 模型 | 性能指标 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|
| SSD300 | P/R/F1 = 99.67%(检测) | 2024 | MS COCO 格式转换 + 单阶段检测 | Habe TT, Haataja K, Toivanen P. “Efficiency Meets Accuracy: Benchmarking Object Detection Models for Pathology Detection in Wireless Capsule Endoscopy.” IEEE Access 12:26793 (2024). DOI: 10.1109/ACCESS.2024.3456100 | — |
| RTMDet-S / RTMDet-Tiny | 复杂病变准确率 >99%(检测) | 2024 | 实时多尺度检测器 | 同上 | — |
| Soft-teacher(Faster R-CNN + ResNet) | 灵敏度 98.70% / 特异度 99.84% | 2024 | 半监督师生框架,利用未标注数据 | 同上 | — |
| GAD-YOLO | mAP = 0.974 | 2025 | YOLOv8s + 多尺度通道注意力 + 残差融合 | GAD-YOLO(Scientific Reports, 2025;PubMed 检索) | — |
| GE-YOLO | P 94.2% / R 97.2% / F1 0.957,60 fps | 2024 | YOLOv7-tiny 改进,4,172 张含框图 | 范一宏等. 中国生物医学工程学报 43(4), 2024 | — |
| NanoNet-B | Dice = 95.87%(息肉样分割) | 2021 | 轻量分割网络 | Jha D et al.(NanoNet,Kvasir-Capsule 息肉样病变分割) | — |
| FocalConvNet | acc 63.73% / macro recall 27.45%(12 类) | 2022 | 深度可分离卷积 + GeLU | Srivastava et al.(FocalConvNet) | — |
| AE + 分类器集成(SVM/RF) | AUC ≈ 76.9 / acc ≈ 90.6 | 2025 | 自编码器特征 + 集成学习(异常检测口径) | arXiv:2504.06039 | — |
阅读排行榜的强制注意事项:上表第一组(官方基线)是唯一同口径可比组。第二组数值普遍更高的根本原因是任务口径不同(二分类/检测子集/随机划分/下采样平衡),不代表方法学上全面超越官方基线。引用任何数字前请按坑点 4 的四要素核对口径。
§8.2 SOTA 总结与选型建议
| 如果你… | 推荐方案 | 为什么 |
|---|---|---|
| 复现文献/投稿可比实验 | 官方 two-fold + 11 类 + micro/macro-F1 + MCC | 唯一社区公认口径 |
| 做检测/部署向研究 | Habe et al. 2024 的 COCO 转换 + RTMDet/SSD 配置 | 检测任务最系统的公开横评 |
| 样本效率/半监督研究 | Soft-teacher 路线 + 74 段未标注视频 | 已证实有增益的官方预留玩法 |
| 稀有类研究(壶腹/陈旧血/息肉) | 少样本分类或异常检测范式,合并为"稀有发现"桶 | 10-55 帧不支持常规监督训练 |
| 快速教学演示 | 标注图像包 + ResNet-50 迁移 + 二分类(正常 vs 发现) | 521 MB 小数据,课堂可完成 |
§8.3 官方评测协议
官方协议(Smedsrud et al. 2021 Technical Validation):11 类分类(剔除 3 个稀有类);视频级 two-fold 交叉验证(official_splits/,无视频跨折);micro/macro 平均 P/R/F1 + 多分类 MCC;DenseNet-161 与 ResNet-152 双架构 × 三种类别加权策略(normal CEL / weighted CEL / weighted sampling);逐折报告 + 均值。
§8.4 相关数据集
| 数据集 | 关系 | 说明 |
|---|---|---|
| KvasirCapsule-SEG | 分割扩展 | 同团队发布,为本集子集提供像素级掩码(Jha et al., MMM 2021) |
| Kvasir v1 / v2 | 同族前身 | 常规胃肠镜 8 类 8,000 张(Pogorelov et al. 2017 起) |
| HyperKvasir | 同族姊妹 | 常规胃肠镜 23 类 10,662 张(Borgli et al. 2020, Sci Data 7:283) |
| Kvasir-SEG | 同族姊妹 | 结肠镜息肉像素级分割 1,000 张 |
| Kvasir-Instrument | 同族姊妹 | 内镜器械分割 |
| CAD-CAP | 同类/外部验证 | 法国胶囊内镜 4,180 张 3 类 |
| GIANA | 同类/竞赛 | 胶囊内镜竞赛数据(2017-2018) |
| SEE-AI | 同类 | 英国胶囊内镜 AI 项目数据 |
§8.5 关键论文 Top 8
- Smedsrud PH et al. (2021), Scientific Data 8:142. “Kvasir-Capsule, a video capsule endoscopy dataset.” — 数据集本体,权威引用入口,含标注管线与官方基线。DOI: 10.1038/s41597-021-00920-z
- Smedsrud PH et al. (2020), OSF Preprints. “Kvasir-Capsule, a video capsule endoscopy dataset.” — 预印本与数据首发版本。DOI: 10.31219/osf.io/gr7bn
- Habe TT, Haataja K, Toivanen P (2024), IEEE Access 12:26793-26812. “Efficiency Meets Accuracy: Benchmarking Object Detection Models for Pathology Detection in WCE.” — 检测任务最系统横评(SSD/EfficientDet/Faster R-CNN/RetinaNet/YOLOv3/RTMDet/半监督)。DOI: 10.1109/ACCESS.2024.3456100
- Jha D et al. (2021), MMM. “KvasirCapsule-SEG: A segmented capsule dataset.” — 像素级分割扩展,补齐本集无掩码的短板。
- Borgli H et al. (2020), Scientific Data 7:283. “HyperKvasir, a comprehensive multi-class image and video dataset for gastrointestinal endoscopy.” — Kvasir 家族常规内镜旗舰,理解 Simula 数据设计哲学的姊妹篇。
- Jha D et al. (2021). NanoNet — Kvasir-Capsule 息肉样病变轻量实时分割(Dice 95.87%)。
- Srivastava et al. (2022). FocalConvNet — 面向 WCE 分类的轻量卷积设计(12 类口径)。
- Pogorelov K et al. (2017), MMSys. “KVASIR: A multi-class image dataset for computer aided gastrointestinal disease detection.” — Kvasir 家族的开山之作,家族脉络的起点。
§8.6 社区活跃度
| 维度 | 数据 |
|---|---|
| Google Scholar 引用(数据集论文) | 330+(截至 2026-09,单篇口径) |
| GitHub(simula/kvasir-capsule) | 42 stars / 10 forks(截至 2026-09 快照) |
| 收录情况 | openmedlab/Awesome-Medical-Dataset 等主流医疗数据集清单收录 |
| 后续基准 | 2024 IEEE Access 检测横评、2025 GAD-YOLO 等持续以其为测试床 |
| 衍生数据集 | KvasirCapsule-SEG(分割扩展) |
| 期刊地位 | Scientific Data 胶囊内镜方向引用最高的数据集论文之一 |
§8.7 生态快照
| 资源 | 类型 | 链接 | Star/Fork(截至 2026-09) | 为什么值得关注 |
|---|---|---|---|---|
| simula/kvasir-capsule | 官方代码 | https://github.com/simula/kvasir-capsule | 42 / 10 | 官方 two-fold 划分 + 基线实验 + metadata.csv,可比性锚点 |
| OSF dv2ag | 官方仓库 | https://osf.io/dv2ag | — | 数据主仓库(DOI 可引用),下载不稳时换官方直链/Drive 镜像 |
| datasets.simula.no 直链 | 官方下载 | https://datasets.simula.no/kvasir-capsule | — | 三个 zip 直链,免注册最稳渠道 |
| KvasirCapsule-SEG | 衍生数据集 | https://datasets.simula.no/kvasir-capsule-seg | — | 分割掩码扩展,与本集互补 |
| Habe et al. 2024 | 检测基准 | DOI: 10.1109/ACCESS.2024.3456100 | — | COCO 格式转换 + 7 类检测器横评 + 半监督配置 |
| HyperKvasir | 同族数据集 | https://datasets.simula.no/hyper-kvasir | — | 常规内镜 23 类,跨模态迁移研究搭档 |
§9 相关资源与引用
官方资源
- 数据集主页:https://datasets.simula.no/kvasir-capsule
- GitHub 仓库(划分/基线/脚本):https://github.com/simula/kvasir-capsule
- OSF 数据仓库:https://osf.io/dv2ag
- 论文(Scientific Data):https://www.nature.com/articles/s41597-021-00920-z
- 预印本(OSF):https://osf.io/gr7bn
- 联系邮箱:paalh@simula.no / steven@simula.no / michael@simula.no
- 许可证:CC BY 4.0(竞赛与商用需书面许可)
BibTeX 引用(官方要求)
% 1) 数据集论文(官方强制引用)
@article{Smedsrud2021,
title = {{Kvasir-Capsule, a video capsule endoscopy dataset}},
author = {Smedsrud, Pia H and Thambawita, Vajira and Hicks, Steven A
and Gjestang, Henrik and Nedrejord, Oda Olsen and N{\ae}ss, Espen
and Borgli, Hanna and Jha, Debesh and Berstad, Tor Jan Derek
and Eskeland, Sigrun L and Lux, Mathias and Espeland, H{\aa}vard
and Petlund, Andreas and Nguyen, Duc Tien Dang and Garcia-Ceja, Enrique
and Johansen, Dag and Schmidt, Peter T and Toth, Ervin
and Hammer, Hugo L and de Lange, Thomas and Riegler, Michael A
and Halvorsen, P{\aa}l},
journal = {Scientific Data},
volume = {8},
number = {1},
pages = {142},
year = {2021},
doi = {10.1038/s41597-021-00920-z}
}
% 2) 数据集本体(OSF 仓库引用)
@misc{kvasir_capsule_osf,
author = {Smedsrud, Pia H and Thambawita, Vajira and Hicks, Steven A and others},
title = {{Kvasir-Capsule}},
year = {2020},
publisher = {Open Science Framework},
doi = {10.17605/OSF.IO/DV2AG},
url = {https://osf.io/dv2ag}
}
% 3) 预印本(如引用预印本版本)
@misc{smedsrud2020kvasir,
title = {Kvasir-Capsule, a video capsule endoscopy dataset},
author = {Smedsrud, Pia H and Gjestang, Henrik and Nedrejord, Oda O and others},
year = {2020},
month = aug,
publisher = {OSF Preprints},
doi = {10.31219/osf.io/gr7bn}
}
官方使用条款要求:所有使用或引用 Kvasir-Capsule 的文档与论文必须引用第 1 条(Scientific Data 论文)。使用官方划分或基线代码时建议同时引用 GitHub 仓库。
教程与学习资源
- GitHub experiments/(官方基线分类实验代码):https://github.com/simula/kvasir-capsule
- 官方数据集页面 Dataset Details 与 Download 说明:https://datasets.simula.no/kvasir-capsule
- 论文 Fig. 4(metadata.csv 结构图解)与 Fig. 5(官方基线混淆矩阵):PMC8160146 开放获取全文
- Kvasir 家族总入口(v1/v2/SEG/HyperKvasir/Instrument):https://datasets.simula.no
原始论文
- Smedsrud PH et al. (2021). “Kvasir-Capsule, a video capsule endoscopy dataset.” Scientific Data 8:142. DOI: 10.1038/s41597-021-00920-z. PMID: 34045470. PMCID: PMC8160146.
- Smedsrud PH et al. (2020). “Kvasir-Capsule, a video capsule endoscopy dataset.” OSF Preprints. DOI: 10.31219/osf.io/gr7bn.
- Habe TT, Haataja K, Toivanen P (2024). “Efficiency Meets Accuracy: Benchmarking Object Detection Models for Pathology Detection in Wireless Capsule Endoscopy.” IEEE Access 12:26793-26812. DOI: 10.1109/ACCESS.2024.3456100.
- Borgli H et al. (2020). “HyperKvasir, a comprehensive multi-class image and video dataset for gastrointestinal endoscopy.” Scientific Data 7:283.
§10 AI 使用声明卡
§10.1 AI 模型使用
| AI 模型 | 版本 | 用途 |
|---|---|---|
| deep-model(WorkBuddy) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09-05 | 7 组检索 + 2 组页面抓取:官方页面、论文 PMC 全文、GitHub 仓库、引用量快照、ICD-11/SNOMED CT 编码交叉验证 |
§10.2 AI 参与范围
AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。
AI 在本页面的工作中负责:(1) 从 datasets.simula.no 官方页面、Smedsrud 2021 论文(PMC8160146)、GitHub 官方仓库与社区资源中整理结构化信息;(2) 生成 §6 的 Python 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。
§10.3 输入来源
- Smedsrud et al. (2021), Scientific Data 8:142 — Kvasir-Capsule 原始论文(DOI: 10.1038/s41597-021-00920-z,PMC8160146 全文)
- datasets.simula.no/kvasir-capsule 官方数据页面(规模、下载、Terms of Use)
- GitHub simula/kvasir-capsule(README、official_splits、metadata.csv 说明、LICENSE.md)
- OSF 数据仓库 osf.io/dv2ag(DOI: 10.17605/OSF.IO/DV2AG)
- OSF 预印本 gr7bn(DOI: 10.31219/osf.io/gr7bn)
- Smedsrud et al. 2021 Table 3(官方基线数值,published 版与预印本版差异比对)
- Habe et al. (2024), IEEE Access 12:26793(检测横评,DOI: 10.1109/ACCESS.2024.3456100)
- MDPI Applied Sciences 14(22):10243(14 类逐类计数交叉验证)
- PMC8545542(WCE 异常检测文献中的类别计数交叉验证)
- pure.aber.ac.uk biomedicines_10_02195(采集设备、时间、帧率细节交叉验证)
- Google Scholar 引用快照(330+,截至 2026-09)
- familydoctor.cn ICD-11 中文库(DA97.0 小肠血管发育不良 / ME24 消化系统临床表现)
- HL7 FHIR SNOMED value set(235853006 Angiodysplasia of intestine / 74474003 Gastrointestinal hemorrhage / 12847006 Acute duodenal ulcer with hemorrhage)
- lexenco findacode ICD-11 MMS(ME24.9Z 胃肠出血未特指)
- GAD-YOLO(2025)与 GE-YOLO(中国生物医学工程学报 2024, 43(4))后续工作
- arXiv:2504.06039(异常检测集成方法对照)
- openmedlab/Awesome-Medical-Dataset Kvasir-Capsule 条目(收录情况)
- AMBOSS Angiodysplasia 临床综述(OGIB 流行病学背景)
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED 映射、OGIB 临床背景、金标准) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §3 数据集规格(47,238/117/4,741,504 规模链、设备规格) | 千方病案医学编辑部 | 与官方页面及论文 Data Records 交叉比对 | ✅ 已验证 |
| §4 数据结构(14 类计数合计校验 = 47,238、metadata.csv 字段) | 千方病案医学编辑部 | 与 GitHub README 及论文 Fig. 4 交叉比对 | ✅ 已验证 |
| §5 数据划分策略(视频级 two-fold) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §6 代码示例与坑点 | 千方病案医学编辑部 | 逻辑审查 + 与论文 Technical Validation 比对 | ✅ 已通过 |
| §7 质量评估与 DAIMS 评分 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 排行榜与引用数表述 | 千方病案医学编辑部 | 与论文 Table 3 及 Scholar 快照交叉比对 | ✅ 已验证 |
| §C JSON-LD @graph | 千方病案医学编辑部 | Schema v3.9 字段逐项校验 | ✅ 已通过 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§3.0 版本抉择矩阵、§6.0-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.5 公平性评估代码、§7.7 DAIMS 评估表与评分、§8.7 生态快照、§C JSON-LD。
§10.6 最后审核
最后一次人工审核日期:2026-09-05
页面状态:published(全部内容已完成审核并发布)
