nextuppreviouscontents
Nächste Seite:4. Das NetzwerkAufwärts:1. DokumentationVorherige Seite:2. ProjektplanungInhalt

Unterabschnitte


3. Vorbereitungen

3.1 Definition des Problems

Das Ziel der Arbeit ist es, die Ziffern 0 bis 9 zu erkennen.

Die zu erkennenden Ziffern liegen als tiff-Dateien in verschiedenen Grössen und Schriftarten vor. Die Abweichung von der Normallage beträgt max. +/- 30$ °$. Es gilt eine zuverlässige Erkennung dieser Ziffern mit Hilfe von neuronalen Netzen zu realisieren.

3.2 Bereitstellen von Lehrnbeispielen

Um das Netz später trainieren zu können müssen Lernbeispiele verfügbar sein. Das erstellte Trainingsset umfasst 18 versch. Beispiele pro Ziffer (Tabelle 3.1: Trainingsset für Ziffer 9).

Tabelle 3.1: Trainingsset für Ziffer 9
-30$ °$ 0$ °$ +30$ °$
\resizebox* {0.5cm}{!}{\includegraphics{bilder/1.ps}} \resizebox* {0.25cm}{!}{\includegraphics{bilder/2.ps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/3.ps}}
\resizebox* {1cm}{!}{\includegraphics{bilder/4.ps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/5.ps}} \resizebox* {1cm}{!}{\includegraphics{bilder/6.ps}}
\resizebox* {0.5cm}{!}{\includegraphics{bilder/7.ps}} \resizebox* {0.25cm}{!}{\includegraphics{bilder/8.ps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/9.ps}}
\resizebox* {1cm}{!}{\includegraphics{bilder/10.ps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/11.ps}} \resizebox* {1cm}{!}{\includegraphics{bilder/12.ps}}
\resizebox* {0.5cm}{!}{\includegraphics{bilder/13.ps}} \resizebox* {0.25cm}{!}{\includegraphics{bilder/14.ps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/15.ps}}
\resizebox* {1cm}{!}{\includegraphics{bilder/16.ps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/17.ps}} \resizebox* {1cm}{!}{\includegraphics{bilder/18.ps}}

Tabelle 3.2: Validationset für Ziffer 9
\resizebox* {0.8cm}{!}{\includegraphics{bilder/v1.eps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/v2.eps}} \resizebox* {0.8cm}{!}{\includegraphics{bilder/v3.eps}}
\resizebox* {0.8cm}{!}{\includegraphics{bilder/v4.eps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/v5.eps}} \resizebox* {0.8cm}{!}{\includegraphics{bilder/v6.eps}}
\resizebox* {0.8cm}{!}{\includegraphics{bilder/v7.eps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/v8.eps}} \resizebox* {0.8cm}{!}{\includegraphics{bilder/v9.eps}}
\resizebox* {0.8cm}{!}{\includegraphics{bilder/v10.eps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/v11.eps}} \resizebox* {0.8cm}{!}{\includegraphics{bilder/v12.eps}}
\resizebox* {0.8cm}{!}{\includegraphics{bilder/v13.eps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/v14.eps}} \resizebox* {0.8cm}{!}{\includegraphics{bilder/v15.eps}}
\resizebox* {0.8cm}{!}{\includegraphics{bilder/v16.eps}} \resizebox* {0.5cm}{!}{\includegraphics{bilder/v17.eps}} \resizebox* {0.8cm}{!}{\includegraphics{bilder/v18.eps}}

Es enhält die Schriftarten 'Times New Roman', 'Arial' und 'Comic Sans MS' in je zwei versch. Grössen.

Damit eine Spezialisierung des Netzes auf die Lehrnbeispiele verhindert werden kann, wird ein Validationset verwendet (Tabelle 3.2). Um die Generalisierungsfähigkeit des Netzes beurteilen zu können, und um das Validationset vom Trainingsset abzuheben, enthält dieses auch dem Netz unbekannte Schriftarten.

Das Validationset enthält die Schriftarten 'Script', 'Modern, 'Lucida Sans Unicode', 'Arial' mit geometrischen Verzerrungen, 'Bookman Old Style' und 'Arial' ohne geometrischen Verzerrungen. Die Ausrichtungen entsprechen nicht mehr denjenigen des Trainingsset.


3.3 Vorverarbeitung der Eingabe und Extraktion von Merkmalen

Damit das neuronale Netz dem Bild ein Zeichen zuordnen kann, muss das Bild zuerst vorverarbeitet werden. Dazu müssen verschiedene für die Klassifikation relevante Merkmale gefunden werden.

Es werden folgende Merkmale aus dem Bild extrahiert und auf ihre Relevanz für die Klassifizierung gerprüft :


3.3.1 Fourierspektrum

Um das Fourierspektrum der Figur auf dem Bild zu ermitteln, muss diese zuerst in eine komplexe Funktion umgewandelt werden (Abbildung 3.1).
\resizebox* {0.8\textwidth}{!}{\includegraphics{bilder/contur.ps}}
Abbildung 3.1: Bild umwandeln in eine komplexe Funktion

Diese Umwandlung erfolgt mit Hilfe der Funktionen 'ctracing' (Lit.[1], Code im Anhang B.2.1) und 'polysamp' (Lit. [2], Code im Anhang B.2.2). Die Figur wird an 32 Stellen abgetastet. Auf die so erhaltene komplexe Funktion wird nun die diskrete Fouriertransformation (Formel 3.1) angewendet3.1.

$\displaystyle X_{a}(k)=\begin{array}{c} N-1\\  \sum \\  n=0 \end{array}x(n)\cdot e^{-j\cdot 2\pi \cdot \frac{k\cdot n}{N}}$ (3.1)

