DiplomarbeitErkennen von dreidimensionalen Objekten mit Hilfe neuronaler Netze
Autor: Ingo Fraunhuber Betreuer: Prof. Dr. Jochen Pfalzgraf http://www.cosy.sbg.ac.at/~jpfalz/ Der folgende Abschnitt liefert einen kurzen Einblick in meine Diplomarbeit. Die Idee: Gerade im CAD Bereich ist es notwendig Unterschiede zwischen CAD Modellen zu erkennen. Betrachtet man zum Beispiel den Entwicklungsverlauf eines Bauteils, so sind von dem ersten Entwurf des Werkstücks bis zur Freigabe und Fertigung des Bauteils sehr viele Zwischenschritte notwendig. Um nun die Nachvollziehbarkeit der Entwicklungsschritte sicherzustellen, werden neben den allgemeinen Änderungsdaten (Wer hat was, wann geändert, usw.) in einem PDM System auch grafische Informationen über den Entwicklungszyklus mitdokumentiert. Gerade bei der ISO 9000 ist eine lückenlose Dokumentation des Entwicklungsablaufs unerlässlich, vor allem im Hinblick auf Garantie- und Regressansprüche. Neben der Möglichkeit Geometriemodelle miteinander zu vergleichen, stellt sich auch die Frage, ob es möglich ist auf Basis der geometrischen Informationen über ein Objekt eine Objekterkennung zu realisieren. Auf dem Gebiet der Gesichtserkennung stellt eine Erkennung der Gesichtsform mit Hilfe geometrischer Daten eine interessante Ergänzung zu den bisher am Markt befindlichen biometrischen Sicherheitssystemen dar. Mögliche Einsatzgebiete für den Objektvergleich und die Objekterkennung:
In der Diplomarbeit wurde für das Problem des Objektvergleichs und der Objekterkennung eine Lösung auf der Basis neuronaler Netze erarbeitet. Der Objektvergleich: Für den Objektvergleich (basierend auf herkömmlichen mathematischen Ansätzen) gibt es bereits eine Vielzahl von Lösungen die je nach verwendetem CAD System variieren. Vergleich eines Kotflügels. Quelle: Haitec AG - Programm Catver, www.haitec.de Diese Grafik zeigt einen Vergleich von zwei übereinanderliegenden Autokotflügel. Die Unterschiede der beiden Kotflügel werden durch eine farbliche Abstufung dargestellt. Der hellblaue Bereich stellt einen minimalen Abstand zum Originalmodell dar. Der dunkelrote Bereich weist auf eine sehr hohe Abweichung hin.
Vergleich eines Gaspedals
Quelle: Catia V5Dassault Systemes, http://www.catia.com Bei dieser Versuchsanordnung ist es möglich nach der Eingabe der Berechnungsgenauigkeit (Toleranz) die Unterschiede der beiden Gaspedale zu ermitteln und grafisch darzustellen. Es wird eine Berechnungsgenauigkeit von 7mm gewählt. Die in der Grafik rot und grün dargestellten Bereiche veranschaulichen die Unterschiede der Pedale.
Das STL Format (Stereolithographie-Format): Um sich bei dem Vergleich von Objekten nicht auf ein bestimmtes CAD System festzulegen, wurde für den Datenvergleich das Datenformat STL gewählt. Bei einer STL Datei handelt es sich um eine Triangulierung des Modells. Dieses Format wird von allen gängigen CAD Systemen unterstützt.
Quelle: Catia V5 Dassault Systemes, http://www.catia.com
Der Ansatz: Um nun ein Objekt mit Hilfe eines neuronalen Netzes zu erkennen, ist es, neben der geeigneten neuronalen Netzstruktur, auch notwendig sinnvolle Trainingsdaten (Trainingspunkte) für das Training des neuronalen Netzes zu finden. Die folgenden Bilder veranschaulichen die Grundidee, die einen Objektvergleich mit neuronalen Netzen ermöglichen soll. Dieser Ansatz lässt sich sowohl für 2-dimensionale als auch für 3-dimensionale Objekte verwenden..
Die Objekt- und Gesichtserkennung: Wie geht man nun bei einer dreidimensionalen Objekt- oder Gesichtserkennung
vor? Eigentlich analog wie vorher. Im ersten Schritt wird das Objekt
mit einer Toleranzhülle für Punkte die sich innerhalb des
Objekts befinden versehen. Punkte auf dem Originalobjekt und auf der
Toleranzhülle werden als Trainingsdaten (Punkte innerhalb des Originalobjekts)
für das neuronale Netz verwendet. Im zweiten Schritt wir eine zusätzliche Hülle zu dem Originalobjekt berechnet. Punkte auf der zweiten Hülle werden als Trainingspunkte ausserhalb des Objekts für das neuronale Netz verwendet.
Wie können nun die Trainingspunkte berechnet werden? Zu diesem Zweck wird eine Triangulierung (STL Format) unseres Objekts inklusive der dazugehörigen Hüllen durchgeführt. Aus den dadurch erhaltenen Dreiecken wird der Flächenschwerpunkt jedes einzelnen Dreiecks berechnet und für das Trainieren des neuronalen Netzes verwendet. Bei der Triangulierung des Objekts wird eine maximal zulässige Toleranz eingegeben, um dessen Wert das triangulierte Dreieck maximal von dem Originaldreieck abweichen darf. Das hat den Vorteil, dass gerade bei einer Krümmung des Objekts mehr Dreiecke und somit auch mehr Trainigspunkte berechnet werden, als bei Ebenen.
Die Objekterkennung in der Praxis mit Hilfe neuronaler Netze: In der folgenden Aufgabenstellung wird versucht mit Hilfe eines neuronalen
Netzes ähnliche Objekte zu unterscheiden. Für die Testanordnung
werden vier Objekte verwendet. Das erste Objekt (grünes Objekt) stellt
das Referenzobjekt (Objekt 1) dar. Die folgenden 2 Testobjekte (blau
und rot) unterscheiden sich nur wenig von Objekt 1. Die Abmessungen
des letzten Testobjekts (türkis) weisen jedoch bereits einen erheblichen
Unterschied zu den anderen Objekten auf.
Die folgende Grafik visualisiert die Unterschiede zwischen Objekt 1
und Objekt 2.
Die folgenden Schritte sind für die Objekterkennung mit neuronalen Netzen notwendig:
Ergebnis: Der vorgestellte Ansatz, für die Erkennung von dreidimensionalen
Objekten, eignet sich sehr gut für den Einsatz in Verbindung mit
neuronalen Netzen. Gerade im Bereich der Objekterkennung und der Ähnlichkeitssuche
kommen die Vorzüge der neuronalen Netze zum Tragen. Betrachtet
man zum Beispiel die Anforderung einer Gesichtsidentifikation (finden
eines Gesichts aus einer Datenbank mit 1000 Gesichtern), so erreicht
man mit neuronalen Netzen einen entscheidenden Geschwindigkeitsvorteil
gegenüber herkömmlichen Vergleichsmethoden. Die Verwendung von triangulierten Daten der dreidimensionalen Objekte, beschränkt einen möglichen Einsatz der vorgestellten Methode nicht nur auf CAD Systeme. Vielmehr bietet es einen allgemeinen Ansatz für das Erkennen von dreidimensionalen Objekten. Auch zeigt sich in den ersten Versuchen, dass die Verwendung der Flächenschwerpunkte der bei der Triangulierung erhaltenen Dreiecke, für das Trainieren des neuronalen Netzes vollkommen ausreichend ist.
Vorteile bei der Verwendung von dreidimensionalen Daten bei der Gesichtserkennung:
|
|||||||||||||||||||||||||||||||||||||