🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
  • Home
  • Blog
  • Извлечение основных моментов событий с помощью спортивного приложения iYUNDONG

Извлечение основных моментов событий с помощью спортивного приложения iYUNDONG

  • Scenarios
March 16, 2021
milvus

iYUNDONG - это интернет-компания, цель которой - привлечь больше любителей спорта и участников таких мероприятий, как марафонские забеги. Она создает инструменты искусственного интеллекта (ИИ), которые могут анализировать медиа, снятые во время спортивных событий, и автоматически генерировать основные моменты. Например, загрузив селфи, пользователь спортивного приложения iYUNDONG, участвовавший в спортивном мероприятии, может мгновенно получить свои собственные фотографии или видеоклипы из огромного массива медиаданных об этом событии.

Одна из ключевых функций приложения iYUNDONG называется "Найди меня в движении". Фотографы обычно делают огромное количество фотографий или видео во время спортивного события, например марафонского забега, и в режиме реального времени загружают фотографии и видео в медиабазу iYUNDONG. Марафонцы, которые хотят увидеть свои самые яркие моменты, могут получить фотографии, включая себя, просто загрузив одно из своих селфи. Это экономит им много времени, поскольку система поиска изображений в приложении iYUNDONG выполняет все действия по сопоставлению изображений. Для работы этой системы iYUNDONG выбрал Milvus, поскольку Milvus может значительно ускорить процесс поиска и выдать высокоточные результаты.


Перейти к:


Трудности и решения

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

  • Фотографии с мероприятий должны быть немедленно доступны для поиска.

iYUNDONG разработал функцию InstantUpload, чтобы фотографии с мероприятий были доступны для поиска сразу после их загрузки.

  • Хранение массивных наборов данных

Массивные данные, такие как фотографии и видео, загружаются в бэкэнд iYUNDONG каждую миллисекунду. Поэтому iYUNDONG решил перейти на облачные системы хранения данных, включая AWS, S3 и Alibaba Cloud Object Storage Service (OSS), чтобы безопасно, быстро и надежно обрабатывать гигантские объемы неструктурированных данных.

  • Мгновенное чтение

Чтобы добиться мгновенного чтения, iYUNDONG разработал собственное промежуточное ПО для шардинга, которое позволяет легко достичь горизонтальной масштабируемости и снизить воздействие на систему от чтения с диска. Кроме того, Redis используется в качестве кэширующего слоя для обеспечения стабильной производительности в условиях высокого параллелизма.

  • Мгновенное извлечение черт лица

Для точного и эффективного извлечения черт лица из загруженных пользователем фотографий iYUNDONG разработал собственный алгоритм преобразования изображений, который конвертирует их в 128-мерные векторы признаков. Другая проблема заключалась в том, что часто многие пользователи и фотографы загружали изображения или видео одновременно. Поэтому при развертывании системы инженерам необходимо было учесть динамическую масштабируемость. В частности, для динамического масштабирования iYUNDONG в полной мере использовала облачный сервис эластичных вычислений (ECS).

  • Быстрый и масштабный векторный поиск

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

  1. Выполнять молниеносный поиск векторов в сверхбольших массивах данных.
  2. Обеспечить массовое хранение данных при меньших затратах.

Изначально ежегодно обрабатывалось в среднем 1 миллион изображений, поэтому iYUNDONG хранила все данные для поиска в оперативной памяти. Однако за последние два года бизнес компании бурно развивался и наблюдался экспоненциальный рост неструктурированных данных - в 2019 году количество изображений в базе данных iYUNDONG превысило 60 миллионов, что означало необходимость хранения более 1 миллиарда векторов признаков. Огромный объем данных неизбежно приводил к тому, что система iYUNDONG требовала больших затрат ресурсов. Поэтому ей приходилось постоянно инвестировать в аппаратные средства для обеспечения высокой производительности. В частности, iYUNDONG установила больше поисковых серверов, больше оперативной памяти и более производительный процессор, чтобы добиться большей эффективности и горизонтальной масштабируемости. Однако одним из недостатков этого решения было то, что оно приводило к непомерно высоким эксплуатационным расходам. Поэтому компания iYUNDONG начала искать лучшее решение этой проблемы и задумалась об использовании библиотек векторных индексов, таких как Faiss, чтобы сэкономить расходы и лучше управлять своим бизнесом. В итоге iYUNDONG выбрал векторную базу данных Milvus с открытым исходным кодом.


Что такое Milvus

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

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

Затем векторы встраивания вставляются в Milvus для хранения. Milvus также создает индексы для этих векторов.

● Milvus выполняет поиск по сходству и возвращает точные результаты поиска в соответствии с различными потребностями бизнеса.

iYUNDONG Blog 1.png Блог iYUNDONG 1.png


Почему Milvus

С конца 2019 года компания iYUNDONG провела серию тестов на использование Milvus в своей системе поиска изображений. Результаты тестирования показали, что Milvus превосходит другие основные векторные базы данных, поскольку поддерживает множество индексов и может эффективно сокращать использование оперативной памяти, значительно сокращая временные рамки поиска векторного сходства.

Кроме того, регулярно выпускаются новые версии Milvus. За время тестирования Milvus пережил множество обновлений, начиная с v0.6.0 и заканчивая v0.10.1.

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


Система и рабочий процесс

Система iYUNDONG извлекает черты лица, обнаруживая их сначала на фотографиях с мероприятий, загруженных фотографами. Затем эти черты лица преобразуются в 128-мерные векторы и сохраняются в библиотеке Milvus. Milvus создает индексы для этих векторов и может мгновенно возвращать высокоточные результаты.

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

Каждый вектор признаков имеет свой уникальный идентификатор в библиотеке Milvus. iYUNDONG использует алгоритм Leaf, распределенный сервис генерации идентификаторов, разработанный базовой научно-исследовательской платформой Meituan, чтобы связать идентификатор вектора в Milvus с соответствующей дополнительной информацией, хранящейся в другой базе данных. Объединяя вектор признаков и дополнительную информацию, система iYUNDONG может возвращать схожие результаты при поиске пользователя.


Интерфейс приложения iYUNDONG

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

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

iyundong-interface.jpg iyundong-interface.jpg


Заключение

В этой статье рассказывается о том, как приложение iYUNDONG создает интеллектуальную систему поиска изображений, которая может возвращать точные результаты поиска по загруженным пользователем фотографиям, различающимся по разрешению, размеру, четкости, ракурсу и другим параметрам, усложняющим поиск сходства. С помощью Milvus приложение iYUNDONG App может успешно выполнять запросы миллисекундного уровня по базе данных из 60 с лишним миллионов изображений. А точность поиска фотографий постоянно превышает 92 %. Milvus облегчает iYUNDONG создание мощной системы поиска изображений корпоративного уровня за короткое время при ограниченных ресурсах.

Читайте другие истории пользователей, чтобы узнать больше о создании вещей с помощью Milvus.

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Продолжить чтение