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

АВТОНОМНОЕ ОПРЕДЕЛЕНИЕ МЕСТОПОЛОЖЕНИЯ МАЛОГАБАРИТНОГО БЕСПИЛОТНОГО ЛЕТАТЕЛЬНОГО АППАРАТА Текст научной статьи по специальности «Математика»

CC BY
439
111
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ КОМПЬЮТЕРНОГО ЗРЕНИЯ / ОРИЕНТАЦИЯ ОБЪЕКТА / МОДЕЛЬ КАМЕРЫ С ТОЧЕЧНОЙ ДИАФРАГМОЙ / ARUCO-МАРКЕРЫ / БПЛА / COMPUTER VISION SYSTEMS / OBJECT ORIENTATION / PINHOLE CAMERA MODEL / ARUCO MARKERS / UAV

Аннотация научной статьи по математике, автор научной работы — Нечепуренко Константин Юрьевич

В статье рассмотрен способ определения положения в пространстве малогабаритного беспилотного летательного аппарата с использованием алгоритма распознавания ArUco-маркеров компьютерным зрением.

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

A UTONOMOUS LOCALIZA TION OF THE UNMANNED AERIAL VEHICLE

The article discusses a method for determining the position in space of a small-sized unmanned aerial vehicle using the algorithm for recognizing ArUco markers by computer vision.

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

СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ

УДК 629.052.6

АВТОНОМНОЕ ОПРЕДЕЛЕНИЕ МЕСТОПОЛОЖЕНИЯ МАЛОГАБАРИТНОГО БЕСПИЛОТНОГО ЛЕТАТЕЛЬНОГО АППАРАТА

К.Ю. Нечепуренко

В статье рассмотрен способ определения положения в пространстве малогабаритного беспилотного летательного аппарата с использованием алгоритма распознавания Агисо-маркеров компьютерным зрением.

Ключевые слова: системы компьютерного зрения, ориентация объекта, модель камеры с точечной диафрагмой, Агисо-маркеры, БПЛА.

Важность развития технологий для беспилотных летательных аппаратов (БПЛА) переоценить невозможно. Задачи, которые ставятся перед БПЛА, обусловлены их многочисленными приложениями как в военной, так и в гражданской сферах.

В настоящее время в мире производится широкий ряд БПЛА, от тяжелых до сверхмалых [1], и создание надежных систем навигации этих аппаратов является важным направлением разработок. Существует много проблем, связанных с управлением и навигацией БПЛА. В частности, стабильность полета большинства из них существенно зависит от качества сигналов спутниковой связи GPS/ГЛОНАСС. Однако использование подобных технологий позиционирования может быть затруднено или вообще невозможно. Работа таких систем может быть нарушена в результате целенаправленного подавления либо из-за технических неполадок. Сигнал GPS/ГЛОНАСС может оказаться недоступным из-за рельефа местности или городских зданий, а также внутри помещений. Использование GPS/ГЛОНАСС может быть неприемлемым по причине секретности или недостаточной точности. Поэтому создание автономной системы позиционирования, которая позволила бы БПЛА меньше зависеть (или вообще отказаться) от спутниковой навигации, является актуальной, перспективной и важной научно-технической задачей.

Одним из подходов к решению данной задачи является создание системы определения положения и ориентации на основе компьютерного зрения.

Компьютерное зрение (иначе техническое зрение) — теория и технология создания машин, которые могут производить обнаружение, отслеживание и классификацию объектов.

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

Основными компонентами системы машинного зрения являются [2]:

Чувствительный элемент - датчики и сенсоры, для получения изображения;

Встроенный процессор или ПК для получения и обработки информации;

Программное обеспечение, для обработки изображений в соответствии с поставленной задачей;

Каналы связи для передачи полученных результатов;

232

Любые источники света.

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

КАМЕРА Преобразование данных

-^ е цифровой формат -5 Обработка изображения

Рис. 1. Принцип работы компьютерного зрения

В зависимости от выбора системы отсчёта выделяют два подхода для отслеживания положения:

Outside-in подход подразумевает присутствие неподвижного внешнего наблюдателя (камера), определяющего положение движущегося объекта по характерным точкам. Используется в OculusRift (Constrellation), PSVR, OSVR и множестве MotionCapture систем.

