Zurück zu Projekten

CNN Stein Papier Schere

Stein-Papier-Schere spielen mit einem Convolutional Neural Network

14. July 2023

Im Kurs “Smart Media Technology” meines Medientechnologie-Studiums war ich wesentlich an der Entwicklung eines interaktiven “Stein, Papier, Schere”-Spiels beteiligt. Das Ziel unserer Gruppe war es, ein Convolutional Neural Network (CNN) zu verwenden, um Webcam-Bilder der Benutzer zu analysieren und ihre Handgesten (Stein, Papier oder Schere) zu erkennen, um gegen den Computer zu spielen.

Die gesamte Implementierung erfolgte in Python auf der Google Colab-Plattform. Wir erstellten unseren eigenen Datensatz mit etwa 200 Bildern für jede Handgeste, um das CNN zu trainieren. Dabei verfeinerten wir ein vortrainiertes ResNet50-Modell, um es an unsere Anforderungen anzupassen. Wir verwendeten PyTorch als Framework, während Ray Tune und Tensorboard zum Trainieren und Visualisieren der Ergebnisse verwendet wurden.

Unser Spiel kann in einem speziell entwickelten Jupyter-Notebook auf Google Colab gespielt werden. Das Notebook lädt das neueste Modell aus einem Git-Repository und führt die Bilderkennung durch. Um die Gestenerkennung zu verbessern, wird das Webcam-Bild mit Mediapipe auf die erkannte Hand zugeschnitten, bevor die eigentliche Vorhersage durch unser CNN erfolgt. Die Benutzeroberfläche wurde mit IPython-Widgets entworfen.

Das Projekt gab mir praktische Erfahrung in Machine Learning und Künstlicher Intelligenz für interaktive Anwendungen. Es bot interessante Einblicke in die Herausforderungen und Möglichkeiten der Bilderkennung.

Link zum Spiel-Notebook zum Spielen