next up previous contents
Next: 6.3 Segmentanalyse Up: 6. Algorithmen Previous: 6.1 2-D-Kalibration

Unterabschnitte

6.2 Belichtungssimulation

6.2.1 Berechnung der bewegungsunscharfen Muster

Die Berechnung der durch die Drehung des Auges bewegungsunscharfen Irismuster erfolgt im Modul simulrot, das dazu auf die beiden Transformationen rtrans und hintrans zurückgreift. rtrans berechnet die Polarkoordinaten auf der Iris aus den Pixelkoordinaten in der Kameraebene bei vorgegebenen Augendrehwinkeln, hintrans berechnet umgekehrt die Kamerakoordinaten eines Punktes, der in Iriskoordinaten gegeben ist.

simulrot erhält die Lage des Segmentes, die Position des Auges in $\theta $ und $\phi $ zur Mitte der Belichtungszeit, die Winkelgeschwindigkeit sowie die Belichtungsdauer und die Anzahl der berechneten Teilbilder übergeben. Es berechnet nun zunächst die Pixelkoordinaten des gewählten Segmentes zum Zeitpunkt der Mitte der Belichtungszeit und liest an dieser Stelle das Muster, das zu diesem Zeitpunkt dort liegt, aus.

Das Auslesen von Mustern erfolgt dabei stets so, daß zunächst aus den Pixelkoordinaten die Iriskoordinaten mittels rtrans berechnet werden, dann wird der Grauwert an einer Stelle in Iriskoordinaten mit dem Modul intens aus einem vorliegenden Bild eines Auges ausgelesen.

Dazu werden zunächst aus den Polarkoordinaten die Pixelkoordinaten in der vorliegenden Aufnahme des Auges mit hintrans berechnet. Dies werden im allgemeinen gebrochene Koordinaten sein. Der Grauwert an der Stelle dieser gebrochenen Koordinaten wird nun aus dem Grauwert des unter den genauen Koordinaten liegenden Pixels sowie den Grauwerten der 8 dieses Pixel umgebenden Pixel berechnet. Dazu werden die jeweiligen Grauwerte mit ihrem Abstand von den genauen Pixelkoordinaten gewichtet. Der Ort eines Pixels für die Berechnung des Abstandes ist dabei der Kreuzungspunkt seiner Diagonalen (siehe Abbildung A.2). Das so erhaltene Grauwertmuster wird nun auf einen Kontrast von eins normalisiert und auf den Mittelwert null geschoben.


  
Abbildung A.2: Gewichtung der einzelnen Pixel beim Auslesen der Bildinformation. Eingezeichnet sind die Abstände des durch ein Kreuz angedeuteten exakten Meßpunktes von den Pixelkoordinaten. Das Gewicht der einzelnen Pixel ist der Kehrwert des eingezeichneten Abstandes in Einheiten der Pixelbreite, maximal jedoch 100. Das heißt, Pixel die näher als ein hundertstel der Pixelbreite am eigentlichen Meßpunkt liegen, werden so gewichtet, als lägen sie in dieser Entfernung vom Meßpunkt.
\includegraphics[width=6cm]{Bilder/wichtung.eps}

Nun werden an der vorgebenenen Anzahl von Zeitpunkten während der Belichtungszeit die Winkelpositionen des Auges berechnet, anschließend wieder mittels rtrans die Iriskoordinaten der unter dem voreingestellten Pixelsegment liegenden Punkte auf dem Auge und schließlich die zum jeweiligen Zeitpunkt unter dem Segment liegenden Muster mit intens ausgelesen.

Über all diese Muster wird nun noch über die Belichtungszeit gemittelt, und das Ergebnis zusammen mit dem Referenzmuster in eine Datei, deren Name simulrot als Parameter übergeben wurde, gespeichert6.1.

simulplan ruft simulrot mit verschiedenen Winkelgeschwindigkeiten auf und erzeugt die Namen der Datendateien. Diese Datendateien können durch Aufruf von simulplan(2) auch unter Benutzung des Moduls laden betrachtet werden. laden erlaubt dann die Betrachtung der Muster selbst, die Bildung der Fouriertransformierten, die Bildung der Kreuzkorrelation aus Referenzmuster und verschmiertem Muster und die Berechnung der Gütekurve beider Muster.

6.2.1.1 Auswertung der Daten

Die Auswertung der von simulplan geschriebenen Dateien erfolgt im Modul simauswerten. simauswerten lädt die von simulplan erzeugten Musterdateien und übergibt das verschmierte Muster und das mittlere Drittel des Referenzmusters an guetekurve, das, wie zu erwarten, die Gütekurve berechnet. Die Gütekurve wird anschließend an winkelbreite übergeben, das daraus die meßbare Winkelbreite bestimmt.

Für die Berechnung der Kurve werden von guetekurve die Kreuzkorrelationen der Teile des Musters mit dem mittleren Drittel des Referenzmusters berechnet, und durch paramax der Parabelfit an die Kreuzkorrelationskurve durchgeführt. Die erhaltenen Maximumspositionen werden mit den erwarteten verglichen und die Abweichung (also die Gütekurve) als Vektor zurückgegeben.

paramax verwendet für den Parabelfit die in Matlab eingebaute Funktion polyfit und nutzt die 15 Pixel um das Maximum der Kreuzkorrelationskurve herum für die Berechnung der Parabelparameter.

winkelbreite bestimmt schließlich aus einer gegebenen Gütekurve die meßbare Winkelbreite. Dazu wird ihm die maximale Abweichung übergeben, bis zu der die Messung der Torsion als geglückt gelten soll.

Das Modul laden schließlich wird von simulplan aufgerufen, wenn die Daten betrachtet werden sollen, und erlaubt die Online-Analyse einzelner Muster.


next up previous contents
Next: 6.3 Segmentanalyse Up: 6. Algorithmen Previous: 6.1 2-D-Kalibration
root
1999-04-24