Kurz gesagt, machte die hundertjährige Blockbuster-Farbe

Inhaltsangabe

Das Ausmalen von Filmen vor diesem Jahr kostete Hunderttausende von Dollar, erforderte die Teilnahme einer Masse von Spezialisten und nahm viel Zeit in Anspruch. Jetzt hat sich alles geändert. Die Entwicklung des Deoldify-Projekts hat einen solchen Zustand erreicht, dass die Ergebnisse seiner Arbeit bequem beobachtet werden können, indem die Gesichtspalme entspannt wird. Aus dem Text erfahren Sie Einzelheiten zu einem erfolgreichen Versuch, einen Film ohne Kosten einzufärben, der in wenigen Wochen von einer Person durchgeführt wurde.


Schicken Sie das Bild zurück


10 beginnen

Diese Geschichte begann genau wie jede andere ähnliche Geschichte. Der extravagante Youtube-Empfehlungsalgorithmus erzeugte etwas, das meine Aufmerksamkeit auf sich zog und die unerwartetsten weiteren Konsequenzen hatte. Die vorletzte Zeit führte dazu, dass der Kanal "Vergessene Waffen" nicht geschlossen wurde. Es ist schwer zu verstehen, warum ich damals ein solches Angebot erhalten habe, aber höchstwahrscheinlich war es so:

1. user_id schaut sich Videos auf RDR2 an.
2. In RDR2 befindet sich eine Vulkanpistole.
3. Auf dem Kanal "Forgotten Weapons" gibt es eine Überprüfung der Vulkanpistole.
4. Menschen, die sich für RDR2 interessieren, möchten häufig etwas über die Vulkanpistole erfahren.
5. Tausend Teufel, aber vergessene Waffen werden zu ihm kommen!

Weniger als zwei Tage später habe ich bereits Partisanenliteratur über die Herstellung verschiedener Arten von Schusswaffen studiert, Fotos von Karamultuk aus Drittländern durchgesehen und untersucht, wie einfach es war, den Kofferraum eines Hauses zu zerschneiden. Zerrissen zwischen den Optionen: Kaufen Sie ein Spielzeug und bringen Sie es in den richtigen Zustand oder montieren Sie einen Teilesatz in einem Baumarkt. Letztendlich hat die Verlosung aus dem Laden aus rechtlichen Gründen gewonnen. Zum Glück gab es keine Antwort auf die Frage nach dem Warum, und aktive Aktionen in dieser Richtung wurden zunichte gemacht.


Und wickeln ....

Diesmal gab es keinen offensichtlichen Grund, sich den farbigen Charlie Chaplin anzusehen. Neuronale Netzwerkantwortpfade sind mysteriös. Der beobachtete Anblick verursachte zuerst Verwirrung und Fragen und dann heftigen geistigen Speichelfluss. Im Gegensatz zu den bisher bedauerlichen Versuchen der automatischen Einfärbung wurde diese Videosequenz als absolut glaubwürdiger Anblick wahrgenommen. Zu graben war natürlich was, aber:

a. Es gab keine Belästigung durch Verrücktheit
b. Es war wirklich ein Gefühl der Tiefe des Bildes, das die Komplexität der Wahrnehmung von s / w-Bildern durch das moderne Gehirn beseitigte

Die Neugierde zog sich dahin und studierte bereits ein Projekt über Github. Nach dem Test der Cloud-Version auf ein paar Fotos, nachdem ich mir die Videos angesehen hatte, bemerkte ich deutlich ein gewisses Verlangen in mir. Die Fähigkeit, reale Beweise der Vergangenheit in den aktuellen Medienkontext zurückzubringen, ohne Hunderttausende von Geld zu investieren, hmm, das ist etwas Aufregendes, etwas, das völlig ausreicht, um den kühlen Verstand zu stärken.

„Lass es uns versuchen“, diese heilige Phrase, die schüchtern ausgesprochen wird, aber irgendwo in den Tiefen der Seele gibt es bereits einen Kern des Verstehens, dass eine gute Geschichte jetzt beginnt.


Sichtung

Angenommen, der Motor ist in Aktion. Wir machen die erste Videosequenz für 4 Minuten. Was zuerst? Entfernen Sie das üble Wackeln von Kamera und Film, die standardmäßig immer aus solchem ​​Material bestehen. Es wird nach Optionen gesucht, die mit einer Vielzahl von Steuerelementen und außerhalb von Video-Editoren verfügbar sind. Da es notwendig war, eine ganze Kette verschiedener Software-Tools zu verwenden, verschwand die Verwendung von Standard-Videobearbeitungspaketen sofort. Nur Einzelbilder mit Dateien, nur Hardcore. Und natürlich ist es nicht nur notwendig, irgendwie zu stabilisieren, sondern auch filmisch zu stabilisieren, indem die begrenzten und gleichmäßigen Bewegungen einer Filmkamera imitiert werden. Zumindest etwas Vertrauen wurde durch ein einzelnes Modul für Python verursacht. Okay, das heißt, der Code geht sofort.

Stabilisiert. Ein bisschen lang, okay. Wow, cool, es stellte sich heraus, ja, was du brauchst, musst du natürlich mit einer Akte beenden, aber warum sind wir sonst hier? Weiter selbstblühend. Wir legten es, legten es, legten ein anderes, wieder Konflikt, legten es noch oben, auf die Seite, gib nicht auf, vielleicht las das Handbuch, es ging, nein, lösche dir, noch einmal, oh, das war es, gut, endlich. Starten Sie. Verdammt, etwas sehr Langes. Aber die Farben, die Farben, wow, du hast Recht, aber in all diesen Dingen ist es sinnvoll und es lohnt sich, fortzufahren.

