我已经在图像数据集上实现了几种聚类算法。 我对得出集群的成功率感兴趣。我必须检测肿瘤区域,在原始图像中我知道肿瘤的位置,我想比较两个图像并获得成功的百分比。 以下图片:
原始图片:我知道癌症的位置
聚类算法后的图像
我正在使用python 2.7。
答案 0 :(得分:10)
分段精度
这是图像分割文献中的一个非常普遍的问题,例如here is a StackOverflow post
一种常见的方法是考虑“正确像素”与“不正确像素”的比率,这在安全性图像分割中很常见,例如Mask RCNN,{{3 }}。
将其作为对象检测任务中的一项处理,您可以将对象的外壳重叠,然后测量PixelNet(通常分为accuracy, precision, recall,以及其他使用f-score的措施。这样一来,您就可以制作出various bias/skews了,可以针对误报/误报进行校准。
关于正确的问题,没有与域无关的共识。 ROC curve
Mask RCNN是开源的最新技术,并提供了实现 在python 中的
在您的域(医学)中,适用标准统计规则。使用保留集。交叉验证。等(*)
注意:尽管文献空间非常庞大,但我还是提醒您看一些与领域相关的论文,因为与其他观点相比,它们可能需要更少的“统计捷径”(数字识别,例如)项目接受。
Python
Automated Segmentation of MR Images of Brain Tumors除了上面的mask rcnn链接之外,还提供了一些非常用户友好的工具,被认为是python的标准科学“堆栈”的一部分。
在python中实现图像之间的差异是微不足道的(使用numpy)。这是一个过分的scikit-learn。
python SO link中的边界框交集;我会使用像is easy to implement on one's own这样的库。
Scikit-learn有一些不错的机器学习评估工具,例如,
文献搜索
您可能难以找到答案的原因之一是因为您试图在监督学习领域中衡量无监督方法(聚类)的性能。数学上根本没有定义“簇”(**)。您想查看有监督的学习文献以进行准确性测量。
也有关于无监督学习/聚类的文献,这些文献通常都在寻找拓扑结构。 A million others。我认为那不是你想要的。
一个普遍的问题,尤其是在规模上,是有监督的方法需要标签,对于密集分割,标签可以是Here's a very introductory summary。对象检测time consuming to produce accurately。
现有一些医学数据集(例如makes it a little easier,[1]和[2])。如果这些都不是您的选择,那么您可能不得不恢复到将其视为不受监督的问题,但是评估的范围和实用性将变得非常不同。
脚注
[*]有远见的人有时会跳过交叉验证,尽管他们不应该这样做,主要是因为模型拟合速度慢,而且他们很懒。 请不要跳过some ongoing research in label-less metrics ,否则您的结果可能会毫无用处
[**]您可以找到各种各样的“正式”定义,但从来没有两个人同意哪个是正确或最有用的。 train/test/validation split