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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 05.08.2020
Размер файла 291,1 K

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

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

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

Московский государственный технический университет

им. Н.Э. Баумана

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

Забашта Александр Юрьевич

Классификация объекта -- номер или наименование класса, выдаваемый алгоритмом классификации в результате его применения к конкретному объекту.

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

Задача обнаружения объектов состоит в определении координат искомого объекта на изображении.

Архитектура MobileNet

MobileNet - передовая (на 2019 год) архитектура сверточной нейронной сети, позволяющая распознавать объекты на изображении с высокой точностью и низким потреблением ресурсов. Разработана компанией Google. Данная архитектура находится в открытом доступе, что делает возможным её использование в выпускной квалификационной работе. Проект поддерживается и активно развивается. В данный момент выпущена версия MobileNetV2.

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

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

сперва выполняется глубинная свертка 3Ч3;

затем следует потоковая свертка 1Ч1.

Данное решение позволяет уменьшить фактическое количество параметров в нейронной сети.

На рисунке 1 слева изображён блок обычной сверточной сети, а справа -- базовый блок MobileNet.

Рисунок 1 - Блок обычной сверточной сети и базовый блок MobileNet

Сверточная часть сети MobileNet состоит из одного обычного свёрточного слоя со свёрткой 3х3 в начале и тринадцати блоков, изображенных справа на рисунке, с постепенно увеличивающимся числом фильтров и понижающейся пространственной размерностью тензора. Особенностью данной архитектуры является отсутствие max pooling-слоёв. Вместо них для снижения пространственной размерности используется свёртка с параметром stride, равным 2. Двумя гиперпараметрами архитектуры MobileNet являются б (множитель ширины) и с (множитель глубины или множитель разрешения). Множитель ширины отвечает за количество каналов в каждом слое. Например, б=1 даёт нам архитектуру, описанную выше, а б=0.25 -- архитектуру с уменьшенным в четыре раза числом каналов на выходе каждого блока. Множитель разрешения отвечает за пространственные размеры входных тензоров. Например, с=0.5 означает, что высота и ширина feature map, подаваемой на вход каждому слою будет уменьшена вдвое. Оба параметра позволяют варьировать размеры сети. При уменьшении б и с снижается точность распознавания, но в то же время увеличивается скорость работы и уменьшается потребляемая память.

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

Для сравнения выбраны архитектуры Xception, VGG16, а также несколько вариаций MobileNet. Результаты сравнения приводятся в таблице 1.

Таблица 1 - Сравнение архитектур нейронных сетей для распознавания образов

Архитектура сети

Количество параметров

Top-1 accuracy

Xception

22.91M

0.790

VGG16

138.35M

0.715

MobileNetV1 (alpha=1, rho=1)

4.20M

0.709

MobileNetV1 (alpha=0.75, rho=0.85)

2.59M

0.672

MobileNetV1 (alpha=0.25, rho=0.57)

0.47M

0.415

MobileNetV2 (alpha=1.4, rho=1)

6.06M

0.750

MobileNetV2 (alpha=1, rho=1)

3.47M

0.718

MobileNetV2 (alpha=0.35, rho=0.43)

1.66M

0.455

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

Также, в литературе про MobileNetV2 демонстрируются интересные результаты на других задачах. В частности, авторы демонстрируют, что SSDLite-архитектура для задачи object detection, использующая MobileNetV2 в свёрточной части, превосходит известный детектор реального времени YOLOv2 по точности на датасете MS COCO, при этом показывая в 20 раз большую скорость и в 10 раз меньший размер (в частности, на смартфоне Google Pixel сеть MobileNetV2 позволяет делать object detection с 5 FPS). Важным преимуществом архитектуры MobileNet является простота его использования с помощью библиотек Keras и TensorFlow [2].

Траектория объекта в видеопотоке

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

Видеопоток -- это временная последовательность кадров определенного формата.

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

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

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