Was jetzt? Wahrscheinlich ist die Frame-Interpolation im Jahr 2019 nichts Besonderes, und Sie können ein Projekt für den bedingten professionellen Gebrauch ausgraben. Und doch ja, wieder Erfolg, ein solches Projekt ist frei verfügbar. Wir setzen es, setzen es ... Starten. Verdammt, etwas ist nicht wieder schnell. Aber wie reibungslos, wie reibungslos ersetzen sich die Frames, ein Wunder, als ob die üblichen 24 Frames.

Also, das ist was rauskommt, hat alles geklappt? Der gesamte Förderer hier ist einsatzbereit. Sie müssen nur etwas darauf werfen und das Ergebnis erhalten.

:: gelöst ::


Vorübergehende Schwierigkeiten

In jeder Verarbeitungsstufe wurde die aufgewendete Zeit aufgezeichnet. Ich extrapoliere für 90 Minuten: Mutlosigkeit Angriffe, um es gelinde auszudrücken. Ich habe die Messungen und Berechnungen sogar ein paar Mal überprüft, weil die erhaltenen Zahlen die ursprüngliche Idee von "nur schnell, einfach, lustig" zu "nur lang, einfach, traurig" machten. Zwar werden sich später noch zwei Wörter in dieser Formel zum Schlechten wenden, aber es gab schon etwas, worüber man sich ernsthaft Gedanken machen sollte.

Der ausgewählte Film benötigt also 4 Stunden Stabilisierung, 420 Stunden Blüte und 30 Stunden Bildinterpolation. Ja ... Nun, danke, Charlie.

Möchtest du etwas tun? Der Achtkern-Mac mini 2012 ist das einzige, was Sie nutzen können. Vor meinen Augen stand ein Video mit Linux auf der PS4. Die Zähne knirschten vor Wut über die Unfähigkeit, Firmware-Updates zurückzusetzen, die mit der stolzen Überzeugung installiert wurden, dass ein Jailbreak nicht erforderlich war. Wie würden all diese Python-Projekte dort funktionieren? ¿Gibt es Zugriff auf Berechnungen auf der GPU? Ich war nicht dazu bestimmt, diese Fragen zu untersuchen.

Es blieb entweder zu kapitulieren oder demütig zu starten und zu warten. Kapitulation ist keine Option. Warten Sie auch ein paar Wochen. Aber es gab keine andere Möglichkeit.


Stabilisiere es


Über Stabilisierungswerkzeug
Link zum Projekt zur Videostabilisierung: pypi.org/project/vidstab
Beschreibung: Das Projekt verwendet opencv-Funktionen, um den Frame-Versatz aus dem erwarteten Wert zu ermitteln, berechnet den erforderlichen Versatzausgleich und führt einen Zuschnitt durch, um die springenden Kanten auszublenden und ein sich reibungslos bewegendes Bild zu erstellen. Aufgrund der Möglichkeit, eine Methode zur Suche nach Unterschieden zwischen Frames zu wählen, kann ein unterschiedliches Stabilisierungs- / Pixelverlustverhältnis erzielt werden. Es verfügt über eine sehr nützliche Debugging-Funktion zur grafischen Anzeige von Eingaben und berechneten Werten.


Schließlich beginnt die raue Realität in eine gemütliche Welt einzubrechen. Neben Problemen mit der Hardware treten auch Softwareprobleme auf. Was in einem Teststandard für einen Testvideoclip funktionierte, schlägt in einem vollwertigen Film hier und da fehl. (Unerwartet, nicht wahr?)

Ich muss mir eingestehen, dass es an der Zeit ist, Hausschuhe gegen Gummistiefel auszutauschen, und es ist besser, die Ärmel hochzukrempeln, weil ich das nicht möchte, aber ein Eintauchen in die Innenseiten des Moduls lässt sich nicht vermeiden.

Die Hauptschwierigkeit ist der Szenenwechsel. Das Projekt ist so konzipiert, dass nur kurze Fragmente bearbeitet werden, in denen sich der Kontext nicht ändert. Nach dem Studium, was passiert und wie es passiert, gibt es einen Ort für grobe Flecken, deren Bedeutung darin besteht, die Stabilisierung bei hohen Werten des Frame-Offsets zu deaktivieren. Ohne diesen Patch manifestierte sich der negative Effekt als ein sanftes Kriechen der nächsten Szene von irgendwo außerhalb in ein schwarzes Feld.

Anstatt das fertige Skript zu starten, erschien am Ende ein Skript, dessen Kern darin besteht, den Frame vorab zuzuschneiden und die optimalen Werte festzulegen. Der angegebene Code hat keinen Wert, da er grundsätzlich das Beispiel des Autors des Moduls wiederholt, Sie den Text jedoch mit etwas verdünnen müssen.


Gib das Bild zurück

Ein interessanter Fund war genau einer: Für ein paar Szenen wurde der Zuschnitt linear verjüngt, was einen Annäherungseffekt erzeugt, aber tatsächlich völlig wilde Bildsprünge in der Szene verbirgt. Wenn Sie sofort einen schmalen Ausschnitt einstellen, gehen viele Informationen verloren, in der endgültigen Version bemerkt der Betrachter nichts Verdächtiges, da das „Einzoomen“ mit einem dramatischen Rhythmus verbunden ist.


