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

Быстрый старт

Это руководство поможет вам быстро начать работу с MipMapEngine SDK. Мы предоставляем полные примеры скриптов, которые позволяют запустить вашу первую задачу 3D-реконструкции за считанные минуты.

📋 Предварительные требования

Перед началом убедитесь, что у вас есть:

  1. ✅ Установлен SDK (см. Руководство по установке)
  2. ✅ Активирована лицензия

🚀 Быстрый опыт: Использование примеров скриптов SDK

SDK предоставляет полные примеры и скрипты для запуска одним щелчком в каталоге example:

example/
├── 1_reconstruct_full_basic.json # Пример базовой реконструкции
├── 2_group_cameras.json # Пример мультикамерных групп
├── 3_custom_image_pos.json # Пример пользовательских позиций
├── sample-images/ # Примеры изображений
├── Step1_Hardware_Check_EN.bat
├── Step2_License_Manager_EN.bat
├── Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat
├── Step4_Run_Example2_Multi_Camera_Groups_EN.bat
└── Step5_Custom_Image_Positions_EN.bat

Запустите вашу первую реконструкцию

Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat

Скрипт автоматически:

  1. Использует примеры изображений из sample-images
  2. Создает выходной каталог
  3. Запускает процесс 3D-реконструкции
  4. Генерирует результаты в нескольких форматах

🎯 Детали примеров

Пример 1: Базовая реконструкция с дрона

Это самый простой способ использования, подходящий для стандартных аэрофотоснимков с дрона.

Особенности:

  • ✅ Минимальная конфигурация, готово к использованию, подходит для большинства приложений
  • ✅ Беспрепятственно совместимо с основными геодезическими дронами DJI

Файл конфигурации (1_reconstruct_full_basic.json):

{
"working_dir": "./output/reconstruct_full_basic",
"gdal_folder": "../gdal_data",
"input_image_type": 1,
"resolution_level": 3,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": [
{
"id": 1,
"path": "../sample-images/DJI_20250507103417_0124_V.JPG"
},
{
"id": 2,
"path": "../sample-images/DJI_20250507103421_0125_V.JPG"
}
// ... больше изображений
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_obj": true,
"generate_geotiff": true
}

Ручной запуск:

reconstruct_full_engine.exe -reconstruct_type 0 -task_json 1_reconstruct_full_basic.json

Пример 2: Реконструкция с мультикамерными группами

Подходит для многолинзовых наклонных камер или совместных операций с несколькими дронами.

Step4_Run_Example2_Multi_Camera_Groups_EN.bat

Сценарии применения:

  • 🔸 Системы пятилинзовых наклонных камер
  • 🔸 Совместные операции с несколькими дронами
  • 🔸 Комбинации камер с разным фокусным расстоянием
  • 🔸 Совместный сбор наземных + воздушных данных

Ключевая конфигурация:

{
"image_meta_data": [
{
"id": 1,
"path": "image1.jpg",
"group": "camera_1" // Группировка камер
},
{
"id": 2,
"path": "image2.jpg",
"group": "camera_2" // Другая группа камер
}
]
}

Пример 3: Пользовательские позиции изображений

Подходит для высокоточного позиционирования или сценариев без GPS.

Step5_Custom_Image_Positions_EN.bat

Сценарии применения:

  • 📍 Данные высокоточного позиционирования PPK/RTK
  • 📍 Внутренние помещения или среды со слабым сигналом GPS
  • 📍 Необходимость настройки весов точности позиции

Ключевая конфигурация:

{
"image_meta_data": [
{
"id": 1,
"path": "image.jpg",
"meta_data": {
"width": 4000,
"height": 3000,
"pos": [114.123456, 22.123456, 100.5], // [Долгота, Широта, Высота]
"pos_sigma": [0.03, 0.03, 0.06] // [Точность X, Точность Y, Точность Z] метры
}
}
]
}

Справочник по точности:

Метод позиционированияТочность X/Y (м)Точность Z (м)Сценарий применения
Фиксированное решение RTK/PPK0.02-0.050.05-0.10Высокоточная съемка
Обычный GPS2-53-8Общие приложения

📊 Просмотр выходных результатов

После завершения реконструкции выходной каталог будет содержать:

  • 📁 3D/ - 3D-модели
    • model-b3dm/ - 3D Tiles (Cesium)
    • model-osgb/ - Формат OSGB
    • model-obj/ - Формат OBJ
    • point-las/ - Облако точек LAS
  • 📁 2D/ - 2D-продукты
    • dom_tiles/ - Тайлы ортофотоплана
    • dsm_tiles/ - Тайлы цифровой модели поверхности
    • geotiffs/ - Формат GeoTIFF
  • 📁 AT/ - Результаты AT
  • 📁 report/ - Отчет о качестве
  • 📁 logs/log.txt - Журнал обработки

🛠️ Интерактивный генератор конфигурации

Если вы не хотите вручную писать файлы конфигурации JSON, вы можете использовать наш интерактивный инструмент для их быстрого создания:

🔧 Интерактивный генератор конфигураций

Используйте форму ниже для создания файла конфигурации:

Базовые настройки

Параметры обработки

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

Форматы вывода

3D-модель
Облако точек
2D ортофото
Другие форматы

