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` 校验实际提供的逻辑文件。 写入时同时计算实际写入的各成员摘要并用于解包清单;按源账本检查路径集合覆盖,但不将这些成员摘要与旧源账本逐一比对,也不额外遍历整个源目录。



