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

Taksonomi artefak dan penyebab

  1. Cincin/halo (ringing)
  • Penyebab: over‑sharpen, overshoot dekonvolusi, filter pemulihan kuat
  • Penawar: kecilkan radius/kuat, low‑pass ringan, batasi ke wilayah tepi
  1. Datar/plastik, “kulit lilin”
  • Penyebab: denoise berlebihan, model terlalu menghaluskan
  • Penawar: tambahkan mikro‑noise, proteksi tekstur/tepi, naikkan q
  1. Fringing/bleed teks (sub‑piksel)
  • Penyebab: kegagalan sub‑piksel, skala non‑integer, kernel salah
  • Penawar: skala integer, kernel NN/berkualitas, vektorkan UI (SVG/Lottie)
  1. Checkerboard/moire
  • Penyebab: periodisitas upsampler, interferensi tekstur
  • Penawar: prefilter blur ringan, coba upsampler lain, prefilter sebelum downscale
  1. Banding (gradasi bertingkat)
  • Penyebab: kuantisasi 8‑bit, kompresi kuat, area mulus besar
  • Penawar: debanding+dither, pipeline 10‑bit, AVIF bit‑depth tinggi
  1. 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
  1. Kedipan temporal (video)
  • Penyebab: ketidakselarasan antar‑frame, denoise temporal berat
  • Penawar: setel filter temporal, selaraskan interval keyframe

Kerangka diagnosis (yang diamati)

  1. Mulai dari mata: zoom + slider bandingkan (AB)
  2. Citra selisih (abs(original‑processed)) untuk lokalisasi perubahan
  3. Histogram/frekuensi untuk kelebihan/kekurangan frekuensi tinggi
  4. SSIM/LPIPS/Butteraugli sebagai bukti pendukung

Alur remaster (kanonik)

  1. Normalisasi input (orientasi/ICC/ruang/bit‑depth)
  2. Denoise/dekonvolusi seperlunya
  3. Sharpen ringan dengan proteksi tepi (radius/kuat/ambang)
  4. Debanding + dither untuk gradasi
  5. Sapu encode (AVIF/WebP: q/kecepatan/4:2:0 vs 4:4:4)
  6. 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

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.