Методы распознавания мультимодальных действий и локализации для пространственно-временного объединения функций с использованием функций Face, Body, Audio и Emotion

Абстрактный

Видеоблоги с каждым разом становятся популярнее благодаря платформам для онлайн-трансляций. Публиковать контент может любой желающий, независимо от его навыков редактирования видео. Начинающие видеоблогеры должны были приобрести эти навыки, чтобы публиковать качественный контент. Редактирование видео - обычно трудоемкая задача, которая не позволяет пользователям периодически публиковать контент. Самый распространенный формат для индивидуальных видеоблогеров - монолог. Монологи имеют фиксированные условия, например, по одному человеку за раз и фиксированное положение камеры. Монологи - идеальная настройка для автоматического редактирования видео (AVE). В этой статье мы представляем AutomEditor, систему, которая автоматизирует редактирование видео монолога. AutomEditor использует методы распознавания мультимодальных видео действий для обнаружения ошибок видео. AutomEditor извлекает из видеоклипов скелет тела, лицо, эмоции и звуковые характеристики. Наша модель реализует раннее объединение функций через рекуррентные нейронные сети и многослойные персептроны. Модель была обучена и оценена с помощью BlooperDB, вручную собранного и аннотированного набора данных. Наша модель получила точность 100% в проверочном наборе и 90% в тестовом наборе. Мы предлагаем алгоритм локализации ляпов для необрезанных видео, основанный на частоте прогнозов. Реализуем веб-интерфейс для визуализации фрагментов ляпов. AutomEditor смог успешно обнаружить и визуализировать все ляпы на тестовых необрезанных видео. В заключение мы расскажем о последствиях для дизайна.

Вступление

Ляля - это короткий отрывок из фильма или видеопродукции, содержащий ошибку, допущенную человеком на экране. Обнаружение ляпов - нетривиальная задача даже с помощью сложного инструмента. Существующие системы редактирования видео, такие как Abode Premiere, являются отличным подспорьем для редактирования видео, но эта задача по-прежнему утомительна и требует много времени, требуя значительных навыков редактирования и эстетического чутья. В этой статье мы представляем систему, которая автоматизирует монтаж видео монолога. Под автоматическим редактированием видео (AVE) мы понимаем процесс, который автоматически выбирает подходящие или желательные сегменты из исходного видеоисточника для создания отредактированного видеофрагмента. Обычно просмотр длинного неотредактированного видео требует большого терпения и времени. Эффективный способ привлечь зрителя - представить видео максимально компактным, но с сохранением наиболее важных функций и без явных ошибок.

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

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

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

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

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

AutomEditor

AutomEditor - это комплексное решение, автоматизирующее редактирование монолога видео. На рисунке 1 показаны шесть этапов решения, а именно: 1) БД Blooper: набор данных Bloopers; 2) Feature Extractor: извлеките функции из видеоклипов; 3) Ученик: обучает и оценивает модель; 4) Predictor: извлекает последовательность прогнозов; 5) Локатор: локализует ошибочные клипы в необрезанном видео; 6) Сервер: предоставляет веб-службу и показывает результаты в веб-интерфейсе.

Блупер БД

Отсутствие наборов данных, ориентированных на ляпы, вынуждает нас создавать собственную базу данных, которую мы назвали Blooper DB. Blooper DB - это долгосрочный мультимодальный корпус для распознавания blooper. Он создается путем выбора видеороликов, содержащих ляпы, из видеороликов Youtube с использованием таких ключевых слов, как ляпы, зеленый экран и т. Д. Видео имеют несколько разрешений и несколько языков. Набор данных разделен на наборы для обучения, проверки и тестирования. В обучающей выборке 464 видео, в проверочной - 66, а в тестовой - 66. Каждый видеоклип снабжен категориальными метками: 0 (без ошибок) и 1 (без ошибок). Каждый видеоклип длится от 1 до 3 секунд. Набор данных стратифицирован и содержит равное количество выборок для каждой категории. На рисунке 2 показаны некоторые примеры набора данных.

При отборе видео учитывались разные критерии. Ролики были монологами, где на экране был только один человек, камера зафиксирована, плечи видны, а на заднем плане нет изображений лиц. Мы разбиваем длинные ляпы (более 2 секунд) на два видеоклипа, без ляпа (до ошибки) и ляпы (клип, содержащий ошибку). Для коротких ляпов (от 1 до 2 секунд) мы искали другие видеоклипы без ляпов из того же видео примерно такой же длины. Видеоклипы не начинаются и не заканчиваются усеченными фразами. Мы старались как можно больше избегать случаев, когда ляпы отображались на зеленом экране, а не-ляпы - нет.

Экстрактор функций

