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.
Installs into .claude/skills of the current project.
Are you the author of Cd Fer Benchmark Eval?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-cd-fer-benchmark-eval)
---
name: cd-fer-benchmark-eval
description: 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.
metadata:
skill_kind: dataset_eval
source_arxiv: 2008.00923
bibtex_key: chen2020cdfer
confidence: high
---
# 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