Zum Hauptinhalt springen

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).

Anwendungsfälle
  • 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 als 3 (kennzeichnet OptimizeAT)
  • task_json: Konfigurationsdateipfad

Konfigurationsparameter

OptimizeAT verwendet dieselben Parameter wie ReconstructAT, mit zusätzlichen Kontrollpunktparametern:

Erforderliche Parameter

Alle erforderlichen Parameter von ReconstructAT, plus:

ParameterTypBeschreibung
control_pointJSONKontrollpunktgruppeninformationen

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

RegionEPSGBeschreibung
China4490CGCS2000 Geografisch
China4547-4554CGCS2000 Gauss-Projektion
Global32601-32660UTM Nördliche Hemisphäre
Global32701-32760UTM 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

ProjekttypHorizontale GenauigkeitVertikale 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

  1. Laden Sie Bilder im AT-Ergebnisbetrachter
  2. Finden Sie entsprechende Merkmale für Kontrollpunkte
  3. Markieren Sie Pixelpositionen präzise
  4. Ü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 Format
  • products/AT/block_exchange_optimized.xml - Optimiertes Austauschformat
  • log/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


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.