Jason Mayes, Google 27.02.2020, 11:00 Uhr

Personen in Echtzeit aus Videos entfernen

Google-Mitarbeiter Jason Mayes zeigt, wie man mit Hilfe von Tensorflow und JavaScript Personen in Echtzeit aus Videos entfernen kann.
(Quelle: github.com/jasonmayes)
Denken Sie an das folgende Szenario: Sie sind in eine Raum mit einer Person die ein Video aufnimmt. Die Kamera steht auf einem Stativ. Das Video wird direkt auf den Browser in Ihrem Smartphone übertragen. Sie sehen per Smartphone zu und werfen ab und zu einen Blick in den Raum, um das Video mit der Realität zu vergleichen. Dann beginnt die zweite Person durch das Bild zu laufen, steigt über das Bett, das man im Video sehen kann und kehrt hinter die Kamera zurück. Das passiert in der Realität. Das Video auf Ihrem Smartphone zeigt allerdings nichts davon. Niemand geht durch die Szenerie. Gespenstisch.
Klar, das kann man heutzutage machen, sagen Sie? Ja. Aber wie aufwändig ist eine Manipulation dieser Art? Genau das zeigt Jason Mayes, Senior Developer Advocate for Research & Machine Intelligence / TensorFlow.js bei Google in einem Projekt auf GitHub. Darin ist der geschilderte Versuchsaufbau zu sehen. Der Betrachter ist zwar nicht im Zimmer dabei, dafür gibt es zwei Live-Videos zu sehen. In dem ersten bleibt das Bild unbearbeitet, im zweiten fehlt die Person, die durchs Zimmer läuft.
Realisiert wird die Manipulation mit Hilfe von TensorFlow.js im Webbrowser unter Verwendung von JavaScript und das Ganze geschieht in Echtzeit. Was dahinter steckt: Der Code versucht, im Laufe der Zeit den Aufbau des Hintergrunds eines Videos zu lernen und dann wird versucht den Menschen aus dem Bild zu entfernen. Jetzt könnte man meinen: Ja, klar. Das ist wie in alten Gangster-Filmen. Die Leute vom Security-Team sehen einfach ein vorher aufgezeichntets Bild anstelle der Live-Übertragung. Aber weit gefehlt! Auf dem Bett des Versuchsaufbaus steht nämlich noch ein Laptop, welcher ebenfalls Bewegtbilder zeigt. Und dessen Bilder sind in der manipulierten Fassung des Videos durchaus vorhanden.
Erschreckend ist, dass der dazu erforderliche JavaScript-Code in der optimierten Fassung gerade einmal 265 Zeilen aufweist – die Bibliothek Tensorflow.js nicht mitgerechnet, versteht sich. Die gute Nachricht: Das Ausradieren der Person im Zimmer klappt noch nicht vollständig. Man sieht immer noch verdächtige Schatten und manchmal seltsame Flecken.
Das Experiment im Video sowie den Code dazu finden Sie auf dieser GitHub-Seite.


Das könnte Sie auch interessieren