genvr-duo
收藏资源简介:
# GenVR 双目数据基础包 共 **2008 对**已正式验收的双目视频。每对左右眼各 241 帧,1280×720、24fps。 另有 22 对未完成最终发布的数据不在这些包中。本地已停止采集及定时任务。 本次优先发布视频、实际相机和元数据到私有仓库 `hengyelyu/genvr-duo`。 当前版本只有 **35 个基础包,共 146,318,100,480 字节(约 146.3 GB)**。深度打包与上传已暂缓,不需要下载深度就能使用本次数据。 基础包已通过全量归档及逐文件 SHA-256 回读校验;实际三对样本的无深度解压、重复解压及 Windows 原生 tar 恢复测试通过。完整深度恢复测试尚未执行。 ## 下载哪些文件 两类包都是独立、完整的 `.tar` 文件,每包不超过 4 GiB,不是需要拼接的分卷。 - **不需要深度**:下载根目录的 `unpack.py`、`manifest.json`、`files.jsonl`、本 README,以及 `base/` 下全部 `.tar`。 - **当前需要深度**:本次尚未提供,请勿选择 `--depth` 或 `--all`,脚本会明确报错。 - **以后再加深度**:保留已解压的基础数据。后续深度版本发布后,更新配套的 `manifest.json`、`files.jsonl`、`unpack.py`、校验清单及说明,再补下载同版本 `depth/` 全部 `.tar`,解压到第一次使用的同一目录。 `SHA256SUMS` 是额外的人工校验清单,`validation.json` 是打包与恢复测试报告。 具体文件名、字节数和 SHA-256 以 `manifest.json` 为准。本次 manifest 只列出已验证的基础包,不将暂缓的深度包列为已交付。不要混用不同源快照的基础包和深度包。 视频和 Zarr chunk 本身已经压缩,因此 tar 只负责归档,不重复有损编码或重压缩。 基础数据约 146.3 GB,深度约 147.3 GB;保留压缩包并同时解压全部数据时,请预留约 600 GB 加余量。 下载后保持下面的相对位置: ```text GenVR-duo-20261023-packages/ README.md unpack.py manifest.json files.jsonl SHA256SUMS validation.json base/base-0001.tar ... depth/depth-0001.tar ... # 可选,稍后再下载也可以 ``` ## 推荐解压命令:Windows、Linux、macOS 通用 需要 Python 3.9 或更高版本,脚本只使用标准库,不需要安装第三方依赖。 先进入放有 `unpack.py` 的包目录,再选择下面一种方式。Windows 若使用 `py -3`,将命令中的 `python` 替换为 `py -3` 即可。 **1. 只解压基础数据,不需要 depth** ```bash python unpack.py --base --output ./data ``` **2. 未来深度版本已发布并下载齐全后,一次解压全部** ```bash python unpack.py --all --output ./data ``` **3. 未来深度版本已发布后,向已有基础数据补充 depth** ```bash python unpack.py --depth --output ./data ``` 第二、三种方式留作后续深度版本的命令说明,当前基础版暂不启用。第三条命令的 `--output` 必须与第一次相同。它只添加 depth,不搬动或覆盖视频、相机及基础索引。 重复执行时,内容相同的已有文件会被校验后跳过;如果已有文件不同,脚本会报错并保留它,不强行覆盖。 脚本会检查所选包是否齐全、SHA-256、每个解压文件的 SHA-256 和恢复后的目录结构。 depth 独立包需要与对应版本的基础数据配合使用,不能单独组成可训练数据集。 只校验下载,不解压: ```bash python unpack.py --base --verify-only python unpack.py --depth --verify-only ``` 只下载基础包时,校验和解压都不要求下载 depth 包。 缺包、截断、校验失败或危险路径会报错,不会被当作成功。 脚本不会删除下载包,也不会通过硬链接或符号链接恢复内容。 ## 解压后文件结构 三种方式都恢复到同一个根目录,不会出现多套重复的 dataset 目录: ```text data/GenVR-duo-20261023/ README.md genvr_i2s.jsonl # 默认:无深度,use_depth=false genvr_i2s_nodepth.jsonl # 与默认索引相同 genvr_i2s_with_depth.jsonl # 已安装 depth 时使用 loader_requirements.json # 默认:use_depth=false loader_requirements_with_depth.json # use_depth=true source_mapping.jsonl release_manifest.json source_dataset_release_manifest.json reader_validation.json ue5-pro/mapNNNN/sceneNNNN/ prompt.txt camsNN/ meta.json videos/left.mp4 videos/right.mp4 cameras/left.json cameras/right.json depth-zstd-5-mm/ # 仅安装 depth 后存在 meta.json group.zarr/ .zgroup .zattrs left/.zarray left/.zattrs left/0.0.0 ... left/60.0.0 right/.zarray right/.zattrs right/0.0.0 ... right/60.0.0 ``` 基础包不包含任何 `depth-zstd-5-mm/` 文件。深度包只包含这些目录下的文件;两类包的文件路径不重叠。 两类 tar 都内置 `GenVR-duo-20261023/` 前缀,解压到同一个 `data/` 即可自动合并。 所有 JSONL 路径相对于该数据根目录,不依赖原机器的 E 盘路径。 Zarr 的点号文件和全部 61 个时间 chunk 都必须保留,不要手工过滤隐藏文件。 ## 训练时选择对应索引 | 已安装内容 | 索引 | 配置 | |---|---|---| | 只有基础数据 | `genvr_i2s.jsonl` 或 `genvr_i2s_nodepth.jsonl` | `loader_requirements.json`,`use_depth=false` | | 基础数据+depth | `genvr_i2s_with_depth.jsonl` | `loader_requirements_with_depth.json`,`use_depth=true` | **追加深度不会自动改变默认训练模式。** 默认索引始终是无深度版,避免仅下载基础包时读取器误报缺失。 需要深度监督时,显式选择含深度索引及对应配置即可;不必重新解压基础包或调整目录。 两个索引包含同一批 2008 对视频、相机及样本 ID,只在是否要求深度字段上不同。 每对 `meta.json` 中的 depth 信息描述可选附件,不表示基础包已经安装了它。 使用原 FastVideo 原始视频读取模式:`online_vae_encoding=true`、`online_text_encoding=true`、`is_v2v=false`。 两种模式都保留相机,`use_camera=true`;不是离线 VAE/text/CLIP 特征包。 prompt 是程序化场景元数据描述,不冒充人工视觉 caption。 只有真实 left/right,不补造 Ref、五相机角色或 V2S 能力。 ## 不使用 Python 时的原生 tar 命令 仍推荐先用上面的 `--verify-only` 校验所选包。以下原生 tar 命令只负责解压,不额外验证每个成员文件。 Linux / macOS,只解压基础包: ```bash mkdir -p ./data for archive in base/*.tar; do tar -xf "$archive" -C ./data || exit 1 done ``` 以后补深度,仍解压到同一个目录: ```bash for archive in depth/*.tar; do tar -xf "$archive" -C ./data || exit 1 done ``` Windows PowerShell,只解压基础包: ```powershell New-Item -ItemType Directory -Force -Path .\data | Out-Null Get-ChildItem .\base\*.tar | Sort-Object Name | ForEach-Object { tar -xf $_.FullName -C .\data if ($LASTEXITCODE -ne 0) { throw "解压失败:$($_.Name)" } } ``` 以后补深度: ```powershell Get-ChildItem .\depth\*.tar | Sort-Object Name | ForEach-Object { tar -xf $_.FullName -C .\data if ($LASTEXITCODE -ne 0) { throw "解压失败:$($_.Name)" } } ``` 两类包一起解压时,依次执行基础包和深度包命令,`-C` 目录保持不变。 不要把每个 tar 解压到一个同名新文件夹,也不要把这些独立 tar 用 `cat` 或二进制拼接合并。 ## 数据格式与验证范围 相机保留五字段 `K/camera_to_world/world_to_camera/height/width` 和实际 639.5/359.5 主点。 相机轴为 OpenCV right/down/forward,世界坐标为米 `(UE_Y,-UE_Z,UE_X)/100`。 深度为直接原生 camera-Z:Zarr v2、`uint32[241,720,1280]`、chunks `[4,720,1280]`、Blosc Zstd5、shuffle1。 存储单位为整数毫米,scale1000、invalid0;解码为 `array.astype(float32)/1000` 米。它不是原 float32 位精确数据,也不是视差或逆深度。 归档复制的是普通文件字节,不重编码或修改已验收源文件;原导出目录的 NTFS 硬链接不会变成 tar 硬链接条目。 本次 35 个基础包的全量归档和逐成员 SHA-256 校验、三对真实样本的基础恢复测试结果见 `validation.json`。完整和后补深度恢复测试暂缓,不属于本次通过范围。 此前原服务器读取器已对三对双眼帧 0/120/240 实读通过,报告保留在恢复目录中;这不冒充整训练运行或人工全片视觉审查。 本次未指定对外发布许可证,仅授权上传到指定私有仓库,不授权公开传播。



