Сенсорные системы, 2020, T. 34, № 1, стр. 32-43

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

М. П. Абрамов 12*, О. С. Шипитько 1, А. С. Григорьев 1, Е. И. Ершов 1

1 Институт проблем передачи информации им. А.А. Харкевича РАН
127051 Москва, Большой Каретный переулок, д. 19, Россия

2 Московский физико-технический институт (национальный исследовательский университет)
141701 Московская обл., г. Долгопрудный, Институтский пер., д. 9, Россия

* E-mail: abramov@visillect.com

Поступила в редакцию 07.10.2019
После доработки 24.10.2019
Принята к публикации 06.11.2019

Полный текст (PDF)

Аннотация

В работе предлагается метод динамического определения углов тангажа и рыскания камеры, установленной на мобильном беспилотном аппарате (МБПА). Предложенный метод основывается на определении точки схода по единичному изображению при условии движения параллельно прямолинейным объектам (краям зданий, дорожной разметке), находящимся в поле видимости. В работе продемонстрировано, что средняя абсолютная ошибка определения углов поворота камеры для предложенного метода составляет 0.65°, что сопоставимо с современными методами динамической внешней калибровки. На основе данных, полученных с беспилотного автомобиля, использующего детекцию дорожной разметки для определения собственного положения, проведено дополнительное исследование применимости предложенного метода. Установлено, что при величине ошибки определения углов в 0.65° точность позиционирования падает на 0.01 м при длине маршрута порядка 70 м, что допустимо для большинства прикладных задач.

Ключевые слова: динамическая калибровка, калибровка внешних параметров камеры, точка схода, мобильные беспилотные аппараты, беспилотные транспортные средства

ВВЕДЕНИЕ

Видеокамера – распространенный в робототехнике тип сенсора. Визуальные данные позволяют решать широкий спектр задач: детектировать объекты на дороге (Godha, 2017) и в воздухе (Fasano et al., 2016), оценивать собственное положение (Абрамов и др., 2019; Kunina et al., 2018), производить одновременную локализацию и картографирование (Mur-Artal et al., 2015) и многие другие.

При решении этих задач возникает необходимость преобразования координат точки из системы координат, связанной с камерой, в систему координат, связанную с роботом, на котором установлена камера. Такое преобразование задается внешней калибровкой и состоит из вектора переноса и матрицы поворота. Калибровка камеры в контексте технического зрения – процесс определения геометрических и оптических характеристик (внутренние параметры) и описанного преобразования (внешние параметры) (Bell et al., 2016). Внутренние параметры описывают устройство камеры, поэтому их изменение маловероятно. Напротив, внешние параметры описывают положение камеры и могут изменяться со временем. В связи с особенностями крепления камеры на мобильном беспилотном аппарате (МБПА) возможен дрейф ее углов поворота, который со временем делает исходную матрицу поворота непригодной. Причиной такого дрейфа могут быть, например, вибрации или иные физические воздействия в процессе эксплуатации МБПА. Нескорректированный дрейф углов поворота камеры приводит к тому, что в процессе преобразования координат наблюдаемых объектов в систему координат, связанную с МБПА, координаты не совпадают с ожидаемыми. Этот эффект проиллюстрирован на примере наблюдаемой дорожной разметки на рис. 1.

Рис. 1.

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

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

В работе предлагается алгоритм динамической калибровки внешних параметров камеры на основе поиска точки схода. Метод определения точки схода основывается на быстром преобразовании Хафа (Nikolaev et al., 2008), применяемом на изображении с границами, выделенными детектором границ Канни (Canny, 1986). Углы поворота камеры определяются отклонением точки схода от принципиальной точки (Форсайт, Понс, 2004) на плоскости изображения. Таким образом, для корректного определения углов поворота направление движения МБПА должно быть параллельно прямым, образующим точку схода. Делается предположение о том, что в процессе эксплуатации МБПА всегда можно выделить участки траектории, соответствующие такому ограничению, а докалибровка может выполняться периодически. Предложенный метод может быть использован как для сцен внутри зданий, так и в уличных сценах. Алгоритм был протестирован на разных наборах данных, а также на мобильном роботе-макете легкового автомобиля. Кроме того, было проведено сравнение алгоритма поиска точки схода с рядом существующих алгоритмов.

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

