Поиск вектора по фото: Компьютерная версия Vector Magic — Vector Magic

Содержание

Компьютерная версия Vector Magic — Vector Magic

Vector Magic доступен как отдельное компьютерное приложение для ПК с Windows и Mac. Конвертируйте изображения в автономном режиме и без проблем работайте с основными графическими программами, такими как Illustrator, Corel DRAW и другими, с помощью функций копирования и вставки и перетаскивания.

Купить сейчас

Получите все возможности Vector Magic на своем рабочем столе!

Цены

Бесплатная пробная версия

Компьютерную версию можно попробовать бесплатно — просто загрузите и установите ее. Сохранение результатов отключено в пробной версии, но есть возможность полного предварительного просмотра. При покупке лицензии вы получаете ключ продукта, который можно использовать для активации программного обеспечения и сохранения результатов.

Активация превращает бесплатную пробную версию в полную — дополнительно скачивать ничего не нужно.

Ваш компьютер должен быть подключен к Интернету во время активации.

Обновление до новой версии

Чтобы обновить предыдущую версию, просто скачайте последнюю версию и установите ее.

Активации сохраняются, поэтому, если вы уже активировали старую версию, то будет активирована и новая версия (нет необходимости повторно вводить ключ продукта).

Каковы преимущества компьютерной версии Vector Magic?

Компьютерная версия помещает все возможности Vector Magic — со всеми ее преимуществами — прямо на ваш рабочий стол. Неограниченная векторизация без необходимости загружать или скачивать какие-либо изображения и множество дополнительных функций .

Бесперебойный рабочий процесс

Vector Magic имеет удобный интерфейс для перетаскивания, который позволяет очень быстро загружать, конвертировать и сохранять изображения. Это продемонстрировано на демонстрационном видео. Вы также можете скопировать растровое изображение в буфер обмена и вставить его прямо в компьютерное приложение. Поскольку большинство современного программного обеспечения поддерживает как копирование, так и перетаскивание, это обеспечивает беспроблемную интеграцию с большинством графических программ.

Совместимость — Можно ли использовать результат с моим программным обеспечением?

В загрузке есть несколько образцов изображений, и результаты для всех из них входят в пакет. Проверьте совместимость, открыв образец результата в своем программном обеспечении.

На странице совместимости имеется список программных пакетов, которые работают с выходными данными Vector Magic.

Попробуйте как онлайн, так и компьютерную версию

Без забот пользуйтесь сайтом и оценивайте качество результатов.

Только в течение ограниченного времени первая сумма в 50,00 $, которую вы потратите на этом сайте, засчитывается в счет лицензии на компьютерную версию.

Кредит предоставляется в долларах США. Обменный курс к вашей местной валюте может со временем измениться, что может повлиять на фактически доступный кредит, когда вы будете его использовать.

Обязательно ознакомьтесь с системными требованиями и мелким шрифтом ниже, прежде чем начать пользоваться сервисом.

Одна лицензия для ПК и Mac

Одна и та же лицензия используется как для ПК, так и для Mac. Ваша лицензия позволяет 1 пользователю использовать программу на 2 компьютерах, и вы можете смешивать и сопоставлять типы компьютеров. Например, вы можете активировать программное обеспечение на 2 ПК, 1 ПК и 1 Mac или 2 Mac с одной и той же лицензией.

Матрица характеристик

ФункцияОнлайнКомпьютер
Полностью автоматическая векторизация ДаДа
Базовый режим векторизации с простыми настройками ДаДа
Расширенный режим векторизации с детальным управлением  Да
Выходные векторные изображения в EPS, SVG и PDF ДаДа
Выходные векторные изображения в AI, DXF  ПК
Выходное векторное изображение в AI  Mac
Выходные растровые изображения в PNG, GIF, BMP  Да
Выходные растровые изображения в JPG, TIFF  ПК
Полнофункциональный предварительный просмотр для детального изучения результата ДаДа
Возможности редактирования сегментации ДаДа
Супер-удобный ввод копированием и вставкой ДаДа
Супер-удобный ввод перетаскиванием ДаДа
Супер-удобный вывод перетаскиванием  Да
Векторизация очень больших изображений  Да
Группировка фигур по цвету  Да
Поддержка прозрачности  Да
Пакетная обработка  Да

Будет ли программа работать на моем компьютере?

Поддерживаемые операционные системы

Официально поддерживаются следующие операционные системы: Windows XP, Windows Vista, Windows 7, 8 и 10 (для ПК, а не для мобильных устройств) и Mac OS X 10. 7 и выше.