Lieber lange


Über das Werkzeug zum Blühen
Link zum Projekt: github.com/jantic/DeOldify
Beschreibung: Das Projekt erstellt Farbbilder in Schwarzweiß. Es gibt drei Betriebsarten: Fotografien, Kunstbilder, Video. Für jeden Modus müssen Sie Ihren Modellstatus herunterladen. Es ist möglich, das Modell vom Benutzer zu trainieren. Der Autor des Projekts verwendete einen nicht standardmäßigen Ansatz für die Architektur des neuronalen Netzwerks, wodurch ein stabiler Effekt erzielt wurde, der sich von anderen Implementierungen unterscheidet.


Schicken Sie das Bild zurück

Der Computer wird in die Küche getragen, weil der meist absolut leise Mac Mini unter Last ständig laute Geräusche macht. Nur wenige der Besitzer dieser Gizmos können dieses Geräusch hören, da sie das Geräusch der Lüfter (das bei starker Belastung zu hören ist) als nur halb so schnell wie möglich ansehen. Die Blüte beginnt.

Die Projektdateien mussten ein wenig gepatcht werden, um den Umgang mit meinen eingehenden Daten zu erlernen und sie in das richtige Format, in die richtige Reihenfolge und in die richtige Ansicht zu bringen. Obwohl wir ein kleines Skript schreiben mussten, um es auszuführen, gehen wir davon aus, dass das Projekt ohne Datei funktioniert. Fragen können nur für den Parameter render_factor auftreten.

Die Auswirkung auf das Ergebnis ist wie folgt:
0-7 voller Brei
8-12 übersättigte Farben, grobe Färbung (für schlecht erkannte Szenen ergibt sich zumindest ein gewisser Effekt)
13-18 ist so für Sie, für nicht erkannte Szenen lohnt es sich, zuerst diesen Bereich auszuprobieren
19-20 für Experimente (wir werden Schienenverteiler aus Birkenrinde durchführen)
21 ist die optimale Anzahl
> = 22 Die Sättigung beginnt zu verschwinden, die Bedeutung der Verwendung nimmt ab

Je kleiner diese Zahl ist, desto geringer ist der Speicherverbrauch und desto schneller ist die Berechnung.


Schicken Sie das Bild zurück

Ja Am nächsten Tag tauchen in meinem Kopf die Erinnerungen auf, dass der i7-Prozessor über einen Turbomodus verfügt und dass sogar irgendwie seine Arbeit überprüft wurde. Informationen zur Aktivierung unter Windows finden Sie hier, und die Testdienstprogramme zeigen immer stärkere Werte für die Kernfrequenz an. Die Prozessortemperatur springt im Bereich von 85-99 ° C. Ein Topf Wasser wird aufgesetzt, um die Wärme abzuleiten. Von unten bläst der Kühler aus dem Laptop. Wenn früher 5% der Frames pro Tag verarbeitet wurden, wurde dieser Wert im beschleunigten Modus zu 7%. Zumindest ein bisschen Freude.


Schicken Sie das Bild zurück

Abenteuer erwartet uns

Jedes Programm kann fallen. Natürlich ist die Blüte gefallen. Gut gefallen, neu starten. Und dann kam "oh". Manchmal fallen die Versionen für Experimente in das Produkt, wissen Sie, als ich die Projektmodule gepatcht habe, war ich abgelenkt und vergaß, die gesamte Kette und Bedeutung der einzelnen Anweisungen zu betrachten, und betrachtete das Patchen als abgeschlossen. Das Projekt löscht zunächst den temporären Ordner, erstellt einen neuen, fügt die Frames hinzu, die dort aus dem Video gezogen wurden ... im Allgemeinen haben Sie bereits vermutet, dass der Ordner mit den Ergebnissen für den Tag für mich aufgeblasen wurde.

Dann gab es R.saver, für einige Stunden, anstatt zu blühen, scannen wir die Scheibe, und dies ist ein Minus von der Renderzeit. Wir übergeben an einen anderen Computer mit dem gespeicherten. Außerdem stellt sich natürlich heraus, dass einige Dateien nicht den vollen Inhalt haben, da das Problem nicht sofort bemerkt wurde. Wir müssen einen Checker schreiben, um erstens die Verluste abzuschätzen und zweitens eine Liste von Frames zum Wiederaufblühen zu erstellen.

Smaku fügt hinzu, dass durch das Blühen die ursprünglichen Frames gelöscht werden. Es ist normal, dass beim Neustart nicht verwirrt wird, was verarbeitet werden muss und was nicht. Es ist nicht normal, einen Ordner mit stabilisierten Bildern zu haben, nicht "Nun, was läuft falsch" und "Wenn das so ist, können Sie immer wieder stabilisieren". Ja, alles ist möglich, wenn man Zeit verbringt.


Angelegenheiten, Sorgen

Okay, das Leben schien sich irgendwie verbessert zu haben, der Minicut summte leise, man konnte bereits weitere Arbeiten planen und Skripte für die Nachbearbeitung schreiben.

Das Betrachten des Blütenmaterials verursachte neben Freude auch Ärger. Es gab zwei unangenehme Dinge. Erstens galoppierte der Farbton zwischen den Bildern, was höchstwahrscheinlich auf die ungleichmäßige Helligkeit der Quelle zurückzuführen ist.


Schicken Sie das Bild zurück