Рис. 2.

Точка схода на изображении.

Из литературы известен ряд алгоритмов поиска точки схода. Большинство алгоритмов основывается на разных предположениях о наблюдаемой сцене. Например, подход, описанный в работе (Lezama et al., 2014), основан на предположении о манхэттенском мире, т.е. предполагается, что плоские поверхности в сцене параллельны одной из трех координатных плоскостей ортогональной системы координат. В такой модели существуют три точки схода. Авторы работы (Lezama et al., 2014) детектируют прямолинейные отрезки на изображении и проецируют их в прямое и обратное PClines-пространства, предложенные в работе (Dubsk et al., 2011). Такое пространство позволяет представить прямые на исходном изображении в виде точек. Полученные в PClines-пространствах точки позволяют определить искомые направления. Отрезки на исходном изображении, чьи образы лежат в одном направлении, используются для определения одной точки схода, таким образом определяются три искомые точки схода. Важно отметить, что предложенный авторами подход может быть применен и без предположения о манхэттенском мире, однако в таком случае делается предположение об известном положении линии горизонта на изображении.

В работе (Lu et al., 2017) также делается предположение о манхэттенском мире. В основе предлагаемого метода лежат эквивалентная сфера и ее проекция на плоскость изображения в виде полярной сетки – проекций параллелей и меридианов эквивалентной сферы. Эквивалентной сферой называется сфера единичного радиуса и центра в фокусе камеры. Для начала на исходном изображении выделяются прямолинейные отрезки при помощи LSD (Von Gioi et al., 2012). Далее перебираются все пары отрезков, для каждой пары вычисляется их точка пересечения, и в ячейку сетки, в которой находится данная точка, добавляется ее вес, зависящий от длины отрезков и угла между ними. Таким образом, полярная сетка становится таблицей поиска, где каждая ячейка отвечает за точки пересечения, попавшие в нее. Определение всех трех точек схода происходит последовательно. Сперва выбирается гипотеза для первой точки: на изображении случайным образом выбираются два прямолинейных отрезка и вычисляются координаты точки их пересечения. Однако выбранная пара отрезков может задавать ложную точку схода. В таком случае необходимо рассмотреть другую пару отрезков. Авторы (Lu et al., 2017) утверждают, чтобы определить точку схода с вероятностью 0.9999 необходимо рассмотреть 105 пар отрезков. Таким образом, получается 105 гипотез первой точки схода. Далее очередная первая точка схода проецируется на эквивалентную сферу в виде единичного вектора v1. Тогда вторая точка схода – единичный вектор v2, лежащий в диаметральной плоскости, ортогональной к v1. Направление вектора v2 задается одной из 360 гипотез, где каждая гипотеза – точка на соответствующей диаметральной окружности. Когда зафиксированы две точки схода, третья точка определяется, как векторное произведение первых двух точек: v3 = v1 × v2. Таким образом, все три точки схода ищутся путем перебора 105 × 360 = = 37 800 гипотез. Выбор наиболее вероятной гипотезы происходит при помощи полярной сетки. Для каждой из трех точек схода определяется их положение на полярной сетке. Тогда вес гипотезы – сумма весов трех ячеек, куда попали полученные точки схода.

