MAL-Homepage Inhaltsverzeichnis



MAL Dokumentation: Videometrie




Inhalt:

1. EINRICHTEN
2. KONFIGURATION
3. AUTOTRACKING
3.1. Methode
3.2. Autotracking-Konfiguration
3.3. Praktische Vorgangsweise


1. EINRICHTEN

Das Einrichten einer Archivierung von Videometrie-Daten erfolgt nach dem Login als Anwender mit dem Menüpunkt Insert und Auswahl von Motion-Measurement oder Vicon-Measurement (je nach dem vorhandenen Mess-System).

MAL-Homepage Inhaltsverzeichnis


2. KONFIGURATION

Hat man in die Anwenderdaten des Messdaten-Archivs eine Archivierung vom Typ Motion-Measurement oder Vicon-Measurement eingetragen, so erscheint nach Aufruf des Menüpunktes Konfiguration ein Menü mit folgenden Auswahlmöglichkeiten:

Parameters
Der Menüpunkt Parameter dient zum Einstellen allgemeiner Parameter für die Archivierung von Videometrie-Daten (kurz: Videodaten):

Der Parameter Messfrequenz gibt die Sampling-Frequenz in Hertz an. Der Parameter Animationsmaßstab stellt die Größe der Kontrollanimation, die bei jeder Archivierung aufgerufen werden kann, ein.

Der Paramter Messdaten-Pfad gibt an, aus welcher Directory die Tracks gelesen werden sollen (der abschließende Backslash ist erforderlich!).

Wenn mit der Autotracking-Funktion archiviert werden soll, so muss im Parameter Autotracking ein Verweis auf einen entsprechenden Eintrag der Klasse "Autotracking_Net" enthalten sein (siehe
Autotracking). Andernfalls ist dieses Feld leer zu halten.

Bei der Archivierung von Vicon-Daten mit Autotracking, muss bei der Messdatenerfassung der Punkt Reconstruct im Pipelining angeklickt sein. Ausserdem muss darauf geachtet werden, dass das c3d-File im IBM-PC Format (nicht im DEC-Format) abgespeichert wird. Die erforderlichen Einstellungen sind unter User Preferences zu finden und sind wie folgt vorzunehmen: Bei der Archivierung von Motion-Analysis-Daten mit Autotracking müssen folgende Schritte mit EVA durchgeführt werden, um die Messdaten aufzubereiten:

Der Parameter Interpolation dient zur Auswahl von Interpolations- und Glättungsalgorithmen. Zur Auswahl stehen folgene Möglichkeiten: Verdeckte Marken im Vorspann- oder Nachspannbereich werden generell nicht extrapoliert, sondern bleiben bei jedem Verfahren verdeckt.



Wenn bei Trajektorien_archivieren und/oder Analogwerte_archivieren 1 angegeben wird, so werden die Trajektorien bzw. Analogwerte bei der Archivierung der Messdaten berechnet und mit im Archiv abgespeichert. Das verkürzt zwar die Laufzeit bei der Analyse der Messdaten, hat aber zwei entscheidende Nachteile: erstens ist der benötigte Speicherplatz im Archiv größer und zweitens werden bei einer eventuell später im Archiv durchgeführten Veränderung der Orientierungsdaten oder ähnlichen Messparametern die Messwerte nicht neu berechnet.

Names
Der Menüpunkt Names öffnet ein Editor-Fenster zum Eingeben der Markennamen. Die Namen werden den von der Input-Datei eingelesenen Messdaten (den Tracks) in der angegebenen Reihenfolge spaltenweise (Track für Track) zugeordnet. Die in der Track-Datei angegebenen Namen werden nicht berücksichtigt. Die Namen können zeilenweise oder auch mehrere Namen in einer Zeile (durch Blank getrennt) eingegeben werden. Innerhalb der Namen sind keine Blanks zugelassen.

Wenn Track-Files mit fehlenden Marken (Marken, die während der ganzen Messzeit nicht sichtbar waren) archiviert werden sollen, so können die Namen dieser Marken bei der Archivierung in folgender Maske angegeben werden:

Connections
Der Menüpunkt Connections dient zum Einstellen der Polygon-Verbindungen bei der 3d-Animation. Er öffnet ein Editor-Fenster mit etwa folgendem Inhalt:

Jede Zahlenkolonne zwischen eckigen Klammern beschreibt die Eckpunkte eines Polygons, wobei sich die Zahlen als Nummern der Tracks (mit eins beginnend) verstehen. Zu beachten ist, dass jeweils vor und nach jeder Zahl oder eckigen Klammer ein Blank oder Zeilenwechsel stehen muss (MAL-Syntax) und die eckigen Klammern am Beginn und am Ende erforderlich sind.

Animate Orientation
Der Menüpunkt Anima Orientation started die 3d-Darstellung einer Mustermessung mit einem eingeblendeten Koordinatenkreuz. Die Mustermessung kann aus allen im Messdaten-Pfad gefundenen Track-Dateien ausgewählt werden. In der Animation werden zwei Objekte (das Koordinatenkreuz "koordö und die Messdaten "figurö) dargestellt. Durch Markieren eines Objektes mit dem Menüpunkt Markieren (durch Eingabe eines Leerstrings wird die Markierung aufgehoben) können die Objekte separat verdreht und verschoben werden, bis die Figur die gewünschte Lage in Bezug auf das Koordinatensystem hat. Beim Verlassen der Animation wird noch abgefragt, ob die Drehmatrix gerundet werden soll. Diese Funktion stellt die Orientierung auf einen rechten Winkel ein. Sie funktioniert aber nur einwandfrei, wenn die Orientierung bereits annähernd rechtwinkelig ist, da nur die einzelnen Komponenten der Drehmatrix gerundet werden.

Edit Orientation
Der Menüpunkt Edit Orientation startet folgende Eingabemaske zum Einstellen der Orientierungsdaten:

MAL-Homepage Inhaltsverzeichnis


3. AUTOTRACKING

3.1. Methode

Das Autotracking-Verfahren beruht auf lernenden Mustererkennungssystemen, nämlich
Neuralen Netzen. Für jede Markerkonfiguration und Bewegungsart (Stand, Gehen, Laufen, Schritt, Trab...) muss ein eigenes Neurales Netz konfiguriert und mit Beispieldaten (bereits korrekt getrackte Daten) trainiert werden.

Das Neurale Netz wird beim Autotracking dazu benutzt, aus der ungeordneten Menge der exakten Raumpositionen der Marken, für jede mit Namen eindeutig definierte Marke eine ungefähre Raumposition (Schätzposition) zu berechnen. Durch ein Minimum-Distanzverfahren werden die exakten Raumpositionen den geschätzten Markenpositionen paarweise zugeordnet. Somit erhält man eine eindeutige Zuordnung der exakten Raumpositionen zu den Markernamen.

Um aus der ungeordneten Menge der Raumpositionen brauchbare Eingangsdaten (Lernmuster) für das neurale Netz zu berechnen, wird folgendes Verfahren verwendet:

Der Messraum wird in jede Dimension in eine voreinstellbare Anzahl von gleichen Abschnitten geteilt. So erhält man eine Menge gleich großer Quader. Jeweils dem Zentrum dieser Quader ist ein gedachter (virtueller) Sensor zugeordnet, der die Distanzen zu allen Raumpositionen berechnet, gewichtet und summiert. Gewichtet wird nach der Funktion der Gauß´schen Glockenkurve. Weit entfernte Punkte fallen also weniger ins Gewicht als nahe Raumpositionen.

Wird der Raum z.B. in X-Richtung in 2, in Y-Richtung in 3 und in Z-Richtung in 4 Abschnitte geteilt, so erhält man 2 * 3 * 4 = 24 Quader mit entsprechend 24 Sensoren, also 24 Eingangssignale für das neurale Netz.

Beim Training des neuralen Netzes werden diese Eingangssignale als Muster-Datensatz (Pattern-Sample) und die dazugehörigen Koordinaten der Markenpositionen als Solldatensatz (Target-Sample) verwendet.

MAL-Homepage Inhaltsverzeichnis


3.2. Autotracking-Konfiguration

Das Konfigurationsmenü für Auswertungen vom Typ "Autotracking_Net" hat folgende Menüpunkte:

Parameter
Der Menüpunkt Parameter ruft folgende Maske auf:

Number_of_Markers muss die Anzahl der Marken enthalten. Die Parameter X-Raster, Y-Raster und Z-Raster bestimmen, in wie viele gleichgroße Abschnitte der Messraum in jede Richtung geteilt wird, also die Anzahl der virtuellen Sensoren in jede Richtung.

