3D visionExplainer

Why your ToF point cloud loses detail on small distant objects

Why a ToF point cloud loses detail on distant objects: the pixel footprint rule, a worked example at 2 m, and the fixes that recover small-part geometry.

LumaSpec Vision9 min read Share on LinkedIn

On this page 8 sections
  1. 01The pixel footprint sets lateral detail
  2. 02Why the depth image looks good and the cloud looks flat
  3. 03Worked example: a cup at 2 m
  4. 04Getting more from ToF, in the order that pays
  5. 05When the feature is smaller than the footprint, change technology
  6. 06Checks before you commit
  7. 07The decision, per case
  8. 08Questions

A time-of-flight camera gives a distance value for every pixel, and at 2 m the distance image of a cup can look convincing: clean silhouette, smooth surface. Convert it to a point cloud and the part collapses into a vague lump — no rim, no handle, no wall thickness. That is not a configuration mistake. It is the lateral sampling limit of the sensor: every pixel averages the depth of everything inside a footprint that grows with distance. This guide gives you the footprint formula, a worked example for a cup at 2 m, the fixes in the order that pays, and the point at which changing technology beats changing settings.

The pixel footprint sets lateral detail

A ToF pixel does not photograph the scene. The sensor floods the field with modulated light, and each pixel reports one distance: the phase delay of the light returned to that pixel's share of the aperture (time-of-flight camera). Everything inside the pixel's angular cone — a curved rim, a flat wall, the background behind the rim — is averaged into one number. Converting the depth image to a point cloud turns each pixel into one 3D point; it cannot split that average back into surfaces.

The cone's width comes from the field of view and the sampling step from the pixel count:

w = 2 · d · tan(θ/2) / N

w is the lateral footprint per pixel, d the stand-off, θ the horizontal field of view and N the pixels across it. Square pixels give the same footprint vertically. Three consequences follow. Footprint grows in proportion to stand-off: halve the distance and you halve the footprint. Exposure does not appear in the formula: longer exposures lower noise, never footprint. Focus is irrelevant: ToF optics are fixed-focus with a deep depth of field, so a crisp amplitude image says nothing about lateral sampling.

How sensor width, working distance and field of view set the focal length Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.CameraField of view (FOV)Working distance (WD)≈ fsensor width slensm = s / FOVf = WD × m / (1 + m)
How sensor width, working distance and field of view set the focal length. Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.

Full-frame depth at metres of stand-off is what ToF exists for: logistics volume, bin picking, presence detection, robot guidance. The arithmetic above decides when a target sits inside that job and when it does not.

Why the depth image looks good and the cloud looks flat

Depth noise and lateral sampling are different numbers. A per-pixel depth error of a few millimetres at metre-class stand-off is typical on matte surfaces under adequate exposure, and noise averages away with exposure time and frame count. The footprint does not. A cup sampled by about a dozen pixels across is a surface of a dozen columns, however precisely each column's z is measured.

The amplitude image deepens the confusion. It shares the pixel grid but reads like a photograph, and its sharpness is easy to mistake for depth detail; the depth channel carries only the dozen columns. Viewers then draw the points as splats and interpolate between them, so a sparse cloud renders as a plausible smooth surface. The exported point cloud versus the viewer render mismatch is that smoothing seen from the file side.

Edges degrade further. A pixel straddling rim and background receives both returns and reports a weighted average, so rims round off and stray points float between surfaces. Stereo cameras fail at depth edges in the same way, as flying pixels between object and background and distance-deformed edge outlines.

Worked example: a cup at 2 m

Take a 60° horizontal FOV with 352 pixels across — representative of the industrial 100k-pixel ToF class — a stand-off of 2.0 m, and a cup 80 mm across with a 5 mm raised rim.

Footprint: w = 2 × 2000 × tan(30°) / 352 = 2309 / 352 = 6.6 mm per pixel. The cup spans 80 / 6.6 ≈ 12 pixels. The rim spans 5 / 6.6 = 0.76 footprints, below one pixel even before edge mixing. The rim is missing from the capture, not lost in processing.