Durch das Weglassen der Komponente X$ _{a} $(0) und dem Normieren der restlichen Koeffizienten auf X$ _{a} $(1) sind die Koeffizienten unabhängig von der Grösse, der Position und der Drehung der Figur. Man erhält einen Merkmalsvektor mit 30 Elementen (Abbildung 3.2).

\resizebox* {0.8\textwidth}{!}{\includegraphics{bilder/fft.ps}}
Abbildung 3.2: normierte Fourierkoeffizienten (Beträge)

Um eine Aussage über die Klassifikationsmöglichkeiten mit Hilfe des Spektrums zu machen, habe ich die Dimension der Daten aller 180 Spektren des Trainingssets auf 2 resp. 3 Dimensionen reduziert3.2 und das Resultat graphisch dargestellt (Abbildung 3.3)3.3.

[1. und 2. Hauptkomponente des Spektrums]
\resizebox* {0.7\textwidth}{!}{\includegraphics{bilder/fft_haupt.eps}}
[1. bis 3. Hauptkomponente des Spektrums]
\resizebox* {0.8\textwidth}{!}{\includegraphics{bilder/fft_haupt_3d.eps}}
Abbildung 3.3: FFT-Merkmale (Hauptkomponenten)

In Abbildung 3.3 ist zu sehen, dass die Trennung der Ziffern 1 von 7 resp. 6 von 9 mit Hilfe der Fourierkoeffizienten wahrscheinlich nicht vorgenommen werden kann. Dies leuchtet besonders bei den Ziffern 6 und 9 ein, da ja nur ein normiertes, drehinvariantes Spektrum verwendet wird.
Spätere Experimente zeigten, dass die Ziffern 1 und 7 getrennt werden können.

3.3.2 Formfaktor

Der Formfaktor V$ _{U2F} $ wird auch als Kompaktheit bezeichnet und durch das Verhältnis des Quadrates des Objektumfangs zur Oberfläche beschrieben.

Der Wert berechnet sich nach der Formel 3.2.

$\displaystyle V_{U2F}=\frac{U^{2}}{4\pi \cdot A}$ (3.2)

Er ist eins, wenn das Objekt kreisförmig ist. Je mehr die "Zerklüftheit" des Objektes zunimmt, desto größer wird der Wert des Formfaktors.

Der Formfaktor ist gegen die geometrischen Transformationen Translation, Rotation, homogene Skalierung und affine Transformation mit homogener Skalierung im zweidimensionalen Fall invariant. Damit ist die Kompaktheit ein einfaches Merkmal, das wesentlich besser zur 2D Objektbeschreibung geeignet ist, als die Objektfläche oder der Objektumfang (Lit. [3]) .

\resizebox* {1\textwidth}{!}{\includegraphics{bilder/formfaktor.eps}}
Abbildung 3.4: Formfaktoren

In Abbildung 3.4 ist zu sehen, dass der Formfaktor nicht zur Trennung der kritischen Fälle, d.h. 6 von 9 und 1 von 7, beiträgt. Da aber die Form bereits in die FFT einfliesst ist das nicht weiter verwunderlich. Der Formfaktor wird daher nicht als weiteres Merkmal verwendet.

3.3.3 Füllungsgrad

Das Merkmal Füllungsgrad (Formel 3.3) gibt an, in wieweit das Bildobjekt das verwendete Rechteck3.4 ausfüllt. Als Füllungsgrad wird das Verhältnis der Summe der Bildpunkte zu der Summe der Hintergrundpunkte gebildet (Lit. [3]):
$\displaystyle F_{G}=\frac{\sum Objektpunkte}{\sum Hintergrundpunkte}$ (3.3)

Da hier auch Löcher in den Figuren eine Rolle spielen, kann der Füllungsgrad als weiteres Merkmal verwendet werden. Löcher verändern den Umriss der Figur nicht, und werden daher im Fourierspektrum nicht erfasst.

3.3.4 Projektion

Bei der Projektion wird die Ziffer wie in Abbildung 3.5 aufgeteilt, und die Relation der schwarzen zu weissen Pixel in einer Spalte, resp. Zeile betrachtet3.5.
\resizebox* {1\textwidth}{!}{\includegraphics{bilder/projektion.eps}}
Abbildung 3.5: Projektion in x und y - Richtung

Eine Analyse3.6 der so aus dem Trainingsset erhaltenen Daten zeigt, dass zwar eine Trennung der Ziffern 9 und 6 mit diesen Merkmalen möglich wäre, aber die gesamte Struktur der Daten das Netz wohl eher verwirren würde (Abbildung 3.6). Daher wird 6 von 9 nicht vom Netz unterschieden.

\resizebox* {1\textwidth}{!}{\includegraphics{bilder/hauptprojektion.eps}}
Abbildung 3.6: Auswertung der Projektionsmerkmale 


3.4 Erkenntnisse aus der Vorbereitung

Die genauere Betrachtung der verschiedenen Merkmale hat gezeigt, dass vor allem die Fourierkoeffizienten geeignet sind, um ein neuronales Netz zu trainieren. Das Merkmal der Projektion könnte in der Nachbearbeitung eingesetzt werden, um die Ziffern 6 und 9 voneinander zu trennen3.7. Diese Trennung wird nicht vom Netz vorgenommen.

Der Formfaktor und der Füllungsgrad ergänzen die beiden vorhergenannten Merkmale nur unwesentlich, und werden daher nicht verwendet.


nextuppreviouscontents
Nächste Seite:4. Das NetzwerkAufwärts:1. DokumentationVorherige Seite:2. ProjektplanungInhalt
Gfeller Patrik

2001-02-25