0
0
Computer Visionml~20 mins

Cutout and CutMix in Computer Vision - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Cutout and CutMix Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
What is the main purpose of Cutout in image data augmentation?

Cutout is a popular data augmentation technique used in training image models. What is its main purpose?

ATo rotate the image by a random angle to increase data diversity.
BTo randomly erase a square patch from the input image to encourage the model to focus on less prominent features.
CTo add Gaussian noise to the image pixels to simulate sensor noise.
DTo blend two images together by mixing their pixel values and labels.
Attempts:
2 left
💡 Hint

Think about how Cutout modifies the image to prevent overfitting on specific parts.

🧠 Conceptual
intermediate
1:30remaining
How does CutMix differ from Cutout in data augmentation?

Both CutMix and Cutout modify images during training. What key difference distinguishes CutMix from Cutout?

ACutMix replaces a patch of one image with a patch from another image and mixes their labels, while Cutout only masks a patch with zeros.
BCutMix crops images to smaller sizes, Cutout enlarges images.
CCutMix adds noise to images, while Cutout changes brightness.
DCutMix rotates images randomly, whereas Cutout flips images horizontally.
Attempts:
2 left
💡 Hint

Consider how labels are handled in each technique.

Predict Output
advanced
2:00remaining
What is the output shape and label mix ratio after applying CutMix?

Given two images of shape (3, 32, 32) and labels one-hot encoded as vectors, after applying CutMix with a patch covering 25% of the area, what is the expected label mix ratio?

Computer Vision
import numpy as np

img1 = np.random.rand(3, 32, 32)
img2 = np.random.rand(3, 32, 32)
label1 = np.array([1, 0, 0])  # class A
label2 = np.array([0, 1, 0])  # class B

# CutMix patch covers 25% of image area
patch_area_ratio = 0.25

# Label mix ratio calculation
label_mix_ratio = 1 - patch_area_ratio

mixed_label = label1 * label_mix_ratio + label2 * patch_area_ratio

output_shape = img1.shape
AOutput shape: (3, 32, 32), Label mix ratio: [0.75, 0.25, 0.0]
BOutput shape: (32, 32, 3), Label mix ratio: [0.25, 0.75, 0.0]
COutput shape: (3, 32, 32), Label mix ratio: [0.5, 0.5, 0.0]
DOutput shape: (3, 32, 32), Label mix ratio: [1.0, 0.0, 0.0]
Attempts:
2 left
💡 Hint

Remember the label mix ratio corresponds to the proportion of the original image area kept.

Metrics
advanced
1:30remaining
How does CutMix typically affect model accuracy and robustness compared to no augmentation?

When training an image classification model, what is the typical effect of using CutMix augmentation on accuracy and robustness?

ACutMix has no effect on accuracy or robustness compared to no augmentation.
BCutMix decreases accuracy but improves robustness by confusing the model with mixed labels.
CCutMix usually improves both accuracy and robustness by providing diverse training samples and smoother decision boundaries.
DCutMix improves accuracy but reduces robustness due to overfitting on mixed images.
Attempts:
2 left
💡 Hint

Think about how mixing images and labels helps the model generalize.

🔧 Debug
expert
2:30remaining
Why does this CutMix implementation cause a label mismatch error?

Consider this simplified CutMix code snippet. Why does it raise an error when mixing labels?

Computer Vision
import numpy as np

def cutmix_labels(label1, label2, patch_ratio):
    mixed_label = label1 * patch_ratio + label2 * (1 - patch_ratio)
    return mixed_label

label1 = np.array([1, 0, 0])
label2 = np.array([0, 1, 0])
patch_ratio = 0.3

mixed = cutmix_labels(label1, label2, patch_ratio)
print(mixed)
AThe labels are not one-hot encoded, causing a shape mismatch error.
BThe patch_ratio must be an integer, not a float.
CThe function is missing a return statement.
DThe label mix formula is reversed; it should be label1 * (1 - patch_ratio) + label2 * patch_ratio.
Attempts:
2 left
💡 Hint

Check how the patch_ratio relates to the original and patched image areas.