Erhöht eure Video-Framerate! - Mit Flowframes

in #deutsch4 years ago

video framerate flowframes.jpg

Hiho und schönen Sonntag, ihr lieben Hive-Menschen! Heute möchte ich euch eine kleine Software namens Flowframes vorstellen, welche dank der Verwendung von künstlicher Intelligenz, Video-Interpolation auf ein neues Level hebt. Keine Sorge, dass klingt nun wahrscheinlich komplizierter als es tatsächlich ist. Selbst wenn ihr keine Bewegtbild-Nerds, VFX-Artists oder Video-Editoren seid, könnte diese Software dennoch von Nutzen für euch sein. Aber fangen mir mal bei den Basics an:

Framerate – Bildfrequenz

Jegliches Bewegtbildformat, egal ob digital oder analog, hat eine bestimmte Framerate (übersetzt Bildfrequenz). Diese definiert wie viele Bilder wir pro Sekunde sehen und wird fast immer mit FPS (Frames per second) abgekürzt.

Im Kino erleben wir 24fps, im europäischen Fernsehen 25fps und in Nordamerika 30fps[1]. Klassische PC-Bildschirme haben 60fps (meist aber in Herz angegeben), Gaming Monitore gibt es mittlerweile mit 360fps / 360Hz[2]. Ich möchte jetzt nicht zu tief in die Materie eintauchen, aber als Faustregel kann man sagen: Umso mehr fps, umso „flüssiger“ empfinden wir eine Bewegung. Deswegen haben wir im Kinosaal unsere cineastischen 24fps, Profi-Gamer haben jedoch gern das zehnfache mit 240Hz Monitoren.

Umkehrt funktioniert es auch nicht. Ein klassisches Videospiel, welches mit 24fps läuft, fühlt sich träge und mühsam an. Ebenso empfinden viele Menschen Kinofilme, welche mit einer höheren Framerate abgespielt werden, als befremdlich. Ein sehr gutes Beispiel ist „Der Hobbit“, welcher in machen Kinos mit 48fps zu sehen war. Der sogenannte „Seifenopern“-Effekt[3] war für viele Zuschauer störend.
Man muss es tatsächlich gesehen haben, um zu verstehen, was Kinogänger unter dem „Seifenopern“-Effekt verstehen. Die Figuren, aber auch Gegenstände sind scharf gezeichnet, heben sich dadurch aber wie ausgeschnittene Pappkartons oftmals vom Hintergrund ab. Statt der versprochenen Tiefe und des realistischen Bildes wirkt alles seltsamerweise flacher und künstlicher als jeder 2D-Film, den ich bisher gesehen habe.
Quelle: https://futurezone.at/meinung/hobbit-in-48fps-noch-nie-war-kino-so-flach/24.589.161

Frame Interpolation

Möchte man nun in seinem 24fps Kinofilm eine Zeitlupe einbauen, muss die entsprechende Sequenz zuvor mit einer höheren Framerate gefilmt werden. Also zum Beispiel für eine vierfache Verlangsamung ist es sinnvoll, eine Szene mit 96fps zu filmen. Verlangsamt man Bewegtbildmaterial, welches keine höhere Framerate besitzt entsteht ein unschönes Ruckeln. Selbst in teuren Kinofilmen ist dies, leider, öfters zu sehen. Zum Beispiel weil der Regisseur erst im Schnitt beschließt, eine Szene in Zeitlupe zu zeigen, welche zuvor nicht dafür vorgesehen war.


Eindeutiges Ruckeln der Tischkante im Hintergrund

Und hier kommt nun Frame Interpolation ins Spiel. Dabei werden mit Hilfe von Algorithmen künstliche Zwischenbilder berechnet.
Motion_interpolation_example.jpg
Quelle: https://de.wikipedia.org/wiki/Motion-Interpolation

