Dieses Projekt will die uralte Frage ein für alle mal lösen: Ist das Kunst oder kann das weg? Und natürlich macht man das heutzutage mit Deep Machine Learning!
- Wie funktioniert das eigentlich?
- Technisch gesehen mit Hilfe von Neuronalen Netzen und Deep Machine Learning. Praktisch gesehen mit einer Menge schwarzer Magie, Code-Snippets von Stack-Overflow und einem kleinen bisschen Confirmation Bias.
- Und wie gut klappt das?
- Großartig! Während der Entwicklung wurde das neuronale Netz nur auf insgesamt 600 Bildern trainiert. Die Alpha-Version basiert schon auf fast 6000 – sie ist also 10 mal so gut!
- Ist Kunst nicht subjektiv?
- Nein! Offensichtlich kann die App ganz klar vorhersagen, was Kunst ist und was weg kann. Das Problem ist also klar gelöst, Kunst ist ab jetzt rein objektiv bewertbar.
- Und das ist Wissenschaft?
- Ja, Zu 95 Prozent! Es muss wissenschaftlich absolut valide sein, denn dieses Projekt hat seine eigene DOI: 10.5281/zenodo.3349570
- Wie sieht es mit der Privatsphäre aus?
- Die App arbeitet lokal, es gibt keinen Server, keine Bilder werden irgendwohin gesendet oder gespeichert. Wenn du misstrauisch bist, kannst du sie auch einfach selbst kompilieren
- Wie kommt man auf so eine Idee?
- Gute Frage! Die Idee hatte ich tatsächlich schon länger. Auf der diesjährigen Gulaschprogrammiernacht des CCC Karlsruhe / Entropia e.V. hatte ich endlich mal Zeit, sie umzusetzen.
- Wie kriege ich die App!?
- Noch gibt es keine Version im PlayStore. Aber das Debug-APK und die Tensorflow/Keras-Modelle kann man unter Releases finden.
Bestandteile des Projekts, um ein Tensorflow-Modell zu trainieren.
./download_images.sh
: Bilder von Google Images herunterladen, die zum Training verwendet werden- Bilder manuell nach fehlerhaften JPEGs durchsuchen (das konnte ich nicht gescheit automatisieren)
python3 ml.py
: Das eigentliche Machine Learning (Tensorboard:tensorboard --logdir=logs
)python3 tflite.py
: Konvertiere das Keras-Modell nach TensorFlow Lite./copy_models.sh
: Kopiere das Modell in die Ressourcen der Android-App
Voraussetzungen: requirements.txt
, ImageMagick, ein installierter ChromeDriver.
Referenz: Basiert im Wesentlichen auf diesem Tutorial.
Eine Android-App, die das Kamera-Bild live klassifiziert und sagt, ob es Kunst ist oder weg kann.
- Die Schritte aus
train_model
ausführen. - Den Ordner in Android Studio öffnen und das Projekt bauen.
Voraussetzungen: Android Studio
Referenz: In weiten Teilen eine leicht modifizierte Variante der offiziellen TensorFlow Lite Image Classification Example Application (Apache-2.0-Lizenz)