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

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

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

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

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

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

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),

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

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

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

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

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation Softwareentwicklungspraktikum Sommersemester 2007 Testdokumentation Auftraggeber Technische Universität Braunschweig

Mehr

Seminar Komplexe Objekte in Datenbanken

Seminar Komplexe Objekte in Datenbanken Seminar Komplexe Objekte in Datenbanken OPTICS: Ordering Points To Identify the Clustering Structure Lehrstuhl für Informatik IX - Univ.-Prof. Dr. Thomas Seidl, RWTH-Aachen http://www-i9.informatik.rwth-aachen.de

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

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

phycam VM-012 - Remapping

phycam VM-012 - Remapping Application Note No.: LAN-062d_1 Version: 1.0 Autor: H. Fendrich Date: 20.10.2014 Historie: Version Änderungen Datum Autor 1.0 Erstellung des Dokuments 20.10.2014 H. Fendrich phycam VM-012 - Remapping

Mehr

Software Strategien zur weiteren Optimierung der Kommissionierung

Software Strategien zur weiteren Optimierung der Kommissionierung Software Strategien zur weiteren Optimierung der Kommissionierung als Ergänzung zu der angeboten Hardware dem elektronischen Kommissionierboard und der Multiple-Order-Picking Abwicklung Genial einfach..

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

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

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden 27.05.13 Autor / Redakteur: Nach Unterlagen von National Instruments / Hendrik Härter Messdaten

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

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

Anleitung DONATSCH WebShare V02

Anleitung DONATSCH WebShare V02 Anleitung DONATSCH WebShare V02 1. Einleitung Ihr von uns gescanntes Objekt kann auf Wunsch via Webbrowser abgerufen werden. Sämtliche Scans sind einsehbar und es können Messungen darin durchgeführt werden.

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

Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern

Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern Björn Burow SE Mustererkennung in Bildern und 3D-Daten Lehrstuhl Graphische Systeme BTU Cottbus Inhaltsübersicht

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Seminararbeit Ruby Uno Kartenspiel

Seminararbeit Ruby Uno Kartenspiel Seminararbeit Ruby Uno Kartenspiel Autor: Fabian Merki Fabian Merki 05.11.2006 1 von 10 Inhaltsverzeichnis Einleitung... 3 Die Idee... 4 Design und Implementierung in Ruby... 5 Testing... 7 Startbefehle...

Mehr

1.2.1 Gestaltpsychologie

1.2.1 Gestaltpsychologie 1.2 Gestaltgesetze 1.2.1 Gestaltpsychologie... 40 1.2.2 Gesetz von der einfachen Gestalt... 41 1.2.3 Gesetz der Nähe... 42 1.2.4 Gesetz der Gleichheit... 43 1.2.5 Gesetz der Geschlossenheit... 44 1.2.6

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

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

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

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

Mit 3D SHAPEscan wird die Zukunft greifbar: Neuer 3D Sensor ermöglicht einfache, hochflexible Entnahme unsortierter Bauteile

Mit 3D SHAPEscan wird die Zukunft greifbar: Neuer 3D Sensor ermöglicht einfache, hochflexible Entnahme unsortierter Bauteile AUTOMATICA-Neuheit: Der Griff in die Kiste mit 3D Sensor Mit 3D SHAPEscan wird die Zukunft greifbar: Neuer 3D Sensor ermöglicht einfache, hochflexible Entnahme unsortierter Bauteile Hochkomplexe Aufgabenstellungen

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

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

A) Durchsuchen von Datenbanken im Internet durch Endnote

A) Durchsuchen von Datenbanken im Internet durch Endnote EINLEITUNG/ANWEISUNGEN ZU DIESEM TEXT Wir werden die obere Liste (File/ Edit usw.) benutzen, obwohl die meisten Funktionen auch möglich mit rechtem Mausklick, mit Kombinationen der Tastatur oder mit den

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

