Разработка системы отслеживания загруженности общественного транспорта

Выбор метода анализа загруженности общественного транспорта. Анализ общих принципов работы и структурной схемы. Подбор электронных компонентов для учебного прототипа, их функционал, характеристики и электронные схемы. Машинное зрение, библиотека OpenCV.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 04.12.2019
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Факультет Московский институт электроники и математики

им. А.Н. Тихонова

Разработка системы отслеживания загруженности общественного транспорта

Выпускная квалификационная работа - Бакалаврская работа

образовательная программа «Инфокоммуникационные технологии и системы связи»

Мартыненко Максим Александрович

Москва 2019

Оглавление

транспорт загруженность схема электронный

Аннотация

Введение

Глава 1. Выбор метода анализа загруженности общественного транспорта и общий принцип работы

1.1 Выбор метода анализа загруженности общественного транспорта

1.2 Общий принцип работы и структурная схема

Глава 2. Аппаратная часть

2.1Подбор электронных компонентов для учебного прототипа, их функционал, характеристики и электронные схемы

Глава 3. Программная часть

3.1 Машинное зрение, библиотека OpenCV

3.2 Каскад Хаара

3.3 Метод «удаление фона»

Заключение

Список используемой литературы

Аннотация

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

Abstract

Overloaded public transport is a problem of all big cities. In this project we are talking about trains. Most commuter trains already have video cameras and all communications. In this paper, we propose a method for the implementation of computer vision algorithms to analyze the flow of passengers. Most commuter trains already have video cameras and all communications. The layout of the printed node will also be offered, which can be interpreted into the existing system.

Введение

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

В городах с населением более одного миллиона человек вопрос логистики транспортной системы один из основных, для корректного составления маршрутов необходимо обладать максимально достоверной информацией о количестве пассажиров, которые пользуются данным видом транспорта. По данным ЦППК (центральная пригородная пассажирская компания) в 2017 году количество безбилетных пассажиров составило порядка 5-7%, при том что ежедневно услугами данной транспортной компании пользуются порядка 1,8 миллиона человек, то есть ~113 тысяч человек затрудняют анализ загруженности электричек, это только официальные данные, которые, по мнению некоторых сторонних изданий, сильно недооценены. Предлагаемая в данной работе система анализа загруженности общественного транспорта в потенциале способна определять реальное количество пассажиров с погрешностью подсчёта порядка 2%. Знание о реальном количестве пассажиров электропоездов поможет транспортной компании рационально распределять ресурсы.

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

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

Простота интеграции в существующую систему коммуникаций электропоезда.

Точность анализа соответствует необходимой для заданного типа помещения.

Цена ниже аналога на соответствующем рынке.

Наличие интерфейса для визуализации проанализированных данных.

Интеграция в существующую систему коммуникаций осуществляется за счёт использования максимально распространенных и простых компонентов с общепринятыми интерфейсами и каналами передачи данных.

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

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

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

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

Анализ существующего рынка систем подсчёта людей.

Разработка структурной схемы устройства для определения необходимых компонентов/модулей.

Подбор необходимых электронных компонентов/модулей с наиболее подходящим соотношением цена/простота интеграции.

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

Написания программного кода, реализующего основные функции готового прототипа системы.

Создание 3D модели печатного узла для интеграции

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

В данной работе будет описан метод подсчёта людей алгоритмами машинного зрения. Существует множество методов подсчёта людей при помощи анализа видео-потока. В данной работе будет использоваться метод с наиболее подходящим соотношением простота/точность.

В первой главе основной части будут рассмотрены теоретические аспекты, объяснен общий принцип работы прототипа системы анализа загруженности общественного транспорта и почему был выбран именно метод подсчёта на основе анализа видео-потока. Во второй главе будет объяснен принцип, по которому выбирались электронные компоненты, какие они имеют характеристики, функциональность, стоимость, как будут располагаться на конечном варианте рационализированного печатного узла и ориентировочная стоимость изготовления печатного узла. В третьей части будет описан программный код с пояснением некоторых основных моментов и показана упрощенная схема, по которой работает код и объяснены принципы машинного обучения и обнаружения объектов каскадами Хаара и методом «удаление фона».

