---
title: EnvPerception_6K
canonical_url: "https://www.modelscope.cn/datasets/zeeoreone/EnvPerception_6K"
md_url: "https://www.modelscope.cn/datasets/zeeoreone/EnvPerception_6K.md"
repository: zeeoreone/EnvPerception_6K
chinese_name: "环境感知原始数据集 6K"
last_updated: 2026-08-26
license: Apache-2.0
downloads: 288
stars: 0
---

# EnvPerception_6K

> EnvPerception_6K - zeeoreone 在 ModelScope 开源的数据集。Environmental perception image dataset.

zeeoreone/EnvPerception_6K 是 ModelScope 魔搭社区上的数据集，采用 Apache-2.0 许可。

- **Repository**: zeeoreone/EnvPerception_6K
- **License**: Apache-2.0
- **Downloads**: 288
- **Stars**: 0
- **Last updated**: 2026-08-26

Source: https://www.modelscope.cn/datasets/zeeoreone/EnvPerception_6K

---

# EnvPerception_6K

EnvPerception_6K 是一个面向多视角全景环境感知与场景分类的数据集，包含 6,237 个场景和 51,730 张图片。每条样本由同一张全景图生成的 3 个或 10 个透视视角组成，模型需要综合全部视角，从 11 个候选类别中判断场景的主要功能。

数据集提供中英文两套标注，以及监督微调（SFT）和 GRPO 两种训练格式。图片已经真实复制到数据集目录中，不含软连接。

## 数据概览

| 项目 | 数量 |
| --- | ---: |
| 场景总数 | 6,237 |
| 训练集场景 | 5,575 |
| 验证集场景 | 662 |
| 图片总数 | 51,730 |
| PNG / JPG | 48,500 / 3,230 |
| 3 视角场景 | 1,520 |
| 10 视角场景 | 4,717 |
| 图片总大小 | 约 15.25 GiB |
| 数据集目录占用 | 约 16 GiB |

训练集和验证集均以 `pano_id` 为单位划分，二者没有场景重叠。当前全部图片均为普通文件，没有软连接或 0 字节图片。

各划分的视角数量如下：

| 数据划分 | 3 视角 | 10 视角 | 合计 |
| --- | ---: | ---: | ---: |
| 训练集 | 1,368 | 4,207 | 5,575 |
| 验证集 | 152 | 510 | 662 |
| **合计** | **1,520** | **4,717** | **6,237** |

## 类别与数据分布

| 中文类别 | English label | 训练集 | 验证集 | 合计 |
| --- | --- | ---: | ---: | ---: |
| 公共设施 | Civic | 192 | 19 | 211 |
| 商业场所 | Commercial | 996 | 110 | 1,106 |
| 文化场所 | Culture | 589 | 66 | 655 |
| 教育场所 | Education | 811 | 130 | 941 |
| 文化遗产 | Heritage | 375 | 42 | 417 |
| 餐旅接待 | Hospitality | 407 | 44 | 451 |
| 自然环境 | Nature | 1,125 | 129 | 1,254 |
| 居住环境 | Residential | 405 | 43 | 448 |
| 乡村环境 | Rural | 43 | 6 | 49 |
| 交通场所 | Transport | 357 | 43 | 400 |
| 工作场所 | Workplace | 275 | 30 | 305 |
| **合计** |  | **5,575** | **662** | **6,237** |

类别定义：

- **公共设施**：政府机构、市政服务设施、公共办事空间和公共广场等；
- **商业场所**：商店、商场、市场、零售空间等以商业交易为主要功能的场所；
- **文化场所**：博物馆、展览馆、美术馆、剧院和文化中心等；
- **教育场所**：学校、大学、教室、实验室和图书学习空间等；
- **文化遗产**：历史建筑、古迹、纪念地和传统遗址等；
- **餐旅接待**：酒店、宾馆、度假村、餐厅、咖啡馆等；
- **自然环境**：森林、山地、海滩、湖泊、公园等以自然景观为主的环境；
- **居住环境**：住宅、公寓、住宅小区和家庭室内空间等；
- **乡村环境**：村庄、农田、牧场和乡间道路等；
- **交通场所**：道路、车站、机场、地铁、停车场和交通枢纽等；
- **工作场所**：办公室、工厂、车间、仓库和施工现场等。

类别分布不均衡，其中“自然环境”和“商业场所”样本较多，“乡村环境”样本较少。训练和评估时建议同时报告 macro-F1、各类别准确率和混淆矩阵，不要只使用总体准确率。

## 目录结构

```text
EnvPerception_6K/
├── data/
│   └── <pano_id>/
│       ├── <image_1>.png|jpg
│       ├── ...
│       └── <image_3_or_10>.png|jpg
├── SFT_all_label/
│   ├── train_Chinese.jsonl
│   ├── val_Chinese.jsonl
│   ├── train_English.jsonl
│   ├── val_English.jsonl
│   ├── category_proportion_pie.png
│   └── category_split_distribution.png
├── GRPO_all_label/
│   ├── train_Chinese.jsonl
│   ├── val_Chinese.jsonl
│   ├── train_English.jsonl
│   └── val_English.jsonl
├── rebase_code/
│   ├── rebase_image_paths.py
│   └── README.md
└── README.md
```

`pano_id` 是场景的唯一标识，同时也是 `data` 下对应图片目录的名称。

中文和英文 JSONL 使用相同的数据划分与图片，只是提示词、推理文本和答案语言不同。SFT 与 GRPO 文件也描述同一批 6,237 个场景。因此，不能把不同语言或不同训练格式的记录数相加作为独立样本数。

## SFT 标注格式

SFT 文件每行是一个 JSON 对象，包含以下字段：

| 字段 | 说明 |
| --- | --- |
| `messages` | `system`、`user`、`assistant` 三轮消息 |
| `images` | 与用户消息中 `<image>` 占位符一一对应的图片绝对路径 |
| `pano_id` | 场景唯一标识 |

`assistant` 的回答由 `<think>` 中的简短场景证据分析和最后一行的类别名称组成。

简化示例：

```json
{
  "messages": [
    {"role": "system", "content": "全景场景分类规则与 11 个候选类别……"},
    {"role": "user", "content": "<image><image><image>\n请综合所有视角判断场景类别。"},
    {"role": "assistant", "content": "<think>综合多个视角中的可见证据进行判断。</think>\n\n自然环境"}
  ],
  "images": [
    "/absolute/path/data/<pano_id>/<image_1>.png",
    "/absolute/path/data/<pano_id>/<image_2>.png",
    "/absolute/path/data/<pano_id>/<image_3>.png"
  ],
  "pano_id": "<pano_id>"
}
```

## GRPO 标注格式

GRPO 文件保留待模型回答的 `system` 和 `user` 消息，并将标准类别单独存放在 `solution` 字段中：

| 字段 | 说明 |
| --- | --- |
| `messages` | `system`、`user` 两轮输入消息 |
| `images` | 与用户消息中 `<image>` 占位符一一对应的图片绝对路径 |
| `solution` | 用于奖励计算或评估的标准类别答案 |
| `pano_id` | 场景唯一标识 |

简化示例：

```json
{
  "messages": [
    {"role": "system", "content": "全景场景分类规则与 11 个候选类别……"},
    {"role": "user", "content": "<image><image><image>\n请综合所有视角判断场景类别。"}
  ],
  "images": [
    "/absolute/path/data/<pano_id>/<image_1>.png",
    "/absolute/path/data/<pano_id>/<image_2>.png",
    "/absolute/path/data/<pano_id>/<image_3>.png"
  ],
  "solution": "自然环境",
  "pano_id": "<pano_id>"
}
```

中文文件的答案使用中文类别，英文文件的答案使用对应的 English label。

## 下载或移动后的图片路径更新

JSONL 的 `images` 字段保存的是绝对路径。数据集被复制、下载或移动到新位置后，需要将路径更新为当前 `data` 目录，否则训练程序可能继续引用生成标注时的旧目录。

进入数据集根目录，先执行只读检查：

```bash
cd /path/to/EnvPerception_6K
python rebase_code/rebase_image_paths.py \
  --data-dir "$(pwd)/data" \
  --dry-run
```

确认输出中 `错误=0` 后，原地更新 SFT 和 GRPO 目录下的全部 8 个 JSONL：

```bash
python rebase_code/rebase_image_paths.py \
  --data-dir "$(pwd)/data"
```

新路径按照下面的规则生成：

```text
<data-dir>/<pano_id>/<原图片文件名>
```

脚本只修改顶层 `images` 字段，不修改 `messages`、`solution` 或 `pano_id`。它会先检查全部目标图片是否存在且非空，通过检查后再以原子替换方式更新文件；重复运行也是安全的。

## Python 读取示例

```python
import json
from pathlib import Path

dataset_root = Path("/path/to/EnvPerception_6K")
label_file = dataset_root / "SFT_all_label/train_Chinese.jsonl"

with label_file.open("r", encoding="utf-8") as file:
    sample = json.loads(next(file))

print("pano_id:", sample["pano_id"])
print("视角数:", len(sample["images"]))
print("图片路径:", sample["images"])
print("监督答案:", sample["messages"][-1]["content"])
```

训练时应将一整条 JSONL 记录视为一个多视角场景样本，不能把同一 `pano_id` 的图片拆分到不同的数据划分中。

## 完整性说明

当前版本已完成以下检查：

- `data` 中包含 6,237 个场景目录和 51,730 张图片；
- 训练集 5,575 条、验证集 662 条，每个划分中的 `pano_id` 均唯一；
- 训练集与验证集的 `pano_id` 交集为 0；
- SFT、GRPO 以及中英文文件的数据划分保持一致；
- 每条记录的 `<image>` 占位符数量与 `images` 路径数量一致；
- 所有场景图片都已真实复制到 `data`，没有软连接或 0 字节文件；
- 使用随数据附带的路径更新脚本检查时，全部 206,920 个 JSONL 图片路径都能映射到本目录的真实图片。
