Skip to the lesson
FixTheRobot Explore Robotics / Perception / P8 Sensor Fusion and Scene Understanding / P8-T4

Perception · Theory · P8

P8-T4 — Early Fusion, Late Fusion and Object-Level Fusion

Combine early and you keep every detail. Combine late and you keep the system understandable.

  • Lesson 4 of 6
  • Module 8: Sensor Fusion and Scene Understanding
  • Theory
  • About 10 minutes to read

Once you have decided to use a camera and a lidar, a design question remains: at what point do you merge them? You can merge the raw data, merge the detections each sensor makes on its own, or merge the tracks each pipeline maintains. The earlier you merge, the more information the combination has, and the more it depends on exact alignment and on the sensors working together. The later you merge, the simpler and more robust the system is, and the more information it has already thrown away. This lesson sets out the three architectures, what each costs in data and design, and a way of choosing. Lab P8-L1 builds a late, object-level fusion: it lifts camera detections with depth.

Learning objectives

After this lesson, you should be able to:

  • Describe early, late and object-level fusion and where in the pipeline each combines the data.
  • Estimate the data volume at each fusion level.
  • Compare the architectures in terms of information, alignment demand, modularity and failure behaviour.
  • Choose an architecture for a given task and set of constraints.

The idea: when to merge

Think of two witnesses to an accident. You can ask each to describe what they saw and then compare the accounts (late fusion). You can have both look at the same photograph and agree on what it shows (early fusion). Or you can compare the conclusions each has already drawn (object level). The first loses detail, since each witness has already summarised. The second needs them to be looking at the same photograph in the same way.

Three fusion architecturesThree rows of boxes. Early fusion: camera and lidar raw data are merged into one representation, then one detector runs. Late (feature or decision) fusion: each sensor has its own detector and their outputs are merged. Object-level fusion: each sensor produces tracks of objects and a fusion layer merges the object lists. Data volume shrinks from left to right in each row.Early (raw data)Camera rawLidar rawMerge raw / featuresOne detectorObjectsLate (per-sensor detections)Camera detectorLidar detectorMerge detectionsCombined detectionsObjectsObject level (tracks)Camera trackerLidar trackerMerge track listsFused tracksScene Earlier fusion keeps more information and needs tight alignment; later fusion is simpler and more modular.
Three ways to merge a camera and a lidar. Information is richer at the left of each row, and so is the demand on alignment and bandwidth.

Early fusion: merge the raw data

Raw data from both sensors are put into one representation before any detection: lidar points painted with the colours of the pixels they project onto, or a depth channel added to the image, or image features lifted into a common bird’s-eye grid together with lidar features. One model then sees everything. Strengths: it can use correlations between the sensors that earlier summaries would have lost (a faint edge in the image plus a few lidar points make an object neither sensor would report on its own). Weaknesses: it needs precise calibration and synchronisation, because the merge happens point by point; it needs high bandwidth; if one sensor fails, the model has to be trained to cope; and it is hard to inspect.

Late fusion: merge the detections

Each sensor has its own detector, and a fusion step merges the outputs, associating a camera box with a lidar cluster and combining their positions, sizes and classes. Strengths: each pipeline can be developed, tested and replaced on its own; the interface is small; a failed sensor simply stops contributing. Weaknesses: an object that neither detector finds alone is lost; the association step can fail; and the information about how sure each detector was has to be passed on explicitly.

Object-level fusion: merge the tracks

Each sensor’s detections are tracked separately (Module 7) and the fused scene is built from the track lists, often by a filter that treats each track as a measurement. Strengths: the smallest data, the easiest to run across several computers or vehicles, and the tracks already carry velocity and identity. Weaknesses: the tracks were formed without the other sensor’s help, so errors made in them are inherited; and correlations between the tracks’ errors (they share the same ego-motion) must be handled with care.

Learned fusion

Many current systems merge image and lidar features inside a neural network, often in a bird’s-eye-view grid, which blurs the line between early and late fusion. The questions remain the same: what is the alignment requirement, what happens if one sensor drops out, and how will you know when the combination is wrong. A learned fusion still needs calibrated, synchronised inputs, and it adds the risk that it has learned to depend on one sensor and fails silently when that sensor degrades.

The mathematics: data volume and what the choice costs

The data rate at a fusion point is the size of one message times the rate:

data rate at a fusion level
rate=size×f\text{rate}=\text{size}\times f
size
bytes per message: for an image, width × height × channels × bytes per value; for a point cloud, the number of points × bytes per point; for an object list, the number of objects × bytes per object.
f
the rate at which messages are produced, in hertz.

The sizes fall by orders of magnitude from raw data to objects, so late fusion is cheap to transport and early fusion is not.

Information and alignment. Early fusion at the level of a pixel or a point needs the alignment errors of Lesson P8-T3 to be small compared with the feature it fuses: a rotation error of 0.5° at 20 m displaces a point by 0.17 m, many pixels at that range, so the colour painted on a lidar point belongs to the neighbouring pixel. Object-level fusion tolerates larger errors, because it associates objects with gates (Lesson P7-T2) that absorb a few tenths of a metre, but it too fails once the error exceeds the gate.

Fusing two estimates. At the object level the standard combination of two position estimates with covariances P1 and P2 is

information-form fusion of two estimates
P=(P1−1+P2−1)−1P=(P_{1}^{-1}+P_{2}^{-1})^{-1}
x=P(P1−1 x1+P2−1 x2)x=P(P_{1}^{-1}\,x_{1}+P_{2}^{-1}\,x_{2})

The formula is correct only if the two estimates are independent. Two tracks that were built using the same ego-motion estimate share an error, and the combination then reports a smaller covariance than it has earned (Lesson P8-T5).

Worked examples: data volume and a decision

Data volume. A camera gives 1920 × 1080 pixels × 3 bytes = 6.22 MB per frame. A lidar frame of 100,000 points at 16 bytes each (position, intensity, time) is 1.6 MB. At 10 Hz:

Data volume at three fusion levels
Fusion levelWhat is transferredSize per cycleRate at 10 Hz
Early (raw)one image and one point cloud6.22 + 1.6 = 7.82 MB78.2 MB/s
Late (detections)per sensor, 50 detections of 40 bytes2 × 2 kB = 4 kB40 kB/s
Object level50 tracks of 40 bytes from each of two pipelines2 × 2 kB = 4 kB40 kB/s

The raw level is nearly 2000 times the detection or object rate (78.2 MB/s against 40 kB/s). A network that carries 100 MB/s would be mostly full with raw fusion and almost empty with the others. This is why raw fusion is usually done on one computer next to the sensors, and why late or object-level fusion suits systems spread over several devices.

Failure behaviour. The camera is blinded by the sun for two seconds. Late fusion: the camera detector reports nothing, the lidar detector continues, and the fusion layer passes on the lidar objects with a flag that the camera is missing. Early fusion: the network receives a washed-out image with perfectly valid lidar points; whether it still works depends on whether it saw such conditions in training, and there is no flag. A learned early-fusion model that is not tested for a missing or corrupted sensor can silently lose accuracy.

Choosing. The table sets the conditions of three tasks against the architectures.

Matching the architecture to the task
Task and constraintsGood choiceWhy
Highway driving, a computer with a fast link to all sensors, a team that trains modelsEarly or learned fusionThe accuracy gain from raw data matters, and the bandwidth and alignment can be provided.
A warehouse robot with a modest computer, separate camera and lidar suppliersLate fusion with depth-lifted detections (as in Lab P8-L1)Simple interfaces, a failed sensor degrades gracefully, parts can be replaced independently.
A fleet that shares what it sees between robotsObject-level fusionOnly compact object lists can be sent, and tracks carry identity and velocity.

There is no best architecture; there is a best match to the data volume, the alignment you can achieve, the failure behaviour you need and the effort you can afford to train, test and debug.

Engineering implications and limitations

Start late and move earlier only for a measured gain. A late, object-level fusion is easy to debug. If its errors are caused by information lost before the merge, you can show it with data, and then move the merge earlier.

Define the interface in physical terms. Between sensor pipelines and the fusion pass objects in a common frame, with a timestamp, a covariance, a class with probabilities, and a status (updated this cycle or predicted). Do not pass opaque features across a boundary that a different team owns.

Associate before you average. Late fusion has a data association problem of its own: which camera detection goes with which lidar cluster. Use gating and an optimal assignment (Lesson P7-T2) and test the case when one sensor sees an object the other does not.

Do not double-count. If a lidar track and a camera track both used the same prior (a map, an ego-motion estimate), their errors are correlated and fusing them as independent makes the result over-confident. Fuse the measurements, not the already-fused estimates, or account for the correlation.

Test each sensor’s absence. Remove each sensor in turn on logged data and check that the system degrades in a defined way and says so. This is especially important for learned fusion.

Mind the latency. Late fusion waits for the slowest pipeline. If the camera pipeline takes 80 ms and the lidar 30 ms, the fused output is 80 ms old; the lidar objects must be predicted forward to the common time (Lesson P8-T3).

Keep the labs’ scope in mind. Lab P8-L1 is object-level: it lifts 2D detections with depth; it is not a learned early fusion, and its simulated sensors are not real ones.

Common misconceptions

“Earlier fusion is always more accurate.”

It can use more information, but it also needs perfect alignment and well-trained models. With misalignment or an untested sensor failure it can be worse than a late fusion.

“Late fusion is just a weaker version.”

It is modular, cheap to run and has clear failure behaviour. For many robots those properties matter more than the last few points of accuracy.

“A learned fusion does not need calibration.”

It needs calibrated, synchronised inputs just as much; a changed mount or clock is a distribution shift it was not trained on.

“Fusing two tracks always reduces uncertainty.”

Only if their errors are independent. Shared ego-motion or shared priors make them correlated, and the fused covariance is then too small.

Engineering takeaways

  1. Fusion can occur on raw data (early), on per-sensor detections (late) or on tracks (object level); earlier means richer but more demanding.
  2. Data volume falls by orders of magnitude: 78 MB/s raw against 40 kB/s for detections in the example.
  3. Early fusion needs precise calibration and synchronisation and is harder to inspect; late fusion is modular and degrades gracefully.
  4. Fuse estimates in information form P = (P₁⁻¹ + P₂⁻¹)⁻¹, but only if the errors are independent; do not double-count shared information.
  5. Start with the simplest architecture that meets the requirement, test each sensor’s absence, and move earlier only for a measured gain.

References and further reading

Papers and handbook chapters on fusion architectures. The data sizes and rates are illustrative round numbers.

  • Liu, Z. et al. (2023). BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation. ICRA.
  • Qi, C. R., Liu, W., Wu, C., Su, H. and Guibas, L. J. (2018). Frustum PointNets for 3D Object Detection from RGB-D Data. CVPR: lifting 2D detections into 3D regions.
  • Durrant-Whyte, H. and Henderson, T. C. (2016). Multisensor Data Fusion. In Springer Handbook of Robotics, 2nd ed.
  • Bar-Shalom, Y., Li, X.-R. and Kirubarajan, T. (2001). Estimation with Applications to Tracking and Navigation. Wiley: track-to-track fusion and correlated errors.

Knowledge check

Three conceptual questions. Write an answer, then reveal the explanation. Your answers stay in your browser.

Question 1

A radar sends 200 detections of 32 bytes at 20 Hz. What is its data rate, and how does it compare with a 1280 × 720 × 3 byte camera at 20 Hz?

Explanation

Radar: 200 × 32 = 6400 bytes × 20 = 128 kB/s. Camera: 1280 × 720 × 3 = 2.76 MB × 20 = 55.3 MB/s, about 430 times more. This is why a raw-level fusion with a camera is bandwidth-bound while a radar can be fused at the detection level cheaply.

Question 2

A camera’s extrinsic rotation has drifted by 1°. Which architecture is hurt most by this, and why?

Explanation

Early fusion at the pixel or point level: at 20 m a 1° error moves points 0.35 m, so colours are painted on the wrong points and features are misaligned. Late and object-level fusion associate objects with gates, which absorb a few tenths of a metre, so they degrade more gracefully (until the error exceeds the gate).

Question 3

Two trackers both use the same wheel-odometry estimate to convert their tracks into a world frame. Why should their tracks not be fused as independent, and what would you do?

Explanation

The odometry error is common to both, so their errors are correlated; treating them as independent gives a covariance that is too small. Fuse the measurements in the sensor frames before applying the odometry, or use a track-to-track fusion that includes the cross-correlation.

What’s next

Next: the arithmetic of combining estimates, uncertainty and conflicting observations.

Practice this lesson

Combine Camera Detections with Depth Information

Lift 2D detections to 3D positions using depth and a camera model.

Next lesson

P8-T5 — Uncertainty and Conflicting Observations

Fuse estimates with covariances and detect inconsistent sources.

Nothing below is required to finish this lesson.