## Pose Residual Network

This repository contains a PyTorch implementation of the Pose Residual Network (PRN) presented in our ECCV 2018 paper:

Muhammed Kocabas, Salih Karagoz, Emre Akbas. MultiPoseNet: Fast Multi-Person Pose Estimation using Pose Residual Network. In ECCV, 2018.

## Getting Started

We have tested our method on Coco Dataset

### Prerequisites

``````python
pytorch
numpy
tqdm
pycocotools
progress
scikit-image
``````

### Installing

1. Clone this repository
`git clone https://github.com/salihkaragoz/pose-residual-network-pytorch.git`

2. Install Pytorch

3. `pip install -r src/requirements.txt`

4. To download COCO dataset train2017 and val2017 annotations run: `bash data/coco.sh`. (data size: ~240Mb)

## Training

`python train.py`

For more options look at opt.py

## Testing

2. `python test.py --test_cp=PathToPreTrainModel/PRN.pth.tar`

## Results

Results on COCO val2017 Ground Truth data.

`````` Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets= 20 ] = 0.892
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets= 20 ] = 0.978
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets= 20 ] = 0.921
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets= 20 ] = 0.883
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets= 20 ] = 0.912
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 20 ] = 0.917
Average Recall     (AR) @[ IoU=0.50      | area=   all | maxDets= 20 ] = 0.982
Average Recall     (AR) @[ IoU=0.75      | area=   all | maxDets= 20 ] = 0.937
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets= 20 ] = 0.902
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets= 20 ] = 0.944

``````