Исследование подходов к построению сверточной нейронной сети, распознающей деятельность человека::Журнал СА 12.2017
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6193
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6902
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4185
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2988
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3794
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3805
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6297
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3152
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3446
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7261
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10628
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12349
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13980
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9109
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7064
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5374
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4603
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3413
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3143
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3390
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3012
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Исследование подходов к построению сверточной нейронной сети, распознающей деятельность человека

Архив номеров / 2017 / Выпуск №12 (181) / Исследование подходов к построению сверточной нейронной сети, распознающей деятельность человека

Рубрика: Наука и технологии

Без фото НИКОЛАЕВ П.Л., старший преподаватель, Московский авиационный институт (Национальный исследовательский университет), Москва, npavel89@gmail.com

Исследование подходов к построению
сверточной нейронной сети, распознающей деятельность человека

В работе исследуются методы построения сверточной нейронной сети для распознавания деятельности человека по получаемому с камеры изображению. Рассматриваются два подхода построения сверточной сети – обучение с нуля ииспользование уже обученных нейронных сетей. Также приводятся результаты работы сверточных сетей, построенных и обученных по рассматриваемым методам

Введение

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

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

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

Сверточные нейронные сети

Сверточные нейронные сети (СНС) состоят из слоев свертки и субдискретизации (пулинга), отвечающих за выделение признаков изображений, и полносвязных слоев, отвечающих за классификацию изображений.

Рассмотрим два подхода к обучению сверточной нейронной сети.

В первом случае создадим с нуля простую сверточную сеть (см. таблицу 1) и обучим ее на собранном наборе данных. Данная нейронная сеть состоит из пяти сверточных и двух полносвязных слоев.

Таблица 1. Архитектура сверточной нейронной сети

Слой (тип) Форма вывода
conv2d_1 (Conv2D) (None, 222, 222, 32)
activation_1 (Activation) (None, 222, 222, 32)
max_pooling2d_1 (MaxPooling2D) (None, 111, 111, 32)
conv2d_2 (Conv2D) (None, 109, 109, 32)
activation_2 (Activation) (None, 109, 109, 32)
max_pooling2d_2 (MaxPooling2D) (None, 54, 54, 32)
dropout_1 (Dropout) (None, 54, 54, 32)
conv2d_3 (Conv2D) (None, 52, 52, 64)
activation_3 (Activation) (None, 52, 52, 64)
max_pooling2d_3 (MaxPooling2D) (None, 26, 26, 64)
conv2d_4 (Conv2D) (None, 24, 24, 128)
activation_4 (Activation) (None, 24, 24, 128)
max_pooling2d_4 (MaxPooling2D) (None, 12, 12, 128)
dropout_2 (Dropout) (None, 12, 12, 128)
conv2d_5 (Conv2D) (None, 10, 10, 256)
activation_5 (Activation) (None, 10, 10, 256)
max_pooling2d_5 (MaxPooling2D) (None, 5, 5, 256)
flatten_1 (Flatten) (None, 6400)
dense_1 (Dense) (None, 256)
activation_6 (Activation) (None, 256)
dropout_3 (Dropout) (None, 256)
dense_2 (Dense) (None, 4)
activation_7 (Activation) (None, 4)

Другой подход – применение стратегии переноса обучения. Ее суть заключается в использовании уже предварительно обученной нейронной сети, причем обученной на большом наборе данных из миллионов изображений. Данный подход может применяться, когда в наличии есть только небольшой набор данных для обучения. Также при данном методе можно значительно сократить необходимое для достижения нужной точности время обучения нейронной сети.

Предварительно обученные сети уже умеют находить характерные признаки изображений. Необходимо только переобучить полносвязные слои для классификации изображений из нашего набора данных. Рассмотрим применение следующих предварительно обученных нейронных сетей: VGG16, VGG19 [1] и ResNet50 [2]. Данные сети были обучены на наборе данных ImageNet для классификации миллионов изображений, разделенных на 1000 классов.

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

В рамках работы выполнялось обучение сверточной нейронной сети для распознавания изображений с различными видами деятельности человека. Был собран набор изображений для классификации, разделенный на четыре класса: чтение, работа за компьютером, письменная работа и игра на скрипке. Каждая категория включала в себя по 1400 изображений. 70% изображений использовались для обучения нейронной сети и 30% – для тестирования.

