• Keine Ergebnisse gefunden

Die entwickelte Software bietet eine gute Basis für zukünftige Weiterentwicklungen. Durch die modulare Struktur kann gezielt an einem Bereich gearbeitet werden, was auch die Einarbei-tungszeit verringert, da nur die Funktionsweise von einem Teilgebiet und dessen Schnittstellen zum Gesamtsystem bekannt sein muss. Dadurch ist auch eine parallele Bearbeitung der Soft-ware durch mehrere Projektteilnehmer in Zukunft leichter zu realisieren, welche auch durch die eingerichtete Versionskontrolle unterstützt wird.

Im Zukunft ist die Laufzeit des Programms so zu reduzieren, dass die Berechnungszeit unter 40 ms liegt. Dies kann durch das Parallelisieren der Programmbearbeitung in die Blöcke Bildaufnahme, Berechnung und Ergebnisausgabe erreicht werden.

Zur Zeit verändern sich die berechneten Kugellaufbahnen zum Teil sehr sprunghaft, bedingt durch die Abweichungen bei der Queue- und Kugelerkennung. Um diese Schwankungen zu glätten, ist es sinnvoll die Kugelpositionen nur komplett neu zu bestimmen, wenn ein Schuss ausgeführt wurde. Da sich die Kugelpositionen nur dann verändern können. Wird kein Schuss ausgeführt kann zum einen der Suchradius für die Kugeln auf ein Gebiet um den zuletzt bekannten Ort beschränkt werden, zum anderen können die erkannten Positionen gefiltert werden und so die Kugelerkennung verbessert werden.

Das im Tischmodell hinterlegte Physikmodell ist noch sehr einfach gehalten. Dadurch kommt es zum Teil zu starken Abweichungen zwischen dem simulierten Ergebnis und dem realen Stoßergebnis. Im Zukunft kann das Tischmodell so verändert werden, dass es unterschiedli-che Kugelgeschwindigkeiten, Reibungsverluste und ein dezentrales Anstoßen des Spielballs unterstützt.

7 Zusammenfassung

Es gibt also noch eine Vielzahl von Funktionen um die die aktuelle Version des BillardTrainers erweitert werden kann.

Literaturverzeichnis

[Basler ] : Basler-acA2500- 14gc. – URL http://www.baslerweb.com/products/ace.

html?model=171. – Zugriffsdatum: 2013-07-22

[van Balen 2009] B , Joris van: A Virtual Billiard Assistant, University of Twente, Diplomarbeit, 2009

[Bradski und Kaehler 2008] B , Gary ; K , Adrian: Learning OpenCV: Computer vision with the OpenCV library. O’reilly, 2008

[Cash 2003] C , D G.: Video Analysis, Spatial Reasoning and Visualisation of Pool and Billiards, Leeds University, UK, Dissertation, 2003

[Chang 1994] C , SWS:Automating skills using a robot snooker player, Ph. D. Dissertati-on, Bristol University, DissertatiDissertati-on, 1994

[Chou u. a. 2009] C , Chen-Wei ; T , Ming-Chun ; W , Ja-Ling: Billiards wizard: A tutoring system for broadcasting nine-ball billiards videos. In:Acoustics, Speech and Signal Processing, 2009. ICASSP 2009. IEEE International Conference on, 2009, S. 1921–1924. – ISSN 1520-6149

[D’Orazio u. a. 2002] D’O , T. ; A , N. ; C , C. ; N , M.: A ball detection algorithm for real soccer image sequences. In:Pattern Recognition, 2002. Proceedings. 16th International Conference onBd. 1, 2002, S. 210–213 vol.1. – ISSN 1051-4651

[e.V 2007] .V, DBU:Materialnormen Pool. Deutsche Billard-Union e.V. (Veranst.), 12 2007 [Gonzalez u. a. 2009] G , Rafael C. ; W , Richard E. ; E , Steven L.: Digital

image processing using MATLAB. Bd. 2. Gatesmark Publishing Knoxville, 2009

[Greenspan u. a. 2008] G , M. ; L , J. ; G , M. ; Z , I. ; J , S. ; L , W. ; A , K. ; D , D.: Toward a Competitive Pool-Playing Robot. In:Computer41

Literaturverzeichnis