Agiles Schätzen. Quelle: Kap. 7 aus Wie schätzt man in agilen Projekten oder wieso Scrum-Projekte erfolgreicher sind [Boris Gloger 2014]

Agiles Schätzen. Quelle: Kap. 7 aus Wie schätzt man in agilen Projekten oder wieso Scrum-Projekte erfolgreicher sind [Boris Gloger 2014] Agiles Schätzen Quelle: Kap. 7 aus Wie schätzt man in agilen Projekten oder wieso Scrum-Projekte erfolgreicher sind [Boris Gloger 2014] Schätzen der Größe Wir bestimmen die Größe, nicht den Aufwand. Auf

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

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

SPS-Sensors für Paessler's PRTG White Paper

SPS-Sensors für Paessler's PRTG White Paper SPS-Sensors für Paessler's PRTG White Paper 1 Inhaltsverzeichnis Copyright... 2 1. Übersicht... 3 Voraussetzungen... 3 Die Arbeitsweise... 4 Das StarterPack... 5 Die Zugriffsmethode S7... 5 Die XML-Übergabe

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

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren Ziel Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren Einteilung (=Klassifikation) der Pixel eines multispektralen Datensatzes in eine endliche Anzahl von Klassen. Es sollen dabei versucht

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

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

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

Sortieren. Eine Testmenge erstellen

Sortieren. Eine Testmenge erstellen Sortieren Eine der wohl häufigsten Aufgaben für Computer ist das Sortieren, mit dem wir uns in diesem Abschnitt eingeher beschäftigen wollen. Unser Ziel ist die Entwicklung eines möglichst effizienten

Mehr

Bildauswertung in UAV

Bildauswertung in UAV Bildauswertung in UAV Prof. Dr. Nailja Luth Prof. N. Luth Emden 2014-1 OTH Ost-Bayerische Technische Hochschule Amberg-Weiden Prof. N. Luth Emden 2014-2 Prof. Dr.-Ing. N. Luth: Vorlesung Bildverarbeitung

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

E-Mail-Archivierung für Microsoft Outlook und Exchange Server

E-Mail-Archivierung für Microsoft Outlook und Exchange Server windream Exchange E-Mail-Archivierung für Microsoft Outlook und Exchange Server 2 E-Mail-Archivierung für Microsoft Outlook und Exchange Server Das ständig wachsende Volumen elektronischer Mitteilungen

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

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

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

1. Grundlegende Konzepte der Informatik

1. Grundlegende Konzepte der Informatik 1. Grundlegende Konzepte der Informatik Inhalt Algorithmen Darstellung von Algorithmen mit Programmablaufplänen Beispiele für Algorithmen Aussagenlogik Zahlensysteme Kodierung Peter Sobe 1 Algorithmen

Mehr

Herausforderungen des Continuous Auditing im Big Data Umfeld

Herausforderungen des Continuous Auditing im Big Data Umfeld Herausforderungen des Continuous Auditing im Big Data Umfeld Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft der Wirtschaftswissenschaftlichen

Mehr

IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen. Bachelorarbeit

IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen. Bachelorarbeit IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft der

Mehr

Map Reduce on Hadoop Seminar SS09. Similarity Join. Tim Felgentreff, Andrina Mascher

Map Reduce on Hadoop Seminar SS09. Similarity Join. Tim Felgentreff, Andrina Mascher Map Reduce on Hadoop Seminar SS09 Similarity Join Tim Felgentreff, Andrina Mascher Gliederung 2!! Aufgabe!! Demo!! Algorithmus!! Performance!! Veränderte Aufgabenstellung:!! Vergleich mit 1 Seite!! Ausblick!!

Mehr

Leseprobe. Holger Schrödl. Business Intelligence mit Microsoft SQL Server 2008. BI-Projekte erfolgreich umsetzen ISBN: 978-3-446-41210-1

