Fraktale 3d, siatki kontrolne i wtyczka mov2mov

Mov2mov jest wtyczką typu video -> video dla modeli stable diffusion, dzięki której jesteśmy w stanie przekształcać video używając do tego sztucznej inteligencji. Mov2mov przekształca każdą pojedynczą klatkę filmu używając do tego modelu stable diffusion za pomocą potoku img2img w zautomatyzowany sposób.

Opis problemu:

Działanie wtyczki testowano wykorzystując filmy z fraktalami 3d wygenerowanymi w oprogramowaniu Mandelbulber za pomocą klatek kluczowych. Jeden film wykorzystuje fraktal amazing_surf 001 imitujący płaskowyż, kaniony i doliny. Przelot kamery nad krajobrazem. Na drugim filmie jest fraktal amazing_surf 002 imitujący galaktykę lub mgławicę w kosmosie z przelotem kamery w kierunku jasnego środka.

Ze względu na to, iż każda kolejna klatka generowana jest niezależnie od poprzedniej, wtyczka może generować niespójny poklatkowo film. Zaobserwować to możemy na przykładzie tego filmu wygenerowanego z następującymi parametrami:

prompt: landscape eroded valley canyon plateau, CFG Scale 15, Sampling steps 20, Controlnet: Seg + Scribble: Control Weight 0.6, Noise multiplier 0.5, Denoising strength 0.8, video: amazing_surf 001

Podgląd klatek 8 do 19 w zwolnionym tempie:

Różnice w kolorach i jasności obrazu w poszczególnych następujących po sobie klatkach powoduje także efekt migotania. Efekt migotania został zniwelowany narzędziem wykorzystującym sztuczną inteligencję deflicker.

Jakość filmu poprawiła się nieznacznie, pozostawiając jednak w dalszym ciągu niekoherentny obraz.

Siatki Kontrolne.

Siatki kontrolne poza promptem tekstowym są kolejnym sposobem umożliwiającym sterowanie efektem końcowym generowanego obrazu dodając dodatkowe warunki przetwarzania. Przykładowe siatki kontrolne wraz z podglądem po uruchomieniu preprocesora:

yoda in polish folk national costume
Steps: 20, Seed: 1215568672, Sampler: Euler a, CFG scale: 6, Size: 1024×1024, Parser: Full parser, Model: sd_xl_base_1.0, Refiner: sd_xl_refiner_1.0, Pipeline: Diffusers, Operations: txt2img

Open Pose

Siatka OpenPose wykrywa pozę modelu, dzięki temu jest w stanie generować inne postacie w takiej samej pozie.

Depth

Model siatki Depth potrafi oddzielić tło od pierwszego planu, dzięki czemu możemy np. ustalić zupełnie inny sposób rysowania tła za pomocą danego obrazu.

LineArt

Lineart wykrywa obrys obrazu przekształcając go w prosty rysunek (przydatne do przekształcania na kreskówki i anime).

desert_post_nuclear_war_fallout
S2270148188_St25_G15.5, sd model 1.5, aexion002

Canny

Wykrywanie krawędzi

MLSD

Detektor linii prostych

Seg

Segmentacja obrazu.

LineArt (invert)

Patrz LineArt ale odwrócony obraz z preprocesora.

Scribble

Kolejny detektor krawędzi. Uwypukla kontury.

SoftEdge

Następny detektor krawędzi.

Pozostałe siatki:

Normal: określa orientacje powierzchni. Dobrze radzi sobie z obiektami 3d.
Shuffle: reorganizacja obrazu
IP2P(Instruct Pix2Pix): model nastawiony na przekształcanie obrazu instrukcjami. Brak preprocesora. Więcej informacji tutaj.

Siatki kontrolne zainstalowano jako rozszerzenie dla interfejsu Automatic1111. Modele siatek można pobrać tutaj.

TESTY:

Film użyty podczas testów:

Ustawienia wstępne dla wszystkich testów:

Prompt: galaxy nebula cosmos
Negative prompt: –
Sampling method: Euler a
Sampling steps: 20
Noise multiplier: 0
CFG Scale: 7
Denoising strength: 0,75
Control Weight: 0,6
Pozostałe ustawienia siatek: domyślne

Legenda:

Podgląd obrazu z preprocesora dla 1 klatki

Film wynikowy

Model siatki kontrolnejPreprocesor
UwagiOcena (* – *****)

Cannycanny
Migotanie***

Depthdepth_midas
Statyczny obraz, nie oddaje ruchu kamery*

IP2Pnone
*****

Lineartinvert
Rozmycie obrazu***

Lineartlineart_standard
Rozmycie obrazu***

MLSDmlsd
Statyczny obraz, nie oddaje ruchu kamery*

Normalnormal_bae
Rozmycie***/****

Scribblescribble_pidinet
**

Segseg_ofade20k
Migotanie, nie oddaje ruchu kamery*

Shuffleshuffle
*

SoftEdgesoftedge_hed
****/*****

SoftEdgesoftedge_pidinet
****/*****

Podsumowanie i wnioski:

Generalnie modele używające detekcji krawędzi (SoftEdge, Canny, LineArt) radzą sobie lepiej przy takiej kompozycji filmu. Dobry efekt daje siatka oparta o mapy normalne z racji tego, iż na filmie widoczny jest obiekt trójwymiarowy. Mała liczba klatek na sekundę powoduje większą i bardziej widoczną niespójność filmu. Optymalnie liczba klatek na sekundę powinna wynosić więcej niż 20 fps, 10 fps to stanowczo za mała wartość. Pomimo uzyskania najlepszego wyniku w teście przez model IP2P, wymagana jest dalsza optymalizacja ustawień siatek kontrolnych. Pomimo optymalizacji modelu IP2P pod kątem poleceń, zmiana promptu z „galaxy nebula cosmos” na „make it into galaxy nebula in cosmos” nie przyniosła większych korzyści.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *