3D visionExplainer

Depth camera minimum range: why close objects look like noise

A depth camera stops returning depth below a minimum range: close objects turn into holes and noise. Here is the number, why resolution moves it, and the fix.

LumaSpec Vision11 min read Share on LinkedIn

On this page 10 sections
  1. 01The answer first
  2. 02Why triangulation has a close limit built in
  3. 03Worked example: where the 72 cm comes from
  4. 04Why the failure looks like noise, not a clean edge
  5. 05What moves the limit, and what it costs
  6. 06Which sensor family sees closest
  7. 07How to see closer than your sensor allows
  8. 08When it is not the minimum range
  9. 09Checklist before you commit
  10. 10Questions

You point a depth camera at your hand, walk the hand toward the lens, and the depth image falls apart: holes, blobs, and a repeating pattern that looks like sensor noise. It is not noise, and no exposure or gain setting will fix it. Every triangulating depth camera — passive stereo, active IR stereo, structured light — has a minimum range, and anything inside it returns no valid depth at all. One widely used IR stereo camera documents 72 cm at 640×480 depth and 32 cm at 320×240, which is why one resolution looks broken and the other looks fine on the same part. This page covers where that number comes from, how resolution and baseline move it, which sensor family sees closest, and what to do when your part sits inside the blind zone.

The answer first

Find the limit with a flat plate: hold it square to the lens and slide it inward until the depth image breaks up. That distance is the minimum range. If your part can arrive closer than that, the measurement is never made, and there is nothing for a filter to recover. You have three moves, cheapest first:

  • Add stand-off so every surface the camera must see clears the limit.
  • Drop the depth resolution one step; on a disparity-limited sensor this pulls the limit closer — 72 cm to 32 cm in the example above.
  • Change family: structured light or time of flight for close work, or a plain 2D camera when the check does not actually need depth.

You cannot tune the limit away in software. It is geometry, set by the baseline, the lens, and the disparity search window.

Why triangulation has a close limit built in

A stereo camera measures parallax, not brightness: a point at depth Z appears shifted by d pixels between the left and right images, and that shift is the whole measurement.

d = f · B / Z Z_min = f · B / d_max ΔZ ≈ Z² · Δd / (f · B)

Here f is focal length in pixels, B is the baseline between the two viewpoints, d_max is the largest disparity the matcher searches, and Δd is its disparity error. A point closer than Z_min would need a disparity beyond d_max; the matcher finds no match and emits an invalid pixel. Three levers set the limit: more focal pixels (a narrower lens) pushes it out, a longer baseline pushes it out, a bigger search window pulls it in. The baseline cuts both ways — depth noise shrinks as 1/B, so the wide baseline that steadies far measurements is the same one that widens the near blind zone. That trade is worked through in long-range stereo depth accuracy with a wide baseline, and the disparity-to-depth conversion itself is derived in depth from a matched stereo point pair.

Worked example: where the 72 cm comes from

Take an IR stereo camera with a 70° horizontal field and a 640-pixel-wide depth image. Its focal length in pixels is f = 320 / tan(35°) = 320 / 0.700 ≈ 457 px, call it 460 px. Give it a 70 mm baseline and a matcher that searches disparities up to 45 px:

Z_min = 460 px × 70 mm / 45 px = 32,200 / 45 ≈ 716 mm ≈ 0.72 m

That is the 72 cm figure for this camera at 640×480. Now hold a hand at 300 mm: the disparity it needs is d = 460 × 70 / 300 ≈ 107 px, more than twice the search limit. No match, invalid pixels — and because a hand is mostly soft texture, the failure spreads into the speckled mess you first saw.

Halve the depth width to 320 pixels. The lens is unchanged, so the focal length in pixels halves to 230 px:

Z_min = 230 px × 70 mm / 45 px ≈ 358 mm ≈ 0.36 m

The same camera reaches 32 cm at 320×240 — slightly closer than the geometry alone predicts, because its matcher widens the effective search in that mode.

