Experiments

004

Four ways to double an image

Which upscaler can I trust to double an image without redrawing it?

Part 01

One image, four upscalers

I upscaled one Krea 2 image to 2× with four methods to decide which one I use for each kind of work. I measured each result and then looked at the crops, because the numbers alone reward the method that changes the least.

The one I pickedThe test image, before upscaling.Krea 2 · txt2img · seed 460701 · 1024×1280

5 attempts

The face and the hair, at 2×

The same 320×400 area of the test image, taken at each method’s own scale and brought to the same size. The numbers come from scaling each result back down to 1024×1280 and comparing it with the original.

Each frame is an attempt. ✕ discarded · ✓ better · + added · ♥ my favorite · ★ my pick · – test or option.
  1. OriginalReference

    The starting point: a 1024×1280 image. This crop is stretched from the original, so it is the softest.

    Original · 1024×1280
  2. LanczosTest

    The neutral baseline: it doubles the size and adds no detail. Good for a plain file copy.

    PSNR 39.17 dB · mean error 1.136 · edge energy 3.806
  3. AnimeSharpBetter

    The most faithful: it keeps the drawing, the identity and the line, and makes the edges clearly sharper.

    PSNR 44.20 dB · mean error 0.752 · edge energy 4.674
  4. SeedVR2 3BDiscarded

    It smooths a lot and changes the face and the small shapes more than the others. Not the right one for this style.

    PSNR 28.08 dB · mean error 5.042 · edge energy 2.816
  5. SeedVR2 7BMy pick

    It recovers definition with less drift than the 3B, but it is still generative: it reinterprets slightly. The best finish for a semi-real anime portrait.

    PSNR 32.45 dB · mean error 3.251 · edge energy 3.925

5 attempts

The helmet and the hand

Hands, accessories and text are where a generative upscaler can redraw what was there. I look at them separately.

Each frame is an attempt. ✕ discarded · ✓ better · + added · ♥ my favorite · ★ my pick · – test or option.
  1. OriginalReference

    Helmet and hand in the original: small details that a generative upscaler can redraw.

    Original · 1024×1280
  2. LanczosTest

    Same details, just bigger.

    PSNR 39.17 dB · mean error 1.136 · edge energy 3.806
  3. AnimeSharpBetter

    The helmet, the hand and the trousers keep their shapes; the edges get crisper.

    PSNR 44.20 dB · mean error 0.752 · edge energy 4.674
  4. SeedVR2 3BDiscarded

    The softest of the four in this area too.

    PSNR 28.08 dB · mean error 5.042 · edge energy 2.816
  5. SeedVR2 7BMy pick

    More definition in the helmet and the fabric. This is where I check hands and accessories, because it is the method that can invent.

    PSNR 32.45 dB · mean error 3.251 · edge energy 3.925

What I learned

  1. AnimeSharp is the safe choice when I need to keep the drawing exactly. It had the highest fidelity (44.20 dB) and the sharpest edges. I use it for flat anime, chibi, posters and line art.

    Attempts: AnimeSharp, AnimeSharp

  2. For semi-real anime, SeedVR2 7B Sharp gives the best finish if I accept a slight reinterpretation. With noise at zero and LAB color correction it drifted less than the 3B (32.45 dB against 28.08 dB).

    Attempts: SeedVR2 7B, SeedVR2 3B

  3. The metrics measure similarity, not beauty. Scaling each result back down and comparing it with the original rewards the least change, so I also look at the crops, and at the hands and accessories first.

    Attempts: Lanczos, SeedVR2 7B

  4. A saved workflow can break quietly after a node update. My old SeedVR2 workflow had its values shifted (resolution, max_resolution, batch_size, uniform_batch_size and color_correction), which may explain earlier soft results and unexpected sizes. I made two corrected copies and kept the original.

  5. If the image has text or readable symbols, I use AnimeSharp or Lanczos: a strong generative upscaler can redraw the glyphs.

The next question

Does the same ranking hold with a flat anime image and with one that has text?