---
title: PanoLLM_dataset
canonical_url: "https://www.modelscope.cn/datasets/RyanJoy/PanoLLM_dataset"
md_url: "https://www.modelscope.cn/datasets/RyanJoy/PanoLLM_dataset.md"
repository: RyanJoy/PanoLLM_dataset
last_updated: 2026-10-31
license: other
storage_size: "1.0 TB"
downloads: 153
stars: 0
---

# PanoLLM_dataset

> PanoLLM_dataset - RyanJoy 在 ModelScope 开源的数据集。RJY ERP 完整研究数据集：TAR 分片版

RyanJoy/PanoLLM_dataset 是 ModelScope 魔搭社区上的数据集，存储大小 1.0 TB，采用 other 许可。

- **Repository**: RyanJoy/PanoLLM_dataset
- **License**: other
- **Storage size**: 1.0 TB
- **Downloads**: 153
- **Stars**: 0
- **Last updated**: 2026-10-31

Source: https://www.modelscope.cn/datasets/RyanJoy/PanoLLM_dataset

---

# RJY ERP 完整研究数据集：TAR 分片版

本目录用于下载传输；视觉和 QA 均须先解包，再运行加载器。解包命令见下文。

文档更新：`2026-10-14`。QA 数据修订：`v0.4/source_reuse_rc2/angular_geometry_v2`。
本包中的视觉数据与 QA 2026-10-09_V4 均已打包为 TAR；使用前请执行文末的视觉及 QA 解包步骤。

视觉资产版本：`1.0.1-draft`，资产发布日期：`2026-09-24`。默认 QA 版本：`2026-10-09_V4`。视觉资产与 QA 独立版本化，以 manifest.json 中的 release_version、qa_releases、qa_default_version 为准。

本 release 的原七集整合 ERP 全景图、实例标注、分割 Mask、label map、径向深度、Caption、直接 crop、透视 crop，以及对应的 QA 数据。共 10,139 张 ERP、245,299 个可训练实例和 650,609 条 QA；ERP、实例和 QA 是三种不同的计数单位。一张 ERP 可以对应多个实例和多个问题。

本 README 介绍整个 release；链接中的完整 QA 文档在解包后恢复。QA 的各任务、各来源 split 数量、字段契约与评测方法详见 [QA 数据集说明](qa/2026-10-09_V4/README.md)。

## 数据来源与规模

| 来源 | ERP 帧数 | 可训练实例 | crowd/排除区域 | 深度来源 |
|---|---:|---:|---:|---|
| 360_dataset | 903 | 2,123 | 0 | DAP 单目米制估计 |
| 360_indoor | 3,335 | 89,140 | 0 | DAP 单目米制估计 |
| osv | 600 | 4,665 | 0 | DAP 单目米制估计 |
| pass_dataset | 400 | 13,101 | 0 | DAP 单目米制估计 |
| stanford2d3ds | 1,401 | 31,543 | 0 | 官方径向 GT |
| wildpass | 500 | 10,374 | 1 | DAP 单目米制估计 |
| pandora | 3,000 | 94,353 | 0 | DAP 单目米制估计 |
| **合计** | **10,139** | **245,299** | **1** | GT 与估计值分别保留来源 |

来源名称、类别词表、投影依据、深度属性和覆盖统计均保存在 manifest.json 的 datasets 中。类别保留各来源词表，不能假定不同来源的类别 ID 或 label_id 共用同一语义空间。上表七个来源以根目录 manifest 为准；其他来源使用其各自的发布清单。

