Можно использовать функции Computer Vision Toolbox™, чтобы искать изображением, также известным как систему извлечения изображений на основе содержимого (CBIR). Системы CBIR используются, чтобы получить изображения из набора изображений, которые похожи на изображение запроса. Применение этих типов систем может быть найдено во многих областях, таких как веб-поиск продукта, наблюдение и визуальная идентификация места. Сначала система ищет набор изображений, чтобы найти тех, которые визуально похожи на изображение запроса.
Поисковая система использует мешок визуальных слов, набор дескрипторов изображений, чтобы представлять ваш набор данных изображений. Изображения индексируются, чтобы создать отображение визуальных слов. Индекс сопоставляет каждое визуальное слово с их случаями в наборе изображений. Сравнение между изображением запроса и индексом обеспечивает изображения, самые похожие на изображение запроса. При помощи системного рабочего процесса CBIR можно оценить точность для известного набора результатов поиска изображений.
Создайте набор изображений, который представляет функции изображений извлечения. Использование imageDatastore
сохранить данные изображения. Используйте большое количество изображений, которые представляют различные точки зрения объекта. Большое и разнообразное количество изображений помогает обучить мешок визуальных слов и увеличивает точность поиска изображений.
Тип функции. indexImages
функция создает мешок визуальных слов с помощью ускоренных устойчивых функций (SURF). Для других типов функций можно использовать пользовательский экстрактор, и затем использовать bagOfFeatures
создать мешок визуальных слов. Смотрите, что Создать Поисковый индекс Использует Пользовательский пример Набора признаков.
Можно использовать исходный imgSet
или различный набор изображений для набора обучающих данных. Чтобы использовать различный набор, создайте мешок визуальных слов прежде, чем создать индекс изображений, с помощью bagOfFeatures
функция. Преимущество использования того же набора изображений состоит в том, что визуальный словарь адаптируется в соответствии с поисковым набором. Недостаток этого подхода - то, что поисковая система должна повторно изучить визуальный словарь, чтобы использовать на решительно различном наборе изображений. С независимым набором визуальный словарь лучше способен обработать сложения новых изображений в поисковый индекс.
Индексируйте изображения. indexImages
функция создает поисковый индекс, который сопоставляет визуальные слова с их случаями в коллекции изображений. Когда вы создаете мешок визуальных слов с помощью независимого набора или набора подмножества, включаете bag
как входной параметр к indexImages
. Если вы не создаете независимый мешок визуальных слов, то функция создает сумку на основе целого imgSet
введите набор. Можно добавить и удалить изображения непосредственно к и от индекса изображений с помощью addImages
и removeImages
методы.
Поисковый набор данных для подобных изображений. Используйте retrieveImages
функционируйте, чтобы искать набор изображений изображения, которые похожи на изображение запроса. Используйте NumResults
свойство управлять количеством результатов. Например, чтобы возвратить лучшие 10 подобных изображений, установите ROI
свойство использовать меньшую область изображения запроса. Меньшая область полезна для изоляции конкретного объекта в изображении, которое вы хотите искать.
Используйте evaluateImageRetrieval
функция, чтобы оценить извлечение изображений при помощи запроса отображает с известным набором результатов. Если результаты не то, что вы ожидаете, можно изменить или увеличить функции изображений мешком визуальных слов. Исследуйте тип полученных функций. Тип функции, использованной для извлечения, зависит от типа изображений в наборе. Например, если вы ищете коллекцию изображений, составленную из сцен, таких как пляжи, города, или магистрали, используете глобальную функцию изображений. Глобальная функция изображений, такая как цветная гистограмма, получает основные элементы целой сцены. Чтобы найти конкретные объекты в коллекциях изображений, используйте локальные функции изображений, извлеченные вокруг объекта keypoints вместо этого.