Существуют работы, в которых не накладываются такие строгие ограничения на модель наблюдаемой сцены, например, в работе (Chaudhury et al., 2014) выполняется поиск только двух точек схода. При этом не используется предположение о манхэттенском мире. На изображении вычисляются эджлеты при помощи детектора углов Харриса (Harris et al., 1988). Эджлетом авторы называют следующую структуру: $E~ = ~\{ {\mathbf{x}},{\mathbf{d}},s\} $, где x – однородные координаты пикселя, d – направление в однородных координатах, а s – его вес. Прямая ${{{\mathbf{I}}}_{E}}$, проходящая через x в направлении d, называется прямой эджлета E. Для определения точки схода используется консенсус случайных выборок (Random Sample Consensus, RANSAC). На каждой итерации выбираются два эджлета ${{E}_{1}}$ и ${{E}_{2}}$, точка пересечения соответствующих им прямых образует гипотезу. Остальные эджлеты используются для взвешивания гипотезы (учитывается как их направленность, так и вес s). После того, как определена наилучшая гипотеза, точка схода оценивается при помощи взвешенного метода наименьших квадратов (МНК) по всем эджлетам, не являющимися выбросами. Эджлет является выбросом, если угол между его направлением d и направлением на текущую гипотезу из x превышает заданный порог. После того, как первая точка схода определена, образующие ее эджлеты удаляются, и аналогичным образом оценивается вторая точка схода.

Для тестирования предложенных в этой работе подходов использовались изображения, полученные с камеры, установленной на автомобиле, и соответственно содержащие дорожные сцены. Известно множество алгоритмов для поиска точки схода в дорожных сценах. Например, в работах (Rasmussen, 2004; Bui et al., 2013b) поиск точки схода определяется путем анализа текстуры дорожного полотна, что особенно актуально в случае неасфальтированных дорог и зимников. В работе (Rasmussen, 2004) для определения ориентации текстуры авторы используют фильтр Габора (Lee, 1996), тем самым получая для каждого пикселя p ориентацию ${\theta (}{\mathbf{p}}{\text{)}}$. После этого происходит процесс голосования: пиксель p голосует за кандидата-точку схода v, если модуль разности между ${\theta (}{\mathbf{p}}{\text{)\;}}$и направлением на кандидата ${\alpha (}{\mathbf{p}}{\text{,}}{\mathbf{v}}{\text{)}}$ не превосходит заданный порог. Авторы работы (Bui et al., 2013b) для определения ориентации текстуры используют метод на основе фильтра Габора, описанный в (Bui et al., 2013a). После определения ориентации выполняется фильтрация голосующих пикселей. Для каждого пикселя вычисляется доверительный уровень на основе значений фильтра Габора, и пиксели, чей уровень ниже порога, отбрасываются. Следующим шагом авторы оценивают гипотетическую точку схода при помощи преобразования Хафа (Wang et al., 2012) и отбрасывают все голосующие пиксели выше нее, так как образ дороги всегда расположен ниже точки схода. Если гипотетическая точка схода располагается довольно низко, то просто отбрасываются пиксели с верхней половины изображения. После этого выполняется повторное вычисление преобразования Хафа, а именно, для каждого голосующего пикселя строится регион голосования, т.е. набор пикселей-кандидатов, за который голосует тот или иной голосующий пиксель. Кандидат с самым большим значением голоса является искомой точкой схода.

При наличии видеопотока определение углов сбития камеры может трактоваться как задача визуальной одометрии, решению которой к настоящему моменту посвящено уже более тысячи работ. Одним из хрестоматийных представителей этой области является работа Д. Нистера (Nistér et al., 2004). В этом направлении стоит также выделить работу (Овчинкин, Ершов, 2018), где выполняется определение точки схода (полюса) эпиполярных линий при прямолинейном движении по паре изображений. Для определения полюса авторы используют аппарат особых точек, применяемый к двум последовательным изображениям прямолинейного участка движения. Полученные сопоставления фильтруются при помощи преобразования Хафа. Отфильтрованные сопоставления используются для оценки точки пересечения эпиполярных линий, которая и является искомой точкой схода в случае поступательного движения. Однако недостатком такого подхода является то, что для его работы необходимо два и более изображений, что кратно уменьшает область его применения.

