Bird
Raised Fist0
Prompt Engineering / GenAIml~8 mins

Inpainting and outpainting in Prompt Engineering / GenAI - Model Metrics & Evaluation

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Metrics & Evaluation - Inpainting and outpainting
Which metric matters for Inpainting and Outpainting and WHY

For inpainting and outpainting, the key metrics focus on how well the model fills missing or extends image parts realistically and consistently. Common metrics include:

  • PSNR (Peak Signal-to-Noise Ratio): Measures how close the generated pixels are to the original ones. Higher PSNR means less difference.
  • SSIM (Structural Similarity Index): Checks if the generated image parts keep the same structure and texture as the original. Values closer to 1 are better.
  • FID (Fréchet Inception Distance): Compares the distribution of generated images to real images. Lower FID means more realistic outputs.

These metrics matter because inpainting and outpainting need to produce visually plausible and coherent images, not just pixel-perfect copies.

Confusion Matrix or Equivalent Visualization

Inpainting and outpainting are image generation tasks, so confusion matrices do not apply directly. Instead, we use visual comparisons and similarity scores.

Example of PSNR, SSIM, and FID values for a test image:

    Original Image vs. Generated Image
    PSNR: 30.5 dB
    SSIM: 0.92
    FID: 18.3
    

Higher PSNR and SSIM indicate better quality. Lower FID means generated images are closer to real images.

Precision vs Recall Tradeoff (or Equivalent)

For inpainting and outpainting, the tradeoff is between:

  • Fidelity: How closely the generated parts match the original image (measured by PSNR, SSIM).
  • Creativity/Realism: How natural and plausible the generated parts look (measured by FID).

Example:

  • A model with very high PSNR but poor FID might copy pixels too literally, causing unnatural patches.
  • A model with low PSNR but good FID might create realistic but different textures, losing exact details.

Balancing these ensures the output is both accurate and visually pleasing.

What "Good" vs "Bad" Metric Values Look Like

Good values for inpainting/outpainting metrics typically are:

  • PSNR: Above 25 dB is generally good; below 20 dB is poor.
  • SSIM: Above 0.85 is good; below 0.7 is bad.
  • FID: Lower is better; values below 30 are acceptable, below 10 are excellent.

Bad values mean the generated image parts look blurry, inconsistent, or unrealistic.

Common Pitfalls in Metrics
  • Relying only on PSNR: High PSNR can happen if the model copies pixels but the output looks unnatural.
  • Ignoring perceptual quality: Metrics like FID capture realism better than pixel-wise errors.
  • Overfitting: Model might memorize training images, scoring well on metrics but failing on new images.
  • Data leakage: Using test images during training inflates metric scores falsely.
Self-Check Question

Your inpainting model has a PSNR of 28 dB, SSIM of 0.9, but an FID of 45. Is it good for production? Why or why not?

Answer: No, because while PSNR and SSIM show good pixel similarity and structure, the high FID means the generated images are not very realistic overall. The model might produce images that look similar but unnatural. Improving realism is needed before production.

Key Result
Inpainting and outpainting models need balanced metrics: high PSNR and SSIM for accuracy, low FID for realism.

Practice

(1/5)
1. What is the main difference between inpainting and outpainting in image editing?
easy
A. Both inpainting and outpainting only remove unwanted parts from images.
B. Inpainting adds new areas around an image, outpainting removes parts inside it.
C. Inpainting fills missing parts inside an image, outpainting adds new areas around it.
D. Inpainting and outpainting are the same process with different names.

Solution

  1. Step 1: Understand inpainting

    Inpainting is used to fill missing or unwanted parts inside an image, like fixing scratches or holes.
  2. Step 2: Understand outpainting

    Outpainting extends the image by adding new content around the edges, making the image bigger.
  3. Final Answer:

    Inpainting fills missing parts inside an image, outpainting adds new areas around it. -> Option C
  4. Quick Check:

    Inpainting = fill inside, Outpainting = add outside [OK]
Hint: Inpainting fixes inside; outpainting grows outside [OK]
Common Mistakes:
  • Confusing inpainting with outpainting
  • Thinking both remove parts only
  • Believing they are identical
