How wenbowen123/bundletrack works
BundleTrack tracks novel objects in RGB-D sequences without an object CAD model: a user supplies a benchmark or custom sequence and masks, feature extraction and matching feed spatiotemporal pose estimation, and the system writes pose results for evaluation. The repository also includes a separate learned feature detector service and a video-segmentation component, plus training and benchmark evaluation paths. The README documents these capabilities; source excerpts are partial, so edges reflect only documented or directly evidenced wiring.
Main entry points: run_nocs.py NOCS Runner · run_ycbineoat.py YCB Runner · FeatureManager.cpp Feature Matching · DataLoader.cpp Sequence Loader
Components 20
Sequence Inputs
- NOCS Runner
scripts/run_nocs.py - YCB Runner
scripts/run_ycbineoat.py - RGB-D Sequence
- Segmentation Masks
Pose Tracking
- Frame Data
src/Frame.cpp - Sequence Loader
src/DataLoader.cpp - Feature Matching
src/FeatureManager.cpp - Pose Graph
src/Bundler.cpp
Learned Perception
- LFNet Client
src/FeatureManager.cpp - LFNet Server
lf-net-release/run_server.py - Keypoint Detector
lf-net-release/inference.py - Detector Models
lf-net-release/models - Video Segmentation
transductive-vos.pytorch/main.py - Detector Training
lf-net-release/train_lfnet.py - Model Weights
Results and Evaluation
- Pose Results
- NOCS Evaluation
scripts/eval_nocs.py - YCB Evaluation
scripts/eval_ycbineoat.py - Evaluation Tools
lf-net-release/eval_tools.py
Other components
- User
Connections 24
- User → NOCS Runner: runs sequence
- User → YCB Runner: runs sequence
- NOCS Runner → RGB-D Sequence: reads frames
- YCB Runner → RGB-D Sequence: reads frames
- NOCS Runner → Segmentation Masks: loads masks
- YCB Runner → Segmentation Masks: loads masks
- RGB-D Sequence → Sequence Loader: provides frames
- Segmentation Masks → Sequence Loader: provides masks
- Sequence Loader → Frame Data: creates frames
- Frame Data → Feature Matching: supplies RGB-D
- Feature Matching → Pose Graph: provides matches
- Pose Graph → Pose Results: writes poses
- Feature Matching → LFNet Client: requests features
- LFNet Client → LFNet Server: sends image
- LFNet Server → Keypoint Detector: runs inference
- Keypoint Detector → Detector Models: uses model
- Detector Training → Detector Models: trains model
- Detector Training → Model Weights: saves weights
- Model Weights → Detector Models: initializes
- User → Video Segmentation: runs segmentation
- Pose Results → NOCS Evaluation: evaluates poses
- Pose Results → YCB Evaluation: evaluates poses
- NOCS Evaluation → Evaluation Tools: uses metrics
- YCB Evaluation → Evaluation Tools: uses metrics