Быстрый старт
Это руководство поможет вам быстро начать работу с MipMapEngine SDK. Мы предоставляем полные примеры скриптов, которые позволяют запустить вашу первую задачу 3D-реконструкции за считанные минуты.
📋 Предварительные требования
Перед началом убедитесь, что у вас есть:
- ✅ Установлен SDK (см. Руководство по установке)
- ✅ Активирована лицензия
🚀 Быстрый опыт: Использование примеров скриптов 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
Скрипт автоматически:
- Использует примеры изображений из
sample-images - Создает выходной каталог
- Запускает процесс 3D-реконструкции
- Генерирует результаты в нескольких форматах
🎯 Детали примеров
Пример 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/PPK | 0.02-0.05 | 0.05-0.10 | Высокоточная съемка |
| Обычный GPS | 2-5 | 3-8 | Общие приложения |
📊 Просмотр выходных результатов
После завершения реконструкции выходной каталог будет содержать:
- 📁
3D/- 3D-моделиmodel-b3dm/- 3D Tiles (Cesium)model-osgb/- Формат OSGBmodel-obj/- Формат OBJpoint-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:
{
"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-реконструкции
- 🎯 Попробовать обработку специальных сцен - Сложные сценарии, такие как слабая текстура, низкая степень перекрытия
Нужна помощь? Проверьте руководство по устранению неполадок или обратитесь в техническую поддержку.