Предлагаемый в данной работе алгоритм детектирует точку схода по единичному изображению. Кроме того, алгоритм ищет одну точку схода, не делая предположение о манхэттенском мире. В отличие от методов (Rasmussen, 2004; Bui et al., 2013b) поиска точки схода, в данной работе для выделения границ используется детектор границ Канни. На изображении с выделенными границами единожды применяется быстрое преобразование Хафа. Далее для детекции точки схода анализируются найденные на изображении отрезки, количество которых меньше, чем голосующих пикселей в указанных методах.

ДИНАМИЧЕСКОЕ ОПРЕДЕЛЕНИЕ УГЛОВ ПОВОРОТА КАМЕРЫ НА ОСНОВЕ ПОИСКА ТОЧКИ СХОДА

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

Рис. 3.

Алгоритм поиска точки схода.

Рис. 4.

Этапы алгоритма поиска точки схода: исходное изображение – оттенки серого – детектор краев Канни – фильтр Гаусса – хаф-образ – поиск прямых – вычисление координат точки схода.

На вход алгоритма подается изображение и область, в которой предположительно находится точка схода. На исходном изображении исправляется радиальная дисторсия и изображение преобразуется к оттенкам серого. На получившемся изображении детектируются края при помощи алгоритма Канни. Эта операция выполняется несколько раз с разными значениями ядра фильтра Гаусса (Stockman, Shapiro, 2001) ${{{\sigma }}_{{\text{C}}}}$ и пороговых значений градиента $t{{h}_{l}}$, $t{{h}_{u}}$ (Canny, 1986), после чего найденные края объединяются в одно изображение попиксельным сложением. Такой подход позволяет детектировать края на разных масштабах. На следующем шаге выполняется сглаживание изображения фильтром Гаусса с ядром σ, для компенсации ошибок детектора краев. Далее необходимо на сглаженном изображении с краями выделить прямые, пересекающиеся в точке схода. Для этого при помощи быстрого преобразования Хафа строится хаф-образ (Brady, 1998; Nikolaev et al., 2008). Ожидаемое положение точки схода и ее окрестности размера $p \times q$ задают область поиска на хаф-образе. Область поиска определяется следующим образом:

• формируется черно-белое изображение, где белым отмечена окрестность ожидаемой точки схода;

• к полученному изображению применяется быстрое преобразование Хафа;

• на полученном хаф-образе определяются координаты самого левого и самого правого пикселей с ненулевым значением;

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

Далее следует итерационный процесс выделения прямых. Итерации цикла состоят из следующих шагов:

• на хаф-образе выделяется глобальный максимум области поиска, и его окрестности размера $l \times r$ удаляются с образа (заменяются пикселями со значением 0);

• найденная точка максимума при обратной проекции к исходному изображению переходит в прямую;

• если найденная прямая отличается от вертикальной или горизонтальной менее, чем на α градусов, то прямая отбрасывается. Этот шаг позволяет уменьшить негативное влияние дополнительных объектов, находящихся в сцене (крыш машин, деревьев и тому подобных);

• иначе полученная прямая будет участвовать в определении координат точки схода.

После нахождения заданного числа N прямых выполняется вычисление координат точки схода. Для этого каждая прямая описывается уравнением вида $y = kx + b$. При переходе в пространство параметров прямых $(k,b)$ каждая прямая переходит в точку. При такой параметризации набор прямых, пересекающихся на исходном изображении, представлен набором точек, лежащих на одной прямой. Для определения параметров этой прямой воспользуемся методом Тейла-Сены (Wilcox, 2011). Метод основывается на выборе медианы среди наклонов прямых, построенных на всевозможных парах точек. После определения наклона $\hat {k}$ ищется свободный коэффициент $\hat {b}$ как медиана среди всех значений ${{\hat {b}}_{i}} = {{y}_{i}} - \hat {k}{{x}_{i}}$. Полученная прямая в пространстве параметров соответствует точке на исходном изображении. Эта точка и является искомой точкой схода.

