# v-coco-faster
**Repository Path**: mypyml/v-coco
## Basic Information
- **Project Name**: v-coco-faster
- **Description**: Python3支持;更快、更合理的VCOCO-HOI-APRole计算方法
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: py3-fast
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-01-16
- **Last Updated**: 2024-01-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Python3支持、更快、更合理
# Verbs in COCO (V-COCO) Dataset
This repository hosts the Verbs in COCO (V-COCO) dataset and associated code to evaluate models for the Visual Semantic Role Labeling (VSRL) task as ddescribed in ``this technical report ``.
### Citing
If you find this dataset or code base useful in your research, please consider citing the following papers:
@article{gupta2015visual,
title={Visual Semantic Role Labeling},
author={Gupta, Saurabh and Malik, Jitendra},
journal={arXiv preprint arXiv:1505.04474},
year={2015}
}
@incollection{lin2014microsoft,
title={Microsoft COCO: Common objects in context},
author={Lin, Tsung-Yi and Maire, Michael and Belongie, Serge and Hays, James and Perona, Pietro and Ramanan, Deva and Doll{\'a}r, Piotr and Zitnick, C Lawrence},
booktitle={Computer Vision--ECCV 2014},
pages={740--755},
year={2014},
publisher={Springer}
}
### Installation
1. Clone repository (recursively, so as to include COCO API).
```Shell
git clone --recursive https://github.com/s-gupta/v-coco.git
```
2. This dataset builds off ``MS COCO``, please download MS-COCO images and annotations.
3. Current V-COCO release only uses a subset of MS-COCO images (Image IDs listed in ``data/splits/vcoco_all.ids``). Use the following script to pick out annotations from the COCO annotations to allow faster loading in V-COCO.
```Shell
# Assume you cloned the repository to `VCOCO_DIR'
cd $VCOCO_DIR
# If you downloaded coco annotations to coco-data/annotations
python script_pick_annotations.py coco-data/annotations
```
4. Build ``coco/PythonAPI/pycocotools/_mask.so``, ``cython_bbox.so``.
```Shell
# Assume you cloned the repository to `VCOCO_DIR'
cd $VCOCO_DIR/coco/PythonAPI/ && make
cd $VCOCO_DIR && make
```
### Using the dataset
1. An IPython notebook, illustrating how to use the annotations in the dataset is available in ``V-COCO.ipynb``
2. The current release of the dataset includes annotations as indicated in Table 1 in the paper. We are collecting role annotations for the 6 categories (that are missing) and will make them public shortly.
### Evaluation
We provide evaluation code that computes ``agent AP`` and ``role AP``, as explained in the paper.
In order to use the evaluation code, store your predictions as a ``pickle file (.pkl)`` in the following format:
```Shell
[ {'image_id': # the coco image id,
'person_box': #[x1, y1, x2, y2] the box prediction for the person,
'[action]_agent': # the score for action corresponding to the person prediction,
'[action]_[role]': # [x1, y1, x2, y2, s], the predicted box for role and
# associated score for the action-role pair.
} ]
```
Assuming your detections are stored in ``det_file=/path/to/detections/detections.pkl``, do
```Shell
from vsrl_eval import VCOCOeval
vcocoeval = VCOCOeval(vsrl_annot_file, coco_file, split_file)
# e.g. vsrl_annot_file: data/vcoco/vcoco_val.json
# coco_file: data/instances_vcoco_all_2014.json
# split_file: data/splits/vcoco_val.ids
vcocoeval._do_eval(det_file, ovr_thresh=0.5)
```
We introduce two scenarios for ``role AP`` evaluation.
1. [Scenario 1] In this scenario, for the test cases with missing role annotations an agent role prediction is correct if the action is correct & the overlap between the person boxes is >0.5 & the corresponding role is empty e.g. ``[0,0,0,0]`` or ``[NaN,NaN,NaN,NaN]``. This scenario is fit for missing roles due to occlusion.
2. [Scenario 2] In this scenario, for the test cases with missing role annotations an agent role prediction is correct if the action is correct & the overlap between the person boxes is >0.5 (the corresponding role is ignored). This scenario is fit for the cases with roles outside the COCO categories.