跳转到主要内容

图像分割质量游戏化评估

项目描述

分割游戏 - 用于napari

License PyPI Python Version tests codecov napari hub DOI

图像分割质量游戏化评估

img.png


用法

分割游戏允许定量比较分割结果与给定的真实标注。这允许调整图像处理工作流中的参数以获得最佳分割质量。它还允许比较不同的分割算法,并确定哪种算法在客观上表现最好。

该游戏可在napari的 工具 > 游戏 > 分割游戏 菜单中找到。

真实标注

在您开始玩游戏之前,需要一些已标注的细胞/核以供以后计算分割质量。根据使用的度量标准,标注少量对象可能就足够了。使用以下所示的napari标注工具。使用键盘上的 +- 键来增加和减少当前绘制的标签编号。注意:避免标签间隙。标签必须是连续的。如果有像素标注为值2,必须有像素标注为值1。

参数调整

如果您使用的是napari的分割插件之一,它会生成标签层,您可以调整它们的参数,并查看这对分割质量的影响。

分割算法比较

如果您想比较不同的分割算法,可以在napari查看器中的标签层中收集它们的结果。然后,您可以从相应的下拉菜单中选择分割结果,并在高分表中保存定量比较结果。

指标

目前,这些指标已实现

  • 杰卡德指数(稀疏):杰卡德指数杰卡德系数是重叠度的衡量标准。它介于0(无重叠)和1(完全重叠)之间。对于每个注释的地面真实标签,确定任何分割标签的最大重叠。所有注释标签的平均重叠用作指标结果。
  • 杰卡德指数(二进制):首先将注释的真实标签和分割结果二值化,将所有注释像素视为正样本,其他标签视为负样本。然后计算两个二值图像之间的重叠。这允许比较二进制分割算法,如阈值技术。
  • 杰卡德指数(二进制,稀疏):注释的真实图像可以包含值1(负,错误)和2(正,正确),分割结果图像将二值化(0:错误,否则:正确)。这允许比较物体/非物体注释与标签图像。

受试者工作特征(ROC

考虑一个二类阈值问题(二进制像素级分类对象/背景),其中结果标记为正(p)或负(n)。二元分类器有四种可能的结果。如果预测结果是p且实际值也是p,则称为真阳性(TP);然而如果实际值是n,则称为假阳性(FP)。相反,当预测结果和实际值都是n时,发生真阴性(TN),而当预测结果为n而实际值为p时,则为假阴性(FN)。我们可以根据正/负结果在行中以及真和假结果在列中的混淆矩阵来组织结果。从混淆矩阵中,我们可以得到许多具有各种有用性的指标。目前用于分类评估的指标包括

  • 灵敏度、召回率、命中率或真阳性率(TPR):(TP)/(TP + FP),灵敏度和特异性从数学上描述了测试报告条件存在或不存在时的准确性。满足条件的个体被认为是“阳性”,而不满足条件的个体被认为是“阴性”。
  • 特异性、选择性或真阴性率(TNR):(TN)/(TN + FN),灵敏度和特异性从数学上描述了测试报告条件存在或不存在时的准确性。满足条件的个体被认为是“阳性”,而不满足条件的个体被认为是“阴性”。
  • 精确度或阳性预测值(PPV):(TP)/(TP + FP),在计算和信息科学中,是从一组资源中获取与信息需求相关的信息系统资源的过程。它是TP事件的数量化。
  • 准确率:(TP + TN)/(TP + FP + TN + FN),准确率衡量观察误差。准确率是给定的一组测量值与它们的真实值之间有多接近或有多远。然而,它在不平衡集中通常失败。
  • 平衡准确率:(TP/(TP+FN) + TN/(TN+FP))/2,平衡准确率试图平衡不平衡集中准确率的问题。
  • F1分数:2*TP/(2*TP + FP + TN + FN),在二进制分类的统计分析中,F分数或F度量是测试准确性的衡量标准。它是从测试的精确度和召回率计算的,其中精确度是真正阳性结果的数量除以所有阳性结果的数量,包括那些未识别的。
  • 威胁分数(TS)或临界成功指数(CSI):TP/(TP + FP + FN),TC是Jaccard指数(二元)的另一个名称。

ROC指标或混淆矩阵在我们二元分类器不理想(这很常见)并且我们旨在获得特定低错误率而非一般良好结果时非常有价值。在这种情况下,我们通常需要做出一些权衡,例如,我们需要所有(尽可能多的)分类为真正阳性的对象,但我们不介意得到(通常尽可能少的)假阳性对象。

我们想要实现的目标

Precision-versus-accuracy, source: 10.13140/RG.2.1.1668.7603

当我们进行语义分割时,我们的目标是(理想情况下正确地)将每个像素分类到我们的每个类别。但这可能是一个巨大的信息量,而我们的对象可能比属于背景和/或其他类别的像素数量显著减少。在正确选择指标之前,我们需要为我们的分类结果设定目标。理想情况下,我们希望每个类别都有高准确率和精度(如图所示),但我们可能对获得高准确率但良好的精度感到满意。现实中,我们可能需要更加具体,比如选择我们可以接受的错误大小,或者决定是否可以接受FN发现但没有FP。

选择用于高度不平衡分类(如语义分割)的指标具有挑战性。大多数经典指标都将失败(但它们仍然可用于对象级)。我们通常坚持使用Jaccard指数/威胁分数、F1分数或任何可以告诉我们TP率结果的指标(因为我们预期对象比背景和/或其他类别的像素要少)。

文献推荐

如何选择用于比较分割结果的正确指标在本篇论文中进行了说明

相关插件

如果您旨在自动优化分割质量,还有具有此功能的napari插件可用

安装

您可以通过pip安装the-segmentation-game

pip install the-segmentation-game

贡献

贡献——特别是新的图像分割质量指标——非常受欢迎。可以通过tox运行测试,请在提交pull请求之前确保覆盖率至少保持不变。

许可

BSD-3许可下分发,“the-segmentation-game”是免费和开源软件

问题

如果您遇到任何问题,请在image.sc上发帖,并附上详细描述。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

the-segmentation-game-0.2.0.tar.gz (15.5 kB 查看散列

上传时间:

构建分发

the_segmentation_game-0.2.0-py3-none-any.whl (12.5 kB 查看哈希值)

上传时间: Python 3

由以下支持