Projektion 3D zu 2D und zurück

Neue Frage »

Mike94 Auf diesen Beitrag antworten »
Projektion 3D zu 2D und zurück
Meine Frage:
Hi,
ich beschäftige mich momentan mit verschiedenen Projektionsmodellen von Kameras.
Also letztendlich wie aus X,Y,Z Koordinaten (Bereits im Kamera-Koordinatensystem) x,y Koordinaten im Bild/Bzw. auf dem Sensor entstehen.

Ich habe hierzu ein Paper gefunden, in dem einige dieser Umrechnungen stehen. Ich kann diese nur leider nicht nachvollziehen.

Hier auf Seite 6: http://www.ipb.uni-bonn.de/pdfs/Steffen2005Fish.pdf

Kann mir jemand helfen, wie man z.B. von der Formel des perspektivischen Modells auf die Entsprechende Umrechnung ( X,Y,Z)->(x,y) bzw. andersrum kommt?

Ich habe leider keine Erfahrung mit Polar Koordinaten und komme auf keinen grünen Zweig.
c kann man hier mit der Brennweite f gleichsetzen, das ist in den meisten anderen Quellen auch so.

Meine Ideen:
Mein Ansatz war, dass auf Seite 5 steht:
Außerdem habe ich verstanden, dass Polarkoordinaten durch einen Strahl und zwei Winkel sozusagen aus dem Ursprung heraus und der Länge dieses Strahls festgelegt werden.

Ich hatte sowas leider in meinen Mathevorlesungen nicht und die sind auch eine Weile her.


Also falls das jemand nachvollziehen kann, wäre ich super dankbar.
Gerne auch handschriftlich als Bild, muss nicht getext sein smile
hawe Auf diesen Beitrag antworten »

Ich hab mal was zu CamCarpet-Projektionen gemacht

https://www.geogebra.org/material/show/id/cvmyzugu

und darunter findest Du einen Link auf ein Book von Roman Chijner

vielleicht hilft das weiter und es ist auch was für die Anschauung dabei?
Mike94 Auf diesen Beitrag antworten »

Dankeschön für die Antwort.
Leider hilft mir das nicht weiter. Mit Matrizen komme ich auch klar.
Das Problem hier ist die Darstellung in Polarkoordinaten..
hawe Auf diesen Beitrag antworten »

Dazu findest Du unter

https://www.geogebra.org/m/enzfzesg

eine Zusammenfassung und Formeln.
Steffen Bühler Auf diesen Beitrag antworten »

Willkommen im Matheboard!

Wenn's nur um Polarkoordinaten geht, empfehle ich auch unseren Workshop.

Viele Grüße
Steffen
Mike94 Auf diesen Beitrag antworten »

Dankeschön, vielleicht kannst du mir dann einen Tipp geben. Vielleicht hänge ich auch wegen einer dummen Kleinigkeit fest..

Ich habe die Projektionsgleichung (perspective):


Phi wird auf Seite 5 des Papers mit definiert.
Hier habe ich das erste Verständnisproblem.
Auf der oben von dir genannten Seite (und allen anderen) gilt

Natürlich befinde ich mich eigentlich im 3 dimensionalen Raum - mit den Gleichungen für Kugelkoordiinaten stimmt das aber auch nicht überein.

Jedenfalls wenn ich jetzt in die Projektionsgleichung einsetze erhalte ich etwas wie:
vereinfache ich das weiter:
| tan mit atan auflösen
| quadrieren
Mit der Eigenschaft, dass ich eigentlich normierte 2d-Koordinaten haben möchte gilt x'=x/c und somit kann ich durch c teilen und die Wurzel ziehen:




Hiermit bin ich nah am Ergebnis das ich suche. Die gewünschten Formeln sind nämlich
und

Hier komme ich aber nie hin. Denn wenn ich nach x' auflöse kommt schließlich y' nach rechts.
Es lässt sich so zwar die Lösung schon ablesen, aber die wäre nicht eindeutig, da x' und y' vertauschbar wären.
 
 
Nils Hoppenstedt Auf diesen Beitrag antworten »