Zweitens zeigte sich eine Reihe von doppelten Frames. Es scheint, warum, aber anscheinend, dass Haushaltsvideoplayer mit etwas weniger als 24 Bildern / s nicht verrückt wurden.

Es gibt Probleme und sie müssen irgendwie gelöst werden. Es wird deutlich, dass der Frame-Stream in Szenen unterteilt werden muss. Um den Ton / die Helligkeit anzupassen, benötigen Sie Ränder. Und um Texte nicht zusammen mit doppelten Frames zu löschen, ist es notwendig, die Frames in Text und Nicht-Text zu unterteilen.

Lange Experimente beginnen, die Ähnlichkeit des Personals festzustellen. Hallo opencv, was bist du?
Überspringen wir das Herzenswerfen (sie werden durch den Code sichtbar), die Anzahl der Versionen und die erprobten Methoden (sichtbar durch die Anzahl der Hilfsfunktionen).


Schicken Sie das Bild zurück

Ich werde versuchen, die endgültige Version zu erklären.


Schicken Sie das Bild zurück

Wir laden zwei Frames nacheinander. Wir machen eine leichte Unschärfe, der Teufel weiß warum, aber wenn ja, dann zeigten die Experimente eine Verbesserung der Ergebnisse (vielleicht wird der Einfluss von Lärm beseitigt). Finden Sie die wichtigsten Punkte in den Rahmen und vergleichen Sie sie.


Schicken Sie das Bild zurück

Erklärung für diejenigen, die mit opencv nicht vertraut sind:

Suche nach Schlüsselpunkten (Schlüsselpunkten, kp) - Hervorheben der charakteristischen Merkmale, die unverändert bleiben, wenn sich das Bild ändert. Sehr unhöflich, aber einfach, kann man sich eine Reihe von Mikro-Hashes vorstellen.

ORB ist eine von vielen wichtigen Methoden zur Hervorhebung von Punkten.

Beschreibungen, parametrische Beschreibungen der wichtigsten Punkte.

BFMatcher - Meerrettich zum Vergleichen von Schlüsselpunkten mit des. Seine Aufgabe besteht darin, denselben Punkt in zwei Feldern auszuwählen und die Abweichung jedes Wicklungspunkts von seiner ursprünglichen Position zu berechnen. Tut mir leid, meine inglezh.

Es zeigt sich, dass die Frames umso identischer sind, je kleiner der Gesamtabstand der Verschiebung der Punkte ist.


Schicken Sie das Bild zurück

Wenn die Punktzahl größer als die magische Zahl ist, lohnt es sich, zusätzliche Überprüfungen durchzuführen. Vielleicht ist dies wirklich eine andere Szene? Überprüfen wir zunächst, ob es einen Frame mit zwei Texten gibt. Erstens benötigen wir diese Funktion. Zweitens hat sich die Szene definitiv geändert, wenn sich der Rahmentyp geändert hat (Text -> nicht geschrieben). Reduzieren Sie das Farbbild auf eintönig und senden Sie die ungesunde Person zur Texterkennung (obwohl is_text noch schöner ist).


Schicken Sie das Bild zurück

Wenn Sie versuchen, die Essenz zu beschreiben, dann wird nach geschlossenen Konturen gesucht, und wenn sich herausstellt, dass wir viele Konturen haben, die in unserer magischen Erwartung in der Größe liegen, dann ist dies höchstwahrscheinlich Text. Wie Sie vielleicht erraten haben, wurde dieser Code durch is_text ersetzt. Er kann jedoch als erfolgreich angesehen werden, obwohl es bei sehr großen Buchstaben und Szenen wie Blendung auf Schwarzwasser Fehler gibt. Mit Worten wird es schwierig sein, all das Werfen zwischen den verschiedenen Optionen „einfach, aber es funktioniert“ und „es funktioniert definitiv, aber übertrieben“ zu vermitteln. Eine Art technischer Redneck erlaubte uns nicht, weit von der Lösung „schwarze Streifen an allen Kanten = Text“ abzuweichen.


Schicken Sie das Bild zurück

Wenn der Text hier nicht riecht, versuchen wir, Schwarz-Weiß-Histogramme zu vergleichen. Wenn sich der Verdacht verstärkt, vergleichen wir Farb-Histogramme. Wenn er direkt sehr verdächtig ist, vergleichen wir ihn in einem Frame.


Schicken Sie das Bild zurück

Hier rein praktische Handlungen: Wenn das Drehbuch eine kurze Szene machen wollte, dann schien es ihm wahrscheinlich besser, diese Szene der vorherigen hinzuzufügen. Wenn die Szene mehr als 90 Bilder enthält, verlängert sich die Zeit für die weitere Verarbeitung der Szene.

Es war nicht einfach, einen Ausgleich für den Ton zu finden. Nur ein wissenschaftlicher Artikel und ein zugehöriges Projekt sind offensichtlich Google.

Pro Tool zur Stabilisierung des Farbtons
Link zum Projekt: github.com/Al-th/MVA_Project_TonalStabilization
Link zu einem Artikel, der die mathematische Essenz beschreibt: www.cse.huji.ac.il/labs/cglab/projects/tonestab
Beschreibung: Das Projekt betrachtet zunächst die Frames des Videos und berechnet die lokalen Unterschiede der Frames aufgrund des Hardcore-Matans. Im zweiten Durchgang werden diese Differenzen auf den berechneten „richtigen“ Wert reduziert.


