Fingerprint Detection System
Auf der Basis von Neuronalen Netzen


- Home - Programmbeschreibung - Algorithmen - Klassenbeschreibung - Download -

Graphical User Interface:
CFingerprintDetectionSystemDlg: Diese Klasse beinhaltet alle Aufgaben, die mit der Graphischen Darstellung, der Interaktion mit dem Benutzer und der Ausgabe der Ergebnisse zu tun hat.
CNetInitDlg: In diesem Dialog kann das Netz neu initialisiert und Einstellungen für die Hiddenschicht sowie die Outputschicht vorgenommen werden.
Helper Classes:
CFingerPicture: Hier werden die Personendaten, wie Name, Id und der Ort eines dazugehörigen Fingerabdruckes gehalten. Desweiteren kann man das Abbild des Fingerabdruckes laden und sich dann einen Pointer darauf zurückgeben lassen.
CPictureFilter: In dieser Klasse werden alle Aufgaben, die mit der Bildverarbeitung zu tun haben, erledigt. So gibt es zum Beispiel Methoden zum Umwandeln von 24 Bit Farbbildern zu 8 Bit Graustufenbildern und umgekehrt, Methoden zur Kontrasterhöhung, Erkennung von Kanten und zum Skelettieren von Linien.
CVectorArray: In dieser Klasse werden die skelettierten Bilder segmentiert und dabei die gezählten Linienenden und Linienkreuzungen pro Segment gespeichert. Desweiteren werden die Personendaten der Klasse CFingerPicture übernommen und eine eindeutige ID, bestehend aus 16 Bytes, aufgebaut. Diese Speicherung geschieht dann bereits im CPatternLayer Format, damit diese direkt dem Neuronalen Netz übergeben werden können. Diese Klasse ist serialisierbar. Dadurch ist es möglich, einmal berechnete Vektoren zu speichern und zu laden.
Neuron Net :
Aufbau des Neuronalen Netzes
Aufbau des neuronalen Netzes
 
CNeuronNet: Diese Klasse repräsentiert ein ganzes Neuronales Netz. Über ihre Methoden können Layer hinzugefügt, Gewichte initialisiert, das Training und die Erkennung gestartet werden. Es wird dabei immer angenommen, daß der erste Layer, der hinzugefügt wurde, die Inputschicht darstellt und der letzte Layer die Outputschicht. Diese Klasse und alle weiteren Klassen des Neuronalen Netzes sind vollkommen serialisierbar. Damit ist es möglich, den kompletten Zustand des Netzes zu speichern und wiederherzustellen.
CNeuronLayer: Hier wird ein Layer des Netzes gespeichert. Alle Neuronen des Layers werden in einem Array abgelegt.
CNeuron: Diese Klasse stellt ein Neuron dar. In einem Array werden alle Verbindungen und deren Gewichte zu der vorangegangenen Schicht gespeichert. Dabei findet aber keine direkte Zuordnung statt, sondern es wird nur anhand der Position ermittelt, welche Verbindung und damit welches Gewicht, zu welchem Neuron der vorangegangenen Schicht gehört. Desweiteren befinden sich hier Methoden, die die Aktivierungsfunktion und deren Ableitung beinhalten sowie eine Methode zur Berechnung des Gradienten.
CWeight: In dieser Klasse wird das Gewicht selbst und das Delta eines Gewichtes gespeichert.
CPatternLayer: Diese Klasse dient zum Halten eines kompletten Mustersatzes. Dieses Muster kann als Eingabemuster oder als Ausgabemuster genutzt werden. Auch diese Klasse ist serialisierbar und ermöglicht somit des Speichern und Laden eines Mustersatzes.




Copyright © 2001 Christian Pötzsch