Сверточная нейронная сеть была реализована на языке программирования Python 3.6. Использовались библиотеки:

  • TensorFlow 1.1.0;
  • Keras 2.0.9;
  • cuDNN 6.0.

Все вычисления производились на видеокарте Nvidia GeFoce GTX 1060 6 GB. Во всех случаях СНС обучались стохастическим градиентным спуском со следующими гиперпараметрами:

  • простая сеть: коэффициент обучения, равный 0,01;
  • предобученные сети: коэффициент обучения, равный 0,0001, и момент, равный 0,9.

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

При использовании предобученных сверточных сетей их полносвязные слои, отвечающие за классификацию, были заменены на два полносвязных слоя – первый с 256 нейронами и второй с 4 (по числу категорий для классификации).

Обучение каждой сети проводилось в течение 100 эпох. На рис. 1 и 2 представлены данные о точности и о потерях простой сверточной сети, на рис. 3 и 4 – СНС на основе VGG16, на рис. 5 и 6 – СНС на основе VGG19 и на рис. 7 и 8 – СНС на основе ResNet50.

Рисунок 1. Точность простой СНС Рисунок 2. Потери простой СНС
Рисунок 1. Точность простой СНС Рисунок 2. Потери простой СНС
Рисунок 3. Точность СНС на основе VGG16 Рисунок 4. Потери СНС на основе VGG16
Рисунок 3. Точность СНС на основе VGG16 Рисунок 4. Потери СНС на основе VGG16
Рисунок 5. Точность СНС на основе VGG19 Рисунок 6. Потери СНС на основе VGG19
Рисунок 5. Точность СНС на основе VGG19 Рисунок 6. Потери СНС на основе VGG19
Рисунок 7. Точность СНС на основе ResNet50 Рисунок 8. Потери СНС на основе ResNet50
Рисунок 7. Точность СНС на основе ResNet50 Рисунок 8. Потери СНС на основе ResNet50

В таблице 2 представлены наилучшие результаты на тестовом наборе данных, достигнутые рассматриваемыми сетями.

Таблица 2. Наилучшие результаты на тестовой выборке

Тип СНС Точность Потери Среднее время обучения на одну эпоху
Простая СНС 75.54% 0.8418 56 с
СНС на основе VGG16 95.06% 0.2792 132 с
СНС на основе VGG19 94.52% 0.3512 161 c
СНС на основе ResNet50 95.12% 0.2251 117 с

Как видно по результатам из таблицы 2, наибольшая точность распознавания на тестовых данных получилась у сверточной нейронной сети на основе ResNet50. При этом хорошо видно, что применение предобученных нейронных сетей позволяет добиться большей точности в распознавании изображений.

Заключение

В данной работе были рассмотрены подходы к обучению сверточных нейронных сетей на примере распознавания деятельности человека. Были обучены несколько СНС – простая сеть из семи слоев и сети на основе VGG16, VGG19 иResNet50. Экспериментально установлено, что использование предобученных сверточных сетей позволяет добиться лучших результатов по сравнению с построением сверточных сетей с нуля. Далее необходимо добиться большей точности распознавания, а также увеличить количество распознаваемых типов деятельности человека. eof

  1. Simonyan K., Zisserman A. Very deep convolutional networks for large-scale image recognition // International Conference on Learning Representations (ICLR), 2015.
  2. He K., Zhang X., Ren S., Sun J. Deep Residual Learning for Image Recognition // 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016. P. 770-778. DOI: 10.1109/CVPR.2016.90.

Ключевые слова: искусственные нейронные сети, машинное обучение, глубокое обучение, сверточные нейронные сети, распознавание изображений.


Research of approaches to constructing the convolutional neural network for human activity recognition

Nikolaev P.L., Lecturer of Moscow Aviation Institute (National Research University), Moscow, npavel89@gmail.com

Abstract: In this paper we research methods for constructing the convolutional neural network for human activity recognition on the image obtained with the camera. Two approaches to building the convolutional network, such as training from scratch and the use of pretrained neural networks are considered. Also, the results of the work of convolutional networks constructed and trained by the considered methods are given.

Keywords: artificial neural networks, machine learning, deep learning, convolutional neural networks, image recognition.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru