Я хочу внедрить систему, в которой задано входное изображение, оно возвращает разумный аналогичный (приближение допустимо) в наборе данных (около) 50K изображений. Время играет решающую роль.Fisher Vector с LSH?
Я буду использовать параллельную версию SIFT для получения матрицы дескрипторов D
. Я читал о Fisher Vector (FV) (VLfeat и реализациях) в качестве учебной и гораздо более точной альтернативы Bag of Features (BoF) для представления D
как единого вектора v
.
Мой вопрос являются:
- Какое расстояние используется для ПВС? Это евклидова? В этом случае я бы использовал LSH на эвклидовом расстоянии, чтобы быстро найти приблизительный соседний FV.
- Есть ли другие эффективные FV (с точки зрения времени) C++ реализация?
Из того, что я понимаю ваш ответ, VLAD лучше, чем FV, что меня удивляет, так как (очень полезно кстати, спасибо!) Я думал, что FV является улучшением VLAD. Это хорошо, потому что я не понял GMMs fullley. В любом случае, как насчет использования LSH для расстояний E2 (например, [FALCONN] (https://falconn-lib.org/)) для поиска ANN? Последнее: какие реализации VLAD/FV вы использовали? – justHelloWorld
Я написал свою собственную реализацию на основе данной статьи. Я использовал OpenCVs BFMatcher для выполнения сопоставления, но вы могли бы заменить эту часть на что-нибудь еще. Код находится в C++ – s1h
Конечно, это будет зависимым от реализации, но подход VLAD будет дороже, чем BoF? – justHelloWorld