Разработчик проиндексировал 669 ГБ видео с помощью локальных моделей и настроил поиск по сценам на естественном языке

от автора

Инженер Ильяс Хаддад (Ilias Haddad) разработал утилиту Edit Mind, которая с помощью локальных нейросетей индексирует видео и генерирует слой данных для поиска поверх архива. Благодаря этому у каждой сцены появляется подробное текстовое описание, а нужные кадры можно искать на естественном языке и сразу переносить в программу для монтажа.

Изначально у Хаддада был архив из 2207 GoPro-видео с велопоездок. Среди них — несколько маршрутов на сотни километров, включая поездку из Касабланки в Имсуан на 470 км и маршрут из Кенитры в Танжер на 220 км. Главной проблемой архива было переиспользование кадров. Чтобы найти удачные, зрелищные или важные сцены, пришлось бы пересматривать десятки часов материала.

Чтобы упростить и ускорить процесс, Хаддад разработал Edit Mind — инструмент на базе локальных моделей машинного обучения, который анализирует видеоархив и помогает искать нужные кадры. Пайплайн Edit Mind состоит из нескольких этапов. Сначала приложение выбирает нужные ролики из папки и транскрибирует аудиодорожки с помощью Whisper. После этого в дело вступает система анализа кадров, которая разбивает ролики на сцены с частотой один кадр в секунду, а нейросеть определяет лица, объекты, текст на экране, тип кадра и генерирует текстовые описания сцен.

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

В тестах Хаддад индексировал 628 роликов общим объёмом 669 ГБ и длительностью более 15 часов. Обработка на MacBook с M1 Max заняла почти 68 часов, что в 4,4 раза медленнее воспроизведения в реальном времени. Самыми долгими этапами оказались транскрибация и анализ кадров. На распознавание речи ушло около 25 часов, а на анализ кадров потребовалось ещё 24 часа. Оставшееся время заняли визуальные, текстовые и аудио эмбеддинги.

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

Автор проекта отмечает, что MacBook с чипом M1 Max оказался не самым быстрым устройством для такой задачи. Например, компьютер с видеокартой Nvidia RTX 3060 с 12 ГБ видеопамяти справился бы быстрее.

Код проекта открыт и опубликован на GitHub, а в репозитории есть инструкция по развёртыванию инструмента. Позже появится отдельное десктопное приложение, но оно будет платным. Его можно предзаказать за 200 долларов.

ссылка на оригинал статьи https://habr.com/ru/articles/1048390/