happinesslz/DrivePI

[CVPR 2026] DrivePI: Spatial-aware 4D MLLM for Unified Autonomous Driving Understanding, Perception, Prediction and Planning

133

stars

9

commits

Python

primary language

Mar 21, 2026

updated

README

DrivePI: Spatial-aware 4D MLLM for Unified Autonomous Driving Understanding, Perception, Prediction and Planning

Zhe Liu1, Runhui Huang1, Rui Yang1, Siming Yan2, Zining Wang2, Lu Hou2, Di Lin3, Xiang Bai4, Hengshuang Zhao1,✉
1 The University of Hong Kong, 2 Yinwang Intelligent Technology Co. Ltd., 3 Tianjin University, 4 Huazhong University of Science and Technology
✉ Corresponding author.

DrivePI Framework

🔥 Highlights

  • Unified Spatial-aware 4D MLLM Framework. DrivePI is the first unified framework that seamlessly integrates coarse-grained linguistic spatial understanding with fine-grained 3D perception capabilities, bridging the gap between vision-action (VA) and vision-language-action (VLA) paradigms in autonomous driving. 💪

  • Multi-modal Sensing. DrivePI incorporates LiDAR as a complementary sensing modality alongside camera imagery, providing high-precision 3D geometric information that better elicits the spatial understanding capabilities of MLLMs. 💪

  • Fine-grained 3D Perception and Prediction. DrivePI enables accurate 3D perception (e.g., 3D occupancy) and prediction (e.g., occupancy flow), which effectively enhances the interpretability and safety assurances for autonomous driving systems. 💪

  • Strong Performance. Despite utilizing only a compact 0.5B parameter MLLM backbone (Qwen2.5), DrivePI outperforms existing VA models in 3D occupancy and occupancy flow while maintaining comparable interactive capabilities with existing VLA frameworks. 💪

News

  • 2026.03.21: The training and evaluation code for DrivePI have been released! Data preparation guidelines, trained models and all associated benchmarks will be available within a week!
  • 2026.02.21: DrivePI and GenieDrive have been accepted by CVPR 2026!
  • 2025.12.15: DrivePI paper released. 🔥
  • 2025.12.15: GenieDrive (Physics-Aware Driving World Model) paper released. 🔥
  • 2025.11.04: Our previous work UniLION has been released. Check out the codebase for unified autonomous driving model with Linear Group RNNs. 🚀
  • 2024.09.26: Our work LION has been accepted by NeurIPS 2024. Visit the codebase for Linear Group RNN for 3D Object Detection. 🚀

TODO

  • Release the paper.
  • Release the code of DrivePI.
  • Release checkpoints of DrivePI.
  • Release the dataset.
  • Support WAYMO E2E Dataset

🚗 Overview

In end-to-end autonomous driving systems, two main approaches have emerged:
  • Vision-Action (VA) models take visual information (LiDAR point clouds, images) as inputs and output action signals through a modular framework. While these methods achieve promising results through accurate spatial perception, they are limited in language-based scene interaction.
  • Vision-Language-Action (VLA) approaches leverage the reasoning capabilities of multimodal large language models (MLLMs). These methods achieve superior interaction capabilities but often struggle due to the absence of fine-grained intermediate 3D perception and prediction.

DrivePI bridges this gap by combining the strengths of both approaches, serving as a unified Vision-Language-Action framework that is also compatible with vision-action models. Our method jointly performs spatial understanding, 3D perception (i.e., 3D occupancy), prediction (i.e., occupancy flow), and planning (i.e., action outputs) in parallel through end-to-end optimization. To obtain both precise geometric information and rich visual appearance, our approach integrates point clouds, multi-view images, and language instructions within a unified MLLM architecture.

📊 Data Engine

Our multi-stage data pipeline consists of:

  1. Caption Annotation: We use InternVL3-78B to generate captions of front and back views separately, then merge and polish them to create comprehensive scene descriptions.
  2. 4D Spatial Understanding Annotation: We leverage ground-truth occupancy and flow data to generate diverse text-occupancy and text-flow QA pairs through multi-turn conversations, enabling fine-grained 3D understanding.
  3. Planning Reasoning Annotation: We create planning QA pairs based on future trajectory annotations to enhance planning interpretability, enabling the MLLM to predict future actions of the ego-vehicle.

📈 Results

Remarkably, with only a 0.5B Qwen2.5 model as MLLM backbone, DrivePI as a single unified model matches or exceeds both existing VLA models and specialized VA models:

  • Compared to VLA models, DrivePI outperforms OpenDriveVLA-7B by 2.5% mean accuracy on nuScenes-QA and reduces collision rate by 70% over ORION (from 0.37% to 0.11%) on nuScenes.
  • Against specialized VA models, DrivePI surpasses FB-OCC by 10.3 RayIoU for 3D occupancy on OpenOcc, reduces the mAVE from 0.591 to 0.509 for occupancy flow on OpenOcc, and achieves 32% lower L2 error than VAD (from 0.72m to 0.49m) for planning on nuScenes.