Программа не работает на более ранних версиях Windows или OS X. Версия для Linux отсутствует.

Поддерживаемое оборудование

Алгоритмы, используемые Vector Magic, используют расширенные функции, доступные только в современных процессорах, и значительные объемы памяти (потребление памяти зависит от размера вашего входного изображения, при этом чем больше размер изображения, тем больше требуется памяти).

Это означает, что вам нужен компьютер с процессором класса как минимум Pentium III и рекомендуемым объемом оперативной памяти не меньше 512 мегабайт. Для изображений большего размера (>1000×1000 пикселей) мы рекомендуем ОЗУ 1 гигабайт или больше.

Максимальный размер изображений, которые вы можете обработать с помощью компьютерного приложения, зависит от доступной памяти.

Пожалуйста, загрузите и установите пробную версию, чтобы убедиться, что вы можете обрабатывать изображения, перед покупкой лицензии.

Ограничения на размер изображения

Компьютерная версия для Windows имеет жесткое ограничение на размер изображений в 20 мегапикселей (например, 4000 x 5000 пикселей, хотя мы не требуем строгого соблюдения соотношений сторон).

Компьютерная версия для Mac имеет жесткое ограничение на размер изображения в 5 мегапикселей (например, 2000 x 2500 пикселей, хотя мы не требуем строгого соблюдения соотношений сторон).

Кроме того, для каждого мегапикселя изображения требуется 100 мегабайт доступной ОЗУ (= не используется другими программами) или 200 мегабайт физической ОЗУ, в зависимости от того, что менее ограничительно.

Таким образом, чтобы обработать 20-мегапиксельное изображение вашей машине потребуется как минимум 2 гигабайта доступной оперативной памяти ИЛИ как минимум 4 гигабайта физической памяти.

Как активируется программа?

После получения ключа продукта скопируйте его (выделите и нажмите Ctrl-C), затем запустите компьютерную версию Vector Magic. Появится мастер активации, который автоматически найдет ключ продукта в буфере обмена. Введите оставшуюся регистрационную информацию и нажмите «Активировать». Через несколько секунд ваше программное обеспечение будет активировано для неограниченного использования.

Во время активации ваш компьютер должен быть подключен к Интернету.

Если вы купили лицензию, вы всегда сможете найти свой ключ продукта на странице Моя учетная запись.

Что если я обновлю или поменяю свой компьютер?

Система активации рассчитана на автоматическую поддержку стандартных действий при обновлении, поэтому обычно перерывов в работе не бывает.

Если у вас возникнут проблемы, просто свяжитесь с нами, и мы займемся их решением.

Как получить помощь? Как сообщить о сбоях?

Программа имеет встроенную поддержку — достаточно нажать кнопку «справка» в правом верхнем углу.

В случае сбоев или ситуаций, не описанных в файле справки, используйте контактную форму.

Мелкий шрифт

Первая сумма в 50,00 $, которую вы потратите на этом сайте, будет засчитана в счет покупки одной копии компьютерного приложения. Кредит предоставляется в долларах США. Обменный курс к вашей местной валюте может со временем измениться, что может повлиять на фактически доступный кредит, когда вы будете его использовать. Этот кредит не подлежит передаче, и оплата ручной перерисовки на этот кредит не распространяется.

Vector Magic оставляет за собой право прекратить действие этого предложения в любое время, после чего никакие дальнейшие расходы, произведенные на этом сайте, не будут засчитываться в счет будущей покупки компьютерного приложения. Расходы, произведенные в период действия предложения, будут по-прежнему засчитываться в счет такой покупки в течение трех месяцев с момента окончания действия предложения.

Легко конвертируйте растровые изображения в векторные

Преимущества

Просто

Vector Magic превращает сложную и утомительную задачу по ручной трассировке растрового изображения в простой процесс щелканья мышью. Верните контроль над своими изображениями!

Отлично

Если вы сравните результаты с другими инструментами, вы заметите, что Vector Magic создает векторные изображения, лучше отвечающие исходному растровому изображению. Это часто делает их пригодными для немедленного использования, а если очистка и требуется, то в гораздо меньшем объеме.

Экономно

Из-за высокой стоимости аутсорсинга и количества времени, необходимого на ручную трассировку, Vector Magic окупается даже при минимальном использовании. А поскольку использование неограничено, всегда имеет смысл попробовать его на любом изображении, которое вы хотите векторизовать.

Быстро

Зачем зря тратить время? Vector Magic немедленно выдает результаты и позволяет вам продолжить свой день и заняться тем, что действительно важно.

