Passa al contenuto principale

Reconstruct3D - Ricostruzione 3D

Panoramica

L'interfaccia Reconstruct3D è utilizzata per generare modelli 2D e 3D dai risultati di triangolazione aerea. È tipicamente utilizzata con ReconstructAT per completare il flusso di lavoro di ricostruzione completo. Questa interfaccia supporta formati di output multipli, elaborazione a blocchi e controllo granulare dei parametri.

Scenari Applicabili
  • Generare modelli 3D dai risultati di triangolazione aerea
  • Generare ortofoto e modelli digitali di superficie
  • Ricostruzione a blocchi per dati su larga scala
  • Necessità di formati di output specifici

Utilizzo dell'Interfaccia

Utilizzo da Riga di Comando

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

Descrizione Parametri

  • reconstruct_type: Fisso come 2 (indica Reconstruct3D)
  • task_json: Percorso del file di configurazione

Parametri di Configurazione

Parametri Richiesti

ParametroTipoDescrizione
license_idintCodice licenza SDK, unificato come 9200
working_dirstringDirectory di lavoro (deve essere uguale alla triangolazione aerea)
gdal_folderstringPercorso dati GDAL
input_image_typeintTipo di immagine: 1=RGB, 2=Multispettrale, 3=Infrarosso
image_meta_dataJSON ArrayInformazioni metadati immagini di input
resolution_levelintPrecisione ricostruzione: 1=Alta precisione, 2=Precisione media, 3=Bassa precisione

Parametri Opzionali

Parametri Base

ParametroTipoPredefinitoDescrizione
reconstruct_modeint0Modalità ricostruzione: 0=Scena generale, 1=Scena circostante, 2=Scena linea elettrica
min_avali_memory_sizedouble0Dimensione minima memoria disponibile (GB), utilizzata per controllare quantità blocchi
fast_modeboolfalseModalità veloce, migliora efficienza ma riduce dettagli
keep_undistort_imagesboolfalseSe mantenere immagini non distorte

Controllo Formato Output

ParametroTipoPredefinitoDescrizione
generate_osgbboolfalseGenerare modello 3D formato OSGB
generate_3d_tilesboolfalseGenerare formato 3D Tiles (b3dm)
generate_lasboolfalseGenerare nuvola punti formato LAS
generate_pc_plyboolfalseGenerare nuvola punti formato PLY
generate_pc_osgbboolfalseGenerare nuvola punti LOD formato OSGB
generate_pc_pntsboolfalseGenerare nuvola punti LOD formato pnts
generate_objboolfalseGenerare mesh testurizzata formato OBJ
generate_plyboolfalseGenerare mesh testurizzata formato PLY
generate_geotiffboolfalseGenerare ortofoto formato GeoTIFF
generate_tile_2DboolfalseEseguire taglio tessere su ortofoto
generate_2D_from_3D_modelboolfalseGenerare ortofoto 2D da modello 3D

Parametri Avanzati

ParametroTipoPredefinitoDescrizione
use_draco_compressionbooltrueSe utilizzare compressione Draco per 3D Tiles
tex_image_type_3dtilesint0Formato texture 3D Tiles: 0=JPEG, 1=WebP
use_gcj02boolfalseSe convertire tessere ortofoto a sistema coordinate GCJ02
coordinate_system_3dJSON-Sistema coordinate per output 3D
coordinate_system_2dJSON-Sistema coordinate per output 2D
roi_for_2dJSON-Regione di interesse per ricostruzione 2D
roi_for_3dJSON-Regione di interesse per ricostruzione 3D
roi_coordinate_systemJSONWGS84Sistema coordinate per ROI

Descrizione Struttura Dati

Metadati Camera

{
"id": 1, // ID univoco camera
"meta_data": {
"camera_name": "Camera-1", // Nome della camera
"projection_model": 0, // Modello di proiezione (opzionale)
"width": 4000, // Larghezza sensore (pixel)
"height": 3000, // Altezza sensore (pixel)
"parameters": [ // Intrinseci camera (array 10 elementi)
// fx, fy, cx, cy, k1, k2, p1, p2, k3,placeholder_param
]
}
}

ROI (Regione di Interesse)

{
"boundary": [ // Confine poligono 2D (senso antiorario)
[x1, y1],
[x2, y2],
[x3, y3]
// ...
],
"min_z": 100.0, // Elevazione minima (opzionale)
"max_z": 500.0 // Elevazione massima (opzionale)
}

Impostazioni Sistema Coordinate Output

{
"coordinate_system_3d": {
"type": 3, // Sistema coordinate proiettato
"epsg_code": 32650 // UTM Zone 50N
},
"coordinate_system_2d": {
"type": 2, // Sistema coordinate geografico
"epsg_code": 4326 // WGS84
}
}

Esempi Configurazione Completa