Dabei wird ermittelt, welche Bereiche im Bild sich wohin bewegt haben. Dafür kann es sein, dass der Algorithmus nicht nur zwei Bilder miteinander vergleicht, sondern eine Vielzahl von Einzelbildern betrachtet, um die Bewegung besser zu bestimmen. Je nach Videoquelle kann dieser Vorgang zu sehr guten, bis zu furchtbaren Ergebnissen führen. Diese sind dann als störhafte Artefakte oder unnatürlich aussehende Bewegungen sichtbar.

artifacts.jpg
Quelle: Artifacts from conventional motion interpolation

Video-Interpolation wird heutzutage von so ziemlich jeden Videoschnitt bzw. Compositing-Programm unterstützt, und ist meist mit ein paar Mausklicks erledigt. Oft stößt man dabei leider an die Grenzen klassischer Algorithmen. Das mussten auch ich und @ninki.vienna zuletzt bei einem Video-Projekt feststellen. Deswegen entschieden wir uns einen neuartigeren Ansatz zu wählen.

Flowframes – Video-Interpolation mit KI (künstlicher Intelligenz)

Während meiner Diplomarbeit bin ich, als ich nach Beispielen für KI-Anwendungen im Videobereich suchte, auf FlowFrames gestoßen. Tatsächlich las ich zuerst ihre Forschungsarbeit bevor ich bemerkte, dass sie ihre Algorithmen auch in einem gratis OpenSource-Projekt zu Verfügung stellen. Hier ist ein Link zur Forschungsarbeit: RIFE: Real-Time Intermediate Flow Estimation for Video Frame Interpolation Dort ist auch ersichtlich, dass die Ergebnisse mit ihrem Algorithmus weit bessere Ergebnisse liefert als klassische Methoden.


Links: Original, rechts mit Frame Interpolation durch Flowframes

Glücklicherweise ist FlowFrames, obwohl die darunterliegenden Algorithmen hochkomplex sind, in der Anwendung kinderleicht. Dies wird schon durch das minimalistische Interface verdeutlicht:

flowframes ui.jpg

Über den Button „Browse (Video)“ wählt man die gewünschte Videodatei aus, im Feld darunter definiert man wo das neu erstellte File dann gespeichert werden soll. Bei „Set FPS / Interpolation Factor“ definiert man wie stark man die Framerate erhöhen möchte. Dies ist eine große Stärke von Flowframes, viele klassische Softwareprodukte ermöglichen nur maximal eine Verdoppelung. Als „AI Model“ verwendet man das standardmäßig ausgewählte Modell. Diesen Reiter sollte man nur justieren, falls man fehlerhafte Ergebnisse bekommt. Beim „Output Mode“ stellt man je nach Wunsch das bevorzugte Videoformat ein. Danach muss man nur noch auf den Button „Interpolate!“ drücken.

Und schon beginnt der Computer zu arbeiten, und zwar ordentlich. Wie so ziemlich alle klassischen KI-Anwendungen benötigt Flowframes eine ordentliche Grafikkarte. Als Mindestanforderung würde ich 4GB VRAM empfehlen, 6GB oder mehr sind jedoch optimal. Falls ihr diesbezüglich überfragt seid, was ihr für eine Grafikkarte habt, könnt ihr das unter Windows 10 einfach über den Task-Manager ansehen.

taskmanager.jpg

Wer keine Nvidia Grafikkarte hat, muss auf das „RIFF – Vulkan“ im Reiter „Interpolation AI“ zurückgreifen. Umso größer die Bildauflösung des Inputvideos ist, umso enormer ist die benötigte Rechenleistung. Bis FullHD (1920x1080) ist die Interpolation auch noch mit klassischen Gaming-Grafikkarten problemlos machbar, ab 4K (3840x2160) wird wirklich enorm viel Leistung notwendig.

Falls ihr keine entsprechende Hardware habt, jedoch gerne Flowframes für einen Clip ausprobiert hättet, schreibt mir einfach und ich kann euch das gerne mit meinen Computer berechnen.