Какой вариант мне выбрать?

Данная матрица функций поможет вам выбрать между онлайн-версией и компьютерной версией:

ФункцияОнлайнКомпьютер
Полностью автоматическая векторизация ДаДа
Базовый режим векторизации с простыми настройками ДаДа
Расширенный режим векторизации с детальным управлением  Да
Выходные векторные изображения в EPS, SVG и PDF ДаДа
Выходные векторные изображения в AI, DXF  ПК
Выходное векторное изображение в AI  Mac
Выходные растровые изображения в PNG, GIF, BMP  Да
Выходные растровые изображения в JPG, TIFF  ПК
Полнофункциональный предварительный просмотр для детального изучения результата ДаДа
Возможности редактирования сегментации ДаДа
Супер-удобный ввод копированием и вставкой ДаДа
Супер-удобный ввод перетаскиванием ДаДа
Супер-удобный вывод перетаскиванием  Да
Векторизация очень больших изображений  Да
Группировка фигур по цвету  Да
Поддержка прозрачности  Да
Пакетная обработка  Да

Will it work with my software?

По крайней мере, один из выходных форматов Vector Magic обычно работает с большинством современных программ. Вы можете скачать образец выходного файла или посетить страницу совместимости, чтобы убедиться, что этот файл будет работать с вашим конкретным программным обеспечением. В пакете, скачиваемом в компьютерной версии, также имеется полный набор примеров.

Только заливка

SVG

EPS

PDF

Обводка + заливка

SVG

EPS

PDF

Какие у меня есть варианты оплаты?

Мы принимаем все основные кредитные карты и PayPal. Мы не принимаем заказы на покупку и не выставляем счета.

Предлагаете ли вы льготные цены для пользователей из учебных или некоммерческих организаций?

К сожалению, мы не предлагаем льготных цен для учебных заведений или некоммерческих организаций.

Сведения о подписке

Вы можете отменить подписку в любое время несколькими щелчками на странице своей учетной записи.
Подпиской можно пользоваться до конца расчетного периода, даже если вы ее отмените. Никаких подвохов, уловок или обременительных обязательств, и вам не нужно звонить, чтобы отменить подписку.

Если вы не можете зайти на свою учетную запись, обратитесь в службу поддержки, и мы вам поможем.

Плата за подписку не возвращается.

Подписки продолжают действовать, а счета за подписки выставляются автоматически до их отмены.

Доступ предоставляется немедленно после подписки.

Подписки являются личными и не могут передаваться другим пользователям.

Currency: EUR

Онлайн-версия

Неограниченное использование

Веб-приложение на основе браузера

7,99 € / месяц

Оплата ежемесячно

Отмена в любое время

Vector Magic доступен как в виде сервиса на этом веб-сайте (онлайн-версия), так и в виде автономного компьютерного приложения (компьютерная версия).

Вы можете загружать, векторизовать и предварительно просматривать результат для любого количества изображений без каких-либо обязательств. Однако для скачивания результатов вам необходимо подписаться на онлайн-версию. Кроме того, вы можете купить компьютерную версию и использовать программное обеспечение в автономном режиме.

Совет

: как найти похожие векторные изображения на вашем сайте с фотографиями с помощью Google Image Search

Контент-маркетинг

Пятница, 11 декабря 2020 г.

0 1 153 2 минуты чтения

Организации часто используют векторные файлы , которые лицензированы и доступны на сайтах стоковых фотографий. Проблема возникает, когда они хотят обновить другие материалы внутри организации, чтобы они соответствовали стилю и брендингу, связанным с ранее выпущенной иконографией или символами.

Иногда это также может быть связано с текучестью кадров… иногда новые дизайнеры или ресурсы агентства берут на себя работу над контентом и дизайном организации. Это недавно произошло с нами, когда мы взяли на себя работу в компании и помогали им в создании контента.

Используйте поиск изображений Google, чтобы найти похожие векторы на сайте Stock Photo

Уловка, которой я хотел бы поделиться со всеми, заключается в использовании поиска изображений Google. Поиск картинок Google позволяет загружать изображения и выдает похожие изображения в Интернете. Однако одним из способов быстрого поиска является то, что вы можете выполнять поиск на конкретном сайте… например, на сайте стоковых фотографий.

Я являюсь партнером и давним клиентом Depositphotos. У них есть невероятный выбор изображений, векторных файлов (EPS) и видео на их сайте с некоторыми исключительными ценами и лицензиями. Вот как я использую Google Image Search, чтобы найти дополнительные векторы на их сайте, которые соответствуют тому же стилю.