Искомые углы тангажа и рыскания определяются по формулам

$~\psi = \frac{{u - {{u}_{0}}}}{{{{f}_{u}}}},\quad \theta = \frac{{v - {{v}_{0}}}}{{{{f}_{v}}}},$
где $(u,v)$ – координаты найденной точки схода, $({{u}_{0}},{{v}_{0}})$ – координаты принципиальной точки, ${{f}_{u}}$ и ${{f}_{v}}$ – фокусное расстояние по ширине и высоте. Значения ${{u}_{0}},\;{{v}_{0}},\;{{f}_{u}}$ и ${{f}_{v}}$ являются элементами матрицы параметров внутренней калибровки камеры.

ЭКСПЕРИМЕНТАЛЬНЫЕ РЕЗУЛЬТАТЫ

Предложенный метод поиска точки схода был протестирован на стационарном ПК с процессором Intel Core i7-860 с тактовой частотой 2.8 ГГц и 12 ГБ оперативной памяти. При реализации предложенного алгоритма параметры были инициализированы значениями, представленными в табл. 1. Значимость ошибок в координатах найденной точки схода тестировалась при помощи системы локализации (Абрамов и др., 2019) на роботе-макете легкового автомобиля. Робот-макет оснащен системой бортовых датчиков движения и датчиком скорости рыскания. Датчиками движения являются энкодеры, которые позволяют оценивать мгновенную скорость робота. Датчик скорости измеряет угол поворота робота. Визуальные сенсоры представлены двумя монокулярными камерами с широкоугольными объективами (с углом обзора 90° × 70°). Камеры установлены на высоте 0.4 м над уровнем земли под углом 22° к горизонтали. Вычислительная составляющая представлена компактным встраиваемым компьютером серии e-Box с 4-ядерным процессором, тактовой частотой процессора 2.3 ГГц и 8 ГБ оперативной памяти.

Таблица 1.

Значения параметров алгоритма поиска точки схода

Параметр Значение
σС 5, 10 пикс
thl 0.01, 0.01
thu 0.15, 0.08
σ 2 пикс
p × q 16 × 32 пикс
l × r 64 × 40 пикс
α

СРАВНЕНИЕ КАЧЕСТВА ОЦЕНКИ ТОЧКИ СХОДА

Для проведения эксперимента использована часть набора данных, описанного в работе (Borji, 2016). Было отобрано 1003 изображения прямолинейных участков многополосной автодороги. Изображения получены в дневное время суток в ясную погоду. Размер каждого изображения 300 × × 300 пикселей. На рис. 5 представлены примеры из этого набора данных. Для сравнения были протестированы шесть алгоритмов, включая предложенный в данной работе, для краткости данные алгоритмы будем обозначать фамилиями первых авторов работ, в которых они предложены:

Рис. 5.

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

• Буи (Bui et al., 2013b),

• Чаудхури (Chaudhury et al., 2014),

• Лезама (Lezama et al., 2014),

• Лу (Lu et al., 2017),

• Расмуссен (Rasmussen, 2004),

БПХ – предложенный в данной работе метод.

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

$E(u,v) = \sqrt {{{{({{u}_{t}} - u)}}^{2}} + {{{({{v}_{t}} - v)}}^{2}}} ,$
где $(u,v)$ – координаты найденной точки схода, $({{u}_{t}},{{v}_{t}})$ – координаты истинной точки схода.

Ошибки алгоритмов на данном наборе данных представлены в виде гистограмм на рис. 6. Алгоритмы сравнивались по среднему арифметическому, медиане и среднеквадратичному отклонению (СКО) ошибок. Сравнение качества алгоритмов представлено в табл. 2. Кроме того, для предложенного алгоритма было замерено время работы на тестовом наборе данных. Среднее время обработки одного изображения размера 300 × × 300 пикселей составило 0.18 с.

