How jiayuanwang-jw/rmt-ppad works
RMT-PPAD is presented as a real-time autonomous-driving perception system that jointly detects objects and segments drivable areas and lane lines. The documented workflow is to prepare BDD100K images, detection labels, and segmentation masks, configure training, train the multi-task model, then evaluate or run it on driving imagery. The graph combines those documented stages with the repository’s visible Ultralytics runtime layers. RMT-specific wiring beyond the sampled task/model excerpts is not independently verified, so uncertain implementation links are omitted.
Main entry points: tasks.py Task model logic · model.py Model API · predictor.py Inference entry · trainer.py Training engine
Components 18
Data preparation
- Dataset building
ultralytics/data/build.py - Dataset loading
ultralytics/data/dataset.py - Joint augmentation
ultralytics/data/augment.py
Multi-task model
- Task model logic
ultralytics/nn/tasks.py - Task-specific heads
ultralytics/nn/modules/head.py - Network modules
ultralytics/nn/modules/block.py
Run and assess
- Training entry
ultralytics/train.py - Evaluation entry
ultralytics/engine/validator.py - Inference entry
ultralytics/engine/predictor.py - Training engine
ultralytics/engine/trainer.py - Task validation
ultralytics/engine/validator.py - Model API
ultralytics/engine/model.py - Perception results
ultralytics/engine/results.py
Runtime framework
- Inference backend
ultralytics/nn/autobackend.py - Metrics and plots
ultralytics/utils/metrics.py - Object tracking
ultralytics/trackers/track.py
Other components
- Researcher
- BDD100K inputs
Connections 19
- Researcher → Training entry: configures training
- Researcher → Evaluation entry: requests evaluation
- Researcher → Inference entry: provides imagery
- BDD100K inputs → Dataset building: supplies images and labels
- Dataset building → Dataset loading: builds loaders
- Dataset loading → Joint augmentation: transforms samples
- Training entry → Training engine: starts training
- Training engine → Dataset loading: reads batches
- Training engine → Task model logic: optimizes model
- Task model logic → Network modules: uses network modules
- Task model logic → Task-specific heads: uses task heads
- Evaluation entry → Task validation: runs validation
- Task validation → Task model logic: evaluates model
- Task validation → Metrics and plots: computes metrics
- Inference entry → Model API: invokes model
- Model API → Inference backend: sets up inference
- Model API → Perception results: returns predictions
- Model API → Task model logic: loads model logic
- Inference entry → Object tracking: optionally tracks