How hengweibin/centerfusiondetect3d works
CenterFusionDetect3D implements camera–radar fusion for nuScenes 3D object detection. The documented workflow converts nuScenes annotations, loads image and radar samples, trains or evaluates a CenterFusion model, then decodes and presents detections; separate demo and vision-inference entry points are also documented. The graph includes documented evaluation and export capabilities, but their runtime wiring is not fully shown. Edges follow the excerpts, SOURCE INDEX references, or README; unsampled details are omitted.
Main entry points: main.py Train and evaluate · detector.py Detector · evaluate.py nuScenes evaluation · nuscenes.py nuScenes dataset
Components 27
Data and workflows
- Configuration
src/lib/config/default.py - Dataset conversion
src/convert_nuScenes.py - nuScenes dataset
src/lib/dataset/datasets/nuscenes.py - Sample preparation
src/lib/dataset/generic_dataset.py - Image transforms
src/lib/utils/image.py - Radar geometry
src/lib/utils/pointcloud.py
Detection model
- DLA backbone
src/lib/model/networks/dla.py - Radar fusion
src/lib/model/networks/fusionModules.py - Detection heads
src/lib/model/networks/detectHeads.py - CenterFusion model
src/lib/model/model.py - Detection losses
src/lib/model/losses.py - Loss aggregation
src/lib/model/genericLoss.py - Output decoding
src/lib/model/decode.py
Training and inference
- Trainer
src/lib/trainer.py - Train and evaluate
src/main.py - Detector
src/lib/detector.py - 3D postprocessing
src/lib/utils/postProcess.py - Visualization demo
src/demo.py - Vision inference
src/inference.py
nuScenes tools
- nuScenes evaluation
src/lib/nuScenes_lib/evaluate.py - Evaluation loaders
src/lib/nuScenes_lib/loaders.py - Evaluation algorithms
src/lib/nuScenes_lib/algo.py - KITTI export
src/lib/nuScenes_lib/export_kitti.py - Radar utilities
src/lib/nuScenes_lib/utils_radar.py - KITTI utilities
src/lib/nuScenes_lib/utils_kitti.py
Other components
- Researcher
- nuScenes data
Connections 28
- Researcher → Train and evaluate: trains or evaluates
- Researcher → Visualization demo: runs demo
- Researcher → Vision inference: runs inference
- nuScenes data → Dataset conversion: converts dataset
- Dataset conversion → nuScenes dataset: prepares annotations
- Train and evaluate → Configuration: loads settings
src/main.py - Train and evaluate → nuScenes dataset: gets dataset
src/main.py - Train and evaluate → CenterFusion model: creates model
src/main.py - Train and evaluate → Trainer: starts training
src/main.py - nuScenes dataset → Sample preparation: inherits from
src/lib/dataset/datasets/nuscenes.py - Sample preparation → Image transforms: transforms images
src/lib/dataset/generic_dataset.py - Sample preparation → Radar geometry: processes radar
src/lib/dataset/generic_dataset.py - CenterFusion model → DLA backbone: builds backbone
src/lib/model/model.py - DLA backbone → Radar fusion: uses fusion modules
- DLA backbone → Detection heads: uses detection heads
- Trainer → Loss aggregation: uses loss wrapper
- Loss aggregation → Detection losses: computes losses
src/lib/model/genericLoss.py - Visualization demo → Detector: creates detector
- Vision inference → Detector: uses detector
src/inference.py - Detector → CenterFusion model: runs model
src/lib/detector.py - Detector → Output decoding: decodes outputs
- Detector → 3D postprocessing: postprocesses detections
src/lib/detector.py - nuScenes evaluation → Evaluation loaders: uses loaders
src/lib/nuScenes_lib/evaluate.py - nuScenes evaluation → Evaluation algorithms: uses algorithms
src/lib/nuScenes_lib/evaluate.py - nuScenes evaluation → nuScenes dataset: uses dataset definitions
src/lib/nuScenes_lib/evaluate.py - KITTI export → KITTI utilities: uses utilities
src/lib/nuScenes_lib/export_kitti.py - Researcher → nuScenes evaluation: evaluates results
- nuScenes data → Evaluation loaders: supplies evaluation data