# CD Fer Benchmark Eval

> Evaluates cross-domain facial expression recognition (CD-FER) models by measuring how well they transfer learned features from a labeled source dataset to an unlabeled target dataset. It probes the model's ability to learn domain-invariant representations and adapt to distribution shifts across different facial expression datasets. Use when the user wants to benchmark on RAF-DB, AFE, CK+, JAFFE, SFEW2.0, FER2013, ExpW, or asks about evaluating this task. Reports accuracy.

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

---


# cd-fer-benchmark-eval

> Cross-Domain Facial Expression Recognition: A Unified Evaluation Benchmark and Adversarial Graph Learning — Chen et al. (2020) (arXiv:2008.00923, 2020)

## What this evaluates

Evaluates cross-domain facial expression recognition (CD-FER) models by measuring how well they transfer learned features from a labeled source dataset to an unlabeled target dataset. It probes the model's ability to learn domain-invariant representations and adapt to distribution shifts across different facial expression datasets.

## Datasets

- **RAF-DB** — total ?; splits: train (-1), test (-1)
- **AFE** — total ?; splits: train (-1), test (-1)
- **CK+** — total ?; splits: train (-1), test (-1)
- **JAFFE** — total ?; splits: train (-1), test (-1)
- **SFEW2.0** — total ?; splits: train (-1), test (-1)
- **FER2013** — total ?; splits: train (-1), test (-1)
- **ExpW** — total ?; splits: train (-1), test (-1)

## Metrics

- `accuracy` **(primary)** — range: percent
  - Percentage of correctly predicted facial expression labels out of the total number of samples in the target domain.

## Input / output format

**Input**: Facial images from a labeled source domain and an unlabeled target domain, processed through a backbone network (e.g., ResNet-50, ResNet-18, MobileNet-v2) to extract holistic and local features.

**Output**: Predicted facial expression labels for target domain images. Evaluation reports per-dataset accuracy and mean accuracy across all target datasets.

## Scoring recipe

```python
correct = 0
total = 0
for img, label in target_dataset:
    pred = model(img)
    if pred == label:
        correct += 1
    total += 1
accuracy = (correct / total) * 100
mean_accuracy = sum(accuracies_per_dataset) / num_datasets
```

## Common pitfalls

- Using inconsistent source/target dataset or backbone combinations without averaging fairly across methods can lead to biased performance comparisons.
- Relying solely on holistic features without local feature co-adaptation significantly degrades cross-domain transfer performance, as holistic features alone lack domain-invariant cues.
- Failing to update per-class statistical distributions or fix adjacency matrices during training causes severe accuracy drops due to poor node initialization and message propagation.

## Evidence (verbatim from paper)

> Specifically, when using the RAF source dataset and ResNet-18 backbone, our AGRA approach obtains accuracies of 77.52%, 61.03%, 52.75%, 54.94%, 69.70% on the CK+, JAFFE, SFEW2.0, FER2013, ExpW datasets, outperforming all of the current best-performing methods.

## Citation

```bibtex
@misc{chen2020cdfer,
  title={Cross-Domain Facial Expression Recognition: A Unified Evaluation Benchmark and Adversarial Graph Learning},
  author={Chen et al. (2020)},
  year={2020},
  note={arXiv:2008.00923}
}
```

- arXiv: 2008.00923

