paint-brush
Обнаружение насилия в видео: предлагаемый подходк@kinetograph
144 чтения

Обнаружение насилия в видео: предлагаемый подход

Слишком долго; Читать

В этой статье исследователи предлагают систему автоматического обнаружения насилия в видео, используя для классификации аудио и визуальные подсказки.
featured image - Обнаружение насилия в видео: предлагаемый подход
Kinetograph: The Video Editing Technology Publication HackerNoon profile picture
0-item


Авторы:

(1) Правин Тирупаттур, Университет Центральной Флориды.

Таблица ссылок

3. Предлагаемый подход

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

3.1. Обучение

В этом разделе подробно обсуждаются этапы этапа обучения. Предлагаемый подход к обучению состоит из трех основных этапов: извлечение признаков, классификация признаков и объединение признаков. Каждый из этих трех шагов подробно описан в следующих разделах. На первых двух шагах этого этапа аудио и визуальные особенности из видеосегментов, содержащих и не содержащих насилия, извлекаются и используются для обучения двухклассовых классификаторов SVM. Затем на этапе объединения признаков рассчитываются веса признаков для каждого типа насилия, на который нацелена система. Эти веса функций получаются путем поиска по сетке возможной комбинации весов и поиска наилучшей комбинации, которая оптимизирует производительность системы в проверочном наборе. Критерием оптимизации здесь является минимизация EER (равной частоты ошибок) системы. Чтобы найти эти веса, используется набор данных, отличный от обучающего набора, который содержит жестокие видео всех целевых категорий. Подробную информацию о целевых категориях см. в Главе 1.


Рисунок 3.1: Рисунок, показывающий обзор системы. Обучаются четыре различных классификатора SVM, по одному для функций Audio, Blood, Motion и SentiBank. Изображения из Интернета используются для разработки модели крови для обнаружения крови в видеокадрах. Для обучения классификаторов по всем признакам используются данные из набора данных VSD2104. Каждый из этих классификаторов по отдельности дает вероятность появления фрагмента видео, содержащего насилие. Эти отдельные вероятности затем объединяются с использованием метода позднего слияния, и окончательная выходная вероятность, которая представляет собой взвешенную сумму отдельных вероятностей, представляется как выходные данные системы. Видео, предоставленное в качестве входа в систему, делится на односекундные сегменты, и на выходе получается вероятность того, что каждый из сегментов содержит насилие.

3.1.1. Извлечение функций

Многие исследователи пытались решить проблему обнаружения насилия, используя различные аудио и визуальные функции. Подробная информация об исследованиях, связанных с обнаружением насилия, представлена в главе 2. В предыдущих работах наиболее распространенными визуальными признаками, используемыми для обнаружения насилия, были движение и кровь, а наиболее распространенной звуковой функцией был MFCC. Наряду с этими тремя общими функциями низкого уровня предлагаемый подход также включает SentiBank (Борт и др. [4]), который представляет собой визуальную функцию, представляющую настроения в изображениях. Подробная информация о каждой из функций, ее важности для обнаружения случаев насилия и используемых методах извлечения данных описана в следующих разделах.

3.1.1.1. MFCC-функции

Звуковые функции играют очень важную роль в обнаружении таких событий, как выстрелы, взрывы и т. д., которые очень часто встречаются в сценах насилия. Многие исследователи использовали звуковые функции для обнаружения случаев насилия и добились хороших результатов. Несмотря на то, что некоторые из более ранних работ рассматривали энергетическую энтропию [Nam et al. [41]] в аудиосигнале, большинство из них использовали функции MFCC для описания аудиоконтента в видео. Эти функции MFCC обычно используются при распознавании голоса и звука.


В этой работе функции MFCC, представленные в наборе данных VSD2014, используются для обучения классификатора SVM при разработке системы. Во время оценки функции MFCC извлекаются из аудиопотока входного видео, при этом размер окна устанавливается равным количеству аудиосэмплов на кадр в аудиопотоке. Это рассчитывается путем деления частоты дискретизации звука на значение fps (кадров в секунду) видео. Например, если частота дискретизации звука составляет 44 100 Гц, а видео кодируется со скоростью 25 кадров в секунду, то в каждом окне будет 1764 аудиосэмпла. Область перекрытия окон устанавливается равной нулю, и для каждого окна вычисляется 22 MFCC. При такой настройке для каждого видеокадра получается 22-мерный вектор признаков MFCC.

3.1.1.2. Особенности крови

Кровь — наиболее распространенный видимый элемент в сценах крайнего насилия. Например, сцены избиения, ножевых ранений, стрельбы и взрывов. Во многих более ранних работах по обнаружению насилия используется обнаружение пикселей, изображающих кровь, поскольку это важный индикатор насилия. Для обнаружения крови в кадре в большинстве ранних работ, например, Nam et al., использовалась заранее заданная таблица цветов. [41] и Линь и Ван [38]. Другие подходы к обнаружению крови, такие как использование самоорганизующейся карты Кохонена (SOM) (Clarin et al. [12]), также используются в некоторых более ранних работах.


В этой работе цветовая модель используется для обнаружения пикселей, представляющих кровь. Он представлен с помощью трехмерной гистограммы с одним измерением для красного, зеленого и синего значений пикселей. В каждом измерении имеется 32 ячейки, каждая из которых имеет ширину 8 (32 × 8 = 256). Эта модель крови создается в два этапа. На первом этапе модель крови загружается с использованием значений RGB (красный, зеленый, синий) пикселей, содержащих кровь. Трехмерная бинированная гистограмма заполнена значениями RGB этих пикселей, содержащих кровь. Значение в ячейке, к которой принадлежит пиксель крови, увеличивается на 1 каждый раз, когда в модель добавляется новый пиксель крови. Как только для заполнения гистограммы используется достаточное количество кровавых пикселей, значения в интервалах нормализуются по сумме всех значений. Значения в каждом из интервалов теперь представляют вероятность того, что пиксель покажет кровь, учитывая его значения RGB. Чтобы заполнить модель крови, пиксели, содержащие кровь, вырезаются из различных изображений, содержащих кровь, которые загружаются из Google. Обрезка областей, содержащих только пиксели крови, производится вручную. На рисунке 3.2 приведены образцы обрезанных областей размером 20 × 20 пикселей каждая.


Рисунок 3.2: На рисунке показаны образцы обрезанных участков размером 20 × 20, содержащих кровь.


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


Одной этой модели крови недостаточно для точного обнаружения крови. Наряду с этой моделью крови существует также потребность в модели без крови. Для этого, как и в предыдущем подходе, из Google загружаются изображения, не содержащие крови, и значения пикселей RGB из этих изображений используются для построения модели без крови. Некоторые образцы изображений, использованные для создания этой модели без крови, показаны на рисунке 3.3. Теперь, используя эти модели крови и некрови, вероятность пикселя, представляющего кровь, рассчитывается следующим образом.



Рисунок 3.3: На рисунке показаны образцы изображений, загруженные из Google для создания моделей крови и без крови.


Используя эту формулу, для данного изображения рассчитывается вероятность того, что каждый пиксель представляет кровь, и создается Карта вероятности крови (BPM). Эта карта имеет тот же размер, что и входное изображение, и содержит значения вероятности крови для каждого пикселя. Этот BPM преобразуется в двоичную форму с использованием порогового значения для создания окончательного BPM в бинарном виде. Оценивается порог, используемый для бинаризации BPM (Джонс и Рег [35]). Из этого бинаризованного BPM генерируется одномерный вектор признаков длиной 14, который содержит такие значения, как соотношение крови, коэффициент вероятности крови, размер самого большого связного компонента, среднее значение, дисперсия и т. д. Этот вектор признаков извлекается для каждого кадра. в видео и используется для обучения классификатора SVM. Пример изображения вместе с его BPM и бинаризированным BPM представлен на рисунке 3.4. Из этого рисунка видно, что этот подход очень хорошо показал себя при обнаружении пикселей, содержащих кровь.


Рисунок 3.4: Рисунок, показывающий эффективность созданной модели крови при обнаружении крови. В первом столбце находятся входные изображения, во втором столбце — карты вероятности крови, а в последнем столбце — бинаризованные карты вероятности крови.

3.1.1.3. Функции движения

