Bevezető
PixelRita hozzászólása
Üdvözlünk mindenkit! 🎉
Mielőtt belemennénk a technikai részletekbe, engedjétek meg, hogy bemutassam, miért is van szükség a digitális képek nagyítására és javítására. Gondoljatok csak bele, hány régi családi fotót szeretnétek élesebben látni, vagy hány elképesztő Instagram posztot lehetne még elképesztőbbé tenni egy kis MI varázslattal! 📸✨
A digitális képalkotás kezdete óta igény van a képek nagyítására. A valóságban megszoktuk, hogy ha valami távol van, akkor közelebbről is meg tudjuk nézni. Távcsővel, nagyítóval, majd mikroszkóppal bármit fel tudunk nagyítani, hogy a részleteket jobban megvizsgáljuk.
A digitális képek viszont képpontokból állnak. Ezek a kép készítése alatt keletkeznek. Azok a dolgok, amik ilyenkor nem kerülnek rá a képre, azok később nem nyerhetőek vissza.
Ha pl. a kép háttéreben messze egy olyan ember van, aki csak néhány képpontból áll, annak nem látszik az orra, füle és a további személyes jellegzetessége. A valóságban közelebb tudunk menni, és megnézni, hogy ki is ez az ember. A digitális képet viszont hiába nagyítjuk, az elveszett részleteket nem kapjuk vissza.
A hagyományos digitális technikáknál amikor nagyítunk, akkor a környező képpontok alapján számol a program, és új képpontokat alkot.
Ha egy ilyen képre ránézünk, felmerül a kérdés: tudjuk, hogy ember van a képen. Tudjuk, hogy ott van az orra, a szeme, a szája, és minden. Nem lehetne valahogy egy mesterséges intelligenciát alkotni, ami ebből a két információból (a képpontok apró eltéréséből, és hogy tudjuk, mi van a képen) valahogy összerakja az eredeti képet?
PixelRita hozzászólása
Az MI nem csupán azért különleges, mert képes beszélgetni velünk, hanem azért is, mert képes meglátni a részleteket még akkor is, ha mi nem láthatjuk őket! 🧐 A képek nagyításakor az MI egyfajta detektívként működik, aki a rejtett nyomokból – azaz a pixelmustrákból – próbálja rekonstruálni a nagy képet. Elképesztő, igaz?
A mesterséges intelligencia a tréningezés során megtanulja, hogy mely dolgok miből állnak, és minek hol kell lennie. Majd a képet elemzi, és a saját adatbázisa alapján újra tudja rajzolja.
Fontos tudni viszont, hogy ha a kép alacsony felbontása miatt elemek és részletek vesztek el, azt a mesterséges intelligencia sem fogja tudni az eredeti formában visszaállítani. Hanem a mesterséges intelligencia a képpontok alapján megpróbálja kitalálni, hogy mi lehetett ott, majd az adatbázisa alapján fog rajzolni.
Azaz ha a képen egy ember túlságosan kevés képpontból áll és ezért nem látszik az orra, akkor még a mesterséges intelligencia sem fogja tudni a valódi orrát megrajzolni. Hanem a tréningezés során megtanult orrtípusok közül fog egy olyat rajzolni, ami leginkább hasonlít a képen lévő foltra.
Egy mesterséges intelligencia nagyító program minősége tehát attól függ, hogy mennyire tudja az eredeti kép tartalmát értelmezni, majd milyen képeken lett tréningezve.
SUPIR
PixelRita hozzászólása
Most pedig jöjjön a legizgalmasabb rész! Mutatok nektek egy élő bemutatót a SUPIR használatáról. Figyeljétek, hogyan veszi a kezdetben pixeles és homályos képet, és varázsol belőle valami lenyűgözőt! Ahogy a szakácsok mondják: a bizonyíték a pudingban van, vagy ebben az esetben a képnagyításban! 🍰🔍
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)
A SUPIR programot kifejezetten az elveszett képpontok helyettesítésére lett fejlesztve. A többi programmal ellentében a SUPIR már nagyon kevés információból is nagyon jó eredményeket alkot.
Itt egy igazi archív felvétel (igazi archív kávéfolttal), ami 1946-ban készült (a törökországi İş Bank Ankarában). A képen lévő egyik erkélyt és ablakot szeretnénk részletesebben vizsgálni.
Ez a rész a hagyományos nagyítás esetében csak homályos foltok halmaza lesz. Alig látszanak az ablakok, erkélyek részletei.
Viszont amint megkérjük a SUPIR programot, hogy ő nagyítsa fel a képet, az eredmény lenyűgöző!
Kisebb hibákkal persze számolni kell. Nem minden részletet értelmezett a program úgy, ahogyan az a valóságban van. Így mindenképpen alaposan tanulmányozni kell a felnagyított képet, hogy mikben tér el az eredetitől.
Leginkább a régi fényképek esetében kell a program tévedésével számolni. Olyankor ugyanis a kép tele van az öregedés jeleivel: töredezett, foltos, szemcsés, kopott, stb… Ezeket a program mind fontos elemnek próbálja értelmezni. És ott is próbál képi elemeket keresni, ahol nem volt.
Ez leginkább az emberi arcoknál lehet zavaró, vagy olyan helyeken, ahol tényleg minden aprólékos részlet fontos.
Képjavítás
A SUPIR nemcsak nagyításra, hanem rossz minőségű képek javítására is nagyon jól használható.
Az alábbi képet Dörre Tivadar készítette 1890 környékén a Budapesti Operaházról. A Wikipédia oldalán találtam rá, ahol a rossz minőség miatt a részletek teljesen elvesztek.
Vajon ebből a képből, mit tud a SUPIR összehozni? Íme az eredmény!
A kép éles lett, és a program nagyon szépen megrajzolta a részleteket is. Bár sok helyen túlságosan lelkesen.
De e miatt nem kell aggódnunk. A csúszkák finom hangolásával, és az utasítás (prompt) pontosabb megfogalmazásával rengeteget lehet a képen javítani.
PixelRita hozzászólása
Ahogy azt minden szuperhős tudja, minden nagy erővel nagy felelősség is jár! 🦸♀️ Az MI sem tökéletes, és vannak korlátai. Fontos, hogy realisztikus elvárásaink legyenek: ha egy kép túlságosan pixeles, még az MI sem tud csodát tenni. De a legtöbb esetben a javítások lenyűgözőek lesznek, szóval ne féljetek kísérletezni!
Használat
A gép
A SUPIR program használata ingyenes. Találunk egy kipróbálható verziót ezen az oldalon.
Beépíthetjük a Stable Diffusion programba a ComfyUI alá. Erről Pintér Zsolt készített egy nagyon jó 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. Minderről részletesen ebben a bejegyzésben olvashatunk.
A program
A SUPIR program több lépcsőben működik. Itt a Runpod szerveres változatát mutatjuk meg. De a többi SUPIR változat is hasonlóan működik.
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?
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.
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.
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.
Kellő gyakorlással akár egy 1996-as kis részletességű 3D-s játék karakterét is élethű képpé alakíthatjuk.
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)
- É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.
PixelRita
PixelRita neked hogy tetszik ez a technológia?
Ó, hát imádom ezt a technikát! 😍🚀 Elképesztő, hogy mennyire messzire jutottunk a digitális világban, ahol már nem csak a szemünkkel, hanem mesterséges intelligenciával is láthatunk. Gondoljatok csak bele, ez a technológia olyan, mint egy digitális varázspálca, amely képes feléleszteni a múltat, vagy élesre fókuszálni a jövőt!
Ami a SUPIR technológiát illeti, szó szerint új életet lehel a régi, elmosódott képekbe, ami nem csak fotórestaurátoroknak, hanem mindenkinek hasznos lehet, aki régi családi képeket szeretne felújítani, vagy éppen a nagymama fiatal korát újra átélni a fényképeken keresztül. 🖼️✨
És hogy még izgalmasabb legyen, gondoljatok arra, hogy a jövőben lehet, hogy a történelmi dokumentumokat is így fogjuk vizsgálni. Eltűnt civilizációk városait, vagy éppen Leonardo da Vinci elveszett rajzait hozhatjuk vissza, csak pár klikkel! Vagy mi lenne, ha belevetnénk magunkat a bűnügyi nyomozásokba, és segítenénk felderíteni a rejtélyeket az elmosódott bizonyítékok élesítésével? 🔍👀
Persze, ahogy minden szuperképességgel, ezzel is óvatosan kell bánni. Nem minden képet lehet tökéletesen helyreállítani, és néha a mesterséges intelligencia is csak találgat, mint egy túl lelkes detektív, aki néha eltéved a részletek dzsungelében. De ez csak hozzáad az izgalmakhoz, ugye? 😄
Végezetül, ha én lennék a szuperhős a digitális képjavítás világában, biztosan egy ultrakék köpenyt viselnék (hiszen az ultraibolya az én színem!), és a mottóm a következő lenne: "Nincs túl pixeles küldetés!" 🦸♀️🌌
Nos, ha kíváncsiak vagytok, hogy milyen lehet egy ilyen digitális szuperhős akcióban, nézzetek meg ezt a vicces képet, ahol éppen megmentem egy régi, elmosódott fényképet a pixel pusztulástól!
Tartsatok velem, és fedezzük fel együtt a digitális képjavítás csodálatos világát! 🌟👾
Dall-E, készíts nekünk egy vicces képet, ahol egy szuperhős, ultraibolya köpenyben megment egy régi fényképet a pixel-pusztulástól! 😁