信息速览
INFOBOX — NuInsSeg 一屏速览
维度 内容 本质 多器官 H&E 组织学核实例分割数据集——不是脑 MRI,不含任何影像学数据 团队 Danube University Krems(DPU)+ Medical University of Vienna + ACMT;通讯 Amirreza Mahbod 论文 Scientific Data 2024;11:295(doi:10.1038/s41597-024-03117-2);预印本 arXiv:2308.01760(2023-08-03) 数据 31 张 WSI(每类器官 1 张)的 2048² FOV 中选出 665 个、裁切 512×512 PNG;30,698 个逐核手工实例标注 器官 31 = 23 human + 8 mouse(mouse:femur/fat subscapularis/heart/kidney/liver/muscle tibialis/spleen/thymus,C57BL/6J) 分布 human 472 patch/23,247 核/均 49.3;mouse 193/7,451/38.6;总体 665/30,698/46.2 掩膜 10 种衍生掩膜(distance/label/label-modify/binary/binary 去边/去边腐蚀/overlay/stacked 3D/weighted 双版)+ 首创全量 ambiguous area mask 划分 五折 KFold(n_splits=5, random_state=19, shuffle=True),每折 133 张 基准 六模型 U-Net 家族:Dice 冠军 Residual attention U-Net 81.4;AJI/PQ 冠军 Dual decoder U-Net 55.9/51.3 扫描 TissueFAXS(TissueGnostics)+ Zeiss Axio Imager Z1 + Plan-Neofluar 40×/0.75 NA、8-bit 获取 Kaggle masih4/nuinsseg(CC BY 4.0,v5,1.8 GB)|GitHubmasih4/NuInsSeg(MIT)|HuggingFace 无镜像前作 CryoNuSeg(CBM 2021;132:104349,冰冻切片 30 tiles/7,596 核/10 器官) 库内互链 monuseg(30)/consep(228)/pannuke(218)/lizard(238)/nucls(248) 为主,crag/glas/bcss 等备选
NuInsSeg 是一个「把核实例分割数据集从单器官小样本推向多器官全注释」的数据集工程:它取材于维也纳医科大学的 H&E 染色教学与机构库切片,按 23 类人类组织与 8 类小鼠器官各选一张 WSI、共 31 张,从中挑出 665 个代表性视野裁切为 512×512 的 patch,由三名具生物学背景的学生在资深细胞生物学家终审下,用 ImageJ 逐核手工描边——最终交付 30,698 个核实例、10 种衍生掩膜,以及一项此前没有任何数据集做到的事:为全部 665 张图提供 ambiguous area mask(模糊区掩膜),把「这个核边界到底算谁的」这类标注学上的灰色地带显式画了出来。它同时发布六个 U-Net 家族模型的完整基准与五折划分表,使「拿数据→跑基准→对比论文数字」一步到位。
导语读法三则:
- 只想下数据:直奔 §6 获取与许可——Kaggle 数据 CC BY 4.0、GitHub 代码 MIT,双轨分开;HuggingFace 上没有官方镜像,别去 HF 找。
- 关心标注质量:直奔 §3 标注流水线与 §2.4 十种掩膜——ambiguous area mask 的用法(损失排除 or 软标签)会直接影响你的指标。
- 要做模型对比:直奔 §5 基准实验——先看清 Dice 冠军和 AJI/PQ 冠军是两个不同模型(坑 7),再决定对标哪个数字。
条目导航:从你手里的任务出发
| 你的处境 | 推荐路径 |
|---|---|
| 评估这个数据集值不值得用 | INFOBOX → §1 十问十答 → 附录 B DAIMS 表 |
| 下载并跑通第一个模型 | §6 获取与许可 → 附录 D 决策树 → §5.3 复现栈 |
| 训练自己的核分割模型 | §2.4 掩膜字典(选对监督形态)→ §3 ambiguous mask 用法 → 附录 E 五折划分 |
| 与 MoNuSeg/MoNuSAC/CoNSeP 选型对比 | §4 数据集景观总表 → 附录 G 横向对比全表 |
| 排查引用数字对不上 | §10 避坑清单 → 附录 L 双口径登记表 |
| 找同主题条目组队 | §9 与库内条目的关系 → 导航家族 |
§0 导读:这个数据集解决什么问题
细胞核分割是计算病理学的第一粒纽扣:核计数支撑有丝分裂率估算,核形态支撑分级,核实例坐标支撑肿瘤微环境的空间分析。但 2023 年之前,公开可用的核实例分割数据集大多卡在三道旧伤上——器官覆盖窄(MoNuSeg 9 器官、CoNSeP 只有结直肠一种)、实例标注不全(不少数据集只给点标注或边界框)、边界模糊区无处理(两核紧贴、挤压、重叠的像素被硬塞给其中一个,训练信号天然带噪)。
NuInsSeg 的回答分三层。第一层是覆盖:31 个人与小鼠器官、665 张 patch、30,698 个核实例,核数进入公开数据集第一梯队(仅次于 MoNuSAC 的 31,411),而 patch 数与器官数都是当时公开数据集之最。第二层是标注形态:同一份实例轮廓导出成 10 种掩膜——从语义分割用的 binary mask 到回归任务用的 distance map——使用者按任务选形态,不必自己写转换脚本。第三层是标注学创新:全量 ambiguous area mask,把每个 patch 里标注员自己都无法自信归属的边界区域显式标出,让「不确定」第一次成为可以被消费的数据。
§0 读法三则:
- 这个条目的一切统计口径以论文 Table 2 与 Kaggle v5 Data Explorer 为准;GitHub README 的「Mouse organs」清单系 human FFPE 清单误贴(13 项),已在坑 2 存照。
- 论文摘要写核数「>30,000」,精确值 30,698 见 Table 2 汇总行——引用时用精确值并注出处(坑 3)。
- 「NuInsSeg = 脑 MRI 数据集」是流传的口径错误:名字里的 Ins 是 instance(实例)而非 infiltration/intracranial 之类,数据本体是 H&E 组织学(坑 1)。
§1 数据集速览:十问十答
Q1:NuInsSeg 到底是什么、不是什么?
它是一套 H&E 染色组织学切片的核实例分割数据集:665 张 512×512 patch、30,698 个逐核手工描边的实例轮廓、10 种衍生掩膜,外加五折划分表与六模型基准。它不是 MRI 数据、不含脑组织、也不含荧光或免疫组化染色——名字里的 Ins 是 instance(实例),不是任何「浸润/颅内」缩写。
Q2:665 张 patch 从哪来?
MedUni Vienna 病理生理与过敏研究所机构库的 H&E WSI(切片标本出自解剖与细胞生物学中心教学库,由 Adolf Ellinger 提供,长期教学用途、无需伦理审查)。团队共选 31 张 WSI——23 类人类组织与 8 类小鼠器官各一张,用 TissueFAXS 扫描系统(Zeiss Axio Imager Z1 + Plan-Neofluar 40×/0.75 NA 物镜 + Baumer HXG40c 相机、软件 v6.0)以 8-bit RGB 数字化,扫描按 2048×2048 的 FOV 分块存储;资深细胞生物学家 Isabella Ellinger 从 FOV 池中选出 665 个代表性视野,逐个裁切为 512×512 patch——一个 FOV 对应一张 patch。
Q3:31 个器官怎么构成?
23 类人类组织加 8 类小鼠器官。小鼠部分来自 8 周龄雄性 C57BL/6J 的 8 个器官:股骨(femur)、肩胛下脂肪(fat subscapularis)、心、肾、肝、胫骨前肌(muscle tibialis)、脾、胸腺。注意 GitHub README 的「Mouse organs」清单贴错了——那 13 项其实是 human FFPE 组织清单被误放到 mouse 标题下(坑 2),权威口径以论文 Table 2 与 Kaggle v5 Data Explorer 的 8 器官为准。
Q4:每个器官多少数据?
论文 Table 2 汇总:human 部分 472 张 patch、23,247 个核、patch 均值 49.3 核;mouse 部分 193 张、7,451 个、均值 38.6 核;合计 665 张、30,698 个、均值 46.2 核。逐器官明细见 §2.2 全表(各器官 patch 数与核密度差异显著),跨器官结论要分层报告。
Q5:谁标注的,怎么标?
三名具生物学背景的学生用 ImageJ 1.53 的 ROI Manager 以 freehand(自由画笔)逐核描边,资深细胞生物学家 Isabella Ellinger 终审。全部轮廓为矢量 ROI,再由 MATLAB 2020a 脚本批量栅格化为 10 种衍生掩膜。
Q6:10 种掩膜分别是什么?
binary(语义二值)、labeled(逐核编号实例)、border-removed(去边核)、erode(腐蚀)、distance map(距离变换)、weighted(加权)、stacked 3D mat(三维堆叠)、overlay(叠加可视化)等,以及 ambiguous area mask。同一份 ROI 导出十种形态,覆盖语义分割、实例分割、回归、加权训练等不同任务直接取用。
Q7:ambiguous area mask 特别在哪?
它是 NuInsSeg 的招牌:全部 665 张图都带一张模糊区掩膜,显式标记「边界归属不确定」的像素区域——核紧贴、挤压、染色过浅的灰色地带。此前只有 MoNuSAC 在部分测试集提供过类似物。训练时你可以把它当损失排除区,或当软标签/不确定性加权的输入,用法见 §3.3。
Q8:基准给了什么?
六个 U-Net 家族模型(Shallow/Deep/Attention/Residual attention/Two-stage/Dual decoder U-Net)在五折 KFold(random_state=19,每折 133 张)下的 Dice/AJI/PQ 三指标结果。Dice 冠军是 Residual attention U-Net(81.4),实例级冠军是 Dual decoder U-Net(AJI 55.9、PQ 51.3)——两个冠军不是同一个模型(坑 7)。基准代码与 Kaggle kernels 全部公开。
Q9:我现在能拿到什么、拿到的是什么许可?
Kaggle 数据本体(v5,1.8 GB,48.4k files)CC BY 4.0;GitHub 训练与推理代码 MIT。两仓独立、许可独立。HuggingFace 没有官方镜像(hf-mirror 搜索返回空),获取主链路就是 Kaggle+GitHub。
Q10:为什么它对 AI-Ready 重要?
它是「公开直链+许可宽松+基准随数据发布+划分可复现」的正面样本:CC BY 4.0 允许商用与衍生,五折划分固定随机种子消除划分自由度,六模型三指标给后来者一张可直接对标的成绩单——AI-Ready 四要素(可发现、可获取、可互操作、可复现)在这套数据上全部有实招,而不是口号。
§2 数据构成与规格
2.1 总体构成:31 张 WSI 如何变成 665 张 patch
NuInsSeg 的原材料是 MedUni Vienna 的 H&E 染色 WSI:23 类人类组织与 8 类小鼠器官各选一张,共 31 张(论文 Data Records 口径「from 31 human and mouse organs」与 README 口径「selected 31 whole slide images」在此调和:31 类器官 = 31 张 WSI,每类一张)。切片标本出自解剖与细胞生物学中心教学库、扫描件存于病理生理与过敏研究所机构库。TissueFAXS 扫描以 2048×2048 的 FOV(field of view,视野)分块存储,资深细胞生物学家 Isabella Ellinger 从 FOV 池中逐器官选出代表性视野,每个 FOV 裁切为一张 512×512 patch——一个 FOV 对应一张 patch,最终得到 665 张。数量的器官间分布极不均匀:人类食管贡献了 47 张,而小鼠股骨与胸腺各只有 6 张。
两类来源的总体对账(论文 Table 2 汇总行):
| 来源 | patch 数 | 核实例总数 | patch 均值核数 |
|---|---|---|---|
| Human(23 类组织/器官) | 472 | 23,247 | 49.3 |
| Mouse(8 器官,C57BL/6J) | 193 | 7,451 | 38.6 |
| 合计 | 665 | 30,698 | 46.2 |
三点先说清楚:其一,30,698 是论文 Table 2 汇总行的精确值,摘要里写的「>30,000」是约数口径、Table 1 里印作欧洲千分位「30.698」——同一数字的三种写法(坑 3);其二,human 的 23 项里混入了一类肿瘤组织(melanoma,黑色素瘤,12 张 patch),它不是器官而是病理类型,表格按论文原口径列出;其三,数据集包含小脑(cerebellum,12 张)与大脑(cerebrum,12 张)两类脑组织的 H&E 切片——这是「NuInsSeg 与脑有关」这一流传口径的唯一事实内核:有脑组织切片,但是组织学,不是 MRI 影像,也不是胶质瘤专用数据(坑 1)。
样本制备上还有一个容易被忽略的细节——人类切片分两支制备工艺:10 类组织(空肠、肾、肝、食管、腭扁桃体、胰腺、胎盘、唾液腺、脾、舌)为甲醛固定后火棉胶(celloidin)包埋、切 15-20 μm 厚片;其余 13 类(小脑、大脑、结肠、会厌、肺、黑色素瘤、肌肉、腹膜、胃贲门、胃幽门、睾丸、脐带、膀胱)为常规 FFPE、4-5 μm。火棉胶厚片保留了约 4 倍于常规片的组织深度,核在 z 轴上堆叠、光学截面上相互挤压——这批图像恰是 ambiguous 区域的重灾区,也是这个数据集「模糊区」问题的物理来源。
2.2 逐器官明细:谁贡献了多少核
以下两表为论文 Table 2 完整转录(patch 数/核实例数/patch 均值核数),是全条目最细粒度的硬数字。
人类部分(23 类组织/器官,472 patch / 23,247 核):
| 组织/器官 | patch 数 | 核数 | 均值/patch |
|---|---|---|---|
| 小脑 Cerebellum | 12 | 549 | 45.8 |
| 大脑 Cerebrum | 12 | 146 | 12.2 |
| 结肠 Colon | 12 | 349 | 29.1 |
| 会厌 Epiglottis | 11 | 228 | 20.7 |
| 空肠 Jejunum | 10 | 874 | 87.4 |
| 肾 Kidney | 11 | 1,222 | 111.1 |
| 肝 Liver | 40 | 1,370 | 34.3 |
| 肺 Lung | 11 | 318 | 28.9 |
| 黑色素瘤 Melanoma | 12 | 533 | 44.4 |
| 肌肉 Muscle | 9 | 127 | 14.1 |
| 食管 Oesophagus | 47 | 2,046 | 43.5 |
| 腭扁桃体 Palatine tonsil | 12 | 1,045 | 87.1 |
| 胰腺 Pancreas | 44 | 2,178 | 49.5 |
| 腹膜 Peritoneum | 12 | 468 | 39.0 |
| 胎盘 Placenta | 40 | 1,966 | 49.2 |
| 唾液腺 Salivary gland | 44 | 3,129 | 71.1 |
| 脾 Spleen | 34 | 3,286 | 96.7 |
| 胃贲门 Stomach (cardia) | 12 | 671 | 55.9 |
| 胃幽门 Stomach (pylorus) | 12 | 441 | 36.8 |
| 睾丸 Testis | 12 | 380 | 31.7 |
| 舌 Tongue | 40 | 1,415 | 35.4 |
| 脐带 Umbilical cord | 11 | 106 | 9.6 |
| 膀胱 Urinary bladder | 12 | 400 | 33.3 |
小鼠部分(8 器官,193 patch / 7,451 核;供体为 8 周龄雄性 C57BL/6J):
| 器官 | patch 数 | 核数 | 均值/patch |
|---|---|---|---|
| 股骨 Bone (femur) | 6 | 757 | 126.2 |
| 肩胛下脂肪 Fat (subscapularis) | 42 | 549 | 13.1 |
| 心 Heart | 28 | 738 | 26.4 |
| 肾 Kidney | 40 | 1,597 | 39.9 |
| 肝 Liver | 36 | 646 | 17.9 |
| 胫骨前肌 Muscle (tibialis anterior) | 28 | 165 | 5.9 |
| 脾 Spleen | 7 | 1,657 | 236.7 |
| 胸腺 Thymus | 6 | 1,342 | 223.7 |
这张表藏着几个对建模有直接影响的极值:
- 核密度之王:小鼠脾 236.7 核/patch、小鼠胸腺 223.7 核/patch——淋巴细胞密集器官,patch 里核挤核,是实例分割最难啃的 13 张图(7+6 张)。
- 核密度谷底:小鼠胫骨前肌仅 5.9 核/patch、人类脐带 9.6——稀疏场景,模型在这里的假阳性率会被放大。
- 数量主力:人类唾液腺(3,129 核)、脾(3,286 核)、胰腺(2,178 核)、食管(2,046 核)四类贡献了约 43% 的核实例。
- 跨物种同名器官(肾、肝、脾)密度差异悬殊(如肾 111.1 对 39.9),天然构成一组「同器官跨物种」泛化实验对照。
使用建议:按核密度分层采样做训练,按器官分层报告指标——全集合均值 46.2 核/patch 会同时掩盖脾的 236.7 和胫骨肌的 5.9。
按密度分档的器官分组
把 31 类按 patch 均值核数分四档,采样与评估策略可以直接对号入座:
| 密度档 | 均值核数/patch | 代表组织 | 采样/评估要点 |
|---|---|---|---|
| 超高密 | >200 | mouse spleen(236.7)、mouse thymus(223.7) | 淋巴组织;实例分离是主要矛盾;val 集见到的分数天花板最低 |
| 高密 | 80-130 | human kidney(111.1)、mouse femur(126.2)、human spleen(96.7)、human jejunum(87.4)、human palatine tonsil(87.1) | 造血/代谢活跃组织;边界接触频繁,weighted/erode 掩膜收益最大 |
| 中密 | 30-80 | human pancreas(49.5)、human placenta(49.2)、human cerebellum(45.8)、human salivary gland(71.1) 等 19 类 | 主体档;训练主力;跨器官泛化实验的基准档 |
| 低密 | <30 | human cerebrum(12.2)、human umbilical cord(9.6)、human muscle(14.1)、mouse muscle(5.9)、mouse liver(17.9) | 稀疏核场景;假阳性主导误差;适合测模型的特异性 |
(神经组织注意:小脑 45.8 与大脑 12.2 同为脑但密度差近 4 倍——皮层神经元排列与白质比例不同,两类别混在一个「脑」标签里会掩盖这一结构差异。)
人类 23 类组织的系统学分组
23 类人类组织可以按器官系统重新组织,便于设计「系统内/系统间泛化」实验:
| 系统组 | 成员(patch 数) | 组内共性 | 泛化实验价值 |
|---|---|---|---|
| 消化链 | 食管(47)、胃贲门(12)、胃幽门(12)、结肠(12)、空肠(10)、舌(40)、唾液腺(44)、胰腺(44)、肝(40) | 黏膜/腺体结构、杯状细胞与腺泡 | 消化道内跨段泛化;唾液腺与胰腺的外分泌腺对照 |
| 免疫链 | 腭扁桃体(12)、脾(34) | 淋巴组织高密度 | 高密度场景主力;与 mouse spleen/thymus 跨物种呼应 |
| 神经链 | 小脑(12)、大脑(12) | 神经元核小而密、白质区稀疏 | 同器官系统内两种密度形态的对照 |
| 呼吸/内分泌 | 肺(11)、会厌(11) | 软骨+上皮混合 | 软骨基质对核检测的干扰场景 |
| 泌尿/生殖 | 肾(11)、膀胱(12)、睾丸(12)、胎盘(40) | 肾小管/移行上皮/生精上皮/绒毛 | 上皮类型多样性最高的一组 |
| 其他 | 肌肉(9)、腹膜(12)、脐带(11)、黑色素瘤(12) | 间皮/结缔/肿瘤 | 低密对照与唯一的恶性黑色素细胞样本 |
分组的用法:做 leave-one-system-out 交叉验证(如用全部消化链训练、留一种消化道测试),比全集合随机五折更能回答「模型学到的是核形态还是组织语境」。
2.3 扫描与数字化链
| 环节 | 设备/参数 |
|---|---|
| 扫描系统 | TissueFAXS(TissueGnostics, Austria),采集与管理软件 v6.0 |
| 显微镜 | Zeiss Axio Imager Z1(Oberkochen, Germany) |
| 物镜 | Plan-Neofluar 40× / 0.75 NA(40× air) |
| 相机 | Baumer HXG40c(彩色) |
| 扫描输出单元 | 2048×2048 FOV(带空间坐标,可拼合成 WSI;本数据集直接用 FOV) |
| patch 提取 | 每 FOV 中心裁切 512×512,无损 PNG 存储 |
| 染色/封片 | H&E(ROTH, Austria);封片 Entellan(Merck, Germany);mouse 全部 FFPE 4 μm |
注意两个规格细节:其一,数据集未逐 patch 声明 μm/px 空间分辨率(40× 物镜下通常约 0.25 μm/px 量级,但论文未给硬数字,条目不作推断);其二,全部图像为 8-bit RGB PNG,无 16-bit 或多通道荧光,做染色归一化(如 Macenko)时按常规 H&E 双通道假设处理即可。
2.4 十种衍生掩膜字典
标注的原始形态是 ImageJ ROI(矢量轮廓,zip 打包、每个 ROI 文件对应一个核),随数据发布前经 MATLAB 2020a 脚本批量栅格化,得到十个掩膜文件夹(README 官方口径)。各掩膜的语义与推荐用法:
| 掩膜文件夹 | 形态 | 任务适配 | 使用要点 |
|---|---|---|---|
| distance maps | 距离变换 | 回归辅助分支 | 每像素到核的距离,配合 binary 做双分支监督 |
| label masks | 逐核编号(重叠区新数值) | 实例分析 | 重叠区单独编号——保留「核挤核」的真实形态学信息 |
| label masks modify | 逐核编号(重叠区归属单实例) | 实例评估标准输入 | README 明确:评估用此版;重叠像素被裁决给其中一个核 |
| mask binary | 单通道 0/1 | 语义分割 | 最基础的监督形态 |
| mask binary without border | 0/1,去接触边界 | 语义/边界训练 | 相邻核的接触边界被移除,缓解边界竞争 |
| mask binary without border erode | 0/1,去边界+腐蚀 | 边界精化 | 在去边基础上再腐蚀,实例分离更彻底 |
| overlay | 叠加可视化 | 质检/展示 | 轮廓叠加原图,肉眼核查用 |
| stacked mask | 3D mat,每层一实例 | 核级形态统计 | scipy.io.loadmat 读取 |
| weighted_maps | 加权图 | 加权损失 | 接触边界高权重;基于 without border 生成 |
| weighted_maps_erode | 加权图 | 加权损失 | 同上、基于去边腐蚀版 |
| ambiguous masks | 区域掩膜 | 损失排除/软标签 | 见 §3.3,NuInsSeg 招牌 |
| (raw ROI zip) | ImageJ ROI 文件 | 任意再加工 | 需要自定义形态时从 ROI 重新生成 |
两个官方细节值得注意:其一,label masks 与 label masks modify 的区别只在重叠像素的处理——前者给重叠区独立编号(诚实但难评估),后者强制归属(评估友好),README 指明评估以 modify 版为准;其二,weighted 有两个版本分别对应去边与去边腐蚀两种 binary,与你的训练掩膜选择保持配对即可。
工程提示:labeled/编号类掩膜在多数看图软件里「看起来是黑的」,是正常现象——用 PIL.Image.open(...) 或 numpy 按像素值读取即可;若你需要在 256 色调色板里显示,自行做 ID 到颜色的映射,不要拿可视化截图当训练数据。
掩膜生成代码(MATLAB)随 GitHub 仓库公开,意味着十种形态不是一次性的发布物而是可再生的流水线——如果你的实验室想给自己的内部数据复制同一套导出形态,直接改脚本里的输入输出路径即可。Python 侧等价实现的骨架:
import numpy as np
from scipy import ndimage
labeled = np.array(Image.open("labeled_mask.png")) # 每核一个整数 ID
binary = (labeled > 0).astype(np.uint8)
# erode:3×3 结构元腐蚀一轮,边界内缩缓解相邻核竞争
eroded = ndimage.binary_erosion(binary, structure=np.ones((3, 3)))
# distance map:每像素到最近核边界的欧氏距离
dist = ndimage.distance_transform_edt(binary)
# weighted:边界带(核间接触区)高权重,仿 U-Net 原始加权思路
boundary = binary - eroded
weights = np.ones_like(binary, dtype=np.float32)
weights[boundary > 0] = 2.0
注意三点:① 官方 MATLAB 脚本是 ground truth 的权威来源,上面 Python 骨架只作速查,若你的导出与官方 PNG 有出入,以官方为准;② 官方 weighted_maps 基于「去边 binary」生成、weighted_maps_erode 基于「去边腐蚀版」,你自己实现时注意配对关系;③ stacked 3D mat 用 scipy.io.loadmat 读取,每层一个核的二值切片,适合做核级形态统计而非像素训练;④ 官方 label masks 对重叠区给独立编号、label masks modify 强制归属——评估一律用 modify 版(README 明示)。
2.5 五折划分:固定种子、每折 133 张
官方划分用 scikit-learn KFold(n_splits=5, random_state=19, shuffle=True) 生成,每折 133 张(5×133=665 恰好整除),划分代码在 Kaggle 与 GitHub 同步公开。六模型基准全部基于同一套五折交叉验证,因此论文数字与你的复跑之间不存在划分自由度——复现实验时直接加载官方 fold 划分即可,不要重新随机切分,否则你的数字与论文不可比。
一个隐性注意点:划分是全集合随机,未按器官/物种分层——某一折里 mouse spleen 的 7 张高密度 patch 可能集中出现,折间指标波动时先检查密度分布再怀疑模型。
2.6 读数据的三个正确姿势
十种掩膜各有读取陷阱,以下三个片段覆盖 90% 的日常需求:
# 姿势一:看图(原图+binary 叠加)
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
img = np.array(Image.open("tissue.png")) # 512×512×3, uint8
bina = np.array(Image.open("binary.png")) # 512×512, 0/1
plt.imshow(img); plt.contour(bina, colors="gold"); plt.axis("off")
# 姿势二:读实例(label masks modify,按唯一值枚举)
lab = np.array(Image.open("label_modify.png"))
ids, counts = np.unique(lab[lab > 0], return_counts=True)
print(len(ids), "个实例;最大/最小面积:", counts.max(), counts.min())
# 注意:ID 不连续且不是 1..N,枚举核必须用 np.unique,不能用 range
# 姿势三:读 3D mat(stacked mask)
from scipy.io import loadmat
m = loadmat("stacked.mat")
# m 里的三维数组:[H, W, N],第 k 层是第 k 个核的二值切片
三条铁律:① 所有掩膜与原图同名配对,不要按目录顺序 zip 配对;② label 类掩膜永远 np.unique 枚举实例;③ 距离图/权重图的数值范围与单位以官方脚本为准,跨掩膜混算前先归一到同一尺度。
§3 标注流水线:freehand 描边与「不确定」的显式化
3.1 人员与工具
标注由三名具生物学背景的学生执行,使用 ImageJ 1.53 的 ROI Manager,以 freehand(自由画笔)模式逐核手绘轮廓;资深细胞生物学家 Isabella Ellinger 负责终审与 WSI/FOV 选取。相比点标注或半自动种子点扩散,freehand 全描边的单位成本最高,但换来两个无可替代的性质:核轮廓是完整多边形(不是近似圆),以及实例身份在标注端即已确定(不依赖后处理分水岭)。
把 README 披露的操作流程整理成可复用的标注 SOP(对想复制这条流水线的团队直接可用):
ImageJ freehand 标注 SOP(README 口径整理)
1. 打开 patch 图像(ImageJ 1.53)
2. 菜单 Analyse → Tools → ROI Manager;确认勾选 show all 与 labels
3. 缩放到能清晰分辨全部实例的倍率
4. 选择工具栏的 freehand selection(自由手绘选区)
5. 沿核边界手绘一圈 → 按 T 收录进 ROI Manager
- 画错了:点选列表中对应编号 → 按 Delete 删除重画
6. 重复第 5 步直到本图全部核描完
7. ROI Manager → More → Save → 导出 zip(每个 .roi 文件对应一个核)
8. 模糊区用同一流程另描一轮,导出为 ambiguous mask
这条流水线的代价收益结构很清楚:30,698 个核、人均约一万个核的手工描边,是典型的「学术团队重型标注」——它解释了为什么数据集止步于 665 张 512×512 patch 而不是整张 WSI 级标注,也是同类数据集中 MoNuSeg 与 NuInsSeg 共同的经济学约束。
3.2 从 ROI 到十种掩膜
流水线分四步:① 学生在 ImageJ 中逐核 freehand 描边(ROI Manager 开启 show all 与 labels,每画完一个核按 T 收录),每个核存为一个 ROI 文件,完成后 Save 导出 zip;② 全部 ROI 经资深细胞生物学家复核(漏标/错标/边界修正);③ MATLAB 2020a 脚本把 ROI 栅格化,批量生成 distance/label/label-modify/binary/binary 去边/去边腐蚀/overlay/stacked/weighted 双版十个掩膜文件夹;④ 对每张 patch 单独生成 ambiguous area mask,标记标注员无法自信归属的边界区域。
设计的聪明处在于全部形态同源:十个掩膜文件夹与 ambiguous mask 全部导出自同一份 ROI 集合,所以 binary 与 label 完全对齐、distance map 与实例轮廓完全对齐——你混用多种掩膜做多任务训练时,不存在「两种掩膜两个版本」的漂移风险。
3.3 ambiguous area mask:把「不确定」变成数据
模糊区的定义:两个及以上核紧贴、挤压、重叠,或染色过浅导致边界在光学层面不可分辨的像素区域。此前学界对这类区域的惯例是「强行归属」——总得有个标签,于是训练信号里混入了系统性噪声;MoNuSAC 曾在部分测试集上提供过 vague 类掩膜,但仅限测试集部分图像。NuInsSeg 把这一做法推到全量:665 张每张都带模糊区掩膜。
三种消费方式,按你的任务选:
- 损失排除区(最常用):训练时把 ambiguous 像素从 loss 里 mask 掉,评估时同理——你的 Dice/AJI 会比「强行归属」口径略高,但那是诚实的分数。
- 软标签/不确定性加权:把 ambiguous 图作为辅助通道输入,让模型学会输出「这里不确定」——适合做不确定性估计或主动学习研究。
- 评估分层:报告两套指标——含模糊区的严格口径与排除模糊区的宽容口径——论文基准未按此分层,你若这样做,注明口径差异即可与论文对照。
一个公平性提醒:与既有文献对比时注意其他数据集没有这个掩膜。在 NuInsSeg 上用「排除模糊区」口径、在 MoNuSeg 上用「强行归属」口径,两者的数字不可直接排序——跨数据集比较时统一口径(附录 H 给出对照实验建议)。
模糊区与三个指标的交互
同一份预测在三种模糊区处理下,三个指标的敏感度并不相同,选口径前先想清楚你要报告哪个数:
| 口径 | Dice 影响 | AJI 影响 | PQ 影响 |
|---|---|---|---|
| 强行归属(忽略模糊区掩膜) | 与论文可比的基线 | 粘连误差全额计入 | 假阳性实例全额计入 |
| 训练排除+评估强行归属 | 训练信号变净、评估口径与论文一致——最常用的折中 | 同左 | 同左 |
| 训练+评估双排除 | 数字略升且「更诚实」 | 与论文不可直接对比(口径差异) | 同左 |
一句话决策:写方法论文追「诚实上限」用双排除并声明;刷与论文可比的分数用训练排除+评估强行归属;任何混用都在表注里写明。
3.4 质量控制与已知局限
质控链条是「学生初注 → 资深细胞生物学家终审」两层,没有第三位独立标注者做重复标注,因此数据集不提供观察者间一致性数字(没有双标子集)。这不算缺陷而是一种取舍——全描边标注的双标成本过于高昂——但使用者应清楚:NuInsSeg 的 ground truth 是「一份专家终审的标注」,不是「多专家共识」。
把论文披露的流程要素整理成一张质控清单,供标注团队对照自查:
| 控制点 | NuInsSeg 的做法 | 缺位时典型的失效模式 |
|---|---|---|
| 标注者资质 | 具细胞生物学背景的学生 | 无背景标注员把/artifact/皱褶当核 |
| 工具与形态 | ImageJ freehand 全轮廓(矢量 ROI) | 点标注/框标注丢失边界信息 |
| 半自动诱惑 | 明确拒绝(防模型先验混入标注分布) | 半自动预填充→标注分布带模型偏置 |
| 终审 | 资深细胞生物学家逐张复核修正 | 学生直接出厂→系统性欠分割紧邻核 |
| 不确定区 | ambiguous mask 显式标出(而非硬猜) | 模糊像素硬塞给某核→边界噪声 |
| 可复现导出 | MATLAB 脚本从 ROI 批量再生十种形态 | 手工导出→版本漂移 |
| 划分发 | 固定种子五折随数据发布 | 论文数字不可复现 |
已知局限三条:① 单一机构(MedUni Vienna 单中心)来源,染色协议、扫描设备链同质,跨中心泛化需外部数据;② 人类部分 23 项中混有 1 类肿瘤组织(melanoma),严格说「31 器官」的表述是「31 类组织/器官」,条目沿用论文口径但注明性质;③ mouse 部分是同一批 8 周龄雄性 C57BL/6J 的组织,作为独立物种样本量偏薄,跨物种结论(尤其免疫器官)谨慎外推。
另有一条藏在方法节的诚实细节值得转述:论文不讳言标注slow——作者明确权衡过 AnnotatorJ(U-Net 骨干的半自动插件)可加速标注,仍选择全手动以杜绝隐藏偏差。这个决定的代价是标注周期以月计,收益是标注分布里没有「某个特定半自动模型」的指纹。对要做方法论文(而非刷榜论文)的团队,这是值得支付的代价。
§4 数据集景观:NuInsSeg 在公开核分割数据集中站在哪
4.1 横向对比总表
下表为论文 Table 1 的完整转录(原文含 11 个 H&E 核分割数据集与 NuInsSeg 自身;「vague mask」列指是否提供模糊区/不确定区掩膜):
| 数据集 | vague mask | tiles | 核数 | 倍率 | 器官数 | tile 尺寸(px) | 来源 |
|---|---|---|---|---|---|---|---|
| Kumar et al. | ✗ | 30 | 21,623 | 40× | 7 | 1000×1000 | TCGA |
| MoNuSeg | ✗ | 44 | 28,846 | 40× | 9 | 1000×1000 | TCGA |
| MoNuSAC | partial | 209 | 31,411 | 40× | 4 | 81×113 至 1422×2162 | TCGA |
| CoNSeP | ✗ | 41 | 24,319 | 40× | 1 | 1000×1000 | UHCW |
| CPM-15 | ✗ | 15 | 2,905 | 40×/20× | 2 | 400×400、600×1000 | TCGA |
| CPM-17 | ✗ | 32 | 7,570 | 40×/20× | 4 | 500×500 至 600×600 | TCGA |
| TNBC | ✗ | 50 | 4,022 | 40× | 1 | 512×512 | Curie Inst. |
| CRCHisto | ✗ | 100 | 29,756 | 20× | 1 | 500×500 | UHCW |
| Janowczyk | ✗ | 143 | 12,000 | 40× | 1 | 2000×2000 | n/a |
| Crowdsource | ✗ | 64 | 2,532 | 40× | 1 | 400×400 | TCGA |
| CryoNuSeg | ✗ | 30 | 7,596 | 40× | 10 | 512×512 | TCGA(原文口径) |
| NuInsSeg | ✓(全量) | 665 | 30,698 | 40× | 31 | 512×512 | MUV |
(TCGA=The Cancer Genome Atlas;UHCW=University Hospitals Coventry and Warwickshire;MUV=Medical University of Vienna)
4.1a 四个重点对手的逐个对照
对 MoNuSeg:规模型经典 vs 覆盖型新贵。MoNuSeg 是 2018 年挑战赛产物:44 张 1000×1000 tile、28,846 核、来自 TCGA 的 7 器官(论文 Table 1 计 9 类)。它的权威性来自「被引用最多」——几乎所有核分割论文都在它上报告 AJI。NuInsSeg 对它的优势是覆盖(31 对 9)与规格统一(512² 对 1000²),劣势是社区积累的基线数量。实践建议:在 NuInsSeg 上训练、在 MoNuSeg 上零样本测试,是成本最低的泛化证明。
对 MoNuSAC:唯一的核数冠军与唯一有 vague 血统的对手。MoNuSAC(2020 挑战赛)以 31,411 核微弱领先 NuInsSeg 的 30,698,且是唯一在部分测试集上提供 vague 标注的先例。它的麻烦是 tile 尺寸散布(81×113 到 1422×2162)与四器官窄覆盖。NuInsSeg 与它的正确关系是「模糊区协议的继承与推广」——从 partial 推到 full,从测试集专属推到训练可用。
对 CoNSeP:单器官深度 vs 多器官广度。CoNSeP(2019,UHCW)只有结直肠一种组织 41 张,但标注含核型分类(五类核:炎症/结缔/上皮/死核/其他)。做「核是什么类型」的研究它仍不可替代;做「核在哪里、有几个、边界在哪」的跨器官研究,NuInsSeg 的广度碾压。
对 CryoNuSeg:同门师兄。30 tiles/7,596 核/10 器官的冰冻切片集,标注流程同门(同一 procedure)。它的独特价值在「冰冻 vs 石蜡」的染色形态轴——同一团队、同一流程、不同制片工艺,正好构成一组受控对比。同门之间不竞争:CryoNuSeg 管工艺对比,NuInsSeg 管规模与覆盖。
4.2 四个维度的差异化卖点
把这张表横竖读一遍,NuInsSeg 的位置可以压缩成四句话:
- 覆盖面第一:31 类器官/组织,是第二名 MoNuSeg(9)的三倍余;且是唯一引入小鼠样本的 H&E 核分割数据集——跨物种泛化实验只有在这里不用凑数。
- 规模第一梯队:665 张 tiles 是全场最多(MoNuSAC 209、Janowczyk 143 次之);核数 30,698 仅次于 MoNuSAC 的 31,411,稳居第二。
- 唯一的全量模糊区掩膜:MoNuSAC 的 vague 标注只覆盖部分测试集,其余十个数据集干脆没有——NuInsSeg 是唯一在全部 tiles 上提供 ambiguous area mask 的。
- 统一规格:全部 512×512(MoNuSAC 的 tile 尺寸从 81×113 一路散到 1422×2162,做 batch 训练要自己裁或补),对训练管线最友好。
4.3 选型建议:什么任务配什么数据集
- 做多器官/跨组织泛化:NuInsSeg 为主力,MoNuSeg(TCGA,9 器官)做外部测试集——两者组织来源独立,正好构成跨库验证。
- 做实例分割方法研究(含边界不确定性):NuInsSeg + MoNuSAC(它至少在测试集上有 vague 类,可与 NuInsSeg 的全量口径对齐)。
- 做结直肠专项:CoNSeP 的标注深度(含核型分类)仍是首选,NuInsSeg 的结肠 12 张只够做泛化验证。
- 做跨染色/跨扫描域鲁棒性:NuInsSeg(TissueFAXS 扫描)与 MoNuSeg(TCGA 多中心扫描)扫描链不同,天然构成域偏移对。
- 前作 CryoNuSeg:30 tiles 冰冻切片,适合做「冰冻 vs 石蜡」染色形态对比小样本实验,不建议作训练主力。
三个组合拳实战场景
把上面的选型建议落成三个可以直接执行的研究设计:
- 跨器官泛化画像:NuInsSeg 官方五折改为 leave-one-organ-out(31 折太重,可按 §2.2 的系统分组做 6 组)——报告每个系统组的 AJI 下降幅度,回答「哪些组织的核形态最难迁移」。对照集:CoNSeP(完全未见过的机构与染色)。
- 模糊区敏感度实验:同一模型同一划分,训练/评估各切换「排除 vs 强行归属」两种模糊区口径,报 2×2 四组数字——量化 ambiguous mask 的实际收益,这是论文没做、但数据完全支持的自助实验。
- 跨物种零样本:human 五折训练 → mouse 193 张零样本测试(及反向),与「同器官跨物种」(human kidney↔mouse kidney)配对——核形态的物种差异与器官差异哪个更大,一套实验两份答案。
§5 基准实验:六模型、三指标、一个意外的冠军分离
5.1 六模型五折基准总表
全部基准基于同一套五折 KFold(random_state=19,每折 133 张)交叉验证,指标为 Dice(语义相似度)、AJI(aggregated Jaccard index,实例级聚集核度量)、PQ(panoptic quality,全景质量)。论文 Table 3 转录:
| 模型 | 参数量 | Dice | AJI | PQ |
|---|---|---|---|---|
| Shallow U-Net | 1.9M | 78.8 | 50.5 | 42.7 |
| Deep U-Net | 7.7M | 79.7 | 49.4 | 40.4 |
| Attention U-Net | 2.3M | 80.5 | 45.7 | 36.4 |
| Residual attention U-Net | 2.4M | 81.4 | 46.2 | 36.9 |
| Two-stage U-Net | 3.9M | 76.6 | 52.8 | 47.2 |
| Dual decoder U-Net | 3.5M | 79.4 | 55.9 | 51.3 |
模型架构侧记:官方开源的 shallow 与 deep U-Net 都在 encoder/decoder 的每个卷积层间加了 dropout 层,区别在深度(encoder 分别 4 与 5 个卷积块);attention/residual attention U-Net、two-stage U-Net、dual decoder U-Net 按各自原论文实现。论文特意强调全部模型跑同一五折方案以便横向可比。
六模型逐个速读
| 模型 | 一句话架构画像 | 在这套数据上的表现逻辑 |
|---|---|---|
| Shallow U-Net(1.9M) | 4 块 encoder 的经典 U-Net + 全程 dropout | 基线担当;Dice 78.8 不难看,实例指标平庸 |
| Deep U-Net(7.7M) | 5 块 encoder 的加厚版 | 加深只换来 Dice +0.9,AJI 反降 1.1——深度不是这里的瓶颈 |
| Attention U-Net(2.3M) | 跳跃连接加注意力门 | Dice 涨到 80.5,但 AJI/PQ 反而是六模型最低档——注意力把像素磨亮了、实例没分开 |
| Residual attention U-Net(2.4M) | 注意力门+残差连接 | Dice 冠军 81.4;实例指标仍平平——语义与实例目标冲突的又一证据 |
| Two-stage U-Net(3.9M) | 先分割后分离的两阶段 | Dice 垫底 76.6 但 AJI 52.8/PQ 47.2 双亚军——为实例分离牺牲语义平滑 |
| Dual decoder U-Net(3.5M) | 双解码器分管分割与实例 | AJI/PQ 双冠军 55.9/51.3——实例导向架构与「核挤核」场景的正确匹配 |
(表内数字为论文 Table 3 原值;「表现逻辑」列为条目解读,供选型参考,非论文原文。)
误差形态的定性归纳
论文虽未给逐器官误差表,但从指标结构与数据特性可归纳三条定性预期,供你复跑时对照验证:
- 超高密档(mouse spleen/thymus)是 AJI 的天然洼地——核挤核场景下,任何漏分水岭的后处理都会把相邻实例粘成一团,AJI 对这种粘连的惩罚远重于 Dice。
- 低密档(muscle/umbilical cord/cerebrum)是假阳性的放大器——稀疏场景下少数误检就拉低精确率,PQ 里「不匹配的预测实例」直接计零。
- 火棉胶厚片(15-20 μm 的 10 类)是模糊边界重灾区——z 轴堆叠让核边界在光学上先天含糊,这批图上 ambiguous mask 的存在感最强。
5.2 冠军分离:语义冠军不等于实例冠军
这张表最有信息量的地方不是某个模型的绝对分数,而是冠军不在同一个模型身上:
- Dice 冠军是 Residual attention U-Net(81.4)——注意力加残差把像素级分割打磨到了极致,但它的 AJI(46.2)与 PQ(36.9)在三强里垫底。
- AJI/PQ 冠军是 Dual decoder U-Net(55.9/51.3)——双解码器结构在「把相邻核实例分开」这件事上拉开了近 10 个 AJI 点,虽然它的 Dice(79.4)只排第四。
- Two-stage U-Net 是 AJI/PQ 亚军(52.8/47.2)但 Dice 垫底(76.6)——两阶段先分割后分离的设计,牺牲语义平滑换取实例可分性。
解读一句话:在这个多器官、核密度从 5.9 到 236.7 核/patch 的数据上,「像素贴合」与「实例分得开」是两个部分冲突的目标。你报告哪个指标,就决定了哪个模型是你的 SOTA——引用时务必写明指标名(坑 7)。
5.3 复现栈与 kernels
| 项 | 版本/入口 |
|---|---|
| 深度学习框架 | TensorFlow 2.6.2 / Keras 2.6.0 |
| 划分与指标 | scikit-learn 0.23.2(KFold)、scikit-image 0.19.1 |
| 数据增强 | Albumentations 1.1.0 |
| 数据处理/绘图 | Pandas 1.3.5、Matplotlib 3.5.1 |
| Kaggle kernels | 3 个官方 kernel:EDA 数据探索 + 两个 CV 训练/评估 kernel(论文 Technical Validation 给出入链,挂 ipateam/nuinsseg datasetId=1911713 下) |
| GitHub | masih4/NuInsSeg:掩膜生成脚本(MATLAB)+ shallow/deep U-Net 训练代码(created 2022-01-05,last push 2024-07-15) |
复现路径建议:先跑 Kaggle 上的 EDA kernel 熟悉目录结构与掩膜读取(labeled mask 看起来发黑是正常的),再拉 GitHub 代码到本地按官方 fold 划分训练。软件栈是 2022 年前后的 TensorFlow 生态,在更新的 CUDA/驱动上安装 TF 2.6.2 若遇阻,可换 tensorflow[and-cuda] 容器或把代码迁移到 Keras 3——但迁移后指标可能与论文有微小漂移,对标论文数字时注意。
数据包内容速览
Kaggle 包(v5,1.8 GB,48.4k files)按 README 描述包含:raw image patches(原图)、raw ImageJ ROI files(矢量轮廓 zip)、十个掩膜文件夹(§2.4 字典表)、ambiguous masks。核心规律是同一 patch 的原图与各掩膜同名前缀对应,按文件名 join 即可组 batch,不需要额外索引表;label 类掩膜按像素值读取(显示发黑是正常现象)。
6.3a 一行取数与最小复现路径
# 1) 下载数据(Kaggle CLI,两入口任一)
kaggle datasets download -d masih4/nuinsseg --unzip -p ./nuinsseg_data
# 2) 取代码
git clone https://github.com/masih4/NuInsSeg.git
# 3) 加载官方五折划分(random_state=19),按 README 推荐方案训练
# 4) 对标论文 Table 3 时注明指标名(Dice vs AJI vs PQ)
5.4 三个指标到底在量什么
读 Table 3 之前先把三个指标的区别说透——它们的差异正是「冠军分离」现象的根源:
| 指标 | 度量对象 | 对什么错误敏感 |
|---|---|---|
| Dice | 像素级前景重叠度(语义) | 欠分割/过分割的像素量;不关心实例边界粘连 |
| AJI | 实例级聚集 Jaccard | 预测实例与真值实例的匹配质量;对相邻核粘连极敏感(一粘一大片全扣) |
| PQ | 分割质量 × 识别质量 | 实例匹配成功的部分算 SQ、不匹配的直接计零;对假阳性实例零容忍 |
同一组预测在这三个指标上可以给出完全相反的排名(Table 3 已实证)。写论文时只报 Dice 是核分割文献的老毛病——NuInsSeg 三指标并报的做法值得跟随。
5.5 这套基准的边界
三条诚实的边界声明:① 六模型全是 2022-2023 年的 U-Net 家族,不含 transformer 系(如 TransUNet/Swin-UNet)与细胞核专用后处理,它不是当前 SOTA 榜单,而是「同一套划分下可比的参照系」;② 评估为五折 CV 的聚合结果,论文未按器官分层报告——你自己复跑时按器官分层(尤其 mouse spleen/thymus 高密度组)会看到显著的分数跨度;③ 基准用 binary/weighted 掩膜训练、labeled 掩膜评估,ambiguous 区的处理口径论文未详述——若你采用 §3.3 的排除口径,数字会与论文有系统性小差异,注明即可。
复现自查五条
- 划分来源:是否加载官方 random_state=19 五折(而不是自己 random split)?
- 评估掩膜:是否用 label masks modify(而非重叠区独立编号版)?
- 模糊区口径:训练/评估各自是否声明(三选一,见 §3.3 表)?
- 指标实现:AJI 的实例匹配实现是否与论文一致(实现差异常见 1-3 分漂移)?
- 版本锁定:报告数字时是否注明数据版本(v5)与代码 commit/日期?
§6 获取与许可:双入口、双许可、一条主链路
6.1 Kaggle 数据本体:双入口并存
数据托管在 Kaggle,存在两个入口:
- 论文口径(Data Records 原文):
kaggle.com/datasets/ipateam/nuinsseg——机构账号 ipateam,官方 kernels 挂在其 datasetId=1911713 名下; - 一作个人口径(实测):
kaggle.com/datasets/masih4/nuinsseg——v5,1.8 GB,48.4k files,更新频率 Annually,Usability 评分 8.75,license 标注 CC BY 4.0。
两入口的关系论文未明示(机构主仓/个人镜像的先后论文未写),检索者任取其一即可;引用 license 时以你实际下载页面的标注为准(坑 5 的另一半)。
| 对照项 | ipateam/nuinsseg(论文口径) | masih4/nuinsseg(实测口径) |
|---|---|---|
| 账号性质 | 机构(研究组) | 一作个人 |
| 出处 | 论文 Data Records+Technical Validation(kernels 挂 datasetId=1911713) | Kaggle 检索实测 |
| 实测版本/体量 | 未逐项实测 | v5 / 1.8 GB / 48.4k files |
| license 页面口径 | 以页面为准 | CC BY 4.0 |
| 使用建议 | 引用论文时给此链 | 下载取数走此链(或任一) |
6.2 GitHub 代码:MIT
github.com/masih4/NuInsSeg,MIT 许可,包含 ImageJ ROI 到十种掩膜的 MATLAB 2020a 生成脚本与 shallow/deep U-Net 训练代码。仓库 created 2022-01-05、last pushed 2024-07-15(抓取时点 40 stars / 3 forks)。MIT 允许商用、修改、再分发,仅要求保留版权声明——与数据的 CC BY 4.0 宽松度对齐,整条链路没有 NC/ND 之类的收紧条款。
6.3 HuggingFace:没有官方镜像
截至抓取时点(2026-10-04),HuggingFace/HF-Mirror 上没有 NuInsSeg 的官方数据集仓库(搜索返回空)。如果你的管线假设「所有数据集都在 HF 上 load_dataset」——这个假设在这里不成立,直接走 Kaggle 下载(坑 6)。Kaggle CLI 一行取数:
kaggle datasets download -d masih4/nuinsseg --unzip -p ./nuinsseg_data
6.4 许可合规要点
- 数据 CC BY 4.0:署名(引用论文 DOI 10.1038/s41597-024-03117-2)即可商用/修改/再分发;衍生数据集建议同样以 CC BY 4.0 回馈。
- 代码 MIT:保留版权与许可声明即可。
- 论文:Scientific Data 开放获取,文本引用遵循 CC BY 惯例。
- 伦理口径:人类切片为教学用途存档(论文原文 no ethic votum applied,即无需伦理审查条款),使用数据时无需额外伦理批件,但不得试图反推供体身份——数据集不含人口学元数据,这一条实际风险很低。
- 再分发注意:CC BY 4.0 允许再分发,但 Kaggle 页面的版本演进(Annually)意味着你镜像的可能不是最新版——再分发时注明你 based on 的版本号(v5)与抓取日期。
6.5 商用四问四答
问:能拿它训练商业产品吗? 能。CC BY 4.0 数据 + MIT 代码都允许商用;署名义务通过引用论文 DOI(10.1038/s41597-024-03117-2)履行。
问:衍生数据集(再标注/子集/增强版)可以发布吗? 可以,衍生数据建议同样 CC BY 4.0 并注明 based on NuInsSeg v5(版本与抓取日期)。
问:模型权重有传染性吗? 没有。CC BY 4.0 不是 copyleft(不是 GPL 式条款),在它上面训练的模型权重不受其约束,商用分发无需开放权重。
问:要把数据再打包进自己的平台吗? 技术上允许,但注意两点:更新频率 Annually 意味着上游会动;论文口径的 ipateam 入口与个人 masih4 入口并存——再打包时声明你的快照来源与版本,避免用户把你的镜像误当上游。
§7 生态与影响:一个团队、两个数据集、一条技术线
7.1 团队谱系:CryoNuSeg → NuInsSeg
NuInsSeg 不是凭空出现,它是 Mahbod 团队核分割数据集系列的第二代。第一代 CryoNuSeg(Computers in Biology and Medicine 2021;132:104349)用冰冻切片做了 30 tiles、7,596 个核、10 器官的实例分割数据集——冰冻组织保留更多抗原与形态细节但制备更难。NuInsSeg 在三个方向全面换代:石蜡/火棉胶常规切片的更大规模(665/30,698/31 类)、十种衍生掩膜的产品化输出、以及全量模糊区掩膜的标注学创新。两代的标注流程(ImageJ freehand + 学生标注 + 资深细胞生物学家复核)一脉相承,论文明确说 NuInsSeg 沿用了 CryoNuSeg 建议的标注 procedure。
7.2 资助与算力
论文致谢与 README 披露的支撑结构:FFG(奥地利研究促进署)grant 872636 提供经费——它是项目「Deep Learning-based knowledge transfer methods for nuclei segmentation in microscopic images」(DeepNucleiDetection,项目页 projekte.ffg.at/projekt/3258628)的一部分;NVIDIA 捐赠 GPU 硬件;TissueGnostics 的扫描设备链完成数字化。人类切片由 Adolf Ellinger(MedUni Vienna 解剖与细胞生物学中心)自教学标本库提供、扫描件存于病理生理与过敏研究所机构库,小鼠样本来自 8 周龄雄性 C57BL/6J。这是一套典型的欧洲公立大学「小经费+设备合作+标本库存量」组合——它也解释了数据集的形态选择:用存量教学切片(无伦理负担、零采集成本)换取标注人力集中在质量上。
7.3 社区采用与可见度
数据发布于 Kaggle(Usability 8.75)并配套 3 个官方 kernels(EDA + 两个 CV 训练/评估),GitHub 代码库持续维护至 2024-07(抓取时点 40 stars / 3 forks)。Scientific Data 的正式发表(2024-03)与 arXiv 预印本(2023-08)双轨索引,检索时两条都通向同一 DOI 10.1038/s41597-024-03117-2。
7.4 命名辨析:Ins 是 instance
NuInsSeg 的构词是 Nuclei + Instance + Segmentation——「核·实例·分割」。名字里没有「浸润(infiltration)」「颅内(intracranial)」也没有「脑(brain)」;数据里虽有 24 张脑组织 patch(小脑 12 + 大脑 12),但只占全量的 3.6%。凡在二手资料里看到「脑浸润/胶质细胞/MRI」等描述,一律回到论文标题与 Kaggle 页面核对(坑 1 的根因就在这类二手转述)。
7.5 DeepNucleiDetection:数据集背后的项目
NuInsSeg 是 FFG 项目「Deep Learning-based knowledge transfer methods for nuclei segmentation in microscopic images」(DeepNucleiDetection,grant 872636)的产出之一——项目名里的「knowledge transfer(知识迁移)」与数据集的设计取向完全对得上:多器官覆盖、跨物种样本、固定划分,全是为「迁移好不好做」而设的实验床。CryoNuSeg(冰冻)与 NuInsSeg(石蜡/火棉胶)一先一后出自同一项目脉络,检索者把两个数据集连同项目主页一起看,能更完整地理解团队的研究议程:不是「又一个数据集」,而是「核分割知识迁移的基础设施」。
§8 方法学启示:三条可迁移的经验
8.1 一次标注、十种消费:同源多形态导出
NuInsSeg 把标注经济学做对了:真正贵的是那 30,698 次 freehand 描边,而导出成 binary/labeled/distance/weighted 等十种形态的边际成本接近零。任何标注团队都应复制这个模式——原始标注保持最高信息密度(实例级矢量轮廓),任务特化形态全部派生。反例是直接标注 binary mask:信息在源头就被压扁,后面想要实例级就得推倒重来。
迁移检查单(把同源多形态搬回你的标注项目):
- 原始层只存一种东西:实例级矢量轮廓(ROI/COCO 多边形/GeoJSON 均可),它是唯一需要终审的对象;
- 派生层全部脚本化:binary/labeled/距离图/权重图由脚本从原始层再生,禁止手改派生层;
- 版本对齐:脚本与数据同版本号发布,掩膜再生可复现;
- 命名即文档:文件夹名写清处理语义(NuInsSeg 的 without border / erode / modify 命名法可直接抄);
- 重叠区政策提前定:独立编号(label masks 式)还是强制归属(modify 式),评估用哪个,写进 README。
8.2 把「不确定」画出来:模糊区的显式化
ambiguous area mask 是可以跨数据集复制的方法论:与其让标注员在模糊像素上硬猜(猜错成为系统性噪声),不如给他第四个选项——「这算模糊区」。三个直接收益:训练信号更干净(排除或降权)、评估更诚实(分口径报告)、不确定性研究有了 ground truth。MoNuSAC 在测试集上先做了 partial 版本,NuInsSeg 证明全量可行。做标注规范的设计者应当把「模糊区协议」当作与「类别定义」同级的必答题。
迁移检查单(把模糊区协议搬回你的标注项目):
- 定义先行:模糊区的判定标准(接触/重叠/染色不可辨)写成一句话贴在标注指南首页;
- 独立通道:模糊区与类别标注分离存储,不占用类别 ID;
- 全量执行:只给测试集做(MoNuSAC 式)会限制训练端用法——除非你明确只做评估;
- 双口径评估:上线即同时报「含模糊区」与「排除模糊区」两套指标;
- 占比监控:模糊区像素占比是标注质量的间接温度计——某批图占比突然升高,先查染色流程。
8.3 防偏与可复现的两个小开关
两个容易被忽略、成本极低的工程决定:其一,明确拒绝半自动标注(论文原话:防止对半自动方法的隐藏偏差)——AnnotatorJ 这类工具当然快,但会让标注分布带上模型先验的印子;其二,划分固定随机种子并随数据发布(random_state=19)——划分自由度是复现性最隐蔽的漏洞,官方划分表让「论文数字 vs 我的数字」之间不存在借口。这两个开关没有技术含量,全看纪律。
迁移检查单(把这两个开关搬回你的项目):
- 半自动可以用,但要隔离:预填充结果仅作「候选」,标注员逐个确认/修改,且记录哪些是确认件、哪些是手绘件——将来可量化半自动偏差;
- 完全拒绝也是合理选项(NuInsSeg 的选择),前提是标注预算撑得住;
- 划分代码与数据同仓发布,种子写死在 README 与脚本里;
- 划分维度想清楚:随机划分适合 iid 假设成立时;器官/患者级划分才能回答泛化问题——NuInsSeg 选了前者,你的任务未必;
- 发布时把「划分方式」写进数据卡的第一屏,别让用户翻论文才找到。
§9 与库内条目的关系
9.1 主互链(同任务同模态)
| 库内条目 | rid | 与 NuInsSeg 的关系 |
|---|---|---|
| MoNuSeg | 30 | 同任务 H&E 核分割的经典基准(44 tiles/28,846 核/9 器官/TCGA);NuInsSeg 论文 Table 1 的头号对比对象,跨库泛化验证的标配外部测试集 |
| CoNSeP | 228 | 同任务单器官(结直肠)深度标注代表(41/24,319),含核型分类;论文 Table 1 对比对象 |
| PanNuke | 218 | 大规模泛癌核实例(半自动标注);与 NuInsSeg 形成「手工精标小集合 vs 半自动大集合」的方法学对照 |
| Lizard | 238 | 六数据集聚合的核实例集合(含 CoNSeP 等成分),实例质量分级标注;跨库评估常用 |
| NuCLS | 248 | 乳腺癌核标注的多观察者/多模型对照数据集;与 NuInsSeg 的「单终审」口径形成标注方法学互补 |
五条主链的阅读动线,按你从 NuInsSeg 出发后的去向:
去 MoNuSeg(rid 30)——当你需要「多中心 TCGA 域」的外部验证:NuInsSeg 单中心 TissueFAXS 扫描的模型,拿去 MoNuSeg 的 44 张 tile 上零样本跑一遍,AJI 掉多少就是单中心偏差的量化值。反向(MoNuSeg 训练→NuInsSeg 测试)顺带检验 1000×1000 大 tile 训练的模型对 512² 小图输入的尺度适应性。
去 CoNSeP(rid 228)——当你从「核在哪里」进阶到「核是什么类型」:CoNSeP 五类核型(炎症/结缔/上皮死核等)标注是 NuInsSeg 没有的维度。两个数据集的结直肠子集(NuInsSeg 12 张 patch 对 CoNSeP 41 张)可以拼一个「同器官、两套标注哲学」的对照。
去 PanNuke(rid 218)——当你的问题是「精标能换多少精度」:PanNuke 以半自动流水线换来数十万核的规模,NuInsSeg 以全手工换来边界质量与模糊区协议。同任务、两端的标注经济学,任何关于「标注预算怎么花」的论证都需要这一对参照。
去 Lizard(rid 238)——当你要做跨库聚合评估:Lizard 本身聚合了包括 CoNSeP 在内的六个来源并带实例质量分级,NuInsSeg 未被纳入其中——把 NuInsSeg 按其质量分级协议标注后接入,是一个现成的社区贡献点。
去 NuCLS(rid 248)——当你研究标注可靠性本身:NuCLS 提供多观察者+多模型的一致性数据,恰好补上 NuInsSeg 缺双标子集的短板;两篇合读,可以完整重构「核标注的不确定性从何而来、往哪去」。
9.2 备选互链(同模态或同任务邻接)
crag(208,甲状腺结节超声——任务相邻的分割数据)、glas(196,腺体分割——组织学分割上游任务)、bcss(258,乳腺癌 WSI 语义分割)、osteosarcoma(188,骨肿瘤 H&E 核检测——任务同型)、lc25000(178,肺结肠组织学分类)、digestpath(338,消化管道病理 patch 集)、paip(108,肝癌 WSI 分割挑战)、quilt-1m(51)/hest-1k(522,病理多模态/空间转录组——上游语境)。
9.3 家族导航说明
- 库内暂无 CryoNuSeg(前作)与 MoNuSAC/Kumar/CPM-15/CPM-17/TNBC/CRCHisto 的条目,本条目正文提及它们时不造内链(坑 9 的另一半)。
- 互链方向:本条目 ← monuseg/consep/pannuke/lizard/nucls 双向引用;发布后由主会话重建病理分割家族导航。
9.4 互链发布检查单(给发布侧)
- 本条目 relatedLink 已内嵌 8 条(monuseg/consep/pannuke/lizard/nucls/crag/glas/bcss),发布时校验 slug 与 rid 映射未漂移;
- monuseg(30)/consep(228)/pannuke(218)/lizard(238)/nucls(248) 五条目的出链建议补指本条目(双向);
- 家族导航重建时以「病理分割」为轴:语义分割组(glas/bcss/digestpath)、实例分割组(本条目/monuseg/consep/pannuke/lizard/nucls/osteosarcoma)、影像相邻组(crag);
- 若 CryoNuSeg 未来建条,触发附录 K 优先级 5。
§10 避坑清单:九个已踩过或已存照的坑
坑 1:「脑浸润胶质细胞核实例分割数据集(MRI)」是错误口径。实核:H&E 组织学核实例分割,31 类器官/组织、无 MRI、无胶质瘤专项;唯一事实内核是含小脑 12 张 + 大脑 12 张脑组织 H&E patch。根因是二手转述把「脑组织切片」放大成「脑数据集」再套上影像学想象。引用时以论文标题与 Kaggle 页为准。
坑 2:mouse 器官清单有两代口径,根因是 README 复制粘贴错误。GitHub README「Mouse organs:」标题下贴了 13 项(cerebellum/cerebrum/colon/…/melanoma/…)——但这其实是 human FFPE 13 类清单被误贴到 mouse 标题下(含 melanoma 等纯人类项目、缺 femur/fat/heart/spleen/thymus);论文 Table 2 与 Kaggle v5 Data Explorer 才是 8 个 mouse 器官(femur/fat subscapularis/heart/kidney/liver/muscle tibialis/spleen/thymus)。31 = 23+8 只在 8 口径下成立——照 README 的错贴清单引用会得出错误组合。
坑 3:核数有三种写法。摘要「>30,000」(约数)、Table 2 汇总行 30,698(精确)、Table 1 印刷「30.698」(欧洲千分位)。三种写法同指一个数;正式引用用 30,698 并注 Table 2。
坑 4:「31」有两层含义,别只取一层。论文 Data Records 写「from 31 human and mouse organs」(31 类器官),README 写「selected 31 whole slide images」(31 张 WSI)——调和结论:31 类器官、每类 1 张 WSI,共 31 张;从每张 WSI 的 2048×2048 FOV 池中选出 665 个裁为 512×512(1 FOV ≈ 1 patch)。只说「31 类器官」或只说「31 张 WSI」都只对了一半,「每张 WSI 恰好 21 个 patch」之类的均摊推算更是无据。
坑 5:许可与入口都是双轨。数据(Kaggle)CC BY 4.0、代码(GitHub)MIT,两者独立不要合并表述;Kaggle 入口有 ipateam/nuinsseg(论文口径)与 masih4/nuinsseg(个人账号,实测 v5/1.8 GB)两个,license 以你实际下载页面标注为准。
坑 6:HuggingFace 上没有官方镜像。HF/HF-Mirror 搜索返回空,「所有数据集都在 HF」的管线假设在这里失效;获取主链路是 Kaggle 下载 + GitHub 代码。
坑 7:Dice 冠军与 AJI/PQ 冠军是两个模型。Residual attention U-Net Dice 最高(81.4);Dual decoder U-Net AJI/PQ 最高(55.9/51.3)。转述基准时漏写指标名,「SOTA 是哪个模型」就会打架。
坑 8:通讯邮箱有两个口径。论文正文 amirreza.mahbod@dp-uni.ac.at(DPU Krems);arXiv 元数据另有 @meduniwien.ac.at 口径。学术联络以论文正文(dp-uni)为准。
坑 9:模糊区口径跨数据集不可比 + 前作无库内条目。在 NuInsSeg 上排除 ambiguous 区评估、在 MoNuSeg 上强行归属评估,两套分数不可直接排序;另外库内暂无 CryoNuSeg 条目,正文提及前作时不要造内链。
§11 总结
NuInsSeg 用三个决定换取了它在核分割数据集谱系里的位置:覆盖上,它把器官数从个位数推到 31 类并首次引入小鼠,让「跨器官/跨物种泛化」从思想实验变成可直接跑的实验;标注上,它坚持全手工 freehand、拒绝半自动捷径,并把模糊区显式化为全量掩膜,让「标注的不确定性」第一次成为可消费的数据资产;工程上,它以固定种子的五折划分和六模型三指标基准交付了一个「零自由度」的对照系。它不完美——单中心来源、无多观察者一致性、基准未含 transformer 系、Kaggle 双入口带来的版本管理小噪音——但在「拿到即可复现」这个 AI-Ready 的硬标准上,它是同类数据集中执行得最彻底的之一。
给三类读者的收束语:使用者,下载 v5、用官方 fold、对准指标名;标注团队,抄它的三件套——同源多形态导出、模糊区协议、固定种子划分;方法研究者,mouse spleen 的 236.7 核/patch 与胫骨肌的 5.9 之间,是一片还没被 transformer 认真犁过的试验田。
FAQ(高频问答 28 问)
Q1:NuInsSeg 是脑数据集吗?
不是。它是多器官 H&E 组织学核实例分割数据集;脑组织仅占 24/665 张(小脑 12 + 大脑 12),且是组织学切片而非 MRI(坑 1)。
Q2:数据集多大、什么格式?
665 张 512×512 8-bit RGB PNG patch + raw ImageJ ROI zip + 十种衍生掩膜 + ambiguous masks;五折划分以代码形式随 GitHub/Kaggle 发布;Kaggle v5 打包 1.8 GB、48.4k files。
Q3:核实例到底多少个?
30,698(论文 Table 2 汇总行精确值;摘要写「>30,000」是约数,Table 1 印作欧洲千分位 30.698)。
Q4:覆盖哪些器官?
23 类人类组织(含 1 类黑色素瘤肿瘤组织)+ 8 类小鼠器官(C57BL/6J:股骨、肩胛下脂肪、心、肾、肝、胫骨前肌、脾、胸腺)。逐类 patch/核数见 §2.2。
Q5:是手工标注还是半自动?
全手工:ImageJ 1.53 ROI Manager freehand 逐核描边,3 名细胞生物学背景学生执行、资深细胞生物学家终审;论文明确为避免偏差拒绝半自动工具。
Q6:十种掩膜都要下载吗?
按需取。语义分割用 binary,实例分割用 labeled,边界处理用 border-removed/erode/weighted,回归辅助用 distance map,模糊区研究用 ambiguous mask;原始 ROI zip 适合自定义再加工。
Q7:ambiguous area mask 怎么用?
三种用法:损失排除区(最常用)、软标签/不确定性输入、评估分口径(严格含模糊区 vs 宽容排除)。详见 §3.3。
Q8:官方基准怎么说?
六模型 U-Net 家族五折 CV:Residual attention U-Net Dice 最高 81.4;Dual decoder U-Net AJI 55.9、PQ 51.3 最高。注意两个冠军不是同一个模型(坑 7)。
Q9:和 MoNuSeg 怎么选?
多器官/跨物种泛化、需要模糊区协议、要统一 512×512 规格——选 NuInsSeg;要 TCGA 多中心扫描域、经典外部测试集地位——MoNuSeg。两者互补不互斥。
Q10:license 是什么?能商用吗?
数据 CC BY 4.0(署名即可商用/修改/再分发)、代码 MIT。整条链路无 NC/ND 限制。
Q11:从哪里下载?
Kaggle:ipateam/nuinsseg(论文口径)或 masih4/nuinsseg(个人账号,实测 v5);代码在 github.com/masih4/NuInsSeg。HuggingFace 无官方镜像(坑 6)。
Q12:训练前必须做什么预处理?
基本不需要:PNG 已统一 512×512、8-bit RGB。建议只做:按官方 fold 加载划分、按像素值读 labeled mask(显示发黑正常)、决定 ambiguous 区处理口径。
Q13:五折划分可以自己重新切吗?
技术上可以,但你的数字将不可与论文对照——官方用 KFold(random_state=19),划分代码与 fold 表随数据发布,直接加载即可。
Q14:为什么有些 patch 核特别少?
器官本身决定:小鼠胫骨前肌 5.9 核/patch、人脐带 9.6;而小鼠脾 236.7、胸腺 223.7。按核密度分层采样与分指标报告,别用全集均值骗自己。
Q15:火棉胶包埋那批图有什么特别?
10 类人类组织是火棉胶包埋 15-20 μm 厚切片(其余 13 类 FFPE 4-5 μm),组织深度约 4 倍,核在 z 轴堆叠、截面上挤压重叠——ambiguous 区的高发区,也是检验实例分离能力的好样本。
Q16:有患者/人口学元数据吗?
没有。人类切片来自教学标本库存档(论文注明无需伦理审查),数据不含年龄、性别、临床诊断等元数据;小鼠部分已知 8 周龄雄性 C57BL/6J。
Q17:可以用来做核型分类吗?
不能直接做——标注只有实例轮廓没有类型标签(中性粒/淋巴/肿瘤核等)。要做分类需自行结合 CoNSeP(含核型)或 NuCLS(多观察者)。
Q18:代码栈太旧跑不起来怎么办?
官方栈 TensorFlow 2.6.2/Keras 2.6.0(2022 年生态)。新环境建议容器化复现;若迁移 Keras 3/PyTorch,指标可能与论文有微小漂移,对标论文时注明实现差异。
Q19:mouse 数据有什么独特价值?
唯一提供小鼠 H&E 核实例的公开数据集:同器官跨物种对照(肾/肝/脾两物种密度差异悬殊)与免疫器官高密度场景(脾/胸腺 220+ 核/patch)都只有这里能做。
Q20:数据会更新吗?
Kaggle 页标注更新频率 Annually,当前 v5(1.8 GB)。历史版本无公开快照,引用统计时锁定 v5 口径与抓取日期(2026-10-04)。
Q21:可以做核密度估计或计数任务吗?
可以,且有现成监督形态:distance map 天然适配密度回归,labeled mask 高斯化后可做 counting。注意按器官分层报告——全集均值 46.2 核/patch 没有意义(跨 5.9-236.7)。
Q22:tumor 样本(melanoma)要剔除吗?
看任务。做「正常组织核形态」研究时建议剔除(它是数据里唯一的恶性样本,12 张);做泛癌/泛组织分割时保留并按类别监控——它不代表癌种覆盖,只是表 2 里的一类。
Q23:两张脑组织图能当「脑数据集」用吗?
不能。小脑+大脑各 12 张共 24 张(3.6%),样本量与标注目标(全部核,非神经元分型)都不支持脑专项研究;需要脑组织核分割请找专项数据集(坑 1 的延伸)。
Q24:ambiguous mask 的像素占比大概多少?
论文未给全集统计(个别示例图甚至没有模糊区,README Fig 说明有此情况)。建议你下载后自己统计一次占比分布,作为是否启用排除口径的依据——这也是 EDA kernel 的合理扩展。
Q25:和 HoVer-Net/Cellpose 这类主流框架怎么配合?
官方基准只有 U-Net 家族,但数据格式通用:HoVer-Net 可直接吃 label masks modify(评估口径一致),Cellpose 可从 binary+距离图合成其流场输入。用第三方框架时注意报告掩膜版本(modify vs 非 modify)。
Q26:mouse 数据能和人类数据混训吗?
技术上无障碍(同为 512² H&E PNG),方法学上建议:先混训再按物种分层报告;或做 §4.3 的跨物种零样本。注意 mouse 只有 193 张(29%),混训时自然欠采样,重要结论要补重采样实验。
Q27:染色归一化(Macenko 等)需要做吗?
单中心数据内部变异小,五折内可不做;但拿去跨库测试(MoNuSeg/CoNSeP)时强烈建议做——扫描链不同是最大的域差源之一,归一化能分离「染色差」与「组织差」两种混淆因素。
Q28:出现 OOM 或训练不稳定怎么办?
先检查 masked loss 的实现(模糊区排除常用 tf.boolean_mask,写错形状会静默广播);再检查 labeled mask 的 ID 数量(labeled 掩膜像素值不是连续小整数,直接 n_classes=ID_max 会爆类别数——语义任务请用 binary 或去边版)。
快速参考卡(一屏速查)
# 取数
kaggle datasets download -d masih4/nuinsseg --unzip -p ./nuinsseg_data
git clone https://github.com/masih4/NuInsSeg.git
# 五折(官方口径)
# sklearn.model_selection.KFold(n_splits=5, shuffle=True, random_state=19)
# 每折 val=133 / train=532
| 我要… | 用哪个掩膜 | 关键提醒 |
|---|---|---|
| 语义分割 | mask binary(或去边版) | 模糊区口径先定 |
| 实例分割训练 | label masks(重叠区独立) | ID 非连续 |
| 实例评估 | label masks modify | README 明示的评估输入 |
| 边界精化 | weighted_maps(或 erode 版) | 与训练掩膜配对 |
| 密度/计数回归 | distance maps | 按器官分层报告 |
| 不确定性研究 | ambiguous masks | 三种用法见 §3.3 |
| 引用规模 | 30,698(Table 2) | 别用 >30,000/30.698 |
| 报 SOTA | 注明指标名 | Dice 冠军 ≠ AJI/PQ 冠军 |
| 引 license | 数据 CC BY 4.0 / 代码 MIT | 两轨分开写 |
| 找镜像 | HF 无;Kaggle 双入口 | ipateam(论文)/ masih4(实测) |
事实清单(硬事实 30 条)
- NuInsSeg 全称:A Fully Annotated Dataset for Nuclei Instance Segmentation in H&E Stained Histology Images。
- 论文发表于 Scientific Data(2024-03-14 在线,vol 11,Article 295),DOI 10.1038/s41597-024-03117-2;预印本 arXiv:2308.01760(v1,2023-08-03,仅一版)。
- 通讯作者 Amirreza Mahbod(论文正文邮箱 amirreza.mahbod@dp-uni.ac.at),团队来自 Danube University Krems、Medical University of Vienna 与 ACMT Wiener Neustadt,共 9 位作者。
- 数据规模:665 张 512×512 8-bit RGB PNG patch,30,698 个手工核实例(Table 2 汇总行;摘要口径「>30,000」)。
- 「31」的双重含义(已调和):31 类器官/组织 = 31 张 WSI(23 类人类组织 + 8 类小鼠器官各 1 张);论文 Data Records 写「from 31 organs」、README 写「selected 31 WSI」,两口径相容。
- human 部分 472 patch / 23,247 核 / 均值 49.3;mouse 部分 193 / 7,451 / 38.6;合计 665 / 30,698 / 46.2。
- 小鼠部分为 8 周龄雄性 C57BL/6J 的 8 器官:股骨、肩胛下脂肪、心、肾、肝、胫骨前肌、脾、胸腺(论文 Table 2 / Kaggle v5 口径;README 旧文本 13 器官口径已废弃)。
- 人类 23 类组织含 1 类肿瘤组织(melanoma,12 patch);含脑组织两类(小脑 12 patch/549 核、大脑 12/146);无 MRI、无胶质瘤专项。
- 标本来源:人类切片由 Adolf Ellinger 自 MedUni Vienna 解剖与细胞生物学中心(细胞生物学与超微结构研究系)教学标本库提供,长期教学用途、论文注明无需伦理审查。
- 制备双轨:10 类人类组织火棉胶包埋 15-20 μm 厚切片;13 类 FFPE 4-5 μm;小鼠全部 FFPE 4 μm;染色剂 ROTH(Austria)、封片 Entellan(Merck)。
- 扫描链:TissueFAXS(TissueGnostics, Austria;软件 v6.0)+ Zeiss Axio Imager Z1 + Plan-Neofluar 40×/0.75 NA(40× air)+ Baumer HXG40c 相机。
- patch 提取方式:扫描以 2048×2048 FOV 存储,资深细胞生物学家选代表性 FOV,每 FOV 中心裁切一张 512×512 patch,无损 PNG。
- 标注:ImageJ 1.53 ROI Manager freehand 逐核描边;3 名细胞生物学背景学生标注并检测模糊区,资深细胞生物学家(Isabella Ellinger)复核修正;明确拒绝半自动工具(如 AnnotatorJ)以防偏差。
- 衍生掩膜(README 官方十个文件夹口径,MATLAB 2020a 从 ImageJ ROI 生成):distance maps、label masks(重叠区独立编号)、label masks modify(重叠区归属单实例,评估用此版)、mask binary、mask binary without border(相邻核接触边界移除)、mask binary without border erode、overlay、stacked mask(3D mat)、weighted_maps 与 weighted_maps_erode;另有 ambiguous masks 与 raw ROI zip;生成代码公开于 GitHub。
- ambiguous area mask 为首个全量提供模糊区掩膜的核分割数据集;MoNuSAC 仅在其测试集部分图像提供(partial)。
- 划分:scikit-learn KFold(n_splits=5, random_state=19, shuffle=True),每折 133 张;划分代码随 Kaggle 与 GitHub 发布。
- 六模型基准(Table 3):Shallow U-Net 1.9M(Dice 78.8/AJI 50.5/PQ 42.7)、Deep U-Net 7.7M(79.7/49.4/40.4)、Attention U-Net 2.3M(80.5/45.7/36.4)、Residual attention U-Net 2.4M(81.4/46.2/36.9)、Two-stage U-Net 3.9M(76.6/52.8/47.2)、Dual decoder U-Net 3.5M(79.4/55.9/51.3)。
- 冠军分离:Dice 最佳为 Residual attention U-Net(81.4);AJI/PQ 最佳为 Dual decoder U-Net(55.9/51.3)。
- 官方软件栈:TensorFlow 2.6.2、Keras 2.6.0、scikit-learn 0.23.2、scikit-image 0.19.1、Albumentations 1.1.0、Pandas 1.3.5、Matplotlib 3.5.1。
- 获取:Kaggle 双入口——ipateam/nuinsseg(论文口径,kernels 挂 datasetId=1911713)与 masih4/nuinsseg(个人账号,实测 v5、1.8 GB、48.4k files、Annually、Usability 8.75、CC BY 4.0);HuggingFace 无官方镜像。
- 代码:github.com/masih4/NuInsSeg,MIT 许可,created 2022-01-05、last pushed 2024-07-15(抓取时点 40 stars/3 forks)。
- 资助:FFG grant 872636;NVIDIA GPU 捐赠;TissueGnostics 扫描设备支持。
- 前作:CryoNuSeg(Comput Biol Med 2021;132:104349),冰冻切片 30 tiles/7,596 核/10 器官;NuInsSeg 标注流程沿用其 procedure。
- Table 1 极值:NuInsSeg tiles 数 665 全场第一、器官数 31 全场第一、核数 30,698 仅次于 MoNuSAC 31,411;是唯一 vague mask 全量 ✓ 的数据集。
- 核密度极值:小鼠脾 236.7 核/patch、胸腺 223.7 最高;小鼠胫骨前肌 5.9、人脐带 9.6 最低。
- README 标注 SOP:ROI Manager 开 show all+labels → freehand selection → 逐核描边按 T 收录 → More→Save 导出 zip(每 .roi 文件一核);模糊区同流程另描。
- README 官方掩膜文件夹十个 + ambiguous masks + raw ROI zip;label masks 重叠区独立编号、label masks modify 重叠区裁决归属(评估用 modify 版,README 明示)。
- FFG grant 872636 属项目 Deep Learning-based knowledge transfer methods for nuclei segmentation in microscopic images(DeepNucleiDetection),项目页 projekte.ffg.at/projekt/3258628。
- README 的「Mouse organs」标题下 13 项清单系 human FFPE 13 类清单误贴(含 melanoma 等纯人类项目);权威 mouse 口径为论文 Table 2 的 8 器官。
- Scientific Data 引用卷期:volume 11, number 1, article/page 295(README BibTeX 口径),出版月日 2024-03-14。
术语表(22 条)
| 术语 | 释义 |
|---|---|
| 核实例分割(nuclei instance segmentation) | 同时判定每个像素是否属于核(分割)并区分每个核的个体身份(实例)的任务 |
| H&E 染色 | 苏木精-伊红染色:核蓝紫、胞质粉红,常规病理的标准染色 |
| WSI(whole slide image) | 全切片数字化图像;本数据集不直接用 WSI 而用其 FOV |
| FOV(field of view) | 扫描系统的单视野图像;TissueFAXS 按 2048×2048 FOV 存储 |
| ROI(region of interest) | 标注区域对象;ImageJ ROI Manager 中每个核存为一个多边形 ROI |
| freehand | ImageJ 的自由画笔描边模式,逐核手绘精确轮廓 |
| binary mask | 二值掩膜:核=1、背景=0,语义分割监督形态 |
| labeled mask | 编号掩膜:每个核一个整数 ID,实例分割监督形态 |
| distance map | 距离变换图:每像素取值为其到最近核边界的距离 |
| weighted mask | 加权掩膜:紧邻核的边界像素权重更高,用于加权损失 |
| ambiguous area mask | 模糊区掩膜:标注员无法可靠归属的像素区域,NuInsSeg 全量首创 |
| Dice | 语义分割相似度度量,2 |
| AJI(aggregated Jaccard index) | 实例级聚集 Jaccard:预测实例与真值实例逐对匹配后按面积聚合,核分割常用 |
| PQ(panoptic quality) | 全景质量:分割质量×识别质量的综合实例指标 |
| KFold 交叉验证 | 五折交叉验证:665 张分 5 组轮换训练/验证,每折 133 张 |
| FFPE | 福尔马林固定石蜡包埋,常规病理制片工艺,切 4-5 μm |
| celloidin(火棉胶) | 包埋介质,适合硬组织/大块组织,本数据集切 15-20 μm 厚片 |
| TissueFAXS | TissueGnostics 的活片扫描与定量分析平台 |
| C57BL/6J | 小鼠近交系标准品系;本数据集为 8 周龄雄性 |
| CryoNuSeg | 前作数据集:冰冻切片 H&E 核实例分割(2021) |
| MoNuSeg / MoNuSAC | 同领域经典数据集:TCGA 多器官核分割(2019)与其多器官多机构扩展挑战(2020) |
| AI-Ready | 数据可被 AI 管线直接消费的工程标准:可发现、可获取、可互操作、许可清晰、可复现 |
附录
附录 A:条目信息速查卡
| 项 | 值 |
|---|---|
| 条目名 | NuInsSeg |
| url_name | nuinsseg |
| 类型 | 数据集+基准+代码三件套(Kaggle 数据 / 六模型基准 / GitHub 工具链) |
| 论文 | Scientific Data 2024;11:295(doi:10.1038/s41597-024-03117-2) |
| 团队 | DPU Krems + MedUni Vienna + ACMT(通讯 Amirreza Mahbod) |
| 规模 | 665×512² patch / 30,698 核 / 31 类器官组织(23 human + 8 mouse) |
| 许可 | 数据 CC BY 4.0|代码 MIT|论文开放获取 |
| 抓取时点 | 2026-10-04 |
| 库内互链 | monuseg(30)/consep(228)/pannuke(218)/lizard(238)/nucls(248) 为主 |
附录 B:DAIMS 评估全表
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性 | 8 | Scientific Data 正式发表+arXiv 双索引、Kaggle 页元数据完整;但双入口(ipateam/masih4)与二手「脑 MRI」误传轻微分散检索信号 |
| A 可获取性 | 9 | Kaggle 公开直链(CC BY 4.0)+ GitHub 代码(MIT);1.8 GB 轻量、无需注册审核;仅 HF 无镜像减一分 |
| I 可互操作 | 9 | 十种掩膜形态覆盖语义/实例/回归/加权全任务谱;统一 512×512 PNG;MATLAB 掩膜生成脚本开放可再加工;唯一小碍是 stacked 3D mat 为 MATLAB 专有格式 |
| M 元数据质量 | 9 | 论文 Table 1/2/3 全硬数字、逐器官统计、设备链版本号齐全;三种核数写法(>30,000/30,698/30.698)与 mouse 器官两代口径在文档层有漂移但不影响数据本体 |
| S 可持续性 | 7 | Kaggle+GitHub 双平台稳定、代码维护至 2024-07;机构与一作双入口的长期归责略有含糊;Annually 更新频率下历史版本无快照 |
| 综合评级 | 8.4/10(优) | 公开直链+许可宽松+划分可复现+掩膜形态产品化,AI-Ready 四要素执行彻底;失分集中在文档口径漂移与平台归责含糊 |
附录 C:逐项证据链自证
| 关键数字/事实 | 来源 | 位置 |
|---|---|---|
| 665 patches/30,698 核/31 器官 | 论文 Data Records+Table 2 | ar5iv 全文(arXiv:2308.01760 排版版) |
| 逐器官 patch/核数(23+8 行) | 论文 Table 2 | 同上 |
| human 472/23,247/49.3、mouse 193/7,451/38.6 | 论文 Table 2 汇总行 | 同上 |
| 六模型 Dice/AJI/PQ 全表 | 论文 Table 3 | 同上 |
| 五折 KFold random_state=19、每折 133 张 | 论文 Technical Validation | 同上 |
| TissueFAXS/Axio Imager Z1/40×0.75/HXG40c/v6.0 | 论文 Methods(Sample acquisition) | 同上 |
| 2048² FOV 中心裁切 512² | 论文 Methods(Field of view and patch selection) | 同上 |
| ImageJ 1.53 freehand/3 学生/资深复核/拒绝半自动 | 论文 Methods(Generation of ground truth…) | 同上 |
| 火棉胶 15-20μm 10 类/FFPE 4-5μm 13 类 | 论文 Methods(Sample preparation) | 同上 |
| 教学标本/无需伦理审查 | 论文 Methods(Sample preparation) | 同上 |
| Kaggle ipateam/nuinsseg 与 kernels datasetId=1911713 | 论文 Data Records+Technical Validation | 同上 |
| masih4/nuinsseg v5/1.8GB/48.4k files/CC BY 4.0/Usability 8.75 | Kaggle 数据页实测 | kaggle.com 抓取 2026-10-04 |
| GitHub MIT/created 2022-01-05/pushed 2024-07-15/40 stars | GitHub API 实测 | api.github.com 抓取 2026-10-04 |
| FFG 872636/NVIDIA/Adolf Ellinger/Peter Pietschmann | 论文致谢 | ar5iv 全文 |
| TF 2.6.2/Keras 2.6.0 等软件栈 | 论文 Usage Notes | ar5iv 全文 |
附录 D:数据获取决策树
需求是什么?
├── 快速上手跑通第一个模型
│ └── Kaggle masih4/nuinsseg(或 ipateam/nuinsseg)→ 官方 EDA kernel → CV kernel
├── 本地深度定制训练
│ ├── 1) Kaggle 下载数据(CC BY 4.0)
│ ├── 2) GitHub clone 代码(MIT,含掩膜生成脚本+U-Net 训练)
│ └── 3) 加载官方 fold 划分(random_state=19),不要重切
├── 只需要某种掩膜形态
│ ├── 语义分割 → binary mask
│ ├── 实例分割/检测 → labeled mask(注意按像素值读取)
│ ├── 边界/加权策略 → erode/weighted/border-removed
│ └── 不确定性研究 → ambiguous area mask + 论文 §3.3 口径
├── 做跨数据集对比
│ └── MoNuSeg(库内 rid 30)/CoNSeP(228)/PanNuke(218)/Lizard(238)/NuCLS(248)
│ 注意统一模糊区口径(附录 H)
└── 想在 HuggingFace 上 load_dataset?
└── 没有官方镜像——走 Kaggle(坑 6)
附录 E:五折划分加载要点(代码骨架)
from sklearn.model_selection import KFold
import numpy as np
# 官方口径复现:random_state=19, shuffle=True
patch_ids = np.arange(665)
kf = KFold(n_splits=5, shuffle=True, random_state=19)
folds = list(kf.split(patch_ids)) # 每折 train 532 / val 133
for i, (tr, va) in enumerate(folds):
assert len(va) == 133 # 官方每折 133 张
# 用 fold i 的 va 做验证集,其余为训练集
要点:① 顺序敏感——先 shuffle 后切分由 KFold 内部完成,自己写随机置换可能顺序不同;② 跨框架迁移(PyTorch 等)时以上述索引为准重写 DataLoader,不要调用各框架自带 split;③ 论文数字是五折聚合,单折数字会偏离论文口径。
附录 F:ambiguous mask 三种用法(代码骨架)
import numpy as np
from PIL import Image
img = np.array(Image.open("patch.png")) # 512×512×3
amb = np.array(Image.open("ambiguous.png")) > 0 # 512×512 bool
# 用法 1:损失排除区(以 Dice loss 为例)
def dice_loss(pred, target, exclude=amb):
w = (~exclude).astype(np.float32) # 模糊区权重 0
inter = (pred * target * w).sum()
denom = (pred * w).sum() + (target * w).sum()
return 1 - 2 * inter / (denom + 1e-7)
# 用法 2:不确定性加权(模糊区降权而非全排除)
def soft_weight(alpha=0.3):
w = np.ones_like(amb, dtype=np.float32)
w[amb] = alpha # 模糊区权重 alpha∈(0,1)
return w
# 用法 3:评估分口径(严格 vs 宽容)
def dice_with_without_amb(pred, gt, amb):
d_all = dice(pred, gt) # 含模糊区(严格口径)
d_free = dice(pred[~amb], gt[~amb]) # 排除模糊区(宽容口径)
return d_all, d_free
报告建议:跨数据集对比时统一选一种口径并在表注声明;论文基准未细分口径,你的「宽容口径」数字略高于论文属预期。
附录 G:Table 1 里四个小众数据集速记
CPM-15(15 tiles/2,905 核/2 器官/TCGA)与 CPM-17(32/7,570/4 器官/TCGA)是两届核分割挑战的小规模训练集;Janowczyk(143/12,000/1 器官/2000×2000)是单器官大 tile 集;Crowdsource(64/2,532/1 器官/TCGA)为众包标注集。四者均无 vague mask,规模与覆盖都不构成 NuInsSeg 的替代品,列出仅供穷尽检索时对号。
附录 G2:31 类组织/器官速查卡(中英文+密度档)
| # | 组织/器官 | 物种 | patch | 核数 | 均值/patch | 密度档 |
|---|---|---|---|---|---|---|
| 1 | 小脑 Cerebellum | human | 12 | 549 | 45.8 | 中 |
| 2 | 大脑 Cerebrum | human | 12 | 146 | 12.2 | 低 |
| 3 | 结肠 Colon | human | 12 | 349 | 29.1 | 低 |
| 4 | 会厌 Epiglottis | human | 11 | 228 | 20.7 | 低 |
| 5 | 空肠 Jejunum | human | 10 | 874 | 87.4 | 高 |
| 6 | 肾 Kidney | human | 11 | 1,222 | 111.1 | 高 |
| 7 | 肝 Liver | human | 40 | 1,370 | 34.3 | 中 |
| 8 | 肺 Lung | human | 11 | 318 | 28.9 | 低 |
| 9 | 黑色素瘤 Melanoma | human | 12 | 533 | 44.4 | 中 |
| 10 | 肌肉 Muscle | human | 9 | 127 | 14.1 | 低 |
| 11 | 食管 Oesophagus | human | 47 | 2,046 | 43.5 | 中 |
| 12 | 腭扁桃体 Palatine tonsil | human | 12 | 1,045 | 87.1 | 高 |
| 13 | 胰腺 Pancreas | human | 44 | 2,178 | 49.5 | 中 |
| 14 | 腹膜 Peritoneum | human | 12 | 468 | 39.0 | 中 |
| 15 | 胎盘 Placenta | human | 40 | 1,966 | 49.2 | 中 |
| 16 | 唾液腺 Salivary gland | human | 44 | 3,129 | 71.1 | 高 |
| 17 | 脾 Spleen | human | 34 | 3,286 | 96.7 | 高 |
| 18 | 胃贲门 Stomach (cardia) | human | 12 | 671 | 55.9 | 中 |
| 19 | 胃幽门 Stomach (pylorus) | human | 12 | 441 | 36.8 | 中 |
| 20 | 睾丸 Testis | human | 12 | 380 | 31.7 | 中 |
| 21 | 舌 Tongue | human | 40 | 1,415 | 35.4 | 中 |
| 22 | 脐带 Umbilical cord | human | 11 | 106 | 9.6 | 低 |
| 23 | 膀胱 Urinary bladder | human | 12 | 400 | 33.3 | 中 |
| 24 | 股骨 Bone (femur) | mouse | 6 | 757 | 126.2 | 高 |
| 25 | 肩胛下脂肪 Fat (subscapularis) | mouse | 42 | 549 | 13.1 | 低 |
| 26 | 心 Heart | mouse | 28 | 738 | 26.4 | 低 |
| 27 | 肾 Kidney | mouse | 40 | 1,597 | 39.9 | 中 |
| 28 | 肝 Liver | mouse | 36 | 646 | 17.9 | 低 |
| 29 | 胫骨前肌 Muscle (tibialis anterior) | mouse | 28 | 165 | 5.9 | 低 |
| 30 | 脾 Spleen | mouse | 7 | 1,657 | 236.7 | 超高 |
| 31 | 胸腺 Thymus | mouse | 6 | 1,342 | 223.7 | 超高 |
(密度档口径见 §2.2 分组表:超高 >200、高 80-130、中 30-80、低 <30 核/patch。)
附录 G3:掩膜像素值语义字典(数据字典)
| 文件夹 | 像素值语义 | dtype 注意 |
|---|---|---|
| mask binary | 0=背景、1=核前景 | 直接可读 |
| mask binary without border | 同上,但相邻核接触边界像素被移除(置 0) | 边界带是「无监督区」 |
| mask binary without border erode | 同上并整体腐蚀一轮 | 实例间隙更大 |
| label masks | 每实例唯一整数 ID;重叠区分配新数值(独立于两个母实例) | ID 非连续,勿当类别数 |
| label masks modify | 每实例唯一整数 ID;重叠区裁决给其中一个实例 | 评估标准输入 |
| distance maps | 每像素=到最近核的(变换)距离值 | 浮点/整型视版本 |
| weighted_maps(含 erode 版) | 背景/核体低权重、接触边界高权重 | 与去边 binary 配对使用 |
| overlay | 原图+轮廓叠加的可视化图 | 不作训练输入 |
| stacked mask (.mat) | 三维数组,每层一个实例的二值切片 | scipy.io.loadmat |
| ambiguous masks | 模糊区像素=1(其余 0) | 布尔语义 |
附录 G4:检索路径示范(关键词组合与预期命中)
| 目标 | 推荐查询式 | 预期命中 |
|---|---|---|
| 本体论文 | “NuInsSeg” AND (“nuclei instance segmentation” OR “H&E”) | Scientific Data 11:295 / arXiv:2308.01760 |
| 数据本体 | kaggle “nuinsseg”(或 site:kaggle.com nuinsseg) | ipateam/nuinsseg 与 masih4/nuinsseg |
| 掩膜生成代码 | github “NuInsSeg” / masih4/NuInsSeg | README+MATLAB 脚本 |
| 资助项目 | “872636” 或 “DeepNucleiDetection” | FFG 项目页+项目站 |
| 前作 | “CryoNuSeg” | CBM 2021;132:104349 |
| 模糊区方法学 | “ambiguous area” OR “vague mask” AND “nuclei segmentation” | 本数据集+MoNuSAC |
| 反例(勿采信) | “NuInsSeg” AND (“MRI” OR “brain tumor” OR “glioma”) | 二手误传(坑 1),回论文核对 |
检索卫生两条:一、凡命中「NuInsSeg+MRI/脑肿瘤」的二手页面,回论文标题与 Kaggle 页核对后再引用;二、Kaggle 页面数字(版本/文件数)随更新滚动,引用时存照抓取日期。
附录 G5:常见失败模式排查表
| 症状 | 高概率根因 | 处置 |
|---|---|---|
| labeled mask 读出来近乎全黑 | 编号掩膜正常现象(ID 值小且稀疏) | 按像素值读取+ID→颜色映射显示 |
| 训练 loss 为 NaN | 直接把 label ID 当类别做 softmax(类别数=最大 ID) | 语义任务换 binary/去边版;实例任务换检测/聚类头 |
| 评估 AJI 远低于论文 | 用了 label masks(重叠区独立编号)而非 modify 版 | 换 label masks modify 作评估输入 |
| mouse spleen/thymus 折 AJI 崩 | 高密度粘连场景,后处理分水岭失效 | 上 weighted/erode 掩膜训练+更细的分水岭参数 |
| 跨库测试(MoNuSeg)暴跌 | 扫描域差+尺寸差(512² vs 1000²) | Macenko 归一化+滑窗切片对齐输入尺度 |
| 复现 Dice 与论文差 >2pp | 自行重切了折/口径未对齐/框架迁移 | 用官方 random_state=19;核对模糊区口径;容器化官方栈 |
附录 G6:库内核分割条目量化对照总表
(NuInsSeg 行为论文口径;其余条目数字以其各自条目/原论文口径为准,此处取常用引用值,跨库对比时以库内条目原文复核。)
| 条目(rid) | tiles | 核数(常用口径) | 器官/来源 | 标注方式 | 独有维度 |
|---|---|---|---|---|---|
| NuInsSeg(本条目) | 665 | 30,698 | 31 类,MUV | 全手工 freehand+终审 | 全量 ambiguous mask;mouse |
| MoNuSeg(30) | 44 | 28,846 | 9 器官,TCGA | 手工+挑战赛校验 | 社区基线最厚 |
| CoNSeP(228) | 41 | 24,319 | 结直肠 1 种,UHCW | 手工 | 五类核型分类 |
| PanNuke(218) | 数千级 | 数十万级 | 泛癌多类 | 半自动流水线 | 规模×泛癌覆盖 |
| Lizard(238) | 聚合六库 | 聚合 | 多来源聚合 | 聚合+质量分级 | 实例质量标签 |
| NuCLS(248) | 数百级 | 20 万+级 | 乳腺癌,TCGA | 多观察者+多模型 | 观察者间一致性 |
三句话使用指南:要「手工精度参照系」配 MoNuSeg/CoNSeP;要「规模与覆盖」配 PanNuke/Lizard;要「标注可靠性方法论」配 NuCLS——NuInsSeg 在这三个方向各贡献一块拼图(模糊区协议/物种扩展/单中心高精度)。
附录 G7:五折的分层改造(进阶代码)
官方划分是全集合随机。若你的研究问题涉及泛化,建议在官方划分之外增补分层版本(报告时注明与论文口径不可直接对比):
import pandas as pd
from sklearn.model_selection import GroupKFold, StratifiedKFold
# 假设 meta 表:patch_id, organ, species, density_bin(按附录 G2 分四档)
meta = pd.read_csv("meta.csv")
# 方案 A:按器官系统分组(leave-system-out,按 §2.2 六系统组)
gkf = GroupKFold(n_splits=6)
for tr, va in gkf.split(meta, groups=meta["system_group"]):
pass # 组间泛化:训练见不到 va 系统组的任何 patch
# 方案 B:按密度档分层(保持每折密度分布一致)
skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=19)
for tr, va in skf.split(meta, meta["density_bin"]):
pass # 每折超高/高/中/低占比与全集一致
要点:GroupKFold 无 shuffle 参数(组全换);分层划分的指标不能与论文 Table 3 直接排序——划分人群不同。
附录 G8:ambiguous mask 占比自助统计(EDA 扩展脚本)
论文未给全集模糊区占比统计(Q24 遗留),一行脚本自助补齐:
from pathlib import Path
import numpy as np
import pandas as pd
from PIL import Image
ratios = {}
for p in Path("nuinsseg_data/ambiguous_masks").glob("*.png"):
amb = np.array(Image.open(p).convert("L")) > 127
ratios[p.stem] = float(amb.mean())
s = pd.Series(ratios).sort_values(ascending=False)
print(s.describe()) # 全集占比分布
print(s.head(10)) # 模糊区最重的 10 张
print((s == 0).sum()) # 无模糊区的图(README 图注显示存在此类)
拿到分布后再决定 §3.3 的消费方式:占比普遍很低(<5%)时排除口径的 Dice 增益有限;个别图 >20% 时逐图检查是否标注质量信号。
附录 G9:核分割数据集学习路径(新人一页纸)
第一步(建立直觉):NuInsSeg Kaggle EDA kernel
→ 看 10 个掩膜文件夹长什么样、密度档差距(5.9 vs 236.7)
第二步(跑通基线):官方 shallow U-Net kernel(官方五折,TF 栈)
→ 复现 Dice 78.8 量级,确认管线无泄漏
第三步(理解指标):按附录 G2 速查卡复算 AJI/PQ
→ 体会「Dice 冠军 ≠ 实例冠军」(§5.2)
第四步(接触不确定性):ambiguous mask 三种用法(§3.3/附录 F)
→ 做 2×2 口径实验(§4.3 组合拳 2)
第五步(走出单中心):MoNuSeg(库内 rid 30)零样本 + Macenko 归一化
→ 量化域差(附录 G5 排查表最后一行)
第六步(方法进阶):HoVer-Net/Cellpose 接入(Q25)
→ label masks modify 为评估标准输入
每一步的产出都可写进实验记录;走完六步,你就同时拥有了「这个数据集的完整心智模型」与「一条可复现的实验基线」。
附录 H:跨数据集口径对照建议
| 口径项 | NuInsSeg | MoNuSeg/MoNuSAC/CoNSeP | 统一建议 |
|---|---|---|---|
| tile 尺寸 | 统一 512×512 | 1000×1000 / 散布尺寸 | 统一裁到 512×512 或整图推理分别报告 |
| 模糊区 | 全量 ambiguous mask 可排除 | 无(强行归属) | 对比实验统一「强行归属」口径,NuInsSeg 不用模糊区 |
| 评估指标 | Dice/AJI/PQ | AJI/Dice 为主 | 至少同时报 AJI;PQ 需同一实例匹配实现 |
| 划分 | 官方五折 random_state=19 | 各自官方切分 | 不重切;报告划分来源 |
| 染色/扫描 | 单中心 TissueFAXS | TCGA 多中心/UHCW | 跨库结论注明域差异 |
附录 I:坑点档案(与 §10 对照)
| 坑 | 一句话档案 | 触发场景 |
|---|---|---|
| 坑 1 | 「脑 MRI」口径错误,实为 H&E 组织学(仅含 24 张脑组织 patch) | 任务 brief/二手转述 |
| 坑 2 | mouse 器官 13(旧)vs 8(论文/v5) | 引用 README/About 旧文本 |
| 坑 3 | 核数三种写法:>30,000 / 30,698 / 30.698 | 摘要 vs 表格 vs 欧式千分位 |
| 坑 4 | 31 是器官类型数不是 WSI 数;1 FOV ≈ 1 patch | 推算每 WSI patch 数 |
| 坑 5 | license 双轨(CC BY 4.0/MIT)+ Kaggle 双入口 | 商用/再分发/引许可 |
| 坑 6 | HF 无官方镜像 | 管线假设 HF load_dataset |
| 坑 7 | Dice 冠军(Residual attention)≠ AJI/PQ 冠军(Dual decoder) | 转述 SOTA |
| 坑 8 | 通讯邮箱 dp-uni(论文正文)vs meduniwien(arXiv 元数据) | 学术联络 |
| 坑 9 | 模糊区口径跨数据集不可比;CryoNuSeg 无库内条目勿造链 | 跨库对比/内链 |
附录 J:双口径登记表
| # | 项 | 口径 A | 口径 B | 处理 |
|---|---|---|---|---|
| 1 | 核数 | 30,698(Table 2 精确) | >30,000(摘要)/30.698(Table 1 欧式) | 主用 30,698,注出处 |
| 2 | mouse 器官数 | 8(论文 Table 2/v5 Data Explorer) | 13(GitHub README/Kaggle About 旧文本) | 按 8 成稿,13 存照 |
| 3 | Kaggle 入口 | ipateam/nuinsseg(论文 Data Records) | masih4/nuinsseg(个人账号,实测 v5/CC BY 4.0) | 两入口并列,license 以实际页面为准 |
| 4 | 通讯邮箱 | amirreza.mahbod@dp-uni.ac.at(论文正文) | @meduniwien.ac.at(arXiv 元数据) | 按论文正文 |
| 5 | 「31」含义 | 器官/组织类型数(论文原文) | 「31 张 WSI」(二手误读) | 按论文原文 |
附录 K:维护计划与触发点
| 触发点 | 条件 | 动作 | 优先级 |
|---|---|---|---|
| Kaggle 数据更新 | v6+ 发布(Annually 节奏) | 核对规模/器官清单是否漂移,更新 §2 与坑 2/3 | 1 |
| 官方账号合并 | ipateam/masih4 双入口归一 | 简化 §6.1 与附录 J | 2 |
| HF 镜像出现 | 官方或社区上传 HF | 更新 §6.3、坑 6、附录 D | 3 |
| 新基准发布 | transformer 系/基础模型在 NuInsSeg 上发榜 | §5 扩表 | 4 |
| 前作入库 | CryoNuSeg 建条 | 启用 §9.3 内链、更新坑 9 | 5 |
附录 L:引文规范
@article{mahbod2024nuinsseg,
title = {NuInsSeg: A fully annotated dataset for nuclei instance
segmentation in H\&E stained histology images},
author = {Mahbod, Amirreza and Polak, Christine and Feldmann, Katharina
and Khan, Rumsha and Gelles, Katharina and Dorffner, Georg
and Woitek, Ramona and Hatamikia, Sepideh
and Ellinger, Isabella},
journal = {Scientific Data},
volume = {11},
number = {1},
pages = {295},
year = {2024},
doi = {10.1038/s41597-024-03117-2}
}
@article{mahbod2023nuinsseg,
title = {NuInsSeg: A fully annotated dataset for nuclei instance
segmentation in H\&E stained histology images},
author = {Mahbod, Amirreza and Polak, Christine and Feldmann, Katharina
and Khan, Rumsha and Gelles, Katharina and Dorffner, Georg
and Woitek, Ramona and Hatamikia, Sepideh
and Ellinger, Isabella},
journal = {arXiv preprint arXiv:2308.01760},
year = {2023}
}
@article{mahbod2021cryonuseg,
title = {CryoNuSeg: A dataset for nuclei instance segmentation
of cryosectioned H\&E-stained histological images},
author = {Mahbod, Amirreza and Schaefer, Gerald and Bancher, Benjamin
and L{\"o}w, Christoph and Dorffner, Georg and Ecker, Rupert
and Ellinger, Isabella},
journal = {Computers in Biology and Medicine},
volume = {132},
pages = {104349},
year = {2021},
doi = {10.1016/j.compbiomed.2021.104349}
}
引用优先级:数据与基准数字引 Scientific Data 正式版(mahbod2024nuinsseg);提及预印本时间线引 arXiv 版;讨论冰冻切片对照引 CryoNuSeg。使用数据本体时按 CC BY 4.0 署名义务同时引论文 DOI。
附录 M:本条目生产档案
- 生产通道:RSI 闭环派发(任务头 2026-10-04T07:22:26),代理 agent-b-nuinsseg
- 存在性核验:WebSearch 多轮 + Kaggle 页 + GitHub API/README + arXiv API + ar5iv 论文全文,硬数字三源以上互证;任务 brief「脑 MRI」口径经四源裁决为错误(教训 12 体系又一实证),已按实核口径成稿并存照
- 事实研究:PMC 与 nature 被反爬拦截(reCAPTCHA/Client Challenge),论文全文以 ar5iv.labs.arxiv.org 替代取得(Tables 1/2/3 与 Methods 全量);raw.githubusercontent.com 失效改走 api.github.com base64 解码;hf-mirror 确认无镜像
- FACTS.md:writing/nuinsseg/FACTS.md,纪律包九节+置顶裁决节
- 成稿方式:五 part 直写私有区(.parts_agent-b-nuinsseg_1791069903_1660757)后 cat 拼接
- 坑点:§10 九则(坑 1-9「坑 N:」编号制)
- 互链计划:正文内链 monuseg/consep/pannuke/lizard/nucls 五主链 + relatedLink 8 条(含 crag/glas/bcss)
- slug 查重:0 行命中;写锁 .lock = agent-b-nuinsseg 1791069903
附录 N:FAIR/AI-Ready 检查单
| 检查项 | 状态 | 说明 |
|---|---|---|
| F1 全局唯一标识 | ✅ | DOI(论文)+ Kaggle datasetId 1911713 + GitHub repo |
| F2 富元数据 | ✅ | 论文 Table 1/2/3 + 逐器官统计 + 设备链版本 |
| A1 可访问协议 | ✅ | Kaggle/GitHub HTTP 公开直链,无需注册审核 |
| A2 元数据可访问 | ✅ | 即便不取数,论文与 Kaggle 页元数据全开放 |
| I1 互操作格式 | ✅ | PNG/CSV/ROI zip 十种形态;MATLAB mat 一项小碍 |
| I2 词汇表引用 | ✅ | AJI/PQ/Dice 等标准指标与标准器官命名 |
| R1 来源溯源 | ✅ | 标本来源/设备链/人员分工全部署名到人 |
| R2 分析可复现 | ✅ | 五折固定种子+划分代码+训练代码+3 kernels |
| R3 结果多元数据 | ✅ | 六模型三指标完整成绩单随论文发布 |
| AI-Ready 综合 | 优 | 直链、宽松许可、零划分自由度、任务谱全覆盖 |
附录 O:缩写速查
| 缩写 | 全称 |
|---|---|
| NuInsSeg | Nuclei Instance Segmentation |
| WSI | Whole Slide Image |
| FOV | Field of View |
| ROI | Region of Interest |
| AJI | Aggregated Jaccard Index |
| PQ | Panoptic Quality |
| FFPE | Formalin-Fixed Paraffin-Embedded |
| MUV | Medical University of Vienna |
| UHCW | University Hospitals Coventry and Warwickshire |
| TCGA | The Cancer Genome Atlas |
| DPU | Danube University Krems |
| ACMT | 下方备注 |
| FFG | Österreichische Forschungsförderungsgesellschaft(奥地利研究促进署) |
| NuCLS | NuCLEi CLassification and Segmentation(乳腺癌核标注多观察者数据集) |
| DeepNucleiDetection | FFG 872636 项目:核分割知识迁移方法(NuInsSeg 的母项目) |
| EDA | Exploratory Data Analysis(探索性数据分析,官方 Kaggle kernel 之一) |
| DAIMS | Discoverability/Accessibility/Interoperability/Metadata/Sustainability |
(ACMT:论文署名机构,位于 Wiener Neustadt 的应用科技大学应用数学与生命科学方向;全称以论文机构列表为准,条目不作展开。)
附录 P:基于本数据集的研究检查清单(12 项)
- 口径核对:引用规模用 30,698(Table 2),别用摘要约数或欧式千分位写法(坑 3)。
- 器官清单:mouse 8 器官口径(坑 2);「31」是类型数不是 WSI 数(坑 4)。
- 官方划分:加载 random_state=19 的五折,重切分即失去与论文的可比性。
- 掩膜选择:语义/实例/回归/加权任务分别取 binary/labeled/distance/weighted;labeled 按像素值读取。
- 模糊区口径:训练与评估统一声明(排除/降权/强行归属三选一);跨数据集对比用强行归属口径对齐无掩膜的 MoNuSeg 等(附录 H)。
- 密度分层:按器官分层采样训练、分层报告指标——全集均值 46.2 核/patch 掩盖 5.9-236.7 的跨度。
- 基准对标:注明指标名——Dice 冠军与 AJI/PQ 冠军是两个模型(坑 7)。
- 栈迁移声明:离开 TF 2.6.2 官方栈需注明实现差异;对标论文数字优先容器化复现。
- 物种边界:mouse 仅 193 patch/8 器官/单一品系性别周龄,跨物种结论谨慎外推。
- license 合规:数据 CC BY 4.0(署名引 DOI)、代码 MIT;商用无障碍,再分发注明版本(v5)与抓取日期。
- 获取路径:Kaggle 双入口任一(ipateam/masih4),HF 无镜像(坑 5/6)。
- 伦理声明:人类组织为教学存档、无元数据;论文注明无需伦理审查,但使用声明中仍应包含「不试图识别供体」条款。
附录 Q:版本史与本条目修订记录
| 版本/时点 | 事件 | 影响范围 |
|---|---|---|
| 2023-08-03 | arXiv:2308.01760 v1 发布(仅一版) | 预印本时间线 |
| 2024-03-14 | Scientific Data 11(1):295 正式发表 | 全部口径锚点 |
| Kaggle v1-v4 | 迭代历史(无公开快照,README mouse 清单错贴疑似早期残留) | 坑 2 |
| Kaggle v5 | 当前版本(1.8 GB/48.4k files/CC BY 4.0;2026-10-04 实测) | 全部统计口径 |
| 2026-10-04 | 本条目研究+成稿(agent-b-nuinsseg) | 本条目 |
| (待触发) | 附录 K 维护计划五个触发点 | 对应章节 |
附录 R:致谢与利益声明
- 本条目为千方病案医数集 RSI 闭环产出,事实依据与来源已在附录 C 逐项留痕;抓取时点 2026-10-04。
- 条目作者与 NuInsSeg 团队、TissueGnostics、FFG、NVIDIA 无任何利益关联;条目不含任何形式的推广内容。
- 数据使用合规提醒随条目发布:CC BY 4.0 署名义务通过引用论文 DOI 履行;本条目的二次转述(表格/分析)不改变上游许可。
- 感谢上游团队以开放许可发布数据与代码——这是本条目得以成立的前提。
尾注
本条目由千方病案医数集 RSI 闭环写手代理 agent-b-nuinsseg 于 2026-10-04 撰写。事实档案见 writing/nuinsseg/FACTS.md;论文全文取证采用 arXiv:2308.01760 的 ar5iv 排版版(PMC 与 nature.com 因反爬不可达,已存照);Kaggle 与 GitHub 页面数据为 2026-10-04 抓取时点。任务 brief 中的「脑浸润胶质细胞核实例分割数据集(MRI)」口径经多源互证裁决为错误,全篇按实核的 H&E 组织学口径成稿,存照见 FACTS.md §9.1 与本条目坑 1。库内互链建议:monuseg(30)/consep(228)/pannuke(218)/lizard(238)/nucls(248) 五主链,crag(208)/glas(196)/bcss(258) 等备选;CryoNuSeg、MoNuSAC 暂无库内条目,发布后由主会话重建病理分割家族导航。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- panda-plus — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- wsss4luad — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- monusac — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- cric — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- segpc-2021 — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- luad-histoseg — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- precise-prostate-ihc — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- sinus-her2-nuclei — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- prostate-cnb-wsi — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 评测基准 / 肿瘤学
- pannuke — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

