Bachelorarbeit. Torge Hinrichs. Identifikation geometrischer Objekte in 3D - Punktwolken. Fakultät Technik und Informatik Studiendepartment Informatik

Größe: px
Ab Seite anzeigen:

Download "Bachelorarbeit. Torge Hinrichs. Identifikation geometrischer Objekte in 3D - Punktwolken. Fakultät Technik und Informatik Studiendepartment Informatik"

Transkript

1 Bachelorarbeit Torge Hinrichs Identifikation geometrischer Objekte in 3D - Punktwolken Fakultät Technik und Informatik Studiendepartment Informatik Faculty of Engineering and Computer Science Department of Computer Science

2 Torge Hinrichs Identifikation geometrischer Objekte in 3D - Punktwolken Bachelorarbeit eingereicht im Rahmen der Bachelorprüfung im Studiengang Bachelor of Science Technische Informatik am Department Informatik der Fakultät Technik und Informatik der Hochschule für Angewandte Wissenschaften Hamburg Betreuender Prüfer: Prof. Dr. Andreas Meisel Zweitgutachter: Prof. Dr. Wolfgang Fohl Eingereicht am: 16. Juni 2014

3 Torge Hinrichs Thema der Arbeit Identifikation geometrischer Objekte in 3D - Punktwolken Stichworte 3D, Punktwolke, RanSaC, Kinect, PCL, Point Cloud Library Kurzzusammenfassung Dieses Dokument beschreibt eine Möglichkeit für die geometrische Objektidentifikation im 3D Raum. Nach einer Vorverarbeitung wird der RanSaC Algorithmus für die Bestimmung der Objekte genutzt. Die gewonnenen Informationen können für weitere Verarbeitungsschritte genutzt werden. Torge Hinrichs Title of the paper Identification of geometric objects in 3D - Pointclouds Keywords 3D, Pointcloud, RanSaC, Kinect, PCL, Point Cloud Library Abstract This document shows a possibility of geometric object identification in a 3 dimensional surrounding. After preprocessing the RanSaC algorithms is used to identify the objects. The obtained information can be used in further projects.

4 Inhaltsverzeichnis 1 Einleitung Motivation Problemstellung Gliederung Analyse Sensor Online und Offline Komponenten Zusammenfassung Implementierung Werkzeuge und Bibliotheken Microsoft Kinect Sensor Point Cloud Library (PCL) Theoretische Grundlagen für die Segmentierung Methode der kleinsten Fehlerquadrate Zufallsvariable Kovarianz Kovarianzmatrix Datenstrukturen und Algorithmen Point Point Cloud<PointType> Point Indices / Index Extraktion Filter Passthrogh Filter Voxelgrid Filter K-D Tree Normal Estimation Random Sample Consensus Lösung Implementierung der Online Phase Implementierung der Offline Phase Evaluierung Ebenensegmentierung Objektsegmentierung Zeitverhalten iv

5 Inhaltsverzeichnis 3.6 Verwenden in anderen Projekten Fazit Diskussion Zusammenfassung Ausblick v

6 Abbildungsverzeichnis 2.1 Anordnung der Bildpunkte in 2D Distanzwahrnehmung mit 2 Augen / Kameras [17] Funktionsweise eines Laserscanners [11] Übersicht über die Arbeitsphasen und Bearbeitung der Teilprobleme Microsoft Kinect for Windows[16] Nahauflösung des Kinect Sensors(oben), Verlust der Genauigkeit erkennbar an der scheibenartigen Darstellung der Wand(unten) Logo Point Clound Library[10] PCL Abhängigkeiten[1] Szene in Rohdaten(oben) und nach Bandpassfilterung(unten) in Z - Richtung (0m - 1m) Szene in Rohdaten(oben), nach Voxelfilterung 1cm 3 (mitte), nach Voxelfilterung 5cm 3 (unten) dreidimensionaler K-D Baum [4] Überblick über die Methoden und Parameter der Applikation Segmentierungsergibnis mit Originaldaten (links) und Ergebnis nach optimierter Suche mit geringerer Auflösung Sequenz der Methode planesegmentation() Sequenz der Methode planesegmentation() Erfolgreiche Segmentierung eines Zylinders aus einer Szene Ebene dargestellt in Dreipunkteform [6] einfache Beispielszene für die Segmentierung von Ebenen Ergebnis der Segmentierung aus Szene Komplexe Szene für die Segmentierung von Ebenen Ergebniswolke der Segmentierung aus Abbildung Komplexer Versuchsaufbau für die Ebenensegmentierung Ergebniswolke der Segmentierung aus Abbildung Einfache Beispielszene für die Segmentierung von Zylindern Erfolgreiche Segmentierung der der Szene aus Abbildung Fehlerausgabe der PCL in der Konsole bei nicht erfolgreicher Segmentierung Komplexe Szene für die Segmentierung von Zylindern Ergebnis der Segmentierung mit genannten Parametern Ergebnis der Segmentierung mit geänderten Parametern vi

7 Abbildungsverzeichnis 3.26 Zeitverhalten der Teilarbeitsschritte in der Ebenensegmentierung. Mittelwerte von 3000 Aufrufen Zeitverhalten der Teilarbeitsschritte in der Objektsegmentierung. Mittelwerte von 1000 Aufrufen Beispielszene für die Segmentierung von Kugeln Ergebnis der Beispielanwendung vii

8 Listings 3.1 Beispiel einer Point Cloud in einem PCD - File Extraktion von Punkten aus einer P ointcloud Normal Estimation Algorithmus in Pseudocode Einbinden der Modelle Beispiele für Modelle Auszug aus der Offline Phase einer Beispielanwendung Auszug aus der Online Phase einer Beispielanwendung Ergebnisprüfung der Segmentierung viii

9 1 Einleitung 1.1 Motivation In der modernen Gesellschaft übernehmen Roboter und automatisierte Prozesse immer größere Teile unseres täglichen Lebens. Hierbei sind den Einsatzbereichen nur wenige Grenzen gesetzt. Einer dieser Bereiche ist die Robotik. Hierbei werden Roboter entwickelt, die Produktionsvorgänge vereinfachen oder das Leben für den Menschen erleichtern sollen. Damit eine Vielzahl dieser Roboter eigenständig auf unterschiedliche Situationen und Umwelteinflüsse reagieren können, benötigen sie eine breites Spektrum an Sensoren. Wie auch der Mensch nimmt ein Roboter einen großen Teil seiner Umwelt über das Sehen war. Da der Roboter nicht, wie der Mensch, über Augen verfügt muss auf eine Kombination verschiedener Sensoren ausgewichen werden. Die daraus resultierende Masse an Daten muss schnell und effizient ausgewertet werden, damit rechtzeitig auf ein Ereignis reagiert werden kann. Hierzu müssen Algorithmen und Programme entwickelt werden, die diese Aufgaben bewältigen können. An dieser Stelle setzt diese Arbeit an. 1.2 Problemstellung Das Ziel dieser Bachelorarbeit ist die Entwicklung eines Software Moduls, dass mit den im Labor vorhandenen Gegebenheiten und der Verwendung der Point Clóud Library eine Segmentierung der Umgebung vornimmt. Damit soll ermöglicht werden nach geometrischen Strukturen wie Flächen, Zylindern oder Kugeln zu suchen und für eine weitere Verarbeitung zugänglich gemacht werden. 1.3 Gliederung Diese Arbeit ist wie folgt gegliedert. Um einen Einblick in dieses Themenfeld zu geben, folgt dieser Einleitung eine Analyse (siehe [2]), die das zu lösende Problem mit seinen Teilproblemen aufzeigt. Diese Analyse führt zu der in dieser Arbeit erstellten Implementierung (siehe [3]) bzw. einer Möglichkeit zur Lösung des Problems. Es werden aber zunächst die genutzten Werkzeuge 1

10 1 Einleitung und Bibliotheken vorgestellt, gefolgt von theoretischen Grundlagen, die als Basis für die verwendeten Algorithmen und Datenstrukturen dienen. Abschließend folgt eine Diskussion der Lösung(siehe [4]) mit einer Zusammenfassung und einem Ausblick auf zukünftige Arbeiten. 2

11 2 Analyse Wie bereits zuvor in der Einleitung erwähnt ist das Sehen eine der wichtigsten Eigenschaften, wenn ein Roboter seine Umgebung wahrnehmen möchte. Das Sehen bietet die Möglichkeit die eigene Position in der Umgebung einzuordnen oder Hindernisse zu erkennen. Des Weiteren ermöglicht diese Eigenschaft nach Objekten oder Strukturen im Raum zu suchen. Im übrigen Teil dieses Kapitels werden Anforderungen, die für die Lösung der verschiedenen Unterprobleme nötig sind, im Detail analysiert. 2.1 Sensor Die Wahl des Sensors ist ausschlaggebend für die zu nutzenden Algorithmen und die Art der Weiterverarbeitung der Daten. Eine einzelne Kamera liefert Informationen im zweidimensionalen Raum. Jeder Punkt im Bild besteht aus zwei Zahlenangaben die seine Position beschreiben. Einen X und einen Y Wert, wie in Abbildung 2.1 dargestellt. 3

12 2 Analyse Abbildung 2.1: Anordnung der Bildpunkte in 2D Mit diesen Informationen gestaltet es sich schwierig Aussagen über eine dritte Dimension Z (die Tiefe) zu treffen. Erhöht man jedoch die Anzahl an Kameras auf zwei so können anhand der nun doppelt vorliegenden aber leicht versetzten zweidimensionalen Bildinformationen Schlüsse auf deren Entfernung zu den Kameras gezogen werden. Die Bestimmung der Tiefeninformationen wird als 2,5 - dimensional oder als Stereoskopie bezeichnet. [15] Die Abbildung 2.1 zeigt anhand der menschlichen Augen, wie aus zwei zweidimensionalen Bildern eine Aussage über die Entfernung zum Betrachter ermittelt werden kann. Die so erhaltene Distanz ist berechnet und daher kein tatsächlicher Tiefenwert. Abbildung 2.2: Distanzwahrnehmung mit 2 Augen / Kameras [17] 4