Pattern-File enthält den Pfad einer Puffer-Datei in der die Lerndaten für das Neurale Netz gespeichert werden. Diese Datei kann mit dem Menüpunkt Reset-Patternfile explizit eingerichtet oder rückgesetzt werden (bestehende Lerndaten werden dabei gelöscht). Es wird aber auch jeweils beim Start der Auswertung gefragt, ob das Pattern-File rückgesetzt werden sollen. Wird es nicht rückgesetzt, so werden die neuen Lernaten an die bestehenden angehängt. Besteht die Datei aber noch nicht, so muss sie unbedingt rückgesetzt (eingerichtet) werden.

Sample-Step gibt an, jedes wievielte Bild aus den Musterdaten für das Lernen verwendet werden soll. Im obigen Beispiel würde also jedes 10-te Bild verwendet, das gibt bei einer Messfrequenz von 120 Hz eine Sample-Rate von 12 Hz. Nachdem bei den meisten Messungen mehrere Zyklen abgespeichert sind und die Zyklusfreuquenz in der Regel kein exakter Teiler von 12 Hz ist, reicht diese Rate durchaus aus, um alle Phasen des Bewegungszyklus zu erfassen.

Der Parameter Limit_Measurement_Space dient dazu weitab liegende, falsche Markenpositionen zu unterdrücken. Ist er auf 1 gesetzt, so werden alle Marken, die außerhalb des darunter angeführten Koordinatenbereiches liegen, unterdrückt.

Der Parameter maximum_Distance_Deviation dient für eine abschließende Plausibilitätskontrolle der getrackten Daten. Wenn hier ein Wert ungleich Null angegeben wird, so werden im Anschluß an das automatische Tracking die Längen der unter 'Connections' angegebenen Verbindungslinien geprüft. Dabei werden Marken, deren Distanzen um mehr als der angegebene Wert von dem über die Zeit gerechneten Medianwert abweichen, als ungültig ausgeblendet. In einem abschließenden Korrektur-Track wird dann versucht, die so erkannten Fehler zu korrigieren.

Neural-Net
Unter dem Menüpunkt Neural Net erreicht man das Konfigurations- und Testmenü für das Neurale Netz, das beim Autotracking verwendet wird. Es hat folgenden Aufbau:

Configure
Bei Auswahl des Punktes Configure wird folgende Maske geöffnet:

Die Zeile Topologie beschreibt die Struktur des Neuralen Netzes. Die erste Zahl ist die Anzahl der Input-Synapsen. Diese muss immer gleich der Anzahl der virtuellen Raumsensoren sein und wird dynamisch errechnet. Die letzte Zahl ist die Anzahl der Output-Synapsen. Sie muss immer gleich der Anzahl der Marker-Koordinaten (also 3 * Markeranzahl) sein und wird ebenfalls dynamisch berechnet. Dazwischen können ein oder mehrere Zahlen für die Beschreibung der Hidden-Layer stehen (siehe auch Neurale Netze). In der Praxis hat sich ein Hidden-Layer bewährt, dessen Anzahl der Synapse etwa gleich der Anzahl der Marken ist.

Der Parameter Init_Faktor_k stellt ein, in welchem Wertebereich die zufälliger Initalisierung der Synaptischen Gewichte erfolgen soll.

Iterations_per_Training stellt die Zahl der Iterationen bei einem Lerndurchlauf ein. Im Prinzip gilt: Je größer, desto besser werden die Muster gelernt. Allerdings steigt auch die Dauer der Lernphase. Die oben angeführte Zahl der Iterationen benötigt auf einem durchschnittlichen PC einige Minuten Rechenzeit (es gibt keine Fortschrittsanzeige beim Lernen, man muss einfach warten).

Init
Nachdem das Netz mit Init initialisiert wurde, kann ein oder mehrmals mit dem Menüpunkt Learn trainiert werden. Diese beiden Punkte werden aber beim Starten der Auswertung automatisch durchgeführt. Learn kann aber zum Beispiel zum Verbessern der Lernerfolge wiederholt aufgerufen werden.

Drawings
Der Menüpunkt Drawings zeigt zwei Zeitdiagramme am Schirm an. Das untere ist für das Autotracking nicht von Bedeutung. Das obere Diagramm zeigt den mittleren Restfehler während der Lernphase an. Die Zeitachse ist in Prozent der Lerndauer. Bei normalem Lernerfolg zeigt diese Kurve eine asymptotische Annäherung an einen Minimalwert, der zumindest unter 0.5 liegen sollte. Je geringer der Restfehler, desto besser hat das Netz gelernt.

Test
Die letzten Beiden Menüpunkte (Test und Autotracking) dienen zum Überprüfen der Lernerfolge. Test wechselt in ein Untermenü mit folgendem Aufbau:

Bilder
Bilder zeigt Zeitreihen mit den Ist- und Sollwerten aller Koordinaten aller Marken. Es werden zuerst die X-Koordinaten aller Marken (in der Reihenfolge der Namensliste), dann die Y-Koordinaten aller Marken und schließlich die Z-Koordinate aller Marken angezeigt.

Beispiel:

Die rote Kurve zeigt den Sollwert-Verlauf, die schwarze den Istwert. Rechts oben wird die maximale und mittlere Sollwertabweichung eingetragen. Man muss bei der Interpretation der Zahlenwerte darauf achten, dass der Messraum in jede Dimension auf den Wertebereich (0..1) normalisiert wird. Das bedeutet, die Maximalabweichung beträgt im obigen Bild 3.2% des Messraumes.

Animation
Mit Animation können die Ist- und Sollwerte in einer 3d-Ansicht verglichen werden. Die Istwerte sind als frei schwebende Marken dargestellt und die Sollwerte durch Polygone entsprechend den in Connections eingestellten Verbindungen verbunden. Alle Werte werden im normalisierten Raum dargestellt.

Zuordnung
Mit Zuordnung kann die automatische Zuordnung der Istwerte zu den Sollwerten getestet werden. Nach der Berechnung der Markenzuordnung (benötigt etwas Zeit) wird ebenfalls eine 3d-Animation gestartet. In dieser sind aber die Istwerte entsprechend durch Polygone verbunden und die Sollwerte durch frei schwebende Marken dargestellt. Wenn man mit dem Menüpunkt Joggen die Zeit verstellt, kann man an den Strichfiguren leicht erkennen, ob die Zuordnung für alle Lerndaten richtig funktioniert hat.

MAL-Homepage Inhaltsverzeichnis


3.3. Praktische Vorgangsweise

Die für das Autotracking benötigten Neuralen Netze und ihre dazugehörigen Konfigruationsdaten kann jeder Anwender mit der Funktion Insert (Auswertungstyp: "Autotracking_Net") in seinen Arbeitsbereich laden, konfigurieren und mit Hilfe bereits archivierter Muster-Messdaten trainieren, indem er die Auswertung startet.

Autotracking-Auswertungen können wahlweise mit Einfachselektion oder mit Mehrfachselektion eingerichtet werden. Bei Mehrfachselektion können mehrere Messdatensätze im Archiv ausgewählt werden, bevor das Berechnen der Lerndaten und das Trainieren des Netzes gestartet wird.

Vorgehen bei der Anwendung:

  1. Voraussetzung ist, dass bereits fertig getrackte Muster-Messdaten im Archiv sind, die genau die gewünschte Markenanzahl und -konfiguration haben. Die Messdaten müssen den Namen "Video" haben, d.h. die Routine zum Archivieren muss "Video" heissen.


  2. Eintragen von "Autotracking_Net" mit Insert/Analyse in den User-Bereich. Der Name des neu angelegten Autotracking-Eintrags muss bei der Archivierungsroutine unter Paramters eingetragen werden.


  3. Konfigurieren:
    • Config/Analyse/Parameter Anzahl der Marken und Raster einstellen. Pfad fuer "Pattern-File" pruefen.
    • Connections Verbindungen fuer Animation einstellen.
    • Reset-Pattern-File


  4. Lerndaten berechnen: Starten der Analyse und Auswahl der Muster-Lerndaten aus dem Messdate-Archiv.

  5. Netztopologie und Anzahl der Lernschritte einstellen: Configure/Analyse/Neural Net/Configure

  6. Netz trainieren:
    • Init (beim Nachlernen nicht erforderlich)
    • Learn (braucht eine Weile)
    • Drawings (obere Kurve zeigt die Approximation)


  7. Lernerfolg Kontrollieren: Configure/Analyse/Neural Net/Test
    • Bilder (zeigt die Abweichungen einzelner Koordinaten als Weg-Zeit-Diagramm).
    • Numerisch (gibt Tabelle mit mittleren und maximalen Abweichungen aus).
    • Animation (zeigt die Abweichungen als 3-Animation).
    • Zuordnung (testet die automatische Markenzuordnung).

MAL-Homepage Inhaltsverzeichnis