Основная цель нашего процесса извлечения признаков - сохранить в качестве инвариантных факторов дескрипторы человека (например, пол, возраст и т. Д.), Масштаб, положение, происхождение и язык. Наш подход рассматривает четыре различных типа черт: черты лица, тела, звука и эмоций.

1) Черты лица. Визуальные функции состоят из оценок OpenFace на всем кадре и изображения лица VGG на участках лица. Для функций OpenFace мы используем набор инструментов OpenFace для извлечения ориентировочных 68 ориентиров на лице в двухмерных и трехмерных мировых координатах, вектора направления взгляда в трехмерном пространстве, позы головы, жесткой формы головы и интенсивности единиц действия лица, указывающих на движения лицевых мышц. Подробное описание функций смотрите здесь. Эти визуальные дескрипторы считаются сильными индикаторами человеческих эмоций и чувств. Для представления лица VGG область лица в каждом кадре обрезается и выравнивается с использованием трехмерной ограниченной локальной модели. Обнуляем фон по контуру лица, обозначенному лицевыми ориентирами. Затем размер обрезанных лиц изменяется до 224x224x3 и передается в модель лица VGG, предварительно обученную на большом наборе данных лиц. Мы берем 4096-мерные векторы признаков в слое fc6 и объединяем их с визуальными признаками, извлеченными OpenFace. Общий размер объединенных функций составляет 4805. В частности, из каждого видеоклипа равномерно отбираются 20 кадров и передаются в сеть для обучения и тестирования. В случае более короткой длины видеоклипа мы дублировали последний кадр, чтобы заполнить пробел.

2) Особенности тела: мы использовали из OpenPose (система оценки позы) модель тела-25, которая извлекает 25 суставов скелета человека из изображения. Мы вычислили суставные углы от плеч, рук, шеи и носа, а также двоичный флаг для каждого сустава, чтобы указать, присутствует ли он. В общей сложности из выходных данных OpenPose мы извлекли и нормализовали 11 созданных вручную функций. Мы использовали только суставы носа, ушей, глаз, шеи, плеч и рук, которые являются частями тела, которые обычно видны в монологах. Из отфильтрованных стыков рисуем каркас с закрепленным в центре шейным сочленением, размеры нормализованы. и этот скелет вставлен в рамку размером 224x224 с черным фоном. Это визуальное представление передается через сеть VGG16 для извлечения 4096 функций. Мы берем вектор 4096 глубоких функций из слоя fc6 и объединяем 11 функций, вычисленных из суставов OpenPose. Общий размер объединенных функций составляет 4107. Для каждого клипа было равномерно выбрано 20 кадров.

3) Эмоциональные особенности: мы использовали EmoPy набор инструментов машинного обучения для выражения эмоций, чтобы получить оценку каждой из семи основных эмоций (гнев, страх, отвращение, счастье, грусть и презрение), как правило. используется для распознавания мимики (FER). Те же семь признаков были извлечены из других четырех моделей распознавания эмоций (priya-dwivedi, petercunha, oarriaga). Мы объединили все прогнозы моделей в вектор из 35 признаков. Те же 20 лиц, которые использовались для вычисления черт лица, были использованы для вычисления временных характеристик эмоций. Мы свели временные характеристики к общему вектору признаков, выполнив нормализованную сумму для каждого сегмента прогноза, в результате чего получился вектор из 35 элементов.

4) Аудио функции: аудио функции извлекаются с помощью инструментария openSMILE, и мы используем тот же набор функций, что и предложенный в задаче паралингвистики INTERSPEECH 2010. Набор содержит Mel Frequency Cepstral Coefficients (MFCC), ∆MFCC, громкость, высоту тона, джиттер и т. Д. Эти функции описывают просодический паттерн различных динамиков и являются непротиворечивыми признаками их состояний. Для каждого видеоклипа мы извлекаем из аудиосигнала 1582 пространственных объекта. Мы обработали общие характеристики из всего аудио видеоклипа и временные характеристики из анализа 20 фрагментов аудио из видеоклипа.

Ученик

Архитектура системы На рисунке 3 показана архитектура предлагаемой нами модели. Наша модель глубокой нейронной сети состоит из трех частей: (1) подсети для каждой отдельной модальности; (2) слой раннего слияния, который объединяет вместе четыре унимодальных представления; и (3) уровень окончательного решения, который оценивает настроение.

1) Подсети: есть 6 подсетей, две от лица, одна с элементами ручной работы, а другая с глубокими функциями, все функции представлены в последовательности из 20 образцов. Тот же случай с особенностями тела. Эмоции являются результатом предсказаний существующих моделей и также находятся в последовательности из 20 образцов. Звуковые функции, созданные вручную, были взяты из одного образца для каждого видеоклипа.

