Projektion von Kugelpunkt auf Kamerasensor

Neue Frage »

blende8 Auf diesen Beitrag antworten »
Projektion von Kugelpunkt auf Kamerasensor
Hallo liebes Matheboard,

ich hatte schon vor einer Weile zu dem Thema eine Frage gestellt, muss nun doch nochmal weiter ausholen, da ich langsam am verzweifeln bin und sehr hoffe, dass ihr mir helfen könnt. Ich hoffe es wird nicht zu lang.

Grob geht es bei meinem Projekt um einen Eyetracker, den ich erstmal anhand eines Computermodells simuliere. Dazu will ich die Pupillenmittelpunktsposition berechnen, um einen Referenzwert zu haben, anhand dem ich die gemessenen Positionen validieren kann. Dazu gibt es ein Maya Computermodell eines vereinfachten Auges, das auf bestimmte Koordinaten schaut. Aus diesem Modell render ich Bilder der Pupillen, aus denen ich dann den Pupillenmittelpunkt mittels Bildverarbeitung bestimme.
Vergleiche ich nun meine gemessenen Koordinaten mit meinen berechneten, kommt immer ein systematischer Fehler heraus, für den ich einfach nicht die Ursache finde. Ich denke es muss irgendwo noch ein Fehler in der Berechnung liegen. Wäre super, wenn ihr die Rechnung nachvollziehen könntet.

Hier mal eine Zeichnung der Geometrie, nach dem ich die Pupillenmittelpunktskoordinate im Koordinatensystem mit dem Ursprung U berechne.
[attach]37318[/attach]

Wie in dem früheren Post schonmal behandelt, berechne ich den Schnittpunkt des Sichtvektors mit der Kugel, die der Pupillenmittelpunktsbewegung entspricht.


Um das entsprechende k zu berechnen in die Kugelgleichung einsetzen:


Dabei kommt für k heraus:


Die Koordinaten der Pupille berechnen sich dann:


Wenn ich diese Pupillenmittelpunktskoordinaten habe, kann ich die Abbildung auf dem Sensor der virtuellen Maya Kamera einfach mit dem Strahlensatz und der Brennweite f berechnen, da es eine ideale Lochkamera ohne Verzerrung ist. Da die Kamera zur um z verschoben ist, muss für die Koordinatentransformation nur das z neu berechnet werden mit

[attach]37319[/attach]



und sind dann die Koordinaten im Bild, auf die der Pupillenmittelpunkt abgebildet werden müsste. Um den Fehler zwischen berechneter und gemessener Position zu bestimmen, subtrahier ich von den gemessenen die berechneten Koordinaten. Das mach ich für meine 25 Testpunkt und stell alle Differenzen zusammen in einem Fehlerdiagramm dar.
Für einen Kameraabstand von 25 cm ergibt sich dabei folgendes Fehlerdiagramm:
[attach]37324[/attach]
die Abweichung sind kleiner einem Pixel, jedoch eindeutig systematisch.
Bei einem Kameraabstand von 4 cm werden die Fehler schon ein paar Pixel groß:
[attach]37323[/attach]

Es scheint also so, als ob irgendein radialer Fehler zwischen Berechnung, und Messung auftritt, der umso größer wird, je größer die Winkel werden. Ich hab schon alles mir denkbare durchprobiert aber komme nicht auf die Ursache dafür.

Ich hoffe das war jetzt nicht zu lang und mein Problem ist klar geworden.

Viele Dank schonmal
Julian
blende8 Auf diesen Beitrag antworten »

Noch ein kleiner Nachtrag, da das letzte vielleicht etwas unklar beschrieben war.
Hier ist ein Bild der berechneten (blau) und gemessenen (rot) Koordinaten für den 4 cm entfernten Fall. Das Fehlerdiagramm zeigt quasi nur die Differenzen zwischen jedem blau-rotem Punktepaar an.

[attach]37326[/attach]

Viele Grüße
Julian
Steffen Bühler Auf diesen Beitrag antworten »

Ich hab nicht sehr viel Ahnung von Optik, aber kenne diesen als Bildfeldwölbung bezeichneten Effekt:

Zitat:
je weiter Objekt- und damit Bildpunkte von der Achse entfernt sind, umso mehr ist der Bildpunkt in Achsrichtung verschoben


Kann es also sein, dass das Kameraobjektiv einfach nicht der Anforderung genügt?

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

Hallo Steffen,

nein es ist ja keine echte Kamera sondern eine virtuelle im Computersimulationsprogramm Maya. Dort ist eine ideale Lochkamera ohne Verzerrung eingestellt.

Gruß Julian
blende8 Auf diesen Beitrag antworten »

Ich hab den Grund nun herrausgefunden.
Der Fehler war, dass ich übersehen hab, dass der Mittelpunkt eines Kreises von einer schrägen Ansicht in der Zentralprojektion nicht mehr mit dem Mittelpunkt der Ellipse übereinstimmt.
Berechnet habe ich quasi den Kreismittelpunkt (obere Linie im Bild) aber gemessen den Ellipsenmittelpunkt (auf der unteren Linie).

[attach]37348[/attach]

Jetzt ist nur noch die Frage wie man diese Verschiebung berechnet. Scheint auf den ersten Blick gar nicht einfach. Ich versuch es erstmal selber und falls ich nicht weiter weiß eröffne ich vielleicht noch einen neuen Thread.

Gruß Julian
Neue Frage »
Antworten »



Verwandte Themen

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