Рис. 6.

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

Таблица 2.

Сравнение качества алгоритмов поиска точки схода на наборе данных из работы (Borji, 2016)

Метод Среднее арифмети-ческое, пикс Медиана, пикс СКО, пикс
Буи 36.65 36.59 5.80
Чаудхури 37.09 7.45 241.44
Лезама 18.88 5.34 263.71
Лу 53.90 13.75 73.90
Расмуссен 6.32 6.00 4.17
БПХ 6.98 6.26 4.24

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

СРАВНЕНИЕ КАЧЕСТВА ОЦЕНКИ УГЛОВ ПОВОРОТА КАМЕРЫ

Для более подробного сравнения качества алгоритмов был проведен эксперимент по определению точности оценки углов поворота камеры. В связи с отсутствием информации о параметрах внутренней калибровки камеры при использовании набора данных из работы (Borji, 2016) был использован другой набор данных, для которого известны параметры калибровки. Для теста были использованы отснятые нами изображения. Данные представлены 2140 изображениями прямолинейных участков автодороги (рис. 7). Эти данные получены из 428 исходных изображений путем виртуального поворота камеры на углы тангажа и рыскания, по модулю не превышающие 25°. Исходные изображения были получены в дневное и вечернее время суток, в зимнее время года. Размер изображений в наборе – 800 × 500 пикселей. Ошибка алгоритма для каждого из углов вычислялась в градусах и определялась по формуле

$E({\mathbf{p}})~ = ~\arccos \frac{{{\mathbf{p}} \cdot {{{\mathbf{p}}}_{t}}}}{{{\text{|}}{\mathbf{p}}{\text{|}}\,{\text{|}}{{{\mathbf{p}}}_{t}}{\text{|}}}},$
где p – луч, соответствующий найденной точке схода, ${{{\mathbf{p}}}_{t}}$ – луч, соответствующий истинной точке схода. Для сравнения алгоритмов считались среднее арифметическое, медиана и среднеквадратичное отклонение ошибок.

Рис. 7.

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

На рис. 8 представлена гистограмма ошибок, а в табл. 3 значения среднего арифметического, медианы и среднеквадратичного отклонения распределения ошибок.

Рис. 8.

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

Таблица 3.

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

Метод Среднее арифметическое, ° Медиана, ° СКО, °
БПХ 0.65 0.42 0.78
Расмуссен 0.97 0.57 1.04

В результате этого эксперимента предложенный в данной работе метод показывает более высокое качество, чем метод Расмуссена. Однако и в этом случае разница в качестве небольшая. Для определения значимости полученных ошибок необходимо определить, насколько они существенны при решении конкретной задачи. Тем не менее с использованием полученных оценок точности можно оценить степень их влияния на точность визуальной системы локализации. Для примера было рассмотрено влияние ошибок на метод локализации мобильной робототехнической платформы, описанный в работе (Абрамов и др., 2019).

ТЕСТИРОВАНИЕ СИСТЕМЫ ЛОКАЛИЗАЦИИ

Методология эксперимента соответствует той, что описана в работе (Абрамов и др., 2019). Длина маршрута составила порядка 70 м. Точность локализации измерялась как для калибровки с правильными углами поворота, так и с ошибочными. Для сравнения использовался средний модуль ошибки. В табл. 4 представлены численные результаты при разной величине ошибки двух углов поворота камеры.

Таблица 4.

Точность системы локализации (по углу θ и евклидовому расстоянию L2) при калибровке с разной величиной ошибки

Ошибка углов поворота, тангаж / рыскание Средний модуль ошибки
θ, ° L2, м
–1 / 0 4.95 0.25
0 / –1 4.90 0.24
0 / 0 4.94 0.25
1 / 0 4.97 0.25
0 / 1 4.99 0.25

