# Critical Object Grounding — Data

来源：https://www.kaggle.com/competitions/critical-object-grounding/data

本地 Meta Kaggle 快照；不是本次实时页面。

# Dataset Description

# DADA-2000 Dataset Guide (Training)

This document describes the directory structure and data formats of the **DADA-2000** dataset used in this competition.

---

## Training Split

[DADA-2000-Train (Google Drive)](https://drive.google.com/drive/folders/1l1_xOMWfs2eSoh0771ZJOcS2tcKwhh-C)
[DADA-2000-Train (Baidu Netdisk)](https://pan.baidu.com/share/init?surl=oxoQKYIaNCkLCxVCrOwgHw&pwd=ahyz)
[DADA-2000-Detection (Google Drive)](https://drive.google.com/file/d/1rEDR3JHgiWt0oz_a7MNhOQsTRv1mzuxZ/view?usp=sharing)
More details about DADA-2000 can be found on the dataset [homepage/documentation](https://arxiv.org/pdf/1904.12634).

The training set includes:

- **Visual inputs**: RGB frames, driver gaze maps, and driver fixation points  
- **Bounding box annotations**: frame-level detections for common road participants  
- **Scenario metadata**: structured labels describing accident context and driving scene information

---

## 1) Multi-modal Data

Each accident video contains multi-modal data under the following layout:

```
DADA/
└── 1/
    └── 001/
        ├── images/     # RGB video frames
        ├── maps/       # driver gaze maps
        └── fixation/   # driver fixation points
└── ...
```

---

## 2) Frame-level Bounding Box Annotations

Frame-wise bounding box annotations are provided as text files:

```
DADA_Detection/
└── 2/
    └── 002/
        ├── 0001.txt
        ├── 0002.txt
        └── ...
└── ...
```

We generate these bounding boxes using a **YOLOX detector pre-trained on COCO**, run on the original DADA videos.

Each `.txt` file contains bounding boxes for **7 categories of road participants**:

- car
- traffic light
- pedestrian
- truck
- bus
- bicycle
- motorcycle

> Note: Some critical objects (e.g., certain obstacles) may still be missing from the detections.

---

## 3) Metadata Annotation (Excel)

Each training video is accompanied by a structured metadata file in **Excel** format, which describes driving scene attributes and accident-related information.

Below is a JSON-style interpretation of the fields (per video entry):

```json
{
  "video_hashcode": {
    "video_name": "1_1",
    "id": "1",
    "type": "1",
    "weather": "1",
    "light": "1",
    "scenes": "4",
    "linear": "1",
    "accident occurred": "1",
    "abnormal_start_frame": "30",
    "abnormal_end_frame": "115",
    "accident_frame": "63",
    "total_frames": "440",
    "t_ai": "30",
    "t_co": "63",
    "t_ae": "115",
    "texts": "a pedestrian crosses the road",
    "causes": "Pedestrian does not notice the coming vehicles when crossing the street",
    "measures": "When passing the zebra crossing, drivers must slow down. When pedestrians or non-motor vehicles cross the zebra crossing, they should stop and give way to other normal running vehicles; When crossing the road, pedestrians must follow the zebra crossing, carefully observe the traffic, and do not cross the road in a hurry."
  }
}
```

### Field Definitions

| Field Name | Description |
| --- | --- |
| `video_hashcode` | Unique identifier for each video entry |
| `video_name` | Video name composed of accident type and index (e.g., `type_id`) |
| `id` | Video index |
| `type` | Accident type (see the accident-type list provided with the dataset) |
| `weather` | Weather condition: `1=Sunny`, `2=Rainy`, `3=Snowy`, `4=Foggy` |
| `light` | Lighting condition: `1=Daytime`, `2=Nighttime` |
| `scenes` | Driving scene: `1=Highway`, `2=Tunnel`, `3=Mountain road`, `4=Urban`, `5=Rural` |
| `linear` | Road topology: `1=Straight`, `2=Curve`, `3=Cross intersection`, `4=T-intersection`, `5=Ramp` |
| `accident occurred` | Whether an accident occurs in the video (`1=Yes`, `0=No`) |
| `abnormal_start_frame` | Start frame index of the abnormal event |
| `abnormal_end_frame` | End frame index of the abnormal event |
| `accident_frame` | Frame index where the collision happens |
| `total_frames` | Total number of frames in the video |
| `t_ai` | Accident interval start frame (same as `abnormal_start_frame`) |
| `t_co` | Collision frame (same as `accident_frame`) |
| `t_ae` | Accident interval end frame (same as `abnormal_end_frame`) |
| `texts` | Natural-language description of the scene |
| `causes` | Description of the accident cause |
| `measures` | Preventive measures to avoid similar accidents |

---

## Test Split

In the test phase, **only RGB frames are provided**.  
No gaze maps, fixation points, or annotation files are included.

**MM-AU-Test**: 
[Google Drive](https://drive.google.com/file/d/1CNYVFiDVLZuocp1d4vRG5zidzGPuC7SD/view?usp=sharing)
```
Test_Video/
└── 1/
    └── 001537/
        ├── images/     # RGB video frames
    └── ...
└── ...
```

---

## Submission Format

Please download and follow **`sample_submission.csv`**. Make sure the `id` field matches correctly.

### Bounding Box Format

Each predicted box should be:

```text
[x1, y1, x2, y2]   # top-left and bottom-right coordinates (x_min, y_min, x_max, y_max)
```

### Important Constraint (One Box Per Frame)

⚠️ **Each frame must contain exactly ONE key-object bounding box.**  
Submissions that output **multiple boxes per frame** will be treated as **invalid**.

---