Вот что у меня получилось сделано на данный момент:
- получил массив помеченных массивов numpy, загрузив изображения из моего набора данных.
- перевернул изображения в списки своих функций с помощью SIFT.
- создал словарь визуальных слов, поместив все функции в одномерный массив и передав их в кластеризацию kmeans.
Вот как я создаю словарьесли я правильно понял модель, следующим шагом будет вычисление гистограммы частот, которая представляет собой массив, хранящий количество каждого визуального слова, встречающегося в изображении.Код: Выделить всё
def get_vocab(imgs): #get features from all images descriptors = [f for img in imgs for f in extractFeatures(img)] km = KMeans(n_clusters).fit(descriptors) return km.cluster_centers_
Мой вопрос: - как мне «подсчитать» визуальные слова, встречающиеся внутри изображения?
нужно ли мне это сделать? возьмите объект (числовой массив) и найдите ближайшее к нему визуальное слово, а затем прибавьте его к этому числу? - как мне найти «ближайшее» визуальное слово к любому заданному объекту?
- могу ли я «повторно использовать» данные из алгоритма кластеризации (т. е. найти, в какой кластер входит объект) был введен)?
Подробнее здесь: https://stackoverflow.com/questions/786 ... sual-words