Competition: Facial Beauty Rating - SCUT-FBP5500 V2 (Balanced Regression)

Problem statement
Participants are challenged to build a model that predicts perceived facial attractiveness scores for face images. Each image has a target score on a continuous 1.0–5.0 scale. Your goal is to produce accurate predictions that generalize across demographic subgroups. This is a regression task.

Data description
- train_images/: RGB face images for training. Images are 350×350 pixels (as originally released) but you should not rely on a fixed size; resize/augment as needed.
- test_images/: RGB face images for testing (labels hidden).
- train.csv: Training annotations with two columns:
  - image_id: filename of an image in train_images/
  - beauty: floating-point attractiveness score in [1.0, 5.0]
- test.csv: Test set file IDs with one column:
  - image_id: filename of an image in test_images/
- sample_submission.csv: Example submission file with two columns:
  - image_id, beauty

Images have been renamed to anonymize any potential label leakage. Do not assume any semantic information can be inferred from filenames.

Evaluation
Submissions are evaluated using a group-balanced root mean squared error (Balanced RMSE). The test set is partitioned into four demographic subgroups (based on latent attributes of the original dataset). The per-group RMSE is computed and the final score is the arithmetic mean of the four group RMSE values:

BalancedRMSE = mean_over_groups( sqrt( mean_over_items_in_group( (y_true - y_pred)^2 ) ) )

This balances performance across demographic subgroups and prevents a model from performing well by overfitting to majority groups. Predictions outside [1.0, 5.0] are clipped to this range for scoring to ensure numerical stability.

Submission format
- A CSV file with header and exactly two columns in this order: image_id, beauty
- image_id must match the IDs in test.csv exactly (one row per test image; no duplicates or missing entries)
- beauty should be a numeric prediction (float). Values will be safely parsed and clipped to [1.0, 5.0] for evaluation.


Files provided
- train_images/
- test_images/
- train.csv
- test.csv
- sample_submission.csv

Good luck and enjoy modeling!