OptimizeAT - Kontrollpunkt-beschränkte AT-Optimierung
Überblick
Die OptimizeAT-Schnittstelle wird verwendet, um Aerotriangulationsergebnisse unter Verwendung von Kontrollpunkten zu optimieren. Diese Schnittstelle wird nach Abschluss der Verknüpfungspunktmessung aufgerufen und verbessert die absolute Genauigkeit der AT durch Einführung von Bodenkontrollpunkten (GCP).
- Vermessungsprojekte, die hohe absolute Genauigkeit erfordern
- Projekte mit Bodenkontrollpunktdaten
- Notwendigkeit zur Überprüfung und Verbesserung der AT-Genauigkeit
- Ingenieurvermessung und professionelle Kartierung
Arbeitsablauf
Schnittstellenaufruf
Kommandozeilenaufruf
reconstruct_full_engine.exe -reconstruct_type 3 -task_json optimize_config.json
Parameterbeschreibung
reconstruct_type
: Fest als3
(kennzeichnet OptimizeAT)task_json
: Konfigurationsdateipfad
Konfigurationsparameter
OptimizeAT verwendet dieselben Parameter wie ReconstructAT, mit zusätzlichen Kontrollpunktparametern:
Erforderliche Parameter
Alle erforderlichen Parameter von ReconstructAT, plus:
Parameter | Typ | Beschreibung |
---|---|---|
control_point | JSON | Kontrollpunktgruppeninformationen |
Kontrollpunkt-Datenstruktur
ControlPointGroup
{
"coordinate_system": { // Kontrollpunkt-Koordinatensystem
"type": 3, // Normalerweise projiziertes Koordinatensystem
"epsg_code": 32650 // z.B. UTM Zone 50N
},
"points": [ // Kontrollpunktliste
// Array von ControlPoint-Objekten
]
}
ControlPoint
{
"id": "GCP001", // Kontrollpunktname
"coordinate": [x, y, z], // Kontrollpunktkoordinaten
"usage": 0, // 0=Kontrollpunkt, 1=Prüfpunkt, 2=deaktiviert
"observations": [ // Bildbeobachtungen
{
"id": 1, // Bild-ID
"uv": [1234.5, 2345.6] // Pixelkoordinaten
}
]
}
Vollständige Konfigurationsbeispiele
Grundlegende Kontrollpunktoptimierung
{
"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": [...], // Gleich wie ReconstructAT
"image_meta_data": [...], // Gleich wie 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, // Prüfpunkt
"observations": [
{
"id": 2,
"uv": [1567.8, 2345.6]
}
]
}
]
}
}
Hochpräzisions-Vermessungsprojektkonfiguration
{
"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 hohe Präzision
"position_constant": false // Optimierung erlauben
}
}
],
"control_point": {
"coordinate_system": {
"type": 3,
"epsg_code": 4978 // ECEF für hohe Präzision
},
"points": [
// Mehrere gleichmäßig verteilte Kontrollpunkte
{
"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": [...]
}
]
}
}
Kontrollpunkt-Platzierungsprinzipien
1. Mengenanforderungen
- Minimum: 3 Kontrollpunkte (für Lösung erforderlich)
- Empfohlen: 5-8 Kontrollpunkte + 2-3 Prüfpunkte
- Großes Gebiet: Mindestens 1 Kontrollpunkt pro 50-100 Bilder
2. Verteilungsanforderungen
Ideale Kontrollpunktverteilung:
+-----+-----+-----+
| GCP | GCP | GCP |
+-----+-----+-----+
| GCP | CHK | GCP | GCP: Kontrollpunkt
+-----+-----+-----+ CHK: Prüfpunkt
| GCP | GCP | GCP |
+-----+-----+-----+
3. Höhenverteilung
- Platzierung von Kontrollpunkten auf verschiedenen Höhenniveaus
- Vermeidung aller Kontrollpunkte auf derselben Ebene
- Besondere Aufmerksamkeit auf Höhenänderungen in Gebirgsprojekten
Messgenauigkeitsanforderungen
Pixelgenauigkeit
- Ideal: < 1 Pixel
- Akzeptabel: < 2 Pixel
- Verbesserung nötig: > 3 Pixel
Multi-View-Beobachtungen
- Jeder Kontrollpunkt in mindestens 2 Bildern sichtbar
- Idealerweise 3-5 Bilder
- Betrachtungswinkelunterschied > 15°
Koordinatensystem-Überlegungen
1. Koordinatensystem-Konsistenz
{
// Bildpositionen normalerweise in WGS84
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
// Kontrollpunkte normalerweise in lokalem projizierten Koordinatensystem
"control_point": {
"coordinate_system": {
"type": 3,
"epsg_code": 32650 // Wählen basierend auf Projektstandort
}
}
}
2. Gängige Koordinatensysteme
Region | EPSG | Beschreibung |
---|---|---|
China | 4490 | CGCS2000 Geografisch |
China | 4547-4554 | CGCS2000 Gauss-Projektion |
Global | 32601-32660 | UTM Nördliche Hemisphäre |
Global | 32701-32760 | UTM Südliche Hemisphäre |
Qualitätsbewertung
1. Optimierungsberichtinterpretation
Nach der Optimierung prüfen Sie den Genauigkeitsbericht in den Protokollen:
[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. Genauigkeitsstandards
Projekttyp | Horizontale Genauigkeit | Vertikale Genauigkeit |
---|---|---|
Topografische Kartierung | < 0.05m | < 0.10m |
Ingenieurvermessung | < 0.10m | < 0.15m |
Allgemeine Anwendungen | < 0.30m | < 0.50m |
Bewährte Praktiken
1. Kontrollpunktsammlung
- Verwenden Sie hochpräzise Ausrüstung wie RTK/Totalstation
- Wählen Sie stabile, leicht identifizierbare Merkmale
- Führen Sie detaillierte Punktbeschreibungen und Fotos auf
2. Messprozess
- Laden Sie Bilder im AT-Ergebnisbetrachter
- Finden Sie entsprechende Merkmale für Kontrollpunkte
- Markieren Sie Pixelpositionen präzise
- Überprüfen Sie Multi-View-Konsistenz
3. Iterative Optimierung
# Erste Optimierung
reconstruct_full_engine.exe -reconstruct_type 3 -task_json optimize_v1.json
# Ergebnisse prüfen, anomale Punkte anpassen
# Zweite Optimierung
reconstruct_full_engine.exe -reconstruct_type 3 -task_json optimize_v2.json
4. Behandlung häufiger Probleme
Große Residuen
- Messgenauigkeit überprüfen
- Kontrollpunktkoordinaten verifizieren
- Erwägen Sie, den Punkt als Prüfpunkt zu setzen
Systematische Verzerrung
- Koordinatensystemeinstellungen überprüfen
- Kontrollpunkt-Koordinatensystem verifizieren
- Kamerakalibrierungsprobleme berücksichtigen
Ausgabeergebnisse
Optimierte AT-Ergebnisse werden am gleichen Ort gespeichert:
milestones/mvs_optimized.xml
- Optimiertes internes Formatproducts/AT/block_exchange_optimized.xml
- Optimiertes Austauschformatlog/optimization_report.txt
- Optimierungsbericht
Beispiel: Vollständiger Arbeitsablauf
import subprocess
import json
# 1. Anfängliche AT ausführen
at_config = {
"license_id": 9200,
"working_dir": "C:/Project",
# ... andere Parameter
}
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. Kontrollpunktmessung durchführen (normalerweise in externer Software)
# 3. Optimierungskonfiguration vorbereiten
optimize_config = at_config.copy()
optimize_config["control_point"] = {
"coordinate_system": {"type": 3, "epsg_code": 32650},
"points": [
# Kontrollpunktdaten
]
}
with open("optimize_config.json", "w") as f:
json.dump(optimize_config, f)
# 4. Optimierung ausführen
subprocess.run(["reconstruct_full_engine.exe", "-reconstruct_type", "3", "-task_json", "optimize_config.json"])
# 5. Optimierte Ergebnisse für 3D-Rekonstruktion verwenden
# ...
Nächste Schritte
- Verwenden Sie optimierte AT-Ergebnisse für Reconstruct3D
- Lernen Sie über großflächige Datenkachelung Verarbeitung
- Überprüfen Sie Grundkonzepte um Kontrollpunktverwendung zu verstehen
Tipp: Kontrollpunkte sind der Schlüssel zur Gewährleistung der Kartierungsgenauigkeit. Ordnungsgemäße Kontrollpunktplatzierung und präzise Messung sind die Grundlage für hochgenaue Ergebnisse.