Pereiti prie pagrindinio turinio

Vaizdo didintuvas nemokamai

Padidinkite nuotrauką 4× DI modeliu, veikiančiu jūsų pačių įrenginyje — ryškesni kraštai ir įskaitomas tekstas, o ne tik didesni pikseliai. Niekas neįkeliama, be paskyros ir be vandens ženklo.

Numeskite failus čia arba spustelėkite naršyti

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · apdorojama jūsų įrenginyje

arba paspauskite Ctrl+V, kad įklijuotumėte iš iškarpinės

Galite numesti kelis failus vienu metu

Naršyti failus
Real-ESRGAN perpiešia detales 4× dydžiu, o ne tiesiog ištempia pikselius. 4,6 MB modelis atsisiunčiamas vieną kartą ir paskui veikia visiškai šiame įrenginyje — jūsų nuotrauka niekada neįkeliama.

Kaip tai veikia

Padidintuvas vykdo Real-ESRGAN general-x4v3 — 4,6 MB konvoliucinį super-raiškos tinklą — per onnxruntime-web Web Worker viduje, jūsų pačių kompiuteryje. Modelis gaunamas vieną kartą iš mūsų serverio, kešuojamas ir naudojamas neprisijungus; jūsų nuotrauka dekoduojama į drobę vietoje ir niekada neįkeliama. Mastelio koeficientas fiksuotas 4×, nes jis įkeptas į grafą dviejose vietose.

  1. 1
    Paveikslėlis supjaustomas į persidengiančias plyteles
    4× rezultatas turi šešiolika kartų daugiau pikselių, todėl 4000×3000 nuotrauka būtų 192 megapikseliai — pakankamai, kad tiesiog nutrauktų naršyklės skirtuką, o ne tik jį sulėtintų. Vietoj to paveikslėlis padalijamas į branduolius, kurie jį tiksliai išklo, o kiekvienas branduolys nuskaitomas su papildoma konteksto paraštę iš kiekvienos pusės, kad konvoliucijos stekas (kurio suvokiamas laukas yra 34 pikseliai) turėtų realius gretimus pikselius, iš kurių dirbti. Kraštai atkuriami pakartotiniu kraštinio pikselio dubliavimu, niekada nuliniu užpildymu, kuris kitaip priverstų modelį sustiprinti juodą apvadą aplink kadrą.
  2. 2
    Kiekviena plytelė supakuojama kaip plokštuminis RGB tensorius
    Plytelė tampa float32 tensoriumi, kurio forma [1, 3, H, W], su raudonu, žaliu ir mėlynu kanalais, saugomais kaip atskiromis plokštumomis, o reikšmės tiesiog padalytos iš 255 — jokio vidurkio/standartinio nuokrypio normalizavimo. Kiekviena plytelė užpildoma iki tiksliai to paties kvadratinio dydžio, nes WebGPU pagrindas iš naujo kompiliuoja savo šeiderius kiekvienai naujai įvesties formai, ir planas su trimis skirtingais plytelių dydžiais mokėtų tą kainą tris kartus.
  3. 3
    Skaičiavimas vyksta WebGPU, kur jis egzistuoja, kitu atveju CPU
    Seansas pirmiausia kuriamas su WebGPU, o nepavykus pereinama prie vienos gijos WebAssembly — grafikos tvarkyklės dažnai deklaruoja palaikymą, o paskui nepavyksta grafo kūrimo viduryje, o lėtesnis veikimas geriau nei jokio. Kadangi atsarginis variantas ženkliai keičia realią dydžio ribą ir vykdymo laiką, prieš paleisdamas pirmą plytelę įrankis iš naujo patikrina užduotį pagal tai, kurį vykdymo variklį iš tikrųjų gavo, ir vėliau pasako, kurį naudojo.
  4. 4
    Plytelės sujungiamos persidengimu ir apribojamos
    Plytelių sujungimas be persidengimo palieka matomą tinklelį, todėl kiekvienos plytelės indėlis pasveriamas linijine rampa per bendrą juostą. Dvi rampos yra tikslūs papildiniai, todėl svoriai kiekviename išvesties pikselyje sumuojasi lygiai iki 1, ir jokia šviesi ar tamsi linija neatsiranda palei siūlę. Neapdorota modelio išvestis nekerpama grafo viduje — išmatuotos reikšmės svyruoja nuo maždaug −0,18 iki +1,19 — todėl kiekvienas mėginys apribojamas iki 0–255 intervalo prieš 8 bitų konvertavimą, kas apsaugo nuo dėmelių ryškaus kontrasto kraštuose. Alfa perskaičiuojama atskirai ir bilinijiniu būdu, nes pats tinklas neturi alfa kelio.
  5. 5
    Rezultatas užkoduojamas Web Worker gijoje
    Surinkti pikseliai nupiešiami į OffscreenCanvas ir iš karto užkoduojami į PNG, todėl paspaudus „Atsisiųsti“, prieš tai nėra jokio asinchroninio tarpo. Perjungimas į JPG iš naujo koduoja iš drobės, kurią Web Worker vis dar laiko, o ne iš naujo vykdo modelį. Mažas centrinis apkirpimas taip pat atvaizduojamas 100 % dydžiu šalia tos pačios srities, perskaičiuotos naršyklės, nes tik taip 4× skirtumas iš tikrųjų matomas.

Modelio svoriai atsisiunčiami vieną kartą iš mūsų serverio ir kešuojami; jūsų paveikslėlis dekoduojamas, supjaustomas, padidinamas ir užkoduojamas visiškai jūsų naršyklės viduje, ir jokia jo dalis niekada niekur nesiunčiama.

Susiję įrankiai

Dažnai užduodami klausimai