Bird
Raised Fist0
Computer Visionml~10 mins

Semantic segmentation vs instance segmentation in Computer Vision - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a semantic segmentation mask using a simple threshold.

Computer Vision
import numpy as np

image = np.array([[100, 150], [200, 50]])
mask = image [1] 100
print(mask)
Drag options to blanks, or click blank then click option'
A>
B<
C==
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' will select the wrong pixels.
2fill in blank
medium

Complete the code to label connected components for instance segmentation.

Computer Vision
from scipy.ndimage import label

binary_mask = np.array([[1, 1, 0], [0, 1, 0], [0, 0, 1]])
labeled_mask, num_features = label([1])
print(labeled_mask, num_features)
Drag options to blanks, or click blank then click option'
Abinary_mask
Bimage
Cmask
Dnp.array
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the original image instead of the binary mask.
3fill in blank
hard

Fix the error in the code that tries to separate instances in a semantic mask.

Computer Vision
import numpy as np

semantic_mask = np.array([[1, 1, 0], [0, 1, 0], [0, 0, 1]])
instances = np.zeros_like(semantic_mask)
count = 1
for i in range(semantic_mask.shape[0]):
    for j in range(semantic_mask.shape[1]):
        if semantic_mask[i, j] [1] 1:
            instances[i, j] = count
            count += 1
print(instances)
Drag options to blanks, or click blank then click option'
A>
B==
C<
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '!=' or '>' causes wrong pixels to be labeled.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps instance ids to pixel counts.

Computer Vision
instance_counts = [1]: np.sum(instances == [2]) for [1] in np.unique(instances) if [2] != 0}
Drag options to blanks, or click blank then click option'
Ainstance_id
Bcount
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using the same variable for both keys and values incorrectly.
5fill in blank
hard

Fill all three blanks to create a function that returns the number of instances in a semantic mask.

Computer Vision
def count_instances(mask):
    unique_vals = np.unique(mask)
    count = sum(1 for val in unique_vals if val [1] 0)
    return count

mask = np.array([[0, 1, 1], [2, 0, 2]])
print(count_instances(mask))
Drag options to blanks, or click blank then click option'
A==
B>
C!=
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' or '<' includes background in the count.

Practice

(1/5)
1. What is the main difference between semantic segmentation and instance segmentation in computer vision?
easy
A. Semantic segmentation detects objects, instance segmentation only classifies images.
B. Semantic segmentation groups all objects of the same class together, while instance segmentation separates each object instance.
C. Instance segmentation groups all objects of the same class, semantic segmentation separates each object instance.
D. Semantic segmentation works only on black and white images, instance segmentation works on color images.

Solution

  1. Step 1: Understand semantic segmentation

    Semantic segmentation labels every pixel by its class, grouping all objects of the same type together without distinguishing individual objects.
  2. Step 2: Understand instance segmentation

    Instance segmentation labels pixels by class and also separates each object instance uniquely, so different objects of the same class get different labels.
  3. Final Answer:

    Semantic segmentation groups all objects of the same class together, while instance segmentation separates each object instance. -> Option B
  4. Quick Check:

    Semantic vs instance = group vs separate [OK]
Hint: Semantic groups classes; instance separates objects [OK]
Common Mistakes:
  • Confusing instance segmentation with object detection
  • Thinking semantic segmentation separates individual objects
  • Assuming semantic segmentation only works on grayscale images
2. Which of the following is the correct way to describe the output of an instance segmentation model?
easy
A. Multiple masks, each representing a unique object instance with class labels.
B. A list of class names without pixel-level information.
C. A bounding box around the entire image.
D. A single mask labeling all pixels of the same class identically.

Solution

  1. Step 1: Recall instance segmentation output

    Instance segmentation outputs multiple masks, each mask corresponds to a unique object instance and includes class labels.
  2. Step 2: Compare options

    A single mask labeling all pixels of the same class identically describes semantic segmentation output. A list of class names lacks pixel-level information. A bounding box does not provide pixel-level masks. Multiple masks each representing a unique object instance with class labels is correct.
  3. Final Answer:

    Multiple masks, each representing a unique object instance with class labels. -> Option A
  4. Quick Check:

    Instance segmentation = multiple unique masks [OK]
Hint: Instance segmentation outputs multiple unique masks [OK]
Common Mistakes:
  • Choosing single mask output for instance segmentation
  • Confusing bounding boxes with masks
  • Ignoring pixel-level labeling
3. What is the shape of the output mask from a semantic segmentation model if the input image is 256x256 pixels and there are 3 classes?
medium
A. (256, 256, 1) with binary mask
B. (256, 256, 3) with one-hot encoding per pixel
C. (3, 256, 256) with separate masks per class
D. (256, 256) with each pixel labeled by class index

Solution

  1. Step 1: Understand semantic segmentation output format

    Semantic segmentation typically outputs a mask of shape (height, width) where each pixel is labeled with a class index, often obtained by applying argmax to the model's per-pixel class logits.
  2. Step 2: Apply to given input

    For 256x256 image and 3 classes, output mask shape is (256, 256) with each pixel labeled by class index.
  3. Final Answer:

    (256, 256) with each pixel labeled by class index -> Option D
  4. Quick Check:

    Semantic output shape = H x W x class_index [OK]
Hint: Semantic masks use (H, W) class index shape [OK]
Common Mistakes:
  • Confusing channel order or shape dimensions
  • Assuming single channel mask for multiple classes
  • Mixing instance segmentation mask shapes
4. You have a semantic segmentation model that outputs a mask with shape (256, 256), but you want to separate individual objects of the same class. What is the main issue with this output?
medium
A. The mask does not distinguish between different instances of the same class.
B. The mask shape is incorrect; it should be (256, 256, 3).
C. The model output is missing bounding boxes for objects.
D. The mask labels pixels with RGB values instead of class indices.

Solution

  1. Step 1: Analyze semantic segmentation mask

    A (256, 256) mask labels each pixel by class but does not separate individual objects of the same class.
  2. Step 2: Identify limitation for instance separation

    Since all objects of the same class share the same label, individual instances cannot be distinguished.
  3. Final Answer:

    The mask does not distinguish between different instances of the same class. -> Option A
  4. Quick Check:

    Semantic mask shape limits instance separation [OK]
Hint: Semantic masks don't separate object instances [OK]
Common Mistakes:
  • Thinking shape alone solves instance separation
  • Confusing bounding boxes with pixel masks
  • Assuming RGB values represent classes
5. You want to build a system to count the number of cars in a parking lot image. Which segmentation approach is best and why?
hard
A. Semantic segmentation, because it labels all car pixels together for easy counting.
B. Semantic segmentation, because it is faster and does not require distinguishing objects.
C. Instance segmentation, because it separates each car as a unique object for accurate counting.
D. Neither, object detection is the only way to count cars.

Solution

  1. Step 1: Understand the task requirement

    Counting cars requires distinguishing each car as a separate object instance.
  2. Step 2: Choose appropriate segmentation type

    Instance segmentation separates each object uniquely, enabling accurate counting of individual cars.
  3. Step 3: Evaluate other options

    Semantic segmentation groups all cars together, making counting difficult. Object detection can count but does not provide pixel-level masks.
  4. Final Answer:

    Instance segmentation, because it separates each car as a unique object for accurate counting. -> Option C
  5. Quick Check:

    Counting objects needs instance segmentation [OK]
Hint: Count objects? Use instance segmentation [OK]
Common Mistakes:
  • Choosing semantic segmentation for counting objects
  • Ignoring instance separation importance
  • Assuming object detection provides pixel masks
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