13 2 Analyse Um reale Tiefeninformationen zu erhalten wird ein 3D Sensor benötigt, dieser ermittelt mittels eines Infrarot- oder Laserverfahrens die tatsächliche Entfernung zum Sensor. Hierbei misst der Sensor die Zeit, die ein ausgesendeter Lichtstrahl benötigt, um wieder auf eine im Sensor befindliche Photozelle reflektiert werden. Dieses Verfahren wird in Abbildung 2.3 verdeutlicht. Laserscanner sind sehr kostenintensiv. Daher wurde für die Erstellung dieser Arbeit auf eine kostengünstigere Alternative in Form des Microsoft Kinect Sensors zurück gegriffen. Als Treiber wird der empfohlene OpenNI Treiber verwendet, da dieser sich als sehr praktikabel erwiesen hat. Abbildung 2.3: Funktionsweise eines Laserscanners [11] 2.2 Online und Offline Komponenten Aufgrund der großen Datenmengen und dem hohen Aufwand der Berechnungen die pro Bild auftreten, ist es aus Performanzgründen sinnvoll so viele Subkomponenten wie möglich vorzubereiten. Das Ziel dabei ist es die Berechnungszeit pro Bild zu verringern. Aus diesem Zusammenhang ergibt sich folgende Aufteilung in Online und Offline Komponenten. Offline Komponenten sind Arbeitsschritte, die nur einmalig beim Starten des Systems oder anlegen des Moduls ausgeführt werden müssen. Hierzu gehören Schritte, wie das Anlegen von Konstanten oder Datenstrukturen, die wieder verwendet werden können. Zu den Offline Komponenten nicht nur statische im Vorfeld definierte Komponenten zählen, sondern auch Konfigurationen und Parametrierungen, die zur Laufzeit, aber nicht während der einzelnen Bildberechnung, stattfinden. Online Komponenten hingegen sind Arbeitsschritte, die immer wieder ausgeführt werden müssen. Ein Beispiel ist die Verarbeitung von aktuellen Messdaten zur Laufzeit. 5

14 2 Analyse Offline Instanziierung der einzelnen Teilkomponenten Konfiguration der Filter Parametrierung der Algorithmen Bereitstellen von Speicher und Datenstrukturen Online Anwenden der Filter und Teilkomponenten Segmentieren der Szene Segmente für die Weiterverarbeitung aufbereiten Die Aufstellung legt zu Grunde, dass sich die Konfigurationen und Parameter während der Ausführung nicht ändern. Im realen Anwendungsfall ist es aber üblich, dass sich die Parameter ändern können. Ein Anwendungsbeispiel: Eine Tasse soll von einem Roboter in einem Raum gefunden werden. Hierzu ist es zunächst erforderlich den Raum nach möglichen Aufenthaltsorten zu untersuchen. Flächen wie Tische oder Arbeitsplatten haben eine hohe Wahrscheinlichkeit, dass sich die Tasse auf ihnen befindet. Der Raum wird also zunächst nach horizontalen Flächen segmentiert. Auf diese Weise reduziert sich die Datenmenge erheblich. Außerdem kann nun eine Positionsveränderung vorgenommen werden, falls die Sicht auf diese Fläche nicht Optimal für eine genauere Segmentierung ist. Für das konkrete Untersuchen der übrigen Daten auf einen Zylinder, da diese Form einer Tasse am nächsten kommt, müssen die Parameter der Segmentierung geändert werden. Nach erfolgreicher Segmentierung enthalten die übrigen Daten nur noch zylindrische Objekte und müssen nun anhand des zu suchenden Objekts genauer identifiziert werden. Merkmale hierfür sind z.b. die Farbe, die Größe oder der Durchmesser. Das Anwendungsbeispiel zeigt, dass die Suche nach spezifischen Objekten, wie einer Tasse, eigentlich aus zwei Suchanwendungen besteht, die Suche nach dem wahrscheinlichen Aufenthaltsort, wie einen Tisch oder eine Arbeitsfläche, und der tatsächlichen Suche nach dem Objekt, in Bezug auf das Anwendungsbeispiel einen Zylinder (Tasse). Um die anfallenden Datenmengen möglichst schnell noch weiter zu verringern empfiehlt es sich die Suche in 6

15 2 Analyse die genannten zwei Schritte aufzuteilen. Es ist daher möglich die Schritte zu optimieren und schneller zu einem Ergebnis zu kommen. 2.3 Zusammenfassung In Anbetracht der Analyse fällt die Wahl des Sensors auf einen 3D Sensor. Dieser beschreibt die Umgebung dreidimensional. Auf Grund von persönlichen Erfahrungen und den deutlich höheren Kosten für einen Laserscanner wird eine Microsoft Kinect verwendet. Aus Performanz Sicht wird die Applikation in zwei Phasen unterteilt. Eine Offline und eine Online Phase. Die Offline Phase initialisiert alle benötigten Teilkomponenten, wie Filter oder Strukturen, die von den Algorithmen verwendet werden. Des Weiteren werden die Konfigurationen und Parameter für die Online Phase festgelegt. Das Allozieren von Speicher nimmt viel Zeit in Anspruch, daher wird auch dieser Schritt in der Offline Phase vorgenommen. Die Online Phase bearbeitet alle Teilaufgaben, die für jedes Bild einzeln vorgenommen werden müssen. Diese Aufgaben umfassen das Vorverarbeiten der Daten mit Filtern und Algorithmen, die die Datenmenge reduzieren. Des Weiteren übernimmt diese Phase die Segmentierung der Daten anhand der zuvor gesetzten Parameter. Abschließend werden die Daten für eine weitere mögliche Weiterverarbeitung aufbereitet. Die Abbildung 2.4 zeigt das Zusammenspiel der beiden Phasen mit ihren Teilkomponenten. Abbildung 2.4: Übersicht über die Arbeitsphasen und Bearbeitung der Teilprobleme 7

16 Dieses Kapitel befasst sich mit den verwendeten Werkzeugen und Bibliotheken, sowie theoretischen Grundlagen für die Segmentierung. Dies führt zu den genutzten Datenstrukturen und Algorithmen. Daraus resultiert die tatsächliche Implementierung, sowie der Test der erstellten Applikation. Abschließend wird ein Abschnitt aufgeführt, der das verwenden dieser Arbeit in anderen Projekten erleichtern soll. 3.1 Werkzeuge und Bibliotheken Microsoft Kinect Sensor Der Microsoft Kinect Sensor ist ein vielseitiges Gerät, dass sich nicht nur für die Unterhaltungsindustrie eignet. Microsoft Kinect bietet neben einer Farbkamera unter anderem auch einen 3D Tiefensensor auf Infrarotbasis, der somit die Bildinformation um Tiefenwerte erweitern kann. Das so entstehende Tiefenbild hat eine Auflösung von 640 * 480 Pixel, daraus folgen maximal Bildpunkte für die weitere Verarbeitung bei einer Bildwiederholungsrate von 30 FPS (frames per second). Der Sensor erreicht die notwendige Präzision nur bei einer Distanz von Metern vor dem Sensor. Nähere Bildpunkte können von dem Sensor nicht erkannt werden, weiter entfernte sind nicht präzise genug, um für die Weiterverarbeitung genutzt zu werden. Die Abbildung 3.2 zeigt eine Szene aus dem Labor. Das obere Bild hat einen Fokus auf eine Tischplatte, auf der der Sensor steht etwa Meter vom Sensor entfernt. Auffällig ist hierbei, dass die Tischplatte hoch aufgelöst ist, hingegen der Hintergrund schon Abbildung 3.1: Microsoft Kinect for Windows[16] 8

17 deutlichen Genauigkeitsverlust aufweist. Die untere Abbildung zeigt die Szene mit Fokus auf den Hintergrund. Hierbei wird der Genauigkeitsverlust noch verdeutlicht. Der Hintergrund wird aufgrund der Ungenauigkeit des Sensors scheibenartig dargestellt und nicht wie erwartet als plane Fläche. Abbildung 3.2: Nahauflösung des Kinect Sensors(oben), Verlust der Genauigkeit erkennbar an der scheibenartigen Darstellung der Wand(unten) 9

18 3.1.2 Point Cloud Library (PCL) Abbildung 3.3: Logo Point Clound Library[10] Die Point Cloud Library (PCL) ist eine umfangreiche und offene C++ Bibliothek für 2D/3D Bild- und Punktwolkenverarbeitung. Die Bibliothek basiert großteils auf den Erkenntnissen von Radu Bogdan Rusu und Steve Cousins [14]. Das PCL Framework bietet eine große Zahl von Algorithmen für Anwendungsbereiche wie: Filterung, Merkmalsextraktion, Flächenrekonstruktion und Segmentierung. Beispiele für diese Anwendungsbeireiche sind die Filterung von Störungen aus einem 3D Tiefenbild, Segmentierung relevanter Bereiche aus einer gegebenen Szene oder die Visualisierung von 3D Punktdaten. Die PCL ist unter der "3-clause BSD license"[7] veröffentlicht, welche die freie Nutzung für wissenschaftliche und kommerzielle Verwendung sichert. Die Abbildung 3.4 zeigt eine Übersicht über die von der PCL mitgelieferten Module und deren Abhängigkeiten. Des Weiteres bietet die PCL eine Vielzahl an Möglichkeiten 3D Punkte zu repräsentieren. In dieser Arbeit werden einige dieser Repräsentierungen genutzt, um die 3D Daten einfacher handhaben zu können. Die Punktinformationen werden über das ïo - Modul eingelesen und überwiegend in den Modulen f ilters, segmentation und den darunter liegenden Modulen verarbeitet (vgl. Abbildung 3.4). Für die grafische Darstellung zur Laufzeit wird das visualization - Modul genutzt. Dieses Modul bietet eine eine Auswahl an Werkzeugen, die in der selbst erstellten Klasse SimpleGrabber zu einem komfortablen Anzeigetool zusammen gefasst sind. 3.2 Theoretische Grundlagen für die Segmentierung In dem folgenden Kapitel werden die in dieser Arbeit verwendeten Algorithmen genauer erläutert. Hierfür sind aber einige theoretische Grundlagen nötig, die in diesem Kapitel beschrieben werden. 10

