Как кластеризация K-средних может работать без пространственной информации?

#image #distance #rgb #k-means

#изображение #расстояние #rgb #k-средние

Вопрос:

Возможно, короткое. Просто застрял при работе с кластеризацией K-средних.

Я просмотрел эти команды python / skimage:

 image_array = image.reshape([-1,3]).astype(np.float32)
kmeans = KMeans(n_clusters=2, random_state=0).fit(image_array)
labels_array = kmeans.labels_
labels = labels_array.reshape([image.shape[0], image.shape[1]])
  

когда я заметил, что изображения RGB должны быть преобразованы в один длинный массив.
Как кластеризация k-средних может знать о 2 пространственных измерениях (и 3-м одноцветном), когда я передаю массив?

Или просто мое предположение неверно, что пространственная информация необходима? По крайней мере, цель состоит в том, чтобы минимизировать сумму квадратов внутри кластера. Расстояние по x, y и направление цвета для этого важны, не так ли?

Ответ №1:

Проблема заключалась в том, что я предположил, что возвращается одномерный массив. Вместо этого изменение формы возвращает трехмерное изображение. Позиционная информация действительно не используется в этом примере K-средних.