KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN - WWW.INS-ONLINE.NET
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
WWW.INS-ONLINE.NET Digital Future Congress KINDERSPIEL: NEURONALE NETZE, ROBOTER UND 3D-DRUCK EINFACH SELBER AUSPROBIEREN Frankfurt, 14.02.2019
AGENDA • Alles beginnt mit einem Buch • Das MNIST Dataset • Ein kleiner Spielzeug-Roboter … • … soll ein Kinderspiel lernen • Der Roboter lernt Karten drehen • Ein 3D-Drucker muss her • Ein CAD (eigentlich) für Kinder • Klassifizierte Daten selbst erstellen • Ein neuronales Netz in Python • Das Experiment kommt an seine Grenzen • Verwendete Hard- und Software • Fazit 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 2
ALLES BEGINNT MIT EINEM FANTASTISCHEN BUCH • Kaum Grundkenntnisse in Algebra oder Programmierung notwendig • Einführung: Mathematisches Konzept neuronaler Netze • Programmierung in Python ohne Verwendung von Frameworks • Praktisches Beispiel: MNIST Dataset • Umsetzung mit ~ 100 Zeilen Programmcode • Optimierung auf 98% Trefferquote bei der Erkennung von Zahlen • Sämtlicher Programmcode als Open Source auf GitHub frei erhältlich Und was heisst das genau? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 3
NEURONALES NETZ, GANZ GROBER ÜBERBLICK 784x 200x 10x Training: 158.800 Verbindungen 60.000 Training-Datensätze (107 MB) 4 9.528.000.000+ Rechenoperationen 364 bis 376 Sekunden Dauer 3 (i5-4200 CPU @ 1,6 Ghz x4, 8GB RAM) 2 Test: 28x28 Pixel 10.000 Test-Datensätze (18 MB) 2,44 bis 2,78 % Fehlerquote 3,5 Sekunden Dauer Input Hidden Output Und wie sieht das Ergebnis aus? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 4
DAS MNIST DATASET Was das Netz erkennt: Und was nicht: Wie das Netz „die Welt sieht“: 9 8 2 [richtig: 8] 7 [richtig: 2] 1 2 77,68% 87,44% 53,70% 84,81% 4 2 0 [richtig: 6] 6 [richtig: 4] 3 4 87,13% 93,48% 73,21% 37,80% 7 2 9 [richtig: 4] 9 [richtig: 2] 5 6 82,13% 95,12% 42,15% 46,77% Damit muss man doch etwas anfangen können 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 5
EIN KLEINER SPIELZEUG-ROBOTER … • „Intelligenter“ Roboter bzw. modernes Tamagotchi • VGA Kamera, Lautsprecher, IR Sensoren • Gesichts- und Haustiererkennung • Emotionen-Engine • Eingebaute Spiele über 3 Power Cubes • Gut dokumentierte API / SDK Und was soll der Roboter machen? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 6
… SOLL EIN KINDERSPIEL LERNEN Originalkarten Schwarz-Weiss Input für das Neuronale Netz (Ausschnitt 50 x 50 Pixel) So sieht der Roboter die Welt Wie drehe ich denn die Karten um? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 7
DER ROBOTER LERNT KARTEN DREHEN Idee: Um die Spielkarten umzudrehen, muss ein Adapter her, ? so dass die Karten über einen zusätzlichen Motor gedreht werden können (Alternative: Magnet oder Vakuum-Sauggreifer) 28BYJ-48 Stepper Motor mit ULN2003 Steuerungsplatine Akku 3350mAh ! Raspberry Zero W Wie baue ich das alles? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 8
EIN 3D-DRUCKER MUSS HER • Bauvolumen 200 x 200 x 180 mm • Schicht-Auflösung 0,1 mm - 0,4 mm • Druckgeschwindigkeit 10-100 mm/s einstellbar • Position Precision Z 0,004mm, XY 0,012mm • Beheiztes Druckbett • Druckt in PLA und ABS • ca. € 350,- Schön und gut. Wie komme ich an 3D-Modelle? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 9
CAD (EIGENTLICH) FÜR KINDER 3D-Modelle in TinkerCAD entworfen, zum Teil mit freien Modellen (Stepper Motor) aus Thingiverse ergänzt. Die Technik steht. Wie geht es weiter? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 10
KLASSIFIZIERTE DATEN SELBST ERSTELLEN 320x240 px • 1.428 Photos sortiert und qualitätsgesichert • Klassifizierung erfolgte über Dateinamen • Konvertierung PNG nach CSV in Python 50x50 px Was erkennt das neuronale Netz genau? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 11
EIN NEURONALES NETZ IN PYTHON erkannt falsch erkannt erkannt 92,6% 44,5% 31,8% Input 1.150 Training-Datensätze Training 165 Sekunden Dauer (i5-4200 CPU @ 1,6 Ghz x4, 8GB RAM) 272 Test-Datensätze Test 3,5 Sekunden Dauer 0,8% Fehlerquote falsch erkannt 80,5% Und wie sieht das live aus? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 12
DAS EXPERIMENT KOMMT AN SEINE GRENZEN Für die Bewegung auf dem Feld wurde ich einfach zu schwer 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 13
VERWENDETE RESSOURCEN Fachliteratur / Spiel Rashid, T.; Neuronale Netzwerke selbst programmieren; O‘Reilly 2017 ca. € 27,- 2x Piatnik 6594 - Kompaktspiel Memo Domino - Traktoren ca. € 16,- Software Anki Cozmo SDK auf Ubuntu 16.4 Linux (in einer Oracle VirtualBox unter Windows 10) Open Source Raspbian Jessie und Raspbian Stretch Lite (based on Debian 9) als Raspberry OS Open Source Python 3.5 mit NumPy, SciPy, PIL und Matplotlib libraries Open Source Autodesk Tinkercad für alle .stl 3D Modelle kostenlos für private Nutzung Autodesk Netfabb um einige .stl 3D Modelle zu optimieren kostenlos für private Nutzung Cura Slicer für das „Slicing“ von .stl nach .gcode Open Source OctoPrint für die 3D Drucker-Steuerung Open Source Github Atom als Texteditor und Git für die Softwareversionierung Open Source Sphinx Python Documentation Generator für die Software-Dokumentation Open Source Hardware Anki Cozmo Roboter ca. € 200,- Lenovo Thinkpad T240 und Fujitsu Lifebook A540 für die Programmierung und Berechnung (ohne GPU) ca. € 250,- (Lenovo ThinkPad X240, gebraucht) Amazon Fire 7-Tablet für die Cozmo App ca. € 70,- Wanhao i3 Duplicator v2.1 als 3D Drucker (Druck in PLA) ca. € 350,- Raspberry Zero W für die Steuerung des Stepper-Motors ca. € 25,- Raspberry Pi 3 mit Kamera für OctoPrint ca. € 45,- 2x TCRT5000 Infrared Reflective IR Switch Sensor Board ca. € 4,- 28BYJ-48 Stepper Motor mit ULN2003 driver board ca. € 6,- Anker PowerCore+ Mini 3350mAh für die Stromversorgung des Raspberry Zero W ca. € 16,- Diverse Jumper Kabel, M3/M2.5 Schrauben und Muttern ca. € 10,- 10x PLA Filament für 3D Druck (großzügig geschätzt) ca. € 200.- Investition (ca.) ca. € 1.219,- Wie geht es jetzt weiter? 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 14
FAZIT „AHA“-Effekte • Es war erstaunlich einfach brauchbare Ergebnisse zu erzielen (sowohl Objekterkennung als auch 3D-Druck). • Der finanzielle Aufwand war übersichtlich, der zeitliche nicht. Ich habe die Wochenenden nicht gezählt . • Grundkenntnisse und etwas „Mut zur Lücke“ reichen zum Probieren völlig aus. • Es braucht keine aufwändige Hardware, es dauert dann nur länger. Herausforderungen • Verfügbarkeit von klassifizierten Daten zum Training • Mobile Stromversorgung des Roboters • 3D-Druck ist einfach, dauert aber sehr lange Wie geht es weiter? • Das nächste Projekt wird eher ein Robotergreifarm (kein Problem mit Strom, HD-Kamera). 2019-02-14 • • "Kinderspiel: Neuronale Netze, Roboter und 3D-Druck einfach selber ausprobieren" 15
WWW.INS-ONLINE.NET Vielen Dank für Ihre Aufmerksamkeit. Gerne beantworte ich Ihr Fragen. INS Systems GmbH Zentrale Industriestraße 4-6 D-61440 Oberursel/Ts. INS Systems GmbH Niederlassung Schiessstraße 43 D-40549 Düsseldorf INS Consulting GmbH Industriestraße 4-6 D-61440 Oberursel/Ts. Telefon: +49 6172 93 65-0 Telefax: +49 6172 93 65-40 Internet: www.ins-online.de INS Systems AG The presented project is a purely private non-commercial project which is not affiliated with any of the companies or products mentioned herein. Buochserstrasse 55 CH-6375 Beckenried/NW Any trademarks, logos and service marks displayed on this presentation are the property of their owners. For example: Amazon, Kindle and all related logos are trademarks of Amazon.com, Inc. or its affiliates. Anker® and the Anker logo are registered Telefon: +41 41 544 31 00 trademarks of Anker Technology Co. Limited. Anki, Cozmo, and the Anki and Cozmo logos are registered trademarks of Anki, Inc. Telefax: +41 41 544 34 00 Autodesk®, Netfabb® and Tinkercad™ are trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates. Debian is a trademark of Software in the Public Interest, Inc. Fujitsu, the Fujitsu logo, and LifeBook are registered trademarks of Fujitsu Limited. Internet: www.ins-online.ch Lenovo™, Think Pad® and the related logos are registered trademarks of Lenovo Corporation. Linux is a registered trademark of Linus Torvalds. Ubuntu is a registered trademark of Canonical Ltd. Wanhao is a registered national and international trademark of Hangzhou Weibin Technology Co., Ltd. Windows is a trademark of Microsoft Corporation. © 2019 Knut Krummnacker, INS Systems GmbH
Sie können auch lesen