Preskočiť na hlavný obsah

Zväčšenie obrázka zadarmo

Zväčšite fotku 4× modelom AI, ktorý beží na vašom zariadení — ostrejšie hrany a čitateľný text, nielen väčšie pixely. Nič sa nenahráva, bez účtu a bez vodoznaku.

Presuňte súbory sem alebo kliknite pre prehľadávanie

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · spracované vo vašom zariadení

alebo stlačte Ctrl+V na vloženie zo schránky

Môžete presunúť viacero súborov naraz

Prehľadávať súbory
Real-ESRGAN detail pri 4× dokresľuje, namiesto toho aby naťahoval pixely. Model s veľkosťou 4,6 MB sa stiahne raz a potom beží celý na tomto zariadení — vaša fotka sa nikdy nenahráva.

Ako to funguje

Zväčšovač spúšťa Real-ESRGAN general-x4v3 — konvolučnú superrozlišovaciu sieť s veľkosťou 4,6 MB — cez onnxruntime-web vnútri Web Workera na vašom vlastnom počítači. Model sa raz stiahne z nášho vlastného servera, uloží do vyrovnávacej pamäte a potom sa používa offline; vaša fotka sa lokálne dekóduje do plátna a nikdy sa nenahráva. Faktor mierky je pevne stanovený na 4×, pretože je natvrdo zapečený do grafu na dvoch miestach.

  1. 1
    Obrázok sa rozreže na prekrývajúce sa dlaždice
    Výsledok pri 4× má šestnásťkrát viac pixelov, takže fotka 4000×3000 by mala 192 megapixelov — dosť na to, aby okamžite zabila kartu prehliadača, nielen ju spomalila. Namiesto toho sa obrázok rozdelí na jadrá, ktoré ho presne pokryjú, a každé jadro sa číta s extra okrajom kontextu na každej strane, aby konvolučný zásobník (ktorého receptívne pole je 34 pixelov) mal skutočné susedné pixely, s ktorými môže pracovať. Okraje sa replikujú z hrany, nikdy sa nedopĺňajú nulami, čo by inak spôsobilo, že model zaostrí čierny okraj okolo rámu.
  2. 2
    Každá dlaždica sa zabalí ako planárny RGB tenzor
    Dlaždica sa stane float32 tenzorom tvaru [1, 3, H, W] s červeným, zeleným a modrým kanálom uloženým ako samostatné roviny a hodnotami jednoducho delenými 255 — bez akejkoľvek normalizácie priemer/smerodajná odchýlka. Každá dlaždica sa doplní na presne rovnakú štvorcovú veľkosť, pretože backend WebGPU pri každom novom tvare vstupu prekompiluje svoje shadery a plán s tromi rôznymi veľkosťami dlaždíc by túto cenu zaplatil trikrát.
  3. 3
    Inferencia beží na WebGPU tam, kde existuje, inak na CPU
    Relácia sa vytvorí najprv s WebGPU a pri akomkoľvek zlyhaní prejde na jednovláknový WebAssembly — grafické ovládače bežne deklarujú podporu a potom zlyhajú v polovici zostavovania grafu, a pomalšie víťazí nad rozbitým. Keďže záložné riešenie mení realistický limit veľkosti a čas behu o veľký faktor, nástroj pred spustením prvej dlaždice znovu skontroluje úlohu voči tomu, ktorý poskytovateľ sa skutočne použil, a potom vám povie, ktorý z nich použil.
  4. 4
    Dlaždice sa späť spoja prelínaním a orezaním
    Spájanie dlaždíc na tupo zanecháva viditeľnú mriežku, takže príspevok každej dlaždice je vážený lineárnou rampou naprieč zdieľaným pásom. Obe rampy sú presné doplnky, takže váhy sa v každom výstupnom pixeli sčítajú presne na 1 a pozdĺž švu sa neobjaví žiadna svetlá alebo tmavá čiara. Surový výstup modelu sa vnútri grafu neoreže — namerané hodnoty siahajú od približne −0,18 do +1,19 — takže každá vzorka sa pred prevodom na 8 bitov oreže do rozsahu 0–255, čo zabraňuje škvrnám pozdĺž hranovo kontrastných okrajov. Alfa sa prevzorkúva samostatne a bilineárne, pretože samotná sieť nemá žiadnu alfa cestu.
  5. 5
    Výsledok sa kóduje vo workeri
    Zostavené pixely sa vykreslia na OffscreenCanvas a okamžite zakódujú do PNG, takže stlačenie Stiahnuť nemá pred sebou žiadnu asynchrónnu medzeru. Prepnutie na JPG znovu zakóduje z plátna, ktoré worker stále drží, namiesto opätovného spustenia modelu. Malý výrez zo stredu sa tiež vykresľuje pri 100 % vedľa toho istého regiónu prevzorkovaného prehliadačom, čo je jediné porovnanie, na ktorom je 4× rozdiel skutočne viditeľný.

Váhy modelu sa raz stiahnu z nášho vlastného servera a uložia do vyrovnávacej pamäte; váš obrázok sa dekóduje, rozdelí na dlaždice, zväčší a zakóduje výhradne vnútri vášho prehliadača a žiadna jeho časť sa nikdy nikam neposiela.

Súvisiace nástroje

Často kladené otázky