Bird
Raised Fist0
Computer Visionml~20 mins

Albumentations library in Computer Vision - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Albumentations Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output shape after applying this Albumentations transform?
Given the following Albumentations pipeline applied to a 256x256 RGB image, what will be the shape of the output image?
Computer Vision
import albumentations as A
import numpy as np

transform = A.Compose([
    A.RandomCrop(width=224, height=224),
    A.HorizontalFlip(p=1.0),
])

image = np.zeros((256, 256, 3), dtype=np.uint8)
augmented = transform(image=image)
output = augmented['image'].shape
A(256, 256, 3)
B(224, 224)
C(224, 224, 3)
D(256, 256)
Attempts:
2 left
💡 Hint
RandomCrop changes the image size, HorizontalFlip does not change shape.
❓ Model Choice
intermediate
2:00remaining
Which Albumentations transform is best to increase brightness randomly?
You want to randomly increase or decrease the brightness of images during training. Which Albumentations transform should you use?
AA.RandomBrightnessContrast(brightness_limit=0.2, contrast_limit=0, p=1.0)
BA.HorizontalFlip(p=1.0)
CA.RandomCrop(width=224, height=224)
DA.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))
Attempts:
2 left
💡 Hint
Brightness changes pixel intensity, contrast changes difference between light and dark.
❓ Hyperparameter
advanced
2:00remaining
What is the effect of setting p=0.5 in an Albumentations transform?
In Albumentations, what does setting the parameter p=0.5 for a transform do during augmentation?
AThe transform is applied twice to each image.
BThe transform is applied to all images but with half intensity.
CThe transform is applied only if the image size is greater than 50%.
DThe transform is applied to 50% of the images randomly.
Attempts:
2 left
💡 Hint
p controls the probability of applying the transform.
🔧 Debug
advanced
2:00remaining
Why does this Albumentations pipeline raise an error?
Consider this Albumentations pipeline: transform = A.Compose([ A.RandomCrop(width=300, height=300), A.HorizontalFlip(p=0.5), ]) image = np.zeros((256, 256, 3), dtype=np.uint8) augmented = transform(image=image) Why does this code raise an error?
ARandomCrop size is larger than the input image size, causing an error.
BHorizontalFlip requires p=1.0 to work correctly.
CCompose requires at least three transforms.
DThe image array must be float32, not uint8.
Attempts:
2 left
💡 Hint
RandomCrop cannot crop bigger than the image.
🧠 Conceptual
expert
3:00remaining
Which Albumentations transform is best for simulating motion blur in images?
You want to simulate motion blur effects on images to make your model robust to camera movement. Which Albumentations transform should you use?
AA.GaussianBlur(blur_limit=7, p=1.0)
BA.MotionBlur(blur_limit=7, p=1.0)
CA.RandomBrightnessContrast(p=1.0)
DA.HorizontalFlip(p=1.0)
Attempts:
2 left
💡 Hint
Motion blur simulates streaks caused by movement.

Practice

(1/5)
1. What is the main purpose of the Albumentations library in computer vision?
easy
A. To apply image transformations that help AI models learn better
B. To train deep learning models directly
C. To label images for datasets
D. To evaluate model accuracy

Solution

  1. Step 1: Understand Albumentations role

    Albumentations is designed to change images by applying transformations like flips, crops, or color changes.
  2. Step 2: Connect transformations to model training

    These changes create many versions of images, helping AI models learn better by seeing varied data.
  3. Final Answer:

    To apply image transformations that help AI models learn better -> Option A
  4. Quick Check:

    Albumentations = Image transformations for training [OK]
Hint: Albumentations = image changes to improve training [OK]
Common Mistakes:
  • Thinking Albumentations trains models directly
  • Confusing it with labeling tools
  • Assuming it measures accuracy
2. Which of the following is the correct way to import the Compose function from Albumentations?
easy
A. from albumentations import Compose
B. import albumentations.Compose
C. from albumentations.Compose import *
D. import Compose from albumentations

Solution

  1. Step 1: Recall Python import syntax

    To import a function from a module, use 'from module import function'.
  2. Step 2: Match with Albumentations usage

    Albumentations provides Compose as a function inside the albumentations module, so 'from albumentations import Compose' is correct.
  3. Final Answer:

    from albumentations import Compose -> Option A
  4. Quick Check:

    Correct import syntax = from albumentations import Compose [OK]
