Competition: Human Foreground Segmentation (Single-Class Person)

Problem Statement
Build a model that segments the human foreground in diverse photos. Given an input RGB image, predict a binary mask that identifies all pixels belonging to the person(s) in the scene. This is a pixel-wise semantic segmentation task with a single foreground class (person) and background.

Data Description
- train/images/: RGB PNG or JPG images for training
- train/masks/: Corresponding binary PNG or JPG masks (same base filenames as images, stored in the masks folder)
- train/collage/: Optional auxiliary collage images (not referenced by CSV; may be used for visualization or extra features)
- test/images/: RGB PNG or JPG images for testing (no masks provided)
- test/collage/: Optional auxiliary collage images for test (not referenced by CSV)
- train.csv: CSV with columns [id, image_filename, mask_filename]
- test.csv: CSV with columns [id, image_filename]
- sample_submission.csv: Example submission with columns [id, rle]

Notes
- Filenames in CSVs are just base filenames without any folder paths.
- The id column uniquely identifies each image and corresponds across CSVs and files.
- Masks are single-channel binary images where non-zero pixels denote the person class.
- Collage images are provided as auxiliary context but are not required; the official inputs/labels are defined strictly by train.csv and test.csv.
- Submission format uses Run-Length Encoding (RLE) for masks (see Evaluation for details).

Evaluation
Submissions must be a CSV with columns [id, rle], containing exactly one row per test id in the same order as test.csv. The rle column contains a Run-Length Encoding (RLE) of the predicted binary mask for that image.

RLE format used in this competition:
- Flatten masks in column-major order (Fortran order), i.e., top-to-bottom for each column, then left-to-right across columns.
- 1-indexed start positions.
- Represent the mask as space-separated pairs: "start length start length ...".
- Empty masks should be represented by an empty string.

Metric: Mean Dice Coefficient
For each test image i with predicted mask P_i and ground truth G_i, Dice_i = 2|P_i ∩ G_i| / (|P_i| + |G_i|). If both P_i and G_i are empty, Dice_i is defined as 1.0. The final score is the simple mean of Dice_i across all test images.

Data Files
- train/images/
- train/masks/
- train/collage/ (auxiliary)
- test/images/
- test/collage/ (auxiliary)
- train.csv
- test.csv
- sample_submission.csv