[Greenspan u. a. 2007] G , M. ; L , J. ; L , W. ; G , M. ; Z , I. ; A , K. ; D , D. ; J , S.: Toward a Competitive Pool Playing Robot: Is Computational Intelligence Needed to Play Robotic Pool? In:Computational Intelligence and Games, 2007. CIG 2007. IEEE Symposium on, 2007, S. 380–388

[Helm u. a. 2011] H , Richard ; J , Ralph ; V , John:Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software. Pearson Deutschland GmbH, 2011

[Jähne 2012] J , Bernd: Digitale Bildverarbeitung, 7. Auflage. Springer-Verlag GmbH, 2012

[Kato und Billinghurst 1999] K , H. ; B , M.: Marker tracking and HMD calibration for a video-based augmented reality conferencing system. In:Augmented Reality, 1999. (IWAR ’99) Proceedings. 2nd IEEE and ACM International Workshop on, 1999, S. 85–94 [Kleuker 2011] K , Stephan: Grundkurs Software-Engineering mit UML : der

pragma-tische Weg zu erfolgreichen Softwareprojekten. 2., korrigierte und erw. Aufl. Wiesbaden : Vieweg+Teubner Verlag / Springer Fachmedien Wiesbaden GmbH, Wiesbaden, 2011 [Laganière 2011] L , Robert: OpenCV 2 computer vision application programming

cookbook. Packt Publishing, 2011

[Larsen u. a. 2005] L , Lars B. ; J , Rene B. ; J , Kasper L. ; L , Søren:

Development of an automatic pool trainer. In:Proceedings of the 2005 ACM SIGCHI Interna-tional Conference on Advances in computer entertainment technology. New York, NY, USA : ACM, 2005 (ACE ’05), S. 83–87. – ISBN 1-59593-110-4

[Larsen u. a. 2002] L , L.B. ; J , M.D. ; V , W.K.: Multi modal user interaction in an automatic pool trainer. In: Multimodal Interfaces, 2002. Proceedings. Fourth IEEE International Conference on, 2002, S. 361–366

[Matas u. a. 2000] M , Jiri ; G , Charles ; K , Josef: Robust detection of lines using the progressive probabilistic hough transform. In:Computer Vision and Image Understanding 78 (2000), Nr. 1, S. 119–137

[MathWorks ] M W : MATLAB. – URLhttp://www.mathworks.de/products/

matlab/. – Zugriffsdatum: 2013-09-06

[Matuska u. a. 2012] M , S ; H , R ; B , M: The comparison of CPU time consumption for image processing algorithm in Matlab and OpenCV. In:ELEKTRO, 2012 IEEE (Veranst.), 2012, S. 75–78

Literaturverzeichnis

[Müller 1998] M , Arnd:Ein Billardroboter - praktische Realisierung von ausgewählten Konzepten der Robotik, Universität Leipzig, Diplomarbeit, 1998

[Shih 2010] S , Chihhsiong: Aiming strategy error analysis and verification of a billiard training system. In:Knowledge-Based Systems 23 (2010), Nr. 7, S. 732 – 742. – URLhttp:

//www.sciencedirect.com/science/article/pii/S0950705109001609. – ISSN 0950-7051

[Tian u. a. 2004] T , Qi-Chuan ; P , Quan ; C , Yong-Mei ; G , Quan-Xue: Fast algorithm and application of Hough transform in iris segmentation. In:Machine Learning and Cybernetics, 2004. Proceedings of 2004 International Conference onBd. 7, 2004, S. 3977–3980 vol.7

[Tönnies 2005] T , Klaus D.: Grundlagen der Bildverarbeitung. Bd. 1. Pearson Studium, 2005

[Uchiyama und Saito 2007] U , Hideaki ; S , H.: AR Display of Visual Aids for Supporting Pool Games by Online Markerless Tracking. In:Artificial Reality and Telexistence, 17th International Conference on, 2007, S. 172–179

[Willowgarage ] W : OpenCVWiki. – URLhttp://opencv.willowgarage.

com/wiki/. – Zugriffsdatum: 2013-08-20

[Yuen u. a. 1990] Y , HK ; P , John ; I , John ; K , Josef: Compara-tive study of Hough transform methods for circlefinding. In:Image and Vision Computing8 (1990), Nr. 1, S. 71–77

Abbildungsverzeichnis

2.1 Hardwareaufbau Deep Green . . . 4

2.2 APT Aalborg . . . 5

2.3 Verschiedene Hardwareaufbauten für den BillardTrainer . . . 7

2.4 Aufnahme der Tisches mit verschiedenen Objektiven . . . 8

2.5 Prototyp . . . 10

3.1 Ergebnisanforderung . . . 12

3.2 Abweichungen Tischerkennung . . . 15

4.1 Beispiele für Marker zur Objekterkennung . . . 21

4.2 Idealisierte Segmentierung von farbigen Markern . . . 22

4.3 Merkmalsbasierte Tischerkennung (vgl.Uchiyama und Saito,2007) . . . 23

4.4 Kugelerkennung mit Hough-Transformation für einen Radius . . . 25

4.5 Kugelerkennung mit Hintergrundsubstraktion (Greenspan u. a.,2007) . . . 26

4.6 Queueerkennung mit Linien Hough-Transformation . . . 27

4.7 Queueerkennung über Konturerkennung . . . 28

5.1 Klassendiagramm der KlasseMainSystem . . . 30

5.2 Klassendiagramm Bildgewinnung . . . 31

5.3 KlassendiagrammBallDetector . . . 32

5.4 KlassendiagrammBallClassifier . . . 34

5.5 Kugelgebiet . . . 34

5.6 KlassendiagrammQueueDetector . . . 36

5.7 Fehlerhafte Queuedetektion ohne Hintergrundsubtraktion . . . 37

5.8 Queuedetektion mit Hintergrundsubtraktion . . . 37

5.9 Vergleich der Koordinatensysteme . . . 38

5.10 KlassendiagrammTabelModel . . . 38

5.11 KlassendiagrammWarper . . . 39

Abbildungsverzeichnis

5.12 Von Eingansbild zum Tischmodell . . . 40

5.13 KlassendiagrammTableDetector . . . 40

5.14 Standardschwellwert der FunktionfindDominantColor . . . 42

5.15 Aktivitätsdiagramme zur Tischerkennung . . . 43

5.16 KlassendiagrammImagePlotter . . . 46

5.17 KlassendiagrammProjectorSystem . . . 47

5.18 Erstellen des Ausgabebildes und Anzeigen auf dem Tisch . . . 47

5.19 Klassendiagramm BillardTrainer Überblick . . . 48

6.1 Programmablauf . . . 50

6.2 Ablauf Tischerkennung . . . 51

6.3 Fehlerhafte Tischerkennung . . . 52

6.4 Graphische Oberfläche der Tischerkennung . . . 52

6.5 Ausgewählte Szenen . . . 55

6.6 Gelabeltes Bild Szene1 . . . 56

6.7 Vergleich Detektionsergebnis Szene1 . . . 58

6.8 Große Abweichung bei Kugelerkennung mit H2 . . . 59

6.9 Testszene mobiles Hardwaresystem . . . 60

7.1 Ausgabe der Ergebnisse des Billardtrainers . . . 66

Anhang

1 Inhalt der CD

Dateiname Beschreibung

thesishilbert.pdf Diese Arbeit als .pdf Datei

Billardtrainer Projektordner des erstellten Programms

Anhang

2 Ergebnisse Zuverlässigkeitstest

H1 H2 BK1 BK2

Szene1 True Positive 133 203 20 20

False Positive 0 36 83 80

False Negative 187 117 300 300

True Negative 200 200 200 200

Szene2 True Positive 82 120 95 95

False Positive 0 29 74 72

False Negative 38 0 25 25

True Negative 200 200 200 200

Tabelle 1: Testergebnisse ohne Filterung

H1 H2 BK1 BK2

Szene1 True Positive 133 203 20 20

False Positive 0 12 1 1

False Negative 187 117 300 300

True Negative 200 200 200 200

Szene2 True Positive 82 120 95 95

False Positive 0 0 0 0

False Negative 38 0 25 24

True Negative 200 200 200 200

Tabelle 2: Testergebnisse nach Filterung

Anhang

3 Graphische Interaktion bei der Inbetriebnahme

(a) Abfrage Kameraparameter (b) GUI Kamerakonfiguration

(c) Start der

Kamerakalibie-rung (d) Kalibierungsergebnis

(e) Abfrage Projektorparame-ter

(f) Abfrage Tischmodellpara-meter

(g) Ergebnis Tischdetektion (h) Einstellung Tischparameter

(i) Projektorkalibierung (j) Queuekalibierung