Colmap-PCD: инструмент с открытым исходным кодом для регистрации изображений в облаках точек.
Colmap-PCD: инструмент с открытым исходным кодом для регистрации изображений в облаках точек.

Источник: Colmap-PCD: инструмент с открытым исходным кодом для точной регистрации облаков изображений и точек.

Автор: Чунге Бай, Жуйцзе Фу и Сян Гао

Редактор: Облако точек PCL

Код: https://github.com/XiaoBaiiiiii/colmap-pcd.git

Публичный аккаунт предназначен для обработки облаков точек.,SLAM,3D видение,Обмен полезным контентом, связанным с высокоточными картами и другими областями.,Приветствую всех желающих присоединиться,Если интересно, обращайтесьdianyunpcl@163.com。В случае нарушения прав или копирования обращайтесь в WeChat Cloudpoint9527.

краткое содержание

Усовершенствованная технология реконструкции монокулярной камеры в основном основана на схеме «Структура из движения» (SfM). Однако эти методы часто создают реконструкции, которым не хватает информации о критическом масштабе, что приводит к неизбежным проблемам дрейфа по мере накопления изображений с течением времени. Напротив, методы картографирования, основанные на кадрах, отсканированных с помощью лидара, популярны при крупномасштабной реконструкции городской сцены из-за их возможностей точного измерения расстояний, которые в значительной степени отсутствуют в методах, основанных на зрении. Исследователи попытались использовать одновременные измерения с помощью лидара и камеры, чтобы добиться точного масштаба и детализации цвета на картах. Однако на эти результаты влияют внешняя калибровка параметров и точность синхронизации времени. В этой статье предлагается новая и экономически эффективная схема реконструкции, которая использует заранее установленные лидарные карты в качестве фиксированных ограничений, эффективно решая проблему масштаба, существующую при реконструкции монокулярной камеры. Насколько нам известно, наш метод является первым, который регистрирует изображения на картах облаков точек без одновременного захвата данных камеры и лидара, что позволяет нам восстанавливать более детальную информацию в различных регионах, представляющих интерес. Чтобы облегчить дальнейшие исследования в этой области, мы выпускаем Colmap-PCD, инструмент с открытым исходным кодом, который использует алгоритм Colmap для обеспечения точной и подробной регистрации изображений в картах облаков точек.

Основные вклады

Достижение точного 2D-3D-соответствия между изображениями и их реконструированными объектами имеет решающее значение для точной локализации изображений. Один многообещающий подход предполагает установление соответствия между изображениями и лидарными плоскостями, которые можно рассматривать как исходящие из реконструированных 3D-характеристик объектов из карт облаков точек лидара. Для этой цели мы решили использовать Colmap, надежный программный инструмент, основанный на классической схеме «Структура из движения» (SfM). На этой основе конвейер расширяется за счет включения заранее установленных лидарных карт в качестве фиксированных ограничений в процесс оптимизации графа факторов. Такое включение помогает гарантировать, что масштаб реконструированного изображения точно соответствует масштабу лидарной карты, тем самым повышая точность процесса регистрации. Наш метод оценивается с использованием набора данных, собранного самостоятельно, и результаты ясно демонстрируют его превосходство по эффективности по сравнению со стандартным методом Colmap. Точнее, наш метод создает реконструкцию с точным масштабом, который выходит за рамки возможностей оригинальной Colmap. В целом, эта статья вносит три важных вклада:

1) Представляем Colmap-PCD, схему регистрации облаков «изображение-точка», которая оптимизирует позиционирование изображения с помощью лидарных карт. Он дает точные результаты локализации и реконструкции с точной информацией о масштабе без необходимости одновременного сбора данных лидара и камеры.

2) Эффективность Colmap-PCD продемонстрирована посредством всестороннего тестирования наборов данных, собранных самостоятельно.

3) Предоставили исследовательскому сообществу инструмент и набор данных с открытым исходным кодом, пользовательский интерфейс которого показан на рисунке 1.

Рисунок 1: Пользовательский интерфейс карты Colmap-PCD, входные данные включают облака точек и изображения.

Обзор контента

Краткий обзор Colmap

Поиск соответствующей точки:Соответствующий процесс поиска включает в себя извлечение признаков и сопоставление признаков.,Потенциальное перекрытие сцен определяется путем выявления совпадающих 2D-точек на различных входных изображениях. Для повышения надежности сопоставления изображений,Colmap выбирает наиболее достоверную Модель трансформации, подсчитывая количество внутренних точек при различных условиях трансформации.

инициализация:Выберите подходящую пару изображений для первоначальной реконструкции.,Убедитесь, что у нескольких изображений достаточно общих наблюдений. Затем,Используйте триангуляцию для создания начального набора точек трехмерной реконструкции.

Выберите и зарегистрируйте следующее изображение:Выберите один и текущий Модель Изображение с более общими видимыми точками и более равномерным распределением используется в качестве следующего регистрируемого изображения.。проходитьPnPЗарегистрируйте изображение в Модель。

Триангуляция:Выполните триангуляцию на новых изображениях,Интегрируйте новые сцены в существующие 3D-структуры. из-за шума,Colmap рассматривает траекторию объекта одной 3D-точки как набор измерений.,Возможно сопряжение. Вычисление парных измеренных 3D-точек с использованием метода прямого линейного преобразования (DLT).,Рекурсивная выборка и настройка области выборки с помощью RANSAC,Получите надежные результаты триангуляции.

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

全局Регулировка связки:Выполнить глобально Регулировка связки для расчета лучшей 3D-модели и параметров для всех зарегистрированных изображений. Чтобы сэкономить время, по сравнению с предыдущей глобальной оптимизацией, глобальная Регулировка будет выполняться, когда объем Модели вырастет до определенной степени. связки(BA)。

Алгоритм Colmap-PCD

Цель Colmap-PCD — одновременно минимизировать ошибки перепроецирования и расстояния между 3D-точками и связанными с ними плоскостями LiDAR путем сопоставления 3D-точек, реконструированных на основе визуальных изображений, с плоскостями, извлеченными из карт облаков точек LiDAR. Весь процесс показан на рисунке 2.

Рисунок 2: Процесс Colmap-PCD. Процесс в синем поле принадлежит исходному Colmap, а процесс в красном поле относится к LiDAR.

проекция

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

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

ассоциация "укажи на плоскость"

  • Свяжите 3D-точки с точками LiDAR так, чтобы они как можно точнее соответствовали связанной плоскости LiDAR.
  • Ассоциация «точка-плоскость» выполняется с использованием двух методов: проекции глубины и поиска ближайшего соседа.
  • В проекции глубины наименьшая точка LiDAR выбирается в качестве соответствующей точки LiDAR путем расчета угла.
  • Метод поиска ближайшего соседа используется для всех процессов ассоциации «точка-плоскость».

Рисунок 4: Исходное изображение и изображение глубины. Желтые точки представляют собой 2D-точки, извлеченные из изображения. На карте глубины чем темнее цвет, тем ближе расстояние.

инициализация

  • Инициализация изображений требует примерно известной позы камеры.
  • Исходное изображение и его поза задаются вручную, при этом поза не обязательно должна быть точной.
  • Получите соответствующие точки LiDAR для исходных 2D-характерных точек посредством проекции, чтобы создать исходную 3D-модель.
  • По мере увеличения количества изображений,Исходная 3D-модель постепенно приближается к правильному состоянию.

Регулировка связки

  • с пошаговой регулировкой пакета、Существует три типа групповой регулировки луча и общей регулировки луча карты.
  • После триангуляции нового изображения выполняется инкрементальный БА для уменьшения накопленной ошибки.
  • Выполните пакетный БА, чтобы сэкономить время и построить 3D-модель, содержащую позы камеры и 3D-точки.
  • Общая картаBA используется для дальнейшей оптимизации всей Модели.,Воля2Dособенность、поза изображения、3D-точки и точки LiDAR добавляются на график коэффициентов для оптимизации.

Рисунок 5: Факторная диаграмма для Регулировки связок.

Поэтапная реконструкция на основе известной позы

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

эксперимент

Были проверены эффективность и точность масштабирования Colmap-PCD. Мы собрали три набора данных на территории кампуса, как показано на рисунке 7. Каждый набор данных содержит предварительно созданную карту облака точек LiDAR, 450 изображений и соответствующие встроенные функции камеры.

Рисунок 7. Карта облака точек, собранная самостоятельно.

Результаты позиционирования

На рисунке 8 показаны результаты реконструкции Colmap-PCD и оригинального Colmap. Левая и средняя панели показывают результаты реконструкции Colmap-PCD. Левое изображение включает карту LiDAR и точки 3D-реконструкции, а среднее изображение показывает только точки 3D-реконструкции. На изображении справа показаны результаты реконструкции Colmap, включая карту LiDAR и точки 3D-реконструкции. Красная пирамида представляет позу камеры. Очевидно, что результаты реконструкции почти идеально совпадают с картой, созданной LiDAR, что указывает на то, что карта облака точек LiDAR обеспечивает положительные ограничения в процессе локализации изображения. Однако масштаб картирования оригинальной Colmap значительно отличается от реальной среды.

Рисунок 8: Результаты реконструкции Colmap-PCD и Colmap.

На рисунке 9 показаны результаты инверсии изображения в облако точек LiDAR, что, очевидно, очень точно. Этот результат показывает, что Colmap-PCD способен достичь точности, необходимой для локализации изображений.

Рисунок 9: Облако цветовых точек.

Влияние точек LiDAR на позиционирование изображения

В ходе первого эксперимента оценивалось количество самолетов LiDAR, которые можно было бы использовать для улучшения процесса оценки ориентации. Поиск плоскостей по ассоциации «точка-плоскость». Как показано на рисунке 10.,Ось X представляет количество решенных поз изображения.,Ось Y представляет количество плоскостей LiDAR, использованных за одну итерацию. Фиолетовая линия представляет собой совпадение плоскости LiDAR и 3D-точки, полученной с помощью проекции.,Желтая линия представляет общее количество успешно связанных самолетов LiDAR с помощью поиска и проекции ближайшего соседа. Можно заметить, что большое количество плоскостей LiDAR способствуют локализации изображения.

Рисунок 10: Приращение Регулировки связки Количество самолетов, использованных в(крытый,Открытый 1,Открытый 2)

Второй эксперимент показывает тенденцию изменения расстояния от точки до плоскости до и после каждой локальной регулировки луча. Как показано на рисунке 11.,Расстояние сходится к минимуму после каждой итерации,Показывает, что 3D-точки можно хорошо совместить с соответствующими местоположениями на карте облака точек.

Рисунок 11. Расстояние между 3D-точками и соответствующими плоскостями LiDAR (внутри, снаружи 1, снаружи 2).

Тяжелый анализ ошибок проекции

Этот эксперимент показывает изменение большой ошибки проекции. Как показано на рисунке 12.,Фиолетовая линия представляет собой среднюю ошибку веса.,Желтая область отображает распределение ковариации ошибок тяжелой проекции.

Рисунок 12: Серьезная ошибка проекции (внутри помещения).,Открытый 1,Открытый 2)

Мы сделали первые изображения, близкие к оригиналу карты LiDAR.,Поэтому исходное положение и ориентация установлены на 0. Как показано в Таблице I,Исходное изображение финальных результатов шоу,По мере увеличения количества изображений,Несмотря на то, что обеспечивается относительно большая ошибка начального положения,Поза исходного изображения также может постепенно приближаться к правильному результату.

Подвести итог

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

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose