Построение модели проходимости окружающей среды по облаку точек стереокамеры с использованием иерархической карты высот
И.О.Шепель
АО «Научно-конструкторское бюро вычислительных систем», Таганрог
Аннотация: Приведен дополненный алгоритм построения иерархической карты высот для систем технического зрения, использующих стереокамеры как основной датчик. Рассмотрены основные виды препятствий для роботизированной платформы и критерии их обнаружения и классификации. Разработан критерий для разбиения ячеек по оценке их заполненности и критерий определения препятствий по перепаду высот. Показаны преимущества карты с изменяемым размером ячеек перед постоянным размером на модельных данных, а также результаты работы базового и дополненного алгоритма на реальных данных.
Ключевые слова: модель проходимости, карта высот, 2.5D карта, обнаружение препятствий, облако точек, стереозрение, метод главных компонент.
Введение
Развитие вычислительной техники, а также алгоритмической базы сделало возможным применение автономных подвижных роботизированных платформ (РП) как для воздушного транспорта [1, 2], так и для наземных систем [3], в частности беспилотных автомобилей. Одним из наиболее важных направлений исследований в таких системах является выделение препятствий и проходимой поверхности.
В статье рассматривается задача построения модели проходимости (МП) по массиву трёхмерных точек (облаку точек), полученному со стереокамеры, установленной на РП. Модель проходимости представляет собой условное описание участков окружающего пространства с разделением этих участков на свободные для перемещения РП и на препятствия. Трехмерные точки, полученные от дальнометрического датчика, разбиваются по таким участкам, каждый из которых затем классифицируется.
Существует несколько наиболее распространенных подходов построения МП: на основе двумерных, трехмерных карт, а также 2.5D карт или цифровых карт высот (англ. digital elevation map) [4]. Двумерные карты
хранят только среднюю высоту точек в ячейке, поэтому не могут различать наклонную проходимую поверхность и вертикальное препятствие. Трехмерные карты наиболее полно описывают окружающее пространство, но требуют больших вычислительных затрат, поэтому не используются для решения задач на борту [5]. Компромиссом между вычислительной сложностью и точностью описания являются 2.5Б карты. Каждая ячейка такой карты характеризуется набором параметров, таких как среднее значение высоты, среднеквадратическое отклонение по высоте, собственные числа и вектора распределения измерений в ячейке. На основе этих параметров принимается решение о проходимости ячейки, но для более точного анализа эти параметры могут быть дополнены [6]. Основной недостаток 2.5Б карт состоит в том, что все ячейки имеют одинаковый размер, поэтому точность определения препятствия определена длиной стороны ячейки, что приводит к неоправданному ограничению оценки площади проходимой для РП поверхности. В [7] был предложен подход с ячейками изменяемого размера для решения этой проблемы. Этот подход и дополнения к нему описаны ниже. Кроме того, существует целый ряд надстроек над картами высот [8-10].
Алгоритм построения модели проходимости окружающей среды
Схема алгоритма построения иерархической МП показана на рис. 1.
Рис. 1. - Схема алгоритма построения иерархической МП
Автором был дополнен блок, отвечающий за проверку на необходимость разбиения оценкой степени заполненности ячейки данными. Кроме того, блок анализа проходимости был дополнен оценкой перепада высот между соседними ячейками, что позволяет более полным образом получать МП окружающей среды.
На вход алгоритма подается массив трёхмерных точек. Затем все пространство разбивается на квадратные ячейки равной площади, в которых сохраняются соответствующие им точки.
Для каждой ячейки вычисляется набор параметров, который позволяет разделить свободные для перемещения РП ячейки, вертикальные и наклонные препятствия, а также препятствие типа «ступень».
Для выделения вертикальных препятствий в каждой ячейке вычисляется среднее значение (1) и стандартное отклонение координаты высоты (2): 1 п
и = (1)
п 1=1
1
Еп 2 2 2, - пи
г=1 г -, (2)
п -1
где - координата высоты ¿-ой точки, а п - количество точек в ячейке. Если вычисленное отклонение превышает пороговое значение, зависящее от характеристик РП, то ячейка помечается как содержащая вертикальное препятствие. Такой подход к классификации ячеек является основным при построении карт высот окружающей среды.
Авторы [7] также вычисляют степень разброса вертикальных координат точек для каждой ячейки. Алгоритм ее вычисления использует информацию о сенсоре активной системы технического зрения (СТЗ) -лидаре. Подобный подход невозможен при построении МП только по данным пассивной СТЗ с использованием стереокамеры. Для расчета этой
характеристики по облакам точек, полученных со стерео, предлагается следующий подход. Сначала вычисляются собственные значения и собственные векторы распределения точек в каждой ячейке. Для этого используется метод главных компонент для матрицы, в строках которой записаны трехмерные координаты точек. При этом собственный вектор, соответствующий наименьшему собственному значению, является нормалью к плоскости, наилучшим образом аппроксимирующей распределение точек в ячейке [11]. Крутизна уклона данных в ячейке находится как угол между этой нормалью и вектором (0, 0, 1). За степень разброса вертикальных координат точек ячейки принимается величина наименьшего собственного значения. Если крутизна или степень разброса превышают соответственные пороговые значения, то ячейка считается препятствием. Такой способ вычисления степени неровности ячеек не использует априорную информацию о датчике, поэтому может применяться при обработке облаков точек от любых СТЗ.
После вычисления собственных векторов в ячейке принимается решение о ее разбиении. Ячейка может быть разбита только при условии, что ее размеры превышают минимально допустимые заданные размеры ячейки. В [7] авторы выделяют единственный критерий для разбиения ячейки локальное возмущение высоты (англ. - local height disturbance) (3) и сравнивают его с рассчитанным экспериментально пороговым значением:
h = <k,k = argmaxeTt ■ z, (3)
¿£{0,1,2}
где <jk - собственные значения, а et - собственные векторы. Таким образом, выбирается собственное значение, соответствующее вектору с наименьшим углом отклонения от вертикали. Поэтому все ячейки, содержащие вертикальные препятствия или неровную поверхность будут разбиваться на меньшие по размеру для более точного анализа проходимости.
СТЗ, используемая в [7], обеспечивала круговой обзор вокруг РП. В случае стереопары обзор ограничен пересечением областей зрения каждой из камер. На границах облака точек при этом часто возникают ситуации, при которых только небольшая часть ячейки будет содержать в себе точки облака. Принятие решения о проходимости такой ячейки очень рискованно, т. к. в невидимой для стереокамеры области может находиться препятствие, опасное для РП. Для этого автором предлагается дополнительный критерий для разбиения ячеек по степени заполненности измерениями. Ячейка недостаточно заполнена для анализа проходимости, если не выполняется хотя бы одно из условий (4):
Я
х >
3 Я (4>
> у,
где ах„ су - стандартные отклонения х и у координат точек соответственно, а Я - длина стороны ячейки. На рис. 2 показан случай неправильной характеристики ячейки, находящейся на границе области видимости стереокамеры.
Рис. 2. - Ячейка с препятствием (деревом). Слева направо: без проверки заполненности, с проверкой, модель в условиях полной видимости
Если принимается решение о разбиении ячейки, то она разделяется на 4 равные по размеру дочерние, в которые копируются точки родительской. После этого для новых ячеек повторяется процесс вычисления параметров.
Если же принимается решение не разбивать ячейку, то все найденные характеристики сравниваются с соответствующими им пороговыми значениями, и ячейка помечается либо как свободная, либо как препятствие определенного типа.
После того, как для всех ячеек был определен их тип, свободные ячейки проверяются на принадлежность к препятствиям типа «ступень» [6]. Такими препятствиями являются, например, лестницы и бордюры. Соседние ячейки могут быть помечены как свободные, но иметь разную среднюю высоту, из-за чего перемещение из одной в другую для РП может быть неосуществимо. Поэтому для каждой свободной ячейки высчитывается разница средних высот со всеми соседними. Если эта разница превышает максимальный перепад высот, который может преодолеть шасси РП, то такая ячейка помечается как препятствие типа «ступень».
Экспериментальные результаты
Был проведен эксперимент по сравнению МП, основанных на картах с ячейками одинакового и различного размера. Эксперимент проводился на синтетических данных, сгенерированных в среде моделирования V-REP (Virtual Robot Experimentation Platform). На рис. 3 показаны результаты для облака точек, содержащего неровную поверхность. С увеличением расстояния от стереокамеры плотность данных падает, поэтому ячейки небольшого размера остаются незаполненными и не анализируются. Так, для карты с постоянным размером ячеек суммарная площадь анализируемой поверхности составила 37.3125 м2, а для карты с иерархической структурой -58.5625 м2.
Рис. 3. - Карты проходимости для синтетического облака точек. Слева карта
с ячейками постоянного размера (длина стороны - 0.25 м), справа карта с ячейками изменяемого размера (длины сторон - 1 м, 0.5 м, 0.25 м). Облако точек выделено белым, свободные ячейки - зеленым, градиентом от зеленого до синего выделена крутизна уклона, а недостаточно заполненные для
анализа ячейки - серым Работоспособность алгоритма проверялась также на облаках точек, полученных со стереокамер в реальных условиях. Для этого использовался набор данных city scapes [12]. В нем содержатся кадры с левой и правой камеры стереопары, и карты диспаратности с разрешением 2048 на 1024 точек. Также известны калибровочные параметры этих стереокамер. Пиксели с этих карт переводились в облака трехкоординатных точек, по которым и происходило построение карт высот. На рис. 4 изображены исходные кадры, и проецированная на них модель проходимости для двух типичных сцен. При этом пиксели точек свободных ячеек подкрашены зеленым, ячеек с вертикальным препятствием - красным, с наклонным - коричневым, с препятствием типа «ступень» - желтым, а недостаточно заполненных измерениями ячеек - синим.
Рис. 4. - Проекция модели проходимости на кадре с пешеходами (слева) и на
кадре с автомобилем (справа) Для количественной оценки разработанного подхода все классы объектов из набора данных cityscapes были разделены на препятствия и проходимые объекты. Затем по каждому из кадров строилась МП и для ее проекции попиксельно считались точность (англ. precision) (5) и полнота (англ. recall) (6): tp
P = ■
R =
tP + fp tp
(5)
(6)
гр +
где гр - классифицированные верно пиксели препятствий, /р - пиксели свободной поверхности, отнесенные к препятствиям, /п - пиксели препятствий, отнесенные к свободной поверхности, для точек лежащих в ячейках препятствий. Для точек, лежащих в свободных ячейках, значения точности и полноты рассчитываются аналогичным образом. При этом из сцен предварительно были удалены все объекты, находящиеся на расстоянии большем, чем дальность построения МП, заданная в эксперименте. Результаты представлены в таблице №1.
Таблица № 1
Экспериментальные оценки алгоритма построения МП
Группа Расстояние, м Точность, % Полнота, %
Пиксели препятствий, базовый алгоритм 50 79 71
40 79 73
30 77 77
20 73 77
Пиксели препятствий, дополненный алгоритм 50 77 72
40 76 80
30 76 86
20 69 88
Пиксели проходимой поверхности, базовый алгоритм 50 86 93
40 86 93
30 86 93
20 86 92
Пиксели проходимой поверхности, дополненный алгоритм 50 90 90
40 89 91
30 87 91
20 89 90
Снижение точности в определении препятствий при уменьшении
дальности построения МП объясняется тем, что на ближних расстояниях проекция препятствий занимает больше пикселей изображения и ошибочная классификация, вызванная конечным размером ячейки, увеличивается. При этом больше пикселей препятствий помечаются корректно. Также точность и полнота определения проходимой поверхности слабо зависит от дальности построения МП. Это связано с тем, что ошибка определения координаты вдоль оптической оси камеры находится в квадратичной зависимости от расстояния, а ошибка определения координаты высоты - в линейной. Дополненный алгоритм обнаруживает большее количество пикселей препятствий, хотя при этом из-за дискретности модели наблюдается некоторое снижение точности. Дополненный алгоритм также повышает точность определения пикселей проходимой поверхности, но при этом из-за дискретности МП некоторые пиксели проходимой поверхности, которые
находятся в ячейках, классифицированных как препятствие «ступень», помечаются как препятствия, и уменьшается полнота обнаружения свободной поверхности.
Заключение
В статье разработан подход построения иерархической МП, который может применяться для СТЗ как на основе активных датчиков, так и пассивных. Кроме того, критерий разделения ячеек в иерархической МП дополнен, что позволяет использовать этот подход при любом поле зрения датчика СТЗ.
Проведенные экспериментальные исследования показали преимущества модели проходимости, основанной на иерархической карте высот, перед картой с ячейками постоянного размера. При меньшей плотности точек в облаке поверхность анализируется большими ячейками, что позволяет строить модель проходимости на больших расстояниях от датчика. В то же время на участках с различного рода препятствиями, где нужна более высокая точность, ячейки разделяются на меньшие по размеру. Таким образом, снижение площади проходимой поверхности, связанное с неполнотой самой модели проходимости, сводится к минимуму.
Кроме того, эксперименты, проведенные на реальных данных, показали, что дополненный алгоритм способен обнаруживать большее число пикселей препятствий, чем базовый при небольшом снижении точности.
Литература
1. Кульченко А.Е., Лазарев В.С., Медведев М.Ю. Метод управления движением гексакоптера в трехмерной среде с препятствиями на базе динамических отталкивающих сил // Инженерный вестник Дона, 2016, №4 URL: ivdon.ru/ru/magazine/archive/n4y2016/3828/.
2. Кульченко А.Е., Лазарев В.С. Использование виртуальной целевой точки для планирования движения подвижного объекта в 3D // Инженерный вестник Дона, 2016, №4. URL: ivdon.ru/ru/magazine/archive/n4y2016/3829/.
3. Чачхиани Т.И., Серова М.Г. Мобильный робот в нестационарной среде // Инженерный вестник Дона, 2017, №4. URL: ivdon.ru/ru/magazine/archive/n4y2017/4546/.
4. Oniga F., Nedevschi S. Processing dense stereo data using elevation maps: Road surface, traffic isle, and obstacle detection // IEEE Transactions on Vehicular Technology. 2010. V. 59. №. 3. pp. 1172-1182.
5. Hornung A. et al. OctoMap: An efficient probabilistic 3D mapping framework based on octrees // Autonomous Robots. 2013. V. 34. №. 3. pp. 189206.
6. Fleischmann P., Berns K. A stereo vision based obstacle detection system for agricultural applications // Field and Service Robotics. Springer International Publishing. 2016. pp. 217-231.
7. Neuhaus F. et al. Terrain drivability analysis in 3D laser range data for autonomous robot navigation in unstructured environments // Emerging Technologies & Factory Automation. 2009. pp. 1-4.
8. Pfaff P., Triebel R., Burgard W. An efficient extension to elevation maps for outdoor terrain mapping and loop closing // The International Journal of Robotics Research. 2007. V. 26. №. 2. pp. 217-230.
9. Rankin A., Huertas A., Matthies L. Evaluation of stereo vision obstacle detection algorithms for off-road autonomous navigation. URL: trs.jpl.nasa.gov/bitstream/handle/2014/38362/05-1610.pdf (Date of access 15.03.2018).
10. Broggi A. et al. Terrain mapping for off-road Autonomous Ground Vehicles using rational B-Spline surfaces and stereo vision // Intelligent Vehicles Symposium (IV). 2013. pp. 648-653.
11. Pearson K. LIII. On lines and planes of closest fit to systems of points in space // The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science. 1901. V. 2. №. 11. pp. 559-572.
12. Cordts M. et al. The city scapes dataset for semantic urban scene understanding // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016. pp. 3213-3223.
References
1. Kul'chenko A.E., Lazarev V.S., Medvedev M.Yu. Inzenernyj vestnik Dona (Rus), 2016. № 4. URL: ivdon.ru/ru/magazine/archive/n4y2016/3828/.
2. Kul'chenko A.E., Lazarev V.S. Inzenernyj vestnik Dona (Rus), 2016. № 4. URL: ivdon.ru/ru/magazine/archive/n4y2016/3829/.
3. Chachkhiani T.I., Serova M.G. Inzenernyj vestnik Dona (Rus), 2017. № 4. URL: ivdon.ru/ru/magazine/archive/n4y2017/4546/.
4. Oniga F., Nedevschi S. IEEE Transactions on Vehicular Technology. 2010. V. 59. №. 3. pp. 1172-1182.
5. Hornung A. et al. Autonomous Robots. 2013. V. 34. №. 3. pp. 189-206.
6. Fleischmann P., Berns K. Field and Service Robotics. Springer International Publishing. 2016. pp. 217-231.
7. Neuhaus F. et al. Emerging Technologies & Factory Automation. 2009. pp.
1-4.
8. Pfaff P., Triebel R., Burgard W. The International Journal of Robotics Research. 2007. V. 26. №. 2. pp. 217-230.
9. Rankin A., Huertas A., Matthies L. URL: trs.jpl.nasa.gov/bitstream/handle/2014/38362/05-1610.pdf.
10. Broggi A. et al. Intelligent Vehicles Symposium (IV). 2013. pp. 648653.
11. Pearson K. The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science. 1901. V. 2. №. 11. pp. 559-572.
12. Cordts M. et al. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016. pp. 3213-3223.