Перейти к основному содержимому

Reconstruct3D - 3D-реконструкция

Обзор

Интерфейс Reconstruct3D используется для генерации 2D и 3D моделей из результатов воздушной триангуляции. Обычно используется с ReconstructAT для завершения полного рабочего процесса реконструкции. Этот интерфейс поддерживает множественные форматы вывода, блочную обработку и детальное управление параметрами.

Применимые сценарии
  • Генерация 3D моделей из результатов воздушной триангуляции
  • Генерация ортофотопланов и цифровых моделей поверхности
  • Блочная реконструкция для данных большого масштаба
  • Необходимость в специфических форматах вывода

Использование интерфейса

Использование командной строки

reconstruct_full_engine.exe -reconstruct_type 2 -task_json 3d_config.json

Описание параметров

  • reconstruct_type: Фиксированное значение 2 (обозначает Reconstruct3D)
  • task_json: Путь к файлу конфигурации

Параметры конфигурации

Обязательные параметры

ПараметрТипОписание
license_idintКод лицензии SDK, унифицированный как 9200
working_dirstringРабочая директория (должна совпадать с воздушной триангуляцией)
gdal_folderstringПуть к данным GDAL
input_image_typeintТип изображения: 1=RGB, 2=Мультиспектральный, 3=Инфракрасный
image_meta_dataJSON ArrayИнформация метаданных входных изображений
resolution_levelintТочность реконструкции: 1=Высокая точность, 2=Средняя точность, 3=Низкая точность

Опциональные параметры

Базовые параметры

ПараметрТипПо умолчаниюОписание
reconstruct_modeint0Режим реконструкции: 0=Общая сцена, 1=Окружающая сцена, 2=Сцена линии электропередач
min_avali_memory_sizedouble0Минимальный размер доступной памяти (GB), используется для контроля количества блоков
fast_modeboolfalseБыстрый режим, улучшает эффективность, но снижает детализацию
keep_undistort_imagesboolfalseСохранять ли неискаженные изображения

Управление форматом вывода

ПараметрТипПо умолчаниюОписание
generate_osgbboolfalseГенерировать 3D модель в формате OSGB
generate_3d_tilesboolfalseГенерировать формат 3D Tiles (b3dm)
generate_lasboolfalseГенерировать облако точек в формате LAS
generate_pc_plyboolfalseГенерировать облако точек в формате PLY
generate_pc_osgbboolfalseГенерировать облако точек LOD в формате OSGB
generate_pc_pntsboolfalseГенерировать облако точек LOD в формате pnts
generate_objboolfalseГенерировать текстурированную сетку в формате OBJ
generate_plyboolfalseГенерировать текстурированную сетку в формате PLY
generate_geotiffboolfalseГенерировать ортофотоплан в формате GeoTIFF
generate_tile_2DboolfalseВыполнить нарезку тайлов на ортофотоплане
generate_2D_from_3D_modelboolfalseГенерировать 2D ортофотоплан из 3D модели

Расширенные параметры

ПараметрТипПо умолчаниюОписание
use_draco_compressionbooltrueИспользовать ли сжатие Draco для 3D Tiles
tex_image_type_3dtilesint0Формат текстуры 3D Tiles: 0=JPEG, 1=WebP
use_gcj02boolfalseКонвертировать ли тайлы ортофотоплана в систему координат GCJ02
coordinate_system_3dJSON-Система координат для 3D вывода
coordinate_system_2dJSON-Система координат для 2D вывода
roi_for_2dJSON-Область интереса для 2D реконструкции
roi_for_3dJSON-Область интереса для 3D реконструкции
roi_coordinate_systemJSONWGS84Система координат для ROI

Описание структуры данных

Метаданные камеры

{
"id": 1, // Уникальный ID камеры
"meta_data": {
"camera_name": "Camera-1", // Имя камеры
"projection_model": 0, // Модель проекции (опционально)
"width": 4000, // Ширина сенсора (пиксели)
"height": 3000, // Высота сенсора (пиксели)
"parameters": [ // Внутренние параметры камеры (массив из 10 элементов)
// fx, fy, cx, cy, k1, k2, p1, p2, k3,placeholder_param
]
}
}

ROI (Область интереса)

{
"boundary": [ // Граница 2D полигона (против часовой стрелки)
[x1, y1],
[x2, y2],
[x3, y3]
// ...
],
"min_z": 100.0, // Минимальная высота (опционально)
"max_z": 500.0 // Максимальная высота (опционально)
}

Настройки системы координат вывода

{
"coordinate_system_3d": {
"type": 3, // Проекционная система координат
"epsg_code": 32650 // UTM Zone 50N
},
"coordinate_system_2d": {
"type": 2, // Географическая система координат
"epsg_code": 4326 // WGS84
}
}

Примеры полной конфигурации

Базовая 3D реконструкция

