В этой статье делается попытка обобщить основные идеи и недавнюю работу Semantic SLAM с долгосрочными обновлениями. Однако из-за ограниченного уровня, если есть какие-либо ошибки или упущения, спасибо за их исправление.(Для лучшего эффекта отображения формулы можете обратить внимание на паблик аккаунт внизу статьи)
Semantic SLAM
Введение
Пока основные схемы SLAM [[1]](http://webdiis.unizar.es/~raulmur/orbslam/) основаны на **характерных точках** на уровне пикселей. **Угловая точка или край** для извлечения ориентиров. Люди предполагают движение камеры по движению объектов на изображении, а не по конкретным пикселям.
Семантический SLAM - это схема, в которой исследователи пытаются использовать информацию об объектах. Она была сильно развита в рамках продвижения глубокого обучения и стала относительно независимой ветвью. С точки зрения методов (необорудования) ее положение во всей области SLAM Как показано ниже:
В настоящее время так называемаяSemanticоснован на нейронной сетиСемантическая сегментация, обнаружение объектов, сегментация экземпляров и другие технологииИспользуемый в SLAM, он в основном используется для выбора характерных точек, оценки положения камеры и, в более общем плане, сквозной позы изображения, построения отмеченных облаков точек из результатов сегментации, распознавания сцен, извлечения признаков, обнаружения петель и т. д.методы с использованием нейронных сетейВсе можно назвать Semantic SLAM [[2]](https://zhuanlan.zhihu.com/p/58648284).
Сочетание семантики и SLAM отражено в следующих двух пунктах [[3]](https://book.douban.com/subject/27028215/):
- SLAM помогает с семантикой.
Как задачи обнаружения, так и задачи сегментации требуют большого количества обучающих данных.В SLAM, поскольку мы можем оценить движение камеры, также можно предсказать изменение положения каждого объекта на изображении,Генерировать большое количество новых данных, чтобы обеспечить дополнительные условия оптимизации для семантических задач.и сэкономить на ручной калибровке.
- Семантика помогает SLAM.
С одной стороны, семантическая сегментация добавляет семантические метки к каждому изображению во время движения, а затем традиционный SLAM отображает помеченные пиксели в трехмерном пространстве, чтобы получить помеченную карту.Это обеспечивает карту высокого уровня, которая полезна для автономного понимания робота и взаимодействия человека с роботом..
С другой стороны, семантическая информация также может быть обнаружением закрытия цикла, корректировкой пакетов.Добавьте больше условий оптимизации и улучшите точность позиционирования.
Работу, которая реализует только первое, часто называютSemantic Mapping, последний считается настоящим Semantic SLAM.
Направление развития
Представьте некоторые основные идеи из семантического картографирования и реального семантического SLAM соответственно.
Semantic Mapping
Этот тип работы требует, чтобы характерные точки былиплотный или полуплотный(иначе Mapping не имеет смысла), поэтому часто используется схема RGB-D SLAM, либо полуплотная схема LSD-SLAM монокулярной камеры [[4]] (https://vision.in.tum.de/research /вслам/lsdslam).
Существует два метода отображения:
- Результат семантической сегментации 2D-изображения, а именноРазмеченные пиксели, нанесенные на карту в 3D-облако точек.
Исследователи пытаются использовать информацию, полученную с помощью SLAM (особенно позу камеры), для повышения производительности семантической сегментации. Одним из них является метод рекурсивного Байеса с использованием SemanticFusion [[5]](https://arxiv.org/abs/1609.05130): согласно оценке движения точки пикселя с помощью SLAM, вероятность семантической классификации **пикселя текущий кадр** Конечная вероятность умножается на вероятность классификации в старой позиции предыдущего кадра, то есть вероятность пикселя будет умножаться на каждом кадре, улучшая тем самым результат семантической сегментации.
За этим методом следует работа с монокулярной камерой [[6]] (https://arxiv.org/abs/1611.04144), и общая структура описана ниже.
LSD-SLAM + DeepLab-v2 (семантическая сегментация)
Процесс: ввод -> выбор ключевых кадров и уточнение (неключевые кадры используются для улучшения оценки глубины) -> 2D-семантическая сегментация -> семантическая оптимизация + 3D-реконструкция
① Для обеспечения скорости семантическая сегментация выполняется только на ключевых кадрах.
② В других кадрах используется стереофоническое сравнение с малой базовой линией [[7]] (https://ieeexplore.ieee.org/document/6751290) для оптимизации оценки глубины ключевых кадров.
③Улучшение семантической сегментации с помощью рекурсивного Байеса
④ Оптимизация 3D-реконструкции с использованием условного случайного поля (CRF), аналогично SemanticFusion.
- Второй метод отображенияПостроить карту в единицах объекта[[8]](https://arxiv.org/pdf/1609.07849.pdf)[[9]](https://arxiv.org/pdf/1804.09194.pdf). По сравнению с набором вокселей, помеченных категориями, семантическая карта объектов будет более ценной.
Этот раздел посвящен тому, как сделатьассоциация данных(ассоциация данных), а именноОтслеживание идентифицированных объектов и обнаружение новых объектов, взяв [[8]](https://arxiv.org/pdf/1609.07849.pdf) в качестве примера для описания следующим образом.
Используйте RGB-D и ORB-SLAM2 для создания плотного облака точек.
Для ключевых кадров SSD обнаруживает несколько объектов и применяет неконтролируемый метод 3D-сегментации [[10]](https://ieeexplore.ieee.org/document/7759618) **Назначайте последовательности облаков точек для каждого объекта и сохраняйте их* *.
Ассоциация данных: после получения набора результатов сегментации (объект, соответствующее облако точек) на основе евклидова расстояния центра тяжести облака точек найдите ближайший набор объектов-кандидатов, еслиЕсли расстояние более 50% пар точек меньше порогового значения (2 см в тексте), объект считается совпавшим., в противном случае он считается новым объектом и сохраняется.
Сопоставьте два облака точек одного и того же объекта напрямуюКумулятивные вероятности классификации(Уверенность). Это очень похоже на упомянутый выше рекурсивный метод Байеса.То есть информация об объектах под разными углами, предоставляемая SLAM, используется для улучшения результатов сегментации.
(Примечание: работа, связанная с этой статьей, хорошо написана)
Real Semantic SLAM
Эта часть находится в центре внимания данной статьи. Условно говоря, настоящий семантический SLAM (то есть семантическое отображение и локализация SLAM способствуют друг другу) развился поздно (в основном после 2017 года).
В методе Bundle Adjustment (BA) мы оптимизируем как положение камеры, так и положение 3D-координат, чтобыМинимальная общая ошибка между пикселями, перепроецированными в 2D-изображения, и фактическими наблюдениями (несколько камер, несколько характерных точек).
Итак, как интегрировать семантическую информацию?
- Идея первая:После повторного проецирования одной и той же 3D-точки семантика должна оставаться неизменной..
Это снова проблема оптимизации повторного проецирования, и ее можно добавить в формулу BA.Усиление целей оптимизации, главное какКвантовать ошибку перепроецирования, как если бы ошибка перепроецирования обычного BA количественно определялась расстоянием в пикселях от фактического наблюдения.
Знаменитая работа Probabilistic Data Association for Semantic SLAM [[11]] (https://ieeexplore.ieee.org/document/7989203) ICRA 2017 использует эту идею, и ее метод количественной оценки ошибки перепроецирования: использование вероятностной модели для расчета **центр объекта, перепроецируемого на изображение, должен быть близок к центру поля обнаружения**. Ассоциация данных (к какому центру поля обнаружения близка) определяется набором весов, и, наконец, «BA» и «обновление веса» поочередно оптимизируются алгоритмом EM.
Как и в работе VSO [[12]](http://cvg.ethz.ch/research/visual-semantic-odometry/) на ECCV 2018, ошибка перепроецирования определяется расстоянием до семантической области целевого класса .* для количественной оценки. Есть несколько более оригинальных деталей, которые объясняются ниже.
Как показано на рисунке выше, (а) — карта семантической сегментации, (б) — регион категории «Автомобиль», в (в) (г) значение вероятности изменяется от 1 (красный) до 0 согласно расстояние от автомобильного региона (синий). Другие категории, такие как Дерево, также создают эту карту распределения вероятностей.
впреобразование расстояния в вероятность, используя приведенное ниже распределение Гаусса, разница между (c) и (d) представляет собой дисперсиювызванный. Это подготовка к количественной оценке ошибки перепроецирования. Для пространственной точки P (с координатами), после перепроецирования вычисляется вероятность:
вВычислен результат перепроекциис площадью категории Сближайшее расстояние, и, наконец, получитьиспользуется дляВычислить ошибку перепроецирования:
Весасуществует для разрешения ассоциаций данных, то есть на какую категорию площади должна ориентироваться пространственная точка P,. Он состоит из нескольких камер.Значение умножается, то есть наблюдают и оценивают несколько углов.
Будет добавлен к обычной формуле оптимизации BA, использовать алгоритм EM для оптимизации и обновить веса на шаге E., в то время как M шагов оптимизируют координаты 3D-точки P и положение камеры (обычная процедура BA).
Лично я понимаю, что используется распределение Гаусса, потому что его функция имеет «внезапный спад», тогда дисперсияможет играть роль в определении порога, позволяяРегионы категорий, расстояние которых превышает пороговое значение, быстрее получают небольшой вес, при голосовании нескольких камер связь данных может быть быстро стабилизирована, что может ускорить оптимизацию.
(Для упрощения описания приведенная выше формула была упрощена, а индексы для нескольких камер и пространственных точек удалены, подробности см. в исходном тексте)
- Идея вторая:Динамические регионы можно вывести из семантической информации..
Традиционные методы SLAM почти всегдаПредположим, что текущая сцена статична., при столкновении со сценой, содержащей движущиеся объекты, характерные точки на движущихся объектах вызовут огромные отклонения в оценке позы камеры. Столкнувшись с этой трудностью, основнойРешение состоит в том, чтобы удалить эти динамические характерные точки., а семантическая сегментация хорошо подходит для поиска этих динамических областей.
Семантическая сегментация имеет две характеристики: одна заключается в соединении множества пикселей в плоской области, а другая — в присвоении этой области метки классификации.
Первый полезен для определения того, действительно ли объект движется, потому что смещение одной характерной точки не может определить возникновение движения (может быть шум наблюдения, который всегда существовал в системе SLAM).Группа связанных характерных точек обычно имеет большое смещение, и можно сделать вывод, что она является динамической..
Последнее выгодноПредсказать, будет ли объект двигаться, например, область, где метка — человек, почти динамическая, а стена — предположительно статическая (даже без вычисления смещения).
DS-SLAM IROS 2018 [[13]](https://arxiv.org/abs/1809.08379) основан на первой функции, позволяющей судить о том, является ли он динамичным в единицах регионов, и некоторых работах, таких как [[14 ]](http://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w9/Kaneko_Mask-SLAM_Robust_Feature-Based_CVPR_2018_paper.pdf) использует только вторую функцию для прямого исключения характерных точек в определенных областях (небо, автомобиль) более жестко.
Использование обеих функций — это работа ICRA 2019 [[15]] (https://arxiv.org/abs/1812.10016), которая кратко описана ниже.
Используя семантическую сегментацию, некоторые категории () область определяется как фон (зеленый), другие категории () область определяется как подвижный объект.
Следующее использованиеопределение движения, чтобы определить, является ли подвижный объект неподвижным (синий) или движущимся (красный).
Правила определения движения следующие: для определенной семантической области трехмерные положения характерных точек, оцененные в прошлом, проецируются на текущее новое изображение,Если евклидово расстояние между положением репроекции и соответствующей характерной точкой больше определенного порога, оно определяется как движущаяся точка., если областьДоля движущихся точек больше определенного порогаОн определяется как движущаяся область.
- Идея третья:Описания на уровне объекта, предоставляемые семантической информацией, с сезонной (световой) инвариантностью..
Как можно использовать эту идею вНайдите с помощью существующей 3D-карты.
Традиционные характерные точки (с дескрипторами) ненадежны в изменяющихся средах и их легко потерять. Результаты семантической сегментации относительно стабильны, кроме того, если позиционирование осуществляется на объектном уровне (сопоставление карты с семантическими метками), оно больше соответствует человеческой интуиции.
В работе ICRA 2018 и 2019 годов [[16]](https://arxiv.org/abs/1801.05269) [[17]](https://ieeexplore.ieee.org/abstract/document/8794475) использовалась эта идея.
- Идея 4: В заключении
------Для лучшего эффекта чтения и более связанного контента, пожалуйста, обратите внимание на публичный аккаунт [мозговая схема Сяо Линь] ↓ ↓ ↓