Bündelblockausgleich (BBA): Kovarianzmatrix der geschätzten (Geodäsie/Vermessung)

Alexander Brzank @, Dienstag, 16.04.2019, 11:39 (vor 215 Tagen)

Hallo Zusammen, Hallo MichaeL,

ich habe wieder ein ausgleichungstechnisches Problem aus dem Bereich Photogrammetrie. Ziel ist die Bestimmung der 3D-Koordinaten von einer Vielzahl von optischen Messmarken (typischerweise Kreismarken) auf einem Objekt und die zugehörige Kovarianzmatrix. Die Berechnung erfolgt durch eine Bündelblockausgleichung (BBA) in Form einer vermittelnden Ausgleichung.

Zuerst werden um das Objekt mehrere Längenmaßstäbe verteilt, die ebenfalls optische Messmarken besitzen. Die Länge zwischen jeweils zwei optischen Messmarken auf jedem Längenmaßstab sind extern hochgenau bestimmt worden. Die jeweils zugehörige Messunsicherheit ist auf dem Kalibrierschein angegeben. Auf dem Objekt werden diverse optische Messmarken angebracht.

Mit einer Messkamera werden diverse Bilder aufgenommen, welche die optischen Messmarken des Objektes und der Längenmaßstäbe beinhalten. In jedem Messbild werden durch einen Ellipsenfit der jeweilige Mittelpunkt der abgebildeten Kreismarken bestimmt. Aus der Ausgleich erhält man ebenfalls die Kovarianzmatrix für den Ellipsenfit (Submatrix für Ellipsenmittelpunkt).
Aus den Messunsicherheiten der kalibrierten Längen und der Kovarianzmatrix jedes Ellipsenfits kann nun die Kovarianzmatrix der Eingangsbeobachtungen der BBA abgeleitet werden. Führt man nun die Ausgleichung durch, so fällt auf, dass die a priori angenommene Kovarianzmatrix deutlich kleinere Werte enthält als die Kovarianzmatrix der Eingangsbeobachtungen a poste riori.
Aufgrund unserer Erfahrung glauben wir, dass die Ursache in einem Modellfehler des funktionalen Modells zu verorten ist. Das funktionale Modell (in dem Fall die Abbildung eines Objektpunktes in den Bildraum) ist in der Realität komplexer als das Modell abbilden kann. Dies wird zum Beispiel offensichtlich durch systematische Residuen benachbarten Bildpunkte.

Im Ergebnis werden nicht nur die Varianzen der Bildkoordinaten sondern auch die Varianzen der Maßstabslängen a poste riori deutlich größer. Berechnet man nun die Konfidenzellipsoide der 3D-Puntke, so sind sie gemäß Rechnung deutlich unsicherer als sie in Wirklichkeit sind. Die Residuen der Maßstabsbeobachtungen sind nämlich sehr klein (bei großer Überbestimmung). Die Skalierung der Gesamtpunktwolke sollte somit hochgenau bestimmt worden sein. Das deutliche größere Sigma a poster riori im Vergleich zu Sigma a priori ergibt sich durch die deutlich größeren Bildpunktabweichungen als angenommen (a priori).

Ziel ist aber eine möglichst realistische Abschätzung der Konfidenzellipsoide. Was könnte man tun? Wahrscheinlich kommt eine Varianzkomponentenanalyse in Frage. Allerdings habe ich hier keine praktischen Erfahrungen. Nach Studium des Niemeier gehe ich von reihenden Varianzkomponenten aus (ein Block Bildkoordinatenmessungen, ein Block Längen). Anhand des Lehrbuchs kriege ich es aber nicht hin (Leider kein praktisches Rechenbeispiel). Die Idee dahinter (also nicht nur eine Varianz zur Skalierung der Qll-Matrix sondern jeweils eine Varianz pro Messgruppe) verstehe ich soweit. Aber schon bei Formel 9.3.4 im Vergleich zu Formel 9.3.3, wo die Alpha-Werte eingeführt werden, habe ich meine Verständnisprobleme.