Частота дискретизации (или частота семплирования, англ. sample rate) -- частота взятия отсчётов непрерывного по времени сигнала при его дискретизации. В разрабатываемой системе обработки траекторий необходимо предусмотреть возможность установки различных частот дискретизации. Её установка зависит от свойств видеопотока, скорости наблюдаемых объектов. Устанавливаемая частота дискретизации кадров в видеопотоке должна обеспечивать непрерывность траектории, её требуемую точность. То есть, линия траектории не должна слишком сильно “сглаживаться”, так как это может привести к потерям существенных элементов траектории. Однако чрезмерно высокая частота дискретизации вызывает увеличение потребления ресурсов вычислительной системы и увеличивает нагрузку на компьютерную сеть передачи данных. Данные факторы негативно сказываются на скорости работы вычислительной системы.

Отслеживание объектов

Обнаружение и отслеживание объектов являются двумя разными процессами. При обнаружении объекта выполняется определение местоположения объекта в кадре. Детектор объекта, как правило, является более вычислительно дорогостоящим и, следовательно, более медленным, чем алгоритм отслеживания объектов. Примеры алгоритмов обнаружения объектов включают каскады Хаара, HOG + Linear SVM и детекторы на основе глубокого обучения, такие как Faster R-CNNs, YOLO и Single Shot Detectors (SSD).

Примеры алгоритмов отслеживания объектов включают MedianFlow, MOSSE, GOTURN, ядерные корреляционные фильтры, дискриминационные корреляционные фильтры и т.д.

Отслеживание объектов включает в себя следующее:

-- начальное обнаружение объектов (например, набор входных данных с координатами ограничивающих блоков);

-- создание уникального идентификатора для каждого первоначально обнаруженного объекта;

-- отслеживание каждого объекта при перемещении в кадре, с сохранением присвоенных им уникальных идентификаторов;

Отслеживание объектов имеет первостепенное значение для определения траектории объекта.

Требования к алгоритму отслеживания объектов

В рамках работы над выпускной квалификационной работой автора были выявлены следующие требования к алгоритму отслеживания объектов:

-- этап обнаружения объекта требуется только один раз (то есть, когда объект изначально обнаружен);

-- скорость работы должна быть выше, чем у детектора объекта;

-- возможность обработки, когда отслеживаемый объект «исчезает» или перемещается за пределы рамки видео;

-- устойчивость к окклюзии (сокрытие, перекрытие);

-- возможность возобновлять отслеживание объектов, которые были «потеряны» между кадрами.

Механизм создания траектории

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

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

-- определить, есть ли новые объекты в кадре;

-- определить, обнаружены ли объекты, которые были «потеряны» во время фазы отслеживания.

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

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

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

Алгоритм центроидного отслеживания

Алгоритм центроидного отслеживания реализован с помощью библиотеки OpenCV. Данный алгоритм отслеживания объектов называется центроидным отслеживанием, поскольку в нем используется евклидово расстояние между центроидами объектов в предыдущем кадре (т. е. объектов, которые были обнаружены ранее), и центроидами объектов, которые были обнаружены в текущем кадре.

Алгоритм отслеживания центроидов является многоступенчатым процессом и состоит из следующих шагов:

-- определение координат ограничительной рамки и вычисление центроидов; видеопоток программный центроидный траектория

-- вычисление евклидова расстояния между координатами новых центроидов и координатами центроидов, вычисленных ранее;

-- обновление координат существующих объектов;

-- регистрация новых объектов;

-- отмена регистрации вышедших из поля зрения объектов.

Определение координат ограничительной рамки и вычисление центроидов

Алгоритм отслеживания центроидов предполагает, что в каждом отдельном кадре получен набор ограничивающих прямоугольников для каждого обнаруженного объекта. Эти ограничивающие прямоугольники могут быть созданы любым типом детекторов объектов (очерчивание стыков контрастных цветов, каскады Хаара, метод опорных векторов, HOG, R-CNN и т. д.).

После получения координат прямоугольной рамки необходимо вычислить «центроид» или, проще говоря, координаты центра ограничивающего прямоугольника. На рисунке 2 показано установление ограничительной рамки и вычисление центра прямоугольника.

Рисунок 2 - Установление ограничительной рамки и вычисление центра прямоугольника

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

Вычисление евклидова расстояния между координатами новых центроидов и координатами центроидов, вычисленных ранее

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

На рисунке 3 показано, что в кадре обнаружено три объекта. Две пары, которые находятся близко друг к другу, представляют собой центроиды одного и того же объекта.

Рисунок 3 - Обнаружение трех объектов

Далее вычисляются евклидовы расстояния между каждой парой исходных центроидов (желтый) и новыми центроидами (фиолетовыми).

Обновление координат существующих объектов

Первичное предположение об алгоритме отслеживания центроидов заключается в том, что объект будет перемещаться между последующими кадрами, но расстояние между центроидами для кадров F(t) и F(t + 1) будет мало по сравнению с расстоянием между существующим объектом и вновь появившимся. На рисунке 4 можно увидеть, как алгоритм отслеживания центроидов ассоциирует друг с другом точки, которые имеют минимальные евклидовы расстояния.

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

Рисунок 4 - Ассоциация друг с другом точек с минимальными евклидовыми расстояниями

Следующим шагом является регистрация новых объектов.

Регистрация новых объектов

Рисунок 5 - Ассоциация друг с другом точек с минимальными евклидовыми расстояниями

На данном шаге объектам, которые не были сопоставлены с обнаруженными ранее, присваивается уникальный идентификатор, в данном случае ID = 3 (инкремент). Новый объект добавляется в список отслеживаемых объектов. Его координаты записываются в базу данных. Визуализация данного процесса показана на рисунке 5.

Отмена регистрации объектов

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

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

1. ГОСТ 7.32-2001. Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления.

Аннотация

В данной статье рассматриваются основные аспекты классификации и отслеживания объектов в видеопотоке, а также построения их траектории движения. Изложены требования, предъявляемые к алгоритму отслеживания объектов в видеопотоке в рамках разработки программного продукта. Рассмотрен алгоритм центроидного отслеживания, который планируется использовать в выпускной квалификационной работе по теме «Система обработки траектории объектов в видеопотоке» для воссоздания траектории движущегося объекта.

Ключевые слова: траектория, отслеживание, алгоритм, видеопоток

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

...

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

  • Обзор систем управления сайтом, регистрации и отслеживания ошибок. Создание проекта "Senet" в системе регистрации и отслеживания проблем Mantis. Расчет затрат на разработку и эксплуатацию программного обеспечения. Охрана труда и техника безопасности.

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

  • Обзор основных алгоритмов и методов распознавания лиц. Архитектура средств динамического отслеживания лиц в видеопоследовательности. Результаты тестирования на больших объемах видеоданных. Разработка алгоритмов и методов динамического отслеживания лиц.

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

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

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

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

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

  • Основные мероприятия при разработке информационной системы. Алгоритм операций при создании элементов СУБД АРМ "PlayerTracker". Технология работы и экранные формы системы. Планирование процесса разработки программы. Оценка эффективности капитальных затрат.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Простые системы для отслеживания заявок. Информационные потоки, возникающие на этапе поступления запроса для решения инцидента. Концептуальная и логическая модель данных. Разработка программного обеспечения по автоматизации процесса Службы Service Desk.

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

  • Мониторинг сервисов веб-приложения. Проблема отслеживания большого количества сервисов, поддерживающих работу веб-приложения, ее решение с помощью "Service discovery"-инструментов. Применение программного инструмента Consul как клиент-серверной системы.

    статья [184,4 K], добавлен 10.12.2016

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

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

  • Анализ GPS-навигаторов для животных. Использование плат и среды программирования Arduino для разработки ошейника с GPS-навигатором для отслеживания маршрута, проделанного животным, и уведомления об этом пользователя. Выбор модели микроконтроллера.

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

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

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

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

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

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