Расширенные настройки

Параметры 3D-тайлов
Параметры 2D-тайлов

Опорные точки (GCP)

Система координат вывода (опционально)

Сгенерированный файл конфигурации

Сохраните приведённый ниже JSON как task.json

task.json
{
"license_id": 9200,
"working_dir": "C:/Projects/MyProject",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"type_name": "Geographic",
"label": "WGS 84",
"epsg_code": 4326
},
"generate_obj": false,
"generate_ply": false,
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_fbx": false,
"generate_las": false,
"generate_pc_ply": false,
"generate_pc_osgb": false,
"generate_pc_pnts": false,
"generate_gs_ply": false,
"generate_gs_splats": false,
"generate_geotiff": true,
"generate_tile_2D": true,
"generate_2D_from_3D_model": false,
"generate_dsm_tile": false,
"fast_mode": false,
"use_image_position_constraint": true,
"min_avali_memory_size": 16,
"output_block_change_xml": false,
"output_tie_point_las": false,
"keep_undistort_images": false,
"use_draco_compression": true,
"tex_image_type_3dtiles": 0,
"use_gcj02": false,
"image_meta_data": [
{
"id": 1,
"path": "path/to/image1.jpg"
},
{
"id": 2,
"path": "path/to/image2.jpg"
}
]
}

Проверить и запустить

1. Сначала проверьте файл конфигурации:

task_json_check.exe -task_json task.json

2. После проверки выполните реконструкцию:

reconstruct_full_engine.exe -reconstruct_type 0 -task_json task.json

🎯 Настройте свой первый проект

На основе примеров создайте свой собственный файл конфигурации:

1. Скопируйте пример конфигурации

copy 1_reconstruct_full_basic.json my_project.json

2. Измените пути к изображениям

Отредактируйте my_project.json и измените пути к изображениям на ваши изображения:

{
"image_meta_data": [
{
"id": 1,
"path": "C:/MyImages/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/MyImages/DJI_0002.JPG"
}
// ... добавьте все изображения
]
}

3. Проверка файла конфигурации

Перед запуском реконструкции используйте инструмент task_json_check.exe для проверки файла конфигурации:

task_json_check.exe my_project.json

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

  • Путь к изображению не существует
  • Ошибка параметра системы координат
  • Отсутствуют обязательные поля

4. Запуск реконструкции

После того как файл конфигурации пройдет проверку, выполните задачу реконструкции:

reconstruct_full_engine.exe -reconstruct_type 0 -task_json my_project.json

📊 Мониторинг прогресса

Вывод консоли

Показывает этапы обработки и процент выполнения.

Файл журнала

output/logs/log.txt содержит подробную информацию об обработке.

Скрипт мониторинга прогресса

import re
import time

def monitor_progress(log_file):
with open(log_file, 'r') as f:
while True:
line = f.readline()
if '[PROGRESS]' in line:
match = re.search(r'\[PROGRESS\] (\d+)%', line)
if match:
print(f"Текущий прогресс: {match.group(1)}%")
time.sleep(1)

monitor_progress("output/logs/log.txt")

❓ Распространенные проблемы

В: Реконструкция не удалась с сообщением "Недостаточное количество изображений"

О: Убедитесь, что:

  • Предоставлено не менее 5 изображений
  • Достаточное перекрытие между изображениями (рекомендуется >60%)
  • Изображения содержат информацию GPS или вы вручную предоставляете позиции
В: Как улучшить качество реконструкции?

О: Отрегулируйте уровень разрешения:

"resolution_level": 1  // Использовать максимальную точность
В: Реконструкция слишком медленная?

О: Стратегии оптимизации:

  • Используйте resolution_level: 3 для быстрого предпросмотра
  • Включите fast_mode: true
  • Рассмотрите использование блочной обработки

💡 Практические советы

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

Для большого количества изображений используйте скрипты для автоматической генерации конфигураций:

import json
import os
from glob import glob

def create_task_json(image_folder, output_file):
images = glob(os.path.join(image_folder, "*.JPG"))

task_config = {
"working_dir": "./output/my_project",
"gdal_folder": "../gdal_data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": []
}

for idx, img_path in enumerate(images, 1):
task_config["image_meta_data"].append({
"id": idx,
"path": img_path.replace("\\", "/")
})

with open(output_file, 'w', encoding='utf-8') as f:
json.dump(task_config, f, indent=2, ensure_ascii=False)

print(f"Сгенерирован файл конфигурации: {output_file}")
print(f"Содержит {len(images)} изображений")

# Использование
create_task_json("C:/MyImages", "batch_task.json")

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

Поздравляем! Вы освоили базовое использование MipMapEngine SDK. Далее вы можете:

  • 📚 Изучить Основные концепции - Глубоко понять принципы 3D-реконструкции
  • 🔧 Проверить Справочник API - Изучить больше расширенных функций
  • 💡 Просмотреть Основные концепции - Глубоко понять принципы 3D-реконструкции
  • 🎯 Попробовать обработку специальных сцен - Сложные сценарии, такие как слабая текстура, низкая степень перекрытия

Нужна помощь? Проверьте руководство по устранению неполадок или обратитесь в техническую поддержку.