The third line of the formula explains why objects measure so well once they are inside range. With f · B = 32,200 px·mm and a 0.5 px disparity error, depth noise at 1 m is 1,000,000 × 0.5 / 32,200 ≈ 15.5 mm, and at 2 m it is four times that, about 62 mm. Depth error grows with the square of distance, which is also why the near zone, when reachable, is the precise zone.

Run the corners of the family: a 500 px focal length with a 55 mm baseline and a 64 px search gives 500 × 55 / 64 ≈ 430 mm, while 700 px with a 100 mm baseline and a 45 px search gives 700 × 100 / 45 ≈ 1,556 mm. Stereo and IR-stereo cameras with ordinary baselines therefore start somewhere between roughly 0.4 m and 1.6 m. If your part approaches closer than about 0.3 m, this family is the wrong pick.

Why the failure looks like noise, not a clean edge

Three effects smear the boundary. Many matchers clip instead of failing: below the limit they return the largest disparity they search, so closer surfaces collapse onto a shell at Z_min. The projector's pattern goes out of focus at short range, so the texture the matcher relies on turns into blur and generates confident wrong matches mixed with holes. Hole-filling and smoothing filters then interpolate across the invalid region, and the result is the repeating, wavy pattern that looks like a broken sensor.

The signature that identifies it: the artifact boundary sits at one distance, across the whole field of view, on every material, at every exposure. Every other cause of depth holes is tied to a surface or an image position — that difference is the diagnostic.

What moves the limit, and what it costs

Change Effect on Z_min What you pay
Halve the depth width, 640 px to 320 px Roughly halves: 0.72 m to about 0.36 m Half the lateral pixels; depth noise per disparity error doubles
Shorten the baseline Proportional: half B gives half Z_min Depth noise doubles at every range, since ΔZ ∝ 1/B
Fit a wider-angle lens Fewer focal pixels, lower Z_min Each pixel covers more scene, so fine features merge
Enlarge the disparity search Lower Z_min More compute per frame, more false matches on weak texture

The resolution row is the one you control from software, which is why the same camera can look repaired or broken between two viewer settings. Treat a resolution change as a re-test of the limit, not as a setting you make once and ignore.

Which sensor family sees closest

Not every depth camera hits the wall in the same place, because not every family triangulates. Passive stereo must find matching texture on the part itself, so on plain surfaces its usable range starts well before the geometric limit; its strengths are outdoor light and long range. An IR projector adds texture — at the cost of the focus effects above — and active IR stereo units carry near limits in the class of the 32–72 cm example. Structured light projects a coded pattern and decodes it instead of searching raw texture, which is why it holds the highest close-range accuracy of the triangulating families. A projected structured-light camera such as the MV-DPS200P-02 works on that principle.

3D sensorsHikrobot MV-DPS200P-02 Projected structured-light 3D cameraMV-DPS200P-02
Type
Stereo / structured light
$8,829.00 · quotedView and quote

Time of flight measures something else: it times the return of its own light, so the near limit comes from the timing window rather than a baseline, and it is typically the shortest of the families. The trade seen across the industry is that time-of-flight precision trails structured light below about 10 m and passes it beyond that. A unit such as the MV-DT01WMU works on that principle.

3D sensorsHikrobot MV-DT01WMU ToF sensing cameraMV-DT01WMU
Type
Depth / ToF camera
Price on requestView and quote

A laser profiler triangulates one line at a time; its near limit is the near edge of the height range in its spec, and stand-off and height range move together — more working distance needs a taller measurement band. A sensor such as the MIS-DP3850-01P measures that way.

3D sensorsHikrobot MIS-DP3850-01P 3D laser profile sensorMIS-DP3850-01P
Type
Laser profiler
$12,379.00 · quotedView and quote
Family Measures by Near limit set by Wins at
Passive stereo Matching part texture between two cameras Disparity search and baseline Outdoors, long range
Active IR stereo Projected texture plus stereo matching Same, plus projector focus Indoor mid range
Structured light Decoding a projected pattern Pattern triangulation geometry Close-range accuracy
Time of flight Travel time of its own light Timing window Nearest limit; long range past ~10 m
Laser profiler Laser-line triangulation Near edge of the height range Inline height and profile checks

