ОБНАРУЖЕНИЕ ОБЪЕКТОВ В ВИДЕОПОТОКЕ И ПОСТРОЕНИЕ ИХ ТРАЕКТОРИИ, АЛГОРИТМ ЦЕНТРОИДНОГО ОТСЛЕЖИВАНИЯ

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

ОБНАРУЖЕНИЕ ОБЪЕКТОВ В ВИДЕОПОТОКЕ И ПОСТРОЕНИЕ ИХ ТРАЕКТОРИИ, АЛГОРИТМ ЦЕНТРОИДНОГО ОТСЛЕЖИВАНИЯ

УДК 004.932

ГРНТИ: 28.23.15

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

Московский государственный технический университет им. Н.Э. Баумана

студент кафедры «Компьютерные системы и сети»

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

г. Москва, Россия

E-mail: orangealex25@gmail.com

Мильченко Мария Андреевна

Московский государственный технический университет им. Н.Э. Баумана

студент кафедры «Компьютерные системы и сети»

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

г. Москва, Россия

E-mail: milka-m95@mail.ru

Гришина Екатерина Алексеевна

Московский государственный технический университет им. Н.Э. Баумана

студент кафедры «Компьютерные системы и сети»

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

г. Москва, Россия

E-mail: kath.grish@gmail.com

АННОТАЦИЯ

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

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

 

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

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

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

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

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

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

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

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

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

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

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

https://habrastorage.org/webt/rd/0r/jl/rd0rjltrp96j3i_dyhuolbzhyig.png

Рисунок 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 – Обнаружение трех объектов

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

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

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

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

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

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

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

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

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

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

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

СПИСОК ЛИТЕРАТУРЫ:

  1. ГОСТ 7.32-2001. Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления.
  2. MobileNet: меньше, быстрее, точнее. [Электронный ресурс]. URL: https://habr.com/post/352804/ (дата обращения: 03.12.2018).
  3. Simple object tracking with OpenCV. [Электронный ресурс]. URL: https://www.pyimagesearch.com/2018/07/23/simple-object-tracking-with-opencv/ (дата обращения: 10.12.2018).

 

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *