|
# DensePose Datasets |
|
|
|
We summarize the datasets used in various DensePose training |
|
schedules and describe different available annotation types. |
|
|
|
## Table of Contents |
|
|
|
[General Information](#general-information) |
|
|
|
[DensePose COCO](#densepose-coco) |
|
|
|
[DensePose PoseTrack](#densepose-posetrack) |
|
|
|
[DensePose Chimps](#densepose-chimps) |
|
|
|
[DensePose LVIS](#densepose-lvis) |
|
|
|
## General Information |
|
|
|
DensePose annotations are typically stored in JSON files. Their |
|
structure follows the [COCO Data Format](https://cocodataset.org/#format-data), |
|
the basic data structure is outlined below: |
|
|
|
``` |
|
{ |
|
"info": info, |
|
"images": [image], |
|
"annotations": [annotation], |
|
"licenses": [license], |
|
} |
|
|
|
info{ |
|
"year": int, |
|
"version": str, |
|
"description": str, |
|
"contributor": str, |
|
"url": str, |
|
"date_created": datetime, |
|
} |
|
|
|
image{ |
|
"id": int, |
|
"width": int, |
|
"height": int, |
|
"file_name": str, |
|
"license": int, |
|
"flickr_url": str, |
|
"coco_url": str, |
|
"date_captured": datetime, |
|
} |
|
|
|
license{ |
|
"id": int, "name": str, "url": str, |
|
} |
|
``` |
|
|
|
DensePose annotations can be of two types: |
|
*chart-based annotations* or *continuous surface embeddings annotations*. |
|
We give more details on each of the two annotation types below. |
|
|
|
### Chart-based Annotations |
|
|
|
These annotations assume a single 3D model which corresponds to |
|
all the instances in a given dataset. |
|
3D model is assumed to be split into *charts*. Each chart has its own |
|
2D parametrization through inner coordinates `U` and `V`, typically |
|
taking values in `[0, 1]`. |
|
|
|
Chart-based annotations consist of *point-based annotations* and |
|
*segmentation annotations*. Point-based annotations specify, for a given |
|
image point, which model part it belongs to and what are its coordinates |
|
in the corresponding chart. Segmentation annotations specify regions |
|
in an image that are occupied by a given part. In some cases, charts |
|
associated with point annotations are more detailed than the ones |
|
associated with segmentation annotations. In this case we distinguish |
|
*fine segmentation* (associated with points) and *coarse segmentation* |
|
(associated with masks). |
|
|
|
**Point-based annotations**: |
|
|
|
`dp_x` and `dp_y`: image coordinates of the annotated points along |
|
the horizontal and vertical axes respectively. The coordinates are defined |
|
with respect to the top-left corner of the annotated bounding box and are |
|
normalized assuming the bounding box size to be `256x256`; |
|
|
|
`dp_I`: for each point specifies the index of the fine segmentation chart |
|
it belongs to; |
|
|
|
`dp_U` and `dp_V`: point coordinates on the corresponding chart. |
|
Each fine segmentation part has its own parametrization in terms of chart |
|
coordinates. |
|
|
|
**Segmentation annotations**: |
|
|
|
`dp_masks`: RLE encoded dense masks (`dict` containing keys `counts` and `size`). |
|
The masks are typically of size `256x256`, they define segmentation within the |
|
bounding box. |
|
|
|
### Continuous Surface Embeddings Annotations |
|
|
|
Continuous surface embeddings annotations also consist of *point-based annotations* |
|
and *segmentation annotations*. Point-based annotations establish correspondence |
|
between image points and 3D model vertices. Segmentation annotations specify |
|
foreground regions for a given instane. |
|
|
|
**Point-based annotations**: |
|
|
|
`dp_x` and `dp_y` specify image point coordinates the same way as for chart-based |
|
annotations; |
|
|
|
`dp_vertex` gives indices of 3D model vertices, which the annotated image points |
|
correspond to; |
|
|
|
`ref_model` specifies 3D model name. |
|
|
|
**Segmentation annotations**: |
|
|
|
Segmentations can either be given by `dp_masks` field or by `segmentation` field. |
|
|
|
`dp_masks`: RLE encoded dense masks (`dict` containing keys `counts` and `size`). |
|
The masks are typically of size `256x256`, they define segmentation within the |
|
bounding box. |
|
|
|
`segmentation`: polygon-based masks stored as a 2D list |
|
`[[x1 y1 x2 y2...],[x1 y1 ...],...]` of polygon vertex coordinates in a given |
|
image. |
|
|
|
## DensePose COCO |
|
|
|
<div align="center"> |
|
<img src="http://cocodataset.org/images/densepose-splash.png" width="700px" /> |
|
</div> |
|
<p class="image-caption"> |
|
<b>Figure 1.</b> Annotation examples from the DensePose COCO dataset. |
|
</p> |
|
|
|
DensePose COCO dataset contains about 50K annotated persons on images from the |
|
[COCO dataset](https://cocodataset.org/#home) |
|
The images are available for download from the |
|
[COCO Dataset download page](https://cocodataset.org/#download): |
|
[train2014](http://images.cocodataset.org/zips/train2014.zip), |
|
[val2014](http://images.cocodataset.org/zips/val2014.zip). |
|
The details on available annotations and their download links are given below. |
|
|
|
### Chart-based Annotations |
|
|
|
Chart-based DensePose COCO annotations are available for the instances of category |
|
`person` and correspond to the model shown in Figure 2. |
|
They include `dp_x`, `dp_y`, `dp_I`, `dp_U` and `dp_V` fields for annotated points |
|
(~100 points per annotated instance) and `dp_masks` field, which encodes |
|
coarse segmentation into 14 parts in the following order: |
|
`Torso`, `Right Hand`, `Left Hand`, `Left Foot`, `Right Foot`, |
|
`Upper Leg Right`, `Upper Leg Left`, `Lower Leg Right`, `Lower Leg Left`, |
|
`Upper Arm Left`, `Upper Arm Right`, `Lower Arm Left`, `Lower Arm Right`, |
|
`Head`. |
|
|
|
<div align="center"> |
|
<img src="https://dl.fbaipublicfiles.com/densepose/web/densepose_human_charts_wcoarse.png" width="500px" /> |
|
</div> |
|
<p class="image-caption"> |
|
<b>Figure 2.</b> Human body charts (<i>fine segmentation</i>) |
|
and the associated 14 body parts depicted with rounded rectangles |
|
(<i>coarse segmentation</i>). |
|
</p> |
|
|
|
The dataset splits used in the training schedules are |
|
`train2014`, `valminusminival2014` and `minival2014`. |
|
`train2014` and `valminusminival2014` are used for training, |
|
and `minival2014` is used for validation. |
|
The table with annotation download links, which summarizes the number of annotated |
|
instances and images for each of the dataset splits is given below: |
|
<table><tbody> |
|
<!-- START TABLE --> |
|
<!-- TABLE HEADER --> |
|
<th valign="bottom">Name</th> |
|
<th valign="bottom"># inst</th> |
|
<th valign="bottom"># images</th> |
|
<th valign="bottom">file size</th> |
|
<th valign="bottom">download</th> |
|
<!-- TABLE BODY --> |
|
<!-- ROW: densepose_train2014 --> |
|
<tr><td align="left">densepose_train2014</td> |
|
<td align="center">39210</td> |
|
<td align="center">26437</td> |
|
<td valign="center">526M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco/densepose_train2014.json">densepose_train2014.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_valminusminival2014 --> |
|
<tr><td align="left">densepose_valminusminival2014</td> |
|
<td align="center">7297</td> |
|
<td align="center">5984</td> |
|
<td valign="center">105M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco/densepose_valminusminival2014.json">densepose_valminusminival2014.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_minival2014 --> |
|
<tr><td align="left">densepose_minival2014</td> |
|
<td align="center">2243</td> |
|
<td align="center">1508</td> |
|
<td valign="center">31M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco/densepose_minival2014.json">densepose_minival2014.json</a></td> |
|
</tr> |
|
</tbody></table> |
|
|
|
### Continuous Surface Embeddings Annotations |
|
|
|
DensePose COCO continuous surface embeddings annotations are available for the instances |
|
of category `person`. The annotations correspond to the 3D model shown in Figure 2, |
|
and include `dp_x`, `dp_y` and `dp_vertex` and `ref_model` fields. |
|
All chart-based annotations were also kept for convenience. |
|
|
|
As with chart-based annotations, the dataset splits used in the training schedules are |
|
`train2014`, `valminusminival2014` and `minival2014`. |
|
`train2014` and `valminusminival2014` are used for training, |
|
and `minival2014` is used for validation. |
|
The table with annotation download links, which summarizes the number of annotated |
|
instances and images for each of the dataset splits is given below: |
|
<table><tbody> |
|
<!-- START TABLE --> |
|
<!-- TABLE HEADER --> |
|
<th valign="bottom">Name</th> |
|
<th valign="bottom"># inst</th> |
|
<th valign="bottom"># images</th> |
|
<th valign="bottom">file size</th> |
|
<th valign="bottom">download</th> |
|
<!-- TABLE BODY --> |
|
<!-- ROW: densepose_train2014_cse --> |
|
<tr><td align="left">densepose_train2014_cse</td> |
|
<td align="center">39210</td> |
|
<td align="center">26437</td> |
|
<td valign="center">554M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco_cse/densepose_train2014_cse.json">densepose_train2014_cse.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_valminusminival2014_cse --> |
|
<tr><td align="left">densepose_valminusminival2014_cse</td> |
|
<td align="center">7297</td> |
|
<td align="center">5984</td> |
|
<td valign="center">110M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco_cse/densepose_valminusminival2014_cse.json">densepose_valminusminival2014_cse.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_minival2014_cse --> |
|
<tr><td align="left">densepose_minival2014_cse</td> |
|
<td align="center">2243</td> |
|
<td align="center">1508</td> |
|
<td valign="center">32M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco_cse/densepose_minival2014_cse.json">densepose_minival2014_cse.json</a></td> |
|
</tr> |
|
</tbody></table> |
|
|
|
## DensePose PoseTrack |
|
|
|
<div align="center"> |
|
<img src="https://posetrack.net/workshops/eccv2018/assets/images/densepose-posetrack_examples.jpg" width="700px" /> |
|
</div> |
|
<p class="image-caption"> |
|
<b>Figure 3.</b> Annotation examples from the PoseTrack dataset. |
|
</p> |
|
|
|
DensePose PoseTrack dataset contains annotated image sequences. |
|
To download the images for this dataset, please follow the instructions |
|
from the [PoseTrack Download Page](https://posetrack.net/users/download.php). |
|
|
|
### Chart-based Annotations |
|
|
|
Chart-based DensePose PoseTrack annotations are available for the instances with category |
|
`person` and correspond to the model shown in Figure 2. |
|
They include `dp_x`, `dp_y`, `dp_I`, `dp_U` and `dp_V` fields for annotated points |
|
(~100 points per annotated instance) and `dp_masks` field, which encodes |
|
coarse segmentation into the same 14 parts as in DensePose COCO. |
|
|
|
The dataset splits used in the training schedules are |
|
`posetrack_train2017` (train set) and `posetrack_val2017` (validation set). |
|
The table with annotation download links, which summarizes the number of annotated |
|
instances, instance tracks and images for the dataset splits is given below: |
|
<table><tbody> |
|
<!-- START TABLE --> |
|
<!-- TABLE HEADER --> |
|
<th valign="bottom">Name</th> |
|
<th valign="bottom"># inst</th> |
|
<th valign="bottom"># images</th> |
|
<th valign="bottom"># tracks</th> |
|
<th valign="bottom">file size</th> |
|
<th valign="bottom">download</th> |
|
<!-- TABLE BODY --> |
|
<!-- ROW: densepose_posetrack_train2017 --> |
|
<tr><td align="left">densepose_posetrack_train2017</td> |
|
<td align="center">8274</td> |
|
<td align="center">1680</td> |
|
<td align="center">36</td> |
|
<td valign="center">118M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco/densepose_posetrack_train2017.json">densepose_posetrack_train2017.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_posetrack_val2017 --> |
|
<tr><td align="left">densepose_posetrack_val2017</td> |
|
<td align="center">4753</td> |
|
<td align="center">782</td> |
|
<td align="center">46</td> |
|
<td valign="center">59M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/coco/densepose_posetrack_val2017.json">densepose_posetrack_val2017.json</a></td> |
|
</tr> |
|
</tbody></table> |
|
|
|
## DensePose Chimps |
|
|
|
<div align="center"> |
|
<img src="https://dl.fbaipublicfiles.com/densepose/web/densepose_chimps_preview.jpg" width="700px" /> |
|
</div> |
|
<p class="image-caption"> |
|
<b>Figure 4.</b> Example images from the DensePose Chimps dataset. |
|
</p> |
|
|
|
DensePose Chimps dataset contains annotated images of chimpanzees. |
|
To download the images for this dataset, please use the URL specified in |
|
`image_url` field in the annotations. |
|
|
|
### Chart-based Annotations |
|
|
|
Chart-based DensePose Chimps annotations correspond to the human model shown in Figure 2, |
|
the instances are thus annotated to belong to the `person` category. |
|
They include `dp_x`, `dp_y`, `dp_I`, `dp_U` and `dp_V` fields for annotated points |
|
(~3 points per annotated instance) and `dp_masks` field, which encodes |
|
foreground mask in RLE format. |
|
|
|
Chart-base DensePose Chimps annotations are used for validation only. |
|
The table with annotation download link, which summarizes the number of annotated |
|
instances and images is given below: |
|
|
|
<table><tbody> |
|
<!-- START TABLE --> |
|
<!-- TABLE HEADER --> |
|
<th valign="bottom">Name</th> |
|
<th valign="bottom"># inst</th> |
|
<th valign="bottom"># images</th> |
|
<th valign="bottom">file size</th> |
|
<th valign="bottom">download</th> |
|
<!-- TABLE BODY --> |
|
<!-- ROW: densepose_chimps --> |
|
<tr><td align="left">densepose_chimps</td> |
|
<td align="center">930</td> |
|
<td align="center">654</td> |
|
<td valign="center">6M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/densepose_chimps/densepose_chimps_full_v2.json">densepose_chimps_full_v2.json</a></td> |
|
</tr> |
|
</tbody></table> |
|
|
|
### Continuous Surface Embeddings Annotations |
|
|
|
Continuous surface embeddings annotations for DensePose Chimps |
|
include `dp_x`, `dp_y` and `dp_vertex` point-based annotations |
|
(~3 points per annotated instance), `dp_masks` field with the same |
|
contents as for chart-based annotations and `ref_model` field |
|
which refers to a chimpanzee 3D model `chimp_5029`. |
|
|
|
The dataset is split into training and validation subsets. |
|
The table with annotation download links, which summarizes the number of annotated |
|
instances and images for each of the dataset splits is given below: |
|
|
|
The table below outlines the dataset splits: |
|
<table><tbody> |
|
<!-- START TABLE --> |
|
<!-- TABLE HEADER --> |
|
<th valign="bottom">Name</th> |
|
<th valign="bottom"># inst</th> |
|
<th valign="bottom"># images</th> |
|
<th valign="bottom">file size</th> |
|
<th valign="bottom">download</th> |
|
<!-- TABLE BODY --> |
|
<!-- ROW: densepose_chimps_cse_train --> |
|
<tr><td align="left">densepose_chimps_cse_train</td> |
|
<td align="center">500</td> |
|
<td align="center">350</td> |
|
<td valign="center">3M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/densepose_chimps/densepose_chimps_cse_train.json">densepose_chimps_cse_train.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_chimps_cse_val --> |
|
<tr><td align="left">densepose_chimps_cse_val</td> |
|
<td align="center">430</td> |
|
<td align="center">304</td> |
|
<td valign="center">3M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/densepose_chimps/densepose_chimps_cse_val.json">densepose_chimps_cse_val.json</a></td> |
|
</tr> |
|
</tbody></table> |
|
|
|
## DensePose LVIS |
|
|
|
<div align="center"> |
|
<img src="https://dl.fbaipublicfiles.com/densepose/web/lvis_selected_animals_preview.jpg" width="700px" /> |
|
</div> |
|
<p class="image-caption"> |
|
<b>Figure 5.</b> Example images from the DensePose LVIS dataset. |
|
</p> |
|
|
|
DensePose LVIS dataset contains segmentation and DensePose annotations for animals |
|
on images from the [LVIS dataset](https://www.lvisdataset.org/dataset). |
|
The images are available for download through the links: |
|
[train2017](http://images.cocodataset.org/zips/train2017.zip), |
|
[val2017](http://images.cocodataset.org/zips/val2017.zip). |
|
|
|
### Continuous Surface Embeddings Annotations |
|
|
|
Continuous surface embeddings (CSE) annotations for DensePose LVIS |
|
include `dp_x`, `dp_y` and `dp_vertex` point-based annotations |
|
(~3 points per annotated instance) and a `ref_model` field |
|
which refers to a 3D model that corresponds to the instance. |
|
Instances from 9 animal categories were annotated with CSE DensePose data: |
|
bear, cow, cat, dog, elephant, giraffe, horse, sheep and zebra. |
|
|
|
Foreground masks are available from instance segmentation annotations |
|
(`segmentation` field) in polygon format, they are stored as a 2D list |
|
`[[x1 y1 x2 y2...],[x1 y1 ...],...]`. |
|
|
|
We used two datasets, each constising of one training (`train`) |
|
and validation (`val`) subsets: the first one (`ds1`) |
|
was used in [Neverova et al, 2020](https://arxiv.org/abs/2011.12438). |
|
The second one (`ds2`), was used in [Neverova et al, 2021](). |
|
|
|
The summary of the available datasets is given below: |
|
<table><tbody> |
|
<!-- START TABLE --> |
|
<!-- TABLE HEADER --> |
|
<tr> |
|
<th valign="bottom"></th> |
|
<th valign="bottom" colspan="3">All Data</th> |
|
<th valign="bottom" colspan="3">Selected Animals<br>(9 categories)</th> |
|
<th valign="bottom" colspan="2">File</th> |
|
</tr> |
|
<tr> |
|
<th valign="bottom">Name</th> |
|
<th valign="bottom"># cat</th> |
|
<th valign="bottom"># img</th> |
|
<th valign="bottom"># segm</th> |
|
<th valign="bottom"># img</th> |
|
<th valign="bottom"># segm</th> |
|
<th valign="bottom"># dp</th> |
|
<th valign="bottom">size</th> |
|
<th valign="bottom">download</th> |
|
</tr> |
|
<!-- TABLE BODY --> |
|
<!-- ROW: densepose_lvis_v1_ds1_train_v1 --> |
|
<tr><td align="left">ds1_train</td> |
|
<td align="center">556</td> |
|
<td align="center">4141</td> |
|
<td align="center">23985</td> |
|
<td align="center">4141</td> |
|
<td align="center">9472</td> |
|
<td align="center">5184</td> |
|
<td valign="center">46M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/lvis/densepose_lvis_v1_ds1_train_v1.json">densepose_lvis_v1_ds1_train_v1.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_lvis_v1_ds1_val_v1 --> |
|
<tr><td align="left">ds1_val</td> |
|
<td align="center">251</td> |
|
<td align="center">571</td> |
|
<td align="center">3281</td> |
|
<td align="center">571</td> |
|
<td align="center">1537</td> |
|
<td align="center">1036</td> |
|
<td valign="center">5M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/lvis/densepose_lvis_v1_ds1_val_v1.json">densepose_lvis_v1_ds1_val_v1.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_lvis_v1_ds2_train_v1 --> |
|
<tr><td align="left">ds2_train</td> |
|
<td align="center">1203</td> |
|
<td align="center">99388</td> |
|
<td align="center">1270141</td> |
|
<td align="center">13746</td> |
|
<td align="center">46964</td> |
|
<td align="center">18932</td> |
|
<td valign="center">1051M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/lvis/densepose_lvis_v1_ds2_train_v1.json">densepose_lvis_v1_ds2_train_v1.json</a></td> |
|
</tr> |
|
<!-- ROW: densepose_lvis_v1_ds2_val_v1 --> |
|
<tr><td align="left">ds2_val</td> |
|
<td align="center">9</td> |
|
<td align="center">2690</td> |
|
<td align="center">9155</td> |
|
<td align="center">2690</td> |
|
<td align="center">9155</td> |
|
<td align="center">3604</td> |
|
<td valign="center">24M</td> |
|
<td align="left"><a href="https://dl.fbaipublicfiles.com/densepose/annotations/lvis/densepose_lvis_v1_ds2_val_v1.json">densepose_lvis_v1_ds2_val_v1.json</a></td> |
|
</tr> |
|
</tbody></table> |
|
|
|
Legend: |
|
|
|
`#cat` - number of categories in the dataset for which annotations are available; |
|
|
|
`#img` - number of images with annotations in the dataset; |
|
|
|
`#segm` - number of segmentation annotations; |
|
|
|
`#dp` - number of DensePose annotations. |
|
|
|
|
|
Important Notes: |
|
|
|
1. The reference models used for `ds1_train` and `ds1_val` are |
|
`bear_4936`, `cow_5002`, `cat_5001`, `dog_5002`, `elephant_5002`, `giraffe_5002`, |
|
`horse_5004`, `sheep_5004` and `zebra_5002`. The reference models used for |
|
`ds2_train` and `ds2_val` are `bear_4936`, `cow_5002`, `cat_7466`, |
|
`dog_7466`, `elephant_5002`, `giraffe_5002`, `horse_5004`, `sheep_5004` and `zebra_5002`. |
|
So reference models for categories `cat` aind `dog` are different for `ds1` and `ds2`. |
|
|
|
2. Some annotations from `ds1_train` are reused in `ds2_train` (4538 DensePose annotations |
|
and 21275 segmentation annotations). The ones for cat and dog categories were remapped |
|
from `cat_5001` and `dog_5002` reference models used in `ds1` to `cat_7466` and `dog_7466` |
|
used in `ds2`. |
|
|
|
3. All annotations from `ds1_val` are included into `ds2_val` after the remapping |
|
procedure mentioned in note 2. |
|
|
|
4. Some annotations from `ds1_train` are part of `ds2_val` (646 DensePose annotations and |
|
1225 segmentation annotations). Thus one should not train on `ds1_train` if evaluating on `ds2_val`. |
|
|