Глава 1. Выбор метода анализа загруженности общественного транспорта и общий принцип работы

1.1 Выбор метода анализа загруженности общественного транспорта

В настоящее время системы аналитики потока людей применяются повсеместно и для этого используются различные методы. По данным «Яндекс» за 2018 на 24% увеличилось количество пользователей системы анализа посетителей интернет-ресурсов, подобный рост характерен и для оффлайн маркетинга.

В большинстве случаев в торговых центрах используется система анализа количества посетителей на основе каскада инфракрасных датчиков. Подсчёт происходит при анализе поочередного прерывания сигнала от излучателя приемнику. Рассмотрим подробнее данный метод:

Как уже было сказано ранее, подсчёт количества людей осуществляется за счёт прерывания луча, а направление движения определяется последовательностью прерываний, то есть если сначала сработал сенсор 1 (рис.1) , потом сенсор 2 - человек вошёл, если наоборот - вышел.

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

Эти недостатки с определенной долей вероятности устраняются путем добавления сенсоров в систему и корректровки программного кода. Как вариант можно рассмотреть вариант с пятью сенсорами вместо двух: два сенсора устанавливаются на относительно большом расстоянии друг от друга (порядка 10-15 сантиметров), между ними устанавливается дополнительно три сенсора на расстоянии порядка 3-5 сантиметров друг от друга. Дополнительные сенсоры уменьшают вероятность возникновения сбоев и служат для «разделения» группы людей, в то время как основные два сенсора также служат для детектирования направления. Данное дополнение используется в некоторых моделях систем аналитики, но в основном используется система с двумя сенсорами из-за простоты реализации и низкой стоимости[1].

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

В подобных системах человек учитывается как «тепловое пятно», которое записывается в кэш при пересечении буферной зоны, то есть контроллер, имеющий достаточно вычислительной мощности для анализа данных с камеры теплового датчика, регистрирует перепад температуры, относительно фона, и выделяет этот объект. Если объект пересекает заранее выбранную область, которая называется буферной зоной (необходима для устранения погрешностей и неточностей вычисления, отмечена трапецией на рис.2), то координаты объекта сохраняются в памяти контроллера, то есть в таких системах возможен трекинг человека. Структурная схема может быть представлена следующим образом: тепловой датчик, реализованный в формате видеокамеры с теплочувствительной матрицей, передает информацию об изменении температуры в определенной координатной области на микроконтроллер/одноплатный компьютер, где программным кодом задан минимальный и максимальный размеры области, которые стоит учитывать как «человек». Видео в данном случае используется только как интерфейсная часть, то есть как инструмент предоставления информации человеку.

Главный недостаток подобной системы - температура «фона», то есть помещения, должна быть одинаковой в любой точке с определенной, заранее известной погрешностью, то есть такая система не подойдет если, например, вход в помещение происходит через улицу. Также точность детектирования зависит и от коэффициента отражения поверхности объекта, который необходимо детектировать. Точность распознавания порядка 90%, что значительно выше точности инфракрасных датчиков.

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

Системы подсчёта людей методами анализа видео-потока наиболее распространены из-за высокой точности, но стоимость относительно системы с тепловыми датчиками на 10-20% выше. Счёт людей производится при помощи алгоритмов машинного зрения и имеет низкую погрешность в нормальных условиях. Принцип работы аналогичен тепловым системам (информации с камеры попадает в процессор/микроконтроллер, обрабатывается и выводится в приемлемой для потребителя форме), только в данном случае рассматриваются не «тепловые пятна», а объекты, обнаруженные методом машинного зрения. Отличие в коде, который обрабатывает видео-поток и находит заданные объекты. На рис.2 показан пример интерфейса системы анализа на видеодатчиках.

