ProOOD: Prototype-Guided Out-of-Distribution 3D Occupancy Prediction
Organizations: Hunan University · Karlsruhe Institute of Technology · INSAIT, Sofia University “St. Kliment Ohridski”
Abstract
3D semantic occupancy prediction is central to autonomous driving, yet current methods are vulnerable to long-tailed class bias and out-of-distribution (OOD) inputs, often overconfidently assigning anomalies to rare classes. We present ProOOD, a lightweight, plug-and-play method that couples prototype-guided refinement with training-free OOD scoring. ProOOD comprises (i) prototype-guided semantic imputation that fills occluded regions with class-consistent features, (ii) prototype-guided tail mining that strengthens rare-class representations to curb OOD absorption, and (iii) EchoOOD, which fuses local logit coherence with local and global prototype matching to produce reliable voxel-level OOD scores. Extensive experiments on five datasets demonstrate that ProOOD achieves state-of-the-art performance on both in-distribution 3D occupancy prediction and OOD detection. On SemanticKITTI, it surpasses baselines by +3.57% mIoU overall and +24.80% tail-class mIoU; on VAA-KITTI, it improves AuPRCr by +19.34 points, with consistent gains across benchmarks. These improvements yield more calibrated occupancy estimates and more reliable OOD detection in safety-critical urban driving. The source code is publicly available at https://github.com/7uHeng/ProOOD.
Figures & tables
| Method | IoU | road (15.30%) | sidewalk (11.13%) | parking (1.12%) | other-grnd. (0.56%) | building (14.1%) | car (3.92%) | truck (0.16%) | bicycle (0.03%) | motorcycle (0.03%) | other-veh. (0.20%) | vegetation (39.3%) | trunk (0.51%) | terrain (9.17%) | person (0.07%) | bicyclist (0.07%) | motorcyclist (0.05%) | fence (3.90%) | pole (0.29%) | traf.-sign (0.08%) | mIoU | Tail mIoU |
| SemanticKITTI | ||||||||||||||||||||||
| MonoScene [ 7 ] | 34.16 | 54.70 | 27.10 | 24.80 | 5.70 | 14.40 | 18.80 | 3.30 | 0.50 | 0.70 | 4.40 | 14.90 | 2.40 | 19.50 | 1.00 | 1.40 | 0.40 | 11.10 | 3.30 | 2.10 | 11.08 | 2.29 |
| TPVFormer [ 31 ] | 34.25 | 55.10 | 27.20 | 27.40 | 6.50 | 14.80 | 19.20 | 3.70 | 1.00 | 0.50 | 2.30 | 13.90 | 2.60 | 20.40 | 1.10 | 2.40 | 0.30 | 11.00 | 2.90 | 1.50 | 11.26 | 2.25 |
| OccFormer [ 107 ] | 34.53 | 55.90 | 30.30 | 31.50 | 6.50 | 15.70 | 21.60 | 1.20 | 1.50 | 1.70 | 3.20 | 16.80 | 3.90 | 21.30 | 2.20 | 1.10 | 0.20 | 11.90 | 3.80 | 3.70 | 12.32 | 2.64 |
| VoxFormer [ 52 ] | 42.95 | 53.90 | 25.30 | 21.10 | 5.60 | 19.80 | 20.80 | 3.50 | 1.00 | 0.70 | 3.70 | 22.40 | 7.50 | 21.30 | 1.40 | 2.60 | 0.20 | 11.10 | 5.10 | 4.90 | 12.20 | 3.29 |
| HASSC [ 89 ] | 43.40 | 54.60 | 27.70 | 23.80 | 6.20 | 21.10 | 22.80 | 4.70 | 1.60 | 1.00 | 3.90 | 23.80 | 8.50 | 23.30 | 1.60 | 4.00 | 0.30 | 13.10 | 5.80 | 5.50 | 13.34 | 3.92 |
| VAA-KITTI | VAA-KITTI-360 | VAA-STU | |||||||||||
| Methods | Anomaly Score Methods | AuPRC r | AuROC | AuPRC r | AuROC | AuPRC r | AuROC | ||||||
| VoxDet [ 49 ] | ASS [ 106 ] | 4.57 | 8.36 | 14.02 | 59.52 | 11.79 | 25.08 | 48.49 | 50.76 | 1.45 | 3.05 | 5.89 | 59.52 |
| SGN [ 63 ] | 8.22 | 14.45 | 22.93 | 60.51 | 13.27 | 28.57 | 52.99 | 47.27 | 2.91 | 5.74 | 11.32 | 64.51 | |
| OccOoD [ 106 ] | 10.80 | 16.05 | 23.42 | 61.96 | 14.26 | 29.72 | 54.35 | 47.84 | 3.05 | 6.15 | 11.39 | 65.37 | |
| Ours (+VoxDet) | EchoOOD | 21.95 | 36.97 | 56.49 | 60.99 | 12.75 | 26.81 | 50.08 | 47.24 | 2.74 | 5.09 | 8.82 | 55.11 |
| Method | IoU | car (2.85%) | bicycle (0.01%) | motorcycle (0.01%) | truck (0.16%) | other-veh. (5.75%) | person (0.02%) | road (14.98%) | parking (2.31%) | sidewalk (6.43%) | other-grnd. (2.05%) | building (15.67%) | fence (0.96%) | vegetation (41.99%) | terrain (7.10%) | pole (0.22%) | traf.sign (0.06%) | other-struct. (4.33%) | other-obj. (0.28%) | mIoU | Tail mIoU |
| SSCBench-KITTI-360 | |||||||||||||||||||||
| MonoScene [ 7 ] | 37.87 | 19.34 | 0.43 | 0.58 | 8.02 | 2.03 | 0.86 | 48.35 | 11.38 | 28.13 | 3.32 | 32.89 | 3.53 | 26.15 | 16.75 | 6.92 | 5.67 | 4.20 | 3.09 | 12.31 | 3.61 |
| TPVFormer [ 31 ] | 40.22 | 21.56 | 1.09 | 1.37 | 8.06 | 2.57 | 2.38 | 52.99 | 11.99 | 31.07 | 3.78 | 34.83 | 4.80 | 30.08 | 17.52 | 7.46 | 5.86 | 5.48 | 2.70 | 13.64 | 4.13 |
| VoxFormer [ 52 ] | 38.76 | 17.84 | 1.16 | 0.89 | 4.56 | 2.06 | 1.63 | 47.01 | 9.67 | 27.21 | 2.89 | 31.18 | 4.97 | 28.99 | 14.69 | 6.51 | 6.92 | 3.79 | 2.43 | 11.91 | 3.44 |
| OccFormer [ 107 ] | 40.27 | 22.58 | 0.66 | 0.26 | 9.89 | 3.82 | 2.77 | 54.30 | 13.44 | 31.53 | 3.55 | 36.42 | 4.80 | 31.00 | 19.51 | 7.77 | 8.51 | 6.95 | 4.60 | 13.81 | 4.92 |
| Symphonies [ 35 ] | 44.12 | 30.02 | 1.85 | 5.90 | 25.07 | 12.06 | 8.20 | 54.94 | 13.83 | 32.76 | 6.93 | 35.11 | 8.58 | 38.33 | 11.52 | 14.01 | 9.57 | 14.44 | 11.28 | 18.58 | 10.84 |
| Baseline | PBCL | PGSI | PGTM | IoU | mIoU | Tail mIoU |
| ✓ | 43.60 | 14.55 | 4.07 | |||
| ✓ | ✓ | 43.69 | 14.63 | 4.44 (+9.09%) | ||
| ✓ | ✓ | ✓ | 44.09 | 14.76 | 4.58 (+3.15%) | |
| ✓ | ✓ | ✓ | ✓ | 44.02 | 14.97 | 4.89 (+6.77%) |
| Anomaly Score Methods | VAA-KITTI | |||
| AuPRC r | AuROC | |||
| Postpro | 5.81 | 10.02 | 16.22 | 63.85 |
| Energy | 6.80 | 12.11 | 20.08 | 66.69 |
| Entropy | 7.38 | 12.91 | 21.05 | 66.24 |
| ASS [ 106 ] | 14.47 | 20.96 | 29.65 | 64.20 |
| Method | road (15.30%) | sidewalk (11.13%) | parking (1.12%) | other-grnd. (0.56%) | building (14.1%) | car (3.92%) | truck (0.16%) | bicycle (0.03%) | motorcycle (0.03%) | other-veh. (0.20%) | vegetation (39.3%) | trunk (0.51%) | terrain (9.17%) | person (0.07%) | bicyclist (0.07%) | motorcyclist (0.05%) | fence (3.90%) | pole (0.29%) | traf.-sign (0.08%) | mIoU | Tail mIoU |
| SemanticKITTI | |||||||||||||||||||||
| MonoScene [ 7 ] | 57.47 | 27.05 | 15.72 | 0.87 | 14.24 | 23.55 | 7.83 | 0.20 | 0.77 | 3.59 | 18.12 | 2.57 | 30.76 | 1.79 | 1.03 | 0.00 | 6.39 | 4.11 | 2.48 | 11.50 | 2.29 |
| TPVFormer [ 31 ] | 56.50 | 25.87 | 20.60 | 0.85 | 13.88 | 23.81 | 8.08 | 0.36 | 0.05 | 4.35 | 16.92 | 2.26 | 30.38 | 0.51 | 0.89 | 0.00 | 5.94 | 3.14 | 1.52 | 11.36 | 2.00 |
| VoxFormer [ 52 ] | 54.76 | 26.35 | 15.50 | 0.70 | 17.65 | 25.79 | 5.63 | 0.59 | 0.51 | 3.77 | 24.39 | 5.08 | 29.96 | 1.78 | 3.32 | 0.00 | 7.64 | 7.11 | 4.18 | 12.35 | 2.97 |
| OccFormer [ 107 ] | 58.85 | 26.88 | 19.61 | 0.31 | 14.40 | 25.09 | 25.53 | 0.81 | 1.19 | 8.52 | 19.63 | 3.93 | 32.62 | 2.78 | 2.82 | 0.00 | 5.61 | 4.26 | 2.86 | 13.46 | 4.82 |
| NDC-scene [ 100 ] | 59.20 | 28.24 | 21.42 | 1.67 | 14.94 | 26.26 | 14.75 | 1.67 | 2.37 | 7.73 | 19.09 | 3.51 | 31.04 | 3.60 | 2.74 | 0.00 | 6.65 | 4.53 | 2.73 | 12.70 | 4.12 |
| Methods | mIoU | Tail mIoU | AuROC | |||
| SGN | 51.10 | 57.49 | 4.93 | 11.10 | 2.20 | 60.51 |
| Ours (+SGN) | 47.28 | 53.91 | 4.41 | 11.86 | 2.76 | 64.31 |
| EMA Momentum | mIoU | Tail mIoU |
| 0.01 | 14.75 | 4.32 |
| 0.05 | 14.97 | 4.89 |
| 0.10 | 15.14 | 4.55 |
| 0.20 | 15.01 | 4.36 |
| Exp. ID | mIoU | Tail mIoU | ||
| 1 | 0.1 | 0.10 | 14.89 | 4.60 |
| 2 | 0.3 | 0.05 | 14.75 | 4.25 |
| 3 | 0.3 | 0.10 | 14.97 | 4.89 |
| 4 | 0.3 | 0.20 | 15.16 | 4.70 |
| 5 | 0.5 | 0.10 | 14.84 | 4.38 |
| Warm-up Iterations | mIoU | Tail mIoU |
| 500 | 15.08 | 4.68 |
| 750 | 14.97 | 4.89 |
| 1000 | 15.09 | 4.80 |
| 1500 | 15.01 | 4.73 |
| Class | Percentage | Tail |
| road | 15.30% | – |
| sidewalk | 11.13% | – |
| parking | 1.12% | – |
| other-ground | 0.56% | ✓ |
| building | 14.10% | – |
| car | 3.92% | – |
| Class | Percentage | Tail |
| car | 2.85% | – |
| bicycle | 0.01% | ✓ |
| motorcycle | 0.01% | ✓ |
| truck | 0.16% | ✓ |
| other-vehicle | 5.75% | – |
| person | 0.02% | ✓ |
| Methods | mIoU | Tail mIoU |
| VoxFormer | 12.86 | 2.87 |
| Ours (+VoxFormer) | 13.32 (+0.46) | 3.15 (+0.28) |
| CGFormer | 15.64 | 4.18 |
| Ours (+CGFormer) | 16.24 (+0.60) | 4.62 (+0.44) |
| Method | SGN [ 63 ] | ProOOD (+SGN) | VoxDet [ 49 ] | ProOOD (+VoxDet) |
| #Parameter (M) | 28.16 | 28.44 | 55.34 | 55.35 |
| FLOPs (G) | 522.34 | 580.66 | 1311.10 | 1311.48 |
| Methods | FPS | Inf. Mem. | mIoU | Tail mIoU |
| SGN | 7.6 | 5.16 (GB) | 14.55 | 4.07 |
| Ours (+SGN) | 7.0 | 5.30 (GB) | 14.97 | 4.89 |
| VoxDet | 5.0 | 4.34 (GB) | 18.08 | 7.44 |
| Ours (+VoxDet) | 4.9 | 4.47 (GB) | 18.86 | 8.46 |