k-means在RGB或HSV规模上聚类?

wud*_*nao 5 cluster-analysis image-processing computer-vision k-means hsb

我想分割图像,但有人告诉我RGB的欧几里德距离不如HSV好 - 但对于HSV,并不是所有的H,S,V都是相同的范围所以我需要对它进行标准化.将HSV标准化然后进行聚类是一个好主意吗?如果是这样,我应该如何规范HSV量表?

谢谢

Ano*_*sse 7

色调是循环的.

不要对这些数据使用均值(因此,k均值).


Ank*_*xit 7

由于HSV成分表示像素的色调,饱和度和灰度强度,它们在颜色方面彼此不相关,每个成分在定义该像素的属性方面都有自己的作用,如Hue将为您提供有关颜色的信息(波长)在其他方面)饱和度总是显示白色与该颜色混合的百分比,而值只是该颜色的大小(在另一个术语强度中),这就是为什么HSV空间的所有成分不遵循相同比例来表示值的原因虽然色调也可以在比例上变为负值(因为这些是循环值),但强度(V)永远不会变为负值,因此归一化对聚类不会有太大帮助,更好的想法是你应该只在Hue上应用聚类,如果你想要的话进行颜色聚类.

现在为什么欧几里得不利于多通道聚类是因为它沿平均值的分布是球形的(对于2D圆形),所以如果它不能在(147,175,208)和(208,175,147)之间产生任何差异,它们将与中心具有相同的距离,最好使用Mahalanobis距离进行距离计算,因为它使用了组件的Co-variance矩阵,使得该距离分布沿平均值呈抛物线形.

因此,如果你想在RGB颜色空间中进行颜色分割,请使用马哈拉诺比斯距离(但它会计算量大,因此会减慢聚类过程),如果你想在HSV颜色空间中进行聚类,可以使用Hue进行颜色分割而不是使用V用于微调分段输出.

希望它会有所帮助.谢谢


Nik*_*ono 5

首先你需要知道为什么HSV在图像分割中比RGB更受欢迎。HSV 将颜色信息 ( Chroma ) 和图像强度或亮度级别 ( Luma )分开,如果您想进行图像分割,这非常有用。例如,如果您尝试对以大海为背景的照片使用 RGB 方法,则大海中的主要 RGB 分量很可能不是蓝色(通常是因为阴影或照明)。但是,如果您使用 HSV,值是分开的,您可以仅使用饱和度和色调构建直方图或阈值规则。

有一篇非常好的论文比较了 RGB 和 HSV 方法,我认为这对你来说会是一个很好的阅读 -> http://www.cse.msu.edu/~pramanik/research/papers/2002Papers/icip.hsv .pdf