什么是图像处理中的训练和测试?

Uyg*_*gar 2 evaluation classification image-processing k-means training-data

我正在一些 RGB 图像上实现基于k 均值聚类方法的颜色量化。然后,我将确定算法的性能。我找到了一些关于训练和测试的信息。据我了解,我应该划分图像样本进行训练和测试。

但我对培训和测试这两个术语感到困惑。这些是什么意思?以及如何使用排名值来实现?

小智 5

训练和测试是机器学习中的两个常见概念。训练和测试在监督学习的框架中更容易解释;您有一个训练数据集,您知道输入数据以及要预测的其他属性。训练包括从训练数据集的一小部分中学习数据和属性之间的关系,测试包括在数据集的另一部分测试这种关系的预测(因为你知道预测,你可以比较关系的输出和真实属性)。可以在http://scikit-learn.org/stable/tutorial/basic/tutorial.html上找到使用这些概念的很好的介绍性教程

然而,聚类是一类无监督学习,也就是说,你只有一些输入数据(这里是像素的RGB值,如果我理解的好的话),没有任何对应的目标值。因此,您可以运行 k-means 聚类算法来查找具有相似颜色的像素类别,而无需训练和测试算法。

在图像处理中,训练和测试例如用于对像素进行分类以分割不同的对象。一个常见的例子是使用随机森林分类器:用户选择属于不同感兴趣对象(例如背景和对象)的像素,在这组像素上训练分类器,然后将剩余的像素归于一个分类器的类别。ilastik ( http://ilastik.org/ ) 是一个执行交互式图像分类和分割的软件示例。

我不知道您使用的是哪种编程语言,但是 k-means 已经在各种库中实现了。对于 Python,SciPy(http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.vq.kmeans2.html#scipy.cluster.vq.kmeans2)和 scikit-learn(http:// /scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html)有一个 K-means 的实现。另请注意,根据您的应用程序,您可能对不仅使用像素值还使用像素的空间接近度将像素聚集在一起感兴趣。例如,参见 scikit-image 库示例http://scikit-image.org/docs/dev/auto_examples/plot_rag_mean_color.html