Visualization of DrivePI's multi-granularity understanding capabilities

3D Occupancy and Occupancy Flow on OpenOcc

MethodVLM-basedOccScoreRayIoU
(3D Occ.)
mAVE
(Occ. Flow)
RayIoU (1m)RayIoU (2m)RayIoU (4m)
OccNeRF28.531.7--16.629.349.2
RenderOcc33.036.7--20.332.749.9
LetOccFlow36.440.5--25.539.756.3
OccNet35.739.7--29.339.750.0
BEVDetOcc-SF33.036.71.42031.637.341.1
FB-Occ39.239.00.59132.739.944.4
F-Occ41.039.90.49133.940.745.2
CascadeFlow40.939.60.47033.540.345.0
ALOcc-Flow-3D43.041.90.55635.642.847.4
DrivePI (Ours)49.349.30.50945.050.052.9

3D Occupancy on Occ3D-nuScenes

MethodVLM-basedRayIoURayIoU (1m)RayIoU (2m)RayIoU (4m)
RenderOcc19.513.419.625.5
SimpleOcc22.517.022.727.9
BEVFormer32.426.132.938.0
BEVDet-Occ32.626.633.138.2
FB-Occ33.526.734.139.7
SparseOcc36.130.236.841.2
OPUS41.234.742.146.7
DrivePI (Ours)*46.042.246.749.2

*DrivePI trained exclusively on the 3D occupancy task of Occ3D-nuScenes.

Planning on nuScenes

MethodVLM-basedEgo StatusL2 (m)Collision Rate (%)
1s2s3savg.1s2s3savg.
ST-P31.332.112.902.110.230.621.270.71
FF0.551.202.541.430.060.171.070.43
EO0.671.362.781.600.040.090.880.33
UniAD0.480.961.651.030.050.170.710.31
VAD0.410.701.050.720.070.170.410.22
VAD0.170.340.600.370.070.100.240.14
OmniDrive0.140.290.550.330.000.130.780.30
ORION0.170.310.550.340.050.250.800.37
OpenDriveVLA-7B0.200.581.210.660.000.220.550.25
DrivePI (Ours)0.240.460.780.490.380.270.480.38
DrivePI (Ours)0.190.360.640.400.000.050.280.11

Text Understanding on nuScenes-QA

MethodExistCountObjectStatusComparisonAccuracy
LLaMA-AdapV219.32.77.610.81.69.6
LLaVA1.545.87.77.89.052.126.2
LiDAR-LLM74.515.037.845.957.848.6
BEVDet+BUTD83.720.948.852.067.757.0
OpenDriveVLA-0.5B83.922.050.257.068.458.4
OpenDriveVLA-3B84.022.350.356.968.558.5
OpenDriveVLA-7B84.222.749.654.568.858.2
DrivePI (Ours)85.322.457.559.168.360.7

Component Ablation Study

#Text HeadVision Head3D Occ.
RayIoU
Occ. Flow
mAVE
PlanningQA
Acc.
L2Col.
I----------61.2
II--47.50.691.020.39--
III49.30.510.490.3860.7

🛠️ Installation and Running

Environment Setup

# Create conda environment
conda create -n drivepi python==3.10.18

# Install requirements
pip install -r requirements.txt

# Install EMOVA
# Reference: https://github.com/emova-ollm/EMOVA
pip install -e .
pip install flash-attn --no-build-isolation

Data Preparation

  1. BEV features generation:

    • Use UniLION to generate and save BEV features
    • Save path: /path/DrivePI_Data/unilion_bev_feats_train/
    • Name the features using token names
  2. QA datasets:

    • Save at: /path/DrivePI_Data/drivepi_captions/

Training

bash run_train_occ_action_llm_8_gpus_final.sh

Testing

# For occupancy and action testing
bash run_test_occ_llm_occ_action.sh

# For text understanding testing
bash run_test_occ_llm__text.sh

📝 Citation

@article{liu2025drivepi,
  title={DrivePI: Spatial-aware 4D MLLM for Unified Autonomous Driving Understanding, Perception, Prediction and Planning},
  author={Liu, Zhe and Huang, Runhui and Yang, Rui and Yan, Siming and Wang, Zining and Hou, Lu and Lin, Di and Bai, Xiang and Zhao, Hengshuang},
  journal={CVPR},
  year={2026}
}

Acknowledgements

We thank these great works and open-source repositories: UniLION, MMDectection3D, InternVL3, LLaVA, and EMOVA.

Contributors

happinesslz

9 commits

happinesslz/DrivePI

