DATA_README_zh.md 3.5 KB

准备数据集

训练数据

请准备 CC12M 数据集。所有图像应存储在一个文件夹中。需要一个元文件(csv 或 tsv 文件),其中包含图像 ID 及其对应的标题。

image_id, caption
00001.jpg, a boy is running on the beach,
00002.jpg, The bride was wearing a chic lace.
...
  • 重要更新: 我们提供了过滤 cc12m 子集并从头构建跨图像对的脚本:
  1. 使用多进程(例如 32 个进程)过滤 cc12m 数据集,使用 Top-K 频繁出现的实体。可以自由修改 data_process_cc12m.py 中的实体。

    cd datasets
    python data_process_cc12m.py --mode filter --srcdir /path/to/your/cc12m.csv --processor 32
    

    这将在 subset/ 目录中生成 32 个子文件。

  2. 接下来,将这些子文件合并为单个元文件(并可选择通过传递 --remove_subfiles=True 删除子文件)。

    python data_process_cc12m.py --mode merge --dstdir /path/to/your/cc12m/subsets/ --remove_subfiles True
    
  3. 根据过滤后的数据构建跨图像对。

    python data_process_cc12m.py --mode makepair --metafile /path/to/your/cc12m_filtered_subset.csv
    

    生成的元文件将自动保存到 /path/to/your/cc12m_filtered_subset_pair.csv。此元文件可用于训练模型。

  4. 修改 configs/ovsegmentor/ovsegmentor_pretrain_vit_bert_stage1.yml 中的根路径和元文件路径

    data:
    train:
        root_dir: '/path/to/your/cc12m_images/'
        meta_file: '/path/to/your/cc12m_filtered_subset_pair.csv'
    

也可以尝试不同的 图像-标题数据集(例如 YFCC、RedCaps),方法是提供图像及其对应的元文件。

评估

  1. 按照官方网站准备 PASCAL VOCPASCAL ContextCOCOADE20K
  2. 对于 COCO 数据集,按照 GroupViT 将其转换为语义分割格式。

    python convert_dataset/convert_coco_object.py /path/to/your/coco/ -o /path/to/output/coco/
    
  3. 更改 segmentation/configs/base/datasets/*.py 中的图像目录。

  4. PASCAL VOC

    data_root = '/path/to/your/VOCdevkit/VOC2012'
    
  5. PASCAL CONTEXT

    data_root = '/path/to/your/pascal_context/VOCdevkit/VOC2010/'
    
  6. COCO Object

    data_root = '/path/to/your/coco/'
    
  7. COCO STUFF

    data_root = '/path/to/your/coco/'
    
  8. ADE20K

    data_root = '/path/to/your/ADEChallengeData2016/'
    
  9. 要启用零样本分类评估,请准备 ImageNet 的验证集。验证集的元文件已经在此处提供。修改 configs/ovsegmentor/ovsegmentor_pretrain_vit_bert_stage1.yml 中的图像路径

    val:
    root_dir: '/path/to/your/cc12m_images/'