A method for generating geo-referenced a priori and reference occupancy maps using semantic information
A method for generating geo-referenced a priori and reference occupancy maps using semantic information
Abstract
This work examines the problem of synthesizing reference occupancy maps for the subsequent quantitative evaluation of algorithms for generating such maps, as well as the problem of generating a priori geo-referenced digital maps. The aim of the paper is to develop a method that would allow automatic generation of reference occupancy maps from open datasets. The work proposes a method for generating such data on existing datasets and simulation environments, and describes the process of calculating metrics against which employment maps can be evaluated. Reference maps are generated using semantically labelled point clouds. An algorithm for accumulating and updating semantic information during map generation is described. Results are given for evaluating the performance of this algorithm by the proposed method on the Semantic KITTI dataset and in the CARLA simulator. It is shown that the proposed method can be used to create an a priori digital geo-referenced map, which can also be used on on-board computers of robotic platforms for safer autonomous movement.
1. Введение
В настоящее время одним из наиболее используемых подходов к обнаружению препятствий движению беспилотного транспорта и робототехнических колёсных платформ является построение карт занятости (или карт проходимости). Карта занятости — это двухмерное дискретное описание окружающего пространства, где каждый дискрет помечается как свободный или занятый. При этом несмотря на длительное и широкое использование методов этого семейства, до сих пор не был выработан общепринятый подход к оценке карт и, кроме того, не существует открытых наборов данных с предразмеченными эталонными картами. Это связано в первую очередь с тем, что характеристики объекта, который считается препятствием, зависят от физических характеристик платформы-носителя, состава сенсоров системы технического зрения, а также от решаемой задачи. В работе предлагается алгоритм по генерации карты занятости по семантически размеченным облакам точек, с помощью которого можно генерировать эталонные карты. В большинстве существующих датасетов, например, Semantic KITTI
и nuScenes присутствует эталонная разметка изображений камеры или облаков точек лидара, также эти данные можно получить и в современных симуляторах, таких как CARLA или Nvidia ISAAC Sim, что позволяет использовать с ними предложенный в статье метод по генерации эталонных карт.Другая проблема, рассматриваемая в статье — это генерация геопривязанных априорных карт целевой области. Такие карты позволяют значительно увеличить количество информации, используемой автономной роботизированной платформой при планировании траекторий большого размера, а также снизить вычислительную нагрузку на бортовую систему.
2. Алгоритм генерации эталонной семантической карты проходимости
Классический базовый алгоритм построения карты проходимости состоит из следующих шагов: распределение точек облака по ячейкам дискретной решётки, вычисление их степени проходимости по точкам и обновление карты новыми измерениями. Этот алгоритм хорошо описан в большом ряде работ, в частности в статье
предложен подход с разделением алгоритма на моментальную карту и накапливаемую карту. Этот метод развивается автором в работах в части эвристик, связанных с обработкой данных от нескольких разнесённых в пространстве и асинхронных сенсоров системы технического зрения. Моментальная карта генерируется по отдельному кадру данных, будь то облако точек от лидара или карта глубин от стереокамеры, при этом в каждой ячейке содержится вероятность занятости. Моментальные карты передаются в компонент накапливаемой карты, где и происходит комплексирование карт от разных источников. Такое разделение позволяет применять алгоритм независимо от количества и типа сенсоров системы технического зрения . Пошаговое описание алгоритма приведено ниже.1. Семантическая сегментация облака точек. При использовании стереокамеры производится сегментация опорного изображения, а потом полученные значения классов ассоциируются с картами глубин, при использовании лидаров производится сегментация сырого облака точек целиком.
2. Распределение точек по ячейкам. Облако точек проецируется в дискреты карты проходимости. При этом дальнейший анализ производится только в тех дискретах, где количество точек превышает задаваемое пороговое значение, которое необходимо подбирать в зависимости от разрешающей способности сенсора. Также отметим, что размер и разрешение карты выбирается исходя из характеристик и требований к роботу: дальность детектирования сенсоров, минимальный размер препятствия, которое необходимо обнаруживать, максимально допустимое расстояние торможения и т. д.
3. Определение класса ячейки. Класс ячейки соответствует классу большинства точек в ней. При этом все классы делятся на три группы: свободные (дорога, тротуар), занятые (здания, заборы, столбы) и потенциально динамические (автомобили, пешеходы, велосипедисты).
4. Определение типа проходимости ячейки. Для эталонной карты этот шаг принципиально отличается от алгоритма генерации моментальной семантической карты, представленного автором в
. При определении занятости ячейки эталонной карты учитывается только принадлежность её класса к одной из трёх групп, в то время как в моментальной карте рассматриваются и геометрические признаки. Таким образом, эталонная карта не зависит от классификации препятствий по геометрическим признакам (которая, в свою очередь, зависит от характеристик роботизированной платформы) и использует только семантическую разметку. При этом для открытых наборов данных и для симуляторов эта разметка также является эталонной, что исключает ошибки сегментации при синтезе карт.Рисунок 1 - Семантически раскрашенное эталонное облако точек из симулятора CARLA
Рисунок 2 - Пример сгенерированной эталонной карты проходимости:
белый цвет - препятствия; чёрный - свободные зоны; серый - неизвестные
3. Алгоритм генерации априорной карты проходимости
Алгоритм генерации априорной карты состоит из тех же шагов, что описаны в предыдущем пункте, но с небольшими отличиями. Во-первых, при генерации карты по сенсорным данным в новой локации отсутствует эталонная семантическая разметка. Но поскольку априорная карта может генерироваться оффлайн, а не во время движения робота, то для семантической разметки можно использовать «тяжёлые» нейросетевые модели. Во-вторых, семантически размеченные кадры объединяются в одно общее облако точек, а затем распределяются по ячейкам карты соответствующего размера. Разрешение ячеек при этом может варьироваться и зависит от того, какое целевое разрешение на робототехнической платформе, на которой эти априорные карты будут применяться. Кроме того, из облака удаляются все точки потенциально динамических классов, поскольку автомобили и пешеходы, отснятые в наборе данных, по которому происходит построение карты, перемещаются с течением времени. В-третьих, после определения типа проходимости всех ячеек происходит дополнительная постобработка карты и её разбиение на тайлы. Наконец, полученная карта и тайлы сохраняются в геопривязанном формате с учётом данных навигационной системы на борту роботизированной платформы. Опишем эти шаги подробнее.
Этап постобработки. Как правило, натурные наборы данных, особенно если они снимались на большой территории, характеризуются разреженностью данных, а также в них всегда присутствует некоторая доля ошибочно размеченных измерений. Это приводит к тому, что на карте после всех предыдущих шагов присутствуют как «пустые» области без данных, так и ошибочно размеченные ячейки. Для исправления этих проблем предпринимается следующая постобработка. Для центра дискретов, которые не содержат точки, находятся ближайшие соседи в некоторой задаваемой окрестности и по ним присваивается класс и соответствующий тип проходимости. Важно отметить, что алгоритм ближайших соседей применяется именно по облаку точек, поэтому класс большинства точек в соседних ячейках не будет вносить ошибку в определение класса пустой ячейки. Затем к карте применяются морфологические операции эрозии и дилатации, которые позволяют сгладить одиночные выбросы.
Этап генерации тайлов. Полученные априорные карты описывают проходимость (с учётом только статических препятствий) на больших территориях (до нескольких квадратных километров). Хранить и обрабатывать всю карту целиком на платформе, которая решает задачу локального оперативного планирования в небольшой окрестности (которая, как правило, ограничена дальностью видимости сенсоров) нецелесообразно. Поэтому вся карта разбивается на тайлы. Их размер зависит от размера локальной карты проходимости, которая генерируется при движении робота. Эти тайлы сохраняются на вычислителях робота и при его движении в границах карты подгружаются только нужные. Эта операция не требует дополнительных расчётов, только чтение. Далее эти тайлы объединяются с синтезированной онлайн картой занятости, что подробно описано автором в
. На рисунке 3 в качестве примера представлен ортофотоплан офисного здания и соответствующая ему априорная тайловая карта проходимости.Рисунок 3 - Ортофотоплан офисного здания (сверху) и соответствующая априорная геопривязанная карта проходимости (снизу)
Примечание: свободные области выделены белым, области с отсутствующими данными — серым, и препятствия — чёрным
4. Расчет оценок качества карт проходимости
Как было упомянуто выше, несмотря на долгую историю развития методов по генерации карт проходимости, общепризнанный подход к их оценке не был выработан. При этом можно выделить несколько способов расчёта метрик. Во-первых, это метрики точности и полноты (англ. precision и recall соответственно). Пример их использования показан автором в работе
. Во-вторых, существует ряд работ, где применялись нейросетевые способы . При этом требуется сгенерировать большой набор карт и классифицировать вручную с помощью экспертов. Наконец, авторами предложены метрики, которые рассматривают карты проходимости с точки зрения их использования алгоритмами планирования траектории движения. Это корреляция с нулевым нормированием (англ. zero normalized cross correlation), оценка карты и анализ возможных траекторий. Опишем эти метрики подробнее.Корреляция показывает степень «схожести» карт как изображений и рассчитывается по формуле:
где — общее количество ячеек, — индекс ячейки, — значение в -ом пикселе, её среднее значение и стандартное отклонение соответственно.
Оценка карты — это относительная метрика, которая позволяет сравнивать между собой различные вариации алгоритмов. Сначала для расчёта коэффициента нормализации эталонных карт генерировались «обратные» к ним карты. Ниже представлена формула расчёта этого коэффициента:
где — значение «обратной» карты в соответствующем пикселе. Затем считалось попиксельное расстояние между полученными и эталонными картами.
Анализ возможных траекторий включает в себя две метрики: процент ложных положительных и ложных отрицательных траекторий. Для расчёта ложных положительных по эталонной карте строится диаграмма Вороного, а затем каждое её ребро проверяется на пересечение с препятствиями в сгенерированной карте. Отношение количества пересечений к общему числу рёбер и является искомым. Аналогичным образом находится и вторая оценка с тем лишь отличием, что диаграмма строится по оцениваемой карте. Пример таких карт показан на рисунке 4.
Рисунок 4 - Пример изображений, использованных для расчёта процента ложных положительных и ложных отрицательных траекторий на наборе данных из симулятора CARLA
Примечание: слева изображена оцениваемая карта с диаграммой Вороного для оценки ложных положительных, справа — ложных отрицательных траекторий; красным выделены пересекающиеся с препятствиями рёбра
Для генерации эталонных карт занятости были использованы облака точек от лидара с эталонной семантической разметкой, а оцениваемые карты строились по точкам, полученным в результате стереосопоставления сначала без использования дополнительной семантической информации, а потом вместе с ней. Для сегментации использовалось решение с открытым исходным кодом, представленное в статье
. Также для обоих датасетов оценки считались лишь по той области карты, которая попадала в поле зрения стереопары: так угол зрения у лидара составляет 360°, а у камер в обоих случаях — около 60°. Также отметим, что метрики точности и полноты считались только по ячейкам-препятствиям и размер карты для обоих экспериментов составлял 40 на 40 метров.Таблица 1 - Усреднённые оценки реализации алгоритма построения карты без/с семантическим слоем на наборе данных SemanticKITTI
Тип карты | P, % | R, % | Cm, % | Sm | FPm, % | FNm, % |
Накапливаемая карта без семантики | 47,20 | 74,15 | 58,73 | 1,0023 | 20,36 | 18,19 |
Накапливаемая карта с семантикой | 57,36 | 71,05 | 63,11 | 1,1120 | 18,73 | 17,30 |
Таблица 2 - Усреднённые оценки реализации алгоритма построения карты без/с семантическим слоем на наборе данных из симулятора CARLA
Тип карты | P, % | R, % | Cm, % | Sm | FPm, % | FNm, % |
Накапливаемая карта без семантики | 49,53 | 69,94 | 59,82 | 2,2231 | 11,20 | 15,07 |
Накапливаемая карта с семантикой | 57,31 | 68,81 | 61,23 | 2,3240 | 7,63 | 14,44 |
Количественные оценки показывают эффективность предложенного метода построения семантического слоя накапливаемой карты: при значительном увеличении точности (8−10 %) полнота падает незначительно (1−3%), а также уменьшается процент ложных положительных (1.5−3.5%) и ложных отрицательных (0.5−0.9%) траекторий, что свидетельствует об общем уменьшении количества некорректно обнаруженных препятствий.
5. Заключение
В статье предложен метод по генерации эталонных карт проходимости для их последующей количественной оценки. Для этого требуется только наличие эталонной семантической разметки, которая присутствует в большинстве современных открытых наборов данных. Кроме того, предложены метод по генерации семантических карт проходимости, который может быть использован онлайн на бортовых вычислителях роботизированной платформы, и оффлайн метод для синтеза геопривязанных априорных тайловых карт проходимости. Приведены результаты вычислительных экспериментов, которые, во-первых, показывают принципиальную применимость предложенного метода по генерации эталонных карт, а также доказывают эффективность метода по генерации семантических накапливаемых карт. Наконец, в работе показаны возможности применения геопривязанных карт занятости.