Frage 1: Gibt es irgendwo ein einfaches Rechenbeispiel zum Nachvollziehen der notwendigen Schritte? Ich habe es zum Beispiel mit wiederholenden Einzelmessungen (z.B. eine fiktive Temperaturmessung eines ersten Objektes mit einem analogen Thermometer mit 5 Messungen und eine davon unabhängige Temperaturmessung eines zweiten Objektes mit einem hochgenauen digitalen Thermometer ebenfalls mit 5 Messungen)

Meines Erachtens hilft mir eine Varianzkomponentenschätzung aber auch nicht vollständig. Eigentlich sollen die Messunsicherheiten der Maßstäbe beibehalten und entsprechend fortgepflanzt werden. Aus der jeweiligen BBA mit Varianzkomponentenschätzung könnten sich ja auch deutliche kleinere Varianzen ergeben, wenn die Maßstäbe gut zueinander passen. Die Genauigkeitsabschätzung soll aber von den extern ermittelten Messunsicherheiten ausgehen. Deshalb die Frage, ob folgendes Vorgehen legitim ist.

Die BBA wird ohne Varianzkomponentenschätzung wie oben angegeben berechnet. Anhand der Gewichtungsmatrix und dem mittleren Gewichtseinheitsfaktors berechnet man die Kovarianzmatrix der Eingangsbeobachtungen. Die Sub-Kovarianzmatrix der Bildbeobachtungen lässt man unverändert , während man die Sub-Kovarianzmatrix der Maßstäbe entsprechend der externen Kalibrierung „korrigiert“. Das heißt man gewichtet eigentlich die Bildbeobachtungsgruppe zu den Maßstabsbeobachtungen ab. Nun wird die Ausgleichung erneut durchgeführt. Anschließend vergleicht man die Varianzen der Maßstabsbeobachtungen a priori und a poste riori. Wenn diese hinreichend gut übereinstimmen ist die Berechnung zu Ende. Andernfalls werden wieder eine neue a priori Kovarianzmatrix aus der Sub-Kovarianzmatrix der Bildbeobachtungen a poste riori und den externen Messunsicherheiten der Maßstabsbeobachtungen gebildet.

Avatar

Bündelblockausgleich (BBA): Kovarianzmatrix der geschätzten

MichaeL ⌂, Bad Vilbel, Dienstag, 16.04.2019, 22:11 (vor 214 Tagen) @ Alexander Brzank

Hallo,

Mit einer Messkamera werden diverse Bilder aufgenommen, welche die optischen Messmarken des Objektes und der Längenmaßstäbe beinhalten. In jedem Messbild werden durch einen Ellipsenfit der jeweilige Mittelpunkt der abgebildeten Kreismarken bestimmt. Aus der Ausgleich erhält man ebenfalls die Kovarianzmatrix für den Ellipsenfit (Submatrix für Ellipsenmittelpunkt).

Okay. Bitte beachte, dass der Ellipsenmittelpunkt nur genähert dem Kreismittelpunkt entspricht (näheres kannst Du dem Lehrbuch von Luhmann entnehmen, dort ist auch eine sehr anschauliche Graphik enthalten). Deine Kovarianzmatrix wird diesem Umstand kaum Rechnung tragen. Da alle Bilder mit der selben Kamera registriert werden, sind die resultierenden Ellipsenmittelpunkte strenggenommen auch korreliert.

Aufgrund unserer Erfahrung glauben wir, dass die Ursache in einem Modellfehler des funktionalen Modells zu verorten ist.

Schätzt Ihr die Parameter der inneren Orientierung in-situ mit?

Frage 1: Gibt es irgendwo ein einfaches Rechenbeispiel zum Nachvollziehen der notwendigen Schritte? Ich habe es zum Beispiel mit wiederholenden Einzelmessungen (z.B. eine fiktive Temperaturmessung eines ersten Objektes mit einem analogen Thermometer mit 5 Messungen und eine davon unabhängige Temperaturmessung eines zweiten Objektes mit einem hochgenauen digitalen Thermometer ebenfalls mit 5 Messungen)

Die Gleichungen sind recht simple, vgl. Varianzkomponentenschätzung (ganz am Ende).

