Анализ деятельности человека посредством глубокого обучения::Журнал СА 12.2018
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г.
Просмотров: 6229
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

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

Архив номеров / 2018 / Выпуск №12 (193) / Анализ деятельности человека посредством глубокого обучения

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

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

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

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

1. Введение

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

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

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

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

2. Предлагаемый метод

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

Предлагается следующий метод:

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

3. Модели сверточных сетей

В рамках предлагаемого метода необходимо решение двух основных задач – сегментации и категоризации. Соответственно нужны две сверточные нейронные сети.

Сверточная нейронная сеть для сегментации человека и связанных с ним предметов была построена на основе модели U-Net, созданной первоначально для сегментации биомедицинских изображений [1]. Особенность подобной архитектуры заключается в том, что при небольшом наборе данных можно получить весьма неплохие результаты. Сама сеть при этом имеет сжимающе-расширяющуюся (энкодерно-декодерную) архитектуру. Входное цветное изображение прогоняется по сверточным слоям, затем на основе полученных признаков строится выходное черно-белое изображение. В данной сети отсутствуют полносвязные слои для классификации, используются только сверточные (Conv2D), пулинговые (MaxPooling2D) и обратные пулингу (UpSampling2D) слои.

Для сегментации человека и связанных с ним объектов была реализована U-Net-подобная сеть с добавлением батч-нормализации и прореживания после слоев свертки и пулинга. Структура сети представлена на рис. 1.

Рисунок 1. Схема СНС для сегментации

Рисунок 1. Схема СНС для сегментации

Для классификации полученного изображения применяется другая сверточная нейронная сеть. При построении данной модели использовалась стратегия переноса обучения. В данной работе использовался следующий вид переноса обучения: была взята сверточная основа предобученной нейронной сети ResNet50 [2], обученной для классификации изображений на наборе данных ImageNet, данные слои были заморожены (данный процесс предотвращает изменение значений весов в них в процессе обучения [3]), полносвязные слои предобученной нейронной сети были заменены на другие. Структура сети представлена на рис. 2.

Рисунок 2. Схема СНС для классификации изображений

Рисунок 2. Схема СНС для классификации изображений

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

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

В рамках данной работы были обучены две сверточные нейронные сети. Первая сеть предназначена для сегментации человека и связанных предметов. Автором был собран набор из 280 изображений, равномерно разделенных на две категории – на изображения, где есть просто человек, и на изображения с человеком, читающим книгу. Для каждого изображения были нарисованы черно-белые маски. Фон выделялся черным цветом, человек и человек с книгой в руках – белым цветом.

По общепринятым правилам собранный набор данных был разделен на три части – из 60% изображений была составлена обучающая выборка (168 изображений), из 10% – валидационная (28 изображений) и из 30% – тестовая (84изображения).

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

Параметры обучения первой СНС:

  • Оптимизатор – стохастический градиентный спуск.
  • Коэффициент обучения – 0,1 (с 1 до 349 эпох) и 0,2 (с 350 до 600 эпох) и момент – 0,9.
  • Размер мини-выборки – 2.
  • Функция потерь – бинарная энтропия (binary_crossentropy).
  • Метрика оценки правильности построения маски – коэффициент Сёренсена:

(1)

где Ymask – эталонная маска, Yprediction – полученная маска.

  • Количество эпох обучения – 600.

Вторая сеть предназначена для классификации полученных изображений с наложенной маской.

Так как в первом случае был собран набор данных для сегментации двух видов объектов, то для второй сети был собран набор данных для классификации изображения по двум категориям – нет деятельности и чтение книги. Набор данных составил 1600 изображений (по 800 изображений для каждого класса). Данный набор также был разбит на три части – из 60% изображений была составлена обучающая выборка (960 изображений), из 10% – валидационная (160изображений) и из 30% – тестовая (480 изображений).

Параметры второй СНС:

  • Оптимизатор – стохастический градиентный спуск.
  • Коэффициент обучения – 0,0001 и момент – 0,9.
  • Размер мини-выборки – 32.
  • Функция потерь – бинарная энтропия (binary_crossentropy).
  • Метрика оценки правильности определения класса – верность (accuracy, % правильно классифицированных изображений).
  • Количество эпох обучения – 100.

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

Программная реализация СНС была осуществлена на языке программирования Python 3.6 с использованием дополнительных Python-библиотек глубокого обучения TensorFlow 1.1.0 и Keras 2.0.9, работающих поверх библиотеки cuDNN 6.0.

Обучение нейронных сетей производилось на GPU Nvidia GeFoce GTX 1060 с 6 GB видеопамяти.

На рис. 3 и 4 представлены данные с оценкой правильности сегментирования и о потерях первой сверточной сети на тестовой и валидационной (проверочной) выборках.

Рисунок 3. Верность СНС для сегментации

Рисунок 3. Верность СНС для сегментации

Рисунок 4. Потери СНС для сегментации

Рисунок 4. Потери СНС для сегментации

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

Таблица 1. Результаты обучения СНС для сегментации

Эпоха Обучающая выборка Валидационная выборка Тестовая выборка
Коэфф. Сёренсена Потери Коэфф. Сёренсена Потери Коэфф. Сёренсена Потери
494 95,60% 0,0443 88,88% 0,1018 85,69% 0,1738

На рис. 5 и 6 приведены примеры сегментации изображений.

Рисунок 5. Пример сегментации человек: (a) – исходное изображение, (b) – эталонная маска, (с) – полученная маска

Рисунок 5. Пример сегментации человек: (a) – исходное изображение, (b) – эталонная маска, (с) – полученная маска

Рисунок 6. Пример сегментации человека с книгой: (a) – исходное изображение, (b) – эталонная маска, (с) – полученная маска

Рисунок 6. Пример сегментации человека с книгой: (a) – исходное изображение, (b) – эталонная маска, (с) – полученная маска

На рис. 7 и 8 представлены данные о верности классификации и потерях второй сети на тестовой и валидационной (проверочной) выборках.

Рисунок 7. Верность СНС на основе ResNet50 для классификации

Рисунок 7. Верность СНС на основе ResNet50 для классификации

Рисунок 8. Потери СНС на основе ResNet50 для классификации

Рисунок 8. Потери СНС на основе ResNet50 для классификации

Лучшие результаты обучения сверточной нейронной сети для классификации представлены в таблице 2.

Таблица 2. Результаты обучения СНС для классификации

Эпоха Обучающая выборка Валидационная выборка Тестовая выборка
Верность Потери Верность Потери Верность Потери
89 99,79% 0,0197 91,87% 0,1897 91,67% 0,2763

Стоит отметить, что изображение с рис. 6(a) классифицируется верно (выход сети, равный 1 – класс «чтение», 0 – класс «нет деятельности»), значение нейрона на выходном слое составляет 0,996, а изображение с рис. 5(a) классифицируется неверно – 0,983. Однако при наложении маски на исходные изображения для рис. 6(a) значение выходного нейрона составляет 0,950 (немного ухудшилось), для рис. 5(a) – 0,490 (улучшилось).

5. Заключение

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

  1. Ronneberger O., Fischer P., Brox T. U-net: Convolutional networks for biomedical image segmentation. // MICCAI 2015: Medical Image Computing and Computer-Assisted Intervention – MICCAI 2015. P. 234-241. DOI:10.1007/978-3-319-24574-4_28.
  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.
  3. Шолле Ф. Глубокое обучение на Python. – СПб.: Питер, 2018. – 400 с.

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


Analysis of human activity by deep learning

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

Abstract: In this paper we research the method of analysis of human activities performed by deep learning. It is supposed to analyze the frame from the surveillance camera which can be implemented using convolutional neural networks. The first step is the segmentation of the image with the selection of the person and related objects with which he is interacting at the moment. In the second step the image cleared of unnecessary details is subjected to classification to determine the activities performed by the person. The paper presents models of convolutional networks for solving problems. Both models are implemented in Python and trained on the data collected. The obtained training results of convolutional neural networks are given.

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


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

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

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

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

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