Я немного играю с подобием изображения.На самом деле я играю с системой поиска изображений.В идеале я хочу создать какой-то индекс изображений, к которому я могу обратиться, чтобы получить похожие изображения.
Моя текущая мысль - сохранить какой-то ImageDescriptor в индексе, и каждый дескриптор может иметь различные функции, например, k-средние кластерные центроиды, гистограммы, ... И у меня есть простое вычисление на основе Уайта - у каждого объекта есть функция расстояния, и результат этой функции умножается на его вес и суммируется по всем объектам.Окончательная сумма - это расстояние от моего изображения.Не уверен, что это хорошая мысль?
Так что я начал играть с гистограммами.Я сохранил индекс гистограмм, а затем запросил их расстояние между гистограммой и индексом гистограмм.Это дает какое-то сходство, но в большинстве случаев это далеко от хорошего идеала.
Теперь я играю с кластеризацией по среднему k.Я уже реализовал сегментацию на основе расстояния RGB (попробую также в цветовом режиме Lab).Мой индекс состоит из вектора центроидов (из кластеров).Сейчас я делаю сравнение на минимальном расстоянии между центроидами.Это дает лучшие результаты, но также далеко от хорошего.
Мой первый вопрос: могу ли я сделать что-то лучше с сегментами (кластерами), чем запрашивать расстояние?Как я могу включить информацию о форме?
Как примечание, большинство изображений - это изображения предметов повседневного пользования (разные карандаши, разные очки, разная обувь, ...) и с разными текстурами на фоне одного цвета.Нет естественных изображений, лиц, деревьев, облаков, гор, ...
С уважением, Захарие