Es gibt ein kleines Problem. Das ist Matlab. Aus irgendeinem Grund wollte ich dieses Monster wirklich nicht sofort einsetzen und zog mich in Richtung GNU Octave. Der Code war natürlich nicht vollständig kompatibel, ich musste herausfinden, wie man Bilder liest und schreibt, die Erwartungen der Funktionen erfüllt, die in Octave anders funktionieren, die Sprache im Allgemeinen nicht vollständig mit dem Mainstream übereinstimmt und ich musste mich mit verschiedenen Matanov-Nuancen befassen, und das ist ein Tag verloren.

Als es endlich klappte, störte die Verarbeitungsgeschwindigkeit gelinde gesagt. 20 Sekunden pro Bild. Sogar auf dem alten Prozessor ist das übertrieben. Okay, mal sehen, wie es Matlab geht. "Wähle ein Paket." Ähm, aber xs was brauche ich, na ja, lass uns mit DSP. Und los geht's! "Das Bildverarbeitungspaket ist in Ihrer Version nicht installiert." Na gut, ich habe noch freie Adressen für die Anmeldung.

Es begann schließlich und funktionierte sogar viel schneller als in Octave, aber diesmal immer noch zu lang, vergleichbar mit der Blüte, und zweitens entsprachen die Ergebnisse der erhaltenen Korrekturen nicht meinen hohen Erwartungen.


Wenn Sie etwas tun möchten, tun Sie es selbst. Ich habe keine Lust, es selbst zu tun, aber ich muss. Das Googeln mit Sucht hat mir endlich geholfen, zumindest etwas in opencv zu finden, das mir helfen könnte. Es wurde eine Reihe von Klassen zum Zusammenfügen von Panoramafotos gefunden, darunter ein Mechanismus zum Korrigieren von Unterschieden in Licht und Ton. Nicht ganz das, was Sie brauchen, aber es ist zumindest eine Option.

Nach langen Experimenten mit dem einzigen (ja!) Beispiel für die Verwendung dieses Dings bekam ich endlich nützlichen Code.


Schicken Sie das Bild zurück

Die Magie bestand darin, experimentell eine Klasse zu etablieren, die für meine Zwecke geeignet war, und das Format der Maske herauszufinden. Dann ist es offensichtlich: Versorgen Sie den Kompensator mit Bildern, um den Durchschnittswert der Gesamtbelichtung und den Pegel jedes Farbkanals zu berechnen, und drehen Sie dann die Handfläche für die Konvertierung erneut von der Quelle.

Das erste Ergebnis hat mir nicht wieder gepasst. Der Effekt war sichtbar, aber die Farben schwammen immer noch merklich. , , . - . , .

.




, . « , ». , , , .

, , , , . small_wb , run, , , , - - . , . , .

. , , , . . .


, , . , - . , . , . , , .

github.com/sniklaus/3d-ken-burns

, , . Aber. . «». «», , , . Schade.

opencv.




, . , .




, , , , , .





, , -, . , -. , , . , , , , . - . : . , , , . , , , , (, ) mac mini .

, , , .

. , - . , , .


, , . - , . , , . , , , / . , « , ».

, , (, , ?), / . , . «». , , 2014. « ». - , . , «», « ?», - . Huh? ? ? . ! !

. , «», ? , .

3 , . - . , , . , . «---» - . .


,

GPU- . . , .

, , . . . , . , , , 720 400 . , . . , Pentium 133 ( Cyrix 100, ). , . . , , , . ? . , , .

2 , , . , , 12 , .

, , ssd . , , - , .

, . ! ? , - GPU. , , , «if APU available», APU , , ? Nein.




Wir zögern nicht zu übertakten und bekommen 1 GHz gratis, eine lange Auswahl an Kühlern und deren Kosten haben sich ausgezahlt. Wir stellen einen Koloristen. Wir fangen an. Boom! CUDA hat zu wenig Speicher. Cool, großartig, wir werden es am Morgen herausfinden.

Am Morgen gab es keine Erinnerung. Google hat gemeldet, dass dieser Fehler bedeutet, dass die Größe des verfügbaren Videospeichers geringer als erforderlich ist. Ich wollte wirklich nicht daran glauben, denn das sollte nicht wahr sein. Schließlich konnte ich mich nicht irren, nachdem ich eine Version einer Grafikkarte mit einem reduzierten Speicher gekauft hatte. Nein, ich konnte es nicht, aber ich irre mich nie.

Die Experimente begannen mit der erzwungenen Bereinigung des Speichers, der Änderung der Parameter. Die Hoffnung wurde dadurch geweckt, dass der Tropfen nicht sofort auftrat und mehrere Frames Zeit hatten, auf der Ausgabe zu erscheinen. Es war natürlich möglich, den Wiederanlauf der Blüte in einem Zyklus zu starten, aber die Vorbereitungszeit für den Start betrug ungefähr 2 Minuten, und dies ergab keinen Sinn.

Plötzlich begann das Debugging-Skript ordnungsgemäß zu funktionieren, und die Verarbeitung verlief reibungslos. Ich habe keine Ahnung, was ich dort getan habe. Ich habe beschlossen, nichts anzufassen und habe nur meine Farbrahmen bereits abgerufen. Die restlichen 60% der Frames endeten nach 5 Stunden. Bis zu diesem Tag würde die Verarbeitung auf einem Minicar erst zu Ende gehen, oh, armer Minicar.


Ich fange gerade erst an

