【发布时间】:2019-01-02 15:14:51
【问题描述】:
我已经在图像数据集上实现了几种聚类算法。 我对得出聚类的成功率很感兴趣。我要检测肿瘤区域,在原始图像中我知道肿瘤的位置,我想比较两个图像并获得成功百分比。 以下图片:
原图:我知道癌症的位置
聚类算法后的图像
我使用的是 python 2.7。
【问题讨论】:
标签: python image-processing cluster-analysis analysis
我已经在图像数据集上实现了几种聚类算法。 我对得出聚类的成功率很感兴趣。我要检测肿瘤区域,在原始图像中我知道肿瘤的位置,我想比较两个图像并获得成功百分比。 以下图片:
原图:我知道癌症的位置
聚类算法后的图像
我使用的是 python 2.7。
【问题讨论】:
标签: python image-processing cluster-analysis analysis
分割准确度
这是图像分割文献中解决的一个非常常见的问题,例如,here is a StackOverflow post
一种常见的方法是考虑“正确像素”与“错误像素”的比率,这在图像分割中很常见,用于安全域,例如Mask RCNN、PixelNet。
将其更多地视为对象检测任务,您可以获取对象外壳的重叠部分并仅测量accuracy(通常分为precision, recall、f-score、和其他措施various bias/skews)。这允许您生成一个可以针对误报/误报进行校准的ROC curve。
对于什么是正确的,没有与领域无关的共识。 KITTI provides both.
Mask RCNN 是最先进的开源技术,并提供实现 在python中的
在您的领域(医学)中,适用标准统计规则。使用保持集。交叉验证。等等(*)
注意:虽然文献空间大得吓人,但我还是提醒您看看一些与领域相关的论文,因为它们可能比其他愿景需要更少的“统计捷径”(数字识别例如)项目接受。
Python
除了上面的掩码 rcnn 链接,scikit-learn 提供了一些非常用户友好的工具,被认为是 python 标准科学“堆栈”的一部分。
在 python 中实现图像之间的差异是微不足道的(使用 numpy)。这是一个矫枉过正的SO link。
python中的边界框交集is easy to implement on one's own;我会使用像shapely if you want to measure general polygon intersection 这样的库。
Scikit-learn 有一些不错的机器学习评估工具,例如,
文献检索
您在寻找答案时可能遇到困难的一个原因是您正在尝试在 监督学习 领域中衡量一种无监督方法(聚类)的性能。 “集群”在数学中基本上没有定义(**)。您想查看监督学习文献以了解准确度。
也有关于无监督学习/聚类的文献,通常会寻找拓扑结构。 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,否则您的结果可能毫无用处
[**] 你可以找到各种各样的“正式”定义,但从来没有两个人就哪一个是正确的或最有用的达成一致。 Here's denser reading
【讨论】: