Skip to content
AI360Xpert
Beta

KITTI Driving Benchmark

Calibrated car, camera and LiDAR runs with boxes, tracking and stereo labels, the classic small ground for driving geometry.

KITTI pairs each calibrated drive frame with camera boxes and LiDAR depth, so geometry and detection train together
KITTI pairs each calibrated drive frame with camera boxes and LiDAR depth, so geometry and detection train together

Why Does This Exist?

Driving stacks need geometry plus semantics on the same frames: where things are in 3D and what they are. KITTI drove one calibrated rig with cameras and LiDAR and labeled stereo, flow, boxes and tracking on shared runs. It became the small classic for stereo and tracking checks before larger fleets.

This page covers task family, calibrated I/O roles and appropriate use. Calibration basics are in camera calibration.

Think of It Like This

One survey van with taped-together sensors

One van carries a camera and a spinning depth sensor bolted together and measured with a tape. Every photo has a matching depth sweep from the same second.

That pairing is KITTI. Pixels say what, sweeps say how far, and the tape numbers let you fuse them.

How It Actually Works

Purpose spans stereo, flow, detection and tracking on driving runs. Inputs are images plus LiDAR sweeps with calibration files. Outputs are disparity maps, boxes and tracklets by task. Appropriate use is geometry baselines and teaching sensor fusion at small scale. Verify official splits before quoting run counts, and keep weather limits in mind.

Toy disparity walkthrough

Take focal times baseline fB=400fB = 400 in pixel units and disparity d=20d = 20 pixels. Depth is Z=fB/d=400/20=20Z = fB / d = 400 / 20 = 20 distance units. Halving disparity to 10 doubles depth to 40, which is why far stereo estimates wobble.

Code

Depth from disparity, the core KITTI geometry unit.

def depth(fb: float, disparity: float) -> float:    return fb / max(disparity, 1e-6)  # avoid divide by zero on sky pixels

print(depth(400.0, 20.0), depth(400.0, 10.0))# -> 20.0 40.0

Disparity 20 gives 20 units, disparity 10 gives 40 units.

Watch Out For

Shipping from fair-weather day runs

Most runs cover daytime fair weather in one region, so night, rain and new cities break tuned stacks. The symptom is clean benchmark flow with live depth flicker. Fix it by testing adverse slices and larger fleet sets before driving claims.

The Quick Version

  • KITTI maps calibrated drive frames to boxes, tracks and geometry labels with LiDAR.
  • Inputs are images plus sweeps and calibration, outputs vary by geometry or detection task.
  • Toy 400/20=20400 / 20 = 20 depth doubles to 40 when disparity halves to 10.
  • Use it for small geometry baselines and fusion teaching.
  • Verify splits officially and test beyond fair-weather days.