Evaluates a model's ability to estimate 6-degree-of-freedom camera poses for query images against a reference 3D model, specifically testing robustness to drastic changes in lighting (day/night), weather, and seasonal vegetation. Use when the user wants to benchmark on Aachen Day-Night, RobotCar Seasons, CMU Seasons, or asks about evaluating this task. Reports translation error and rotation error.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill 6dof-visual-localization-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of 6dof Visual Localization Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-6dof-visual-localization-eval)More formats (shields.io, HTML) on the badges page.
---
name: 6dof-visual-localization-eval
description: Evaluates a model's ability to estimate 6-degree-of-freedom camera poses for query images against a reference 3D model, specifically testing robustness to drastic changes in lighting (day/night), weather, and seasonal vegetation. Use when the user wants to benchmark on Aachen Day-Night, RobotCar Seasons, CMU Seasons, or asks about evaluating this task. Reports translation error and rotation error.
metadata:
skill_kind: dataset_eval
source_arxiv: 1707.09092
bibtex_key: sattler2017benchmarking
confidence: high
---
# 6dof-visual-localization-eval
> Benchmarking 6DOF Outdoor Visual Localization in Changing Conditions — Sattler et al. (2017) (arXiv:1707.09092, 2017)
## What this evaluates
Evaluates a model's ability to estimate 6-degree-of-freedom camera poses for query images against a reference 3D model, specifically testing robustness to drastic changes in lighting (day/night), weather, and seasonal vegetation.
## Datasets
- **Aachen Day-Night** — total ?; splits: test (-1)
- **RobotCar Seasons** — total ?; splits: test (-1)
- **CMU Seasons** — total ?; splits: test (-1)
## Metrics
- `translation error and rotation error` **(primary)** — range: [0, ∞) m / [0, 180] deg
- Translation error is the Euclidean distance between the estimated and ground truth camera centers. Rotation error is the angle between the estimated and ground truth rotation matrices.
## Input / output format
**Input**: Query image(s) and a reference 3D model (point cloud + reference camera poses/intrinsics).
**Output**: Estimated 6DOF camera pose (translation vector and rotation matrix) for each query image relative to the reference model.
## Scoring recipe
```python
def compute_pose_error(est_pose, gt_pose):
trans_err = np.linalg.norm(est_pose[:3, 3] - gt_pose[:3, 3])
rot_mat = est_pose[:3, :3] @ gt_pose[:3, :3].T
trace = np.trace(rot_mat)
rot_err = np.arccos(np.clip((trace - 1) / 2, -1, 1)) * 180 / np.pi
return trans_err, rot_err
```
## Common pitfalls
- Ground truth poses for challenging conditions (night/seasons) are derived from hand-labeled 2D-3D matches or LIDAR/ICP alignment rather than direct SfM, which can introduce subtle inaccuracies.
- Reference models are constructed from a single environmental condition, requiring models to generalize across extreme appearance and geometric changes without condition-specific fine-tuning.
- Automotive datasets suffer from motion blur and auto-exposure artifacts that drastically reduce feature matchability compared to hand-held captures.
## Evidence (verbatim from paper)
> The final median RMS errors between aligned point clouds was under 0.10m in translation and 0.5∘ in rotation across all locations.
## Citation
```bibtex
@misc{sattler2017benchmarking,
title={Benchmarking 6DOF Outdoor Visual Localization in Changing Conditions},
author={Sattler et al. (2017)},
year={2017},
note={arXiv:1707.09092}
}
```
- arXiv: 1707.09092
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!