How qing0v0/lvpnet works
This repository implements local-vanishing-point lane detection for TuSimple: prepare vanishing-point labels, train a dual-head network, then infer vanishing points and lane starting points, reconstruct lanes, and evaluate or visualize results. The map also preserves documented speed testing and augmentation. Training-loop internals are represented by their existing utility directory because their implementation was not sampled; uncertain calls from that layer are omitted.
Main entry points: train.py Training entry · eval.py Evaluation entry · save_vplabel_tusimple.py VP label generation · LVPNet.py LVPNet
Components 16
Data preparation
- VP label generation
tools/save_vplabel_tusimple.py - TuSimple loader
dataset/tusimple_dataloader.py - Image augmentation
dataset/transform.py
Model and training
- Training entry
train.py - LVPNet
model/LVPNet.py - Epoch training
utils/fit_utils.py - Training losses
utils/loss_function.py - Loss logging
utils/loss_log.py - Model checkpoint
Inference and evaluation
- Evaluation entry
eval.py - Lane benchmark
tools/lane.py - Speed test
tools/speed_test.py
Shared geometry
- VP geometry
tools/vanishing_point.py - Runtime configuration
utils/config_utils.py
Other components
- Researcher
- TuSimple data
Connections 19
- Researcher → VP label generation: generates labels
- TuSimple data → VP label generation: provides annotations
- VP label generation → VP geometry: derives VP labels
- VP label generation → TuSimple data: writes VP labels
- Researcher → Training entry: starts training
- TuSimple data → TuSimple loader: provides labeled images
- Training entry → TuSimple loader: loads samples
- Training entry → LVPNet: constructs model
- Training entry → Epoch training: runs epochs
- Epoch training → Loss logging: records losses
- Training entry → Model checkpoint: saves weights
- Researcher → Evaluation entry: runs evaluation
- Evaluation entry → LVPNet: runs inference
- Evaluation entry → VP geometry: reconstructs lanes
- Evaluation entry → Lane benchmark: scores predictions
- Researcher → Speed test: measures speed
- Speed test → LVPNet: benchmarks model
- Training entry → Runtime configuration: loads settings
- Evaluation entry → Runtime configuration: loads settings