Данная система также имеет возможность отслеживания перемещения человека в поле кадра. Точность зависит от освещенности помещения, при низкой освещенности точность падает и возможно не распознавание объекта. Снижение точности при плохом освещении связана с тем что большинство методов подсчёта людей распознают людей по признакам Хаара (см. глава 3) и обнаружение объектов в затемненном помещении невозможно.

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

При использовании одной камеры получается стандартное 2D изображение, механизм обработки которого представлен в главе 3. Это вариант имеет недостаток - тени могут расцениваться как новые объекты из-за неточности метода обнаружения по признакам Хаара.

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

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

После оцифровки два изображения буферизуются с корректировками по цвету, яркости и шуму. Далее определяются общие точки двух изображений для воссоздания математической модели помещения.

Это самый точный и эффективный способ подсчёта количества людей на данный момент так как он способен отсеивать сторонние объекты и учитывать только людей без включения сложных алгоритмов машинного зрении, это достигается расчётом расстояния от датчика до головы человека (если расстояние больше заданного - объект не учитывается), то есть исключается вероятность принятия тень человека за новый объект. При таком подходе для нахождения движущегося объекта в кадре используется метод «удаление фона». Этот метод заключается в сравнении двух кадров, сделанных последовательно, и обнаружении только движущихся объектов.

Расчёт расстояния от устройства/камеры (устанавливается над входом) до объекта происходит следующим образом:

(1)

Где:

h - удаление точки от счетчика 

B - расстояние между линзами камер

f - фокусное расстояние линз известная величина и равняется ~2.5мм.

X" - координата точки на левой камере, вычисляется 3D процессором.

X"" - координата точки на правой камере, вычисляется 3D процессором.

d - диспаратность = X' - X'' - вычисляется процессором.

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

Стоимость подобной системы составляет 70 000 - 90 000 р., точность 99-100%, погрешность измерений роста, по информации от производителя, 5 сантиметров. Из минусов также можно отметить вероятность распознавания отражения человека как новый объект, но это компенсируется при настройке системы под определенную площадку.

По итогу рассмотрения различных вариантов и методов системы подсчёта людей для возможной реализации в электропоездах был выбран вариант с одной видеокамерой у входа по следующим причинам:

Система с инфракрасными датчика имеет слишком низку точность.

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

Система на основе методов машинного зрения с двумя камерами имеет слишком высокую стоимость и не может быть реализована в массовом объеме.

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

1.2 Общий принцип работы и структурная схема.

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

Где:

1 - камера, подключенная через USB.

2 - блок передачи данных.

3- блок обработки видео-потока.

4 - интерфейс, в который загружаются данные .

А - передача по COM-port.

С - WI/FI, Ethernet.

Изображение с камеры (1) по COM-port оцифровывается и обрабатывается в процессе (3), результат передается по беспроводной или проводной связи в любой удобный пользователю интерфейс, сопряженный с данной системой.

Закупочная рыночная стоимость комплектующих для прототипа подобной системы составила порядка 5 000р, что значительно ниже вариантов аналитики, представленных в §1, в связи с этим считаю возможным разместить по одному устройству на каждым входом в каждый вагон электропоезда. Использование двух камер, наблюдающих за разными входами одного вагона значительно усложняет код, требует более дорогого процессора и согласования передачи двух изображений по одной шине с интерфейсом MIPI. Интерфейс MIPI наиболее предпочтителен для передачи изображений так как он в меньшей степени нагружает процессор, в отличие от передачи по COM-port. Для нормальной работы и анализа видео-потока в реальном времени необходимо использование MIPI, в учебном проекте используется подключении камеры через USB из-за отсутствия необходимого оборудования.

Глава 2. Аппаратная часть

2.1 Подбор электронных компонентов для учебного прототипа, их функционал, характеристики и электронные схемы-1

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

Для первичного учебного прототипа системы анализа загруженности общественного транспорта, есть для отладки кода и тестирования самой системы на практике, был выбран одноплатный компьютер Raspberry pi 3 model b, обладающий следующими характеристиками:

64-х битным четырёх ядерным процессором ARM Cortex-A53 с тактовой частотой 1,2 ГГц на однокристальном чипе Broadcom BCM2835

Питание 5V, 2A.

оперативная память: 1ГБ

сеть: WiFi 802.11n, 10/100 Мб RJ45 Ethernet

1 Электронные схемы созданы в программах схемотехнического моделирования DipTrace, LTSpice, Multisim.

Данный одноплатны компьютер был выбран среди остальных вариантов (Arduino , STM32) за высокую вычислительную мощность базового процессора, распространенности на рынке и большого количества мануальной и обучающей информации. В тоже время функционал Raspberry pi 3 model b излишен, плата имеет много модулей, которые никак не задействованы в работе готового учебного прототипа, например композитный выход: 3,5 мм, UART, DSI -- для подключения штатного дисплея. 40 портов ввода-вывода общего назначения, 2 USB-порта поэтому первичный прототип будет пересмотрен для рационального решения конкретной задачи.

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

Возможность сопряжения с остальными модулями/каскадами.

Помехоустойчивость и помехозащищенность.

Наличие открытой информации по данному электронному компоненту/модулю.

Размер.

Цена.

Сложность монтажа/демонтажа на плату.

Структурная схема первичного прототипа, для текущей задачи, представлена на рис.6.

Где:

USB-камера

2,2'- USB-вход/оцифровка сигнала

Блок обработки информации средствами встроенного программного обеспечения

Блок передачи информации в удобный для пользователя интерфейс

Интерфейс анализа и оценки статистики пользователем

Питание 5V, 2A

Клавиатура

Воздействие внешних факторов

Монитор

HDMI выход

Слот для SD-карты(используется как жесткий диск для операционной системы)

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

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

Для рационализированной модели печатного узла был выбран процессор, аналогичный установленному в Raspberry pi 3 model b. Однокристальный чип BCM2835 имеет сложную разветвленную электронную схему, по этой причине его схема будет представлена частями в составе модулей, которые сопрягаются с процессором.

Рисунок 7- Схема питания BCM2835

Питание планируется подавать от системы внутренних коммуникаций электропоезда, поэтому необходимо предусмотреть элементы, понижающие входное напряжение и создающие нормальную мощность для работы всех элементов печатного узла. Для понижения входного напряжения и стабилизации в шине питания используется подстроечный резистор и стабилитрон SMBJ5, для фильтрации высокочастотной составляющей - конденсатор, «посаженный» на землю. Для подведения электроэнергии в конечном варианте планируется использовать клеммы, для учебного прототипа используется разъем micro-USB с отключенной шиной данных (активны только два контакта из пяти в разъеме : +5V и земля).

В учебном проекте используется 2 USB-порта, которые будут сохранены в рационализированной модели печатного узла. Электронная схема USB-порта со всей необходимой для корректной работы обвязкой и пины процессора BSM2835, к которым необходимо подводить сигнальные провода от LAN9512, представлены на рис. 9

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

В качестве дополнительной системы коммуникации с устройством возможен вариант использования WI-FI или Ethernet. В модели прототипа используется Ethernet из-за высокой помехозащищенности, надежности соединения и отсутствия необходимости дополнительной настройки или приобретения дополнительного оборудования. Электронная схема разъема Ethernet представлена на рисунке 11 также вместе с необходимой обвязкой и пинами, к которым стоит подключать сигнальные трассы на модулях шифрования/дешифрования пакетов данных.

Так как в открытом доступе отсутствует полная электронная схема BCM2835 и предоставляемая мануальная информация по модулям оцифровки сигнала и шифрации/дешифрации мало информативны - составить полную электронную схему не представляется возможным.

Рисунок 11- Электронная схема включения разъема Ethernet