Ricostruzione 3D 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
}

Configurazione Ricostruzione Alta Precisione

{
"license_id": 9200,
"working_dir": "C:/Projects/HighQuality_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1, // Precisione massima
"reconstruct_mode": 0, // Scena generale
"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
}
}

Ricostruzione Blocchi Dati Larga Scala

{
"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, // Limitare ogni blocco a massimo 16GB memoria
"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 // Utilizzare compressione texture WebP
}

Configurazione Scena Speciale

Ricostruzione Oggetto Circostante

{
"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, // Modalità scena circostante
"image_meta_data": [...],
"generate_obj": true,
"generate_ply": true,
"coordinate_system_3d": {
"type": 1 // Sistema coordinate locale
}
}

Generare Solo Ortofoto

{
"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": [...] // Specificare estensione ortofoto
},
"coordinate_system_2d": {
"type": 3,
"epsg_code": 32650
}
}

Risultati Output

Output Modello 3D (products/3D/)

  • model-osgb/ - Modello e LOD formato OSGB
  • model-b3dm/ - Formato 3D Tiles (con tileset.json)
  • model-obj/ - Modello e texture formato OBJ
  • point-las/ - Nuvola punti formato LAS
  • point-ply/ - Nuvola punti formato PLY
  • point-osgb/ - Nuvola punti LOD formato OSGB
  • point-pnts/ - Formato nuvola punti 3D Tiles

Output Prodotto 2D (products/2D/)

  • geotiffs/ - Ortofoto e DSM formato GeoTIFF
  • dom_tiles/ - Tessere ortofoto
  • dsm_tiles/ - Tessere modello digitale superficie

Risultati Intermedi (milestones/)

  • undistorted/ - Immagini non distorte (se mantenute)
  • depth_maps/ - Mappe profondità
  • mesh/ - Dati mesh intermedi

Descrizione Livello Risoluzione

LivelloDescrizioneTempo Elaborazione RelativoScenari Applicazione
1Precisione ultra-alta3-5xRilevamento professionale, protezione patrimonio culturale
2Alta precisione1xApplicazioni ingegneria generale
3Anteprima veloce0.2-0.3xValidazione veloce, anteprima

Equilibrio Tra Precisione ed Efficienza

  • resolution_level=1: Massimo dettaglio geometrico e chiarezza texture
  • resolution_level=2: Bilancia qualità ed efficienza, raccomandato per maggior parte applicazioni
  • resolution_level=3: Elaborazione veloce, adatta per validazione preliminare

Migliori Pratiche

1. Gestione Memoria

Per dati larga scala:

{
"min_avali_memory_size": 24.0, // Impostare basato su memoria disponibile
"resolution_level": 2 // Considerare riduzione precisione
}

2. Selezione Formato Output

  • Visualizzazione Web: Utilizzare 3D Tiles + compressione Draco
  • Analisi GIS: Generare GeoTIFF e LAS
  • Software Professionale: Utilizzare formato OSGB
  • Editing e Elaborazione: Esportare OBJ o PLY

3. Impostazioni Sistema Coordinate

  • I modelli 3D tipicamente utilizzano sistemi coordinate proiettati (es. UTM)
  • Le ortofoto possono utilizzare sistemi geografici o proiettati basato su necessità
  • Considerare utilizzo WGS84 per applicazioni web

4. Utilizzo ROI

  • Utilizzare ROI generato da triangolazione aerea come base
  • Regolare range secondo necessità
  • Impostare ROI separati per 2D e 3D

Ottimizzazione Prestazioni

Elaborazione Veloce

{
"resolution_level": 3,
"fast_mode": true,
"generate_3d_tiles": true, // Generare solo formati necessari
"use_draco_compression": true
}

Output Alta Qualità

{
"resolution_level": 1,
"fast_mode": false,
"keep_undistort_images": true, // Mantenere risultati intermedi per ispezione
"generate_obj": true, // Generare mesh alta qualità
"generate_geotiff": true
}

Domande Comuni

D: Errore "Impossibile trovare risultati triangolazione aerea"

R: Assicurarsi:

  • working_dir è lo stesso utilizzato in ReconstructAT
  • Triangolazione aerea completata con successo
  • Directory milestones contiene file mvs.xml

D: Errore memoria insufficiente

R:

  • Impostare min_avali_memory_size per limitare uso memoria
  • Ridurre resolution_level
  • Utilizzare DivideTiles per pre-blocco

D: Coordinate output incorrette

R:

  • Verificare impostazioni coordinate_system_3d/2d
  • Confermare che sistema coordinate ROI corrisponde ai dati
  • Verificare che percorso dati GDAL sia corretto

Prossimi Passi


Nota: Reconstruct3D fornisce opzioni output ricche. È raccomandato validare prima con bassa precisione, poi procedere con ricostruzione alta qualità.