AIGCs Image2Video (1) | Animieren Sie jeden: Erzeugen Sie dynamische Videos aus statischen Bildern und animieren Sie jede beliebige Bildfigur

       Kürzlich veröffentlichte Alibaba Animate Everyone, das menschliche Animationsvideos nur aus einem Foto einer Person und einer Skelettanimation erstellen kann.

Bild

Weitere Informationen: https://humanaigc.github.io/animate-anyone/

论文地址 : https://arxiv.org/pdf/2311.17117.pdf

Github:https://github.com/HumanAIGC/AnimateAnyone

       Im Bereich der Bilderzeugungsvideos, insbesondere bei der Erzeugung von Charakteranimationen (Erzeugung von Charaktervideos aus statischen Bildern durch Ansteuersignale), bleibt die Konsistenz der Charakterdetails ein schwieriges Problem. Um Kontrollierbarkeit und Kontinuität zu gewährleisten, wird ein effektiver Posenführer eingeführt, der die Bewegungen der Figur steuert, und eine effektive zeitliche Modellierungsmethode wird angewendet, um reibungslose Übergänge zwischen Videobildern sicherzustellen. Mit dieser Methode kann jeder Charakter datengesteuert animiert werden, und die Leistung bei der Charakteranimation ist besser als bei anderen Bild-zu-Video-Methoden. Darüber hinaus erzielt unsere Methode hochmoderne Ergebnisse bei Benchmarks von Modevideos und menschlicher Tanzsynthese.

Bild

1. Einführung in Animate Everyone

       Die Modellarchitektur ist in der folgenden Abbildung dargestellt:

Bild

       Die anfängliche Eingabe in das Netzwerk besteht aus mehreren Rauschrahmen. Die Rauschunterdrückung von UNet basiert auf dem Design von SD, verwendet dasselbe Framework und dieselben Blockeinheiten und erbt die Trainingsgewichte von SD. Diese Methode enthält drei Schlüsselkomponenten: 1) ReferenceNet: kodiert die Erscheinungsmerkmale von Charakteren im Referenzbild; 2) Pose Guider: kodiert Bewegungssteuerungssignale, um steuerbare Aktionen des Charakters zu erreichen; 3) Temporal Layer: kodiert zeitliche Beziehungen, um den Charakter sicherzustellen Bewegungskontinuität.

1.1 ReferenceNet

       Bei der Aufgabe, Videos aus Text zu generieren, enthält die Textaufforderung eine Semantik auf hoher Ebene und erfordert lediglich eine semantische Korrelation mit dem generierten visuellen Inhalt. Bei der Videoaufgabe zur Bilderzeugung sind die Bildmerkmale jedoch detaillierter und erfordern eine genauere Übereinstimmung der generierten Ergebnisse. In früheren Untersuchungen, die sich auf die bildgesteuerte Generierung konzentrierten, verwendeten die meisten Methoden den CLIP-Bildencoder als Textencoder für Queraufmerksamkeit. Dieses Design konnte jedoch die Probleme im Zusammenhang mit der Detailkonsistenz nicht lösen. Ein Grund für diese Einschränkung besteht darin, dass die Eingabe in den CLIP-Bildencoder aus Bildern mit niedriger Auflösung (224×224) besteht, was zum Verlust wichtiger feinkörniger Detailinformationen führt. Ein weiterer Faktor ist, dass CLIP vorab darauf trainiert ist, Textmerkmale abzugleichen, wobei der semantische Schwerpunkt auf dem Merkmalsabgleich auf hoher Ebene liegt, was zu einem Mangel an detaillierten Merkmalen innerhalb der Merkmalskodierung führt.

        Der Autor hat ein Referenzbild-Feature-Extraktionsnetzwerk ReferenceNet entworfen. Für ReferenceNet wird das gleiche Framework wie bei der Rauschunterdrückung von UNet übernommen, mit Ausnahme der zeitlichen Schicht. Ähnlich wie beim Entrauschen von UNet erbt ReferenceNet die Gewichte von der ursprünglichen SD, und die Gewichtsaktualisierungen für jede SD werden unabhängig durchgeführt. Ersetzen Sie, wie in Abbildung 2 oben gezeigt, die Selbstaufmerksamkeitsebene durch die Raumaufmerksamkeitsebene, führen Sie dann Selbstaufmerksamkeit durch und extrahieren Sie die erste Hälfte der Feature-Map als Ausgabe. Dieses Design hat zwei Vorteile: Erstens kann ReferenceNet die vorab trainierten Bildfunktionsmodellierungsfunktionen der ursprünglichen SD nutzen und so gute Initialisierungsfunktionen erhalten. Zweitens kann das entrauschende UNet selektiv relevante Merkmale im gleichen Merkmalsraum von ReferenceNet lernen, da ReferenceNet und entrauschendes UNet im Wesentlichen dieselbe Netzwerkstruktur und gemeinsame Initialisierungsgewichte haben. Durch die Nutzung des mit dem Textencoder gemeinsam genutzten Funktionsraums werden die semantischen Merkmale des Referenzbilds als vorteilhafte Initialisierung bereitgestellt, um den gesamten Netzwerktrainingsprozess zu beschleunigen.

       ControlNet verwendet ebenfalls ein ähnliches Design, das zusätzliche Steuerungsfunktionen einführt, indem es Nullfaltung beim Entrauschen von UNet verwendet. Allerdings sind Steuerinformationen (z. B. Tiefen- oder Kanteninformationen) räumlich auf das Zielbild ausgerichtet, wohingegen das Referenzbild und das Zielbild räumlich zusammenhängen, aber nicht ausgerichtet sind. Daher ist ControlNet nicht für den direkten Einsatz geeignet. Eine detaillierte Analyse erfolgt in nachfolgenden Experimenten.

       Obwohl ReferenceNet eine vergleichbare Anzahl von Parametern einführt wie das Entrauschen von UNet, werden bei der diffusionsbasierten Videogenerierung alle Videobilder mehrmals entrauscht, während ReferenceNet im gesamten Prozess nur einmal Merkmale extrahieren muss. Daher verursacht es keinen signifikanten Anstieg des Rechenaufwands während der Inferenz.