Для расчётов и тестирования может быть использована частичная электронная схема Raspberry pi 3 model b. Для презентации продукта, общего понимания алгоритма работы и возможности интеграции с систему коммуникаций электропоезда достаточно 3D модели печатного узла. Для оценки стоимости конечного продукта информации, предоставленной в открытых источниках, достаточно. Стоимость компонентов для печатного узла =2850р (BCN2835 - 1021р/шт; USB- себестоимостью порядка 100р/шт; Ethernet ~ 100-150р; micro-USB + электроника для стабилизации напряжения и уменьшения входной мощности = 350-400р; слот для SD-карты + карта объемом 16Гб = 740р; камера - 350р). Производство печатной платы, то есть сверление отверстий, создание металлизированной подложки для лучшей помехозащищенности, траление дорожек на печатной плате по заранее созданному макету примерно составит 500-800р. То есть итоговая стоимость сборки и производства соизмерима коммерческой стоимость Raspberry pi 3 model b.

Рисунок 12- Чертёж печатного узла

Рисунок 13- Чертеж готового устройства в корпусе

Глава 3. Программная часть

3.1 Машинное зрение, библиотека OpenCV

Алгоритмы машинного зрения применяются в случаях, когда необходима высокая точность и скорость реагирования на какой-либо триггер. Например, в автомобилях бортовой компьютер способен самостоятельно реагировать на внешние экстренные ситуации со скоростью, значительно превышающую скорость реакции человека; для распознавания номеров автомобилей также используется алгоритм машинного зрения на базе каскадов Хаара; для нахождения движущихся объектов на видео используется метод «удаление фона» - это два базовых метода анализа изображения/видео, которые будут рассмотрены ниже.

Для написания кода и его отладки использовалась библиотека OpenCV, язык программирования - Python.

Python - высокоуровневый язык программирования, отличающийся ориентированностью на минималистичный стильный для повышения читаемости кода и повышения эффективности разработчика. Данный язык был выбран за относительную простоту использования. Компилятор и интерпретатор уже предустановленны в операционной системе Rasbian .

OpenCV - библиотека алгоритмов компьютерного, предназначенная для упрощенной обработки изображения и численных алгоритмов с открытым кодом. Эта библиотека написана на языке С, но имеет интерфейсы для работы с языком Python версий 2.7 и 3 [11][7].

Основной алгоритм работы всех методов машинного зрения заключается в создании математической модели передаваемого изображения. Интерпретация бинарного кода в математическую модель уже предустановленна в основные функции библиотеки OpenCV. Существуют алгоритмы, для которых необходимо машинное обучения (каскады Хаара), есть алгоритмы, работающие только на математическом представлении предоставленного изображения («удаление фона»). Далее будут рассмотрены оба варианта для определения наиболее рационального метода машинного зрения и методы его реализации в текущем проекте.

3.2 Каскад Хаара

Каскад Хаара - метод обнаружения объектов на статичном изображении по средствам машинного обучения. Обучение происходит по средствам многократного повторения алгоритма на различных объектах с заранее известным результатом, например дается тысяча изображений, на которых есть искомый объект и тысяча изображений на котором его нет. Объект является обнаруженным если совпало определенное число признаков Хаара из каскада.

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

Рисунок 14- Признаки Хаара (пример)

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

Классификация изображения, то есть для выделения нужного объекта, происходит следующим образом: признаки Хаара поочередно «прикладываются» к областям изображения построчно. При полном прохождении изображения область изображения, а значит и признаки Хаара, уменьшаются в масштабе, и происходит повторный построчный поиск. При обнаружении совпадения выделенной области изображения с признаком - дальнейший поиск происходит без уменьшения масштаба. Граница, на которой область и признаки совпадают выделяется контуром (прямоугольная рамка).

Для классификации изображения необходимо нормализовать его. Нормализация - приведение изображение к стандартному виду, принятому для того или иного алгоритма машинного зрения. Для каскадов Хаара необходимо чтобы изображение было черно-белым, и сделать равным единице его среднеквадратичное отклонение.

Перевод изображения из текущей цветовой гаммы в черно-белую происходит по следующей формуле (для RGB):

(2)

где i[x; y] -- пиксель черно-белого изображения, а I--r[x; y], Ig[x; y] и Ib[x; y] соответствующие красная, синяя или зеленая компоненты изображения.

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

(3)

после находим среднеквадратичное отклонение по формуле, представленной ниже:

(4)

далее нормализуем среднеквадратичное отклонение по формуле (5), поделив значение каждого пикселя черно-белого изображения на значение, полученное в (4):

(5)

Действия (2-5) необходимо проделывать для каждого изображения, участвующего в машинном обучении. Изображение, которое необходимо классифицировать[8].

Каскад Хаара находит объекты только на статичных изображениях. Для анализа видео-потока необходимо классифицировать каждый кадр видео или подбирать коэффициенты для ускорения быстродействия программы. На мой взгляд данный метод будет сильно нагружать процессор и видео с USB-камеры, которое и так расходует слишком много вычислительной мощности из-за особенностей интерфейса передачи данных, будет иметь недопустимо большую задержку.

3.3 Метод «удаление фона»

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

Рассмотрим более детально алгоритм нахождения движущихся объектов. Функции, использованные для реализации данного алгоритма, в полной мере представлены в библиотеке OpenCV в открытом доступе.

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

new_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) (6)

Где:

cv2. - название библиотеки

cvtColor - функция конвертации, заменяющая действия (2) и (3) в алгоритме каскадов Хаара

img - исходное изображение

new_img - файл с соответствующим расширением, в который будет сохранен результат

COLOR_BGR2RGB - параметр, показывающий «направление» перевода

Из-за особенностей программного обеспечения, изображение с камеры приходит на обработку не в RGB, а в BGR формате.

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

Разберем каждый шаг в отдельности.

Наложение двух изображений для сравнения:

Как уже было описано ранее, при сравнении двух нормализованных изображений определяются точки, которые изменили свое направление. Создается так называемое «пятно». Точки, которые остались на прежнем месте помечаются значением 0, то есть все яркостные характеристики переводятся в нулевое положение (черный цвет). Таким образом удаляется статичный фон. Вот как это выглядит:

Рисунок 16- Удаление фона (пример)

Стоит отметить что данный метод имеет высокую чувствительность и обладает инертностью

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

Выделение не статичных объектов:

После того как мы нашли не статичные объекты, необходимо определить их координаты. Для этого воспользуемся функцией, представленной ниже:

cv.2findContours(gray,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) (7)

Где:

cv.2- название библиотеки

findContours - функция нахождения контура

gray - кадр

RETR_EXTERNAL - режим группироваки (выдаёт только крайние внешние контуры)

CHAIN_APPROX_SIMPLE) - склеивает все горизонтальные, вертикальные и диагональные контуры

Выбран именно режим группировки RETR_EXTERNAL для устранения вероятности «расщепления» объекта, то есть если в результате какого - либо сбоя внутри одного объекта будет найдет ещё один - метод группировки/создания контура выделит только один - внешний объект.

Ниже показано как это выглядит на практике:

Рисунок 17- Определение контура (пример)

Если объяснять в общих чертах, определение контура происходит по следующему «алгоритму»: находится нулевая/черная точка, которая предшествует точки «пятна», в данном случае цветной точке. Эта найденная точка помечается цветом для удобства восприятия, а её коордииаты записываются в кэш. Далее происходит построчный поиск подобных точек. После прохода всего изображения находятся граничные условия, то есть самая «нижняя» точка слева и самая «верхняя» точка справа. Далее выделенный в контур объект помещается в прямоугольник, построенный по граничным условиям.

Нахождение центра:

Для однозначного определения координат находим центр ранее выделенного в контур объекта. Для этого простыми математическими операциями, примяв координаты прямоугольника за входные данные, находим координаты центра геометрической фигуры. Выглядит это следующим образом:

Рисунок 18- Нахождение центра контура (пример)

Определение направления движения

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

Так как в электропоездах выходы находятся друг напротив друга, можно рассматривать движение объекта только по одной координатной оси, то есть вперед или назад. Также стоит учесть область кадра, после которой объект считается вышедшим из буферной зоны. Это нужно для сокращения скорости обработки/повышения быстродействия за счёт уменьшения информации.

Результат выполнения шагов 1-4 представлен на рис.17.

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

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

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

Заключение

Совершенно очевидным остается тот факт, что методы машинного зрения и алгоритмы его реализации применимы в большинстве сфер деятельности человека. Данная работа является подтверждением данного утверждения.

В рамках дипломной работы был разработан функционирующий учебный прототип. Алгоритм создания, характеристики, по которому были выбраны именно эти элементы, компоненты и модули, представлены выше.

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

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

Низким качеством составляющих компонентов

Скорость передачи видео-потока ниже необходимой для нормальной работы системы из-за использования USB-камеры вместо камеры с интерфейсом MIPI

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

Использование базовых алгоритмов и методов машинного зрения

Данная система имеет точность порядка 95% при соблюдении следующих условий:

Объект находится в кадре достаточно долго для определения его центра

Камера закреплена минимум на высоте 3-4 метра от уровня пола

Освещение постоянное/исходит от статичного источника

Список используемой литературы

Курсовая работа студента ФГБОУ ВО «СГУ им. Питирима Сорокина»; «Алгоритмы обнаружения автомобильного номера и исправление искажений перспективы»; p.30; 2016год

Predrag Dasic, Jovan Dasic. Improving patient safety in hospitals through usage of cloud supported video surveillance. Open Access Macedonian Journal of Medical Sciences. 2017 Apr 15; 5(2): pp.101-106.

Kowcika as, Sridhar Seshadri, A literature survey on crowd (people) counting with the help of surveillance videos. (IJITR) INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND RESEARCH, Volume No.3, Issue No.4, June - July 2015, pp. 2353 - 2361.

O. Masoud, N. Papanikolopoulos. Detection and Classification of Vehicles. Article in IEEE Transactions on Intelligent Transportation Systems · April 2002

J. Barandiaran. F. Boto. Real-Time People Counting Using Multiple Lines. Conference Paper · June 2008. WIAMIS.2008.27 · Source: IEEE Xplore

Jacques Mattheij, How I Built an AI to Sort 2 Tons of Lego Pieces. URL: https://spectrum.ieee.org/geek-life/hands-on/how-i-built-an-ai-to-sort-2-tons-of-lego-pieces.

OpenCV (Library description) Available at: https://opencv.org

Demant C., Waszkewitz P. Industrial Image Processing [Visual Quality Control in Manufacturing], Berlin, 1999. 368p

Duc T. Pham, Alcock R. J., Smart Inspection Systems [Techniques and Applications of Intelligent Vision], UK, 2003. 240p

Ptitsyn N. Professional video Analytics came to Russian retail. Journal of habr.com, 2006, Available at: https://habr.com/ru/company/synesis/blog/175357/ (Accessed 3 April 2013).

Bradski G, Kaehler A. Learning OpenCV [Computer Vision with the OpenCV Library]. California, 2008. p.580

Размещено на Allbest.ru

...