Движение — еще одна широко используемая визуальная функция для обнаружения насилия. Работа Дениза и др. [21], Нивас и др. [42] и Хасснер и др. [28] приведены некоторые примеры, в которых движение используется в качестве основного признака обнаружения насилия. Здесь под движением понимается величина пространственно-временных изменений между двумя последовательными кадрами видео. Движение считается хорошим индикатором насилия, поскольку в сценах, содержащих насилие, ожидается значительное количество насилия. Например, в сценах, где есть драки между людьми, происходит быстрое движение частей человеческого тела, таких как ноги и руки, а в сценах, где есть взрывы, наблюдается большое движение частей, которые разлетаются в стороны из-за взрыв.


Идея использования информации о движении для обнаружения активности зародилась в психологии. Исследования человеческого восприятия показали, что кинематическая схема движения достаточна для восприятия действий (Блейк и Шиффрар [2]). Исследования в области компьютерного зрения (Саербек и Бартнек [50], Кларк и др. [13] и Хидака [29]) также показали, что относительно простые динамические характеристики, такие как скорость и ускорение, коррелируют с эмоциями, воспринимаемыми человеком.


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


3.1.1.3.1. Использование кодека

В этом методе информация о движении извлекается из видеокодека. Величина движения каждого пикселя в кадре, называемая вектором движения, извлекается из кодека. Этот вектор движения является двумерным вектором и имеет тот же размер, что и кадр из видеопоследовательности. На основе этого вектора движения генерируется признак движения, который представляет количество движения в кадре. Чтобы создать эту функцию движения, сначала вектор движения делится на двенадцать подобластей одинакового размера путем разрезания его вдоль осей x и y на три и четыре области соответственно. Величина движения вдоль осей x и y в каждом пикселе из каждой из этих подобластей агрегируется, и эти суммы используются для создания двумерной гистограммы движения для каждого кадра. Эта гистограмма представляет вектор движения кадра. Обратитесь к изображению слева на рисунке 3.5, чтобы увидеть визуализацию агрегированных векторов движения для кадра из примера видео. В этой визуализации векторы движения агрегируются для подобластей размером 16 × 16 пикселей. Величина и направление движения в этих регионах представлены длиной и ориентацией зеленых пунктирных линий, наложенных на изображение.

3.1.1.3.2. Использование оптического потока

Следующий подход к обнаружению движения использует оптический поток (Википедия [57]). Здесь движение каждого пикселя в кадре рассчитывается с использованием плотного оптического потока. Для этого используется реализация алгоритма Ганнера Фарнебака (Фарнебек [24]), предоставленная OpenCV (Брадски [5]). Реализация предоставляется в виде функции в OpenCV. Более подробную информацию о функции и параметрах можно найти в документации OpenCV (OpticalFlow [43]). Значения 0,5, 3, 15, 3, 5, 1,2 и 0 передаются в параметры функции: масштаб Pyr, уровни, размер выигрыша, итерации, поли n, поли сигма и флаги соответственно. После того как векторы движения в каждом пикселе рассчитываются с использованием оптического потока, признак движения из кадра извлекается с использованием того же процесса, упомянутого в разделе 3.1.1.3.1 выше. Обратитесь к изображению справа на рисунке 3.5, чтобы получить представление об агрегированных векторах движения, извлеченных из кадра. Векторы движения агрегируются для подобластей размером 16×16 пикселей, как и в предыдущем подходе, чтобы обеспечить лучшее сравнение между функциями, извлеченными с помощью информации кодека и оптического потока.


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


Рисунок 3.5: Информация о движении из кадров, извлеченных с помощью кодека, в сравнении с использованием оптического потока.

3.1.1.4. SentiBank-Особенности

