Skip to main content
Robotics & Embodied AI

⏱ About 15 min15 XP

When Perception Fails

Every perception system fails sometimes. A human driver misjudges distance in dense fog. A doctor misses a tumor on a grainy X-ray. A robot's vision algorithm confidently identifies a shadow as a pedestrian. Understanding how and why perception fails is not a pessimistic exercise — it is the most important step toward building systems that fail gracefully rather than catastrophically.

Sensor Noise

Every physical measurement contains some amount of random error called noise. Camera pixels generate a small amount of spurious electrical signal even in complete darkness — called dark current — that produces grainy images in low light. Lidar timing circuits have microsecond jitter that translates into centimeter-level distance errors. IMU accelerometers vibrate thermally, producing tiny random accelerations that are indistinguishable from real motion. Noise is unavoidable but manageable. Averaging multiple readings reduces random noise because the errors tend to cancel. Kalman filters model noise explicitly and account for it during fusion. Image processing algorithms use smoothing operations that reduce pixel-level noise while preserving edges. Understanding the noise characteristics of your sensors — particularly their statistical distribution and magnitude — is fundamental to designing a robust perception system.

Signal-to-Noise Ratio

Signal-to-noise ratio (SNR) compares the strength of the desired measurement to the background noise. A high SNR means the signal dominates and measurements are trustworthy. A low SNR means noise corrupts the data and errors become large.

Occlusion: Hidden Objects

Occlusion occurs when one object blocks the sensor's view of another. A pedestrian stepping out from behind a parked car was invisible to the robot's camera until the last instant. A robot arm's onboard camera cannot see the object directly beneath its gripper. A lidar on a car cannot see around a tight bend in the road. Occlusion is fundamentally a geometry problem: any sensor that measures along straight lines of sight will have blind spots whenever an opaque surface blocks those lines. Common strategies include placing multiple sensors at different positions (so each covers the others' blind spots), using sensors with wider fields of view, and building predictive models of what is probably behind the occluder — anticipating the pedestrian who might step out from the parked car.

Glare, Saturation, and Environmental Extremes

Direct sunlight shining into a camera lens saturates the sensor — pixels that receive too much light record their maximum value and lose all detail, producing a washed-out white region. A robot driving east at sunrise may temporarily lose all forward vision. Reflective surfaces like puddles, polished floors, and glass windows create mirror images that confuse object detection algorithms into seeing objects that are not really there. Fog, rain, and dust scatter both visible light and laser pulses. A lidar operating in heavy fog will return thousands of false returns from water droplets before the beam ever reaches a real surface. Radar is less affected by precipitation, which is one reason autonomous vehicles increasingly rely on radar in weather conditions that cripple cameras and lidar.

Adversarial Inputs and Distribution Shift

Deep learning-based perception systems have a peculiar vulnerability: adversarial inputs. Researchers have demonstrated that adding carefully designed tiny perturbations to an image — changes invisible to the human eye — can cause a neural network to confidently misclassify the image entirely. A stop sign with a few small stickers in specific positions was misclassified as a speed limit sign by several neural network models. A related problem is distribution shift: a model trained on data from one environment may fail when deployed in a different one. An object detector trained on images from sunny California may struggle in a snowy Swedish winter, because the visual appearance of the same objects differs dramatically between the two environments. Collecting diverse training data and testing systems in varied conditions before deployment are essential safeguards.

Adversarial Examples

Adversarial examples are inputs crafted specifically to fool a perception model. They expose the fact that neural networks learn statistical correlations rather than true understanding — and they are a serious safety concern for robots operating in environments where adversarial actors could be present.

Match each perception failure mode to its defining characteristic.

Terms

Sensor noise
Occlusion
Saturation
Distribution shift
Adversarial input

Definitions

An object blocking the sensor's line of sight, hiding another object behind it
Random measurement errors inherent to all physical sensors that corrupt readings unpredictably
A deliberately crafted stimulus designed to trick a perception model into a confident wrong answer
Sensor overload from excessive light causing pixels to lose all detail in bright regions
A model failing in a new environment because it looks different from the training data

Drag terms onto their definitions, or click a term then click a definition to match.

Why does fog cause problems for lidar sensors specifically?

What is distribution shift in the context of robot perception?

Failure Mode Analysis

  1. Step 1: Choose one of these robot applications: a hospital delivery robot, an outdoor fruit-picking robot, or a warehouse sorting robot.
  2. Step 2: List the sensors you would equip it with (camera, lidar, force sensor, etc.).
  3. Step 3: For each sensor, describe one specific real-world scenario where that sensor's perception would fail (noise, occlusion, weather, glare, etc.).
  4. Step 4: For each failure scenario, propose one engineering countermeasure — either a different sensor, a software technique, or a design change — that would reduce the risk.
  5. Step 5: Identify one failure mode you cannot fully mitigate with current technology, and explain what makes it so hard.

Flashcards — click each card to reveal the answer