CenterPoint: Optimized for AMD ROCm

CenterPoint is a center-based 3D object detector for LIDAR point clouds, widely used in autonomous-driving perception pipelines. This repository packages evaluation/inference for 3D object detection using ONNX Runtime and PyTorch (OpenPCDet), exported and validated for AMD ROCm so it runs efficiently on AMD GPUs, CPUs, and NPUs.

This is based on the implementation of CenterPoint found here. This repository contains configurations and scripts optimized for AMD® ROCm™ platforms. You can use the CenterPoint AMD scripts to reproduce results or export with custom configurations. More details on model performance can be found here.


Task Overview

Task: 3D object detection (LIDAR point clouds)

Dataset: nuScenes mini (v1.0-mini — 81 val samples, 10 detection classes)

Output metrics: mAP, NDS (nuScenes Detection Score), per-class AP, TP errors (ATE/ASE/AOE/AVE/AAE), FPS

GPU backend note: GPU inference uses OpenPCDet (PyTorch on AMD ROCm) rather than ONNX Runtime, since MIGraphX cannot lower the Scatter/Gather patterns in pointpillars.onnx.


AMD ROCm Optimization

This model export has been adapted and validated for AMD Instinct™ / Radeon™ GPUs running ROCm, as well as AMD CPUs and NPUs. Key points:

  • Validated backends: ONNX Runtime (CPU, FP32; NPU via VitisAI) and PyTorch/OpenPCDet (GPU, native ROCm).
  • CPU fallback path supported for environments without a ROCm-capable GPU or NPU.
Runtime Precision Backend Hardware Notes
ONNX Runtime FP32 CPU Execution Provider AMD CPU
PyTorch Native OpenPCDet AMD Instinct™ / Radeon™ GPU (ROCm) Runs natively via OpenPCDet instead of ONNX Runtime, since MIGraphX cannot lower the Scatter/Gather patterns in pointpillars.onnx
ONNX Runtime Auto (BF16) VitisAI Execution Provider AMD NPU Quantization handled internally by VitisAI

Getting Started

For setup instructions, evaluation scripts, and custom configuration options, see the CenterPoint on GitHub.


Model Details

Model Type: 3D object detection (PointPillars variant of CenterPoint)

Model Stats:

  • Input tensors: features (1, 10, 30000, 20) float32, indices (1, 30000, 2) int64
  • Output: 128 x 128 BEV feature maps (per-task detection heads), float32
  • Precision tested: FP32 (CPU, ONNX Runtime), native (GPU, PyTorch/OpenPCDet), auto BF16 quantization (NPU, VitisAI)

Performance Summary

Higher mAP means the model's predicted boxes and classes agree more closely with ground truth across the dataset — 1.0 would be perfect detection, 0.0 means no correct detections. NDS combines mAP with localization and attribute errors into a single score; higher is better.

Metrics Explained

Metric Description
mAP Mean Average Precision over the 10 nuScenes detection classes at center-distance thresholds 0.5/1.0/2.0/4.0 m. The primary accuracy number — higher means more objects are correctly detected and classified.
NDS nuScenes Detection Score — combines mAP (50%) with five True-Positive error terms (ATE, ASE, AOE, AVE, AAE) into a single number. Higher means the model is both finding objects and localizing them accurately (position, size, orientation, velocity, attributes).
ATE (Translation Error) Average center-distance error in meters for true positives — lower means the model's 3D box centers are closer to ground truth.
ASE (Scale Error) Average IoU-based size error (1 - IoU) for true positives — lower means predicted box dimensions more closely match ground truth.
AOE (Orientation Error) Average angular error in radians for true positives — lower means heading predictions are more accurate. Matters for downstream planning.
AVE (Velocity Error) Average velocity error in m/s for true positives — lower means better motion estimation. Only computed for moving classes (car, truck, bus, etc.).
AAE (Attribute Error) Average attribute classification error (1 - accuracy) for true positives — lower means the model better predicts secondary labels (e.g. parked vs. moving).
Per-class AP mAP broken down per class (car, truck, bus, trailer, construction_vehicle, pedestrian, motorcycle, bicycle, traffic_cone, barrier) — exposes class-specific weaknesses the aggregate mAP would hide.

Dig Deeper

Want to explore the full evaluation scripts, config options, and other AMD-optimized model examples?

📂 View the full project on GitHub

The GitHub repository includes:

  • Setup and prerequisites for ROCm environments
  • Scripts for the supported runners
  • Additional model variants and datasets
  • Benchmarking and reproduction instructions
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support