视频对象参考分割(Referring Video Object Segmentation,R-VOS)是一个多模态分割任务,给定一个自然语言描述(查询),R-VOS期望分割出视频中对应的描述物体,如下图所示。
R-VOS任务常用的数据集包括A2D-Sentences、JHMDB-Sentences、Ref-Youtube-VOS、Ref-DAVIS,本文对上述数据集的基本情况进行记录。
Ref-Youtube-VOS是一个大规模的RVOS任务基准测试集,其包含3978个视频和1.5w个语言描述。
split | samples | labels |
---|---|---|
train | 3471 | 有 |
valid | 202 | 无 |
test | 305 | 无 |
只有训练集提供了对应的mask标签,如果要对模型效果进行评价只能将结果提交至服务器。
Ref-Youtube-VOS数据集的文件组织形式如下:
ref-youtube-vos
├── meta_expressions
├── train
│ ├── JPEGImages
│ ├── Annotations
├── valid
│ ├── JPEGImages
├── test
│ ├── JPEGImages
对于每一个样本,视频以一系列图片的形式给出,位于train/JPEGImages文件夹下;对应的mask也是帧图片的形式,位于train/Annotations文件夹下;
物体语言描述由三个meta_expressions.json给出,json文件中item的描述形式如下:
{
"videos": {
"003234408d": {
"expressions": {
"0": {
"exp": "a penguin is on the left in the front with many others on the hill",
"obj_id": "1"},
"2": {
"exp": "a black and white penguin in the front looking down",
"obj_id": "2"},
"4": {
"exp": "a penguin is on the left in the middle sitting down on the rocks",
"obj_id": "3"},
"6": {
"exp": "a black and white penguin is sitting in the middle of other looking right",
"obj_id": "4"},
"9": {
"exp": "a penguin seating down on top of the rock by the top middle side of the screen facing left",
"obj_id": "5" }
...
},
"frames": [
"00000",
"00005",
"00010",
"00015",
...]
},
...}
}
每个视频中存在多个参考物体,同时,每个参考物体一般对应两个以上的语言描述。
Ref-DAVIS17数据集是在DAVIS17数据集的基础上构建而来,为每个视频中的特定对象提供了相应的语言描述,总共包含90个视频。
split | samples | labels |
---|---|---|
train | 60 | 有 |
valid | 30 | 有 |
在使用时将Ref-DAVIS17的样本格式调整成Ref-Youtube-VOS格式。
Ref-DAVIS数据集在使用时需要将其文件格式调整成与Ref-Youtube-VOS相似的形式,其文件组织如下
ref-davis
├── meta_expressions
├── train
│ ├── JPEGImages
│ ├── Annotations
├── valid
│ ├── JPEGImages
A2D-Sentences数据集包含3782个视频样本,每个视频对应有3~5帧的mask标注图像;A2D-Sentences数据集大概包含6656个语言描述和对应的实例。
A2D-Sentences数据集总共划分为train和test两部分,且每个视频都具有标注的mask文件,所以是可以进行本地验证的。train和test数据集的具体比例我没弄清,大概是4:1的比例。
A2D-Sentences数据集的文件组织形式如下:
a2d_sentences
├── Release
│ ├── clips320H
│ ├── Annotations
├── text_annotations
│ ├── a2d_annotation_with_instances
│ ├── a2d_annotation.txt
│ ├── a2d_missed_videos.txt
├── a2d_sentences_single_frame_test_annotations.json
├── a2d_sentences_single_frame_train_annotations.json
├── a2d_sentences_test_annotations_in_coco_format.json
A2D-Sentences的视频样本是mp4格式的文件,位于Release/clips320H文件夹下;对应的标注mask以png图片或者mat文件形式给出,位于Release/Annotations文件夹下。
a2d_sentences_single_frame_test_annotations.json和a2d_sentences_single_frame_train_annotations.json提供了每个视频的每个帧中参考物体的语言描述,json文件如下所示。
[
["the pigeon is limping", "--h5fAKYurM", 30, 0],
["the pigeon is limping", "--h5fAKYurM", 60, 0],
["the pigeon is limping", "--h5fAKYurM", 90, 0],
["player in blue shirt passing a basketball on left", "-0cOo0cRVZU", 40, 0],
["player in blue shirt passing a basketball on left", "-0cOo0cRVZU", 80, 0],
["player in blue shirt passing a basketball on left", "-0cOo0cRVZU", 120, 0],
...
]
除此之外,text_annotations/a2d_annotation_with_instances中还提供了每个物体的bounding box标注和mask标注。
JHMDB - Sentences数据集共有928个视频,以及对应的928个语言描述。
官方似乎并没有给定如何划分,况且所有视频都给定了mask标注,可以自由划分;最近的工作都是直接用A2D-Sentences数据集上训练好的模型在JHMDB-Sentences进行验证,并不在JHMDB上进行微调。
JHMDB-Sentences视频以图片的形式给出,位于Rename_Images/文件夹下;对应的mask标注以mat形式给出,位于puppet_mask/文件夹下。
jhmdb_annotation.txt文件给出了video_id和对应的language query,如下所示。
video_id,query
100_pullups_pullup_f_nm_np1_fr_med_1,man in black pulling up
100_pullups_pullup_f_nm_np1_fr_med_2,a man in black is pulling up
100_pullups_pullup_u_nm_np1_fr_med_0,man in black pulling up
...
JHMDB-Sentences数据集的文件组织形式如下:
jhmdb_sentences
├── Rename_Images
├── puppet_mask
├── jhmdb_annotation.txt
├── jhmdb_sentences_samples_metadata.json
├── jhmdb_sentences_gt_annotations_in_coco_format.json