How to see closer than your sensor allows

  1. Add stand-off. Move the camera or the presentation so the nearest surface clears Z_min by 20–30%. Nothing else is free.
  2. Drop one resolution step. Halving the depth width roughly halves Z_min on a disparity-limited sensor; re-run the plate test at that mode, because the matcher mode changes with it.
  3. Switch family. Below roughly 0.3 m, stereo and IR stereo are out. Choose structured light or time of flight, and read the minimum-range row at the resolution you will run.
  4. Check if you need depth at all. Presence, edge and print checks on flat parts run fine with a 2D area scan camera and lighting, focused for the working distance, at ranges where depth cameras give up.

When it is not the minimum range

Minimum-range failure has a distance boundary on every surface. If your holes behave differently, look here:

When valid depth needs cleaning rather than diagnosing, smoothing a noisy stereo depth map sets out what filters can and cannot recover.

Checklist before you commit

  • Measure the closest point any part surface can reach, at full tilt, and add 20–30%.
  • Read the minimum-range value at the depth resolution you will actually run; headline and reduced modes differ.
  • Bench test with a flat plate of your real material, stepping inward until holes begin. That distance is your true limit.
  • For a laser profiler, check the near edge of the height range and confirm the stand-off puts your tallest part inside the band.
  • Treat every laser and IR projector as an eye hazard: the near-infrared pattern barely triggers your blink reflex and still damages the retina. Never look into the aperture.

Next, filter the camera finder to 3D sensors, start the configurator at the camera step, or send us the closest approach and the part material and we will name a family and a part that clears it. More depth-camera diagnostics are collected on the 3D machine vision topic page.

Questions

Does halving the depth resolution really halve the minimum range?

On a disparity-limited stereo or structured-light camera, roughly yes: half the pixel width halves the focal length in pixels, so the same disparity search reaches about half the depth. The costs are half the lateral pixels and about double the depth noise per disparity error; a quarter-width mode would quarter the limit and quadruple that noise. Re-run a plate test at the new mode before trusting it, because the matcher's search limit can change with the mode.

Why does the depth image show a flat, noisy band instead of holes near the lens?

Because many matchers clip rather than fail: below the limit they report the largest disparity they search, so every closer surface collapses onto one shell at the minimum range, and smoothing smears it. Proof: slide a card through the zone — the shell stays at the same depth no matter what the card does. That fixed depth is your true minimum range.

Do time-of-flight cameras also have a minimum range?

Yes, but the mechanism differs: the near limit comes from the timing window that separates the outgoing light pulse from its reflection, not from a baseline, so it is typically the shortest of the families. Inside that limit a time-of-flight camera also returns invalid pixels rather than depth. The number to design against is the minimum-range row of the spec at your operating mode.

Can software recover depth inside the blind zone?

No. Inside the minimum range the matcher found no correspondence, so there is no measurement to restore. Filters can only interpolate from valid neighbouring pixels, which is acceptable for visualization and wrong for measurement — a hole-filled surface reports plausible depths it never measured. Real recovery needs a change of geometry: stand-off, a lower resolution mode, or a sensor with a shorter near limit.

How much margin should I leave above the minimum range?

Use 20–30% beyond the closest point any surface can reach, measured at full part tilt. Tilted surfaces and weak texture push the usable boundary outward from the geometric limit, so a part that can stop 250 mm from the lens calls for a sensor rated to about 200 mm. Confirm with a flat-plate step test on your real material: where holes begin is your true limit.

Does surface texture change the minimum range?

For passive stereo, yes: blank, uniform surfaces stop matching well before the geometric limit, so the usable range starts farther out. Active IR stereo and structured light carry their own projected texture, which is why they hold their rated near limit on plain plastic and bare metal. Texture moves where holes begin; it does not move the underlying geometric limit.