### How testing is done

- **Tracks:** Submissions are evaluated on three test tracks with identity-disjoint subjects:
  - **Aerial→Ground (A→G):** aerial query tracklets matched to ground reference tracklet per identity.
  - **Ground→Aerial (G→A):** ground query tracklets matched to aerial gallery tracklets.
  - **Aerial→Aerial (A→A):** aerial query tracklets matched to aerial gallery tracklets from different sessions/long term cloth changing.

- **Query/Gallery construction**
  - Test identities **do not appear** in the training split.
  - Queries and galleries are built from different sessions (cross-session), so the query tracklet itself is excluded from its gallery.
  - Each query must be ranked against its corresponding gallery list (see “Submission Format”).

- **Scoring process**
  - The evaluation server parses `submission.csv`, validates format, and computes the metrics per track.
  - Per-altitude / angle / distance breakdowns may be shown in the **Results** tab for analysis, but the **leaderboard** uses the full test set for each track.


### Metrics

- **Primary Metric (for the leaderboard):**
  - **mAP** on each track.
  - **Final Score** shown on the leaderboard is the mean of mAP across the three tracks:
    ```
    Final Score = ( mAP_A2G + mAP_G2A + mAP_A2A ) / 3
    ```

- **Track-specific reporting**
All tracks — Aerial→Ground (A→G), Ground→Aerial (G→A), and Aerial→Aerial (A→A) — are evaluated using a consistent set of retrieval metrics: 


###Submission File

Participants must submit a single CSV file named `submission.csv`, containing the predicted gallery tracklets for each query tracklet across the three evaluation tracks — in the following order:

**Aerial→Ground (A→G)**, **Ground→Aerial (G→A)**, and **Aerial→Aerial (A→A)**.

Each submission should follow this exact structure:

```
row_id,query_tracklet,gallery_tracklets
1,A2G_query_0001,Ground_gallery_0015
2,A2G_query_0002,Ground_gallery_0042
3,G2A_query_0001,Aerial_gallery_0023 Aerial_gallery_0081 Aerial_gallery_0147 Aerial_gallery_0239 Aerial_gallery_0310
4,G2A_query_0002,Aerial_gallery_0012 Aerial_gallery_0057 Aerial_gallery_0089 Aerial_gallery_0120
5,A2A_query_0001,A2A_gallery_0045 A2A_gallery_0110 A2A_gallery_0179 A2A_gallery_0285
6,A2A_query_0002,A2A_gallery_0036 A2A_gallery_0075 A2A_gallery_0129 A2A_gallery_0198
```

Where: 

**row_id**  
A unique numeric index for each entry (starting from 1).  

**query_tracklet**  
The unique identifier of the query video for which predictions are made.  
The prefix defines the evaluation track type:  
- `A2G_query_XXXX` → Aerial→Ground  
- `G2A_query_XXXX` → Ground→Aerial  
- `A2A_query_XXXX` → Aerial→Aerial  

**gallery_tracklets**  
A space-separated list of gallery tracklet IDs ranked by similarity (highest first).  
- For **A→G**, include only **one gallery ID** (each aerial query has a single ground reference).  
- For **G→A** and **A→A**, include up to **10 ranked gallery IDs**.


#Note
```python

IMPORTANT: The person identity labels in the query and gallery set are hidden from participants, meaning participants will not know whether their algorithm has correctly identified the target person until they submit their results and receive evaluation feedback. Participants may submit up to 10 times / day, with the best performance considered as their final result. External training data can not be used.
```