OptimizeAT - Ottimizzazione AT Vincolata a Punti di Controllo
Panoramica
L'interfaccia OptimizeAT viene utilizzata per ottimizzare i risultati della triangolazione aerea utilizzando punti di controllo. Questa interfaccia viene chiamata dopo aver completato la misurazione dei punti di collegamento, migliorando la precisione assoluta dell'AT introducendo punti di controllo a terra (GCP).
- Progetti di rilevamento che richiedono alta precisione assoluta
- Progetti con dati di punti di controllo a terra
- Necessità di verificare e migliorare la precisione AT
- Rilevamento ingegneristico e cartografia professionale
Flusso di Lavoro
Chiamata Interfaccia
Chiamata a Riga di Comando
reconstruct_full_engine.exe -reconstruct_type 3 -task_json optimize_config.json
Descrizione Parametri
reconstruct_type
: Fisso come3
(indica OptimizeAT)task_json
: Percorso file di configurazione
Parametri di Configurazione
OptimizeAT utilizza gli stessi parametri di ReconstructAT, con parametri aggiuntivi per i punti di controllo:
Parametri Richiesti
Tutti i parametri richiesti da ReconstructAT, più:
Parametro | Tipo | Descrizione |
---|---|---|
control_point | JSON | Informazioni gruppo punti di controllo |
Struttura Dati Punti di Controllo
ControlPointGroup
{
"coordinate_system": { // Sistema di coordinate punti di controllo
"type": 3, // Solitamente sistema di coordinate proiettato
"epsg_code": 32650 // es., UTM Zone 50N
},
"points": [ // Lista punti di controllo
// Array di oggetti ControlPoint
]
}
ControlPoint
{
"id": "GCP001", // Nome punto di controllo
"coordinate": [x, y, z], // Coordinate punto di controllo
"usage": 0, // 0=punto di controllo, 1=punto di verifica, 2=disabilitato
"observations": [ // Osservazioni immagine
{
"id": 1, // ID immagine
"uv": [1234.5, 2345.6] // Coordinate pixel
}
]
}
Esempi di Configurazione Completa
Ottimizzazione Base Punti di Controllo
{
"license_id": 9200,
"working_dir": "C:/Projects/AT_Optimize",
"gdal_folder": "C:/MipMap/SDK/data",
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"camera_meta_data": [...], // Stesso di ReconstructAT
"image_meta_data": [...], // Stesso di ReconstructAT
"control_point": {
"coordinate_system": {
"type": 3,
"epsg_code": 32650 // UTM Zone 50N
},
"points": [
{
"id": "GCP001",
"coordinate": [500123.456, 2500123.456, 123.456],
"usage": 0,
"observations": [
{
"id": 1,
"uv": [2736.5, 1824.3]
},
{
"id": 5,
"uv": [1892.7, 2104.8]
}
]
},
{
"id": "GCP002",
"coordinate": [500223.456, 2500223.456, 125.678],
"usage": 0,
"observations": [
{
"id": 3,
"uv": [3104.2, 1567.9]
},
{
"id": 7,
"uv": [2345.6, 1890.2]
}
]
},
{
"id": "CHECK001",
"coordinate": [500323.456, 2500323.456, 127.890],
"usage": 1, // Punto di verifica
"observations": [
{
"id": 2,
"uv": [1567.8, 2345.6]
}
]
}
]
}
}
Configurazione Progetto Rilevamento Alta Precisione
{
"license_id": 9200,
"working_dir": "C:/Projects/HighPrecision_AT",
"gdal_folder": "C:/MipMap/SDK/data",
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"camera_meta_data": [...],
"image_meta_data": [
{
"id": 1,
"path": "IMG_0001.JPG",
"meta_data": {
"pos": [114.123, 22.123, 150.0],
"pos_sigma": [0.05, 0.05, 0.10], // RTK alta precisione
"position_constant": false // Permetti ottimizzazione
}
}
],
"control_point": {
"coordinate_system": {
"type": 3,
"epsg_code": 4978 // ECEF per alta precisione
},
"points": [
// Multipli punti di controllo distribuiti uniformemente
{
"id": "GCP_NW",
"coordinate": [...],
"usage": 0,
"observations": [...]
},
{
"id": "GCP_NE",
"coordinate": [...],
"usage": 0,
"observations": [...]
},
{
"id": "GCP_SW",
"coordinate": [...],
"usage": 0,
"observations": [...]
},
{
"id": "GCP_SE",
"coordinate": [...],
"usage": 0,
"observations": [...]
},
{
"id": "GCP_CENTER",
"coordinate": [...],
"usage": 0,
"observations": [...]
}
]
}
}
Principi di Posizionamento Punti di Controllo
1. Requisiti di Quantità
- Minimo: 3 punti di controllo (richiesti per la soluzione)
- Raccomandato: 5-8 punti di controllo + 2-3 punti di verifica
- Area grande: Almeno 1 punto di controllo per 50-100 immagini
2. Requisiti di Distribuzione
Distribuzione ideale punti di controllo:
+-----+-----+-----+
| GCP | GCP | GCP |
+-----+-----+-----+
| GCP | CHK | GCP | GCP: Punto di Controllo
+-----+-----+-----+ CHK: Punto di Verifica
| GCP | GCP | GCP |
+-----+-----+-----+
3. Distribuzione Altimetrica
- Posizionare punti di controllo a diversi livelli di elevazione
- Evitare tutti i punti di controllo sullo stesso piano
- Prestare attenzione speciale ai cambiamenti di elevazione nei progetti montani
Requisiti di Precisione di Misurazione
Precisione Pixel
- Ideale: < 1 pixel
- Accettabile: < 2 pixel
- Necessita miglioramento: > 3 pixel
Osservazioni Multi-Vista
- Ogni punto di controllo visibile in almeno 2 immagini
- Idealmente 3-5 immagini
- Differenza angolo di vista > 15°
Considerazioni Sistema di Coordinate
1. Coerenza Sistema di Coordinate
{
// Posizioni immagini solitamente in WGS84
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
// Punti di controllo solitamente in sistema di coordinate proiettato locale
"control_point": {
"coordinate_system": {
"type": 3,
"epsg_code": 32650 // Scegliere basato su ubicazione progetto
}
}
}
2. Sistemi di Coordinate Comuni
Regione | EPSG | Descrizione |
---|---|---|
Cina | 4490 | CGCS2000 Geografico |
Cina | 4547-4554 | Proiezione Gauss CGCS2000 |
Globale | 32601-32660 | UTM Emisfero Nord |
Globale | 32701-32760 | UTM Emisfero Sud |
Valutazione Qualità
1. Interpretazione Rapporto Ottimizzazione
Dopo l'ottimizzazione, controllare il rapporto di precisione nei log:
[INFO] Control Point Residuals:
GCP001: 0.023m (X), 0.015m (Y), 0.041m (Z)
GCP002: 0.019m (X), 0.022m (Y), 0.038m (Z)
[INFO] Check Point Errors:
CHECK001: 0.045m (X), 0.052m (Y), 0.068m (Z)
[INFO] RMS Error: 0.048m
2. Standard di Precisione
Tipo Progetto | Precisione Orizzontale | Precisione Verticale |
---|---|---|
Cartografia Topografica | < 0.05m | < 0.10m |
Rilevamento Ingegneristico | < 0.10m | < 0.15m |
Applicazioni Generali | < 0.30m | < 0.50m |
Migliori Pratiche
1. Raccolta Punti di Controllo
- Usare attrezzature ad alta precisione come RTK/Stazione Totale
- Scegliere caratteristiche stabili e facilmente identificabili
- Registrare descrizioni dettagliate dei punti e foto
2. Processo di Misurazione
- Caricare immagini nel visualizzatore risultati AT
- Trovare caratteristiche corrispondenti per punti di controllo
- Marcare precisamente posizioni pixel
- Controllare coerenza multi-vista
3. Ottimizzazione Iterativa
# Prima ottimizzazione
reconstruct_full_engine.exe -reconstruct_type 3 -task_json optimize_v1.json
# Controllare risultati, aggiustare punti anomali
# Seconda ottimizzazione
reconstruct_full_engine.exe -reconstruct_type 3 -task_json optimize_v2.json
4. Gestione Problemi Comuni
Residui Grandi
- Controllare precisione misurazione
- Verificare coordinate punti di controllo
- Considerare impostare il punto come punto di verifica
Distorsione Sistematica
- Controllare impostazioni sistema di coordinate
- Verificare sistema di coordinate punti di controllo
- Considerare problemi calibrazione fotocamera
Risultati Output
I risultati AT ottimizzati sono salvati nella stessa posizione:
milestones/mvs_optimized.xml
- Formato interno ottimizzatoproducts/AT/block_exchange_optimized.xml
- Formato scambio ottimizzatolog/optimization_report.txt
- Rapporto ottimizzazione
Esempio: Flusso di Lavoro Completo
import subprocess
import json
# 1. Eseguire AT iniziale
at_config = {
"license_id": 9200,
"working_dir": "C:/Project",
# ... altri parametri
}
with open("at_config.json", "w") as f:
json.dump(at_config, f)
subprocess.run(["reconstruct_full_engine.exe", "-reconstruct_type", "1", "-task_json", "at_config.json"])
# 2. Eseguire misurazione punti di controllo (solitamente fatto in software esterno)
# 3. Preparare configurazione ottimizzazione
optimize_config = at_config.copy()
optimize_config["control_point"] = {
"coordinate_system": {"type": 3, "epsg_code": 32650},
"points": [
# Dati punti di controllo
]
}
with open("optimize_config.json", "w") as f:
json.dump(optimize_config, f)
# 4. Eseguire ottimizzazione
subprocess.run(["reconstruct_full_engine.exe", "-reconstruct_type", "3", "-task_json", "optimize_config.json"])
# 5. Usare risultati ottimizzati per ricostruzione 3D
# ...
Prossimi Passi
- Usa risultati AT ottimizzati per Reconstruct3D
- Impara il processing di tiling dati su larga scala
- Controlla Concetti Base per capire l'uso dei punti di controllo
Suggerimento: I punti di controllo sono la chiave per assicurare la precisione di mappatura. Il posizionamento appropriato dei punti di controllo e la misurazione precisa sono la base per ottenere risultati ad alta precisione.