Preskoči na glavno vsebino

Povečevalnik slik — brezplačno

Povečajte fotografijo 4× z modelom UI, ki teče na vaši napravi — ostrejši robovi in berljivo besedilo, ne le večje slikovne pike. Nič se ne naloži, brez računa in vodnega žiga.

Spustite datoteke sem ali kliknite za brskanje

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · obdelano na vaši napravi

ali pritisnite Ctrl+V za lepljenje iz odložišča

Spustite lahko več datotek hkrati

Brskanje po datotekah
Real-ESRGAN podrobnosti pri 4× nariše na novo, namesto da bi raztegoval slikovne pike. Model velikosti 4,6 MB se prenese enkrat, nato pa teče v celoti na tej napravi — vaša fotografija se nikoli ne naloži v splet.

Kako deluje

Povečevalnik teče Real-ESRGAN general-x4v3 — 4,6 MB konvolucijsko super-ločljivostno mrežo — prek onnxruntime-web znotraj Web Workerja na vašem lastnem računalniku. Model se enkrat pridobi z našega lastnega strežnika, shrani v predpomnilnik in nato uporablja offline; vaša fotka se lokalno dekodira na platno in nikoli ne naloži. Faktor merila je fiksiran na 4×, ker je trdo vpečen v graf na dveh mestih.

  1. 1
    Slika je razrezana na prekrivajoče se ploščice
    Rezultat 4× ima šestnajstkrat več pikslov, tako da bi fotka 4000×3000 imela 192 megapikslov — dovolj, da povsem ubije zavihek brskalnika, ne le upočasni. Namesto tega je slika razdeljena na jedra, ki jo natanko pokrijejo, vsako jedro pa se bere z dodatnim robom konteksta na vsaki strani, tako da ima konvolucijski sklad (katerega receptivno polje je 34 pikslov) prave sosednje piksle, s katerimi lahko dela. Robovi se podvajajo od roba, nikoli ne dopolnjujejo z ničlami, kar bi sicer povzročilo, da model izostri črn rob okoli okvirja.
  2. 2
    Vsaka ploščica je zapakirana kot ravninski tenzor RGB
    Ploščica postane float32 tenzor oblike [1, 3, H, W] z rdečim, zelenim in modrim kanalom, shranjenim kot ločene ravnine, vrednosti pa preprosto deljene z 255 — brez kakršne koli normalizacije povprečja/standardnega odklona. Vsaka ploščica je dopolnjena na natanko isto kvadratno velikost, ker WebGPU backend za vsako novo obliko vnosa znova kompilira svoje shaderje, plan s tremi različnimi velikostmi ploščic pa bi to ceno plačal trikrat.
  3. 3
    Sklepanje teče na WebGPU, kjer obstaja, sicer na CPU
    Seja je najprej ustvarjena z WebGPU in se ob kateri koli napaki zateče k enonitnemu WebAssembly — grafični gonilniki rutinsko oglašujejo podporo, nato pa ob polovici gradnje grafa odpovedo, počasnejše pa premaga pokvarjeno. Ker nadomestna rešitev spremeni realističen limit velikosti in čas izvajanja za velik faktor, orodje pred zagonom prve ploščice znova preveri nalogo glede na to, katerega ponudnika je dejansko dobilo, in vam nato pove, katerega je uporabilo.
  4. 4
    Ploščice se s prelivanjem znova združijo in omejijo
    Robno spajanje ploščic pusti vidno mrežo, zato je prispevek vsake ploščice utežen z linearno rampo čez deljeno progo. Rampi sta natančna dopolnila, tako da se uteži pri vsakem izhodnem pikslu seštejejo natanko v 1 in ob šivu se ne pojavi svetla ali temna črta. Surov izpis modela znotraj grafa ni obrezan — izmerjene vrednosti tečejo od približno −0,18 do +1,19 — tako da se vsak vzorec pred 8-bitnim pretvorom omeji na razpon 0–255, kar preprečuje pikčaste artefakte vzdolž robov z visokim kontrastom. Alfa se prevzorči ločeno in bilinearno, ker sama mreža nima alfa poti.
  5. 5
    Rezultat je kodiran v workerju
    Sestavljeni pikseli so takoj narisani na OffscreenCanvas in kodirani v PNG, tako da pritisk na Prenesi nima pred sabo asinhrone vrzeli. Preklop na JPG znova kodira iz platna, ki ga worker še vedno drži, namesto da bi znova pognal model. Majhen sredinski izrez se tudi izriše pri 100 % ob istem regionu, prevzorčenem s strani brskalnika, kar je edina primerjava, pri kateri je razlika 4× dejansko vidna.

Uteži modela se enkrat prenesejo z našega lastnega strežnika in shranijo v predpomnilnik; vaša slika se dekodira, razreže na ploščice, poveča in kodira v celoti znotraj vašega brskalnika, noben njen del pa se nikoli nikamor ne pošlje.

Sorodna orodja

Pogosto zastavljena vprašanja