Hi,

Zitat:
Original von Mike94

| quadrieren

Mit der Eigenschaft, dass ich eigentlich normierte 2d-Koordinaten haben möchte gilt x'=x/c und somit kann ich durch c teilen und die Wurzel ziehen:




Ich denke, diesen Schritt sollte man nochmal einer kritischen Revision unterziehen.

Zum Rest: aus einem gegebenen Kamerapixel kann man doch prinzipiell nicht auf einen 3D-Punkt im Raum schließen, sondern nur auf einen Strahl.

Beste Grüße,
Nils
Mike94 Auf diesen Beitrag antworten »

Zitat:
Original von Nils Hoppenstedt
Hi,

Zitat:
Original von Mike94

| quadrieren

Mit der Eigenschaft, dass ich eigentlich normierte 2d-Koordinaten haben möchte gilt x'=x/c und somit kann ich durch c teilen und die Wurzel ziehen:




Ich denke, diesen Schritt sollte man nochmal einer kritischen Revision unterziehen.

Zum Rest: aus einem gegebenen Kamerapixel kann man doch prinzipiell nicht auf einen 3D-Punkt im Raum schließen, sondern nur auf einen Strahl.

Beste Grüße,
Nils


Danke,
ja also laut dem Paper gilt natürlich nicht x' = x/c sondern x' = (x-Distortion-principalPoint)/c
Das habe ich jetzt zum vereinfachen mal weggelassen.


Und ja ganz genau, eigentlich kommt man nur auf einen Strahl.

Vielleicht ein paar Worte zur Anwendung:

Ich habe Kontrollpunkte in 3D und die zugehörigen Abbildungspunkte im Kamerabild in 2D.
Zur Kamerakalibrierung werden nun mit dem Kameramodell die 3D-Punkte auf die 2D Ebene projeziert. Da man die "Zielkoordinaten" kennt kann man somit die Brennweite und die Position des Principalpoints berechnen. (Zusätzlich auch die Distortionparameter). Um den Fehler der berechneten Werte optimieren zu können, wird der Reprojection Error minimiert, also die Distanz zwischen dem mit dem Kameramodell von 3D nach 2D projezierten Punkt und dem zugehörigen Abbildungspunkt, der als fehlerunbehaftet erachtet wird.

Also der Rückweg ist mir erstmal noch nicht so wichtig.
Ich kann aber hier auch nicht nachvollziehen, wie das mit den Formeln in dem Paper gehen soll...Die Tiefeninformation geht wie du richtig geschrieben hast ja bei der 3D->2D Abbildung verloren.
Nils Hoppenstedt Auf diesen Beitrag antworten »

Vielleicht ein paar grundsätzliche Bemerkungen zur Kamerakalibrierung:

Im einfachsten Fall hast du:

1. Ein Kamera-Modell, das dir sagt, wie der Zusammenhang zwischen 3D-Weltpunkten (x,y,z) und dem Kamerapixel (i,j) aussieht, also etwa:

(i,j) = f(x,y,z)

Hierbei wird f durch einen Satz von Parametern beschrieben (das sog. Kameramodell).

2. Eine Reihe von Korrespondenzen, d.h. eine Sammlung von Kamerapixeln und 3D-Punkten, von denen du weißt, dass sie zusammengehören. Mit anderen Worten Paare der Form ( (i,j) ; (x,y,z) ).

Ziel ist nun die Parameter der Funktion f herauszufinden. Dazu wählt man geeignete Startparameter, setzt die 3D-Punkte in f ein und vergleicht die resultierenden Kamerapixeln mit den tatsächlichen Pixelwerten, die zu diesen 3D-Punkten gehören. Hier wird es natürlich zu einer Abweichung kommen. Im nächsten Schritt variiert man die Parameter der Funktion so, dass diese Abweichungen sukzessiv kleiner werden.

Bei der Kamerakalibrierung handelt es sich also nicht um einen Satz von Formeln, die einem die Kameraparameter ausspucken, sondern um ein nicht-lineares Optimierungsproblem.

Viele Grüße,
Nils
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »