Modele i platformy AI
CameraCtrl: Włączanie kontroli kamery dla generacji filmów z tekstu
Niedawne ramy próbujące generować filmy z tekstu lub T2V wykorzystują modele dyfuzyjne, aby dodać stabilność w procesie szkolenia, a model Video Diffusion, jeden z pionierów w ramach generacji filmów z tekstu, rozszerza architekturę dyfuzyjną 2D obrazu, aby pomieścić dane wideo i trenować model na wideo i obrazach jednocześnie od podstaw. Budując na tym i aby wdrożyć potężny, wstępnie wyuczony generator obrazu, takiego jak Stable Diffusion, niedawne prace napumpowują swoją architekturę 2D, wkładając warstwy czasowe między wstępnie wyuczone warstwy 2D, a następnie dostrajając nowy model na niezwykłych, dużych zbiorach danych. Pomimo ich podejścia, modele dyfuzyjne filmów z tekstu napotykają znaczące wyzwanie, ponieważ niejasność wyłącznie używanych opisów tekstowych do generowania próbki filmu często powoduje, że model filmu z tekstu ma słabszą kontrolę nad generacją. Aby rozwiązać ten limit, niektóre modele zapewniają ulepszoną orientację, podczas gdy inne pracują z precyzyjnymi sygnałami, aby kontrolować scenę lub ruchy ludzi w syntetyzowanych filmach precyzyjnie. 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.
Można by powiedzieć, że sterowalność odgrywa kluczową rolę w zadaniach generacyjnych obrazu i filmu, ponieważ pozwala użytkownikom tworzyć pożądany contents. Jednakże, istniejące ramy często pomijają precyzyjną kontrolę położenia kamery, która służy jako język filmowy, aby wyrazić głębsze niuanse narracji modelowi lepiej. Aby rozwiązać bieżące limity 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 precyzyjnie, model trenuje moduł kamery plug and play na modelu filmu z tekstu i pozostawia inne komponenty nietknięte. Ponadto, model CameraCtrl prowadzi również kompleksowe badanie efektu różnych zbiorów danych i sugeruje, że filmy z podobnymi wyglądami i różnorodnym rozkładem kamery mogą poprawić ogólną sterowalność i zdolność generalizacji modelu. Eksperymenty przeprowadzone w celu analizy wydajności modelu CameraCtrl w zadaniach rzeczywistych wskazują na efektywność ramy w osiąganiu precyzyjnej i dostosowanej do domeny kontroli kamery, wytyczając drogę do pościgu za spersonalizowaną i dynamiczną generacją filmów z położenia kamery i wejść tekstowych.
Ten artykuł ma na celu omówienie ramy CameraCtrl w głębi, a my będziemy badać mechanizm, metodologię, architekturę ramy wraz z jej porównaniem z ramami stanu sztuki. Więc zacznijmy.
CameraCtrl: Kontrola kamery dla generacji T2V
Niedawne rozwoju i postępu modeli dyfuzyjnych znacznie poprawiły generację filmów z tekstu w ostatnich latach i zrewolucjonizowały procesy projektowania treści. Sterowalność odgrywa znaczącą rolę w praktycznych aplikacjach generacji filmów, ponieważ pozwala użytkownikom dostosowywać wygenerowane wyniki zgodnie z ich potrzebami i wymaganiami. 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 generacją filmu. Innym ograniczeniem, z którym borykają się istniejące ramy, jest brak precyzyjnej kontroli nad stymulowaniem lub dostosowaniem punktów kamery w generacji filmu, ponieważ zdolność do kontroli kamery jest kluczowa, ponieważ nie tylko poprawia realizm wygenerowanych filmów, ale także umożliwia dostosowanie punktów widzenia, 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ślenie relacji między postaciami, podkreślenie emocji i kierowanie uwagą docelowej publiczności, co jest bardzo ważne w przemyśle filmowym i reklamowym.
Aby rozwiązać te ograniczenia, rama CameraCtrl, uczący się i precyzyjny moduł kamery z możliwością kontroli punktów widzenia kamery dla generacji filmu. Jednakże, integrowanie niestandardowej kamery z istniejącą rurką modelu filmu z tekstu jest zadaniem łatwiejszym do powiedzenia niż zrobienia, zmuszając ramę CameraCtrl do poszukiwania sposobów, aby reprezentować i wstrzykiwać kamerę w architekturze modelu skutecznie. W tym samym czasie, rama CameraCtrl przyjmuje osadzanie pluckera jako podstawową formę parametrów kamery, a powodem wyboru osadzania pluckera 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 osadzanie pluckera jako dane wejściowe. Aby zapewnić, że model kontroli kamery jest trenowany skutecznie, rama i jej twórcy prowadzą kompleksowe badanie, aby zbadać, jak różne dane szkoleniowe wpływają na ramę od danych syntetycznych do realistycznych. Wyniki eksperymentów wskazują, że wdrożenie danych z różnorodnym 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 wdrożyli model na szczycie ramy AnimateDiff, umożliwiając precyzyjną kontrolę w generacji filmu w różnych kontekstach tworzenia filmu, demonstrując jego wszechstronność i użyteczność w szerokim zakresie kontekstów tworzenia filmu.

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 osadzania kamery, aby kontrolować położenie kamery podczas procesu generacji 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 produkować filmy z bardziej złożonymi położeniami kamery. Jednakże, potrzeba dostrajania części wygenerowanych filmów utrudnia ogólność modelu. Ponadto, niektóre ramy inkorporują dodatkowe sygnały sterujące, takie jak mapy głębi, do procesu, aby poprawić sterowalność zarówno dla generacji obrazu, jak i tekstu. Zazwyczaj, model wprowadza te sygnały sterujące do dodatkowego kodera, 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 kodera kamery, jest dla nas istotne, aby zrozumieć różne reprezentacje kamery. Zazwyczaj, położenie kamery odnosi się do parametrów wewnętrznych i zewnętrznych, a jednym z prostych wyborów, aby pozwolić generatorowi filmu warunkować położenie kamery, jest wprowadzenie surowych wartości dotyczących parametrów kamery do generatora. Jednakże, wdrożenie takiego podejścia może nie poprawić precyzyjnej kontroli kamery z kilku powodów. Po pierwsze, podczas gdy macierz obrotu jest ograniczona przez ortogonalność, 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 osadzanie pluckera jako reprezentację położenia kamery, ponieważ osadzanie pluckera ma reprezentacje geometryczne każdego piksela ramki filmu i może 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 osadzania pluckera, tj. mapy przestrzenne, model ma możliwość wykorzystania modelu kodera, aby wyodrębnić cechy kamery, a następnie połączyć cechy kamery z generatorami filmu. Podobnie jak adapter tekstu do obrazu, model CameraCtrl wprowadza koder kamery zaprojektowany specjalnie dla filmów. Koder kamery zawiera model uwagi czasowej po każdym bloku konwolucyjnym, co pozwala mu przechwytywać relacje czasowe położeń kamery w klipie filmowym. Jak pokazano na poniższym obrazie, koder kamery akceptuje tylko dane wejściowe osadzania pluckera i dostarcza funkcje wieloskali. Po uzyskaniu funkcji kamery wieloskali, model CameraCtrl stara się 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 kamery skutecznie. Ponadto, ponieważ większość istniejących ram przyjmuje architekturę podobną do U-Net, zawierającą zarówno warstwy uwagi czasowej, jak i przestrzennej, model CameraCtrl wstrzykuje reprezentacje kamery do bloku uwagi czasowej, decyzja, która jest poparta zdolnością warstw uwagi czasowej do przechwytywania relacji czasowych, zgodnie z wewnętrzną naturą przyczynowo-sekwencyjną trajektorii kamery z warstwami uwagi przestrzennej, które obrazują poszczególne ramki.

Nauka rozkładu kamery
Trenowanie komponentu kodera kamery w ramie CameraCtrl na generatorze filmu wymaga dużej ilości dobrze oznaczonych i opatrzonych etykietami filmów z modelem, który jest w stanie uzyskać trajektorię kamery za pomocą podejścia structure from motion lub SfM. Rama CameraCtrl próbuje wybrać zbiór danych, który ma wygląd podobny do danych szkoleniowych modelu podstawowego filmu z tekstu, i ma rozkład położenia kamery tak szeroki, jak to możliwe. Przykłady w zbiorze danych wygenerowane za pomocą silników wirtualnych wykazują różnorodny rozkład kamery, ponieważ twórcy mają elastyczność w kontrolowaniu parametrów kamery podczas fazy renderowania, chociaż cierpią na lukę dystrybucyjną w porównaniu z zbiorami danych zawierającymi próbki rzeczywiste. Podczas pracy z zbiorami danych zawierającymi próbki rzeczywiste, 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 kodera kamery, rama CameraCtrl proponuje metrykę wyrównania kamery, aby zmierzyć jakość kontroli kamery, ilościowo określając błąd między trajektorią kamery próbek wygenerowanych a warunkami wejściowymi kamery.
CameraCtrl: Eksperymenty i wyniki
Rama CameraCtrl wdrożyła model AnimateDiff jako swój podstawowy model filmu z tekstu, a głównym powodem tego jest to, że strategia szkolenia modelu AnimateDiff pozwala jego modułowi ruchu na integrację z modelem tekstu do obrazu lub modelem tekstu do obrazu LoRA, aby umożliwić generację filmu w różnych gatunkach i dziedzinach. Model wykorzystuje optymalizator Adam do trenowania modelu z stałą szybkością uczenia 1e-4. Ponadto, aby upewnić się, że model nie wpłynie na zdolności generacji filmu oryginalnego modelu filmu z tekstu negatywnie, 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ć jego wydajność, rama CameraCtrl jest porównywana z dwoma istniejącymi ramami kontroli kamery: MotionCtrl i AnimateDiff. Jednakże, ponieważ rama AnimateDiff ma obsługę tylko ośmiu 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 zbioru danych, oprócz trajektorii kamery podstawowej, 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 demonstruje efekt architektury kodera kamery na ogólną jakość wygenerowanych próbek. Wiersz a do wiersza d reprezentują wyniki wygenerowane z kodera 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 przedstawiają film wygenerowany za pomocą kombinacji kodera RGB ramy SparseCtrl i metody użytej w ramie CameraCtrl.

Końcowe myśli
W tym artykule, omówiliśmy ramę CameraCtrl, nowy pomysł, który próbuje umożliwić dokładną kontrolę położenia kamery dla modeli filmów z tekstu. Po parametryzacji trajektorii kamery precyzyjnie, model trenuje moduł kamery plug and play na modelu filmu z tekstu i pozostawia inne komponenty nietknięte. Ponadto, model CameraCtrl prowadzi również kompleksowe badanie efektu różnych zbiorów danych i sugeruje, że filmy z podobnymi wyglądami i różnorodnym rozkładem kamery mogą poprawić ogólną sterowalność i zdolność generalizacji modelu. Eksperymenty przeprowadzone w celu analizy wydajności modelu CameraCtrl w zadaniach rzeczywistych wskazują na efektywność ramy w osiąganiu precyzyjnej i dostosowanej do domeny kontroli kamery, wytyczając drogę do pościgu za spersonalizowaną i dynamiczną generacją filmów z położenia kamery i wejść tekstowych.