Führen Sie das Szenen-Suchskript aus und füllen Sie die Verzeichnisse aus. Wir überprüfen, ob etwas falsch gelaufen ist, wir beheben es. Im Allgemeinen ist alles in Ordnung. Als Nächstes müssen Sie doppelte Frames bereinigen, um Zeitverschwendung bei weiteren Manipulationen auszuschließen. Ein Problem, wie Sie sicher sein können, dass das Skript nur das Notwendige löscht und nichts verpasst. Wenn Sie logisch denken, sollte das Hinzufügen zusätzlicher Frames nicht chaotisch sein, sondern über einen Algorithmus verfügen. Natürlich sollten Sie nicht daran gebunden sein, aber es sollte berücksichtigt werden. Wir tun dies: Kopieren Sie alle Szenen ohne doppelte Frames in einen anderen Ordner und vergleichen Sie dann jeden Ordner mit dem ursprünglichen Ordner. Verwenden Sie dazu den Vergleich der Dateimanagerverzeichnisse. Wenn der sich wiederholende Rhythmus in den gelöschten Dateien visuell beobachtet wird, halten wir alles für normal. Es hat auf den ersten Blick funktioniert.

Nur eine halbe Stunde und Sie können weiter gehen. Wir starten die Tonkompensation. Nach ein paar Stunden versuchen wir das Ergebnis zu genießen, aber die halbe Freude. Ein kleiner Teil der Szenen ist schlecht gefärbt. Trotzdem ist ein kleiner Teil der Szenen aus der Tonkompensation schief gegangen. Wenn es mit dem zweiten möglich war, oder einfach das nehmen, was vor der Kompensation war, oder versuchen, den Ton ohne Verwendung des Weißabgleichs auszugleichen. Das mit der Wiederblüte war umso schwieriger. Einige der Szenen haben sich durch Verringern des render_factor-Parameters verbessert, der Rest hat einfach nicht nachgegeben. Der Algorithmus hat im trainierten Modell einfach nichts Vergleichbares gefunden und seltsame Ergebnisse erzielt. Ich musste jede solche Szene mehrmals mit einem anderen render_factor ausmalen und dann den besten Frame auswählen, damit er zumindest irgendwie der Wahrheit entsprach. Es ist schwierig zu sagen, wie sehr diese Aktivität das Gehirn erschöpft. Ich musste Skripte schreiben, die Optionen für jeden Frame in einem separaten Ordner sammeln, was die Produktivität steigerte und den Missbrauchsfluss verringerte.


Bevor Sie fortfahren, müssen Sie zusätzliche Texte ausschneiden und mehrere Szenen an bestimmten Stellen neu anordnen. Für die Videobearbeitung waren einige einfache Mittel erforderlich. Wir laden die Ordnerstruktur mit Frames direkt in den aktuellen Editor.


Schicken Sie das Bild zurück

Wir löschen Szenen, tauschen sie aus, entladen die aktualisierte Struktur auf die Festplatte in einem neuen Ordner.


Schicken Sie das Bild zurück

Jetzt können Sie 12 fps in 24 fps konvertieren.

Video-Verlangsamungstool
Link zum Projekt: github.com/avinashpaliwal/Super-SloMo
Beschreibung: Das Projekt berechnet Zwischenbilder anhand eines trainierten Modells. Sie können vorgefertigte Einstellungen herunterladen. Sie können sich selbst beibringen. Mit der richtigen Auswahl der Trainingsdaten ist das Ergebnis bezaubernd schön.


Wir patchen das Projekt für die Arbeit mit einzelnen Frames, ansonsten funktioniert es einfach. Wir fangen an, schauen uns das Ergebnis an. Zusammen mit „wow“ taucht ein neues Problem auf, einige Szenen sind mit Artefakten gefüllt, denn um 12 von 24 Bildern zu erhalten, muss das Modell speziell trainiert werden.

Es gibt zwei Möglichkeiten. Und euch beiden wird es nicht gefallen. Löschen Sie fehlgeschlagene Frames manuell oder nehmen Sie an einem Modelltraining teil. Das heißt, oder verbringen Sie viel Zeit oder verbringen Sie eine unbekannte Zeit mit unvorhersehbaren Ergebnissen. Klarheit herrschte.

Sehen Sie sich über 200.000 Bilder an. Was ist die Schwierigkeit? Die Tatsache, dass Sie nicht alle fehlerhaften Frames löschen können. Es ist notwendig, genau diejenigen zu entfernen, die auf die Augen treffen, und diejenigen, die unsichtbar sind, zu lassen. Das heißt, versuchen Sie es, wiederholen Sie, erzwingen Sie die richtige Kombination. Irgendwann in der zweiten Hälfte der Frames lernte auch das organische neuronale Netzwerk, und es wurde intuitiv, in welchen Momenten auf Defekte zu warten und welche Frames gelöscht und welche nicht berührt werden sollten. Nur 4 Tage und wir haben eine reibungslose Version.

Wir sammeln die Videodatei. Wir schauen Es scheint in Ordnung zu sein. Aber irgendetwas scheint zu stören. Was ist das Wow, wow, wow, doppelte Aufnahmen, aber wie, wo, warum? Es wird deutlich, dass dieser Bumerang aus der Vergangenheit geflogen ist. Bei der Stabilisierung wurden auch doppelte Frames verarbeitet und einzeln in den Bewegungsbogen eingegeben, wobei jedem ein eindeutiger Versatz hinzugefügt wurde. Und der doppelte Suchalgorithmus, vernünftigerweise betrachtet, dass dies verschiedene Frames sind, da sie verschoben sind, ist alles logisch.

