MEDISEG: 药物图像实例分割数据集——预防不良药物事件¶
会议: CVPR 2026
arXiv: 2603.10825
代码: github.com/williamcwi/MEDISEG
领域: 实例分割 / 医学图像 / 数据集
关键词: 药物识别, 实例分割, few-shot检测, 数据集, 用药安全
一句话总结¶
构建了MEDISEG药物图像实例分割数据集(8262张图像,32类药片,含遮挡/重叠的真实场景),YOLOv8/v9验证3类达99.5% mAP@0.5、32类达80.1%,FsDet few-shot证明MEDISEG预训练在遮挡场景比CURE显著提升(1-shot 0.406 vs 0.131)。
研究背景与动机¶
领域现状:用药错误和不良药物事件(ADE)威胁患者安全——1980-2014年ADE致死占AEMT的8.9%且持续上升。75-85岁人群超1/3每天服用5种以上处方药。AI药片识别是有前景的解决方案,但受限于数据集质量。
现有痛点:现有药片数据集存在三大不足:(1) NIH Pillbox(最大,133K图像)已于2021年停止维护且无实例分割标注;(2) CURE有部分实例分割标注但不完整且含合成图像;(3) 所有数据集都以单药片、受控环境拍摄为主,不反映dosette药盒、多药片重叠等真实场景。
核心矛盾:临床/家庭场景中药片总是多颗堆叠在药盒里,需要实例级分割来区分每颗药,但现有数据集几乎只有单药片图像。
本文目标 构建一个包含真实多药片场景(重叠、遮挡、dosette药盒)和完整实例分割标注的药片图像数据集,并验证其对few-shot泛化的价值。
切入角度:从临床需求出发设计数据集——使用dosette药盒自然产生多药片重叠/遮挡场景,刻意选择视觉相似的药片类别增加辨别难度。
核心 idea:构建覆盖真实多药片场景(遮挡/重叠/dosette盒)的实例分割数据集,证明场景复杂度而非纯数量才是few-shot泛化的关键。
方法详解¶
整体框架¶
MEDISEG包含两个子集:3-Pills(3类药片)和32-Pills(8262张图像,32类)。Pipeline: iPhone 12 Pro Max拍摄 → dosette盒裁切至单格 → 640×640统一分辨率 → COCO Annotator手工标注实例分割mask → YOLOv8/v9监督训练验证 → FsDet few-shot评估。
关键设计¶
-
真实场景采集策略:
- 功能: 用标准四排七列dosette药盒排列药片拍摄
- 核心思路: 药盒格子自然产生药片重叠、遮挡和背景干扰。变化光照强度和角度产生真实阴影、反射和高光。每张图像含1-13粒药片,覆盖单药到密集场景
- 设计动机: 模拟临床和家庭用药的真实场景,而非实验室受控环境。dosette盒是老年人常用的药物管理工具
-
细粒度类别设计:
- 功能: 32类药片中故意包含视觉高度相似的类别
- 核心思路: Pill A和Pill B形状相似但颜色不同,Pill B和Pill C颜色相似但形状不同——迫使模型必须同时学习形状和颜色特征。32-Pills中包含多种小白色药片,仅凭粗粒度特征不可区分
- 设计动机: 避免模型依赖简单线索(如颜色)而忽略精细形态差异,更贴近临床中大量白色/无特征药片的识别挑战
-
Few-shot评估协议:
- 功能: 用FsDet框架(Faster R-CNN + ResNet + FPN)进行base/novel类分离的few-shot检测评估
- 核心思路: 分别用MEDISEG和CURE做base训练,冻结backbone+RPN仅fine-tune ROI heads,在1/5/10-shot设置下评估novel类。专门构造"仅遮挡"测试集测极端场景
- 设计动机: 验证数据集场景复杂度(而非纯数量)对few-shot表示迁移的贡献
损失函数 / 训练策略¶
- YOLOv8/v9: 遗传算法70轮超参搜索(lr=0.01009, momentum=0.94, weight_decay=0.00048),最优fitness=0.81253
- 数据分割: 70% train / 20% val / 10% test
- Few-shot: backbone+RPN冻结,仅fine-tune ROI heads并重初始化分类层
实验关键数据¶
主实验¶
| 数据集 | 模型 | mAP@50 | mAP@50-95 | Precision | Recall |
|---|---|---|---|---|---|
| 3-Pills | YOLOv8 | 99.4% | 95.0% | 99.7% | 99.7% |
| 3-Pills | YOLOv9 | 99.5% | 96.5% | 99.6% | 99.8% |
| 32-Pills | YOLOv8 | 62.2% | 50.9% | 62.8% | 57.4% |
| 32-Pills | YOLOv9 | 80.1% | 68.4% | 81.2% | 73.7% |
消融实验¶
| Few-shot设置 | MEDISEG fg_cls_acc | CURE fg_cls_acc | 提升倍数 |
|---|---|---|---|
| 1-shot (遮挡集) | 0.406 | 0.131 | 3.1× |
| 5-shot (遮挡集) | 0.625 | 0.372 | 1.7× |
| 10-shot (遮挡集) | 0.740 | 0.558 | 1.3× |
| 对比维度 | MEDISEG | NIH Pillbox | CURE |
|---|---|---|---|
| 图像数 | 8,262 | 133,774 | ~1,000 |
| 类别数 | 32 | 4,392 | 196 |
| 实例分割标注 | ✓完整 | ✗ | 部分 |
| 多药片场景 | ✓(1-13粒/图) | ✗ | ✗ |
| 公开可用 | ✓(CC BY 4.0) | 已停止 | ✓ |
关键发现¶
- YOLOv9在32-Pills上显著优于YOLOv8(mAP@50: 80.1% vs 62.2%),更强的特征融合对细粒度识别至关重要
- 误分类主要来源于视觉相似药片的侧视图——俯视图可区分但侧面极其相似
- Few-shot性能差异在"仅遮挡"测试集上最显著——MEDISEG的多药片场景预训练赋予更好的遮挡鲁棒性
- 随shot数增加MEDISEG优势缩小(3.1×→1.3×),说明MEDISEG优势主要体现在极限低数据场景
亮点与洞察¶
- 数据集设计理念好: 刻意制造视觉相似类别和真实遮挡场景,不是简单数据量堆积
- Few-shot评估不只看标准测试集,专门构造"仅遮挡"子集测极端情况,评估方法比结果更有参考价值
- 验证了有趣发现: 训练数据的场景复杂度(而非纯数量)对few-shot泛化至关重要
- CC BY 4.0开放协议 + COCO格式 + GitHub代码 = 高易用性
局限与展望¶
- 32类药片数量偏少,实际临床药物种类数以千计
- 仅用iPhone 12拍摄,未验证跨设备泛化能力
- 动态光照和不同背景的变化仍然有限
- 仅评估目标检测/分割,未在语义理解任务上评估
- 未做临床环境中的前瞻性验证
相关工作与启发¶
- vs NIH Pillbox: 最大药片数据集(133K)但已停维且无实例分割标注,MEDISEG规模小但标注完整且包含多药片场景
- vs CURE: 最接近竞品,有部分分割标注但不完整且含合成图像。Few-shot实验直接证明真实遮挡场景的优势
- 设计启发: "仅遮挡"测试子集的评估思路值得参考——构造针对性难例比在标准集上报告数字更有说服力
评分¶
- ⭐⭐⭐ 新颖性: 数据集贡献为主,方法无显著创新,但数据集设计理念有思考
- ⭐⭐⭐⭐ 实验充分度: 多模型+多子集+few-shot评估+超参搜索,验证扎实
- ⭐⭐⭐⭐ 写作质量: 数据集论文标准写法,结构清晰表格详尽
- ⭐⭐⭐ 价值: 对药物安全AI有实际价值,但领域局限性较强