How supermhp/gupnet works
GUPNet is a research implementation for monocular 3D object detection on KITTI. The main workflow loads KITTI images, calibration and labels; trains a network to predict 2D and 3D object properties with detection and uncertainty-aware losses; then decodes predictions into KITTI detection files for validation or submission. The entry point also supports evaluating a checkpoint, with KITTI’s offline evaluator as a separate step. The graph follows the documented workflow and sampled call sites; several helper implementations and the tester were not sampled, so uncertain internal wiring is omitted.
Main entry points: train_val.py Train/eval entry · trainer_helper.py Trainer · gupnet.py GUPNet · tester_helper.py Tester
Components 22
KITTI data
- Loader builder
code/lib/helpers/dataloader_helper.py - KITTI dataset reader
code/lib/datasets/kitti.py - Dataset utilities
code/lib/datasets/utils.py
Detection model
- Model builder
code/lib/helpers/model_helper.py - GUPNet
code/lib/models/gupnet.py - Feature backbones
code/lib/backbones - Feature fusion
code/lib/backbones/dlaup.py - Network operators
code/lib/operators
Training
- Train/eval entry
code/tools/train_val.py - Experiment config
code/experiments/config.yaml - Trainer
code/lib/helpers/trainer_helper.py - Detection losses
code/lib/losses/loss_function.py - Optimizer builder
code/lib/helpers/optimizer_helper.py - LR scheduler
code/lib/helpers/scheduler_helper.py - Checkpoint helpers
code/lib/helpers/save_helper.py
Evaluation
- Tester
code/lib/helpers/tester_helper.py - Prediction decoder
code/lib/helpers/decode_helper.py - KITTI detection files
- KITTI offline evaluator
code/tools/kitti_eval/evaluate_object_3d_offline_ap40.cpp
Other components
- Researcher
- KITTI dataset
- KITTI ground truth
Connections 29
- Researcher → Train/eval entry: runs
- Researcher → KITTI dataset: provides data
- Train/eval entry → Experiment config: loads
- Train/eval entry → Loader builder: builds loaders
- Loader builder → KITTI dataset reader: creates
- KITTI dataset reader → KITTI dataset: reads images and labels
- KITTI dataset reader → Dataset utilities: uses
- Train/eval entry → Model builder: builds model
- Model builder → GUPNet: constructs
- GUPNet → Feature backbones: extracts features
- GUPNet → Feature fusion: fuses features
- GUPNet → Network operators: uses
- Train/eval entry → Optimizer builder: builds optimizer
- Train/eval entry → LR scheduler: builds schedulers
- Train/eval entry → Trainer: starts training
- Trainer → Loader builder: consumes batches
- Trainer → GUPNet: runs batches
- Trainer → Detection losses: computes losses
- Trainer → Optimizer builder: updates weights
- Trainer → LR scheduler: steps schedule
- Trainer → Checkpoint helpers: saves and resumes
- Train/eval entry → Tester: starts evaluation
- Tester → GUPNet: runs inference
- Tester → Prediction decoder: decodes predictions
- Prediction decoder → Dataset utilities: decodes angles
- Tester → KITTI detection files: writes results
- Researcher → KITTI offline evaluator: runs evaluation
- KITTI offline evaluator → KITTI detection files: scores results
- KITTI offline evaluator → KITTI ground truth: compares with