Reconstruct3D - Reconstruction 3D
Aperçu
L'interface Reconstruct3D est utilisée pour générer des modèles 2D et 3D à partir des résultats de triangulation aérienne. Elle est typiquement utilisée avec ReconstructAT pour compléter le flux de travail de reconstruction complet. Cette interface prend en charge plusieurs formats de sortie, le traitement par blocs et le contrôle fin des paramètres.
Scénarios Applicables
- Générer des modèles 3D à partir des résultats de triangulation aérienne
- Générer des orthophotos et des modèles numériques de surface
- Reconstruction par blocs pour des données à grande échelle
- Besoin de formats de sortie spécifiques
Utilisation de l'Interface
Utilisation en Ligne de Commande
reconstruct_full_engine.exe -reconstruct_type 2 -task_json 3d_config.json
Description des Paramètres
reconstruct_type
: Fixé à2
(indique Reconstruct3D)task_json
: Chemin du fichier de configuration
Paramètres de Configuration
Paramètres Requis
Paramètre | Type | Description |
---|---|---|
license_id | int | Code de licence SDK, unifié comme 9200 |
working_dir | string | Répertoire de travail (doit être identique à la triangulation aérienne) |
gdal_folder | string | Chemin des données GDAL |
input_image_type | int | Type d'image: 1=RGB, 2=Multispectral, 3=Infrarouge |
image_meta_data | JSON Array | Informations de métadonnées des images d'entrée |
resolution_level | int | Précision de reconstruction: 1=Haute précision, 2=Précision moyenne, 3=Basse précision |
Paramètres Optionnels
Paramètres de Base
Paramètre | Type | Défaut | Description |
---|---|---|---|
reconstruct_mode | int | 0 | Mode de reconstruction: 0=Scène générale, 1=Scène environnante, 2=Scène de ligne électrique |
min_avali_memory_size | double | 0 | Taille minimale de mémoire disponible (GB), utilisée pour contrôler la quantité de blocs |
fast_mode | bool | false | Mode rapide, améliore l'efficacité mais réduit les détails |
keep_undistort_images | bool | false | Si conserver les images non déformées |
Contrôle du Format de Sortie
Paramètre | Type | Défaut | Description |
---|---|---|---|
generate_osgb | bool | false | Générer un modèle 3D au format OSGB |
generate_3d_tiles | bool | false | Générer au format 3D Tiles (b3dm) |
generate_las | bool | false | Générer un nuage de points au format LAS |
generate_pc_ply | bool | false | Générer un nuage de points au format PLY |
generate_pc_osgb | bool | false | Générer un nuage de points LOD au format OSGB |
generate_pc_pnts | bool | false | Générer un nuage de points LOD au format pnts |
generate_obj | bool | false | Générer un maillage texturé au format OBJ |
generate_ply | bool | false | Générer un maillage texturé au format PLY |
generate_geotiff | bool | false | Générer une orthophoto au format GeoTIFF |
generate_tile_2D | bool | false | Effectuer le découpage en tuiles sur l'orthophoto |
generate_2D_from_3D_model | bool | false | Générer une orthophoto 2D à partir du modèle 3D |
Paramètres Avancés
Paramètre | Type | Défaut | Description |
---|---|---|---|
use_draco_compression | bool | true | Si utiliser la compression Draco pour 3D Tiles |
tex_image_type_3dtiles | int | 0 | Format de texture 3D Tiles: 0=JPEG, 1=WebP |
use_gcj02 | bool | false | Si convertir les tuiles d'orthophoto vers le système de coordonnées GCJ02 |
coordinate_system_3d | JSON | - | Système de coordonnées pour la sortie 3D |
coordinate_system_2d | JSON | - | Système de coordonnées pour la sortie 2D |
roi_for_2d | JSON | - | Région d'intérêt pour la reconstruction 2D |
roi_for_3d | JSON | - | Région d'intérêt pour la reconstruction 3D |
roi_coordinate_system | JSON | WGS84 | Système de coordonnées pour ROI |
Description de la Structure des Données
Métadonnées de Caméra
{
"id": 1, // ID unique de caméra
"meta_data": {
"camera_name": "Camera-1", // Nom de la caméra
"projection_model": 0, // Modèle de projection (optionnel)
"width": 4000, // Largeur du capteur (pixels)
"height": 3000, // Hauteur du capteur (pixels)
"parameters": [ // Intrinsèques de caméra (tableau de 10 éléments)
// fx, fy, cx, cy, k1, k2, p1, p2, k3,placeholder_param
]
}
}
ROI (Région d'Intérêt)
{
"boundary": [ // Limite de polygone 2D (sens antihoraire)
[x1, y1],
[x2, y2],
[x3, y3]
// ...
],
"min_z": 100.0, // Élévation minimale (optionnel)
"max_z": 500.0 // Élévation maximale (optionnel)
}
Paramètres du Système de Coordonnées de Sortie
{
"coordinate_system_3d": {
"type": 3, // Système de coordonnées projetées
"epsg_code": 32650 // UTM Zone 50N
},
"coordinate_system_2d": {
"type": 2, // Système de coordonnées géographiques
"epsg_code": 4326 // WGS84
}
}
Exemples de Configuration Complète
Reconstruction 3D de Base
{
"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
}
Configuration de Reconstruction Haute Précision
{
"license_id": 9200,
"working_dir": "C:/Projects/HighQuality_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1, // Précision maximale
"reconstruct_mode": 0, // Scène générale
"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
}
}
Reconstruction par Blocs de Données à Grande Échelle
{
"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, // Limiter chaque bloc à maximum 16GB de mémoire
"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 // Utiliser la compression de texture WebP
}
Configuration de Scène Spéciale
Reconstruction d'Objet Environnant
{
"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, // Mode scène environnante
"image_meta_data": [...],
"generate_obj": true,
"generate_ply": true,
"coordinate_system_3d": {
"type": 1 // Système de coordonnées local
}
}
Générer Uniquement l'Orthophoto
{
"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": [...] // Spécifier l'étendue de l'orthophoto
},
"coordinate_system_2d": {
"type": 3,
"epsg_code": 32650
}
}
Résultats de Sortie
Sortie de Modèle 3D (products/3D/
)
model-osgb/
- Modèle et LOD au format OSGBmodel-b3dm/
- Format 3D Tiles (avec tileset.json)model-obj/
- Modèle et textures au format OBJpoint-las/
- Nuage de points au format LASpoint-ply/
- Nuage de points au format PLYpoint-osgb/
- Nuage de points LOD au format OSGBpoint-pnts/
- Format nuage de points 3D Tiles
Sortie de Produit 2D (products/2D/
)
geotiffs/
- Orthophoto et DSM au format GeoTIFFdom_tiles/
- Tuiles d'orthophotodsm_tiles/
- Tuiles de modèle numérique de surface
Résultats Intermédiaires (milestones/
)
undistorted/
- Images non déformées (si conservées)depth_maps/
- Cartes de profondeurmesh/
- Données de maillage intermédiaire
Description du Niveau de Résolution
Niveau | Description | Temps de Traitement Relatif | Scénarios d'Application |
---|---|---|---|
1 | Précision ultra-haute | 3-5x | Arpentage professionnel, protection du patrimoine culturel |
2 | Haute précision | 1x | Applications d'ingénierie générale |
3 | Aperçu rapide | 0.2-0.3x | Validation rapide, aperçu |
Équilibre Entre Précision et Efficacité
- resolution_level=1: Détail géométrique maximal et clarté de texture
- resolution_level=2: Équilibre qualité et efficacité, recommandé pour la plupart des applications
- resolution_level=3: Traitement rapide, adapté à la validation préliminaire
Meilleures Pratiques
1. Gestion de la Mémoire
Pour des données à grande échelle:
{
"min_avali_memory_size": 24.0, // Définir selon la mémoire disponible
"resolution_level": 2 // Considérer réduire la précision
}
2. Sélection du Format de Sortie
- Affichage Web: Utiliser 3D Tiles + compression Draco
- Analyse SIG: Générer GeoTIFF et LAS
- Logiciel Professionnel: Utiliser le format OSGB
- Édition et Traitement: Exporter OBJ ou PLY
3. Paramètres du Système de Coordonnées
- Les modèles 3D utilisent typiquement des systèmes de coordonnées projetées (ex. UTM)
- Les orthophotos peuvent utiliser des systèmes géographiques ou projetés selon les besoins
- Considérer utiliser WGS84 pour les applications web
4. Utilisation de ROI
- Utiliser le ROI généré à partir de la triangulation aérienne comme base
- Ajuster la plage selon les besoins
- Définir des ROI séparés pour 2D et 3D
Optimisation des Performances
Traitement Rapide
{
"resolution_level": 3,
"fast_mode": true,
"generate_3d_tiles": true, // Générer uniquement les formats nécessaires
"use_draco_compression": true
}
Sortie Haute Qualité
{
"resolution_level": 1,
"fast_mode": false,
"keep_undistort_images": true, // Conserver les résultats intermédiaires pour inspection
"generate_obj": true, // Générer un maillage haute qualité
"generate_geotiff": true
}
Questions Communes
Q: Erreur "Impossible de trouver les résultats de triangulation aérienne"
R: S'assurer que:
working_dir
est le même que celui utilisé dans ReconstructAT- La triangulation aérienne s'est terminée avec succès
- Le répertoire milestones contient le fichier mvs.xml
Q: Erreur de mémoire insuffisante
R:
- Définir
min_avali_memory_size
pour limiter l'utilisation mémoire - Réduire
resolution_level
- Utiliser DivideTiles pour le pré-blocage
Q: Coordonnées de sortie incorrectes
R:
- Vérifier les paramètres
coordinate_system_3d/2d
- Confirmer que le système de coordonnées ROI correspond aux données
- Vérifier que le chemin des données GDAL est correct
Prochaines Étapes
- Vérifier Détails du Format de Sortie
- Apprendre le Traitement par Blocs pour les données à grande échelle
- Étudier Concepts de Base pour optimiser la qualité de reconstruction
Note: Reconstruct3D fournit des options de sortie riches. Il est recommandé de valider d'abord avec une précision faible, puis de procéder avec une reconstruction haute qualité.