Einsatzzwecke

Die klassischen Fälle sind natürlich Personen, die Videoschnitt betreiben oder einfach regelmäßig Videos publizieren(vllt. etwas für dich @for91days ?). Ich weiß gar nicht wie oft es mir schon passiert ist, dass ich gerne in einer Szene Zeitlupe verwendet hätte, jedoch das entsprechende Quellmaterial dies verhinderte. Jedoch gibt es, meiner Meinung nach, noch einen anderen offensichtlichen Einsatzzweck: Restaurieren von altem Material.

Vielleicht habt ihr, eure Eltern oder Großeltern noch richtig altes Bildmaterial. Zum Beispiel von Familienfeiern oder ersten Reisen. Super8 Film, welcher früher sehr verbreitet war, wurde meist mit 18fps gefilmt[4]. Diese ruckeligen Aufnahmen können durch Frameinterpolation neues Leben erhalten. Hier ist ein Beispiel:

Oder vielleicht möchte man den Hochzeitskuss, um die emotionale Bedeutung mehr zu betonen, in Zeitlupe genießen. Ein großer Nutzen besteht auch für Personen die handgezeichnete Animationen oder Stopmotion Videos machen. Hier ist jedes Einzelbild mit viel Handarbeit verbunden, dementsprechend werden viele Stopmotion-Videos nur in 12fps produziert. Mit Flowframes kann man diese Videos auf klassische Framerates anheben, ohne eine Vielzahl von Einzelbildern zusätzlich aufzunehmen. Hier ist ein Beispiel für Stop-Motions:

Fazit

Ich als Video-Editor, finde es spannend, wie immer mehr und mehr KI-Softwareanwendungen in mein Fachgebiet eintauchen. Erst heute hat ja auch @altobee einen Post veröffentlicht wo es um Tool ging, welches einen KI-Ansatz verwendet. Oft sind diese jedoch für so spezielle Anwendungsfälle gedacht, dass sie für Personen, die nicht in diesen Fachbereich tätig sind, keinen Nutzen haben. Ich denke, dies ist mit Flowframes, schon ein wenig anders und deswegen wollte ich es euch nicht vorenthalten. Vor allem der Restaurierungsansatz ist einen Blick wert. Denn ihr könnt ja nicht nur die Framerate erhöhen, sondern auch die Bildauflösung dramatisch erhöhen (zum Beispiel mit der Testversion von Video Enhance AI). Dies kann in Kombination schon zu verblüffenden Aufnahmen führen und einen spannenden Blick in die Vergangenheit ermöglichen:

Und selbst wenn ihr den Nutzen der Restaurierung (noch) nicht sieht, habe ich eine Aufgabe für euch: Fragt in eurer Familie nach alten Aufnahmen und digitalisiert sie, damit diese wertvollen Erinnerungen nicht verloren gehen. Außerdem werdet ihr damit vor allem der älteren Generation ein Lächeln aufs Gesicht zaubern, wenn die Jahrzehnte alten Videos plötzlich auf dem großen TV im Wohnzimmer wieder zu sehen sind.



Falls ihr irgendwelche Fragen zum Thema habt, dann nur her damit!

Quellen

[1] https://flauntdigital.com/blog/video-frame-rates/
[2]https://www.nvidia.com/de-at/geforce/technologies/360-hz/
[3]https://de.wikipedia.org/wiki/Soap-Opera-Effekt
[4]https://www.straight8.net/cheat-sheet

Sort:  

Das klingt alles ganz fantastisch, nur muss man sich die Zeit dafür nehmen und vermutlich auch ein paar Euros, aber immer gut zu wissen was geht, für den fall... ;)
!ENGAGE

Das Tool ist ja zum Glück kostenlos, bei der häufigen Verwendung kann man ja die Spendefunktion verwenden.

Die passende Grafikkarte ist eher der teure Aspekt.

