How danhyoyo/lidar works
This repository reproduces a KITTI LiDAR BEV object-detection workflow: prepare point clouds and labels, encode and augment training samples, train MobilePIXOR/Pixor variants, decode predictions, evaluate rotated BEV AP, and optionally export or deploy accelerated engines. The core model path is explicitly visible from CustomModel through a backbone and four prediction heads. Training/evaluation orchestration and some integrations are inferred from the README and tree; unsampled tool internals are not expanded beyond documented responsibilities.
Components 22
Data Preparation
- Prepare KITTI
tools/kitti_training_pipeline/prepare_kitti.py - Processed KITTI
- KITTI Dataset Loader
detector/core/datasets/dataset.py - BEV Encoder
detector/core/datasets/utils_1/preprocess.py - Geometric Augmentation
detector/core/datasets/utils_1/transform.py - Target Generation
detector/core/datasets/utils_1/gaussian.py
Detection Runtime
- Model Configurations
configs/kitti - Custom Detector
detector/core/models/model.py - BEV Backbone
detector/core/models/backbones/mobilepixor_coordinate_attention.py - Prediction Heads
detector/core/models/heads/cnn.py - Rotated Postprocess
detector/postprocess.py
Training
- Training Pipeline
tools/kitti_training_pipeline/train.py - Multi-task Loss
detector/core/losses/loss_fn.py - Model Checkpoints
Evaluation
- BEV Evaluator
tools/kitti_training_pipeline/evaluate_kitti_bev.py - Evaluation Reports
Deployment
- ONNX Export
tools/kitti_training_pipeline/export_onnx.py - TensorRT Builder
tools/kitti_training_pipeline/build_tensorrt.py - Engine Deployment
tools/kitti_training_pipeline/deploy_engine.py - TensorRT Engine
Other components
- Engineer
- KITTI Dataset
Connections 29
- Engineer → Prepare KITTI: runs command
- KITTI Dataset → Prepare KITTI: provides frames
- Prepare KITTI → Processed KITTI: writes data
- Processed KITTI → KITTI Dataset Loader: reads samples
- KITTI Dataset Loader → BEV Encoder: encodes points
- KITTI Dataset Loader → Geometric Augmentation: applies transforms
- KITTI Dataset Loader → Target Generation: builds targets
- Engineer → Training Pipeline: starts training
- Model Configurations → Training Pipeline: configures run
- KITTI Dataset Loader → Training Pipeline: supplies batches
- Training Pipeline → Custom Detector: runs forward
- Custom Detector → BEV Backbone: extracts features
- BEV Backbone → Prediction Heads: produces features
- Prediction Heads → Multi-task Loss: returns predictions
- Target Generation → Multi-task Loss: provides targets
- Multi-task Loss → Training Pipeline: returns gradients
- Training Pipeline → Model Checkpoints: saves checkpoints
- Model Checkpoints → BEV Evaluator: loads checkpoint
- Model Configurations → BEV Evaluator: defines protocol
- Processed KITTI → BEV Evaluator: provides split
- BEV Evaluator → Custom Detector: runs inference
- Custom Detector → Rotated Postprocess: decodes outputs
- Rotated Postprocess → BEV Evaluator: returns detections
- BEV Evaluator → Evaluation Reports: writes metrics
- Model Checkpoints → ONNX Export: exports model
- ONNX Export → TensorRT Builder: builds engine
- TensorRT Builder → TensorRT Engine: writes engine
- TensorRT Engine → Engine Deployment: installs plan
- Engine Deployment → TensorRT Engine: replaces engine