АвтоВидео: Автоматизированная Система Распознавания Видеодействий

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


AutoVideo-это система для автоматического анализа видео. Он разработан на основе инфраструктуры D3M, которая описывает машинное обучение с использованием универсальных конвейерных языков. В настоящее время он фокусируется на распознавании видеодействий, поддерживая различные современные алгоритмы распознавания видеодействий. Он также поддерживает автоматический выбор модели и настройку гиперпараметров. АвтоВидео разработано Лабораторией ДАННЫХ Университета Райса.

Существуют и другие библиотеки видеоанализа, но эта разработана с высокой степенью модульности. AutoVideo легко расширяется благодаря языку конвейера, где каждая модель упакована в виде примитива с некоторыми гиперпараметрами. Это позволяет нам легко поддерживать другие алгоритмы для других задач анализа видео, которые будут нашими будущими усилиями. Также удобно осуществлять поиск моделей и гиперпараметров с помощью языка конвейера.There are some other video analysis libraries out there, but this one is designed to be highly modular. AutoVideo is highly extendible thanks to the pipeline language, where each model is wrapped as a primitive with some hyperparameters. This allows us to easily support other algorithms for other video analysis tasks, which will be our future efforts. It is also convenient to search models and hyperparameters with the pipeline language.

Demo

Обзор библиотеки показан ниже. Каждый модуль в AutoVideo упакован в виде примитива с некоторыми гиперпараметрами. Конвейер состоит из ряда примитивов от предварительной обработки до распознавания действий. AutoVideo оснащен тюнерами для поиска моделей и гиперпараметров. Мы приветствуем вклад в обогащение АвтоВидео большим количеством примитивов. Вы можете найти инструкции в Руководстве по вкладу.

Процитируйте эту работу

Если вы сочтете это репо полезным, вы можете процитировать:

Чжа, Даочен и др. "АвтоВидео: Автоматизированная Система Распознавания Видео Действий". Препринт arXiv arXiv:2108.0421 (2021).

@article{zha2021autovideo,   title={AutoVideo: An Automated Video Action Recognition System},   author={Zha, Daochen and Bhat, Zaid and Chen, Yi-Wei and Wang, Yicheng and Ding, Sirui and Jain, Anmoll and Bhat, Mohammad and Lai, Kwei-Herng and Chen, Jiaben and Zou, Na and Hu, Xia},   journal={arXiv preprint arXiv:2108.04212},   year={2021} }

Установка

Убедитесь, что у вас установлены Python 3.6 и pip. В настоящее время код тестируется только в системе Linux. Во-первых, установите torch и torchvision с

pip3 install torch pip3 install torchvision 

Чтобы использовать автоматический поиск, вам необходимо установить ray-tune и hyperopt сTo use the automated searching, you need to install ray-tune and hyperopt with

pip3 install 'ray[tune]' hyperopt 

Мы рекомендуем установить стабильную версию autovideo с помощью pip::

pip3 install autovideo 

Кроме того, вы можете клонировать последнюю версию с помощью

git clone https://github.com/datamllab/autovideo.git 

Затем установите с помощью

cd autovideo pip3 install -e . 

Затем установите с игрушечными примерами

Чтобы попробовать примеры, вы можете загрузить набор данных hmdb6, который является подмножеством hmdb51 только с 6 классами. Все наборы данных можно загрузить с Google Диска. Затем вы можете распаковать набор данных и поместить его в наборы данных.

Установка и сохранение трубопровода

python3 examples/fit.py

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

--alg: поддерживаемый алгоритм. В настоящее время мы поддерживаем tsn, tsm, i3d, eco, eco_full, c3d, r2p1d и r3d.
--предварительная подготовка: будь то загрузка предварительно подготовленных весов и точная настройка.
--gpu: какое устройство gpu использовать. Пустая строка для процессора.
--data_dir: каталог набора данных
--log_dir: путь для сохранения журнала
--save_dir: путь для сохранения установленного конвейера

Загрузка установленного трубопровода и составление прогнозов

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

python3 examples/produce.py

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

--gpu: какое устройство gpu использовать. Пустая строка для процессора.
--data_dir: каталог набора данных
--log_dir: путь для сохранения журнала
--load_dir: путь для загрузки установленного трубопровода

Загрузка установленного трубопровода и повторные действия

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

python3 examples/recogonize.py

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

--gpu: какое устройство gpu использовать. Пустая строка для процессора.
--video_path: путь к видеофайлу
--log_dir: путь для сохранения журнала
--load_dir: путь для загрузки установленного трубопровода

Монтаж и изготовление трубопровода

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

python3 examples/fit_produce.py

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

--alg: поддерживаемый алгоритм.
--предварительная подготовка: будь то загрузка предварительно подготовленных весов и точная настройка.
--gpu: какое устройство gpu использовать. Пустая строка для процессора.
--data_dir: каталог набора данных
--log_dir: путь для сохранения журнала

Автоматический поиск

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

python3 examples/search.py

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

--alg: алгоритм поиска. В настоящее время мы поддерживаем random и hyperopt.
--num_samples: количество образцов, которые нужно попробовать
--gpu: какое устройство gpu использовать. Пустая строка для процессора.
--data_dir: каталог набора данных

Поддерживаемые Алгоритмы

Supported Algorithms

Algorithms Primitive Path Paper
TSN autovideo/recognition/tsn_primitive.py Temporal Segment Networks: Towards Good Practices for Deep Action Recognition
TSM autovideo/recognition/tsm_primitive.py TSM: Temporal Shift Module for Efficient Video Understanding
R2P1D autovideo/recognition/r2p1d_primitive.py A Closer Look at Spatiotemporal Convolutions for Action Recognition
R3D autovideo/recognition/r3d_primitive.py Learning spatio-temporal features with 3d residual networks for action recognition
C3D autovideo/recognition/c3d_primitive.py Learning Spatiotemporal Features with 3D Convolutional Networks
ECO-Lite autovideo/recognition/eco_primitive.py ECO: Efficient Convolutional Network for Online Video Understanding
ECO-Full autovideo/recognition/eco_full_primitive.py ECO: Efficient Convolutional Network for Online Video Understanding
I3D autovideo/recognition/i3d_primitive.py Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset

Расширенное Использование

Помимо приведенных выше примеров, вы также можете настроить конфигурации.

Настройка гиперпараметров

Каждая модель в AutoVideo упакована в виде примитива, который содержит некоторые гиперпараметры. Пример ТСН приведен здесь. Все гиперпараметры можно указать при построении конвейера, передав словарь конфигурации. Видишь examples/fit.py.

Настройка пространства поиска

Тюнер будет искать лучшие комбинации гиперпараметров в рамках поисковой системы для повышения производительности. Пространство поиска можно определить с помощью настройки луча. Видишь examples/search.py.

Подготовка наборов данных и сравнительный анализ

Наборы данных должны соответствовать формату d3m, который состоит из файла csv и папки мультимедиа. Файл csv должен содержать три столбца для указания индексов экземпляров, имен видеофайлов и меток. Пример приведен ниже

d3mIndex,video,label 0,Aussie_Brunette_Brushing_Hair_II_brush_hair_u_nm_np1_ri_med_3.avi,0 1,brush_my_hair_without_wearing_the_glasses_brush_hair_u_nm_np1_fr_goo_2.avi,0 2,Brushing_my_waist_lenth_hair_brush_hair_u_nm_np1_ba_goo_0.avi,0 3,brushing_raychel_s_hair_brush_hair_u_cm_np2_ri_goo_2.avi,0 4,Brushing_Her_Hair__[_NEW_AUDIO_]_UPDATED!!!!_brush_hair_h_cm_np1_le_goo_1.avi,0 5,Haarek_mmen_brush_hair_h_cm_np1_fr_goo_0.avi,0 6,Haarek_mmen_brush_hair_h_cm_np1_fr_goo_1.avi,0 7,Prelinger_HabitPat1954_brush_hair_h_nm_np1_fr_med_26.avi,0 8,brushing_hair_2_brush_hair_h_nm_np1_ba_med_2.avi,0 

Папка мультимедиа должна содержать видеофайлы. Вы можете обратиться к нашему примеру набора данных hmdb6 на Google Диске. Мы также подготовили hmdb51 и ucf101 в Google Диске для сравнительного анализа. Пожалуйста, прочитайте бенчмарк для получения более подробной информации. Для некоторых алгоритмов (C3D, R2P1D и R3D), если вы хотите загрузить предварительно обученные веса и выполнить точную настройку, вам необходимо загрузить веса с Google Диска и поместить их в веса. and put it to weights.


Источник: github.com

Комментарии: