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" 2ALLES 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" 3NEURONALES 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" 4DAS 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" 5EIN 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" 7DER 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" 8EIN 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" 9CAD (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" 10KLASSIFIZIERTE 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" 11EIN 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" 12DAS 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" 13VERWENDETE 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" 14FAZIT
„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" 15WWW.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 GmbHSie können auch lesen