Ein Quick-And-Dirty Matlab-Script hilft Dir vielleicht beim Nachvollziehen. 5 Messwerte werden nicht ausreichen, um ein sinnvolles Beispiel zu erzeugen.

clear all
close all
format long g
clc
 
 
% Messung mit Instrument 1 (sigma = 0.050)
m1 = 200;
L1 = 0.050 .* randn(m1,1);
% Messung mit Instrument 2 (sigma = 0.001)
m2 = 350;
L2 = 0.001 .* randn(m2,1);
 
% Kovarianzmatrix beider Messungen (wobei wir 'faelschlicherweise' von gleich-genauen Beobachtungen ausgehen)
 
Qll_1 = [eye(m1, m1)    zeros(m1, m2)
      zeros(m2, m1)  zeros(m2, m2)];
 
Qll_2 = [zeros(m1, m1)  zeros(m1, m2)
      zeros(m2, m1)    eye(m2, m2)];  
 
% Kombination
L   = [L1; L2];
Qll = Qll_1 + Qll_2;
 
% Gewichtmatrix
P = diag( 1./diag(Qll) );
 
% Schaetzwert ermitteln mit Ausgleichung (Mittelwertbildung)
A = ones(m1 + m2, 1);
N = A' * P * A;
n = A' * P * L;
Qxx = 1/N;
x = Qxx * n;
 
Q_ll = A * Qxx * A';
Q_vv = Qll - Q_ll;
R = Q_vv * P;
v = A*x - L;
 