Narrower imager, same array, 40° FOV: w = 2 × 2000 × tan(20°) / 352 = 1456 / 352 = 4.1 mm. The cup spans 19 pixels; the rim still spans under one footprint.

Closer, 0.5 m at 60°: w = 2 × 500 × tan(30°) / 352 = 577 / 352 = 1.6 mm. The cup spans 49 pixels and the rim 3 — detectable, and measurable once averaging pulls the noise down.

Working backwards sets the requirement: measuring the rim wants about four pixels across it, so w ≤ 5 / 4 = 1.25 mm. At 60° and 2 m the frame is 2309 mm wide, which takes 2309 / 1.25 ≈ 1850 pixels across — about a 1850 × 1390 array at this FOV, five times the linear pixel density of the example. Industrial ToF imagers sit far below that density, so at 2 m the rim needs a different sensor, or a stand-off shortened to the tens of centimetres.

Run your own part and stand-off through the resolution calculator:

Camera resolution for the smallest feature
Units
Pixels needed
–
Sensor size
– MP
Smallest sensor that fits
–
Pixel on the part
– mm
Pixels across the feature, that sensor
–

Pixels needed = field / feature × pixels per feature on each axis (field incl. margin). The lens must resolve the pixels too: Nyquist = 1000 / (2 × pixel µm) lp/mm.

Find cameras with enough pixels Open the full calculator

Getting more from ToF, in the order that pays

  1. Run the full array. Binning halves the pixels per axis and doubles the footprint: a 2×2 bin turns the 6.6 mm example into 13.1 mm at 2 m. The depth resolution and field of view settings live at capture time, so confirm them before blaming the part.
  2. Choose the narrowest FOV that frames the part. The FOV sits in the optics, so this is an imager choice, not a setting. A clipping window or a cropped XY region of interest discards clutter that corrupts edge pixels; it creates none.
  3. Shorten the stand-off. Footprint scales linearly, so 2 m to 0.5 m buys four times the sampling. Check the sensor's minimum range first, and note that a shorter stand-off pairs with a shorter unambiguous range; choosing that range typically lowers noise too, because the modulation frequency rises. Mounting geometry is covered in the working distance and positioning guide.
  4. Fix the noise floor before touching filters. Longer exposure, or the bracketed multi-exposure mode ToF firmware offers, lifts weak pixels over amplitude thresholds. The price is frame rate; the ToF exposure and frame rate trade-off gives the arithmetic.
  5. Filter with intent. Temporal averaging on a static scene divides noise by √k: 16 frames buy four times less noise. Spatial filters average across the footprint and erase the fine structure you are trying to keep, so keep them off the region of interest or at the smallest kernel.

For full-frame depth on larger parts — presence, volume, pose — a ToF sensing camera such as the MV-DT01WMU remains the efficient choice.

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

When the feature is smaller than the footprint, change technology

Count 2 pixels to detect a feature and 4 to 6 to measure it, because edge mixing corrupts about one pixel on every boundary. At the worked stand-off that puts the floor for measured features at 4 × 6.6 = 26 mm; the 5 mm rim misses it by five times. Past that floor, three technologies cover the job, and the 3D sensors category lists them side by side.

  • Structured light for dense full-frame surface geometry at bench stand-off. A projected structured-light 3D camera such as the MV-DPS200P-02 casts a coded pattern and triangulates depth per camera pixel, so sampling comes from close-range optics instead of a metre-scale footprint.