另收录独立的 **PanoWorld Outdoor** 处理资产，位于 `Pano_dataset/outdoor/`，对应 272,845 帧、2,639,637 个实例，深度为 DAP 单目米制估计。新增视觉分片不包含 `outdoor/images/` 中的官方 ERP 原图；标注、Mask、label map、深度和直接／透视 crop 等处理资产保留。原图须从上游下载并按映射恢复后才能使用依赖图像的任务，见 [PanoWorld 打包说明](Pano_dataset/PACKED_CONTENT.md)。其统计不计入上表七个来源的合计，独立清单和说明见 `Pano_dataset/manifest.json` 与 `Pano_dataset/README.md`。上游 [Pano_dataset 数据集卡](https://huggingface.co/datasets/wcccp/Pano_dataset) 标记 CC BY-NC 4.0；该数据含多种来源素材，具体再分发条件仍须按来源核验，当前 manifest 中的许可待核验状态没有解除。

## 解包后的完整目录

```text
数据根目录/
├── README.md
├── manifest.json
├── schema.json
├── checksums.sha256
├── rjy_qa.py
├── Pano_dataset/                  # PanoWorld Outdoor，含独立说明和清单
│   └── outdoor/                  # 原图需另行从上游恢复
├── <数据集>/
│   ├── images/<image_id>.<扩展名>
│   ├── crop_direct/<image_id>/<instance_id>.png
│   ├── crop_perspective/<image_id>/...png、...json
│   └── annotations/
│       ├── <image_id>.json
│       ├── masks/<image_id>/<instance_id>.png
│       ├── label_maps/<image_id>.png
│       └── depth_maps/<image_id>.npy
└── qa/2026-10-09_V4/
    ├── README.md
    ├── manifest.json
    ├── task_registry.json
    ├── datasets/<数据集>/{train,validation,test}.jsonl
    ├── benchmark/{train,validation,test}.jsonl
    ├── detail/{train,validation,test}.jsonl
    ├── extension/{train,validation,test}.jsonl
    ├── training/{sampling.json,sampling_weights.jsonl,exclusions.jsonl}
    ├── evaluation/
    │   ├── reference.{validation,test}.jsonl
    │   ├── balanced/                 # 固定均衡子集及对应参考答案
    │   ├── tools/score.py
    │   └── partition_report.json、quality_report.json、answer_distribution.json
    └── public_test/                     # 独立测试题与匿名图片
```

manifest.json 是发布级清单；schema.json 定义帧级标注，不是 QA 行的 schema；rjy_qa.py 是纯标准库 QA 加载器。文件使用相对路径，不依赖原服务器上的 raw、processed 或项目源码。解包后保持内部结构即可任意命名、整体移动下载目录。

## 视觉资产与标注字段

| 内容 | 作用与读取约定 |
|---|---|
| images | ERP 原始图像，实际尺寸以帧级标注和图片为准 |
| annotations/<image_id>.json | 每帧的主标注，含图像尺寸、来源、实例列表及资产路径 |
| 实例记录 | instance_id、category、bbox_parts_xyxy、direction、mask、depth、caption、crop 等；具体可选字段见 schema |
| annotations/masks | 全 ERP 二值实例 Mask，是主分割表示，允许实例间重叠 |
| annotations/label_maps | uint16 单值索引图；0 为背景，正整数映射到同帧实例的 label_id |
| annotations/depth_maps | float32 NPY，单位米，表示相机到表面的径向距离 |
| crop_direct | 直接从 ERP 原始像素裁切的无标注 crop；通过 crop_transform 追溯原图 |
| crop_perspective | 畸变矫正的透视 crop；JSON sidecar 描述视图、变换、覆盖及来源摘要 |
| Caption | 实例文本描述及质量字段；不能仅凭存在 caption 就视为人工或视觉模型确认 |

标注中 image_file、mask_file、crop 等资产路径以所属数据集目录为根；QA inputs 路径包含数据集名称，以完整数据根目录为根。不要混淆这两种根目录，也不要从 JSON 文件的父目录直接拼接所有路径。透视 crop 的具体图片以 sidecar 或 QA teacher.inputs.crop 为准，crop_perspective_file 通常指向 sidecar，不能把它当图片。

## ERP 投影、坐标与框

源标注使用 0-based 像素索引及 inclusive xyxy BBox。普通目标有一个 bbox_parts_xyxy，跨左右接缝的目标有两个贴边 part。pixel_uv 使用 circular BBox 中心；yaw_deg、pitch_deg 和 12 类 absolute_direction 按来源 erp_projection 计算。

所有来源水平覆盖 360°，垂直覆盖并不相同：PASS 为 pitch −15° 至 +60°（75°），WildPASS 为 −30° 至 +40°（70°）；其余当前清单按 −90° 至 +90° 记录。使用 manifest 中的具体投影，不能统一按完整 180° 垂直 ERP 解释。部分投影覆盖由宽高比推断，依据类型也在清单中记录。

QA 的点和框另有归一化契约，框使用半开区间；它与源标注的像素 inclusive xyxy 不相同。坐标换算时以对应数据层的契约为准。

## 分割与深度的使用注意事项

label map 每个像素只存一个 label_id，是重叠消解后的便捷索引；该 ID 的像素应是实例二值 Mask 的子集，不保证与完整 Mask 相等。53 个有效实例在 label map 中被完全覆盖，仍保留原 Mask，并以 fully_occluded_in_label_map 标记；不得仅因 label_map_pixels=0 就认定原实例不存在。WildPASS 的一个 crowd 区域在 JSON 和 label map 中保留，但排除实例训练，不生成该区域的 crop、深度统计或 Caption。

Stanford2D3DS 深度为官方 4096×2048 径向 GT；其余为 1024×512 DAP 单目米制估计。深度分辨率可能与 ERP 不同，需要显式建立像素对应关系；估计值不等于 GT。无效深度的非有限值及数值阈值以每个来源 manifest.depth.invalid_values 为准。实例深度统计与完整深度图分别提供。

## 读取图像与帧级标注

在数据根目录运行下例；读取 JSON 仅需 Python 标准库，解码图片可使用 Pillow，读取 NPY 可使用 NumPy。下载数据不要求安装生产环境 ms-swift。

```python
import json
from pathlib import Path

root = Path.cwd()
dataset_root = root / "stanford2d3ds"
annotation_path = next((dataset_root / "annotations").glob("*.json"))
frame = json.loads(annotation_path.read_text(encoding="utf-8"))
image_path = dataset_root / frame["image_file"]
instances = frame["instances"]
# 如需解码：Image.open(image_path)；其他资产按标注中的相对路径读取。
```

## QA 当前版本与使用入口

默认版本为 [2026-10-09_V4](qa/2026-10-09_V4/README.md)，采用 v0.4/source_reuse_rc2/angular_geometry_v2。旧 V3 仍保留，可显式传 version 读取。

学生接收干净 ERP、问题及该任务允许的选项／坐标提示；细节 teacher crop 是独立训练分支。来源标注复用不代表新的逐题视觉审核。train/validation 含答案，test 不含答案或教师输入。

```python
from rjy_qa import iter_qa, model_inputs
row = next(iter_qa("train", version="2026-10-09_V4"))
print(model_inputs(row))
```

track 可取 all、benchmark、detail、extension。评分参考答案单独位于 evaluation；独立无答案入口位于 public_test。主线、细节和扩展分别报告，全部30类题型及当前数量见本版 README。

## 来源追溯与发布状态

manifest 的 source、references、license 与 coverage_source 保存来源及投影依据。当前视觉资产版本仍是 draft，许可状态为 unverified_release_blocker；本文件没有替任何上游数据集推断再分发许可，也未提供统一的新许可证。引用及许可应以各来源已确认记录为准。

2026-09-24 的 PASS 修订更新了 crop 来源摘要并将 +180° 接缝表示归一为 −180°；该次修订未重写 ERP、Mask、直接 crop 或透视图片。QA 2026-10-09_V4 后续作为独立版本安装；历史发布已备份；当前 QA 的划分修订见上面的版本说明。

## 打包目录与分片规模

原七集视觉资产与 QA 2026-10-09_V4 共 **17 个视觉 TAR 和 1 个 QA TAR**；后续另有 PanoWorld Outdoor 视觉分片及 Outdoor QA 的 7 个分片。默认目标大小 8 GiB；视觉按帧组织，PanoWorld Outdoor 仅包含每帧的非原图资产；QA 按完整文件组织，均不为凑齐大小拆分单元。TAR 不采用 WebDataset 样本键布局；`rjy_qa.py` 读取解包文件，不直接读取 TAR。

```text
打包下载目录/
├── README.md、PACKING.md
├── manifest.json、schema.json、rjy_qa.py
├── checksums.sha256              # 解包前：校验传输文件
├── unpacked_checksums.sha256     # 解包后：校验逻辑文件
├── <数据集>/shard-00000.tar ...
├── Pano_dataset/
│   ├── README.md、manifest.json、schema.json、checksums.sha256
│   ├── PACKED_CONTENT.md、official_image_mapping.tsv、restore_official_images.py
│   └── outdoor/shard-00000.tar ... # 不包含 images 原图
└── qa/2026-10-09_V4/
    ├── README.md                # QA 统一说明与解包命令
    └── shard-00000.tar          # 完整 QA 目录及 public_test 图片
```

| 来源 | TAR 数 | TAR 合计（GiB） |
|---|---:|---:|
| 360_dataset | 1 | 5.96 |
| 360_indoor | 2 | 15.80 |
| osv | 1 | 1.70 |
| pass_dataset | 1 | 3.11 |
| stanford2d3ds | 9 | 66.20 |
| wildpass | 1 | 2.13 |
| pandora | 2 | 15.47 |
| **视觉合计** | **17** | **110.36** |
| QA 2026-10-09_V4 | 1 | 5.20 |
| **上述七集及默认 QA 合计** | **18** | **115.44** |

上表仅统计原七集及默认 QA，不含 PanoWorld Outdoor 视觉分片和独立 Outdoor QA。视觉 TAR 内路径相对所属数据集目录；QA TAR 内路径相对 QA 版本目录，包含 datasets、training、evaluation、public_test、benchmark、detail、extension 和统一 README。QA TAR 含 3,849 个源文件。TAR 不能直接解压到发布根目录。

## 下载、解包与校验

在线仓库：[ModelScope RyanJoy/PanoLLM_dataset](https://modelscope.cn/datasets/RyanJoy/PanoLLM_dataset/files)。下载时保留仓库内部目录结构；本地目录名和位置可自行选择。每次更新由多个文件提交组成，复现实验应固定最终验收的 commit，并完整下载该版本的文档、分片和校验清单。

在完整下载根目录执行：

```bash
set -e
# 1. 必须在解包前校验传输文件；会读取所有 TAR。
sha256sum -c checksums.sha256

# 2. 原位展开视觉资产，保留数据集这一层目录。
for dataset in 360_dataset 360_indoor osv pandora pass_dataset stanford2d3ds wildpass; do
  for shard in "$dataset"/shard-*.tar; do
    tar -xf "$shard" -C "$dataset"
  done
done

# PanoWorld Outdoor 处理资产分片；不包含 outdoor/images 原图。
for shard in Pano_dataset/outdoor/shard-*.tar; do
  tar -xf "$shard" -C Pano_dataset/outdoor
done

# 3. 展开 QA；同时恢复训练协议、评分器和匿名 public_test。
for shard in qa/2026-10-09_V4/shard-*.tar; do
  tar -xf "$shard" -C qa/2026-10-09_V4
done
for shard in qa/2026-10-23_Pano_Outdoor/shard-*.tar; do
  tar -xf "$shard" -C qa/2026-10-23_Pano_Outdoor
done

# 4. 校验本次打包提供的逻辑文件；此清单不验证未包含的 Outdoor 原图。
sha256sum -c unpacked_checksums.sha256

# 5. 读取默认过滤后的训练题，确认图片路径可用。
python - <<'PY'
from rjy_qa import iter_trainable_qa, model_inputs
qa = next(iter_trainable_qa(version="2026-10-09_V4", dataset="stanford2d3ds"))
print(model_inputs(qa))
PY
```

解包额外占用展开资产的磁盘空间，原 TAR 保留。Outdoor 的原图须从上游下载并按 `Pano_dataset/official_image_mapping.tsv` 恢复，执行 `python Pano_dataset/restore_official_images.py --official-images-root /path/to/official/images`；详见 [PanoWorld 打包说明](Pano_dataset/PACKED_CONTENT.md)。QA 版本外部与包内 README 正文一致，解包后保持相同摘要；展开资产应使用 unpacked_checksums.sha256 校验。根 README 与 PACKING 始终是本打包版文档，逻辑清单中的对应摘要也针对这两个文件。

只研究一个来源时，可只下载/解开它的全部视觉分片，同时保留公共文件并解开 QA 全部分片，加载器显式指定 dataset。仅使用 public_test 时只需 QA TAR，图像路径以解出的 public_test 为根。这两种部分下载不适用全包校验命令，完整清单会报告未下载的文件。

若展开到新目录，复制 manifest.json、schema.json、rjy_qa.py、QA 以及 `Pano_dataset` 根目录的 README.md、manifest.json、schema.json 和 checksums.sha256 到新根目录对应位置，保持“根目录/数据集/images”及“根目录/qa/版本”关系。哈希只证明文件与清单一致，不代表语义、视觉审核或许可已经通过。更多打包契约与增量更新说明见 [PACKING.md](PACKING.md)。

QA 版本的使用说明集中在其 README.md：完整题型表、坐标精度、数据统计、加载与评分入口均在同一文件。benchmark/detail/extension 是 datasets 全集的分组视图，不可再次拼接计数。

QA `2026-10-09_V4` 已于 2026-10-14 原目录增量修复球面几何：G9/G10 替代旧 G6/G7，允许真实非零 roll，原生 GT 与 CPU mask 拟合分榜；详情见该版本 README。

<!-- OUTDOOR_V04_RELEASE:2026-10-23_Pano_Outdoor -->
新增独立 [PanoWorld Outdoor QA 2026-10-23_Pano_Outdoor](qa/2026-10-23_Pano_Outdoor/README.md)：14,380,460 条；split={'train': 10066322, 'validation': 2157069, 'test': 2157069}。显式version读取，保留当前七集默认版本；来源路径Pano_dataset/outdoor/。D1/C1/C2/C3为N/A；source_annotation_reused，未新增视觉Gold。QA TAR只包含QA版本与public_test图片；train/validation 的 ERP 原图不在新增视觉分片中，须按映射从上游恢复至 `Pano_dataset/outdoor/images/`；teacher 所需 crop 等处理资产在分片中。既有 QA 的 public_test 随 QA 包提供匿名图片，范围与新增分片不同。

Outdoor QA 2026-10-23_Pano_Outdoor 为7个TAR分片；显式下载并解到qa/2026-10-23_Pano_Outdoor/，README和完整JSONL在TAR内。

本次新增 PanoWorld Outdoor TAR 的传输摘要在写入时生成；本次未在打包完成后重新读取全部 TAR 成员进行复核。下载者可验证传输摘要，解包后另按 `unpacked_checksums.sha256` 校验实际提供的逻辑文件。

写入时同时计算实际写入的各成员摘要并用于解包清单；按源账本检查路径集合覆盖，但不将这些成员摘要与旧源账本逐一比对，也不额外遍历整个源目录。