2) Слой раннего слияния: эта часть объединяет вместе четыре одномодальных представления, в которых объединяются определенные черты лица и черты тела. Объединенные функции из одного видеоклипа далее передаются в слой LSTM с 64 скрытыми блоками, за которым следует плотный слой с 256 скрытыми нейронами для временного моделирования. Затем функции звука и эмоций передаются на полностью связанный слой с 256 модулями.

3) Уровни слияния и принятия решений: мы объединяем сигналы из четырех модальностей, используя стратегию раннего слияния. Агрегированный вектор признаков полностью подключен к двухуровневой нейронной сети с 1024 скрытыми блоками и одним выходным нейроном, активируемым softmax. Мы используем MSE как функцию потерь для совместного обучения.

Предсказатель

Этот модуль может получить необрезанное видео и разбить его на фрагменты одинаковой длины (по умолчанию 2 секунды). Точность нашего алгоритма зависит от разделения каждого клипа. Этот параметр может быть установлен в платформе, и он определяется в миллисекундах (по умолчанию 500 миллисекунд). После того, как полнометражное видео было разделено на несколько перекрывающихся видеоклипов, мы приступили к извлечению функций для каждого видеоклипа и прогнозированию баллов за ошибку. Мы определили оценку blooper как значение, полученное моделью для категории blooper.

Выходные данные предсказателя - это последовательность предсказаний за настроенный промежуток времени между предсказаниями. Оценки дополнительно анализируются в компоненте Locator, чтобы найти диапазоны, в которых возникают ошибки.

Локатор

Этот модуль берет последовательность ранее вычисленных баллов за ошибки. Вместо шкалы от 0 до 1 он использует значения 0, 1 и 2. 0 означает балл ляпа = 0, 1 - промежуточные значения порога, а 2 - балл ляпа = 1.

Основная цель модуля Locator - найти диапазон совпадающих чисел с высокими значениями (диапазон). Чтобы облегчить эту задачу, мы сначала предварительно обрабатываем последовательность прогнозов. Во-первых, мы определяем скользящее окно настраиваемого размера, в которое добавляются значения их соседей, чтобы сжать оценки и сохранить некоторый контекст каждой точки. Мы назвали этот новый список дополнительных ценностей сокращенным списком. Из сжатого списка он вычисляет три наивысших значения и сохраняет их в трех верхних списках. Затем локатор определяет другое скользящее окно (настраиваемого размера) и вычисляет процент элементов, которые находятся в трех верхних значениях (в пределах окна). Он использует процентный порог для добавления индекса окна к диапазону. Позиции индекса сгруппированного диапазона соответствуют временам видео, содержащим ляпы. Шаги локализации поясняются на рисунке 4.

Сервер

Этот компонент представляет собой веб-сервер Python, использующий Flask. Сервер получает в браузер пользовательский интерфейс, в котором отображается элемент управления видео с его элементами управления, а также дополнительную шкалу времени и элемент управления вводом файлов. После выбора файла платформа отображает его локально в веб-плеере, и пользователь может приступить к его отправке. Интерфейс показывает строку состояния текущего состояния загрузки файла. На рисунке 5 показаны некоторые примеры, обрабатываемые интерфейсом.

Когда файл был загружен на сервер через HTTP-запрос, состоящий из нескольких частей, он временно сохраняется и переименовывается с уникальным идентификатором (UUID) в качестве имени файла для предотвращения дублирования. Сервер реализует фильтры размера и длины, чтобы предотвратить превышение возможностей сервера по обработке и хранению. Затем сервер вызывает предсказатель, а затем локатор, который получает предсказанные значения последовательности. Локатор вычисляет диапазоны ошибок и извлекает их в формате JSON (JavaScript Object Notation).

Как только веб-клиент получает сериализованные диапазоны, он десериализует их и обрабатывает для отображения на дополнительной шкале времени, расположенной под проигрывателем. На временной шкале есть возможность перемещаться по видео при нажатии на диапазон ошибок. Инструмент может редактировать видео, если пользователь этого хочет.

Эксперименты

Мы оценили модули распознавания ляпов и локации инструмента.

Распознавание ошибок видео

Мы обучили и оценили мультимодальную сеть на Blooper DB. Модель обучалась не более 300 эпох. Чтобы предотвратить переобучение, мы применили политику ранней остановки с терпением 20 эпох, что означает остановку обучения после того, как потеря валидации не упадет в течение 20 эпох, и мы развернули стратегию отсева с коэффициентом 0,5 для каждого полностью подключенного слоя. Скорость обучения 1e-3.

А. Унимодальный подход

