Skip to content
AI360Xpert
Beta

Occupancy Fields for 3D Space

Occupancy fields answer one binary question everywhere - is this 3D point solid or free space.

Why Does This Exist?

A signed distance function gives precise meters but costs careful integration. Planners often need only free versus solid. Occupancy fields store o(p)∈{0,1}o(p) \in \{0, 1\} or a probability, fusing repeated LiDAR rays into one belief per cell. Driving stacks predict them directly in occupancy prediction.

Think of It Like This

A hotel registry with occupied or vacant

Each hotel room has a flip sign: vacant or occupied. Housekeeping flips signs as guests come and go, and managers trust repeated reports over one knock. Nobody records how far each guest stands from the door.

Cells are rooms and rays are reports. The analogy stops at probability: real grids store log-odds, not just the sign.

How It Actually Works

Log-odds ll updates as l←l+lobs−l0l \leftarrow l + l_{obs} - l_0 with prior l0=0l_0 = 0. A hit adds locc=0.85l_{occ} = 0.85, a miss along the ray adds lfree=−0.4l_{free} = -0.4. Probability recovers as p=1/(1+e−l)p = 1/(1 + e^{-l}). Resolution v=0.2v = 0.2 m suits cars; 0.050.05 m suits manipulation.

Worked example

A cell starts at l=0l = 0 (p=0.5p = 0.5). Two hits and one miss give l=0+0.85+0.85−0.4=1.3l = 0 + 0.85 + 0.85 - 0.4 = 1.3. Then p=1/(1+e−1.3)≈0.79p = 1/(1 + e^{-1.3}) \approx 0.79. Three more misses bring l=1.3−1.2=0.1l = 1.3 - 1.2 = 0.1 and p≈0.52p \approx 0.52, nearly unknown again. That reversibility is why moving people fade instead of freezing.

Watch Out For

Treating unknown as free for planning

Cells never observed sit at p=0.5p = 0.5, not 00. Thresholding unknown as free drives into occluded space. Plan on p>0.7p > 0.7 as solid and p<0.3p < 0.3 as free, and slow down for the middle.

The Quick Version

  • Occupancy stores free or solid per cell, often as a probability.
  • Log-odds updates fuse hits and misses reversibly over time.
  • Use 0.20.2 m cells for driving free space and finer cells for arms.
  • Do not use binary occupancy when surface normals matter; use SDF.
  • Unknown 0.50.5 is not free; gate planning thresholds explicitly.