Super, super. Aber überprüfen Sie nicht alle Frames erneut, ohne zu versuchen, mindestens einen kleinen Code zu schreiben?

Experimente begannen mit Algorithmen zum Vergleichen ähnlicher Bilder. Die Schwierigkeit bestand darin, dass Sie bei den meisten von ihnen feststellen können, dass die Bilder völlig unterschiedlich oder relativ ähnlich sind. Für mich waren wirklich verschiedene Bilder in einer Szene fast gleich, und es war notwendig, Bilder einzufangen, die versetzte Kopien sind. Alle erprobten Algorithmen störten in einem Haufen und in beiden.

Compare_ssim von skimage könnte Vorteile bringen. Ich werde nicht so tun, als würde ich mich daran erinnern, was es ist, es gab nur manchmal die richtigen Ergebnisse und erlaubte es, einige der Duplikate sofort zu identifizieren. Ich musste den Rest mit meinen Augen suchen. Am zweiten Tag wurde mein natürliches neuronales Netzwerk darauf trainiert, das Unauffällige zu bemerken. Zu diesem Zeitpunkt wurde ich bereits von einer professionellen Deformation gequält: Die Schwarzweißbilder, die mir auffielen, wurden als unvollständige Arbeit wahrgenommen, und jedes Zucken von Videoinhalten von Drittanbietern wurde als „Wiederholung von Duplikaten“ gehört!

Putting die nächste Version des Videos, gerade. Es versteht sich, dass einige der Szenen eine Säuresättigung aufweisen. Und dies ist wieder ein Problem, da Sie nicht einfach die Sättigung aller Szenen auf den allgemeinen Wert einstellen und absenken können. Einige davon sind im Gegenteil nicht sehr hell.

Die Sättigungs-Herausforderung beginnt. Die Änderung dieses Parameters ist einfach, aber unglaublich schwer angemessen zu messen. Dies war theoretisch nachvollziehbar, in der Praxis wurde es nur bestätigt. Eine naive Methode zum Vergleichen der Sättigung von Bildern wurde beim Testen von hellen Szenen gefunden, aber die Rate war normal oder verblasst, aber die Rate war sehr hoch.

Am Ende des Tages war zumindest irgendwie eine funktionierende Lösung geboren.


Schicken Sie das Bild zurück

Zum Median der Spreizung der Pixelsättigung addieren wir die Standardabweichung der Sättigung und erhalten die bedingte maximale Sättigung des Rahmens. Dies ist unvollkommen, aber mit dieser Messmethode begann der Sättigungsausgleich zu funktionieren. Es blieb nur, das Polynom correction_value = f (measuring_value) zu ersetzen. Wir zeichnen die Platte auf den Testdaten mit unseren Händen "eingefroren" -> "der Korrekturwert, der ein angenehmes Ergebnis ergab", wir fahren die Platte in jedes Werkzeug, das angenähert werden kann.

Totalsättigungskorrekturfunktion:


Schicken Sie das Bild zurück

Wir gehen vom Raum BGR (Standardansicht von opencv) zum HSV über. Wir charakterisieren die Sättigungsmatrix mit einer Zahl. Wir berechnen die Verstärkung / Dämpfung der Sättigung. Wir haben die Abfahrten für das Sortiment eingestellt. Verbinden Sie die angepasste Sättigungsmatrix mit der ursprünglichen Helligkeit und dem ursprünglichen Farbton und kehren Sie zum BGR-Bereich zurück.


Wann ist das Release schon?

Nun, es scheint, dass das Video endlich fertig ist. Du kannst Musik machen.

Da mir keine der vorhandenen musikalischen Begleitungen angemessen erschien, gab es nichts anderes zu tun, als selbst etwas zu tun.

Von Anfang an gab es ein dummes Problem: Die Hälfte der Festplatte war mit Backups verschiedener Filmzustände verstopft. Und das Programm, das Musik machen sollte, benötigte zehn Gigabyte für die Titelbibliothek. Ich dachte: "Was könnte schief gehen?" Und löschte die Pre-Final-Backups, da ich Pre-Final-Backups auf zwei Festplatten habe und nichts Bedeutendes verliere und es unwahrscheinlich ist, dass etwas erneut gemacht werden muss.

Am dritten Tag der Arbeit mit Musik konnte die Anzahl der Szenen, die die Sättigung verloren hatten, nicht mehr ignoriert werden. Einige der Rahmen wurden vollständig schwarzweiß, und zuvor waren es diese Rahmen, die am hellsten waren. Interessanterweise was könnte es sein? Fliegt ein Polynom dritter Ordnung außerhalb des Originaltisches abrupt in den Weltraum? Das ist eine Überraschung, oder? Es sollte beachtet werden, dass ich nach der Sättigungskorrektur nicht den gesamten Film noch einmal durchsehen wollte, sondern mich darauf beschränkte, ein Bild aus jeder Szene zu betrachten, was ein illusorisches Gefühl für die Hinlänglichkeit des Ergebnisses gab.

Es gab keine Probleme, dem Sättigungskorrekturcode Randbedingungen hinzuzufügen. Das Problem war das Fehlen einer Quelle, von der Sie die gleiche Sequenz von Frames erhalten konnten, für die die Synchronisation mit dem Ton bereits abgeschlossen wurde.