% Varianzfaktoren (gesamt und einzeln)
sigma2   = (v' * P * v) / trace(R);
sigma2L1 = (v' * P * Qll_1 * P * v) / trace(R * Qll_1 * P);
sigma2L2 = (v' * P * Qll_2 * P * v) / trace(R * Qll_2 * P);
 
disp( [sqrt(sigma2) sqrt(sigma2L1)  sqrt(sigma2L2)] );

Eine mögliche Ausgabe ist (variiert aufgrund der Zufallszahlen):

0.0323391853130269        0.0536104423244563       0.00105111294199859

Der erste Wert ist der globale a-posteriori Varianzfaktor und die beiden anderen beziehen sich auf L1 bzw. L2. Beide Komponenten passen ganz gut zu den Sollwerten 0.050 und 0.001.

Eigentlich sollen die Messunsicherheiten der Maßstäbe beibehalten und entsprechend fortgepflanzt werden.

Das werden sie ja - nur nicht in die von Dir präferierte Richtung. Wenn ich eine Präzisionsnetz mit einem Tachymeter bestimme und anschließend mit GNSS Passpunkte für eine Transformation bestimme, dann verliere ich bei der Transformation auch die hohe Genauigkeit des eigentlichen Tachymeternetzes.

Aus der jeweiligen BBA mit Varianzkomponentenschätzung könnten sich ja auch deutliche kleinere Varianzen ergeben, wenn die Maßstäbe gut zueinander passen. Die Genauigkeitsabschätzung soll aber von den extern ermittelten Messunsicherheiten ausgehen. Deshalb die Frage, ob folgendes Vorgehen legitim ist.

Die Varianzkomponentenschätzung ist auch nur ein Werkzeug. Keiner zwingt Dich, es zu nutzen. Wenn es Deine Anforderungen nicht erfüllt, nutze es nicht. Auf einen Versuch kannst Du es ja ankommen lassen und dann entscheiden, ob es sich für Deine Zwecke eignet. Letztlich ist auch die Varianzkomponentenschätzung nur ein Modell. Folglich sind die Ergebnisse auch nur so gut, wie das Modell mit der Wirklichkeit übereinstimmt.


Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Tags:
Varianzkomponentenschätzung, Kovarianzmatrix, Bündelblockausgleichung

Bündelblockausgleich (BBA): Kovarianzmatrix der geschätzten

Alexander Brzank @, Mittwoch, 17.04.2019, 08:48 (vor 214 Tagen) @ MichaeL

Okay. Bitte beachte, dass der Ellipsenmittelpunkt nur genähert dem Kreismittelpunkt entspricht (näheres kannst Du dem Lehrbuch von Luhmann entnehmen, dort ist auch eine sehr anschauliche Graphik enthalten). Deine Kovarianzmatrix wird diesem Umstand kaum Rechnung tragen. Da alle Bilder mit der selben Kamera registriert werden, sind die resultierenden Ellipsenmittelpunkte strenggenommen auch korreliert.

Die Ellipsenzentrumsexzentrizität sowie das Lehrbuch von Herrn Prof. Luhmann sind bekannt;-).
Ja, die Bildkoordinaten eines Bildes werden miteinander korreliert sein. Das ist aber eine ziemlich komplexe Geschichte, da hier nicht originär die räumliche Nähe im Bildraum sondern die räumliche Nähe der Marken im Objektraum zueinander sowie weitere Parameter wie der Normalenvektor der jeweiligen Marke hineinspielen...


Schätzt Ihr die Parameter der inneren Orientierung in-situ mit?

Ja.

Ein Quick-And-Dirty Matlab-Script hilft Dir vielleicht beim Nachvollziehen. 5 Messwerte werden nicht ausreichen, um ein sinnvolles Beispiel zu erzeugen.

Vielen Dank für Dein Beispiel. Ich werde mir das zeitnah anschauen und bei Fragen gerne nochmal auf Dich zurückkommen. Das von mir gewählte Beispiel ist nicht repräsentativ. Da ich solche Tests anfäglich am liebsten mit Mathcad bearbeite, sind kleinere Beobachtungsvektoren von Vorteil, da dann die A und die P-Matrix nicht so groß werden (wird ja mehr oder weniger manuell gefüllt:-P )

Vielen Dank und Gruß!

Alex

Avatar

Bündelblockausgleich (BBA): Kovarianzmatrix der geschätzten

MichaeL ⌂, Bad Vilbel, Mittwoch, 17.04.2019, 09:17 (vor 214 Tagen) @ Alexander Brzank

Hej Alex,

Ja, die Bildkoordinaten eines Bildes werden miteinander korreliert sein.

Mir ist schon klar, dass es komplex ist. Soweit ich weiß geht man im Bildverband auch davon aus, dass sich diese "Restsystematiken" aufheben, wenn man viele Bilder aus unterschiedlichen Perspektiven generiert. Ich wollte es nur erwähnen haben, weil Du die Kovarianzmatrix der Ellipsenmittelpunkte ja als stochastisches Modell verwendest, diese aber eben nicht alle Unsicherheiten abbildet. Hier könnte man also a-priori noch eine zusätzliche Unsicherheit annehmen.

Schätzt Ihr die Parameter der inneren Orientierung in-situ mit?

Ja.

Ich fragte, weil Du die Diskrepanz im funktionalen Modell gesehen hast. Die Orientierung ist ja ein Modellansatz im funktionalen Modell.

Ich werde mir das zeitnah anschauen und bei Fragen gerne nochmal auf Dich zurückkommen.

Kein Problem.

Vielleicht noch ein Hinweis. Aus der Gleichung:

sigma2L1 = (v' * P * Qll_1 * P * v) / trace(R * Qll_1 * P);

siehst Du, dass die Verbesserungsanteile (v' * P * Qll_1 * P * v) der Komponente (hier von L1) mit der Redundanz der Komponente trace(R * Qll_1 * P) verrechnet wird. Deine Sorge, dass die Maßstäbe nur geringe Variationen aufweisen werden, und somit (praktisch) keinen Beitrag am geschätzten globalen Varianzfaktor (und somit auch an der geschätzten Varianzkomponente) besitzen, kannst Du direkt beurteilen, da trace(R * Qll_1 * P) Dir ein Maß für die Überbestimmung gibt. Wenn diese Redundanz der Maßstäbe also sehr klein ist, dann ist die Zuverlässigkeit _dieser_ Varianzkomponente auch gering. Hier kannst Du also abwägen, ob Du die geschätzte Komponente nicht zugunsten Deiner a-priori Abschätzung verwirfst.


Viel Erfolg
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Tags:
Varianzkomponentenschätzung, Kovarianzmatrix, Photogrammetrie, Bündelblockausgleichung

RSS-Feed dieser Diskussion