{
"license_id": 9200,
"working_dir": "C:/Projects/3D_Task",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"image_meta_data": [
{
"id": 1,
"path": "C:/Images/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/Images/DJI_0002.JPG"
}
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_geotiff": true
}

Конфигурация высокоточной реконструкции

{
"license_id": 9200,
"working_dir": "C:/Projects/HighQuality_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1, // Максимальная точность
"reconstruct_mode": 0, // Общая сцена
"image_meta_data": [...],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_obj": true,
"generate_geotiff": true,
"generate_tile_2D": true,
"coordinate_system_3d": {
"type": 3,
"epsg_code": 32650 // UTM 50N
},
"coordinate_system_2d": {
"type": 2,
"epsg_code": 4326 // WGS84
}
}

Блочная реконструкция данных большого масштаба

{
"license_id": 9200,
"working_dir": "C:/Projects/LargeScale_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"min_avali_memory_size": 16.0, // Ограничить каждый блок максимум 16GB памяти
"image_meta_data": [...],
"roi_for_3d": {
"boundary": [
[114.12, 22.12],
[114.13, 22.12],
[114.13, 22.13],
[114.12, 22.13]
],
"min_z": 0,
"max_z": 500
},
"generate_3d_tiles": true,
"use_draco_compression": true,
"tex_image_type_3dtiles": 1 // Использовать сжатие текстуры WebP
}

Конфигурация специальной сцены

Реконструкция окружающего объекта

{
"license_id": 9200,
"working_dir": "C:/Projects/Object_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1,
"reconstruct_mode": 1, // Режим окружающей сцены
"image_meta_data": [...],
"generate_obj": true,
"generate_ply": true,
"coordinate_system_3d": {
"type": 1 // Локальная система координат
}
}

Генерация только ортофотоплана

{
"license_id": 9200,
"working_dir": "C:/Projects/Ortho_Only",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"image_meta_data": [...],
"generate_geotiff": true,
"generate_tile_2D": true,
"generate_2D_from_3D_model": true,
"roi_for_2d": {
"boundary": [...] // Указать протяженность ортофотоплана
},
"coordinate_system_2d": {
"type": 3,
"epsg_code": 32650
}
}

Результаты вывода

Вывод 3D модели (products/3D/)

  • model-osgb/ - Модель и LOD в формате OSGB
  • model-b3dm/ - Формат 3D Tiles (с tileset.json)
  • model-obj/ - Модель и текстуры в формате OBJ
  • point-las/ - Облако точек в формате LAS
  • point-ply/ - Облако точек в формате PLY
  • point-osgb/ - Облако точек LOD в формате OSGB
  • point-pnts/ - Формат облака точек 3D Tiles

Вывод 2D продукта (products/2D/)

  • geotiffs/ - Ортофотоплан и DSM в формате GeoTIFF
  • dom_tiles/ - Тайлы ортофотоплана
  • dsm_tiles/ - Тайлы цифровой модели поверхности

Промежуточные результаты (milestones/)

  • undistorted/ - Неискаженные изображения (если сохранены)
  • depth_maps/ - Карты глубины
  • mesh/ - Промежуточные данные сетки

Описание уровня разрешения

УровеньОписаниеОтносительное время обработкиСценарии применения
1Сверхвысокая точность3-5xПрофессиональная съемка, охрана культурного наследия
2Высокая точность1xОбщие инженерные приложения
3Быстрый предпросмотр0.2-0.3xБыстрая валидация, предпросмотр

Баланс между точностью и эффективностью

  • resolution_level=1: Максимальная геометрическая детализация и четкость текстуры
  • resolution_level=2: Баланс качества и эффективности, рекомендуется для большинства приложений
  • resolution_level=3: Быстрая обработка, подходит для предварительной валидации

Лучшие практики

1. Управление памятью

Для данных большого масштаба:

{
"min_avali_memory_size": 24.0, // Установить в зависимости от доступной памяти
"resolution_level": 2 // Рассмотреть снижение точности
}

2. Выбор формата вывода

  • Веб-отображение: Использовать 3D Tiles + сжатие Draco
  • ГИС анализ: Генерировать GeoTIFF и LAS
  • Профессиональное ПО: Использовать формат OSGB
  • Редактирование и обработка: Экспортировать OBJ или PLY

3. Настройки системы координат

  • 3D модели обычно используют проекционные системы координат (например, UTM)
  • Ортофотопланы могут использовать географические или проекционные системы в зависимости от потребностей
  • Рассмотреть использование WGS84 для веб-приложений

4. Использование ROI

  • Использовать ROI, сгенерированный из воздушной триангуляции, как основу
  • Корректировать диапазон в соответствии с потребностями
  • Установить отдельные ROI для 2D и 3D

Оптимизация производительности

Быстрая обработка

{
"resolution_level": 3,
"fast_mode": true,
"generate_3d_tiles": true, // Генерировать только необходимые форматы
"use_draco_compression": true
}

Высококачественный вывод

{
"resolution_level": 1,
"fast_mode": false,
"keep_undistort_images": true, // Сохранить промежуточные результаты для проверки
"generate_obj": true, // Генерировать высококачественную сетку
"generate_geotiff": true
}

Часто задаваемые вопросы

В: Ошибка "Невозможно найти результаты воздушной триангуляции"

О: Убедиться:

  • working_dir тот же, что использовался в ReconstructAT
  • Воздушная триангуляция завершена успешно
  • Директория milestones содержит файл mvs.xml

В: Ошибка нехватки памяти

О:

  • Установить min_avali_memory_size для ограничения использования памяти
  • Снизить resolution_level
  • Использовать DivideTiles для предварительного блокирования

В: Неправильные координаты вывода

О:

  • Проверить настройки coordinate_system_3d/2d
  • Подтвердить, что система координат ROI соответствует данным
  • Проверить корректность пути к данным GDAL

Следующие шаги


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