ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ АВТОМАТИЧЕСКОГО РАСПОЗНАВАНИЯ ЖИВОЙ ОЧЕРЕДИ В СУПЕРМАРКЕТЕ - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ АВТОМАТИЧЕСКОГО РАСПОЗНАВАНИЯ ЖИВОЙ ОЧЕРЕДИ В СУПЕРМАРКЕТЕ

Толкачев А.М. 1, Тутова Н.В. 1
1МТУСИ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

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

Постановка задачи

Задача заключается в автоматическом определении наличия живой очереди рядом с пунктами оплаты. Предполагается, что пункт оплаты товаров снабжен камерой видеонаблюдения, которая производит съемку, камера установлена на потолке. Распознавание изображений в реальном времени будет происходить на вычислительном узле, к которому непосредственно подключена камера, а итоговые отчеты будут формироваться в облаке в центре обработки данных. Такое разделение функций соответствует концепции «туманных вычислений», объединяющих «облачные вычисления» и сети доставки контента, что позволяет эффективнее распределить вычислительные ресурсы, снизить нагрузку на сеть и удовлетворить требованиям реального времени. Обученная нейронная сеть на основе получаемых изображений будет делать вывод о наличии живой очереди перед пунктом оплаты товаров. Нейронная сеть представляет из себя математическую модель для решения различного рода задач со способностью к обучению – автоматическим нахождением сложных зависимостей между входными параметрами и выходными значениями с использованием различных обучающих методов и обучающего набора. В роли обучающего набора выступает заранее подготовленный набор входных параметров и выходные значения, соответствующих им. Результатом работы нейронной сети является предсказание – наиболее вероятное выходное значение. Определение наличия или отсутствия живой очереди являются задачей классификации. Входными параметрами (признаками) в данном случае является пиксели изображений, получаемых с камеры. Изображения для программы являются трехмерными или двухмерными, в зависимости от кодирования изображения, матрицами, каждый элемент которой отвечает за цвет отдельного пикселя. Далее нейронная сеть выполняет нелинейные расчеты и прогнозирует принадлежность изображения к одному из классов.

Модель нейронной сети

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

Рисунок 1 – Общий вид персептрона

Для реализации был собран обучающий набор, состоящий из черно-белых изображений размером 20х20. Каждый пиксель кодируется одним из оттенков серого, принимающим значение от 0 (черный цвет) до 255 (белый цвет). Пример изображения и матричное представление его фрагмента представлен на рис. 2.

Рисунок 2 - Пример изображения живой очереди и матричное представление его фрагмента

Изображения, используемые для обучающего набора, необходимо подбирать крайне тщательно, надо учитывать ряд условий: различные освещенности помещения; в объектив камеры могут попадать и посторонние предметы, например стеллажи или покупательская тележка; неисправность самой камеры, в результате чего на изображении могут наблюдаться шумы (рис. 3) или «битые пиксели».

Рисунок 3 – пример искажений изображения живой очереди, наблюдается наличие шумов

Обучение и оценка точности нейронной сети

Обучающий набор состоит из 200 изображений, 150 из которых являются искаженными копиями первых 50, полученные программным путем, благодаря изменению матричных параметров изображения, и делится по классам 120 с наличием живой очереди, 80 без очереди. Каждый пример включает в себя 400 параметров (произведение ширины и высоты), а также значение выходного параметра, которое соответствует наличию живой очереди, «1» - живая очередь есть, «0» - живой очереди нет. Для дальнейшей проверки работы нейронной сети обучающий набор разбивается на тренировочное множество и тестовое множество в соотношениях 70% на 30%. В результате было получено тренировочное множество из 140 примеров (90 с живой очередью, 50 без) и тестовое множество из 60 примеров (по 30 на каждый класс). В качестве архитектуры нейронной сети был выбран персептрон с одним скрытым слоем. Экспериментальным путем было решено использовать 5 элементов скрытого слоя, результаты экспериментов в виде сравнительного графика приведены на рис. 4. Обучение проводилось методом обратного распространения ошибки.

Рисунок 4 - Изменение точности нейронной сети с изменением размера скрытого слоя

Перед обучением нейронной сети так же необходимо задать изначальные значения весовых коэффициентов, которые определяют вес каждого элемента предыдущего слоя по отношению к элементу следующего слоя, и необходимые для метода обратного распространения ошибки коэффициента регуляризации, влияющего на скорость и правильность работы алгоритма, и условия окончания работы метода. Хотя весовые коэффициенты и находятся в результате работы метода обратного распространения ошибки, во избежание симметрии коэффициентов необходимо задать некие начальные значения, отличные друг от друга. Для этого проводят «случайную инициализацию» - присвоение весовым коэффициентам случайных значений из диапазона [−𝜀; 𝜀]. Таким образом, весовые коэффициенты примут случайные значения: –𝜀 ≤Θ𝑖𝑗(𝑙)≤ ε. В данной задаче ε было выбрано 0.005. Коэффициент регуляризации (λ) влияет на работу обучающего метода: при его отсутствии нейронная сеть может обучиться правильно работать только с данными идентичными обучающим; при слишком малом значении коэффициента методу потребуется намного больше итераций для нахождения весовых коэффициентов; при слишком большом значении коэффициента метод может не найти оптимальный результат так как на каждой итерации будет «перешагивать» через решение. Коэффициент регуляризации (λ) может быть динамическим или статичным, на начальных этапах обучения нейронной сети используют статичный, так как это упрощает возможность ручной проверки результатов. начальное значение коэффициента, полученное экспериментально (рис. 5), λ=0.5.

Рисунок 5 - Точность нейронной сети от коэффициента регуляризации

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

Тестирование разработанной нейронной сети

Для тестирования выбрали изображение (рис. 6), которое не относится ни к обучающему набору, ни к тестовому, и является очередью.

Рисунок 6 - Изображение для тестирования разработанной программы

Функцией чтения «imread» загружали изображение, а также загружали оптимальные значения весов полученные ранее. Для классификации использовали функцию расширения интеллектуального анализа данных «predict», которой на вход подали матрицу изображения и матрицы весов. На выходе нейронной сети получаем вероятность того, что изображение относится к данному классу.

Результат тестирования изображен на рис. 7.

Рисунок 7 – Результат работы разработанной программы

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

Выводы

В результате работы была получена 93,3% точность:56 из 60 тестовых примеров были правильно определены, из них 30 из 30 являлись живой очередью и 26 из 30 не являлись живой очередью, проведено тестирование, которое показало положительный результат. Точность недостаточна, чтобы сразу применять нейронную сеть в реальных условиях. По результатам анализа было решено, что дальнейшее повышение точности возможно при увеличении размера обучающего набора и количества признаков путем использования изображений большего разрешения и/или использования цветных изображений.

Список литературы

1. Воронов В.И., Воронова Л.И. О повышении результативности магистерских программ в условиях инновационной экономики/ Инновационные подходы в науке и образовании: теория, методология, практика. - Изд-во: "Наука и Просвещение, 2017, с.35-44

2. Л.И. Воронова, В.И. Воронов. Machine Learning: Регрессионные методы интеллектуального анализа данных: учебное пособие – МТУСИ, 2017 – 81 с.

3. Ворожцов А.С., Тутова Н.В., Тутов А.В. Постановка задачи оптимизации распределения нагрузки в сетях доставки контента // T-Comm: Телекоммуникации и транспорт. 2011. Т. 5. № 6. С. 42-44.

4. Ворожцов А.С., Тутова Н.В., Тутов А.В. Динамическое распределение вычислительных ресурсов центров обработки данных // T-Comm: Телекоммуникации и транспорт. 2016. Т. 10. № 7. С. 47-51.

5. Хараламбос Марманис, Дмитрий Бабенко. Алгоритмы интеллектуального Интернета. Передовые методики сбора, анализа и обработки данных. Изд-во: “Символ-Плюс, 2011 – 480 c.

6. Хенрик Бринк, Джозеф Ричардс, Марк Феверолф. Машинное обучение. Изд-во: “Питер, 2017 – 336 c.

7. Andrew L. Maas, Awni Y. Hannun, Andrew Y. Ng Rectifier Nonlinearities Improve Neural Network Acoustic Models – Computer Science Department, Stanford University, CA 94305 USA, 2014

Просмотров работы: 157