How sebastianjanampa/detrpose works
DETRPose is a real-time, end-to-end multi-person pose estimation system for COCO and CrowdPose. Its main workflow configures datasets and a pose model, trains the model, then produces keypoint predictions for evaluation or inference. The model combines a vision backbone, feature encoder, transformer decoder, matching and loss components, and postprocessing. The repository also provides Torch, ONNX, and TensorRT inference/export paths. Some modules are unsampled; edges below are limited to relationships visible in excerpts, the source index, or README documentation.
Main entry points: detrpose_hgnetv2.py Model configuration · dataset_crowdpose.py CrowdPose configuration · dataset.py COCO configuration · engine.py Train and evaluate
Components 28
Data and evaluation
- COCO configuration
configs/detrpose/include/dataset.py - CrowdPose configuration
configs/detrpose/include/dataset_crowdpose.py - COCO dataset
src/data/coco.py - CrowdPose dataset
src/data/crowdpose.py - Image transforms
src/data/transforms.py - Crowd transforms
src/data/transforms_crowdpose.py - Batch loader
src/data/dataloader.py - COCO evaluator
src/data/coco_eval.py - CrowdPose evaluator
src/data/crowdpose_eval.py - COCO metrics
src/data/coco_eval.py - CrowdPose metrics
src/data/crowdpose_eval.py
Pose model
- Model configuration
configs/detrpose/include/detrpose_hgnetv2.py - HGNetv2 backbone
src/nn/backbone/hgnetv2.py - Hybrid encoder
src/models/detrpose/hybrid_encoder.py - Transformer decoder
src/models/detrpose/transformer.py - Denoising queries
src/models/detrpose/dn_component.py - DETRPose model
src/models/detrpose/detrpose.py - Matching and losses
src/models/detrpose/criterion.py - Pose postprocessing
src/models/detrpose/postprocesses.py
Training runtime
- Training orchestration
src/solver/trainer.py - Train and evaluate
src/solver/engine.py
Inference and deployment
- Torch inference
tools/inference/torch_inf.py - ONNX inference
tools/inference/onnx_inf.py - TensorRT inference
tools/inference/trt_inf.py - Pose annotators
tools/inference/annotators.py - ONNX export
tools/deployment/export_onnx.py - TensorRT export
tools/deployment/export_tensorrt.py
Other components
- Engineer or user
Connections 29
- Engineer or user → COCO configuration: selects dataset
configs/detrpose/include/dataset.py - Engineer or user → CrowdPose configuration: selects dataset
configs/detrpose/include/dataset_crowdpose.py - COCO configuration → COCO dataset: configures
configs/detrpose/include/dataset.py - COCO configuration → Image transforms: configures
configs/detrpose/include/dataset.py - COCO configuration → Batch loader: configures
configs/detrpose/include/dataset.py - COCO configuration → COCO evaluator: configures
configs/detrpose/include/dataset.py - CrowdPose configuration → CrowdPose dataset: configures
configs/detrpose/include/dataset_crowdpose.py - CrowdPose configuration → Image transforms: configures
configs/detrpose/include/dataset_crowdpose.py - CrowdPose configuration → Crowd transforms: configures
configs/detrpose/include/dataset_crowdpose.py - CrowdPose configuration → Batch loader: configures
configs/detrpose/include/dataset_crowdpose.py - CrowdPose configuration → CrowdPose evaluator: configures
configs/detrpose/include/dataset_crowdpose.py - Model configuration → DETRPose model: configures
configs/detrpose/include/detrpose_hgnetv2.py - Model configuration → HGNetv2 backbone: configures
configs/detrpose/include/detrpose_hgnetv2.py - Model configuration → Hybrid encoder: configures
configs/detrpose/include/detrpose_hgnetv2.py - Model configuration → Transformer decoder: configures
configs/detrpose/include/detrpose_hgnetv2.py - Model configuration → Matching and losses: configures
configs/detrpose/include/detrpose_hgnetv2.py - Model configuration → Pose postprocessing: configures
configs/detrpose/include/detrpose_hgnetv2.py - Transformer decoder → Denoising queries: uses
src/models/detrpose/transformer.py - Training orchestration → Train and evaluate: invokes
src/solver/trainer.py - Train and evaluate → COCO metrics: evaluates with
src/solver/engine.py - Train and evaluate → DETRPose model: runs
- Train and evaluate → CrowdPose metrics: evaluates with
- Torch inference → Pose annotators: uses
tools/inference/torch_inf.py - TensorRT inference → Pose annotators: uses
tools/inference/trt_inf.py - Engineer or user → Torch inference: runs inference
- Engineer or user → ONNX inference: runs inference
- Engineer or user → TensorRT inference: runs inference
- Engineer or user → ONNX export: exports model
- Engineer or user → TensorRT export: exports model