Modele i platformy AI

BrushNet: Wklej i graj – retuszowanie obrazów z podwójnym rozgałęzieniem dyfuzji

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Retuszowanie obrazów jest jednym z klasycznych problemów w dziedzinie widzenia komputerowego, a jego celem jest przywrócenie zamaskowanych obszarów obrazu z prawdopodobnym i naturalnym zawartością. Istniejące prace wykorzystujące tradycyjne techniki retuszowania obrazów, takie jak Sieci Przeciwstawnych Generatywnych (GAN) i Autoencodeury Wariancji (VAE), często wymagają pomocniczych, ręcznie zaprojektowanych funkcji, ale nie dostarczają zadowalających wyników. W ciągu ostatnich kilku lat metody oparte na dyfuzji zyskały popularność w społeczności widzenia komputerowego ze względu na ich zdolność do generowania obrazów o wysokiej jakości, różnorodności wyjściowej i drobnej kontroli. Początkowe próby zastosowania modeli dyfuzji do retuszowania obrazów podążały za standardową strategią odhałaszczania, próbkując zamaskowane obszary z pre-trenowanego modelu dyfuzji i kopiując nienamaskowane obszary z danego obrazu. Chociaż te metody dały zadowalające wyniki w prostych zadaniach retuszowania obrazów, miały trudności z złożonymi kształtami masek, podpowiedziami tekstu i zawartością obrazu, co skutkowało brakiem spójności.

Pomimo postępów, badań i rozwoju tych modeli w ciągu ostatnich kilku lat, retuszowanie obrazów wciąż jest dużym wyzwaniem dla deweloperów widzenia komputerowego. Bieżące adaptacje modeli dyfuzji do zadań retuszowania obrazów obejmują modyfikację strategii próbkowania lub rozwój modeli retuszowania specyficznych dla obrazów, które często cierpią na obniżoną jakość obrazu i niespójne semantyki. Aby pokonać te wyzwania i otworzyć drogę do przodu dla modeli retuszowania obrazów, w tym artykule będziemy rozmawiać o BrushNet, nowym ramowym, podwójnym rozgałęzieniu, które wbudowuje funkcje obrazu na poziomie pikseli do dowolnego pre-trenowanego modelu dyfuzji, gwarantując spójność i poprawiony wynik w zadaniach retuszowania obrazów. Ramowy BrushNet wprowadza nowy paradygmat, w którym ramowy dzieli funkcje obrazu i szumowe latentne na oddzielne gałęzie. Podział funkcji obrazu i szumowych latentnych zmniejsza obciążenie uczenia się modelu drastycznie i ułatwia nuansowane wbudowanie istotnych informacji o zamaskowanym obrazie w hierarchiczny sposób. Oprócz ramowego BrushNet, będziemy również rozmawiać o BrushBench i BrushData, które ułatwiają ocenę wydajności opartą na segmentacji i szkolenie retuszowania obrazów.

Ten artykuł ma na celu omówienie ramowego BrushNet w głębi, a my będziemy badać mechanizm, metodologię, architekturę ramowego oraz porównanie z ramowymi stanu sztuki. Zatem zacznijmy.

BrushNet: Retuszowanie obrazów z podwójnym rozgałęzieniem dyfuzji

Retuszowanie obrazów, metoda, która próbuje przywrócić brakujące obszary obrazu, zachowując ogólną spójność, jest długotrwałym problemem w dziedzinie widzenia komputerowego i przeszkadza deweloperom i badaczom od kilku lat. Retuszowanie obrazów znajduje zastosowanie w szerokim zakresie zadań widzenia komputerowego, w tym edycji obrazów i wirtualnych przymiarek. Ostatnio modele dyfuzji, takie jak Stable Diffusion i Stable Diffusion 1.5, wykazały zdolność do generowania obrazów o wysokiej jakości i zapewniają użytkownikom elastyczność w kontroli semantycznej i strukturalnej.

Metody zastosowane przez tradycyjne ramowe retuszowania obrazów oparte na dyfuzji można podzielić na dwie kategorie: modyfikację strategii próbkowania i modele retuszowania dedykowane. Metoda modyfikacji strategii próbkowania modyfikuje standardowy proces odhałaszczania, próbkując zamaskowane obszary z pre-trenowanego modelu dyfuzji i kopiując nienamaskowane obszary z danego obrazu w każdym kroku odhałaszczania. Chociaż podejścia oparte na modyfikacji strategii próbkowania mogą być wdrożone w dowolnym modelu dyfuzji, często skutkują niespójnymi wynikami retuszowania, ponieważ mają ograniczoną wiedzę percepcyjną o granicach masek i kontekście nienamaskowanego obszaru obrazu. Z drugiej strony, modele retuszowania dedykowane dostrajają model retuszowania obrazu zaprojektowany specjalnie przez rozszerzenie wymiarów kanału wejściowego modelu dyfuzji podstawowego w celu uwzględnienia uszkodzonego obrazu i masek. Chociaż modele retuszowania dedykowane umożliwiają modelowi dyfuzji generowanie bardziej zadowalających wyników z modelem specyficznym dla kształtu i świadomego zawartości, może to nie być najlepszy projekt architektoniczny dla modeli retuszowania obrazów.

Jak pokazano na poniższym obrazie, modele retuszowania dedykowane łączą latentne obrazu zamaskowanego, szumowe latentne, tekst i maskę we wczesnym etapie. Projekt architektoniczny takich modeli retuszowania dedykowanych łatwo wpływa na funkcje obrazu zamaskowanego i uniemożliwia warstwom w architekturze UNet uzyskanie czystych funkcji obrazu zamaskowanego z powodu wpływu tekstu. Ponadto, obsługa generacji i warunku w jednej gałęzi nakłada dodatkowe obciążenie na architekturę UNet, a ponieważ te podejścia również wymagają dostrajania w różnych wariantach modelu dyfuzji podstawowego, są one często czasochłonne i mają ograniczoną przenośność.

Może się wydawać, że dodanie dodatkowej gałęzi do wyodrębnienia funkcji obrazu zamaskowanego może być odpowiednim rozwiązaniem problemów wymienionych powyżej, jednakże istniejące ramowe często skutkują wyodrębnieniem i wstawieniem niewystarczających informacji, gdy są stosowane bezpośrednio do retuszowania. W związku z tym, istniejące ramowe, takie jak ControlNet, skutkują niezadowalającymi wynikami w porównaniu z modelem retuszowania dedykowanym. Aby rozwiązać ten problem w najbardziej skuteczny sposób, ramowy BrushNet wprowadza dodatkową gałąź do oryginalnej sieci dyfuzji, tworząc bardziej odpowiednią architekturę dla zadań retuszowania obrazów. Projekt i architektura ramowego BrushNet mogą być podsumowane w trzech punktach.

  1. Zamiast inicjowania warstw konwolucyjnych losowo, ramowy BrushNet wdraża kodujący VAE do przetwarzania obrazu zamaskowanego. W ten sposób ramowy BrushNet jest w stanie wyodrębnić funkcje obrazu do adaptacji do rozkładu UNet bardziej skutecznie.
  2. Ramowy BrushNet stopniowo włącza pełną warstwę funkcji UNet warstwa po warstwie do pre-trenowanej architektury UNet, co umożliwia gęstą kontrolę na poziomie pikseli.
  3. Ramowy BrushNet usuwa tekstową uwagę skrzyżowaną z komponentu UNet, aby upewnić się, że czyste informacje o obrazie są brane pod uwagę w dodatkowej gałęzi. Ponadto, model BrushNet proponuje wdrożenie rozmytej strategii łączenia w celu uzyskania lepszej spójności wraz z wyższym zakresem kontroli w nienamaskowanych obszarach obrazu.

BrushNet: Metoda i Architektura

Poniższy rysunek daje nam krótkie podsumowanie ramowego BrushNet.

Jak można zauważyć, ramowy zatrudnia strategię podwójnego rozgałęzienia do wstawienia funkcji obrazu zamaskowanego i używa operacji łączenia z rozmytą maską, aby upewnić się, że nienamaskowane obszary są lepiej zachowane. Warto zauważyć, że ramowy BrushNet jest w stanie dostosować dodaną skalę, aby osiągnąć elastyczną kontrolę. Dla danego wejściowego obrazu zamaskowanego i maski, model BrushNet wytwarza obraz retuszowany. Model najpierw zmniejsza maskę, aby dopasować ją do rozmiaru latentu, a obraz zamaskowany jest wprowadzany jako wejście do kodującego VAE, aby wyrównać rozkład przestrzeni latentnej. Model następnie łączy funkcje obrazu zamaskowanego, szumowe latentne i zmniejszoną maskę i używa ich jako wejścia. Funkcje, które model wyodrębnia, są następnie dodawane do pre-trenowanej warstwy UNet po bloku konwolucyjnym zero. Po odhałaszczaniu model łączy obraz zamaskowany i wygenerowany obraz z rozmytą maską.

Wskazówki obrazu zamaskowanego

Ramowy BrushNet wstawia funkcje obrazu zamaskowanego do pre-trenowanej sieci dyfuzji za pomocą dodatkowej gałęzi, która oddziela wyodrębnianie funkcji obrazu zamaskowanego od procesu generowania obrazu w sposób jawny. Wejście jest tworzone przez łączenie funkcji obrazu zamaskowanego, szumowych latentnych i zmniejszonej maski. Aby być bardziej precyzyjnym, szumowe latentne dostarczają informacji o generowaniu obrazu podczas bieżącego procesu generowania i pomagają ramowemu BrushNet poprawić spójność semantyczną funkcji obrazu zamaskowanego. Ramowy BrushNet następnie wyodrębnia funkcje obrazu zamaskowanego z obrazu zamaskowanego za pomocą Autoencodeura Wariancji. Ponadto, ramowy BrushNet zatrudnia interpolację cubiczną, aby zmniejszyć maskę i upewnić się, że rozmiar maski jest zgodny z funkcjami obrazu zamaskowanego i szumowymi latentnymi. Aby przetworzyć funkcje obrazu zamaskowanego, ramowy BrushNet wdraża kopię pre-trenowanego modelu dyfuzji i wyklucza warstwy uwagi skrzyżowanej modelu dyfuzji. Powodem jest to, że pre-trenowane wagi modelu dyfuzji służą jako silny priorytet dla wyodrębniania funkcji obrazu zamaskowanego, a wykluczenie warstw uwagi skrzyżowanej zapewnia, że model uwzględnia tylko czyste informacje o obrazie w dodatkowej gałęzi. Ramowy BrushNet wstawia funkcje do zamrożonej sieci dyfuzji warstwa po warstwie, co umożliwia gęstą kontrolę na poziomie pikseli w sposób hierarchiczny i zatrudnia również warstwy konwolucyjne zero, aby ustanowić połączenie między trenowanym modelem BrushNet a zablokowanym modelem, zapewniając, że szkodliwy szum nie ma wpływu na stany ukryte w trenowanym modelu podczas początkowych etapów szkolenia.

Operacja łączenia

Jak wcześniej wspomniano, przeprowadzanie operacji łączenia w przestrzeni latentnej często skutkuje nieścisłościami, a ramowy BrushNet spotyka podobny problem, gdy zmniejsza maskę, aby dopasować ją do rozmiaru przestrzeni latentnej. Ponadto, warto zauważyć, że operacje kodowania i dekodowania w Autoencodeurach Wariancji mają ograniczone operacje i mogą nie zapewnić pełnej rekonstrukcji obrazu. Aby upewnić się, że ramowy BrushNet rekonstruuje obraz nienamaskowanego w sposób spójny, istniejące prace wdrożyły różne techniki, takie jak kopiowanie nienamaskowanych obszarów z oryginalnego obrazu. Chociaż podejście to działa, często skutkuje brakiem spójności semantycznej w generowaniu wyników końcowych. Z drugiej strony, metody takie jak przyjęcie operacji łączenia latentnego mają trudności w zachowaniu pożądanych informacji w nienamaskowanych obszarach.

Elastyczna kontrola

Projekt architektoniczny ramowego BrushNet sprawia, że jest on odpowiednim wyborem do integracji plug and play z różnymi pre-trenowanymi modelami dyfuzji, umożliwiając elastyczną kontrolę skali zachowania. Ponieważ ramowy BrushNet nie zmienia wag pre-trenowanego modelu dyfuzji, deweloperzy mają elastyczność, aby zintegrować go jako komponent plug and play z dostrajanym modelem dyfuzji, umożliwiając łatwe przyjęcie i eksperymentowanie z pre-trenowanymi modelami. Ponadto, deweloperzy mają również możliwość kontrolowania skali zachowania nienamaskowanych obszarów, włączając funkcje modelu BrushNet do zamrożonej sieci dyfuzji z danym wagą w, która określa wpływ ramowego BrushNet na skalę zachowania, oferując deweloperom możliwość dostosowania pożądanych poziomów zachowania. Wreszcie, ramowy BrushNet pozwala użytkownikom dostosować skalę rozmycia i zdecydować, czy wdrożyć operację rozmycia, co umożliwia łatwe dostosowanie skali zachowania nienamaskowanych obszarów, tworząc przestrzeń dla elastycznych dostosowań i drobnej kontroli nad procesem retuszowania obrazów.

BrushNet: Implementacja i Wyniki

Aby przeanalizować wyniki, ramowy BrushNet proponuje BrushBench, zestaw danych retuszowania obrazów oparty na segmentacji z ponad 600 obrazami, z których każdy jest opatrzony ręcznie.Annotationem maski i podpisem. Obrazy w zestawie danych są rozłożone równomiernie między naturalnymi a sztucznymi obrazami i również zapewniają równomierne rozłożenie wśród różnych kategorii, umożliwiając uczciwą ocenę w różnych kategoriach. Aby jeszcze bardziej poprawić analizę zadań retuszowania, ramowy BrushNet dzieli zestaw danych na dwie odrębne części na podstawie metod zastosowanych: opartych na segmentacji i masek pędzla.

Porównanie ilościowe

Poniższa tabela porównuje ramowy BrushNet z istniejącymi modelami retuszowania obrazów opartymi na dyfuzji w zestawie danych BrushBench z modelem Stable Diffusion jako modelem podstawowym.

Jak można zauważyć, ramowy BrushNet wykazuje wyjątkową wydajność w zachowaniu obszarów zamaskowanych, wyrównaniu tekstu i jakości obrazu. Ponadto, modele takie jak Stable Diffusion Inpainting, HD-Painter, PowerPaint i inne wykazują silną wydajność w zadaniach retuszowania obrazów wewnątrz, chociaż nie potrafią powtórzyć swojej wydajności w zadaniach retuszowania na zewnątrz, szczególnie w kwestii wyrównania tekstu i jakości obrazu. Ogólnie, ramowy BrushNet dostarcza najmocniejsze wyniki.

Ponadto, poniższa tabela porównuje ramowy BrushNet z istniejącymi modelami retuszowania obrazów opartymi na dyfuzji w zestawie danych EditBench, a wyniki są porównywalne do tych obserwowanych w zestawie danych BrushBench. Wyniki wskazują, że ramowy BrushNet dostarcza silną wydajność w szerokim zakresie zadań retuszowania obrazów z różnymi typami masek.

Porównanie jakościowe

Poniższy rysunek jakościowo porównuje ramowy BrushNet z istniejącymi metodami retuszowania obrazów, z wynikami obejmującymi sztuczną inteligencję i naturalne obrazy w różnych zadaniach retuszowania, w tym retuszowaniu losowym, retuszowaniu wewnątrz i na zewnątrz.

Jak można zauważyć, ramowy BrushNet dostarcza wyjątkowe wyniki w kwestii spójności nienamaskowanego obszaru i obszarów spójnych, a także skutecznie realizuje świadomość informacji tła dzięki wdrożeniu podejścia rozgałęzionego. Ponadto, nienaruszona gałąź pre-trenowanego modelu dyfuzji zapewnia również przewagę w pokrywaniu różnych domen danych, takich jak anime i malowidła, co skutkuje lepszą wydajnością w różnych scenariuszach.

Końcowe myśli

W tym artykule omówiliśmy ramowy BrushNet, nowy, podwójnie rozgałęziony, inżynierski ramowy, który wbudowuje funkcje obrazu na poziomie pikseli do dowolnego pre-trenowanego modelu dyfuzji, gwarantując spójność i poprawiony wynik w zadaniach retuszowania obrazów. Ramowy BrushNet wprowadza nowy paradygmat, w którym ramowy dzieli funkcje obrazu i szumowe latentne na oddzielne gałęzie. Podział funkcji obrazu i szumowych latentnych zmniejsza obciążenie uczenia się modelu drastycznie i ułatwia nuansowane wbudowanie istotnych informacji o zamaskowanym obrazie w hierarchiczny sposób. Oprócz ramowego BrushNet, będziemy również rozmawiać o BrushBench i BrushData, które ułatwiają ocenę wydajności opartą na segmentacji i szkolenie retuszowania obrazów.

"Inżynier z zawodu, pisarz z serca". Kunal jest technicznym pisarzem z głęboką miłością i zrozumieniem AI i ML, poświęconym uproszczeniu złożonych pojęć w tych dziedzinach poprzez swoje angażujące i informacyjne dokumentacje.