Pāriet uz galveno saturu

Attēlu palielinātājs bez maksas

Palieliniet fotoattēlu 4× ar MI modeli, kas darbojas jūsu pašu ierīcē — asākas malas un salasāms teksts, nevis tikai lielāki pikseļi. Nekas netiek augšupielādēts, bez konta un bez ūdenszīmes.

Nometiet failus šeit vai noklikšķiniet, lai pārlūkotu

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · apstrādāts jūsu ierīcē

vai nospiediet Ctrl+V, lai ielīmētu no starpliktuves

Varat nomest vairākus failus vienlaikus

Pārlūkot failus
Real-ESRGAN pārzīmē detaļas 4× izmērā, nevis izstiepj pikseļus. 4,6 MB modelis tiek lejupielādēts vienu reizi un pēc tam darbojas pilnībā šajā ierīcē — jūsu fotoattēls nekad netiek augšupielādēts.

Kā tas darbojas

Palielinātājs darbina Real-ESRGAN general-x4v3 — 4.6 MB konvolūcijas superizšķirtspējas tīklu — caur onnxruntime-web Web Worker jūsu pašu iekārtā. Modelis tiek iegūts vienreiz no mūsu servera, kešots un tad izmantots bezsaistē; jūsu fotogrāfija tiek dekodēta uz audekla lokāli un nekad netiek augšupielādēta. Mēroga faktors ir fiksēts pie 4×, jo tas ir iestrādāts grafikā divās vietās.

  1. 1
    Attēls tiek sagriezts pārklājošos plāksnītēs
    4× rezultāts ir sešpadsmit reizes vairāk pikseļu, tāpēc 4000×3000 fotogrāfija būtu 192 megapikseļi — pietiekami, lai pilnībā apturētu pārlūkprogrammas cilni, nevis tikai to palēninātu. Tā vietā attēls tiek sadalīts kodolos, kas to precīzi izklāj, un katrs kodols tiek nolasīts ar papildu konteksta malu katrā pusē, lai konvolūcijas steks (kura uztveres lauks ir 34 pikseļi) varētu strādāt ar reāliem kaimiņu pikseļiem. Malas tiek malas-replicētas, nekad ne-nulles-aizpildītas, kas citādi liktu modelim asināt melnu apmali ap kadru.
  2. 2
    Katra plāksnīte tiek iepakota kā plakans RGB tenzors
    Plāksnīte kļūst par float32 tenzoru ar formu [1, 3, H, W], kur sarkanais, zaļais un zilais kanāls tiek glabāti kā atsevišķas plaknes, un vērtības tiek vienkārši dalītas ar 255 — bez vidējā/standarta-novirzes normalizācijas jebkāda veida. Katra plāksnīte tiek aizpildīta līdz tieši tādam pašam kvadrātveida izmēram, jo WebGPU aizmugure atkārtoti kompilē savus šeiderus katrai jaunai ievades formai, un plāns ar trim dažādiem plāksnīšu izmēriem maksātu šo cenu trīs reizes.
  3. 3
    Inference darbojas uz WebGPU, kur tas pastāv, citādi uz procesora
    Sesija tiek izveidota vispirms ar WebGPU un pāriet uz vienpavediena WebAssembly jebkuras kļūmes gadījumā — grafikas draiveri regulāri paziņo par atbalstu un tad neizdodas grafikas veidošanas vidū, un lēnāks pārspēj salauztu. Tā kā rezerve maina reālistisko izmēra ierobežojumu un izpildes laiku par lielu faktoru, rīks atkārtoti pārbauda darbu pret to nodrošinātāju, kuru tas faktiski ieguva, pirms pirmā plāksnīte darbojas, un pēc tam pasaka, kuru tas izmantoja.
  4. 4
    Plāksnītes tiek krustīzgaisītas kopā un ierobežotas
    Plāksnīšu savienošana bez pārejas atstāj redzamu režģi, tāpēc katras plāksnītes ieguldījums tiek svērts ar lineāru rampu pāri koplietotajai joslai. Abas rampas ir precīzi papildinošas, tāpēc svari summējas precīzi 1 katrā izvades pikselī, un neviena gaiša vai tumša līnija neparādās gar šuvi. Modeļa neapstrādātā izvade netiek apgriezta grafika iekšpusē — izmērītās vērtības svārstās no apmēram −0.18 līdz +1.19 —, tāpēc katrs paraugs tiek ierobežots 0–255 diapazonā pirms 8 bitu pārveides, kas novērš raibumu gar augsta kontrasta malām. Alfa tiek atkārtoti paraugota atsevišķi un bilineāri, jo tīklam pašam nav alfa ceļa.
  5. 5
    Rezultāts tiek kodēts darbiniekā
    Saliktie pikseļi tiek uzzīmēti uz OffscreenCanvas un uzreiz kodēti PNG, tāpēc, nospiežot Lejupielādēt, priekšā nav asinhronas atstarpes. Pārslēgšanās uz JPG atkārtoti kodē no audekla, ko darbinieks joprojām tur, nevis atkārtoti palaiž modeli. Neliels centra izgriezums tiek arī renderēts 100% apmērā līdzās tai pašai zonai, kas pārlūkprogrammas atkārtoti paraugota, kas ir vienīgais salīdzinājums, kurā 4× atšķirība patiešām ir redzama.

Modeļa svari tiek lejupielādēti vienreiz no mūsu servera un kešoti; jūsu attēls tiek dekodēts, sadalīts plāksnītēs, palielināts un kodēts pilnībā jūsu pārlūkprogrammā, un neviena tā daļa nekad nekur netiek sūtīta.

Saistītie rīki

Bieži uzdotie jautājumi