В приведенном выше примере мне нужно экспортировать мое векторное изображение в формат png или jpg для загрузки в Google Image Search:

Как искать на стоковом фотосайте для похожих векторов

  1. Первый шаг — использовать Google Image Search . Ссылка для этого находится в правом верхнем углу главной страницы Google.
  1. Поиск картинок Google предоставляет значок загрузки , где вы можете загрузить образец изображения, которое вы хотите найти.
  1. Google Image Search предоставляет значок загрузки, с помощью которого вы можете загрузить образец изображения, которое вы хотите найти. Также есть возможность вставить URL-адрес изображения, если вы знаете, где оно находится на вашем сайте.
  1. Теперь Страница результатов поиска изображений Google предоставит изображение. Он также может включать термины метаданных, встроенные в файл изображения.
  1. Вот в чем хитрость… вы можете добавить параметр поиска для поиска только на одном веб-сайте, используя следующий синтаксис:
 site:depositphotos.com 
  1. При желании вы также можете добавить другие термины, если вам нравится, но я обычно этого не делаю при поиске векторов, чтобы найти целые библиотеки похожих векторов для загрузки и использования.
  2. Страница результатов поиска изображений Google предлагает набор результатов, похожих на исходное изображение. Вы также можете найти исходный вектор в результатах!

Теперь я могу просто просматривать Depositphotos по этим результатам, находить похожие изображения или библиотеки и использовать их для дополнительных дизайнов, которые мы создаем для клиента!

Раскрытие информации: в этой статье я использую свою партнерскую ссылку для Depositphotos.

сообщите об этом объявлении

Статьи по теме

Проверьте также

Закрыть

  • Meta Box: лучшая платформа плагинов WordPress для настраиваемых полей, настраиваемых типов сообщений и таксономий WordPress

  • Лучшие плагины WordPress для бизнеса

    вторник, 13 декабря 2022 г.

  • Что такое сеть доставки контента (CDN)?

    Понедельник, 12 декабря 2022 г.

Найдите что-нибудь молниеносно с помощью технологии векторного поиска Google

Недавно компания Groovenauts, Inc. , партнер Google Cloud, опубликовала живую демонстрацию MatchIt Fast. Как показывает демонстрация, вы можете найти изображения и текст, похожие на выбранный образец из коллекции миллионов, за считанные миллисекунды:

Поиск схожести изображений с помощью MatchIt Fast

Попробуйте — и либо выберите предустановленное изображение, либо загрузите его. один из ваших собственных. Как только вы сделаете свой выбор, вы мгновенно получите 25 лучших похожих изображений из двух миллионов изображений на изображениях Викимедиа, как вы можете видеть в видео выше. Без кэширования.

Демонстрация также позволяет выполнять поиск сходства с новостными статьями. Просто скопируйте и вставьте несколько абзацев из любой новостной статьи и получите похожие статьи из 2,7 миллионов статей о проекте GDELT в течение секунды.

Поиск сходства текста с помощью MatchIt Fast

Векторный поиск: технология поиска Google, YouTube, Play и т. д.

Как он может находить совпадения так быстро? Хитрость заключается в том, что демоверсия MatchIt Fast использует возможности поиска по сходству векторов (или поиска ближайшего соседа, или просто векторного поиска) механизма сопоставления Vertex AI, который использует тот же бэкенд, что и Google Image Search, YouTube, Google Play и другие, для миллиарды рекомендаций и поиск информации для пользователей Google по всему миру. Эта технология является одним из наиболее важных компонентов основных сервисов Google, и не только для Google: она становится жизненно важным компонентом многих популярных веб-сервисов, которые полагаются на поиск контента и поиск информации, ускоренные мощью глубоких нейронных сетей.

Так в чем же разница между традиционным поиском по ключевым словам и векторным поиском по сходству? В течение многих лет реляционные базы данных и полнотекстовые поисковые системы были основой поиска информации в современных ИТ-системах. Например, вы можете добавить теги или ключевые слова категории, такие как «кино», «музыка» или «актер», к каждому элементу контента (изображению или тексту) или каждому объекту (продукту, пользователю, устройству IoT или чему-то еще). . Затем вы добавляли эти записи в базу данных, чтобы выполнять поиск по этим тегам или ключевым словам.

