Научная статья на тему 'ФИКСАЦИЯ И ВИЗУАЛИЗАЦИЯ ТРАЕКТОРИИ ДВИЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ ОПТИЧЕСКОГО ПОТОКА И ГИРОСКОПА'

ФИКСАЦИЯ И ВИЗУАЛИЗАЦИЯ ТРАЕКТОРИИ ДВИЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ ОПТИЧЕСКОГО ПОТОКА И ГИРОСКОПА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
27
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
траектория движения / оптический поток / IMU / метод Лукаса–Канаде / motion trajectory / optical flow / IMU / Lucas–Kanade method

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — М.В. Калашник

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FIXATION AND VISUALIZATION OF THE MOTION TRAJECTORY USING OPTICAL FLOWAND GYROSCOPE METHODS

The results of the implementation of a method for fixing and visualizing the trajectory of an object using an inertial measurement device to determine angular deviations and optical flow algorithms for analyzing video sequences are presented. Software has been created using the high-level programming language Python in the form of a console application that analyzes video footage and data from the gyroscope, integrates this data and visualizes the geometric display of the path traveled; a Serial interface has been implemented with the Arduino microcontroller used to obtain data from an inertial measuring device.

Текст научной работы на тему «ФИКСАЦИЯ И ВИЗУАЛИЗАЦИЯ ТРАЕКТОРИИ ДВИЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ ОПТИЧЕСКОГО ПОТОКА И ГИРОСКОПА»

Математические структуры и моделирование 2023. №3 (67). С. 88-93

УДК 004.92 DOI 10.24147/2222-8772.2023.3.88-93

ФИКСАЦИЯ И ВИЗУАЛИЗАЦИЯ ТРАЕКТОРИИ ДВИЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ ОПТИЧЕСКОГО ПОТОКА И ГИРОСКОПА

М.В. Калашник

аспирант, e-mail: kalashnikmaxik@gmail.com

Омский государственный университет им. Ф.М. Достоевского, Омск, Россия

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

Ключевые слова: траектория движения, оптический поток, IMU, метод Лукаса-Канаде.

1. Введение

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

Беспилотные аппараты имеют несколько режимов работы: управление оператором, удалённо направляющим команды управления на устройство; автоматическое управление, выполняемое бортовой системой автономно; смешанный тип, в котором оператор вносит курсовые корректировки на протяжении всего передвижения.

Беспилотным транспортным средствам (и операторам) необходимо понимание текущего положения в пространстве и пройденного пути. Наиболее подходящими средствами для получения информации о местоположении являются вРБ/ГЛОНАСС - навигационная система, позволяющая получать географические координаты с точностью до нескольких метров, а также ЬГОАЯ - технология измерения расстояния посредством замера скоростью возврата отражённого пучка

Математические структуры и моделирование. 2023. № 3 (67)

89

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

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

2. Материалы и методы

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

Ещё один способ отслеживания движения на видеопотоке - отслеживание изменений расположения пикселей на двух соседних кадрах, именуемый Optical Flow (оптический поток) [1,2]. Последовательность кадров позволяет оценивать движение как дискретное смещение. Методы оптического потока производят вычисления движения между двумя соседними кадрами в момент времени t и t + ót в каждом пикселе.

Одним из наиболее популярных методов является метод Лукаса-Канаде, который опирается на допущение, что значения пикселей переходят покадрово без изменений, и пиксели, принадлежащие определённому объекту, смещаются в каком-либо направлении, но их значения не изменяются.

Алгоритму метода Лукаса-Канаде необходимо задать начальные точки, выбранные на изображении в качестве ключевых, для дальнейшего мониторинга их смещения в координатной плоскости изображения. Для этого используется метод из библиотеки OpenCV-Python [3] goodFeaturesToTrack(). Данный метод выделяет на изображении сильные углы с помощью детектора углов Ши-Томаси или Харриса, за которыми в дальнейшем будет производиться наблюдение. Для вычисления оптического потока методом Лукаса-Канаде используется функция calcOpticalFlowPyrLK() из библиотеки OpenCV-Python [3].

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

Для получения общего вектора направления движения устройства, с которого фиксируется видеопоток, используется подход ROI (Region Of Interest). Изображе-

90 М.В. Калашник. Фиксация и визуализация траектории движения...

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

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

