Перейти к основному содержимому

Обработка видео

Рассмотрим основные задачи, решаемые нейросетями при обработке видео-данных.

Определение действий на видео

В задаче определения действия (activity recognition [1]) по входному видео необходимо понять, что какое событие на нём происходит. У алгоритма могут быть быть следующие выходы:

  • Класс одного из заданных действий.

    • Например, при игре на игровой приставке по жесту игрока нужно осуществить то или иное действие, при этом жесты заранее определены и заданы. Эта задача также известна как распознавание жестов (gesture recognition [2]).
  • Текстовое описание происходящего в виде свободного текста (video captioning [3], [4]).

    • Например, в системе поиска релевантных видео по текстовому запросу.

3D-реконструкция

В задаче 3D-реконструкции по видеосъёмке объекта из разных позиций и ракурсов необходимо восстановить 3D-модель объекта (3D reconstruction from multi-view video).

Модели, решающие эту задачу, используются в автономных транспортных средствах для улучшения восприятия окружающей среды: обнаружение объектов, расчёт расстояний. Также модели используются для воссоздания 3D-моделей зданий и памятников на основе видео/фото с разных ракурсов.

Трекинг объектов

Задача трекинга объектов на видео (object tracking [5]) представляет собой задачу детекции объектов динамически по серии видеокадров. При этом детекция производится точнее за счёт использования информации с более ранних и более поздних детекций и интерполяции движения объекта. Обычно для интерполяции используется фильтр Калмана [6]. Интерполяция движения позволяет обнаруживать движущийся объект более устойчиво, даже если на некоторых кадрах он загораживается другими объектами. Трекинг объектов используется для следующих задач:

  • контроль пассажиропотока, подсчёт числа вошедших и вышедших пассажиров;

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

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

  • слежение за быстро движущимися объектами, например, теннисным мячом во время соревнований, автоматическое определение аута (когда мяч коснулся земли за пределами поля);

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

Генерация видео

В задачах генерации видео (video generation) необходимо сгенерировать видео с заданными свойствами:

  • Генерация видео по текстовому описанию (text-to-video generation [7])

    • Пример: создание видеоролика по текстовому сценарию
  • Предсказание будущих кадров по уже известному видео (video prediction, frame prediction).

    • Примеры: по карте движения атмосферных циклонов предсказывать погоду в будущем; предсказание поведения объектов для систем автопилотирования.
  • Генерация видео по изображению (image-to-video generation [8]).

    • Пример: анимация фотографии (оживление портрета).
  • Заполнение испорченных фрагментов видео (video inpainting / completion [9]).

    • Примеры: удаление нежелательного объекта (логотипа, человека, птицы), восстановление повреждённых фрагментов старых фильмов.
  • Стилизация видео (video style transfer [10]), в которой видео необходимо перерисовать в стиле, задаваемом некоторым изображением (обычно картиной известного художника).

    • Примеры: создание ярких клипов или промо-роликов, фильтры в социальных сетях.

Также генерация видео используется для повышения качества исходного видео:

  • Повышение разрешения (video super-resolution, VSR [11]).

  • Повышение частоты кадров (frame interpolation, FPS enhancement [12]).

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

Литература

  1. paperswithcode.com: Activity Recognition.

  2. Wikipedia: Gesture recognition.

  3. paperswithcode.com: Video Captioning.

  4. Abdar M. et al. A review of deep learning for video captioning //IEEE Transactions on Pattern Analysis and Machine Intelligence. – 2024.

  5. paperswithcode.com: Object Tracking.

  6. Wikipedia: фильтр Калмана.

  7. paperswithcode.com: Text-to-Video Generation.

  8. paperswithcode.com: Image to Video Generation.

  9. paperswithcode.com: Video Inpainting.

  10. paperswithcode.com: Video Style Transfer.

  11. paperswithcode.com: Video Super-Resolution.

  12. paperswithcode.com: Video Frame Interpolation.