2. Which of the following is the correct way to describe the input for an inpainting model?
easy
A. Only the new areas to add around the image.
B. An image with missing or masked areas to fill.
C. A complete image with no missing parts.
D. A text description of the image content.

Solution

  1. Step 1: Identify input for inpainting

    Inpainting models require an image with missing or masked parts that need filling.
  2. Step 2: Check other options

    Complete images or text descriptions are not direct inputs for inpainting; new areas relate to outpainting.
  3. Final Answer:

    An image with missing or masked areas to fill. -> Option B
  4. Quick Check:

    Inpainting input = image with holes [OK]
Hint: Inpainting needs holes in image input [OK]
Common Mistakes:
  • Choosing complete images without masks
  • Confusing input with outpainting requirements
  • Selecting text descriptions as input
3. Given this Python pseudocode for outpainting, what will be the shape of the output image if the input image is 256x256 and the model adds 64 pixels on each side?
input_image = load_image('photo.png')  # shape (256, 256)
output_image = outpaint_model(input_image, border=64)
print(output_image.shape)
medium
A. (256, 256)
B. (192, 192)
C. (320, 320)
D. (384, 384)

Solution

  1. Step 1: Calculate added pixels

    The model adds 64 pixels on each side, so total added width = 64 * 2 = 128 pixels.
  2. Step 2: Calculate new image size

    Original size 256 + 128 = 384 pixels. This is 256 + 64 + 64 = 384, since 64 pixels on each side means adding 64 left and 64 right.
  3. Step 3: Re-check options

    (384, 384) matches calculation. (320, 320) is 256 + 64, adding only one side.
  4. Final Answer:

    (384, 384) -> Option D
  5. Quick Check:

    256 + 64*2 = 384 [OK]
Hint: Add border pixels twice (both sides) to original size [OK]
Common Mistakes:
  • Adding border only once
  • Confusing inpainting with outpainting size change
  • Ignoring both width and height increase
4. You run an inpainting model but the output image still has visible holes where the mask was applied. What is the most likely cause?
medium
A. The mask was not correctly applied to the input image.
B. The model was trained only for outpainting, not inpainting.
C. The input image was too large for the model to process.
D. The output image format does not support transparency.

Solution

  1. Step 1: Check mask application

    If holes remain, the mask likely was not properly set, so the model didn't know where to fill.
  2. Step 2: Evaluate other options

    Model type mismatch or image size issues usually cause errors or poor quality, not visible holes. Output format affects display but not hole filling.
  3. Final Answer:

    The mask was not correctly applied to the input image. -> Option A
  4. Quick Check:

    Mask error = holes remain [OK]
Hint: Check mask covers missing parts fully [OK]
Common Mistakes:
  • Ignoring mask correctness
  • Blaming model type without checking input
  • Assuming output format causes holes
5. You want to create a larger scenic image by extending the edges of a 512x512 photo using outpainting. You also want to remove a small unwanted object inside the photo using inpainting. Which approach correctly combines both tasks?
hard
A. First apply inpainting on the original image to remove the object, then apply outpainting to extend the image edges.
B. Apply outpainting first to extend the image, then apply inpainting on the extended edges to remove the object.
C. Only use outpainting because it can both remove objects and extend images.
D. Only use inpainting because it can extend images and remove objects.

Solution

  1. Step 1: Remove unwanted object first

    Inpainting fixes inside the image, so remove the object before changing image size.
  2. Step 2: Extend image after cleanup

    Outpainting adds new areas around the cleaned image, so apply it after inpainting.
  3. Step 3: Evaluate other options

    Outpainting cannot remove inside objects; inpainting cannot add new edges. Order matters for best results.
  4. Final Answer:

    First apply inpainting on the original image to remove the object, then apply outpainting to extend the image edges. -> Option A
  5. Quick Check:

    Fix inside first, then grow outside [OK]
Hint: Clean inside first (inpainting), then extend outside (outpainting) [OK]
Common Mistakes:
  • Applying outpainting before inpainting
  • Thinking one method does both tasks
  • Ignoring task order importance