Введение 3
1 Общие сведения о встраиваемых системах 6
1.1 Характеристики встраиваемых систем 7
1.2 Структура встраиваемых систем 8
1.3 Программное обеспечение для встраиваемых систем 10
2 Выбор инструментов 11
2.1 Анализ рынка одноплатных компьютеров 12
2.2 Анализ современных библиотек компьютерного зрения 15
2.2.1 TensorFlow 15
2.2.2 CUDA 16
2.2.3 OpenCV 17
2.2.4 MatLab 17
3 Разработка программного обеспечения 20
3.1 Подготовка оборудования 21
3.2 Начало работы с библиотекой OpenCV 32
3.2.1 Обнаружение простейших геометрических фигур 33
3.2.2 Реализация алгоритма поиска цветового пятна в OpenCV 36
3.2.3 Вывод координат искомого объекта заданного цвета 39
4 Разработка алгоритма детектирования движения в кадре 42
4.1 Способы определения характера движения в системах
видеонаблюдения 42
4.2 Детектирование движения в кадре 47
4.3 Реализация вывода координат движущегося объекта 50
5 Разработка алгоритма распознавания человеческой фигуры 52
5.1 Анализ алгоритмов распознавания человеческих фигур 52
5.2 Детектирование движения фигуры человека 59
6 Фиксация интервала времени и экспорт данных 61
6.1 Фиксация интервала времени неподвижности объекта 61
6.2 Экспорт данных в текстовый документ 62
6.3 Блок-схема итоговой программы 64
Заключение 67
Список используемой литературы 69
Одна из самых перспективных наук о компьютерах и программах - компьютерное зрение. Это важнейшая область в искусственном интеллекте, включающая сразу несколько этапов: распознавание содержимого изображения, определение объекта и его классифицирование [5].
Поиск и обнаружение объектов на фотографии или видео со временем становится лишь актуальнее. Например, уже почти каждый смартфон способен распознавать лицо владельца. Уже на государственном уровне используется биометрия, например, при получении гражданами банковской карты.
В то же время, растет необходимость использования систем компьютерного зрения на производствах. По-прежнему случаются несчастные случаи из-за неосторожности и несоблюдения техники безопасности. И если у распознавания лица есть сторонники и противники, то повышение уровня безопасности с помощью контроля за соблюдением техники безопасности может вызвать лишь положительную реакцию.
Система компьютерного зрения, как и любая система компьютерного видеонаблюдения, состоит из камер, сервера записи данных, сервера обработки данных и рабочей станции оператора.
На данный момент подобные системы видеонаблюдения применяются в таких сферах как:
— промышленные процессы,
— энергетические системы,
— мониторинг несанкционированных вторжений,
— визуальное сопровождение сотрудников.
На производстве существует множество факторов, воздействие которых при определенных условиях может вызвать профессиональные заболевания сотрудников и снижение работоспособности.
Согласно ГОСТ 12.0.003-2015 вредные и опасные факторы классифицируются на следующие группы: физические (движущиеся машины и механизмы, электрический ток, повышенный уровень электромагнитных и ионизирующих излучений, шума, вибрации и т.д.), химические (токсичные, мутагенные, канцерогенные и т.д.), психофизиологические и социальные (перенапряжение анализаторов, физические нагрузки, нервно-психические перегрузки и т.д.) [3].
При наличии какого-либо из факторов на рабочем месте, вместо работника во вредную среду можно поместить видеокамеру, за которой живой человек может наблюдать в режиме реального времени, что позволит ему в любой момент при необходимости вмешаться в процесс.
С помощью видеонаблюдения технические специалисты могут контролировать работоспособность энергетических систем. В некоторых отраслях температура и уровень электроэнергии должны поддерживаться постоянными.
Мониторинговая компания может поручить своим специалистам следить за системами отопления, вентиляции воздуха и электрическими системами, чтобы убедиться в отсутствии перебоев в работе. Если с оборудованием когда-либо возникнет проблема, обученные технические специалисты в кратчайшее время смогут направить на это место ремонтный персонал.
Использование систем видеонаблюдения в режиме реального времени с целью отслеживания несанкционированного вторжения позволяет экономить не только человеко-часы, но и оборудование и энергию. Также данная система позволит избавиться от необходимости круглосуточного дежурства рядом с охраняемым объектом. Технические специалисты могут удаленно отслеживать несанкционированное открытие дверей и сразу отправлять соответствующий сигнал пользователю.
Визуальное сопровождение сотрудников — чрезвычайно популярная услуга, которую предоставляют компании, занимающиеся мониторингом систем видеонаблюдения. Всякий раз, когда сотрудник заканчивает рабочий день и собирается идти к своей машине, он может вызвать специалиста по мониторингу, который заранее осмотрит территорию и сообщит, безопасно ли идти. Сотрудник также может попросить специалиста наблюдать за ним, пока он идет к своей машине [17].
Задача данной магистерской диссертации заключается в том, чтобы отойти от использования мощных стационарных платформ, и перевести функционал подобных систем на мобильные платформы, которые используются в так называемой embedded-электронике, то есть в электронике, внедряемой в те или иные изделия, например, из категории «умный дом».
В рамках выполнения выпускной квалификационной работы была создана система распознавания фигуры человека средствами компьютерного зрения. Программа внедрена в одноплатный компьютер Raspberry Pi 2 Model B. Готовый проект представляет собой систему, которая распознает фигуру человека в офисном помещении, а также фиксирует и экспортирует в текстовый документ интервал времени, в течение которого фигура была неподвижна.
В первом разделе проанализирована структура, характеристики и область применения встраиваемых систем.
Второй раздел посвящен выбору инструментов для выполнения выпускной квалификационной работы. Проанализирован рынок одноплатных компьютеров и рассмотрены современные библиотеки компьютерного зрения. Обоснован выбор каждого элемента системы.
В третьем разделе представлена структурная схема разрабатываемого устройства и перечень всех используемых элементов. Рассмотрены все этапы настройки ПО Raspberry Pi, необходимые для дальнейшей работы с системой. Приведены основы работы с библиотекой компьютерного зрения OpenCV при использовании языка программирования Python, в том числе определение простейших геометрических фигур. Реализован алгоритм поиска объекта по заданному цвету, основанный на вычислении моментов изображения. Продемонстрирован результат работы программы, обнаруживающей объект заданного цвета в потоке видеокадров с последующим выведением его координат.
В четвертом разделе были проанализированы основные методы обнаружения нового объекта в потоке видеокадров. Разработан алгоритм детектирования движения в кадре, в основе которого лежит метод межкадровой разности.
В пятом разделе проанализированы современные алгоритмы распознавания человеческой фигуры. Разработана программа, использующая модель ориентиров и прогнозирующая расположение 33 ориентиров позы человека. Приведен результат выполнения программы.
В шестом разделе описан алгоритм, позволяющий фиксировать время, в течение которого фигура человека была неподвижна, а также экспортировать данные в текстовый документ. Представлена блок-схема итоговой программы. Приведены результаты обнаружения.
Таким образом, результатом выполнения выпускной квалификационной работы является исправно работающая система распознавания фигуры человека, находящая свое применение в офисных помещениях