Artefak Upscaling AI 2025 — Identifikasi, Diagnosis, dan Re‑proses yang Praktis
Diterbitkan: 22 Sep 2025 · Waktu baca: 3 mnt · Redaksi Unified Image Tools
“Harusnya lebih bersih, tapi terasa tidak natural.” Ketidaknyamanan itu sering dijelaskan oleh pola artefak yang berulang. Panduan ini mengubah gejala umum menjadi diagnosis dan penanganan yang bisa diulang.
TL;DR
-
Simpan katalog “gejala→penyebab→penawar” untuk memangkas iterasi
-
Urutan kerja: denoise/pemulihan → sharpen ringan → sapuan encode
-
Ukur pakai SSIM/LPIPS/Butteraugli, tapi keputusan akhir oleh mata
-
Banding → debanding+dither; kulit lilin → proteksi tekstur/tepi; halo → kecilkan radius/kuat
-
Pengiriman jangan merusak LCP/INP: gambar non‑kritis tetap lazy/low‑priority
-
Tautan internal: Pengiriman Gambar berfokus INP 2025 — Menjaga performa terasa lewat koordinasi decode/priority/script, AVIF vs WebP vs JPEG XL 2025 — Perbandingan praktis berbasis pengukuran, Gambar Responsif era DPR tinggi & pemanfaatan image-set 2025
Taksonomi artefak dan penyebab
- Cincin/halo (ringing)
- Penyebab: over‑sharpen, overshoot dekonvolusi, filter pemulihan kuat
- Penawar: kecilkan radius/kuat, low‑pass ringan, batasi ke wilayah tepi
- Datar/plastik, “kulit lilin”
- Penyebab: denoise berlebihan, model terlalu menghaluskan
- Penawar: tambahkan mikro‑noise, proteksi tekstur/tepi, naikkan q
- Fringing/bleed teks (sub‑piksel)
- Penyebab: kegagalan sub‑piksel, skala non‑integer, kernel salah
- Penawar: skala integer, kernel NN/berkualitas, vektorkan UI (SVG/Lottie)
- Checkerboard/moire
- Penyebab: periodisitas upsampler, interferensi tekstur
- Penawar: prefilter blur ringan, coba upsampler lain, prefilter sebelum downscale
- Banding (gradasi bertingkat)
- Penyebab: kuantisasi 8‑bit, kompresi kuat, area mulus besar
- Penawar: debanding+dither, pipeline 10‑bit, AVIF bit‑depth tinggi
- Fringing warna/bleed kroma
- Penyebab: subsampling YUV (4:2:0), ketidakselarasan ruang warna
- Penawar: pilih 4:4:4 untuk tepi kritis, jaga konsistensi sRGB/P3, hindari konversi tak perlu
- Kedipan temporal (video)
- Penyebab: ketidakselarasan antar‑frame, denoise temporal berat
- Penawar: setel filter temporal, selaraskan interval keyframe
Kerangka diagnosis (yang diamati)
- Mulai dari mata: zoom + slider bandingkan (AB)
- Citra selisih (abs(original‑processed)) untuk lokalisasi perubahan
- Histogram/frekuensi untuk kelebihan/kekurangan frekuensi tinggi
- SSIM/LPIPS/Butteraugli sebagai bukti pendukung
Alur remaster (kanonik)
- Normalisasi input (orientasi/ICC/ruang/bit‑depth)
- Denoise/dekonvolusi seperlunya
- Sharpen ringan dengan proteksi tepi (radius/kuat/ambang)
- Debanding + dither untuk gradasi
- Sapu encode (AVIF/WebP: q/kecepatan/4:2:0 vs 4:4:4)
- Putuskan dengan mata + metrik + ukuran file
Cuplikan implementasi (Sharp/FFmpeg)
import sharp from 'sharp'
export async function enhance(input: string, base: string) {
const s = sharp(input, { failOn: 'none' })
.withMetadata({ orientation: 1 })
.gamma()
.median(1)
await s.webp({ quality: 78 }).toFile(`${base}.webp`)
await s.avif({ quality: 56, chromaSubsampling: '4:4:4' }).toFile(`${base}.avif`)
}
ffmpeg -i input.mp4 -vf "gradfun=radius=16:strength=0.8" -c:v libaom-av1 -crf 28 -b:v 0 -pix_fmt yuv420p10le out-av1.mp4
Tips operasional
- Untuk bitrate rendah, seed mikro‑noise lebih dulu agar tak “plastik”
- UI/teks: prioritaskan vektorisasi (SVG/Lottie)
- HDR/gamut lebar: cek outlier sebelum sRGB akhir; pertahankan 10‑bit bila bisa
- Pengiriman: patuhi Pengiriman Gambar berfokus INP 2025 — Menjaga performa terasa lewat koordinasi decode/priority/script — hanya LCP yang prioritas tinggi
Evaluasi kualitas
- SSIM/PSNR menilai fidelitas piksel; bisa luput dari keanehan persepsi
- LPIPS/Butteraugli sering lebih selaras dengan persepsi — tetap pendamping
- Nyatakan menang/kalah dengan AB/diff, bukan satu angka saja
- Lakukan sweep batch (q/ukuran/subsampling) sebelum rilis
Daftar cek
- [ ] Normalisasi input (orientasi/ICC/ruang/10‑bit)
- [ ] Denoise/pemulihan → sharpen proteksi tepi
- [ ] Debanding + dither bila perlu
- [ ] AVIF/WebP: sapu q dan 4:2:0/4:4:4
- [ ] Pengiriman aman LCP/INP (hanya kandidat LCP prioritas tinggi)
FAQ
-
Q: Bagaimana meredam “kulit lilin”? A: Ringankan denoise, aktifkan proteksi tekstur/tepi, naikkan q; kurangi kekuatan di area wajah.
-
Q: Seberapa kuat sharpening? A: Mulai kecil (radius/kuat/ambang). Hindari “crispy” dengan slider; lebihkan di tepi saja.
-
Q: Metrik mana yang dipakai? A: SSIM + LPIPS sebagai pagar; gunakan Butteraugli bila buntu. Mata tetap hakim akhir.
Ringkasan
Namai artefaknya, ikuti playbooknya: diagnosis → remaster minimal → pengiriman aman. Dapatkan natural sekaligus ringan.