Из таблицы видно, что ошибка локализации изменяется незначительно при ошибке в 1° по обоим углам. Однако из рис. 9 видно, что уже при ошибке значений углов в 2° качество системы локализации начинает значительно снижаться. Исходя из этого можно сделать вывод, что алгоритм Расмуссена, который имеет более высокое значение среднеквадратического отклонения, будет работать хуже в задаче локализации.

Рис. 9.

Зависимость среднего модуля ошибки определения угла (на верхних графиках) и определения расстояния (на нижних) от отклонения углов поворота камеры от эталонных.

Отметим, что минимум ошибки локализации не достигается при корректной калибровке, при которой ошибка углов поворота тангажа и рыскания составляет 0°. Такой эффект может быть объяснен тем, что в качестве эталона при вычислении ошибок углов тангажа и рысканья принимается лабораторная калибровка, которая в свою очередь может иметь погрешность. Кроме того, такое влияние может оказывать специфика тестируемого метода оценки собственного положения из работы (Абрамов и др., 2019).

ЗАКЛЮЧЕНИЕ

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

Детекция прямолинейных отрезков на изображении выполняется путем применения преобразования Хафа к результатам работы детектора краев Канни. Вычисление координат точки схода выполняется при помощи перехода в пространство параметров прямых ${\text{(k,\;b)}}$ и применения метода Тейла-Сены. Для получения искомых углов поворота камеры положение точки схода сравнивается с положением принципиальной точки с учетом фокусного расстояния, которые известны из внутренней калибровки камеры.

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

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