В отличие от этого векторный поиск использует векторы (где каждый вектор представляет собой список чисел) для представления и поиска содержимого. Комбинация чисел определяет сходство с конкретными темами. Например, если изображение (или любой контент) включает 10 % «фильма», 2 % «музыки» и 30 % контента, связанного с «актерами», вы можете определить вектор [0,1, 0,02, 0,3] представлять его. (Примечание: это слишком упрощенное объяснение концепции; реальные векторы имеют гораздо более сложные векторные пространства). Вы можете найти похожий контент, сравнив расстояние и сходство между векторами. Именно так сервисы Google находят ценный контент для самых разных пользователей по всему миру за миллисекунды.

При поиске по ключевым словам вы можете указать только двоичный выбор в качестве атрибута каждой части контента; либо о кино, либо нет, либо о музыке, либо нет, и так далее. Кроме того, вы не можете выразить фактическое «значение» контента для поиска. Например, если вы укажете ключевое слово «фильмы», вы не увидите никакого контента, связанного с «фильмами», если только не существует словаря синонимов, который явно связывает эти два термина в базе данных или поисковой системе.

Векторный поиск обеспечивает гораздо более совершенный способ поиска контента с тонкими нюансами и значениями. Векторы могут представлять собой подмножество контента, которое содержит «многое об актерах, немного о фильмах и немного о музыке». Векторы могут представлять значение контента, где «фильмы», «фильмы» и «кино» собраны вместе. Кроме того, векторы могут гибко представлять категории, ранее неизвестные или не определенные поставщиками услуг. Например, новые категории контента, в первую очередь привлекательные для детей, такие как ASMR или слизь, очень трудно предугадать заранее для взрослых или специалистов по маркетингу, и вернуться к обширным базам данных, чтобы вручную обновить контент с этими новыми ярлыками, было бы практически невозможно. делать быстро. Но векторы могут захватывать и представлять невиданные ранее категории мгновенно.

Векторный поиск меняет дело

Векторный поиск применим не только к изображениям и текстовому содержимому. Его также можно использовать для поиска информации обо всем, что у вас есть в вашем бизнесе, когда вы можете определить вектор для представления каждой вещи. Вот несколько примеров:

  • Поиск похожих пользователей. Если вы определите вектор для представления каждого пользователя в вашем бизнесе, объединив действия пользователя, историю прошлых покупок и другие атрибуты пользователя, то вы сможете найти всех пользователей, похожих на указанный пользователь. Затем вы можете увидеть, например, пользователей, которые покупают аналогичные продукты, пользователей, которые, вероятно, являются ботами, или пользователей, которые являются потенциальными премиальными клиентами и на которых следует ориентироваться с помощью цифрового маркетинга.

  • Поиск похожих товаров или предметов. С помощью вектора, сгенерированного на основе таких характеристик товара, как описание, цена, место продажи и т. д., вы можете найти похожие товары, чтобы ответить на любое количество вопросов; например, «Какие другие продукты похожи на этот и могут работать для того же варианта использования?» или «Какие товары были проданы за последние 24 часа в этом районе?» (в зависимости от времени и расстояния)

  • Поиск неисправных устройств IoT: с вектором, который фиксирует характеристики неисправных устройств по их сигналам, векторный поиск позволяет мгновенно находить потенциально неисправные устройства для профилактического обслуживания.

  • Поиск рекламы. Четко определенные векторы позволяют находить наиболее релевантную или подходящую рекламу для зрителей за миллисекунды при высокой пропускной способности.

  • Обнаружение угроз безопасности. Вы можете определить угрозы безопасности, векторизируя сигнатуры двоичных файлов компьютерных вирусов или злонамеренные атаки на веб-службы или сетевое оборудование.

  • …и многие другие: В ближайшие несколько лет, скорее всего, появятся тысячи различных приложений векторного поиска во всех отраслях, что сделает эту технологию столь же важной, как и реляционные базы данных.

Хорошо, векторный поиск звучит круто. Но каковы основные проблемы, связанные с применением технологии в реальных сценариях использования в бизнесе? На самом деле их два:

Внедрения: значимые векторы для бизнес-применений

Первая задача — создание векторов для представления различных сущностей, значимых и полезных для бизнес-применений. Именно здесь технология глубокого обучения может проявить себя. В случае демонстрации MatchIt Fast приложение просто использует предварительно обученную модель MobileNet v2 для извлечения векторов из изображений и универсальный кодировщик предложений (USE) для текста. Применяя такие модели к необработанным данным, вы можете извлекать «эмбеддинги» — векторы, которые отображают каждую строку данных в пространстве их «значений». MobileNet помещает изображения со схожими узорами и текстурами ближе друг к другу в пространстве встраивания, а USE помещает ближе тексты, имеющие схожие темы.

Например, тщательно разработанная и обученная модель машинного обучения может отображать фильмы в пространство для встраивания, подобное следующему:

Пример 2D-пространства встраивания для рекомендации фильмов Встраивая пространство, показанное здесь, пользователи могли найти рекомендуемые фильмы по двум параметрам: фильм для детей или взрослых, блокбастер или артхаусный фильм? Это, конечно, очень простой пример, но с таким пространством для встраивания, которое соответствует вашим бизнес-требованиям, вы можете улучшить взаимодействие с пользователем в службах рекомендаций и поиска информации с помощью идей, извлеченных из модели.

Чтобы узнать больше о создании вложений, воспользуйтесь Ускоренным курсом машинного обучения по системам рекомендаций. Это отличный способ начать работу. Мы также обсудим, как извлечь лучшие встраивания из бизнес-данных позже в этом посте.

Создание быстрой и масштабируемой службы поиска векторов

Предположим, вы успешно извлекли полезные векторы (вложения) из своих бизнес-данных. Теперь вам остается только искать похожие векторы. Звучит просто, но на практике это не так. Давайте посмотрим, как работает векторный поиск, когда вы наивно реализуете его с помощью BigQuery:

Поиск похожих элементов (в данном случае изображений рыб) из миллиона элементов занимает около 20 секунд. Этот уровень производительности не так впечатляет, особенно по сравнению с демонстрацией MatchIt Fast. BigQuery — один из самых быстрых сервисов хранения данных в отрасли, так почему же векторный поиск занимает так много времени?

Это иллюстрирует вторую проблему: создание быстрой и масштабируемой векторной поисковой системы — непростая задача. Наиболее широко используемыми метриками для вычисления сходства между векторами являются расстояние L2 (евклидово расстояние), косинусное сходство и скалярный продукт (скалярный продукт).

Вычисление сходства векторов

Но все требуют вычислений, пропорциональных количеству векторов, умноженному на количество измерений, если вы реализуете их наивным способом. Например, если вы сравниваете вектор из 1024 элементов с векторами из 1 миллиона, количество вычислений будет пропорционально 1024 x 1M = 1,02B. Это вычисление, необходимое для просмотра всех объектов для одного поиска, и причина, по которой приведенная выше демонстрация BigQuery занимает так много времени.

Вместо того, чтобы сравнивать векторы один за другим, вы можете использовать подход приближенного ближайшего соседа (ANN), чтобы сократить время поиска. Многие алгоритмы ANN используют векторное квантование (VQ), в котором вы разбиваете векторное пространство на несколько групп, определяете «кодовые слова» для представления каждой группы и ищете только эти кодовые слова. Этот метод VQ значительно увеличивает скорость запросов и является неотъемлемой частью многих алгоритмов ANN, точно так же, как индексирование является неотъемлемой частью реляционных баз данных и полнотекстовых поисковых систем.

Пример векторного квантования (от: Mohamed Qasem)

Как вы можете заключить из приведенной выше диаграммы, по мере увеличения количества групп в пространстве скорость поиска снижается, а точность увеличивается. Управление этим компромиссом — получение более высокой точности при меньшей задержке — было ключевой проблемой алгоритмов ANN.

В прошлом году Google Research объявила о ScaNN, новом решении, которое обеспечивает самые современные результаты для решения этой задачи. В ScaNN они представили новый алгоритм VQ, называемый анизотропным векторным квантованием:

Анизотропное векторное квантование использует новую функцию потерь для обучения модели для VQ для оптимальной группировки, чтобы захватить более дальние точки данных (т. е. большее внутреннее произведение) в одной группе. С этой идеей новый алгоритм обеспечивает более высокую точность при меньшей задержке, как вы можете видеть в результатах теста ниже (фиолетовая линия):

ScaNN постоянно превосходит другие алгоритмы ANN в тестах производительности и точности

Это волшебство компонент пользовательского опыта, который вы чувствуете, когда используете Google Image Search, YouTube, Google Play и многие другие сервисы, которые полагаются на рекомендации и поиск. Короче говоря, технология ANN от Google позволяет пользователям находить ценную информацию за миллисекунды в бескрайнем море веб-контента.

Как использовать Vertex AI Matching Engine

Теперь вы можете использовать ту же технологию поиска, которая используется в службах Google, с вашими собственными бизнес-данными. Vertex AI Matching Engine — это продукт, который использует один и тот же сервер на основе ScaNN со службами Google для быстрого и масштабируемого векторного поиска, а недавно он стал GA и готов к использованию в производстве. В дополнение к ScaNN, Matching Engine предоставляет вам дополнительные функции в качестве коммерческого продукта, в том числе:

  • Масштабируемость и доступность. Версия ScaNN с открытым исходным кодом является хорошим выбором для целей могут ожидать проблемы при запуске его в производство самостоятельно. Например, как вы управляете им на нескольких узлах с высокой масштабируемостью, доступностью и ремонтопригодностью? Matching Engine использует производственную серверную часть Google для ScaNN, которая обеспечивает автоматическое масштабирование и автоматическую отработку отказа с большим пулом рабочих операций. Он способен обрабатывать десятки тысяч запросов в секунду и возвращает результаты поиска менее чем за 10 мс для 90-й процентиль с показателем отзыва 95-98%.

  • Полностью управляемый: вам не нужно беспокоиться о создании и обслуживании службы поиска. Просто создайте или обновите индекс с вашими векторами, и вы получите готовый к работе сервис ИНС. Не нужно думать о перестроении и оптимизации индексов или других задачах обслуживания.

  • Фильтрация: Matching Engine предоставляет функции фильтрации, которые позволяют фильтровать результаты поиска на основе тегов, указанных для каждого вектора. Например, вы можете присвоить теги «страна» и «в наличии» для каждого вектора модных товаров и указать такие фильтры, как «(США ИЛИ Канада) И есть в наличии»  или «не Япония И есть в наличии» при поиске.

Давайте посмотрим, как использовать Matching Engine, на примерах кода из демонстрации MatchIt Fast.

Создание вложений

Перед началом поиска необходимо сгенерировать вложения для каждого элемента, например:

Загрузка…

