Spaces:
Runtime error
Runtime error
File size: 19,813 Bytes
29a229f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 |
# 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`.
|