УДК 004.8
Информационные технологии
Черкасова Ирина Сергеевна, студентка магистратуры 2 курс, МИРЭА-Российский технологический университет (РТУ МИРЭА), Россия, г. Москва, Институт комплексной безопасности и специального приборостроения
Россия, г. Москва
КЛАССИФИКАЦИЯ ВИДЕО КОНТЕНТА НА ОСНОВЕ СВЕРТОЧНЫХ
НЕЙРОННЫХ СЕТЕЙ
Аннотация: В данной статье сравниваются алгоритмы классификации видео контента на основе сверточных нейронных сетей, с использованием предобученных моделей ResNet50, VGG16 и InceptionV3. Цель данной работы -разработать программное обеспечение для классификации запрещенного видео контента на основе сверточных нейронных сетей, при этом рассмотреть проблему энергоэффективности. Данное исследование показало, что наилучший результат демонстрирует модель на основе сети InceptionV3, вероятность верного распознавания на тестовом наборе при использовании этой модели составила 91,51%. Также рассмотрены алгоритмы предобработки данных и метод переноса обучения.
Ключевые слова: классификация, сверточные нейронные сети, глубокое обучение.
Abstract: This article compares the algorithms for classifying video content based on convolutional neural networks, using pretrained models ResNet50, VGG16 and InceptionV3. The purpose of this work is to develop software for the classification of prohibited video content based on convolutional neural networks, while considering the problem of energy efficiency. This study showed that the best result is demonstrated by a model based on the InceptionV3 network, the probability of correct recognition on the test set when using this model was 91.51%. The
algorithms for pre-processing data and the method of transferring training are also considered.
Keywords: classification, convolutional neural networks, deep learning.
Введение
В настоящее время проблема фильтрации видео контента в Интернете является действительно актуальной. В современном мире трудно встретить человека, который бы не имел выход в глобальную сеть Интернет и не смог бы включить какое-либо видео. В настоящий момент большинство людей предпочитает черпать информацию из видео с самых разных ресурсов, чем смотреть кабельное телевидение. Это обусловлено множеством причин, одной из них является то, что люди могут посмотреть видео из любой точки мира, просто лишь имея смартфон и доступ в Интернет.
Видеоинформация является одним из быстрорастущих сегментов данных в сети, доступ к которой может получить любой пользователь всемирной паутины. Но все же не вся информация является полезной, а некоторая вообще не приемлема для открытого доступа. Существует контент, доступ к которому запрещён или должен быть запрещён на территории Российской Федерации согласно законодательству.
Целью данного исследования является повышение безопасности пользователей сети Интернет за счет ограничения доступа к нежелательной информации в виде видео контента. Следует разработать программное средство, которое бы учитывало законодательство РФ, позволило бы автоматизировать процесс фильтрации видео. Автоматизация решения данной задачи позволяет существенно снижать временные и трудовые затраты при анализе видеофайлов, так как человеческие ресурсы не позволяют за короткое время просмотреть и найти необходимую информацию в большом объеме видеоматериалов. Кроме того, появляется возможность снижать влияние человеческого фактора.
Очевидным решением для данной задачи является машинное обучение. В данном исследовании предлагается система глубокого обучения, на основе сверточной нейронной сети, которая автоматически анализирует видеокадры, после чего классифицирует контент как запрещенный или доступный.
На рынке существуют подобные глобальные программы:
1) Американская небезызвестная компания Facebook разработала нейронную сеть Rosetta [1] для распознавания текста на изображениях и видео. Разработка позволяет определять качественный контент и спам, а также умеет находить агрессивный и оскорбительный контент. Нейросеть помечает контент как запрещенный, после чего модераторы в ручном порядке проверяют данные результаты.
2) Масштабная организация Amazon разработала сервис распознавания видеоматериалов - Rekognition Video [2], одной из задач которого является выявление неприемлемого содержимого в видеозаписях.
3) Computer Vision [3] - система анализа контента в изображениях и видео от Microsoft Позволяет производить визуальную обработку данных, чтобы маркировать контент объектами и концепциями, извлекать текст, создавать описания изображений, модерировать контент и понимать движения людей в физических пространствах.
Все вышеперечисленные системы являются разработками крупномасштабных организаций и показывают по-настоящему действенный результат, однако, они также имеют проблемы. Одна из которых -использование большого количества ресурсов для обучения моделей на крупных наборах данных. Развитие технологий не останавливается, а только набирает обороты. Это влечет за собой новые растраты памяти, энергии и денежных средств. В связи с этой проблемой, предлагается разработать программное обеспечение на основе сверточных нейронных сетей с учетом проблемы энергоэффективности. В этой статье будет проведено исследование обычных нейронных сетей с переносом обучения.
Предобработка данных
Для обучения нейронной сети был модифицирован уже готовый набор данных NSFW (Not Safe For Work), взятый с сайта Kaggle. Эта аббревиатура обозначает материал, который содержит неприемлемый контент откровенного характера. Есть трудность определения такого содержания в различных материалах. Изначальный набор слишком массивный, изображения были хаотичны и не имели необходимых лейблов. В связи с этим были проведены работы по подготовке данных в несколько этапов:
1. Исходные изображения были слишком весомыми, поэтому был разработан скрипт, который уменьшил размер изображений за счет снижения качества картинки.
2. Так как изображения не имели лейблов, определяющих их к тому или иному классу, также была разработана программа, которая переименовала все изображения как «nsfw» или «sfw». Эти наименования соответствуют двум классам: «nsfw» - класс, где содержатся материалы откровенного характера, они должны быть помечены программой как запрещенные и «sfw» - класс, где представлены совершенно разнообразные обычные изображения.
3. Распределение данных на три каталога: «train» - выборка для обучения, «test» - тестовая выборка, «val» - валидационная выборка.
На рисунке 1 представлены примеры из класса «sfw».
Рисунок 1 - Примеры изображений из класса «sfw»
Архитектура нейросетевой модели
Понятие глубокое обучение (Deep Learning) подразумевает под собой область машинного обучения, которая рассматривает методы решения задач искусственного интеллекта с использованием глубоких нейронных сетей.
Однозначного определения, что такое глубокая нейронная сеть, не существует, однако, в данной работе под глубокой нейронной сетью будет пониматься такая нейронная сеть, которая содержит более одного скрытого слоя.
Сверточная нейронная сеть является особой архитектурой искусственной нейронной сети, имитирующей особенности зрительной коры головного мозга, состоящая из нескольких многомерных слоев и предназначенная для эффективного распознавания сложных изображений.
Именно такие сети сейчас преимущественно используются на практике для обработки изображений и видео. В данном исследовании был применен метод переноса обучения - использование предварительно обученной сети для решения задачи, которая отличается от той, для которой она обучалась. У уже предобученной сети берется только сверточная часть, отвечающая за выделение характерных признаков у изображения. Часть, отвечающую за классификацию, отключаем, так как она определяет тысячу объектов разных типов, а нам необходимо только два. Поэтому мы берем сверточную часть и добавляем к ней собственный классификатор. Затем обучаем такую составную нейронную сеть на заранее подобранном наборе данных.
Для достижения наилучшего результата был проведен анализ трех сетей: VGG16, ResNet50 и InceptionV3. Для представленных сетей были заданы одинаковые параметры: 5 эпох обучения, lr=1e-5, количество изображений для обучения = 17500, количество изображений для проверки = 3750, количество изображений для тестирования = 3750. Веса были получены путем обучения представленных моделей на базе данных ImageNet [4]. В ней представлено более 14 миллионов объектов и более 21 тысячи классов.
Экспериментальная часть
1) Сеть У0016 как показывает опыт, демонстрирует хороший результат. Архитектура сети представлена на рисунке 2. Часть, отвечающая за классификацию, выделена красным прямоугольником. Архитектура заканчивается полносвязным слоем на тысячу нейронов, что определяет тысячу классов в то время, как необходимо два. Для этого вместо старого слоя с тысячей нейронов добавляем полносвязный слой, на выходе у которого будет только один нейрон и сигмоидальная функция активации, эта функция плавно меняет своё значение от 0 до 1 и хорошо подходит для решения задач бинарной классификации. По такому же принципу будет произведена замена части классификации при использовании других моделей.
Рисунок 2 - Архитектура сети VGG16
Вероятность правильного распознавания на тестовых данных для двух классов составила 88,95%. Время, затраченное на обучение модели - 8 часов 34 минуты в облачной среде для работы с Python - Google Colab. Данный сервер отлично подходит для разработки и тестирования моделей машинного обучения. На рисунке 3 представлены графики аккуратности и ошибки на обучающем и проверочном наборе данных. Под термином аккуратность понимается вероятность верного распознавания.
о
CP
ш СО
- Аккуратность на обучающем наборе
Аккуратность на проверочном набор«
15 20 25 Эпоха обучения
40
□шибка на обучающем наборе Сшибка на проверочном наборе
15 20 25 Эпоха обучения
Рисунок 3 - График вероятности правильного распознавания и вероятности ошибки для
составной сети с использованием У0016
2) Сеть ResNet (Residual Network) была впервые представлена миру в 2015 году и с этого момента пользуется большой популярностью. С ростом количества слоев сети точность сначала увеличивается, а затем быстро ухудшается. Причина этого явления связана с эффектом затухания градиента. Для решения этой проблемы и были выведены остаточные сети. Ключевая идея, лежащая за ResNet - это введение остаточных блоков, которые содержат "обходную связь идентичности", обходящую один или большее количество слоев. ResNet имеет множество вариантов, которые работают по одной и той же концепции, но имеют разное количество слоев. ResNet50 используется для обозначения варианта, который может работать с 50 уровнями нейронной сети. На рисунке 4 представлена отличительная черта архитектуры - концепция пропускного соединения, где добавляется исходный ввод к полученному выводу.
Рисунок 4 - Соединение быстрого доступа
Вероятность правильного распознавания на тестовых данных составила 68,27%. Время обучения - 3 часа 27 минут в Google Colab. Графики, полученные в результате обучения представлены на рисунке 5. Аналогично с VGG16 встроенные слои классификации были заменены на собственные слои.
CL
О 1_
0
1
0
1
н о: о а. ш со
о
CL
ш ей
Рисунок 5 - График вероятности правильного распознавания и вероятности ошибки для
составной сети с использованием ResNet50
3) Использование Inception-V3 (это третья версия Inception Convolutional Neural Network Google) показало наилучший результат из всех сетей. Вероятность правильного распознавания на тестовом наборе составила 91,51%. Время обучения - 1 час, 23 минуты Google Colab. На рисунке 6 представлены графики, полученные в результате обучения составной сети.
0 0 OS L0 1.5 2 0 2.5 3.0 3.S 4 0 Эпоха обучения
00 0.5 10 15 2.0 2.5 3.0 3.5 40 Эпоха обучения
Рисунок 6 - График вероятности правильного распознавания и вероятность ошибки для составной сети с использованием 1псерйоп-У3
Исходя из проведенного анализа были получены следующие результаты (таблица 1).
Таблица 1 - Результаты обучения и тестирования сверточной нейронной сети
Наименование Количество Количество Алгоритм Вероятность Время
модели эпох, шт параметров оптимизации верного обучения,
сети, млн распознавания часы
на тестовых
данных, %
VGG16 5 138 Adam 88,95 8
ResNet50 5 25 Adam 68,27 3
Inception-V3 5 23 Adam 91,51 1
Заключение
В представленной статье был проведен анализ различных моделей для включения их в составную сверточную нейронную сеть, которая будет использоваться для классификации запрещенного графического контента в сети Интернет. Анализ экспериментальной работы, проведенный с использованием различных тестов, показал, что наиболее удачной моделью является Inception-V3, так как именно эта модель показала высший результат вероятности верного распознавания на тестовом наборе данных и наименьшее время обучения сети. В дальнейшем плане развития исследования будет рассматриваться автоматический подбор гиперпараметров для улучшения эффективности работы сети, решение проблемы энергоэффективности и встраивание модели в программный модуль для однозначной классификации видео контента.
Библиографический список:
1. Rosetta: Understanding text in images and videos with machine learning, Режим доступа: свободный [Электронный ресурс] - URL -https://ai.facebook.com/blog/rosetta-understanding-text-in-images-and-videos-with-machine-learning/ (Дата обращения: 04.11.2021).
2. Вопросы и ответы по Amazon Rekognition, Режим доступа: свободный [Электронный ресурс] - URL -https://aws.amazon.com/ru/rekognition/faqs/ (Дата обращения: 08.11.2021).
3. Computer Vision, Режим доступа: свободный [Электронный ресурс] - URL - https://azure.microsoft.com/en-us/services/cognitive-services/computer-vision/#overview (Дата обращения: 09.11.2021).
4. ImageNet, Режим доступа: свободный [Электронный ресурс] - URL -https://image-net.org/ (Дата обращения: 09.11.2021).
5. Wikipedia. Convolutional neural network, Режим доступа: свободный [Электронный ресурс] - URL -
https://en.wikipedia.org/wiki/Convolutional_neural_network (Дата обращения: 15.11.2021).
6. ResNet (34, 50, 101): «остаточные» CNN для классификации изображений, Режим доступа: свободный [Электронный ресурс] - URL -https://neurohive.io/ru/vidy-nejrosetej/resnet-34-50-101/ (Дата обращения: 23.11.2021).
7. Исследуем архитектуры сверточных нейронных сетей, Режим доступа: свободный [Электронный ресурс] - URL - https://proglib.io/p/issleduem-arhitektury-svertochnyh-neyronnyh-setey-s-pomoshchyu-fast-ai-2020-12-28 (Дата обращения: 30.11.2021).
8. LeCun Y., Kavukvuoglu K., Farabet C. // Proc. Int. Symposium on Circuits and Systems. 2010. P 253-256.