Aller au contenu principal

Démarrage Rapide

Ce guide vous aidera à démarrer rapidement avec le SDK MipMapEngine. Nous fournissons des scripts d'exemple complets qui vous permettent d'exécuter votre première tâche de reconstruction 3D en quelques minutes.

📋 Prérequis

Avant de commencer, assurez-vous d'avoir :

  1. ✅ Installé le SDK (voir Guide d'Installation)
  2. ✅ Activé votre licence

🚀 Expérience Rapide : Utilisation des Scripts d'Exemple du SDK

Le SDK fournit des exemples complets et des scripts d'exécution en un clic dans le répertoire example :

example/
├── 1_reconstruct_full_basic.json # Exemple de reconstruction de base
├── 2_group_cameras.json # Exemple de groupes multi-caméras
├── 3_custom_image_pos.json # Exemple de position personnalisée
├── sample-images/ # Images d'exemple
├── 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

Exécutez Votre Première Reconstruction

Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat

Le script va automatiquement :

  1. Utiliser les images d'exemple de sample-images
  2. Créer le répertoire de sortie
  3. Démarrer le processus de reconstruction 3D
  4. Générer des résultats dans plusieurs formats

🎯 Détails des Exemples

Exemple 1 : Reconstruction de Base par Drone

C'est la méthode la plus simple à utiliser, adaptée aux images aériennes standard de drones.

Caractéristiques :

  • ✅ Configuration minimale, prête à l'emploi, adaptée à la plupart des applications
  • ✅ Compatible sans problème avec les principaux drones d'arpentage DJI

Fichier de Configuration (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"
}
// ... plus d'images
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_obj": true,
"generate_geotiff": true
}

Exécution Manuelle :

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

Exemple 2 : Reconstruction Multi-Groupes de Caméras

Adapté aux caméras obliques multi-objectifs ou aux opérations collaboratives multi-drones.

Step4_Run_Example2_Multi_Camera_Groups_EN.bat

Scénarios d'Application :

  • 🔸 Systèmes de caméras obliques à cinq objectifs
  • 🔸 Opérations collaboratives multi-drones
  • 🔸 Combinaisons de caméras à focales différentes
  • 🔸 Collecte conjointe sol + aérien

Configuration Clé :

{
"image_meta_data": [
{
"id": 1,
"path": "image1.jpg",
"group": "camera_1" // Regroupement de caméras
},
{
"id": 2,
"path": "image2.jpg",
"group": "camera_2" // Groupe de caméras différent
}
]
}

Exemple 3 : Positions d'Images Personnalisées

Adapté au positionnement haute précision ou aux scénarios sans GPS.

Step5_Custom_Image_Positions_EN.bat

Scénarios d'Application :

  • 📍 Données de positionnement haute précision PPK/RTK
  • 📍 Environnements intérieurs ou signal GPS faible
  • 📍 Besoin de personnaliser les poids de précision de position

Configuration Clé :

{
"image_meta_data": [
{
"id": 1,
"path": "image.jpg",
"meta_data": {
"width": 4000,
"height": 3000,
"pos": [114.123456, 22.123456, 100.5], // [Longitude, Latitude, Élévation]
"pos_sigma": [0.03, 0.03, 0.06] // [Précision X, Précision Y, Précision Z] mètres
}
}
]
}

Référence de Précision :

Méthode de PositionnementPrécision X/Y (m)Précision Z (m)Scénario d'Application
Solution Fixe RTK/PPK0.02-0.050.05-0.10Arpentage haute précision
GPS Régulier2-53-8Applications générales

📊 Voir les Résultats de Sortie

Après la fin de la reconstruction, le répertoire de sortie contiendra :

  • 📁 3D/ - Modèles 3D
    • model-b3dm/ - 3D Tiles (Cesium)
    • model-osgb/ - Format OSGB
    • model-obj/ - Format OBJ
    • point-las/ - Nuage de points LAS
  • 📁 2D/ - Produits 2D
    • dom_tiles/ - Tuiles orthophotos
    • dsm_tiles/ - Tuiles du modèle numérique de surface
    • geotiffs/ - Format GeoTIFF
  • 📁 AT/ - Résultats AT
  • 📁 report/ - Rapport de qualité
  • 📁 logs/log.txt - Journal de traitement