19 Abbildung 3.4: PCL Abhängigkeiten[1] Methode der kleinsten Fehlerquadrate Die Methode der kleinsten Fehlerquadrate ist ein mathematisches Verfahren zur Ausgleichsrechnung. Es wird genutzt um Kurvenparameter α so zu bestimmen, dass die Summe der quadratischen Distanz der tatsächlichen Punkte y i von der Kurvenfunktion f(x i ) minimal ist. Diese Methode wurde von Carl Friedrich Gauss in Äbhandlung zur Methode der Kleinsten Quadrate"beschrieben [5]. Daraus ergibt sich folgende Definition für die Parameter α: für die Kurvenfunktion f(x i ): α = (a 1, a 2, a 3, a 4,..., a n ) R n f = f(x 1, α), f(x 2, α), f(x 3, α),...f(x m, α) R m Es resultiert die Formelschreibweise für die minimalen kleinsten Fehlerquadrate: Zufallsvariable min( n i=1 (f(x i, α) y i ) 2 ) Aus einem Zufallsvorgang entsteht eine Zufallsvariable bspw. dadurch, dass jedem Ergebnis des Zufallsvorganges eine reelle Zahl zugeordnet wird (z.b. Anzahl der Augen beim zweifachen Würfelwurf, Summe der täglichen Verkäufe eines Produkts in einer Woche). - Prof. Dr. Udo Kamps [8] 11

20 3.2.3 Kovarianz Die Kovarianz [9] beschreibt die Stärke des linearen Zusammenhangs zwischen zwei Zufallsvariablen. Seien x i und y i mit i = 1,..., n, die beobachteten Wertepaare der zwei Zufallsvariablen, so ist deren Kovarianz definiert durch Cov(xy) = 1 n (xi x)(y i ȳ) wobei x und ȳ die arithmetischen Mittel der Zufallsvariablen sind Kovarianzmatrix Die Kovarianzmatrix [18] wird benötigt um nicht nur eine Aussage über ein einzelnes Wertepaar, sondern über alle Kovarianzen eines Zufallsvektors zu treffen. Hierbei werden auch Informationen über Streuung innerhalb des Zufallsvektors und die Wechselwirkung der einzelnen Elemente zueinander berücksichtigt. X = X 1,..., X n sei ein Zufallsvektor, somit ist die zugehörige Kovarianzmatrix definiert als Cov(X 1, X 1 )... Cov(X 1, X n ) Cov( X) = (Cov(X i, X j )) ij =..... R Cov(X n )... Cov(X n, X n ) 3.3 Datenstrukturen und Algorithmen Dieses Kapitel behandelt Datenstrukturen und Algorithmen, die in dieser Arbeit verwendet werden. Eine detaillierte Dokumentation zu den zusätzlich vorhandenen Methoden ist in der Doxygen Dokumentation der PCL zu finden [2] Point P oint ist die grundlegende Bezeichnung für alle Punkte, die in der PCL verwendet werden. Der simpelste dieser Punkte ist der P ointxy Z, der einen Punkt in einer 3 Achsen (X-, Y-, Z-Achse) Darstellung repräsentiert. Eine erweiterte Datenstruktur ist der P ointxy ZRGBA, der in weiten Teilen dieser Arbeit Verwendung findet. Der P ointxy ZRGBA ergänzt den P ointxy Z um einen 32 Bit Wert, der in die Farbanteile r (rot), g(grün), b(blau) und einen Alphakanal a unterteilt ist. Alle in der PCL verfügbaren Punkttypen sind in der point_types.hpp Datei definiert. Des Weiteren bietet die PCL die Möglichkeit eigene Punkttypen zu definieren und zu nutzen. 12

21 3.3.2 Point Cloud<PointType> Der Datentyp P ointcloud fasst Punkte zu einer Struktur zusammen und kann daher mit allen Punkttypen aus der point_types.hpp umgehen. Diese Struktur kann geordnet werden. Ein einfaches Beispiel hierfür ist das Ordnen in Zeilen und Spalten. Hierbei werden die Punkte nach einer vorher definierten Spaltenbreite einsortiert. Diese Sortierung erzielt bei Suchoperationen erheblich schneller Ergebnisse als gleich große unsortierte P ointclouds. Werden vom Sensor unbrauchbare Werte geliefert, so werden sie in der P ointcloud als NaN(Not a Number) definiert. 1 #.PCD v0.7 - Point Cloud Data file format 2 VERSION FIELDS x y z rgba 4 SIZE TYPE F F F U 6 COUNT WIDTH HEIGHT VIEWPOINT POINTS DATA ascii nan nan nan Listing 3.1: Beispiel einer Point Cloud in einem PCD - File Point Indices / Index Extraktion Filter P ointindices beschreibt eine Liste von Indizes aus einer Punktwolke, die zum Beispiel durch einen Suchalgorithmus als inliers (dazu gehörig) markiert wurden. Diese Datenstruktur macht es zusammen mit einem Extraktionsfilter, wie ExtractIndices < P ointt ype >, sehr komfortabel berechnete Punkte aus einer P ointcloud zu entfernen oder sie weiter zu verarbeiten. Das folgende Codebeispiel zeigt, wie mit nur wenigen Zeilen Inliers aus einer vorhanden P ointcloud extrahiert werden können. 1 // Erzeugen des Extraktionsfilters 13

22 2 pcl::extractindices<pcl::pointxyz> extract; 3 4 // Zielwolke für die Extraktion festlegen 5 extract.setinputcloud(cloud_filtered); 6 // Indizes für die Extraktion angeben 7 extract.setindices(inliers); 8 // extrahieren unter Angabe der Ausgangswolke 9 extract.filter(*cloud_p); Listing 3.2: Extraktion von Punkten aus einer P ointcloud Passthrogh Filter Der Bandpassfilter wird genutzt um die Menge an Punkten erheblich einzuschränken. Diese Einschränkungen können sowohl in X, Y, als auch in Z Richtung vorgenommen werden, jeweils für ein Maximum und ein Minimum. Überschreitet zum Beispiel ein Punkt mit seinem X-Wert das eingestellte Maximum in X-Richtung so wird er aus der P ointcloud entfernt. Gleiches gilt für die anderen Richtungen und das unterschreiten des Minimums. Die Vorverarbeitung mit diesem Filter ist sehr effektiv, um die Rohdaten des Sensors auf einen Bruchteil zu verringern. Die Reduktion ist abhängig von den im Durchlassbereich liegenden Daten. So ist es sinnvoll unbrauchbare oder ungenaue Werte im Vorfeld mit dem Bandpassfilter zu entfernen, um die Ausführungszeit der folgenden Arbeitsschritte signifikant zu verringern. Die folgende Abbildung 3.5 zeigt eine Szene in Rohdaten und nachdem der Bandpassfilter angewendet wurde, zusammen mit der jeweiligen Anzahl an Punktdaten. 14

23 Abbildung 3.5: Szene in Rohdaten(oben) und nach Bandpassfilterung(unten) in Z - Richtung (0m - 1m) Voxelgrid Filter Der V oxelgridf ilter unterteilt die Szene in ein Raster aus V oxel einer festen Größe. Ein V oxel ist ein dreidimensionaler Körper im Raum. Alle innerhalb eines V oxel liegenden Punkte werden zu einem im Zentrum des V oxel liegenden Punkt zusammen gefasst. Dieser Filter reduziert die Menge an Punkten zusätzlich und drastisch. Daraus folgt, dass die Auflösung der Punktwolke je nach Größe der V oxel abnimmt. Je größer die V oxel, je geringer die Auflösung. Die Abbildung 3.6 zeigt eine Szene in Rohdaten und die Anwendung eines V oxelgridf ilters mit einem 1cm 3 und 5cm 3 großem Voxel. 15

24 3 Implementierung Abbildung 3.6: Szene in Rohdaten(oben), nach Voxelfilterung 1cm3 (mitte), nach Voxelfilterung 5cm3 (unten) 16

25 3.3.6 K-D Tree Ein K - dimensionaler Baum teilt einen definierten Raum in einer hierarchischen Struktur. Jede Linie spaltet den Raum in zwei gleich Große Unterräume auf. Punkte die kleiner sind als der Trennwert werden auf die linke Seite sortiert, größere Punkte auf die rechte Seite. Dieses Verfahren kann für alle Ebenen und Dimensionen rekursiv angewendet werden. Diese Struktur ist äußerst Effektiv für Suchoperationen wie nearestneighborhood oder ähnliche Umgebungssuch Operationen. In dieser Arbeit wird der K-D Baum für die normalestimation genutzt. Die Abbildung 3.7 zeigt ein einfaches Beispiel für das Aufteilen eines dreidimensionalen Raumes nach dem K-D Tree Verfahren. Abbildung 3.7: dreidimensionaler K-D Baum [4] Normal Estimation Die Normal Estimation Methode ist ein Verfahren für die Bestimmung von zusammenhängenden Flächen. Die PCL beinhaltet eine konkrete Implementierung dieser Methode die Radu Bogdan Rusu in seiner Doktorarbeit Semantic 3D Object Maps for Everyday Manipulation in Human Living Environments [[13], Kapitel 4] genauer beschreibt. Die Lösung dieser Normalen Vektoren wird errechnet anhand von Eigenvektoren und der Kovarianzmatrix der Eigenwerte, bestimmt aus den k nearest nighboors(vgl. K-D Tree). Das folgende Codebeispiel zeigt die Berechnungsschritte der Normal Estimation in Pseudocode [3]. 1 for each point p in cloud P 2 1. get the nearest neighbors of p 3 2. compute the surface normal n of p 4 3. check if n is consistently oriented towards the viewpoint 17

26 5 and flip otherwise Listing 3.3: Normal Estimation Algorithmus in Pseudocode Random Sample Consensus Der Random Sample Consensus (RanSaC) ist ein Algorithmus zur Schätzung eines Modells innerhalb einer Menge von Messwerten mit Störungen. Hierfür wird eine zufällige Menge von potentiellen Treffern,Inliers, genommen und erneut getestet. Hierbei wird für jede gewählte Menge anhand der Modells eine Bewertung vorgenommen. Dieser Vorgang wird solange durchgeführt bis eine vorab definierte Anzahl an Wiederholungen erreicht ist. Abschließend werden alle gefundenen Mengen anhand ihrer Bewertungen verglichen und die beste Übereinstimmung mit dem Modell gewählt. Der RanSaC Algorithmus basiert auf dem Ausgleichsverfahren der kleinsten Fehlerquadrate. Die genaue Funktionsweise in der PCL ist von Rusu[[13], Kapitel 6] beschrieben. In dieser Arbeit wird der RanSaC Algorithmus genutzt, um in einer Punktwolke nach ihrer Vorverarbeitung das gesuchte Modell zu finden. 3.4 Lösung Dieser Abschnitt befasst sich mit der Tatsächlichen Implementierung in der erstellten Applikation. Hierbei wird auf die Erkenntnisse die in Kapitel 2 gewonnen wurden Bezug genommen. Aus der Analyse geht hervor, dass es aus Performanzgründen sinnvoll ist die Applikation in zwei Phasen zu teilen. Eine Online und eine Offline Phase. Die Abbildung 3.8 gibt einen ersten Überblick über die Applikation, welche in einer Klasse zusammen gefasst werden konnte. Die Abbildung zeigt die verschiedenen Parameter und Einstellungen, die für die Vorverarbeitung und die weiteren Verarbeitungsschritte vorgenommen werden können. Des Weiteren ist erkennbar, dass zwei Methoden für die Segmentierung bereitgestellt werden. Der Grund hierfür ist, dass für die Segmentierung von Modellen wie Zylindern oder Kugeln eine andere Vorverarbeitung gewählt werden muss, als für die Segmentierung von Ebenen und Flächen. Je nach Größe der Fläche können andere Optimierungsmechanismen ausgenutzt werden. Eine detaillierte Beschreibung dieser Methoden folgt im Abschnitt Die Einstellmöglichkeiten werden in genauer beschrieben. Das einbinden in andere Arbeiten und Projekte ist unter Verwenden in anderen Projekten (3.6) zu finden. 18

27 Abbildung 3.8: Überblick über die Methoden und Parameter der Applikation Implementierung der Online Phase Die Online Phase der Anwendung besteht aus den zwei bereit gestellten Methoden modelsegmentation() und planesegmentation(). Vergleicht man dies mit der Analyse in Abschnitt 2.2 stellt man fest, dass neben der eigentlichen Segmentierung auch noch das Vorverarbeiten der Bilder eine der wesentlichen Aufgaben dieser Phase ist. In der Entwicklungsphase dieser Anwendung zeigte sich, dass es sinnvoll ist die zu verwendenden Filter und Vorverarbeitungen je nach zu suchenden Objekt zu variieren. Somit ergibt sich eine Aufteilung der Segmentierungsmethoden in eine auf die Ebenensuche optimierte Methode und eine die für die Suche nach komplexerer Objekten, wie Kugeln oder Zylinder angepasst wurde. Der folgende Abschnitt befasst sich mit der genauen Implementierung dieser Methoden. Suche nach Ebenen mit planesegmentaion(inputcloud, outputcloud) Eine Ebene ist im Vergleich zu anderen geometrischen Objekten im dreidimensionalem Raum weniger Komplex. Es müssen keine Wölbungen oder Radien ermittelt werden, sondern nur eine zusammenhängende glatte Fläche. Die geringere Komplexität erlaubt es, dass eine geringere Auflösung der 3D Daten genutzt werden kann und trotzdem das gewünschte Ergebnis erzielt 19

28 werden kann. Die Abbildung 3.9 zeigt die Segmentierung einer Tischplatte. Auf der linken Abbildung wurde nur die Segmentierung ohne Optimierungen für Ebenen verwendet. Die rechte Abbildung nutzt Optimierungen und eine geringere Auflösung, um die gleiche Ebene in kürzerer Zeit zu finden. Abbildung 3.9: Segmentierungsergibnis mit Originaldaten (links) und Ergebnis nach optimierter Suche mit geringerer Auflösung Unter Berücksichtigung dieser Aspekte ergibt sich folgender Ablauf für die Segmentierung von Ebenen. Die Abbildung 3.10 zeigt die implementierte Herangehensweise in der Methode planesegmentation(). Die in der InputCloud bereit gestellten Eingangsdaten werden zunächst mit einer Reihe von Filtern vor verarbeitet. Somit kann die Eingangsdatenmenge erheblich reduziert werden. Die sehr zeitaufwendige Segmentierung wird somit auf deutlich weniger Daten ausgeführt. Auf diese Weise kann Zeit eingespart werden. 20

29 Abbildung 3.10: Sequenz der Methode planesegmentation() Die folgende Auflistung beschreibt die einzelnen Schritte die für die Segmentierung von Ebenen vorgenommen werden. pcl::passthrough Wie bereits in Abschnitt erläutert wird der Bandpassfilter verwendet, um die Rohdaten von ungenauen Werten, die der Sensor in größeren Entfernungen liefert, zu entfernen. Zu diesem Zweck wird der Filter auf ein Filterintervall von [0,1] in Z Richtung eingestellt. Die X und Y Richtung werden nicht gefiltert. Somit werden alle Punkte, die sich weiter als einen Meter vor dem Sensor befinden entfernt (vgl. 3.5). pcl::voxelgrid Die zusätzliche Filterung der aus dem Bandpass resultierenden Daten mit einem VoxelGrid Filter reduziert die Datenmenge noch weiter. Somit sind für die weiteren 21

30 Verarbeitungsschritte weniger Daten zu beachten und sind damit schneller als ohne Voxelfilterung. pcl::normalestimation Dieser Schritt ist notwendig, um zusammenhängende Flächen mit ihren Normalen zu bestimmen. Diese Informationen werden im nächsten Schritt für die Bestimmung der Ebene verwendet. pcl::sacsegmentationformnormals Für die Implementierung des RanSaC Algorithmus wird auf eine vorhandene Lösung aus der PCL zurückgegriffen. Wichtig ist hierbei, dass die PCL über verschiedene Implementierung von Sample Consensus Methoden verfügt. Für diese Arbeit wurde aber ausschließlich der Random Sample Consensus (RanSaC) genutzt. In Abbildung 3.10 ist erkennbar, dass dieser Aufruf wiederholt ausgeführt wird. Die Iterationsschritte, die der RanSaC Algorithmus benötigt werden innerhalb des Ausrufs durchgeführt. In der Abbildung soll lediglich verdeutlicht werden, dass an dieser Stelle mehrere Schritte abgearbeitet und wiederholt werden. pcl::extractindicies Ist die Berechnung des RanSaC Algorithmus abgeschlossen so liefert der Methodenaufruf eine Liste zurück. Diese Liste beinhaltet alle vom Algorithmus gefundenen Indizes der Punkte, die zu dem gesuchten Objekt, in diesem Fall der Ebene, gehören. Abschließend werden diese Indizes dazu genutzt die gesuchten Punkte aus der Datenmenge zu extrahieren und in die für die Ausgabe vorgesehene Punktwolke outputcloud geschrieben. Suche nach Objekten mit modelsegmentation(inputcloud, outputcloud, model) Die Suche nach komplexeren geometrischen Objekte erfordert aufwendigere Arbeitsschritte. Es müssen mehr Parameter in Betracht gezogen werden, als bei der Suche nach Ebenen. Beispielsweise ist es ein Unterschied, ob das Objekt Rundungen aufweist. Eine solche Eigenschaft kann vielfältige Ausprägungen haben. Ist ein Objekt gleichmäßig gebogen, so kann es sich dabei um einen Zylinder handeln. Sind diese Wölbungen an einer Seite des Objekts größer oder geringer, so handelt es sich bei dem Objekt um einen Kegel, oder gar einen Kegelstumpf. Des Weiteren muss auch in Objekte wie Kugeln unterschieden werden. Die Abbildung 3.11 zeigt die implementierte Sequenz zur Identifikation geometrischer Objekte, die nicht Ebenen sind. Auffällig ist hierbei, dass nach der Vorverarbeitung zunächst eine Suche nach einer Ebene durchgeführt wird. Die Begründung hierfür lässt sich aus dem Abschnitt 2 Analyse ableiten. In dem genannten Abschnitt wird davon ausgegangen, dass sich das zu 22

31 Abbildung 3.11: Sequenz der Methode planesegmentation() 23

32 suchende Objekt auf einem Tisch oder einer Arbeitsplatte also einer Ebene befinden muss. Ist dies der Fall, so wird diese Ebene im Vorfeld entfernt, um die zu untersuchende Datenmenge noch weiter zu reduzieren. Sollte dies nicht der Fall sein, so kann dieser Schritt, mittels der Methode modelsegmentationskipplane(boolean), übersprungen werden. Im Vergleich zur Segmentierung einer Ebene kann in diesem Fall kein Voxelgrid Filter genutzt werden. Die dadurch entstehende geringere Auflösung der Daten reicht bereits bei kleinen Voxeln (1cm 3 oder kleiner) aus damit die Segmentierung keine gültigen Ergebnisse liefern kann. Aus diesem Grund wird in dieser Methode auf einen Voxelgrid Filter bewusst verzichtet. In der folgenden Auflistung werden die für die Objektsegmentierung nötigen Schritte genauer erläutert. pcl::passthrough siehe Suche nach Ebenen mit planesegmentaion(inputcloud, output- Cloud). pcl::normalestimation siehe Suche nach Ebenen mit planesegmentaion(inputcloud, outputcloud). pcl::sacsegmentationfromnormals(plane) Dieser Segmentierungsschritt verfolgt nicht wie Abschnitt die Absicht eine Ebene genau zu definieren. Hierbei handelt es sich lediglich um eine Methode die Datenmenge weiter zu verringern, um in der eigentlichen Objektsuche Zeit zu sparen. Wie zuvor liefert der Aufruf eine Liste mit Indizes zurück, die die Punkte beschreibt, die sich in der Ebene befinden. pcl::extractindices Konnte eine Ebene gefunden werden, so wird diese anhand ihrer aus dem vorherigen Schritt ermittelten Indizes entfernt. pcl::sacsegmentationfromnormals(model) Nachdem alle Vorverarbeitungsschritte abgeschlossen sind kann nun das eigentliche Objekt aus der Punktmenge segmentiert werden. Hier zu müssen die Parameter der pcl::sacsegmentationfromnormals() angepasst werden. Es ist darauf zu achten, dass bei der Suche nach Objekten, die einen Radius besitzen, dieser auch korrekt parametriert wird. Beispielobjekte hierfür sind Kugeln oder Zylinder. Ein Fehlen dieser Einstellung kann dafür sorgen, dass Reststörungen oder ähnliches, die nicht von der Vorverarbeitung entfernt werden konnten als Objekt identifiziert werden. Das Ergebnis ist damit unbrauchbar. Für die Konfigurierung siehe Implementierung der Offline Phase. pcl::extractindices Konnte in der übrigen Punktwolke das gesuchte Objekt identifiziert werden, so werden die zugehörigen Punkte anhand der aus dem vorher gegangenen 24

33 Schritt bestimmten Liste extrahiert. Konnte das Objekt nicht gefunden werden, so ist diese Liste leer. Die Ausgabe (outputcloud) ist damit auch leer und es wird ein Fehlerwert zurück geliefert Nach erfolgreicher Identifikation liegt das gesuchte Objekt in der outputcloud vor und kann in weiteren Schritten verwendet werden. Die Abbildung 3.12 zeigt eine Szene und das Ergebnis der Segmentierung (Suche nach einem Zylinder). Auffällig ist hierbei, dass das gesuchte Objekt (Kaffeebecher) trotz, dass es sich dabei um keinen optimalen Zylinder handelt, als solcher erkannt wird. Dies ist damit zu Begründen, dass die verwendete Toleranz so gewählt wurde, dass diese Abweichungen mit einbezogen werden. 25

34 3 Implementierung Abbildung 3.12: Erfolgreiche Segmentierung eines Zylinders aus einer Szene Implementierung der Offline Phase Aus der Analyse geht hervor, dass in dieser Phase alle Schritte vorgenommen werden müssen, die nur einmalig ausgeführt werden. Dazu gehört die Instanziierung der einzelnen Teilkomponenten, das Parametrieren und Konfigurieren dieser Komponenten. Des Weiteren muss das 26

35 sehr zeitintensive Bereitstellen der Ressourcen wie Speicher und Datenstrukturen erfolgen. Im Folgenden wird auf die genaue Implementierung dieser Schritte eingegangen: Instantiieren der Teilkomponenten Sobald ein Objekt der Klasse Segmentation erstellt wird übernimmt der default Konstruktor das Anlegen aller Teilkomponenten, die für die Segmentierung benötigt werden. Dazu gehören die pcl - Elemente: Passthroughfilter Voxelgridfilter NormalEstimation ExtractIndices KdTree SACSegmentation Konfigurieren der Komponenten Für das Konfigurieren der einzelnen Komponenten sind Methoden bereit gestellt. Diese Einstellungen sind notwendig um die verwendeten Filter und Algorithmen an die Umgebung anzupassen. Es folgt eine Auflistung der Methoden, die für die Konfiguration genutzt werden mit einer detaillierten Beschreibung ihrer Funktion. void setpassthorughlimits(float min, float max) setzt die Grenzen des Bandpassfilters. In dieser Arbeit ist die Standardverwendung des Filters in Z Richtung, also der Bereich vor dem Sensor. Die übergebenen Werte min und max sind die Grenzangaben für den Filter in Metern. Somit entfernt ein Bandpass mit den (min, max) Werten (0.00, 1.00) alle Bildpunkte, die weiter als 1 Meter von dem Sensor entfernt sind. (vgl ) setvoxelleafsize(float leafsize) setzt die Kantenlänge der für die Voxelfilterung. Diese Länge gibt an, in welchen Umfang Bildpunkte zusammen gefasst werden sollen. Der Übergabeparameter wird in Metern angegeben. Ein Aufruf mit 0.01 bedeutet also, dass die dreidimensionalen Bildpunkte in 1cm 3 große Würfel zusammen gefasst werden in deren Zentrum sich der repräsentierende Voxel befindet.(vgl ) 27

36 setransacplanethreshold(float threshold) / setransacmodelthreshold(float threshold) setzt die Toleranz, die der RanSaC Algorithmus als Abweichung vom zu suchenden Objekt akzeptieren soll. Eine gewisse Abweichung ist aufgrund von Rauschen nicht vermeidbar. Der Übergabeparameter ist auch hier in Metern anzugeben. setransacplaneiterations(int iterations) / setransacmodeliterations(int iterations) setzt ein Limit für die Anzahl an Iterationen die der RanSaC Algorithmus durchführt (Vgl ). Auffällig ist hierbei, dass mehr Iterationen nicht zwingend bessere Ergebnisse liefern. setransacmodelradius(float min, float max) setzt einen minimalen und maximalen Radius für die Suche nach Objekten mit Radius, wie zum Beispiel Zylinder oder Kugeln. Die Angabe der Übergabeparameter erfolgt in Metern. Ein Aufrufen mit den (min, max) Werten (0.10, 0.50) und einer Suche nach Zylindern würde nur zylindrische Objekte mit einem Radius zwischen 10 und 50 Zentimetern liefern. Bereitstellen von Speicher und Datenstrukturen Für das Verwenden der Segmentierungen müssen Datenstrukturen angelegt und bereit gestellt werden. Zunächst muss die zu untersuchende Szene in Form einer pcl::pointcloud vorliegen. Ein Pointer (pcl::pointcloud::constptr) auf diese Punktwolke wird dann später in der Online Phase an die Segmentierungsfunktionen übergeben und dient als Input. Für das Resultat aus der Segmentierung muss eine leere pcl::pointcloud vorliegen. Diese wird während der Verarbeitung durch die Klasse befüllt. Ein Pointer(pcl::PointCloud::Ptr) auf diese Ausgabewolke muss in der Online Phase an die Methode übergeben werden. Soll ein Modell, wie zum Beispiel ein Zylinder oder eine Kugel gesucht werden muss außerdem in der Online Phase das entsprechende Modell an die Methode übergeben werden. Die Modelle sind über das Inkludieren der Datei model_types.h zu finden. 1 #include <pcl/sample_consensus/model_types.h> Listing 3.4: Einbinden der Modelle In dieser Datei befinden sich Parametermodelle die von dem RanSaC Algorithmus für die Segmentierung verwendet werden, wie zum Beispiel Zylinder, Kugel, oder Kegel. Diese Modelle sind als Enums repräsentiert, die wiederum angeben wie viele Punkte für die Bestimmung des Modells benötigt werden. 28

37 1 pcl::sacmodel_sphere // Parametermodell einer Kugel 2 pcl::sacmodel_cylinder // Parametermodell eines Zylinders Listing 3.5: Beispiele für Modelle Ein Beispiel: Für die Beschreibung einer Ebene sind drei Punkte notwendig [12]. Die Abbildung 3.13 zeigt eine beispielhafte Anordnung der Punkte p, r und q, die eine Ebene in R 3 beschreibt. Mathematisch ist diese Ebene wie folgt definiert: Seien p, r und q Ortsvektoren und drei Punkte einer Ebene. Daraus folgt für die Beschreibung der Ebene E E = p + a( q p + b( r p)) mit s, t R Abbildung 3.13: Ebene dargestellt in Dreipunkteform [6] 3.5 Evaluierung In diesem Abschnitt werden die erreichten Ergebnisse präsentiert. Hierzu werden zunächst die Ergebnisse vorgestellt und diskutiert. Im darauf folgenden Abschnitt werden die benötigten Berechnungszeiten der einzelnen Teilmodule aufgeführt und genauer analysiert. Diese Daten bilden die Grundlage für die Weiterentwicklung und weiteren Verbesserung dieser Lösung in folgenden Arbeiten. 29

38 3 Implementierung Ebenensegmentierung Die Ebenensegmentierung ist der Verarbeitungsschritt, der den Raum zunächst grob vorsortieren soll. Hierzu ist es wichtig, dass dieser Schritt nur wenig Zeit in Anspruch nimmt, aber auch robust und zuverlässig agiert. Die folgende Abbildung 3.14 ziegt eine Beispielszene für die Segmentierung von Ebenen. Dieses einfache Beispiel soll zunächst die Funktionsfähigkeit der Methode demonstrieren. Es folgen noch weitere Anwendungsbeispiele mit komplexeren Szenen. Abbildung 3.14: einfache Beispielszene für die Segmentierung von Ebenen Das Resultat dieser Segmentierung ist zuverlässig und ist reproduzierbar. Die folgende Abbildung zeigt das Resultat der Segmentierung einer Ebene aus der Szene in Abbildung Die folgenden Parameter wurde für diese Segmentierung gewählt: PassThroughLimits 0, 1 VoxelLeafSize 0.05f RansacPlaneThreshold 0.001f RansacPlaneIterations

39 Abbildung 3.15: Ergebnis der Segmentierung aus Szene 3.14 Dieses einfache Beispiel ist in der Realität selten anzutreffen. Hinzukommt, dass Ebenen meist mit weiteren Gegenständen besetzt sind. Das folgende Beispiel zeigt eine Ebene, auf der übliche Objekte platziert wurden. 31

40 3 Implementierung Abbildung 3.16: Komplexe Szene für die Segmentierung von Ebenen Die Darstellung des Ergebnisses zeigt die erfolgreiche Segmentierung der Ebene trotz Störeinflüssen auf der Ebene. Auffällig ist hierbei, dass die Schatten dieser Objekte in der segmentierten Ebene zu sehen sind. 32

41 Abbildung 3.17: Ergebniswolke der Segmentierung aus Abbildung 3.16 Eine weiteres denkbares Szenario für die Ebenensegmentierung ist, dass sich ein weiteres Objekt mit großen Flächen im Bild befindet und somit als enormer Störfaktor wirkt. Das folgende Beispiel zeigt eine solche Situation. Der Aufbau wird in Abbildung 3.18 verdeutlicht. 33

42 3 Implementierung Abbildung 3.18: Komplexer Versuchsaufbau für die Ebenensegmentierung Das Resultat dieser Segmentierung erscheint nicht wie erwartet. Die Segmentierung liefert sowohl die Ebene als auch die große Fläche direkt vor dem Sensor Der Grund für dieses Fehlverhalten ist nicht eindeutig zu bestimmen. Eine Vermutung ist jedoch, dass die Suche nach zusammenhängenden Fläche in Kombination mit dem geneigten Sensor dazu führt, dass die Änderung des Normalenwinkels vernachlässigt wird. Diese Vermutung kann weiter bekräftigt werden, denn sobald sich der Winkel des Kartons ändert werden die Ebenen wieder korrekt erkannt. 34

43 Abbildung 3.19: Ergebniswolke der Segmentierung aus Abbildung 3.18 Nachdem Ebenen erfolgreich segmentiert werden können besteht der nächste Schritt komplexere geometrische Objekte, wie Kugeln oder Zylinder zu segmentieren Objektsegmentierung Die Aufgabe der Objektsegmentierung ist es das gesuchte Objekt innerhalb der vorgegebenen Szene zu identifizieren. Die folgenden Bespiele zeigen jeweils eine Szene und dessen Segmentierungsergebnis. Für diese Segmentierungen wurden folgende Parameter verwendet. PassThroughLimits 0, 1 RansacPlaneThreshold 0.03f RansacPlaneIterations 100 RansacModelThreshold 0.005f RansacModelRadius [0, 0.1f] RansacModelIterations

44 3 Implementierung modelsegmentationskipplane false Das erste Testszenario wird in Abbildung 3.20 dargestellt. Die Abbildung zeigt einen Kaffeebecher, der sich auf einer Tischplatte befindet. Für die Segmentierung wird pcl::sacmodel_cylinder als Parameter für die Suche nach zylindrischen Objekten gewählt. Abbildung 3.20: Einfache Beispielszene für die Segmentierung von Zylindern Das Ergebnis der Segmentierung zeigt den gesuchten Kaffeebecher als 3D Punktwolke. Wichtig ist hierbei zu erwähnen, dass dieser Aufruf nicht so robust agiert wie es in der Ebenensegmentierung der Fall war. Der Grund hierfür ist, dass der RanSaC Algorithmus auf Zufallswerten basiert und es somit vorkommen kann, dass trotz vieler Iterationen kein passendes Ergebnis gefunden werden kann. 36

45 Abbildung 3.21: Erfolgreiche Segmentierung der der Szene aus Abbildung 3.20 Sollte diese Segmentierung bei einigen der vorliegenden Bildern nicht erfolgreich sein, so meldet dies die PCL von sich aus über eine Ausgabe in STD::ERROR. Die Abbildung zeigt einen Auszug aus der Konsole, die diesen Fehlerfall enthält. Abbildung 3.22: Fehlerausgabe der PCL in der Konsole bei nicht erfolgreicher Segmentierung Ein weiterer Testfall ist die Segmentierung in einer Szene mit mehreren ähnlich aussehenden Objekten. Die Abbildung 3.23 zeigt mehrere zylindrische Objekte die nebeneinander platziert wurden. Das Soll-Verhalten der Anwendung ist es, je nach Parametereinstellung unterschiedliche Objekte zu erkennen. 37

46 3 Implementierung Abbildung 3.23: Komplexe Szene für die Segmentierung von Zylindern Mit den oben gewählten Parametern erfolgt eine Segmentierung wie in dem Beispiel zuvor. Die Abbildung 3.24 zeigt das Ergebnis der Segmentierung mit den gewählten Parametern. Abbildung 3.24: Ergebnis der Segmentierung mit genannten Parametern Für die Erkennung eines anderen Objektes, wie zum Beispiel der Tasse, müssen die Parameter angepasst werden. Die wichtigste Veränderung der Parameter ist der Radius des zu 38

47 suchenden Objektes. Für diese Einstellung sind Informationen über das Objekt nötig. Der Durchmesser der Kaffeetasse beträgt etwa 7cm daraus resultiert ein Radius von 3, 5cm, somit kann der Parameter RansacModelRadius unter Berücksichtigung von Toleranzen auf die Werte [0.0f, 0.04f] angepasst werden. Die Abbildung 3.25 zeigt das Ergebnis der Segmentierung mit geänderten Parametern. Abbildung 3.25: Ergebnis der Segmentierung mit geänderten Parametern Wichtig hierbei ist, dass die Segmentierung nur die Zylindereigenschaften des Objektes berücksichtigt. Daher werden abstehende Elemente, wie zum Beispiel der Henkel der Tasse nicht erkannt. Ein weiterer Anwendungsfall ist die Segmentierung von Kugeln und ähnlichen Objekten. Ein Beispiel für diese Segmentierung wird im Abschnitt 3.6 genauer beschrieben Zeitverhalten In diesem Abschnitt wird das Zeitverhalten der einzelnen Segmentierungen und ihrer Teilarbeitsschritte betrachtet. Wichtig hierbei ist zu erwähnen, dass sich die gemessenen Werte in einer Pipeline Struktur befinden. Das hat zur Folge, dass das Ergebnis der Bandpassfilterung einen direkten Einfluss auf die darauf folgenden Arbeitsschritte hat. Liefert der Bandpass weniger Werte zurück, so ist auch der Voxelfilter schneller. 39

48 Zeitverhalten der Ebenensegmentierung Die Abbildung 3.26 zeigt das Zeitverhalten der Ebenensegmentierung in gemittelten Werten von 3000 Aufrufen. Für die Messung dieser Werte wurden folgende Parameter genutzt. PassThroughLimits 0, 1 VoxelLeafSize 0.05f RansacPlaneThreshold 0.001f RansacPlaneIterations 100 Abbildung 3.26: Zeitverhalten der Teilarbeitsschritte in der Ebenensegmentierung. Mittelwerte von 3000 Aufrufen. Auffällig ist hierbei, dass die Bandpassfilterung die meiste Zeit in Anspruch nimmt. Dies ist damit zu begründen, dass dieser erste Arbeitsschritt noch mit den Originaldaten arbeitet. Die Bandpassfilterung reduziert die Datensätze signifikant(reduktion um 60% 70%, je nach Szene). Somit ist der Aufwand für die folgenden Arbeitsschritte deutlich geringer. Aus dieser Aufstellung ergibt sich eine durchschnittliche Gesamtlaufzeit von 0, 06226s. Dies Entspricht einer Bildrate von 16 Bildern Pro Sekunde und ist damit nur halb so schnell wie die Daten, die von dem Sensor geliefert werden. Daraus folgt, dass die Segmentierung nur für jedes zweite Bild durchgeführt werden kann, bzw. ein Bild übersprungen werden muss, um die vom Sensor gelieferten Werte in Echtzeit bearbeiten zu können. Diese Lösung kann für ein Echtzeit System genutzt werden, wenn diese zeitliche Einschränkung keine Auswirkung auf das System hat. 40

49 Zeitverhalten der Objektsegmentierung Das Zeitverhalten der Objektsegmentierung zeigt ein deutlich anderes Bild als die Ebenensegmentierung. Anhand der Abbildung 3.27 lässt sich darstellen, welchen gravierenden Einfluss der nicht vorhandene Voxelgrid Filter Schritt auf das Zeitverhalten hat. Der Voxelgrid Filter musste entfernt werden, da die Auflösung für die komplexere Objektsuche nicht ausreicht. Für die Erfassung dieser Zeitwerte wurden folgende Parameter genutzt. PassThroughLimits 0, 1 RansacPlaneThreshold 0.03f RansacPlaneIterations 100 RansacModelThreshold 0.005f RansacModelRadius [0, 0.1f] RansacModelIterations 100 modelsegmentationskipplane false Abbildung 3.27: Zeitverhalten der Teilarbeitsschritte in der Objektsegmentierung. Mittelwerte von 1000 Aufrufen. In der Abbildung ist zu sehen, dass sich das Zeitverhalten des Bandpassfilters im Vergleich zur Ebenensegmentierung nicht ändert. Hingegen hat die Normalen Bestimmung einen drastischen Einfluss auf das gesamte Zeitverhalten und steht außer jeglicher Relation zu den anderen Messwerten. Dieses massive Ausreißen um das fast 350 fache lässt mit der fehlenden VoxelGrid 41

Einführung Point Cloud Library

Einführung Point Cloud Library Fakultät Umweltwissenschaften / Professur für Photogrammetrie Professur für Geoinformationssysteme Einführung Point Cloud Library Inhalt 1. Was ist PCL? 2. Was kann PCL? 3. Wie funktioniert PCL? 4. Module

Mehr

Statische Versuchsplanung (DoE - Design of Experiments)

Statische Versuchsplanung (DoE - Design of Experiments) Statische Versuchsplanung (DoE - Design of Experiments) Übersicht Bei der statistischen Versuchsplanung wird die Wirkung von Steuerparametern unter dem Einfluss von Störparametern untersucht. Mit Hilfe

Mehr

PADS 3.0 Viewer - Konfigurationen

PADS 3.0 Viewer - Konfigurationen PADS 3.0 Viewer - Konfigurationen Net Display Systems (Deutschland) GmbH - Am Neuenhof 4-40629 Düsseldorf Telefon: +49 211 9293915 - Telefax: +49 211 9293916 www.fids.de - email: info@fids.de Übersicht

Mehr

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) im Masterstudiengang Wirtschaftswissenschaft

Mehr

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von. HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

2. Deskriptive Statistik 2.1. Häufigkeitstabellen, Histogramme, empirische Verteilungsfunktionen

2. Deskriptive Statistik 2.1. Häufigkeitstabellen, Histogramme, empirische Verteilungsfunktionen 4. Datenanalyse und Modellbildung Deskriptive Statistik 2-1 2. Deskriptive Statistik 2.1. Häufigkeitstabellen, Histogramme, empirische Verteilungsfunktionen Für die Auswertung einer Messreihe, die in Form

Mehr

NÜTZLICHE TIPPS FÜR OPTIMALE SCANS

NÜTZLICHE TIPPS FÜR OPTIMALE SCANS Bedingungen, um gute Scans zu erhalten Die Faktoren, von denen das Ergebnis eines Scans abhängt, sind einerseits die Umgebung sowie die Konfiguration und Kalibrierung des Scanners, aber auch das zu scannende

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

riskkv Scorenalyse riskkv Scoring Seite 1 von 9

riskkv Scorenalyse riskkv Scoring Seite 1 von 9 riskkv Scorenalyse riskkv Scoring Seite 1 von 9 Das Modul dient der flexiblen Erstellung, Auswertung und Verwendung von Scores. Durch vordefinierte Templates können in einer Einklicklösung bspw. versichertenbezogene

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13 Dokumentation KREDITVERZEICHNIS Teil 2 Konfiguration Stand 20.02.2013 KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 2/13 Inhalt 1. KONFIGURATION...

Mehr

Prüfung eines Datenbestandes

Prüfung eines Datenbestandes Prüfung eines Datenbestandes auf Abweichungen einzelner Zahlen vom erwarteten mathematisch-statistischen Verhalten, die nicht mit einem Zufall erklärbar sind (Prüfung auf Manipulationen des Datenbestandes)

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Vergleich verschiedener Optimierungsansätze

Vergleich verschiedener Optimierungsansätze Vergleich verschiedener Optimierungsansätze Inhaltsverzeichnis 1 Einleitung... 2 2 Welchen Nutzen schafft munio?... 3 3 Analysen... 3 3.1 Schritt 1: Optimierung anhand von Indizes... 3 3.2 Schritt 2: Manuell

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Data Mining als Arbeitsprozess

Data Mining als Arbeitsprozess Data Mining als Arbeitsprozess Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 31. Dezember 2015 In Unternehmen werden umfangreichere Aktivitäten oder Projekte im Bereich des Data Mining

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Advanced Rendering Interior Szene

Advanced Rendering Interior Szene Advanced Rendering Interior Szene in Cinema 4D 11-11.5 Als erstes, sollten Sie ihre Szene in Cinema 4D öffnen. vergewissern sie sich, ob alle Licht quellen die evtl. mit importiert wurden, aus der Szene

Mehr

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1 CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7

Mehr

Projektplan. Änderungskontrolle, Prüfung, Genehmigung

Projektplan. Änderungskontrolle, Prüfung, Genehmigung Projektplan Ergebnisabkürzung Klassifizierung * Status ** Projektname *** Projektabkürzung Projektleiter Autor Initiale Auftraggeber / Sponsor Betreuer (Fachdozent) PM-Coach Webseite PL Nicht klassifiziert

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Kinect Nils Röder, Björn Frömmer

Kinect Nils Röder, Björn Frömmer Kinect Nils Röder, Björn Frömmer Agenda Einleitung Hardware Funktionsweise der Kamera Algorithmus (Pose Recognition, Tracking) Einleitung Was ist Kinect? Eingabegerät (Human Computer Interface) Optisches

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Schnelle und flexible Stoffwertberechnung mit Spline Interpolation für die Modellierung und Optimierung fortschrittlicher Energieumwandlungsprozesse

Schnelle und flexible Stoffwertberechnung mit Spline Interpolation für die Modellierung und Optimierung fortschrittlicher Energieumwandlungsprozesse Hochschule Zittau/Görlitz, Fakultät Maschinenwesen, Fachgebiet Technische Thermodynamik M. Kunick, H. J. Kretzschmar, U. Gampe Schnelle und flexible Stoffwertberechnung mit Spline Interpolation für die

Mehr

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung Avira Management Console 2.6.1 Optimierung für großes Netzwerk Kurzanleitung Inhaltsverzeichnis 1. Einleitung... 3 2. Aktivieren des Pull-Modus für den AMC Agent... 3 3. Ereignisse des AMC Agent festlegen...

Mehr

Dokumentation Datamining

Dokumentation Datamining Hochschule Wismar University of Applied Sciences Technology, Business and Design Fakultät für Ingenieurwissenschaften, Bereich EuI Dokumentation Datamining Eingereicht am: 13. Mai 2012 von: Karsten Diepelt

Mehr

ARCWAY Cockpit 3.4. Standardbericht und Formatvorlagen. ReadMe

ARCWAY Cockpit 3.4. Standardbericht und Formatvorlagen. ReadMe ARCWAY Cockpit 3.4 Standardbericht und Formatvorlagen ReadMe Inhaltsverzeichnis 1. Einleitung... 4 2. Format- und Berichtsvorlagen in ARCWAY Cockpit... 4 3. ARCWAY Cockpit 3.4 Standard-Berichtsvorlage...

Mehr

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

Mehr

IBM SPSS Data Access Pack Installationsanweisung für Windows

IBM SPSS Data Access Pack Installationsanweisung für Windows IBM SPSS Data Access Pack Installationsanweisung für Windows Inhaltsverzeichnis Kapitel 1. Übersicht.......... 1 Einführung............... 1 Bereitstellen einer Datenzugriffstechnologie.... 1 ODBC-Datenquellen...........

Mehr

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Sperrvermerk Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Bachelorarbeit Zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard 1 von 6 102013 18:09 SharePoint 2013 Veröffentlicht: 16.07.2012 Zusammenfassung: Hier erfahren Sie, wie Sie einen KPI (Key Performance Indicator) mithilfe des PerformancePoint Dashboard Designer in SharePoint

Mehr

1. Einleitung 2. Voraussetzungen 3. Installation 4. Beschreibung 5. Credits. Übersicht:

1. Einleitung 2. Voraussetzungen 3. Installation 4. Beschreibung 5. Credits. Übersicht: 1. Einleitung 2. Voraussetzungen 3. Installation 4. Beschreibung 5. Credits Übersicht: 1. Einleitung *Neu* AFS - CRM Contacter SQL Vielen Dank, dass Sie sich für den Kauf von AFS-CRM Contacter entschieden

Mehr

eassessment Oracle DB Engine Whitepaper

eassessment Oracle DB Engine Whitepaper eassessment Oracle DB Engine Whitepaper DOKUMENT: TYP: eassessment Oracle DB Engine Whitepaper Plattformdokumentation ERSTELLT VON: nova ratio AG Universitätsstraße 3 56070 Koblenz Deutschland VERSION:

Mehr

Interkulturelles Projektmanagement in internationalen Projekten am Beispiel von afghanischen Mitarbeitern. Bachelorarbeit

Interkulturelles Projektmanagement in internationalen Projekten am Beispiel von afghanischen Mitarbeitern. Bachelorarbeit Interkulturelles Projektmanagement in internationalen Projekten am Beispiel von afghanischen Mitarbeitern Bachelorarbeit zur Erlangung des akademischen Grades,,Bachelor of Science (B.Sc.) im Studiengang

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München WS /3 Institut für Informatik Prof Dr Hans-Joachim Bungartz Dipl-Inf Christoph Riesinger Dipl-Inf Dipl-Math Jürgen Bräckle Numerisches Programmieren Programmieraufgabe: Polnominterpolation,

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 Raytracing Schlussbericht Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 bei Betreuer Marco Manzi, Institut für Informatik und angewandte Mathematik Inhalt Fragestellung...

Mehr

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

Mehr

Kapitel 8 Text für eine Internetseite erstellen

Kapitel 8 Text für eine Internetseite erstellen Bilder und Schriften für das World Wide Web müssen anders produziert und aufbereitet werden als Bilder, die für die Ausgabe auf Ihrem Tintenstrahldrucker oder für die Weitergabe an eine Druckerei bestimmt

Mehr

Computergestützte Videoanalyse physikalischer Vorgänge

Computergestützte Videoanalyse physikalischer Vorgänge Computergestützte Videoanalyse physikalischer Vorgänge Erprobung des Systems AVA Wissenschaftliche Arbeit zur Erlangung der ersten Staatsprüfung für das Lehramt am Gymnasium Universität Leipzig Fakultät

Mehr

Wie es Euch gefällt Pixelvorverarbeitung oder RAW-Format

Wie es Euch gefällt Pixelvorverarbeitung oder RAW-Format Wie es Euch gefällt Pixelvorverarbeitung oder RAW-Format Je nach Anwendung werden an die Bilddaten unterschiedliche Anforderungen gestellt. Beim schnellen Schnappschuss möchte Sie ein fertiges Bild von

Mehr

Aktenverwaltung einfach gemacht

Aktenverwaltung einfach gemacht Aktenverwaltung einfach gemacht Das Problem Der sichere und schnelle Zugriff auf Geschäftsakten und - Dokumente ist das Rückgrat jedes betrieblichen Informations- Management-Systems und kann wesentlich

Mehr

Beschreibung EtherNet/IP Prozessschnittstelle

Beschreibung EtherNet/IP Prozessschnittstelle Beschreibung EtherNet/IP Prozessschnittstelle Version 1.0 1 Inhaltsverzeichnis 1. Vorbemerkung... 3 2. Allgemeines... 3 3. EtherNet/IP Einstellungen... 3 3.1 Kontrollbytes... 4 3.2 Segmentierung... 4 3.2.1

Mehr

3D Erfassung und Modellierung des Hamburger Bismarck-Denkmals. 3. Hamburger Anwenderforum TLS 2009 Antje Tilsner, B.Sc.

3D Erfassung und Modellierung des Hamburger Bismarck-Denkmals. 3. Hamburger Anwenderforum TLS 2009 Antje Tilsner, B.Sc. 3D Erfassung und Modellierung des Hamburger Bismarck-Denkmals 3. Hamburger Anwenderforum TLS 2009 Gliederung Einleitung Datenerfassung Modellierung Texturierung und Visualisierung Datenreduktion Genauigkeitsanalyse

