Sztuczna inteligencja
CameraCtrl: Włączanie kontroli kamery dla generacji filmów z tekstu
Najnowsze ramy próbujące generować filmy z tekstu lub T2V wykorzystują modele dyfuzji, aby dodać stabilność w procesie szkolenia, a model dyfuzji wideo, jeden z pionierów w ramach generacji filmów z tekstu, rozszerza architekturę dyfuzji obrazu 2D, aby uwzględnić dane wideo i szkoli model na wideo i obrazie wspólnie od podstaw. Budując na tym samym i aby zaimplementować potężny, wstępnie wyuczony generator obrazu, takiego jak Stable Diffusion, najnowsze prace napowietrzają swoją architekturę 2D, wprowadzając warstwy czasowe między wstępnie wyuczone warstwy 2D i dostosowują nowy model do nieznanego, dużego zestawu danych. Pomimo ich podejścia, modele dyfuzji filmów z tekstu stają w obliczu znaczącego wyzwania, ponieważ niejasność wykorzystania wyłącznie opisów tekstowych do generowania próbki filmu często powoduje, że model filmu z tekstu ma słabszą kontrolę nad generowaniem. Aby rozwiązać ten limit, niektóre modele zapewniają ulepszoną kontrolę, podczas gdy inne pracują z precyzyjnymi sygnałami, aby kontrolować scenę lub ruchy ludzi w syntetyzowanych filmach dokładnie. Z drugiej strony, istnieją pewne ramy filmów z tekstu, które przyjmują obrazy jako sygnał sterujący generatorem filmu, co skutkuje albo dokładnym modelem relacji czasowych, albo wysoką jakością filmu.
Bezpiecznie można powiedzieć, że sterowalność odgrywa kluczową rolę w zadaniach generowania obrazu i filmu, ponieważ pozwala użytkownikom tworzyć pożądany treść. Jednak istniejące ramy często pomijają dokładną kontrolę położenia kamery, która służy jako język filmowy, aby wyrazić głębsze niuanse narracji modelu. Aby rozwiązać bieżące ograniczenia sterowalności, w tym artykule, będziemy rozmawiać o CameraCtrl, nowym pomysłem, który próbuje umożliwić dokładną kontrolę położenia kamery dla modeli filmów z tekstu. Po parametryzacji trajektorii kamery, model szkoli moduł kamery plug and play na modelu filmu z tekstu i pozostawia pozostałe komponenty nienaruszone. Ponadto model CameraCtrl prowadzi również kompleksowe badanie efektu różnych zestawów danych i sugeruje, że filmy z podobnymi wyglądami i zróżnicowanym rozkładem kamery mogą poprawić ogólną sterowalność i zdolność generalizacji modelu. Eksperymenty przeprowadzone w celu analizy wydajności modelu CameraCtrl w zadaniach świata rzeczywistego wskazują na skuteczność ramy w osiąganiu precyzyjnej i dostosowanej do domeny kontroli kamery, tworząc drogę do przodu dla realizacji niestandardowej i dynamicznej generacji filmów z położenia kamery i wejść tekstowych.
Ten artykuł ma na celu szczegółowe omówienie ramy CameraCtrl, a my będziemy badać mechanizm, metodologię, architekturę ramy wraz z porównaniem z ramami stanu sztuki. Zatem zacznijmy.
CameraCtrl : Kontrola kamery dla generacji T2V
Niedawne rozwoju i postępu modeli dyfuzji znacznie poprawiły generowanie filmów z tekstu w ostatnich latach i zrewolucjonizowały procesy projektowania treści. Sterowalność odgrywa znaczącą rolę w praktycznych aplikacjach generowania filmów, ponieważ pozwala użytkownikom dostosowywać wygenerowane wyniki do ich potrzeb i wymagań. Z wysoką sterowalnością model jest w stanie poprawić realizm, jakość i użyteczność wygenerowanych filmów, a podczas gdy dane wejściowe tekstowe i obrazowe są powszechnie używane przez modele, aby poprawić ogólną sterowalność, często brakuje im precyzyjnej kontroli nad ruchem i treścią. Aby rozwiązać ten limit, niektóre ramy zaproponowały wykorzystanie sygnałów sterujących, takich jak szkielet położenia, przepływ optyczny i inne sygnały wielomodalne, aby umożliwić bardziej precyzyjną kontrolę nad generowaniem filmu. Innym ograniczeniem, z którym borykają się istniejące ramy, jest brak precyzyjnej kontroli nad stymulowaniem lub dostosowaniem punktów kamery w generowaniu filmu, ponieważ zdolność do kontroli kamery jest kluczowa, ponieważ nie tylko poprawia realizm wygenerowanych filmów, ale także umożliwia dostosowaną perspektywę, co jest cechą niezbędną w rozwoju gier, rzeczywistości rozszerzonej i wirtualnej. Ponadto, umiejętne zarządzanie ruchami kamery pozwala twórcom na podkreślanie relacji między postaciami, podkreślanie emocji i kierowanie uwagą docelowej publiczności, co jest bardzo ważne w branży filmowej i reklamowej.
Aby rozwiązać i pokonać te ograniczenia, rama CameraCtrl, uczący się i precyzyjny moduł kamery plug and play z możliwością kontroli punktów widzenia kamery dla generowania filmu. Jednak integrowanie niestandardowej kamery z istniejącą rama filmu z tekstu jest zadaniem łatwiejszym do powiedzenia niż zrobienia, zmuszając rama CameraCtrl do szukania sposobów, aby skutecznie reprezentować i wstrzykiwać kamerę w architekturze modelu. W tym samym celu rama CameraCtrl przyjmuje plucker embeddings jako podstawową formę parametrów kamery, a powodem wyboru plucker embeddings jest ich zdolność do kodowania opisów geometrycznych informacji o położeniu kamery. Ponadto, aby zapewnić ogólność i stosowalność modelu CameraCtrl po szkoleniu, model wprowadza model kontroli kamery, który akceptuje tylko plucker embeddings jako dane wejściowe. Aby zapewnić, że model kontroli kamery jest szkolony skutecznie, rama i jej twórcy prowadzą kompleksowe badanie, aby zbadać, jak różne dane szkoleniowe wpływają na rama od danych syntetycznych do realistycznych. Wyniki eksperymentów wskazują, że wdrożenie danych z zróżnicowanym rozkładem położenia kamery i podobnym wyglądem do oryginalnego modelu podstawowego osiąga najlepszy kompromis między sterowalnością a ogólnością. Twórcy ramy CameraCtrl zaimplementowali model na górze ramy AnimateDiff, umożliwiając precyzyjną kontrolę w generowaniu filmu w różnych kontekstach tworzenia filmu, demonstrując jego wszechstronność i użyteczność.

Rama AnimateDiff przyjmuje wydajne podejście dostrajania LoRA, aby uzyskać wagi modelu dla różnych typów ujęć. Rama Direct-a-video proponuje wdrożenie kamerowego embeddera, aby kontrolować położenie kamery podczas procesu generowania filmu, ale warunkuje tylko trzy parametry kamery, ograniczając zdolność kontroli kamery do najbardziej podstawowych typów. Z drugiej strony, ramy, takie jak MotionCtrl, projektują kontroler ruchu, który akceptuje więcej niż trzy parametry wejściowe i jest w stanie wyprodukować filmy z bardziej złożonymi położeniami kamery. Jednak konieczność dostrajania części wygenerowanych filmów utrudnia ogólność modelu. Ponadto, niektóre ramy włączają dodatkowe sygnały sterujące, takie jak mapy głębi, do procesu, aby poprawić sterowalność zarówno dla generowania obrazu, jak i tekstu. Zazwyczaj model wprowadza te sygnały sterujące do dodatkowego encodera, a następnie wstrzykuje sygnały do generatora za pomocą różnych operacji.
CameraCtrl: Architektura modelu
Przed tym, jak możemy przyjrzeć się architekturze i paradygmatowi szkolenia dla encodera kamery, jest niezwykle ważne, aby zrozumieć różne reprezentacje kamery. Zazwyczaj położenie kamery odnosi się do parametrów wewnętrznych i zewnętrznych, a jednym z najprostszych wyborów, aby pozwolić generatorowi filmu warunkować położenie kamery, jest wprowadzenie surowych wartości dotyczących parametrów kamery do generatora. Jednak wdrożenie takiego podejścia może nie poprawić dokładnej kontroli kamery z kilku powodów. Po pierwsze, macierz obrotu jest ograniczona ortogonalnością, a wektor translacji jest zwykle nieograniczony w wielkości, co prowadzi do niezgodności w procesie uczenia, która może wpłynąć na spójność kontroli. Po drugie, używanie surowych parametrów kamery bezpośrednio może utrudnić modelowi skorelowanie tych wartości z pikselami obrazu, co skutkuje zmniejszeniem kontroli nad detalami wizualnymi. Aby uniknąć tych ograniczeń, rama CameraCtrl wybiera plucker embeddings jako reprezentację położenia kamery, ponieważ plucker embeddings mają geometryczne reprezentacje każdego piksela ramki filmu i mogą dostarczyć bardziej szczegółowy opis informacji o położeniu kamery.
Sterowalność kamery w generatorach filmów
Podczas gdy model parametryzuje trajektorię kamery w sekwencji plucker embedding, czyli mapy przestrzenne, model ma wybór, aby użyć modelu encodera, aby wyodrębnić cechy kamery, a następnie połączyć cechy kamery z generatorami filmu. Podobnie jak adapter tekstu do obrazu, model CameraCtrl wprowadza encjator kamery zaprojektowany specjalnie dla filmów. Encjator kamery zawiera model uwagi czasowej po każdym bloku konwolucyjnym, co pozwala mu przechwytywać relacje czasowe położeń kamery w całym klipie filmowym. Jak pokazano na poniższym obrazie, encjator kamery akceptuje tylko dane wejściowe plucker embedding i dostarcza funkcje wieloskali. Po uzyskaniu funkcji kamery wieloskali, model CameraCtrl ma na celu zintegrować te funkcje z architekturą U-Net modelu filmu z tekstu bezproblemowo i określa warstwy, które powinny być użyte do włączenia informacji o kamerze skutecznie. Ponadto, ponieważ większość istniejących ramek przyjmuje architekturę podobną do U-Net, która zawiera zarówno warstwy uwagi czasowej, jak i przestrzennej, model CameraCtrl wstrzykuje reprezentacje kamery do bloku uwagi czasowej, co jest poparte zdolnością warstw uwagi czasowej do przechwytywania relacji czasowych, zgodnie z wewnętrzną naturą sekwencyjną trajektorii kamery z warstwami uwagi przestrzennej, które przedstawiają poszczególne ramki.

Uczenie się rozkładu kamery
Szkolenie komponentu encodera kamery w ramie CameraCtrl na generatorze filmu wymaga dużej ilości dobrze oznaczonych i opatrzonych filmów z modelem, który jest w stanie uzyskać trajektorię kamery za pomocą podejścia SfM. Rama CameraCtrl próbuje wybrać zestaw danych z wyglądem odpowiadającym danych szkoleniowych modelu podstawowego filmu z tekstu ściśle, a także mieć rozkład położenia kamery tak szeroki, jak to możliwe. Przykłady w zestawie danych wygenerowane za pomocą silników wirtualnych wykazują zróżnicowany rozkład kamery, ponieważ twórcy mają elastyczność w kontroli parametrów kamery podczas fazy renderowania, chociaż cierpią na lukę w rozkładzie w porównaniu z zestawami danych zawierającymi próbki świata rzeczywistego. Podczas pracy z zestawami danych zawierającymi próbki świata rzeczywistego, rozkład kamery jest zwykle wąski, a w takich przypadkach rama musi znaleźć balans między różnorodnością różnych trajektorii kamery a złożonością poszczególnych trajektorii kamery. Złożoność poszczególnych trajektorii kamery zapewnia, że model uczy się kontrolować złożone trajektorie podczas procesu szkolenia, podczas gdy różnorodność między różnymi trajektoriami kamery zapewnia, że model nie nadmiernie dopasowuje się do pewnych ustalonych wzorców. Ponadto, aby monitorować proces szkolenia encodera kamery, rama CameraCtrl proponuje metrykę wyrównania kamery, aby zmierzyć jakość kontroli kamery, ilościując błąd między trajektorią kamery próbek wygenerowanych a warunkami wejściowymi kamery.
CameraCtrl : Eksperymenty i wyniki
Rama CameraCtrl wdraża model AnimateDiff jako podstawowy model filmu z tekstu, a głównym powodem tego jest to, że strategia szkolenia modelu AnimateDiff pozwala jego modułowi ruchu zintegrować się z modelem podstawowym tekstu do obrazu lub LoRAs tekstu do obrazu, aby uwzględnić generowanie filmu w różnych gatunkach i dziedzinach. Model używa optymalizatora Adam, aby szkolić model z stałą szybkością uczenia 1e-4. Ponadto, aby upewnić się, że model nie wpływa negatywnie na możliwości generowania filmu oryginalnego modelu filmu z tekstu, rama CameraCtrl wykorzystuje metrykę FID lub Frechet Inception Distance, aby ocenić jakość wyglądu filmu i porównać jakość wygenerowanego filmu przed i po włączeniu modułu kamery.
Aby ocenić swoją wydajność, rama CameraCtrl jest oceniana w porównaniu z dwoma istniejącymi ramami kontroli kamery: MotionCtrl i AnimateDiff. Jednak ponieważ rama AnimateDiff obsługuje tylko osiem podstawowych trajektorii kamery, porównanie między CameraCtrl a AnimateDiff jest ograniczone do trzech podstawowych trajektorii. Z drugiej strony, do porównania z MotionCtrl, rama wybiera ponad tysiąc losowych trajektorii kamery z istniejącego zestawu danych, oprócz podstawowych trajektorii kamery, generuje filmy za pomocą tych trajektorii i ocenia je za pomocą metryk TransErr i RotErr.

Jak można zaobserwować, rama CameraCtrl przewyższa ramę AnimateDiff w trajektorii podstawowej i dostarcza lepsze wyniki w porównaniu z ramą MotionCtrl w metryce trajektorii złożonej.
Ponadto, poniższy obraz pokazuje wpływ architektury encodera kamery na ogólną jakość wygenerowanych próbek. Wiersz a do wiersza d reprezentują wyniki wygenerowane z encjatorem kamery wdrożonym w architekturze: ControlNet, ControlNet z uwagą czasową, T2I Adaptor, i T2I adaptor z uwagą czasową odpowiednio.

W poniższym obrazie, pierwsze dwa miejsca pokazują film wygenerowany za pomocą połączenia encodera RGB ramy SparseCtrl i metody użytej w ramie CameraCtrl.

Końcowe myśli
W tym artykule, rozmawialiśmy o CameraCtrl, nowym pomysłem, który próbuje umożliwić dokładną kontrolę położenia kamery dla modeli filmów z tekstu. Po parametryzacji trajektorii kamery, model szkoli moduł kamery plug and play na modelu filmu z tekstu i pozostawia pozostałe komponenty nienaruszone. Ponadto model CameraCtrl prowadzi również kompleksowe badanie efektu różnych zestawów danych i sugeruje, że filmy z podobnymi wyglądami i zróżnicowanym rozkładem kamery mogą poprawić ogólną sterowalność i zdolność generalizacji modelu. Eksperymenty przeprowadzone w celu analizy wydajności modelu CameraCtrl w zadaniach świata rzeczywistego wskazują na skuteczność ramy w osiąganiu precyzyjnej i dostosowanej do domeny kontroli kamery, tworząc drogę do przodu dla realizacji niestandardowej i dynamicznej generacji filmów z położenia kamery i wejść tekstowych.