Подобные документы

  • Техническая характеристика конвейерного транспорта, разработка системы автоматического управления. Выбор силового электрооборудования. Построение структурной схемы регулирования тока, контура регулирования скорости. Синтез системы векторного управления.

    курсовая работа [842,6 K], добавлен 27.03.2013

  • Разработка структурной схемы автоматической системы управления на комплекте КР580. Характеристика общих принципов построения устройства. Расчет и выбор элементной базы. Микропроцессор и вспомогательные устройства. Организация ввода-вывода информации.

    курсовая работа [573,5 K], добавлен 02.04.2013

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

    дипломная работа [3,9 M], добавлен 16.06.2015

  • Анализ и описание работы электропривода и его взаимодействие с системой программного управления (ЭСПУ). Структурная и функциональная схемы ЭСПУ. Расчёт загруженности и среднего времени безотказной работы. Параметры двигателей, применяемых в станке.

    дипломная работа [2,8 M], добавлен 11.07.2016

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

    курсовая работа [3,3 M], добавлен 26.06.2016

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

    дипломная работа [1,6 M], добавлен 27.06.2014

  • Разработка радиопередатчика для радиовещания на ультракоротких волнах (УКВ) с частотной модуляцией (ЧМ). Подбор передатчика-прототипа. Расчет структурной схемы. Электрический расчет нагрузочной системы передатчика, режима предоконечного каскада на ЭВМ.

    курсовая работа [985,8 K], добавлен 12.10.2014

  • Порядок описания и разработки структурной и функциональной схемы микропроцессорной системы на основе микроконтроллера К1816ВЕ31. Обоснование выбора элементов, разработка принципиальной схемы данной системы, программы инициализации основных компонентов.

    курсовая работа [260,4 K], добавлен 16.12.2010

  • Анализ структурной схемы системы передачи информации. Помехоустойчивое кодирование сигнала импульсно-кодовой модуляции. Характеристики сигнала цифровой модуляции. Восстановление формы непрерывного сигнала посредством цифро-аналогового преобразования.

    курсовая работа [2,6 M], добавлен 14.11.2017

  • Обзор известных конструкций наружных камер. Выбор структурной схемы видеокамеры и фотоприёмного устройства. Определение оптических параметров системы. Выбор электродвигателя оптико-электронного прибора. Расчет кинематической схемы и зубчатого зацепления.

    курсовая работа [4,2 M], добавлен 02.10.2013

  • Разработка схемы стабилизации температурных режимов при производстве фторидных оптических волокон, схемы системы управления координатным столом. Принцип работы схемы системы управления стабилизации температуры. Выбор элементов схемы и технических средств.

    контрольная работа [2,4 M], добавлен 08.06.2009

  • Основные параметры широкополосных аналоговых сигналов, модели электронных ключей: электронные на диодах, биполярные, полевые транзисторы. Расчет входного и выходного усилителя и источника питания. Анализ структурной схемы блока электронной коммутации.

    дипломная работа [531,2 K], добавлен 14.11.2017

  • Анализ технического задания. Оценка достоверности цифровой информации в канале связи. Выбор типа структурной схемы радиоприёмника. Разработка функциональной схемы. Применение приборов с переносом заряда. Проектирование схемы информационного тракта.

    курсовая работа [2,0 M], добавлен 13.05.2009

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

    курсовая работа [393,0 K], добавлен 22.12.2010

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

    контрольная работа [275,4 K], добавлен 08.01.2014

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

    контрольная работа [178,4 K], добавлен 22.01.2015

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

    курсовая работа [179,7 K], добавлен 22.06.2011

  • Выбор электрической принципиальной, структурной и функциональной схемы источника питания. Расчёт помехоподавляющего фильтра. Моделирование схемы питания генератора импульсов. Выбор схемы сетевого выпрямителя. Расчёт стабилизатора первого канала.

    курсовая работа [1,0 M], добавлен 04.06.2013

  • В работе на базе PIC-контроллера реализуется цифровой секундомер. Выбор технических требований к устройству, к питанию. Разработка структурной схемы, принципиальной электрической схемы, алгоритма работы управляющей программы, управляющей программы.

    курсовая работа [427,1 K], добавлен 20.06.2008

  • Выбор и обоснование структурной схемы передатчика. Методы построения структурных схем одно-волоконных оптических систем передачи. Окончательный выбор структурной схемы передатчика. Мероприятия по охране труда.

    дипломная работа [210,0 K], добавлен 18.03.2005

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.