Doom mit Gesten steuern – dank Jetson Nano und Künstlicher Intelligenz

26 Jahre nach seinem Erscheinen lässt sich Spieleklassiker Doom mit Bewegungen steuern. Ein Programmierer hat dafür eine KI trainiert.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Ein Einplatinenrechner, der Jetson Nano, mit einer aufgesteckten Raspberry-Pi-Kamera.

(Bild: Github / Nick Bild)

Lesezeit: 2 Min.
Von
  • Helga Hansen

Das Videospiel Doom leitete 1993 nicht nur die Ära der Ego-Shooter ein, sondern wird bis heute von seinen Fans regelmäßig gezockt. Der Programmierer Nick Bild kann es jetzt sogar mit Gesten steuern. Diese hat er einem Neuronalem Netzwerk beigebracht. Das Netzwerk setzt er auf dem Einplatinenrechner Jetson Nano ein, der ihn beim Daddeln filmt. Neben seinen Trainingsdaten und Skripten hat er auch Tipps zum Trainieren der Künstlichen Intelligenz veröffentlicht.

Zum Zocken lässt Bild Doom auf einem Laptop laufen und wirft das Spiel mit einem Projektor an die Wand. Seine Bewegungen im Raum erfasst der Jetson Nano (ab 193,90 €) mit Hilfe einer aufgesteckten Raspberry-Pi-Kamera. Sie werden vom Jetson in Echtzeit ausgewertet. Wird eine Bewegung erkannt, schickt der Rechner ein API Request an den Laptop, um über REST-API einen Tastendruck zu simulieren und so das Spiel zu steuern. Damit er möglichst gut erkannt wird steht noch eine Lampe auf dem Fußboden, die den Spieler ausleuchtet.

Als Künstliche Intelligenz nutzt er ein Convolutional Neural Network (CNN), da diese Netzwerke speziell für Bilderkennung entwickelt wurden. Insgesamt elf Gesten hat Bild seinem CNN beigebracht. Er kann sich in vier Richtungen bewegen (vorwärts, rückwärts, rechts und links) und fünf Aktionen ausführen: Schießen, Benutzen, Hüpfen, Kriechen, Waffe wechseln. Außerdem wechselt das Spiel bei einer Gebetshaltung in den Gott-Modus und erkennt Nichtstun. Die Kombination verschiedener Bewegung ist allerdings nicht möglich.

Der Aufwand steckt im Trainieren der KI: Dazu erstellte und labelte der Programmierer pro Geste 300 Bilder von sich, insgesamt also 3300 Bilder. Ursprünglich hatte er sogar mehr als 32000 Bilder geschossen, wobei er mit der Zeit aber zu nachlässig vor der Kamera bewegte. Wichtig sei auch die Qualität der Bilder sowie Abwechslung in den erfassten Blickwinkeln und der Einsatz unterschiedlicher Beleuchtung.

Das Modell seines Neuronalen Netzwerks optimierte er mit Amazons Cloud-Service AWS und einer Portion “Trial and Error”. Am Ende stehen acht Convolutional Layer, die Bildparameter wie Beine, Arme und den Kopf unterscheiden helfen, sowie zwei Fully Connected Layer. Die Genauigkeit der Bilderkennung liege dann bei 98 Prozent, so Bild. (hch)