[CVPR 2026] DrivePI: Spatial-aware 4D MLLM for Unified Autonomous Driving Understanding, Perception, Prediction and Planning

133

stars

9

commits

Python

primary language

Mar 21, 2026

updated

README

DrivePI: Spatial-aware 4D MLLM for Unified Autonomous Driving Understanding, Perception, Prediction and Planning

Zhe Liu1, Runhui Huang1, Rui Yang1, Siming Yan2, Zining Wang2, Lu Hou2, Di Lin3, Xiang Bai4, Hengshuang Zhao1,✉
1 The University of Hong Kong, 2 Yinwang Intelligent Technology Co. Ltd., 3 Tianjin University, 4 Huazhong University of Science and Technology
✉ Corresponding author.

DrivePI Framework

🔥 Highlights

  • Unified Spatial-aware 4D MLLM Framework. DrivePI is the first unified framework that seamlessly integrates coarse-grained linguistic spatial understanding with fine-grained 3D perception capabilities, bridging the gap between vision-action (VA) and vision-language-action (VLA) paradigms in autonomous driving. 💪

  • Multi-modal Sensing. DrivePI incorporates LiDAR as a complementary sensing modality alongside camera imagery, providing high-precision 3D geometric information that better elicits the spatial understanding capabilities of MLLMs. 💪

  • Fine-grained 3D Perception and Prediction. DrivePI enables accurate 3D perception (e.g., 3D occupancy) and prediction (e.g., occupancy flow), which effectively enhances the interpretability and safety assurances for autonomous driving systems. 💪

  • Strong Performance. Despite utilizing only a compact 0.5B parameter MLLM backbone (Qwen2.5), DrivePI outperforms existing VA models in 3D occupancy and occupancy flow while maintaining comparable interactive capabilities with existing VLA frameworks. 💪

News

  • 2026.03.21: The training and evaluation code for DrivePI have been released! Data preparation guidelines, trained models and all associated benchmarks will be available within a week!
  • 2026.02.21: DrivePI and GenieDrive have been accepted by CVPR 2026!
  • 2025.12.15: DrivePI paper released. 🔥
  • 2025.12.15: GenieDrive (Physics-Aware Driving World Model) paper released. 🔥
  • 2025.11.04: Our previous work UniLION has been released. Check out the codebase for unified autonomous driving model with Linear Group RNNs. 🚀
  • 2024.09.26: Our work LION has been accepted by NeurIPS 2024. Visit the codebase for Linear Group RNN for 3D Object Detection. 🚀

TODO

  • Release the paper.
  • Release the code of DrivePI.
  • Release checkpoints of DrivePI.
  • Release the dataset.
  • Support WAYMO E2E Dataset

🚗 Overview

In end-to-end autonomous driving systems, two main approaches have emerged:
  • Vision-Action (VA) models take visual information (LiDAR point clouds, images) as inputs and output action signals through a modular framework. While these methods achieve promising results through accurate spatial perception, they are limited in language-based scene interaction.
  • Vision-Language-Action (VLA) approaches leverage the reasoning capabilities of multimodal large language models (MLLMs). These methods achieve superior interaction capabilities but often struggle due to the absence of fine-grained intermediate 3D perception and prediction.

DrivePI bridges this gap by combining the strengths of both approaches, serving as a unified Vision-Language-Action framework that is also compatible with vision-action models. Our method jointly performs spatial understanding, 3D perception (i.e., 3D occupancy), prediction (i.e., occupancy flow), and planning (i.e., action outputs) in parallel through end-to-end optimization. To obtain both precise geometric information and rich visual appearance, our approach integrates point clouds, multi-view images, and language instructions within a unified MLLM architecture.

📊 Data Engine

Our multi-stage data pipeline consists of:

  1. Caption Annotation: We use InternVL3-78B to generate captions of front and back views separately, then merge and polish them to create comprehensive scene descriptions.
  2. 4D Spatial Understanding Annotation: We leverage ground-truth occupancy and flow data to generate diverse text-occupancy and text-flow QA pairs through multi-turn conversations, enabling fine-grained 3D understanding.
  3. Planning Reasoning Annotation: We create planning QA pairs based on future trajectory annotations to enhance planning interpretability, enabling the MLLM to predict future actions of the ego-vehicle.

📈 Results

Remarkably, with only a 0.5B Qwen2.5 model as MLLM backbone, DrivePI as a single unified model matches or exceeds both existing VLA models and specialized VA models:

  • Compared to VLA models, DrivePI outperforms OpenDriveVLA-7B by 2.5% mean accuracy on nuScenes-QA and reduces collision rate by 70% over ORION (from 0.37% to 0.11%) on nuScenes.
  • Against specialized VA models, DrivePI surpasses FB-OCC by 10.3 RayIoU for 3D occupancy on OpenOcc, reduces the mAVE from 0.591 to 0.509 for occupancy flow on OpenOcc, and achieves 32% lower L2 error than VAD (from 0.72m to 0.49m) for planning on nuScenes.

Visualization of DrivePI's multi-granularity understanding capabilities

3D Occupancy and Occupancy Flow on OpenOcc

MethodVLM-basedOccScoreRayIoU
(3D Occ.)
mAVE
(Occ. Flow)
RayIoU (1m)RayIoU (2m)RayIoU (4m)
OccNeRF28.531.7--16.629.349.2
RenderOcc33.036.7--20.332.749.9
LetOccFlow36.440.5--25.539.756.3
OccNet35.739.7--29.339.750.0
BEVDetOcc-SF33.036.71.42031.637.341.1
FB-Occ39.239.00.59132.739.944.4
F-Occ41.039.90.49133.940.745.2
CascadeFlow40.939.60.47033.540.345.0
ALOcc-Flow-3D43.041.90.55635.642.847.4
DrivePI (Ours)49.349.30.50945.050.052.9

3D Occupancy on Occ3D-nuScenes

MethodVLM-basedRayIoURayIoU (1m)RayIoU (2m)RayIoU (4m)
RenderOcc19.513.419.625.5
SimpleOcc22.517.022.727.9
BEVFormer32.426.132.938.0
BEVDet-Occ32.626.633.138.2
FB-Occ33.526.734.139.7
SparseOcc36.130.236.841.2
OPUS41.234.742.146.7
DrivePI (Ours)*46.042.246.749.2

*DrivePI trained exclusively on the 3D occupancy task of Occ3D-nuScenes.

Planning on nuScenes

MethodVLM-basedEgo StatusL2 (m)Collision Rate (%)
1s2s3savg.1s2s3savg.
ST-P31.332.112.902.110.230.621.270.71
FF0.551.202.541.430.060.171.070.43
EO0.671.362.781.600.040.090.880.33
UniAD0.480.961.651.030.050.170.710.31
VAD0.410.701.050.720.070.170.410.22
VAD0.170.340.600.370.070.100.240.14
OmniDrive0.140.290.550.330.000.130.780.30
ORION0.170.310.550.340.050.250.800.37
OpenDriveVLA-7B0.200.581.210.660.000.220.550.25
DrivePI (Ours)0.240.460.780.490.380.270.480.38
DrivePI (Ours)0.190.360.640.400.000.050.280.11

Text Understanding on nuScenes-QA

MethodExistCountObjectStatusComparisonAccuracy
LLaMA-AdapV219.32.77.610.81.69.6
LLaVA1.545.87.77.89.052.126.2
LiDAR-LLM74.515.037.845.957.848.6
BEVDet+BUTD83.720.948.852.067.757.0
OpenDriveVLA-0.5B83.922.050.257.068.458.4
OpenDriveVLA-3B84.022.350.356.968.558.5
OpenDriveVLA-7B84.222.749.654.568.858.2
DrivePI (Ours)85.322.457.559.168.360.7

Component Ablation Study

#Text HeadVision Head3D Occ.
RayIoU
Occ. Flow
mAVE
PlanningQA
Acc.
L2Col.
I----------61.2
II--47.50.691.020.39--
III49.30.510.490.3860.7

🛠️ Installation and Running

Environment Setup

# Create conda environment
conda create -n drivepi python==3.10.18

# Install requirements
pip install -r requirements.txt

# Install EMOVA
# Reference: https://github.com/emova-ollm/EMOVA
pip install -e .
pip install flash-attn --no-build-isolation

Data Preparation

  1. BEV features generation:

    • Use UniLION to generate and save BEV features
    • Save path: /path/DrivePI_Data/unilion_bev_feats_train/
    • Name the features using token names
  2. QA datasets:

    • Save at: /path/DrivePI_Data/drivepi_captions/

Training

bash run_train_occ_action_llm_8_gpus_final.sh

Testing

# For occupancy and action testing
bash run_test_occ_llm_occ_action.sh

# For text understanding testing
bash run_test_occ_llm__text.sh

📝 Citation

@article{liu2025drivepi,
  title={DrivePI: Spatial-aware 4D MLLM for Unified Autonomous Driving Understanding, Perception, Prediction and Planning},
  author={Liu, Zhe and Huang, Runhui and Yang, Rui and Yan, Siming and Wang, Zining and Hou, Lu and Lin, Di and Bai, Xiang and Zhao, Hengshuang},
  journal={CVPR},
  year={2026}
}

Acknowledgements

We thank these great works and open-source repositories: UniLION, MMDectection3D, InternVL3, LLaVA, and EMOVA.

Contributors

happinesslz

9 commits

Languages

Python

97.1%

Cuda

2.3%