3D sensorsHikrobot MV-DPS200P-02 Projected structured-light 3D cameraMV-DPS200P-02
Type
Stereo / structured light
$8,829.00 · quotedView and quote
3D sensorsHikrobot MV-DP4180-03P 3D Laser Profile SensorMV-DP4180-03P
Type
Laser profiler
$12,389.00 · quotedView and quote
  • Stereo with texture where the part carries surface detail. The stereo, ToF or structured-light selection guide lines the technologies up against each other, and a laser galvanometer stereo camera such as the MV-DLS300P-04 pairs stereo matching with a steered light source for dense depth inside a larger cell.
3D sensorsHikrobot MV-DLS300P-04 Laser galvanometer stereo cameraMV-DLS300P-04
Type
Stereo / structured light
$16,579.00 · quotedView and quote

Checks before you commit

  • Compute the footprint from the formula at the real stand-off and divide the smallest feature by it; keep 4 or more.
  • Record 32 frames of a matte target at the stand-off and read the frame-to-frame spread of one pixel's depth value; a feature must stand above roughly 3 times that spread to survive thresholding.
  • Inspect the amplitude or confidence channel on the feature itself: dark, curved and glossy surfaces lose signal first, and the shiny metal 3D point cloud guide lists the lighting and surface moves that recover them.
  • Respect the laser classification printed on any profiler or galvanometer scanner housing; the interlocks exist for that classification.
  • After moving closer, recheck framing, minimum range and the unambiguous-range setting.
  • Judge the raw exported cloud, points only, before judging the sensor.

If the conversion stays under suspicion: wrong per-axis scale factors stretch, squash or shift a cloud, they never smooth one — applying per-axis scale factors shows the pipeline that keeps proportions true.

The decision, per case

  • Cup silhouette, position and volume at 2 m: keep ToF. Twelve pixels across carry pose and volume; the footprint never limited those.
  • Rim, handle or wall thickness at 2 m: change technology. No exposure, filter or crop setting creates pixels that were never sampled.
  • The stand-off is yours to choose: 0.5 m gives a 1.6 mm footprint and 3 pixels across the rim — workable with temporal averaging, once the noise check passes on the real part.
  • Detail a few millimetres wide or finer anywhere in the scene: structured light or laser profiling from day one.

Filter candidates in the 3D camera finder, pair the camera with mounts and processing in the build-a-system configurator, and the 3D vision topic page collects the rest of the depth-capture guides.

Questions

Do interpolated or rescaled depth images add resolution?

Some pipelines rectify or rescale the depth map onto a grid other than the native imager's; those extra pixels are interpolated, not measured. The footprint formula must always use the native pixel count: 352 stays 352 whether the delivered image is 352 or 704 across. Read the imager's native resolution, not the output image size, before computing the footprint.

Does cropping the image to the part improve ToF resolution?

No. A clipping window or a cropped point-cloud region of interest discards background points and removes clutter that corrupts edge pixels, which helps thresholds and matching. It changes no optics: every kept pixel still averages the same footprint it always did. Crop for cleanliness; sampling density only improves with a narrower-FOV imager, less binning or a shorter stand-off.

Why does the amplitude image show the rim when the depth data does not?

The amplitude image is a reflectance picture on the same pixel grid, and at screen scale it renders legibly even when each pixel averages millimetres of scene depth. Its contrast comes from reflectance, not geometry: a rim shows as a grey edge while the depth channel holds one averaged value. Judge what the cloud will contain from the footprint, never from amplitude.

Could my depth-to-point-cloud conversion be flattening the cup?

A conversion bug distorts, it does not smooth. Wrong per-axis scale factors stretch, squash or offset the cloud; they cannot erase a rim the depth image contains. Prove the pipeline once: capture a cube of known edge length, convert it, and measure the edges in the resulting cloud. If the lengths come out right, the sampling loss happened in the sensor.

Which technology resolves surface detail a few millimetres wide?

Structured light or laser profiling. Structured-light cameras project a coded pattern and triangulate dense full-frame clouds at bench stand-off; laser profile sensors sweep a line and resolve dense cross-sections as the part moves past. Both put many pixels across a feature that a ToF array samples with a handful, which is what surface geometry needs.