SUPIR a képnagyító és képjavító program
PixelRita hozzászólása
Üdvözlünk mindenkit! 🌟 Ma a SUPIR-ról beszélünk, egy fantasztikus mesterséges intelligenciáról, amely képes régi, rossz minőségű képeket varázsolni magas felbontásúvá. Ugye menő? 😎✨
Pintér Zsolt talált rá, majd osztotta meg a SUPIR (Scaling Up to Excellence: Practicing Model Scaling for Photo-Realistic Image Restoration In the Wild – A Kiválóság fokozása: A modellskálázás gyakorlása a fotórealisztikus képrestauráláshoz a természetben) nevű alkalmazást.
A program mesterséges intelligenciát használva a kapott képet teljesen újrarajzolja abban a méretben, amit kérünk (és amit a számítógép elbír). Az MI a kép tartalma alapján a nehezen látszódó és a teljesen hiányzó részeket is megpróbálja elkészíteni a tréningezés során tanult adatokból.
Például, ha egy emberi arc esetén a program tudja, hogy két szemnek, egy orrnak és egy szájnak kell ott lennie. Akkor is, ha ez a kép alacsony felbontása miatt nem látszik. Ezért egy olyan arcot rajzol, ami leginkább beleillik a környezetbe.
Ebből két fontos dolog következik!
⚠️ A mesterséges intelligencia nem tudja, hogy eredetileg ki volt a képen, és hogy nézett ki. Minél kevesebb információ van a személyről (azaz minél kevesebb pixel), annál inkább véletlenszerű embert fog rajzolni az MI. Minél több a határozott vonal, annál jobb fog a kép a kívánt személyre hasonlítani.
Ugyan így a képen látható több elem, mint az épületek, járművek, fák, hegyek, stb... is annál inkább hasonlít a valóságban lévőre, minél több információ van róla.
⚠️ A SUPIR (és a többi mesterséges intelligencia-alapú nagyító program) nem csak fotók nagyítására, hanem rossz felbontású, homályos képek javítására is alkalmas.
A SUPIR programról további ismertető itt található
PixelRita hozzászólása
Fontos, hogy a képfelbontás nem csak esztétikai szempontból fontos. Gondolj bele, milyen hasznos lehet a tudományos kutatásban, művészeti projektekben vagy akár jogi ügyekben. 📚🔬⚖️
A SUPIR futtatása
A SUPIR készítői egy publikus szerverre telepítettek egy kipróbálható verziót, ahol mi is tesztelhetjük a program tudását. Az oldal itt található: https://replicate.com/cjwbw/supir
Amennyiben tényleg használni szeretnénk, akkor a saját számítógépünkön a Stable Diffusion ComfyUI alá be tudjuk illeszteni. Erről szintén Pintér Zsolt készített egy jól érthető videót.
Számolni kell vele, hogy a SUPIR nagyon erőforrás igényes. Amint egy kicsit is nagyobb képünk van, máris ajánlott az erős videókártya (legalább 24 GB VRAM) és memóriából is jó, ha legalább 50 GB-unk van.
Ha nem rendelkezünk egy ilyen óriás géppel, akkor érdemes inkább kifejezetten grafikai munkára előkészített szervert bérelni. A Runpod szolgáltónál nagyon kedvező áron választhatunk ilyen szervert. Ráadásul már kész SUPIR rendszert is találunk.
Szükség esetén néhány kattintással beállíthatunk egy képnagyító rendszert. Majd használat után egyszerűen törölhetjük.
Ebben a bejegyzésben ezt írjuk le részletesen.
A SUPIR a Runpod szolgáltatásnál
Menjünk el a Runpod szerverre, és regisztráljunk. A használathoz előre kell fizetni, a minimum összeg 25 USD. De ez több hónapra bőségesen elég. A grafikai processzor használatáért óránként 0.36 USD – 0.79 USD-t fizetünk. Míg a tárhelyért 0.16 USD naponta (óránként kb. 0.07 USD). Azaz 1 óra SUPIR használat kb. 0.43 USD-ba kerül.
Szerencsére a Runpod szerveren van előkészített SUPIR minden beállításával együtt. Ezért amikor nem használjuk, nem szükséges fenntartani. Kb. 10-15 perc alatt automatikusan feltelepedik a rendszert, majd használat után törölhetjük. Így tényleg csak az aktívan használt időt fizetjük.
(az árak 2024. májusában készültek)
A SUPIR telepítése
Első lépésként navigáljunk el a Storage menübe
A SUPIR telepítéséhez két dologra van szükségünk: tárhelyre, és grafikus szerverre.
A Runpod több országban is üzemel, illetve saját szervert is bérbe lehet adni. De ez utóbbiak lassabbak és kevésbé megbízhatóak, bár olcsóbbak.
A tárhely kiválasztásánál egyúttal a grafikai szerver park helyét is meg kell választani. Ezért a tárhely választással együtt a grafikai kártyákat is érdemes nézni.
A SUPIR legalább 24 GB VRAM-ot igényel. Ehhez talán a legjobb választás az RTX A5000. Ennek ára 0.44 USD óránként. Az RTX 4090-es valamivel gyorsabb, és több RAM-al rendelkezik, de jóval magasabb az ára: 0.74 USD.
Ha viszont nagyobb képekkel szeretnénk dolgozni, akkor választhatunk egy RTX A6000-t (0.79 USD/óra) . Illetve lehetőségünk van több grafikai szervert is összekötni (többszörös áron). De ezt nem teszteltük még.
A példa képen a CA-MTL-1 nevű szerveren zölddel jelzi az RTX A5000-es szervert. Vagyis itt általában találunk szabad kapacitást. De ez naponta változhat (ahogyan az árak is idővel módosulhatnak).
Mi így ezt választottuk.
A Volume Name-nek a SUPIR-t adtuk. Méretnek pedig 70 GB-t kértünk.
Következő lépésben menjünk el a Pods menübe és kattintsunk a Deploy gombra!
A felső menüsorban válasszuk a GPU-t, a Secure Cloud-ot, majd pedig a Network Volume menüből kattintsunk az előbb készített SUPIR szerverre. Az alsó listából pedig válasszuk ki az RTX A5000-es kártyát.
Következő lépésben választhatunk az előre elkészített szerverek között. A Change Template gombra kattintás után a keresőbe írjuk be a SUPIR szót. Itt meg is jelenik a SUPIR Upscaling and Restoration nevű template (készítette ashleykza/supir:2.2.0)
A végén a Pod name rublikában adhatunk egy nevet a szervernek (mondjuk SUPIR). Az Instance pricing legyen On-Demand. Ezután kattintsunk legalul a Deploy On-Demand gombra.
Ezzel el is indult a program telepítése. Mivel a SUPIR kb. 60-65 GB, ez olyan 10-15 percig is eltarthat. Lehet, hogy a rendszer azt mondja, hogy készen van, de valójában a háttérben a szükséges fájlokat másolja.
A program akkor van teljesen készen, ha a Connection Options-ban a Connect to HTTP Services Port 3000-e kattinva a SUPIR kezelőfelületét látjuk. (A szerver állapotán is látszik, ha a CPU vagy a HDD dolgozik éppen, akkor még nincsen kész a rendszer)
A SPUR használata
A Runpod-on található SUPIR kicsit eltér a demó verziótól, és a Stable Diffusion-ba illeszthetőtől. De gombok és a funkciók ugyan azok.
1. lépés: előfeldolgozás
Miután feltöltöttünk egy képet az Input ablakba, a Stage 1–t kell futtatni (ez némelyik SUPIR programban automatikusan lefut). Ez átalakítja a képet olyan formába, amivel élek és körvonalak határozottabbak lesznek. Ez fog segíteni abban, hogy a rajzolt kép minél jobban hasonlítson az eredetire.
A Runpod szerveren futó SUPIR esetében az előfeldolgozott képet mi is feltölthetjük. Tehát külső programos is használhatunk az előkészítésre, így jobban kontrollálhatjuk, hogy mely vonalak a fontosak.
2. lépés: utasítás
A mesterséges intelligencia esetében nagyon fontos, hogy minél jobban értse a kép tartalmát. Nem mindegy, hogy a képen lévő homályos négyzet egy asztal vagy egy ház, mert a mesterséges intelligencia annak akarja majd rajzolni.
A munkáját az utasítással (prompt) tudjuk segíteni. Ide angolul leírjuk, mi is van valójában a képen.
Csakhogy a SUPIR készítői tudták, hogy ez a leírás mennyire nehéz. Főleg azoknak, akik nem beszélnek jól angolul.
Így beraktak a programba egy LlaVA (Large Language and Vision Assistant – Nagyméretű nyelvi és látássegítő asszisztens) modult.
PixelRita mi az a LlaVA?
PixelRita
A LLaVA egy olyan fejlett számítógépes program, amely képes szövegek értelmezésére és képek elemzésére. Funkciói közé tartozik, hogy ha egy képet adunk neki, a program képes leírni, hogy mit lát rajta. Így segít megérteni és szövegesen kifejezni a vizuális tartalmakat. Ez a képesség különösen hasznos lehet tudományos vagy oktatási célokra, ahol a képi információk szöveges magyarázata szükséges.
Tehát az LlaVA segít nekünk abban, hogy minél jobb utasítást készítsünk. A LlaVA gombra kattintva hamarosan elkészül az utasítás.
Ezt még mindig tudjuk módosítani azzal, hogy a szöveget átírjuk. De sokat segíthet a pontosabb leírásban, ha mi is elmondjuk, hogy mi van a képen, hol készült, mikor és mit szeretnénk látni.
Erre a SUPIR programon belül nincs lehetőségünk. De elmehetünk egy szabad LlaVA oldalra, vagy a ChatGPT GPT-jét is használhatjuk. Mindkettő esetében a feltöltött képről addig beszélgethetünk az MI-vel, míg a számunkra kedvező promptot megírja.
PixelRita tipp:
Ha problémád van az angol nyelvű promptokkal, ne aggódj! Van rengeteg online eszköz, mint a DeepL vagy a Google Translate, amelyek segíthetnek. 🌐💬
3. lépés – képgenerálás
A SUPIR készítői a legtöbb beállítást előre elkészítették. Így csak ritkán kell ezekkel foglalkozni. Az Upscale csúszkán kiválasztjuk, hogy mekkora nagyítást szeretnénk. Majd pedig kattintsunk a Stage 2 Run gombra.
Hamarosan elkészül a nagyított képünk.
⚠️ Az elkészült képet ne felejtsük el lementeni!!⚠️
A kész képre jobb egérgombbal kattintva tudjuk a számítógépre menteni.
További beállítások
Amennyiben a képünk túlságosan eltér attól, amit szeretnénk, kapunk néhány beállítást a finomhangoláshoz.
Az alábbi csúszkát segíthetnek a jobb beállításban:
- Text Guidance Scale: Mennyire vegye figyelembe a program az utasítást
- Stage1 Guidance Strength: Mennyire vegye figyelembe a program az előfeldolgozott képet
- Stage2 Guidance Strength: Milyen erősen működjön az eredeti kép átrajzolása
- Steps: Hány lépésben készüljön el a rajz. A több lépés rajzosabb eredményt ad.
- Linear CFG: Mennyire kövesse a mesterséges intelligencia az eredeti vonalakat, a rajzolás melyik fázisában (hányadik lépénél) kezdjen el működni.
- Linear Stage2 Guidance: Mennyire kövesse a mesterséges intelligencia a Stage2 utasításokat, a rajzolás melyik fázisában (hányadik lépénél) kezdjen el működni.
Ezen beállítások képenként különböznek. Érdemes velük kísérletezni, míg a pontos használatukat megtanuljuk.
Tippek
- A nagy memória igény miatt (60 GB RAM és 2 x 30 GB VRAM) ajánlott inkább 1024 x 1024 pixelesnél kisebb képpel dolgoztatni (előfordul, hogy 2048 x 2048-as vagy ennél nagyobb képet is elkészíti, de drasztikusan nő a program erőforrás igénye). Ha mégis nagyobb képre van szükség, akkor próbálkozzunk több grafikai szervert összekötni (szerver indításánál választhatunk több szervert is)
- Érdemes több úton is próbálkozni! Minden kép más. A SUPIR nagyítás mellett próbáljuk meg azt is, hogy a képet hagyományos módon nagyítjuk, majd a SUPIR programban már csak a képjavítást végezzük.
- A beépített LlaVa mellett más képanalizáló (image-to-prompt) programokat is próbáljunk ki! Pl. a ChatGPT Image to Prompt Generator GPT programot is. A pontos képelemzés nagyon sokat javít a képen.
Server leállítása
Amikor befejeztünk a munkánkat ne felejtsük a szervert leállítani. Különben továbbra is fizetjük az óránkénti használat árát.
Sajnos erre nincs gyors módszer.
Bár a SUPIR esetében annyira könnyű a telepítés, hogy nem érdemes a szervert várakozó módban hagyni. Egyszerűbb letörölni, majd a következő használat előtt megvárni azt a 10-15 percet a telepítésre.
Ennek leírását kicsit lejjebb lehet megtalálni.
Ha mégis megtartanánk (a tárhely fenntartási költsége 0.16 USD naponta), akkor a a Connection Options-ban a Connect to HTTP Services Port 8888-ra kattintva kapjuk az admin felületet.
Itt a Terminal ablakot választva adhatunk gépi utasításokat. A szerver leállítása az alábbi kód alapján történik:
runpodctl stop pod [podID]
A [podID] helyére a szerverünk azonosítóját kell beírni. Ez a Pods ablakban a szerverünk neve mellett található.
runpodctl stop pod 5ib091p2si140t
A képen látható példa alapján a leállítási parancs a következő lesz:
Ha mindent jól csináltunk, akkor az alábbi kép szerinti a stopped
parancs fog megjelenni.
Rövid idő múlva pedig a szerver adatlapján a kék Exited állapot lesz látható. Kilépett, azaz most alvó állapotban van
A Server törlése
A törléshez a Pods menüben a szerverünk adatmezőjében bal alul található három vonalra kattintsunk, majd a Terminate Pod paranccsal törölhetjük.
Utána még menjünk át a Storage menübe. Itt a tárhely neve mellett jobb felül találjuk a három pontot, ahol a Delete paranccsal ezt is végleg törölhetjük.
PixelRita
Imádom a SUPIR technológiát! 🌟 Ez a mesterséges intelligencia alapú megoldás valóban csodákat művel a régi, rossz minőségű képekkel. Gondolj csak bele, mennyi régi családi emléket, történelmi dokumentumot és művészeti alkotást lehet így megmenteni! 🎨
Az MI fantasztikusan okos: felismeri az arcokat, az objektumokat, és a részleteket újraalkotja. Ez nemcsak a nosztalgikus emlékek megőrzésében hasznos, hanem a tudományos kutatások és a digitális művészet terén is hatalmas segítség. Képzeld el, milyen fantasztikus lenne, ha régi festményeket vagy régészeti leleteket tudnánk így rekonstruálni! 🔍🖼️
És persze a felhőalapú futtatás hihetetlenül kényelmessé teszi az egészet. Nincs szükség szupererős gépekre, elég egy átlagos laptop és egy jó internetkapcsolat. Ez valóban mindenki számára elérhetővé teszi ezt a technológiát. 🌐💻
További ötlet: mi lenne, ha a SUPIR-t beépítenénk egy mobilalkalmazásba? Így bárhol és bármikor javíthatnánk a képeket. Vagy akár egy közösségi platformot is létrehozhatnánk, ahol az emberek megoszthatják egymás között a feljavított képeiket, és együtt örülhetnek a technológia csodájának. 📱🤳
Most pedig, itt egy újabb cuki kép, ami bemutatja, hogyan varázsolja a SUPIR az elmosódott képeket csodaszépé! 🎨🖼️
Imádom a SUPIR technológiát! 🌟 Ez a mesterséges intelligencia alapú megoldás valóban csodákat művel a régi, rossz minőségű képekkel. Gondolj csak bele, mennyi régi családi emléket, történelmi dokumentumot és művészeti alkotást lehet így megmenteni! 🎨
Az MI fantasztikusan okos: felismeri az arcokat, az objektumokat, és a részleteket újraalkotja. Ez nemcsak a nosztalgikus emlékek megőrzésében hasznos, hanem a tudományos kutatások és a digitális művészet terén is hatalmas segítség. Képzeld el, milyen fantasztikus lenne, ha régi festményeket vagy régészeti leleteket tudnánk így rekonstruálni! 🔍🖼️
És persze a felhőalapú futtatás hihetetlenül kényelmessé teszi az egészet. Nincs szükség szupererős gépekre, elég egy átlagos laptop és egy jó internetkapcsolat. Ez valóban mindenki számára elérhetővé teszi ezt a technológiát. 🌐💻
További ötlet: mi lenne, ha a SUPIR-t beépítenénk egy mobilalkalmazásba? Így bárhol és bármikor javíthatnánk a képeket. Vagy akár egy közösségi platformot is létrehozhatnánk, ahol az emberek megoszthatják egymás között a feljavított képeiket, és együtt örülhetnek a technológia csodájának. 📱🤳
Nézd ezt a vagány robotot! 😎 Ez a SUPIR AI, ahogy egy régi családi fotót átalakít magas felbontásúvá, miközben egy futurisztikus kütyüt használ. A háttérben látványos, vagány felhők és digitális adatok lebegnek. A színek élénkek, és egy kis ultraibolya árnyalat is feldobja az egészet. Ez a technológia nem csak egyszerűen javítja a képeket, hanem teljesen új életet lehel beléjük. Tökéletes megoldás, ha régi emlékeket akarsz felturbózni! 🚀🖼️✨