Mehr

(Titel des Berichts)

(Titel des Berichts) (Titel des Berichts) Praxissemesterbericht von (Vorname Name) aus (Geburtsort) Matrikelnummer Anschrift Telefon HTW Aalen Hochschule für Technik und Wirtschaft Betreuender Professor Abgabetermin Angaben

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

Verarbeitung der Eingangsmeldungen in einem Callcenter

Verarbeitung der Eingangsmeldungen in einem Callcenter Q-up ist ein Produkt der: Anwendungsbeispiele Verarbeitung der Eingangsmeldungen in einem Callcenter Der Testdatengenerator Der Testdatengenerator Verarbeitung der Eingangsmeldungen in einem Callcenter

Mehr

Tipp 14 Messdaten für die Analyse vorbereiten!

Tipp 14 Messdaten für die Analyse vorbereiten! Der NanoFocus-Expertentipp Tipp 14 Messdaten für die Analyse vorbereiten! NanoFocus AG 1 Die Messdaten sind erfasst und was nun? Jeder Messdatensatz bedarf einer Aufbereitung vor der eigentlichen Analyse.

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Leitfaden zur Installation von BitByters.Backup

Leitfaden zur Installation von BitByters.Backup Leitfaden zur Installation von BitByters.Backup Der BitByters.Backup - DASIService ist ein Tool mit dem Sie Ihre Datensicherung organisieren können. Es ist nicht nur ein reines Online- Sicherungstool,

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

Form Designer. Leitfaden

Form Designer. Leitfaden Leitfaden Copyright Die hier enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten Namen und Daten sind frei erfunden, soweit nichts anderes

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

Pfinder: Real-Time Tracking of the Human Body

Pfinder: Real-Time Tracking of the Human Body Pfinder: Real-Time Tracking of the Human Body Christopher Wren, Ali Azarbayejani, Trevor Darrell, Alex Pentland aus: IEEE Transactions on Pattern Analysis and Machine Intelligence (pp. 780-785) 12. April

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Messsystemanalyse (MSA)

Messsystemanalyse (MSA) Messsystemanalyse (MSA) Inhaltsverzeichnis Ursachen & Auswirkungen von Messabweichungen Qualifikations- und Fähigkeitsnachweise Vorteile einer Fähigkeitsuntersuchung Anforderungen an das Messsystem Genauigkeit

Mehr

Leitfaden zur Anlage einer Nachforderung. Nachforderung. 04.04.2013 Seite 1 von 11 RWE IT GmbH

Leitfaden zur Anlage einer Nachforderung. Nachforderung. 04.04.2013 Seite 1 von 11 RWE IT GmbH Leitfaden zur Anlage einer 04.04.2013 Seite 1 von 11 Inhaltsverzeichnis 1 Aufruf des RWE smanagements...3 2 Eingabe der Benutzerdaten...4 3 Erfassen der...5 4 Neue...6 4.1 Allgemeine Daten...7 4.2 Beschreibung...7

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

(1) Problemstellung. (2) Kalman Filter

(1) Problemstellung. (2) Kalman Filter Inhaltsverzeichnis (1) Problemstellung...2 (2) Kalman Filter...2 Funktionsweise... 2 Gleichungen im mehrdimensionalen Fall...3 Schätzung des Systemzustands...3 Vermuteter Schätzfehler... 3 Aktualisierung

Mehr

Microsoft Office 2010

Microsoft Office 2010 Microsoft Office 2010 Office-Anpassungstool Author(s): Paolo Sferrazzo Version: 1.0 Erstellt am: 15.06.12 Letzte Änderung: - 1 / 12 Hinweis: Copyright 2006,. Alle Rechte vorbehalten. Der Inhalt dieses

Mehr

Ziel: Ziel der Aufgabe Ziel ist es, die Funktionalitäten von qs-stat millennium, sowie die Beurteilung von Datensätzen kennen zu lernen.

Ziel: Ziel der Aufgabe Ziel ist es, die Funktionalitäten von qs-stat millennium, sowie die Beurteilung von Datensätzen kennen zu lernen. Datenqualität 1/19 Ziel: Ziel der Aufgabe Ziel ist es, die Funktionalitäten von qs-stat millennium, sowie die Beurteilung von Datensätzen kennen zu lernen. Ausgangssituation: Sie wollen anhand des Werteverlaufs

Mehr

Animation motorischer Grundfertigkeiten

Animation motorischer Grundfertigkeiten Projektdokumentation Animation motorischer Grundfertigkeiten Projektleitung: Ist Folgeprojekt von: Ziel: Umsetzung durch: Mag. Dr. Barbara HOTTER Multimediale Lehr- und Lernhilfen im Sport Animierte Bewegungssequenzen

Mehr

Technische Gesichtserkennung

Technische Gesichtserkennung Technische Gesichtserkennung Gliederung Was ist Gesichtserkennung? Anwendungsbereiche der Gesichtserkennung Technische Verfahren Paul-Viola Algorithmus Gesichtsverfolgung via Webcam Hardware Software Demo

Mehr

Diplomarbeit. gframe und das gedas Human Change Management Framework am Beispiel einer SAP R/3 Einführung im iranischen Automotive Sektor

Diplomarbeit. gframe und das gedas Human Change Management Framework am Beispiel einer SAP R/3 Einführung im iranischen Automotive Sektor Hochschule Harz Wernigerode Fachbereich Wirtschaftswissenschaften Studiengang Wirtschaftsinformatik Diplomarbeit gframe und das gedas Human Change Management Framework am Beispiel einer SAP R/3 Einführung

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

Humanressourcen als Basis des Projektmanagements in Unternehmen. Bachelorarbeit

Humanressourcen als Basis des Projektmanagements in Unternehmen. Bachelorarbeit Humanressourcen als Basis des Projektmanagements in Unternehmen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B. Sc.) im Studiengang Wirtschaftsingenieur der Fakultät für Elektrotechnik

Mehr

Formulierungshilfen für das wissenschaftliche Schreiben

Formulierungshilfen für das wissenschaftliche Schreiben Formulierungshilfen für das wissenschaftliche Schreiben 1. Einleitendes Kapitel 1.1.1 Einen Text einleiten und zum Thema hinführen In der vorliegenden Arbeit geht es um... Schwerpunkt dieser Arbeit ist...

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

4PLAN Managed Service HR Controlling Prozess und Leistungen

4PLAN Managed Service HR Controlling Prozess und Leistungen World Class HR Controlling 4PLAN Managed Service HR Controlling Prozess und Leistungen Autor: Hanns- Dirk Brinkmann Version: 1.0 1 Einleitung... 3 2 Phasen im Überblick... 3 3 Leistungen... 4 3.1 Monatliche

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

Java Generics & Collections

Java Generics & Collections Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes

Mehr

1.2 Einführung der Zahl Dominik Schomas Clemens Blank

1.2 Einführung der Zahl Dominik Schomas Clemens Blank 1.2 Einführung der Zahl Dominik Schomas Clemens Blank Die Zahl wird über den konstanten Quotienten eingeführt. Der Umfang sowie der Durchmesser werden von den Schülern experimentell gemessen mit und in

Mehr

Information zu den Studienleistungen Projektplanung (SPO 1: 111232, SPO 2: 112232 ) und Bachelor Thesis (SPO 1: 111241, SPO 2: 112251)

Information zu den Studienleistungen Projektplanung (SPO 1: 111232, SPO 2: 112232 ) und Bachelor Thesis (SPO 1: 111241, SPO 2: 112251) Fakultät Technik 1 Studiengang Maschinenbau Prodekan Prof Dr-Ing W Elmendorf Information zu den Studienleistungen Projektplanung (SPO 1: 111232, SPO 2: 112232 ) und Bachelor Thesis (SPO 1: 111241, SPO

Mehr

Eine zweidimensionale Stichprobe

Eine zweidimensionale Stichprobe Eine zweidimensionale Stichprobe liegt vor, wenn zwei qualitative Merkmale gleichzeitig betrachtet werden. Eine Urliste besteht dann aus Wertepaaren (x i, y i ) R 2 und hat die Form (x 1, y 1 ), (x 2,

Mehr

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten Yacin Bessas yb1@informatik.uni-ulm.de Proseminar Neuronale Netze 1 Einleitung 1.1 Kurzüberblick Die Selbstorganisierenden Karten, auch Self-Organizing (Feature) Maps, Kohonen-

Mehr

Stay here to be there!

Stay here to be there! Datenbankintegration mit pcvisit ProfiSupport Mit pcvisit ProfiSupport ist es Ihnen möglich, Ihre Datenbanksysteme (z.b. das Ticketsystem mit Supportfällen oder Ihre CRM-Datenbank) mit den Daten aus der

Mehr

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor: Ergebnisreport: mehrere Lehrveranstaltungen zusammenfassen 1 1. Ordner anlegen In der Rolle des Berichterstellers (siehe EvaSys-Editor links oben) können zusammenfassende Ergebnisberichte über mehrere

Mehr

Running R. Windows Aus Menü. Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden.

Running R. Windows Aus Menü. Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden. Einführung 1 / 1 Einführung 2/1 Running R Windows Aus Menü Linux Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden. Auf der Konsole/Eingabeaufforderung:

Mehr

- Eine typische Ausfallrate, wie sie bei vielen technischen Anwendungen zu sehen ist hat die Form einer Badewanne, deshalb nennt man diese Kurve auch

- Eine typische Ausfallrate, wie sie bei vielen technischen Anwendungen zu sehen ist hat die Form einer Badewanne, deshalb nennt man diese Kurve auch 1 2 - Eine typische Ausfallrate, wie sie bei vielen technischen Anwendungen zu sehen ist hat die Form einer Badewanne, deshalb nennt man diese Kurve auch Badewannenkurve. -mit der Badewannenkurve lässt

Mehr

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich. Kapitel 1 Animation (Belebung) Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich. Anwendungen findet die

Mehr