Schoen von Dir zu hoeren ... Hoffe Dir geht es gut. Habe auf Teneriffa angefangen auf 4k und 60 fps zu Filmen. Was mir so viel mehr Moeglichkeiten in der Post gibt. Mein neues Handy kann auch 8K, aber ich traue das meinem Computer noch nicht zu :)

Ja ich probier mich jetzt wieder regelmäßig mich her zu wagen :)

Haha, ja es ist echt absurd wie schnell die Smartphones Kamera die Spezifikationen erhöhen und erhöhen.

schon ein ziemlich lässiges Tool. Bin immer noch erstaunt, daß sie das gratis anbieten.

Saugeil danke für den Tip! Ich arbeite viel in der Videoproduktion, ich sehe da ziemlich geile chancen 240fps footage auf superslomo zu kriegen.
Leider ist das tool Windowsbasiert. Ich arbeite in der Macumgebung. Könnte ich das auf nem Virtuellen Rechner laufen lassen?

Sorry für die späte Antwort!

Freut mich das ich wirklich einen potentiellen Anwender erreichen konnte :) Ja, der Entwickler hat auch geschrieben das zumindest eine Mac-Version wohl nicht kommen wird, wird wohl auch für Linux gelten. Das ist zwar sehr schade, aber bei solchen Nischen Programmen leider häufig.

Ich vermute schon das es ginge mit einer VM, solange die Grafikkarte durchgeschleift wird? Ich bin bezüglich Virtualisierung leider kein Experte.

Jo Toby, long time no see! War mir ein Volksfest, deinen Post zu lesen, sehr nice.

Oh, du scheinst ja auch nicht mehr sooo viel aktiv zu sein so wie früher. Ich hoffe jedenfalls es geht dir gut, das ist das wichtigste :)

Danke für deinen Kommentar!

Hey Tobi, erstmal danke für die Erwähnung 😀

Oft sind diese jedoch für so spezielle Anwendungsfälle gedacht, dass sie für Personen, die nicht in diesen Fachbereich tätig sind, keinen Nutzen haben.

Naja, oft werkeln KI Algorithmen ja schon im Hintergrund herum ohne das wir was merken. Siehe allein das iPhone (bzw aktuelle Smartphones) beim normalen Foto - da wird ja nun auch schon per KI optimiert und man bekommt nur das Ergebnis zu Gesicht - und ist dann ganz verblüfft, wenn sich die KI mal verrechnet und man sich fragt warum das Foto nun so aussieht.

oder aktuelle 4 oder 8K TVs rechnen ja auch schon Bilder von einer HD Auflösung hoch zum jeweilen UHD Format - wie dem auch sei, für solche Zwecke wie Du sie beschreibst natürlich ziemlich cool!

Allerdings - man muss sich echt dazu zwingen Berge von alten Material zu bearbeiten und in heutigen Techniken zu archivieren... Deswegen bleiben die schönen, alten Filmchen dann doch oft irgendwo "verstaubt" liegen...

Selbstverständlich, kein Problem!

Ja, das stimmt natürlich. Auch einfach beim Verwenden von Suchmaschinen oder Online-Markplätzen passiert im Hintergrund ja mittlerweile viel auf KI. Ich meinte mit diesem Satz jedoch eher Programme die man bewusst selbst einsetzt/steuert als Endverbraucher. Da fallen mir grad die künstlichen Bokeh-Effekte auf den neuen Smartphones ein. Die fand ich meistens recht furchtbar bis jetzt.

Diese neuen KI-Algorithmen sind schon sehr faszinierend, noch nicht immer perfekt, aber teilweise sehr beeindruckend und auch eine enorme Arbeitsersparnis.

Ja, es ist schon etwas verrückt. Ich bin gespannt ob diese Entwicklung jetzt auch so rasant weitergeht oder man jetzt bald mal ein Ende erreicht.

Thank you for your engagement on this post, you have recieved ENGAGE tokens.