В дополнение к вышеупомянутым функциям низкого уровня, функция SentiBank, представленная Borth et al. [4] также применяется. SentiBank — это представление визуального контента среднего уровня, основанное на крупномасштабной онтологии визуального настроения (VSO) [1]. SentiBank состоит из 1200 семантических понятий и соответствующих автоматических классификаторов, каждый из которых определяется как пара прилагательных-существительных (ANP). Такие ANP объединяют сильные эмоциональные прилагательные, которые связаны с существительными, соответствующими объектам или сценам (например, «красивое небо», «отвратительный жук» или «милый ребенок»). Кроме того, каждый ANP (1) отражает сильное чувство, (2) имеет связь с эмоцией, (3) часто используется на таких платформах, как Flickr или YouTube, и (4) имеет достаточную точность обнаружения. Кроме того, VSO должен быть достаточно всеобъемлющим и разнообразным, чтобы охватывать широкий спектр различных классов понятий, таких как люди, животные, объекты, природные или искусственные места, и, следовательно, предоставлять дополнительную информацию о типе анализируемого контента. Поскольку SentiBank продемонстрировал свои превосходные результаты по сравнению с визуальными функциями низкого уровня при анализе настроений Borth et al. [4], теперь он впервые используется для обнаружения сложных эмоций, таких как насилие, по видеокадрам.


SentiBank состоит из 1200 SVM, каждый из которых обучен обнаруживать одно из 1200 семантических понятий изображения. Каждый SVM представляет собой двоичный классификатор, который выдает двоичный результат 0/1 в зависимости от того, содержит ли изображение определенное настроение или нет. Для данного кадра видео вектор, содержащий выходные данные всех 1200 SVM, считается функцией SentiBank. Для извлечения этой функции используется реализация на основе Python. Для обучения классификатора SVM используются функции SentiBank, извлеченные из каждого кадра обучающих видеороликов. Извлечение функций SentiBank занимает несколько секунд, поскольку включает сбор результатов от 1200 предварительно обученных SVM. Чтобы сократить время, необходимое для извлечения признаков, функция SentiBank для каждого кадра извлекается параллельно с использованием многопроцессорной обработки.

3.1.2. Классификация функций

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


Из всех видео, доступных в обучающем наборе, аудио и визуальные характеристики извлекаются с помощью процесса, описанного в разделе 3.1.1. Эти функции затем делятся на два набора: один для обучения классификатора, а другой для проверки точности классификации обученного классификатора. Поскольку используемые здесь классификаторы являются SVM, необходимо сделать выбор, какое ядро использовать и какие параметры ядра установить. Чтобы найти лучший тип ядра и параметры ядра, используется метод поиска по сетке. В этом поиске по сетке проверяются линейные ядра, ядра RBF (радиальная базисная функция) и хи-квадрат, а также диапазон значений их параметров, чтобы найти лучшую комбинацию, которая дает наилучшие результаты классификации. Используя этот подход, обучаются четыре разных классификатора, по одному для каждого типа объектов. Эти обученные классификаторы затем используются для определения весов признаков на следующем этапе. В этой работе используется реализация SVM, предоставленная scikit-learn (Pedregosa et al. [45]) и LibSVM (Chang и Lin [9]).

3.1.3. Функциональное слияние

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


Существует два подхода к нахождению весов. Первый подход заключается в ручной корректировке весов классификатора признаков для каждого типа насилия. Этот подход требует большого понимания важности функции для обнаружения класса насилия и очень подвержен ошибкам. Другой подход заключается в поиске весов с использованием механизма поиска по сетке, при котором набор весов выбирается из диапазона возможных весов. В этом случае диапазон возможных весов для каждого классификатора признаков равен [0,1] при условии, что сумма весов всех классификаторов признаков равна 1. В данной работе используется последний подход и все Перечисляются весовые комбинации, равные 1. Каждая из этих комбинаций весов используется для расчета взвешенной суммы вероятностей классификатора для класса насилия, а веса из комбинации весов, которая дает наибольшую сумму, присваиваются каждому из классификаторов для соответствующего класса насилия. Для расчета этих весов используется набор данных, отличный от обучающего набора, чтобы избежать чрезмерного подбора весов в обучающий набор. Набор данных, используемый для расчета веса, содержит видео всех классов насилия, рассматриваемых в этой работе. Важно отметить, что хотя каждый из обученных классификаторов SVM является двоичным по своей природе, выходные значения этих классификаторов можно объединить с использованием взвешенной суммы, чтобы найти конкретный класс насилия, к которому принадлежит видео.

3.2. Тестирование

