Расширенный поиск видео: использование Twelve Labs и Milvus для семантического поиска
В августе 2024 года на Unstructured Data Meetup в Сан-Франциско Джеймс Ле, Head of Developer Experience в Twelve Labs, выступил с содержательным докладом о продвинутом поиске по видео для семантического поиска. Если вы еще не слышали о Twelve Labs, вас ждет приятное открытие. Twelve Labs разрабатывает передовые мультимодальные модели, которые помогают машинам понимать видео так же интуитивно, как это делают люди. Они создали современные фундаментальные модели для генерации видеоэмбеддингов, а также API, которые могут искать, генерировать и классифицировать видеоконтент с точностью, близкой к человеческой.
В докладе Джеймс объясняет ключевые концепции понимания видео и общий рабочий процесс их фундаментальной модели и API. Джеймс также рассказывает об интеграции моделей понимания видео с эффективными векторными базами данных, такими как Milvus от Zilliz, для создания захватывающих приложений семантического поиска. Если вам интересно, как ИИ может революционизировать видеоконтент, эта встреча была по-настоящему запоминающейся.
Итак, давайте углубимся в доклад Джеймса «Advanced Video Search - Leveraging Twelve Labs and Milvus for Semantic Retrieval»: Посмотреть доклад на YouTube.
Джеймс Ле выступает на августовском South Bay Unstructured Data Meetup
Что такое понимание видео?
Видео — это мощный источник информации о реальном мире. В отличие от изображений, которые фиксируют только статичные сцены, видео фиксируют временную информацию, такую как изменяющиеся действия, поведение или события. Подобно людям, машины можно научить анализировать, интерпретировать и извлекать значимую информацию из видео с помощью компьютерного зрения и методов глубокого обучения.
Эволюция понимания видео
Видео впервые были изобретены в конце XIX века, и в то время не существовало технологии для их интерпретации. Позже, в 1996 году, была коммерциализирована первая технология преобразования речи в текст, которая создавала транскрипты. Однако эти транскрипты было ужасно читать, и они были оторваны от визуальной информации. Кроме того, в 1997 году была выпущена первая модель распознавания изображений на основе CNN — LeNet - 5, которая создавала теги для понимания объектов в видеокадрах, таких как «человек», «собака», «одежда» и так далее. Эти теги не помогали понять контекст видео и создавали несоответствия. Позже, с 2012 года, понимание видео было революционизировано сверточными нейронными сетями (CNN), которые позволили моделям выполнять продвинутые задачи, такие как распознавание действий.
Прошлое, настоящее и будущее понимания видео
В прошлом понимание видео сводилось к решению низкоуровневых задач восприятия видео, таких как извлечение низкоуровневых признаков — цвета, текстуры и движения — с использованием признаков, созданных вручную, или простых методов компьютерного зрения, таких как Histogram of Gradients (HOG). Среди самых ранних задач восприятия видео были Video Object Detection, Video Object Tracking, Video Instance Segmentation и Action Recognition.
Упомянутые ранее задачи часто были узкими по охвату и сопровождались неэффективностью, такой как неправильно размеченные объекты или пропущенные теги. В настоящее время понимание видео развилось и охватывает более широкие задачи, такие как Video Classification, Video Retrieval, Video Question Answering и Video Captioning. Такие методы, как CNN, Recurrent Neural Networks (RNNs), а в последнее время Transformers, позволили моделям эффективно обрабатывать пространственные и временные закономерности. Распознавание действий эволюционировало в классификацию видео, где модели классифицируют всю последовательность, а не просто распознают одно действие. Аналогично, системы поиска по видео теперь могут индексировать и извлекать релевантные видео на основе запросов. В то же время модели ответов на вопросы могут отвечать на вопросы, связанные с видео, а создание подписей к видео может генерировать текстовые описания сцен.
Текущие модели либо сосредоточены на конкретной задаче, обучены на конкретных данных, либо основаны на одной модальности. В будущем фокус будет направлен на мультимодальные базовые видеомодели, которые обеспечивают универсальное понимание. Эти модели будут интегрировать информацию из нескольких источников — видео, аудио и текста, чтобы сформировать целостное понимание видеоконтента. Основная идея этих моделей заключается в том, что они подходят для разнообразных сценариев использования и отраслей, решают динамические задачи и обеспечивают единое понимание всех модальностей, позволяя создавать сложные приложения, работающие в реальном времени.
Базовые видеомодели от Twelve Labs
Видео базовые модели — это большие предварительно обученные модели, предназначенные для всестороннего понимания видео. Подобно тому, как языковые модели (например, GPT) служат основой для различных текстовых приложений, базовые видеомодели, обученные на огромных объемах мультимодальных данных (видео, аудио, текст), способны генерировать мультимодальные эмбеддинги, которые затем можно использовать для решения широкого спектра последующих задач и создания видеоцентричных приложений в разных отраслях.
В выступлении James Lee очень четко описывает роль базовых видеомоделей в создании реальных приложений и то, чем они полезны для конечных пользователей.
Генерация эмбеддингов: Сначала базовая модель сгенерирует мультимодальные эмбеддинги для входных данных. Эти эмбеддинги представляют собой числовые представления, которые хранят всю разговорную и визуальную семантическую информацию из видео.
Последующие задачи: Сгенерированные эмбеддинги можно далее использовать для создания API для последующих задач, таких как Search and Classify, Generate и Embed.
Видеоцентричные приложения: Шлюзовые API на основе эмбеддингов можно далее использовать для создания видеоцентричных приложений в различных отраслях, таких как правоохранительные органы, электронное обучение, спорт и экономика создателей контента.
Конечные пользователи: Описанные выше шаги создадут конвейер интеллектуального понимания видео, который будет полезен для удовлетворения потребностей отдельных пользователей и предприятий.
Разобравшись с общей структурой, давайте глубже погрузимся в технические нюансы базовых видеомоделей.
Что такое видеоэмбеддинги?
Видеоэмбеддинги по сути представляют собой представления видео в векторном пространстве меньшей размерности в виде числового вектора. Эти эмбеддинги фиксируют визуальные признаки и семантику видео, что позволяет базовым моделям понимать содержимое видео. Традиционно векторные эмбеддинги относились только к одной модальности, такой как изображение, текст или аудио, которые обрабатывались независимо. Однако с ростом мультимедийного контента и популярностью архитектуры трансформеров произошел сдвиг в сторону разработки эмбеддингов, способных фиксировать визуальную, текстовую и звуковую информацию в общем латентном пространстве.
Магия видеоэмбеддингов
Современная базовая видеомодель - Marengo 2.6
James Lee представляет новейшую современную базовую видеомодель, разработанную в Twelve Labs, под названием Marengo 2.6. Эта модель способна выполнять поисковые задачи «any-to-any», то есть она может выполнять запросы к видеоданным с использованием различных входных форматов, таких как Text-To-Video, Text-To-Image, Text-To-Audio, Audio-To-Video, Image-To-Video и другие. Эта модель является преобразующей для области понимания видео, поскольку она значительно повышает эффективность видеопоиска и обеспечивает надежные взаимодействия между различными модальностями.
Как упоминалось в блоге «Introducing Marengo 2.6», базовая концепция архитектуры основана на «Gated Modality Experts», что позволяет обрабатывать мультимодальные входные данные с помощью специализированных энкодеров перед их объединением в комплексное мультимодальное представление. В архитектуре есть три основных модуля
Visual Expert — он обрабатывает визуальную информацию, чтобы фиксировать внешний вид, движение и временные изменения внутри видео.
Audio Expert — он обрабатывает аудиальную информацию, чтобы фиксировать как вербальные, так и невербальные аудиосигналы, связанные с видео.
Gated Fusion Module — он оценивает вклад каждого эксперта для видео и объединяет их в единое мультимодальное представление для поиска any-to-any.
Кроме того, Marengo 2.6 отлично справляется с тонкой настройкой, позволяя пользователям адаптировать модель под конкретные потребности контента или домены. Инфраструктура модели поддерживает обработку огромных видеодатасетов, что делает ее адаптируемой для организаций с крупными видеобиблиотеками. Эту модель можно далее использовать для последующих задач, таких как улучшенный поиск, классификация и управление контентом, с помощью бесшовных API-интеграций.
Последующие задачи с Twelve Labs APIs
Video Search API
Представьте, что вы можете найти точные сцены в видео турнира Большого шлема по теннису, когда Roger Federer получает очко, выполняя мощный удар против соперника, просто описав эти визуальные элементы на естественном языке. Звучит слишком хорошо, чтобы быть правдой, верно? Это называется видеопоиском.
Как показано на рисунке ниже, видеопоиск работает так: сначала video foundation model создает эмбеддинги видео. Затем search API принимает ввод из запроса на естественном языке, который также преобразуется в эмбеддинги. Наконец, эмбеддинги запроса сопоставляются с видеоэмбеддингами, чтобы выдать сцены видео с таймингами.
Twelve Labs Search API
Традиционный видеопоиск, с другой стороны, имел серьезные ограничения в подходе и реализации, поскольку в основном полагался на сопоставление ключевых слов для индексации и поиска видео. Однако благодаря мультимодальному пониманию видео с помощью ИИ возможно одновременно улавливать сложные взаимосвязи между всеми модальностями и обеспечивать более человекоподобную интерпретацию видео.
Video Classify API
Понимание видео на базе ИИ позволяет автоматически распределять видео по заранее заданным классам. Используя zero-shot подход, также можно получать классы на лету без их предварительного определения. С помощью Classify API от Twelve Labs вы можете организовывать видео по категориям спорт, новости, развлечения или документалистика, анализируя семантические признаки, объекты, действия и другие элементы контента.
Twelve Labs Classify API
Video Embed API
Twelve Labs Embed API
Twelve Labs также выпустила Embed API в закрытой бета-версии для разработчиков. Search и Classify APIs были решениями end-to-end, но этот API предназначен для тех, кто хочет экспериментировать на уровне эмбеддингов, добавляя свои метаданные или выполняя дополнительные математические операции.
Этот API создает мультимодальные эмбеддинги на уровне видео и на уровне клипов, которые можно использовать для различных пользовательских последующих задач, включая, помимо прочего, обнаружение аномалий, сортировку по разнообразию, анализ тональности, рекомендации и построение систем Retrieval Augmented Generation (RAG).
Twelve Labs встречает Milvus
Twelve Labs Meets Milvus
В августе 2024 года Twelve Labs и Milvus (векторная база данных от Zilliz) объединили усилия для создания мощных приложений видеопоиска. Milvus — масштабируемая и эффективная векторная база данных для управления, запросов и извлечения векторных эмбеддингов. Она специально разработана для создания высокопроизводительных AI-приложений. Используя возможности продвинутых мультимодальных эмбеддингов Twelve Labs и интегрируя их с Milvus, разработчики могут открыть новые возможности в анализе видеоконтента, создавая такие приложения, как поисковые системы, рекомендательные системы и поиск видео на основе содержимого.
Семантический поиск с использованием Twelve Labs и Milvus
Чтобы выполнить семантический поиск, первым шагом необходимо выбрать и настроить необходимые SDK и библиотеки векторной базы данных и API для генерации эмбеддингов. Затем с помощью Embed API от Twelve Labs генерируются мультимодальные эмбеддинги видео либо на уровне клипов, либо на уровне видео. Для уровня клипов можно определить длину клипов, на которые должно быть разбито видео. Например, если общая продолжительность видео составляет 18 секунд, а длина клипа выбрана равной 6 секундам, то мы получим 3 эмбеддинга на уровне клипов. Затем эмбеддинги вставляются в векторную базу данных, и наконец можно выполнить поиск по сходству. Когда пользователь отправляет запрос (видео или текст), он также преобразуется в вектор с использованием той же модели эмбеддингов. Затем система сравнивает этот вектор запроса с векторами, хранящимися в базе данных, чтобы извлечь наиболее семантически похожие результаты.
Ресурсы для разработчиков
Читать далее

Migrating Self-Managed Milvus to Zilliz Cloud for >99% Latency Reduction
Step-by-step guide to migrating 50M vectors from self-managed Milvus to Zilliz Cloud using milvus-backup. Achieve >99% query latency reduction with zero data loss.

Why Not All VectorDBs Are Agent-Ready
Explore why choosing the right vector database is critical for scaling AI agents, and why traditional solutions fall short in production.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.


