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 come2
(indica Reconstruct3D)task_json
: Percorso del file di configurazione
Parametri di Configurazione
Parametri Richiesti
Parametro | Tipo | Descrizione |
---|---|---|
license_id | int | Codice licenza SDK, unificato come 9200 |
working_dir | string | Directory di lavoro (deve essere uguale alla triangolazione aerea) |
gdal_folder | string | Percorso dati GDAL |
input_image_type | int | Tipo di immagine: 1=RGB, 2=Multispettrale, 3=Infrarosso |
image_meta_data | JSON Array | Informazioni metadati immagini di input |
resolution_level | int | Precisione ricostruzione: 1=Alta precisione, 2=Precisione media, 3=Bassa precisione |
Parametri Opzionali
Parametri Base
Parametro | Tipo | Predefinito | Descrizione |
---|---|---|---|
reconstruct_mode | int | 0 | Modalità ricostruzione: 0=Scena generale, 1=Scena circostante, 2=Scena linea elettrica |
min_avali_memory_size | double | 0 | Dimensione minima memoria disponibile (GB), utilizzata per controllare quantità blocchi |
fast_mode | bool | false | Modalità veloce, migliora efficienza ma riduce dettagli |
keep_undistort_images | bool | false | Se mantenere immagini non distorte |
Controllo Formato Output
Parametro | Tipo | Predefinito | Descrizione |
---|---|---|---|
generate_osgb | bool | false | Generare modello 3D formato OSGB |
generate_3d_tiles | bool | false | Generare formato 3D Tiles (b3dm) |
generate_las | bool | false | Generare nuvola punti formato LAS |
generate_pc_ply | bool | false | Generare nuvola punti formato PLY |
generate_pc_osgb | bool | false | Generare nuvola punti LOD formato OSGB |
generate_pc_pnts | bool | false | Generare nuvola punti LOD formato pnts |
generate_obj | bool | false | Generare mesh testurizzata formato OBJ |
generate_ply | bool | false | Generare mesh testurizzata formato PLY |
generate_geotiff | bool | false | Generare ortofoto formato GeoTIFF |
generate_tile_2D | bool | false | Eseguire taglio tessere su ortofoto |
generate_2D_from_3D_model | bool | false | Generare ortofoto 2D da modello 3D |
Parametri Avanzati
Parametro | Tipo | Predefinito | Descrizione |
---|---|---|---|
use_draco_compression | bool | true | Se utilizzare compressione Draco per 3D Tiles |
tex_image_type_3dtiles | int | 0 | Formato texture 3D Tiles: 0=JPEG, 1=WebP |
use_gcj02 | bool | false | Se convertire tessere ortofoto a sistema coordinate GCJ02 |
coordinate_system_3d | JSON | - | Sistema coordinate per output 3D |
coordinate_system_2d | JSON | - | Sistema coordinate per output 2D |
roi_for_2d | JSON | - | Regione di interesse per ricostruzione 2D |
roi_for_3d | JSON | - | Regione di interesse per ricostruzione 3D |
roi_coordinate_system | JSON | WGS84 | Sistema 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 OSGBmodel-b3dm/
- Formato 3D Tiles (con tileset.json)model-obj/
- Modello e texture formato OBJpoint-las/
- Nuvola punti formato LASpoint-ply/
- Nuvola punti formato PLYpoint-osgb/
- Nuvola punti LOD formato OSGBpoint-pnts/
- Formato nuvola punti 3D Tiles
Output Prodotto 2D (products/2D/
)
geotiffs/
- Ortofoto e DSM formato GeoTIFFdom_tiles/
- Tessere ortofotodsm_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
Livello | Descrizione | Tempo Elaborazione Relativo | Scenari Applicazione |
---|---|---|---|
1 | Precisione ultra-alta | 3-5x | Rilevamento professionale, protezione patrimonio culturale |
2 | Alta precisione | 1x | Applicazioni ingegneria generale |
3 | Anteprima veloce | 0.2-0.3x | Validazione 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
- Verificare Dettagli Formato Output
- Imparare Elaborazione Blocchi per dati larga scala
- Studiare Concetti Base per ottimizzare qualità ricostruzione
Nota: Reconstruct3D fornisce opzioni output ricche. È raccomandato validare prima con bassa precisione, poi procedere con ricostruzione alta qualità.