Das Programm Digitize wird aus einem Terminalfenster aufgerufen. Unter UNIX ist das ein xterm und unter Windows die MS-DOS Eingabeaufforderung. In diesem Fenster wechselt man in jenes Verzeichnis in welches das Ergebnis der Digitalisierung geschrieben werden soll. Es ist zu beachten, dass das Verzeichnis vom Benutzer beschreibbar sein muss. Die Bilddaten, die von Digitize gelesen werden, können sich in einem anderen Verzeichnis befinden (z.B. auf einer CD). Zum Start des Programmes gibt man den Befehl
digiein.
Das Programm Digitize liest eine Folge von JPG Bildern und schreibt die Bildkoordinaten der digitalisierten Punkte im ASCII Format in eine Datei. Der Aufbau dieser Datei wird in Kapitel file beschrieben.
Die Ausgabe des Programmes Digitize kann mit der 3-D Rekonstruktionssoftware f3d des Autors weiterbearbeitet werden. f3d berechnet die 3-D Koordinaten digitalisierter Punkte und die Programme hanavan und center ermitteln daraus die Schwerpunktskoordinaten und die Orientierungen der Körpersegmente.
Das Programm meldet sich mit dem in Abb. fig:start dargestellten Startbildschirm.
In diese Eingabemaske muss der Dateiname, die Bildrate, das Modell und der Modus der Digitalisierung eingetragen werden. Der Vorgang der Digitalisierung wird durch Drücken auf den grafischen Druckknopf Starten gestartet. Drücken von Beenden beendet das Programm.
Dateien, die von Digitize verarbeitet werden, haben die Gestalt
Name + '_' + Kamera + '_' + Bild + '.jpg'.Name ist eine Zeichenkette aus Buchstaben und Ziffern. Sie kennzeichnet die Digitalisierung. Kamera ist eine einzelne Ziffer und identifiziert die Kamera. Für sie sind Werte zwischen 1 und 4 zulässig. Bild gibt die Bildnummer an. Sie ist eine dreiziffrige Zahl. Es ist zu beachten, dass das Bild mit der Nummer 1 durch 001 zu kodieren ist. Beim Öffnen des Hauptfensters zählt Digitize die Gesamtanzahl der Bilder, indem es der Reihe nach Bild Nummer 0, 1, 2, ... öffnet. Dies hat den Effekt, dass ein fehlendes Bild den Zählvorgang abbricht. Die Gesamtanzahl der Bilder ist die Anzahl der Bilder bis zur ersten Lücke. Das Programm liest Bilder im JPG Format. Für Konversion von und zu anderen Bildformaten verweisen wir auf das Programm convert von ImageMagick.
Durch Drücken des Datei Knopfes wird ein Datei Auswahl Fenster (Abb. fig:fdlg) zur Auswahl des ersten zu digitalisierenden Bildes gestartet. Bei Auswahl einer Datei wird die korrekte Zusammensetzung des Dateinamens überprüft. Sodann wird der Dateiname in das Textfeld unter dem Datei Druckknopf aufgenommen und die Anzeige der Kameranummer gesetzt.
Falls das Projekt bereits bearbeitet wurde, genauer falls sich die Datei
Name + '.xy' + Kameraim aktuellen Verzeichnis befindet, so versucht Digitize den Inhalt dieser Datei zu lesen und setzt die Felder Bilder/s, Punkte, Modell und Aktion.
Die Bildrate wird durch Editieren des Textfeldes beim Feld Bilder/s gesetzt. Dieses Textfeld akzeptiert nur Ziffern als Eingabe. Ist Rate der Wert dieses Textfeldes, so erhält das Bild mit Nummer i die Aufnahmezeit .
Im Block mit der Überschrift Modell wird das Körpermodel für die Digitalisierung eingestellt. Derzeit werden die Modelle Kein Modell, Hanavan, Skifahrer Snowboarder und Skier unterstützt. Kein Modell heißt, dass kein Körpermodell zugrundegelegt ist. In diesem Modell können bis zu 50 Punkte pro Bild digitalisiert werden. Die drei Modelle Hanavan, Skifahrer und Snowboarder benützen 12 Passpunkte und 19 Körperpunkte für das hanavansche Körpermodell. Das Skifahrer Modell ist eine Erweiterung für den alpinen Skisport und hat zusätzlich 4 Punkte für die zwei Skier. Die Erweiterung Snowboarder enthält 2 weitere Punkte für das Snowboard. Das letzte der Modell, nämlich Skier, dient der Digitalisierung von Skiern. Es verwendet 12 Passpunkte und je 4 Punkte für den linken und den rechten Ski.
Die Passpunkte werden zur 3-D Rekonstruktion von Videoaufnahmen mittels f3d benötigt. Die Namen und die Lage der Körperpunkte korrespondieren mit den Programmen hanavan und center. Die Namen der Körperpunkte sind in Tab. tab:lm zusammengefasst. Generell ist der zum Körperpunkt gehörende Drehpunkt des Gelenks zu digitalisieren. Scheitel und Hals sind das obere und untere Ende des Kopfsegmentes. Mit Brustbein wird der Rumpfmittelpunkt auf der Höhe des unteren Endes des Brustbeines bezeichnet. Schulter, Ellbogen, Hüfte, Knie und Knöchel sind die Drehpunkte in den entsprechenden Gelenken. Hand kennzeichnet die Handwurzel (ausgestreckte Hand) oder den Mittelpunkt der Faust (z.B. Hand mit Skistock). Zehen und Ferse stellen das vordere und hintere Ende des Fußes dar. Bei den Skiern und dem Snowboard wird das vordere und hintere Ende digitalisiert. Im Skier Modell wird neben den Skienden auch noch die Position des vorderen und hinteren Endes des Bindungsbackens am Ski digitalisiert.
Hanavan Modell | ||
Scheitel | Hals | |
Brustbein | ||
rechte Schulter | linke Schulter | |
rechter Ellbogen | linker Ellbogen | |
rechte Hand | linke Hand | |
rechte Hüfte | linke Hüfte | |
rechtes Knie | linkes Knie | |
rechter Knöchel | linker Knöchel | |
rechte Ferse | linke Ferse | |
rechte Zehen | linke Zehen | |
Skifahrer Modell = Hanavan Modell + | ||
rechtes Skiende | linkes Skiende | |
rechte Skispitze | linke Skispitze | |
Snowboarder Modell = Hanavan Modell + | ||
Snowboardende | Snowboardspitze | |
Skier Modell | ||
rechte Skispitze | linke Skispitze | |
rechter Vorderbacken | linker Vorderbacken | |
rechter Hinterbacken | linker Hinterbacken | |
rechtes Skiende | linkes Skiende |
Unter Aktion stellt man den Modus der Digitalisierung ein. Der Anfang eines Projektes wird mit Neu bearbeitet. Bei weiteren Sitzungen ist mit dem Modus Bearbeiten fortzufahren, und für anfallende Korrekturen muss auf die Einstellung Korrigieren zurückgegriffen werden.
Unter Neu werden die zu digitalisierenden Daten mit einem Kennzeichen für unbearbeitete bzw. gelöschte Daten vorbesetzt und die Ausgabedatei tst.xy1 (falls Name=tst und Kamera=1) erzeugt. Ab dem 2-ten Bild wird beim Laden eines neuen Bildes ein Schätzwert für jeden zu digitalisierenden Punkt berechnet und in die Liste der Punkte aufgenommen. Diese Schätzwerte werden wie digitalisierte Punkte behandelt und müssen, falls unzureichend, modifiziert werden.
Unter Bearbeiten werden die digitalisierten Punkte aus der entsprechenden Datei (z.B. aus tst.xy1) eingelesen. Beim automatischen Wechsel zu einem neuen Bild werden, wie bei Neu, Schätzwerte für die unbekannten Punkte berechnet.
Unter Korrigieren wird eine digitalisierte Aufnahme korrigiert. In diesem Modus werden alle digitalisierten Punkte dargestellt und keine Schätzwerte für nicht digitalisierte Punkte ermittelt.
Mit Starten wird der Vorgang der Digitalisierung gestartet. Die Dateien werden geöffnet (tst.xy1 und aktuelles Bild) und deren Inhalt gelesen. Sodann wird der Hauptbildschirm aufgebaut. Tritt dabei ein Fehler auf, so gibt das Programm eine Fehlermeldung aus und beendet sich selbst (Abb. fig:err). Ansonsten meldet sich das Programm mit dem Hauptbildschirm (Abb. fig:main) und die Digitalisierung kann beginnen oder fortgeführt werden.
Der Hauptbildschirm ist in Abb. fig:main dargestellt. Er gliedert sich in die Bereiche Hauptfenster, Lupe, Bildkoordinaten, Farbkorrektur, Status und Beenden. Diese werden in der Folge beschrieben.
Das Hauptfenster stellt das zu digitalisierende Bild dar. Falls nicht anders eingestellt, werden die digitalisierten Punkte eingetragen und ein Strichmännchen gezeichnet.
In der rechten oberen Ecke befindet sich die Lupe. Sie stellt den Bereich um die aktuelle Bildposition in vierfacher Vergrößerung dar.
Direkt unter der Lupe werden die aktuellen Bildkoordinaten angezeigt. x und y gibt den Abstand in Pixel von der linken, oberen Ecke an. x wächst von links nach rechts und y von oben nach unten. Das Fadenkreuz in der Lupe zeigt die Position der Bildkoordinaten im Bild.
Im Bereich für Farbkorrekturen können fünf verschiedene Filter zur Verbesserung des Kontrastes eingestellt werden. Erst durch Drücken auf den Anwenden Knopf werden die ausgewählten Filter auf das Bild angewandt.
Graustufenbild wandelt das Bild in ein Schwarz-Weiß Bild um. Es wird dazu der Vorschlag von Ch. Poynton verwendet. Sind r, g und b die Intensitäten von Rot, Grün und Blau (r,g,b liegen zwischen 0 und 255), so setzen wir für den Grauwert sw = (54 r + 183 g + 19 b) / 256.
Negativbild wandelt das Bild in ein Negativbild um. Die Intensitäten der drei Farben c = r,g,b werden gemäß c -> 255 - c umgerechnet.
Farb-Mix-, Intensitäts- und Gamma-Korrektur verändern die Intensitätsverteilung im Bild. Diese drei Filter benötigen eine reelle Zahl als Parameter. Er wird nach Auswahl des Filters durch einen Dialog angefordert (Abb. fig:gam). Gültige Werte dieses Parameters liegen zwischen 0.001 und 1000. In der Praxis ist der Bereich sinnvoller Werte wesentlich kleiner.
Bei der Farb-Mix-Korrektur werden die Intensitäten der drei Farben Rot r, Grün g und Blau b nach c -> mod(int(f c),255) umgerechnet. Sinnvolle Werte für den Parameter f liegen zwischen 1.0 und 1.1. Bei diesem Filter werden Farbunterschiede linear vergrößert.
Bei der Intensitäts-Korrektur wird die Intensität linear c -> min(int(c f),255) und bei der Gamma-Korrektur exponentiell c -> int(255(c/255)^(1/gamma)) verändert. Sinnvolle Werte liegen sowohl für die Intensitäts- als auch für die Gamma-Korrektur im Bereich von 0.3 bis 2.0.
Die Gamma-Korrektur kommt dem physiologischen Helligkeitsempfinden nahe, da vom menschlichen Auge exponentiell ansteigende Intensitäten als linear ansteigende Helligkeiten empfunden werden.
Das Status Feld gibt den Status des Programmes an. Die Felder Bild und Datei zeigen die Nummer und den Namen des aktuellen Bildes. Will der Benutzer zu einem anderen Bild springen, so kann er die Bildnummer in das Eingabefeld neben dem Feld Bild eingeben. Durch Drücken auf die Eingabetaste wird das angegebene Bild geladen. Analog wird in den Feldern Nummer und Name die Nummer und die Bezeichnung des aktuellen Punktes angezeigt. Die aktuelle Nummer des zu digitalisierenden Punktes kann wie die Bildnummer im Textfeld neben Nummer eingegeben werden. Mit den Druckknöpfen neben dem Feld Datenpunkte kann die Darstellung der digitalisierten Punkte ein- oder ausgeschaltet werden. Ebenso kann mit den Knöpfen neben dem Feld Strichfigur die Darstellung eines Strichmännchens ein- oder ausgeschaltet werden. Durch Drücken der Knöpfe Punkt vw. bzw. Punkt rw. springt das Programm zum nächsten bzw. vorhergehenden Punkt. Analog dienen die Knöpfe Bild vw. und Bild rw. zum Wechseln zwischen den Bildern.
Der Beenden Bereich beinhaltet vier Knöpfe. Der Über Knopf gibt eine Meldung über die aktuelle Version der Digitalisiersoftware und Hilfe einen Hinweis zum Aufruf der Online-Dokumentation aus. Der Speichern Knopf dient dem Speichern der Daten und mit Beenden werden die Daten gesichert und anschließend das Programm Digitize beendet.
Nachdem die einzelnen Komponenten des Programmes beschrieben wurden, können wir uns dem Vorgang der Digitalisierung zuwenden.
Man startet das Programm Digitize durch Eingabe des Befehls digi und gibt im Startbildschirm den Dateinamen des ersten zu digitalisierenden Bildes, die Bildrate und das Körpermodell für die Digitalisierung an. Für das erste Bild eines neuen Projektes wählt man Aktion gleich Neu, zum Weiterarbeiten Bearbeiten und zum Verbessern Korrigieren.
Sobald sich der Hauptbildschirm mit dem in Abb. fig:main dargestellten Bildschirm meldet kann die Digitalisierung beginnen.
Als Erstes verbessert man den Kontrast mit Hilfe der Filter in der Farbkorrektur. Wir empfehlen die Gamma-Korrektur, es sollte jedoch jeder Benutzer die für ihn angenehmste Einstellung selbst herausfinden. Die gewählten Werte für die Farbkorrektur werden auch bei den folgenden Bildern verwendet.
Beim Digitalisieren ist darauf zu achten, dass sich der Mauszeiger im Bereich des Hauptfensters befindet. Dies wird durch das aufleuchten des roten Rahmens angedeutet. Ist das nicht der Fall, so verarbeitet das Programm Digitize keine Eingaben der Tastatur.
Zum Digitalisieren eines Punktes führt man den Mauszeiger zum entsprechenden Punkt und klickt mit der linken Maustaste. Dadurch werden die Koordinaten des Bildpunktes in die Lupe und die Anzeige der Bildkoordinaten übernommen. Das Fadenkreuz in der Lupe gibt die aktuelle Position des gewählten Punktes an.
In der Regel wird man feststellen, dass diese Wahl noch korrigiert werden muss. Dies erreicht man entweder durch neuerliches Klicken mit der Maus oder durch Verwendung der Cursor-Tasten (, , , ). Jeder Druck auf eine dieser Tasten bewegt die Bildposition um ein Pixel weiter. Diese Variante ermöglicht ein wesentlich exakteres Digitalisieren der Punkte.
Sobald der zu digitalisierende Punkt endgültig ausgewählt ist, kann er mit einer der Tasten a, s oder d in den Datenbestand der Digitalisierung aufgenommen werden. Mit a werden die aktuellen Bildkoordinaten des Punktes aufgenommen (add), mit s der Wert des Punktes im Datenbestand der Digitalisierung beibehalten (skip) und mit d wird der Punkt aus dem Datenbestand der Digitalisierung gelöscht (delete). Nach der Bearbeitung des Datenbestandes springt das Programm zum nächsten Datenpunkt weiter. Dies ist in der Regel der nächste Punkt im Körpermodell. Sind alle Punkte im Bild digitalisiert, so springt das Programm zum nächsten Bild. Will man bereits früher zum nächsten Bild weitergehen, so verwendet man die Taste n (next frame) oder f (finish frame). Nur bei f werden wie beim automatischen Wechsel zum nächsten Bild Schätzwerte für die zu digitalisierenden Punkte des nächsten Bildes berechnet.
In diesem Zusammenhang weisen wir darauf hin, dass nur die Berechnung von Schätzwerten im Modus Neu und Bearbeiten und die Tasten a und d den Datenbestand der Digitalisierung verändern. Ein Schätzwert, der mit Hilfe der Cursor-Tasten korrigiert wurde, muss durch Drücken der Taste a in den Datenbestand aufgenommen werden. Ein Schätzwert, der überhaupt nicht verwendet werden soll, muss durch Drücken der Taste d gelöscht werden.
Mit der Taste b kann man zum Anfang der Körperpunkte springen. Verwendet man beispielsweise den Modus Neu oder Bearbeiten und bearbeitet Passpunkt 7, so werden die Passpunkte 8 bis 12 gelöscht. Im Modus Korrigieren wird nur zum Anfang der Körperpunkte gesprungen und kein Passpunkt gelöscht. Körperpunkte werden durch diese Operation nicht verändert.
Im Modus Korrigieren sind die Tasten 0, b und n von großem Nutzen. 0 springt zum Anfang der Passpunkte, b zum Anfang der Körperpunkte und n zum nächsten Bild ohne die aktuelle Nummer des Punktes zu ändern.
In Abb. fig:work ist ein typischer Bildschirm während der Digitalisierung wiedergegeben. Es sind bereits alle Punkte bis auf die rechte vordere Skispitze digitalisiert. Die grünen Punkte stellen die Passpunkte dar. Die blauen Punkte die digitalisierten Körperpunkte. Im Fuß- und Skibereich sind einige Punkte unsichtbar und daher nicht digitalisiert. Da in dem gezeigten Messaufbau mit drei Kameras gearbeitet wurde, ist zu erwarten, dass jeder Punkt in mindestens zwei Kameras sichtbar ist. Von der Strichfigur ist nur jener Teil gezeichnet für den Punkte digitalisiert wurden. Der rote Punkt bei der linken Skispitze gibt den Vorschlag für die Skispitze an. Er muss durch Drücken der Taste a aufgenommen werden.
Nachdem im Modus Bearbeiten die ganze Aufzeichnung digitalisiert wurde, kann im Modus Korrigieren die Digitalisierung nachbearbeitet werden. In diesem Modus werden keine automatischen Veränderungen der Daten vorgenommen. Jeder digitalisierte Punkt wird dargestellt und die einzigen Tasten, die einen Wert der Digitalisierung verändern, sind a und d.
Neben den bereits beschriebenen Tastaturkodes gibt es eine Reihe von Kürzeln zur Erleichterung der Arbeit mit Digitize. Sie werdem im nächsten Kapitel aufgelistet.
Etliche Benutzeraktionen können durch Tastaturkürzel ausgelöst werden. Dazu ist es notwendig, dass sich der Mauszeiger im Hauptfenster befindet. Die Werte der Tastaturkürzel sind in Tab. tab:hotkey zusammengefasst.
a, A | Speichert den aktuellen Punkt (add). | |
s, S | Überspringt den aktuellen Punkt (skip). | |
d, D | Löscht den aktuellen Punkt (delete). | |
f, F | Beendet aktuelles Bild (finish frame). | |
Bewegt Punkt um 1 Pixel nach links. | ||
Bewegt Punkt um 1 Pixel nach rechts. | ||
Bewegt Punkt um 1 Pixel nach oben. | ||
Bewegt Punkt um 1 Pixel nach unten. | ||
Shift + , , , | Bewegt Punkt um 3 Pixel. | |
Ctrl + , , , | Bewegt Punkt um 5 Pixel. | |
r, R | Springt einen Punkt vorwärts (right, next point). | |
l, L | Springt einen Punkt rückwärts (left, prev. point). | |
0 | Springt zum Anfang der Passpunkte. | |
b, B | Springt zum Anfang der Körperpunkte (body). | |
n, N | Springt ein Bild vorwärts (next frame). | |
p, P | Springt ein Bild rückwärts (prev. frame). | |
F1 | Über Digitize. | |
F2 | Hilfe zu Digitize. | |
F3 | Ein-Aus Schalter für Datenpunkte. | |
F4 | Ein-Aus Schalter für Strichfigur. | |
F9 | Speichern der Daten. | |
F10, Alt + x | Speichern und Beenden von Digitize. |