Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu...

49
Integrative Workplace Sense-making on Digital Tabletops employing Reality-based Interaction Technischer Bericht zum Master-Projekt vorgelegt von Christoph Gebhardt 03.06.2013 an der Gutachter Prof. Dr. Harald Reiterer Betreuer Roman Rädle

Transcript of Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu...

Page 1: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace Sense-making on Digital Tabletops employing Reality-based Interaction

Technischer Bericht zum Master-Projekt

vorgelegt von

Christoph Gebhardt

03.06.2013

an der

Gutachter Prof. Dr. Harald Reiterer

Betreuer Roman Rädle

Page 2: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Inhaltsverzeichnis

2

Inhaltsverzeichnis

INHALTSVERZEICHNIS .......................................................................................................... 2

1 EINLEITUNG ........................................................................................................................ 4

2 DER INTERAKTIVE SCHREIBTISCH............................................................................. 7

2.1 AUFBAU DES TISCHS ........................................................................................................... 7

2.2 STIFTINTERAKTION ............................................................................................................. 8

2.2.1 Anoto Digital Pen ....................................................................................................... 8

2.2.2 NiCE Wall Driver und InputFramework .................................................................. 10

2.2.3 Verwendung .............................................................................................................. 12

2.3 TOUCH-INTERAKTION ....................................................................................................... 14

2.3.1 Displax SKIN MULTITOUCH Sensor ...................................................................... 14

2.3.2 Konfiguration ............................................................................................................ 15

3 POSITIONSBESTIMMUNG UND ERKENNUNG VON DOKUMENTEN ................. 18

3.1 ALLGEMEIN ...................................................................................................................... 18

3.2 REACTIVISION .................................................................................................................. 20

3.2.1 Framework ................................................................................................................ 20

3.2.2 Konfiguration ............................................................................................................ 21

3.3 TAGPOSITIONTRACKER .................................................................................................... 24

3.3.1 Entwicklung............................................................................................................... 24

3.3.2 Verwendung .............................................................................................................. 25

4 TEXT-EXTRAKTION UND ECHTZEIT-FEEDBACK BEI ANALOGEN

DOKUMENTEN ......................................................................................................................... 26

4.1 ALLGEMEIN ...................................................................................................................... 26

4.2 ANOTOTOPDFTRANSLATOR ............................................................................................. 27

4.2.1 Entwicklung............................................................................................................... 27

4.2.2 Verwendung .............................................................................................................. 29

4.3 ANOTOPATTERNCREATOR ............................................................................................... 31

4.3.1 Entwicklung............................................................................................................... 31

4.3.2 Verwendung .............................................................................................................. 32

Page 3: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Inhaltsverzeichnis

3

5 INTEGRATIVE WORKPLACE ........................................................................................ 36

5.1 ALLGEMEIN ...................................................................................................................... 36

5.2 MINDMAP ......................................................................................................................... 36

5.2.1 Landschaft ................................................................................................................. 36

5.2.2 Schrifterkennung ....................................................................................................... 38

5.2.3 Gestenerkennung....................................................................................................... 39

5.3 BROWSER-INTEGRATION .................................................................................................. 40

5.4 STARTEN DER ANWENDUNG ............................................................................................. 42

6 ZUSAMMENFASSUNG UND AUSBLICK ...................................................................... 43

LITERATURVERZEICHNIS ................................................................................................... 47

ABBILDUNGSVERZEICHNIS ................................................................................................ 48

Page 4: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Einleitung

4

1 Einleitung

Die Zielsetzung des Projekts Integrative Workplace ist die Verringerung der Kluft zwischen digi-

talen und analogen Medien. Eingangs wurde dazu eine Anforderungsanalyse im Fachbereich

Rechtswissenschaften durchgeführt, die das Arbeiten von Studenten mit digitalen und analogen

Quellen beim Verfassen einer Hausarbeit untersucht hat [1]. Dabei wurden vier Schlüsselanfor-

derungen für ein System ermittelt, das Jura-Studenten beim Verfassen einer Hausarbeit unter-

stützen soll. Diese lauten folgendermaßen:

Paralleles Lesen

Exzerpieren

Rückverfolgung von Referenzen

Wissensarchivierung

Die Anforderungen wurden als Grundlage bei der Konzipierung der Anwendung Integrative

Workplace verwendet. Auf Basis der Konzepte wurde ein Szenario entwickelt, dass einen Jura-

Studenten zeigt, der mit Hilfe von Integrative Workplace seine Hausarbeit verfasst. Der folgen-

de Abschnitt fasst die wesentlichen Konzepte des Projektes zusammen und stellt sie anhand von

Sketches vor:

Extrahieren von Text aus analogen und digitalen Quellen

Die Anwendung ermöglicht es Text auf die gleiche Weise aus analogen oder digitalen

Quellen zu extrahieren. Dazu markiert man mit einem Stift die relevante Passage und

schiebt diese auf die Informationslandschaft des Tisches (siehe Abbildung 1-1).

Abbildung 1-1: Extrahieren einer Textpassage aus einem Buch

Page 5: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Einleitung

5

Ablegen relevanter Informationen in einer Mindmap

Auf dem Tisch können die unterschiedlichen exzerpierten Textpassagen in einer Mind-

map verortet werden. Dazu kann man mit dem Stift Mindmap-Wolken zeichnen und be-

schriften. Des Weiteren können die Wolken miteinander verbunden und beliebig

verschoben werden (siehe Abbildung 1-2).

Abbildung 1-2: Anlegen einer Mindmap-Wolke

Volltextsuche in analogen und digitalen Quellen

Eine Volltextsuche kann sowohl in analogen als auch in digitalen Quellen durchgeführt

werden. Die Ergebnisse werden im entsprechenden Dokument hervorgehoben (siehe Ab-

bildung 1-3).

Abbildung 1-3: Volltextsuche in einem Buch

Referenzrückverfolgung zur Quelle

Durch Berührung einer Mindmap-Wolke kann man eine Referenz zur Originalquelle der

entsprechenden Textpassage anzeigen lassen (siehe Abbildung 1-4).

Abbildung 1-4: Referenzrückverfolgung einer exzerpierten Textpassage

Page 6: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Einleitung

6

Auf Basis der entwickelten Konzepte werden die technischen Eigenschaften ermittelt, die das

System bieten muss, um die gefundenen Schlüsselanforderungen zu erfüllen. Um die Extraktion

von Text aus analogen und digitalen Quellen zu ermöglichen, muss im analogen Fall der Text

auf einem Dokument digital verfügbar gemacht werden können. Des Weiteren muss es möglich

sein auf einem Dokument Echtzeit-Feedback anzuzeigen, um die Interaktion auf identische Wei-

se wie bei digitalen Quellen realisieren zu können. Um das Echtzeit-Feedback an der richtigen

Stelle anzeigen zu können, muss die Position von Dokumenten auf dem Tisch festgestellt wer-

den. Auch die analoge Volltextsuche sowie die Rückverfolgung von Referenzen zu analogen

Quellen brauchen diese Anforderungen.

Das Ablegen relevanter Informationen in einer Mindmap soll anhand von Stift- und Touch-

Eingaben gesteuert werden. Das heißt das System muss auf Eingaben dieser Art reagieren. Des

Weiteren muss die Anwendung spezielle Gesten erkennen, so dass der Benutzer beispielsweise

mit dem Stift eine Mindmap-Wolke zeichnen kann. Um eine Mindmap-Wolke beschreiben zu

können, muss zusätzlich die Erkennung von Schrift möglich sein.

Folgende Auflistung stellt die ermittelten technischen Eigenschaften nochmals dar:

Stift- und Touch-Interaktion mit dem digitalen Tisch

Positionsbestimmung und Erkennung von Dokumenten

Extraktion von Text aus analogen Dokumenten

Echtzeit-Feedback auf analogen Dokumenten

Gestenerkennung

Schrifterkennung

In den einzelnen Kapiteln dieses technischen Berichts wird die Lösung des jeweiligen Teilprob-

lems vorgestellt und dem Benutzer die Anwendung beziehungsweise Kalibrierung der verwende-

ten Software-Lösung erklärt. Ziel ist es diese Eigenschaften in dem Prototyp Integrative

Workplace zur Verfügung zu stellen.

Page 7: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

7

2 Der interaktive Schreibtisch

2.1 Aufbau des Tischs

Die Grundlage der Realisierung der Konzepte bildet das Hardware-Setting. Der Aufbau bildet

die Basis für die Bedienung des Systems mit Stift und Touch, die Erkennung von Dokumenten

und die Möglichkeit Echtzeit-Feedback auf Dokumenten darstellen zu können. Folgende Abbil-

dung zeigt das aktuelle Setting, wie es im Living Lab der Blended Library1 steht.

Abbildung 2-1: Der interaktive Schreibtisch im Living Lab.

Durch die Topdown-Projektion des Beamers auf den Tisch können digitale Inhalte nicht nur auf

dem Schreibtisch sondern auch auf den sich auf dem Schreibtisch befindlichen Dokumenten dar-

gestellt werden. Die über dem Schreibtisch installierte Kamera ermöglicht es Dokumente zu er-

kennen und deren Position zu ermitteln. Die Kombination der Topdown-Projektion mit der

Positionsbestimmung anhand der Kamera ermöglicht das Anzeigen von Echtzeit-Feedback auf

1 Blended Library ist ein Forschungsprojekt indem neue Interaktionsformen für die Bibliothek

der Zukunft erforscht werden. Integrative Workplace entsteht im Rahmen dieses Projekts.

(http://hci.uni-konstanz.de/index.php?a=research&b=projects&c=8609071)

Page 8: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

8

Dokumenten. Die dazu verwendete Softwarelösung wird in den Kapiteln Dokumenterkennung

und Extraktion digitalen Texts aus analogen Dokumenten vorgestellt.

Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi-

ckelt. Der Aufbau ist in folgender Abbildung schematisch dargestellt.

Abbildung 2-2: Layer der Tischplatte

Über der Tischplatte befindet sich eine Folie, die Berührungen anhand der kapazitiven Span-

nungsunterschiede erkennt (Displax-Folie). Auf dieser Folie liegt eine Glasplatte, die als Dielekt-

rikum den Spannungsunterschied in einen für die Folie messbaren Bereich reguliert. Darauf ist

eine mit dem Anoto Pattern bedruckte Folie geklebt. Diese Technologie ermöglicht die Positi-

onserkennung von Stiften auf dem Tisch. Die folgenden beiden Unterkapitel erklären die Funkti-

onsweise dieser Technologien und zeigen welche Einstellungen im Hardware-Setting des

interaktiven Schreibtisches getroffen werden müssen.

2.2 Stiftinteraktion

2.2.1 Anoto Digital Pen

Der Anoto Digital Pen ist eine Kombination aus einem normalen Stift mit einer digitalen Kame-

ra, die aufnimmt, was mit dem Stift geschrieben wurde. Dabei muss auf einem speziellen

Punktmuster geschrieben werden, anhand dessen der Stift erkennt auf welcher Seite und wo auf

dieser Seite er sich befindet. Folgende Abbildung stellt den Anoto Digital Pen und das Anoto

Pattern da.

Page 9: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

9

Abbildung 2-3: Anoto Digital Pen [2]

Dieses Pattern besteht aus kleinen Punkten die mit einem Abstand von durchschnittlich 0,3 mm

in einem Raster angeordnet sind. Jeder dieser Punkte kann eine von vier Positionen innerhalb des

Rasters einnehmen (siehe Abbildung 2-4). Um seine Position festzustellen liest ein Stift eine

Fläche von 6 auf 6 Punkten wodurch die Eindeutigkeit des Musters auf einer Fläche mit der Grö-

ße von der Vereinigung der Kontinente Europa und Asien (60.000.000 ) sichergestellt wer-

den kann ( eindeutige Kombinationen der 6x6 Teilflächen) [2].

Abbildung 2-4: Anoto Pattern [2]

Die vom Stift erfassten Daten, wie beispielsweise die Position oder die beschriebene Seite, wer-

den in einem speziellen Dateiformat (PGC) auf dem Stift gespeichert. Um diese in einer Anwen-

dung verwenden zu können, gibt es zwei verschiedene Zugriffsmöglichkeiten. Zum einen

können die Daten über USB mit dem PC synchronisiert werden. Zum anderen kann man einen

Anoto Digital Pen via Bluetooth mit einem Rechner verbinden, wodurch die PGC-Dateien direkt

auf diesen Rechner gestreamt und so in Echtzeit in einer Anwendung ausgewertet werden kön-

nen.

Um PGC-Dateien an mehreren Rechnern gleichzeitig bearbeiten zu können, besteht die Mög-

lichkeit erhaltene PGC-Dateien über einen Server in Abhängigkeit vom Inhalt an einen entspre-

chenden Rechner zu routen. Diese Dienste kann man kommerziell bei Partnerfirmen von Anoto

erwerben.

Page 10: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

10

2.2.2 NiCE Wall Driver und InputFramework

Die Anoto-Folie mit der die Tischoberfläche beklebt ist, besteht aus sechs verschiedenen Pat-

ches. Grund dafür ist die von Anoto begrenzte maximale Größe einer einzelnen Page. Dabei

überschneidet die Projektionsfläche vier dieser Seiten (siehe Abbildung 2-5).

Abbildung 2-5: Aufbau der Anoto-Folie des interaktiven Schreibtischs

Um mit dem Anoto Digital Pen das System bedienen zu können, wird der NiCE Wall Driver2

verwendet. Die folgende Abbildung zeigt dessen GUI.

Abbildung 2-6: NiCE Wall Driver

Der Treiber rechnet die Koordinaten des Stifts innerhalb einer Anoto Page auf die entsprechen-

den Koordinaten der Projektion um. Damit die verschiedenen Seiten dem System bekannt sind,

muss das Setting anfangs konfiguriert werden. Dazu bietet der Treiber eine Konfigurationsan-

sicht, die vier Punkte auf das Pattern projiziert. Diese müssen mit dem digitalen Stift berührt

werden. Anhand der Zuordnung von Projektionskoordinate zu Pattern-Koordinate der entspre-

chenden Seite, kann nun die allgemeine Umrechnung von Positionsinformationen zwischen den

zwei Koordinatensystemen vollzogen werden. Folgende Abbildung zeigt die Konfigurationsan-

sicht des Treibers.

2 Der NiCE Wall Driver wurde vom Media Interaction Lab der FH Hagenberg entwickelt.

Page 11: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

11

Abbildung 2-7: Konfigurationsansicht des NiCE Wall Driver

Zusätzlich bietet der NiCE Wall Driver die Option den Stift als Maus zu emulieren (auswählbar

in der graphischen Oberfläche, siehe Abbildung 2-6). Damit ist es möglich, das Betriebssystem

und auch Anwendungen, die auf dem Betriebssystem laufen, mit dem Stift zu bedienen. Da ein

PC nur eine Maus haben kann, kann man jedoch nur einen Anoto-Stift zu einem bestimmten

Zeitpunkt verwenden.

Um mehrere Stifte in einer Anwendung verwenden zu können, wird bei der Realisierung des

Integrative Workplace zusätzlich zum NiCE Wall Driver das InputFramework3 verwendet.

Das InputFramework ist eine Abstraktionsschicht für verschiedene Eingabegeräte. Es ermöglicht

die einfache Integration von neuen Eingabegeräten in WPF-Anwendungen. Folgendes Klassen-

diagramm veranschaulicht die Funktionsweise des Frameworks.

Abbildung 2-8: Klassenstruktur des InputFramework [3]

3 Das InputFramework wurde vom Media Interaction Lab der FH Hagenberg entwickelt.

Page 12: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

12

Um ein Eingabegerät über das InputFramework in eine WPF-Anwendung einbinden zu können,

muss es von der Klasse PointDeviceDriver erben. Wenn man nun die Daten des Gerätes in der

Anwendung verwenden möchte, muss eine Instanz der entsprechenden DeviceDriver-Klasse

erstellt und im DeviceManager registriert werden. Für jedes neue Eingabegerät, das im

DeviceManager registriert wurde, erstellt der WPFDeviceManager ein neues WPFPointDevice.

Diese Klasse erbt von dem WPF-Typ InputDevice, wodurch ein Objekt des Typs als natives

InputEvent im Bubbling- und Tunneling-Mechanismus in einer WPF-Anwendung geworfen

wird. Durch das Bubbling und Tunneling können Ereignisse nicht nur im eigentlichen Control in

dem sie geworfen worden sind abgefangen werden, sondern auch in allen darüber liegenden

Elementen des Visual Trees einer WPF-Anwendung. Folgende Abbildung zeigt die Ausbreitung

eines WPF-Events innerhalb des Visual Trees.

Abbildung 2-9: Bubbling und Tunneling in WPF4

Dabei ist wichtig, dass die Ereignisse zuerst über Tunneling und anschließend über Bubbling

abgefangen werden können. Für ein Element startet und endet die eigene Ereigniskette also im

Root-Element seines Visual Trees.

Für den Anoto Digital Pen liefert das InputFramework den AnotoDeviceDriver, der die vom Stift

erhaltenen Daten als Ereignisse in WPF verfügbar macht.

2.2.3 Verwendung

Um das InputFramework in einer eigenen WPF-Anwendung verwenden zu können, muss man

im Projekt eine Referenz auf zwei der DLL-Dateien setzen, die sich im Verzeichnis des

NiCE Wall Drivers befinden:

Conoto.net.dll

InputFramework.dll

4 Quelle (08.05.13): http://msdn.microsoft.com/en-us/library/ms742806.aspx

Page 13: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

13

Wichtig: Es kann sein, dass die Datei InputFramework.dll durch eine neuere Version ersetzt

werden muss. Diese findet sich im gegebenen Fall im Verzeichnis Projekt Blended Library/

AnotoPenMouse des BSCW5 der Arbeitsgruppe HCI.

Anschließend kann auf die Klassen des InputFramework zugegriffen und somit die generierten

Eingabeereignisse an die WPF-Anwendung weitergeleitet werden. Dazu sind folgende Instanzi-

ierungen notwendig.

1 using InputFramework.DeviceDriver;

2 using InputFramework.WPFDevices;

3 …

4 public partial class MainWindow

5 {

6 private WPFTouchDeviceManager _deviceManager;

7 private AnotoServiceDeviceDriver _driver;

8 …

9 private void MainWindowLoaded(object sender, RoutedEventArgs e)

10 {

11 …

12 _deviceManager = WPFTouchDeviceManager.Instance;

13 _driver = new AnotoServiceDeviceDriver();

14 …

15 }

16 …

17 protected override void OnClosing(CancelEventArgs e)

18 {

19 …

20 _driver.Dispose();

21 …

22 }

23 …

21 }

Listing 2-1: Verwendung des InputFrameworks

Wie man im Listing sehen kann reicht es im MainWindow der Applikation ein Objekt vom Typ

WPFTouchDeviceManager und ein Objekt vom Typ AnotoServiceDeviceDriver als private Fel-

der anzulegen. Diese werden beim Laden des Hauptfensters initialisiert (siehe Methode

MainWindowLoaded). Nun kann man zur Laufzeit der Anwendung die vom Framework verar-

beiteten Eingabedaten über die WPF-Event-Handler für Input-Events abfangen. Damit sich die

Anwendung vollständig beendet muss beim Schließen des Programms das Objekt der Klasse

AnotoServiceDeviceDriver über dessen Dispose-Methode zerstört werden (siehe Methode

OnClosing).

5 Basic Support for Cooperative Work (BSCW) ist ein Document Management System.

Page 14: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

14

2.3 Touch-Interaktion

2.3.1 Displax SKIN MULTITOUCH Sensor

Um das System mit Fingern bedienen zu können, wird eine spezielle Sensor-Folie (Produktname

lautet SKIN MULTITOUCH) der Firma Displax verwendet. Damit sie funktionsfähig ist muss

sie auf einem Substrat aus Glas oder Acryl angebracht werden. Danach kann der Sensor kapazi-

tive Spannungsunterschiede feststellen, wie sie durch die Berührung der Glasplatte mit der Hand

oder einem Finger entstehen. Folgende Abbildung skizziert Funktionsweise und Aufbau des Dis-

plax SKIN MULTITOUCH Sensors.

Abbildung 2-10: Displax SKIN MULTITOUCH Sensor6

Der Sensor wird über zwei Klemmverbindungen mit einem Controller verbunden. Dieser ermit-

telt anhand der vom Sensor empfangenen Daten die Positionen von Berührungen auf der Folie

und sendet sie via USB an den PC weiter, der durch die gefundenen Touches bedient werden soll

(siehe Abbildung 2-11).

Abbildung 2-11: Sensor und Controller von SKIN MULTITOUCH (in Anlehnung an [4])

6 Quelle (08.05.13): http://www.displax.com/en/products/products/skin-multitouch.html

Page 15: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

15

Auf diesem Rechner befindet sich ein Treiber, der die empfangenen Daten verarbeitet und in

Abhängigkeit davon native Touch-Ereignisse im Operationssystem des Rechners wirft.

Auf Basis dieser generierten Events kann man durch Berührung mit dem PC interagieren, der mit

dem SKIN MULTITOUCH Sensor verbunden ist.

2.3.2 Konfiguration

Auf dem Rechner des interaktiven Schreibtischs befindet sich das DISPLAX

SKIN MULTITOUCH Control Panel. Anhand dessen graphischer Oberfläche kann der Touch-

Sensor kalibriert und konfiguriert werden. Folgende Abbildung zeigt die GUI.

Abbildung 2-12: DISPLAX SKIN MULTITOUCH Control Panel

Eine wichtige Einstellungsmöglichkeit ist die Checkbox ("Enabled") im oberen Bereich der

Oberfläche. Durch deren Selektion werden die ermittelten Touch-Punkte an das Betriebssystem

weitergegeben und der Rechner kann durch Berührungen gesteuert werden. Ein weiterer wichti-

ger Punkt sind die zwei verschiedenen Views die im Control Panel angezeigt werden können.

Die in Abbildung 2-12 dargestellt Matrix-Ansicht zeigt die vom Sensor ermittelten unterschied-

lich großen Blobs, die in Abhängigkeit von der Berührungsfläche entstehen. Die zweite Ansicht

ist die Support-View (siehe Abbildung 2-13). Über sie können einzelne Bereiche der Folie deak-

tiviert werden. Diese Bereiche reagieren dann nicht mehr auf Berührungen, da die Drähte abge-

schaltet sind, die für das Empfangen der Spannungsunterschiede verantwortlich sind.

Page 16: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

16

Abbildung 2-13: Support-Ansicht des DISPLAX SKIN MULTITOUCH Control Panel

Um das System anhand von Berührungen bedienen zu können, ist eine Kalibrierung der Projek-

tion und der Folie notwendig. Dazu wählt man in der Combobox Selected screen den auf den

Tisch projizierenden Beamer aus. Anschließend selektiert man die Anzahl der Touch-Punkte, die

in der Kalibrierungsansicht dargestellt werden. Als sinnvolle Anzahl haben sich im Setting des

interaktiven Tisches 16 Punkte erwiesen. Eine höhere Anzahl an Punkten verbessert die Touch-

Genauigkeit nur unwesentlich. Durch das Drücken des Calibrate Buttons wird die Kalibrie-

rungsansicht (siehe Abbildung 2-14) auf den Tisch projiziert und man wird aufgefordert jeden

der Punkte eine gewisse Zeit lang zu berühren. Danach stimmen die vom Sensor gesendeten Ko-

ordinaten mit den Koordinaten der Projektion überein und man kann das System über Touch

bedienen.

Abbildung 2-14: Kalibrierungsansicht des DISLAX SKIN MULTITOUCH Control Panels

Über den Advanced Tab des Control Panels kann man verschiedene weiterführende Einstellun-

gen treffen. Unter anderem kann man den Treiber als Server einrichten und so die Sensordaten

Page 17: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Der interaktive Schreibtisch

17

über TUIO-Nachrichten versenden. Des Weiteren kann der Treiber als Client agieren und erhal-

tene TUIO-Nachrichten als Input-Ereignisse in das System einspeisen. TUIO ist ein Protokoll

über das die Positionsdaten von begreifbaren Objekten und Multitouch-Gesten auf Tischflächen

versendet werden kann [5]. Es wurde auf Basis von OSC7 entwickelt.

Besonders interessant ist die Einstellungsmöglichkeit Enable palm and arm rejection. Durch das

Selektieren dieser Checkbox werden Hand- und Armflächen nicht als Berührungen erkannt. In

der aktuellen Version des Treibers ist dieses Feature jedoch nur mit Vorsicht zu handhaben, da

zu weilen auch Berührungen mit dem Finger ausgesondert werden und man somit das System

wesentlich schlechter bedienen kann.

Eine Sache die es zu beachten gilt, ist die Vorgehensweise beim Auftreten von Phantom-

Touches. Bei der Verwendung des Touch-Sensors über einen längeren Zeitraum hinweg kommt

es vor, dass der Sensor Berührungen erkennt, die nicht stattfinden. Wenn man diese Phantom-

Touches in der Matrix- oder Support-Ansicht des Control Panels sieht, ist es notwendig den Con-

troller zurückzusetzen. Dazu drückt man den roten Hardware-Knopf, der sich auf dem Controller

befindet (siehe Abbildung 2-11). Dadurch werden der Controller und der Treiber neu eingerich-

tet und man kann anschließend wieder wie gewohnt mit dem System interagieren. Eine neue

Kalibrierung des Projektionsbereiches ist nicht notwendig.

7 Open Sound Control (OSC) ist ein Protokoll zur Echtzeitverarbeitung von Sound im Netzwerk

Page 18: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

18

3 Positionsbestimmung und Erkennung von Dokumenten

3.1 Allgemein

Für die Realisierung der Konzepte ist es sowohl notwendig die Position von Dokumenten auf

dem Tisch festzustellen, als auch zu erkennen um welches Dokument es sich handelt (Titel, Au-

tor, aktuell geöffnete Seite). Um diese Ziele zu erreichen wurden zwei verschiedene Ansätze

evaluiert. Zum einen wurde die Erkennung auf Basis von Bildverarbeitungsalgorithmen erörtert.

Zum anderen untersuchte man die Erkennung anhand von Markern mit denen die Dokumente

versehen werden.

Im ersten Ansatz wird die Position der Dokumente auf dem Tisch anhand eines Kantenerken-

nungsalgorithmus (z.B. Canny-Filter) ermittelt. Um zu erkennen um was für ein Dokument es

sich handelt, kann man mit einem SIFT-Algorithmus8 die relevanten Eigenschaften der Seite

errechnen und mit den dem System bekannten Seiten vergleichen. Bei der Umsetzung der Ziele

anhand des zweiten Ansatzes kann man auf verschiedene Frameworks zurückgreifen. Diese er-

mitteln die Lage eines Markers im Raum oder relativ zu einem festgelegten Koordinatensystem.

Zusätzlich haben Marker einen Wert, mit dem sie das Framework eindeutig identifizieren kann.

Durch die Verknüpfung eines Markers mit einer bestimmten Seite eines Dokumentes lässt sich

so erkennen, welches Dokument sich auf dem Tisch befindet und welche Seite aktuell geöffnet

ist.

Der Vorteil bei der Umsetzung der Dokumenterkennung mit Hilfe von Bildverarbeitungsalgo-

rithmen ist, dass die einzelnen Seiten nicht mit Markern versehen werden müssen. Allerdings

hat ein erster Test zur Kantenerkennung mit einem Canny-Filter9 gezeigt, dass die Erkennung

von Dokumenten auf dem Tisch oftmals zu fehlerhaften Ergebnissen führt (siehe Abbildung

3-1).

Abbildung 3-1: Kantenerkennung von Dokumenten mit dem Canny-Filter.

8 Scale-invariant feature transform (SIFT) extrahiert eindeutige Bildmerkmale unabhängig der

perspektivischen Verzerrung [12]. 9 Canny-Algorithmus ist das Standard-Kantenerkennungsverfahren und wurde 1986 von

John Canny entwickelt [13].

Page 19: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

19

In der Abbildung sieht man, dass die Projektionsfläche auf dem Tisch erkannt wird, die einzel-

nen Dokumente jedoch nicht. Nur die dunkleren auf den Dokumenten dargestellten Abbildungen

können von der Tischoberfläche differenziert werden. Der Grund dafür ist die ähnliche Farbe der

Tischoberfläche und der auf dem Tisch befindlichen Dokumente, da sowohl die Dokumente

(siehe dazu Kapitel 4) als auch die Tischoberfläche mit dem Anoto-Pattern bedruckt sind. Das

hat zur Folge, dass die Differenz des Grauwertverlaufs zwischen Dokument und Tisch nicht groß

genug ist um Kanten mit dem Canny-Filter zu erkennen. Zwar gibt es statistische Kantenerken-

nungsverfahren, die sogar für das menschliche Auge nicht sichtbare Grauwertunterschiede er-

kennen, jedoch wäre die Umsetzung der Dokumenterkennung mit einem solchen Verfahren sehr

zeitaufwendig.

Auf Grund der schnelleren Umsetzbarkeit der Dokumenterkennung anhand von Marker-

Frameworks hat man sich deshalb für diesen Ansatz entschieden. Bei der Realisierung der Do-

kumenterkennung (Position auf dem Tisch und aktuell geöffnete Seite) wurden zwei verschiede-

ne Marker-Frameworks untersucht und getestet. Zum einen das ARToolkitPlus, eine in C++

implementierte Bibliothek, die Augmented-Reality-Marker im dreidimensionalen Raum erkennt.

Zum anderen reacTIVision, eine Open-Source Bildverarbeitungssoftware welche die Position

und Rotation von Markern auf einem Tisch feststellt. Folgende Abbildung zeigt die Marker der

beiden Systeme.

Abbildung 3-2: AR-Marker (links) und reacTIVision-Marker (rechts)

Um mit ARToolkitPlus die Position der Marker relativ zur Projektionsfläche auf der Tischplatte

zu erhalten, sind zusätzliche Verarbeitungsschritte notwendig. Bevor man das Marker-Tracking

startet, muss man die Projektionsfläche auf der Tischplatte mit drei speziellen Markern konfigu-

rieren. Sie stehen für den Ursprung der Projektion, für den maximalen Punkt der Projektion in X-

Richtung sowie den maximalen Punkt der Projektion in Y-Richtung. Nach der Kalibrierung wer-

den alle im Kamerabild festgestellten Marker auf diese Fläche projiziert (anhand einer Orthogo-

nalprojektion) und die Position und Rotation im definierten Koordinatensystem zurückgegeben.

Ein erster Vergleich der Technologien hat gezeigt, dass die Erkennung von AR-Markern wesent-

lich instabiler funktioniert als bei reacTIVision-Markern. Die erkannte Position und Rotation von

AR-Markern fängt bei unbeständigen Lichtverhältnissen schnell an zu flackern. Dies ist ein alt-

Page 20: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

20

bekanntes Problem der Technologie und konnte durch den Einsatz eines Kalman-Filters10

redu-

ziert werden. Jedoch konnte die größere Instabilität im Vergleich zu reacTIVision nicht gänzlich

abgeschafft werden, weshalb reacTIVision bei der Umsetzung des Integrative Workplace ver-

wendet wird. Das folgende Unterkapitel erklärt die Funktionsweise von reacTIVision und zeigt

die notwendigen Konfigurationsschritte.

3.2 reacTIVision

3.2.1 Framework

reacTIVision ist ein Bildverarbeitungsframework für das Tracken von Markern und die Erken-

nung von Multitouch-Gesten [6]. Das Framework wurde für Tabletop-Rechner mit Rückprojek-

tion entwickelt. Es ermöglicht die kostengünstige Entwicklung von Tangible- und Multitouch-

User-Interfaces auf diesen Systemen. Folgende Abbildung veranschaulicht den Einsatz des

Frameworks innerhalb eines Tabletop-Systems.

Abbildung 3-3: reacTIVision Framework11

reacTIVision verarbeitet den Video-Stream einer Kamera und versucht anhand von Bildsegmen-

tierung die eigens dafür entworfenen Marker (siehe Abbildung 3-2) zu erkennen. Zusätzlich wird

im segmentierten Bild nach runden weißen Blobs gesucht, die bei entsprechender Größer als

Finger identifiziert werden. Um die Erkennung zu verbessern werden im Tabletop-System häufig

LEDs verbaut die diffuses Infrarot-Licht ausstrahlen. Dieses infrarote Licht wird von den auf

dem Tisch befindlichen Markern und Fingern reflektiert und gelangt in das Objektiv der Kamera.

Durch die Verwendung eines Infrarot-Filters gelangen nur diese Strahlen in die Kamera, was zu

10

Der Kalman-Filter entfernt durch Messgeräte verursachte Störungen. 11

Quelle (08.05.13): http://reactivision.sourceforge.net/

Page 21: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

21

einem deutlicheren Kontrast zwischen Fingern oder Markern und anderen Artefakten führt, die

nicht getrackt werden sollen.

Das Framework berechnet die Position der Marker und Finger in einem davor vom Entwickler

angelegten Koordinatensystem. Bei Markern wird zusätzlich der Rotationswinkel ermittelt. Die-

se Daten werden als TUIO-Nachrichten über UDP als Broadcast an den Port 3333 versendet und

können somit von allen Clients im Netzwerk abgerufen werden, die das TUIO-Protokoll verar-

beiten können.

3.2.2 Konfiguration

Im Setting des Integrative Workplace wird das Marker-Tracking von reacTIVision verwendet,

um die Position eines Dokumentes auf dem Tisch und dessen geöffnete Seite zu ermitteln. Fol-

gende Abbildung erklärt die Verwendung von reacTIVision im Kontext von Integrative Work-

place.

Abbildung 3-4: reacTIVision im Kontext des Integrative Workplace

Dabei wird reacTIVision ausschließlich zur Marker- und nicht zur Touch-Erkennung verwendet.

Außerdem kann in diesem Setting nicht mit Infrarot-LEDs gearbeitet werden, da die Tischober-

fläche opak ist und somit alle Infrarot-Strahlen reflektiert werden würden. Dies und der große

Abstand der Kamera zum Tisch, der nötig ist um die ganze Tischplatte abzudecken, haben zur

Folge, dass die Marker-Erkennung weniger stabil läuft als auf einem Tabletop-System. Um mit

dem System trotzdem eine stabile Erkennung zu gewährleisten, ist es wichtig die Marker in ei-

nem matten Schwarz zu drucken. Wenn die Marker zu sehr glänzen, reflektiert sich die Projekti-

on auf ihnen und sie können im Kamerabild nicht mehr erkannt werden.

Zusätzlich kann die Marker-Erkennung durch die Anpassung der Kamera-Eigenschaften verbes-

sert werden. Dabei ist es wichtig die Auto-Fokus-Funktion zu deaktivieren, da sonst bei Verän-

derungen der Projektion der Fokus nachjustiert wird und während der Nachjustierung die

Erkennung von Markern nicht möglich ist. Des Weiteren kann über das Spielen mit der Hellig-

keits- und der Kontrast-Funktion die Erkennungsstabilität der Marker erhöht werden. Folgende

Page 22: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

22

Abbildung zeigt zwei Dokumente, die von reacTIVision erkannt und in der graphischen Oberflä-

che markiert werden.

Abbildung 3-5: Erkennung von mit Marker versehenen Dokumenten

Man sieht die Erkennung der korrekten Position des Markers sowie die Erkennung seines Wer-

tes.

Um die korrekte Position des Markers innerhalb der Projektionsfläche zu bekommen, muss man

zuerst das Koordinatensystem von reacTIVision an die Projektion anpassen. Dazu projiziert man

die mit dem Framework mitgelieferte PDF zur Kalibrierung des Systems auf den Tisch und öff-

net den Kalibrierungsmodus im reacTIVision-Fenster. Folgende Abbildung zeigt die zwei über-

einander liegenden Raster, wie sie in der Anwendung sichtbar sind.

Abbildung 3-6: Kalibrierungsraster über projiziertem Raster

Anschließend legt man die einzelnen Punkte der beiden Raster so übereinander, dass nur noch

das Raster des reacTIVision-Fensters sichtbar ist (siehe Abbildung 3-7). Dazu verwendet man

die Pfeil-Tasten der Tastatur.

Page 23: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

23

Abbildung 3-7: Korrekt kalibriertes Raster

Nach Abschluss der Kalibrierung werden die Positionen relativ zum definierten Koordinatensys-

tem ermittelt. Des Weiteren können durch die Anpassung des Kalibrierungsrasters an das auf den

Tisch projizierte Raster perspektivische Verzerrungen herausgerechnet werden.

Page 24: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

24

3.3 TagPositionTracker

3.3.1 Entwicklung

TagPositionTracker wurde entwickelt um aus von reacTIVision empfangenen TUIO-

Nachrichten native WPF-Touch-Events zu generieren. Dadurch kann man die WPF-Event-

Mechanismen des Bubbling und Tunneling nutzen. So können die von TUIO empfangenen Da-

ten von allen auf Grund ihrer Position betroffenen Framework-Elementen in Event-Handler ver-

arbeitetet werden. TagPositionTracker befindet sich im SVN-Repository Tools12

der HCI-

Arbeitsgruppe und kann über einen SVN-Client ausgecheckt werden. Folgende Abbildung zeigt

den Aufbau der Bibliothek.

Abbildung 3-8: TagPositionTracker

Die Klasse TagPositionTrackBehavior erbt von der abstrakten Klasse Behavior, die auf den Typ

Window spezialisiert ist und somit nur an Objekte dieses Typs angehängt werden kann. Um den

TagPositionTracker in seiner Anwendung verwenden zu können, hängt man das Behavior an ein

Fenster, das die auf den Tisch projizierten Inhalte darstellt und Visualisierungen in Abhängigkeit

der erkannten Tags einblenden möchte. Dabei ist es wichtig, dass die Kamera (die Quelle des

von reacTIVision verarbeiteten Streams) auf das entsprechende Fenster gerichtet und das

reacTIVision- Kalibrierungsraster an die Projektion angepasst ist.

Um die TUIO-Nachrichten zu verarbeiten, legt TagPositionTrackBehavior eine Instanz von

TagPositionListener an und registriert dabei das assoziierte Window-Objekt. TagPositionListener

erbt von ITuioListener, einem Interface, das aus einer von reacTIVision implementierten TUIO-

Client-Bibliothek stammt. Diese Bibliothek wandelt TUIO-Nachrichten in Objekte vom Typ

TuioObject um. Über diese Objekte sind die relative Position, der Winkel und der Tag-Wert des

erkannten Markers abrufbar. Die TUIO-Objekte können je nach Status (aufgelegt, in Bewegung,

abgehoben) des zugehörigen Markers in dem entsprechenden Event-Handler (AddTuioObject,

UpdateTuioObject, RemoveTuioObject) eines

12

https://svn.uni-konstanz.de/hci/tools

Page 25: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Positionsbestimmung und Erkennung von Dokumenten

25

ITuioListeners abgefangen werden. Für jede der empfangenen Instanzen vom Typ TuioObject

wird ein Objekt der Klasse TagDevice initialisiert. Diese Klasse stellt eine Spezialisierung des

WPF-Typs TouchDevice da und erbt damit die Methoden anhand derer man ein Objekt als

InputEvent beim System registrieren kann.

Ein als InputEvent geworfenes Objekt ist über Bubbling und Tunneling in allen Unterelementen

der angehängten Instanz vom Typ Window abfangbar. So kann man das Objekt des Typs

TagDevice über die WPF-typischen Down-, Move-, Up-, Enter- sowie Leave-Handler abfangen.

3.3.2 Verwendung

Um die von TagPositionTracker generierten Ereignisse in der eigenen Anwendung abfangen zu

können, reicht es im dazugehörigen Projekt die Klassenbibliothek sowie die MVVM-Light-

Bibliotheken13

zu referenzieren. Anschließend muss im Code das TagPositionTrackBehavior an

das Hauptfenster der Anwendung gebunden werden (siehe Listing 3-1).

1 <Window x:Class="IntegrativeWorkplace.MainWindow"

2 …

3 xmlns:i="clr-namespace:System.Windows.Interactivity;

4 assembly=System.Windows.Interactivity"

5 xmlns:tpt="clr-namespace:Tools.TagPositionTracker;

6 assembly=Tools.TagPositionTracker">

7

8 <i:Interaction.Behaviors>

9 <tpt:TagPositionTrackBehavior x:Name="TagPositionTrackBehavior"

10 TouchUpDelayTime="0" />

11 </i:Interaction.Behaviors>

12

13 …

14 </Window>

Listing 3-1: Anhängen des TagPositionTrackBehavior an das Hauptfenster einer Anwendung

Um eine korrekte Funktionsweise sicherzustellen muss das Fenster, welches das

Behavior angehängt hat, das gesamte mit dem reacTIVision-Framework kalibrierte Raster aus-

füllen. Des Weiteren bietet TagPositionTrackBehavior eine Eigenschaft (TouchUpDelayTime)

über die man angeben kann, um wie viele Millisekunden verzögert das TouchUp-Ereignis zum

tatsächlichen Abheben des Tags geworfen wird.

13

MVVM Light bietet die Möglichkeit Behavior an Objekte eines bestimmten Typs anzuhängen.

Page 26: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

26

4 Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

4.1 Allgemein

Die Extraktion digitalen Texts aus analogen Dokumenten, sowie die Möglichkeit Echtzeit-

Feedback auf Papier anzuzeigen, sind zwei wesentliche technische Anforderungen an das System

(siehe Einleitung). Dazu muss der Text des analogen Dokuments durch das System erkannt und

in Abhängigkeit der Position des Stiftes markiert werden können. Des Weiteren soll es möglich

sein den markierten Text auf die Tischoberfläche zu schieben. Die Recherche in verwandten

Arbeiten hat ergeben, dass es mit DigitalDesk [7] und FACT [8] zwei Systeme gibt, welche die

Extraktion von Textpassagen auf diese Weise umsetzen. In beiden Systemen werden durch Bild-

verarbeitungsalgorithmen die analogen Dokumente und die darauf befindlichen Satzzeichen er-

kannt. Des Weiteren wird ein Eingabegerät (Stift oder Finger) ermittelt, anhand dessen man die

entsprechenden Satzzeichen auswählen oder verschieben kann. Um die Systeme verwenden zu

können, muss man in beiden Fällen jedoch gewisse Rahmenbedingungen einhalten. So kann mit

FACT nur ein Dokument bearbeitet werden. Dieses muss sich direkt unter der Kamera des Sys-

tems befinden, damit gedruckte Schriftzeichen eine ausreichende Auflösung haben, um erkannt

werden zu können. Auf dem DigitalDesk kann mit mehreren Dokumenten parallel gearbeitet

werden. Allerdings müssen extrahierbare Ziffernfolgen eine gewisse Größe und einen bestimm-

ten Zeilenabstand zueinander haben, um von der Kamera erkannt werden zu können.

Um den Prototypen auf eine schnellere Art implementieren und beliebig viele Dokumente paral-

lel auf den Tisch bearbeiten zu können, wird in diesem Projekt eine andere Lösung der Extrakti-

on digitaler Texte aus analogen Dokumenten verfolgt. Dazu wird, wie bei der Stiftinteraktion mit

dem Tisch die Anoto-Technologie verwendet. Folgende Abbildung erklärt den Ansatz.

Abbildung 4-1: Extraktion von digitalem Text aus analogen Dokumenten

Analoge Dokumente werden mit dem Anoto-Pattern bedruckt. Gleichzeitig wird für jedes dieser

Dokumente die digitale Repräsentation geparst und Wörter und Bilder als Tokens in einer XML-

Page 27: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

27

Datei hinterlegt. Tokens beschreiben neben ihrem Inhalt (das entsprechende Wort oder Bild)

auch die eigene Position. Eine Position besteht aus einem Start- sowie Endpunkt und beschreibt

das Rechteck in dem sich der Token-Inhalt innerhalb der Seite befindet.

Wird nun eine Textpassage auf einem analogen Dokument markiert, wird die Pageaddress14

des

Anoto-Patterns ermittelt. Daraufhin wird in den verschiedenen XML-Dateien nach dem Element

vom Typ page gesucht, dessen pageaddress-Attribut mit der ermittelten Adresse übereinstimmt.

Wurde eine entsprechende Seite gefunden, werden alle innerhalb des Elements definierten Token

mit der markierten Fläche geschnitten. Findet eine Überschneidung der markierten Fläche mit

dem Rechteck des Tokens statt, wird dessen Inhalt und Position zurückgegeben.

Auf Basis der über reacTIVision-Marker erkannten Dokumentposition und der zum Dokument

relativen Position des Tokens kann die entsprechende Stelle auf dem Dokument hervorgehoben

werden. Zusätzlich kann der ermittelte Inhalt in einer Drag-Operation verwendet werden.

Der Nachteil des Lösungsansatzes ist, dass alle verwendeten analogen Dokumente mit dem

Anoto-Pattern bedruckt werden müssen und ihr Inhalt in XML-Dateien hinterlegt werden muss.

Der Vorteil ist, dass im Gegensatz zu den vorgestellten Forschungsprototypen beliebig viele Do-

kumente (wenn sie mit einem Marker versehenen sind) auf dem Tisch bearbeitet werden können.

Des Weiteren ist es nicht notwendig, dass die Dokumente eine bestimmte Textgröße oder einen

bestimmten Zeilenabstand haben. Die folgenden Unterkapitel erläutern die Entwicklung und

Verwendung der Software, welche die vorgestellte Idee umsetzt. Zum einen wird dabei die Bib-

liothek vorgestellt, über die auf den Text von analogen Dokumenten zurückgegriffen und Echt-

zeit-Feedback auf einem analogen Dokument angezeigt werden kann. Zum anderen wird die

Anwendung erklärt anhand der man automatisiert normale PDF Dokumente mit dem Anoto-

Pattern und einem reacTIVision-Tag versehen sowie den Inhalt in der Token-XML hinterlegen

kann.

4.2 AnotoToPdfTranslator

4.2.1 Entwicklung

Die Klassenbibliothek AnotoToPdfTranslator ist die programmatische Umsetzung des im vorhe-

rigen Unterkapitel beschriebenen Ansatzes zur Extraktion digitalen Texts aus analogen Doku-

menten. Folgende Abbildung zeigt das Klassendiagramm der Bibliothek.

14

Die Pageaddress wird anhand des Patterns einer Seite vom Stift identifiziert und

repräsentiert als eindeutige Kennzeichnung das entsprechende Anoto-Muster.

Page 28: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

28

Abbildung 4-2: Klassendiagramm der AnotoToPdfTranslator-Bibliothek

Das Singleton PDFContentAccessor verwaltet alle Dokumente, die in der Anwendung verwen-

det werden sollen. Dazu werden alle in einem spezifizierten Verzeichnis hinterlegten Dokumente

eingelesen und für jede dieser XML-Dateien ein Objekt der Klasse Document initialisiert. Beim

Parsen der XML wird deren Struktur (siehe Abbildung 4-1) in einer Objekt-Hierarchie darge-

stellt. Für jedes XML-Element page wird eine Instanz der Klasse Page erzeugt. Für jedes in ei-

ner page definierte Token wird ein Objekt von IToken angelegt. Dabei wird das type-Attribut des

XML-Elements überprüft und auf Basis des Attribut-Wertes entweder die Spezialisierung Text-

Token oder ImageToken instanziiert.

Um nun die Token zu ermitteln, die zu einem markierten Bereich auf einem Dokument gehören,

ruft man die Methode GetSelectedContent auf. Dieser Methode übergibt man die Pageaddress

des auf das Dokument gedruckten Anoto-Patterns sowie den Start- und Endpunkt der Markie-

rung, die durch den Stift gezeichnet wurde. Auf Basis der beiden Punkte werden die Token zu-

rückgegeben, die sich mit der Markierungsfläche überschneiden (innerhalb einer Instanz des

Typs Document).

Die Bestimmung der markierten Fläche orientiert sich an einem Verfahren, das in der Vorstudie

des Projektes Interactive Reading of Digital Documents in the Mobile Context [9] überprüft und

von den Teilnehmern präferiert wurde. Folgende Abbildung erklärt dessen Funktionsweise.

Abbildung 4-3: Markierungsverfahren aus der Vorstudie des Projektes Interactive Reading

Page 29: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

29

Ein Text wird markiert, in dem man einen Strich über die entsprechende Textpassage zieht. Da-

bei werden alle unterhalb des Startpunktes befindlichen Zeilen komplett markiert. Die Zeile, in

der sich der Endpunkt des Striches befindet, wird nur bis zur Position des Punktes markiert. An-

hand des Verfahrens kann man sowohl einzelne Wörter als auch ganze Textpassagen markieren.

Handelt es sich bei einem von GetSelectedContent zurückgegebenen Token um eine Instanz des

Typs ImageToken kann man sich anhand der Klasse PdfImageAccessor das zugehörige Bild zu-

rückgeben lassen. Dazu übergibt man das Objekt von ImageToken an die Methode

GetImagePath. Ein ImageToken beinhaltet den Pfad zur zugehörigen PDF-Datei, den Index der

Seite auf dem sich die Abbildung befindet, sowie eine ID, welche die Abbildung innerhalb der

Seite eindeutig definiert. Anhand dieser Informationen wird mit Hilfe des Frameworks

iTextSharp15

das Bild aus der PDF-Datei extrahiert und in einem temporären Verzeichnis hinter-

legt. GetImagePath gibt den Pfad der extrahierten Abbildung zurück. So kann man das Bild in

der eigenen Anwendung verwenden.

Zur Verwendung in Integrative Workplace wurde AnotoToPdfTranslator angepasst und als Bib-

liothek mit dem Namen DocumentManagement verwendet. DocumentManagement kann, über

die Funktionalität von AnotoToPdfTranslator hinaus, Dokumente verwalten, die sowohl mit dem

Anoto-Pattern als auch mit einem reacTIVision-Marker bedruckt sind und bietet zusätzlich Me-

thoden zur digitalen Volltextsuche in analogen Dokumenten an.

4.2.2 Verwendung

Um die AnotoToPdfTranslator-Bibliothek zu verwenden, kann man sie über den NuGet 16

-Server

der Blended Library in dem Projekt installieren, in dem sie benötigt wird. Die Verwendung der

Bibliothek im Code wird in folgendem Listing erklärt.

15

iText ist eine Software-Bibliothek zum Manipulieren von PDF-Dokumenten

(http://itextpdf.com/) 16

NuGet ist eine Visual-Studio-Erweiterung, die es einfach macht Bibliotheken von

Drittanbietern in einem Visual Studio Projekt zu installieren und zu verwenden

(http://nuget.org/)

Page 30: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

30

1 using Tools.AnotoToPdfTranslator;

2 using Tools.AnotoToPdfTranslator.Data;

3 …

4 class Program

5 {

6 …

7

8

private static void TestAnotoToPdfTranslator(string pageAddress, Point point1st, Point pointLast)

9 {

10 …

11 var document = PdfContentAccessor.Instance.GetSelectedContent(pageAddress,

12 point1st, pointLast);

13 var pdfImageAccessor = PdfImageAccessor.Instance;

14 foreach (var token in document.Pages[0].Tokens)

15 {

16 …

17 var imageToken = token as ImageToken;

18 if (imageToken != null)

19 {

20 …

21 Console.WriteLine(pdfImageAccessor.GetImagePath(imageToken));

22 …

23 }

24 }

25 }

26 }

Listing 4-1: Verwendung von AnotoToPdfTranslator

Sowohl auf PdfContentAccessor als auch auf PdfImageAccessor kann über das Singleton-Pattern

zugegriffen werden. Die Methode GetSelectedContent erwartet die Pageaddress eines Anoto-

Patterns sowie den ersten und letzten Berührungspunkt eines Stiftes auf diesem Pattern. Anhand

dieser Daten werden die Markierungsfläche und die darunterliegenden Token berechnet. Um zu

einem ImageToken das zugehörige Bild zu erhalten wird der Methode GetImagePath die ent-

sprechende Instanz übergeben. Als Rückgabewert erhält man den Pfad zum Bild.

Page 31: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

31

4.3 AnotoPatternCreator

4.3.1 Entwicklung

Analoge Dokumente müssen, um im Setting des Integrative Workplace verwendet werden zu

können, gewisse Voraussetzungen erfüllen. Um die Position und die aktuell geöffnete Seite fest-

zustellen, benötigen Dokumente einen reacTIVision-Tag. Die Extraktion von Text aus einem

Dokument, sowie das Echtzeit-Feedback auf einem Dokument, basiert auf der Anoto-

Technologie. Dazu wird auf jedes verwendete Dokument ein Anoto-Pattern gedruckt. Des Wei-

teren muss die digitale Repräsentation des Dokuments geparst und Wörter oder Abbildungen als

Token in einer XML-Datei hinterlegt werden. Folgende Abbildung zeigt die Seite eines Doku-

mentes, wie sie im Integrative Workplace verwendet wird.

Abbildung 4-4: Analoges Dokument des Integrative Workplace

Man erkennt das Punktmuster, das über den eigentlichen Inhalt gelegt wird sowie den reacTIVi-

sion-Tag der in der rechten obere Ecke platziert ist. Um diese Dokumente einfach aus einer An-

wendung heraus generieren zu können, wurde das Programm AnotoPatternCreator entwickelt.

AnotoPatternCreator greift zur automatisierten Erstellung der Dokumente auf verschiedene Bib-

liotheken und Anwendungen zurück. Zur Generierung des Anoto-Patterns wird das von Anoto

entwickelte PaperSDK verwendet. Auf Basis dieses Developer Kits ist es möglich die eindeuti-

gen Muster in verschiedenen Formaten zu generieren und als PostScript-Datei abzuspeichern.

Page 32: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

32

Um das generierte Pattern auf ein PDF-Dokument legen zu können, ist es notwendig, dieses

ebenfalls in eine PDF-Datei zu konvertieren. Dazu wird der Interpreter ghostscript17

verwendet,

der automatisiert aus AnotoPatternCreator heraus gestartet wird. Mit Hilfe des Frameworks

PDFSharp18

wird die daraus entstandene PDF-Datei und der reacTIVision-Marker in das ur-

sprüngliche Dokument eingefügt und anschließend in einer neuen PDF-Datei abgespeichert.

Um eine XML-Datei erzeugen zu können, welche die einzelnen Wörter und Abbildungen eines

Dokuments als Token enthält, ist es notwendig das ursprüngliche PDF-Dokument zu parsen. Das

Java-Framework PDFBox19

ermöglicht dies und bietet zusätzlich im eigenen SVN-Repository

jeweils eine Beispiel-Klasse zur Ermittlung von Text- (PrintTextLocations) und Bild-

Koordinaten (PrintImageLocations) innerhalb einer PDF-Datei. Zur Erstellung der Token-XML-

Datei werden beide Klassen in eine Konsolen-Anwendung gepackt. Die Java-Anwendung ermit-

telt die Text- und Bildbausteine sowie deren Koordinaten und erstellt auf Basis der Daten die

XML-Datei, welche die Token des ursprünglichen Dokuments beinhaltet. Um die Java-

Konsolenanwendung aus AnotoPatternCreator starten zu können, wird sie in eine Executable-

JAR-Datei konvertiert und automatisiert aufgerufen.

4.3.2 Verwendung

AnotoPatternCreator befindet sich im SVN-Repository Tools20

der HCI-Arbeitsgruppe. Nach-

dem man die Anwendung heruntergeladen hat, kann man deren Solution mit Visual Studio öff-

nen und die verschiedenen Projekte kompilieren. Bevor man jedoch die eigentliche Anwendung

starten kann (das Projekt AnotoPatternCreator.Gui) gibt es zwei Dinge, die zu beachten sind.

Zum einen muss eine JRE21

-Umgebung auf dem Rechner installiert sein. Zum anderen muss der

Rechner ghostscript eingerichtet haben. Wichtig ist dabei, dass man den Pfad zur Anwendung

gswin64c (auf 64-bit Systemen, gswin32c auf 32-bit Systemen) in den Settings des Projektes an

das entsprechenden Verzeichnis des verwendeten Rechners anpasst (siehe Abbildung 4-5).

17

ghostscript ist ein Open-Source Interpreter für PostScript und PDF

(http://www.ghostscript.com/) 18

PDFSharp ist eine Open Source-Bibliothek die das Bearbeiten von PDF-

Dokumenten in allen .NET-Sprachen ermöglicht (http://www.pdfsharp.com) 19

PDFBox ist eine Open Source-Bibliothek die das Bearbeiten von PDF-

Dokumenten in Java ermöglicht (http://pdfbox.apache.org/) 20

https://svn.uni-konstanz.de/hci/tools 21

Java Runtime Environment (http://www.java.com/de/download/)

Page 33: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

33

Abbildung 4-5: Settings in AnotoPatternCreator.Gui

Anschließend ist es möglich die Anwendung zu starten und zu verwenden. Nachdem Start öffnet

sich die graphische Oberfläche und folgende Ansicht ist für den Benutzer sichtbar.

Abbildung 4-6: Anoto Licences Ansicht des AnotoPatternCreator

In diesem Tab kann man zwischen den verschiedenen Lizenzen, die der HCI-Arbeitsgruppe zur

Verfügung stehen, wählen und die Eigenschaften (Seitenanzahl und -größe) überprüfen. Im

nächsten Tab (siehe Abbildung 4-7) ist es möglich PostScript-Dateien mit dem Anoto-Pattern zu

generieren.

Page 34: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

34

Abbildung 4-7: Create Pattern Ansicht des AnotoPatternCreator

Dazu kann man die Größe des Patterns (Din A0-A10 oder eine spezifische Größe), den Namen

der Ausgabedatei, sowie die Anzahl von Seiten definieren. Der Tab Print Pattern (siehe Abbil-

dung 4-8) dient dem Überlagern von PDF-Dokumenten mit einem Anoto-Pattern und gegebe-

nenfalls einem reacTIVision-Marker.

Abbildung 4-8: Print Pattern Ansicht des AnotoPatternCreator

Über einen Dateiauswahl-Dialog wählt man das entsprechende PDF-Dokument aus. Des Weite-

ren kann man den Namen der Ausgabedatei sowie die Pattern-Nummer, mit der der ersten Seite

des Dokuments begonnen wird, spezifiziert werden. Über eine CheckBox kann man angeben, ob

ein reacTIVision-Tag auf dem Dokument hinzugefügt werden soll. Dabei kann man auch hier

den Startwert und die Größe des Tags auf dem Dokument spezifizieren. Im letzten Tab (siehe

Abbildung 4-9) ist die Generierung der Token-XML-Datei möglich.

Page 35: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Text-Extraktion und Echtzeit-Feedback bei analogen Dokumenten

35

Abbildung 4-9: Tokens XML Ansicht des AnotoPatternCreator

Auch hier wird über einen Dateiauswahl-Dialog das zu parsende PDF-Dokument ausgewählt.

Der Name der XML- entspricht dem Namen der PDF-Datei und kann daher nicht festgelegt wer-

den. Für die einzelnen page-Elemente der XML-Datei kann man sowohl den Startwert des Attri-

butes pageaddress (Pattern No) sowie den Startwert des Attributes tagvalue (Tag No) festlegen

(für die Struktur der Token-XML siehe Abbildung 4-1). Außerdem können über eine CheckBox

alle in der ausgewählten PDF-Datei vorhandenen Bilder extrahiert werden. Diese werden im

Ausgabeverzeichnis der Anwendung, im Unterverzeichnis mit dem Namen imgs, abgespeichert.

Um über AnotoToPdfTranslator auf die Inhalte der Token-XML zurückzugreifen, wird diese mit

der ursprünglichen PDF-Datei in ein gemeinsames Verzeichnis gelegt. Wird der Pfad des Ver-

zeichnisses in PdfContentAccessor gesetzt (über die Eigenschaft BooksDirectory), werden alle

sich im Verzeichnis befindlichen XML-Dateien geladen und auf den Inhalt kann über die vorge-

stellten Methoden (siehe Kapitel 4.2.1 und 4.2.2) zugegriffen werden.

Die Pageaddress des Punktmusters sowie die Koordinaten der einzelnen Wörter der mit dem

Anoto-Pattern und dem reacTIVision-Tag überlagerten PDF-Datei entsprechen denen in der zu-

gehörigen XML-Datei hinterlegten Token. So kann, wenn die Datei ausgedruckt wird, anhand

der Daten des Anoto Digital Pens die markierten Passagen ermittelt werden.

Page 36: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace

36

5 Integrative Workplace

5.1 Allgemein

Integrative Workplace ist die eigentliche Anwendung des Master-Projekts und soll als Prototyp

im Rahmen der Master-Arbeit evaluiert werden. Die Applikation greift auf die verschiedenen

Bibliotheken, Frameworks und Technologien zu, die in den vorherigen Artikeln beschrieben

wurden und erfüllt so die in der Seminararbeit ermittelten Schlüsselanforderungen an ein System

zum Verfassen einer juristischen Hausarbeit.

In diesem Kapitel wird die Umsetzung der Eigenschaften vorgestellt, die nicht in Software-

Modulen oder -Bibliotheken zur Verfügung gestellt wurden. Dazu gehört zum einen die Dar-

stellbarkeit einer Mindmap, zum anderen die Integration eines Webbrowsers. Die Mindmap dient

der sinnvollen Anordnung extrahierter Texte zur Generierung neuer Ideen (sense-making). Der

Webbrowser ermöglicht den Zugriff auf digitale Inhalte im Setting des Arbeitsplatzes.

5.2 Mindmap

5.2.1 Landschaft

Aus den für die Landschaft der Mindmap vorgestellten Konzepten ergeben sich verschiedene

technische Anforderungen, die bei der Realisierung beachtet werden müssen. Um die Mindmaps

mehrerer Fälle parallel zueinander verorten zu können, ist es notwendig eine sehr große Land-

schaft zur Verfügung zu stellen. Dabei soll die Landschaft über die Dimensionen der Projektion

hinausgehen und durch Panning und Zooming auf diesen Bereich angepasst werden können. Des

Weiteren ist die Persistierbarkeit einer Mindmap beziehungsweise der Stand eines Arbeitsplatzes

ein wichtiger Aspekt. Es soll für verschiedene Personen möglich sein die auf der Landschaft an-

gelegten Mindmaps über die Laufzeit des Prototyps hinweg abzuspeichern und bei Bedarf wieder

zu laden. So können mehrere Personen abwechselnd an ihrem Fall beziehungsweise ihren Fällen

arbeiten.

Zur Realisierung dieser Anforderungen wird das ZOIL22

Framework der HCI-Arbeitsgruppe

verwendet. Das Framework ist für .NET und WPF entwickelt worden. Die Basis bildet eine

zoombare Informationslandschaft die verschiedene Eigenschaften beinhaltet:

Semantischer Zoom – Größenabhängige Darstellung von Objekten

Persistenz – Persistieren von Objekten über die Laufzeit einer Anwendung hinaus

Echtzeit-Synchronisation – Synchronisierung von Objekten auf verteilten Geräten

Unabhängigkeit von Eingabegeräten – Bedienbarkeit mit Maus, Touch, OSC, etc.

22

ZOIL steht für Zoomable Object-Oriented Information Landscape (http://zoil.codeplex.com/)

Page 37: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace

37

Im Projekt wird Gebrauch von den Eigenschaften Zoom sowie Persistenz gemacht. Dabei hat

sich in einer ersten Implementation der Landschaft des Integrative Workplace gezeigt, dass das

semantische Zoomen in diesem Kontext für den Benutzer irritierend ist. Daher wurde mit ZOIL

eine einfache zweieinhalb-dimensionale Informationslandschaft erstellt. In der minimalen Zoom-

stufe wird eine Übersicht über alle bearbeiten Mindmaps bzw. Fälle gegeben (siehe Abbildung

5-1).

Abbildung 5-1: Übersicht über alle auf dem Arbeitsplatz bearbeiteten Fälle

Bei der Bearbeitung eines bestimmten Falles kann man durch Zoomen den Fokus auf den gerade

bearbeiteten Bereich legen (siehe linke Seite der Abbildung 5-2). Durch Berührung ist es mög-

lich die extrahierten Textpassagen oder Definitionen explizit zu öffnen und so zusätzliche Infor-

mationen zu erhalten (siehe rechte Seite der Abbildung 5-2). Diese Realisierung orientiert sich an

zwei der von Cockburn et al. vorgestellten Interface-Schemata zum Wechsel zwischen Fokus-

und Kontext-Ansichten [10]: zum einen an der zeitlichen Trennung durch Zoomen, zum anderen

am selektiven Hervorheben oder Ausblenden einzelner Items.

Abbildung 5-2: Fokus- und Kontext-Ansichten des Integrative Workplace

Objekte werden in ZOIL entweder in einer BaseX23

- oder db4o24

- Datenbank persistiert. In In-

tegrative Workplace wird die db4o-Datenbank verwendet.

23

BaseX ist eine XML-Datenbank (http://basex.org/)

Page 38: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace

38

Um Objekte mit ZOIL persistieren zu können müssen auf der graphischen Oberfläche dargestell-

te Objekte im MVVM-Pattern25

implementiert werden. Das MVVM-Pattern spezifiziert, dass ein

GUI-Objekt aus einem Model (den visualisierten Daten), einer View (der graphischen Repräsen-

tation) sowie einem ViewModel (dient der Aufarbeitung des Models zur graphischen Darstel-

lung) besteht. Im ZOIL-Databackend werden dann die Model-Objekte der auf der

Informationslandschaft dargestellten Elemente mit ihren visuellen Eigenschaften (Größe, Positi-

on und Sichtbarkeit) hinterlegt. Beim erneuten Starten der Anwendung werden alle diese Objekte

aus der Datenbank geladen und wieder in der Informationslandschaft dargestellt.

5.2.2 Schrifterkennung

Die einzelnen Mindmap-Wolken, die sich auf der Landschaft des Integrative Workplace befin-

den stellen entweder eine extrahierten Textpassage dar oder sind von Hand angelegt und be-

schriftet worden. Eine von Hand angelegte Mindmap-Wolke wird mit dem Stift gezeichnet und

anschließend beschrieben. Um das handschriftlich Geschriebene als digitalen Text zu erkennen,

müssen die notierten Zeichen interpretiert und als digitale Zeichen ausgegeben werden. Als Basis

wird dazu die Klasse InkAnalyzer im .NET-Namespace System.Windows.Ink verwendet. Dieser

Namespace stellt Klassen für die Verarbeitung von Freihandeingaben zur Interaktion mit WPF-

Anwendungen bereit. Dabei ermöglichen Objekte der Klasse InkAnalyzer die Schrift- und Zeich-

nungsklassifizierung von handschriftlich verfassten Texten oder Zeichnungen. Der Zugriff auf

InkAnalyzer findet in diesem Projekt über die Software-Bibliothek AnotoInkAnalyzer statt. Das

Framework befindet sich im SVN-Repository der HCI-Arbeitsgruppe und dient der Handschrift-

erkennung bei Verwendung der Anoto-Technologie. Um AnotoInkAnalyzer auch zur Erkennung

von Schrift auf der Projektionsfläche zu verwenden, wurde es an das zur Integration des Digital

Pens mit der Anwendung verwendete InputFramework (siehe Kapitel 2.2.2) angepasst. Es ist nun

möglich eine Klasse von AnotoInkAnalyzer direkt an ein graphisches Element zu binden und so

dessen Eingabe-Ereignisse abzufangen oder über öffentliche Methoden die gezogenen Striche an

das Objekt zu übergeben. In beiden Fällen werden die ermittelten Zeichen an eine Instanz von

InkAnalyzer weitergegeben und analysiert. Folgende Abbildung zeigt die graphische Umsetzung

der Schrifterkennung in Integrative Workplace.

24

db4o ist eine Objektdatenbank für Java und .NET (http://www.db4o.com/) 25

Model-View-ViewModel ist ein Pattern, dass der Trennung von Markup und Logik einer

graphischen Oberfläche dient (Erfinder John Gossman über das Pattern (08.05.13):

http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx).

Page 39: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace

39

Abbildung 5-3: Workflow der Interaktion bei Schrifterkennung

In einem ersten Schritt wird eine Mindmap-Wolke mit dem Stift beschrieben. Die einzelnen Zei-

chen werden analysiert und über ein Menü kann man die verschiedenen erkannten Wörter aus-

wählen. Dabei sind diese nach der Sicherheit der Erkennung sortiert. Hat man das Wort

ausgewählt, das dem handschriftlich geschriebenen entspricht, wird es als digitaler Text auf der

Mindmap-Wolke dargestellt.

5.2.3 Gestenerkennung

Eine Mindmap zur Struktur der exzerpierten Inhalte einer Literaturrecherche kann aus verschie-

denen Controls bestehen. Diese Controls haben jeweils eine unterschiedliche Bedeutung und eine

damit verbundene Funktionalität. Die folgende Tabelle erklärt die in Integrative Workplace ver-

wendbaren Mindmap-Controls.

Tabelle 5-1: Ansichten und Bedeutung der Mindmap-Controls

Page 40: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace

40

Um ein Mindmap-Control anzulegen wird dieses mit dem Stift auf den Tisch gezeichnet. Anhand

der gezeichneten Form wird ermittelt um welches Control es sich handelt. Anschließend wird

dieses Control zur Informationslandschaft des Prototyps hinzugefügt. Die Analyse der gezeich-

neten Form wird dabei von einer C#-Implementierung26

des $1-Algorithmus durchgeführt. Der

von Wobbrock et al. entwickelte Algorithmus [11] erkennt mit einem Strich gezeichnete Gesten,

ohne dass es nötig ist, diese dem System in einem aufwendigen Lernprozess beizubringen.

Trotzdem bietet der Algorithmus eine robuste, rotationsunabhängige Erkennung von Gesten.

Folgende Abbildung zeigt exemplarisch die Erkennung des Überschrift-Controls in Integrative

Workplace.

Abbildung 5-4: Erkennung des Überschrift-Controls

5.3 Browser-Integration

Um die Darstellung digitaler Inhalte im Setting des Arbeitsplatzes zu ermöglichen, ist es not-

wendig einen Webbrowser in die Anwendung zu integrieren. Dabei soll insbesondere der Zugriff

auf Beck-Online27

ermöglicht werden. Die Fachdatenbank für Juristen bietet umfangreiche Ge-

setzestexte und Kommentare an und wird von Studenten häufig beim Verfassen einer Hausarbeit

(dem Anwendungsfall des Projekts) verwendet. Wichtig ist, dass die im Browser dargestellten

Inhalte mit dem Anoto Digital Pen markiert und auf die Informationslandschaft gezogen werden

können.

Dazu wird awesomium28

verwendet, eine Web-UI-Bridge zur Darstellung von Webinhalten in

C++- oder .NET-Anwendungen. Der Vorteil von awesomium gegenüber dem von WPF angebo-

26

Quelle (08.05.13): http://depts.washington.edu/aimgroup/proj/dollar/ 27

http://beck-online.beck.de 28

http://awesomium.com

Page 41: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace

41

tene ActiveX-Webbrowser ist die fensterlose Renderbarkeit. Dadurch können Web-Seiten nicht

nur auf beliebigen graphischen Oberflächen und Texturen dargestellt werden, sondern sind zu-

sätzlich beliebig rotier- und skalierbar. Um awesomium in einer eigenen Anwendung verwenden

zu können muss man im dazugehörigen Visual Studio Projekt die DLL-Dateien Awesomi-

um.Core und Awesomium.Windows.Controls referenzieren. Anschließend kann man das

WebControl wie in folgendem Listing gezeigt in XAML-Dateien verwenden.

1 <UserControl x:Class="IntegrativeWorkplace.Controls.BeckBrowser"

2 …

3 xmlns:awe="clr-namespace:Awesomium.Windows.Controls;

4 assembly=Awesomium.Windows.Controls">

5

6

<Grid> …

6 <awe:WebControl x:Name="Browser" Width="980" Height="600"/>

7 …

8 </Grid>

9 </UserControl>

Listing 5-1: Verwendung des awesomium-WebControls

Der awesomium-Webbrowser wurde im Projekt in ein eigenes UserControl (BeckBrowser) inte-

griert, dessen Aufgabe insbesondere die Realisierung der Stift- und Touch-Interaktion mit dem

Control ist. Durch die Integration des Anoto Digital Pens in das Bubbling und Tunneling von

Eingabe-Ereignissen ist es automatisch möglich mit dem Stift entsprechende Textpassagen im

Webbrowser zu markieren. Wenn man die markierte Passage anschließend berührt, wird vom

BeckBrowser-Control eine Drag-Operation gestartet und der markierte Bereich kann auf die In-

formationslandschaft gezogen werden. Des Weiteren kann man mit dem Stift Suchbegriffe in ein

spezielles Textfeld eintragen. Diese werden dann auf der Seite des Browser hervorgehoben. Um

das Browser-Control auf dem Arbeitsplatz verschieben zu können sind an dessen Seiten Touch-

Handles vorhanden. Werden gleichzeitig zwei dieser Handles berührt kann man das Control zu-

sätzlich vergrößern oder rotieren. Folgende Abbildung zeigt das BeckBrowser-Control.

Abbildung 5-5: BeckBrowser-Control

Page 42: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Integrative Workplace

42

5.4 Starten der Anwendung

Vor dem Start von Integrative Workplace sind folgende drei Schritte notwendig:

1.) Starten des Displax Touch Sensors:

Um mit Touch interagieren zu können, muss der Displax-Controller über USB mit dem

Rechner verbunden sein. Zusätzlich muss man im Control-Panel des Sensors die Weiter-

gabe der Touch-Ereignisse an das Betriebssystem aktivieren. Dazu selektiert man die

Enabled-Checkbox im linken oberen Bereich der Start-Ansicht des Control-Panels (siehe

Abbildung 2-12). Des Weiteren ist zu überprüfen, ob der Sensor neu kalibriert werden

muss (eine Anleitung zur Konfiguration des Sensors befindet sich in Kapitel 2.3.2).

2.) Starten des NiCE Wall Driver:

Um die Anwendung mit dem Anoto Digital Pen bedienen zu können, muss der NiCE

Wall Driver gestartet sein. Außerdem ist es wichtig zu überprüfen, ob das System einen

Anoto Digital Pen erkannt hat. Dies ist im linken Bereich der GUI des NiCE Wall Driver

dargestellt (siehe Abbildung 2-6). Zusätzlich sollte man überprüfen ob die Notwendigkeit

besteht, den NiCE Wall Driver neu zu konfigurieren (eine Anleitung dazu kann man in

Kapitel 2.2.3 finden).

3.) Starten des reacTIVision Frameworks:

Zur Erkennung der auf dem Tisch vorhandenen Dokumente muss das reacTIVision

Framework gestartet sein. Anschließend sollte man die Optionen der Kamera verifizieren.

Dazu legt man eines der Dokumente auf den Tisch und passt die Helligkeits- und Kon-

trasteigenschaft der Kamera so an, dass die Erkennung des auf dem Dokument befindli-

chen Markers möglich robust ist. Zusätzlich muss man überprüfen ob die Auto-Fokus-

Funktion der Kamera deaktiviert ist. Außerdem muss man kontrollieren, ob das Kalibrie-

rungsraster der Kamera an die Projektion angepasst ist. Durch das Drücken der Taste C

kann man das Raster einblenden. Eine Beschreibung, wie man reacTIVision kalibriert

findet sich in Kapitel 3.2.2.

Anschließend kann man Integrative Workplace aus der gleichnamigen Visual Studio Solution

heraus starten.

Page 43: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Zusammenfassung und Ausblick

43

6 Zusammenfassung und Ausblick

Dieser Bericht beschreibt die technische Realisierung der Anwendung Integrative Workplace.

Integrative Workplace wurde auf Grundlage einer Bedarfsanalyse konzipiert, die im Rahmen der

Seminararbeit dieses Projektes vorgestellt wird und die Anforderungen an ein System aufzeigt,

das Studenten beim Verfassen einer juristischen Hausarbeit unterstützt [1]. Zur Entwicklung der

Anwendung wurde die aus den Konzepten ermittelte, technische Problemstellung in Teilproble-

me zerlegt und so in verschiedenen Schritten realisiert. Bei der Implementierung wurde dabei auf

die Generalisierbarkeit der Teilprobleme geachtet. Sie sind jeweils als Bibliotheken verfügbar

und können somit auch in weiteren Projekten verwendet werden.

Integrative Workplace führt die einzelnen Komponenten in einer Anwendung zusammen, um

dadurch die ermittelten Anforderungen zu erfüllen und die entwickelten Konzepte zu realisieren.

In der Seminararbeit werden die Konzepte anhand eines Szenarios präsentiert, das zeigt wie ein

Jura-Student eine Hausarbeit mit Hilfe des Prototyps Integrative Workplace verfasst. In diesem

Szenario werden verschiedene Features vorgestellt. Bei der Entwicklung wurden versucht diese

Features, sofern es möglich war, zu implementieren. Folgende Tabelle fasst die in den Konzep-

ten vorgestellten Eigenschaften zusammen und zeigt ob der Konzeptentwurf im Prototyp reali-

siert wurde.

Eigenschaft Konzeptidee Realisierung im Prototyp

Gesten-

erkennung

Schrift-

erkennung

Echtzeit-

Feedback

auf analogen

Dokumenten

Page 44: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Zusammenfassung und Ausblick

44

Text von

Blatt auf

Informations-

landschaft

schieben

Text von

Buch auf

Informations-

landschaft

schieben

Mindmap

erstellen

Interagieren

mit digitalem

Text anhand

des Stift

Volltextsuche

in analogem

Dokument

Page 45: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Zusammenfassung und Ausblick

45

Anzeigen

von Such-

ergebnissen

am

Buchschnitt

Referenzrück-

verfolgung

zu analogen

Quellen

Referenzrück-

verfolgung

zu digitalen

Quellen

Verwendung

v. Mindmap-

Controls in

Word

Dokumenten

Kopieren von

Mindmap-

Controls

Page 46: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Zusammenfassung und Ausblick

46

Exportieren

der Mindmap

Dynamisches

Anzeigen

relevanter

Informatio-

nen

Tabelle 6-1: Gegenüberstellung Sketch und Prototyp

Die Tabelle zeigt, dass die Mehrzahl der Ideen im Prototyp realisiert werden konnten. Ideen de-

ren Umsetzung aus technischen oder zeitlichen Gründen nicht möglich war, sind mit einem Mi-

nus gekennzeichnet.

Der nächste und letzte Schritt des Projektes ist die Evaluation der Anwendung. Anhand einer

Studie wird die Innovativität und Gebrauchstauglichkeit des Systems ermittelt. Eine erste Idee

zur Evaluation ist eine geleitete Usability-Studie, in der die Aspekte der Arbeit eines Jura-

Studenten beim Verfassen einer Hausarbeit durch ein einführendes Interview ermittelt und an-

schließend von dem Studenten und dem Versuchsleiter am Prototyp Integrative Workplace

durchgeführt wird. Allerdings muss der konkrete Entwurf der Studie noch entwickelt werden und

wird, wie die Studienergebnisse, in der schriftlichen Ausarbeitung der Master-Arbeit vorgestellt.

Page 47: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Literaturverzeichnis

47

Literaturverzeichnis

[1] C. Gebhardt, “Integrative Workplace - Sense-making on Digital Tabletops employing

Reality-based Interaction”, 2012.

[2] Anoto Group, “DEVELOPMENT GUIDE FOR SERVICES ENABLED BY ANOTO

FUNCTIONALITY”, pp. 1–44, 2005.

[3] Media Interaction Lab (FH Hagenberg), “InputFramework”, 2010.

[4] Displax, “SKIN MULTITOUCH - Installation Guide”, 2012.

[5] M. Kaltenbrunner and T. Bovermann, “TUIO: A protocol for table-top tangible user

interfaces”, Proceedings of the the 6th International Workshop on Gesture in Human-

Computer Interaction an Siumulation (GW 2005), 2005.

[6] M. Kaltenbrunner and R. Bencina, “reacTIVision: a computer-vision framework for table-

based tangible interaction”, Proceedings of the first international conference on Tangible

and embedded interaction (TEI07), 2007.

[7] P. Wellner, “The DigitalDesk calculator: tangible manipulation on a desk top display”,

Proceedings of the 4th annual ACM symposium on User interface software and

technology (UIST ’91), pp. 27–33, 1991.

[8] C. Liao, H. Tang, Q. Liu, P. Chiu, and F. Chen, “FACT: fine-grained cross-media

interaction with documents via a portable hybrid paper-laptop interface”, Proceedings of

the international conference on Multimedia (MM ’10), pp. 361–370, 2010.

[9] T. Baube, “Interactive Reading of Digital Documents in the Mobile Context”, Universität

Konstanz, 2013.

[10] A. Cockburn, A. Karlson, and B. Bederson, “A review of overview+ detail, zooming, and

focus+ context interfaces”, ACM Computing Surveys (CSUR), pp. 1–42, 2008.

[11] J. Wobbrock, A. Wilson, and Y. Li, “Gestures without libraries, toolkits or training: a $1

recognizer for user interface prototypes”, Proceedings of the 20th annual ACM symposium

on User interface software and technology (UIST ’07), pp. 159–168, 2007.

[12] D. G. Lowe, “Object recognition from local scale-invariant features”, Proceedings of the

Seventh IEEE International Conference on Computer Vision, pp. 1150–1157 vol.2, 1999.

[13] J. Canny, “A computational approach to edge detection”, IEEE transactions on pattern

analysis and machine intelligence, vol. 8, no. 6, pp. 679–98, Jun. 1986.

Page 48: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Abbildungsverzeichnis

48

Abbildungsverzeichnis

Abbildung 1-1: Extrahieren einer Textpassage aus einem Buch .................................................... 4

Abbildung 1-2: Anlegen einer Mindmap-Wolke ............................................................................ 5

Abbildung 1-3: Volltextsuche in einem Buch ................................................................................ 5

Abbildung 1-4: Referenzrückverfolgung einer exzerpierten Textpassage ..................................... 5

Abbildung 2-1: Der interaktive Schreibtisch im Living Lab. ......................................................... 7

Abbildung 2-2: Layer der Tischplatte ............................................................................................. 8

Abbildung 2-3: Anoto Digital Pen [2] ........................................................................................... 9

Abbildung 2-4: Anoto Pattern [2] ................................................................................................... 9

Abbildung 2-5: Aufbau der Anoto-Folie des interaktiven Schreibtischs ...................................... 10

Abbildung 2-6: NiCE Wall Driver ................................................................................................ 10

Abbildung 2-7: Konfigurationsansicht des NiCE Wall Driver ..................................................... 11

Abbildung 2-8: Klassenstruktur des InputFramework [3] ............................................................ 11

Abbildung 2-9: Bubbling und Tunneling in WPF ........................................................................ 12

Abbildung 2-10: Displax SKIN MULTITOUCH Sensor ............................................................. 14

Abbildung 2-11: Sensor und Controller von SKIN MULTITOUCH (in Anlehnung an [4]) ....... 14

Abbildung 2-12: DISPLAX SKIN MULTITOUCH Control Panel ............................................. 15

Abbildung 2-13: Support-Ansicht des DISPLAX SKIN MULTITOUCH Control Panel ........... 16

Abbildung 2-14: Kalibrierungsansicht des DISLAX SKIN MULTITOUCH Control Panels ..... 16

Abbildung 3-1: Kantenerkennung von Dokumenten mit dem Canny-Filter. ............................... 18

Abbildung 3-2: AR-Marker (links) und reacTIVision-Marker (rechts) ....................................... 19

Abbildung 3-3: reacTIVision Framework .................................................................................... 20

Abbildung 3-4: reacTIVision im Kontext des Integrative Workplace .......................................... 21

Abbildung 3-5: Erkennung von mit Marker versehenen Dokumenten ......................................... 22

Abbildung 3-6: Kalibrierungsraster über projiziertem Raster ...................................................... 22

Abbildung 3-7: Korrekt kalibriertes Raster .................................................................................. 23

Abbildung 3-8: TagPositionTracker ............................................................................................. 24

Abbildung 4-1: Extraktion von digitalem Text aus analogen Dokumenten ................................. 26

Abbildung 4-2: Klassendiagramm der AnotoToPdfTranslator-Bibliothek .................................. 28

Abbildung 4-3: Markierungsverfahren aus der Vorstudie des Projektes Interactive Reading ..... 28

Abbildung 4-4: Analoges Dokument des Integrative Workplace ................................................. 31

Abbildung 4-5: Settings in AnotoPatternCreator.Gui .................................................................. 33

Abbildung 4-6: Anoto Licences Ansicht des AnotoPatternCreator ............................................. 33

Abbildung 4-7: Create Pattern Ansicht des AnotoPatternCreator .............................................. 34

Abbildung 4-8: Print Pattern Ansicht des AnotoPatternCreator ................................................. 34

Abbildung 4-9: Tokens XML Ansicht des AnotoPatternCreator .................................................. 35

Abbildung 5-1: Übersicht über alle auf dem Arbeitsplatz bearbeiteten Fälle .............................. 37

Abbildung 5-2: Fokus- und Kontext-Ansichten des Integrative Workplace ................................ 37

Page 49: Integrative Workplace - informatik.uni-konstanz.de · Um das System mit Stift und Touch bedienen zu können, wurde eine spezielle Tischplatte entwi- ckelt. Der Aufbau ist in folgender

Abbildungsverzeichnis

49

Abbildung 5-3: Workflow der Interaktion bei Schrifterkennung ................................................. 39

Abbildung 5-4: Ansichten und Bedeutung der Mindmap-Controls .............................................. 39

Abbildung 5-5: Erkennung des Überschrift-Controls ................................................................... 40

Abbildung 5-6: BeckBrowser-Control .......................................................................................... 41

Abbildung 6-1: Gegenüberstellung Sketch und Prototyp ............................................................. 46