Leseprobe. Holger Schrödl. Business Intelligence mit Microsoft SQL Server 2008. BI-Projekte erfolgreich umsetzen ISBN: 978-3-446-41210-1 Leseprobe Holger Schrödl Business Intelligence mit Microsoft SQL Server 2008 BI-Projekte erfolgreich umsetzen ISBN: 978-3-446-41210-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41210-1

Mehr

Mining top-k frequent itemsets from data streams

Mining top-k frequent itemsets from data streams Seminar: Maschinelles Lernen Mining top-k frequent itemsets from data streams R.C.-W. Wong A.W.-C. Fu 1 Gliederung 1. Einleitung 2. Chernoff-basierter Algorithmus 3. top-k lossy counting Algorithmus 4.

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

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems.

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems. Das zeitliche Verhalten von Echtzeitsoftware zu analysieren und sicher zu stellen, dass die Anforderungen an das Echtzeitverhalten erfüllt werden kann sehr aufwendig und teuer sein. In diesem Artikel sollen

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

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

3. Auflage. O Reillys Taschenbibliothek. Windows PowerShell 3.0. kurz & gut. Lee Holmes. Deutsche Adaption von Rolf Masuch O REILLY

3. Auflage. O Reillys Taschenbibliothek. Windows PowerShell 3.0. kurz & gut. Lee Holmes. Deutsche Adaption von Rolf Masuch O REILLY O Reillys Taschenbibliothek 3. Auflage Windows PowerShell 3.0 kurz & gut O REILLY Lee Holmes Deutsche Adaption von Rolf Masuch Inhalt Einleitung................................................ 2 Installation.....................................................

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

Aufgabenstellung und Zielsetzung

Aufgabenstellung und Zielsetzung Aufgabenstellung und Zielsetzung In diesem Szenario werden Sie eine Bestellung, vorliegend im XML-Format, über einen Web-Client per HTTP zum XI- System senden. Dort wird die XML-Datei mittels eines HTTP-Interfaces

Mehr

Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen

Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftsingenieur der Fakultät

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests Automatisierte Akzeptanztests mit FIT Einleitung Dieses beschreibt, wie man Tests aus Anwender-/Kundensicht mit dem Open-Source-Werkzeug FIT beschreibt und durchführt. Das ist für Kunden, Anwender und

Mehr

Analyse kritischer Erfolgsfaktoren für Enterprise Social Networking Anwendungen. Bachelorarbeit

Analyse kritischer Erfolgsfaktoren für Enterprise Social Networking Anwendungen. Bachelorarbeit Analyse kritischer Erfolgsfaktoren für Enterprise Social Networking Anwendungen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaften

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Klausur vom 14. Juni 2004. Informatik 4

Klausur vom 14. Juni 2004. Informatik 4 Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik, Burgdorf Klasse: EV02-1 Name, Vorname: Klausur vom 14. Juni

Mehr

MATLAB-Automatisierung von Dymola- Simulationen und Ergebnisauswertung Holger Dittus. Modelica User Group BaWü, Stuttgart, 13.06.

MATLAB-Automatisierung von Dymola- Simulationen und Ergebnisauswertung Holger Dittus. Modelica User Group BaWü, Stuttgart, 13.06. www.dlr.de Folie 1 MATLAB-Automatisierung von Dymola- Simulationen und Ergebnisauswertung Holger Dittus Modelica User Group BaWü, Stuttgart, 13.06.2013 www.dlr.de Folie 2 Inhalt Motivation Dymola.mos-Skripte

Mehr

Mobil in der Stadt Untersuchung von Punktwolken

Mobil in der Stadt Untersuchung von Punktwolken AIIPS Interdisziplinäre Projektarbeit WS 2010/2011 Gruppe: Agnes Werner, Stefan Herbert, Wolfgang Kubisch, Jürgen Meß, Christian Peil Mobil in der Stadt Untersuchung von Punktwolken Inhalt I. Einleitung...

Mehr

Erwin Grüner 15.12.2005

Erwin Grüner 15.12.2005 FB Psychologie Uni Marburg 15.12.2005 Themenübersicht Mit Hilfe der Funktionen runif(), rnorm() usw. kann man (Pseudo-) erzeugen. Darüber hinaus gibt es in R noch zwei weitere interessante Zufallsfunktionen:

Mehr

Einfach professionell messen

Einfach professionell messen Datenerfassungs-Software catman Einfach professionell messen Die komfortable Datenerfassungs- und Analyse-Software der neuen Generation catman Ein ganzes Power-Paket leistungsstarker Module Sie wollen

Mehr

Motivation. Themenblock: Data Preprocessing. Einsatzgebiete für Data Mining I. Modell von Gianotti und Pedreschi

Motivation. Themenblock: Data Preprocessing. Einsatzgebiete für Data Mining I. Modell von Gianotti und Pedreschi Motivation Themenblock: Data Preprocessing We are drowning in information, but starving for knowledge! (John Naisbett) Was genau ist Datenanalyse? Praktikum: Data Warehousing und Data Mining Was ist Data

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

E-Mail-Archivierung für Microsoft Outlook und Exchange Server

E-Mail-Archivierung für Microsoft Outlook und Exchange Server windream Exchange E-Mail-Archivierung für Microsoft Outlook und Exchange Server 2 E-Mail-Archivierung für Microsoft Outlook und Exchange Server Das ständig wachsende Volumen elektronischer Mitteilungen

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Vorbereitungsaufgaben

Vorbereitungsaufgaben Praktikum Bildverarbeitung / Bildinformationstechnik Versuch BV 4 / BIT 3: Mustererkennung Paddy Gadegast, CV00, 160967 Alexander Opel, CV00, 16075 Gruppe 3 Otto-von-Guericke Universität Magdeburg Fakultät

Mehr

Black-Hat Search Engine Optimization (SEO) Practices for Websites

Black-Hat Search Engine Optimization (SEO) Practices for Websites Beispielbild Black-Hat Search Engine Optimization (SEO) Practices for Websites Damla Durmaz - 29. Januar. 2009 Proseminar Technisch Informatik Leitung: Georg Wittenburg Betreuer: Norman Dziengel Fachbereich

Mehr

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume

Mehr

Neue Möglichkeiten im Geo-Monitoring mit der Leica MultiStation MS50

Neue Möglichkeiten im Geo-Monitoring mit der Leica MultiStation MS50 Bitte fügen Sie in dieses Feld eine Abbildung ein (Einfügen, Grafik, Aus Datei). Grösse: 10 cm x 25.4 cm Abbildung skalieren: markieren, Eckpunkt fassen und ziehen Abbildung zuschneiden: markieren, aus

Mehr

Modul für Zeitaufzeichnungen

Modul für Zeitaufzeichnungen Modul für Zeitaufzeichnungen Das Modul zur Zeiterfassung erlaubt Ihnen projektbezogene Zeitaufwände, z.b. reguläre Arbeitszeiten, fakturierbare Zeiten und Überstunden aufzuzeichnen, Ihren Aufträgen und

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

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume 1 Kapitel 13 Ziele 2 Den Begriff des Baums in der Informatik kennenlernen als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf n verstehen und schreiben können Verschiedene Möglichkeiten

Mehr

Überwachungs- und Alarmierungsmöglichkeiten

Überwachungs- und Alarmierungsmöglichkeiten Die Palette an Überwachungs- und Alarmierungsmöglichkeiten im EEMS (Energie Effizienz Monitoring System) von netconnect Die Datenvollständigkeit und Plausibilität ist von entscheidender Bedeutung für jedes

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

1,11 1,12 1,13 1,14 1,15 1,16 1,17 1,17 1,17 1,18

1,11 1,12 1,13 1,14 1,15 1,16 1,17 1,17 1,17 1,18 3. Deskriptive Statistik Ziel der deskriptiven (beschreibenden) Statistik (explorativen Datenanalyse) ist die übersichtliche Darstellung der wesentlichen in den erhobenen Daten enthaltene Informationen

Mehr