Title: VehiDE Damage Detection (Object Detection Challenge)

Problem statement
Participants are tasked with building an object detection model to locate and classify visible vehicle damage in images. Each image may contain multiple damage instances from multiple categories. Your model must predict a set of bounding boxes with a confidence score and a class label for each image in the test set.

Damage categories
- rach (scratch)
- mop_lom (dent)
- tray_son (paint_peel)
- mat_bo_phan (missing_part)

Data description
- train_images/: RGB images for training (renamed to anonymize any potential label hints).
- test_images/: RGB images for testing (renamed similarly). Use these images to generate predictions.
- train_annotations.csv: Ground-truth annotations for the training set. Each row is one bounding box: image_id, class, x_min, y_min, x_max, y_max (pixel coordinates in the original image; no paths).
- sample_submission.csv: Submission template with the required format.

Submission format
- submission.csv must contain two columns with headers: image_id, PredictionString
- PredictionString is a space-separated list of repeated sextuples:
  class score x_min y_min x_max y_max
  where class is one of {rach, mop_lom, tray_son, mat_bo_phan}; score is a float in [0,1]; and coordinates are pixel values in the original image coordinate system (top-left origin). If an image has no predicted objects, provide an empty PredictionString for that image.

Example PredictionString (two detections):
  rach 0.87 120 240 360 480 mop_lom 0.66 10 20 90 120

Evaluation
Primary score: mean Average Precision at IoU=0.50 (mAP@0.50), macro-averaged across the four classes.
- For each class separately, predictions are sorted by confidence. A predicted box is a true positive if its IoU with any unmatched ground-truth box of the same class in the same image is >= 0.50; otherwise it is a false positive. Each ground-truth box can be matched at most once.
- We compute the precision–recall curve over all predictions of that class and calculate the area under the curve (AP) using step-wise integration. The final score is the arithmetic mean of the class APs.
- If a class has no ground-truth instances in the test set, it is excluded from the average.

Notes and recommendations
- Multiple instances per image are common; predictions can be of variable length per image.
- Boxes must be within image bounds; coordinates are interpreted as [x_min, y_min, x_max, y_max] in pixels.
- The dataset was originally annotated with polygons; the competition uses their tight axis-aligned bounding boxes for both train and evaluation.

Final data files
- train_images/
- test_images/
- train_annotations.csv
- sample_submission.csv

Good luck, and have fun pushing the limits of reliable, automated vehicle damage detection!