Bird
Raised Fist0
Computer Visionml~20 mins

LiDAR data processing basics in Computer Vision - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
LiDAR Data Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding LiDAR Point Clouds

What does a LiDAR point cloud primarily represent in 3D space?

AA sequence of GPS coordinates without elevation data
BA collection of 3D points representing surfaces detected by laser pulses
CA 2D image captured by a camera attached to the LiDAR sensor
DA set of temperature readings from the environment
Attempts:
2 left
💡 Hint

Think about what LiDAR sensors measure when they send laser pulses.

Predict Output
intermediate
2:00remaining
Output of Basic LiDAR Data Filtering

Given the following Python code that filters LiDAR points based on height, what is the output?

Computer Vision
import numpy as np
points = np.array([[1,2,3], [4,5,1], [7,8,9], [10,11,0]])
filtered = points[points[:,2] > 2]
print(filtered)
A
[[ 4  5  1]
 [10 11  0]]
B[]
C
[[ 1  2  3]
 [ 7  8  9]]
D
[[ 1  2  3]
 [ 4  5  1]
 [ 7  8  9]]
Attempts:
2 left
💡 Hint

Look at the condition points[:,2] > 2 and which points satisfy it.

Model Choice
advanced
2:00remaining
Choosing a Model for LiDAR Semantic Segmentation

You want to classify each point in a LiDAR point cloud into categories like ground, vegetation, and buildings. Which model type is best suited for this task?

AConvolutional Neural Network (CNN) applied on 2D images
BGenerative Adversarial Network (GAN) for image generation
CRecurrent Neural Network (RNN) for sequential data
DPointNet or PointNet++ designed for point cloud data
Attempts:
2 left
💡 Hint

Consider models that directly handle unordered 3D point sets.

Hyperparameter
advanced
2:00remaining
Effect of Voxel Size in LiDAR Data Processing

When converting a LiDAR point cloud into a voxel grid for processing, what is the effect of choosing a very small voxel size?

AHigher spatial resolution but increased memory and computation cost
BLower spatial resolution and faster processing
CNo effect on resolution or computation
DAutomatically removes noise from the point cloud
Attempts:
2 left
💡 Hint

Think about how voxel size relates to detail and data volume.

Metrics
expert
3:00remaining
Evaluating LiDAR Classification Accuracy

You have a LiDAR point cloud classification model. After testing, you get the following confusion matrix for three classes (Ground, Vegetation, Building):

Ground: TP=90, FP=10, FN=15
Vegetation: TP=80, FP=20, FN=10
Building: TP=70, FP=15, FN=20

What is the overall precision of the model?

AApproximately 0.85
BApproximately 0.79
CApproximately 0.90
DApproximately 0.70
Attempts:
2 left
💡 Hint

Precision = TP / (TP + FP) summed over all classes.

Practice

(1/5)
1. What does LiDAR data primarily represent in computer vision?
easy
A. A sequence of text commands for robots
B. A collection of 3D points showing object shapes and distances
C. A 2D image with color information
D. A sound wave pattern for audio analysis

Solution

  1. Step 1: Understand LiDAR data basics

    LiDAR uses lasers to measure distances and creates 3D points representing shapes and distances.
  2. Step 2: Compare options to definition

    Only A collection of 3D points showing object shapes and distances describes 3D points showing shapes and distances, matching LiDAR data.
  3. Final Answer:

    A collection of 3D points showing object shapes and distances -> Option B
  4. Quick Check:

    LiDAR = 3D points [OK]
Hint: LiDAR = 3D points, not images or sounds [OK]
Common Mistakes:
  • Confusing LiDAR with 2D images
  • Thinking LiDAR is audio data
  • Assuming LiDAR is text commands
2. Which Python code snippet correctly filters LiDAR points with height above 2 meters from a list points where each point is (x, y, z)?
easy
A. filtered = [p for p in points if p[2] > 2]
B. filtered = [p for p in points if p[1] > 2]
C. filtered = [p for p in points if p[0] > 2]
D. filtered = [p for p in points if p[3] > 2]

Solution

  1. Step 1: Identify height coordinate in point tuple

    Points are (x, y, z), where z is height, so index 2 is height.
  2. Step 2: Check filtering condition

    Filter points where z > 2 means p[2] > 2, matching filtered = [p for p in points if p[2] > 2].
  3. Final Answer:

    filtered = [p for p in points if p[2] > 2] -> Option A
  4. Quick Check:

    Height is z = p[2] [OK]
Hint: Height is the third value in (x,y,z) tuples [OK]
Common Mistakes:
  • Using wrong index for height
  • Trying to access p[3] which is out of range
  • Filtering by x or y instead of z
3. Given this Python code to calculate mean height from LiDAR points, what is the output?
points = [(1,2,3), (4,5,6), (7,8,9)]
mean_height = sum(p[2] for p in points) / len(points)
print(round(mean_height, 2))
medium
A. 8.0
B. 7.0
C. 5.0
D. 6.0

Solution

  1. Step 1: Extract z values from points

    Heights are 3, 6, and 9 from each tuple's third element.
  2. Step 2: Calculate mean height

    Sum = 3 + 6 + 9 = 18; count = 3; mean = 18 / 3 = 6.0
  3. Final Answer:

    6.0 -> Option D
  4. Quick Check:

    Mean height = 6.0 [OK]
Hint: Sum heights then divide by count for mean [OK]
Common Mistakes:
  • Summing wrong coordinate index
  • Dividing by wrong length
  • Not rounding output
4. Find the error in this code that tries to filter LiDAR points below 1 meter height:
points = [(0,0,0.5), (1,1,1.5), (2,2,0.8)]
filtered = [p for p in points if p[3] < 1]
print(filtered)
medium
A. SyntaxError due to wrong list comprehension
B. No error, code works correctly
C. IndexError because p[3] does not exist
D. filtered list will be empty due to condition

Solution

  1. Step 1: Check point tuple length

    Each point has 3 elements indexed 0,1,2; p[3] is out of range.
  2. Step 2: Identify error type

    Accessing p[3] causes IndexError at runtime.
  3. Final Answer:

    IndexError because p[3] does not exist -> Option C
  4. Quick Check:

    Tuple length = 3, max index = 2 [OK]
Hint: Check tuple length before indexing [OK]
Common Mistakes:
  • Assuming p[3] exists
  • Thinking it's a syntax error
  • Ignoring runtime errors
5. You want to remove noisy LiDAR points that are too far from the ground (height > 10 meters) and then calculate the average height of remaining points. Which sequence of steps is correct?
hard
A. Filter points with height ≤ 10, then compute mean height from filtered points
B. Compute mean height first, then filter points with height ≤ 10
C. Filter points with height > 10, then compute mean height from filtered points
D. Compute mean height of all points, ignoring filtering

Solution

  1. Step 1: Filter noisy points correctly

    Remove points with height > 10 means keep points with height ≤ 10.
  2. Step 2: Calculate mean height after filtering

    Compute average height only from filtered points to get accurate mean.
  3. Final Answer:

    Filter points with height ≤ 10, then compute mean height from filtered points -> Option A
  4. Quick Check:

    Filter first, then average [OK]
Hint: Filter noise before averaging [OK]
Common Mistakes:
  • Averaging before filtering noise
  • Filtering wrong height range
  • Ignoring filtering step