Bepul Rasm Sifatini Oshiruvchi

Fotosuratni 4 baravar kattalashtiring — qurilmangizda ishlaydigan AI model bilan, faqat piksellarni cho'zish emas, chekkalari o'tkirroq va matni o'qilishi mumkin bo'lgan holda. Hech narsa yuklanmaydi, hisob kerak emas, suv belgisi yo'q.

Fayllarni shu yerga tashlang yoki ko'rish uchun bosing

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · Fayl hajmi cheklovsiz

yoki buferdan joylash uchun Ctrl+V bosing

Bir vaqtda bir nechta fayl tashlashingiz mumkin

Fayllarni ko'rish
Real-ESRGAN piksellarni cho'zish o'rniga tafsilotlarni 4 baravar qayta chizadi. 4,6 MB'lik model bir marta yuklab olinadi va shundan so'ng to'liq shu qurilmada ishlaydi — fotosuratingiz hech qachon yuklanmaydi.

Qanday ishlaydi

Kattalashtiruvchi Real-ESRGAN general-x4v3 — 4.6 MB konvolyutsion super-aniqlik tarmog'ini — o'z mashinangizda Veb Vorker ichida onnxruntime-web orqali ishga tushiradi. Model bizning serverimizdan bir marta olinadi, keshlanadi, so'ng oflayn ishlatiladi; suratingiz mahalliy kanvasga dekodlanadi va hech qachon yuklanmaydi. Masshtab koeffitsienti 4×ga qat'iy o'rnatilgan, chunki u grafga ikki joyda qattiq-pishirilgan.

  1. 1
    Rasm ustma-ust plitkalarga kesiladi
    4× natija piksellarning o'n olti barobari, shuning uchun 4000×3000 surat 192 megapikselni tashkil qiladi — bu brauzer yorlig'ini shunchaki sekinlashtirish o'rniga butunlay o'ldirishga yetarli. Buning o'rniga rasm uni aniq plitkalaydigan yadrolarga bo'linadi, har bir yadro esa har tomonda qo'shimcha kontekst chegarasi bilan o'qiladi, shunda konvolyutsion stek (uning qabul maydoni 34 piksel) ishlash uchun haqiqiy qo'shni piksellarga ega bo'ladi. Chegaralar chekka-takrorlangan, hech qachon nol-to'ldirilmagan, aks holda model ramka atrofida qora chekka aniqlashtirardi.
  2. 2
    Har bir plitka tekis RGB tensor sifatida qadoqlanadi
    Plitka qizil, yashil va ko'k kanallari alohida tekisliklar sifatida saqlangan [1, 3, H, W] shaklidagi float32 tensoriga aylanadi, qiymatlar esa oddiy ravishda 255 ga bo'linadi — hech qanday o'rtacha/standart-og'ish normalizatsiyasi yo'q. Har bir plitka aynan bir xil kvadrat o'lchamiga to'ldiriladi, chunki WebGPU orqa uchi har bir yangi kirish shakli uchun o'z shaderlarini qayta kompilyatsiya qiladi, uch xil plitka o'lchamli reja esa bu narxni uch marta to'lardi.
  3. 3
    Xulosa chiqarish WebGPU mavjud bo'lganda unda, aks holda CPU'da ishlaydi
    Sessiya avval WebGPU bilan yaratiladi va har qanday muvaffaqiyatsizlikda bir-iplan WebAssembly'ga qaytadi — grafik drayverlar odatda qo'llab-quvvatlashni e'lon qilib, so'ng grafni qurish o'rtasida muvaffaqiyatsiz bo'ladi, sekinroq buzilgandan yaxshiroq. Zaxira haqiqiy o'lcham chegarasi va ishlash vaqtini katta koeffitsientga o'zgartirgani uchun, asbob birinchi plitka ishlashidan oldin ishni haqiqatan olgan provayderga qarshi qayta tekshiradi va keyinchalik qaysinisidan foydalanganini aytadi.
  4. 4
    Plitkalar orqaga krossfeyd bilan birlashtiriladi va chegaralanadi
    Plitkalarni to'g'ridan-to'g'ri birlashtirish ko'rinadigan panjara qoldiradi, shuning uchun har bir plitkaning hissasi umumiy chiziq bo'ylab chiziqli rampa bilan og'irlanadi. Ikki rampa aniq to'ldiruvchi, shuning uchun og'irliklar har bir chiqish pikselida aniq 1 ga yig'iladi va tikuv bo'ylab yorug' yoki qorong'i chiziq paydo bo'lmaydi. Modelning xom chiqishi graf ichida kesilmagan — o'lchangan qiymatlar taxminan −0.18 dan +1.19 gacha — shuning uchun har bir namuna 8-bitli o'girishdan oldin 0–255 diapazoniga chegaralanadi, bu yuqori-kontrastli chekkalar bo'ylab dog'larning oldini oladi. Alfa alohida va bilineyar ravishda qayta namunalanadi, chunki tarmoqning o'zida alfa yo'li yo'q.
  5. 5
    Natija vorkerda kodlanadi
    Yig'ilgan piksellar OffscreenCanvas'ga chiziladi va darhol PNG'ga kodlanadi, shuning uchun Yuklab olishni bosish oldida asinxron oraliq yo'q. JPG'ga o'tish vorker hali ushlab turgan kanvasdan qayta kodlaydi, modelni qayta ishga tushirmaydi. Kichik markaz kesish ham brauzer qayta namunalagan bir xil mintaqa yonida 100% da ko'rsatiladi, bu esa 4× farq haqiqatan ko'rinadigan yagona solishtiruv.

Model og'irliklari bizning serverimizdan bir marta yuklanadi va keshlanadi; rasmingiz to'liq brauzeringiz ichida dekodlanadi, plitkalanadi, kattalashtiriladi va kodlanadi, uning hech qanday qismi hech qachon hech qayerga yuborilmaydi.

Tegishli asboblar

Ko'p so'raladigan savollar