2013-10-24 2 views
2

Я использую BOW в opencv для кластеризации функций переменного размера. Однако одна вещь не ясно из документации OpenCV, а также я не смог найти причину этого вопроса:Сумка визуальных слов в Opencv

предположить: размер словаря = 100.

Я использую прибой для вычисления функции, и каждый образ имеет дескрипторы с переменными размерами, например: 128 x 34, 128 x 63 и т. д. Теперь в BOW каждый из них кластеризован, и я получаю фиксированный размер дескриптора 128 x 100 для изображения. Я знаю, что 100 - это кластерный центр, созданный с использованием кластеризации kmeans.

Но я смущен тем, что если изображение имеет 128 x 63 дескрипторов, то как это происходит, кластеры в 100 кластеров, которые невозможно использовать kmeans. UNLESS i преобразует матрицу дескриптора в 1D. Не будет ли преобразование в 1D потерять действительную 128-мерную информацию о единичных ключевых точках?

Мне нужно знать, как обрабатывается матрица дескрипторов, чтобы получить 100 центров кластера только из 63 функций.

ответ

9

Думайте так.

У вас есть 10 кластеров, общее количество и 6 функций для текущего изображения. Первые 3 из этих функций ближе всего к 5-му среднему, а остальные 3 из них ближе всего к 7-му, 8-му и 9-му средним соответственно. Тогда ваша функция будет выглядеть как [0, 0, 0, 0, 3, 0, 1, 1, 1, 0] или нормализованная версия этого. Который является 10-мерным, и это равно числу средних кластеров. Таким образом, вы можете создать 100000-мерный вектор из 63 функций, если хотите.

Но все же я думаю, что что-то не так, потому что после того, как вы применили BOW, ваши функции должны быть 1x100, а не 128x100. Средства вашего кластера - 128x1, и вы назначаете свои возможности размером 128x1 (у вас есть функция 34 128x1 для первого изображения, функция 63 128x1 для второго изображения и т. Д.) Для этих средств. Таким образом, в основном вы назначаете 34 или 63 функции до 100, ваш результат должен быть 1x100.

+0

О, спасибо, это было так ясно. И только мой правильный, я сделал ошибку в написании о размере вектора BOW. Я проверил его, его 1 x 100, как вы сказали. Извиняется за это. И спасибо за четкое решение –

 Смежные вопросы

  • Нет связанных вопросов^_^