В настоящее время я пишу Сумку визуальной системы поиска изображений на основе слов, которая похожа на векторную космическую модель в поиске текста. В этих рамках каждое изображение представлено вектором (или иногда также называемым гистограммой в литературе). В основном каждое число в векторе подсчитывает количество раз, когда каждое «визуальное слово» встречается в этом изображении. Если у 2 изображений есть векторы, которые «близки» вместе, это означает, что у них много общих функций изображения, и поэтому они похожи.Как создать индекс для коллекции векторов/гистограмм для извлечения изображений на основе контента
Я в основном пытаюсь создать индекс инвертированного файла для набора таких векторов. Я хочу что-то, что может масштабироваться от тысяч (во время пробной стадии) до сотен тысяч или миллионов + изображений, так что взломанная структура структуры данных дома не будет работать.
Я посмотрел на Lucene, но, по-видимому, он только индексирует текст (исправьте меня, если я ошибаюсь), тогда как в моем случае я хочу, чтобы он индексировал числа (то есть сами векторы). Я видел случаи, когда люди конвертируют вектор в текстовый документ следующим образом:
< 3, 6, ..., 5> -> w1 w2 ... wn ". В принципе, любой компонент, отличный от нуля, заменяется текстовым словом «w [n]», где n - индекс этого числа. Этот «документ» затем передается Lucene для индексации.
Проблема с использованием этого метода заключается в том, что текстовое представление для вектора не кодирует, как часто происходит определенное «слово», поэтому ранжирование полученных изображений не будет хорошим.
Кто-нибудь знает зрелый API индексирования, который может обрабатывать векторы или, возможно, предлагает другую схему кодирования для моих векторов, чтобы я мог продолжать использовать Lucene? Я также посмотрел проект Lucene for Image Retrieval (LIRE) и попробовал демонстрацию, которая пришла с ней, но количество исключений, которые были сгенерированы, когда я запускал эту демонстрацию, заставляет меня не знать об использовании этого.
Что касается языка API, я открыт для C++ или Java.
Заранее благодарим за любые ответы.