Сначала мы оценили производительность модели, обученной с помощью одного метода. Для каждой унимодальной модели был развернут один и тот же уровень принятия решений. Для визуальной унимодальной модели мы исследовали эффективность функций VGG-face и OpenFace отдельно в тесте на абляцию. Результаты сравнения показаны в таблице I. Наши результаты показали, что функции VGG-face превосходят функции OpenFace при той же архитектуре модели. Такое же поведение можно обнаружить в чертах тела при сравнении черт ручной работы и глубоких черт.

Что касается аудиосети, мы сосредоточились на изучении важности временного моделирования в видеоклипах. Мы реализовали еще одну сеть на основе LSTM для модальности звука. В частности, мы разделили каждый звуковой файл на звуковые кадры, равномерно распределенные по времени, и извлекли функции openSMILE для каждого отдельного кадра. Затем эти функции передаются на уровень LSTM с 64 ячейками, за которым следует уровень принятия решений. Мы сравнили эту модель на основе LSTM с нашей описанной унимодальной аудио моделью. Результаты показывают, что модель без LSTM работает лучше, чем аудиомодель с LSTM. Уровень LSTM не приносит пользы при оценке. В таблице 1 показано сравнение всех оцененных моделей.

Б. Мультимодальный подход

Мы назвали слияние всех модальностей квадмодальной сетью. Квадромодель содержит Face Handcrafted, Face Deep. Функции Body Handcrafted, Body Deep, Audio General и Emotion Temporal. Мы обучили квадмодальную сеть, используя конкатенированные мультимодальные функции. На рисунке 6 показаны показатели эффективности обучения.

Что касается стратегий слияния, мы сравнили стратегии слияния ранних и поздних функций в таблице 2.

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

Затем мы оценили матрицы путаницы для квадромодели, чтобы оценить производительность каждой категории по разным наборам. На рис. 7 показаны матрицы неточностей для каждого набора.

Локализация видео ляпов

Чтобы проверить, извлекает ли алгоритм локализации правильные временные диапазоны, мы создали два видеоролика продолжительностью 70 секунд и вставили 6 видеороликов (3 ляпов и 3 не ляпов) из тестового набора в случайных положениях, как показано на рисунке 8.

Затем мы запустили локатор, чтобы увидеть, сколько диапазонов было обнаружено, и чтобы проверить, попали ли ляпы в эти диапазоны. На рисунке 9 показано, что для каждого из двух видео было извлечено по три диапазона, и они содержали ляпы видео.

Ограничения и дальнейшая работа

Наш набор данных невелик по сравнению с наборами данных с несколькими действиями, которые предназначены для надежного анализа. Ограниченное количество предметов затрудняет обобщение на других людей. В будущем можно будет изучить возможность расширения базы данных путем сбора большего количества видео от людей с разным уровнем возбуждения. Искусственное увеличение с помощью генеративных методов было бы интересной областью исследования.

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

Для области локализации мультимодальных видеодействий можно получить выгоду от наличия в моделях встроенных механизмов для определения местоположения действий, связанных со смешанными временными и невременными функциями. Точности такого подхода (500 мс) недостаточно для профессиональных стандартов или для полностью автоматизированных механизмов. В будущем можно будет изучить методы высокоточной локализации для видео ляпов.

В области «Взаимодействие человека и компьютера» можно получить пользу, изучив ожидания пользователей в отношении автоматических видеоинтерфейсов. Как новички и опытные пользователи хотят, чтобы им помогали в процессе редактирования. Сравнение только визуализации с автоматически применяемыми редакциями было бы интересным вопросом, если бы он был решен до массового внедрения AVE.

Заключение

В этой статье мы представляем AutomEditor - систему, которая способна распознавать и локализовать ляпов из видео монологов. Для достижения этой цели мы создали набор данных из онлайн-видео, собранных и аннотированных вручную, мы назвали его BlooperDB. Мы выбираем мультимодальный подход для анализа черт лица, тела, звука и эмоций, извлеченных из видео. Стратегия раннего слияния функций используется для комбинирования различных модальностей. Наши мультимодальные модели значительно превосходят унимодальные методы. Наши результаты показывают, что мультимодальная информация значительно улучшит оценку ляпов на видео. Мы также представляем метод локализации, основанный на последовательности предсказаний по вложенным клипам, который продемонстрировал эффективность локализации ляпов. Мы развернули AutomEditor как веб-приложение, чтобы помочь пользователям использовать этот инструмент, а разработчикам - легко развернуть инструменты автоматического редактирования видео.

Ссылки

Репозиторий AutomEditor

Набор данных BlooperDB

Конкурс признания ляпов

Презентационные слайды

"Исследовательская работа"

Докер контейнер

Коллаборационная тетрадь