1.2 Pose Guider

       ControlNet verfügt über äußerst robuste Funktionen zur bedingten Generierung, die über Texteingabeaufforderungen hinausgehen. Da das entrauschende UNet eine Feinabstimmung erfordert, wird in diesem Artikel kein zusätzliches ControlNet einbezogen, um einen erheblichen Anstieg der Rechenkomplexität zu verhindern. Stattdessen verwendeten die Autoren eine leichte Posenanleitung. Dieser Posenführer nutzt vier Faltungsschichten (4 × 4 Kernel, 2 × 2 Schritte, mit 16, 32, 64128 Kanälen, ähnlich dem bedingten Encoder in ControlNet), um Posenbilder mit derselben latenten Rauschauflösung auszurichten. Anschließend wird das verarbeitete Posenbild zur latenten Rauschschicht hinzugefügt und dann in das entrauschte UNet eingegeben. Der Posenführer wird mit Gaußschen Gewichten initialisiert und verwendet in der endgültigen Projektionsebene keine Faltungen.

1.3 Zeitliche Ebene

       Viele Studien haben gezeigt, dass das Hinzufügen einer zeitlichen Ebene zu einem Text-to-Image (T2I)-Modell die zeitliche Abhängigkeit von Videobildern erfassen kann. Dieses Design hilft dabei, Bildgenerierungsfunktionen von vorab trainierten T2I-Modellen zu übertragen. Unsere zeitliche Schicht wird nach den räumlichen Aufmerksamkeits- und Queraufmerksamkeitskomponenten innerhalb des Res-Trans-Blocks integriert. Das Design der zeitlichen Ebene ist von AnimateDiff inspiriert. Merkmale aus der zeitlichen Schicht werden durch Restverbindungen in die ursprünglichen Merkmale integriert. Die zeitliche Schicht wird nur innerhalb des Res-Trans-Blocks des entrauschenden UNet angewendet. Für ReferenceNet berechnet es die Merkmale eines einzelnen Referenzbildes und beteiligt sich nicht an der zeitlichen Modellierung. Da die Posenführung eine Kontrollierbarkeit der kontinuierlichen Bewegung der Figur ermöglicht, zeigen Experimente, dass die zeitliche Ebene die zeitliche Glätte und Kontinuität der Erscheinungsdetails gewährleistet und eine komplexe Bewegungsmodellierung vermeidet.

2. Animieren Sie jeden zur Trainingsstrategie

       Das Training ist in zwei Phasen unterteilt: In der ersten Phase wird ein einzelner Videorahmen für das Training verwendet und die zeitliche Schicht wird vom Entrauschen von UNet ausgeschlossen. Das Modell verwendet Einzelbildrauschen als Eingabe und trainiert gleichzeitig ReferenceNet und Pose Guider Zeit. Referenzbilder werden zufällig aus dem gesamten Videoclip ausgewählt. Entrauschende UNet- und ReferenceNet-Modelle werden mit den vorab trainierten SD-Gewichten initialisiert, während Pose Guider mit Gaußschen Gewichten initialisiert wird und die endgültige Projektionsebene eine Nullfaltung verwendet. Die Gewichtungen des VAE-Encoders und -Decoders sowie des CLIP-Bildencoders bleiben unverändert. Das Optimierungsziel dieser Stufe besteht darin, anhand eines Referenzbilds und einer Zielpose qualitativ hochwertige animierte Bilder zu generieren. In der zweiten Stufe wird die zeitliche Ebene in das zuvor vorab trainierte Modell eingeführt und mit den vorab trainierten Gewichten von AnimateDiff initialisiert. Die Eingabe für das Modell ist ein 24-Frame-Videoclip. Zu diesem Zeitpunkt wird nur die zeitliche Schicht trainiert und die anderen Gewichte des Netzwerks werden festgelegt.

3. Analyse der experimentellen Effekte von Animate Everyone

3.1 Versuchsaufbau

       Für das Training wurden 5K-Charaktervideoclips (2–10 Sekunden Dauer) aus dem Internet gesammelt, und DWPose wurde verwendet, um die Posensequenz des Charakters (einschließlich Körper und Hände) zu extrahieren, und OpenPose wurde verwendet, um sie in ein Posenskelettbild zu rendern. Die Trainingshardware besteht aus 4 NVIDIA A100 GPUs. Während des Trainingsprozesses wurden zwei Trainingsphasen verwendet. In der ersten Trainingsphase wurde ein einzelnes Videobild abgetastet, in der Größe geändert und in der Mitte auf eine Auflösung von 768 x 768 zugeschnitten, die Stapelgröße wurde auf 64 eingestellt und das Training wurde durchgeführt wird für 30.000 Schritte durchgeführt. In der zweiten Trainingsphase wird eine 24-Frame-Videosequenz verwendet, die Stapelgröße ist auf 4 eingestellt und das Training wird für 10.000 Schritte durchgeführt. Beide Lernraten sind auf 1e-5 eingestellt. Während der Inferenz wird die Länge des Posenumrisses neu skaliert, um sie an den Merkmalsumriss im Zeichenreferenzbild anzupassen, und ein DDIM-Sampler wird für die 20-stufige Rauschunterdrückung verwendet. Der Autor verwendet Methoden der zeitlichen Aggregation, um die Ergebnisse verschiedener Stapel zu verbinden und so lange Videos zu generieren. Für einen fairen Vergleich mit anderen Bildanimationsmethoden trainierten die Autoren das Modell außerdem anhand zweier spezifischer Benchmarks (UBC Fashion Video Dataset und TikTok Dataset).

3.2 Qualitative Analyse

Bild

       Animieren Jeder kann jede Figur animieren, einschließlich Ganzkörperfiguren, Halbporträts, Zeichentrickfiguren und humanoide Figuren. Es ist in der Lage, hochauflösende und realistische Charakterdetails zu erzeugen und die zeitliche Konsistenz mit Referenzbildern bei großen Bewegungen beizubehalten, während gleichzeitig eine zeitliche Kontinuität zwischen den Bildern gewährleistet ist. Weitere Videoergebnisse finden Sie im Zusatzmaterial.

3.3 Vergleichende Analyse

       Animate Everyone wird nach zwei Maßstäben bewertet: Modevideosynthese und menschliche Tanzgenerierung. Verwenden Sie Indikatoren wie SSIM, PSNR und LPIPS zur quantitativen Bewertung der Bildqualität und verwenden Sie den FVD-Indikator zur Bewertung der Videoqualität.

Synthese von Modevideos

Bild

Bild

menschliche Tanzgeneration

Bild

Bild

Allgemeine Methode von Bild zu Video

Bild

3.4 Ablationsexperiment

Bild

Bild

4. Nachteile von Animate Everyone

1. Ähnlich wie bei vielen Modellen zur Bilderzeugung kann das Modell Schwierigkeiten haben, sehr stabile Ergebnisse für Handbewegungen zu erzeugen, was manchmal zu Verzerrungen und Bewegungsunschärfe führt;

2. Da das Bild nur eine Perspektive bietet, ist das Problem der Erzeugung unsichtbarer Teile, wenn sich die Figur bewegt, ungewiss und kann zu Instabilität führen;

3. Aufgrund der Verwendung von DDPM ist die Erzeugungseffizienz dieses Modells gering.

Verweise:

[1] https://arxiv.org/pdf/2311.17117.pdf

Supongo que te gusta

Origin blog.csdn.net/wshzd/article/details/134832953
Recomendado
Clasificación