Hint: Use 'from module import function' for imports [OK]
Common Mistakes:
  • Using dot notation in import incorrectly
  • Trying to import with 'import Compose from ...'
  • Using wildcard import from Compose
3. What will be the output shape of the image after applying this Albumentations transform?
import albumentations as A
transform = A.Compose([A.Resize(128, 128)])
augmented = transform(image=image)
result = augmented['image'].shape
medium
A. (256, 256, 3)
B. (128, 128)
C. (3, 128, 128)
D. (128, 128, 3)

Solution

  1. Step 1: Understand Resize transform

    The Resize transform changes the image size to the given height and width, here 128x128 pixels.
  2. Step 2: Check image shape format

    Albumentations uses height, width, and channels format (H, W, C). Assuming input image has 3 color channels, output shape is (128, 128, 3).
  3. Final Answer:

    (128, 128, 3) -> Option D
  4. Quick Check:

    Resize to 128x128 with 3 channels = (128,128,3) [OK]
Hint: Resize sets height and width; channels stay same [OK]
Common Mistakes:
  • Confusing channel order with PyTorch (C,H,W)
  • Ignoring color channels in output shape
  • Assuming Resize doubles size
4. Identify the error in this Albumentations code snippet:
import albumentations as A
transform = A.Compose([
    A.HorizontalFlip(p=0.5),
    A.RandomBrightnessContrast(p=1.2)
])
augmented = transform(image=image)
medium
A. Compose cannot take a list of transforms
B. HorizontalFlip does not accept probability parameter
C. Probability p=1.2 is invalid; must be between 0 and 1
D. Missing import for RandomBrightnessContrast

Solution

  1. Step 1: Check probability parameters

    Albumentations expects probability values (p) between 0 and 1 for transforms.
  2. Step 2: Identify invalid p value

    RandomBrightnessContrast has p=1.2, which is invalid and will cause an error.
  3. Final Answer:

    Probability p=1.2 is invalid; must be between 0 and 1 -> Option C
  4. Quick Check:

    Probability p must be ≤ 1 [OK]
Hint: Probabilities must be between 0 and 1 [OK]
Common Mistakes:
  • Setting p > 1 by mistake
  • Thinking HorizontalFlip lacks p parameter
  • Assuming Compose needs special import
5. You want to create a training pipeline that randomly flips images horizontally 50% of the time and then applies either a random brightness or contrast change (but not both) with equal chance. Which Albumentations Compose setup achieves this?
hard
A. A.Compose([A.OneOf([A.HorizontalFlip(p=0.5), A.RandomBrightness(p=1), A.RandomContrast(p=1)], p=1)])
B. A.Compose([A.HorizontalFlip(p=0.5), A.OneOf([A.RandomBrightness(p=1), A.RandomContrast(p=1)], p=1)])
C. A.Compose([A.HorizontalFlip(p=0.5), A.RandomBrightness(p=0.5), A.RandomContrast(p=0.5)])
D. A.Compose([A.HorizontalFlip(p=1), A.RandomBrightness(p=0.5), A.RandomContrast(p=0.5)])

Solution

  1. Step 1: Understand HorizontalFlip probability

    We want horizontal flip with 50% chance, so use A.HorizontalFlip(p=0.5).
  2. Step 2: Apply either brightness or contrast randomly

    Use A.OneOf with two transforms inside, each with p=1, and OneOf's p=1 to ensure exactly one is applied.
  3. Step 3: Check options

    A.Compose([A.HorizontalFlip(p=0.5), A.OneOf([A.RandomBrightness(p=1), A.RandomContrast(p=1)], p=1)]) matches this logic exactly. Others either apply both brightness and contrast or misuse probabilities.
  4. Final Answer:

    A.Compose([A.HorizontalFlip(p=0.5), A.OneOf([A.RandomBrightness(p=1), A.RandomContrast(p=1)], p=1)]) -> Option B
  5. Quick Check:

    Use OneOf for exclusive choice [OK]
Hint: Use OneOf to pick one transform randomly [OK]
Common Mistakes:
  • Applying brightness and contrast together
  • Setting wrong probabilities in OneOf
  • Using OneOf to include HorizontalFlip
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard