Zmadhues Imazhesh Falas

Zmadho një foto 4× me një model AI që funksionon në pajisjen tënde — buzë më të qarta dhe tekst të lexueshëm, jo thjesht piksela më të mëdhenj. Asgjë nuk ngarkohet, pa llogari, pa vulë uji.

Hidhini skedarët këtu ose klikoni për të shfletuar

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · Nuk ka kufi për madhësinë e skedarit

ose shtypni Ctrl+V për të ngjitur nga clipboard

Mund të lëshoni shumë skedarë në të njëjtën kohë

Shfletoni skedarët
Real-ESRGAN rikrijon detajet në 4× në vend që të shtrijë pikselat. Modeli prej 4.6 MB shkarkohet një herë dhe më pas funksionon tërësisht në këtë pajisje — foto jote nuk ngarkohet kurrë.

Si funksionon

Zmadhuesi xhiron Real-ESRGAN general-x4v3 — një rrjet konvolucional super-rezolucioni 4.6 MB — përmes onnxruntime-web brenda një Web Worker-i në makinën tënde. Modeli merret një herë nga serveri ynë, ruhet në memorie cache, dhe pastaj përdoret jashtë linje; fotografia jote dekodohet në një canvas lokalisht dhe nuk ngarkohet kurrë. Faktori i shkallëzimit është fiks 4×, sepse është i pjekur i fiksuar në grafik në dy vende.

  1. 1
    Imazhi pritet në pllaka mbivendosëse
    Një rezultat 4× është gjashtëmbëdhjetë herë pikselët, kështu që një foto 4000×3000 do të ishte 192 megapiksele — mjaft për ta vrarë skedën e shfletuesit krejtësisht në vend që thjesht ta ngadalësojë. Në vend të kësaj fotografia ndahet në bërthama që e mbulojnë saktësisht, dhe çdo bërthamë lexohet me një margjinë shtesë konteksti në çdo anë kështu që stivimi konvolucional (fusha receptive e të cilit është 34 piksel) ka piksele fqinje reale për të punuar. Kufijtë replikohen nga skaji, kurrë nuk mbushen me zero, gjë që përndryshe do ta bënte modelin të mprehtë një skaj të zi rreth kornizës.
  2. 2
    Çdo pllakë paketohet si një tensor planar RGB
    Një pllakë bëhet një tensor float32 me formën [1, 3, H, W] me kanalet e kuq, jeshil, dhe blu të ruajtura si plane të veçanta dhe vlerat thjesht të pjesëtuara me 255 — pa normalizim mesatare/devijim-standard të asnjë lloji. Çdo pllakë mbushet te saktësisht e njëjta madhësi katrore, sepse backend-i WebGPU i rikompilon shader-at e tij për çdo formë të re hyrjeje dhe një plan me tre madhësi pllake të ndryshme do ta paguante atë kosto tre herë.
  3. 3
    Inferenca funksionon në WebGPU aty ku ekziston, përndryshe në CPU
    Sesioni krijohet fillimisht me WebGPU dhe kthehet te WebAssembly me një fill të vetëm në çdo dështim — drejtuesit grafikë rregullisht reklamojnë mbështetje dhe pastaj dështojnë në mes të ndërtimit të grafikut, dhe më i ngadaltë mund e dëmtuar. Meqenëse rezerva ndryshon kufirin realist të madhësisë dhe kohën e xhirimit me një faktor të madh, mjeti e rikontrollon punën kundrejt cilido dhënës që në të vërtetë mori para se të xhirojë pllaka e parë, dhe të tregon cilin përdori pas kësaj.
  4. 4
    Pllakat kalojnë-në-ndërthurje bashkohen përsëri dhe kufizohen
    Bashkimi buzë-me-buzë i pllakave lë një rrjet të dukshëm, kështu që kontributi i çdo pllake peshohet nga një rritje lineare përgjatë shiritit të përbashkët. Të dy rritjet janë komplemente të sakta, kështu që peshat mblidhen saktësisht 1 në çdo piksel dalës dhe asnjë vijë e ndritshme apo e errët nuk shfaqet përgjatë një bashkimi. Dalja e papërpunuar e modelit nuk pritet brenda grafikut — vlerat e matura shkojnë nga rreth −0.18 deri +1.19 — kështu që çdo mostër kufizohet te intervali 0–255 para hedhjes 8-bit, gjë që parandalon spreken përgjatë skajeve me kontrast të lartë. Alfa rimostrohet veçmas dhe bilinearisht, sepse vetë rrjeti nuk ka asnjë rrugë alfa.
  5. 5
    Rezultati kodifikohet në worker
    Pikselët e montuar vizatohen mbi një OffscreenCanvas dhe kodifikohen në PNG menjëherë, kështu që shtypja e Shkarko nuk ka asnjë hendek asinkron para saj. Kalimi te JPG rikodifikon nga canvas-i që worker-i ende mban në vend që të xhirojë modelin përsëri. Një prerje e vogël qendre gjithashtu vizatohet në 100% krahas të njëjtit rajon të rimostruar nga shfletuesi, i cili është krahasimi i vetëm te i cili një diferencë 4× është në të vërtetë e dukshme.

Peshat e modelit shkarkohen një herë nga serveri ynë dhe ruhen në memorie cache; imazhi yt dekodohet, ndahet në pllaka, zmadhohet, dhe kodifikohet tërësisht brenda shfletuesit tënd, dhe asnjë pjesë e tij nuk dërgohet kurrë diku.

Mjete të ngjashme

Pyetjet e bëra më shpesh