В данной работе метод оптического потока Лукаса-Канаде используется для получения данных о совершении движения. Метод не используется для получения угловых отклонений, поскольку при смене курса затруднительно получить достаточное для анализа количество кадров. При низкой частоте кадров в видеопотоке за одну смену направления может смениться лишь несколько кадров. Для получения данных об изменении направления движения в работе используется IMU (Inertial Measurement Unit) - датчик гироскопа, фиксирующий изменение углов ориентации тела относительно инерциальной системы отсчёта.

Гироскоп представлен датчиком MPU6050, управляемым микроконтроллером Arduino, который подключён serial-соединением с персональным компьютером либо подключён к микрокомпьютеру типа OrangePi (RaspberryPi). Для коммуникации с Arduino написан интерфейс взаимодействия на языке программирования Python.

Получаемые с гироскопа данные нормализуются с помощью фильтра Калмана [4]. Угловые отклонения, сильно выбивающиеся из последовательности предыдущих замеров, усредняются в соответствии с предшествующими значениями. Таким образом удаётся избежать сильных колебательных моментов, избавиться от «за-шумления» данных и сгладить график угловых отклонений. В табл. 1 представлены исходные данные, на рис. 1. - графики исходных и отфильтрованных данных1.

3. Результаты и их обсуждение

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

Для снижения нагрузки на вычислительное устройство изображение переводится в "grayscale" и разрешение снижается до приемлемых 360 х 240 пикселей.

1 Цветные иллюстрации доступны на сайте журнала http://msm.omsu.ru/RU/jrn67.html

Математические структуры и моделирование. 2023. № 3 (67)

91

Таблица 1. Фильтрация погрешностей гироскопа

Номер измерения Начальное значение, град Конечное значение, град ёека, град Погрешность, % ёека, град Погрешность, %

1 126.61 19.39 107.22 0.19 107.22 0.19

2 125.87 25.40 100.47 0.12 106.13 0.18

3 132.49 24.70 107.79 0.20 106.47 0.18

4 111.16 3.94 107.22 0.19 106.65 0.19

5 114.55 3.68 110.87 0.23 107.71 0.20

6 105.67 -1.18 106.85 0.19 107.48 0.19

7 114.96 -2.69 117.65 0.31 110.17 0.22

8 113.13 2.57 110.56 0.23 110.27 0.23

9 105.66 -13.05 118.71 0.32 112.54 0.25

10 91.48 -24.94 116.42 0.29 113.58 0.26

11 98.95 -29.53 128.48 0.43 117.60 0.31

12 99.42 -11.80 111.22 0.24 115.88 0.29

Рис. 1. График чистых значений с гироскопа (красный) и график отфильтрованных значений

(зелёный)

92

М.В. Калашник. Фиксация и визуализация траектории движения..

Рис. 2. Визуализация траектории движения

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

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

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

4. Заключение

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

Математические структуры и моделирование. 2023. № 3 (67)

93

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

Литература

1. Optical Flow Estimation // Department of Computer Science. University of Toronto. URL: https://www.cs.toronto.edu/pub/jepson/teaching/vision/2503/opticalFlow. pdf (дата обращения: 14.03.2023).

2. OpticalFlowinOpenCV(C++/Python)//LearnOpenC.URL:https://learnopencv.com/ optical-flow-in-opencv/ (дата обращения: 14.05.2023).

3. Docs OpenCV. URL: https://docs.opencv.org/ (дата обращения: 17.03.2023).

4. Лемешко О.В. Фильтр Калмана. Теоретические основы и практическое применение // Вестник магистратуры. 2014. № 6-1 (33). С. 5-8.

FIXATION AND VISUALIZATION OF THE MOTION TRAJECTORY USING OPTICAL FLOW AND GYROSCOPE METHODS

M.V. Kalashnik

Postgraduate Student, e-mail: kalashnikmaxik@gmail.com

Dostoevsky Omsk State University, Omsk, Russia

Abstract. The results of the implementation of a method for fixing and visualizing the trajectory of an object using an inertial measurement device to determine angular deviations and optical flow algorithms for analyzing video sequences are presented. Software has been created using the high-level programming language Python in the form of a console application that analyzes video footage and data from the gyroscope, integrates this data and visualizes the geometric display of the path traveled; a Serial interface has been implemented with the Arduino microcontroller used to obtain data from an inertial measuring device.

Keywords: motion trajectory, optical flow, IMU, Lucas-Kanade method.

Дата поступления в редакцию: 02.07.2023

i Надоели баннеры? Вы всегда можете отключить рекламу.