Pređi na glavni sadržaj
LibraTool logoLibraTool

Uvećanje slika — besplatno

Uvećajte fotografiju 4× modelom veštačke inteligencije koji radi na vašem uređaju — oštrije ivice i čitljiv tekst, a ne samo veći pikseli. Ništa se ne otprema, bez naloga i bez vodenih žigova.

Prevucite fajlove ovde ili kliknite za pregled

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · obrađeno na vašem uređaju

ili pritisnite Ctrl+V da nalepite iz privremene memorije

Možete prevući više fajlova odjednom

Pretraži fajlove
Real-ESRGAN iznova iscrtava detalj na 4× umesto da razvlači piksele. Model od 4,6 MB se preuzima jednom i zatim radi u potpunosti na ovom uređaju — vaša fotografija se nikada ne šalje.

Kako funkcioniše

Uveličivač pokreće Real-ESRGAN general-x4v3 — konvolucionu mrežu za super-rezoluciju od 4,6 MB — preko onnxruntime-web unutar Web Worker-a na vašoj sopstvenoj mašini. Model se preuzima jednom sa našeg sopstvenog servera, kešira, i zatim koristi van mreže; vaša fotografija se dekodira na platno lokalno i nikada ne otprema. Faktor skaliranja je fiksiran na 4×, jer je ugrađen u graf na dva mesta.

  1. 1
    Slika se seče na preklapajuće pločice
    Rezultat 4× ima šesnaest puta više piksela, pa bi fotografija od 4000×3000 imala 192 megapiksela — dovoljno da potpuno sruši karticu pregledača umesto da je samo uspori. Zato se slika deli na jezgra koja je tačno prekrivaju bez preklapanja, a svako jezgro se čita sa dodatnom marginom konteksta sa svake strane, kako bi konvolucioni slojevi (čije je receptivno polje 34 piksela) imali prave susedne piksele za rad. Ivice se popunjavaju ponavljanjem krajnjih piksela, nikada nulama, jer bi inače model izoštrio crni obod oko okvira.
  2. 2
    Svaka pločica se pakuje kao ravni RGB tenzor
    Pločica postaje float32 tenzor oblika [1, 3, H, W] sa crvenim, zelenim i plavim kanalima čuvanim kao odvojene ravni i vrednostima jednostavno podeljenim sa 255 — bez ikakve normalizacije srednje vrednosti/standardne devijacije. Svaka pločica se popunjava do tačno iste kvadratne veličine, jer WebGPU backend ponovo kompajlira svoje šejdere za svaki novi oblik ulaza a plan sa tri različite veličine pločica bi platio taj trošak tri puta.
  3. 3
    Inferencija radi na WebGPU gde postoji, inače na CPU
    Sesija se kreira prvo sa WebGPU i vraća na jednonitni WebAssembly pri bilo kom neuspehu — grafički drajveri rutinski oglašavaju podršku a zatim otkažu na pola puta gradnje grafa, i sporije-ali-radi je bolje od pokvarenog. Pošto rezervna opcija menja realističan limit veličine i vreme izvršavanja za veliki faktor, alatka ponovo proverava posao naspram bilo kog provajdera koji je zaista dobila pre nego što se prva pločica izvrši, i kaže vam koji je koristila nakon toga.
  4. 4
    Pločice se ukrsno-stapaju nazad zajedno i ograničavaju
    Spajanje pločica bez preklapanja ostavlja vidljivu mrežu, pa se doprinos svake pločice ponderiše linearnom rampom preko deljene trake. Dve rampe su tačni komplementi, tako da se ponderi sabiraju tačno na 1 na svakom izlaznom pikselu i nijedna svetla ili tamna linija se ne pojavljuje duž šava. Sirovi izlaz modela nije isečen unutar grafa — izmerene vrednosti idu od oko −0,18 do +1,19 — pa se svaki uzorak ograničava na opseg 0–255 pre pretvaranja u 8-bit, što je ono što sprečava tačkice duž ivica visokog kontrasta. Alfa se ponovo uzorkuje odvojeno i bilinearno, jer sama mreža nema alfa putanju.
  5. 5
    Rezultat se kodira u worker-u
    Sastavljeni pikseli se crtaju na OffscreenCanvas i odmah kodiraju u PNG, tako da klik na Preuzmi nema asinhroni razmak ispred sebe. Prebacivanje na JPG ponovo kodira sa platna koje worker i dalje drži umesto ponovnog pokretanja modela. Mali centralni isečak se takođe iscrtava na 100% pored istog regiona ponovo uzorkovanog pregledačem, što je jedino poređenje na kome je razlika od 4× zaista vidljiva.

Težine modela se preuzimaju jednom sa našeg sopstvenog servera i keširaju; vaša slika se dekodira, deli na pločice, uveličava i kodira u potpunosti unutar vašeg pregledača, i nijedan deo se nikada nigde ne šalje.

Slične alatke

Česta pitanja