开放视觉多任务与图文图编辑数据集
收藏资源简介:
# open-vision-banana open-vision-banana 是基于 SenseNova-Vision-Corpus-50M 当前项目整理的多任务视觉语料,覆盖结构化视觉理解、分割、稠密几何预测和多视图几何重建。其中,相对深度估计、表面法线估计和多视图重建采用“输入图像 + 文本指令 → 输出图像”的图-文-图训练格式,可用于扩展图像编辑与视觉生成模型的任务能力。 ## 数据概览 当前版本包含 **83 个 JSONL 清单、37,534,441 条原始样本**。清单约 28.97 GB(十进制),本地完整目录(含媒体与清洁清单)约 **5.9TB**(`du -sh` 统计)。图像和掩码等媒体文件按原始数据源目录组织。 针对当前具有本地媒体的 16 个候选训练任务,`training/cleaned_manifests/` 提供逐条检查后的清洁清单:从 25,162,977 条候选记录中保留 **16,732,802 条有效样本**,过滤 8,430,175 条缺图记录,无 JSON 无效记录。详细统计见 `training/cleaned_manifests/cleaned_summary.json`。 `image_text_image/` 进一步将这 16 个即训任务统一为“输入图像 + 文本指令 → 输出图像”格式,共 **16,732,802 条双图样本**。除深度和法线外,新增全景分割、接地分割、框检测、点检测、指称定位和视觉提示检测等 **10 个数据集、7,099,481 条样本**。检测目标图由原始结构化真值渲染,分割目标复用原始掩码,不引入合成标注。 | 任务族 | 清单数 | 样本数 | 交互形式 | | --- | ---: | ---: | --- | | 稠密几何预测 | 10 | 17,320,707 | 图-文-图 | | 多视图几何重建 | 4 | 35,486 | 图-文-图 | | 分割与接地描述 | 40 | 1,266,969 | 图像/文本到文本与掩码 | | 结构化视觉理解 | 29 | 18,911,279 | 图像/文本到结构化文本 | 图-文-图样本合计 **17,356,193 条**。`dataset_index.json` 和 `task_index.csv` 提供每个清单的任务类型、来源、样本数、交互形式和文件大小。 ## 视觉任务 ### 1. 图-文-图图像编辑与生成 - **相对深度估计**:根据文本指令,将输入 RGB 图像转换为连续灰度相对深度图。 - **表面法线估计**:根据文本指令,生成具有平滑 RGB 变化的表面法线图。 - **全景与接地分割**:输出数据集中与类别、颜色或接地描述对应的原始分割掩码。 - **检测与定位可视化**:输出按真值绘制边界框或定位点的图像,覆盖常规检测、指称定位和视觉提示检测。 - **多视图几何重建**:原始清单输入同一场景的多帧图像和重建指令;本地缺少 RGB 的子集不在即训双图版本中发布。 相关目录: - `image_text_image/manifests/`:16 个统一双图清单,所有媒体路径均相对于数据集根目录。 - `image_text_image/archives/<任务>/`:完整任务的独立 TAR 分片、SHA256 索引和摘要;这是完整媒体的发布形式,解包后保持清单路径不变。 - `image_text_image/media/`:由检测真值渲染的目标图,按任务和源路径组织。 - `image_text_image/task_registry.json`:统一任务索引、实际样本数和逐任务报告链接。 - `dense_geometric_prediction/`、`multiview_visual_geometry/`:原始几何任务清单。 - `coco2017/`、`object365/`、`sa_1b/`、`coconut/`、`PSG/` 等:对应的输入图像和原始目标媒体。 典型记录: ```json { "id": 0, "image": [ "coco2017/train2017/000000000009.jpg", "coco2017/depth/000000000009_depth.png" ], "conversations": [ {"from": "human", "value": "<image>Predict relative depth ..."}, {"from": "gpt", "value": "<image>"} ] } ``` `image` 数组按出现顺序对应输入图像和输出图像;`conversations` 中的 `<image>` 占位符表示图像在对话中的位置。 ### 2. 分割与接地描述 - 全景/实例分割(`genseg`)。 - 带分割掩码的接地图像描述(`gcg`)。 - 文本答案使用 `<p>`、`<color>` 和 `<SEG>` 表达类别、颜色与掩码位置。 清单位于 `segmentation/`,媒体文件位于 `51WORLD/`、`Cityscapes/`、`coconut/`、`entityv2/`、`hypersim/`、`LVIS/` 等源数据目录。 ### 3. 结构化视觉理解 - 点检测、框检测和视觉提示检测。 - 指代表达定位(点与框)。 - OCR 文本行/词级识别,输出边界框或多边形。 - 输出使用 `<point>`、`<bbox>`、`<poly>` 等结构化标记;坐标格式和归一化方式以各清单样本为准。 清单位于 `structure_view_understanding/`。 ## 文件组织与索引 所有清单均为 UTF-8 JSONL,每行一条独立样本。常见字段包括: - `id` / `image_id`:样本标识。 - `image`:单个路径或有序路径数组。 - `seg`:分割掩码路径(分割任务)。 - `conversations`:`human` 指令与 `gpt` 答案组成的多模态对话。 - `caption`、`category`、`num_instances`:部分数据源的附加标注。 路径可能是仓库根目录相对路径,也可能是相应源数据目录下的相对路径;加载时应结合清单来源和 `task_index.csv` 解析。部分源数据的媒体文件可能需要依据其原始发布方式单独获取,本仓库不因收录清单而免除相应获取或许可要求。 索引字段: - `category`:任务族。 - `task`:具体视觉任务。 - `interaction_mode`:`image-text-image`、`image-text-mask` 或 `image-text-text`。 - `source`:原始数据源。 - `manifest`:清单在仓库中的路径。 - `samples`:清单行数。 - `size_bytes`:清单字节数。 ## 获取与读取 仅获取数据集卡片和索引: ```python from modelscope import dataset_snapshot_download root = dataset_snapshot_download( "isLinXu/open-vision-banana", allow_patterns=[ "README.md", "dataset_index.json", "task_index.csv", "image_text_image/task_registry.json", ], ) print(root) ``` 逐行读取统一双图清单,避免一次性将大型文件载入内存: ```python import json with open("image_text_image/manifests/coco_depth.jsonl", encoding="utf-8") as f: for line in f: sample = json.loads(line) input_path, output_path = sample["image"] break ``` 完整媒体按任务发布为 TAR 分片。下载所需任务的 `image_text_image/archives/<任务>/` 全部文件及对应清单后,在数据集根目录执行: ```bash python training/extract_image_text_image.py --tasks coconut_b ``` 解包工具会核对每个分片的 SHA256,并将媒体还原到清单中的原始相对路径。仅校验、不解包时添加 `--verify-only`。仓库中的部分散图不是完整发布形式。 ## 训练接入 `training/` 提供与 SenseNova-Vision / open-vision-banana 加载协议配套的全量、即训和统一图—文—图配置。即训配置只包含媒体检查通过的记录,全量配置保留全部 83 个原始清单。 ```bash python training/prepare_training.py \ --project /path/to/open-vision-banana-project \ --manifest-mode image-edit \ --samples-per-manifest 100 ``` 随后在项目根目录运行: ```bash bash scripts/test_dataset.sh data/configs/cv_unify/open_vision_banana_image_edit.yaml ``` 新增任务组需要在训练项目的任务注册表中映射到双图编辑加载器;数据集名称和样本数见 `training/open_vision_banana_image_edit.yaml`。若使用原有多任务格式,可将 `--manifest-mode` 改为 `ready`,配置文件相应改为 `open_vision_banana_ready.yaml`。 完整使用方法、全量模式和媒体要求见 [`training/README.md`](training/README.md)。 ## 使用注意事项 - 本语料汇集多个第三方数据源,各图像、标注和清单的原始许可可能不同;使用者须逐项核查并遵守源数据集许可、引用要求和适用法规。 - 数据规模较大,建议先下载索引与所需任务清单,再按任务获取对应媒体文件。 - 清单样本数按 JSONL 行数统计,不等于独立图像数;多视图样本会引用多张图像。 - 训练前应进行路径检查、媒体完整性校验、去重及训练/验证集泄漏检查。 ## 引用 使用具体子集时,请同时引用对应的原始数据集。本仓库名称为 `open-vision-banana`,本地整理目录为 `SenseNova-Vision-Corpus-50M`。



