Přeskočit na hlavní obsah

Zvětšení obrázku zdarma

Zvětšete fotku 4× modelem AI, který běží na vašem zařízení — ostřejší hrany a čitelný text, ne jen větší pixely. Nic se nenahrává, bez účtu a bez vodoznaku.

Přetáhněte soubory sem nebo klikněte pro procházení

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · zpracováno na vašem zařízení

nebo stiskněte Ctrl+V pro vložení ze schránky

Můžete přetáhnout více souborů najednou

Procházet soubory
Real-ESRGAN detail při 4× dokresluje, místo aby roztahoval pixely. Model o velikosti 4,6 MB se stáhne jednou a pak běží celý na tomto zařízení — vaše fotka se nikam nenahrává.

Jak to funguje

Zvětšovač spouští Real-ESRGAN general-x4v3 — 4,6 MB konvoluční síť pro superrozlišení — přes onnxruntime-web uvnitř Web Workeru na vašem vlastním počítači. Model se jednou stáhne z našeho vlastního serveru, uloží do mezipaměti a poté používá offline; vaše fotka se dekóduje na plátno lokálně a nikdy se nenahrává. Faktor zvětšení je pevně 4×, protože je natvrdo zapečen v grafu na dvou místech.

  1. 1
    Obrázek se rozřeže na překrývající se dlaždice
    Výsledek 4× má šestnáctkrát tolik pixelů, takže fotka 4000×3000 by měla 192 megapixelů — dost na to, aby úplně zabilo kartu prohlížeče, ne jen ji zpomalilo. Místo toho se obrázek rozdělí na jádra, která jej přesně dlaždicují, a každé jádro se čte s extra okrajem kontextu na každé straně, aby konvoluční sada (jejíž receptivní pole je 34 pixelů) měla skutečné sousední pixely, ze kterých vychází. Okraje se replikují, nikdy nedoplňují nulami, což by jinak způsobilo, že model zaostří černý lem kolem rámu.
  2. 2
    Každá dlaždice se zabalí jako rovinný RGB tenzor
    Dlaždice se stane float32 tenzorem tvaru [1, 3, H, W] s červeným, zeleným a modrým kanálem uloženým jako samostatné roviny a hodnotami jednoduše vydělenými 255 — bez jakékoli normalizace průměrem/směrodatnou odchylkou. Každá dlaždice se doplní na přesně stejnou čtvercovou velikost, protože backend WebGPU rekompiluje své shadery pro každý nový tvar vstupu a plán se třemi různými velikostmi dlaždic by tuto cenu zaplatil třikrát.
  3. 3
    Inference běží na WebGPU tam, kde existuje, jinak na CPU
    Relace se vytváří nejprve s WebGPU a při jakémkoli selhání přechází na jednovláknový WebAssembly — grafické ovladače běžně deklarují podporu a poté selžou v polovině sestavování grafu, a pomalejší je lepší než rozbité. Protože záložní varianta mění reálný limit velikosti a dobu běhu o velký faktor, nástroj před spuštěním první dlaždice znovu zkontroluje úlohu proti tomu, jakého poskytovatele skutečně dostal, a poté vám sdělí, kterého použil.
  4. 4
    Dlaždice se zpětně spojí prolínáním a ořežou
    Tupé spojení dlaždic zanechává viditelnou mřížku, takže je příspěvek každé dlaždice vážen lineární rampou přes sdílený pruh. Obě rampy jsou přesnými doplňky, takže se váhy sečtou přesně na 1 v každém výstupním pixelu a podél švu se neobjeví žádná světlá nebo tmavá čára. Surový výstup modelu není uvnitř grafu ořezán — naměřené hodnoty se pohybují zhruba od −0,18 do +1,19 —, takže se každý vzorek před osmibitovým převodem ořeže na rozsah 0–255, což zabraňuje skvrnám podél vysoce kontrastních hran. Alfa kanál se převzorkovává samostatně a bilineárně, protože samotná síť nemá žádnou cestu pro alfu.
  5. 5
    Výsledek se kóduje ve workeru
    Sestavené pixely se vykreslí na OffscreenCanvas a okamžitě zakódují do PNG, takže před stisknutím Stáhnout není žádná asynchronní prodleva. Přepnutí na JPG znovu zakóduje z plátna, které worker stále drží, místo aby model spouštěl znovu. Malý výřez ze středu se také vykresluje na 100 % vedle stejné oblasti převzorkované prohlížečem, což je jediné srovnání, na kterém je rozdíl 4× skutečně vidět.

Váhy modelu se jednou stáhnou z našeho vlastního serveru a uloží do mezipaměti; váš obrázek se dekóduje, rozdělí na dlaždice, zvětší a zakóduje zcela uvnitř vašeho prohlížeče a žádná jeho část se nikam neodesílá.

Související nástroje

Časté dotazy