Dlaczego grafika z AI źle się skaluje i co z tym zrobić

ChatGPT, Midjourney i Ideogram oddają piksele, nie kształty. Co się dzieje z takim logo po powiększeniu na baner i jak zrobić z niego prawdziwy plik wektorowy.

Logo z generatora wyglądało świetnie w oknie czatu. Potem przyszła prośba z drukarni o wersję na roll-up, dwa metry wysokości, i okazało się, że po powiększeniu krawędzie miękną, litery lekko falują, a narożniki są rozmyte. To nie twoja wina ani wina promptu. Tak wygląda każdy obraz z modelu generującego, bo jest bitmapą.

Generator maluje piksele i nie wie, czym jest kształt

Każdy dostępny dziś generator obrazów zwraca siatkę kolorowych punktów, zwykle 1024 albo 1536 pikseli na bok. W takim pliku nie ma koła, jest tylko zbiór pikseli ułożonych w coś, co wygląda jak koło. Przy powiększeniu program musi zgadywać brakujące punkty, więc krawędź się rozmywa. Drukarka w 300 dpi widzi dokładnie to samo rozmycie.

To dotyczy każdego PNG. Obraz z AI dokłada do tego trzy własne wady.

1. Krawędzie falują

Model dyfuzyjny buduje obraz z szumu, krok po kroku. Linia, która miała być idealnie prosta, albo okrąg, który miał być idealnie okrągły, wychodzą z delikatną falą o amplitudzie jednego lub dwóch pikseli. Na ekranie telefonu tego nie widać. Na banerze, albo po przepuszczeniu przez konwerter, który wiernie obrysowuje każdy piksel, fala staje się widoczna i logo wygląda jak rysowane ręcznie, choć nikt tego nie chciał.

2. Grubość kreski pływa

Litera, która powinna mieć stałą grubość, jest odrobinę grubsza u góry niż u dołu. Przy 300 pikselach nikt tego nie zauważy, przy 3000 widać gołym okiem. Zwykły tracer zachowuje to pływanie, bo nie ma pojęcia, że ta kreska miała być równa.

3. Kolory są prawie jednolite, ale nie do końca

Czerwień, która w projekcie jest jednym kolorem, w pliku jest chmurą setek niemal identycznych czerwieni z lekkim szumem. Prosty konwerter dzieli ją na dwa albo trzy pasma i w logo pojawiają się schodki tam, gdzie miał być jeden kolor. Albo zachowuje wszystkie odcienie i dostajesz tysiąc drobnych kształtów zamiast jednego.

Upscaler tego nie naprawi

Programy do powiększania obrazów robią większą bitmapę: wyostrzają krawędzie, czasem dorysowują detale. Wynik to nadal piksele. Kolejne powiększenie znów się rozmyje, a fala jest już utrwalona w wyższej rozdzielczości. Do druku, wycinania z folii i haftu potrzebne są kształty, czyli plik wektorowy.

Co musi zrobić dobra wektoryzacja

  • Rozpoznać, co jest jednolitym kolorem, a co gradientem, i zapisać jedno wypełnienie na kształt, a nie pasma odcieni.
  • Znaleźć każdą krawędź z dokładnością do ułamka piksela i zapisać ją jako gładką krzywą, nie gubiąc ostrych narożników.
  • Uznać falowanie za szum generatora, nie za element projektu, i wygładzić krzywe bez zmiany właściwego kształtu.
  • Dać sąsiednim kolorom jedną wspólną granicę, żeby przy druku i cięciu nie było prześwitów ani nakładających się warstw.

Właśnie do tego zbudowaliśmy svgize. Silnik najpierw mierzy, jak obraz został zdegradowany, potem odbudowuje logo z wypełnień i wspólnych krawędzi, a kreski wygładza tam, gdzie źródło faluje. Fala znika, projekt zostaje taki, jaki zatwierdziłeś.

Sprawdź na swoim obrazie z ChatGPT albo Midjourney

Zanim skonwertujesz: kilka praktycznych rad

  • Poproś generator o logo na białym albo przezroczystym tle, w płaskich kolorach, bez cieni i efektów 3D.
  • Pobierz największy dostępny rozmiar. 1500 do 2000 pikseli daje silnikowi najwięcej informacji.
  • Jeśli masz wybór, bierz PNG, nie JPG. Kompresja JPEG dokłada własne artefakty wokół krawędzi.
  • Po konwersji otwórz SVG w Figmie, Illustratorze albo Inkscape i obejrzyj narożniki przy powiększeniu 400 %. Tam najlepiej widać różnicę między obrysowaniem pikseli a rekonstrukcją projektu.