Hopp til hovedinnhold
LibraTool logoLibraTool

Gratis Bildeforstørrer

Forstørr et bilde 4× med en KI-modell som kjører på din egen enhet — skarpere kanter og lesbar tekst, ikke bare større piksler. Ingenting lastes opp, ingen konto, ingen vannmerke.

Slipp filer her, eller klikk for å bla

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · behandles på enheten din

eller trykk Ctrl+V for å lime inn fra utklippstavlen

Du kan slippe flere filer samtidig

Bla gjennom filer
Real-ESRGAN tegner detaljer på nytt ved 4× i stedet for å strekke piksler. Modellen på 4,6 MB lastes ned én gang og kjører deretter i sin helhet på denne enheten — bildet ditt lastes aldri opp.

Hvordan det fungerer

Oppskaleringen kjører Real-ESRGAN general-x4v3 — et konvolusjonelt superoppløsningsnettverk på 4,6 MB — via onnxruntime-web i en Web Worker på din egen maskin. Modellen hentes én gang fra vår egen server, bufres og brukes deretter uten nett; bildet ditt dekodes til et lerret lokalt og lastes aldri opp. Skaleringsfaktoren er fast på 4×, fordi den er bakt inn i grafen på to steder.

  1. 1
    Bildet deles i overlappende ruter
    Et 4×-resultat har seksten ganger så mange piksler, så et bilde på 4000×3000 ville blitt 192 megapiksler — nok til å drepe nettleserfanen helt, ikke bare gjøre den treg. I stedet deles bildet i kjerner som dekker det nøyaktig, og hver kjerne leses med en ekstra kontekstmargin på alle sider, så konvolusjonsstakken (med et reseptivt felt på 34 piksler) har ekte nabopiksler å jobbe med. Kantene kopieres fra ytterste piksel og fylles aldri med nuller, som ellers ville fått modellen til å skjerpe en svart kant rundt bildet.
  2. 2
    Hver rute pakkes som en planar RGB-tensor
    En rute blir en float32-tensor med formen [1, 3, H, W], der rød, grønn og blå kanal lagres som separate plan og verdiene ganske enkelt deles på 255 — ingen normalisering med gjennomsnitt eller standardavvik av noe slag. Hver rute fylles ut til nøyaktig samme kvadratiske størrelse, fordi WebGPU-backenden kompilerer shaderne på nytt for hver nye inndataform, og en plan med tre ulike rutestørrelser ville betalt den kostnaden tre ganger.
  3. 3
    Inferensen kjører på WebGPU der det finnes, ellers på CPU
    Økten opprettes med WebGPU først og faller tilbake til enkelttrådet WebAssembly ved enhver feil — grafikkdrivere oppgir ofte støtte og feiler så midt i byggingen av grafen, og tregere er bedre enn ødelagt. Fordi reserveløsningen endrer den realistiske størrelsesgrensen og kjøretiden betydelig, sjekker verktøyet jobben på nytt mot den leverandøren det faktisk fikk før første rute kjøres, og forteller etterpå hvilken det brukte.
  4. 4
    Rutene tones sammen igjen og begrenses
    Ruter som bare legges kant i kant, gir et synlig rutenett, så hver rutes bidrag vektes med en lineær rampe over den delte stripen. De to rampene er eksakte komplementer, så vektene summeres til nøyaktig 1 i hver utdatapiksel, og ingen lys eller mørk linje dukker opp langs en skjøt. Modellens rå utdata klippes ikke inne i grafen — målte verdier går fra omtrent −0,18 til +1,19 — så hver sample begrenses til området 0–255 før konverteringen til 8 bit, og det er det som hindrer prikker langs kanter med høy kontrast. Alfa omsamples separat og bilineært, fordi nettverket selv ikke har noen alfabane.
  5. 5
    Resultatet kodes i workeren
    De sammensatte pikslene tegnes på et OffscreenCanvas og kodes til PNG med en gang, så det ikke er noen asynkron ventetid når du trykker Last ned. Bytter du til JPG, kodes bildet på nytt fra lerretet workeren fortsatt holder, i stedet for å kjøre modellen igjen. Et lite utsnitt fra midten vises også i 100 % ved siden av samme område skalert av nettleseren, som er den eneste sammenligningen der en 4×-forskjell faktisk er synlig.

Modellvektene lastes ned én gang fra vår egen server og bufres; bildet ditt dekodes, deles i ruter, oppskaleres og kodes helt i nettleseren, og ingen del av det sendes noen gang noe sted.

Relaterte verktøy

Ofte stilte spørsmål