Исследование выполнено при частичной финансовой поддержке РФФИ в рамках научного проекта № 17-29-03514.

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

  1. Абрамов М.П., Шипитько О.С., Лукоянов А.С., Панфилова Е.И., Кунина И.А., Григорьев А.С. Система позиционирования внутри зданий мобильной робототехнической платформы на основе детекции краев. Сенсорные системы. 2019. Т. 33. № 1. С. 30–43. https://doi.org/10.1134/S0235009219010025

  2. Овчинкин А.А., Ершов Е.И. Алгоритм определения положения пучка эпиполярных линий для случая прямолинейного движения камеры. Сенсорные системы. 2018. Т. 32. № 1. С. 42–49. https://doi.org/10.7868/S0235009218010079

  3. Форсайт Д., Понс Ж. Камеры-обскуры. Компьютерное зрение. Современный подход. ИД Вильямс М.: 2004. С. 40–44.

  4. Bell T., Xu J., Zhang S. Method for out-of-focus camera calibration. Applied optics. 2016. V. 55 (9). P. 2346–2352. https://doi.org/10.1364/AO.55.002346

  5. Borji A. Vanishing point detection with convolutional neural networks. arXiv preprint arXiv:1609.00967. 2016.

  6. Brady M.L. A fast discrete approximation algorithm for the radon transform. SIAM Journal on Computing. 1998. V. 27 (1). P. 107–119. https://doi.org/10.1137/S0097539793256673

  7. Bui T.H., Nobuyama E., Saitoh T. A texture-based local soft voting method for vanishing point detection from a single road image. IEICE TRANSACTIONS on Information and Systems. 2013a. V. 96 (3). P. 690–698. https://doi.org/10.1587/transinf.E96.D.690

  8. Bui T.H., Saitoh T., Nobuyama E. Road area detection based on texture orientations estimation and vanishing point detection. The SICE Annual Conference 2013. Nagoya. IEEE. 2013b. P. 1138–1143.

  9. Canny J. A computational approach to edge detection. IEEE Transactions on pattern analysis and machine intelligence. 1986. V. PAMI-8 (6). P. 679–698. https://doi.org/10.1109/TPAMI.1986.4767851

  10. Chaudhury K., DiVerdi S., Ioffe S. Auto-rectification of user photos. In 2014 IEEE International Conference on Image Processing (ICIP). Paris. IEEE. 2014. P. 3479–3483. https://doi.org/10.1109/ICIP.2014.7025706

  11. Dubská M., Herout A., Havel J. PClines–line detection using parallel coordinates. In CVPR 2011. Colorado Springs. IEEE. 2011. P. 1489–1494. https://doi.org/10.1109/CVPR.2011.5995501

  12. Fasano G., Accardo D., Tirri A.E., Moccia A., De Lellis E. Sky region obstacle detection and tracking for vision-based uas sense and avoid. Journal of Intelligent & Robotic Systems. 2016. V. 84 (1–4). P. 121–144. https://doi.org/10.1007/s10846-015-0285-0

  13. Godha S. On-road obstacle detection system for driver assistance. Asia Pacific Journal of Engineering Science and Technology. 2017. V. 3 (1). P. 16–21.

  14. Harris C.G., Stephens M. A combined corner and edge detector. Alvey vision conference. 1988. V. 15. P. 10–52.

  15. Kunina I.A., Teplyakov L.M., Gladkov A.P., Khanipov T.M., Nikolaev D.P. Aerial images visual localization on a vector map using color-texture segmentation. Tenth International Conference on Machine Vision (ICMV 2017). Viena. International Society for Optics and Photonics. 2018. V. 10696. P. 106961T. https://doi.org/10.1117/12.2310138.

  16. Lee T.S. Image representation using 2d gabor wavelets. IEEE Transactions on pattern analysis and machine intelligence. 1996. V. 18 (10). P. 959–971. https://doi.org/10.1109/34.541406

  17. Lezama J., Grompone von Gioi R., Randall G., Morel J.-M. Finding vanishing points via point alignments in image primal and dual domains. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014. P. 509–515.

  18. Lu X., Yaoy J., Li H., Liu Y. 2-line exhaustive searching for real-time vanishing point estimation in manhattan world. Winter Conference on Applications of Computer Vision (WACV). Santa Rosa. IEEE. 2017. P. 345–353. https://doi.org/10.1109/WACV.2017.45.

  19. Mur-Artal R., Montiel J.M.M., Tardos J.D. Orb-slam: a versatile and accurate monocular slam system. IEEE transactions on robotics. 2015. V. 31 (5). P. 1147–1163. https://doi.org/10.1109/TRO.2015.2463671

  20. Nikolaev D.P., Karpenko S.M., Nikolaev I.P., Nikolayev P.P. Hough transform: underestimated tool in the computer vision field. Proceedings of the 22th European Conference on Modelling and Simulation. 2008. V. 238. P. 246.

  21. Nistér D., Naroditsky O., Bergen J. Visual odometry. Proceedings IEEE Computer Society Conference on Computer Vision and Pattern Recognition. 2004. Washington. IEEE, 2004. V. 1. P. 1–10. https://doi.org/10.1109/CVPR.2004.1315094.

  22. Rasmussen C. Grouping dominant orientations for ill-structured road following. Proceedings IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2004. Washington. IEEE, 2004. V. 1. P. 1–9. https://doi.org/10.1109/CVPR.2004.1315069.

  23. Stockman G., Shapiro L.G. Computer Vision. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2001. 196 p.

  24. Von Gioi R.G., Jakubowicz J., Morel J.-M., Randall G. Lsd: a line segment detector. Image Processing On Line. 2012. V. 2. P. 35–55. https://doi.org/10.5201/ipol.2012.gjmr-lsd

  25. Wang Y., Dahnoun N., Achim A. A novel system for robust lane detection and tracking. Signal Processing. 2012. V. 92 (2). P. 319–334. https://doi.org/10.1016/j.sigpro.2011.07.019

  26. Wilcox R.R. Introduction to robust estimation and hypothesis testing. Academic press. 2011. 690 p.

Дополнительные материалы отсутствуют.