Es gibt zwei Möglichkeiten: ein gekrümmtes Bild mit einem kühlen Klang in die Welt zu entlassen oder zwei Schritte zurück zu gehen. Es war schade, aus Versehen die perfekte perfekte Synchronisation zu verlieren, aber der springende Punkt der Arbeit lag in der Farbe.

Wir wiederholen die Reinigung von Duplikaten, montieren sie neu, passen die Sättigung an, natürlich bekommen wir eine starke Desynchronisation im Klang, wir beginnen die Schlüsselpunkte der Spuren zu übertönen, wir sind verärgert, dass die magische Synchronisation fast verschwindet. So ist eine weitere Woche vergangen.


Über Musik

Das freie Schreiben neuer Musik ist überhaupt keine Option, aber es mangelt auch an Ehrlichkeit, etwas aus den verfügbaren Begleitungsoptionen herauszustechen (obwohl es mindestens 5 davon gibt). Bei der Suche nach freien Titeln stoße ich auf eine interessante Sache.

filmstro.com

Aus der Beschreibung wird deutlich, dass Sie zwischen dem Ersetzen der Spuren anderer und der Komposition von Grund auf etwas tun können. Es verfügt über eine umfangreiche Bibliothek von Kompositionen, von denen jede als Projekt aus den bedingten Fruchtschleifen dargestellt werden kann. Alle Spuren einer Komposition sind in drei Abschnitte unterteilt: Intensität, Tiefe, Spannung. Durch Ändern der "Stärke" des Abschnitts können Sie die Anzahl der aktivierten Spuren ändern. Insgesamt: Eine Komposition enthält durchschnittlich 11 Klangoptionen, die sich aus der gegenseitigen Beeinflussung der Sektionen ergeben. Mithilfe der Anordnung der wichtigsten Punkte entlang der Videosequenz wird die Änderung des Klangs der Komposition mit dem Geschehen auf dem Bildschirm verknüpft. So ein Doshirak. Lecker, wenn Sie nicht wissen, wie es passiert ist.


Schicken Sie das Bild zurück


Über YouTube

Schließlich können Sie einen Kanal erstellen und das Video hochladen. Es scheint, dass alles, fertig, Sie können sich entspannen. Aber die Realität ließ nicht nach, und wenn das Originalvideo willkürlich als HD eingestuft werden kann, stellte sich nach dem Hochladen heraus, dass es von ekelhafter Qualität war. Nach allen Angaben und Meinungen hat sich im Internet herausgestellt, dass Google absichtlich für alle neuen Kanäle eine sehr niedrige Bitrate verwendet. Glücklicherweise ist irgendwo ein guter Rat verrutscht: Füllen Sie mit einer Rate von 1440p, als ob dies Youtube vorsichtiger macht, wenn es um das Klemmen geht. Der Rat hat wirklich geholfen, es wurde zumindest beobachtbar.

Nach dem Download flogen sofort Beschwerden über die Verwendung von Videos anderer Leute ein. Sehr interessant, es stellt sich heraus, dass das große Youtube immer noch keine funktionierende Datenbank mit öffentlich zugänglichen Werken hat. Wir werden ihm dabei helfen, indem wir Einwände senden.

Ergebnis: www.youtube.com/watch?v=r3NQyCInZiQ
Download-Link in Originalqualität: drive.google.com/uc?id=1dEPcjKbjNowxsfaNcbV6DsbAr3kbACKH&export=download


Outro

Im Großen und Ganzen gefällt mir, was passiert ist. Das Team bezahlter Spezialisten würde Süßigkeiten herstellen. In diesem Fall: 70% der normalen Bilder, 20% der schlechten, 10% episch. Kostenlos, automatisch. Alle Probleme, die ich mit meinen Händen beheben musste, sind nur darauf zurückzuführen, dass dies zum ersten Mal gemacht wurde. Der nächste zu färbende Film wird unermesslich einfacher. Ich weiß nicht, wie es sein wird, im Zeitalter des stillen Kinos bin ich noch nicht auf andere Werke gestoßen, die sie bitten würden, auf unser Meta-Event übertragen zu werden. Wahrscheinlich handelt es sich um einen frühen Soundfilm, was bedeutet, dass der Sound wiederhergestellt, auf 20-20 KHz gebracht und in Stereo umgewandelt werden muss. Sie können so viele verschiedene neuronale Netze berühren =) Die Qualität der Blüte hängt heute stark vom Ausgangsmaterial ab. Je mehr Graustufen erhalten bleiben, desto klarer ist das Ergebnis. Höchstwahrscheinlich werden die nächsten Generationen solcher Werkzeuge neue, qualitativ hochwertige Bilder synthetisieren und die Farbe nicht in die alten Konturen einpassen. Dies wird Projekten ähneln, die von Hand gemalte Fotos imitieren. In der Zwischenzeit müssen Sie das Schwarzweißbild strecken und den Farbspezifizierer auf den Videomaterialien, die dem Zielfilm entsprechen, einzeln trainieren, um ein hervorragendes Ergebnis zu erzielen.

Unser Leben ändert sich immer schneller, der Zeitrahmen, mit dem wir uns in eine andere Realität begeben, verkürzt sich. Wir schreiben neuronale Netze, um alles zu verfolgen, was mit neuronalen Netzen geschieht. Wir haben aber immer weniger Zeit. Noch vor einem halben Jahr fragten sie mich, ob es möglich sei, automatisch ein beliebiges Foto mit authentischer Farbe zu machen. Meine Antwort lautete: "Nein, es ist immer noch fantastisch."

Source: https://habr.com/ru/post/de481710/


All Articles