На этом этапе для данного входного видео обнаруживается каждый сегмент, содержащий насилие, а также класс присутствующего в нем насилия. Для данного видео используется следующий подход для выявления сегментов, содержащих насилие, и категории насилия в нем. Во-первых, визуальные и звуковые характеристики извлекаются из одного кадра каждые 1 секунду, начиная с первого кадра видео, а не из каждого кадра. Эти кадры, из которых извлекаются характеристики, представляют собой 1-секундный сегмент видео. Характеристики этих 1-секундных видеосегментов затем передаются обученным двоичным классификаторам SVM, чтобы получить оценки для каждого видеосегмента как насильственные или ненасильственные. Затем для каждой категории насилия рассчитываются взвешенные суммы выходных значений отдельных классификаторов с использованием соответствующих весов, найденных на этапе объединения. Следовательно, для данного видео продолжительностью «X» секунд система выводит вектор длины «X». Каждый элемент в этом векторе представляет собой словарь, который сопоставляет каждому классу насилия значение оценки. Причина использования этого подхода двоякая: во-первых, для обнаружения временных интервалов, в течение которых в видео присутствует насилие, и для увеличения скорости системы при обнаружении насилия. Извлечение функций, особенно извлечение функции Sentibank, требует много времени, и выполнение этого для каждого кадра замедлит работу системы. Но такой подход негативно влияет на точность системы, поскольку она обнаруживает насилие не для каждого кадра, а для каждой секунды.

3.3. Метрики оценки

Существует множество показателей, которые можно использовать для измерения эффективности систем классификации. Некоторыми из показателей, используемых для бинарной классификации, являются точность, точность, полнота (чувствительность), специфичность, F-показатель, равная частота ошибок (EER) и площадь под кривой (AUC). Некоторые другие меры, такие как средняя точность (AP) и средняя средняя точность (MAP), используются для систем, которые в результате запроса возвращают ранжированный список. Большинство этих мер, которые все чаще используются в исследованиях машинного обучения и интеллектуального анализа данных, заимствованы из других дисциплин, таких как поиск информации (Рийсберген [49]) и биометрия. Подробное обсуждение этих мер можно найти в работах Паркера [44], Соколовой и Лапальме [53]. Кривая ROC (рабочая характеристика приемника) — еще один широко используемый метод оценки или сравнения систем двоичной классификации. Такие показатели, как AUC и EER, можно рассчитать по кривой ROC.


В этой работе кривые ROC используются для: (i) сравнения производительности отдельных классификаторов. (ii) Сравните эффективность системы при обнаружении различных классов насилия в задаче многоклассовой классификации. (iii) Сравните производительность системы на Youtube и наборе данных Hollywood-Test в задаче двоичной классификации. Другие метрики, которые здесь используются, — это точность, отзыв и EER. Эти меры используются, поскольку они являются наиболее часто используемыми мерами в предыдущих работах по выявлению насилия. В этой системе параметры (веса слияния) корректируются для минимизации EER.

3.4. Краткое содержание

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


Подводя итог, можно сказать, что в этом подходе выполняются следующие шаги: извлечение признаков, классификация признаков, объединение признаков и тестирование. Первые три шага представляют собой этап обучения, а последний этап — этап тестирования. На этапе обучения аудио и визуальные признаки извлекаются из видео и используются для обучения двоичных классификаторов SVM, по одному для каждого признака. Затем отдельный набор данных используется для определения весов признаков, которые минимизируют EER системы в наборе данных проверки. На заключительном этапе тестирования сначала извлекаются визуальные и аудиофункции по одному на 1-секундный видеосегмент входного тестового видео. Затем эти признаки передаются обученным классификаторам SVM, чтобы получить вероятности того, что эти признаки представляют насилие. Взвешенная сумма этих выходных вероятностей рассчитывается для каждого типа насилия с использованием весов, полученных на этапе объединения признаков. Тип насилия, для которого взвешенная сумма является максимальной, назначается в качестве метки соответствующему 1-секундному сегменту видео. С помощью этих меток сегменты, содержащие насилие, и содержащийся в них класс насилия представляются системой как выходные данные. Экспериментальная установка и оценка этой системы представлены в следующей главе.



Этот документ доступен на arxiv под лицензией CC 4.0.


[1] http://visual-sentiment-ontology.appspot.com