Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 执行k意味着使用数据样本进行聚类_Image Processing_Computer Vision_Cluster Analysis_K Means - Fatal编程技术网

Image processing 执行k意味着使用数据样本进行聚类

Image processing 执行k意味着使用数据样本进行聚类,image-processing,computer-vision,cluster-analysis,k-means,Image Processing,Computer Vision,Cluster Analysis,K Means,我是一名医学物理学硕士生,目前正在撰写论文。这项工作包括从内窥镜图像中提取特征并使用支持向量机进行分类。我有4种类型的图像。类型1为非癌症图像,类型2、3和4为癌前图像。我把问题简化为两级制。C1类、1类图像和C2类所有其他图像 我使用的方法如下: 我使用密集筛选从每幅图像中提取特征。所以我得到了描述符,比如说每个图像128x1000。在128维空间中有1000个点。每个图像的点数不同,但为了简单起见,我们假设每个图像有1000个点。我使用50张C1类和50张C2类的图像对数据集进行了划分,以便

我是一名医学物理学硕士生,目前正在撰写论文。这项工作包括从内窥镜图像中提取特征并使用支持向量机进行分类。我有4种类型的图像。类型1为非癌症图像,类型2、3和4为癌前图像。我把问题简化为两级制。C1类、1类图像和C2类所有其他图像

我使用的方法如下: 我使用密集筛选从每幅图像中提取特征。所以我得到了描述符,比如说每个图像128x1000。在128维空间中有1000个点。每个图像的点数不同,但为了简单起见,我们假设每个图像有1000个点。我使用50张C1类和50张C2类的图像对数据集进行了划分,以便进行训练

如果我使用100个训练图像,我将获得128x100000的数据。如果我对这些数据执行k-means聚类,例如使用400个聚类,这是一个非常长的过程。因此,我想对这些数据进行采样,例如,选择10000个均匀分布的点,这样每个图像都能得到相等的表示。实际上,我在分类过程中得到了很好的结果,但我怀疑这是否可以做到


如果我使用所有数据点来计算中心,或者我可以采样这些数据进行计算,这会有很大的不同吗??对于要使用的部分数据,什么值是合理的

通常先在样本上运行k-means

这将为您提供一个很好的最终集群中心估计,并且通过使用这些作为完整k-means运行的种子,您可能只需要一次迭代


K-means有很多问题(维度诅咒、通常无意义的结果、选择K),但可伸缩性不是其中之一。它可以运行得非常快,100k对象应该只需要一分钟,除非您使用的是非常慢的编程语言。

尝试正确设置问题的格式(使用段落、强调和代码突出显示),并对其进行更多解释,以便更好地理解问题。如果可能的话,也可以添加一些相关的标签。谢谢你的建议。我是新手。你能告诉我们为什么训练时间长是个大问题吗?K-Means聚类会产生特定的决策边界(例如,如果输入图像,它将决定是否检测到“健康”图像或“癌症”图像)。训练只进行一次,因此,大量的计算时间不应该成为一个大问题。在128维空间中工作确实会招致“维度诅咒”。其他模式识别算法可能会提供更好的结果。我使用DSIFT在两个尺度上为灰度空间中的每幅图像提取描述符。我对数据做了3倍的CV,并计算了每张图像的直方图。然后将这些直方图输入支持向量机。这个过程花了我大约6个小时。我的下一步是向该描述符添加另外三个描述符,分别将DSIF应用于R、G和B通道。这使得计算时间增加到18小时。这是一个令人担忧的问题,因为我将在之前的描述中添加更多的描述符。我的想法是,在计算直方图的视觉术语之前,我可以对数据进行采样。那是我们最重要的计算时间。或者我用错误的方式连接了描述符。非常感谢你的回答,Anony Mouse。所以你的意思是,我可以用一个数据样本来估计中心的位置。这将是在整个数据计算中要考虑的初始位置。我使用VLY-FAT库来执行Matlab中的所有计算。但是增加更多的描述符不应该增加那么多的计算时间。我应该如何连接描述符??例如,灰色描述符是在两个尺度上提取的,因此我将使用d{1}和d{2}。如果我计算其他描述符,比如d1{1}和d1{2},我是否应该将数据连接为描述符=[[d{1},d{2}];d1{1},d1{2}]??从而增加了特征的数量,而不是点的数量。非常感谢。我不知道灰色描述词是什么,所以我帮不了你什么忙。对不起。没有正确地解释我自己。我是指将RGB图像转换为灰色后提取的SIFT描述符。对于那个描述符,我必须添加其他描述符。所以我的问题是我应该垂直连接还是水平连接??如果我垂直做,我会增加功能的数量。如果我水平地做,我会增加点数。你之前说过,k-means只需要不到一分钟的时间就可以得到100k个点,但我有大约200k个点,大约需要20分钟。我使用整数k-means,因为数据是整数,并且使用Elkan算法来执行计算