Не очень хороший результат в методе VLAD
Я работаю над VLAD(объединение локальных дескрипторов в компактное представление изображений) для извлечения изображений в больших наборах данных, в которых мой набор данных Оксфорд 5k, и в этой статье https://lear.inrialpes.fr/pubs/2010/JDSP10/jegou_compactimagerepresentation.pdf
все, что я делаю, это:
- извлечение признаков, а затем дескрипторов из всех изображений всего набора данных
- кластеризация дескрипторов с помощью k-средних и сохранение их как 'ox_0.1_cluster.mat'
- затем загружая эти кластерные дескрипторы и вычисляя дескриптор VLAD для всех изображений, определенных как "v_ij = sum_{x_j - c_ij}", в котором мы агрегируем вычитание всех дескрипторов x_j, принадлежащих изображению j, из центра кластера c_ij, который x_j принадлежит этому кластеру
- нормализация с L2-нормой
- теперь предположим, что у нас есть изображение запроса, затем мы вычисляем VLAD для него, как мы делали для изображений набора данных
- и затем я сравниваю два VLAD, скрещивая их как 'dot_q = vlad_q_l2*vlad_l2;' как упоминалось в статье
- а затем я покажу 29 лучших результатов в качестве изображения результатов
но моя проблема в том, что он не показывает истинные результаты, например, если я загружаю здание из категории A, он возвращает регион из категории B или даже кошку! я хотел знать, делаю ли я что-то не так? любая помощь приветствуется.