{
«Идентификатор»: «b5c65fea9b0b8a57bfa574ea»,
«Встраивание»: [
0,1632

30951691,
0,92436742782592773,
0,00095699273515492678,
0,011479727923870087,
0,0089491046965122223,
0,019959751516580582,
0,031516745686531067,
0,0066015380434691906,
0,46404418349266052,
. ..

Это встраивание с 1280 измерениями для одного изображения, созданного с помощью модели MobileNet v2. Демонстрация MatchIt Fast создает вложения для двух миллионов изображений со следующим кодом:

Загрузка…

class Vectorizer:
защита __init__(сам):
self._model = tf.keras.Sequential([hub.KerasLayer(«https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/5», trainable=False)])
self._model.build([None, 224, 224, 3]) # Форма пакетного ввода.

def векторизовать (я, jpeg_file):
…отрезать…
встраивание = self._model.predict({«входы»: input_tensor})[0].tolist()
возвратное вложение

После создания вложений вы сохраняете их в корзине Google Cloud Storage.

Настройка индекса

Затем определите файл JSON для конфигурации индекса:

Загрузка…

{
«contentsDeltaUri»: «gs://match-it-fast-us-central1/wikimedia_images/index-1»,
«конфигурация»: {
«габариты»: 1280,
«приблизительное число соседей»: 150,
«distanceMeasureType»: «SQUARED_L2_DISTANCE»,
«algorithm_config»: {
«treeAhConfig»: {
«leafNodeEmbeddingCount»: 1000,
«leafNodesToSearchPercent»: 5
}
}
}
}

Вы можете найти подробное описание для каждого поля в документации, но вот некоторые важные поля:

  • contentDeltaUri : место, где вы сохранили вложения

  • размеры : сколько измерений в вложения

  • приблизительного NeighborsCount : количество соседей по умолчанию для поиска с помощью приблизительного поиска

  • DistanceMeasureType : как следует измерять сходство между вложениями, либо L1, L2, косинус или скалярное произведение (на этой странице объясняется, что выбрать для разных вложений)

Чтобы создать индекс в Matching Engine, выполните следующую команду gcloud где параметр файла метаданных принимает имя файла JSON, определенное выше.

Загрузка…

gcloud —project=gn-match-it-fast beta ai indexes create \
—display-name=викимедиа-изображения \
—description=»Демонстрация изображения Викимедиа» \
—metadata-file=metadata/wikimedia_images_index_metadata.json \
—region=us-central1

Запустить поиск

Теперь механизм сопоставления готов к работе. Демонстрация обрабатывает каждый поисковый запрос в следующем порядке:

Жизнь запроса в демоверсии MatchIt Fast

  1. Сначала веб-интерфейс берет изображение (выбранное или загруженное пользователем) и кодирует его в встраивание с использованием модели TensorFlow.js MobileNet v2, работающей внутри браузера. Примечание: это «кодирование на стороне клиента» — интересный вариант для уменьшения сетевого трафика, когда вы можете запустить кодирование на клиенте. Во многих других случаях вы должны кодировать содержимое во встраивания с помощью службы прогнозирования на стороне сервера, такой как Vertex AI Prediction, или просто извлекать предварительно созданные вложения из репозитория, такого как Vertex AI Feature Store.

  2. Внешний интерфейс App Engine получает встраивание и отправляет запрос в Matching Engine. Обратите внимание, что вы также можете использовать любые другие вычислительные службы в Google Cloud для отправки запросов в Matching Engine, такие как Cloud Run, Compute Engine или Kubernetes Engine, или любые другие сервисы, наиболее подходящие для ваших приложений.

  3. Система сопоставления выполняет поиск. Соединение между App Engine и Matching Engine осуществляется через частную сеть VPC для оптимальной задержки.

  4. Механизм сопоставления возвращает идентификаторы похожих векторов в своем индексе.

Шаг 3 реализован с помощью следующего кода:

Загрузка…

class MatchingQueryClient:
…отрезать…

def query_embedding (я, встраивание, num_neighbors = 30):
запрос = match_service_pb2.MatchRequest()
request.deployed_index_id = self._deployed_index_id
для v во встраивании:
request. float_val.append(v)
request.num_neighbors = количество_соседей
ответ = self._stub.Match(запрос)
вернуть ответ

Запрос к механизму сопоставления отправляется через gRPC, как видно из приведенного выше кода. После получения объекта запроса он указывает идентификатор индекса, добавляет элементы встраивания, указывает количество соседей (похожих вложений) для извлечения и вызывает функцию Match для отправки запроса. Ответ приходит в течение миллисекунд.

Следующие шаги: Внесение изменений для различных вариантов использования и повышение качества поиска

Как мы уже отмечали ранее, основными проблемами применения векторного поиска в производственных сценариях являются:

Из приведенного выше примера видно, что Vertex AI Matching Engine решает вторую задачу. Как насчет первого? Matching Engine — служба векторного поиска; он не включает часть создания векторов.

В демоверсии MatchIt Fast используется простой способ извлечения вложений из изображений и содержимого; в частности, он использует существующую предварительно обученную модель (MobileNet v2 или Universal Sentence Encoder). Хотя с ними легко начать работу, вы можете изучить другие варианты создания вложений для других вариантов использования и повышения качества поиска в зависимости от требований вашего бизнеса и взаимодействия с пользователем.

Например, как вы создаете вложения для рекомендаций по продуктам? Раздел «Системы рекомендаций» ускоренного курса по машинному обучению — отличный ресурс для изучения того, как использовать совместную фильтрацию и модели DNN (модель с двумя башнями) для создания вложений для рекомендаций. Кроме того, TensorFlow Recommenders предоставляет полезные руководства и учебные пособия по этой теме, особенно по модели с двумя башнями и расширенным темам. Для интеграции с Matching Engine вы также можете проверить встраивания Train, используя страницу встроенного алгоритма с двумя башнями.

Еще одно интересное решение — модель Swivel. Swivel — это метод создания вложений элементов из матрицы совпадения элементов. Для структурированных данных, таких как заказы на покупку, матрица совпадения элементов может быть вычислена путем подсчета количества заказов на покупку, содержащих как продукт A, так и продукт B, для всех продуктов, для которых вы хотите создать вложения. Чтобы узнать больше, взгляните на этот учебник о том, как использовать модель с Matching Engine.

Если вы ищете другие способы повышения качества поиска, рассмотрите возможность обучения метрикам, которое позволяет обучать модель различению объектов в пространстве встраивания, а не только классификации:

Обучение метрике обучает модели различению с помощью метрики расстояния

Популярные предварительно обученные модели, такие как MobileNet v2, могут классифицировать каждый объект на изображении, но они явно не обучены различать объекты друг от друга с определенной метрикой расстояния . С метрическим обучением вы можете рассчитывать на лучшее качество поиска, разрабатывая пространство для встраивания, оптимизированное для различных вариантов использования в бизнесе. TensorFlow Similarity может быть вариантом для интеграции обучения метрике с Matching Engine.

Oxford-IIIT Визуализация набора данных домашних животных с использованием проектора Tensorflow Similarity

Заинтересованы? Сегодня мы только начинаем переход от традиционных поисковых технологий к новому векторному поиску.