hand-tracking-toolkit
Facebook Research Hand Tracking Challenge Toolkit - evaluation and visualization tools for 3D hand tracking. Supports loading HOT3D data, computing metrics (PA-MPJPE, AUC, etc.), visualizing 3D pose projections, and generating tracking evaluation reports. Essential for benchmarking hand tracking algorithms.
Best use case
hand-tracking-toolkit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Facebook Research Hand Tracking Challenge Toolkit - evaluation and visualization tools for 3D hand tracking. Supports loading HOT3D data, computing metrics (PA-MPJPE, AUC, etc.), visualizing 3D pose projections, and generating tracking evaluation reports. Essential for benchmarking hand tracking algorithms.
Teams using hand-tracking-toolkit should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/hand-tracking-toolkit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How hand-tracking-toolkit Compares
| Feature / Agent | hand-tracking-toolkit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Facebook Research Hand Tracking Challenge Toolkit - evaluation and visualization tools for 3D hand tracking. Supports loading HOT3D data, computing metrics (PA-MPJPE, AUC, etc.), visualizing 3D pose projections, and generating tracking evaluation reports. Essential for benchmarking hand tracking algorithms.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Hand Tracking Toolkit - Evaluation & Visualization
## Overview
Comprehensive toolkit from Meta Facebook Research for evaluating and visualizing 3D hand tracking systems. Provides standardized metrics, visualization tools, and data loaders for the HOT3D dataset. Essential for researchers developing and benchmarking hand tracking algorithms on multi-view egocentric data.
**Use this for**: Evaluating hand tracking performance, generating evaluation reports, visualizing 3D predictions vs ground truth.
## When to Use This Skill
Use when you need to:
- **Evaluate** hand tracking algorithms with standard metrics
- **Visualize** 3D hand pose predictions and ground truth
- **Benchmark** on HOT3D dataset
- **Generate** evaluation reports and leaderboards
- **Compare** different tracking methods
- **Debug** hand tracking predictions
## Core Capabilities
### 1. Standard Metrics
Compute widely-used hand tracking metrics:
- **PA-MPJPE**: Per-vertex Mean Per Joint Position Error (aligned)
- **MPJPE**: Mean Per Joint Position Error
- **AUC**: Area Under Curve for error thresholds
- **PCK**: Percentage of Correct Keypoints
- **Mesh error**: Surface-to-surface distance
### 2. Visualization Tools
Rich visualization options:
- 3D skeleton plots
- Multi-view projections
- Error heatmaps
- Trajectory visualizations
- Side-by-side comparisons
### 3. Data Loaders
Easy data loading:
- HOT3D dataset sequences
- Ground truth annotations
- Prediction format standardization
- Batch processing support
## Quick Start
```bash
# Clone repository
git clone https://github.com/facebookresearch/hand_tracking_toolkit.git
cd hand_tracking_toolkit
# Install
pip install -r requirements.txt
# Run evaluation
python evaluate.py \
--predictions path/to/predictions.pkl \
--ground_truth path/to/hot3d/sequence \
--output_dir ./results
# Generate visualizations
python visualize.py \
--predictions path/to/predictions.pkl \
--ground_truth path/to/hot3d/sequence \
--output visualizations.png
```
## Usage Examples
### Example 1: Evaluate Predictions
```python
from toolkit import Evaluator
import pickle
# Load predictions
with open('predictions.pkl', 'rb') as f:
predictions = pickle.load(f)
# Load ground truth
evaluator = Evaluator()
evaluator.load_ground_truth('path/to/hot3d_sequence')
# Compute metrics
metrics = evaluator.evaluate(predictions)
print(f"PA-MPJPE: {metrics['pa_mpjpe']:.2f} mm")
print(f"AUC: {metrics['auc']:.3f}")
print(f"PCK@0.1: {metrics['pck_01']*100:.1f}%")
```
### Example 2: Visualize Results
```python
from toolkit import Visualizer
viz = Visualizer()
# Load data
viz.load_predictions('predictions.pkl')
viz.load_ground_truth('ground_truth_path')
# Create visualization
fig = viz.plot_3d_skeleton(
frame_id=100,
show_pred=True,
show_gt=True,
show_errors=True
)
fig.savefig('comparison_3d.png')
```
### Example 3: Generate Report
```python
from toolkit import ReportGenerator
report = ReportGenerator()
report.load_evaluation_results('results.json')
# Generate PDF report
report.generate_pdf(
output_path='evaluation_report.pdf',
include_plots=True,
include_per_joint_errors=True
)
```
## Supported Formats
**Prediction format**:
```python
predictions = {
'sequence_id': 'seq001',
'frames': [
{
'frame_id': 0,
'left_hand': np.array((21, 3)), # 21 joints x 3 coords
'right_hand': np.array((21, 3)),
'confidence': np.array(21),
},
# ... more frames
]
}
```
## Metrics Reference
| Metric | Description | Lower is Better |
|--------|-------------|-----------------|
| MPJPE | Mean per-joint position error (mm) | ✓ |
| PA-MPJPE | Aligned MPJPE (procrustes) | ✓ |
| AUC | Area under error threshold curve | ✗ |
| PCK | % keypoints within threshold | ✗ |
## Integration
Works with:
- **hot3d**: Primary dataset
- **Custom trackers**: Convert predictions to supported format
- **Visualization tools**: Matplotlib, Plotly, Open3D
## Best Practices
1. **Standardize** predictions to required format
2. **Use multiple metrics** for comprehensive evaluation
3. **Visualize** errors to understand failure modes
4. **Report** per-joint errors for detailed analysis
5. **Cross-validate** on multiple sequences
## Requirements
- Python 3.8+
- NumPy, SciPy
- Matplotlib (for plotting)
- Open3D (for 3D visualization)
- PyTorch (optional, for loading models)
## References
- GitHub: https://github.com/facebookresearch/hand_tracking_toolkit
- HOT3D: https://facebookresearch.github.io/hot3d
- Challenge: https://eval.ai/web/challenges/challenge-page/...
## License
Apache 2.0Related Skills
handtracking
Real-time hand detection in egocentric videos using victordibia/handtracking. Outputs bounding boxes for hands, specifically trained on EgoHands dataset. Supports video input/output with labeled hand boxes. Lightweight and fast for egocentric view applications.
hands-3d-pose
High-quality 3D hand pose estimation for egocentric videos from ECCV 2024 (ap229997/hands). Provides 3D joint keypoints and skeleton visualization projected to 2D. Optimized for daily egocentric activities with state-of-the-art accuracy. Outputs hand skeleton overlays on video frames.
etetoolkit
Phylogenetic tree toolkit (ETE). Tree manipulation (Newick/NHX), evolutionary event detection, orthology/paralogy, NCBI taxonomy, visualization (PDF/SVG), for phylogenomics.
hot3d
HOT3D (Hand-Object 3D Dataset) by Meta Facebook - multi-view egocentric hand and object 3D tracking for Aria/Quest smart glasses. State-of-the-art multi-view 3D hand pose, object pose, and hand-object interaction tracking. Supports visualization with 3D joint projections, meshes, and skeletal overlays on video frames.
egohos-segmentation
Egocentric Hand-Object Segmentation (EgoHOS) - pixel-level hand and object segmentation in egocentric videos. Outputs fine-grained segmentation masks with hand regions highlighted. Specialized for hand-object interaction scenarios with pixel-accurate masks. Ideal for detailed interaction analysis.
zinc-database
Access ZINC (230M+ purchasable compounds). Search by ZINC ID/SMILES, similarity searches, 3D-ready structures for docking, analog discovery, for virtual screening and drug discovery.
torchdrug
PyTorch-native graph neural networks for molecules and proteins. Use when building custom GNN architectures for drug discovery, protein modeling, or knowledge graph reasoning. Best for custom model development, protein property prediction, retrosynthesis. For pre-trained models and diverse featurizers use deepchem; for benchmark datasets use pytdc.
torch-geometric
Graph Neural Networks (PyG). Node/graph classification, link prediction, GCN, GAT, GraphSAGE, heterogeneous graphs, molecular property prediction, for geometric deep learning.
tooluniverse-target-research
Gather comprehensive biological target intelligence from 9 parallel research paths covering protein info, structure, interactions, pathways, expression, variants, drug interactions, and literature. Features collision-aware searches, evidence grading (T1-T4), explicit Open Targets coverage, and mandatory completeness auditing. Use when users ask about drug targets, proteins, genes, or need target validation, druggability assessment, or comprehensive target profiling.
tooluniverse-protein-therapeutic-design
Design novel protein therapeutics (binders, enzymes, scaffolds) using AI-guided de novo design. Uses RFdiffusion for backbone generation, ProteinMPNN for sequence design, ESMFold/AlphaFold2 for validation. Use when asked to design protein binders, therapeutic proteins, or engineer protein function.
tooluniverse-pharmacovigilance
Analyze drug safety signals from FDA adverse event reports, label warnings, and pharmacogenomic data. Calculates disproportionality measures (PRR, ROR), identifies serious adverse events, assesses pharmacogenomic risk variants. Use when asked about drug safety, adverse events, post-market surveillance, or risk-benefit assessment.
tooluniverse-network-pharmacology
Construct and analyze compound-target-disease networks for drug repurposing, polypharmacology discovery, and systems pharmacology. Builds multi-layer networks from ChEMBL, OpenTargets, STRING, DrugBank, Reactome, FAERS, and 60+ other ToolUniverse tools. Calculates Network Pharmacology Scores (0-100), identifies repurposing candidates, predicts mechanisms, and analyzes polypharmacology. Use when users ask about drug repurposing via network analysis, multi-target drug effects, compound-target-disease networks, systems pharmacology, or polypharmacology.