Inside-out подход предполагает наличие на движущемся объекте оптического сенсора, благодаря которому возможно отслеживать движение относительно неподвижных точек в окружающем пространстве. Используется в MicrosoftHololens, ProjectTango (SLAM), SteamVRLighthouse (гибридный вариант, т.к. есть базовые станции).

Также в зависимости от наличия специальных оптических маркеров выделяют отдельно:

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

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

Для обеспечения автономности летательного аппарата целесообразно размещать систему целиком на борту (т.е. использовать подход inside-out (см. выше). Трекинг без использования маркеров предполагает обработку большого массива данных, что требует наличия мощной вычислительной системы на борту. Таким образом, на сегодняшний день наибольший интерес представляет подход с использованием маркеров.

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

Наиболее распространённой библиотекой компьютерного зрения является OpenCV [3]. Основные типы маркеров в ней выглядят так (рис. 2).

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

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

GS _ (R + G+B) 3

1|)

Аг11со ЯеасТМвюп

Рис. 2. Основные типы маркеров с названиями

Бинаризация изображения. Бинаризация изображения - перевод в двухцветное состояние.

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

Определение замкнутых областей. На бинаризованом изображении необходимо определить замкнутые области на белом фоне. Это делают двумя способами:

последовательными операциями заливки белых областей и выделением замкнутых контуров (рис. 3, а)

сначала выделяются контуры, а затем выбираются из них замкнутые (рис. 3, б).

а б

Рис. 3. Выделение замкнутых областей на белом фоне: а - 1-й способ; б - 2-й способ

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

Выделение углов маркера. Выделив контур, его необходимо сопоставить с маркером. Может быть выделено много разных контуров на изображении, необходимо найти что-то «похожее» на четырехугольник.

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

Например, в ореиСУ есть функция арргохРо1уБР, которая реализует алгоритм Дугласа-Пекера. Если ее результат дополнительно обработать, то получится вполне подходящий результат.

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

Для наглядности рассмотрим работу алгоритма распознавания на примере конкретного изображения (рис. 4).

Рис. 4. Представление работы алгоритма распознавания маркера

Математическая модель камеры. Для ЗО-реконструкции объектов в библиотеке компьютерного зрения орепСУ используется так называемая модель камеры с точечной диафрагмой (рис. 5) [4]. В этой модели сцена формируется путем проецирования трехмерных точек на плоскость изображения с использованием преобразования перспективы.

Рис. 5. Графическое представление модели камеры с точечной диафрагмой

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

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

Уравнение перспективной проекции выглядит так:

где - фокусное расстояние, выраженное в пиксельных единицах.

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

—и = f- + с.

г

235

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

fx Sxf> fy где бх, 5у-коэффициенты формы пикселя.

Введем дополнительные обозначения:

! Х ! У

X =-; у =-.

г г

Тогда уравнения перспективной проекции запишутся:

и = /х * х' + сх; V = [у* у' + су Для удобства данные уравнения можно переписать в матричном виде:

q=-AQ,

где - координаты точки во внешней системе координат, q -координаты проекции точки, А - матрица проекции (или матрица внутренних параметров)

Реальные линзы обычно имеют некоторые искажения: в основном радиальные и тангенциальные (рис. 6). Тогда необходима коррекция:

+ 2р1х'у' + р2(г2 + 2х'2);

+ рг{гг + 2 у'2) + 2 р2х'у', у" + су\ къ ..., к6 - радиальные коэффици-

-X- -и- Г fx 0 Сх

Q = У ■>ч = V ;А = 0 fy Су

-Z- -1- -0 0 1-

У-У

, l+k1r2+k2r4+k3r6 1+fc4r2+fc5r4+fc6r6 , l+k1r2+k2r4+k3r6

где г2 = х'2 + у'2;

1+/с4г2+/с5г4 + /с6гб и = /х * X" + сх; V = [у

енты искажения, рг, р2 - тангенциальные коэффициенты искажения.

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

о 0Л = 1 + кгт2 + /с2г4;

Ч =

AQ.

Без искажения

радиальным искажением радиальным искажением

Рис. 6. Графическое представление изображений с искажениями ki = 0, ki > 0, ki < 0 соответственно

Коэффициенты искажения не зависят от просматриваемой сцены. Таким образом, они также относятся к внутренним параметрам камеры. И они остаются неизменными независимо от разрешения снятого изображения. Если, например, камера была от-калибрована на изображениях с разрешением 320 х 240, абсолютно одинаковые коэффициенты искажения могут быть использованы для изображений 640 х 480 с одной и той же камеры, в то время как fx, fy, сх и су необходимо соответствующим образом масштабировать.

Совмещенная матрица вращения-перемещения [R\t] называется матрицей внешних параметров. Она используется для описания движения камеры вокруг статической сцены и наоборот, движения объекта перед неподвижной камерой. То есть [R\t] переводит координаты точки (X, Y,Z) в систему координат, фиксированную относительно камеры. Преобразование выше эквивалентно следующему (когда z Ф 0)

+ Т.

-X- X'

У = R Y

-Z- -Z.

Вращение описывается углами Эйлера.

Углы Эйлера определяют три поворота системы, которые позволяют привести любое положение системы к текущему. Обозначим начальную систему координат как (х,у,г), конечную как (Х,¥,7). Пересечение координатных плоскостей ху и Х¥ называется линией узлов N (рис. 18).

Угол а между осью х и линией узлов - угол прецессии,

Угол Р между осями г и Z-yгoл нутации,

Угол у между осью X и линией узлов - угол собственного вращения.

z л

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

\ X

N

Рис. 7. Углы Эйлера

Углы Эйлера описывают последовательную комбинацию пассивных поворотов вокруг осей вращающейся системы координат. Матрицы этих поворотов имеют вид:

Rz(a) =

cos (а) sin(a) О

-sin(a) cos(a) О

=

О

cosQ?) sin(/?)

О

cos(/?) J

Rz(y) =

С08(/) — 5Ш(у) 5т(у) С05(у) - О О

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

Я{а,р,У) = Я2{а)ЯхЦЗ)Я2{у). Если начала двух систем координат смещены друг относительно друга, необходимо еще добавить смещение. Матрица смещения Т:

Т =

Lt3J

-X 0 0" -и- -х 0 0" \fx 0 'Гц П2 Чз h

0 л 0 AR(Q + T); V 1 z 0 л 0 0 fy Су r2i Г22 г23 t2

.0 0 1. 1 .0 0 1. 0 0 1J Г?Л г32 г33 t3

■х-

Y

Z

-1-

tlf 12, Хз - компоненты вектора смещения камеры относительно требуемой системы координат для координат X, У, 2 соответственно.

С учетом поворота и смещения получаем:

Ч =

Зная положение камеры и точки отсчета, можно нарисовать проекцию для 3D модели. В данном случае куба. Как видно, если использовать квадрат с чистым полем в качестве маркера, то он симметричен, и распознать вращение можно только лишь частично. Иногда этого достаточно. Если же нет — то можно внести внутрь квадрата дополнительный рисунок, он будет выглядеть, например, так (рис. 8).

Платформа для реализации. В качестве платформы для реализации оптико-электронной системы ориентации для малогабаритного ЛА выбран одноплатный микрокомпьютер Raspberry pi3B, сочетающий компактные размеры и достаточно мощное аппаратное обеспечение.

Критически-важным элементом разрабатываемой системы является видеокамера. Была выбрана ШЧСатега (С) - это камера с линзой и регулируемым фокусом для одноплатного компьютера ИаярЬеггуР!, имеющая широкий угол обзора и высокое разрешение матрицы.

Рис. 8. Маркер, позволяющий определить угол поворота

Разработка компьютерного алгоритма. На языке программирования Python с использованием библиотеки машинного зрения OpenCV написано программное обеспечение, позволяющее отслеживать положение камеры в системе координат, связанной с центром маркера.

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

Тогда получение координат камеры в глобальной (комнатной) СК сводится к двумерному повороту со сдвигом на координаты маркера.

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

Получим формулы для преобразования. Пусть на плоскости заданы две системы координат, имеющие общее начало О: система Оху (старая) и система ОХУ (новая), которая получена поворотом старой системы на угол а. Это значит, что угол (ОхлОХ)=(ОулОУ)=а (рис. 9).

ij \ 1 V ¥ \ * X

0 N

Рис. 9. Системы координат Оху (старая) и ОХУ (новая)

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

Тогда можно записать выражения:

х = гсо5(а + ф); у = Г51п(а + ср).

Используя тригонометрические тождества для косинуса и синуса суммы двух углов получаем:

х = г(со5(а)со5(ф) — 51п(а)51п(ф)); у = г(51п(а)со5(ф) + со5(а)51п(ф)).

Так как гсо5(ф) = X, Г51п(ф) = ^получаем: х = Хсо5(а) — ^51п(а); у = Хэ¿п(а) + ^со5(а).

Окно вывода программы представлено на рис. 10.

238

Рис. 10. Окно вывода программы (линиями обозначены координатные оси; Cameraposition — координаты камеры; СатегааШШйе — углы расположения камеры)

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

Результаты оценки статической точности

Результат работы программы Реальные изме рения Отклонение

№ изм. X, см Y, см Z, см X, см Y, см Z, см X, см Y^ Z, см

1 211 98 233 207 94 239 4 4 6

2 53 114 173 52 116 170 1 2 3

3 283 94 130 277 90 143 6 4 13

4 56 105 235 67 115 233 11 10 2

5 225 83 192 240 74 188 15 9 4

6 37 45 207 29 42 190 8 3 17

7 117 45 140 105 33 123 12 12 17

8 250 115 130 243 113 137 7 2 7

Другие параметры

В % соотн. СКО Х СКО У СКО Z Среднее арифметическое отклонение

4,5355 3,9551 6,1629 X, см Y, см Z, см

0,0294 0,0452 0,0342 8,00 5,75 8,625

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

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

Динамическая ошибка (рис. 13) будет складываться из нескольких составляющих: возникающая от задержки на обработку изображения (зависит от разрешения видеопотока, рис. 11) и возникающая от вычисления координат (зависит от числа маркеров в кадре, рис. 12).

Если допустить, что за время анализа изображения и вычисления координат ЛА движется равномерно и прямолинейно, то легко можно представить зависимость величины динамической ошибки от скорости движения.

Таким образом, максимальная скорость движения ла, при которой он не выйдет за пределы требований по точности приблизительно 0,5 м/с при разрешении 640 х 480 и 0,3 м/с при разрешении 960 х 720, что в условиях помещения является вполне приемлемым показателем.

Динамическая ошибка от алгоритма распознавания

Скорость, м/с

Рис. 11. Динамическая ошибка, возникающая вследствие задержки, вызванной выполнением алгоритма распознавания маркера

Динамическая ошибка от вычислений для различного числа маркеров

Рис. 12. Динамическая ошибка, возникающая вследствие задержки, вызванной пересчетом координат для каждого из маркеров

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

-960x720-1 -960x720-2 -960x720-3 -640x480-1 -640x480-2 -640x480-3

Скорость, м/с

Рис. 13. График возникающих в системе динамических ошибок при разных параметрах работы

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

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

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

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

1. Фимушкин В.С., Чуканов К.П. Беспилотные управляемые летательные аппараты. Справочноаналитический обзор. (БЛА - 2016). Тула: Издание АО «КБП», 2016.

2. Компьютерное зрение // Википедия. [2010—2019]. Дата обновления: 22.12.2019. [Электронный ресурс] URL: https://ru.wikipedia.org/?oldid= 104091078 (дата обращения: 22.12.2019).

3. Тechtrends // Машинное зрение. [Электронный ресурс] URL: http://www. techtrends.ru/techdept/techarticles/sistemy tehnicheskogo zreniya.php (дата обращения: 20.04.2017).

4. Bradski G., Kaehler A. Learning OpenCV. -GB. O'Reilly Media, 2008, 576 p. OpenCV // Camera Calibration and 3D Reconstruction [Электронный ресурс] URL: https://docs.opencv.org/2.4/ modules/ calib3d/doc/camera calibration and 3d reconstruction. html (дата обращения: 09.04.2020).

Нечепуренко Константин Юрьевич, аспирант, kod9 79 7@gmail. com, Россия, Тула, Тульский государственный университет

A UTONOMOUS LOCALIZA TION OF THE UNMANNED AERIAL VEHICLE

K.Y. Nechepurenko

The article discusses a method for determining the position in space of a small-sized unmanned aerial vehicle using the algorithm for recognizing ArUco markers by computer vision.

Key words: computer vision systems, object orientation, pinhole camera model, ArUco markers, UAV.

Nechepurenko Konstantin Yurievich, postgraduate, kod9 79 7@gmail. com, Russia, Tula, Tula State University

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