🛠️ Générateur de Configuration Interactif

Si vous ne voulez pas écrire manuellement des fichiers de configuration JSON, vous pouvez utiliser notre outil interactif pour les générer rapidement :

🔧 Générateur de configuration interactif

Utilisez le formulaire ci-dessous pour générer votre fichier de configuration :

Paramètres de base

Paramètres de traitement

Paramètres du système de coordonnées

Formats de sortie

Modèle 3D
Nuage de points
Ortho-photo 2D
Autres formats

Options avancées

Options des tuiles 3D
Options des tuiles 2D

Points de contrôle au sol (GCP)

Système de coordonnées de sortie (optionnel)

Fichier de configuration généré

Enregistrez le JSON ci-dessous sous 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"
}
]
}

Valider et exécuter

1. Validez d'abord le fichier de configuration :

task_json_check.exe -task_json task.json

2. Après validation, lancez la reconstruction :

reconstruct_full_engine.exe -reconstruct_type 0 -task_json task.json

🎯 Personnalisez Votre Premier Projet

Basé sur les exemples, créez votre propre fichier de configuration :

1. Copier la Configuration d'Exemple

copy 1_reconstruct_full_basic.json my_project.json

2. Modifier les Chemins d'Images

Éditez my_project.json et changez les chemins d'images vers vos images :

{
"image_meta_data": [
{
"id": 1,
"path": "C:/MyImages/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/MyImages/DJI_0002.JPG"
}
// ... ajoutez toutes les images
]
}

3. Valider le Fichier de Configuration

Avant d'exécuter la reconstruction, utilisez l'outil task_json_check.exe pour valider le fichier de configuration :

task_json_check.exe my_project.json

S'il y a des erreurs dans le fichier de configuration, l'outil affichera des messages d'erreur spécifiques. Les erreurs courantes incluent :

  • Le chemin de l'image n'existe pas
  • Erreur de paramètre du système de coordonnées
  • Champs obligatoires manquants

4. Exécuter la Reconstruction

Après que le fichier de configuration passe la validation, exécutez la tâche de reconstruction :

reconstruct_full_engine.exe -reconstruct_type 0 -task_json my_project.json

📊 Surveiller la Progression

Sortie Console

Affiche les étapes de traitement et le pourcentage de progression.

Fichier Journal

output/logs/log.txt contient des informations détaillées sur le traitement.

Script de Surveillance de Progression

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"Progression actuelle : {match.group(1)}%")
time.sleep(1)

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

❓ Problèmes Courants

Q : La reconstruction a échoué avec "Nombre insuffisant d'images"

R : Assurez-vous que :

  • Au moins 5 images sont fournies
  • Chevauchement suffisant entre les images (recommandé >60%)
  • Les images contiennent des informations GPS ou fournissez manuellement les positions
Q : Comment améliorer la qualité de reconstruction ?

R : Ajustez le niveau de résolution :

"resolution_level": 1  // Utiliser la plus haute précision
Q : Reconstruction trop lente ?

R : Stratégies d'optimisation :

  • Utilisez resolution_level: 3 pour un aperçu rapide
  • Activez fast_mode: true
  • Envisagez d'utiliser le traitement par blocs

💡 Conseils Pratiques

Génération de Configuration par Lots

Pour un grand nombre d'images, utilisez des scripts pour générer automatiquement des configurations :

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"Fichier de configuration généré : {output_file}")
print(f"Contient {len(images)} images")

# Utilisation
create_task_json("C:/MyImages", "batch_task.json")

🚀 Prochaines Étapes

Félicitations ! Vous maîtrisez l'utilisation de base du SDK MipMapEngine. Ensuite, vous pouvez :

  • 📚 Apprendre les Concepts de Base - Comprendre en profondeur les principes de reconstruction 3D
  • 🔧 Consulter la Référence API - Explorer plus de fonctionnalités avancées
  • 💡 Revoir les Concepts de Base - Comprendre en profondeur les principes de reconstruction 3D
  • 🎯 Essayer le traitement de scènes spéciales - Scénarios difficiles comme texture faible, faible taux de chevauchement

Besoin d'aide ? Consultez le guide de dépannage ou contactez le support technique.