Рубрики
Без рубрики

4 шага по созданию системы поиска видео

Как следует из названия, поиск видео по изображению – это процесс извлечения из репозитория … Tagged с учебником, MachineLearning, Python, Docker.

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

Теперь давайте погрузимся в то, как создать систему поиска видео.

1. Системный Обзор

Следующая диаграмма иллюстрирует типичный рабочий процесс такой системы поиска видео.

При импорте видео мы используем библиотеку OpenCV, чтобы разрезать каждое видео в рамки, извлеките векторы ключевых рамков, используя модель извлечения функций изображения VGG, а затем вставляем извлеченные векторы (встроенные) в мильвус. Мы используем Minio для хранения оригинальных видео и Redis для хранения корреляций между видео и векторами.

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

2. Подготовка данных

В этой статье мы используем около 100 000 файлов GIF от Tumblr в качестве образца набора данных для создания сквозного решения для поиска видео. Вы можете использовать свои собственные видеопозитории.

3. Развертывание

Код для создания системы поиска видео в этой статье находится в GitHub Анкет

Шаг 1: Постройте изображения Docker.

Система поиска видео требует Docker Milvus V0.7.1, Redis Docker, Minio Docker, интерфейсного докера интерфейса и докера API Back-End. Вам нужно самостоятельно построить интерфейс-докер и докер API, в то время как вы можете вытащить три остальных докера непосредственно из Docker Hub.

# Get the video search code
$ git clone -b 0.10.0 https://github.com/JackLCL/search-video-demo.git

# Build front-end interface docker and api docker images
$ cd search-video-demo & make all

Шаг 2: Настройте среду.

Здесь мы используем Docker-compose.yml управлять вышеупомянутыми пятью контейнерами. См. Следующую таблицу для конфигурации Docker-compose.yml :

IP -адрес 192.168.1.38 в таблице выше представляет собой адрес сервера, особенно для создания системы поиска видео в этой статье. Вам нужно обновить его по адресу вашего сервера.

Вам нужно вручную создать каталоги хранения для Milvus, Redis и Minio, а затем добавить соответствующие пути в Docker-compose.yml Анкет В этом примере мы создали следующие каталоги:

/mnt/redis/data /mnt/minio/data /mnt/milvus/db

Вы можете настроить Milvus, Redis и Minio в Docker-compose.yml следующим образом:

Шаг 3: Запустите систему.

Используйте модифицированные Docker-compose.yml Чтобы запустить пять контейнеров Docker, которые будут использоваться в системе поиска видео:

$ docker-compose up -d

Затем вы можете запустить Docker-Compose PS, чтобы проверить, правильно ли начались пять контейнеров Docker. На следующем скриншоте показан типичный интерфейс после успешного запуска.

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

Шаг 4: Импорт видео.

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

data_path: путь к видео к импорту.

Time.sleep (0,5): интервал, в котором система импортирует видео. Сервер, который мы используем для создания системы поиска видео, имеет 96 ядер ЦП. Поэтому рекомендуется установить интервал до 0,5 секунды. Установите интервал до большего значения, если на вашем сервере меньше ядер ЦП. В противном случае процесс импорта нанесет бремя на процессор и создаст процессы зомби.

Запустить import_data.py для импорта видео.

$ cd deploy
$ python3 import_data.py

Как только видео импортируются, вы все настроены со своей собственной системой поиска видео!

4. Интерфейс дисплей

Откройте свой браузер и введите 192.168.1.38:8001, чтобы увидеть интерфейс системы поиска видео, как показано ниже.

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

Нажмите на поле «Загрузка» в верхней части слева, чтобы ввести целевое изображение. Как показано ниже, система возвращает видео, содержащие наиболее похожие кадры.

Далее, повеселитесь построить систему поиска видео!

Оригинал: “https://dev.to/milvusio/4-steps-to-building-a-video-search-system-2la3”