# Facescape Eval

> Evaluates single-view 3D face reconstruction models on their ability to predict high-fidelity, expression-specific dynamic details (displacement maps) and generate riggable 3D face meshes from a single image. It probes geometric accuracy, detail synthesis, and generalization across multiple expressions and real-world sequences. Use when the user wants to benchmark on FaceScape, Volker Sequence, or asks about evaluating this task. Reports mean absolute point-to-surface distance.

- Skill: `qhjqhj00/facescape-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/facescape-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/facescape-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/facescape-eval

---


# facescape-eval

> FaceScape: 3D Facial Dataset and Benchmark for Single-View 3D Face Reconstruction — Zhu et al. (2021) (arXiv:2111.01082, 2021)

## What this evaluates

Evaluates single-view 3D face reconstruction models on their ability to predict high-fidelity, expression-specific dynamic details (displacement maps) and generate riggable 3D face meshes from a single image. It probes geometric accuracy, detail synthesis, and generalization across multiple expressions and real-world sequences.

## Datasets

- **FaceScape** — total 16940; splits: train (16940), test (1000); repo https://github.com/zhuhao-nju/facescape.git
- **Volker Sequence** — total 200; splits: test (200)

## Metrics

- `mean absolute point-to-surface distance` **(primary)** — range: other
  - Computes the average absolute Euclidean distance between each vertex on the predicted mesh and its closest corresponding point on the ground truth mesh. Lower values indicate higher geometric fidelity.

## Input / output format

**Input**: Single-view input image (texture) and expression parameters (or deforming map) for the target expression.

**Output**: Predicted 3D face mesh (base shape + displacement map) or rigged 3D face model.

## Scoring recipe

```python
def compute_error(pred_mesh, gt_mesh):
    errors = []
    for p in pred_mesh.vertices:
        dists = [np.linalg.norm(p - g) for g in gt_mesh.vertices]
        errors.append(min(dists))
    return np.mean(errors)
```

## Common pitfalls

- Volker Sequence only provides ground truth for the source expression, so multi-expression evaluation is impossible for this sequence.
- The back of the head in the Volker Sequence is inaccurate; evaluators must only extract and evaluate the facial region.
- Standard deviations for Volker Sequence are artificially small because it contains only one identity, unlike FaceScape's 50 identities.

## Evidence (verbatim from paper)

> The accuracy is measured with the mean absolute point-to-surface distance from the predicted mesh to the ground truth. As the back side of the 3D head models in the Volker sequence is inaccurate, we only extract the facial region from the head models for evaluation.

## Citation

```bibtex
@misc{zhu2021facescape,
  title={FaceScape: 3D Facial Dataset and Benchmark for Single-View 3D Face Reconstruction},
  author={Zhu et al. (2021)},
  year={2021},
  note={arXiv:2111.01082}
}
```

- arXiv: 2111.01082

