diff --git a/.gitattributes b/.gitattributes index 486708d4b117de0d7584275c81e6448eb259b113..0ead0340605aa285b46be1c491fc2c37569e44e8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -40,3 +40,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text 01_33.mp4 filter=lfs diff=lfs merge=lfs -text 01_40.mov filter=lfs diff=lfs merge=lfs -text 01_76.mp4 filter=lfs diff=lfs merge=lfs -text +deep-high-resolution-net.pytorch/demo/hrnet-demo.gif filter=lfs diff=lfs merge=lfs -text diff --git a/deep-high-resolution-net.pytorch/.amlignore b/deep-high-resolution-net.pytorch/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/.amlignore.amltmp b/deep-high-resolution-net.pytorch/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/.gitignore b/deep-high-resolution-net.pytorch/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c1b85b6239e088058191333260b16d6946a4d21f --- /dev/null +++ b/deep-high-resolution-net.pytorch/.gitignore @@ -0,0 +1,95 @@ +# IntelliJ project files +.idea +*.iml +out +gen + +### Vim template +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist +*~ + +### IPythonNotebook template +# Temporary data +.ipynb_checkpoints/ + +### Python template +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +#lib/ +#lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +*.ipynb +*.params +*.json +.vscode/ + +lib/pycocotools/_mask.c +lib/nms/cpu_nms.c + +output/* +models/* +log/* +data/* +external/ + +draws/ +plot/ + diff --git a/deep-high-resolution-net.pytorch/LICENSE b/deep-high-resolution-net.pytorch/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..e692e188c20106ee5ea7470763be0ac9feecc967 --- /dev/null +++ b/deep-high-resolution-net.pytorch/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Leo Xiao + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/deep-high-resolution-net.pytorch/README.md b/deep-high-resolution-net.pytorch/README.md new file mode 100644 index 0000000000000000000000000000000000000000..40b7720ea1fb6f4502c3e35cda5e4f88352cae06 --- /dev/null +++ b/deep-high-resolution-net.pytorch/README.md @@ -0,0 +1,276 @@ +# Deep High-Resolution Representation Learning for Human Pose Estimation (CVPR 2019) +## News +- [2021/04/12] Welcome to check out our recent work on bottom-up pose estimation (CVPR 2021) [HRNet-DEKR](https://github.com/HRNet/DEKR)! +- [2020/07/05] [A very nice blog](https://towardsdatascience.com/overview-of-human-pose-estimation-neural-networks-hrnet-higherhrnet-architectures-and-faq-1954b2f8b249) from Towards Data Science introducing HRNet and HigherHRNet for human pose estimation. +- [2020/03/13] A longer version is accepted by TPAMI: [Deep High-Resolution Representation Learning for Visual Recognition](https://arxiv.org/pdf/1908.07919.pdf). It includes more HRNet applications, and the codes are available: [semantic segmentation](https://github.com/HRNet/HRNet-Semantic-Segmentation), [objection detection](https://github.com/HRNet/HRNet-Object-Detection), [facial landmark detection](https://github.com/HRNet/HRNet-Facial-Landmark-Detection), and [image classification](https://github.com/HRNet/HRNet-Image-Classification). +- [2020/02/01] We have added demo code for HRNet. Thanks [Alex Simes](https://github.com/alex9311). +- Visualization code for showing the pose estimation results. Thanks Depu! +- [2019/08/27] HigherHRNet is now on [ArXiv](https://arxiv.org/abs/1908.10357), which is a bottom-up approach for human pose estimation powerd by HRNet. We will also release code and models at [Higher-HRNet-Human-Pose-Estimation](https://github.com/HRNet/Higher-HRNet-Human-Pose-Estimation), stay tuned! +- Our new work [High-Resolution Representations for Labeling Pixels and Regions](https://arxiv.org/abs/1904.04514) is available at [HRNet](https://github.com/HRNet). Our HRNet has been applied to a wide range of vision tasks, such as [image classification](https://github.com/HRNet/HRNet-Image-Classification), [objection detection](https://github.com/HRNet/HRNet-Object-Detection), [semantic segmentation](https://github.com/HRNet/HRNet-Semantic-Segmentation) and [facial landmark](https://github.com/HRNet/HRNet-Facial-Landmark-Detection). + +## Introduction +This is an official pytorch implementation of [*Deep High-Resolution Representation Learning for Human Pose Estimation*](https://arxiv.org/abs/1902.09212). +In this work, we are interested in the human pose estimation problem with a focus on learning reliable high-resolution representations. Most existing methods **recover high-resolution representations from low-resolution representations** produced by a high-to-low resolution network. Instead, our proposed network **maintains high-resolution representations** through the whole process. +We start from a high-resolution subnetwork as the first stage, gradually add high-to-low resolution subnetworks one by one to form more stages, and connect the mutli-resolution subnetworks **in parallel**. We conduct **repeated multi-scale fusions** such that each of the high-to-low resolution representations receives information from other parallel representations over and over, leading to rich high-resolution representations. As a result, the predicted keypoint heatmap is potentially more accurate and spatially more precise. We empirically demonstrate the effectiveness of our network through the superior pose estimation results over two benchmark datasets: the COCO keypoint detection dataset and the MPII Human Pose dataset.
+ +![Illustrating the architecture of the proposed HRNet](/figures/hrnet.png) +## Main Results +### Results on MPII val +| Arch | Head | Shoulder | Elbow | Wrist | Hip | Knee | Ankle | Mean | Mean@0.1 | +|--------------------|------|----------|-------|-------|------|------|-------|------|----------| +| pose_resnet_50 | 96.4 | 95.3 | 89.0 | 83.2 | 88.4 | 84.0 | 79.6 | 88.5 | 34.0 | +| pose_resnet_101 | 96.9 | 95.9 | 89.5 | 84.4 | 88.4 | 84.5 | 80.7 | 89.1 | 34.0 | +| pose_resnet_152 | 97.0 | 95.9 | 90.0 | 85.0 | 89.2 | 85.3 | 81.3 | 89.6 | 35.0 | +| **pose_hrnet_w32** | 97.1 | 95.9 | 90.3 | 86.4 | 89.1 | 87.1 | 83.3 | 90.3 | 37.7 | + +### Note: +- Flip test is used. +- Input size is 256x256 +- pose_resnet_[50,101,152] is our previous work of [*Simple Baselines for Human Pose Estimation and Tracking*](http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html) + +### Results on COCO val2017 with detector having human AP of 56.4 on COCO val2017 dataset +| Arch | Input size | #Params | GFLOPs | AP | Ap .5 | AP .75 | AP (M) | AP (L) | AR | AR .5 | AR .75 | AR (M) | AR (L) | +|--------------------|------------|---------|--------|-------|-------|--------|--------|--------|-------|-------|--------|--------|--------| +| pose_resnet_50 | 256x192 | 34.0M | 8.9 | 0.704 | 0.886 | 0.783 | 0.671 | 0.772 | 0.763 | 0.929 | 0.834 | 0.721 | 0.824 | +| pose_resnet_50 | 384x288 | 34.0M | 20.0 | 0.722 | 0.893 | 0.789 | 0.681 | 0.797 | 0.776 | 0.932 | 0.838 | 0.728 | 0.846 | +| pose_resnet_101 | 256x192 | 53.0M | 12.4 | 0.714 | 0.893 | 0.793 | 0.681 | 0.781 | 0.771 | 0.934 | 0.840 | 0.730 | 0.832 | +| pose_resnet_101 | 384x288 | 53.0M | 27.9 | 0.736 | 0.896 | 0.803 | 0.699 | 0.811 | 0.791 | 0.936 | 0.851 | 0.745 | 0.858 | +| pose_resnet_152 | 256x192 | 68.6M | 15.7 | 0.720 | 0.893 | 0.798 | 0.687 | 0.789 | 0.778 | 0.934 | 0.846 | 0.736 | 0.839 | +| pose_resnet_152 | 384x288 | 68.6M | 35.3 | 0.743 | 0.896 | 0.811 | 0.705 | 0.816 | 0.797 | 0.937 | 0.858 | 0.751 | 0.863 | +| **pose_hrnet_w32** | 256x192 | 28.5M | 7.1 | 0.744 | 0.905 | 0.819 | 0.708 | 0.810 | 0.798 | 0.942 | 0.865 | 0.757 | 0.858 | +| **pose_hrnet_w32** | 384x288 | 28.5M | 16.0 | 0.758 | 0.906 | 0.825 | 0.720 | 0.827 | 0.809 | 0.943 | 0.869 | 0.767 | 0.871 | +| **pose_hrnet_w48** | 256x192 | 63.6M | 14.6 | 0.751 | 0.906 | 0.822 | 0.715 | 0.818 | 0.804 | 0.943 | 0.867 | 0.762 | 0.864 | +| **pose_hrnet_w48** | 384x288 | 63.6M | 32.9 | 0.763 | 0.908 | 0.829 | 0.723 | 0.834 | 0.812 | 0.942 | 0.871 | 0.767 | 0.876 | + +### Note: +- Flip test is used. +- Person detector has person AP of 56.4 on COCO val2017 dataset. +- pose_resnet_[50,101,152] is our previous work of [*Simple Baselines for Human Pose Estimation and Tracking*](http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html). +- GFLOPs is for convolution and linear layers only. + + +### Results on COCO test-dev2017 with detector having human AP of 60.9 on COCO test-dev2017 dataset +| Arch | Input size | #Params | GFLOPs | AP | Ap .5 | AP .75 | AP (M) | AP (L) | AR | AR .5 | AR .75 | AR (M) | AR (L) | +|--------------------|------------|---------|--------|-------|-------|--------|--------|--------|-------|-------|--------|--------|--------| +| pose_resnet_152 | 384x288 | 68.6M | 35.3 | 0.737 | 0.919 | 0.828 | 0.713 | 0.800 | 0.790 | 0.952 | 0.856 | 0.748 | 0.849 | +| **pose_hrnet_w48** | 384x288 | 63.6M | 32.9 | 0.755 | 0.925 | 0.833 | 0.719 | 0.815 | 0.805 | 0.957 | 0.874 | 0.763 | 0.863 | +| **pose_hrnet_w48\*** | 384x288 | 63.6M | 32.9 | 0.770 | 0.927 | 0.845 | 0.734 | 0.831 | 0.820 | 0.960 | 0.886 | 0.778 | 0.877 | + +### Note: +- Flip test is used. +- Person detector has person AP of 60.9 on COCO test-dev2017 dataset. +- pose_resnet_152 is our previous work of [*Simple Baselines for Human Pose Estimation and Tracking*](http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html). +- GFLOPs is for convolution and linear layers only. +- pose_hrnet_w48\* means using additional data from [AI challenger](https://challenger.ai/dataset/keypoint) for training. + +## Environment +The code is developed using python 3.6 on Ubuntu 16.04. NVIDIA GPUs are needed. The code is developed and tested using 4 NVIDIA P100 GPU cards. Other platforms or GPU cards are not fully tested. + +## Quick start +### Installation +1. Install pytorch >= v1.0.0 following [official instruction](https://pytorch.org/). + **Note that if you use pytorch's version < v1.0.0, you should following the instruction at to disable cudnn's implementations of BatchNorm layer. We encourage you to use higher pytorch's version(>=v1.0.0)** +2. Clone this repo, and we'll call the directory that you cloned as ${POSE_ROOT}. +3. Install dependencies: + ``` + pip install -r requirements.txt + ``` +4. Make libs: + ``` + cd ${POSE_ROOT}/lib + make + ``` +5. Install [COCOAPI](https://github.com/cocodataset/cocoapi): + ``` + # COCOAPI=/path/to/clone/cocoapi + git clone https://github.com/cocodataset/cocoapi.git $COCOAPI + cd $COCOAPI/PythonAPI + # Install into global site-packages + make install + # Alternatively, if you do not have permissions or prefer + # not to install the COCO API into global site-packages + python3 setup.py install --user + ``` + Note that instructions like # COCOAPI=/path/to/install/cocoapi indicate that you should pick a path where you'd like to have the software cloned and then set an environment variable (COCOAPI in this case) accordingly. +4. Init output(training model output directory) and log(tensorboard log directory) directory: + + ``` + mkdir output + mkdir log + ``` + + Your directory tree should look like this: + + ``` + ${POSE_ROOT} + ├── data + ├── experiments + ├── lib + ├── log + ├── models + ├── output + ├── tools + ├── README.md + └── requirements.txt + ``` + +6. Download pretrained models from our model zoo([GoogleDrive](https://drive.google.com/drive/folders/1hOTihvbyIxsm5ygDpbUuJ7O_tzv4oXjC?usp=sharing) or [OneDrive](https://1drv.ms/f/s!AhIXJn_J-blW231MH2krnmLq5kkQ)) + ``` + ${POSE_ROOT} + `-- models + `-- pytorch + |-- imagenet + | |-- hrnet_w32-36af842e.pth + | |-- hrnet_w48-8ef0771d.pth + | |-- resnet50-19c8e357.pth + | |-- resnet101-5d3b4d8f.pth + | `-- resnet152-b121ed2d.pth + |-- pose_coco + | |-- pose_hrnet_w32_256x192.pth + | |-- pose_hrnet_w32_384x288.pth + | |-- pose_hrnet_w48_256x192.pth + | |-- pose_hrnet_w48_384x288.pth + | |-- pose_resnet_101_256x192.pth + | |-- pose_resnet_101_384x288.pth + | |-- pose_resnet_152_256x192.pth + | |-- pose_resnet_152_384x288.pth + | |-- pose_resnet_50_256x192.pth + | `-- pose_resnet_50_384x288.pth + `-- pose_mpii + |-- pose_hrnet_w32_256x256.pth + |-- pose_hrnet_w48_256x256.pth + |-- pose_resnet_101_256x256.pth + |-- pose_resnet_152_256x256.pth + `-- pose_resnet_50_256x256.pth + + ``` + +### Data preparation +**For MPII data**, please download from [MPII Human Pose Dataset](http://human-pose.mpi-inf.mpg.de/). The original annotation files are in matlab format. We have converted them into json format, you also need to download them from [OneDrive](https://1drv.ms/f/s!AhIXJn_J-blW00SqrairNetmeVu4) or [GoogleDrive](https://drive.google.com/drive/folders/1En_VqmStnsXMdldXA6qpqEyDQulnmS3a?usp=sharing). +Extract them under {POSE_ROOT}/data, and make them look like this: +``` +${POSE_ROOT} +|-- data +`-- |-- mpii + `-- |-- annot + | |-- gt_valid.mat + | |-- test.json + | |-- train.json + | |-- trainval.json + | `-- valid.json + `-- images + |-- 000001163.jpg + |-- 000003072.jpg +``` + +**For COCO data**, please download from [COCO download](http://cocodataset.org/#download), 2017 Train/Val is needed for COCO keypoints training and validation. We also provide person detection result of COCO val2017 and test-dev2017 to reproduce our multi-person pose estimation results. Please download from [OneDrive](https://1drv.ms/f/s!AhIXJn_J-blWzzDXoz5BeFl8sWM-) or [GoogleDrive](https://drive.google.com/drive/folders/1fRUDNUDxe9fjqcRZ2bnF_TKMlO0nB_dk?usp=sharing). +Download and extract them under {POSE_ROOT}/data, and make them look like this: +``` +${POSE_ROOT} +|-- data +`-- |-- coco + `-- |-- annotations + | |-- person_keypoints_train2017.json + | `-- person_keypoints_val2017.json + |-- person_detection_results + | |-- COCO_val2017_detections_AP_H_56_person.json + | |-- COCO_test-dev2017_detections_AP_H_609_person.json + `-- images + |-- train2017 + | |-- 000000000009.jpg + | |-- 000000000025.jpg + | |-- 000000000030.jpg + | |-- ... + `-- val2017 + |-- 000000000139.jpg + |-- 000000000285.jpg + |-- 000000000632.jpg + |-- ... +``` + +### Training and Testing + +#### Testing on MPII dataset using model zoo's models([GoogleDrive](https://drive.google.com/drive/folders/1hOTihvbyIxsm5ygDpbUuJ7O_tzv4oXjC?usp=sharing) or [OneDrive](https://1drv.ms/f/s!AhIXJn_J-blW231MH2krnmLq5kkQ)) + + +``` +python tools/test.py \ + --cfg experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml \ + TEST.MODEL_FILE models/pytorch/pose_mpii/pose_hrnet_w32_256x256.pth +``` + +#### Training on MPII dataset + +``` +python tools/train.py \ + --cfg experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml +``` + +#### Testing on COCO val2017 dataset using model zoo's models([GoogleDrive](https://drive.google.com/drive/folders/1hOTihvbyIxsm5ygDpbUuJ7O_tzv4oXjC?usp=sharing) or [OneDrive](https://1drv.ms/f/s!AhIXJn_J-blW231MH2krnmLq5kkQ)) + + +``` +python tools/test.py \ + --cfg experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml \ + TEST.MODEL_FILE models/pytorch/pose_coco/pose_hrnet_w32_256x192.pth \ + TEST.USE_GT_BBOX False +``` + +#### Training on COCO train2017 dataset + +``` +python tools/train.py \ + --cfg experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml \ +``` + +### Visualization + +#### Visualizing predictions on COCO val + +``` +python visualization/plot_coco.py \ + --prediction output/coco/w48_384x288_adam_lr1e-3/results/keypoints_val2017_results_0.json \ + --save-path visualization/results + +``` + + + + + + +### Other applications +Many other dense prediction tasks, such as segmentation, face alignment and object detection, etc. have been benefited by HRNet. More information can be found at [High-Resolution Networks](https://github.com/HRNet). + +### Other implementation +[mmpose](https://github.com/open-mmlab/mmpose)
+[ModelScope (中文)](https://modelscope.cn/models/damo/cv_hrnetv2w32_body-2d-keypoints_image/summary)
+[timm](https://huggingface.co./docs/timm/main/en/models/hrnet) + + +### Citation +If you use our code or models in your research, please cite with: +``` +@inproceedings{sun2019deep, + title={Deep High-Resolution Representation Learning for Human Pose Estimation}, + author={Sun, Ke and Xiao, Bin and Liu, Dong and Wang, Jingdong}, + booktitle={CVPR}, + year={2019} +} + +@inproceedings{xiao2018simple, + author={Xiao, Bin and Wu, Haiping and Wei, Yichen}, + title={Simple Baselines for Human Pose Estimation and Tracking}, + booktitle = {European Conference on Computer Vision (ECCV)}, + year = {2018} +} + +@article{WangSCJDZLMTWLX19, + title={Deep High-Resolution Representation Learning for Visual Recognition}, + author={Jingdong Wang and Ke Sun and Tianheng Cheng and + Borui Jiang and Chaorui Deng and Yang Zhao and Dong Liu and Yadong Mu and + Mingkui Tan and Xinggang Wang and Wenyu Liu and Bin Xiao}, + journal = {TPAMI} + year={2019} +} +``` diff --git a/deep-high-resolution-net.pytorch/_config.yml b/deep-high-resolution-net.pytorch/_config.yml new file mode 100644 index 0000000000000000000000000000000000000000..c4192631f25b34d77a7f159aa0da0e3ae99c4ef4 --- /dev/null +++ b/deep-high-resolution-net.pytorch/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/.amlignore b/deep-high-resolution-net.pytorch/data/mpii/annot/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/.amlignore.amltmp b/deep-high-resolution-net.pytorch/data/mpii/annot/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/all_poses.json b/deep-high-resolution-net.pytorch/data/mpii/annot/all_poses.json new file mode 100644 index 0000000000000000000000000000000000000000..8ded13875e91a6ae0550693b2285efd16f1ca954 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/all_poses.json @@ -0,0 +1 @@ +[{"center": [216.495849609375, 115.42289733886719], "scale": 0.4342059326171875, "joints": [[238.20614624023438, 158.84349060058594], [240.68731689453125, 130.30995178222656], [248.13084411621094, 100.53583526611328], [246.8902587890625, 100.53583526611328], [238.20614624023438, 129.06936645507812], [235.72496032714844, 158.84349060058594], [245.64967346191406, 99.29524230957031], [219.59732055664062, 79.44583129882812], [214.6349639892578, 78.20524597167969], [203.4696807861328, 72.00230407714844], [186.1014404296875, 103.01701354980469], [200.98849487304688, 89.37053680419922], [218.3567352294922, 75.72406768798828], [215.87554931640625, 76.96465301513672], [200.98849487304688, 89.37053680419922], [184.86085510253906, 100.53583526611328]], "image": "03_2_00010016.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.0, 131.0], "scale": 0.25, "joints": [[196, 106], [214, 127], [228, 154], [228, 154], [214, 127], [196, 106], [227, 156], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1]], "image": "01_19_00031809.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, {"center": [194.73058319091797, 126.30073165893555], "scale": 0.4997070693969727, "joints": [[213.70680236816406, 176.2714385986328], [221.2972869873047, 145.90948486328125], [227.62269592285156, 116.8126220703125], [227.62269592285156, 116.8126220703125], [221.2972869873047, 144.6444091796875], [213.70680236816406, 176.2714385986328], [226.3576202392578, 115.54753875732422], [201.05599975585938, 91.51099395751953], [197.26075744628906, 88.9808349609375], [192.20042419433594, 76.33002471923828], [161.83847045898438, 106.69197082519531], [182.07977294921875, 99.10148620605469], [202.32107543945312, 90.24591827392578], [201.05599975585938, 90.24591827392578], [182.07977294921875, 101.63164520263672], [161.83847045898438, 106.69197082519531]], "image": "01_1_00007378.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.5, 92.0], "scale": 0.18, "joints": [[178, 88], [207, 77], [210, 110], [210, 110], [207, 77], [178, 88], [211, 105], [243, 108], [246, 105], [261, 92], [252, 74], [247, 86], [249, 107], [249, 107], [247, 86], [252, 74]], "image": "04_88_00150899.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.0, 105.5], "scale": 0.315, "joints": [[183, 137], [189, 103], [215, 117], [215, 117], [189, 103], [183, 137], [210, 114], [250, 98], [253, 96], [267, 80], [279, 74], [267, 82], [256, 99], [256, 99], [267, 82], [279, 74]], "image": "04_88_00150897.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [249.0, 121.0], "scale": 0.23, "joints": [[211, 98], [236, 110], [232, 142], [232, 142], [236, 110], [211, 98], [235, 138], [267, 142], [268, 139], [287, 134], [271, 113], [263, 133], [270, 144], [270, 144], [263, 133], [271, 113]], "image": "04_88_00150931.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [206.5, 114.0], "scale": 0.61, "joints": [[198, 175], [214, 152], [210, 122], [210, 122], [214, 152], [198, 175], [216, 124], [208, 92], [206, 88], [199, 74], [197, 53], [209, 65], [205, 85], [205, 85], [209, 65], [197, 53]], "image": "04_98_00166143.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.0, 74.5], "scale": 0.185, "joints": [[253, 56], [225, 67], [254, 82], [254, 82], [225, 67], [253, 56], [249, 83], [226, 91], [223, 93], [204, 93], [239, 64], [239, 81], [227, 90], [227, 90], [239, 81], [239, 64]], "image": "04_98_00166163.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5, 128.5], "scale": 0.465, "joints": [[179, 174], [181, 141], [186, 107], [185, 106], [186, 141], [181, 175], [191, 105], [223, 91], [227, 91], [244, 82], [264, 104], [246, 98], [228, 90], [228, 90], [246, 98], [264, 101]], "image": "05_1_00009167.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [245.5, 123.5], "scale": 0.495, "joints": [[203, 173], [204, 147], [211, 120], [225, 123], [211, 151], [203, 173], [219, 118], [247, 105], [251, 102], [261, 93], [266, 74], [252, 83], [247, 98], [254, 107], [269, 108], [288, 102]], "image": "05_82_00134020.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.0, 97.0], "scale": 0.26, "joints": [[255, 74], [239, 91], [227, 117], [220, 106], [234, 86], [251, 71], [222, 109], [194, 116], [189, 114], [177, 110], [216, 107], [211, 123], [195, 122], [192, 86], [194, 97], [189, 109]], "image": "05_82_00134035.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 132.0], "scale": 0.23, "joints": [[303, 152], [270, 141], [239, 133], [243, 118], [272, 134], [303, 152], [240, 127], [194, 116], [204, 120], [202, 119], [187, 109], [186, 133], [197, 117], [199, 121], [189, 141], [182, 155]], "image": "06_21_00037588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [236.0, 125.0], "scale": 0.58, "joints": [[271, 183], [254, 168], [227, 147], [247, 135], [267, 163], [281, 176], [233, 136], [222, 105], [223, 102], [221, 87], [191, 67], [197, 87], [214, 99], [235, 98], [226, 113], [198, 111]], "image": "06_21_00037591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [244.5, 113.5], "scale": 0.285, "joints": [[297, 88], [272, 104], [249, 125], [241, 104], [261, 95], [287, 85], [247, 115], [217, 127], [216, 128], [201, 133], [239, 134], [240, 142], [217, 142], [207, 117], [193, 114], [192, 136]], "image": "06_27_00048106.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [258.0, 133.5], "scale": 0.265, "joints": [[208, 160], [209, 129], [231, 110], [240, 117], [211, 131], [208, 160], [236, 110], [269, 111], [273, 112], [287, 112], [294, 107], [285, 107], [273, 110], [271, 117], [291, 112], [308, 115]], "image": "06_27_00048094.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [249.5, 103.0], "scale": 0.27, "joints": [[296, 110], [272, 114], [247, 127], [251, 108], [272, 107], [291, 98], [244, 116], [217, 114], [214, 112], [203, 102], [238, 130], [220, 130], [211, 130], [217, 109], [219, 89], [215, 76]], "image": "06_27_00048108.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [182.0, 127.5], "scale": 0.575, "joints": [[246, 185], [246, 151], [227, 115], [227, 115], [246, 151], [246, 185], [229, 111], [179, 88], [172, 91], [150, 96], [118, 70], [144, 71], [171, 85], [171, 100], [142, 100], [119, 99]], "image": "07_97_00141972.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.0, 159.5], "scale": 0.365, "joints": [[163, 134], [193, 126], [228, 123], [228, 123], [193, 126], [163, 134], [226, 124], [239, 154], [242, 156], [245, 165], [235, 196], [235, 178], [241, 161], [238, 161], [232, 171], [229, 185]], "image": "09_14_00027838.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [215.5, 166.0], "scale": 0.62, "joints": [[192, 104], [204, 124], [220, 152], [220, 152], [204, 124], [192, 104], [219, 157], [235, 190], [235, 193], [239, 199], [235, 228], [234, 213], [234, 198], [234, 198], [234, 213], [235, 228]], "image": "09_14_00027843.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5, 163.5], "scale": 0.495, "joints": [[167, 114], [193, 121], [225, 136], [225, 136], [193, 121], [167, 114], [225, 143], [239, 172], [239, 175], [248, 188], [241, 213], [239, 197], [241, 179], [241, 179], [239, 197], [236, 206]], "image": "09_14_00027840.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.5, 118.5], "scale": 0.185, "joints": [[129, 100], [146, 113], [192, 137], [192, 137], [146, 113], [129, 100], [192, 133], [234, 132], [233, 129], [246, 114], [183, 118], [204, 121], [230, 130], [230, 130], [204, 121], [183, 118]], "image": "09_36_00058402.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [198.5, 146.5], "scale": 0.355, "joints": [[141, 111], [163, 130], [195, 151], [195, 151], [163, 130], [141, 111], [198, 149], [236, 172], [243, 174], [256, 182], [236, 154], [238, 157], [241, 167], [238, 174], [236, 165], [234, 155]], "image": "09_36_00058407.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [197.0, 149.5], "scale": 0.765, "joints": [[170, 73], [186, 101], [215, 131], [208, 136], [191, 102], [170, 73], [215, 141], [224, 171], [222, 179], [214, 197], [219, 226], [218, 206], [218, 178], [218, 178], [218, 206], [219, 226]], "image": "09_36_00058420.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [210.0, 133.0], "scale": 0.73, "joints": [[237, 198], [226, 170], [229, 131], [225, 132], [202, 165], [183, 193], [224, 132], [222, 85], [221, 86], [217, 60], [216, 130], [219, 109], [225, 83], [225, 83], [218, 206], [216, 130]], "image": "09_54_00082209.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.5, 132.0], "scale": 0.7, "joints": [[264, 194], [238, 167], [228, 135], [218, 133], [197, 163], [179, 202], [222, 131], [220, 91], [223, 80], [214, 62], [222, 93], [223, 89], [224, 84], [224, 84], [223, 89], [222, 93]], "image": "09_54_00082214.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 88.5], "scale": 0.215, "joints": [[267, 62], [242, 85], [218, 108], [218, 108], [242, 85], [267, 67], [220, 110], [252, 107], [258, 103], [260, 89], [240, 81], [233, 90], [252, 99], [252, 99], [233, 90], [240, 81]], "image": "09_54_00082243.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.5, 111.0], "scale": 0.32, "joints": [[199, 79], [212, 111], [226, 143], [226, 143], [212, 111], [199, 79], [233, 142], [253, 119], [254, 114], [247, 99], [214, 116], [233, 114], [252, 116], [251, 118], [229, 123], [213, 121]], "image": "09_54_00082258.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.5, 131.0], "scale": 0.66, "joints": [[204, 197], [190, 166], [204, 136], [213, 136], [190, 166], [232, 183], [206, 134], [198, 94], [196, 86], [187, 65], [151, 109], [171, 108], [194, 93], [192, 89], [170, 101], [149, 107]], "image": "09_59_00090003.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.5, 132.0], "scale": 0.65, "joints": [[212, 197], [187, 168], [207, 140], [207, 140], [187, 168], [219, 188], [206, 135], [193, 96], [192, 86], [186, 67], [154, 109], [170, 105], [191, 93], [191, 93], [170, 105], [154, 109]], "image": "09_59_00090004.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [191.5, 104.0], "scale": 0.74, "joints": [[192, 138], [168, 112], [198, 104], [210, 104], [210, 143], [215, 178], [205, 99], [208, 58], [208, 50], [204, 30], [188, 54], [195, 54], [205, 53], [205, 53], [193, 54], [179, 49]], "image": "09_59_00090015.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [195.0, 109.5], "scale": 0.845, "joints": [[201, 138], [176, 114], [202, 97], [211, 97], [212, 142], [210, 194], [209, 93], [214, 53], [214, 45], [208, 25], [194, 40], [200, 43], [211, 45], [211, 45], [199, 46], [183, 40]], "image": "09_59_00090016.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5, 108.0], "scale": 0.74, "joints": [[210, 182], [212, 140], [219, 105], [219, 105], [212, 140], [210, 182], [218, 101], [222, 62], [222, 54], [217, 34], [193, 37], [202, 46], [219, 56], [219, 56], [202, 46], [201, 37]], "image": "09_59_00090021.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [199.5, 139.0], "scale": 0.19, "joints": [[229, 158], [197, 146], [225, 130], [225, 130], [197, 146], [229, 158], [222, 127], [188, 120], [182, 122], [170, 128], [198, 147], [199, 132], [188, 121], [188, 121], [199, 132], [198, 147]], "image": "09_59_00090044.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [203.0, 145.5], "scale": 0.165, "joints": [[236, 150], [208, 147], [219, 130], [219, 130], [196, 154], [230, 162], [216, 129], [181, 134], [179, 137], [170, 146], [200, 159], [197, 141], [184, 133], [184, 133], [197, 141], [200, 159]], "image": "09_59_00090055.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.5, 131.5], "scale": 0.445, "joints": [[130, 87], [157, 112], [198, 103], [198, 103], [157, 112], [130, 87], [201, 108], [235, 134], [240, 134], [255, 138], [251, 176], [242, 159], [234, 136], [234, 136], [242, 159], [251, 176]], "image": "09_61_00092503.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [205.0, 128.0], "scale": 0.27, "joints": [[177, 107], [196, 137], [214, 101], [214, 101], [196, 137], [177, 107], [219, 105], [232, 135], [232, 144], [229, 155], [199, 138], [215, 135], [233, 138], [233, 138], [215, 135], [199, 138]], "image": "09_61_00092516.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.0, 152.0], "scale": 0.22, "joints": [[155, 161], [182, 169], [177, 131], [177, 131], [182, 169], [155, 161], [184, 130], [213, 151], [218, 155], [225, 166], [188, 174], [196, 157], [216, 155], [216, 155], [196, 157], [188, 174]], "image": "09_61_00092527.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [177.0, 125.0], "scale": 0.26, "joints": [[142, 141], [178, 142], [177, 101], [177, 101], [178, 142], [142, 141], [177, 99], [207, 129], [207, 136], [212, 151], [165, 138], [191, 139], [202, 133], [202, 133], [191, 139], [165, 138]], "image": "09_62_00093793.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [174.5, 131.0], "scale": 0.3, "joints": [[150, 109], [175, 129], [190, 101], [190, 101], [175, 129], [150, 109], [196, 102], [198, 135], [199, 142], [197, 161], [165, 124], [179, 131], [194, 139], [194, 139], [179, 131], [165, 124]], "image": "09_62_00093794.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [227.0, 140.0], "scale": 0.56, "joints": [[180, 194], [191, 162], [218, 145], [229, 145], [196, 165], [184, 196], [228, 141], [253, 114], [258, 110], [268, 101], [270, 85], [257, 84], [261, 109], [261, 109], [257, 84], [270, 85]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [239.0, 148.0], "scale": 0.46, "joints": [[177, 189], [192, 159], [218, 138], [229, 141], [200, 161], [183, 194], [228, 137], [263, 121], [266, 120], [277, 114], [293, 102], [277, 103], [263, 115], [266, 126], [283, 115], [295, 103]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 154.5], "scale": 0.335, "joints": [[180, 184], [190, 149], [219, 129], [233, 137], [198, 153], [181, 188], [227, 129], [271, 130], [275, 131], [286, 140], [304, 135], [292, 121], [272, 125], [265, 136], [287, 135], [301, 132]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.5, 149.5], "scale": 0.305, "joints": [[176, 115], [208, 120], [244, 119], [236, 141], [211, 131], [175, 128], [247, 134], [265, 156], [269, 161], [272, 172], [280, 180], [288, 163], [279, 151], [254, 166], [240, 158], [255, 160]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [248.0, 130.0], "scale": 0.6, "joints": [[253, 70], [247, 100], [246, 137], [267, 132], [259, 104], [253, 70], [256, 141], [246, 172], [242, 176], [234, 190], [238, 140], [229, 148], [229, 165], [251, 176], [249, 166], [242, 158]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [237.0, 114.0], "scale": 0.3, "joints": [[208, 144], [228, 122], [251, 92], [238, 84], [226, 115], [205, 139], [248, 96], [265, 117], [267, 121], [269, 131], [233, 119], [251, 118], [266, 123], [266, 123], [251, 118], [233, 119]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25617.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5, 111.5], "scale": 0.285, "joints": [[191, 117], [222, 107], [258, 94], [254, 83], [222, 100], [187, 114], [258, 99], [253, 125], [252, 132], [241, 140], [229, 112], [246, 119], [254, 128], [254, 128], [246, 119], [229, 112]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.5, 111.5], "scale": 0.635, "joints": [[232, 49], [243, 82], [216, 116], [203, 108], [231, 80], [219, 48], [214, 117], [183, 137], [177, 143], [166, 149], [166, 175], [172, 154], [176, 136], [176, 136], [172, 154], [166, 175]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.0, 133.0], "scale": 0.45, "joints": [[271, 178], [247, 148], [224, 127], [230, 110], [256, 140], [277, 167], [221, 117], [194, 99], [190, 95], [183, 88], [161, 111], [173, 104], [189, 97], [192, 93], [183, 106], [175, 114]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17659.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [238.0, 140.5], "scale": 0.615, "joints": [[215, 75], [230, 111], [240, 140], [220, 149], [230, 118], [232, 79], [236, 147], [245, 182], [245, 187], [250, 195], [249, 155], [252, 163], [253, 177], [236, 189], [240, 201], [256, 202]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [252.5, 162.0], "scale": 0.29, "joints": [[303, 143], [271, 161], [248, 187], [248, 178], [264, 155], [284, 133], [244, 181], [216, 171], [209, 166], [202, 156], [242, 191], [226, 183], [211, 170], [212, 165], [215, 159], [223, 153]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [175.5, 121.0], "scale": 0.84, "joints": [[180, 37], [175, 74], [172, 111], [172, 111], [175, 74], [180, 37], [176, 121], [173, 151], [173, 160], [173, 174], [172, 205], [172, 191], [171, 162], [171, 162], [172, 191], [172, 205]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03079.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [175.0, 130.5], "scale": 0.675, "joints": [[177, 63], [204, 89], [183, 123], [183, 123], [204, 89], [177, 63], [180, 132], [162, 156], [154, 163], [146, 171], [157, 198], [155, 176], [156, 160], [156, 160], [155, 176], [157, 198]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03095.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [177.5, 139.5], "scale": 0.605, "joints": [[177, 79], [209, 97], [186, 130], [186, 130], [209, 97], [177, 79], [181, 139], [164, 158], [154, 163], [146, 172], [156, 200], [156, 181], [155, 162], [155, 162], [156, 181], [156, 200]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03097.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.0, 162.0], "scale": 0.49, "joints": [[206, 105], [204, 141], [206, 168], [192, 165], [195, 143], [199, 113], [199, 164], [194, 191], [192, 200], [186, 210], [198, 174], [206, 190], [200, 203], [181, 199], [167, 194], [164, 211]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03124.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.5, 157.0], "scale": 0.46, "joints": [[219, 110], [212, 142], [208, 172], [204, 171], [207, 143], [216, 111], [204, 174], [187, 191], [181, 197], [172, 203], [156, 178], [171, 179], [186, 192], [186, 192], [171, 179], [156, 178]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03125.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.5, 153.5], "scale": 0.455, "joints": [[216, 108], [210, 141], [206, 173], [206, 173], [210, 141], [216, 108], [203, 175], [188, 190], [183, 195], [170, 199], [179, 195], [194, 198], [187, 195], [180, 185], [169, 178], [157, 178]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03126.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [164.0, 170.5], "scale": 0.785, "joints": [[188, 249], [170, 223], [147, 185], [170, 178], [180, 214], [188, 249], [156, 179], [157, 141], [159, 133], [160, 120], [151, 92], [140, 111], [147, 126], [171, 134], [172, 115], [164, 102]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_7_14440.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [168.0, 113.0], "scale": 0.37, "joints": [[216, 84], [191, 105], [174, 131], [169, 114], [185, 97], [211, 76], [169, 121], [142, 137], [136, 140], [120, 143], [175, 148], [151, 148], [137, 150], [131, 141], [129, 127], [122, 117]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_7_14458.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [167.5, 174.5], "scale": 0.775, "joints": [[174, 252], [159, 219], [145, 184], [168, 182], [173, 219], [174, 252], [155, 180], [163, 143], [168, 136], [175, 126], [184, 97], [163, 110], [160, 130], [182, 140], [190, 134], [189, 110]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_7_14441.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [173.5, 113.5], "scale": 0.305, "joints": [[225, 94], [200, 105], [176, 133], [174, 120], [193, 104], [221, 83], [173, 126], [142, 125], [134, 123], [122, 113], [170, 144], [152, 133], [135, 126], [138, 112], [139, 107], [143, 96]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_7_14459.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [172.5, 141.5], "scale": 0.315, "joints": [[158, 110], [173, 145], [184, 171], [184, 171], [173, 145], [158, 110], [187, 173], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_7_14473.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, {"center": [266.0, 140.5], "scale": 0.145, "joints": [[253, 155], [276, 140], [252, 134], [252, 134], [276, 140], [253, 155], [251, 134], [268, 126], [277, 128], [281, 132], [275, 127], [269, 137], [276, 144], [276, 144], [269, 137], [275, 127]], "image": "FINADivingWorldCup2021_Men10m_final_r1_6_09204.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [253.5, 143.5], "scale": 0.115, "joints": [[273, 137], [249, 137], [261, 155], [261, 155], [249, 137], [273, 137], [263, 152], [241, 147], [236, 142], [234, 132], [259, 138], [252, 150], [240, 145], [240, 145], [252, 150], [259, 138]], "image": "FINADivingWorldCup2021_Men10m_final_r1_6_09209.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [243.0, 141.5], "scale": 0.305, "joints": [[261, 112], [247, 140], [256, 170], [256, 170], [247, 140], [251, 111], [251, 172], [232, 161], [227, 154], [225, 146], [240, 136], [231, 151], [225, 158], [230, 155], [230, 142], [233, 130]], "image": "FINADivingWorldCup2021_Men10m_final_r1_11_17248.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.0, 164.5], "scale": 0.085, "joints": [[229, 156], [213, 173], [-1, -1], [-1, -1], [213, 173], [229, 156], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1]], "image": "FINADivingWorldCup2021_Men10m_final_r3_0_01314.jpg", "joints_vis": [1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, {"center": [230.5, 128.0], "scale": 0.23, "joints": [[226, 105], [230, 127], [241, 151], [241, 151], [230, 127], [226, 105], [238, 150], [221, 144], [220, 137], [220, 128], [235, 128], [237, 137], [222, 139], [222, 139], [237, 137], [235, 128]], "image": "FINADivingWorldCup2021_Men10m_final_r6_0_01228.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [249.5, 135.5], "scale": 0.225, "joints": [[312, 141], [283, 125], [256, 113], [255, 127], [278, 135], [308, 140], [252, 121], [224, 124], [221, 125], [216, 126], [187, 138], [198, 118], [220, 116], [226, 137], [237, 149], [225, 158]], "image": "FINADivingWorldCup2021_Men10m_final_r6_1_02680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [171.5, 136.5], "scale": 0.175, "joints": [[153, 154], [169, 136], [187, 119], [187, 119], [169, 136], [153, 154], [190, 123], [180, 142], [177, 147], [169, 146], [167, 131], [170, 132], [176, 142], [176, 142], [170, 132], [167, 131]], "image": "FINADivingWorldCup2021_Men10m_semifinal_r3_0_01511.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [199.5, 124.5], "scale": 0.115, "joints": [[163, 123], [182, 128], [204, 126], [201, 116], [182, 123], [163, 125], [204, 120], [226, 120], [230, 122], [236, 122], [223, 128], [225, 136], [230, 129], [224, 113], [208, 113], [218, 118]], "image": "FINADivingWorldCup2021_Men10m_semifinal_r4_0_03046.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [214.5, 120.0], "scale": 0.16, "joints": [[258, 102], [239, 105], [216, 104], [216, 114], [239, 113], [256, 108], [211, 109], [185, 114], [180, 117], [173, 123], [171, 120], [172, 105], [176, 111], [185, 126], [206, 124], [215, 136]], "image": "FINADivingWorldCup2021_Men10m_semifinal_r6_6_09456.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.7863006591797, 115.6552562713623], "scale": 0.74263521194458, "joints": [[231.430908203125, 184.1320037841797], [215.99952697753906, 155.1981658935547], [204.42599487304688, 124.33540344238281], [204.42599487304688, 122.40648651123047], [214.0706024169922, 157.12709045410156], [206.35491943359375, 189.9187774658203], [204.42599487304688, 122.40648651123047], [215.99952697753906, 79.97018432617188], [217.92845153808594, 76.11234283447266], [219.8573760986328, 60.68096160888672], [239.1466064453125, 41.3917350769043], [227.5730743408203, 58.75204086303711], [212.14169311523438, 76.11234283447266], [214.0706024169922, 76.11234283447266], [225.64414978027344, 60.68096160888672], [239.1466064453125, 41.3917350769043]], "image": "01_17_00028991.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [223.57901000976562, 117.88160705566406], "scale": 0.7276528930664062, "joints": [[231.8687286376953, 186.96258544921875], [217.13145446777344, 157.488037109375], [206.0784912109375, 124.32917022705078], [206.0784912109375, 126.17132568359375], [217.13145446777344, 155.6458740234375], [218.97361755371094, 190.6468963623047], [207.920654296875, 122.48700714111328], [218.97361755371094, 81.95950317382812], [220.81576538085938, 78.27518463134766], [224.50009155273438, 63.53791046142578], [239.23736572265625, 45.11631774902344], [230.0265655517578, 61.69575500488281], [215.28929138183594, 76.43302917480469], [217.13145446777344, 78.27518463134766], [230.0265655517578, 61.69575500488281], [241.07952880859375, 45.11631774902344]], "image": "01_17_00028992.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.72579193115234, 119.73945236206055], "scale": 0.7001453018188477, "joints": [[232.30938720703125, 189.7539825439453], [220.9116668701172, 158.8173370361328], [206.25746154785156, 127.88067626953125], [207.88571166992188, 127.88067626953125], [220.9116668701172, 157.1890869140625], [232.30938720703125, 189.7539825439453], [207.88571166992188, 126.25243377685547], [222.5399169921875, 83.9180679321289], [224.16815185546875, 80.66157531738281], [230.68113708496094, 66.00736999511719], [237.19412231445312, 51.35316848754883], [232.30938720703125, 66.00736999511719], [219.28341674804688, 82.2898178100586], [220.9116668701172, 82.2898178100586], [232.30938720703125, 66.00736999511719], [237.19412231445312, 49.72492218017578]], "image": "01_17_00028993.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.86290740966797, 126.90853500366211], "scale": 0.6881740188598633, "joints": [[236.1571807861328, 195.72593688964844], [225.20895385742188, 159.75320434570312], [209.56863403320312, 131.6006317138672], [209.56863403320312, 131.6006317138672], [226.77297973632812, 159.75320434570312], [236.1571807861328, 194.16189575195312], [211.13265991210938, 128.47256469726562], [225.20895385742188, 89.37176513671875], [228.33702087402344, 84.67967224121094], [236.1571807861328, 72.16741943359375], [233.02911376953125, 59.6551628112793], [234.5931396484375, 69.03935241699219], [222.0808868408203, 84.67967224121094], [223.64491271972656, 83.11563873291016], [233.02911376953125, 70.60338592529297], [233.02911376953125, 58.09113311767578]], "image": "01_17_00028994.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [223.86349487304688, 134.57476806640625], "scale": 0.6673878479003906, "joints": [[235.12063598632812, 201.3135528564453], [230.29615783691406, 164.32579040527344], [210.99818420410156, 138.59518432617188], [210.99818420410156, 138.59518432617188], [230.29615783691406, 162.71763610839844], [235.12063598632812, 201.3135528564453], [214.21450805664062, 135.37884521484375], [227.07981872558594, 95.17476654052734], [230.29615783691406, 90.35027313232422], [236.7288055419922, 77.4849624633789], [225.47166442871094, 69.44414520263672], [233.51248168945312, 74.26863861083984], [225.47166442871094, 91.95843505859375], [225.47166442871094, 90.35027313232422], [233.51248168945312, 74.26863861083984], [225.47166442871094, 67.83598327636719]], "image": "01_17_00028995.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.00228881835938, 135.83888244628906], "scale": 0.682833251953125, "joints": [[228.47036743164062, 204.12220764160156], [235.0518798828125, 167.92381286621094], [213.66192626953125, 144.8884735107422], [215.30731201171875, 143.24310302734375], [235.0518798828125, 167.92381286621094], [228.47036743164062, 204.12220764160156], [215.30731201171875, 139.95233154296875], [230.11573791503906, 102.10856628417969], [231.76112365722656, 97.17242431640625], [238.3426513671875, 84.00936889648438], [231.76112365722656, 67.55555725097656], [236.697265625, 77.42784881591797], [225.17959594726562, 97.17242431640625], [226.82498168945312, 97.17242431640625], [236.697265625, 79.07322692871094], [231.76112365722656, 67.55555725097656]], "image": "01_17_00028996.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [230.5462188720703, 133.15448570251465], "scale": 0.696002140045166, "joints": [[219.37582397460938, 202.75469970703125], [231.40548706054688, 170.1027374267578], [214.22024536132812, 142.6063690185547], [214.22024536132812, 142.6063690185547], [231.40548706054688, 168.38421630859375], [219.37582397460938, 202.75469970703125], [214.22024536132812, 140.88783264160156], [229.6869659423828, 101.3617935180664], [231.40548706054688, 96.20622253417969], [236.56105041503906, 84.17655944824219], [246.8721923828125, 63.55427169799805], [241.7166290283203, 80.73950958251953], [226.24990844726562, 97.92474365234375], [226.24990844726562, 97.92474365234375], [239.99810791015625, 82.4580307006836], [245.15367126464844, 63.55427169799805]], "image": "01_17_00028997.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [237.89374542236328, 130.86253929138184], "scale": 0.7040693092346192, "joints": [[211.2764892578125, 201.26947021484375], [218.1454620361328, 165.20738220214844], [209.5592498779297, 134.29702758789062], [209.5592498779297, 134.29702758789062], [216.42820739746094, 165.20738220214844], [211.2764892578125, 199.55223083496094], [211.2764892578125, 132.5797882080078], [231.88339233398438, 94.80045318603516], [235.31787109375, 91.365966796875], [238.7523651123047, 79.34527587890625], [266.2282409667969, 62.1728515625], [252.49029541015625, 77.6280288696289], [230.16615295410156, 91.365966796875], [228.44891357421875, 89.64872741699219], [250.77305603027344, 77.6280288696289], [266.2282409667969, 60.45560836791992]], "image": "01_17_00028998.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [238.52086639404297, 131.89355087280273], "scale": 0.6002551651000977, "joints": [[205.8487548828125, 191.9190673828125], [202.80947875976562, 161.52639770507812], [202.80947875976562, 123.53556823730469], [204.32911682128906, 123.53556823730469], [201.2898406982422, 161.52639770507812], [205.8487548828125, 191.9190673828125], [204.32911682128906, 122.01593017578125], [233.2021484375, 90.10363006591797], [237.76104736328125, 87.06436920166016], [243.83958435058594, 76.42693328857422], [275.75189208984375, 73.38766479492188], [252.95738220214844, 79.46620178222656], [233.2021484375, 85.54473114013672], [233.2021484375, 84.02510070800781], [252.95738220214844, 80.98583221435547], [274.23223876953125, 71.86803436279297]], "image": "01_17_00028999.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [232.2892303466797, 130.11045837402344], "scale": 0.5073982238769531, "joints": [[193.8915252685547, 180.85028076171875], [193.8915252685547, 143.8239288330078], [195.26287841796875, 110.91160583496094], [195.26287841796875, 109.5402603149414], [193.8915252685547, 143.8239288330078], [191.14883422851562, 179.47894287109375], [198.0055694580078, 109.5402603149414], [235.03192138671875, 88.97006225585938], [239.14596557617188, 87.59871673583984], [247.37403869628906, 79.37063598632812], [273.42962646484375, 88.97006225585938], [255.60211181640625, 86.22737121582031], [236.4032745361328, 84.85601806640625], [236.4032745361328, 83.48467254638672], [254.23077392578125, 86.22737121582031], [270.6869201660156, 90.3414077758789]], "image": "01_17_00029000.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [164.5985107421875, 128.89560890197754], "scale": 0.6542220115661621, "joints": [[172.7762908935547, 194.31781005859375], [174.41184997558594, 161.60670471191406], [174.41184997558594, 128.89561462402344], [177.68295288085938, 128.89561462402344], [172.7762908935547, 161.60670471191406], [146.60740661621094, 182.86892700195312], [176.0474090576172, 128.89561462402344], [177.68295288085938, 89.64228820800781], [180.95407104492188, 81.46451568603516], [182.58961486816406, 63.47340774536133], [167.86962890625, 140.34449768066406], [167.86962890625, 117.44672393798828], [174.41184997558594, 91.27784729003906], [179.31851196289062, 89.64228820800781], [171.14073181152344, 112.5400619506836], [167.86962890625, 128.89561462402344]], "image": "01_17_00028949.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [167.72919464111328, 123.42190170288086], "scale": 0.613937873840332, "joints": [[155.61199951171875, 184.81568908691406], [178.2307586669922, 160.581298828125], [176.61512756347656, 129.88441467285156], [178.2307586669922, 128.26878356933594], [176.61512756347656, 162.19692993164062], [152.38075256347656, 179.96881103515625], [176.61512756347656, 128.26878356933594], [179.8463897705078, 89.49375915527344], [181.46200561523438, 81.4156265258789], [183.07763671875, 62.028114318847656], [168.53700256347656, 139.57815551757812], [170.1526336669922, 116.95939636230469], [176.61512756347656, 91.10938262939453], [176.61512756347656, 87.87812805175781], [173.38388061523438, 112.11251831054688], [170.1526336669922, 128.26878356933594]], "image": "01_17_00028950.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [176.2182159423828, 127.05356216430664], "scale": 0.6459652328491211, "joints": [[159.8646697998047, 185.10865783691406], [176.2182159423828, 162.2136993408203], [176.2182159423828, 129.506591796875], [181.12428283691406, 129.506591796875], [181.12428283691406, 160.57833862304688], [169.67678833007812, 191.65008544921875], [177.85357666015625, 127.8712387084961], [181.12428283691406, 90.25807189941406], [182.75962829589844, 80.4459457397461], [186.0303497314453, 62.45703887939453], [166.4060821533203, 140.95407104492188], [169.67678833007812, 119.69446563720703], [174.58285522460938, 91.89342498779297], [179.48892211914062, 90.25807189941406], [176.2182159423828, 114.78839874267578], [174.58285522460938, 127.8712387084961]], "image": "01_17_00028951.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [174.0192642211914, 126.40056228637695], "scale": 0.6325419235229492, "joints": [[164.11196899414062, 189.65475463867188], [176.30555725097656, 162.21920776367188], [176.30555725097656, 130.2110595703125], [180.87814331054688, 130.2110595703125], [182.40234375, 160.69500732421875], [161.06358337402344, 185.08216857910156], [177.8297576904297, 128.68685913085938], [180.87814331054688, 90.58192443847656], [183.92654418945312, 81.43673706054688], [186.97494506835938, 63.14636993408203], [168.6845703125, 142.40463256835938], [170.20877075195312, 119.54167938232422], [176.30555725097656, 92.10612487792969], [180.87814331054688, 90.58192443847656], [177.8297576904297, 114.96908569335938], [176.30555725097656, 137.83204650878906]], "image": "01_17_00028952.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [176.67880249023438, 129.059720993042], "scale": 0.6571960639953613, "joints": [[165.03228759765625, 194.77932739257812], [173.35122680664062, 163.16737365722656], [175.0150146484375, 129.89161682128906], [180.00637817382812, 129.89161682128906], [186.66152954101562, 161.5035858154297], [175.0150146484375, 169.82252502441406], [178.34259033203125, 128.2278289794922], [181.670166015625, 89.9607162475586], [184.99774169921875, 81.64177703857422], [186.66152954101562, 63.34011459350586], [166.69607543945312, 141.5381317138672], [173.35122680664062, 118.24510192871094], [178.34259033203125, 89.9607162475586], [180.00637817382812, 88.29692840576172], [180.00637817382812, 113.25373840332031], [166.69607543945312, 129.89161682128906]], "image": "01_17_00028953.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [178.45259857177734, 127.65595245361328], "scale": 0.656501693725586, "joints": [[165.64280700683594, 193.30612182617188], [170.44647216796875, 161.28164672851562], [175.25015258789062, 130.8583984375], [180.05381774902344, 129.25718688964844], [189.66116333007812, 159.68043518066406], [170.44647216796875, 193.30612182617188], [178.4525909423828, 129.25718688964844], [183.25625610351562, 89.2265853881836], [186.45870971679688, 81.22046661376953], [186.45870971679688, 62.00578308105469], [167.24403381347656, 142.0669708251953], [172.04769897460938, 118.04861450195312], [176.8513641357422, 89.2265853881836], [181.65504455566406, 89.2265853881836], [180.05381774902344, 111.64371490478516], [181.65504455566406, 127.65595245361328]], "image": "01_17_00028954.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [182.99602508544922, 126.98596954345703], "scale": 0.6488750457763672, "joints": [[161.36685180664062, 191.87347412109375], [169.37765502929688, 161.4324188232422], [174.18414306640625, 130.99136352539062], [180.59278869628906, 129.3892059326172], [191.8079071044922, 158.2281036376953], [174.18414306640625, 191.87347412109375], [177.38845825195312, 127.78704833984375], [183.79710388183594, 89.33519744873047], [187.00143432617188, 79.72222900390625], [188.6035919189453, 62.09846496582031], [178.99063110351562, 126.18489074707031], [174.18414306640625, 114.96976470947266], [177.38845825195312, 89.33519744873047], [182.1949462890625, 87.7330322265625], [180.59278869628906, 110.16328430175781], [182.1949462890625, 124.58272552490234]], "image": "01_17_00028955.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [182.6270980834961, 126.54181480407715], "scale": 0.642330265045166, "joints": [[159.200927734375, 190.77484130859375], [168.2691192626953, 162.05889892578125], [175.82595825195312, 130.32022094726562], [181.8714141845703, 130.32022094726562], [192.4509735107422, 157.52479553222656], [180.36004638671875, 184.72938537597656], [177.33731079101562, 128.80886840820312], [183.38278198242188, 89.51336669921875], [186.40550231933594, 80.44517517089844], [187.9168701171875, 62.30878829956055], [172.80322265625, 136.36569213867188], [174.31459045410156, 118.22930145263672], [177.33731079101562, 89.51336669921875], [183.38278198242188, 89.51336669921875], [180.36004638671875, 110.67247772216797], [178.8486785888672, 131.8315887451172]], "image": "01_17_00028956.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.4890899658203, 126.85312843322754], "scale": 0.6322908592224121, "joints": [[155.54083251953125, 190.08221435546875], [167.7295684814453, 164.18115234375], [173.82394409179688, 129.13851928710938], [181.44190979003906, 129.13851928710938], [195.15423583984375, 158.08677673339844], [186.01268005371094, 188.55862426757812], [176.87112426757812, 127.61492919921875], [184.4890899658203, 89.52511596679688], [186.01268005371094, 80.38356018066406], [189.0598602294922, 63.62404251098633], [181.44190979003906, 130.662109375], [173.82394409179688, 116.94978332519531], [176.87112426757812, 91.0487060546875], [182.9654998779297, 89.52511596679688], [182.9654998779297, 110.85540771484375], [182.9654998779297, 124.56774139404297]], "image": "01_17_00028957.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.61821746826172, 126.83816337585449], "scale": 0.6320327949523926, "joints": [[152.22653198242188, 190.04144287109375], [166.44728088378906, 164.7601318359375], [172.76760864257812, 131.5784149169922], [177.50784301757812, 129.9983367919922], [196.4688262939453, 155.27964782714844], [188.56842041015625, 188.46136474609375], [177.50784301757812, 128.41824340820312], [183.8281707763672, 90.49627685546875], [186.98834228515625, 81.01578521728516], [188.56842041015625, 63.634883880615234], [172.76760864257812, 134.7385711669922], [177.50784301757812, 115.77759552001953], [179.0879364013672, 92.07636260986328], [182.2480926513672, 88.91619873046875], [182.2480926513672, 111.03734588623047], [180.6680145263672, 126.83816528320312]], "image": "01_17_00028958.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.8023223876953, 128.7343635559082], "scale": 0.6273673629760742, "joints": [[149.1602783203125, 191.47109985351562], [164.84446716308594, 164.8079833984375], [172.68655395507812, 133.4396209716797], [175.82339477539062, 131.87120056152344], [197.78125, 155.39747619628906], [191.507568359375, 189.90267944335938], [175.82339477539062, 130.3027801513672], [185.23390197753906, 91.09232330322266], [188.37074279785156, 83.25022888183594], [189.9391632080078, 65.99762725830078], [180.5286407470703, 138.14488220214844], [177.39181518554688, 116.18701934814453], [180.5286407470703, 94.22916412353516], [182.09706115722656, 94.22916412353516], [180.5286407470703, 113.05017852783203], [180.5286407470703, 128.73435974121094]], "image": "01_17_00028959.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.7556915283203, 128.31815338134766], "scale": 0.608685531616211, "joints": [[145.61593627929688, 189.18670654296875], [162.7839813232422, 165.77572631835938], [172.14837646484375, 134.5610809326172], [175.26983642578125, 133.00035095214844], [198.68081665039062, 157.97206115722656], [193.99862670898438, 189.18670654296875], [176.83056640625, 131.4396209716797], [186.19496154785156, 93.98204803466797], [187.7556915283203, 84.6176528930664], [190.87716674804688, 67.44960021972656], [186.19496154785156, 137.6825408935547], [179.95204162597656, 117.39302825927734], [181.5127716064453, 95.54277801513672], [184.6342315673828, 93.98204803466797], [181.5127716064453, 111.15010070800781], [181.5127716064453, 128.3181610107422]], "image": "01_17_00028960.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [188.29761505126953, 130.29346084594727], "scale": 0.6097475814819336, "joints": [[141.21583557128906, 191.26821899414062], [161.28347778320312, 165.02590942382812], [172.08912658691406, 135.6962890625], [179.8074493408203, 135.6962890625], [198.33143615722656, 157.30758666992188], [195.2440948486328, 191.26821899414062], [178.2637939453125, 134.15261840820312], [185.98211669921875, 95.56100463867188], [189.06944274902344, 86.29901885986328], [190.6131134033203, 69.3187026977539], [192.15676879882812, 138.7836151123047], [179.8074493408203, 118.71597290039062], [179.8074493408203, 97.10466766357422], [185.98211669921875, 95.56100463867188], [184.43844604492188, 114.0849838256836], [192.15676879882812, 131.06529235839844]], "image": "01_17_00028961.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [188.66407012939453, 130.4366683959961], "scale": 0.6022765350341797, "joints": [[140.1690673828125, 187.53561401367188], [162.07003784179688, 165.6346435546875], [171.45616149902344, 135.9119110107422], [177.71359252929688, 137.47625732421875], [199.6145477294922, 156.24851989746094], [194.92149353027344, 190.66432189941406], [177.71359252929688, 134.34754943847656], [187.09971618652344, 96.80303955078125], [188.6640625, 87.41691589355469], [190.22842407226562, 70.20901489257812], [198.05020141601562, 140.60496520996094], [182.40664672851562, 123.3970718383789], [182.40664672851562, 96.80303955078125], [188.6640625, 96.80303955078125], [187.09971618652344, 117.1396484375], [199.6145477294922, 142.16932678222656]], "image": "01_17_00028962.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.57451629638672, 130.1347312927246], "scale": 0.6162855911254883, "joints": [[138.74703979492188, 187.0826416015625], [160.59007263183594, 165.23960876464844], [174.6320343017578, 135.59548950195312], [179.31268310546875, 137.1557159423828], [199.59548950195312, 158.99874877929688], [193.35462951660156, 191.76329040527344], [177.75245666503906, 134.0352783203125], [188.67398071289062, 96.59007263183594], [190.23419189453125, 87.22877502441406], [191.79440307617188, 68.50617218017578], [207.39657592773438, 141.83636474609375], [190.23419189453125, 123.11376190185547], [185.5535430908203, 98.1502914428711], [188.67398071289062, 96.59007263183594], [193.35462951660156, 123.11376190185547], [205.83636474609375, 141.83636474609375]], "image": "01_17_00028963.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [195.18484497070312, 129.9709701538086], "scale": 0.605558853149414, "joints": [[141.83799743652344, 181.87600708007812], [163.46510314941406, 163.1325225830078], [174.9995574951172, 134.29638671875], [176.4413604736328, 134.29638671875], [199.51026916503906, 160.24891662597656], [189.41761779785156, 190.52685546875], [177.88316345214844, 132.85458374023438], [189.41761779785156, 95.36760711669922], [192.30123901367188, 86.71676635742188], [193.7430419921875, 69.41508483886719], [212.4865264892578, 137.1800079345703], [193.7430419921875, 121.32012939453125], [187.97581481933594, 98.251220703125], [189.41761779785156, 95.36760711669922], [195.18484497070312, 118.43651580810547], [206.71929931640625, 137.1800079345703]], "image": "01_17_00028964.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.6973419189453, 130.57114791870117], "scale": 0.6054684829711914, "joints": [[138.33892822265625, 182.36422729492188], [166.05917358398438, 166.315673828125], [174.81292724609375, 134.2185516357422], [182.10772705078125, 137.13645935058594], [198.1562957763672, 163.3977508544922], [185.02565002441406, 191.1179962158203], [179.1898193359375, 134.2185516357422], [190.8614959716797, 97.74454498291016], [192.32044982910156, 87.53182220458984], [193.7794189453125, 70.02429962158203], [214.20486450195312, 138.59542846679688], [196.6973419189453, 122.54686737060547], [189.4025421142578, 97.74454498291016], [190.8614959716797, 97.74454498291016], [199.61524963378906, 122.54686737060547], [208.3690185546875, 140.05438232421875]], "image": "01_17_00028965.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [201.08914947509766, 131.34063720703125], "scale": 0.6061004638671875, "joints": [[141.16786193847656, 182.3081817626953], [170.0953826904297, 171.2881622314453], [174.22787475585938, 138.2281494140625], [181.11538696289062, 138.2281494140625], [194.89039611816406, 165.77816772460938], [178.36038208007812, 191.95068359375], [178.36038208007812, 136.85064697265625], [190.7578887939453, 98.2806167602539], [192.13539123535156, 88.63810729980469], [194.89039611816406, 70.7305908203125], [223.8179168701172, 136.85064697265625], [199.0229034423828, 121.69812774658203], [190.7578887939453, 99.65811157226562], [192.13539123535156, 98.2806167602539], [200.40040588378906, 121.69812774658203], [215.55291748046875, 138.2281494140625]], "image": "01_17_00028966.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.44707489013672, 131.5454864501953], "scale": 0.6010888671875, "joints": [[145.31997680664062, 181.98167419433594], [181.24713134765625, 170.9271697998047], [175.71987915039062, 140.5272674560547], [181.24713134765625, 140.5272674560547], [190.91981506347656, 168.16354370117188], [171.57443237304688, 191.6543731689453], [179.8653106689453, 137.76364135742188], [190.91981506347656, 100.45468139648438], [192.3016357421875, 89.40017700195312], [193.68344116210938, 71.43659973144531], [221.31971740722656, 132.23638916015625], [200.59251403808594, 118.41825866699219], [186.77438354492188, 100.45468139648438], [192.3016357421875, 100.45468139648438], [204.7379608154297, 118.41825866699219], [221.31971740722656, 136.3818359375]], "image": "01_17_00028967.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [194.38568878173828, 130.71101760864258], "scale": 0.5856956100463867, "joints": [[155.10963439941406, 181.01194763183594], [186.8061065673828, 169.98707580566406], [175.78123474121094, 139.66871643066406], [179.91555786132812, 138.2906036376953], [185.42799377441406, 169.98707580566406], [166.13449096679688, 189.28057861328125], [178.53746032714844, 135.53439331054688], [190.9404296875, 99.70360565185547], [192.3185272216797, 90.05684661865234], [193.69664001464844, 72.1414566040039], [222.6368865966797, 130.02197265625], [199.2090606689453, 116.24089050292969], [188.1842041015625, 99.70360565185547], [195.07473754882812, 101.08171081542969], [204.72149658203125, 113.48467254638672], [222.6368865966797, 130.02197265625]], "image": "01_17_00028968.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [193.73194122314453, 128.73848724365234], "scale": 0.5714026641845703, "joints": [[162.69277954101562, 184.46788024902344], [189.49932861328125, 167.5374298095703], [178.2123565673828, 136.49827575683594], [179.62322998046875, 136.49827575683594], [189.49932861328125, 166.12655639648438], [162.69277954101562, 185.87875366210938], [179.62322998046875, 135.08740234375], [190.9102020263672, 98.4047622680664], [192.32107543945312, 88.52867126464844], [193.73194885253906, 71.59822082519531], [220.53848266601562, 125.21131134033203], [200.7863006591797, 115.33521270751953], [186.67758178710938, 99.81563568115234], [195.14280700683594, 98.4047622680664], [207.8406524658203, 112.51347351074219], [224.77110290527344, 125.21131134033203]], "image": "01_17_00028969.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.62093353271484, 128.1651268005371], "scale": 0.595972785949707, "joints": [[174.70147705078125, 181.80267333984375], [195.56053161621094, 160.94363403320312], [179.17127990722656, 134.12484741210938], [180.6612091064453, 132.63491821289062], [171.72161865234375, 166.90335083007812], [150.86256408691406, 187.7624053955078], [180.6612091064453, 132.63491821289062], [191.09072875976562, 93.89669036865234], [192.58065795898438, 84.95709991455078], [194.07058715820312, 68.5678482055664], [222.37930297851562, 122.20539855957031], [198.54039001464844, 111.77587890625], [186.62094116210938, 95.38662719726562], [197.0504608154297, 95.38662719726562], [207.47998046875, 108.79601287841797], [222.37930297851562, 120.71546936035156]], "image": "01_17_00028970.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.17808532714844, 125.96121978759766], "scale": 0.6078162384033203, "joints": [[184.0610809326172, 186.7428436279297], [198.0876007080078, 157.13128662109375], [179.3855743408203, 130.63673400878906], [179.3855743408203, 129.07823181152344], [168.47604370117188, 163.36529541015625], [151.33250427246094, 185.18434143066406], [180.94407653808594, 129.07823181152344], [191.8535919189453, 91.67414855957031], [193.41209411621094, 82.32312774658203], [194.97059631347656, 65.17959594726562], [218.34814453125, 121.28571319580078], [198.0876007080078, 110.37619018554688], [184.0610809326172, 90.11564636230469], [198.0876007080078, 90.11564636230469], [210.55563354492188, 104.14217376708984], [223.02366638183594, 118.16870880126953]], "image": "01_17_00028971.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.0607147216797, 125.95480346679688], "scale": 0.6300418090820312, "joints": [[192.73175048828125, 188.958984375], [198.66156005859375, 153.38015747070312], [180.87213134765625, 128.17848205566406], [180.87213134765625, 128.17848205566406], [170.49497985839844, 160.7924041748047], [149.74066162109375, 181.54672241210938], [182.35458374023438, 126.69602966308594], [192.73175048828125, 88.15229797363281], [194.21420288085938, 79.25758361816406], [195.6966552734375, 62.95062255859375], [220.8983154296875, 122.24867248535156], [197.17910766601562, 108.9066162109375], [185.31948852539062, 89.6347427368164], [200.1439971923828, 88.15229797363281], [210.5211639404297, 102.976806640625], [222.38076782226562, 119.28377532958984]], "image": "01_17_00028972.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.4024658203125, 125.42080497741699], "scale": 0.6558641242980957, "joints": [[197.3272705078125, 191.00721740722656], [198.81787109375, 153.74221801757812], [183.911865234375, 128.40200805664062], [182.4212646484375, 128.40200805664062], [173.4776611328125, 159.70462036132812], [151.11865234375, 180.57301330566406], [183.911865234375, 125.42080688476562], [192.85546875, 86.66519927978516], [195.836669921875, 79.21219635009766], [197.3272705078125, 59.83439254760742], [216.705078125, 120.94900512695312], [194.3460693359375, 106.04299926757812], [186.89306640625, 88.15579986572266], [201.799072265625, 86.66519927978516], [210.74267578125, 104.55239868164062], [219.686279296875, 119.45840454101562]], "image": "01_17_00028973.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.77163696289062, 124.91663932800293], "scale": 0.6497322273254394, "joints": [[198.37399291992188, 189.88986206054688], [196.82701110839844, 155.8562774658203], [184.451171875, 128.01060485839844], [182.90419006347656, 128.01060485839844], [179.8102264404297, 160.49722290039062], [153.51153564453125, 177.51400756835938], [184.451171875, 124.91664123535156], [193.73304748535156, 87.7890853881836], [195.280029296875, 78.50719451904297], [198.37399291992188, 59.943416595458984], [218.48475646972656, 123.36965942382812], [195.280029296875, 109.44682312011719], [187.5451202392578, 89.33606719970703], [201.46795654296875, 87.7890853881836], [209.20286560058594, 104.80587768554688], [220.03173828125, 126.463623046875]], "image": "01_17_00028974.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [189.4901123046875, 126.78788375854492], "scale": 0.6537833023071289, "joints": [[194.2738800048828, 192.1662139892578], [194.2738800048828, 158.67974853515625], [183.1117401123047, 129.97706604003906], [184.70632934570312, 128.38247680664062], [184.70632934570312, 160.27435302734375], [160.7874298095703, 177.81488037109375], [186.30091857910156, 126.78788757324219], [194.2738800048828, 90.11223602294922], [195.8684844970703, 80.544677734375], [199.0576629638672, 61.40955352783203], [216.5981903076172, 129.97706604003906], [197.46307373046875, 112.4365463256836], [191.08470153808594, 91.70683288574219], [200.6522674560547, 90.11223602294922], [208.62522888183594, 109.24736022949219], [218.1927947998047, 128.38247680664062]], "image": "01_17_00028975.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [198.98137664794922, 129.1050148010254], "scale": 0.6441884994506836, "joints": [[166.77194213867188, 181.8113555908203], [193.12510681152344, 162.77850341796875], [184.34072875976562, 130.56907653808594], [187.26885986328125, 132.03314208984375], [193.12510681152344, 164.24256896972656], [185.80479431152344, 193.52386474609375], [187.26885986328125, 129.10501098632812], [196.05323791503906, 92.5033950805664], [197.51730346679688, 82.25494384765625], [198.9813690185547, 64.68616485595703], [212.157958984375, 132.03314208984375], [196.05323791503906, 117.39250183105469], [188.73292541503906, 93.96746063232422], [200.4454345703125, 93.96746063232422], [204.83763122558594, 108.60810852050781], [213.6220245361328, 132.03314208984375]], "image": "01_17_00028976.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [194.25729370117188, 132.1024055480957], "scale": 0.6255767440795899, "joints": [[178.6178741455078, 194.6600799560547], [190.5336151123047, 167.84963989257812], [183.08627319335938, 135.0813446044922], [187.5546875, 136.57080078125], [199.47042846679688, 166.36016845703125], [180.1073455810547, 188.7021942138672], [187.5546875, 133.5918731689453], [195.0020294189453, 96.35516357421875], [196.49148559570312, 85.92888641357422], [199.47042846679688, 69.54473114013672], [208.40724182128906, 130.61293029785156], [196.49148559570312, 120.18665313720703], [193.51255798339844, 97.84463500976562], [196.49148559570312, 97.84463500976562], [203.93882751464844, 114.2287826538086], [208.40724182128906, 130.61293029785156]], "image": "01_17_00028977.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [195.0345687866211, 133.61972045898438], "scale": 0.6014999389648438, "joints": [[172.21905517578125, 193.76971435546875], [184.66387939453125, 173.02833557128906], [181.8983612060547, 139.84213256835938], [188.81216430664062, 139.84213256835938], [208.1707763671875, 163.34902954101562], [191.5776824951172, 188.23867797851562], [186.04664611816406, 138.45938110351562], [195.7259521484375, 99.74213409423828], [198.49147033691406, 90.06282806396484], [199.8742218017578, 73.4697265625], [197.1087188720703, 119.10075378417969], [186.04664611816406, 117.7179946899414], [190.19491577148438, 99.74213409423828], [194.34320068359375, 98.359375], [192.96043395996094, 108.03868865966797], [198.49147033691406, 119.10075378417969]], "image": "01_17_00028978.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [199.4295654296875, 134.23488235473633], "scale": 0.6034423446655274, "joints": [[161.53900146484375, 194.57911682128906], [179.78260803222656, 174.93215942382812], [183.99266052246094, 141.25164794921875], [186.79937744140625, 141.25164794921875], [210.65640258789062, 162.30197143554688], [203.63961791992188, 193.17576599121094], [188.20272827148438, 139.84829711914062], [196.6228485107422, 99.1510238647461], [198.0261993408203, 92.1342544555664], [200.83291625976562, 73.8906478881836], [202.23626708984375, 114.58792114257812], [192.4127960205078, 114.58792114257812], [192.4127960205078, 99.1510238647461], [193.81614685058594, 99.1510238647461], [196.6228485107422, 107.57115173339844], [202.23626708984375, 114.58792114257812]], "image": "01_17_00028979.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [201.2809600830078, 133.00476455688477], "scale": 0.5773470687866211, "joints": [[153.77772521972656, 190.73947143554688], [174.24066162109375, 173.19981384277344], [184.4721221923828, 142.5054168701172], [187.39540100097656, 141.0437774658203], [212.2432403564453, 160.04507446289062], [215.16651916503906, 190.73947143554688], [187.39540100097656, 139.58213806152344], [197.62686157226562, 98.6562728881836], [199.0885009765625, 92.8097152709961], [202.01177978515625, 75.27005767822266], [202.01177978515625, 101.57954406738281], [197.62686157226562, 103.04118347167969], [191.7803192138672, 97.19463348388672], [196.16522216796875, 97.19463348388672], [200.55014038085938, 98.6562728881836], [203.47341918945312, 103.04118347167969]], "image": "01_17_00028980.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.2998046875, 133.84488677978516], "scale": 0.5976187896728515, "joints": [[148.91073608398438, 192.149169921875], [172.23245239257812, 171.74267578125], [189.72373962402344, 141.13291931152344], [189.72373962402344, 141.13291931152344], [213.04544067382812, 164.4546356201172], [218.87586975097656, 193.6067657470703], [189.72373962402344, 139.67532348632812], [198.46937561035156, 100.31993103027344], [199.92698669433594, 93.03189849853516], [202.84219360351562, 74.0830078125], [207.2150115966797, 85.74385833740234], [201.3845977783203, 94.489501953125], [194.0965576171875, 98.86231994628906], [195.55416870117188, 97.40471649169922], [202.84219360351562, 95.94711303710938], [205.75741577148438, 85.74385833740234]], "image": "01_17_00028981.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [203.88809967041016, 135.71091079711914], "scale": 0.620389060974121, "joints": [[151.68463134765625, 188.67095947265625], [178.9212188720703, 170.5132293701172], [191.02638244628906, 141.76348876953125], [192.53952026367188, 140.25035095214844], [213.72354125976562, 164.4606475830078], [212.2104034423828, 197.74981689453125], [192.53952026367188, 140.25035095214844], [200.10523986816406, 99.39545440673828], [201.61839294433594, 91.8297348022461], [203.13153076171875, 73.67200469970703], [215.23667907714844, 75.18514251708984], [204.64468383789062, 88.8034439086914], [195.56581115722656, 97.88230895996094], [197.07894897460938, 97.88230895996094], [207.67095947265625, 85.77715301513672], [213.72354125976562, 75.18514251708984]], "image": "01_17_00028982.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.0508575439453, 125.15079307556152], "scale": 0.729428653717041, "joints": [[156.446044921875, 187.34417724609375], [185.62318420410156, 176.59471130371094], [191.7657470703125, 144.34628295898438], [196.37266540527344, 144.34628295898438], [211.72906494140625, 167.38087463378906], [204.0508575439453, 198.09365844726562], [194.83702087402344, 141.27500915527344], [202.51522827148438, 98.27710723876953], [204.0508575439453, 93.6701889038086], [204.0508575439453, 75.24251556396484], [213.2646942138672, 52.20792770385742], [207.1221466064453, 84.45635223388672], [197.90830993652344, 95.20582580566406], [202.51522827148438, 96.74146270751953], [208.65777587890625, 78.31379699707031], [213.2646942138672, 52.20792770385742]], "image": "01_17_00028983.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.0986785888672, 125.13701820373535], "scale": 0.6858647727966308, "joints": [[166.84182739257812, 183.5625457763672], [199.01820373535156, 175.09507751464844], [193.93771362304688, 142.918701171875], [195.63121032714844, 142.918701171875], [205.79217529296875, 175.09507751464844], [199.01820373535156, 193.72349548339844], [197.32470703125, 141.22520446777344], [204.0986785888672, 98.88787078857422], [205.79217529296875, 93.8073959350586], [204.0986785888672, 76.8724594116211], [214.2596435546875, 56.550540924072266], [207.48565673828125, 78.56595611572266], [199.01820373535156, 95.50088500976562], [204.0986785888672, 95.50088500976562], [207.48565673828125, 80.25944519042969], [214.2596435546875, 56.550540924072266]], "image": "01_17_00028984.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [200.39539337158203, 120.03119468688965], "scale": 0.6996547889709472, "joints": [[181.39242553710938, 184.8140411376953], [205.57801818847656, 170.9936981201172], [195.2127685546875, 138.17039489746094], [196.9403076171875, 138.17039489746094], [205.57801818847656, 170.9936981201172], [184.84750366210938, 189.99667358398438], [196.9403076171875, 136.44284057617188], [205.57801818847656, 94.98182678222656], [207.30557250976562, 89.7991943359375], [210.76065063476562, 72.52377319335938], [215.9432830810547, 50.06571578979492], [209.03311157226562, 72.52377319335938], [202.12294006347656, 91.52674102783203], [203.85047912597656, 91.52674102783203], [212.48818969726562, 72.52377319335938], [215.9432830810547, 50.06571578979492]], "image": "01_17_00028985.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [203.30638122558594, 118.64807891845703], "scale": 0.7124553680419922, "joints": [[188.35362243652344, 182.85702514648438], [216.5, 163.50637817382812], [197.1493682861328, 133.60084533691406], [198.90850830078125, 133.60084533691406], [195.3902130126953, 172.3021240234375], [186.59446716308594, 189.89361572265625], [198.90850830078125, 131.84170532226562], [207.70425415039062, 91.38127136230469], [207.70425415039062, 87.86296844482422], [212.98170471191406, 68.5123291015625], [218.2591552734375, 47.40254211425781], [209.46340942382812, 68.5123291015625], [202.4268035888672, 87.86296844482422], [205.9451141357422, 86.10382080078125], [212.98170471191406, 70.271484375], [220.01829528808594, 47.40254211425781]], "image": "01_17_00028986.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [200.70079803466797, 114.7176399230957], "scale": 0.7385827255249023, "joints": [[203.47047424316406, 188.57591247558594], [218.2421417236328, 155.33969116210938], [199.77757263183594, 131.33575439453125], [199.77757263183594, 131.33575439453125], [192.39173889160156, 162.7255096435547], [177.62008666992188, 188.57591247558594], [201.6240234375, 129.48928833007812], [209.00985717773438, 87.02079010009766], [210.85630798339844, 83.32787322998047], [214.54922485351562, 66.70976257324219], [221.93504333496094, 42.70582580566406], [214.54922485351562, 63.016849517822266], [205.3169403076172, 81.48141479492188], [207.16339111328125, 81.48141479492188], [216.3956756591797, 63.016849517822266], [223.78150939941406, 40.85936737060547]], "image": "01_17_00028987.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [203.06056213378906, 111.27907943725586], "scale": 0.746379280090332, "joints": [[214.54331970214844, 185.91700744628906], [218.37091064453125, 151.46873474121094], [199.23297119140625, 128.5032196044922], [201.1467742919922, 128.5032196044922], [201.1467742919922, 161.03768920898438], [180.0950469970703, 184.00320434570312], [201.1467742919922, 126.58942413330078], [210.7157440185547, 84.48597717285156], [212.62953186035156, 78.74459838867188], [216.45712280273438, 61.52046203613281], [226.0260772705078, 36.641151428222656], [216.45712280273438, 59.606666564941406], [206.88815307617188, 76.83080291748047], [206.88815307617188, 78.74459838867188], [218.37091064453125, 59.606666564941406], [226.0260772705078, 36.641151428222656]], "image": "01_17_00028988.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.25967407226562, 112.07388305664062], "scale": 0.7446284484863281, "joints": [[222.88768005371094, 186.53672790527344], [217.3719024658203, 149.76495361328125], [200.82461547851562, 124.02471160888672], [200.82461547851562, 124.02471160888672], [202.66319274902344, 157.1193084716797], [184.27731323242188, 184.69813537597656], [204.5017852783203, 122.18611907958984], [211.85614013671875, 81.73716735839844], [213.69473266601562, 76.22140502929688], [219.2104949951172, 61.5126953125], [230.24203491210938, 37.61103820800781], [221.04908752441406, 57.83551788330078], [206.3403778076172, 76.22140502929688], [208.17897033691406, 76.22140502929688], [221.04908752441406, 57.83551788330078], [230.24203491210938, 37.61103820800781]], "image": "01_17_00028989.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [205.9242401123047, 114.07609939575195], "scale": 0.3810586166381836, "joints": [[164.13072204589844, 152.1819610595703], [176.4229278564453, 120.22220611572266], [191.173583984375, 89.4916763305664], [191.173583984375, 89.4916763305664], [175.19371032714844, 118.99298095703125], [164.13072204589844, 150.95272827148438], [192.40280151367188, 89.4916763305664], [229.27944946289062, 90.72089385986328], [235.42555236816406, 91.95011901855469], [247.71775817871094, 94.40856170654297], [225.59178161621094, 122.68064880371094], [228.0502166748047, 104.24232482910156], [231.73788452148438, 93.17933654785156], [231.73788452148438, 82.11634826660156], [230.5086669921875, 75.9702377319336], [225.59178161621094, 120.22220611572266]], "image": "01_17_00029002.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [201.98670196533203, 103.64648056030273], "scale": 0.3100033950805664, "joints": [[148.94168090820312, 134.64682006835938], [170.9863739013672, 111.2243423461914], [194.40884399414062, 87.80186462402344], [187.51988220214844, 78.15731811523438], [164.097412109375, 105.71317291259766], [147.5638885498047, 134.64682006835938], [193.0310516357422, 82.29069519042969], [227.4758758544922, 91.93524169921875], [232.98704528808594, 94.69082641601562], [244.00938415527344, 101.57979583740234], [199.92001342773438, 116.73551177978516], [209.5645751953125, 105.71317291259766], [227.4758758544922, 98.82421112060547], [232.98704528808594, 82.29069519042969], [242.631591796875, 74.02393341064453], [256.4095153808594, 72.6461410522461]], "image": "01_17_00029003.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [202.71813201904297, 94.99893951416016], "scale": 0.2268816375732422, "joints": [[138.14413452148438, 117.68710327148438], [166.06802368164062, 103.72515106201172], [193.99191284179688, 82.78223419189453], [192.24667358398438, 72.31077575683594], [160.83229064941406, 89.7632064819336], [132.9084014892578, 112.45137023925781], [193.99191284179688, 79.291748046875], [228.8967742919922, 89.7632064819336], [232.38726806640625, 91.50845336914062], [241.1134796142578, 107.21563720703125], [187.0109405517578, 100.23466491699219], [195.73715209960938, 101.97991180419922], [223.6610565185547, 103.72515106201172], [235.87774658203125, 84.52748107910156], [249.83970642089844, 77.54650115966797], [272.5278625488281, 84.52748107910156]], "image": "01_17_00029004.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [195.76169967651367, 92.86359024047852], "scale": 0.23417430877685547, "joints": [[125.5094223022461, 71.11883544921875], [153.9448699951172, 77.80952453613281], [192.41635131835938, 79.4822006225586], [192.41635131835938, 79.4822006225586], [153.9448699951172, 72.79150390625], [125.5094223022461, 69.44615936279297], [194.0890350341797, 82.82754516601562], [225.8698272705078, 94.53626251220703], [232.56051635742188, 96.20893859863281], [240.92388916015625, 102.89962768554688], [266.01397705078125, 116.28102111816406], [257.650634765625, 97.88160705566406], [234.2332000732422, 92.86358642578125], [235.90586853027344, 92.86358642578125], [255.9779510498047, 97.88160705566406], [264.34130859375, 116.28102111816406]], "image": "01_17_00029006.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [194.29876708984375, 86.58869934082031], "scale": 0.3250846862792969, "joints": [[134.45362854003906, 54.080230712890625], [164.00677490234375, 65.9014892578125], [195.03759765625, 76.2450942993164], [192.082275390625, 83.63338470458984], [162.5291290283203, 68.85680389404297], [134.45362854003906, 54.080230712890625], [195.03759765625, 80.67807006835938], [227.5460662841797, 95.45464324951172], [234.93435668945312, 98.40995788574219], [246.755615234375, 101.36527252197266], [218.68011474609375, 77.7227554321289], [215.72479248046875, 74.7674331665039], [230.50137329101562, 86.58869934082031], [230.50137329101562, 105.79824829101562], [242.3226318359375, 113.18653869628906], [254.14390563964844, 119.09716796875]], "image": "01_17_00029007.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.13603973388672, 89.81046867370605], "scale": 0.4137236213684082, "joints": [[145.2683868408203, 38.94281005859375], [173.7542724609375, 59.28987121582031], [198.17074584960938, 72.85458374023438], [191.3883819580078, 85.06282043457031], [168.32838439941406, 70.14163970947266], [141.198974609375, 48.438106536865234], [195.45779418945312, 79.63693237304688], [225.30015563964844, 99.98399353027344], [232.08251953125, 105.40988159179688], [242.9342803955078, 110.83576202392578], [221.23074340820312, 94.55811309814453], [221.23074340820312, 74.21105194091797], [236.1519317626953, 87.7757568359375], [225.30015563964844, 112.1922378540039], [229.36956787109375, 131.18283081054688], [251.07310485839844, 120.33106231689453]], "image": "01_17_00029008.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.20021057128906, 89.88871192932129], "scale": 0.4130129051208496, "joints": [[145.41993713378906, 39.108436584472656], [173.8568878173828, 59.42054748535156], [198.23141479492188, 72.96195983886719], [191.46072387695312, 85.14922332763672], [168.44032287597656, 70.25367736816406], [141.35751342773438, 48.58742141723633], [195.5231475830078, 79.73265838623047], [225.31423950195312, 100.04476928710938], [232.08494567871094, 105.46133422851562], [242.91806030273438, 110.87789916992188], [221.25181579589844, 94.62821197509766], [221.25181579589844, 74.31609344482422], [236.14736938476562, 87.85750579833984], [225.31423950195312, 112.23204040527344], [229.3766632080078, 131.19000244140625], [251.04290771484375, 120.35688018798828]], "image": "01_17_00029009.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.1680145263672, 88.63432121276855], "scale": 0.4584495735168457, "joints": [[155.8492889404297, 34.45391845703125], [178.47406005859375, 54.6971435546875], [202.2896270751953, 73.74959564208984], [191.57261657714844, 84.46659851074219], [170.1386260986328, 64.2233657836914], [148.70462036132812, 42.789363861083984], [197.52651977539062, 80.8942642211914], [221.34207153320312, 108.28215789794922], [224.91441345214844, 114.23604583740234], [232.05908203125, 126.1438217163086], [215.38818359375, 97.56515502929688], [226.1051788330078, 80.8942642211914], [235.63140869140625, 99.94670867919922], [217.76974487304688, 116.61759948730469], [214.19740295410156, 134.47927856445312], [234.4406280517578, 130.9069366455078]], "image": "01_17_00029010.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [197.37561798095703, 87.90220642089844], "scale": 0.4726884460449219, "joints": [[169.7509765625, 39.405601501464844], [190.6229248046875, 60.277557373046875], [215.17816162109375, 82.37727355957031], [213.95040893554688, 82.37727355957031], [190.6229248046875, 60.277557373046875], [169.7509765625, 40.63336181640625], [213.95040893554688, 84.83280181884766], [213.95040893554688, 116.7546157836914], [209.0393524169922, 122.89342498779297], [202.90054321289062, 135.17105102539062], [210.26712036132812, 88.51608276367188], [225.00025939941406, 104.47698974609375], [217.63369750976562, 120.43789672851562], [209.0393524169922, 115.52684783935547], [197.989501953125, 110.61580657958984], [182.02859497070312, 119.21013641357422]], "image": "01_17_00029011.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [203.19142150878906, 87.64713668823242], "scale": 0.4329700088500977, "joints": [[179.5748748779297, 45.474735260009766], [202.0668182373047, 66.84208679199219], [225.68336486816406, 89.33403015136719], [225.68336486816406, 89.33403015136719], [199.817626953125, 66.84208679199219], [180.69947814941406, 44.350135803222656], [224.5587615966797, 91.58322143554688], [206.56521606445312, 116.3243637084961], [199.817626953125, 121.94734954833984], [188.5716552734375, 130.9441375732422], [218.93577575683594, 92.70782470703125], [221.1849822998047, 109.5767822265625], [208.8144073486328, 121.94734954833984], [203.19142150878906, 115.19976806640625], [204.31600952148438, 102.8292007446289], [190.8208465576172, 89.33403015136719]], "image": "01_17_00029012.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [205.9436798095703, 82.84578323364258], "scale": 0.33770458221435545, "joints": [[192.4355010986328, 48.036231994628906], [210.1000518798828, 71.9353256225586], [229.8427734375, 99.99078369140625], [230.88186645507812, 99.99078369140625], [210.1000518798828, 71.9353256225586], [192.4355010986328, 49.07532501220703], [228.80369567871094, 102.06896209716797], [200.74822998046875, 112.45987701416016], [193.47459411621094, 114.53805541992188], [181.0054931640625, 114.53805541992188], [220.490966796875, 95.83441925048828], [214.25640869140625, 110.3816909790039], [200.74822998046875, 116.61624145507812], [199.70913696289062, 110.3816909790039], [210.1000518798828, 93.75623321533203], [210.1000518798828, 77.13078308105469]], "image": "01_17_00029013.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.00865173339844, 83.9286060333252], "scale": 0.30301450729370116, "joints": [[208.99563598632812, 53.62715530395508], [219.9240264892578, 81.44487762451172], [230.8524169921875, 113.23656463623047], [230.8524169921875, 113.23656463623047], [219.9240264892578, 81.44487762451172], [209.98912048339844, 53.62715530395508], [228.8654327392578, 114.23005676269531], [201.04771423339844, 107.27562713623047], [194.09327697753906, 104.29515838623047], [183.16488647460938, 96.34723663330078], [230.8524169921875, 96.34723663330078], [213.9630889892578, 107.27562713623047], [197.07374572753906, 109.26260375976562], [199.06072998046875, 101.31468200683594], [215.9500732421875, 93.36676025390625], [226.8784637451172, 74.49044799804688]], "image": "01_17_00029014.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.8512420654297, 91.2769718170166], "scale": 0.3227709770202637, "joints": [[229.12261962890625, 60.02454376220703], [226.04861450195312, 90.76463317871094], [226.04861450195312, 123.55406951904297], [229.12261962890625, 123.55406951904297], [227.07327270507812, 90.76463317871094], [231.1719512939453, 58.999874114990234], [225.02394104003906, 122.5293960571289], [202.481201171875, 103.06067657470703], [200.43185424804688, 96.91265106201172], [196.3331756591797, 84.61661529541016], [236.29530334472656, 98.96199035644531], [218.87591552734375, 105.11001586914062], [200.43185424804688, 102.03600311279297], [204.53053283691406, 96.91265106201172], [220.92526245117188, 94.86331176757812], [239.3693084716797, 85.64128875732422]], "image": "01_17_00029015.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [230.76019287109375, 101.618896484375], "scale": 0.2932015991210937, "joints": [[249.7055206298828, 72.29873657226562], [233.46665954589844, 98.46134185791016], [219.9342803955078, 130.93905639648438], [220.83644104003906, 130.03689575195312], [232.5644989013672, 98.46134185791016], [251.5098419189453, 72.29873657226562], [219.03211975097656, 128.23257446289062], [210.0105438232422, 99.3635025024414], [210.91268920898438, 93.95054626464844], [212.71701049804688, 82.22248077392578], [241.58609008789062, 99.3635025024414], [227.15155029296875, 105.6786117553711], [210.0105438232422, 97.5591812133789], [211.81484985351562, 95.75486755371094], [228.95587158203125, 99.3635025024414], [244.29257202148438, 99.3635025024414]], "image": "01_17_00029016.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [240.28775787353516, 109.17150497436523], "scale": 0.22208377838134766, "joints": [[266.5752258300781, 93.30838012695312], [239.3813018798828, 108.71827697753906], [213.0938262939453, 131.3798828125], [213.0938262939453, 130.47341918945312], [240.2877655029297, 108.71827697753906], [268.3881530761719, 93.30838012695312], [212.18736267089844, 127.7540283203125], [218.53260803222656, 99.65363311767578], [224.87786865234375, 94.21484375], [231.22311401367188, 86.96312713623047], [242.10069274902344, 114.15705871582031], [228.50372314453125, 115.96998596191406], [220.34555053710938, 98.74716186523438], [223.97140502929688, 98.74716186523438], [234.84898376464844, 110.53120422363281], [244.82008361816406, 114.15705871582031]], "image": "01_17_00029017.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [240.49717712402344, 113.41738510131836], "scale": 0.15203907012939452, "joints": [[272.8667907714844, 119.79322052001953], [238.53538513183594, 120.77411651611328], [207.14666748046875, 127.64039611816406], [208.1275634765625, 127.64039611816406], [239.5162811279297, 120.77411651611328], [273.8476867675781, 119.79322052001953], [208.1275634765625, 125.67860412597656], [228.72640991210938, 104.09886169433594], [234.61178588867188, 102.13706970214844], [244.42076110839844, 98.2134780883789], [237.55447387695312, 128.6212921142578], [227.74551391601562, 123.71680450439453], [228.72640991210938, 104.09886169433594], [230.68820190429688, 103.11796569824219], [229.70730590820312, 119.79322052001953], [238.53538513183594, 128.6212921142578]], "image": "01_17_00029018.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [237.29005432128906, 129.67627716064453], "scale": 0.17143760681152342, "joints": [[266.6148986816406, 146.82003784179688], [239.54580688476562, 132.38319396972656], [207.06289672851562, 122.45785522460938], [207.96519470214844, 122.45785522460938], [240.44810485839844, 132.38319396972656], [267.5172119140625, 144.11312866210938], [208.86749267578125, 119.75093841552734], [236.83889770507812, 113.43482208251953], [242.25271606445312, 114.33712005615234], [253.98265075683594, 117.94633483886719], [237.74119567871094, 137.79701232910156], [226.91355895996094, 130.57858276367188], [238.6435089111328, 112.53251647949219], [240.44810485839844, 112.53251647949219], [229.62046813964844, 127.87167358398438], [237.74119567871094, 137.79701232910156]], "image": "01_17_00029019.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [232.49314880371094, 141.6650161743164], "scale": 0.2529991912841797, "joints": [[251.9198760986328, 166.96493530273438], [232.04136657714844, 139.85787963867188], [211.25929260253906, 118.17223358154297], [212.16285705566406, 117.26866912841797], [232.94493103027344, 139.85787963867188], [252.8234405517578, 166.96493530273438], [213.97000122070312, 116.36509704589844], [241.98062133789062, 123.59364318847656], [245.5948944091797, 128.1114959716797], [253.7270050048828, 138.0507354736328], [229.33065795898438, 144.37571716308594], [224.8128204345703, 134.43646240234375], [243.78775024414062, 126.30435180664062], [243.78775024414062, 126.30435180664062], [227.52352905273438, 133.53289794921875], [229.33065795898438, 145.27928161621094]], "image": "01_17_00029020.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [233.54025268554688, 145.4249267578125], "scale": 0.31681610107421876, "joints": [[231.56015014648438, 177.10653686523438], [226.60989379882812, 143.44482421875], [220.6696014404297, 115.72341918945312], [221.65965270996094, 114.73336791992188], [226.60989379882812, 143.44482421875], [230.57009887695312, 177.10653686523438], [223.63975524902344, 113.74331665039062], [241.4606475830078, 136.5144805908203], [243.4407501220703, 141.4647216796875], [248.39100646972656, 155.32542419433594], [218.6894989013672, 152.35528564453125], [221.65965270996094, 137.50453186035156], [242.45069885253906, 138.49456787109375], [244.43080139160156, 138.49456787109375], [224.62979125976562, 138.49456787109375], [219.67955017089844, 151.365234375]], "image": "01_17_00029021.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [225.70378875732422, 146.41219329833984], "scale": 0.28345314025878904, "joints": [[211.30616760253906, 174.75750732421875], [222.10438537597656, 145.96226501464844], [233.80245971679688, 118.06687927246094], [232.90260314941406, 118.06687927246094], [222.10438537597656, 145.96226501464844], [211.30616760253906, 174.75750732421875], [235.60215759277344, 118.96672821044922], [240.10140991210938, 145.96226501464844], [238.3017120361328, 151.3613739013672], [233.80245971679688, 163.95928955078125], [213.1058807373047, 145.06240844726562], [222.10438537597656, 136.96376037597656], [239.20156860351562, 150.46151733398438], [240.10140991210938, 148.6618194580078], [223.00424194335938, 136.96376037597656], [214.00572204589844, 145.06240844726562]], "image": "01_17_00029022.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [220.82341766357422, 145.70769119262695], "scale": 0.19759395599365234, "joints": [[194.8892059326172, 162.99716186523438], [219.5884552001953, 144.88438415527344], [245.93431091308594, 125.94829559326172], [245.1110076904297, 125.94829559326172], [220.41175842285156, 144.88438415527344], [194.8892059326172, 162.99716186523438], [246.75762939453125, 128.41822814941406], [234.4080047607422, 153.11746215820312], [231.11476135253906, 156.41070556640625], [220.41175842285156, 165.4670867919922], [213.82530212402344, 139.9445343017578], [226.17491149902344, 135.8280029296875], [233.58468627929688, 155.58738708496094], [231.93807983398438, 153.94078063964844], [225.3516082763672, 137.474609375], [213.00198364257812, 140.76785278320312]], "image": "01_17_00029023.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.60043334960938, 146.03711700439453], "scale": 0.13063499450683594, "joints": [[189.8125762939453, 143.42442321777344], [220.29408264160156, 141.6826171875], [253.38829040527344, 139.06991577148438], [253.38829040527344, 138.1990203857422], [220.29408264160156, 141.6826171875], [189.8125762939453, 143.42442321777344], [253.38829040527344, 141.6826171875], [230.74488830566406, 156.4879150390625], [224.64859008789062, 158.22972106933594], [212.4559783935547, 159.10061645507812], [216.81048583984375, 132.97361755371094], [230.74488830566406, 139.06991577148438], [229.00308227539062, 157.35882568359375], [227.2612762451172, 157.35882568359375], [230.74488830566406, 139.06991577148438], [215.9395751953125, 134.71542358398438]], "image": "01_17_00029024.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [227.12539672851562, 139.93509674072266], "scale": 0.1848303985595703, "joints": [[198.32623291015625, 121.45205688476562], [225.83587646484375, 132.6278533935547], [255.06488037109375, 149.82138061523438], [255.06488037109375, 148.96170043945312], [225.83587646484375, 132.6278533935547], [199.1859130859375, 121.45205688476562], [253.34552001953125, 152.40040588378906], [228.4149169921875, 158.4181365966797], [222.3971710205078, 158.4181365966797], [207.78268432617188, 152.40040588378906], [224.1165313720703, 127.46978759765625], [235.29232788085938, 145.5229949951172], [224.97621154785156, 157.55845642089844], [224.97621154785156, 156.69879150390625], [235.29232788085938, 144.66331481933594], [224.1165313720703, 127.46978759765625]], "image": "01_17_00029025.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.07789611816406, 134.26973342895508], "scale": 0.28047588348388675, "joints": [[220.61947631835938, 107.17291259765625], [235.83172607421875, 132.8435821533203], [251.9947509765625, 159.46502685546875], [252.9455108642578, 159.46502685546875], [234.88095092773438, 131.892822265625], [221.5702362060547, 106.2221450805664], [251.04397583007812, 161.36656188964844], [223.47177124023438, 162.31732177734375], [217.7671661376953, 158.51425170898438], [209.2102813720703, 148.0558319091797], [235.83172607421875, 131.892822265625], [235.83172607421875, 153.76043701171875], [219.668701171875, 160.41578674316406], [221.5702362060547, 156.61273193359375], [234.88095092773438, 149.95736694335938], [234.88095092773438, 132.8435821533203]], "image": "01_17_00029026.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.26626586914062, 137.0924301147461], "scale": 0.30558692932128906, "joints": [[247.01002502441406, 106.53373718261719], [244.052734375, 138.0782012939453], [247.99578857421875, 167.651123046875], [248.98155212402344, 166.6653594970703], [245.0384979248047, 138.0782012939453], [246.02426147460938, 106.53373718261719], [246.02426147460938, 167.651123046875], [220.39439392089844, 158.7792510986328], [215.465576171875, 153.8504180908203], [209.5509796142578, 142.02125549316406], [245.0384979248047, 127.23478698730469], [229.26626586914062, 159.7650146484375], [217.43710327148438, 156.80772399902344], [218.42286682128906, 151.87889099121094], [235.1808624267578, 143.99278259277344], [244.052734375, 124.27749633789062]], "image": "01_17_00029027.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [251.9833984375, 149.42750549316406], "scale": 0.21931472778320313, "joints": [[285.1242980957031, 130.42022705078125], [259.78125, 148.9401397705078], [238.33714294433594, 170.38424682617188], [239.31187438964844, 168.43478393554688], [259.78125, 146.9906768798828], [284.1495666503906, 129.44549560546875], [235.41294860839844, 168.43478393554688], [220.79196166992188, 148.9401397705078], [219.81723022460938, 142.1170196533203], [218.84249877929688, 127.49603271484375], [239.31187438964844, 171.35897827148438], [229.56455993652344, 161.61166381835938], [222.74142456054688, 148.9401397705078], [221.76669311523438, 146.0159454345703], [231.51402282714844, 154.78854370117188], [247.1097412109375, 153.8137969970703]], "image": "01_17_00029029.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [256.6462173461914, 149.92869567871094], "scale": 0.2557350158691406, "joints": [[291.24566650390625, 147.42149353027344], [260.15631103515625, 157.4503173828125], [234.08135986328125, 168.48202514648438], [234.08135986328125, 168.48202514648438], [260.15631103515625, 156.4474334716797], [291.24566650390625, 148.42437744140625], [232.07559204101562, 166.47625732421875], [222.04676818847656, 141.40420532226562], [224.0525360107422, 135.38690185546875], [229.0669403076172, 124.35519409179688], [231.0727081298828, 175.502197265625], [228.06405639648438, 159.45608520507812], [224.0525360107422, 143.4099578857422], [223.04965209960938, 139.3984375], [227.06117248535156, 157.4503173828125], [231.0727081298828, 174.4993133544922]], "image": "01_17_00029030.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [258.0567398071289, 151.5565528869629], "scale": 0.2809865951538086, "joints": [[290.16949462890625, 164.6023712158203], [258.0567321777344, 163.59884643554688], [229.9580841064453, 165.6058807373047], [231.9651336669922, 162.59532165527344], [258.0567321777344, 163.59884643554688], [290.16949462890625, 164.6023712158203], [229.9580841064453, 162.59532165527344], [228.95455932617188, 136.5037078857422], [232.96865844726562, 132.48960876464844], [244.00741577148438, 123.45789337158203], [225.94398498535156, 179.65521240234375], [226.947509765625, 157.57769775390625], [229.9580841064453, 139.51426696777344], [228.95455932617188, 136.5037078857422], [229.9580841064453, 155.57064819335938], [225.94398498535156, 177.64817810058594]], "image": "01_17_00029031.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [253.9029312133789, 151.85391235351562], "scale": 0.2619921875, "joints": [[286.9966735839844, 178.05313110351562], [251.14512634277344, 167.94114685058594], [220.80918884277344, 161.50625610351562], [220.80918884277344, 161.50625610351562], [250.22584533691406, 167.94114685058594], [286.9966735839844, 177.1338653564453], [222.64773559570312, 158.74844360351562], [237.35606384277344, 134.84739685058594], [244.71022033691406, 131.17031860351562], [256.6607360839844, 125.65469360351562], [220.80918884277344, 176.21458435058594], [230.00189208984375, 156.90989685058594], [238.27532958984375, 137.60520935058594], [238.27532958984375, 133.0088653564453], [229.08262634277344, 153.23281860351562], [227.24407958984375, 174.3760528564453]], "image": "01_17_00029032.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [247.11770629882812, 160.9239959716797], "scale": 0.28359298706054686, "joints": [[275.0537109375, 189.28329467773438], [245.42462158203125, 170.65927124023438], [221.72132873535156, 155.42144775390625], [221.72132873535156, 154.5749053955078], [245.42462158203125, 169.81272888183594], [275.9002685546875, 189.28329467773438], [222.56787109375, 152.88180541992188], [244.57806396484375, 135.10433959960938], [253.0435333251953, 135.10433959960938], [266.5882568359375, 132.564697265625], [218.33514404296875, 171.50582885742188], [232.72642517089844, 155.42144775390625], [245.42462158203125, 139.33706665039062], [246.2711639404297, 136.7974395751953], [233.57296752929688, 154.5749053955078], [221.72132873535156, 169.81272888183594]], "image": "01_17_00029033.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [244.9098358154297, 166.48969268798828], "scale": 0.27784400939941406, "joints": [[254.96971130371094, 194.2740936279297], [237.72421264648438, 168.40585327148438], [221.43679809570312, 145.411865234375], [221.43679809570312, 145.411865234375], [237.72421264648438, 168.40585327148438], [254.96971130371094, 194.2740936279297], [222.39488220214844, 144.4537811279297], [252.095458984375, 139.66336059570312], [259.7601318359375, 140.62144470214844], [273.17327880859375, 140.62144470214844], [216.64639282226562, 171.2801055908203], [234.84996032714844, 154.99269104003906], [250.17929077148438, 142.53761291503906], [253.0535430908203, 138.70529174804688], [235.80804443359375, 152.11843872070312], [216.64639282226562, 170.322021484375]], "image": "01_17_00029034.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [246.66707611083984, 167.28955841064453], "scale": 0.3035022735595703, "joints": [[234.20181274414062, 197.63978576660156], [229.86605834960938, 170.54136657714844], [224.44638061523438, 138.0232696533203], [224.44638061523438, 136.9393310546875], [229.86605834960938, 170.54136657714844], [235.28575134277344, 196.55584716796875], [226.6142578125, 136.9393310546875], [254.79660034179688, 143.44296264648438], [262.3841552734375, 146.69476318359375], [275.3913879394531, 149.9465789794922], [219.0266876220703, 174.8771209716797], [236.3696746826172, 157.5341339111328], [251.5447998046875, 147.77870178222656], [254.79660034179688, 144.52688598632812], [236.3696746826172, 154.28231811523438], [217.94276428222656, 174.8771209716797]], "image": "01_17_00029035.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [245.66558074951172, 161.94327545166016], "scale": 0.2839490509033203, "joints": [[213.95794677734375, 190.3381805419922], [221.52992248535156, 161.9432830810547], [230.99488830566406, 133.54837036132812], [230.99488830566406, 133.54837036132812], [221.52992248535156, 161.9432830810547], [214.90443420410156, 190.3381805419922], [232.88787841796875, 133.54837036132812], [258.44329833984375, 149.63880920410156], [263.17578125, 154.37130737304688], [276.4267272949219, 160.9967803955078], [225.31590270996094, 174.24774169921875], [238.56686401367188, 162.8897705078125], [255.6038055419922, 153.4248046875], [258.44329833984375, 152.47830200195312], [239.5133514404297, 160.05027770996094], [224.36940002441406, 174.24774169921875]], "image": "01_17_00029036.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [235.7933578491211, 157.75360107421875], "scale": 0.26190628051757814, "joints": [[197.22169494628906, 173.4679718017578], [216.26942443847656, 151.56307983398438], [237.22193908691406, 132.51535034179688], [237.22193908691406, 131.56297302246094], [217.22181701660156, 150.61070251464844], [197.22169494628906, 173.4679718017578], [239.126708984375, 133.46774291992188], [259.1268310546875, 156.32501220703125], [262.9363708496094, 162.03933715820312], [274.3650207519531, 168.70603942871094], [231.5076141357422, 183.94422912597656], [244.84103393554688, 169.65843200683594], [259.1268310546875, 159.1821746826172], [260.0792236328125, 159.1821746826172], [245.7934112548828, 168.70603942871094], [233.41238403320312, 182.99183654785156]], "image": "01_17_00029037.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [228.40360260009766, 166.12322235107422], "scale": 0.3062717437744141, "joints": [[184.65049743652344, 157.3726043701172], [214.18385314941406, 145.3404998779297], [241.529541015625, 136.58987426757812], [241.529541015625, 135.4960479736328], [211.99620056152344, 143.15284729003906], [184.65049743652344, 156.27877807617188], [242.6233673095703, 136.58987426757812], [257.93695068359375, 165.02938842773438], [261.21844482421875, 170.49853515625], [272.1567077636719, 175.96766662597656], [236.06040954589844, 196.75039672851562], [246.99868774414062, 181.4368133544922], [260.1246032714844, 167.21705627441406], [260.1246032714844, 167.21705627441406], [248.09251403808594, 180.34298706054688], [236.06040954589844, 196.75039672851562]], "image": "01_17_00029038.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [224.18981170654297, 172.10447692871094], "scale": 0.36850494384765625, "joints": [[179.2105255126953, 135.2539825439453], [213.89334106445312, 138.50550842285156], [242.07313537597656, 141.75701904296875], [240.9893035888672, 139.58934020996094], [213.89334106445312, 136.33782958984375], [179.2105255126953, 135.2539825439453], [244.24081420898438, 143.92469787597656], [257.2468566894531, 169.93679809570312], [259.41455078125, 176.43983459472656], [269.1690979003906, 182.94285583496094], [243.15696716308594, 208.95497131347656], [250.74383544921875, 189.4458770751953], [260.4983825683594, 174.27215576171875], [260.4983825683594, 173.1883087158203], [249.66000366210938, 190.52972412109375], [243.15696716308594, 208.95497131347656]], "image": "01_17_00029039.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [224.41587829589844, 169.0912094116211], "scale": 0.5125838470458984, "joints": [[187.13705444335938, 117.83282470703125], [213.76478576660156, 131.14669799804688], [240.39251708984375, 145.7919464111328], [240.39251708984375, 144.46055603027344], [213.76478576660156, 129.8153076171875], [185.8056640625, 117.83282470703125], [241.72390747070312, 147.1233367919922], [253.70639038085938, 177.74522399902344], [256.3691711425781, 184.40216064453125], [263.0260925292969, 191.05908203125], [247.04945373535156, 220.34959411621094], [251.04360961914062, 199.0474090576172], [257.7005310058594, 183.07077026367188], [257.7005310058594, 181.7393798828125], [251.04360961914062, 200.37879943847656], [247.04945373535156, 220.34959411621094]], "image": "01_17_00029040.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [228.4764633178711, 169.74791717529297], "scale": 0.593890151977539, "joints": [[199.9095916748047, 110.35890197753906], [219.45533752441406, 131.40817260742188], [240.50460815429688, 153.96096801757812], [239.0010986328125, 152.4574432373047], [219.45533752441406, 131.40817260742188], [199.9095916748047, 110.35890197753906], [240.50460815429688, 155.4644775390625], [251.0292510986328, 187.03839111328125], [252.5327606201172, 191.5489501953125], [257.0433349609375, 200.57005310058594], [251.0292510986328, 229.13693237304688], [251.0292510986328, 208.08766174316406], [254.03628540039062, 188.54190063476562], [254.03628540039062, 188.54190063476562], [251.0292510986328, 208.08766174316406], [249.52572631835938, 229.13693237304688]], "image": "01_17_00029041.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [230.64431762695312, 175.25179290771484], "scale": 0.631829605102539, "joints": [[211.44949340820312, 112.06883239746094], [224.2460479736328, 134.46279907226562], [238.6421661376953, 163.25503540039062], [237.04258728027344, 163.25503540039062], [224.2460479736328, 134.46279907226562], [211.44949340820312, 112.06883239746094], [237.04258728027344, 164.85459899902344], [246.63999938964844, 196.84597778320312], [246.63999938964844, 201.64468383789062], [249.83914184570312, 212.84165954589844], [248.2395782470703, 238.43475341796875], [248.2395782470703, 217.64036560058594], [248.2395782470703, 198.44554138183594], [248.2395782470703, 200.04510498046875], [246.63999938964844, 217.64036560058594], [246.63999938964844, 238.43475341796875]], "image": "01_17_00029042.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [171.31158447265625, 119.28507995605469], "scale": 0.6227333068847656, "joints": [[158.85691833496094, 181.55841064453125], [169.11370849609375, 150.78805541992188], [173.50946044921875, 117.08719635009766], [177.9052276611328, 117.08719635009766], [183.76625061035156, 152.25331115722656], [160.32217407226562, 181.55841064453125], [174.97471618652344, 115.62194061279297], [179.3704833984375, 80.45582580566406], [179.3704833984375, 71.66429901123047], [180.8357391357422, 57.011749267578125], [158.85691833496094, 117.08719635009766], [167.64845275878906, 99.50414276123047], [173.50946044921875, 78.99057006835938], [176.43997192382812, 78.99057006835938], [170.57896423339844, 95.1083755493164], [172.04420471191406, 115.62194061279297]], "image": "14_1_00001072.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [171.63075256347656, 119.30874633789062], "scale": 0.6200933837890625, "joints": [[156.66297912597656, 181.31808471679688], [168.06698608398438, 149.95704650878906], [173.7689971923828, 117.17049407958984], [178.04550170898438, 118.59600067138672], [186.59852600097656, 151.38255310058594], [162.364990234375, 179.89259338378906], [176.62001037597656, 114.31948852539062], [178.04550170898438, 78.68193817138672], [179.47100830078125, 71.55442810058594], [182.32200622558594, 57.299407958984375], [156.66297912597656, 117.17049407958984], [165.2159881591797, 100.06446838378906], [175.1945037841797, 77.25643920898438], [175.1945037841797, 77.25643920898438], [166.64149475097656, 91.51145935058594], [159.51397705078125, 114.31948852539062]], "image": "14_1_00001073.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [170.5811004638672, 118.74744987487793], "scale": 0.6296452522277832, "joints": [[155.02516174316406, 181.71197509765625], [169.84033203125, 149.1185760498047], [175.76641845703125, 116.52517700195312], [178.7294464111328, 118.0066909790039], [187.61856079101562, 150.60009765625], [165.39578247070312, 178.7489471435547], [175.76641845703125, 115.04365539550781], [178.7294464111328, 76.52417755126953], [180.21096801757812, 70.59810638427734], [183.1739959716797, 55.78292465209961], [153.54364013671875, 115.04365539550781], [163.9142608642578, 97.26543426513672], [175.76641845703125, 76.52417755126953], [175.76641845703125, 76.52417755126953], [165.39578247070312, 91.33936309814453], [157.98818969726562, 103.19151306152344]], "image": "14_1_00001074.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [169.3733673095703, 118.13874626159668], "scale": 0.6253616523742676, "joints": [[156.1304168701172, 180.67491149902344], [169.3733673095703, 148.30325317382812], [175.25912475585938, 115.93158721923828], [178.20201110839844, 117.40303039550781], [187.0306396484375, 149.77468872070312], [169.3733673095703, 179.20347595214844], [178.20201110839844, 114.46015167236328], [179.67344665527344, 76.20272827148438], [181.14488220214844, 68.84553527832031], [182.61631774902344, 55.60258102416992], [151.71609497070312, 114.46015167236328], [164.95904541015625, 93.86000061035156], [175.25912475585938, 74.73129272460938], [176.73056030273438, 74.73129272460938], [166.4304962158203, 90.91712188720703], [156.1304168701172, 102.68863677978516]], "image": "14_1_00001075.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [171.31749725341797, 117.27110481262207], "scale": 0.6333491325378418, "joints": [[154.57379150390625, 180.60601806640625], [166.22158813476562, 148.57456970214844], [174.95742797851562, 115.08714294433594], [177.869384765625, 115.08714294433594], [190.97315979003906, 148.57456970214844], [172.0454864501953, 177.69406127929688], [174.95742797851562, 112.1751937866211], [177.869384765625, 75.77581787109375], [180.78134155273438, 68.49594116210938], [182.2373046875, 53.93619155883789], [151.66183471679688, 113.63116455078125], [164.76560974121094, 93.24751281738281], [174.95742797851562, 74.31983947753906], [176.4134063720703, 74.31983947753906], [166.22158813476562, 90.33556365966797], [157.48573303222656, 109.26323699951172]], "image": "14_1_00001076.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [171.6593246459961, 118.12784576416016], "scale": 0.6256974029541016, "joints": [[153.03736877441406, 180.6975860595703], [166.44517517089844, 149.4127197265625], [173.89395141601562, 115.1483383178711], [176.8734588623047, 115.1483383178711], [191.77102661132812, 147.92295837402344], [176.8734588623047, 179.2078399658203], [175.3837127685547, 113.65858459472656], [178.36322021484375, 76.41468811035156], [181.3427276611328, 70.4556655883789], [182.83248901367188, 55.55810546875], [151.54762268066406, 115.1483383178711], [164.95541381835938, 94.29175567626953], [175.3837127685547, 76.41468811035156], [175.3837127685547, 74.92493438720703], [167.9349365234375, 91.31224822998047], [157.5066375732422, 103.23029327392578]], "image": "14_1_00001077.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [171.67115783691406, 118.2801742553711], "scale": 0.621578598022461, "joints": [[151.71925354003906, 180.4380340576172], [167.06687927246094, 149.7427978515625], [174.74069213867188, 117.5127944946289], [176.27545166015625, 115.97803497314453], [188.5535430908203, 146.67327880859375], [182.41448974609375, 178.9032745361328], [174.74069213867188, 115.97803497314453], [179.344970703125, 77.6089859008789], [180.87973022460938, 69.93517303466797], [182.41448974609375, 56.122314453125], [154.7887725830078, 115.97803497314453], [165.53211975097656, 97.5608901977539], [174.74069213867188, 77.6089859008789], [174.74069213867188, 77.6089859008789], [168.6016387939453, 92.95660400390625], [157.85830688476562, 105.23470306396484]], "image": "14_1_00001078.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [175.63275146484375, 119.82726860046387], "scale": 0.6116531562805175, "joints": [[148.8729248046875, 180.99258422851562], [167.22251892089844, 151.93907165527344], [173.33905029296875, 116.76900482177734], [174.86817932128906, 116.76900482177734], [193.2177734375, 147.35166931152344], [187.1012420654297, 180.99258422851562], [174.86817932128906, 113.71073913574219], [177.92645263671875, 80.06981658935547], [180.98471069335938, 72.42414855957031], [184.04298400878906, 58.66195297241211], [158.0477294921875, 116.76900482177734], [165.69338989257812, 99.94854736328125], [174.86817932128906, 80.06981658935547], [173.33905029296875, 80.06981658935547], [167.22251892089844, 99.94854736328125], [159.5768585205078, 106.06507873535156]], "image": "14_1_00001079.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.86446380615234, 123.7365837097168], "scale": 0.6008871841430664, "joints": [[140.23316955566406, 182.35972595214844], [162.2168426513672, 158.9104766845703], [172.47589111328125, 125.20216369628906], [173.94146728515625, 123.73658752441406], [192.99398803710938, 151.58258056640625], [201.78746032714844, 183.82530212402344], [173.94146728515625, 122.27101135253906], [179.8037872314453, 87.09712219238281], [181.2693634033203, 79.76922607421875], [182.7349395751953, 63.647865295410156], [176.8726348876953, 125.20216369628906], [175.4070587158203, 112.01195526123047], [175.4070587158203, 88.56269836425781], [176.8726348876953, 88.56269836425781], [182.7349395751953, 106.14964294433594], [182.7349395751953, 125.20216369628906]], "image": "14_1_00001082.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [189.55404663085938, 124.6522102355957], "scale": 0.5941698837280274, "joints": [[136.4282684326172, 182.671142578125], [161.59310913085938, 157.5063018798828], [171.3794403076172, 125.35122680664062], [174.175537109375, 125.35122680664062], [195.14622497558594, 151.91412353515625], [206.3306121826172, 184.06919860839844], [172.77748107910156, 123.95318603515625], [181.165771484375, 89.00201416015625], [182.56381225585938, 80.61373138427734], [183.96185302734375, 65.23522186279297], [188.15599060058594, 129.5453643798828], [178.3696746826172, 114.16685485839844], [176.97161865234375, 90.40006256103516], [182.56381225585938, 90.40006256103516], [188.15599060058594, 108.57466888427734], [189.55404663085938, 126.74927520751953]], "image": "14_1_00001083.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [193.47589111328125, 125.10704803466797], "scale": 0.591424331665039, "joints": [[135.74160766601562, 181.43316650390625], [161.08836364746094, 157.49456787109375], [175.16989135742188, 119.47443389892578], [180.80250549316406, 120.88258361816406], [194.884033203125, 150.45379638671875], [208.965576171875, 184.24948120117188], [179.39434814453125, 119.47443389892578], [182.21066284179688, 89.90321350097656], [183.61880493164062, 81.45429992675781], [185.02696228027344, 65.96461486816406], [196.2921905517578, 120.88258361816406], [183.61880493164062, 112.43367004394531], [177.9862060546875, 89.90321350097656], [183.61880493164062, 89.90321350097656], [189.2514190673828, 108.2092056274414], [194.884033203125, 126.51519775390625]], "image": "14_1_00001084.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.8272247314453, 125.66441345214844], "scale": 0.595634765625, "joints": [[133.97283935546875, 179.55517578125], [160.918212890625, 154.02796936035156], [176.51817321777344, 124.24623107910156], [177.9363555908203, 122.82805633544922], [197.7908477783203, 151.19161987304688], [207.7180938720703, 185.22789001464844], [177.9363555908203, 121.40987396240234], [185.02723693847656, 88.79178619384766], [185.02723693847656, 80.28271484375], [185.02723693847656, 66.10093688964844], [199.20901489257812, 121.40987396240234], [187.8636016845703, 107.22809600830078], [182.19088745117188, 90.2099609375], [185.02723693847656, 90.2099609375], [193.53631591796875, 104.39173889160156], [199.20901489257812, 121.40987396240234]], "image": "14_1_00001085.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [194.72904205322266, 124.52664184570312], "scale": 0.60767822265625, "joints": [[135.3744354248047, 179.6416473388672], [163.63853454589844, 152.79074096679688], [179.1837921142578, 118.87381744384766], [182.01019287109375, 120.28702545166016], [200.38186645507812, 149.96434020996094], [204.62147521972656, 185.29446411132812], [182.01019287109375, 118.87381744384766], [186.24981689453125, 89.1965103149414], [187.66302490234375, 79.3040771484375], [187.66302490234375, 63.758819580078125], [207.44789123535156, 120.28702545166016], [197.55545043945312, 107.56817626953125], [184.83660888671875, 89.1965103149414], [187.66302490234375, 89.1965103149414], [196.1422576904297, 108.98138427734375], [200.38186645507812, 124.52664184570312]], "image": "14_1_00001086.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [197.46368408203125, 125.75084686279297], "scale": 0.6151422882080078, "joints": [[138.0952911376953, 177.2511444091797], [166.70657348632812, 152.93154907226562], [183.8733367919922, 120.02859497070312], [183.8733367919922, 120.02859497070312], [202.4706573486328, 151.50099182128906], [201.04010009765625, 187.26507568359375], [185.30389404296875, 118.59803009033203], [189.5955810546875, 87.1256332397461], [189.5955810546875, 78.54225158691406], [189.5955810546875, 64.23661804199219], [211.0540313720703, 115.73690032958984], [199.60952758789062, 102.86183166503906], [189.5955810546875, 87.1256332397461], [189.5955810546875, 88.55619812011719], [199.60952758789062, 102.86183166503906], [205.331787109375, 115.73690032958984]], "image": "14_1_00001087.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [202.3490219116211, 125.70126342773438], "scale": 0.6254974365234375, "joints": [[143.3133087158203, 177.006103515625], [170.01992797851562, 158.733154296875], [184.07606506347656, 124.99845886230469], [185.48167419433594, 124.99845886230469], [203.75462341308594, 153.11070251464844], [196.7265625, 188.25100708007812], [185.48167419433594, 122.1872329711914], [192.50973510742188, 87.04692840576172], [192.50973510742188, 78.61325073242188], [192.50973510742188, 63.151519775390625], [219.21636962890625, 112.34794616699219], [206.56585693359375, 99.69743347167969], [192.50973510742188, 87.04692840576172], [192.50973510742188, 85.64131164550781], [206.56585693359375, 99.69743347167969], [219.21636962890625, 112.34794616699219]], "image": "14_1_00001088.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [202.96974182128906, 126.90815734863281], "scale": 0.6235525512695312, "joints": [[149.02194213867188, 175.25099182128906], [178.44801330566406, 161.2385711669922], [184.052978515625, 126.20753479003906], [185.4542236328125, 124.8062973022461], [202.2691192626953, 152.8311309814453], [193.86167907714844, 189.26341247558594], [185.4542236328125, 124.8062973022461], [193.86167907714844, 88.37401580810547], [193.86167907714844, 79.96656036376953], [193.86167907714844, 64.55290222167969], [220.48526000976562, 107.99139404296875], [210.67657470703125, 98.18270111083984], [195.26290893554688, 86.97277069091797], [195.26290893554688, 86.97277069091797], [210.67657470703125, 98.18270111083984], [220.48526000976562, 106.59015655517578]], "image": "14_1_00001089.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.2561798095703, 126.66506958007812], "scale": 0.6150393676757813, "joints": [[158.36965942382812, 175.8682098388672], [185.70474243164062, 162.20066833496094], [184.33798217773438, 126.66506958007812], [189.80499267578125, 125.29830932617188], [203.4725341796875, 155.3668975830078], [189.80499267578125, 188.16900634765625], [188.43824768066406, 121.19805145263672], [196.63876342773438, 88.39595031738281], [196.63876342773438, 80.19542694091797], [195.2720184326172, 65.1611328125], [229.4408721923828, 112.99752807617188], [211.67306518554688, 96.59647369384766], [193.90525817871094, 85.66244506835938], [198.00552368164062, 87.0291976928711], [213.03981018066406, 96.59647369384766], [232.17437744140625, 96.59647369384766]], "image": "14_1_00001090.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.06188201904297, 125.78397750854492], "scale": 0.5891884231567383, "joints": [[169.6653289794922, 176.7587127685547], [196.1457061767578, 159.5464630126953], [186.87757873535156, 126.44599151611328], [188.20159912109375, 125.1219711303711], [201.44178771972656, 159.5464630126953], [185.55355834960938, 184.70281982421875], [189.52561950683594, 123.7979507446289], [198.7937469482422, 88.0494384765625], [197.4697265625, 81.4293441772461], [196.1457061767578, 66.8651351928711], [230.57020568847656, 86.72541809082031], [212.033935546875, 89.37345886230469], [194.8217010498047, 86.72541809082031], [196.1457061767578, 86.72541809082031], [212.033935546875, 95.9935531616211], [230.57020568847656, 107.90972137451172]], "image": "14_1_00001091.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.14452362060547, 120.05861282348633], "scale": 0.5318947982788086, "joints": [[186.8687286376953, 173.2480926513672], [203.6654052734375, 155.33163452148438], [190.22805786132812, 118.37894439697266], [191.34783935546875, 118.37894439697266], [205.90496826171875, 156.451416015625], [187.98851013183594, 173.2480926513672], [190.22805786132812, 117.25917053222656], [198.06651306152344, 89.26470184326172], [199.18629455566406, 81.42625427246094], [198.06651306152344, 66.86913299560547], [228.300537109375, 80.30647277832031], [210.3840789794922, 88.1449203491211], [194.70718383789062, 88.1449203491211], [200.3060760498047, 87.025146484375], [212.62364196777344, 95.9833755493164], [227.18075561523438, 97.1031494140625]], "image": "14_1_00001092.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [206.81976318359375, 119.21728515625], "scale": 0.5202592468261719, "joints": [[192.11679077148438, 166.71920776367188], [214.73675537109375, 149.75424194335938], [189.8547821044922, 119.21728515625], [189.8547821044922, 119.21728515625], [192.11679077148438, 142.96824645996094], [189.8547821044922, 171.2432098388672], [190.9857940673828, 119.21728515625], [200.0337677001953, 88.68032836914062], [201.16477966308594, 80.76333618164062], [198.90277099609375, 67.19136047363281], [223.7847442626953, 67.19136047363281], [210.21275329589844, 80.76333618164062], [195.50978088378906, 87.54933166503906], [201.16477966308594, 86.41832733154297], [219.2607421875, 86.41832733154297], [223.7847442626953, 67.19136047363281]], "image": "14_1_00001093.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [198.34420013427734, 113.62259674072266], "scale": 0.612516860961914, "joints": [[202.17242431640625, 168.493896484375], [218.7614288330078, 142.9723663330078], [190.687744140625, 120.00298309326172], [193.23989868164062, 120.00298309326172], [189.4116668701172, 158.2852783203125], [175.37481689453125, 174.87428283691406], [193.23989868164062, 118.7269058227539], [200.89634704589844, 84.27283477783203], [200.89634704589844, 77.89244842529297], [199.62026977539062, 63.8556022644043], [221.31358337402344, 56.19914245605469], [211.10496520996094, 71.5120620727539], [195.79205322265625, 85.54891204833984], [199.62026977539062, 82.99675750732422], [213.65711975097656, 67.68383026123047], [221.31358337402344, 52.37091064453125]], "image": "14_1_00001094.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.84729766845703, 108.01440238952637], "scale": 0.6462968635559082, "joints": [[207.34962463378906, 164.56536865234375], [225.12278747558594, 137.09776306152344], [197.65516662597656, 117.70884704589844], [197.65516662597656, 117.70884704589844], [186.344970703125, 154.8709259033203], [168.57180786132812, 172.6440887451172], [199.2709197998047, 116.09310913085938], [204.11813354492188, 83.77826690673828], [204.11813354492188, 78.93103790283203], [200.88665771484375, 61.15787887573242], [217.04408264160156, 43.38471603393555], [207.34962463378906, 62.77362060546875], [197.65516662597656, 80.54678344726562], [205.73388671875, 78.93103790283203], [212.1968536376953, 61.15787887573242], [217.04408264160156, 46.6161994934082]], "image": "14_1_00001095.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.5960922241211, 100.85068130493164], "scale": 0.7335113143920898, "joints": [[215.3413848876953, 166.0516815185547], [226.75155639648438, 131.8211669921875], [199.04112243652344, 112.26085662841797], [200.67115783691406, 112.26085662841797], [189.26097106933594, 146.49139404296875], [166.4406280517578, 174.20181274414062], [200.67115783691406, 110.6308364868164], [205.5612335205078, 73.14025115966797], [205.5612335205078, 68.25018310546875], [202.30117797851562, 53.579952239990234], [215.3413848876953, 27.499549865722656], [207.19125366210938, 51.949928283691406], [199.04112243652344, 73.14025115966797], [205.5612335205078, 68.25018310546875], [207.19125366210938, 51.949928283691406], [215.3413848876953, 29.129575729370117]], "image": "14_1_00001097.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.39336395263672, 99.24529457092285], "scale": 0.7165048789978027, "joints": [[216.0259552001953, 169.1692657470703], [226.3850555419922, 136.3654327392578], [200.48728942871094, 112.19417572021484], [202.21380615234375, 112.19417572021484], [195.3077392578125, 144.99801635742188], [172.86300659179688, 170.89578247070312], [202.21380615234375, 112.19417572021484], [207.39337158203125, 70.75775146484375], [205.66683959960938, 65.57820129394531], [202.21380615234375, 51.766056060791016], [241.92372131347656, 37.953914642333984], [221.20550537109375, 55.21908950805664], [205.66683959960938, 70.75775146484375], [205.66683959960938, 70.75775146484375], [209.11988830566406, 48.313018798828125], [214.2994384765625, 27.594806671142578]], "image": "14_1_00001098.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.52003479003906, 98.700026512146], "scale": 0.7467163181304932, "joints": [[216.80506896972656, 173.3716583251953], [222.2688446044922, 138.76773071289062], [202.23500061035156, 107.80632781982422], [202.23500061035156, 107.80632781982422], [198.5924835205078, 144.23150634765625], [180.3798828125, 169.72914123535156], [202.23500061035156, 107.80632781982422], [207.6987762451172, 67.73861694335938], [207.6987762451172, 62.27484130859375], [204.05625915527344, 49.526023864746094], [238.66018676757812, 36.7772102355957], [222.2688446044922, 53.16854476928711], [207.6987762451172, 69.55987548828125], [207.6987762451172, 69.55987548828125], [211.34129333496094, 47.70476531982422], [214.9838104248047, 24.02839469909668]], "image": "14_1_00001099.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.39459228515625, 102.88791847229004], "scale": 0.7587242698669434, "joints": [[213.3087158203125, 178.76034545898438], [213.3087158203125, 145.85182189941406], [202.33920288085938, 109.28679656982422], [202.33920288085938, 111.11505126953125], [209.6522216796875, 147.68006896972656], [191.3697052001953, 178.76034545898438], [202.33920288085938, 109.28679656982422], [205.99571228027344, 70.89352416992188], [207.82395935058594, 65.40876770019531], [205.99571228027344, 52.61100769042969], [233.4194793701172, 39.81324768066406], [218.79347229003906, 56.26750946044922], [205.99571228027344, 67.23701477050781], [205.99571228027344, 67.23701477050781], [209.6522216796875, 48.954505920410156], [215.136962890625, 27.015491485595703]], "image": "14_1_00001101.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.62602996826172, 105.35557651519775], "scale": 0.7491857814788818, "joints": [[208.30174255371094, 180.27415466308594], [213.8512725830078, 148.8268585205078], [202.75221252441406, 113.67986297607422], [204.60206604003906, 111.83002471923828], [213.8512725830078, 146.9770050048828], [202.75221252441406, 180.27415466308594], [202.75221252441406, 109.98017883300781], [206.451904296875, 74.83319091796875], [206.451904296875, 69.2836685180664], [204.60206604003906, 54.48493957519531], [213.8512725830078, 30.43699836730957], [212.0014190673828, 50.785255432128906], [204.60206604003906, 71.13351440429688], [204.60206604003906, 76.68303680419922], [217.5509490966797, 56.33477783203125], [230.49984741210938, 37.83636474609375]], "image": "14_1_00001102.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [215.21424102783203, 109.99151992797852], "scale": 0.7462319564819336, "joints": [[203.52627563476562, 182.8165740966797], [214.31517028808594, 152.24803161621094], [203.52627563476562, 116.28504943847656], [203.52627563476562, 116.28504943847656], [217.91146850585938, 150.44989013671875], [203.52627563476562, 184.61471557617188], [203.52627563476562, 112.68875122070312], [205.3244171142578, 78.52391052246094], [207.12257385253906, 73.12946319580078], [205.3244171142578, 58.744266510009766], [210.7188720703125, 35.368324279785156], [207.12257385253906, 56.94611740112305], [203.52627563476562, 76.72576141357422], [205.3244171142578, 80.32205963134766], [216.11331176757812, 62.3405647277832], [226.90220642089844, 42.5609245300293]], "image": "14_1_00001103.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [211.57989501953125, 113.35977363586426], "scale": 0.7271412467956543, "joints": [[193.61521911621094, 186.0738983154297], [210.72442626953125, 155.27732849121094], [200.4589080810547, 121.05891418457031], [203.88075256347656, 121.05891418457031], [222.7008819580078, 151.85548400878906], [210.72442626953125, 180.94113159179688], [202.16983032226562, 117.63706970214844], [205.5916748046875, 79.99681854248047], [207.30259704589844, 74.86405944824219], [205.5916748046875, 62.88761520385742], [209.0135040283203, 40.64564895629883], [205.5916748046875, 61.176692962646484], [202.16983032226562, 79.99681854248047], [205.5916748046875, 79.99681854248047], [212.4353485107422, 66.30945587158203], [220.98995971679688, 47.48933029174805]], "image": "14_1_00001104.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.44672393798828, 115.47920989990234], "scale": 0.7059024810791016, "joints": [[183.87448120117188, 186.0694580078125], [204.04312133789062, 160.85865783691406], [199.00096130371094, 125.56352996826172], [202.36241149902344, 122.20208740234375], [225.89248657226562, 152.45504760742188], [217.4888916015625, 184.38873291015625], [200.6816864013672, 120.52136993408203], [205.72384643554688, 81.86480712890625], [205.72384643554688, 76.82264709472656], [205.72384643554688, 63.37688446044922], [205.72384643554688, 44.88896179199219], [204.04312133789062, 61.696163177490234], [200.6816864013672, 80.18408203125], [205.72384643554688, 78.50336456298828], [209.08529663085938, 68.4190444946289], [212.4467315673828, 49.931121826171875]], "image": "14_1_00001105.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.20321655273438, 113.99663162231445], "scale": 0.7082041549682617, "joints": [[174.75794982910156, 184.81704711914062], [199.17877197265625, 160.39620971679688], [199.17877197265625, 122.95093536376953], [200.8068389892578, 121.3228759765625], [225.2276611328125, 150.62786865234375], [225.2276611328125, 184.81704711914062], [200.8068389892578, 119.69482421875], [204.0629425048828, 83.87760162353516], [205.6909942626953, 77.3653793334961], [208.94711303710938, 64.34093475341797], [207.31906127929688, 44.80427169799805], [204.0629425048828, 62.7128791809082], [200.8068389892578, 78.99343872070312], [204.0629425048828, 80.62149047851562], [202.4348907470703, 62.7128791809082], [207.31906127929688, 43.17621612548828]], "image": "14_1_00001106.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.23269653320312, 112.81643104553223], "scale": 0.7247269248962402, "joints": [[168.3557586669922, 181.91830444335938], [195.3223419189453, 158.32254028320312], [202.06399536132812, 119.55807495117188], [203.74940490722656, 121.24348449707031], [225.6597442626953, 148.21006774902344], [232.40139770507812, 185.28912353515625], [205.434814453125, 121.24348449707031], [205.434814453125, 82.4790267944336], [205.434814453125, 75.73738098144531], [205.434814453125, 62.254085540771484], [205.434814453125, 42.02914810180664], [203.74940490722656, 60.56867599487305], [202.06399536132812, 79.10820007324219], [202.06399536132812, 80.79360961914062], [202.06399536132812, 60.56867599487305], [205.434814453125, 40.3437385559082]], "image": "14_1_00001107.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.90118408203125, 116.0732364654541], "scale": 0.7235190391540527, "joints": [[166.8114013671875, 177.2940673828125], [195.4341278076172, 156.62210083007812], [203.3848876953125, 118.45845794677734], [204.97503662109375, 118.45845794677734], [225.6470184326172, 148.6713409423828], [233.5977783203125, 188.42514038085938], [206.56520080566406, 118.45845794677734], [204.97503662109375, 80.2948226928711], [206.56520080566406, 75.52436828613281], [206.56520080566406, 61.2130012512207], [206.56520080566406, 43.72133255004883], [200.20458984375, 64.39330291748047], [201.79473876953125, 80.2948226928711], [201.79473876953125, 78.70466613769531], [203.3848876953125, 64.39330291748047], [204.97503662109375, 43.72133255004883]], "image": "14_1_00001108.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [213.39828491210938, 115.52625274658203], "scale": 0.7061571502685546, "joints": [[169.35838317871094, 172.4744110107422], [201.2493438720703, 157.28823852539062], [204.28659057617188, 116.28556060791016], [207.32382202148438, 114.7669448852539], [224.0286102294922, 148.17652893066406], [227.0658416748047, 186.1419677734375], [205.80520629882812, 114.7669448852539], [204.28659057617188, 78.32012176513672], [205.80520629882812, 73.76426696777344], [205.80520629882812, 60.09671401977539], [204.28659057617188, 44.91053771972656], [199.73072814941406, 63.133949279785156], [201.2493438720703, 78.32012176513672], [204.28659057617188, 76.80150604248047], [204.28659057617188, 63.133949279785156], [208.84243774414062, 49.46638870239258]], "image": "14_1_00001109.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [210.8206558227539, 117.04609489440918], "scale": 0.7099899482727051, "joints": [[179.0977020263672, 165.38583374023438], [210.82066345214844, 156.32212829589844], [203.267578125, 114.02486419677734], [206.28880310058594, 112.51424407958984], [221.3949737548828, 153.3009033203125], [218.37374877929688, 188.0450897216797], [204.7781982421875, 112.51424407958984], [204.7781982421875, 79.28067016601562], [204.7781982421875, 73.23820495605469], [206.28880310058594, 61.15327072143555], [201.7569580078125, 46.04710006713867], [200.246337890625, 62.66388702392578], [201.7569580078125, 76.25943756103516], [203.267578125, 76.25943756103516], [203.267578125, 62.66388702392578], [203.267578125, 46.04710006713867]], "image": "14_1_00001110.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.7163848876953, 118.58317375183105], "scale": 0.6898225593566895, "joints": [[189.00717163085938, 158.7596435546875], [219.32904052734375, 152.69528198242188], [202.65200805664062, 116.30902862548828], [204.16810607910156, 114.79293823242188], [219.32904052734375, 151.17918395996094], [208.7163848876953, 187.5654296875], [204.16810607910156, 113.27684783935547], [205.68418884277344, 81.43888092041016], [207.20028686523438, 75.37450408935547], [208.7163848876953, 61.72966384887695], [201.1359100341797, 49.60091781616211], [198.10372924804688, 64.76185607910156], [204.16810607910156, 78.40669250488281], [205.68418884277344, 78.40669250488281], [205.68418884277344, 63.245758056640625], [204.16810607910156, 51.11701202392578]], "image": "14_1_00001111.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [210.3410873413086, 112.80608749389648], "scale": 0.698397102355957, "joints": [[205.08433532714844, 151.10528564453125], [224.6094207763672, 142.0937042236328], [202.08047485351562, 115.05897521972656], [203.58241271972656, 112.05512237548828], [212.59397888183594, 151.10528564453125], [203.58241271972656, 182.6457977294922], [202.08047485351562, 115.05897521972656], [206.5862579345703, 77.51074981689453], [206.5862579345703, 73.00495910644531], [206.5862579345703, 59.48759841918945], [197.57469177246094, 42.96637725830078], [196.07275390625, 60.98952865600586], [203.58241271972656, 76.00881958007812], [203.58241271972656, 74.50688934326172], [212.59397888183594, 63.993385314941406], [206.5862579345703, 45.970237731933594]], "image": "14_1_00001112.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [213.1289825439453, 106.68656349182129], "scale": 0.733253231048584, "joints": [[209.6783905029297, 147.2311553955078], [232.1072998046875, 128.25283813476562], [201.0518798828125, 112.7251205444336], [204.50247192382812, 110.99981689453125], [204.50247192382812, 150.6817626953125], [195.8759765625, 180.0118865966797], [202.7771759033203, 110.99981689453125], [206.227783203125, 74.76848602294922], [207.9530792236328, 67.86727905273438], [206.227783203125, 55.790164947509766], [197.6012725830078, 33.36124038696289], [194.15066528320312, 54.06486129760742], [202.7771759033203, 71.31787872314453], [204.50247192382812, 71.31787872314453], [213.1289825439453, 57.515464782714844], [213.1289825439453, 43.713050842285156]], "image": "14_1_00001113.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.38848876953125, 100.88359546661377], "scale": 0.7345633983612061, "joints": [[213.28428649902344, 142.09080505371094], [232.99209594726562, 117.0081558227539], [202.53457641601562, 111.63330078125], [204.32620239257812, 111.63330078125], [200.7429656982422, 143.88243103027344], [191.78488159179688, 174.33993530273438], [204.32620239257812, 106.2584457397461], [206.11781311035156, 70.42608642578125], [206.11781311035156, 65.05123138427734], [206.11781311035156, 48.92667007446289], [198.9513397216797, 27.427255630493164], [195.3681182861328, 47.13505554199219], [202.53457641601562, 66.84284973144531], [206.11781311035156, 63.25961685180664], [213.28428649902344, 50.71828842163086], [213.28428649902344, 32.80210876464844]], "image": "14_1_00001114.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.23540496826172, 97.25651741027832], "scale": 0.7230946159362793, "joints": [[211.3535919189453, 136.0567169189453], [234.28097534179688, 111.36568450927734], [202.5353546142578, 97.25651550292969], [204.29901123046875, 97.25651550292969], [200.77171325683594, 137.8203582763672], [190.18983459472656, 169.56597900390625], [202.5353546142578, 95.49287414550781], [204.29901123046875, 58.45631790161133], [206.06265258789062, 56.69267272949219], [206.06265258789062, 42.58351135253906], [200.77171325683594, 24.94705581665039], [195.48077392578125, 42.58351135253906], [202.5353546142578, 58.45631790161133], [204.29901123046875, 58.45631790161133], [214.88087463378906, 46.110801696777344], [216.64451599121094, 30.237993240356445]], "image": "14_1_00001115.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.67537689208984, 85.81115531921387], "scale": 0.6814990425109864, "joints": [[206.99266052246094, 128.72035217285156], [225.5025177001953, 110.21050262451172], [201.94451904296875, 86.65251159667969], [203.6272430419922, 86.65251159667969], [206.99266052246094, 123.67221069335938], [191.84823608398438, 153.9610595703125], [201.94451904296875, 84.96979522705078], [205.30995178222656, 51.315521240234375], [206.99266052246094, 47.950096130371094], [206.99266052246094, 36.17110061645508], [217.0889434814453, 17.661251068115234], [206.99266052246094, 34.48838806152344], [205.30995178222656, 49.632808685302734], [208.67538452148438, 51.315521240234375], [215.40623474121094, 37.85381317138672], [220.45437622070312, 21.02667808532715]], "image": "14_1_00001117.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.9882583618164, 85.3806505203247], "scale": 0.6439257335662841, "joints": [[194.30288696289062, 148.12213134765625], [225.6736297607422, 113.44921112060547], [202.55833435058594, 85.38065338134766], [202.55833435058594, 87.03174591064453], [215.76707458496094, 118.4024887084961], [194.30288696289062, 149.77322387695312], [202.55833435058594, 87.03174591064453], [207.51161193847656, 50.707725524902344], [207.51161193847656, 45.754451751708984], [207.51161193847656, 34.19681167602539], [224.0225372314453, 20.98807716369629], [215.76707458496094, 34.19681167602539], [205.8605194091797, 50.707725524902344], [205.8605194091797, 50.707725524902344], [215.76707458496094, 34.19681167602539], [222.37144470214844, 20.98807716369629]], "image": "14_1_00001118.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [213.268798828125, 81.18010997772217], "scale": 0.6038904285430908, "joints": [[201.34991455078125, 139.97996520996094], [222.0093231201172, 116.1421890258789], [202.9390869140625, 84.35848236083984], [202.9390869140625, 84.35848236083984], [222.0093231201172, 116.1421890258789], [199.76072692871094, 141.56915283203125], [202.9390869140625, 84.35848236083984], [207.70664978027344, 49.39640426635742], [207.70664978027344, 46.21803283691406], [206.11746215820312, 31.91536521911621], [226.77687072753906, 20.791067123413086], [215.65257263183594, 33.50455093383789], [206.11746215820312, 49.39640426635742], [206.11746215820312, 47.80721664428711], [217.24176025390625, 33.50455093383789], [225.18768310546875, 20.791067123413086]], "image": "14_1_00001119.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [214.49213409423828, 109.66697311401367], "scale": 0.18856739044189452, "joints": [[200.34957885742188, 128.52371215820312], [207.08413696289062, 110.34042358398438], [215.83905029296875, 91.48368835449219], [214.4921417236328, 90.81023406982422], [205.7372283935547, 108.32006072998047], [200.34957885742188, 127.17680358886719], [216.5124969482422, 92.15714263916016], [227.28778076171875, 107.6466064453125], [227.96124267578125, 110.34042358398438], [228.6346893310547, 118.42189025878906], [225.9408721923828, 125.15644073486328], [226.6143341064453, 118.42189025878906], [227.96124267578125, 108.99351501464844], [227.28778076171875, 108.32006072998047], [222.57359313964844, 114.38115692138672], [224.59396362304688, 126.50334930419922]], "image": "14_1_00001165.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.62242889404297, 117.79214477539062], "scale": 0.20749313354492188, "joints": [[186.63856506347656, 120.66513061523438], [201.9611358642578, 108.53475952148438], [220.47592163085938, 97.04283142089844], [219.8374786376953, 97.04283142089844], [201.9611358642578, 107.89631652832031], [186.63856506347656, 120.66513061523438], [220.47592163085938, 98.9581527709961], [231.32940673828125, 117.47293090820312], [232.60629272460938, 119.38825225830078], [232.60629272460938, 127.0495376586914], [226.86032104492188, 138.5414581298828], [229.41407775878906, 127.0495376586914], [231.9678497314453, 117.47293090820312], [230.05252075195312, 117.47293090820312], [227.49876403808594, 127.0495376586914], [226.86032104492188, 137.9030303955078]], "image": "14_1_00001166.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.03498077392578, 129.36519622802734], "scale": 0.22806053161621093, "joints": [[183.5058135986328, 109.28225708007812], [201.20603942871094, 107.23992156982422], [225.7140350341797, 107.92070007324219], [225.7140350341797, 107.92070007324219], [200.52525329589844, 106.55914306640625], [183.5058135986328, 109.28225708007812], [225.7140350341797, 109.28225708007812], [232.5218048095703, 128.3440399169922], [233.88336181640625, 131.067138671875], [234.56414794921875, 137.19415283203125], [229.117919921875, 152.17124938964844], [229.7987060546875, 141.27880859375], [233.2025909423828, 128.3440399169922], [232.5218048095703, 127.66325378417969], [229.117919921875, 141.27880859375], [228.43714904785156, 151.490478515625]], "image": "14_1_00001167.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.2409439086914, 131.53012084960938], "scale": 0.29999374389648437, "joints": [[190.2414093017578, 101.53074645996094], [207.0410614013672, 108.7305908203125], [227.04063415527344, 119.93035888671875], [227.04063415527344, 119.13037872314453], [207.0410614013672, 108.7305908203125], [189.44142150878906, 101.53074645996094], [227.04063415527344, 120.73033905029297], [235.04046630859375, 139.92994689941406], [235.04046630859375, 141.5299072265625], [232.64051818847656, 147.12979125976562], [231.04055786132812, 161.5294952392578], [231.84054565429688, 149.5297393798828], [235.04046630859375, 138.32997131347656], [233.4405059814453, 138.32997131347656], [231.04055786132812, 149.5297393798828], [231.04055786132812, 160.72950744628906]], "image": "14_1_00001168.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.12899017333984, 138.92142486572266], "scale": 0.3688695526123047, "joints": [[202.2535858154297, 102.03446960449219], [213.4597625732422, 116.97602081298828], [228.40130615234375, 133.78526306152344], [227.4674530029297, 132.85142517089844], [214.3936004638672, 116.97602081298828], [202.2535858154297, 102.03446960449219], [227.4674530029297, 133.78526306152344], [230.2689971923828, 138.45449829101562], [230.2689971923828, 139.3883514404297], [234.00439453125, 156.1975860595703], [231.20285034179688, 174.87452697753906], [232.13668823242188, 160.8668212890625], [234.00439453125, 145.92527770996094], [234.00439453125, 146.85911560058594], [231.20285034179688, 160.8668212890625], [230.2689971923828, 175.80838012695312]], "image": "14_1_00001169.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.57867431640625, 139.73687744140625], "scale": 0.7400349426269531, "joints": [[222.09107971191406, 65.73338317871094], [218.4811553955078, 100.0276870727539], [218.4811553955078, 136.126953125], [218.4811553955078, 136.126953125], [218.4811553955078, 100.0276870727539], [222.09107971191406, 65.73338317871094], [218.4811553955078, 137.93191528320312], [214.87123107910156, 165.00636291503906], [216.6761932373047, 170.42124938964844], [213.06626892089844, 183.05599975585938], [222.09107971191406, 213.74037170410156], [222.09107971191406, 188.47088623046875], [214.87123107910156, 168.6162872314453], [216.6761932373047, 168.6162872314453], [222.09107971191406, 190.27584838867188], [220.28611755371094, 213.74037170410156]], "image": "13_7_00015583.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.70120239257812, 140.02850723266602], "scale": 0.7368923568725586, "joints": [[222.14031982421875, 64.5636215209961], [218.58901977539062, 100.07650756835938], [218.58901977539062, 137.3650360107422], [218.58901977539062, 137.3650360107422], [218.58901977539062, 100.07650756835938], [222.14031982421875, 66.33927154541016], [218.58901977539062, 139.14068603515625], [215.03773498535156, 165.7753448486328], [215.03773498535156, 169.32664489746094], [213.2620849609375, 183.53179931640625], [220.3646697998047, 213.71774291992188], [222.14031982421875, 192.41001892089844], [216.81338500976562, 171.10227966308594], [216.81338500976562, 169.32664489746094], [222.14031982421875, 190.63436889648438], [220.3646697998047, 213.71774291992188]], "image": "13_7_00015584.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.5687713623047, 140.0439338684082], "scale": 0.7335345077514649, "joints": [[223.0415496826172, 66.69048309326172], [219.4633331298828, 98.89443969726562], [217.67422485351562, 136.46571350097656], [217.67422485351562, 136.46571350097656], [219.4633331298828, 100.68354797363281], [223.0415496826172, 66.69048309326172], [217.67422485351562, 140.0439453125], [215.88510131835938, 166.8805694580078], [217.67422485351562, 172.24789428710938], [214.0959930419922, 182.9825439453125], [221.25244140625, 213.3973846435547], [221.25244140625, 191.92808532714844], [217.67422485351562, 170.4587860107422], [217.67422485351562, 168.669677734375], [221.25244140625, 190.13897705078125], [221.25244140625, 213.3973846435547]], "image": "13_7_00015585.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.58322143554688, 139.45490646362305], "scale": 0.7390248489379883, "joints": [[222.03517150878906, 65.55242156982422], [218.47361755371094, 99.38729858398438], [218.47361755371094, 136.7837371826172], [218.47361755371094, 136.7837371826172], [218.47361755371094, 99.38729858398438], [222.03517150878906, 65.55242156982422], [218.47361755371094, 138.56451416015625], [216.6928253173828, 167.05703735351562], [216.6928253173828, 172.39938354492188], [213.1312713623047, 184.8648681640625], [220.25439453125, 211.57659912109375], [222.03517150878906, 191.9879913330078], [216.6928253173828, 170.6186065673828], [216.6928253173828, 170.6186065673828], [222.03517150878906, 190.20721435546875], [220.25439453125, 213.35739135742188]], "image": "13_7_00015586.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.54696655273438, 139.45630645751953], "scale": 0.725130844116211, "joints": [[222.07904052734375, 66.94322204589844], [218.45338439941406, 97.76128387451172], [216.6405487060547, 135.83065795898438], [218.45338439941406, 135.83065795898438], [218.45338439941406, 97.76128387451172], [222.07904052734375, 66.94322204589844], [218.45338439941406, 139.45631408691406], [216.6405487060547, 166.64871215820312], [214.82772827148438, 170.2743682861328], [213.014892578125, 182.9641571044922], [220.26620483398438, 211.96939086914062], [222.07904052734375, 190.21546936035156], [216.6405487060547, 170.2743682861328], [216.6405487060547, 168.4615478515625], [222.07904052734375, 190.21546936035156], [220.26620483398438, 211.96939086914062]], "image": "13_7_00015587.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.68826293945312, 139.66902923583984], "scale": 0.7301804351806641, "joints": [[222.195556640625, 66.65098571777344], [220.39263916015625, 99.10344696044922], [218.5897216796875, 136.96466064453125], [218.5897216796875, 136.96466064453125], [218.5897216796875, 99.10344696044922], [222.195556640625, 66.65098571777344], [218.5897216796875, 140.5704803466797], [216.78680419921875, 165.81129455566406], [214.98388671875, 171.22003173828125], [213.18096923828125, 183.84043884277344], [220.39263916015625, 212.68707275390625], [222.195556640625, 191.05209350585938], [214.98388671875, 171.22003173828125], [216.78680419921875, 169.4171142578125], [222.195556640625, 189.24917602539062], [220.39263916015625, 212.68707275390625]], "image": "13_7_00015588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.59165954589844, 139.47828674316406], "scale": 0.7279954528808594, "joints": [[223.91845703125, 66.67874145507812], [220.36724853515625, 100.41511535644531], [218.59165954589844, 135.92709350585938], [218.59165954589844, 135.92709350585938], [220.36724853515625, 100.41511535644531], [223.91845703125, 66.67874145507812], [218.59165954589844, 139.47828674316406], [216.81605529785156, 166.11227416992188], [215.04046630859375, 169.66346740722656], [213.26486206054688, 183.86825561523438], [220.36724853515625, 212.27783203125], [222.14285278320312, 190.9706573486328], [216.81605529785156, 171.43907165527344], [216.81605529785156, 169.66346740722656], [222.14285278320312, 189.19505310058594], [220.36724853515625, 212.27783203125]], "image": "13_7_00015589.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.8885040283203, 139.86351776123047], "scale": 0.7390042877197266, "joints": [[224.2958526611328, 67.76553344726562], [220.69094848632812, 100.20962524414062], [217.08604431152344, 136.2586212158203], [218.8885040283203, 136.2586212158203], [220.69094848632812, 100.20962524414062], [224.2958526611328, 65.96308898925781], [218.8885040283203, 138.06106567382812], [215.28359985351562, 165.09780883789062], [215.28359985351562, 170.50515747070312], [213.4811553955078, 183.12229919433594], [220.69094848632812, 211.96148681640625], [222.49339294433594, 190.3321075439453], [215.28359985351562, 170.50515747070312], [217.08604431152344, 168.7027130126953], [222.49339294433594, 188.52964782714844], [220.69094848632812, 213.76394653320312]], "image": "13_7_00015590.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.98368072509766, 139.50769424438477], "scale": 0.7362372970581055, "joints": [[224.30587768554688, 65.88396453857422], [220.75775146484375, 99.59121704101562], [218.9836883544922, 135.07252502441406], [218.9836883544922, 135.07252502441406], [220.75775146484375, 99.59121704101562], [224.30587768554688, 65.88396453857422], [218.9836883544922, 138.62066650390625], [215.435546875, 163.45758056640625], [215.435546875, 168.77978515625], [213.66148376464844, 182.97230529785156], [220.75775146484375, 211.35736083984375], [222.5318145751953, 191.84263610839844], [215.435546875, 168.77978515625], [217.20960998535156, 167.00572204589844], [222.5318145751953, 188.2945098876953], [220.75775146484375, 213.1314239501953]], "image": "13_7_00015591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.88571166992188, 138.09184646606445], "scale": 0.7303506088256836, "joints": [[224.3390655517578, 65.0567855834961], [220.77638244628906, 98.90229797363281], [217.2136993408203, 136.3105010986328], [218.9950408935547, 134.52915954589844], [220.77638244628906, 98.90229797363281], [226.1204071044922, 65.0567855834961], [218.9950408935547, 138.0918426513672], [215.43235778808594, 164.81199645996094], [215.43235778808594, 168.3746795654297], [213.65101623535156, 182.6254119873047], [220.77638244628906, 211.1269073486328], [222.55772399902344, 187.96945190429688], [215.43235778808594, 168.3746795654297], [215.43235778808594, 166.5933380126953], [220.77638244628906, 187.96945190429688], [220.77638244628906, 211.1269073486328]], "image": "13_7_00015592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.88632202148438, 139.21696853637695], "scale": 0.7396630477905274, "joints": [[225.12445068359375, 65.25066375732422], [221.55979919433594, 99.11476135253906], [219.77748107910156, 136.54348754882812], [219.77748107910156, 136.54348754882812], [221.55979919433594, 99.11476135253906], [225.12445068359375, 65.25066375732422], [219.77748107910156, 140.10813903808594], [216.2128448486328, 163.27830505371094], [216.2128448486328, 168.62525939941406], [212.648193359375, 182.8838348388672], [219.77748107910156, 213.1832733154297], [221.55979919433594, 188.2307891845703], [216.2128448486328, 168.62525939941406], [216.2128448486328, 166.8429412841797], [221.55979919433594, 188.2307891845703], [219.77748107910156, 213.1832733154297]], "image": "13_7_00015593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.2094268798828, 139.12876892089844], "scale": 0.7359051513671875, "joints": [[226.302490234375, 65.53825378417969], [220.98269653320312, 97.45703125], [219.2094268798828, 134.6956024169922], [219.2094268798828, 134.6956024169922], [220.98269653320312, 97.45703125], [226.302490234375, 65.53825378417969], [219.2094268798828, 138.2421417236328], [215.66290283203125, 166.6143798828125], [215.66290283203125, 170.16090393066406], [212.11636352539062, 182.57376098632812], [220.98269653320312, 212.7192840576172], [220.98269653320312, 189.6668243408203], [215.66290283203125, 168.3876495361328], [217.43617248535156, 168.3876495361328], [219.2094268798828, 189.6668243408203], [219.2094268798828, 212.7192840576172]], "image": "13_7_00015594.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.3330535888672, 137.87087440490723], "scale": 0.7399677085876465, "joints": [[226.46527099609375, 63.87410354614258], [221.11610412597656, 97.75214385986328], [219.3330535888672, 135.1962890625], [219.3330535888672, 135.1962890625], [221.11610412597656, 97.75214385986328], [226.46527099609375, 63.87410354614258], [219.3330535888672, 136.97933959960938], [215.76695251464844, 163.7251739501953], [215.76695251464844, 169.07432556152344], [212.20083618164062, 183.33877563476562], [219.3330535888672, 211.86764526367188], [221.11610412597656, 190.4709930419922], [215.76695251464844, 169.07432556152344], [215.76695251464844, 169.07432556152344], [221.11610412597656, 188.68792724609375], [217.5500030517578, 211.86764526367188]], "image": "13_7_00015595.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.67119598388672, 140.6089973449707], "scale": 0.7372460556030274, "joints": [[226.529296875, 66.88439178466797], [221.38572692871094, 97.74585723876953], [219.67120361328125, 135.46542358398438], [219.67120361328125, 135.46542358398438], [221.38572692871094, 97.74585723876953], [226.529296875, 66.88439178466797], [219.67120361328125, 137.17994689941406], [217.9566650390625, 168.04141235351562], [216.2421417236328, 171.470458984375], [212.81309509277344, 181.7576141357422], [219.67120361328125, 212.61907958984375], [221.38572692871094, 190.3302459716797], [216.2421417236328, 173.1849822998047], [216.2421417236328, 171.470458984375], [221.38572692871094, 190.3302459716797], [216.2421417236328, 214.33360290527344]], "image": "13_7_00015596.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.5609359741211, 140.2957305908203], "scale": 0.7311660766601562, "joints": [[225.6083221435547, 67.17912292480469], [222.0846405029297, 98.89234924316406], [218.56094360351562, 135.89111328125], [220.32278442382812, 135.89111328125], [222.0846405029297, 98.89234924316406], [225.6083221435547, 67.17912292480469], [220.32278442382812, 137.65296936035156], [216.79908752441406, 164.08065795898438], [216.79908752441406, 169.36619567871094], [211.5135498046875, 183.46095275878906], [218.56094360351562, 211.65049743652344], [220.32278442382812, 190.5083465576172], [216.79908752441406, 171.12803649902344], [216.79908752441406, 169.36619567871094], [220.32278442382812, 190.5083465576172], [216.79908752441406, 213.41233825683594]], "image": "13_7_00015597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.9624252319336, 140.1732635498047], "scale": 0.7371296691894531, "joints": [[228.24478149414062, 64.80381774902344], [223.27536010742188, 99.5897216796875], [219.96241760253906, 134.3756103515625], [219.96241760253906, 134.3756103515625], [223.27536010742188, 99.5897216796875], [228.24478149414062, 66.46029663085938], [219.96241760253906, 137.6885528564453], [216.64947509765625, 169.16151428222656], [216.64947509765625, 170.81797790527344], [211.68006896972656, 182.4132843017578], [218.3059539794922, 212.22976684570312], [219.96241760253906, 190.6956329345703], [216.64947509765625, 174.13092041015625], [216.64947509765625, 172.47445678710938], [219.96241760253906, 190.6956329345703], [216.64947509765625, 213.88623046875]], "image": "13_7_00015598.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [220.75787353515625, 139.71700286865234], "scale": 0.7335042572021484, "joints": [[229.09315490722656, 64.69951629638672], [224.09197998046875, 98.0406265258789], [219.0908203125, 134.71583557128906], [220.75787353515625, 134.71583557128906], [225.759033203125, 98.0406265258789], [230.7602081298828, 66.3665771484375], [219.0908203125, 136.3828887939453], [217.42376708984375, 168.05694580078125], [217.42376708984375, 173.05810546875], [210.7555389404297, 181.3933868408203], [219.0908203125, 211.40037536621094], [219.0908203125, 191.39572143554688], [217.42376708984375, 173.05810546875], [215.7567138671875, 173.05810546875], [219.0908203125, 189.72866821289062], [217.42376708984375, 213.0674285888672]], "image": "13_7_00015599.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.3552017211914, 138.15803146362305], "scale": 0.7372937393188477, "joints": [[231.40921020507812, 64.42865753173828], [226.3822021484375, 99.61767578125], [219.67953491210938, 134.80670166015625], [221.35519409179688, 134.80670166015625], [226.3822021484375, 99.61767578125], [231.40921020507812, 64.42865753173828], [219.67953491210938, 136.48236083984375], [218.0038604736328, 168.32005310058594], [218.0038604736328, 171.67138671875], [211.3011932373047, 181.7253875732422], [218.0038604736328, 211.8874053955078], [219.67953491210938, 190.10372924804688], [216.3282012939453, 171.67138671875], [216.3282012939453, 171.67138671875], [218.0038604736328, 188.42807006835938], [216.3282012939453, 211.8874053955078]], "image": "13_7_00015600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.8888397216797, 138.65234375], "scale": 0.726795654296875, "joints": [[232.62559509277344, 65.9727783203125], [227.670166015625, 99.00894927978516], [219.4111328125, 133.69691467285156], [221.06292724609375, 133.69691467285156], [227.670166015625, 99.00894927978516], [234.27740478515625, 65.9727783203125], [221.06292724609375, 137.0005340576172], [217.7593231201172, 168.38490295410156], [217.7593231201172, 171.68850708007812], [209.50027465820312, 179.9475555419922], [217.7593231201172, 211.3319091796875], [219.4111328125, 189.85841369628906], [216.10751342773438, 173.34031677246094], [216.10751342773438, 173.34031677246094], [217.7593231201172, 189.85841369628906], [216.10751342773438, 211.3319091796875]], "image": "13_7_00015601.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5847625732422, 139.8051872253418], "scale": 0.7097769546508789, "joints": [[234.13926696777344, 68.8274917602539], [227.5366973876953, 101.84037017822266], [220.93411254882812, 134.85325622558594], [220.93411254882812, 134.85325622558594], [227.5366973876953, 101.84037017822266], [234.13926696777344, 68.8274917602539], [220.93411254882812, 138.154541015625], [217.63282775878906, 166.21548461914062], [215.982177734375, 169.5167694091797], [211.03025817871094, 181.0712890625], [215.982177734375, 210.7828826904297], [219.28347778320312, 189.3245086669922], [215.982177734375, 169.5167694091797], [215.982177734375, 167.8661346435547], [217.63282775878906, 189.3245086669922], [215.982177734375, 210.7828826904297]], "image": "13_7_00015602.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.60570526123047, 137.90016174316406], "scale": 0.7235443115234375, "joints": [[236.74392700195312, 65.54573059082031], [228.4273223876953, 97.14881896972656], [220.1107177734375, 133.7418670654297], [221.7740478515625, 133.7418670654297], [228.4273223876953, 97.14881896972656], [236.74392700195312, 65.54573059082031], [221.7740478515625, 135.40518188476562], [216.78408813476562, 167.00827026367188], [216.78408813476562, 170.3349151611328], [208.4674835205078, 180.31483459472656], [215.12075805664062, 210.2545928955078], [218.44740295410156, 188.63143920898438], [216.78408813476562, 173.6615447998047], [216.78408813476562, 171.99822998046875], [216.78408813476562, 188.63143920898438], [215.12075805664062, 210.2545928955078]], "image": "13_7_00015603.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.9825668334961, 138.48201370239258], "scale": 0.7250883102416992, "joints": [[237.4843292236328, 65.97318267822266], [231.03909301757812, 96.58802795410156], [221.3712615966797, 133.64808654785156], [221.3712615966797, 133.64808654785156], [229.42779541015625, 96.58802795410156], [237.4843292236328, 65.97318267822266], [221.3712615966797, 135.2593994140625], [218.1486358642578, 165.87423706054688], [216.53733825683594, 169.0968475341797], [208.48080444335938, 178.7646942138672], [214.926025390625, 209.37953186035156], [218.1486358642578, 188.4325408935547], [216.53733825683594, 172.31947326660156], [216.53733825683594, 170.70816040039062], [216.53733825683594, 188.4325408935547], [213.31472778320312, 210.9908447265625]], "image": "13_7_00015604.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [225.63021850585938, 137.73425674438477], "scale": 0.7267078781127929, "joints": [[242.06765747070312, 65.06346893310547], [231.68612670898438, 96.20809173583984], [221.30458068847656, 130.813232421875], [221.30458068847656, 130.813232421875], [231.68612670898438, 96.20809173583984], [242.06765747070312, 65.06346893310547], [221.30458068847656, 132.54348754882812], [216.11380004882812, 163.6881103515625], [216.11380004882812, 167.14862060546875], [209.19277954101562, 177.53016662597656], [214.383544921875, 208.67478942871094], [217.8440704345703, 187.91171264648438], [214.383544921875, 167.14862060546875], [216.11380004882812, 165.41836547851562], [216.11380004882812, 186.18145751953125], [214.383544921875, 210.40504455566406]], "image": "13_7_00015605.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [225.93470001220703, 136.28066635131836], "scale": 0.7192818069458008, "joints": [[242.4001922607422, 64.35248565673828], [233.73414611816406, 95.55025482177734], [221.6016845703125, 130.2144317626953], [223.3348846435547, 131.94764709472656], [233.73414611816406, 95.55025482177734], [242.4001922607422, 64.35248565673828], [223.3348846435547, 131.94764709472656], [214.66883850097656, 159.67898559570312], [214.66883850097656, 163.14540100097656], [209.46920776367188, 177.01107788085938], [212.93563842773438, 208.20884704589844], [216.4020538330078, 185.6771240234375], [214.66883850097656, 164.8786163330078], [214.66883850097656, 161.41220092773438], [216.4020538330078, 185.6771240234375], [212.93563842773438, 208.20884704589844]], "image": "13_7_00015606.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.75362396240234, 134.14376258850098], "scale": 0.7301180076599121, "joints": [[244.13739013671875, 61.131961822509766], [238.92225646972656, 94.1611099243164], [225.01524353027344, 130.66700744628906], [225.01524353027344, 130.66700744628906], [238.92225646972656, 94.1611099243164], [244.13739013671875, 61.131961822509766], [225.01524353027344, 134.1437530517578], [216.3233642578125, 160.2194061279297], [214.58499145507812, 163.69615173339844], [209.36985778808594, 175.8647918701172], [212.84661865234375, 207.1555633544922], [214.58499145507812, 186.2950439453125], [214.58499145507812, 163.69615173339844], [214.58499145507812, 161.95777893066406], [216.3233642578125, 182.8182830810547], [212.84661865234375, 207.1555633544922]], "image": "13_7_00015607.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.293701171875, 133.47082901000977], "scale": 0.7200065231323243, "joints": [[244.51072692871094, 61.470176696777344], [242.77577209472656, 97.90424346923828], [225.4262237548828, 132.6033477783203], [225.4262237548828, 132.6033477783203], [239.3058624267578, 96.16928100585938], [244.51072692871094, 61.470176696777344], [225.4262237548828, 134.3383026123047], [216.75144958496094, 156.89273071289062], [215.01649475097656, 162.09759521484375], [208.07667541503906, 175.97723388671875], [213.2815399169922, 205.4714813232422], [215.01649475097656, 184.65200805664062], [215.01649475097656, 162.09759521484375], [213.2815399169922, 160.36264038085938], [215.01649475097656, 182.91705322265625], [211.5465850830078, 205.4714813232422]], "image": "13_7_00015608.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.77315521240234, 134.66749954223633], "scale": 0.719548454284668, "joints": [[243.2447509765625, 62.71265411376953], [246.7124481201172, 95.65583801269531], [225.90623474121094, 130.33287048339844], [225.90623474121094, 130.33287048339844], [246.7124481201172, 95.65583801269531], [243.2447509765625, 62.71265411376953], [225.90623474121094, 133.80056762695312], [217.23696899414062, 158.07449340820312], [215.5031280517578, 161.54220581054688], [206.8338623046875, 175.4130096435547], [210.30157470703125, 206.62234497070312], [213.76927185058594, 184.082275390625], [213.76927185058594, 161.54220581054688], [213.76927185058594, 159.808349609375], [213.76927185058594, 182.34841918945312], [208.56771850585938, 206.62234497070312]], "image": "13_7_00015609.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.10763549804688, 136.26073837280273], "scale": 0.700401496887207, "joints": [[239.9471893310547, 66.22058868408203], [251.62054443359375, 101.24066925048828], [228.27383422851562, 132.9254913330078], [228.27383422851562, 131.25787353515625], [251.62054443359375, 101.24066925048828], [239.9471893310547, 66.22058868408203], [228.27383422851562, 136.2607421875], [216.6004638671875, 159.60745239257812], [214.93284606933594, 164.61032104492188], [206.5947265625, 176.28369140625], [208.26235961914062, 204.63327026367188], [214.93284606933594, 182.9541778564453], [214.93284606933594, 162.9427032470703], [213.26522827148438, 161.27508544921875], [211.59759521484375, 181.28656005859375], [208.26235961914062, 206.30088806152344]], "image": "13_7_00015610.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [230.94491577148438, 142.1207389831543], "scale": 0.6253725051879883, "joints": [[236.41693115234375, 79.58348846435547], [255.1781005859375, 106.16181945800781], [228.5997772216797, 135.86700439453125], [228.5997772216797, 134.30357360839844], [255.1781005859375, 106.16181945800781], [236.41693115234375, 79.58348846435547], [228.5997772216797, 138.99388122558594], [217.65574645996094, 162.44534301757812], [212.9654541015625, 165.57220458984375], [206.71173095703125, 176.51622009277344], [208.27516174316406, 204.65798950195312], [214.5288848876953, 184.3333740234375], [212.9654541015625, 164.00877380371094], [211.4020233154297, 164.00877380371094], [212.9654541015625, 182.7699432373047], [206.71173095703125, 204.65798950195312]], "image": "13_7_00015611.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.50843811035156, 147.69155502319336], "scale": 0.5737520217895508, "joints": [[235.24595642089844, 90.31635284423828], [256.76165771484375, 111.8320541381836], [230.9428253173828, 137.65089416503906], [232.377197265625, 139.0852813720703], [256.76165771484375, 110.39767456054688], [236.6803436279297, 90.31635284423828], [230.9428253173828, 140.5196533203125], [213.73025512695312, 162.0353546142578], [212.29588317871094, 167.7728729248047], [202.25521850585938, 176.37916564941406], [206.55836486816406, 205.06675720214844], [213.73025512695312, 183.55105590820312], [210.8614959716797, 162.0353546142578], [210.8614959716797, 163.46974182128906], [212.29588317871094, 183.55105590820312], [205.1239776611328, 205.06675720214844]], "image": "13_7_00015612.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.99042510986328, 147.90642929077148], "scale": 0.5527495193481445, "joints": [[236.88821411132812, 91.23211669921875], [260.67742919921875, 117.82006072998047], [231.29074096679688, 144.40802001953125], [231.29074096679688, 145.807373046875], [262.0767822265625, 116.42070007324219], [236.88821411132812, 92.63147735595703], [229.89137268066406, 147.2067413330078], [214.49835205078125, 162.59976196289062], [210.30026245117188, 166.79786682128906], [201.90406799316406, 176.5934295654297], [206.10215759277344, 203.18138122558594], [213.09898376464844, 182.19088745117188], [211.6996307373047, 162.59976196289062], [211.6996307373047, 162.59976196289062], [211.6996307373047, 183.5902557373047], [203.30343627929688, 203.18138122558594]], "image": "13_7_00015613.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.89220428466797, 146.12874221801758], "scale": 0.5491967391967774, "joints": [[251.46780395507812, 91.20906829833984], [261.9286804199219, 123.89935302734375], [230.5460205078125, 147.4363555908203], [231.85362243652344, 146.12875366210938], [261.9286804199219, 122.59174346923828], [251.46780395507812, 91.20906829833984], [230.5460205078125, 148.7439727783203], [212.2394561767578, 160.51246643066406], [208.31661987304688, 165.742919921875], [197.85572814941406, 173.58859252929688], [203.086181640625, 201.0484161376953], [210.9318389892578, 181.4342498779297], [209.62423706054688, 163.12770080566406], [209.62423706054688, 159.20486450195312], [210.9318389892578, 181.4342498779297], [201.778564453125, 201.0484161376953]], "image": "13_7_00015614.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [232.2618637084961, 153.73956680297852], "scale": 0.46810070037841794, "joints": [[271.8275146484375, 106.92949676513672], [259.5677490234375, 133.6781005859375], [231.70460510253906, 147.0524139404297], [231.70460510253906, 147.0524139404297], [258.4532165527344, 134.79263305664062], [271.8275146484375, 106.92949676513672], [230.59007263183594, 148.16693115234375], [209.41409301757812, 162.65576171875], [204.95599365234375, 164.88482666015625], [192.6962127685547, 171.5719757080078], [200.49789428710938, 200.5496368408203], [210.52862548828125, 180.48817443847656], [207.18504333496094, 161.54124450683594], [204.95599365234375, 160.4267120361328], [207.18504333496094, 180.48817443847656], [198.2688446044922, 199.4351043701172]], "image": "13_7_00015615.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.9468231201172, 153.38551712036133], "scale": 0.43224056243896486, "joints": [[298.20794677734375, 110.16146087646484], [263.1910095214844, 135.32989501953125], [229.26832580566406, 145.1784210205078], [229.26832580566406, 144.08413696289062], [263.1910095214844, 136.42417907714844], [298.20794677734375, 110.16146087646484], [228.17404174804688, 145.1784210205078], [207.3827362060547, 158.3097686767578], [201.9113311767578, 162.6868896484375], [187.68569946289062, 165.9697265625], [198.6284942626953, 196.6095733642578], [206.2884521484375, 178.00680541992188], [205.1941680908203, 161.59262084960938], [204.09988403320312, 153.93264770507812], [205.1941680908203, 176.91253662109375], [197.53421020507812, 195.51528930664062]], "image": "13_7_00015616.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.65155029296875, 158.44878387451172], "scale": 0.27954444885253904, "joints": [[296.6968078613281, 164.0396728515625], [265.6363220214844, 145.4033660888672], [235.8182373046875, 131.73675537109375], [233.33340454101562, 130.4943389892578], [265.6363220214844, 147.88821411132812], [296.6968078613281, 164.0396728515625], [232.0909881591797, 132.9791717529297], [206.0001678466797, 146.6457977294922], [199.78807067871094, 146.6457977294922], [188.60629272460938, 144.16094970703125], [191.09112548828125, 186.40322875976562], [199.78807067871094, 164.0396728515625], [203.51531982421875, 147.88821411132812], [202.2729034423828, 144.16094970703125], [199.78807067871094, 164.0396728515625], [189.8487091064453, 185.1608123779297]], "image": "13_7_00015618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [233.80309295654297, 156.80044555664062], "scale": 0.25966415405273435, "joints": [[280.3262634277344, 182.76686096191406], [258.68756103515625, 152.4727020263672], [240.29469299316406, 132.99789428710938], [240.29469299316406, 130.8340301513672], [259.7695007324219, 153.5546417236328], [280.3262634277344, 182.76686096191406], [226.22955322265625, 132.99789428710938], [207.836669921875, 136.2436981201172], [203.50894165039062, 135.16175842285156], [190.52572631835938, 135.16175842285156], [187.27992248535156, 177.35719299316406], [201.34506225585938, 158.9643096923828], [204.5908660888672, 137.3256378173828], [202.427001953125, 135.16175842285156], [199.1811981201172, 155.718505859375], [187.27992248535156, 176.27525329589844]], "image": "13_7_00015619.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [230.32764434814453, 163.1420555114746], "scale": 0.3554104995727539, "joints": [[267.9290466308594, 198.68310546875], [253.506591796875, 160.56661987304688], [244.23501586914062, 130.6915283203125], [245.2651824951172, 130.6915283203125], [254.53677368164062, 160.56661987304688], [267.9290466308594, 198.68310546875], [241.1444854736328, 131.72171020507812], [210.23922729492188, 129.66136169433594], [206.11851501464844, 129.66136169433594], [192.7262420654297, 127.60100555419922], [194.78659057617188, 156.4459228515625], [199.93746948242188, 144.0838165283203], [206.11851501464844, 128.6311798095703], [205.08834838867188, 127.60100555419922], [199.93746948242188, 144.0838165283203], [194.78659057617188, 156.4459228515625]], "image": "13_7_00015620.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [224.67121124267578, 162.56106567382812], "scale": 0.4340950012207031, "joints": [[256.7823486328125, 204.78126525878906], [243.70004272460938, 171.48081970214844], [238.94284057617188, 144.12689208984375], [242.5107421875, 136.9910888671875], [248.45724487304688, 171.48081970214844], [256.7823486328125, 205.97056579589844], [238.94284057617188, 139.36968994140625], [215.15679931640625, 125.09807586669922], [209.21029663085938, 123.90876770019531], [196.1279754638672, 119.15156555175781], [192.56007385253906, 147.69479370117188], [202.07449340820312, 135.80178833007812], [210.39959716796875, 121.53016662597656], [212.7781982421875, 120.34086608886719], [202.07449340820312, 136.9910888671875], [192.56007385253906, 147.69479370117188]], "image": "13_7_00015621.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [220.90570068359375, 157.9343605041504], "scale": 0.5167342758178711, "joints": [[248.78216552734375, 209.6077880859375], [240.62319946289062, 175.6121063232422], [235.1838836669922, 142.97625732421875], [241.98301696777344, 140.25660705566406], [246.0625, 175.6121063232422], [250.14198303222656, 209.6077880859375], [237.90354919433594, 140.25660705566406], [222.94544982910156, 118.49938201904297], [217.50613403320312, 114.4198989868164], [205.2677001953125, 111.70024108886719], [191.66941833496094, 111.70024108886719], [202.54803466796875, 117.1395492553711], [214.78648376464844, 117.1395492553711], [222.94544982910156, 106.26093292236328], [232.4642333984375, 107.62076568603516], [233.82406616210938, 110.34041595458984]], "image": "13_7_00015622.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [227.3502655029297, 150.89996719360352], "scale": 0.6328930282592773, "joints": [[247.128173828125, 214.18927001953125], [234.47030639648438, 182.54461669921875], [224.97691345214844, 141.4065704345703], [237.63478088378906, 142.98880004882812], [239.21701049804688, 184.12684631347656], [247.128173828125, 214.18927001953125], [231.30584716796875, 139.8243408203125], [229.72361755371094, 119.25531768798828], [226.55914306640625, 112.92638397216797], [221.8124542236328, 101.85076141357422], [209.1545867919922, 87.61066436767578], [205.99012756347656, 105.01522827148438], [220.23020935058594, 111.34415435791016], [234.47030639648438, 111.34415435791016], [248.7104034423828, 109.76192474365234], [248.7104034423828, 98.68629455566406]], "image": "13_7_00015623.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [239.89472198486328, 147.55890655517578], "scale": 0.6671715545654296, "joints": [[233.3857421875, 209.39431762695312], [220.3677520751953, 181.73110961914062], [220.3677520751953, 142.67715454101562], [233.3857421875, 145.93165588378906], [231.75848388671875, 183.3583526611328], [239.8947296142578, 214.27606201171875], [226.8767547607422, 142.67715454101562], [233.3857421875, 118.26844787597656], [233.3857421875, 111.75946044921875], [235.0129852294922, 97.11422729492188], [238.26748657226562, 80.84175109863281], [223.62225341796875, 92.23249053955078], [225.24949645996094, 113.38670349121094], [244.77647399902344, 116.64119720458984], [259.42169189453125, 129.6591796875], [252.91270446777344, 123.15019226074219]], "image": "13_7_00015624.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [238.67491149902344, 107.62125396728516], "scale": 0.3020136260986328, "joints": [[210.8704833984375, 137.82261657714844], [224.29330444335938, 111.93572998046875], [222.37576293945312, 79.33743286132812], [223.33453369140625, 77.41989135742188], [224.29330444335938, 110.97695922851562], [211.82925415039062, 137.82261657714844], [227.1696319580078, 77.41989135742188], [249.22142028808594, 87.00762176513672], [252.0977325439453, 89.88394165039062], [265.52056884765625, 91.8014907836914], [233.88104248046875, 115.77082061767578], [240.5924530029297, 96.59535217285156], [252.0977325439453, 87.96639251708984], [253.05650329589844, 85.09007263183594], [253.05650329589844, 80.29621124267578], [231.0047149658203, 112.89450073242188]], "image": "13_7_00015645.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.3744888305664, 96.74823760986328], "scale": 0.23812850952148437, "joints": [[192.08265686035156, 120.56108856201172], [211.85182189941406, 100.79193115234375], [228.92518615722656, 73.833984375], [228.02659606933594, 72.93538665771484], [210.95323181152344, 100.79193115234375], [192.08265686035156, 120.56108856201172], [231.62098693847656, 75.63117980957031], [252.2887420654297, 88.21155548095703], [254.9845428466797, 92.70454406738281], [266.66632080078125, 98.99473571777344], [240.60696411132812, 115.16950225830078], [249.5929412841797, 99.8933334350586], [258.57891845703125, 85.51576232910156], [255.8831329345703, 84.6171646118164], [242.40415954589844, 92.70454406738281], [240.60696411132812, 113.37229919433594]], "image": "13_7_00015646.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.98265075683594, 95.85511016845703], "scale": 0.23553962707519532, "joints": [[174.759033203125, 96.79727172851562], [203.96595764160156, 86.43352508544922], [237.8836669921875, 73.24330139160156], [235.05718994140625, 72.3011474609375], [204.90811157226562, 84.54920959472656], [174.759033203125, 95.85511016845703], [238.82583618164062, 77.0119400024414], [254.842529296875, 93.97079467773438], [258.6111755371094, 97.73942565917969], [265.2062683105469, 105.27669525146484], [250.13172912597656, 119.40907287597656], [254.842529296875, 108.1031723022461], [259.5533142089844, 95.85511016845703], [256.7268371582031, 94.91294860839844], [252.9582061767578, 107.1610107421875], [250.13172912597656, 119.40907287597656]], "image": "13_7_00015647.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.1435089111328, 98.93656539916992], "scale": 0.27842342376708984, "joints": [[169.19366455078125, 74.36979675292969], [201.94937133789062, 72.18608093261719], [241.25621032714844, 76.55350494384766], [237.98065185546875, 76.55350494384766], [201.94937133789062, 71.09422302246094], [169.19366455078125, 75.4616470336914], [241.25621032714844, 77.6453628540039], [255.45034790039062, 95.11506652832031], [257.6340637207031, 98.39064025878906], [263.0933532714844, 109.3092041015625], [254.35848999023438, 126.7789077758789], [258.7259216308594, 120.22776794433594], [258.7259216308594, 98.39064025878906], [256.5422058105469, 98.39064025878906], [255.45034790039062, 115.86034393310547], [254.35848999023438, 126.7789077758789]], "image": "13_7_00015648.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.07926177978516, 97.37860870361328], "scale": 0.4560480499267578, "joints": [[176.1228485107422, 51.7738037109375], [205.30992126464844, 63.93508529663086], [239.36151123046875, 79.7447509765625], [239.36151123046875, 79.7447509765625], [205.30992126464844, 63.93508529663086], [176.1228485107422, 51.7738037109375], [240.57763671875, 82.17700958251953], [252.73892211914062, 99.20280456542969], [255.17117309570312, 102.85118865966797], [260.0356750488281, 116.22859191894531], [256.3872985839844, 142.98341369628906], [257.6034240722656, 123.52536010742188], [257.6034240722656, 100.41893005371094], [253.95504760742188, 100.41893005371094], [255.17117309570312, 123.52536010742188], [256.3872985839844, 141.7672882080078]], "image": "13_7_00015649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [225.77185821533203, 99.41426277160645], "scale": 0.5512458610534668, "joints": [[194.3717803955078, 44.289676666259766], [215.30516052246094, 63.8275032043457], [240.42523193359375, 91.73868560791016], [240.42523193359375, 91.73868560791016], [215.30516052246094, 63.8275032043457], [194.3717803955078, 44.289676666259766], [240.42523193359375, 94.52980041503906], [250.1941375732422, 109.88095092773438], [250.1941375732422, 112.67207336425781], [257.17193603515625, 126.6276626586914], [255.77638244628906, 154.53884887695312], [255.77638244628906, 133.60545349121094], [255.77638244628906, 115.46318817138672], [255.77638244628906, 116.85874938964844], [252.98526000976562, 133.60545349121094], [254.3808135986328, 153.14328002929688]], "image": "13_7_00015650.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [234.598388671875, 115.86981582641602], "scale": 0.5984930038452149, "joints": [[213.17086791992188, 56.02051544189453], [226.47071838378906, 81.14244079589844], [245.6815948486328, 118.08645629882812], [245.6815948486328, 118.08645629882812], [226.47071838378906, 81.14244079589844], [213.17086791992188, 56.02051544189453], [247.15936279296875, 118.08645629882812], [253.07040405273438, 134.34181213378906], [251.59263610839844, 134.34181213378906], [256.0259094238281, 153.55270385742188], [254.54815673828125, 175.7191162109375], [256.0259094238281, 152.07493591308594], [254.54815673828125, 140.2528533935547], [253.07040405273438, 141.73062133789062], [251.59263610839844, 153.55270385742188], [253.07040405273438, 172.7635955810547]], "image": "13_7_00015651.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.02678680419922, 124.11200141906738], "scale": 0.8762159538269043, "joints": [[176.26284790039062, 211.7335968017578], [180.6993865966797, 171.8047637939453], [182.9176483154297, 127.43939971923828], [182.9176483154297, 127.43939971923828], [180.6993865966797, 171.8047637939453], [176.26284790039062, 209.51531982421875], [182.9176483154297, 127.43939971923828], [182.9176483154297, 87.51057434082031], [185.13592529296875, 83.07403564453125], [191.7907257080078, 71.98269653320312], [178.48110961914062, 36.49040603637695], [182.9176483154297, 63.10962677001953], [178.48110961914062, 87.51057434082031], [178.48110961914062, 89.72884368896484], [180.6993865966797, 63.10962677001953], [176.26284790039062, 36.49040603637695]], "image": "10_9_00023621.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.84185791015625, 123.02640533447266], "scale": 0.8701328277587891, "joints": [[176.03297424316406, 210.03968811035156], [180.4951934814453, 172.11082458496094], [182.72630310058594, 127.4886245727539], [182.72630310058594, 127.4886245727539], [180.4951934814453, 172.11082458496094], [176.03297424316406, 207.80857849121094], [182.72630310058594, 127.4886245727539], [182.72630310058594, 87.32864379882812], [184.95741271972656, 82.86642456054688], [191.65074157714844, 71.71087646484375], [176.03297424316406, 36.01312255859375], [180.4951934814453, 62.78643798828125], [180.4951934814453, 87.32864379882812], [178.2640838623047, 87.32864379882812], [180.4951934814453, 62.78643798828125], [176.03297424316406, 36.01312255859375]], "image": "10_9_00023622.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.35840606689453, 125.28334045410156], "scale": 0.8636302185058594, "joints": [[175.7059783935547, 211.6463623046875], [180.07879638671875, 172.2910614013672], [182.26519775390625, 128.5629425048828], [182.26519775390625, 128.5629425048828], [180.07879638671875, 172.2910614013672], [175.7059783935547, 211.6463623046875], [182.26519775390625, 126.37654113769531], [182.26519775390625, 87.021240234375], [184.45159912109375, 82.64842987060547], [193.19723510742188, 71.71640014648438], [173.5195770263672, 38.920318603515625], [180.07879638671875, 60.78437423706055], [180.07879638671875, 82.64842987060547], [180.07879638671875, 82.64842987060547], [180.07879638671875, 60.78437423706055], [173.5195770263672, 38.920318603515625]], "image": "10_9_00023623.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [182.2520980834961, 124.3602466583252], "scale": 0.8632180595397949, "joints": [[173.51065063476562, 210.6820526123047], [180.06674194335938, 171.3455352783203], [182.25210571289062, 127.63829040527344], [182.25210571289062, 127.63829040527344], [180.06674194335938, 171.3455352783203], [173.51065063476562, 210.6820526123047], [182.25210571289062, 127.63829040527344], [182.25210571289062, 88.30177307128906], [186.62283325195312, 83.93104553222656], [193.1789093017578, 73.00423431396484], [171.32528686523438, 38.0384407043457], [180.06674194335938, 62.077423095703125], [180.06674194335938, 88.30177307128906], [177.88137817382812, 88.30177307128906], [180.06674194335938, 62.077423095703125], [171.32528686523438, 38.0384407043457]], "image": "10_9_00023624.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [181.5911407470703, 126.65550231933594], "scale": 0.86251708984375, "joints": [[173.07244873046875, 212.90721130371094], [179.4614715576172, 170.31378173828125], [183.72080993652344, 127.7203369140625], [183.72080993652344, 127.7203369140625], [179.4614715576172, 172.44345092773438], [173.07244873046875, 212.90721130371094], [183.72080993652344, 127.7203369140625], [181.5911407470703, 89.38624572753906], [183.72080993652344, 85.12689971923828], [192.239501953125, 74.47854614257812], [170.94277954101562, 40.40379333496094], [181.5911407470703, 61.70051193237305], [179.4614715576172, 85.12689971923828], [179.4614715576172, 85.12689971923828], [179.4614715576172, 63.83018493652344], [170.94277954101562, 42.53346633911133]], "image": "10_9_00023625.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [181.00428771972656, 131.99059295654297], "scale": 0.8450679779052734, "joints": [[169.52806091308594, 214.4108123779297], [177.87440490722656, 176.85223388671875], [184.13417053222656, 133.0338897705078], [184.13417053222656, 133.0338897705078], [177.87440490722656, 174.76564025878906], [169.52806091308594, 216.4973907470703], [182.04757690429688, 130.94729614257812], [182.04757690429688, 95.47531127929688], [184.13417053222656, 89.21554565429688], [192.4805145263672, 76.6960220336914], [171.61463928222656, 47.483795166015625], [182.04757690429688, 68.34967041015625], [179.96099853515625, 91.30213165283203], [179.96099853515625, 91.30213165283203], [182.04757690429688, 68.34967041015625], [169.52806091308594, 47.483795166015625]], "image": "10_9_00023626.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [180.35569763183594, 135.06907081604004], "scale": 0.8270613670349121, "joints": [[170.01742553710938, 217.77520751953125], [178.2880401611328, 176.42213439941406], [186.55865478515625, 133.0014190673828], [186.55865478515625, 133.0014190673828], [178.2880401611328, 176.42213439941406], [170.01742553710938, 217.77520751953125], [184.49099731445312, 133.0014190673828], [182.42335510253906, 97.85131072998047], [184.49099731445312, 91.64834594726562], [190.6939697265625, 79.242431640625], [174.15274047851562, 54.43058776855469], [184.49099731445312, 73.03946685791016], [180.35569763183594, 95.78365325927734], [180.35569763183594, 97.85131072998047], [182.42335510253906, 73.03946685791016], [174.15274047851562, 52.36293411254883]], "image": "10_9_00023627.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [178.64127349853516, 137.06785202026367], "scale": 0.8177859878540039, "joints": [[170.56436157226562, 218.84645080566406], [178.64126586914062, 176.44273376464844], [186.71817016601562, 136.05824279785156], [184.69894409179688, 134.0390167236328], [178.64126586914062, 176.44273376464844], [168.54515075683594, 218.84645080566406], [182.67971801757812, 134.0390167236328], [182.67971801757812, 99.71219635009766], [182.67971801757812, 93.65452575683594], [188.73739624023438, 79.51995086669922], [176.62203979492188, 57.30847930908203], [184.69894409179688, 75.48149871826172], [178.64126586914062, 97.6929702758789], [180.66049194335938, 99.71219635009766], [184.69894409179688, 75.48149871826172], [174.60281372070312, 55.28925323486328]], "image": "10_9_00023628.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [179.06072235107422, 134.5354461669922], "scale": 0.8344143676757813, "joints": [[171.01817321777344, 217.9768829345703], [179.0607147216797, 177.76414489746094], [185.09263610839844, 135.540771484375], [185.09263610839844, 133.53013610839844], [179.0607147216797, 175.75350952148438], [171.01817321777344, 217.9768829345703], [183.08200073242188, 133.53013610839844], [181.0713653564453, 97.33866119384766], [183.08200073242188, 91.30675506591797], [187.103271484375, 79.24292755126953], [179.0607147216797, 51.09400939941406], [187.103271484375, 73.21102142333984], [179.0607147216797, 97.33866119384766], [179.0607147216797, 95.3280258178711], [185.09263610839844, 73.21102142333984], [177.05007934570312, 51.09400939941406]], "image": "10_9_00023629.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [179.8328857421875, 127.92002296447754], "scale": 0.8714423179626465, "joints": [[172.207763671875, 212.88565063476562], [178.7435760498047, 175.84934997558594], [183.10079956054688, 127.9200210571289], [183.10079956054688, 130.0986328125], [178.7435760498047, 173.67074584960938], [172.207763671875, 215.0642547607422], [180.9221954345703, 127.9200210571289], [183.10079956054688, 93.06233215332031], [183.10079956054688, 88.70511627197266], [187.4580078125, 73.45487976074219], [180.9221954345703, 40.77579116821289], [185.27940368652344, 66.91905975341797], [178.7435760498047, 93.06233215332031], [180.9221954345703, 93.06233215332031], [185.27940368652344, 64.7404556274414], [180.9221954345703, 40.77579116821289]], "image": "10_9_00023630.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.35126495361328, 121.3667163848877], "scale": 0.8793467521667481, "joints": [[174.5577850341797, 209.3013916015625], [181.15289306640625, 171.9291534423828], [181.15289306640625, 127.9618148803711], [181.15289306640625, 127.9618148803711], [181.15289306640625, 169.7307891845703], [176.75616455078125, 209.3013916015625], [181.15289306640625, 125.7634506225586], [183.35125732421875, 90.5895767211914], [185.54962158203125, 83.99447631835938], [189.9463653564453, 70.80427551269531], [185.54962158203125, 33.43204116821289], [185.54962158203125, 62.01081085205078], [178.95452880859375, 88.3912124633789], [178.95452880859375, 88.3912124633789], [185.54962158203125, 62.01081085205078], [185.54962158203125, 33.43204116821289]], "image": "10_9_00023631.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.98932647705078, 117.69210624694824], "scale": 0.8805938911437988, "joints": [[178.48561096191406, 205.75149536132812], [182.88858032226562, 168.3262481689453], [178.48561096191406, 124.29655456542969], [178.48561096191406, 124.29655456542969], [182.88858032226562, 166.12477111816406], [178.48561096191406, 205.75149536132812], [178.48561096191406, 122.09507751464844], [182.88858032226562, 84.66983032226562], [185.09007263183594, 82.46835327148438], [189.4930419921875, 64.85647583007812], [189.4930419921875, 29.63271713256836], [185.09007263183594, 58.252017974853516], [180.68710327148438, 84.66983032226562], [178.48561096191406, 84.66983032226562], [185.09007263183594, 58.252017974853516], [187.2915496826172, 29.63271713256836]], "image": "10_9_00023632.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.84991455078125, 116.53429126739502], "scale": 0.8739496898651123, "joints": [[179.38772583007812, 203.92926025390625], [183.75747680664062, 166.78640747070312], [177.20285034179688, 123.08892059326172], [177.20285034179688, 123.08892059326172], [183.75747680664062, 164.60153198242188], [179.38772583007812, 203.92926025390625], [177.20285034179688, 120.90404510498047], [183.75747680664062, 83.76117706298828], [185.94235229492188, 79.39143371582031], [192.49697875976562, 64.0973129272461], [192.49697875976562, 29.13932228088379], [188.12722778320312, 55.35781478881836], [179.38772583007812, 83.76117706298828], [179.38772583007812, 83.76117706298828], [185.94235229492188, 55.35781478881836], [190.31210327148438, 29.13932228088379]], "image": "10_9_00023633.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.1444549560547, 118.68010330200195], "scale": 0.8802994918823243, "joints": [[178.45863342285156, 206.71005249023438], [187.37306213378906, 164.3665313720703], [176.2300262451172, 122.02301025390625], [178.45863342285156, 122.02301025390625], [185.1444549560547, 166.5951385498047], [178.45863342285156, 204.4814453125], [176.2300262451172, 122.02301025390625], [182.9158477783203, 84.13670349121094], [187.37306213378906, 79.67948913574219], [194.0588836669922, 64.0792465209961], [191.8302764892578, 30.65015411376953], [187.37306213378906, 57.393428802490234], [180.68724060058594, 81.90809631347656], [180.68724060058594, 84.13670349121094], [187.37306213378906, 57.393428802490234], [189.60166931152344, 30.65015411376953]], "image": "10_9_00023634.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.89137268066406, 118.59731674194336], "scale": 0.8548291397094726, "joints": [[179.39227294921875, 204.08023071289062], [188.39047241210938, 165.83787536621094], [174.89317321777344, 125.3459701538086], [174.89317321777344, 125.3459701538086], [188.39047241210938, 163.58831787109375], [179.39227294921875, 204.08023071289062], [177.14273071289062, 123.09642028808594], [183.89137268066406, 87.1036148071289], [186.14093017578125, 80.3549575805664], [192.8895721435547, 66.85765838623047], [188.39047241210938, 33.114402770996094], [186.14093017578125, 57.85945510864258], [181.64183044433594, 82.60450744628906], [179.39227294921875, 84.85405731201172], [186.14093017578125, 60.1090087890625], [186.14093017578125, 33.114402770996094]], "image": "10_9_00023635.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.2097625732422, 124.14297866821289], "scale": 0.7982888412475586, "joints": [[176.44805908203125, 203.97186279296875], [190.07737731933594, 168.92503356933594], [180.34214782714844, 126.09002685546875], [180.34214782714844, 126.09002685546875], [188.1303253173828, 166.9779815673828], [176.44805908203125, 203.97186279296875], [178.3950958251953, 124.14297485351562], [184.23623657226562, 87.14910888671875], [186.18328857421875, 81.30796813964844], [193.97146606445312, 67.67864990234375], [182.28919982910156, 46.26114273071289], [182.28919982910156, 63.78455352783203], [180.34214782714844, 85.20205688476562], [180.34214782714844, 85.20205688476562], [184.23623657226562, 63.78455352783203], [182.28919982910156, 44.31409454345703]], "image": "10_9_00023636.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.75017547607422, 133.6584987640381], "scale": 0.739946231842041, "joints": [[176.47314453125, 207.6531219482422], [190.86099243164062, 170.6558074951172], [180.58395385742188, 127.49227905273438], [180.58395385742188, 127.49227905273438], [188.8055877685547, 170.6558074951172], [176.47314453125, 207.6531219482422], [182.6393585205078, 125.43687438964844], [184.6947784423828, 92.55037689208984], [190.86099243164062, 86.3841552734375], [199.08261108398438, 71.9963150024414], [174.41773986816406, 59.663875579833984], [182.6393585205078, 67.885498046875], [180.58395385742188, 88.43955993652344], [184.6947784423828, 90.49496459960938], [186.75018310546875, 65.83009338378906], [178.52854919433594, 61.71928405761719]], "image": "10_9_00023637.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.08148193359375, 141.76897430419922], "scale": 0.7125238800048828, "joints": [[177.28489685058594, 213.0213623046875], [193.11875915527344, 174.3163604736328], [182.56285095214844, 132.0927276611328], [180.80352783203125, 132.0927276611328], [193.11875915527344, 174.3163604736328], [177.28489685058594, 213.0213623046875], [182.56285095214844, 130.33340454101562], [186.08148193359375, 95.14704132080078], [191.35943603515625, 88.1097640991211], [198.39671325683594, 75.79454040527344], [173.76625061035156, 70.51658630371094], [182.56285095214844, 74.03521728515625], [186.08148193359375, 89.86908721923828], [186.08148193359375, 91.62840270996094], [179.04420471191406, 70.51658630371094], [179.04420471191406, 70.51658630371094]], "image": "10_9_00023638.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.02781677246094, 146.8719253540039], "scale": 0.6864981842041016, "joints": [[178.16746520996094, 215.52174377441406], [196.58570861816406, 180.35963439941406], [179.84185791015625, 138.49998474121094], [179.84185791015625, 138.49998474121094], [194.9113311767578, 180.35963439941406], [178.16746520996094, 215.52174377441406], [181.5162353515625, 136.8256072998047], [188.21377563476562, 101.66350555419922], [191.5625457763672, 93.29157257080078], [196.58570861816406, 79.89649200439453], [171.4699249267578, 79.89649200439453], [191.5625457763672, 78.22210693359375], [186.53939819335938, 98.31473541259766], [188.21377563476562, 98.31473541259766], [193.2369384765625, 78.22210693359375], [174.81869506835938, 79.89649200439453]], "image": "10_9_00023639.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.4209442138672, 143.82371520996094], "scale": 0.7421125793457031, "joints": [[179.43397521972656, 218.03497314453125], [196.13150024414062, 180.92933654785156], [179.43397521972656, 143.82371520996094], [179.43397521972656, 143.82371520996094], [196.13150024414062, 180.92933654785156], [179.43397521972656, 218.03497314453125], [179.43397521972656, 141.9684295654297], [192.4209442138672, 103.00752258300781], [192.4209442138672, 95.58639526367188], [181.2892608642578, 80.74414825439453], [188.7103729248047, 69.61245727539062], [205.4079132080078, 84.4547119140625], [190.56565856933594, 104.86280822753906], [188.7103729248047, 103.00752258300781], [203.55262756347656, 82.59942626953125], [186.8551025390625, 71.46774291992188]], "image": "10_9_00023640.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.5835418701172, 142.15457153320312], "scale": 0.7520661926269532, "joints": [[182.08587646484375, 217.36119079589844], [192.95912170410156, 177.4926300048828], [173.02484130859375, 141.24847412109375], [173.02484130859375, 141.24847412109375], [192.95912170410156, 177.4926300048828], [182.08587646484375, 217.36119079589844], [174.8370361328125, 139.43626403808594], [192.95912170410156, 108.62873077392578], [194.77133178710938, 101.37989807128906], [194.77133178710938, 88.69445037841797], [220.14224243164062, 66.94795227050781], [212.89340209960938, 90.50665283203125], [191.14691162109375, 105.00431823730469], [191.14691162109375, 105.00431823730469], [212.89340209960938, 90.50665283203125], [220.14224243164062, 66.94795227050781]], "image": "10_9_00023641.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.77156829833984, 151.13496017456055], "scale": 0.6328448867797851, "joints": [[186.34161376953125, 214.41944885253906], [183.13734436035156, 172.7638397216797], [168.7180938720703, 132.7103729248047], [170.3202362060547, 132.7103729248047], [183.13734436035156, 171.1616973876953], [184.73948669433594, 214.41944885253906], [171.92236328125, 131.1082305908203], [195.95445251464844, 107.07614135742188], [200.7608642578125, 102.26972198486328], [205.56729125976562, 87.85047149658203], [248.82504272460938, 89.4526138305664], [223.19081115722656, 99.06544494628906], [199.1587371826172, 103.87186431884766], [199.1587371826172, 102.26972198486328], [223.19081115722656, 95.86116790771484], [248.82504272460938, 89.4526138305664]], "image": "10_9_00023642.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.97980499267578, 145.21493530273438], "scale": 0.5887728881835937, "joints": [[186.1307830810547, 204.09222412109375], [174.20626831054688, 166.82810974121094], [169.7345733642578, 122.1111831665039], [169.7345733642578, 122.1111831665039], [174.20626831054688, 165.33755493164062], [186.1307830810547, 204.09222412109375], [171.22512817382812, 122.1111831665039], [205.50811767578125, 104.22441101074219], [209.97979736328125, 101.2432861328125], [214.4514923095703, 86.337646484375], [250.22503662109375, 123.60174560546875], [226.37600708007812, 116.14892578125], [208.48924255371094, 104.22441101074219], [208.48924255371094, 102.73384857177734], [226.37600708007812, 114.65836334228516], [250.22503662109375, 122.1111831665039]], "image": "10_9_00023643.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [201.74127197265625, 142.64241409301758], "scale": 0.5094909286499023, "joints": [[174.2012176513672, 193.5915069580078], [176.95523071289062, 153.65843200683594], [170.07022094726562, 113.72535705566406], [170.07022094726562, 113.72535705566406], [178.3322296142578, 153.65843200683594], [174.2012176513672, 193.5915069580078], [171.4472198486328, 112.34835815429688], [207.24928283691406, 108.21734619140625], [214.13429260253906, 105.46334075927734], [226.52731323242188, 91.69332122802734], [233.41232299804688, 148.15042114257812], [215.51129150390625, 127.4953842163086], [210.00328063964844, 109.59435272216797], [210.00328063964844, 108.21734619140625], [219.64230346679688, 124.74137878417969], [233.41232299804688, 146.77342224121094]], "image": "10_9_00023644.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [193.96886444091797, 141.18115615844727], "scale": 0.3613642501831055, "joints": [[159.63925170898438, 177.3175811767578], [180.11656188964844, 144.7947998046875], [172.8892822265625, 105.04473114013672], [172.8892822265625, 105.04473114013672], [180.11656188964844, 144.7947998046875], [158.43470764160156, 176.113037109375], [175.29837036132812, 105.04473114013672], [206.61660766601562, 113.4765625], [216.25299072265625, 115.88565826416016], [229.50302124023438, 111.06746673583984], [201.7984161376953, 149.6129913330078], [200.5938720703125, 130.34022521972656], [210.23025512695312, 115.88565826416016], [211.43479919433594, 114.68111419677734], [205.4120635986328, 130.34022521972656], [201.7984161376953, 148.408447265625]], "image": "10_9_00023645.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.98849487304688, 125.58464050292969], "scale": 0.26396621704101564, "joints": [[151.3935546875, 149.25057983398438], [182.34132385253906, 135.59715270996094], [178.70040893554688, 100.09825134277344], [178.70040893554688, 99.18801879882812], [182.34132385253906, 135.59715270996094], [150.48333740234375, 148.34034729003906], [180.52085876464844, 100.09825134277344], [207.8277130126953, 121.03350067138672], [215.1095428466797, 125.58464050292969], [231.49365234375, 129.22555541992188], [180.52085876464844, 151.98126220703125], [185.07200622558594, 135.59715270996094], [206.91748046875, 126.49486541748047], [207.8277130126953, 125.58464050292969], [185.98223876953125, 134.68692016601562], [178.70040893554688, 151.07102966308594]], "image": "10_9_00023646.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [199.55010986328125, 106.99499130249023], "scale": 0.3738283157348633, "joints": [[182.99485778808594, 68.54407501220703], [178.7225341796875, 105.92691040039062], [219.30960083007812, 102.72266387939453], [220.377685546875, 102.72266387939453], [179.7906036376953, 105.92691040039062], [184.06292724609375, 69.6121597290039], [219.30960083007812, 105.92691040039062], [192.60757446289062, 119.81195831298828], [190.47142028808594, 127.28852844238281], [184.06292724609375, 144.37782287597656], [181.92677307128906, 88.83761596679688], [194.74374389648438, 104.85882568359375], [192.60757446289062, 124.08428192138672], [193.6756591796875, 123.01620483398438], [190.47142028808594, 102.72266387939453], [181.92677307128906, 88.83761596679688]], "image": "10_9_00023649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [198.70453643798828, 96.13467788696289], "scale": 0.26559085845947267, "joints": [[222.89227294921875, 70.52413177490234], [189.69342041015625, 89.49490356445312], [223.8408203125, 108.46568298339844], [224.7893524169922, 108.46568298339844], [189.69342041015625, 89.49490356445312], [221.94374084472656, 69.57559204101562], [221.94374084472656, 107.51714324951172], [190.64195251464844, 107.51714324951172], [184.9507293701172, 112.25984191894531], [172.61972045898438, 122.69376373291016], [200.12734985351562, 80.95805358886719], [200.12734985351562, 99.9288330078125], [188.744873046875, 115.10545349121094], [187.7963409423828, 112.25984191894531], [197.28172302246094, 98.03175354003906], [196.33319091796875, 80.95805358886719]], "image": "10_9_00023650.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.8773193359375, 90.33525466918945], "scale": 0.24096508026123048, "joints": [[252.2312469482422, 98.65950012207031], [217.18177795410156, 82.01100158691406], [214.55307006835938, 114.4317626953125], [215.42930603027344, 113.55552673339844], [218.05801391601562, 80.25852966308594], [251.35501098632812, 96.90702819824219], [213.6768341064453, 110.92681121826172], [199.65704345703125, 86.3921890258789], [197.90457153320312, 78.50605773925781], [193.5233917236328, 66.2387466430664], [232.0778045654297, 89.89713287353516], [209.295654296875, 97.78326416015625], [194.39962768554688, 88.14466094970703], [199.65704345703125, 83.76347351074219], [210.17189025878906, 90.77336883544922], [228.57286071777344, 80.25852966308594]], "image": "10_9_00023652.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.87954711914062, 114.88020324707031], "scale": 0.22223388671875, "joints": [[243.89620971679688, 120.54499053955078], [214.26502990722656, 117.93047332763672], [192.47738647460938, 137.1035919189453], [193.34889221191406, 135.36058044433594], [215.13653564453125, 110.08692169189453], [245.63922119140625, 117.05896759033203], [192.47738647460938, 134.48907470703125], [195.09190368652344, 110.08692169189453], [197.7064208984375, 104.85789489746094], [200.32093811035156, 92.65681457519531], [213.39352416992188, 124.90251159667969], [188.119873046875, 124.031005859375], [191.60589599609375, 106.60089874267578], [194.22039794921875, 106.60089874267578], [192.47738647460938, 118.8019790649414], [213.39352416992188, 124.031005859375]], "image": "10_9_00023670.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [220.40806579589844, 117.75331497192383], "scale": 0.17447185516357422, "joints": [[254.803955078125, 127.22464752197266], [215.92164611816406, 127.22464752197266], [186.01217651367188, 128.2216339111328], [188.00613403320312, 127.22464752197266], [215.92164611816406, 126.22766876220703], [254.803955078125, 126.22766876220703], [188.00613403320312, 127.22464752197266], [201.96388244628906, 110.27594757080078], [205.95181274414062, 106.28802490234375], [217.9156036376953, 100.3061294555664], [205.95181274414062, 135.20050048828125], [192.9910430908203, 123.2367172241211], [200.96690368652344, 107.28500366210938], [202.96087646484375, 107.28500366210938], [197.9759521484375, 120.24577331542969], [206.9488067626953, 135.20050048828125]], "image": "10_9_00023671.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.82041931152344, 126.30447387695312], "scale": 0.18578750610351563, "joints": [[242.20077514648438, 144.01910400390625], [210.22802734375, 136.241943359375], [183.4400634765625, 120.6876449584961], [184.30418395996094, 119.82351684570312], [211.0921630859375, 133.64956665039062], [242.20077514648438, 144.01910400390625], [185.16831970214844, 118.95938873291016], [207.63565063476562, 111.18223571777344], [215.4127960205078, 111.18223571777344], [225.78233337402344, 113.77462005615234], [188.6248321533203, 144.8832244873047], [196.4019775390625, 124.14415740966797], [208.49977111816406, 110.31810760498047], [211.0921630859375, 107.72572326660156], [198.13023376464844, 120.6876449584961], [188.6248321533203, 142.2908477783203]], "image": "10_9_00023672.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5915756225586, 140.3294677734375], "scale": 0.2714323425292969, "joints": [[226.41671752929688, 167.4727020263672], [205.40260314941406, 141.20504760742188], [185.26406860351562, 114.93740844726562], [186.13966369628906, 114.93740844726562], [205.40260314941406, 139.45387268066406], [230.79466247558594, 161.3435821533203], [187.89083862304688, 113.18623352050781], [212.4073028564453, 117.56417083740234], [219.41201782226562, 120.19093322753906], [228.1678924560547, 128.07122802734375], [184.38848876953125, 146.45858764648438], [198.3979034423828, 128.9468231201172], [215.90965270996094, 116.68858337402344], [218.5364227294922, 114.93740844726562], [199.2734832763672, 122.81770324707031], [184.38848876953125, 143.83181762695312]], "image": "10_9_00023673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.52738189697266, 140.84644317626953], "scale": 0.3057520294189453, "joints": [[207.06411743164062, 171.42164611816406], [197.7989044189453, 140.846435546875], [190.38673400878906, 111.19775390625], [191.31326293945312, 111.19775390625], [197.7989044189453, 140.846435546875], [207.9906463623047, 171.42164611816406], [193.1663055419922, 110.271240234375], [214.47628784179688, 126.94862365722656], [221.88845825195312, 130.6547088623047], [231.15367126464844, 138.06687927246094], [183.90109252929688, 151.03817749023438], [196.8723907470703, 135.2873077392578], [215.40281677246094, 126.0220947265625], [218.182373046875, 126.0220947265625], [199.65194702148438, 130.6547088623047], [184.82760620117188, 150.1116485595703]], "image": "10_9_00023674.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.16725158691406, 137.2532844543457], "scale": 0.28325878143310546, "joints": [[186.03524780273438, 165.57916259765625], [190.5314178466797, 143.99754333496094], [199.5237579345703, 109.8266372680664], [199.5237579345703, 108.92740631103516], [190.5314178466797, 143.0983123779297], [183.33753967285156, 165.57916259765625], [201.32223510742188, 110.72587585449219], [215.70997619628906, 134.10597229003906], [220.20614624023438, 138.60214233398438], [230.99696350097656, 147.594482421875], [186.93447875976562, 158.38528442382812], [200.42300415039062, 143.99754333496094], [216.60922241210938, 137.70289611816406], [217.50845336914062, 135.0052032470703], [200.42300415039062, 143.0983123779297], [185.13601684570312, 158.38528442382812]], "image": "10_9_00023675.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.2740249633789, 140.87899017333984], "scale": 0.2470201873779297, "joints": [[164.08653259277344, 156.5984649658203], [185.04583740234375, 135.63916015625], [207.50221252441406, 116.17697143554688], [207.50221252441406, 116.17697143554688], [185.04583740234375, 135.63916015625], [164.8350830078125, 156.5984649658203], [209.7478485107422, 118.422607421875], [217.9818572998047, 140.1304473876953], [218.73040771484375, 145.37026977539062], [227.7129669189453, 158.09555053710938], [193.2798309326172, 165.5810089111328], [205.25657653808594, 157.3470001220703], [219.4789581298828, 141.62753295898438], [217.23330688476562, 141.62753295898438], [206.005126953125, 155.1013641357422], [193.2798309326172, 164.08392333984375]], "image": "10_9_00023676.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.04849243164062, 147.8692398071289], "scale": 0.2392743682861328, "joints": [[147.8566131591797, 140.5069580078125], [178.22605895996094, 129.46351623535156], [212.2766571044922, 123.94180297851562], [212.2766571044922, 123.94180297851562], [178.22605895996094, 127.6229476928711], [147.8566131591797, 140.5069580078125], [214.11721801757812, 127.6229476928711], [216.87808227539062, 150.63009643554688], [218.71865844726562, 155.2315216064453], [224.24037170410156, 164.43438720703125], [203.99407958984375, 171.7966766357422], [210.4360809326172, 166.27496337890625], [218.71865844726562, 155.2315216064453], [217.79837036132812, 152.47067260742188], [211.3563690185547, 160.7532501220703], [203.99407958984375, 171.7966766357422]], "image": "10_9_00023677.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.27320098876953, 151.28020095825195], "scale": 0.35276653289794924, "joints": [[150.5468292236328, 116.00354766845703], [181.47430419921875, 122.76893615722656], [211.435302734375, 132.43377685546875], [210.46881103515625, 132.43377685546875], [181.47430419921875, 121.80245208740234], [151.5133056640625, 116.00354766845703], [212.4017791748047, 136.29971313476562], [215.30123901367188, 160.46180725097656], [215.30123901367188, 165.29421997070312], [223.03309631347656, 172.05960083007812], [209.50233459472656, 186.55685424804688], [212.4017791748047, 178.8249969482422], [218.20068359375, 162.39476013183594], [216.26771545410156, 162.39476013183594], [212.4017791748047, 174.9590606689453], [208.5358428955078, 186.55685424804688]], "image": "10_9_00023678.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [188.92965698242188, 151.14922714233398], "scale": 0.5197514724731446, "joints": [[156.69190979003906, 100.48990631103516], [183.00843811035156, 116.27983093261719], [208.00914001464844, 138.6488800048828], [208.00914001464844, 138.6488800048828], [184.3242645263672, 114.96400451660156], [156.69190979003906, 99.17407989501953], [209.32496643066406, 141.28053283691406], [213.27244567871094, 164.9654083251953], [213.27244567871094, 168.9128875732422], [221.1674041748047, 179.4394989013672], [210.6407928466797, 203.12437438964844], [214.58827209472656, 184.7028045654297], [217.2199249267578, 170.2287139892578], [214.58827209472656, 166.28123474121094], [213.27244567871094, 184.7028045654297], [209.32496643066406, 200.4927215576172]], "image": "10_9_00023679.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.5094757080078, 151.14965057373047], "scale": 0.6030788421630859, "joints": [[167.93960571289062, 90.84176635742188], [185.80860900878906, 117.64527130126953], [206.65577697753906, 142.95970153808594], [206.65577697753906, 144.4487762451172], [185.80860900878906, 117.64527130126953], [169.42868041992188, 90.84176635742188], [206.65577697753906, 147.42694091796875], [211.12301635742188, 168.27410888671875], [211.12301635742188, 171.25228881835938], [215.59027099609375, 184.65403747558594], [209.63394165039062, 211.45753479003906], [209.63394165039062, 190.61036682128906], [215.59027099609375, 171.25228881835938], [212.6121063232422, 171.25228881835938], [208.1448516845703, 189.1212921142578], [209.63394165039062, 209.9684600830078]], "image": "10_9_00023680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [197.86219024658203, 155.7636260986328], "scale": 0.6066859436035156, "joints": [[182.5030517578125, 95.09503173828125], [191.71853637695312, 125.81330871582031], [204.00584411621094, 153.45974731445312], [202.4699249267578, 153.45974731445312], [191.71853637695312, 125.81330871582031], [184.03897094726562, 95.09503173828125], [204.00584411621094, 154.99566650390625], [207.07766723632812, 174.96253967285156], [207.07766723632812, 178.0343780517578], [211.68540954589844, 190.32168579101562], [204.00584411621094, 216.43222045898438], [205.54176330566406, 194.92942810058594], [210.14950561523438, 181.106201171875], [210.14950561523438, 178.0343780517578], [204.00584411621094, 194.92942810058594], [202.4699249267578, 214.89630126953125]], "image": "10_9_00023681.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}] \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/gt_valid.mat b/deep-high-resolution-net.pytorch/data/mpii/annot/gt_valid.mat new file mode 100644 index 0000000000000000000000000000000000000000..6060127be154274880eaef7f4ba31ff4dc52baf9 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/annot/gt_valid.mat differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/gt_valid_old.mat b/deep-high-resolution-net.pytorch/data/mpii/annot/gt_valid_old.mat new file mode 100644 index 0000000000000000000000000000000000000000..99710078548c15c129055b58c1a868e68b1832b4 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/annot/gt_valid_old.mat differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/pose_train.json b/deep-high-resolution-net.pytorch/data/mpii/annot/pose_train.json new file mode 100644 index 0000000000000000000000000000000000000000..cf9241f731803accb811bef0909339169aa39dba --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/pose_train.json @@ -0,0 +1,3 @@ +[{"center": [216.495849609375, 115.42289733886719], "scale": 0.4342059326171875, "joints": [[238.20614624023438, 158.84349060058594], [240.68731689453125, 130.30995178222656], [248.13084411621094, 100.53583526611328], [246.8902587890625, 100.53583526611328], [238.20614624023438, 129.06936645507812], [235.72496032714844, 158.84349060058594], [245.64967346191406, 99.29524230957031], [219.59732055664062, 79.44583129882812], [214.6349639892578, 78.20524597167969], [203.4696807861328, 72.00230407714844], [186.1014404296875, 103.01701354980469], [200.98849487304688, 89.37053680419922], [218.3567352294922, 75.72406768798828], [215.87554931640625, 76.96465301513672], [200.98849487304688, 89.37053680419922], [184.86085510253906, 100.53583526611328]], "image": "03_2_00010016.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.0, 131.0], "scale": 0.25, "joints": [[196, 106], [214, 127], [228, 154], [228, 154], [214, 127], [196, 106], [227, 156], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1]], "image": "01_19_00031809.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, {"center": [194.73058319091797, 126.30073165893555], "scale": 0.4997070693969727, "joints": [[213.70680236816406, 176.2714385986328], [221.2972869873047, 145.90948486328125], [227.62269592285156, 116.8126220703125], [227.62269592285156, 116.8126220703125], [221.2972869873047, 144.6444091796875], [213.70680236816406, 176.2714385986328], [226.3576202392578, 115.54753875732422], [201.05599975585938, 91.51099395751953], [197.26075744628906, 88.9808349609375], [192.20042419433594, 76.33002471923828], [161.83847045898438, 106.69197082519531], [182.07977294921875, 99.10148620605469], [202.32107543945312, 90.24591827392578], [201.05599975585938, 90.24591827392578], [182.07977294921875, 101.63164520263672], [161.83847045898438, 106.69197082519531]], "image": "01_1_00007378.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.5, 92.0], "scale": 0.18, "joints": [[178, 88], [207, 77], [210, 110], [210, 110], [207, 77], [178, 88], [211, 105], [243, 108], [246, 105], [261, 92], [252, 74], [247, 86], [249, 107], [249, 107], [247, 86], [252, 74]], "image": "04_88_00150899.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.0, 105.5], "scale": 0.315, "joints": [[183, 137], [189, 103], [215, 117], [215, 117], [189, 103], [183, 137], [210, 114], [250, 98], [253, 96], [267, 80], [279, 74], [267, 82], [256, 99], [256, 99], [267, 82], [279, 74]], "image": "04_88_00150897.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [249.0, 121.0], "scale": 0.23, "joints": [[211, 98], [236, 110], [232, 142], [232, 142], [236, 110], [211, 98], [235, 138], [267, 142], [268, 139], [287, 134], [271, 113], [263, 133], [270, 144], [270, 144], [263, 133], [271, 113]], "image": "04_88_00150931.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [206.5, 114.0], "scale": 0.61, "joints": [[198, 175], [214, 152], [210, 122], [210, 122], [214, 152], [198, 175], [216, 124], [208, 92], [206, 88], [199, 74], [197, 53], [209, 65], [205, 85], [205, 85], [209, 65], [197, 53]], "image": "04_98_00166143.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.0, 74.5], "scale": 0.185, "joints": [[253, 56], [225, 67], [254, 82], [254, 82], [225, 67], [253, 56], [249, 83], [226, 91], [223, 93], [204, 93], [239, 64], [239, 81], [227, 90], [227, 90], [239, 81], [239, 64]], "image": "04_98_00166163.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5, 128.5], "scale": 0.465, "joints": [[179, 174], [181, 141], [186, 107], [185, 106], [186, 141], [181, 175], [191, 105], [223, 91], [227, 91], [244, 82], [264, 104], [246, 98], [228, 90], [228, 90], [246, 98], [264, 101]], "image": "05_1_00009167.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [245.5, 123.5], "scale": 0.495, "joints": [[203, 173], [204, 147], [211, 120], [225, 123], [211, 151], [203, 173], [219, 118], [247, 105], [251, 102], [261, 93], [266, 74], [252, 83], [247, 98], [254, 107], [269, 108], [288, 102]], "image": "05_82_00134020.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.0, 97.0], "scale": 0.26, "joints": [[255, 74], [239, 91], [227, 117], [220, 106], [234, 86], [251, 71], [222, 109], [194, 116], [189, 114], [177, 110], [216, 107], [211, 123], [195, 122], [192, 86], [194, 97], [189, 109]], "image": "05_82_00134035.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 132.0], "scale": 0.23, "joints": [[303, 152], [270, 141], [239, 133], [243, 118], [272, 134], [303, 152], [240, 127], [194, 116], [204, 120], [202, 119], [187, 109], [186, 133], [197, 117], [199, 121], [189, 141], [182, 155]], "image": "06_21_00037588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [236.0, 125.0], "scale": 0.58, "joints": [[271, 183], [254, 168], [227, 147], [247, 135], [267, 163], [281, 176], [233, 136], [222, 105], [223, 102], [221, 87], [191, 67], [197, 87], [214, 99], [235, 98], [226, 113], [198, 111]], "image": "06_21_00037591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [244.5, 113.5], "scale": 0.285, "joints": [[297, 88], [272, 104], [249, 125], [241, 104], [261, 95], [287, 85], [247, 115], [217, 127], [216, 128], [201, 133], [239, 134], [240, 142], [217, 142], [207, 117], [193, 114], [192, 136]], "image": "06_27_00048106.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [258.0, 133.5], "scale": 0.265, "joints": [[208, 160], [209, 129], [231, 110], [240, 117], [211, 131], [208, 160], [236, 110], [269, 111], [273, 112], [287, 112], [294, 107], [285, 107], [273, 110], [271, 117], [291, 112], [308, 115]], "image": "06_27_00048094.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [249.5, 103.0], "scale": 0.27, "joints": [[296, 110], [272, 114], [247, 127], [251, 108], [272, 107], [291, 98], [244, 116], [217, 114], [214, 112], [203, 102], [238, 130], [220, 130], [211, 130], [217, 109], [219, 89], [215, 76]], "image": "06_27_00048108.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [182.0, 127.5], "scale": 0.575, "joints": [[246, 185], [246, 151], [227, 115], [227, 115], [246, 151], [246, 185], [229, 111], [179, 88], [172, 91], [150, 96], [118, 70], [144, 71], [171, 85], [171, 100], [142, 100], [119, 99]], "image": "07_97_00141972.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.0, 159.5], "scale": 0.365, "joints": [[163, 134], [193, 126], [228, 123], [228, 123], [193, 126], [163, 134], [226, 124], [239, 154], [242, 156], [245, 165], [235, 196], [235, 178], [241, 161], [238, 161], [232, 171], [229, 185]], "image": "09_14_00027838.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [215.5, 166.0], "scale": 0.62, "joints": [[192, 104], [204, 124], [220, 152], [220, 152], [204, 124], [192, 104], [219, 157], [235, 190], [235, 193], [239, 199], [235, 228], [234, 213], [234, 198], [234, 198], [234, 213], [235, 228]], "image": "09_14_00027843.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5, 163.5], "scale": 0.495, "joints": [[167, 114], [193, 121], [225, 136], [225, 136], [193, 121], [167, 114], [225, 143], [239, 172], [239, 175], [248, 188], [241, 213], [239, 197], [241, 179], [241, 179], [239, 197], [236, 206]], "image": "09_14_00027840.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.5, 118.5], "scale": 0.185, "joints": [[129, 100], [146, 113], [192, 137], [192, 137], [146, 113], [129, 100], [192, 133], [234, 132], [233, 129], [246, 114], [183, 118], [204, 121], [230, 130], [230, 130], [204, 121], [183, 118]], "image": "09_36_00058402.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [198.5, 146.5], "scale": 0.355, "joints": [[141, 111], [163, 130], [195, 151], [195, 151], [163, 130], [141, 111], [198, 149], [236, 172], [243, 174], [256, 182], [236, 154], [238, 157], [241, 167], [238, 174], [236, 165], [234, 155]], "image": "09_36_00058407.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [197.0, 149.5], "scale": 0.765, "joints": [[170, 73], [186, 101], [215, 131], [208, 136], [191, 102], [170, 73], [215, 141], [224, 171], [222, 179], [214, 197], [219, 226], [218, 206], [218, 178], [218, 178], [218, 206], [219, 226]], "image": "09_36_00058420.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [210.0, 133.0], "scale": 0.73, "joints": [[237, 198], [226, 170], [229, 131], [225, 132], [202, 165], [183, 193], [224, 132], [222, 85], [221, 86], [217, 60], [216, 130], [219, 109], [225, 83], [225, 83], [218, 206], [216, 130]], "image": "09_54_00082209.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.5, 132.0], "scale": 0.7, "joints": [[264, 194], [238, 167], [228, 135], [218, 133], [197, 163], [179, 202], [222, 131], [220, 91], [223, 80], [214, 62], [222, 93], [223, 89], [224, 84], [224, 84], [223, 89], [222, 93]], "image": "09_54_00082214.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 88.5], "scale": 0.215, "joints": [[267, 62], [242, 85], [218, 108], [218, 108], [242, 85], [267, 67], [220, 110], [252, 107], [258, 103], [260, 89], [240, 81], [233, 90], [252, 99], [252, 99], [233, 90], [240, 81]], "image": "09_54_00082243.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.5, 111.0], "scale": 0.32, "joints": [[199, 79], [212, 111], [226, 143], [226, 143], [212, 111], [199, 79], [233, 142], [253, 119], [254, 114], [247, 99], [214, 116], [233, 114], [252, 116], [251, 118], [229, 123], [213, 121]], "image": "09_54_00082258.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.5, 131.0], "scale": 0.66, "joints": [[204, 197], [190, 166], [204, 136], [213, 136], [190, 166], [232, 183], [206, 134], [198, 94], [196, 86], [187, 65], [151, 109], [171, 108], [194, 93], [192, 89], [170, 101], [149, 107]], "image": "09_59_00090003.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.5, 132.0], "scale": 0.65, "joints": [[212, 197], [187, 168], [207, 140], [207, 140], [187, 168], [219, 188], [206, 135], [193, 96], [192, 86], [186, 67], [154, 109], [170, 105], [191, 93], [191, 93], [170, 105], [154, 109]], "image": "09_59_00090004.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [191.5, 104.0], "scale": 0.74, "joints": [[192, 138], [168, 112], [198, 104], [210, 104], [210, 143], [215, 178], [205, 99], [208, 58], [208, 50], [204, 30], [188, 54], [195, 54], [205, 53], [205, 53], [193, 54], [179, 49]], "image": "09_59_00090015.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [195.0, 109.5], "scale": 0.845, "joints": [[201, 138], [176, 114], [202, 97], [211, 97], [212, 142], [210, 194], [209, 93], [214, 53], [214, 45], [208, 25], [194, 40], [200, 43], [211, 45], [211, 45], [199, 46], [183, 40]], "image": "09_59_00090016.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5, 108.0], "scale": 0.74, "joints": [[210, 182], [212, 140], [219, 105], [219, 105], [212, 140], [210, 182], [218, 101], [222, 62], [222, 54], [217, 34], [193, 37], [202, 46], [219, 56], [219, 56], [202, 46], [201, 37]], "image": "09_59_00090021.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [199.5, 139.0], "scale": 0.19, "joints": [[229, 158], [197, 146], [225, 130], [225, 130], [197, 146], [229, 158], [222, 127], [188, 120], [182, 122], [170, 128], [198, 147], [199, 132], [188, 121], [188, 121], [199, 132], [198, 147]], "image": "09_59_00090044.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [203.0, 145.5], "scale": 0.165, "joints": [[236, 150], [208, 147], [219, 130], [219, 130], [196, 154], [230, 162], [216, 129], [181, 134], [179, 137], [170, 146], [200, 159], [197, 141], [184, 133], [184, 133], [197, 141], [200, 159]], "image": "09_59_00090055.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.5, 131.5], "scale": 0.445, "joints": [[130, 87], [157, 112], [198, 103], [198, 103], [157, 112], [130, 87], [201, 108], [235, 134], [240, 134], [255, 138], [251, 176], [242, 159], [234, 136], [234, 136], [242, 159], [251, 176]], "image": "09_61_00092503.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [205.0, 128.0], "scale": 0.27, "joints": [[177, 107], [196, 137], [214, 101], [214, 101], [196, 137], [177, 107], [219, 105], [232, 135], [232, 144], [229, 155], [199, 138], [215, 135], [233, 138], [233, 138], [215, 135], [199, 138]], "image": "09_61_00092516.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.0, 152.0], "scale": 0.22, "joints": [[155, 161], [182, 169], [177, 131], [177, 131], [182, 169], [155, 161], [184, 130], [213, 151], [218, 155], [225, 166], [188, 174], [196, 157], [216, 155], [216, 155], [196, 157], [188, 174]], "image": "09_61_00092527.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [177.0, 125.0], "scale": 0.26, "joints": [[142, 141], [178, 142], [177, 101], [177, 101], [178, 142], [142, 141], [177, 99], [207, 129], [207, 136], [212, 151], [165, 138], [191, 139], [202, 133], [202, 133], [191, 139], [165, 138]], "image": "09_62_00093793.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [174.5, 131.0], "scale": 0.3, "joints": [[150, 109], [175, 129], [190, 101], [190, 101], [175, 129], [150, 109], [196, 102], [198, 135], [199, 142], [197, 161], [165, 124], [179, 131], [194, 139], [194, 139], [179, 131], [165, 124]], "image": "09_62_00093794.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [227.0, 140.0], "scale": 0.56, "joints": [[180, 194], [191, 162], [218, 145], [229, 145], [196, 165], [184, 196], [228, 141], [253, 114], [258, 110], [268, 101], [270, 85], [257, 84], [261, 109], [261, 109], [257, 84], [270, 85]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [239.0, 148.0], "scale": 0.46, "joints": [[177, 189], [192, 159], [218, 138], [229, 141], [200, 161], [183, 194], [228, 137], [263, 121], [266, 120], [277, 114], [293, 102], [277, 103], [263, 115], [266, 126], [283, 115], [295, 103]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 154.5], "scale": 0.335, "joints": [[180, 184], [190, 149], [219, 129], [233, 137], [198, 153], [181, 188], [227, 129], [271, 130], [275, 131], [286, 140], [304, 135], [292, 121], [272, 125], [265, 136], [287, 135], [301, 132]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.5, 149.5], "scale": 0.305, "joints": [[176, 115], [208, 120], [244, 119], [236, 141], [211, 131], [175, 128], [247, 134], [265, 156], [269, 161], [272, 172], [280, 180], [288, 163], [279, 151], [254, 166], [240, 158], [255, 160]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [248.0, 130.0], "scale": 0.6, "joints": [[253, 70], [247, 100], [246, 137], [267, 132], [259, 104], [253, 70], [256, 141], [246, 172], [242, 176], [234, 190], [238, 140], [229, 148], [229, 165], [251, 176], [249, 166], [242, 158]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [237.0, 114.0], "scale": 0.3, "joints": [[208, 144], [228, 122], [251, 92], [238, 84], [226, 115], [205, 139], [248, 96], [265, 117], [267, 121], [269, 131], [233, 119], [251, 118], [266, 123], [266, 123], [251, 118], [233, 119]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25617.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5, 111.5], "scale": 0.285, "joints": [[191, 117], [222, 107], [258, 94], [254, 83], [222, 100], [187, 114], [258, 99], [253, 125], [252, 132], [241, 140], [229, 112], [246, 119], [254, 128], [254, 128], [246, 119], [229, 112]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.5, 111.5], "scale": 0.635, "joints": [[232, 49], [243, 82], [216, 116], [203, 108], [231, 80], [219, 48], [214, 117], [183, 137], [177, 143], [166, 149], [166, 175], [172, 154], [176, 136], [176, 136], [172, 154], [166, 175]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.0, 133.0], "scale": 0.45, "joints": [[271, 178], [247, 148], [224, 127], [230, 110], [256, 140], [277, 167], [221, 117], [194, 99], [190, 95], [183, 88], [161, 111], [173, 104], [189, 97], [192, 93], [183, 106], [175, 114]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17659.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [238.0, 140.5], "scale": 0.615, "joints": [[215, 75], [230, 111], [240, 140], [220, 149], [230, 118], [232, 79], [236, 147], [245, 182], [245, 187], [250, 195], [249, 155], [252, 163], [253, 177], [236, 189], [240, 201], [256, 202]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [252.5, 162.0], "scale": 0.29, "joints": [[303, 143], [271, 161], [248, 187], [248, 178], [264, 155], [284, 133], [244, 181], [216, 171], [209, 166], [202, 156], [242, 191], [226, 183], [211, 170], [212, 165], [215, 159], [223, 153]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [175.5, 121.0], "scale": 0.84, "joints": [[180, 37], [175, 74], [172, 111], [172, 111], [175, 74], [180, 37], [176, 121], [173, 151], [173, 160], [173, 174], [172, 205], [172, 191], [171, 162], [171, 162], [172, 191], [172, 205]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03079.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [175.0, 130.5], "scale": 0.675, "joints": [[177, 63], [204, 89], [183, 123], [183, 123], [204, 89], [177, 63], [180, 132], [162, 156], [154, 163], [146, 171], [157, 198], [155, 176], [156, 160], [156, 160], [155, 176], [157, 198]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03095.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [177.5, 139.5], "scale": 0.605, "joints": [[177, 79], [209, 97], [186, 130], [186, 130], [209, 97], [177, 79], [181, 139], [164, 158], [154, 163], [146, 172], [156, 200], [156, 181], [155, 162], [155, 162], [156, 181], [156, 200]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03097.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.0, 162.0], "scale": 0.49, "joints": [[206, 105], [204, 141], [206, 168], [192, 165], [195, 143], [199, 113], [199, 164], [194, 191], [192, 200], [186, 210], [198, 174], [206, 190], [200, 203], [181, 199], [167, 194], [164, 211]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03124.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.5, 157.0], "scale": 0.46, "joints": [[219, 110], [212, 142], [208, 172], [204, 171], [207, 143], [216, 111], [204, 174], [187, 191], [181, 197], [172, 203], [156, 178], [171, 179], [186, 192], [186, 192], [171, 179], [156, 178]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03125.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.5, 153.5], "scale": 0.455, "joints": [[216, 108], [210, 141], [206, 173], [206, 173], [210, 141], [216, 108], [203, 175], [188, 190], [183, 195], [170, 199], [179, 195], [194, 198], [187, 195], [180, 185], [169, 178], [157, 178]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03126.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [164.0, 170.5], "scale": 0.785, "joints": [[188, 249], [170, 223], [147, 185], [170, 178], [180, 214], [188, 249], [156, 179], [157, 141], [159, 133], [160, 120], [151, 92], [140, 111], [147, 126], [171, 134], [172, 115], [164, 102]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_7_14440.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, + +] \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/pose_train.json.amltmp b/deep-high-resolution-net.pytorch/data/mpii/annot/pose_train.json.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..cf9241f731803accb811bef0909339169aa39dba --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/pose_train.json.amltmp @@ -0,0 +1,3 @@ +[{"center": [216.495849609375, 115.42289733886719], "scale": 0.4342059326171875, "joints": [[238.20614624023438, 158.84349060058594], [240.68731689453125, 130.30995178222656], [248.13084411621094, 100.53583526611328], [246.8902587890625, 100.53583526611328], [238.20614624023438, 129.06936645507812], [235.72496032714844, 158.84349060058594], [245.64967346191406, 99.29524230957031], [219.59732055664062, 79.44583129882812], [214.6349639892578, 78.20524597167969], [203.4696807861328, 72.00230407714844], [186.1014404296875, 103.01701354980469], [200.98849487304688, 89.37053680419922], [218.3567352294922, 75.72406768798828], [215.87554931640625, 76.96465301513672], [200.98849487304688, 89.37053680419922], [184.86085510253906, 100.53583526611328]], "image": "03_2_00010016.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.0, 131.0], "scale": 0.25, "joints": [[196, 106], [214, 127], [228, 154], [228, 154], [214, 127], [196, 106], [227, 156], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1]], "image": "01_19_00031809.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, {"center": [194.73058319091797, 126.30073165893555], "scale": 0.4997070693969727, "joints": [[213.70680236816406, 176.2714385986328], [221.2972869873047, 145.90948486328125], [227.62269592285156, 116.8126220703125], [227.62269592285156, 116.8126220703125], [221.2972869873047, 144.6444091796875], [213.70680236816406, 176.2714385986328], [226.3576202392578, 115.54753875732422], [201.05599975585938, 91.51099395751953], [197.26075744628906, 88.9808349609375], [192.20042419433594, 76.33002471923828], [161.83847045898438, 106.69197082519531], [182.07977294921875, 99.10148620605469], [202.32107543945312, 90.24591827392578], [201.05599975585938, 90.24591827392578], [182.07977294921875, 101.63164520263672], [161.83847045898438, 106.69197082519531]], "image": "01_1_00007378.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.5, 92.0], "scale": 0.18, "joints": [[178, 88], [207, 77], [210, 110], [210, 110], [207, 77], [178, 88], [211, 105], [243, 108], [246, 105], [261, 92], [252, 74], [247, 86], [249, 107], [249, 107], [247, 86], [252, 74]], "image": "04_88_00150899.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.0, 105.5], "scale": 0.315, "joints": [[183, 137], [189, 103], [215, 117], [215, 117], [189, 103], [183, 137], [210, 114], [250, 98], [253, 96], [267, 80], [279, 74], [267, 82], [256, 99], [256, 99], [267, 82], [279, 74]], "image": "04_88_00150897.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [249.0, 121.0], "scale": 0.23, "joints": [[211, 98], [236, 110], [232, 142], [232, 142], [236, 110], [211, 98], [235, 138], [267, 142], [268, 139], [287, 134], [271, 113], [263, 133], [270, 144], [270, 144], [263, 133], [271, 113]], "image": "04_88_00150931.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [206.5, 114.0], "scale": 0.61, "joints": [[198, 175], [214, 152], [210, 122], [210, 122], [214, 152], [198, 175], [216, 124], [208, 92], [206, 88], [199, 74], [197, 53], [209, 65], [205, 85], [205, 85], [209, 65], [197, 53]], "image": "04_98_00166143.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.0, 74.5], "scale": 0.185, "joints": [[253, 56], [225, 67], [254, 82], [254, 82], [225, 67], [253, 56], [249, 83], [226, 91], [223, 93], [204, 93], [239, 64], [239, 81], [227, 90], [227, 90], [239, 81], [239, 64]], "image": "04_98_00166163.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5, 128.5], "scale": 0.465, "joints": [[179, 174], [181, 141], [186, 107], [185, 106], [186, 141], [181, 175], [191, 105], [223, 91], [227, 91], [244, 82], [264, 104], [246, 98], [228, 90], [228, 90], [246, 98], [264, 101]], "image": "05_1_00009167.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [245.5, 123.5], "scale": 0.495, "joints": [[203, 173], [204, 147], [211, 120], [225, 123], [211, 151], [203, 173], [219, 118], [247, 105], [251, 102], [261, 93], [266, 74], [252, 83], [247, 98], [254, 107], [269, 108], [288, 102]], "image": "05_82_00134020.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.0, 97.0], "scale": 0.26, "joints": [[255, 74], [239, 91], [227, 117], [220, 106], [234, 86], [251, 71], [222, 109], [194, 116], [189, 114], [177, 110], [216, 107], [211, 123], [195, 122], [192, 86], [194, 97], [189, 109]], "image": "05_82_00134035.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 132.0], "scale": 0.23, "joints": [[303, 152], [270, 141], [239, 133], [243, 118], [272, 134], [303, 152], [240, 127], [194, 116], [204, 120], [202, 119], [187, 109], [186, 133], [197, 117], [199, 121], [189, 141], [182, 155]], "image": "06_21_00037588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [236.0, 125.0], "scale": 0.58, "joints": [[271, 183], [254, 168], [227, 147], [247, 135], [267, 163], [281, 176], [233, 136], [222, 105], [223, 102], [221, 87], [191, 67], [197, 87], [214, 99], [235, 98], [226, 113], [198, 111]], "image": "06_21_00037591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [244.5, 113.5], "scale": 0.285, "joints": [[297, 88], [272, 104], [249, 125], [241, 104], [261, 95], [287, 85], [247, 115], [217, 127], [216, 128], [201, 133], [239, 134], [240, 142], [217, 142], [207, 117], [193, 114], [192, 136]], "image": "06_27_00048106.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [258.0, 133.5], "scale": 0.265, "joints": [[208, 160], [209, 129], [231, 110], [240, 117], [211, 131], [208, 160], [236, 110], [269, 111], [273, 112], [287, 112], [294, 107], [285, 107], [273, 110], [271, 117], [291, 112], [308, 115]], "image": "06_27_00048094.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [249.5, 103.0], "scale": 0.27, "joints": [[296, 110], [272, 114], [247, 127], [251, 108], [272, 107], [291, 98], [244, 116], [217, 114], [214, 112], [203, 102], [238, 130], [220, 130], [211, 130], [217, 109], [219, 89], [215, 76]], "image": "06_27_00048108.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [182.0, 127.5], "scale": 0.575, "joints": [[246, 185], [246, 151], [227, 115], [227, 115], [246, 151], [246, 185], [229, 111], [179, 88], [172, 91], [150, 96], [118, 70], [144, 71], [171, 85], [171, 100], [142, 100], [119, 99]], "image": "07_97_00141972.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.0, 159.5], "scale": 0.365, "joints": [[163, 134], [193, 126], [228, 123], [228, 123], [193, 126], [163, 134], [226, 124], [239, 154], [242, 156], [245, 165], [235, 196], [235, 178], [241, 161], [238, 161], [232, 171], [229, 185]], "image": "09_14_00027838.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [215.5, 166.0], "scale": 0.62, "joints": [[192, 104], [204, 124], [220, 152], [220, 152], [204, 124], [192, 104], [219, 157], [235, 190], [235, 193], [239, 199], [235, 228], [234, 213], [234, 198], [234, 198], [234, 213], [235, 228]], "image": "09_14_00027843.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5, 163.5], "scale": 0.495, "joints": [[167, 114], [193, 121], [225, 136], [225, 136], [193, 121], [167, 114], [225, 143], [239, 172], [239, 175], [248, 188], [241, 213], [239, 197], [241, 179], [241, 179], [239, 197], [236, 206]], "image": "09_14_00027840.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.5, 118.5], "scale": 0.185, "joints": [[129, 100], [146, 113], [192, 137], [192, 137], [146, 113], [129, 100], [192, 133], [234, 132], [233, 129], [246, 114], [183, 118], [204, 121], [230, 130], [230, 130], [204, 121], [183, 118]], "image": "09_36_00058402.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [198.5, 146.5], "scale": 0.355, "joints": [[141, 111], [163, 130], [195, 151], [195, 151], [163, 130], [141, 111], [198, 149], [236, 172], [243, 174], [256, 182], [236, 154], [238, 157], [241, 167], [238, 174], [236, 165], [234, 155]], "image": "09_36_00058407.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [197.0, 149.5], "scale": 0.765, "joints": [[170, 73], [186, 101], [215, 131], [208, 136], [191, 102], [170, 73], [215, 141], [224, 171], [222, 179], [214, 197], [219, 226], [218, 206], [218, 178], [218, 178], [218, 206], [219, 226]], "image": "09_36_00058420.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [210.0, 133.0], "scale": 0.73, "joints": [[237, 198], [226, 170], [229, 131], [225, 132], [202, 165], [183, 193], [224, 132], [222, 85], [221, 86], [217, 60], [216, 130], [219, 109], [225, 83], [225, 83], [218, 206], [216, 130]], "image": "09_54_00082209.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.5, 132.0], "scale": 0.7, "joints": [[264, 194], [238, 167], [228, 135], [218, 133], [197, 163], [179, 202], [222, 131], [220, 91], [223, 80], [214, 62], [222, 93], [223, 89], [224, 84], [224, 84], [223, 89], [222, 93]], "image": "09_54_00082214.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 88.5], "scale": 0.215, "joints": [[267, 62], [242, 85], [218, 108], [218, 108], [242, 85], [267, 67], [220, 110], [252, 107], [258, 103], [260, 89], [240, 81], [233, 90], [252, 99], [252, 99], [233, 90], [240, 81]], "image": "09_54_00082243.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.5, 111.0], "scale": 0.32, "joints": [[199, 79], [212, 111], [226, 143], [226, 143], [212, 111], [199, 79], [233, 142], [253, 119], [254, 114], [247, 99], [214, 116], [233, 114], [252, 116], [251, 118], [229, 123], [213, 121]], "image": "09_54_00082258.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.5, 131.0], "scale": 0.66, "joints": [[204, 197], [190, 166], [204, 136], [213, 136], [190, 166], [232, 183], [206, 134], [198, 94], [196, 86], [187, 65], [151, 109], [171, 108], [194, 93], [192, 89], [170, 101], [149, 107]], "image": "09_59_00090003.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.5, 132.0], "scale": 0.65, "joints": [[212, 197], [187, 168], [207, 140], [207, 140], [187, 168], [219, 188], [206, 135], [193, 96], [192, 86], [186, 67], [154, 109], [170, 105], [191, 93], [191, 93], [170, 105], [154, 109]], "image": "09_59_00090004.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [191.5, 104.0], "scale": 0.74, "joints": [[192, 138], [168, 112], [198, 104], [210, 104], [210, 143], [215, 178], [205, 99], [208, 58], [208, 50], [204, 30], [188, 54], [195, 54], [205, 53], [205, 53], [193, 54], [179, 49]], "image": "09_59_00090015.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [195.0, 109.5], "scale": 0.845, "joints": [[201, 138], [176, 114], [202, 97], [211, 97], [212, 142], [210, 194], [209, 93], [214, 53], [214, 45], [208, 25], [194, 40], [200, 43], [211, 45], [211, 45], [199, 46], [183, 40]], "image": "09_59_00090016.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5, 108.0], "scale": 0.74, "joints": [[210, 182], [212, 140], [219, 105], [219, 105], [212, 140], [210, 182], [218, 101], [222, 62], [222, 54], [217, 34], [193, 37], [202, 46], [219, 56], [219, 56], [202, 46], [201, 37]], "image": "09_59_00090021.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [199.5, 139.0], "scale": 0.19, "joints": [[229, 158], [197, 146], [225, 130], [225, 130], [197, 146], [229, 158], [222, 127], [188, 120], [182, 122], [170, 128], [198, 147], [199, 132], [188, 121], [188, 121], [199, 132], [198, 147]], "image": "09_59_00090044.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [203.0, 145.5], "scale": 0.165, "joints": [[236, 150], [208, 147], [219, 130], [219, 130], [196, 154], [230, 162], [216, 129], [181, 134], [179, 137], [170, 146], [200, 159], [197, 141], [184, 133], [184, 133], [197, 141], [200, 159]], "image": "09_59_00090055.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.5, 131.5], "scale": 0.445, "joints": [[130, 87], [157, 112], [198, 103], [198, 103], [157, 112], [130, 87], [201, 108], [235, 134], [240, 134], [255, 138], [251, 176], [242, 159], [234, 136], [234, 136], [242, 159], [251, 176]], "image": "09_61_00092503.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [205.0, 128.0], "scale": 0.27, "joints": [[177, 107], [196, 137], [214, 101], [214, 101], [196, 137], [177, 107], [219, 105], [232, 135], [232, 144], [229, 155], [199, 138], [215, 135], [233, 138], [233, 138], [215, 135], [199, 138]], "image": "09_61_00092516.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.0, 152.0], "scale": 0.22, "joints": [[155, 161], [182, 169], [177, 131], [177, 131], [182, 169], [155, 161], [184, 130], [213, 151], [218, 155], [225, 166], [188, 174], [196, 157], [216, 155], [216, 155], [196, 157], [188, 174]], "image": "09_61_00092527.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [177.0, 125.0], "scale": 0.26, "joints": [[142, 141], [178, 142], [177, 101], [177, 101], [178, 142], [142, 141], [177, 99], [207, 129], [207, 136], [212, 151], [165, 138], [191, 139], [202, 133], [202, 133], [191, 139], [165, 138]], "image": "09_62_00093793.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [174.5, 131.0], "scale": 0.3, "joints": [[150, 109], [175, 129], [190, 101], [190, 101], [175, 129], [150, 109], [196, 102], [198, 135], [199, 142], [197, 161], [165, 124], [179, 131], [194, 139], [194, 139], [179, 131], [165, 124]], "image": "09_62_00093794.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [227.0, 140.0], "scale": 0.56, "joints": [[180, 194], [191, 162], [218, 145], [229, 145], [196, 165], [184, 196], [228, 141], [253, 114], [258, 110], [268, 101], [270, 85], [257, 84], [261, 109], [261, 109], [257, 84], [270, 85]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [239.0, 148.0], "scale": 0.46, "joints": [[177, 189], [192, 159], [218, 138], [229, 141], [200, 161], [183, 194], [228, 137], [263, 121], [266, 120], [277, 114], [293, 102], [277, 103], [263, 115], [266, 126], [283, 115], [295, 103]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.5, 154.5], "scale": 0.335, "joints": [[180, 184], [190, 149], [219, 129], [233, 137], [198, 153], [181, 188], [227, 129], [271, 130], [275, 131], [286, 140], [304, 135], [292, 121], [272, 125], [265, 136], [287, 135], [301, 132]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.5, 149.5], "scale": 0.305, "joints": [[176, 115], [208, 120], [244, 119], [236, 141], [211, 131], [175, 128], [247, 134], [265, 156], [269, 161], [272, 172], [280, 180], [288, 163], [279, 151], [254, 166], [240, 158], [255, 160]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [248.0, 130.0], "scale": 0.6, "joints": [[253, 70], [247, 100], [246, 137], [267, 132], [259, 104], [253, 70], [256, 141], [246, 172], [242, 176], [234, 190], [238, 140], [229, 148], [229, 165], [251, 176], [249, 166], [242, 158]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [237.0, 114.0], "scale": 0.3, "joints": [[208, 144], [228, 122], [251, 92], [238, 84], [226, 115], [205, 139], [248, 96], [265, 117], [267, 121], [269, 131], [233, 119], [251, 118], [266, 123], [266, 123], [251, 118], [233, 119]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25617.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5, 111.5], "scale": 0.285, "joints": [[191, 117], [222, 107], [258, 94], [254, 83], [222, 100], [187, 114], [258, 99], [253, 125], [252, 132], [241, 140], [229, 112], [246, 119], [254, 128], [254, 128], [246, 119], [229, 112]], "image": "Budapest2021Diving10mPlatformWomenFinal_1_15_25618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [204.5, 111.5], "scale": 0.635, "joints": [[232, 49], [243, 82], [216, 116], [203, 108], [231, 80], [219, 48], [214, 117], [183, 137], [177, 143], [166, 149], [166, 175], [172, 154], [176, 136], [176, 136], [172, 154], [166, 175]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.0, 133.0], "scale": 0.45, "joints": [[271, 178], [247, 148], [224, 127], [230, 110], [256, 140], [277, 167], [221, 117], [194, 99], [190, 95], [183, 88], [161, 111], [173, 104], [189, 97], [192, 93], [183, 106], [175, 114]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17659.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [238.0, 140.5], "scale": 0.615, "joints": [[215, 75], [230, 111], [240, 140], [220, 149], [230, 118], [232, 79], [236, 147], [245, 182], [245, 187], [250, 195], [249, 155], [252, 163], [253, 177], [236, 189], [240, 201], [256, 202]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [252.5, 162.0], "scale": 0.29, "joints": [[303, 143], [271, 161], [248, 187], [248, 178], [264, 155], [284, 133], [244, 181], [216, 171], [209, 166], [202, 156], [242, 191], [226, 183], [211, 170], [212, 165], [215, 159], [223, 153]], "image": "Budapest2021Diving10mPlatformWomenFinal_2_9_17680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [175.5, 121.0], "scale": 0.84, "joints": [[180, 37], [175, 74], [172, 111], [172, 111], [175, 74], [180, 37], [176, 121], [173, 151], [173, 160], [173, 174], [172, 205], [172, 191], [171, 162], [171, 162], [172, 191], [172, 205]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03079.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [175.0, 130.5], "scale": 0.675, "joints": [[177, 63], [204, 89], [183, 123], [183, 123], [204, 89], [177, 63], [180, 132], [162, 156], [154, 163], [146, 171], [157, 198], [155, 176], [156, 160], [156, 160], [155, 176], [157, 198]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03095.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [177.5, 139.5], "scale": 0.605, "joints": [[177, 79], [209, 97], [186, 130], [186, 130], [209, 97], [177, 79], [181, 139], [164, 158], [154, 163], [146, 172], [156, 200], [156, 181], [155, 162], [155, 162], [156, 181], [156, 200]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03097.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.0, 162.0], "scale": 0.49, "joints": [[206, 105], [204, 141], [206, 168], [192, 165], [195, 143], [199, 113], [199, 164], [194, 191], [192, 200], [186, 210], [198, 174], [206, 190], [200, 203], [181, 199], [167, 194], [164, 211]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03124.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.5, 157.0], "scale": 0.46, "joints": [[219, 110], [212, 142], [208, 172], [204, 171], [207, 143], [216, 111], [204, 174], [187, 191], [181, 197], [172, 203], [156, 178], [171, 179], [186, 192], [186, 192], [171, 179], [156, 178]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03125.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.5, 153.5], "scale": 0.455, "joints": [[216, 108], [210, 141], [206, 173], [206, 173], [210, 141], [216, 108], [203, 175], [188, 190], [183, 195], [170, 199], [179, 195], [194, 198], [187, 195], [180, 185], [169, 178], [157, 178]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_1_03126.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [164.0, 170.5], "scale": 0.785, "joints": [[188, 249], [170, 223], [147, 185], [170, 178], [180, 214], [188, 249], [156, 179], [157, 141], [159, 133], [160, 120], [151, 92], [140, 111], [147, 126], [171, 134], [172, 115], [164, 102]], "image": "Budapest2021Diving10mPlatformWomenFinal_3_7_14440.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, + +] \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/train.json b/deep-high-resolution-net.pytorch/data/mpii/annot/train.json new file mode 100644 index 0000000000000000000000000000000000000000..c09a8e2858f7738b98e3e5d8c1ea5dfdf86adf60 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/train.json @@ -0,0 +1,24002 @@ +[ + { + "center": [ + 671.5, + 315.5 + ], + "scale": 0.4799000000000001, + "joints": [ + [ + 790, + 296 + ], + [ + 711, + 318 + ], + [ + 664, + 340 + ], + [ + 672, + 310 + ], + [ + 718, + 298 + ], + [ + 779, + 284 + ], + [ + 665, + 323 + ], + [ + 609, + 324 + ], + [ + 585, + 323 + ], + [ + 557, + 318 + ], + [ + 643, + 330 + ], + [ + 635, + 364 + ], + [ + 591, + 348 + ], + [ + 595, + 317 + ], + [ + 559, + 286 + ], + [ + 537, + 299 + ] + ], + "image": "d02570.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 782, + 430 + ], + "scale": 1.6849, + "joints": [ + [ + 606, + 560 + ], + [ + 615, + 422 + ], + [ + 695, + 321 + ], + [ + 698, + 327 + ], + [ + 615, + 425 + ], + [ + 607, + 563 + ], + [ + 698, + 319 + ], + [ + 855, + 297 + ], + [ + 890, + 297 + ], + [ + 942, + 290 + ], + [ + 961, + 360 + ], + [ + 918, + 340 + ], + [ + 868, + 316 + ], + [ + 870, + 323 + ], + [ + 918, + 344 + ], + [ + 965, + 362 + ] + ], + "image": "d02571.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 786, + 431 + ], + "scale": 1.6849, + "joints": [ + [ + 602, + 554 + ], + [ + 617, + 421 + ], + [ + 688, + 320 + ], + [ + 693, + 322 + ], + [ + 618, + 423 + ], + [ + 605, + 556 + ], + [ + 698, + 318 + ], + [ + 861, + 299 + ], + [ + 893, + 300 + ], + [ + 945, + 294 + ], + [ + 960, + 362 + ], + [ + 921, + 339 + ], + [ + 865, + 314 + ], + [ + 865, + 322 + ], + [ + 918, + 343 + ], + [ + 964, + 360 + ] + ], + "image": "d02572.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 766.5, + 405.5 + ], + "scale": 1.4399000000000002, + "joints": [ + [ + 586, + 515 + ], + [ + 615, + 391 + ], + [ + 702, + 310 + ], + [ + 706, + 313 + ], + [ + 618, + 392.99999999999994 + ], + [ + 582, + 516 + ], + [ + 710, + 305 + ], + [ + 865, + 311 + ], + [ + 894, + 312 + ], + [ + 933, + 315 + ], + [ + 962, + 388 + ], + [ + 923, + 354 + ], + [ + 863, + 321 + ], + [ + 867, + 331 + ], + [ + 910, + 366 + ], + [ + 961, + 386 + ] + ], + "image": "d02573.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 746.5, + 378 + ], + "scale": 1.1749, + "joints": [ + [ + 554, + 470 + ], + [ + 620, + 355 + ], + [ + 719, + 294 + ], + [ + 720, + 291 + ], + [ + 623, + 361 + ], + [ + 555, + 468 + ], + [ + 724, + 292 + ], + [ + 859, + 314 + ], + [ + 895, + 333 + ], + [ + 941, + 337 + ], + [ + 953, + 417.00000000000006 + ], + [ + 921, + 378 + ], + [ + 869, + 331 + ], + [ + 867, + 341 + ], + [ + 909, + 397.00000000000006 + ], + [ + 947, + 413 + ] + ], + "image": "d02574.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 745.5, + 377.5 + ], + "scale": 1.1599000000000002, + "joints": [ + [ + 554, + 467 + ], + [ + 613, + 364 + ], + [ + 714, + 294 + ], + [ + 713, + 295 + ], + [ + 616, + 366 + ], + [ + 555, + 465 + ], + [ + 719, + 291 + ], + [ + 861, + 321 + ], + [ + 892, + 334 + ], + [ + 940, + 333 + ], + [ + 955, + 423 + ], + [ + 915, + 370.99999999999994 + ], + [ + 866, + 330 + ], + [ + 865, + 342 + ], + [ + 911, + 396.00000000000006 + ], + [ + 951, + 415.99999999999994 + ] + ], + "image": "d02575.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 717, + 372.5 + ], + "scale": 1.1099, + "joints": [ + [ + 510, + 361 + ], + [ + 629, + 307 + ], + [ + 740, + 287 + ], + [ + 739, + 291 + ], + [ + 630, + 314 + ], + [ + 508, + 362 + ], + [ + 744, + 287 + ], + [ + 867, + 338 + ], + [ + 893, + 358 + ], + [ + 941, + 363 + ], + [ + 934, + 464.00000000000006 + ], + [ + 903, + 402 + ], + [ + 863, + 357 + ], + [ + 862, + 363 + ], + [ + 891, + 433 + ], + [ + 930, + 456 + ] + ], + "image": "d02576.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 727.5, + 337.5 + ], + "scale": 1.7399, + "joints": [ + [ + 555, + 193 + ], + [ + 684, + 239 + ], + [ + 768, + 281 + ], + [ + 770, + 283 + ], + [ + 686, + 243.00000000000003 + ], + [ + 558, + 196.99999999999997 + ], + [ + 773, + 285 + ], + [ + 858, + 367 + ], + [ + 877, + 393.99999999999994 + ], + [ + 923, + 405 + ], + [ + 904, + 501 + ], + [ + 881, + 437.99999999999994 + ], + [ + 853, + 390 + ], + [ + 852, + 392.99999999999994 + ], + [ + 865, + 458 + ], + [ + 899, + 499 + ] + ], + "image": "d02577.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 737.5, + 314.5 + ], + "scale": 2.0199000000000003, + "joints": [ + [ + 581, + 142 + ], + [ + 683, + 210.00000000000003 + ], + [ + 774, + 280 + ], + [ + 769, + 284 + ], + [ + 679, + 210.00000000000003 + ], + [ + 578, + 144 + ], + [ + 776, + 278 + ], + [ + 849, + 370.99999999999994 + ], + [ + 869, + 403 + ], + [ + 914, + 423 + ], + [ + 892, + 499 + ], + [ + 869, + 445 + ], + [ + 847, + 393.99999999999994 + ], + [ + 847, + 402 + ], + [ + 849, + 459.99999999999994 + ], + [ + 885, + 503 + ] + ], + "image": "d02578.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 737.5, + 313 + ], + "scale": 2.0149, + "joints": [ + [ + 582, + 140 + ], + [ + 680, + 216 + ], + [ + 769, + 283 + ], + [ + 770, + 284 + ], + [ + 681, + 218 + ], + [ + 584, + 143 + ], + [ + 777, + 289 + ], + [ + 852, + 379 + ], + [ + 868, + 402 + ], + [ + 916, + 415.99999999999994 + ], + [ + 890, + 505.99999999999994 + ], + [ + 872, + 447 + ], + [ + 855, + 388 + ], + [ + 849, + 400 + ], + [ + 848, + 459.99999999999994 + ], + [ + 882, + 507.00000000000006 + ] + ], + "image": "d02579.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 738, + 314 + ], + "scale": 2.0449, + "joints": [ + [ + 586, + 144 + ], + [ + 687, + 215 + ], + [ + 778, + 282 + ], + [ + 776, + 283 + ], + [ + 687, + 218.99999999999997 + ], + [ + 581, + 146 + ], + [ + 777, + 285 + ], + [ + 849, + 379 + ], + [ + 872, + 403 + ], + [ + 916, + 428 + ], + [ + 886, + 508.00000000000006 + ], + [ + 874, + 452 + ], + [ + 854, + 390 + ], + [ + 848, + 399 + ], + [ + 848, + 460.99999999999994 + ], + [ + 882, + 510 + ] + ], + "image": "d02580.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 770, + 290.5 + ], + "scale": 2.3899, + "joints": [ + [ + 651, + 81 + ], + [ + 718, + 188 + ], + [ + 779, + 281 + ], + [ + 779, + 284 + ], + [ + 716, + 189 + ], + [ + 649, + 83 + ], + [ + 784, + 287 + ], + [ + 837, + 384 + ], + [ + 853, + 414.99999999999994 + ], + [ + 900, + 444 + ], + [ + 868, + 519 + ], + [ + 852, + 457 + ], + [ + 839, + 398 + ], + [ + 836, + 401 + ], + [ + 827, + 463.00000000000006 + ], + [ + 861, + 523 + ] + ], + "image": "d02581.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 786.5, + 282 + ], + "scale": 2.5149, + "joints": [ + [ + 691, + 69 + ], + [ + 741, + 178 + ], + [ + 786, + 278 + ], + [ + 786, + 280 + ], + [ + 738, + 176 + ], + [ + 687, + 68 + ], + [ + 787, + 283 + ], + [ + 828, + 391.99999999999994 + ], + [ + 842, + 414.99999999999994 + ], + [ + 889, + 440.00000000000006 + ], + [ + 851, + 514 + ], + [ + 843, + 456 + ], + [ + 832, + 392.99999999999994 + ], + [ + 828, + 396.00000000000006 + ], + [ + 816, + 458.99999999999994 + ], + [ + 838, + 523 + ] + ], + "image": "d02582.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 801, + 279 + ], + "scale": 2.5649, + "joints": [ + [ + 730, + 64 + ], + [ + 756, + 163 + ], + [ + 787, + 277 + ], + [ + 786, + 281 + ], + [ + 755, + 163 + ], + [ + 730, + 65 + ], + [ + 791, + 285 + ], + [ + 823, + 403 + ], + [ + 833, + 419.00000000000006 + ], + [ + 872, + 447 + ], + [ + 836, + 504.99999999999994 + ], + [ + 832, + 452 + ], + [ + 824, + 399 + ], + [ + 818, + 404 + ], + [ + 804, + 460.99999999999994 + ], + [ + 822, + 520 + ] + ], + "image": "d02583.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 803, + 280 + ], + "scale": 2.5549, + "joints": [ + [ + 726, + 57.99999999999999 + ], + [ + 757, + 164 + ], + [ + 788, + 284 + ], + [ + 784, + 285 + ], + [ + 753, + 165 + ], + [ + 725, + 57.99999999999999 + ], + [ + 789, + 287 + ], + [ + 818, + 391.99999999999994 + ], + [ + 831, + 420 + ], + [ + 876, + 447 + ], + [ + 840, + 505.99999999999994 + ], + [ + 830, + 446 + ], + [ + 822, + 399 + ], + [ + 815, + 403 + ], + [ + 800, + 459.99999999999994 + ], + [ + 821, + 520 + ] + ], + "image": "d02584.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 811, + 277.5 + ], + "scale": 2.6599, + "joints": [ + [ + 769, + 53 + ], + [ + 779, + 165 + ], + [ + 791, + 279 + ], + [ + 788, + 278 + ], + [ + 779, + 161 + ], + [ + 767, + 48 + ], + [ + 792, + 284 + ], + [ + 811, + 403 + ], + [ + 820, + 423 + ], + [ + 862, + 452 + ], + [ + 825, + 505.99999999999994 + ], + [ + 817, + 445 + ], + [ + 812, + 405 + ], + [ + 807, + 409 + ], + [ + 791, + 458.99999999999994 + ], + [ + 807, + 517 + ] + ], + "image": "d02585.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 808, + 281.5 + ], + "scale": 2.5399000000000003, + "joints": [ + [ + 850, + 66 + ], + [ + 828, + 161 + ], + [ + 796, + 285 + ], + [ + 794, + 288 + ], + [ + 828, + 159 + ], + [ + 850, + 70 + ], + [ + 796, + 291 + ], + [ + 787, + 404 + ], + [ + 795, + 426 + ], + [ + 833, + 464.00000000000006 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 779, + 409 + ], + [ + 770, + 417.00000000000006 + ], + [ + 769, + 468 + ], + [ + 775, + 520 + ] + ], + "image": "d02586.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 570.5, + 274 + ], + "scale": 0.8049000000000001, + "joints": [ + [ + 590, + 218 + ], + [ + 550, + 282 + ], + [ + 622, + 297 + ], + [ + 622, + 295 + ], + [ + 552, + 279 + ], + [ + 598, + 226 + ], + [ + 614, + 297 + ], + [ + 546, + 323 + ], + [ + 534, + 329 + ], + [ + 514, + 331 + ], + [ + 560, + 256 + ], + [ + 560, + 301 + ], + [ + 542, + 330 + ], + [ + 547, + 318 + ], + [ + 563, + 287 + ], + [ + 558, + 252 + ] + ], + "image": "d02587.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 609, + 273 + ], + "scale": 1.1749, + "joints": [ + [ + 490, + 217 + ], + [ + 631, + 298 + ], + [ + 687, + 349 + ], + [ + 689, + 352 + ], + [ + 632, + 302 + ], + [ + 491, + 220.00000000000003 + ], + [ + 692, + 339 + ], + [ + 665, + 222 + ], + [ + 651, + 203 + ], + [ + 636, + 162 + ], + [ + 578, + 306 + ], + [ + 642, + 271 + ], + [ + 696, + 203 + ], + [ + 676, + 218 + ], + [ + 626, + 260 + ], + [ + 550, + 301 + ] + ], + "image": "d02588.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 726.5, + 325 + ], + "scale": 0.7449000000000001, + "joints": [ + [ + 664, + 359 + ], + [ + 732, + 318 + ], + [ + 737, + 377 + ], + [ + 734, + 378 + ], + [ + 734, + 321 + ], + [ + 662, + 355 + ], + [ + 740, + 375 + ], + [ + 764, + 306 + ], + [ + 773, + 286 + ], + [ + 798, + 263 + ], + [ + 695, + 331 + ], + [ + 742, + 332 + ], + [ + 758, + 301 + ], + [ + 780, + 310 + ], + [ + 758, + 354 + ], + [ + 708, + 347 + ] + ], + "image": "d02589.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 606.5, + 328 + ], + "scale": 1.8349000000000002, + "joints": [ + [ + 632, + 489 + ], + [ + 685, + 408 + ], + [ + 642, + 340 + ], + [ + 642, + 344 + ], + [ + 683, + 409 + ], + [ + 630, + 488 + ], + [ + 644, + 339 + ], + [ + 601, + 252 + ], + [ + 590, + 233 + ], + [ + 575, + 193 + ], + [ + 520, + 159 + ], + [ + 559, + 195 + ], + [ + 587, + 261 + ], + [ + 591, + 246 + ], + [ + 558, + 189 + ], + [ + 529, + 154 + ] + ], + "image": "d02590.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 508, + 260.5 + ], + "scale": 1.0799, + "joints": [ + [ + 496, + 178 + ], + [ + 514, + 266 + ], + [ + 529, + 341 + ], + [ + 533, + 340 + ], + [ + 518, + 264 + ], + [ + 498, + 176 + ], + [ + 522, + 340 + ], + [ + 483, + 296 + ], + [ + 477, + 281 + ], + [ + 469, + 254.00000000000003 + ], + [ + 539, + 255.00000000000003 + ], + [ + 500, + 240 + ], + [ + 465, + 283 + ], + [ + 488, + 284 + ], + [ + 506, + 264 + ], + [ + 537, + 265 + ] + ], + "image": "d02591.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516.5, + 272 + ], + "scale": 1.0449000000000002, + "joints": [ + [ + 559, + 195.99999999999997 + ], + [ + 534, + 280 + ], + [ + 507, + 362 + ], + [ + 506, + 359 + ], + [ + 536, + 280 + ], + [ + 557, + 195.99999999999997 + ], + [ + 503, + 352 + ], + [ + 493, + 291 + ], + [ + 497, + 277 + ], + [ + 498, + 247 + ], + [ + 556, + 281 + ], + [ + 524, + 252.99999999999997 + ], + [ + 480, + 275 + ], + [ + 504, + 278 + ], + [ + 529, + 281 + ], + [ + 559, + 283 + ] + ], + "image": "d02592.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 539.5, + 373.5 + ], + "scale": 1.0899, + "joints": [ + [ + 527, + 464.00000000000006 + ], + [ + 519, + 373.00000000000006 + ], + [ + 518, + 290 + ], + [ + 521, + 290 + ], + [ + 520, + 372.00000000000006 + ], + [ + 526, + 462.00000000000006 + ], + [ + 527, + 289 + ], + [ + 550, + 353 + ], + [ + 556, + 368.99999999999994 + ], + [ + 555, + 391.99999999999994 + ], + [ + 489, + 375 + ], + [ + 512, + 383 + ], + [ + 555, + 363 + ], + [ + 552, + 363 + ], + [ + 519, + 360 + ], + [ + 497, + 365 + ] + ], + "image": "d02593.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 581.5, + 298 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 635, + 227 + ], + [ + 617, + 301 + ], + [ + 602, + 385 + ], + [ + 604, + 382 + ], + [ + 629, + 303 + ], + [ + 653, + 227 + ], + [ + 598, + 381 + ], + [ + 541, + 360 + ], + [ + 529, + 354 + ], + [ + 516, + 324 + ], + [ + 538, + 312 + ], + [ + 526, + 338 + ], + [ + 518, + 361 + ], + [ + 537, + 350 + ], + [ + 551, + 333 + ], + [ + 581, + 305 + ] + ], + "image": "d02594.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 550, + 243.5 + ], + "scale": 0.5899000000000001, + "joints": [ + [ + 632, + 289 + ], + [ + 554, + 280 + ], + [ + 463, + 267 + ], + [ + 462, + 267 + ], + [ + 557, + 281 + ], + [ + 634, + 289 + ], + [ + 461, + 258 + ], + [ + 525, + 225 + ], + [ + 540, + 213 + ], + [ + 565, + 195 + ], + [ + 546, + 294 + ], + [ + 539, + 263 + ], + [ + 537, + 228 + ], + [ + 545, + 234 + ], + [ + 550, + 262 + ], + [ + 548, + 294 + ] + ], + "image": "d02595.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 869.5, + 333.5 + ], + "scale": 1.5499, + "joints": [ + [ + 993, + 203 + ], + [ + 889, + 251 + ], + [ + 802, + 302 + ], + [ + 794, + 303 + ], + [ + 888, + 255.00000000000003 + ], + [ + 993, + 206 + ], + [ + 794, + 311 + ], + [ + 752, + 401 + ], + [ + 750, + 427 + ], + [ + 741, + 475 + ], + [ + 792, + 368 + ], + [ + 769, + 383 + ], + [ + 745, + 414.99999999999994 + ], + [ + 725, + 405 + ], + [ + 771, + 435 + ], + [ + 781, + 460.99999999999994 + ] + ], + "image": "d02596.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 871, + 375 + ], + "scale": 1.1149, + "joints": [ + [ + 1013, + 280 + ], + [ + 901, + 295 + ], + [ + 796, + 317 + ], + [ + 786, + 316 + ], + [ + 902, + 299 + ], + [ + 1010, + 281 + ], + [ + 790, + 323 + ], + [ + 745, + 413.99999999999994 + ], + [ + 744, + 424 + ], + [ + 732, + 472 + ], + [ + 809, + 349 + ], + [ + 773, + 358 + ], + [ + 768, + 400 + ], + [ + 712, + 405 + ], + [ + 752, + 397.00000000000006 + ], + [ + 798, + 426 + ] + ], + "image": "d02597.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 858.5, + 381 + ], + "scale": 1.0249000000000001, + "joints": [ + [ + 1007, + 357 + ], + [ + 880, + 336 + ], + [ + 785, + 317 + ], + [ + 780, + 315 + ], + [ + 881, + 337 + ], + [ + 1007, + 358 + ], + [ + 778, + 321 + ], + [ + 728, + 407 + ], + [ + 723, + 419.00000000000006 + ], + [ + 714, + 464.00000000000006 + ], + [ + 820, + 346 + ], + [ + 774, + 357 + ], + [ + 741, + 397.00000000000006 + ], + [ + 701, + 404 + ], + [ + 748, + 386 + ], + [ + 815, + 405 + ] + ], + "image": "d02598.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 852, + 379.5 + ], + "scale": 0.9499000000000001, + "joints": [ + [ + 999, + 396.00000000000006 + ], + [ + 879, + 351 + ], + [ + 788, + 311 + ], + [ + 785, + 311 + ], + [ + 880, + 356 + ], + [ + 997, + 406 + ], + [ + 783, + 322 + ], + [ + 726, + 402 + ], + [ + 724, + 413.99999999999994 + ], + [ + 701, + 465 + ], + [ + 824, + 346 + ], + [ + 759, + 358 + ], + [ + 741, + 400 + ], + [ + 706, + 397.00000000000006 + ], + [ + 765, + 391.99999999999994 + ], + [ + 821, + 403 + ] + ], + "image": "d02599.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 826, + 396.5 + ], + "scale": 1.0699, + "joints": [ + [ + 955, + 468 + ], + [ + 871, + 391.99999999999994 + ], + [ + 793, + 312 + ], + [ + 790, + 317 + ], + [ + 873, + 398 + ], + [ + 955, + 475 + ], + [ + 786, + 321 + ], + [ + 720, + 395.00000000000006 + ], + [ + 716, + 408 + ], + [ + 688, + 450 + ], + [ + 867, + 362 + ], + [ + 798, + 361 + ], + [ + 731, + 380 + ], + [ + 709, + 389 + ], + [ + 772, + 387 + ], + [ + 841, + 407 + ] + ], + "image": "d02600.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 826, + 397 + ], + "scale": 1.0349000000000002, + "joints": [ + [ + 959, + 471 + ], + [ + 872, + 392.99999999999994 + ], + [ + 793, + 320 + ], + [ + 790, + 324 + ], + [ + 873, + 396.00000000000006 + ], + [ + 959, + 473 + ], + [ + 784, + 326 + ], + [ + 716, + 398 + ], + [ + 712, + 407 + ], + [ + 683, + 443 + ], + [ + 867, + 359 + ], + [ + 795, + 361 + ], + [ + 733, + 382 + ], + [ + 703, + 390 + ], + [ + 774, + 385 + ], + [ + 843, + 403 + ] + ], + "image": "d02601.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 805, + 414.5 + ], + "scale": 1.1899000000000002, + "joints": [ + [ + 932, + 503 + ], + [ + 854, + 401 + ], + [ + 799, + 314 + ], + [ + 796, + 315 + ], + [ + 854, + 401 + ], + [ + 931, + 507.00000000000006 + ], + [ + 785, + 321 + ], + [ + 717, + 384 + ], + [ + 705, + 405 + ], + [ + 672, + 435 + ], + [ + 865, + 378 + ], + [ + 788, + 362 + ], + [ + 715, + 378 + ], + [ + 707, + 384 + ], + [ + 777, + 384 + ], + [ + 845, + 410 + ] + ], + "image": "d02602.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 786, + 430 + ], + "scale": 1.3149000000000002, + "joints": [ + [ + 893, + 528 + ], + [ + 852, + 443 + ], + [ + 802, + 321 + ], + [ + 800, + 321 + ], + [ + 850, + 444 + ], + [ + 892, + 530 + ], + [ + 793, + 323 + ], + [ + 709, + 387 + ], + [ + 700, + 397.00000000000006 + ], + [ + 667, + 426 + ], + [ + 860, + 397.00000000000006 + ], + [ + 785, + 364 + ], + [ + 719, + 368.99999999999994 + ], + [ + 707, + 376 + ], + [ + 782, + 390 + ], + [ + 845, + 420 + ] + ], + "image": "d02603.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 767.5, + 436 + ], + "scale": 1.3749, + "joints": [ + [ + 853, + 560 + ], + [ + 828, + 438.99999999999994 + ], + [ + 808, + 324 + ], + [ + 802, + 327 + ], + [ + 831, + 442.00000000000006 + ], + [ + 857, + 560 + ], + [ + 794, + 326 + ], + [ + 715, + 382 + ], + [ + 701, + 391.99999999999994 + ], + [ + 657, + 413.99999999999994 + ], + [ + 859, + 421 + ], + [ + 788, + 374.00000000000006 + ], + [ + 717, + 368.99999999999994 + ], + [ + 711, + 372.00000000000006 + ], + [ + 782, + 395.00000000000006 + ], + [ + 848, + 441.00000000000006 + ] + ], + "image": "d02604.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 749.5, + 442.5 + ], + "scale": 1.4499000000000002, + "joints": [ + [ + 827, + 569 + ], + [ + 810, + 451 + ], + [ + 811, + 330 + ], + [ + 809, + 334 + ], + [ + 809, + 449 + ], + [ + 825, + 567 + ], + [ + 803, + 333 + ], + [ + 715, + 379 + ], + [ + 700, + 386 + ], + [ + 657, + 404 + ], + [ + 841, + 436 + ], + [ + 779, + 383 + ], + [ + 712, + 364 + ], + [ + 710, + 368.99999999999994 + ], + [ + 773, + 397.00000000000006 + ], + [ + 839, + 452 + ] + ], + "image": "d02605.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 746, + 444 + ], + "scale": 1.5049000000000001, + "joints": [ + [ + 782, + 566 + ], + [ + 789, + 451 + ], + [ + 811, + 340 + ], + [ + 814, + 340 + ], + [ + 789, + 453 + ], + [ + 781, + 568 + ], + [ + 806, + 338 + ], + [ + 716, + 368.99999999999994 + ], + [ + 703, + 375 + ], + [ + 654, + 390 + ], + [ + 827, + 473 + ], + [ + 771, + 387 + ], + [ + 719, + 362 + ], + [ + 720, + 363 + ], + [ + 771, + 403 + ], + [ + 822, + 465 + ] + ], + "image": "d02606.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 746, + 437.5 + ], + "scale": 1.3899000000000001, + "joints": [ + [ + 698, + 559 + ], + [ + 751, + 451 + ], + [ + 820, + 361 + ], + [ + 820, + 364 + ], + [ + 751, + 451 + ], + [ + 700, + 559 + ], + [ + 816, + 355 + ], + [ + 712, + 356 + ], + [ + 701, + 358 + ], + [ + 651, + 364 + ], + [ + 773, + 481.99999999999994 + ], + [ + 761, + 395.00000000000006 + ], + [ + 714, + 345 + ], + [ + 724, + 348 + ], + [ + 761, + 407 + ], + [ + 777, + 486.00000000000006 + ] + ], + "image": "d02607.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 742, + 429 + ], + "scale": 1.3449, + "joints": [ + [ + 659, + 542 + ], + [ + 734, + 441.00000000000006 + ], + [ + 814, + 370.99999999999994 + ], + [ + 819, + 372.00000000000006 + ], + [ + 736, + 445 + ], + [ + 662, + 546 + ], + [ + 810, + 364 + ], + [ + 715, + 350 + ], + [ + 700, + 353 + ], + [ + 655, + 353 + ], + [ + 742, + 473 + ], + [ + 754, + 397.00000000000006 + ], + [ + 720, + 344 + ], + [ + 727, + 346 + ], + [ + 754, + 414.99999999999994 + ], + [ + 754, + 472 + ] + ], + "image": "d02608.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 742.5, + 427 + ], + "scale": 1.3249000000000002, + "joints": [ + [ + 663, + 543 + ], + [ + 738, + 436 + ], + [ + 814, + 369.99999999999994 + ], + [ + 820, + 369.99999999999994 + ], + [ + 740, + 436 + ], + [ + 660, + 544 + ], + [ + 811, + 367 + ], + [ + 719, + 354 + ], + [ + 699, + 355 + ], + [ + 650, + 352 + ], + [ + 745, + 469 + ], + [ + 751, + 403 + ], + [ + 722, + 345 + ], + [ + 730, + 349 + ], + [ + 756, + 419.00000000000006 + ], + [ + 755, + 466 + ] + ], + "image": "d02609.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 723, + 417 + ], + "scale": 1.2049, + "joints": [ + [ + 632, + 518 + ], + [ + 720, + 429 + ], + [ + 816, + 380 + ], + [ + 814, + 381 + ], + [ + 721, + 436 + ], + [ + 634, + 521 + ], + [ + 810, + 376 + ], + [ + 716, + 345 + ], + [ + 701, + 344 + ], + [ + 657, + 337 + ], + [ + 704, + 473 + ], + [ + 735, + 409 + ], + [ + 726, + 342 + ], + [ + 729, + 346 + ], + [ + 741, + 420 + ], + [ + 710, + 473 + ] + ], + "image": "d02610.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 709, + 399 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 606, + 490 + ], + [ + 710, + 419.00000000000006 + ], + [ + 806, + 392.99999999999994 + ], + [ + 811, + 395.00000000000006 + ], + [ + 712, + 422 + ], + [ + 606, + 488 + ], + [ + 806, + 387 + ], + [ + 726, + 341 + ], + [ + 711, + 337 + ], + [ + 669, + 317 + ], + [ + 683, + 451 + ], + [ + 721, + 404 + ], + [ + 723, + 337 + ], + [ + 730, + 345 + ], + [ + 729, + 418.00000000000006 + ], + [ + 693, + 462.00000000000006 + ] + ], + "image": "d02611.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 698, + 377 + ], + "scale": 0.8949000000000001, + "joints": [ + [ + 587, + 449 + ], + [ + 688, + 413 + ], + [ + 799, + 403 + ], + [ + 804, + 406 + ], + [ + 691, + 413.99999999999994 + ], + [ + 592, + 452 + ], + [ + 802, + 392.99999999999994 + ], + [ + 734, + 347 + ], + [ + 715, + 333 + ], + [ + 673, + 307 + ], + [ + 668, + 415.99999999999994 + ], + [ + 713, + 392.99999999999994 + ], + [ + 725, + 330 + ], + [ + 731, + 334 + ], + [ + 720, + 412 + ], + [ + 671, + 442.00000000000006 + ] + ], + "image": "d02612.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 690, + 363 + ], + "scale": 0.8349000000000001, + "joints": [ + [ + 577, + 418.00000000000006 + ], + [ + 689, + 396.00000000000006 + ], + [ + 788, + 410 + ], + [ + 791, + 411 + ], + [ + 690, + 399 + ], + [ + 577, + 420 + ], + [ + 790, + 402 + ], + [ + 731, + 339 + ], + [ + 720, + 327 + ], + [ + 682, + 293 + ], + [ + 654, + 405 + ], + [ + 711, + 388 + ], + [ + 734, + 319 + ], + [ + 737, + 331 + ], + [ + 712, + 404 + ], + [ + 658, + 428 + ] + ], + "image": "d02613.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 686.5, + 358.5 + ], + "scale": 0.8999000000000001, + "joints": [ + [ + 562, + 379 + ], + [ + 682, + 380 + ], + [ + 775, + 410 + ], + [ + 780, + 418.00000000000006 + ], + [ + 682, + 382 + ], + [ + 563, + 381 + ], + [ + 782, + 407 + ], + [ + 738, + 334 + ], + [ + 723, + 320 + ], + [ + 699, + 281 + ], + [ + 654, + 385 + ], + [ + 708, + 373.00000000000006 + ], + [ + 734, + 320 + ], + [ + 736, + 325 + ], + [ + 702, + 392.99999999999994 + ], + [ + 644, + 408 + ] + ], + "image": "d02614.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 676, + 356 + ], + "scale": 0.9649000000000001, + "joints": [ + [ + 565, + 342 + ], + [ + 682, + 367 + ], + [ + 761, + 414.99999999999994 + ], + [ + 766, + 422 + ], + [ + 684, + 374.00000000000006 + ], + [ + 567, + 347 + ], + [ + 770, + 413 + ], + [ + 741, + 333 + ], + [ + 733, + 313 + ], + [ + 718, + 277 + ], + [ + 647, + 359 + ], + [ + 708, + 375 + ], + [ + 746, + 322 + ], + [ + 740, + 329 + ], + [ + 699, + 388 + ], + [ + 641, + 391 + ] + ], + "image": "d02615.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 676.5, + 352 + ], + "scale": 0.9849000000000001, + "joints": [ + [ + 564, + 304 + ], + [ + 675, + 352 + ], + [ + 747, + 405 + ], + [ + 752, + 419.00000000000006 + ], + [ + 673, + 356 + ], + [ + 566, + 304 + ], + [ + 756, + 417.00000000000006 + ], + [ + 740, + 328 + ], + [ + 738, + 313 + ], + [ + 733, + 270 + ], + [ + 651, + 353 + ], + [ + 702, + 362 + ], + [ + 749, + 320 + ], + [ + 743, + 326 + ], + [ + 695, + 369.99999999999994 + ], + [ + 645, + 365 + ] + ], + "image": "d02616.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 677.5, + 358.5 + ], + "scale": 1.0099, + "joints": [ + [ + 569, + 305 + ], + [ + 678, + 356 + ], + [ + 745, + 409 + ], + [ + 751, + 421 + ], + [ + 674, + 358 + ], + [ + 567, + 305 + ], + [ + 753, + 413.99999999999994 + ], + [ + 744, + 329 + ], + [ + 737, + 310 + ], + [ + 729, + 267 + ], + [ + 654, + 357 + ], + [ + 705, + 360 + ], + [ + 739, + 319 + ], + [ + 739, + 326 + ], + [ + 696, + 374.00000000000006 + ], + [ + 651, + 366 + ] + ], + "image": "d02617.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 684, + 352 + ], + "scale": 1.0649000000000002, + "joints": [ + [ + 582, + 272 + ], + [ + 678, + 338 + ], + [ + 737, + 411 + ], + [ + 737, + 420 + ], + [ + 675, + 339 + ], + [ + 579, + 273 + ], + [ + 741, + 419.00000000000006 + ], + [ + 744, + 335 + ], + [ + 742, + 317 + ], + [ + 743, + 266 + ], + [ + 639, + 334 + ], + [ + 701, + 359 + ], + [ + 753, + 324 + ], + [ + 748, + 324 + ], + [ + 686, + 366 + ], + [ + 632, + 344 + ] + ], + "image": "d02618.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 687.5, + 334 + ], + "scale": 1.2049, + "joints": [ + [ + 594, + 235 + ], + [ + 682, + 328 + ], + [ + 715, + 418.00000000000006 + ], + [ + 715, + 420 + ], + [ + 680, + 328 + ], + [ + 591, + 235 + ], + [ + 719, + 417.00000000000006 + ], + [ + 744, + 336 + ], + [ + 747, + 313 + ], + [ + 757, + 267 + ], + [ + 647, + 312 + ], + [ + 696, + 355 + ], + [ + 751, + 329 + ], + [ + 753, + 325 + ], + [ + 689, + 356 + ], + [ + 637, + 325 + ] + ], + "image": "d02619.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 697.5, + 314.5 + ], + "scale": 1.3299, + "joints": [ + [ + 619, + 207.99999999999997 + ], + [ + 684, + 312 + ], + [ + 702, + 417.00000000000006 + ], + [ + 703, + 418.00000000000006 + ], + [ + 681, + 314 + ], + [ + 615, + 209.00000000000003 + ], + [ + 707, + 414.99999999999994 + ], + [ + 742, + 336 + ], + [ + 745, + 313 + ], + [ + 766, + 277 + ], + [ + 646, + 294 + ], + [ + 696, + 339 + ], + [ + 750, + 328 + ], + [ + 756, + 327 + ], + [ + 687, + 345 + ], + [ + 644, + 308 + ] + ], + "image": "d02620.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 714, + 307 + ], + "scale": 1.4249, + "joints": [ + [ + 649, + 192 + ], + [ + 686, + 301 + ], + [ + 685, + 409 + ], + [ + 687, + 410 + ], + [ + 685, + 300 + ], + [ + 645, + 191 + ], + [ + 693, + 410 + ], + [ + 738, + 342 + ], + [ + 747, + 322 + ], + [ + 772, + 285 + ], + [ + 657, + 287 + ], + [ + 689, + 341 + ], + [ + 753, + 333 + ], + [ + 754, + 336 + ], + [ + 685, + 336 + ], + [ + 651, + 292 + ] + ], + "image": "d02621.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 710.5, + 289 + ], + "scale": 1.3849, + "joints": [ + [ + 675, + 191 + ], + [ + 693, + 296 + ], + [ + 663, + 399 + ], + [ + 665, + 402 + ], + [ + 689, + 294 + ], + [ + 670, + 187.00000000000003 + ], + [ + 671, + 404 + ], + [ + 735, + 340 + ], + [ + 747, + 326 + ], + [ + 779, + 295 + ], + [ + 667, + 272 + ], + [ + 697, + 328 + ], + [ + 749, + 336 + ], + [ + 754, + 341 + ], + [ + 689, + 331 + ], + [ + 661, + 275 + ] + ], + "image": "d02622.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 696.5, + 293 + ], + "scale": 1.2449000000000001, + "joints": [ + [ + 768, + 195 + ], + [ + 703, + 299 + ], + [ + 633, + 365 + ], + [ + 631, + 366 + ], + [ + 704, + 302 + ], + [ + 770, + 195 + ], + [ + 638, + 368.99999999999994 + ], + [ + 721, + 352 + ], + [ + 742, + 343 + ], + [ + 788, + 334 + ], + [ + 704, + 252 + ], + [ + 701, + 312 + ], + [ + 734, + 351 + ], + [ + 736, + 357 + ], + [ + 693, + 318 + ], + [ + 700, + 251 + ] + ], + "image": "d02623.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 706.5, + 296.5 + ], + "scale": 1.1299000000000001, + "joints": [ + [ + 790, + 207 + ], + [ + 711, + 294 + ], + [ + 625, + 345 + ], + [ + 622, + 347 + ], + [ + 713, + 297 + ], + [ + 795, + 210.00000000000003 + ], + [ + 628, + 353 + ], + [ + 714, + 353 + ], + [ + 735, + 348 + ], + [ + 779, + 351 + ], + [ + 724, + 252.99999999999997 + ], + [ + 703, + 317 + ], + [ + 733, + 365 + ], + [ + 730, + 365 + ], + [ + 692, + 312 + ], + [ + 718, + 251 + ] + ], + "image": "d02624.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 715.5, + 309.5 + ], + "scale": 0.9299000000000001, + "joints": [ + [ + 808, + 233 + ], + [ + 714, + 301 + ], + [ + 613, + 331 + ], + [ + 615, + 335 + ], + [ + 716, + 305 + ], + [ + 811, + 234 + ], + [ + 616, + 341 + ], + [ + 716, + 354 + ], + [ + 732, + 359 + ], + [ + 768, + 368.99999999999994 + ], + [ + 729, + 264 + ], + [ + 698, + 317 + ], + [ + 719, + 366 + ], + [ + 717, + 368 + ], + [ + 693, + 312 + ], + [ + 726, + 262 + ] + ], + "image": "d02625.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 715.5, + 308.5 + ], + "scale": 0.9599000000000001, + "joints": [ + [ + 810, + 237 + ], + [ + 711, + 299 + ], + [ + 613, + 331 + ], + [ + 616, + 332 + ], + [ + 717, + 303 + ], + [ + 810, + 234 + ], + [ + 614, + 337 + ], + [ + 713, + 354 + ], + [ + 730, + 355 + ], + [ + 767, + 365 + ], + [ + 732, + 266 + ], + [ + 704, + 317 + ], + [ + 721, + 344 + ], + [ + 717, + 356 + ], + [ + 699, + 310 + ], + [ + 725, + 259 + ] + ], + "image": "d02626.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 723, + 331.5 + ], + "scale": 0.7599000000000001, + "joints": [ + [ + 830, + 293 + ], + [ + 713, + 314 + ], + [ + 611, + 300 + ], + [ + 608, + 298 + ], + [ + 712, + 316 + ], + [ + 831, + 294 + ], + [ + 610, + 306 + ], + [ + 686, + 357 + ], + [ + 703, + 367 + ], + [ + 744, + 401 + ], + [ + 749, + 292 + ], + [ + 704, + 329 + ], + [ + 702, + 360 + ], + [ + 696, + 360 + ], + [ + 699, + 313 + ], + [ + 744, + 281 + ] + ], + "image": "d02627.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 716.5, + 325 + ], + "scale": 0.9549000000000001, + "joints": [ + [ + 823, + 351 + ], + [ + 709, + 309 + ], + [ + 626, + 262 + ], + [ + 627, + 266 + ], + [ + 707, + 309 + ], + [ + 824, + 353 + ], + [ + 623, + 274 + ], + [ + 681, + 351 + ], + [ + 686, + 366 + ], + [ + 693, + 413.99999999999994 + ], + [ + 762, + 319 + ], + [ + 685, + 313 + ], + [ + 676, + 361 + ], + [ + 664, + 362 + ], + [ + 693, + 320 + ], + [ + 754, + 312 + ] + ], + "image": "d02628.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 713.5, + 319 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 823, + 392.99999999999994 + ], + [ + 709, + 327 + ], + [ + 634, + 252.99999999999997 + ], + [ + 632, + 255.00000000000003 + ], + [ + 707, + 331 + ], + [ + 820, + 392.99999999999994 + ], + [ + 628, + 260 + ], + [ + 668, + 358 + ], + [ + 673, + 373.00000000000006 + ], + [ + 669, + 417.00000000000006 + ], + [ + 754, + 331 + ], + [ + 684, + 318 + ], + [ + 660, + 361 + ], + [ + 652, + 361 + ], + [ + 689, + 322 + ], + [ + 748, + 325 + ] + ], + "image": "d02629.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 706, + 321 + ], + "scale": 0.9849000000000001, + "joints": [ + [ + 810, + 391 + ], + [ + 704, + 326 + ], + [ + 632, + 247 + ], + [ + 632, + 248 + ], + [ + 702, + 330 + ], + [ + 809, + 390 + ], + [ + 629, + 255.00000000000003 + ], + [ + 666, + 356 + ], + [ + 667, + 373.00000000000006 + ], + [ + 664, + 417.00000000000006 + ], + [ + 755, + 334 + ], + [ + 687, + 332 + ], + [ + 667, + 362 + ], + [ + 655, + 365 + ], + [ + 692, + 319 + ], + [ + 753, + 330 + ] + ], + "image": "d02630.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 683, + 334 + ], + "scale": 1.2149, + "joints": [ + [ + 764, + 437.99999999999994 + ], + [ + 698, + 345 + ], + [ + 657, + 240 + ], + [ + 658, + 241.99999999999997 + ], + [ + 696, + 345 + ], + [ + 761, + 435 + ], + [ + 650, + 244 + ], + [ + 640, + 354 + ], + [ + 639, + 369.99999999999994 + ], + [ + 613, + 401 + ], + [ + 736, + 360 + ], + [ + 676, + 316 + ], + [ + 631, + 343 + ], + [ + 631, + 348 + ], + [ + 681, + 320 + ], + [ + 735, + 353 + ] + ], + "image": "d02631.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 641.5, + 351.5 + ], + "scale": 1.3599, + "joints": [ + [ + 690, + 462.00000000000006 + ], + [ + 682, + 349 + ], + [ + 690, + 236 + ], + [ + 687, + 238 + ], + [ + 679, + 350 + ], + [ + 686, + 462.00000000000006 + ], + [ + 682, + 237 + ], + [ + 624, + 329 + ], + [ + 616, + 341 + ], + [ + 566, + 367 + ], + [ + 706, + 376 + ], + [ + 670, + 319 + ], + [ + 614, + 322 + ], + [ + 614, + 328 + ], + [ + 682, + 328 + ], + [ + 705, + 374.00000000000006 + ] + ], + "image": "d02632.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 638, + 348.5 + ], + "scale": 1.3499, + "joints": [ + [ + 656, + 460.99999999999994 + ], + [ + 669, + 348 + ], + [ + 694, + 241.99999999999997 + ], + [ + 694, + 243.00000000000003 + ], + [ + 672, + 349 + ], + [ + 651, + 464.00000000000006 + ], + [ + 686, + 241.99999999999997 + ], + [ + 622, + 315 + ], + [ + 608, + 329 + ], + [ + 555, + 343 + ], + [ + 691, + 382 + ], + [ + 670, + 320 + ], + [ + 611, + 308 + ], + [ + 614, + 313 + ], + [ + 673, + 328 + ], + [ + 690, + 370.99999999999994 + ] + ], + "image": "d02633.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 640.5, + 348.5 + ], + "scale": 1.3299, + "joints": [ + [ + 652, + 465 + ], + [ + 668, + 345 + ], + [ + 693, + 245 + ], + [ + 692, + 244 + ], + [ + 670, + 346 + ], + [ + 655, + 467 + ], + [ + 690, + 241.99999999999997 + ], + [ + 624, + 306 + ], + [ + 606, + 328 + ], + [ + 553, + 344 + ], + [ + 690, + 386 + ], + [ + 670, + 315 + ], + [ + 610, + 309 + ], + [ + 610, + 312 + ], + [ + 676, + 332 + ], + [ + 689, + 384 + ] + ], + "image": "d02634.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 636, + 338 + ], + "scale": 1.2549000000000001, + "joints": [ + [ + 594, + 434 + ], + [ + 645, + 343 + ], + [ + 705, + 263 + ], + [ + 708, + 264 + ], + [ + 647, + 343 + ], + [ + 591, + 434 + ], + [ + 697, + 258 + ], + [ + 615, + 283 + ], + [ + 588, + 288 + ], + [ + 538, + 289 + ], + [ + 645, + 372.00000000000006 + ], + [ + 651, + 299 + ], + [ + 602, + 276 + ], + [ + 604, + 284 + ], + [ + 661, + 331 + ], + [ + 653, + 386 + ] + ], + "image": "d02635.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 629.5, + 329.5 + ], + "scale": 1.2499, + "joints": [ + [ + 566, + 430 + ], + [ + 640, + 338 + ], + [ + 705, + 269 + ], + [ + 711, + 272 + ], + [ + 642, + 338 + ], + [ + 563, + 433 + ], + [ + 702, + 265 + ], + [ + 617, + 265 + ], + [ + 590, + 275 + ], + [ + 537, + 256 + ], + [ + 632, + 352 + ], + [ + 649, + 296 + ], + [ + 599, + 254.00000000000003 + ], + [ + 609, + 263 + ], + [ + 651, + 323 + ], + [ + 639, + 380 + ] + ], + "image": "d02636.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625.5, + 322 + ], + "scale": 1.1449, + "joints": [ + [ + 537, + 418.00000000000006 + ], + [ + 634, + 338 + ], + [ + 708, + 279 + ], + [ + 711, + 279 + ], + [ + 637, + 339 + ], + [ + 537, + 420 + ], + [ + 704, + 274 + ], + [ + 620, + 256 + ], + [ + 596, + 256 + ], + [ + 549, + 232.00000000000003 + ], + [ + 626, + 360 + ], + [ + 645, + 297 + ], + [ + 613, + 250 + ], + [ + 614, + 260 + ], + [ + 645, + 313 + ], + [ + 626, + 368.99999999999994 + ] + ], + "image": "d02637.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612.5, + 306 + ], + "scale": 1.1349, + "joints": [ + [ + 520, + 399 + ], + [ + 617, + 337 + ], + [ + 705, + 289 + ], + [ + 707, + 291 + ], + [ + 615, + 338 + ], + [ + 518, + 400 + ], + [ + 704, + 284 + ], + [ + 627, + 239 + ], + [ + 601, + 229.99999999999997 + ], + [ + 561, + 203 + ], + [ + 604, + 335 + ], + [ + 641, + 280 + ], + [ + 621, + 209.00000000000003 + ], + [ + 621, + 230.99999999999997 + ], + [ + 642, + 308 + ], + [ + 609, + 355 + ] + ], + "image": "d02638.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612, + 305.5 + ], + "scale": 1.1199000000000001, + "joints": [ + [ + 528, + 392.99999999999994 + ], + [ + 621, + 336 + ], + [ + 703, + 287 + ], + [ + 705, + 288 + ], + [ + 620, + 340 + ], + [ + 530, + 395.00000000000006 + ], + [ + 704, + 284 + ], + [ + 624, + 240 + ], + [ + 597, + 230.99999999999997 + ], + [ + 560, + 206 + ], + [ + 607, + 338 + ], + [ + 642, + 282 + ], + [ + 618, + 220.00000000000003 + ], + [ + 623, + 230.99999999999997 + ], + [ + 641, + 306 + ], + [ + 617, + 361 + ] + ], + "image": "d02639.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603, + 287 + ], + "scale": 1.1849, + "joints": [ + [ + 505, + 388 + ], + [ + 622, + 338 + ], + [ + 693, + 299 + ], + [ + 699, + 300 + ], + [ + 620, + 343 + ], + [ + 506, + 391 + ], + [ + 698, + 295 + ], + [ + 628, + 223 + ], + [ + 612, + 218 + ], + [ + 573, + 180 + ], + [ + 574, + 321 + ], + [ + 627, + 283 + ], + [ + 631, + 214 + ], + [ + 636, + 224 + ], + [ + 642, + 300 + ], + [ + 600, + 348 + ] + ], + "image": "d02640.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 601, + 273.5 + ], + "scale": 1.1899000000000002, + "joints": [ + [ + 489, + 381 + ], + [ + 606, + 343 + ], + [ + 684, + 302 + ], + [ + 697, + 309 + ], + [ + 606, + 340 + ], + [ + 488, + 380 + ], + [ + 690, + 301 + ], + [ + 646, + 223 + ], + [ + 627, + 205 + ], + [ + 600, + 160 + ], + [ + 563, + 281 + ], + [ + 626, + 267 + ], + [ + 645, + 203 + ], + [ + 647, + 214 + ], + [ + 641, + 282 + ], + [ + 578, + 312 + ] + ], + "image": "d02641.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619, + 425.5 + ], + "scale": 2.3399, + "joints": [ + [ + 660, + 640 + ], + [ + 641, + 545 + ], + [ + 623, + 455 + ], + [ + 622, + 456 + ], + [ + 640, + 547 + ], + [ + 659, + 642 + ], + [ + 623, + 453 + ], + [ + 605, + 342 + ], + [ + 601, + 320 + ], + [ + 600, + 274 + ], + [ + 626, + 214 + ], + [ + 626, + 276 + ], + [ + 628, + 317 + ], + [ + 627, + 330 + ], + [ + 611, + 309 + ], + [ + 593, + 276 + ] + ], + "image": "d02642.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 620, + 422.5 + ], + "scale": 2.3499, + "joints": [ + [ + 655, + 640 + ], + [ + 637, + 537 + ], + [ + 623, + 452 + ], + [ + 622, + 455 + ], + [ + 634, + 537 + ], + [ + 656, + 641 + ], + [ + 621, + 450 + ], + [ + 608, + 337 + ], + [ + 603, + 316 + ], + [ + 594, + 273 + ], + [ + 626, + 218.99999999999997 + ], + [ + 627, + 276 + ], + [ + 627, + 311 + ], + [ + 625, + 325 + ], + [ + 607, + 302 + ], + [ + 591, + 271 + ] + ], + "image": "d02643.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619.5, + 412.5 + ], + "scale": 2.3799, + "joints": [ + [ + 657, + 636 + ], + [ + 639, + 539 + ], + [ + 623, + 445 + ], + [ + 622, + 449 + ], + [ + 639, + 539 + ], + [ + 654, + 636 + ], + [ + 620, + 440.00000000000006 + ], + [ + 608, + 324 + ], + [ + 601, + 306 + ], + [ + 589, + 264 + ], + [ + 630, + 207 + ], + [ + 630, + 258 + ], + [ + 627, + 304 + ], + [ + 625, + 318 + ], + [ + 610, + 291 + ], + [ + 598, + 255.00000000000003 + ] + ], + "image": "d02644.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 621, + 399 + ], + "scale": 2.4549000000000003, + "joints": [ + [ + 654, + 625 + ], + [ + 637, + 525 + ], + [ + 622, + 440.00000000000006 + ], + [ + 621, + 442.00000000000006 + ], + [ + 635, + 528 + ], + [ + 655, + 628 + ], + [ + 621, + 435 + ], + [ + 607, + 311 + ], + [ + 598, + 295 + ], + [ + 587, + 262 + ], + [ + 630, + 192 + ], + [ + 629, + 252 + ], + [ + 629, + 298 + ], + [ + 624, + 315 + ], + [ + 609, + 275 + ], + [ + 603, + 220.00000000000003 + ] + ], + "image": "d02645.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619.5, + 386.5 + ], + "scale": 2.4799, + "joints": [ + [ + 650, + 619 + ], + [ + 638, + 505.99999999999994 + ], + [ + 625, + 426 + ], + [ + 625, + 426 + ], + [ + 636, + 508.00000000000006 + ], + [ + 650, + 619 + ], + [ + 624, + 423 + ], + [ + 608, + 309 + ], + [ + 600, + 287 + ], + [ + 589, + 252.99999999999997 + ], + [ + 630, + 174 + ], + [ + 628, + 238 + ], + [ + 627, + 292 + ], + [ + 625, + 301 + ], + [ + 611, + 252.99999999999997 + ], + [ + 604, + 192 + ] + ], + "image": "d02646.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618.5, + 377 + ], + "scale": 2.5049, + "joints": [ + [ + 653, + 603 + ], + [ + 637, + 488 + ], + [ + 626, + 412 + ], + [ + 625, + 414.99999999999994 + ], + [ + 637, + 490 + ], + [ + 653, + 604 + ], + [ + 623, + 407 + ], + [ + 607, + 291 + ], + [ + 602, + 274 + ], + [ + 591, + 237 + ], + [ + 631, + 154 + ], + [ + 630, + 225 + ], + [ + 629, + 280 + ], + [ + 628, + 283 + ], + [ + 611, + 229 + ], + [ + 605, + 164 + ] + ], + "image": "d02647.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 616.5, + 362 + ], + "scale": 2.5449, + "joints": [ + [ + 647, + 593 + ], + [ + 636, + 482.99999999999994 + ], + [ + 623, + 399 + ], + [ + 624, + 401 + ], + [ + 633, + 481 + ], + [ + 645, + 595 + ], + [ + 621, + 395.00000000000006 + ], + [ + 606, + 270 + ], + [ + 600, + 255.00000000000003 + ], + [ + 594, + 218.99999999999997 + ], + [ + 631, + 139 + ], + [ + 628, + 206 + ], + [ + 628, + 247 + ], + [ + 627, + 256 + ], + [ + 613, + 207.99999999999997 + ], + [ + 609, + 143 + ] + ], + "image": "d02648.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 615, + 339.5 + ], + "scale": 2.5799000000000003, + "joints": [ + [ + 639, + 567 + ], + [ + 632, + 453 + ], + [ + 626, + 368 + ], + [ + 624, + 372.00000000000006 + ], + [ + 632, + 455 + ], + [ + 639, + 568 + ], + [ + 626, + 370.99999999999994 + ], + [ + 607, + 241.99999999999997 + ], + [ + 603, + 229.99999999999997 + ], + [ + 590, + 192 + ], + [ + 624, + 100 + ], + [ + 629, + 175 + ], + [ + 630, + 226 + ], + [ + 630, + 232.00000000000003 + ], + [ + 613, + 177 + ], + [ + 610, + 109 + ] + ], + "image": "d02649.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619, + 314.5 + ], + "scale": 2.6199, + "joints": [ + [ + 636, + 541 + ], + [ + 632, + 432 + ], + [ + 631, + 345 + ], + [ + 632, + 348 + ], + [ + 629, + 432 + ], + [ + 631, + 543 + ], + [ + 631, + 348 + ], + [ + 607, + 220.00000000000003 + ], + [ + 601, + 213 + ], + [ + 587, + 176 + ], + [ + 619, + 81 + ], + [ + 626, + 155 + ], + [ + 633, + 206 + ], + [ + 632, + 213 + ], + [ + 614, + 160 + ], + [ + 605, + 87 + ] + ], + "image": "d02650.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618, + 306 + ], + "scale": 2.5849, + "joints": [ + [ + 632, + 536 + ], + [ + 627, + 428 + ], + [ + 630, + 338 + ], + [ + 633, + 340 + ], + [ + 625, + 428 + ], + [ + 629, + 541 + ], + [ + 633, + 338 + ], + [ + 608, + 218.99999999999997 + ], + [ + 603, + 213 + ], + [ + 590, + 171 + ], + [ + 611, + 74 + ], + [ + 622, + 148 + ], + [ + 635, + 199 + ], + [ + 632, + 206 + ], + [ + 610, + 154 + ], + [ + 603, + 89 + ] + ], + "image": "d02651.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 617.5, + 309 + ], + "scale": 2.5549, + "joints": [ + [ + 631, + 537 + ], + [ + 625, + 423 + ], + [ + 640, + 339 + ], + [ + 641, + 339 + ], + [ + 624, + 427 + ], + [ + 630, + 542 + ], + [ + 641, + 338 + ], + [ + 615, + 221.00000000000003 + ], + [ + 603, + 209.00000000000003 + ], + [ + 585, + 176 + ], + [ + 609, + 77 + ], + [ + 621, + 143 + ], + [ + 631, + 198.00000000000003 + ], + [ + 629, + 211 + ], + [ + 607, + 162 + ], + [ + 598, + 100 + ] + ], + "image": "d02652.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 620, + 334.5 + ], + "scale": 2.3399, + "joints": [ + [ + 636, + 550 + ], + [ + 614, + 447 + ], + [ + 641, + 356 + ], + [ + 643, + 357 + ], + [ + 614, + 448 + ], + [ + 635, + 549 + ], + [ + 643, + 357 + ], + [ + 610, + 243.00000000000003 + ], + [ + 600, + 233 + ], + [ + 582, + 198.00000000000003 + ], + [ + 620, + 112 + ], + [ + 624, + 177 + ], + [ + 629, + 236 + ], + [ + 629, + 240 + ], + [ + 611, + 192 + ], + [ + 604, + 134 + ] + ], + "image": "d02653.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618, + 339 + ], + "scale": 2.2949, + "joints": [ + [ + 633, + 550 + ], + [ + 606, + 450 + ], + [ + 648, + 369.99999999999994 + ], + [ + 649, + 369.99999999999994 + ], + [ + 606, + 449 + ], + [ + 634, + 553 + ], + [ + 648, + 367 + ], + [ + 603, + 258 + ], + [ + 595, + 246 + ], + [ + 574, + 209.00000000000003 + ], + [ + 633, + 122.00000000000001 + ], + [ + 627, + 194 + ], + [ + 622, + 243.00000000000003 + ], + [ + 623, + 248 + ], + [ + 616, + 207.99999999999997 + ], + [ + 612, + 163 + ] + ], + "image": "d02654.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 616.5, + 357 + ], + "scale": 2.0549, + "joints": [ + [ + 639, + 544 + ], + [ + 603, + 458.99999999999994 + ], + [ + 652, + 384 + ], + [ + 655, + 384 + ], + [ + 597, + 460.99999999999994 + ], + [ + 638, + 546 + ], + [ + 651, + 379 + ], + [ + 601, + 275 + ], + [ + 588, + 263 + ], + [ + 568, + 232.00000000000003 + ], + [ + 658, + 159 + ], + [ + 639, + 211 + ], + [ + 610, + 260 + ], + [ + 611, + 269 + ], + [ + 627, + 240.99999999999997 + ], + [ + 634, + 207 + ] + ], + "image": "d02655.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 614, + 356.5 + ], + "scale": 2.0899, + "joints": [ + [ + 636, + 545 + ], + [ + 600, + 454 + ], + [ + 650, + 382 + ], + [ + 653, + 383 + ], + [ + 598, + 458 + ], + [ + 634, + 546 + ], + [ + 649, + 378 + ], + [ + 595, + 270 + ], + [ + 585, + 261 + ], + [ + 564, + 232.00000000000003 + ], + [ + 656, + 164 + ], + [ + 630, + 221.00000000000003 + ], + [ + 605, + 260 + ], + [ + 609, + 268 + ], + [ + 625, + 244 + ], + [ + 637, + 207 + ] + ], + "image": "d02656.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619.5, + 390.5 + ], + "scale": 1.6599000000000002, + "joints": [ + [ + 637, + 543 + ], + [ + 597, + 454 + ], + [ + 653, + 389 + ], + [ + 657, + 391.99999999999994 + ], + [ + 596, + 456 + ], + [ + 638, + 544 + ], + [ + 656, + 391 + ], + [ + 595, + 301 + ], + [ + 580, + 288 + ], + [ + 555, + 259 + ], + [ + 676, + 237 + ], + [ + 633, + 269 + ], + [ + 604, + 289 + ], + [ + 603, + 294 + ], + [ + 638, + 276 + ], + [ + 665, + 257 + ] + ], + "image": "d02657.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 624.5, + 418 + ], + "scale": 1.3849, + "joints": [ + [ + 641, + 542 + ], + [ + 589, + 448 + ], + [ + 649, + 410 + ], + [ + 655, + 412 + ], + [ + 587, + 454 + ], + [ + 635, + 544 + ], + [ + 653, + 405 + ], + [ + 580, + 326 + ], + [ + 562, + 314 + ], + [ + 556, + 285 + ], + [ + 687, + 299 + ], + [ + 632, + 316 + ], + [ + 596, + 319 + ], + [ + 595, + 334 + ], + [ + 645, + 325 + ], + [ + 687, + 309 + ] + ], + "image": "d02658.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 620, + 429 + ], + "scale": 1.2949000000000002, + "joints": [ + [ + 630, + 539 + ], + [ + 587, + 449 + ], + [ + 650, + 422 + ], + [ + 655, + 429 + ], + [ + 584, + 454 + ], + [ + 630, + 543 + ], + [ + 649, + 418.00000000000006 + ], + [ + 581, + 359 + ], + [ + 563, + 339 + ], + [ + 557, + 308 + ], + [ + 667, + 401 + ], + [ + 627, + 378 + ], + [ + 589, + 349 + ], + [ + 599, + 376 + ], + [ + 634, + 398 + ], + [ + 688, + 427 + ] + ], + "image": "d02659.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 611, + 436.5 + ], + "scale": 1.3199, + "joints": [ + [ + 631, + 555 + ], + [ + 586, + 459.99999999999994 + ], + [ + 658, + 429 + ], + [ + 664, + 429 + ], + [ + 584, + 467 + ], + [ + 630, + 557 + ], + [ + 660, + 430 + ], + [ + 581, + 374.00000000000006 + ], + [ + 562, + 359 + ], + [ + 555, + 319 + ], + [ + 647, + 468 + ], + [ + 611, + 415.99999999999994 + ], + [ + 586, + 362 + ], + [ + 592, + 383 + ], + [ + 614, + 436.99999999999994 + ], + [ + 648, + 491 + ] + ], + "image": "d02660.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 608.5, + 437.5 + ], + "scale": 1.2899, + "joints": [ + [ + 630, + 548 + ], + [ + 583, + 464.00000000000006 + ], + [ + 655, + 434 + ], + [ + 662, + 435 + ], + [ + 582, + 467 + ], + [ + 632, + 552 + ], + [ + 660, + 431 + ], + [ + 585, + 373.00000000000006 + ], + [ + 562, + 354 + ], + [ + 558, + 317 + ], + [ + 646, + 472 + ], + [ + 611, + 419.00000000000006 + ], + [ + 588, + 369.99999999999994 + ], + [ + 588, + 380 + ], + [ + 609, + 431 + ], + [ + 642, + 478 + ] + ], + "image": "d02661.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 449.5 + ], + "scale": 1.3799000000000001, + "joints": [ + [ + 626, + 572 + ], + [ + 593, + 473 + ], + [ + 656, + 434 + ], + [ + 661, + 434 + ], + [ + 590, + 477 + ], + [ + 623, + 574 + ], + [ + 660, + 429 + ], + [ + 580, + 376 + ], + [ + 560, + 352 + ], + [ + 553, + 315 + ], + [ + 557, + 492 + ], + [ + 578, + 436.99999999999994 + ], + [ + 584, + 368.99999999999994 + ], + [ + 585, + 386 + ], + [ + 576, + 441.00000000000006 + ], + [ + 557, + 491 + ] + ], + "image": "d02662.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 578.5, + 455.5 + ], + "scale": 1.4899, + "joints": [ + [ + 614, + 587 + ], + [ + 589, + 487.00000000000006 + ], + [ + 657, + 432 + ], + [ + 662, + 433 + ], + [ + 585, + 490 + ], + [ + 617, + 588 + ], + [ + 654, + 426 + ], + [ + 578, + 368.99999999999994 + ], + [ + 563, + 350 + ], + [ + 559, + 308 + ], + [ + 482, + 448 + ], + [ + 541, + 409 + ], + [ + 577, + 363 + ], + [ + 575, + 376 + ], + [ + 538, + 413.99999999999994 + ], + [ + 482, + 452 + ] + ], + "image": "d02663.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 566, + 451 + ], + "scale": 1.5849000000000002, + "joints": [ + [ + 604, + 584 + ], + [ + 590, + 492 + ], + [ + 655, + 440.00000000000006 + ], + [ + 656, + 441.00000000000006 + ], + [ + 588, + 493 + ], + [ + 607, + 590 + ], + [ + 652, + 433 + ], + [ + 579, + 356 + ], + [ + 569, + 343 + ], + [ + 571, + 297 + ], + [ + 463, + 339 + ], + [ + 520, + 355 + ], + [ + 583, + 350 + ], + [ + 580, + 358 + ], + [ + 521, + 363 + ], + [ + 467, + 349 + ] + ], + "image": "d02664.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569.5, + 421.5 + ], + "scale": 1.8699000000000001, + "joints": [ + [ + 601, + 593 + ], + [ + 581, + 494 + ], + [ + 645, + 432 + ], + [ + 647, + 436 + ], + [ + 580, + 496 + ], + [ + 600, + 597 + ], + [ + 644, + 429 + ], + [ + 583, + 338 + ], + [ + 573, + 320 + ], + [ + 574, + 287 + ], + [ + 486, + 258 + ], + [ + 536, + 298 + ], + [ + 589, + 330 + ], + [ + 590, + 336 + ], + [ + 530, + 311 + ], + [ + 485, + 262 + ] + ], + "image": "d02665.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 598, + 389.5 + ], + "scale": 2.1499, + "joints": [ + [ + 601, + 588 + ], + [ + 583, + 494 + ], + [ + 636, + 421 + ], + [ + 639, + 424 + ], + [ + 578, + 496 + ], + [ + 597, + 592 + ], + [ + 637, + 417.00000000000006 + ], + [ + 595, + 320 + ], + [ + 591, + 301 + ], + [ + 600, + 264 + ], + [ + 545, + 201 + ], + [ + 566, + 277 + ], + [ + 603, + 312 + ], + [ + 604, + 314 + ], + [ + 562, + 280 + ], + [ + 538, + 210.00000000000003 + ] + ], + "image": "d02666.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 596, + 392.5 + ], + "scale": 2.1099, + "joints": [ + [ + 601, + 592 + ], + [ + 584, + 495 + ], + [ + 638, + 420 + ], + [ + 641, + 420 + ], + [ + 584, + 497 + ], + [ + 602, + 593 + ], + [ + 638, + 417.00000000000006 + ], + [ + 597, + 316 + ], + [ + 591, + 294 + ], + [ + 596, + 257 + ], + [ + 545, + 198.00000000000003 + ], + [ + 562, + 263 + ], + [ + 602, + 312 + ], + [ + 606, + 313 + ], + [ + 558, + 268 + ], + [ + 539, + 200 + ] + ], + "image": "d02667.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612.5, + 378.5 + ], + "scale": 2.2499000000000002, + "joints": [ + [ + 606, + 594 + ], + [ + 591, + 485.00000000000006 + ], + [ + 630, + 396.00000000000006 + ], + [ + 630, + 396.00000000000006 + ], + [ + 591, + 488 + ], + [ + 603, + 595 + ], + [ + 630, + 395.00000000000006 + ], + [ + 611, + 290 + ], + [ + 612, + 270 + ], + [ + 631, + 237 + ], + [ + 595, + 173 + ], + [ + 604, + 232.00000000000003 + ], + [ + 623, + 291 + ], + [ + 622, + 296 + ], + [ + 599, + 237 + ], + [ + 591, + 176 + ] + ], + "image": "d02668.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 638, + 366 + ], + "scale": 2.2549, + "joints": [ + [ + 607, + 575 + ], + [ + 601, + 474 + ], + [ + 623, + 381 + ], + [ + 624, + 381 + ], + [ + 603, + 475 + ], + [ + 606, + 575 + ], + [ + 623, + 377 + ], + [ + 630, + 268 + ], + [ + 634, + 252 + ], + [ + 660, + 218 + ], + [ + 654, + 155 + ], + [ + 648, + 202 + ], + [ + 641, + 262 + ], + [ + 642, + 269 + ], + [ + 640, + 207 + ], + [ + 656, + 156 + ] + ], + "image": "d02669.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 666.5, + 349 + ], + "scale": 2.1349, + "joints": [ + [ + 605, + 550 + ], + [ + 606, + 435 + ], + [ + 615, + 352 + ], + [ + 615, + 353 + ], + [ + 607, + 437.99999999999994 + ], + [ + 610, + 550 + ], + [ + 617, + 351 + ], + [ + 656, + 241.99999999999997 + ], + [ + 669, + 222 + ], + [ + 699, + 207.99999999999997 + ], + [ + 740, + 148 + ], + [ + 696, + 175 + ], + [ + 670, + 238 + ], + [ + 668, + 247 + ], + [ + 673, + 195 + ], + [ + 708, + 178 + ] + ], + "image": "d02670.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 696, + 342.5 + ], + "scale": 1.8899000000000001, + "joints": [ + [ + 613, + 508.00000000000006 + ], + [ + 602, + 410 + ], + [ + 615, + 316 + ], + [ + 616, + 319 + ], + [ + 603, + 412 + ], + [ + 615, + 512 + ], + [ + 616, + 314 + ], + [ + 688, + 207.99999999999997 + ], + [ + 703, + 198.00000000000003 + ], + [ + 747, + 193 + ], + [ + 788, + 165 + ], + [ + 742, + 177 + ], + [ + 691, + 222 + ], + [ + 691, + 227 + ], + [ + 739, + 189 + ], + [ + 781, + 168 + ] + ], + "image": "d02671.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590, + 300 + ], + "scale": 0.8249000000000001, + "joints": [ + [ + 566, + 376 + ], + [ + 576, + 313 + ], + [ + 566, + 235 + ], + [ + 568, + 235 + ], + [ + 575, + 314 + ], + [ + 569, + 377 + ], + [ + 574, + 235 + ], + [ + 600, + 293 + ], + [ + 606, + 314 + ], + [ + 630, + 342 + ], + [ + 559, + 323 + ], + [ + 555, + 299 + ], + [ + 602, + 302 + ], + [ + 602, + 310 + ], + [ + 567, + 336 + ], + [ + 560, + 327 + ] + ], + "image": "d02672.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 711.5, + 332 + ], + "scale": 1.6449, + "joints": [ + [ + 606, + 471 + ], + [ + 596, + 379 + ], + [ + 618, + 280 + ], + [ + 621, + 283 + ], + [ + 594, + 378 + ], + [ + 603, + 472 + ], + [ + 617, + 282 + ], + [ + 723, + 205 + ], + [ + 747, + 196.99999999999997 + ], + [ + 776, + 189 + ], + [ + 833, + 207.99999999999997 + ], + [ + 774, + 206 + ], + [ + 734, + 213 + ], + [ + 738, + 214 + ], + [ + 775, + 203 + ], + [ + 832, + 207 + ] + ], + "image": "d02673.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 711, + 317.5 + ], + "scale": 1.3499, + "joints": [ + [ + 589, + 434 + ], + [ + 583, + 337 + ], + [ + 623, + 250 + ], + [ + 626, + 252.99999999999997 + ], + [ + 583, + 338 + ], + [ + 589, + 438.99999999999994 + ], + [ + 625, + 249 + ], + [ + 752, + 212 + ], + [ + 775, + 212 + ], + [ + 808, + 204 + ], + [ + 842, + 246 + ], + [ + 798, + 233 + ], + [ + 756, + 220.00000000000003 + ], + [ + 756, + 224 + ], + [ + 799, + 234 + ], + [ + 841, + 241.99999999999997 + ] + ], + "image": "d02674.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 706.5, + 302.5 + ], + "scale": 1.0699, + "joints": [ + [ + 559, + 403 + ], + [ + 579, + 296 + ], + [ + 650, + 228 + ], + [ + 649, + 229 + ], + [ + 581, + 296 + ], + [ + 557, + 404 + ], + [ + 653, + 227 + ], + [ + 769, + 228 + ], + [ + 795, + 236 + ], + [ + 828, + 234 + ], + [ + 843, + 285 + ], + [ + 805, + 264 + ], + [ + 777, + 244 + ], + [ + 776, + 251 + ], + [ + 805, + 278 + ], + [ + 844, + 286 + ] + ], + "image": "d02675.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 687.5, + 283 + ], + "scale": 0.7949, + "joints": [ + [ + 528, + 347 + ], + [ + 589, + 268 + ], + [ + 667, + 224 + ], + [ + 669, + 228 + ], + [ + 588, + 271 + ], + [ + 525, + 348 + ], + [ + 668, + 223 + ], + [ + 779, + 249 + ], + [ + 800, + 262 + ], + [ + 840, + 269 + ], + [ + 856, + 342 + ], + [ + 828, + 297 + ], + [ + 790, + 259 + ], + [ + 785, + 269 + ], + [ + 813, + 318 + ], + [ + 850, + 332 + ] + ], + "image": "d02676.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 681, + 309.5 + ], + "scale": 0.9699000000000001, + "joints": [ + [ + 514, + 291 + ], + [ + 605, + 244 + ], + [ + 690, + 229 + ], + [ + 690, + 232.00000000000003 + ], + [ + 605, + 246 + ], + [ + 511, + 292 + ], + [ + 692, + 230.99999999999997 + ], + [ + 800, + 280 + ], + [ + 816, + 298 + ], + [ + 852, + 298 + ], + [ + 854, + 389 + ], + [ + 835, + 333 + ], + [ + 798, + 288 + ], + [ + 794, + 294 + ], + [ + 812, + 358 + ], + [ + 850, + 372.00000000000006 + ] + ], + "image": "d02677.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 677.5, + 324 + ], + "scale": 1.1849, + "joints": [ + [ + 519, + 220.00000000000003 + ], + [ + 636, + 227 + ], + [ + 717, + 240.99999999999997 + ], + [ + 718, + 243.00000000000003 + ], + [ + 637, + 227 + ], + [ + 517, + 225 + ], + [ + 724, + 249 + ], + [ + 802, + 307 + ], + [ + 817, + 328 + ], + [ + 863, + 337 + ], + [ + 845, + 428 + ], + [ + 835, + 368 + ], + [ + 803, + 321 + ], + [ + 800, + 327 + ], + [ + 809, + 390 + ], + [ + 854, + 422 + ] + ], + "image": "d02678.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 697.5, + 304 + ], + "scale": 1.5949, + "joints": [ + [ + 557, + 167 + ], + [ + 656, + 216 + ], + [ + 734, + 260 + ], + [ + 731, + 264 + ], + [ + 655, + 218.99999999999997 + ], + [ + 556, + 171 + ], + [ + 737, + 262 + ], + [ + 800, + 333 + ], + [ + 820, + 361 + ], + [ + 863, + 369.99999999999994 + ], + [ + 842, + 453 + ], + [ + 827, + 396.00000000000006 + ], + [ + 802, + 343 + ], + [ + 799, + 351 + ], + [ + 793, + 415.99999999999994 + ], + [ + 835, + 435 + ] + ], + "image": "d02679.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 722.5, + 300 + ], + "scale": 1.9449, + "joints": [ + [ + 609, + 137 + ], + [ + 684, + 212 + ], + [ + 735, + 277 + ], + [ + 737, + 280 + ], + [ + 680, + 211 + ], + [ + 607, + 139 + ], + [ + 741, + 285 + ], + [ + 797, + 366 + ], + [ + 808, + 383 + ], + [ + 850, + 406 + ], + [ + 826, + 478 + ], + [ + 815, + 426 + ], + [ + 797, + 377 + ], + [ + 793, + 385 + ], + [ + 783, + 437.99999999999994 + ], + [ + 819, + 474 + ] + ], + "image": "d02680.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 750, + 297 + ], + "scale": 2.2449, + "joints": [ + [ + 671, + 109 + ], + [ + 720, + 212 + ], + [ + 751, + 291 + ], + [ + 748, + 293 + ], + [ + 720, + 209.00000000000003 + ], + [ + 668, + 109.99999999999999 + ], + [ + 751, + 295 + ], + [ + 787, + 393.99999999999994 + ], + [ + 798, + 413 + ], + [ + 839, + 436 + ], + [ + 805, + 508.00000000000006 + ], + [ + 809, + 462.00000000000006 + ], + [ + 792, + 399 + ], + [ + 783, + 408 + ], + [ + 767, + 457 + ], + [ + 800, + 505.99999999999994 + ] + ], + "image": "d02681.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 712, + 332 + ], + "scale": 1.6149, + "joints": [ + [ + 603, + 470 + ], + [ + 596, + 370.99999999999994 + ], + [ + 620, + 287 + ], + [ + 620, + 288 + ], + [ + 595, + 375 + ], + [ + 603, + 469 + ], + [ + 620, + 288 + ], + [ + 721, + 203 + ], + [ + 747, + 194 + ], + [ + 771, + 183 + ], + [ + 839, + 211 + ], + [ + 785, + 205 + ], + [ + 738, + 207.99999999999997 + ], + [ + 737, + 213 + ], + [ + 786, + 202 + ], + [ + 835, + 207.99999999999997 + ] + ], + "image": "d02682.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 816.5, + 328 + ], + "scale": 1.8749, + "joints": [ + [ + 889, + 173 + ], + [ + 828, + 256 + ], + [ + 780, + 325 + ], + [ + 765, + 326 + ], + [ + 819, + 254.00000000000003 + ], + [ + 885, + 169 + ], + [ + 769, + 334 + ], + [ + 748, + 413 + ], + [ + 744, + 427 + ], + [ + 760, + 480 + ], + [ + 776, + 467 + ], + [ + 775, + 432 + ], + [ + 758, + 401 + ], + [ + 718, + 423 + ], + [ + 737, + 482.99999999999994 + ], + [ + 736, + 513 + ] + ], + "image": "d02683.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 844.5, + 368.5 + ], + "scale": 0.8999000000000001, + "joints": [ + [ + 973, + 319 + ], + [ + 857, + 319 + ], + [ + 771, + 305 + ], + [ + 770, + 309 + ], + [ + 859, + 319 + ], + [ + 975, + 330 + ], + [ + 764, + 316 + ], + [ + 726, + 391 + ], + [ + 721, + 406 + ], + [ + 713, + 447 + ], + [ + 810, + 340 + ], + [ + 759, + 354 + ], + [ + 731, + 382 + ], + [ + 709, + 390 + ], + [ + 718, + 364 + ], + [ + 785, + 392.99999999999994 + ] + ], + "image": "d02684.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 826.5, + 365.5 + ], + "scale": 0.8999000000000001, + "joints": [ + [ + 959, + 414.99999999999994 + ], + [ + 864, + 355 + ], + [ + 784, + 298 + ], + [ + 782, + 303 + ], + [ + 865, + 359 + ], + [ + 953, + 433 + ], + [ + 776, + 305 + ], + [ + 716, + 368.99999999999994 + ], + [ + 713, + 382 + ], + [ + 697, + 421 + ], + [ + 846, + 322 + ], + [ + 779, + 341 + ], + [ + 745, + 357 + ], + [ + 707, + 366 + ], + [ + 766, + 362 + ], + [ + 817, + 373.00000000000006 + ] + ], + "image": "d02685.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 781, + 394 + ], + "scale": 1.1749, + "joints": [ + [ + 882, + 488 + ], + [ + 836, + 400 + ], + [ + 798, + 299 + ], + [ + 796, + 301 + ], + [ + 836, + 405 + ], + [ + 880, + 494 + ], + [ + 792, + 301 + ], + [ + 723, + 346 + ], + [ + 707, + 363 + ], + [ + 677, + 391.99999999999994 + ], + [ + 852, + 392.99999999999994 + ], + [ + 787, + 347 + ], + [ + 729, + 340 + ], + [ + 732, + 344 + ], + [ + 788, + 359 + ], + [ + 842, + 392.99999999999994 + ] + ], + "image": "d02686.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 757, + 394.5 + ], + "scale": 1.1299000000000001, + "joints": [ + [ + 695, + 483.99999999999994 + ], + [ + 756, + 411 + ], + [ + 823, + 349 + ], + [ + 825, + 352 + ], + [ + 756, + 409 + ], + [ + 696, + 486.00000000000006 + ], + [ + 822, + 347 + ], + [ + 741, + 330 + ], + [ + 724, + 330 + ], + [ + 688, + 326 + ], + [ + 745, + 440.00000000000006 + ], + [ + 768, + 373.00000000000006 + ], + [ + 745, + 326 + ], + [ + 750, + 330 + ], + [ + 763, + 382 + ], + [ + 750, + 444 + ] + ], + "image": "d02687.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 718.5, + 361.5 + ], + "scale": 0.8799000000000001, + "joints": [ + [ + 612, + 345 + ], + [ + 722, + 370.99999999999994 + ], + [ + 788, + 413.99999999999994 + ], + [ + 792, + 420 + ], + [ + 722, + 375 + ], + [ + 612, + 348 + ], + [ + 796, + 417.00000000000006 + ], + [ + 771, + 349 + ], + [ + 766, + 325 + ], + [ + 757, + 284 + ], + [ + 708, + 356 + ], + [ + 762, + 390 + ], + [ + 785, + 328 + ], + [ + 781, + 339 + ], + [ + 734, + 387 + ], + [ + 670, + 369.99999999999994 + ] + ], + "image": "d02688.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 731, + 346.5 + ], + "scale": 1.1199000000000001, + "joints": [ + [ + 660, + 261 + ], + [ + 725, + 346 + ], + [ + 754, + 430 + ], + [ + 754, + 433 + ], + [ + 723, + 344 + ], + [ + 657, + 262 + ], + [ + 760, + 429 + ], + [ + 781, + 362 + ], + [ + 784, + 339 + ], + [ + 802, + 307 + ], + [ + 711, + 329 + ], + [ + 741, + 372.00000000000006 + ], + [ + 786, + 350 + ], + [ + 787, + 354 + ], + [ + 723, + 374.00000000000006 + ], + [ + 686, + 323 + ] + ], + "image": "d02689.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 754.5, + 330.5 + ], + "scale": 1.1799000000000002, + "joints": [ + [ + 732, + 229.99999999999997 + ], + [ + 744, + 328 + ], + [ + 716, + 421 + ], + [ + 714, + 426 + ], + [ + 745, + 323 + ], + [ + 732, + 233 + ], + [ + 725, + 429 + ], + [ + 780, + 384 + ], + [ + 794, + 364 + ], + [ + 822, + 343 + ], + [ + 726, + 300 + ], + [ + 739, + 361 + ], + [ + 793, + 378 + ], + [ + 784, + 379 + ], + [ + 727, + 363 + ], + [ + 715, + 300 + ] + ], + "image": "d02690.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 752, + 351.5 + ], + "scale": 0.9899000000000001, + "joints": [ + [ + 802, + 275 + ], + [ + 750, + 352 + ], + [ + 681, + 404 + ], + [ + 681, + 405 + ], + [ + 753, + 355 + ], + [ + 813, + 277 + ], + [ + 688, + 409 + ], + [ + 761, + 402 + ], + [ + 776, + 396.00000000000006 + ], + [ + 812, + 389 + ], + [ + 782, + 319 + ], + [ + 737, + 387 + ], + [ + 780, + 411 + ], + [ + 771, + 404 + ], + [ + 737, + 364 + ], + [ + 758, + 309 + ] + ], + "image": "d02691.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 770, + 388 + ], + "scale": 0.7049000000000001, + "joints": [ + [ + 861, + 346 + ], + [ + 764, + 373.00000000000006 + ], + [ + 670, + 383 + ], + [ + 668, + 387 + ], + [ + 765, + 376 + ], + [ + 869, + 357 + ], + [ + 676, + 390 + ], + [ + 751, + 424 + ], + [ + 776, + 435 + ], + [ + 807, + 446 + ], + [ + 787, + 347 + ], + [ + 732, + 391 + ], + [ + 766, + 427 + ], + [ + 765, + 432 + ], + [ + 740, + 378 + ], + [ + 784, + 349 + ] + ], + "image": "d02692.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 513, + 315.5 + ], + "scale": 2.3999, + "joints": [ + [ + 531, + 529 + ], + [ + 537, + 434 + ], + [ + 555, + 332 + ], + [ + 547, + 333 + ], + [ + 524, + 438.99999999999994 + ], + [ + 519, + 529 + ], + [ + 544, + 330 + ], + [ + 502, + 213 + ], + [ + 496, + 202 + ], + [ + 480, + 189 + ], + [ + 503, + 103.99999999999999 + ], + [ + 514, + 161 + ], + [ + 527, + 200 + ], + [ + 518, + 206 + ], + [ + 486, + 173 + ], + [ + 463, + 118 + ] + ], + "image": "d02693.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 508.5, + 324.5 + ], + "scale": 2.3799, + "joints": [ + [ + 529, + 529 + ], + [ + 535, + 433 + ], + [ + 554, + 338 + ], + [ + 549, + 337 + ], + [ + 525, + 436 + ], + [ + 525, + 529 + ], + [ + 547, + 334 + ], + [ + 504, + 226 + ], + [ + 491, + 210.00000000000003 + ], + [ + 477, + 190 + ], + [ + 509, + 118 + ], + [ + 516, + 163 + ], + [ + 526, + 202 + ], + [ + 515, + 207.99999999999997 + ], + [ + 489, + 179 + ], + [ + 462, + 123 + ] + ], + "image": "d02694.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 517.5, + 348 + ], + "scale": 1.9749, + "joints": [ + [ + 539, + 535 + ], + [ + 522, + 440.00000000000006 + ], + [ + 560, + 353 + ], + [ + 554, + 353 + ], + [ + 508, + 443 + ], + [ + 529, + 540 + ], + [ + 552, + 350 + ], + [ + 503, + 256 + ], + [ + 489, + 243.00000000000003 + ], + [ + 467, + 229.99999999999997 + ], + [ + 538, + 178 + ], + [ + 532, + 213 + ], + [ + 523, + 237 + ], + [ + 507, + 244 + ], + [ + 488, + 225 + ], + [ + 479, + 187.00000000000003 + ] + ], + "image": "d02695.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 520, + 375 + ], + "scale": 1.8749, + "joints": [ + [ + 539, + 537 + ], + [ + 514, + 447 + ], + [ + 561, + 365 + ], + [ + 556, + 365 + ], + [ + 499, + 451 + ], + [ + 533, + 539 + ], + [ + 553, + 361 + ], + [ + 496, + 275 + ], + [ + 478, + 261 + ], + [ + 459, + 240.99999999999997 + ], + [ + 556, + 205 + ], + [ + 541, + 230.99999999999997 + ], + [ + 520, + 252 + ], + [ + 501, + 265 + ], + [ + 494, + 246 + ], + [ + 491, + 213 + ] + ], + "image": "d02696.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 522, + 390 + ], + "scale": 1.6549, + "joints": [ + [ + 539, + 542 + ], + [ + 517, + 460.99999999999994 + ], + [ + 567, + 384 + ], + [ + 562, + 383 + ], + [ + 498, + 457 + ], + [ + 534, + 545 + ], + [ + 561, + 379 + ], + [ + 491, + 296 + ], + [ + 477, + 286 + ], + [ + 457, + 260 + ], + [ + 576, + 241.99999999999997 + ], + [ + 548, + 264 + ], + [ + 514, + 275 + ], + [ + 498, + 291 + ], + [ + 498, + 277 + ], + [ + 503, + 252 + ] + ], + "image": "d02697.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 523, + 418.5 + ], + "scale": 1.4199000000000002, + "joints": [ + [ + 545, + 545 + ], + [ + 510, + 458.99999999999994 + ], + [ + 562, + 395.00000000000006 + ], + [ + 557, + 396.00000000000006 + ], + [ + 491, + 462.00000000000006 + ], + [ + 531, + 548 + ], + [ + 555, + 391 + ], + [ + 487, + 323 + ], + [ + 469, + 312 + ], + [ + 454, + 285 + ], + [ + 588, + 290 + ], + [ + 540, + 303 + ], + [ + 505, + 306 + ], + [ + 491, + 316 + ], + [ + 501, + 313 + ], + [ + 519, + 293 + ] + ], + "image": "d02698.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 533.5, + 452 + ], + "scale": 1.2149, + "joints": [ + [ + 544, + 559 + ], + [ + 510, + 482.99999999999994 + ], + [ + 565, + 425 + ], + [ + 561, + 428 + ], + [ + 494, + 477 + ], + [ + 534, + 561 + ], + [ + 561, + 423 + ], + [ + 486, + 380 + ], + [ + 470, + 370.99999999999994 + ], + [ + 446, + 341 + ], + [ + 593, + 389 + ], + [ + 546, + 379 + ], + [ + 495, + 361 + ], + [ + 480, + 369.99999999999994 + ], + [ + 530, + 389 + ], + [ + 563, + 389 + ] + ], + "image": "d02699.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516.5, + 475 + ], + "scale": 1.1749, + "joints": [ + [ + 544, + 581 + ], + [ + 507, + 505.99999999999994 + ], + [ + 574, + 448 + ], + [ + 567, + 449 + ], + [ + 486, + 508.00000000000006 + ], + [ + 536, + 586 + ], + [ + 564, + 445 + ], + [ + 484, + 397.00000000000006 + ], + [ + 464, + 390 + ], + [ + 443, + 362 + ], + [ + 567, + 427 + ], + [ + 534, + 403 + ], + [ + 495, + 384 + ], + [ + 489, + 393.99999999999994 + ], + [ + 514, + 429 + ], + [ + 545, + 470 + ] + ], + "image": "d02700.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 517.5, + 473.5 + ], + "scale": 1.2199, + "joints": [ + [ + 543, + 578 + ], + [ + 507, + 505.99999999999994 + ], + [ + 570, + 446 + ], + [ + 566, + 448 + ], + [ + 493, + 507.00000000000006 + ], + [ + 538, + 582 + ], + [ + 562, + 441.00000000000006 + ], + [ + 487, + 395.00000000000006 + ], + [ + 469, + 385 + ], + [ + 450, + 362 + ], + [ + 572, + 423 + ], + [ + 541, + 406 + ], + [ + 494, + 385 + ], + [ + 485, + 391.99999999999994 + ], + [ + 508, + 420 + ], + [ + 541, + 462.00000000000006 + ] + ], + "image": "d02701.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 515.5, + 491.5 + ], + "scale": 1.2599, + "joints": [ + [ + 540, + 604 + ], + [ + 496, + 524 + ], + [ + 556, + 466 + ], + [ + 561, + 466 + ], + [ + 487, + 529 + ], + [ + 534, + 605 + ], + [ + 553, + 463.00000000000006 + ], + [ + 489, + 413 + ], + [ + 473, + 402 + ], + [ + 444, + 373.00000000000006 + ], + [ + 520, + 510 + ], + [ + 514, + 465 + ], + [ + 494, + 405 + ], + [ + 486, + 413.99999999999994 + ], + [ + 505, + 470 + ], + [ + 507, + 519 + ] + ], + "image": "d02702.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516, + 519.5 + ], + "scale": 1.3299, + "joints": [ + [ + 543, + 638 + ], + [ + 505, + 542 + ], + [ + 566, + 491 + ], + [ + 565, + 491 + ], + [ + 495, + 548 + ], + [ + 533, + 638 + ], + [ + 562, + 485.00000000000006 + ], + [ + 492, + 435 + ], + [ + 479, + 418.00000000000006 + ], + [ + 456, + 388 + ], + [ + 457, + 532 + ], + [ + 495, + 492 + ], + [ + 502, + 423 + ], + [ + 488, + 432 + ], + [ + 480, + 500 + ], + [ + 446, + 552 + ] + ], + "image": "d02703.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 495, + 543 + ], + "scale": 1.4149, + "joints": [ + [ + 538, + 667 + ], + [ + 514, + 579 + ], + [ + 567, + 514 + ], + [ + 565, + 515 + ], + [ + 501, + 583 + ], + [ + 528, + 670 + ], + [ + 563, + 510 + ], + [ + 496, + 450 + ], + [ + 481, + 436 + ], + [ + 468, + 407 + ], + [ + 409, + 499 + ], + [ + 463, + 481.99999999999994 + ], + [ + 504, + 436 + ], + [ + 485, + 449 + ], + [ + 455, + 492 + ], + [ + 403, + 507.00000000000006 + ] + ], + "image": "d02704.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 494.5, + 550 + ], + "scale": 1.6749, + "joints": [ + [ + 528, + 712 + ], + [ + 509, + 620 + ], + [ + 560, + 553 + ], + [ + 558, + 555 + ], + [ + 492, + 625 + ], + [ + 521, + 710 + ], + [ + 554, + 547 + ], + [ + 489, + 470 + ], + [ + 476, + 453 + ], + [ + 470, + 428 + ], + [ + 410, + 389 + ], + [ + 443, + 440.00000000000006 + ], + [ + 496, + 454 + ], + [ + 487, + 458 + ], + [ + 423, + 451 + ], + [ + 409, + 419.00000000000006 + ] + ], + "image": "d02705.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 498.5, + 543.5 + ], + "scale": 1.7399, + "joints": [ + [ + 526, + 711 + ], + [ + 505, + 630 + ], + [ + 550, + 557 + ], + [ + 549, + 557 + ], + [ + 488, + 635 + ], + [ + 512, + 712 + ], + [ + 546, + 550 + ], + [ + 490, + 459.99999999999994 + ], + [ + 481, + 447 + ], + [ + 471, + 426 + ], + [ + 459, + 375 + ], + [ + 446, + 414.99999999999994 + ], + [ + 496, + 451 + ], + [ + 484, + 459.99999999999994 + ], + [ + 429, + 428 + ], + [ + 442, + 391.99999999999994 + ] + ], + "image": "d02706.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 498.5, + 541 + ], + "scale": 1.7549000000000001, + "joints": [ + [ + 525, + 712 + ], + [ + 506, + 635 + ], + [ + 554, + 553 + ], + [ + 548, + 554 + ], + [ + 489, + 637 + ], + [ + 515, + 714 + ], + [ + 548, + 550 + ], + [ + 489, + 463.00000000000006 + ], + [ + 477, + 446 + ], + [ + 473, + 424 + ], + [ + 457, + 372.00000000000006 + ], + [ + 451, + 422 + ], + [ + 497, + 452 + ], + [ + 490, + 456 + ], + [ + 424, + 426 + ], + [ + 449, + 375 + ] + ], + "image": "d02707.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 478.5, + 450.5 + ], + "scale": 2.1399, + "joints": [ + [ + 539, + 652 + ], + [ + 528, + 550 + ], + [ + 541, + 451 + ], + [ + 534, + 451 + ], + [ + 515, + 555 + ], + [ + 527, + 656 + ], + [ + 536, + 448 + ], + [ + 499, + 356 + ], + [ + 491, + 333 + ], + [ + 481, + 306 + ], + [ + 414, + 246 + ], + [ + 459, + 297 + ], + [ + 507, + 333 + ], + [ + 500, + 344 + ], + [ + 444, + 315 + ], + [ + 406, + 260 + ] + ], + "image": "d02708.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 467.5, + 443.5 + ], + "scale": 1.8799000000000001, + "joints": [ + [ + 536, + 619 + ], + [ + 542, + 523 + ], + [ + 545, + 417.00000000000006 + ], + [ + 541, + 415.99999999999994 + ], + [ + 534, + 525 + ], + [ + 528, + 623 + ], + [ + 544, + 418.00000000000006 + ], + [ + 488, + 326 + ], + [ + 479, + 312 + ], + [ + 469, + 288 + ], + [ + 387, + 268 + ], + [ + 448, + 293 + ], + [ + 502, + 306 + ], + [ + 487, + 312 + ], + [ + 436, + 304 + ], + [ + 384, + 276 + ] + ], + "image": "d02709.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 467, + 443 + ], + "scale": 1.9049, + "joints": [ + [ + 531, + 624 + ], + [ + 543, + 517 + ], + [ + 547, + 414.99999999999994 + ], + [ + 543, + 414.99999999999994 + ], + [ + 536, + 519 + ], + [ + 524, + 622 + ], + [ + 544, + 419.00000000000006 + ], + [ + 488, + 315 + ], + [ + 481, + 304 + ], + [ + 470, + 288 + ], + [ + 380, + 266 + ], + [ + 443, + 289 + ], + [ + 498, + 306 + ], + [ + 482, + 311 + ], + [ + 418, + 297 + ], + [ + 376, + 272 + ] + ], + "image": "d02710.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 473, + 425 + ], + "scale": 1.6549, + "joints": [ + [ + 538, + 563 + ], + [ + 557, + 469 + ], + [ + 568, + 368 + ], + [ + 566, + 370.99999999999994 + ], + [ + 552, + 471 + ], + [ + 527, + 568 + ], + [ + 561, + 368 + ], + [ + 480, + 289 + ], + [ + 471, + 283 + ], + [ + 452, + 268 + ], + [ + 376, + 298 + ], + [ + 437, + 295 + ], + [ + 495, + 279 + ], + [ + 483, + 284 + ], + [ + 416, + 306 + ], + [ + 361, + 302 + ] + ], + "image": "d02711.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 486, + 402.5 + ], + "scale": 1.4999, + "joints": [ + [ + 540, + 527 + ], + [ + 566, + 428 + ], + [ + 580, + 327 + ], + [ + 578, + 327 + ], + [ + 555, + 432 + ], + [ + 531, + 532 + ], + [ + 573, + 325 + ], + [ + 475, + 283 + ], + [ + 457, + 278 + ], + [ + 438, + 265 + ], + [ + 376, + 340 + ], + [ + 438, + 314 + ], + [ + 480, + 266 + ], + [ + 465, + 279 + ], + [ + 431, + 315 + ], + [ + 378, + 344 + ] + ], + "image": "d02712.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516.5, + 366.5 + ], + "scale": 1.2299, + "joints": [ + [ + 563, + 473 + ], + [ + 571, + 381 + ], + [ + 585, + 281 + ], + [ + 580, + 280 + ], + [ + 560, + 382 + ], + [ + 554, + 477 + ], + [ + 575, + 280 + ], + [ + 478, + 272 + ], + [ + 464, + 273 + ], + [ + 433, + 270 + ], + [ + 427, + 375 + ], + [ + 468, + 331 + ], + [ + 472, + 264 + ], + [ + 461, + 277 + ], + [ + 455, + 328 + ], + [ + 424, + 369.99999999999994 + ] + ], + "image": "d02713.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 545, + 294.5 + ], + "scale": 0.8399000000000001, + "joints": [ + [ + 617, + 363 + ], + [ + 554, + 312 + ], + [ + 562, + 223 + ], + [ + 560, + 223 + ], + [ + 547, + 314 + ], + [ + 616, + 365 + ], + [ + 553, + 226 + ], + [ + 508, + 281 + ], + [ + 506, + 287 + ], + [ + 467, + 304 + ], + [ + 559, + 321 + ], + [ + 532, + 290 + ], + [ + 500, + 279 + ], + [ + 485, + 284 + ], + [ + 526, + 315 + ], + [ + 545, + 352 + ] + ], + "image": "d02714.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569.5, + 266 + ], + "scale": 0.6649, + "joints": [ + [ + 642, + 299 + ], + [ + 552, + 296 + ], + [ + 544, + 214 + ], + [ + 542, + 213 + ], + [ + 550, + 297 + ], + [ + 639, + 294 + ], + [ + 536, + 220.00000000000003 + ], + [ + 509, + 288 + ], + [ + 509, + 298 + ], + [ + 516, + 325 + ], + [ + 583, + 299 + ], + [ + 567, + 275 + ], + [ + 519, + 288 + ], + [ + 510, + 290 + ], + [ + 555, + 285 + ], + [ + 579, + 303 + ] + ], + "image": "d02715.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 571, + 261 + ], + "scale": 0.6549, + "joints": [ + [ + 639, + 292 + ], + [ + 549, + 297 + ], + [ + 553, + 206 + ], + [ + 549, + 207 + ], + [ + 546, + 299 + ], + [ + 638, + 295 + ], + [ + 542, + 209.00000000000003 + ], + [ + 513, + 290 + ], + [ + 510, + 306 + ], + [ + 506, + 326 + ], + [ + 583, + 297 + ], + [ + 570, + 272 + ], + [ + 521, + 286 + ], + [ + 507, + 291 + ], + [ + 557, + 286 + ], + [ + 582, + 303 + ] + ], + "image": "d02716.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 568.5, + 265.5 + ], + "scale": 0.7599000000000001, + "joints": [ + [ + 633, + 218.99999999999997 + ], + [ + 571, + 280 + ], + [ + 540, + 206 + ], + [ + 536, + 206 + ], + [ + 563, + 285 + ], + [ + 625, + 224 + ], + [ + 531, + 213 + ], + [ + 536, + 294 + ], + [ + 537, + 308 + ], + [ + 532, + 345 + ], + [ + 612, + 257 + ], + [ + 577, + 244 + ], + [ + 546, + 298 + ], + [ + 528, + 301 + ], + [ + 561, + 256 + ], + [ + 600, + 251 + ] + ], + "image": "d02717.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 555, + 246 + ], + "scale": 0.9449000000000001, + "joints": [ + [ + 599, + 175 + ], + [ + 599, + 255.00000000000003 + ], + [ + 514, + 223 + ], + [ + 513, + 223 + ], + [ + 592, + 257 + ], + [ + 590, + 175 + ], + [ + 515, + 234 + ], + [ + 555, + 291 + ], + [ + 563, + 303 + ], + [ + 576, + 331 + ], + [ + 603, + 218 + ], + [ + 569, + 260 + ], + [ + 572, + 295 + ], + [ + 558, + 297 + ], + [ + 555, + 245 + ], + [ + 584, + 222 + ] + ], + "image": "d02718.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 567, + 233 + ], + "scale": 0.8449000000000001, + "joints": [ + [ + 561, + 163 + ], + [ + 605, + 229.99999999999997 + ], + [ + 527, + 246 + ], + [ + 522, + 245 + ], + [ + 601, + 226 + ], + [ + 548, + 168 + ], + [ + 525, + 250 + ], + [ + 573, + 286 + ], + [ + 588, + 291 + ], + [ + 618, + 306 + ], + [ + 580, + 184.99999999999997 + ], + [ + 572, + 246 + ], + [ + 589, + 280 + ], + [ + 585, + 280 + ], + [ + 557, + 234 + ], + [ + 569, + 199 + ] + ], + "image": "d02719.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 545.5, + 239 + ], + "scale": 0.6749, + "joints": [ + [ + 483, + 262 + ], + [ + 540, + 209.00000000000003 + ], + [ + 550, + 276 + ], + [ + 549, + 280 + ], + [ + 542, + 210.00000000000003 + ], + [ + 481, + 264 + ], + [ + 556, + 276 + ], + [ + 589, + 218 + ], + [ + 594, + 202 + ], + [ + 611, + 176 + ], + [ + 507, + 261 + ], + [ + 530, + 244 + ], + [ + 582, + 211 + ], + [ + 593, + 213 + ], + [ + 546, + 235 + ], + [ + 507, + 223 + ] + ], + "image": "d02720.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 548, + 237 + ], + "scale": 0.7849, + "joints": [ + [ + 502, + 304 + ], + [ + 530, + 221.00000000000003 + ], + [ + 575, + 283 + ], + [ + 575, + 288 + ], + [ + 528, + 221.00000000000003 + ], + [ + 499, + 303 + ], + [ + 579, + 282 + ], + [ + 573, + 210.00000000000003 + ], + [ + 571, + 193 + ], + [ + 572, + 163 + ], + [ + 520, + 276 + ], + [ + 544, + 251 + ], + [ + 570, + 201 + ], + [ + 566, + 203 + ], + [ + 555, + 238 + ], + [ + 509, + 252 + ] + ], + "image": "d02721.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 562, + 256 + ], + "scale": 0.7849, + "joints": [ + [ + 547, + 313 + ], + [ + 523, + 240.99999999999997 + ], + [ + 593, + 268 + ], + [ + 595, + 269 + ], + [ + 520, + 240.99999999999997 + ], + [ + 547, + 317 + ], + [ + 594, + 265 + ], + [ + 549, + 212 + ], + [ + 537, + 205 + ], + [ + 521, + 184.99999999999997 + ], + [ + 526, + 272 + ], + [ + 538, + 243.00000000000003 + ], + [ + 542, + 212 + ], + [ + 540, + 217 + ], + [ + 549, + 248 + ], + [ + 527, + 272 + ] + ], + "image": "d02722.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 591.5, + 277.5 + ], + "scale": 0.6299000000000001, + "joints": [ + [ + 644, + 271 + ], + [ + 569, + 298 + ], + [ + 580, + 229 + ], + [ + 575, + 225 + ], + [ + 570, + 301 + ], + [ + 633, + 258 + ], + [ + 576, + 228 + ], + [ + 550, + 295 + ], + [ + 545, + 308 + ], + [ + 522, + 327 + ], + [ + 616, + 285 + ], + [ + 561, + 265 + ], + [ + 537, + 297 + ], + [ + 533, + 294 + ], + [ + 549, + 269 + ], + [ + 596, + 277 + ] + ], + "image": "d02723.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 589.5, + 277.5 + ], + "scale": 0.6099000000000001, + "joints": [ + [ + 643, + 269 + ], + [ + 572, + 296 + ], + [ + 572, + 230.99999999999997 + ], + [ + 574, + 232.00000000000003 + ], + [ + 573, + 295 + ], + [ + 631, + 257 + ], + [ + 568, + 234 + ], + [ + 552, + 306 + ], + [ + 546, + 316 + ], + [ + 525, + 331 + ], + [ + 608, + 297 + ], + [ + 566, + 286 + ], + [ + 553, + 307 + ], + [ + 542, + 297 + ], + [ + 554, + 269 + ], + [ + 597, + 280 + ] + ], + "image": "d02724.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590, + 281 + ], + "scale": 0.6249000000000001, + "joints": [ + [ + 645, + 270 + ], + [ + 569, + 299 + ], + [ + 575, + 229.99999999999997 + ], + [ + 578, + 229.99999999999997 + ], + [ + 565, + 303 + ], + [ + 627, + 259 + ], + [ + 571, + 234 + ], + [ + 550, + 301 + ], + [ + 545, + 317 + ], + [ + 528, + 338 + ], + [ + 606, + 295 + ], + [ + 548, + 277 + ], + [ + 535, + 300 + ], + [ + 535, + 298 + ], + [ + 549, + 266 + ], + [ + 593, + 278 + ] + ], + "image": "d02725.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 594, + 298 + ], + "scale": 0.7649000000000001, + "joints": [ + [ + 572, + 355 + ], + [ + 571, + 277 + ], + [ + 616, + 337 + ], + [ + 617, + 336 + ], + [ + 568, + 278 + ], + [ + 567, + 359 + ], + [ + 617, + 331 + ], + [ + 597, + 263 + ], + [ + 592, + 252.99999999999997 + ], + [ + 591, + 232.00000000000003 + ], + [ + 555, + 307 + ], + [ + 590, + 289 + ], + [ + 600, + 258 + ], + [ + 600, + 258 + ], + [ + 594, + 293 + ], + [ + 555, + 308 + ] + ], + "image": "d02726.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 605.5, + 326.5 + ], + "scale": 0.7399000000000001, + "joints": [ + [ + 602, + 366 + ], + [ + 571, + 300 + ], + [ + 638, + 323 + ], + [ + 642, + 325 + ], + [ + 573, + 301 + ], + [ + 603, + 369.99999999999994 + ], + [ + 639, + 320 + ], + [ + 586, + 280 + ], + [ + 567, + 274 + ], + [ + 554, + 259 + ], + [ + 572, + 334 + ], + [ + 588, + 297 + ], + [ + 580, + 270 + ], + [ + 584, + 270 + ], + [ + 592, + 296 + ], + [ + 571, + 337 + ] + ], + "image": "d02727.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 632.5, + 323.5 + ], + "scale": 0.5199000000000001, + "joints": [ + [ + 695, + 338 + ], + [ + 606, + 338 + ], + [ + 636, + 286 + ], + [ + 638, + 285 + ], + [ + 606, + 338 + ], + [ + 691, + 337 + ], + [ + 628, + 284 + ], + [ + 593, + 330 + ], + [ + 588, + 339 + ], + [ + 559, + 360 + ], + [ + 639, + 342 + ], + [ + 604, + 312 + ], + [ + 573, + 336 + ], + [ + 574, + 329 + ], + [ + 599, + 313 + ], + [ + 629, + 338 + ] + ], + "image": "d02728.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 647.5, + 307.5 + ], + "scale": 0.7099000000000001, + "joints": [ + [ + 632, + 258 + ], + [ + 669, + 318 + ], + [ + 606, + 329 + ], + [ + 605, + 328 + ], + [ + 663, + 325 + ], + [ + 624, + 268 + ], + [ + 610, + 330 + ], + [ + 658, + 347 + ], + [ + 677, + 354 + ], + [ + 703, + 362 + ], + [ + 656, + 291 + ], + [ + 649, + 334 + ], + [ + 670, + 349 + ], + [ + 667, + 352 + ], + [ + 628, + 334 + ], + [ + 641, + 296 + ] + ], + "image": "d02729.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 649, + 313.5 + ], + "scale": 0.4899000000000001, + "joints": [ + [ + 594, + 275 + ], + [ + 655, + 308 + ], + [ + 608, + 342 + ], + [ + 607, + 346 + ], + [ + 656, + 313 + ], + [ + 589, + 285 + ], + [ + 615, + 347 + ], + [ + 666, + 329 + ], + [ + 686, + 322 + ], + [ + 711, + 313 + ], + [ + 639, + 293 + ], + [ + 651, + 324 + ], + [ + 678, + 315 + ], + [ + 680, + 326 + ], + [ + 643, + 341 + ], + [ + 624, + 301 + ] + ], + "image": "d02730.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 647, + 370.5 + ], + "scale": 0.8899000000000001, + "joints": [ + [ + 647, + 445 + ], + [ + 641, + 365 + ], + [ + 691, + 314 + ], + [ + 693, + 314 + ], + [ + 636, + 368.99999999999994 + ], + [ + 642, + 447 + ], + [ + 688, + 312 + ], + [ + 625, + 301 + ], + [ + 612, + 304 + ], + [ + 586, + 312 + ], + [ + 663, + 303 + ], + [ + 639, + 297 + ], + [ + 621, + 295 + ], + [ + 619, + 297 + ], + [ + 639, + 313 + ], + [ + 658, + 334 + ] + ], + "image": "d02731.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 644.5, + 376 + ], + "scale": 0.9449000000000001, + "joints": [ + [ + 677, + 445 + ], + [ + 671, + 370.99999999999994 + ], + [ + 686, + 296 + ], + [ + 685, + 296 + ], + [ + 667, + 377 + ], + [ + 675, + 450 + ], + [ + 682, + 295 + ], + [ + 624, + 316 + ], + [ + 609, + 323 + ], + [ + 585, + 334 + ], + [ + 649, + 283 + ], + [ + 633, + 292 + ], + [ + 619, + 300 + ], + [ + 615, + 309 + ], + [ + 642, + 321 + ], + [ + 663, + 334 + ] + ], + "image": "d02732.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 644, + 373.5 + ], + "scale": 0.9099, + "joints": [ + [ + 679, + 440.00000000000006 + ], + [ + 669, + 374.00000000000006 + ], + [ + 688, + 296 + ], + [ + 686, + 298 + ], + [ + 666, + 374.00000000000006 + ], + [ + 675, + 446 + ], + [ + 682, + 295 + ], + [ + 625, + 314 + ], + [ + 611, + 323 + ], + [ + 582, + 332 + ], + [ + 648, + 287 + ], + [ + 635, + 293 + ], + [ + 616, + 305 + ], + [ + 616, + 312 + ], + [ + 645, + 319 + ], + [ + 663, + 332 + ] + ], + "image": "d02733.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 648.5, + 367.5 + ], + "scale": 0.9299000000000001, + "joints": [ + [ + 710, + 431 + ], + [ + 690, + 358 + ], + [ + 673, + 289 + ], + [ + 672, + 290 + ], + [ + 689, + 359 + ], + [ + 708, + 434 + ], + [ + 668, + 295 + ], + [ + 619, + 333 + ], + [ + 609, + 343 + ], + [ + 582, + 356 + ], + [ + 701, + 318 + ], + [ + 658, + 311 + ], + [ + 616, + 323 + ], + [ + 611, + 327 + ], + [ + 645, + 331 + ], + [ + 672, + 344 + ] + ], + "image": "d02734.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 667.5, + 353 + ], + "scale": 0.7449000000000001, + "joints": [ + [ + 745, + 418.00000000000006 + ], + [ + 702, + 347 + ], + [ + 659, + 294 + ], + [ + 660, + 295 + ], + [ + 702, + 351 + ], + [ + 747, + 419.00000000000006 + ], + [ + 655, + 297 + ], + [ + 621, + 348 + ], + [ + 613, + 364 + ], + [ + 588, + 380 + ], + [ + 681, + 328 + ], + [ + 652, + 328 + ], + [ + 622, + 337 + ], + [ + 614, + 344 + ], + [ + 647, + 356 + ], + [ + 674, + 372.00000000000006 + ] + ], + "image": "d02735.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 691.5, + 343 + ], + "scale": 0.6649, + "joints": [ + [ + 770, + 384 + ], + [ + 713, + 333 + ], + [ + 651, + 296 + ], + [ + 649, + 302 + ], + [ + 713, + 336 + ], + [ + 770, + 385 + ], + [ + 649, + 304 + ], + [ + 627, + 362 + ], + [ + 623, + 378 + ], + [ + 591, + 395.00000000000006 + ], + [ + 687, + 377 + ], + [ + 663, + 352 + ], + [ + 629, + 356 + ], + [ + 617, + 365 + ], + [ + 650, + 379 + ], + [ + 678, + 405 + ] + ], + "image": "d02736.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 703.5, + 359.5 + ], + "scale": 0.7699000000000001, + "joints": [ + [ + 798, + 348 + ], + [ + 717, + 321 + ], + [ + 646, + 302 + ], + [ + 646, + 308 + ], + [ + 715, + 324 + ], + [ + 790, + 350 + ], + [ + 643, + 313 + ], + [ + 628, + 382 + ], + [ + 627, + 393.99999999999994 + ], + [ + 602, + 410 + ], + [ + 679, + 427 + ], + [ + 667, + 387 + ], + [ + 630, + 378 + ], + [ + 616, + 386 + ], + [ + 646, + 409 + ], + [ + 674, + 438.99999999999994 + ] + ], + "image": "d02737.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 710.5, + 379.5 + ], + "scale": 1.2399, + "joints": [ + [ + 786, + 275 + ], + [ + 715, + 301 + ], + [ + 651, + 338 + ], + [ + 646, + 339 + ], + [ + 714, + 302 + ], + [ + 784, + 275 + ], + [ + 653, + 348 + ], + [ + 643, + 413.99999999999994 + ], + [ + 642, + 426 + ], + [ + 626, + 443 + ], + [ + 662, + 503 + ], + [ + 654, + 462.00000000000006 + ], + [ + 642, + 424 + ], + [ + 635, + 428 + ], + [ + 649, + 466 + ], + [ + 665, + 502 + ] + ], + "image": "d02738.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 713, + 384.5 + ], + "scale": 1.2299, + "joints": [ + [ + 787, + 270 + ], + [ + 714, + 303 + ], + [ + 647, + 341 + ], + [ + 649, + 341 + ], + [ + 712, + 301 + ], + [ + 788, + 272 + ], + [ + 651, + 349 + ], + [ + 647, + 418.00000000000006 + ], + [ + 644, + 425 + ], + [ + 627, + 445 + ], + [ + 664, + 502 + ], + [ + 654, + 458 + ], + [ + 641, + 415.99999999999994 + ], + [ + 634, + 420 + ], + [ + 649, + 469 + ], + [ + 665, + 503 + ] + ], + "image": "d02739.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 573.5, + 371 + ], + "scale": 2.5849, + "joints": [ + [ + 575, + 618 + ], + [ + 596, + 483.99999999999994 + ], + [ + 542, + 397.00000000000006 + ], + [ + 543, + 398 + ], + [ + 595, + 487.00000000000006 + ], + [ + 572, + 610 + ], + [ + 548, + 392.99999999999994 + ], + [ + 582, + 276 + ], + [ + 587, + 252.99999999999997 + ], + [ + 624, + 205 + ], + [ + 529, + 130 + ], + [ + 550, + 209.00000000000003 + ], + [ + 568, + 256 + ], + [ + 572, + 250 + ], + [ + 571, + 214 + ], + [ + 565, + 170 + ] + ], + "image": "d02740.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 599.5, + 459.5 + ], + "scale": 1.8299, + "joints": [ + [ + 551, + 623 + ], + [ + 598, + 520 + ], + [ + 529, + 448 + ], + [ + 525, + 451 + ], + [ + 598, + 531 + ], + [ + 550, + 627 + ], + [ + 529, + 444 + ], + [ + 607, + 348 + ], + [ + 618, + 331 + ], + [ + 625, + 283 + ], + [ + 676, + 436 + ], + [ + 636, + 408 + ], + [ + 610, + 358 + ], + [ + 607, + 361 + ], + [ + 631, + 413.99999999999994 + ], + [ + 677, + 442.00000000000006 + ] + ], + "image": "d02741.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 581, + 431 + ], + "scale": 1.6149, + "joints": [ + [ + 560, + 578 + ], + [ + 610, + 487.00000000000006 + ], + [ + 526, + 435 + ], + [ + 531, + 431 + ], + [ + 617, + 480 + ], + [ + 563, + 582 + ], + [ + 537, + 429 + ], + [ + 611, + 341 + ], + [ + 625, + 324 + ], + [ + 649, + 269 + ], + [ + 513, + 447 + ], + [ + 552, + 381 + ], + [ + 597, + 338 + ], + [ + 603, + 334 + ], + [ + 557, + 375 + ], + [ + 515, + 431 + ] + ], + "image": "d02742.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 580.5, + 435.5 + ], + "scale": 1.7199, + "joints": [ + [ + 556, + 584 + ], + [ + 609, + 497 + ], + [ + 520, + 433 + ], + [ + 522, + 433 + ], + [ + 614, + 492 + ], + [ + 560, + 582 + ], + [ + 525, + 430 + ], + [ + 609, + 340 + ], + [ + 625, + 316 + ], + [ + 639, + 274 + ], + [ + 540, + 476 + ], + [ + 567, + 392.99999999999994 + ], + [ + 595, + 341 + ], + [ + 598, + 340 + ], + [ + 570, + 391.99999999999994 + ], + [ + 552, + 455 + ] + ], + "image": "d02743.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 577.5, + 443 + ], + "scale": 1.7249, + "joints": [ + [ + 559, + 590 + ], + [ + 608, + 502 + ], + [ + 525, + 440.00000000000006 + ], + [ + 525, + 436.99999999999994 + ], + [ + 611, + 496 + ], + [ + 562, + 589 + ], + [ + 529, + 434 + ], + [ + 607, + 343 + ], + [ + 621, + 321 + ], + [ + 633, + 276 + ], + [ + 570, + 490 + ], + [ + 571, + 409 + ], + [ + 597, + 348 + ], + [ + 599, + 349 + ], + [ + 574, + 403 + ], + [ + 579, + 471 + ] + ], + "image": "d02744.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 460 + ], + "scale": 1.8649, + "joints": [ + [ + 550, + 624 + ], + [ + 593, + 536 + ], + [ + 522, + 454 + ], + [ + 528, + 450 + ], + [ + 600, + 525 + ], + [ + 554, + 623 + ], + [ + 529, + 449 + ], + [ + 604, + 356 + ], + [ + 618, + 324 + ], + [ + 619, + 281 + ], + [ + 704, + 421 + ], + [ + 634, + 408 + ], + [ + 607, + 360 + ], + [ + 611, + 354 + ], + [ + 641, + 403 + ], + [ + 706, + 414.99999999999994 + ] + ], + "image": "d02745.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 614, + 470.5 + ], + "scale": 1.8999000000000001, + "joints": [ + [ + 534, + 641 + ], + [ + 586, + 548 + ], + [ + 521, + 460.99999999999994 + ], + [ + 524, + 460.99999999999994 + ], + [ + 589, + 548 + ], + [ + 536, + 637 + ], + [ + 529, + 454 + ], + [ + 608, + 362 + ], + [ + 615, + 341 + ], + [ + 609, + 283 + ], + [ + 708, + 349 + ], + [ + 662, + 383 + ], + [ + 612, + 358 + ], + [ + 617, + 352 + ], + [ + 666, + 381 + ], + [ + 717, + 363 + ] + ], + "image": "d02746.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 613.5, + 472.5 + ], + "scale": 1.8899000000000001, + "joints": [ + [ + 530, + 642 + ], + [ + 584, + 551 + ], + [ + 524, + 463.00000000000006 + ], + [ + 528, + 462.00000000000006 + ], + [ + 585, + 548 + ], + [ + 534, + 641 + ], + [ + 531, + 458 + ], + [ + 612, + 356 + ], + [ + 614, + 334 + ], + [ + 608, + 286 + ], + [ + 706, + 333 + ], + [ + 674, + 377 + ], + [ + 614, + 354 + ], + [ + 618, + 354 + ], + [ + 680, + 375 + ], + [ + 721, + 347 + ] + ], + "image": "d02747.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 596, + 472 + ], + "scale": 2.3349, + "joints": [ + [ + 508, + 686 + ], + [ + 557, + 591 + ], + [ + 557, + 481 + ], + [ + 559, + 481 + ], + [ + 559, + 591 + ], + [ + 511, + 684 + ], + [ + 562, + 479 + ], + [ + 619, + 361 + ], + [ + 629, + 343 + ], + [ + 648, + 301 + ], + [ + 668, + 247 + ], + [ + 637, + 292 + ], + [ + 605, + 346 + ], + [ + 629, + 356 + ], + [ + 663, + 316 + ], + [ + 682, + 262 + ] + ], + "image": "d02748.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 658, + 486 + ], + "scale": 2.1549, + "joints": [ + [ + 519, + 686 + ], + [ + 539, + 579 + ], + [ + 554, + 458 + ], + [ + 559, + 460.99999999999994 + ], + [ + 541, + 579 + ], + [ + 523, + 687 + ], + [ + 564, + 460.99999999999994 + ], + [ + 636, + 358 + ], + [ + 651, + 344 + ], + [ + 667, + 295 + ], + [ + 747, + 282 + ], + [ + 684, + 316 + ], + [ + 631, + 336 + ], + [ + 653, + 341 + ], + [ + 711, + 333 + ], + [ + 788, + 323 + ] + ], + "image": "d02749.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 649.5, + 483 + ], + "scale": 1.7749000000000001, + "joints": [ + [ + 523, + 646 + ], + [ + 535, + 523 + ], + [ + 545, + 419.00000000000006 + ], + [ + 550, + 423 + ], + [ + 540, + 526 + ], + [ + 530, + 647 + ], + [ + 555, + 419.00000000000006 + ], + [ + 668, + 358 + ], + [ + 691, + 344 + ], + [ + 722, + 305 + ], + [ + 773, + 413 + ], + [ + 717, + 383 + ], + [ + 676, + 355 + ], + [ + 679, + 360 + ], + [ + 721, + 383 + ], + [ + 768, + 423 + ] + ], + "image": "d02750.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603, + 447 + ], + "scale": 1.1649, + "joints": [ + [ + 485, + 549 + ], + [ + 548, + 448 + ], + [ + 603, + 353 + ], + [ + 606, + 357 + ], + [ + 549, + 450 + ], + [ + 488, + 549 + ], + [ + 612, + 361 + ], + [ + 642, + 489 + ], + [ + 667, + 509.00000000000006 + ], + [ + 716, + 511 + ], + [ + 521, + 496 + ], + [ + 580, + 475 + ], + [ + 650, + 472 + ], + [ + 647, + 492 + ], + [ + 589, + 495 + ], + [ + 540, + 496 + ] + ], + "image": "d02751.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 567.5, + 458.5 + ], + "scale": 1.1899000000000002, + "joints": [ + [ + 464, + 502 + ], + [ + 563, + 431 + ], + [ + 633, + 372.00000000000006 + ], + [ + 634, + 370.99999999999994 + ], + [ + 562, + 434 + ], + [ + 467, + 497 + ], + [ + 636, + 380 + ], + [ + 622, + 493 + ], + [ + 630, + 520 + ], + [ + 661, + 555 + ], + [ + 500, + 436.99999999999994 + ], + [ + 561, + 464.00000000000006 + ], + [ + 626, + 495 + ], + [ + 631, + 493 + ], + [ + 583, + 455 + ], + [ + 517, + 429 + ] + ], + "image": "d02752.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 556.5, + 451 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 454, + 375 + ], + [ + 554, + 404 + ], + [ + 673, + 419.00000000000006 + ], + [ + 671, + 421 + ], + [ + 555, + 405 + ], + [ + 457, + 380 + ], + [ + 667, + 434 + ], + [ + 575, + 489 + ], + [ + 550, + 508.00000000000006 + ], + [ + 512, + 538 + ], + [ + 572, + 374.00000000000006 + ], + [ + 562, + 427 + ], + [ + 554, + 499 + ], + [ + 561, + 481 + ], + [ + 587, + 437.99999999999994 + ], + [ + 567, + 358 + ] + ], + "image": "d02753.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569, + 404.5 + ], + "scale": 1.1099, + "joints": [ + [ + 484, + 313 + ], + [ + 575, + 392.99999999999994 + ], + [ + 662, + 450 + ], + [ + 665, + 448 + ], + [ + 576, + 391 + ], + [ + 495, + 311 + ], + [ + 658, + 458 + ], + [ + 546, + 466 + ], + [ + 514, + 473 + ], + [ + 466, + 482.99999999999994 + ], + [ + 604, + 382 + ], + [ + 574, + 419.00000000000006 + ], + [ + 526, + 466 + ], + [ + 531, + 460.99999999999994 + ], + [ + 564, + 392.99999999999994 + ], + [ + 588, + 367 + ] + ], + "image": "d02754.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 575, + 375.5 + ], + "scale": 1.4499000000000002, + "joints": [ + [ + 630, + 264 + ], + [ + 607, + 387 + ], + [ + 608, + 502 + ], + [ + 614, + 500 + ], + [ + 612, + 380 + ], + [ + 640, + 269 + ], + [ + 603, + 498 + ], + [ + 541, + 408 + ], + [ + 527, + 381 + ], + [ + 501, + 341 + ], + [ + 632, + 396.00000000000006 + ], + [ + 579, + 405 + ], + [ + 514, + 395.00000000000006 + ], + [ + 560, + 396.00000000000006 + ], + [ + 641, + 417.00000000000006 + ], + [ + 640, + 388 + ] + ], + "image": "d02755.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 645.5, + 388 + ], + "scale": 1.2649000000000001, + "joints": [ + [ + 764, + 374.00000000000006 + ], + [ + 643, + 421 + ], + [ + 536, + 468 + ], + [ + 541, + 468 + ], + [ + 649, + 422 + ], + [ + 768, + 374.00000000000006 + ], + [ + 535, + 460.99999999999994 + ], + [ + 560, + 349 + ], + [ + 573, + 329 + ], + [ + 596, + 267 + ], + [ + 647, + 442.00000000000006 + ], + [ + 587, + 385 + ], + [ + 561, + 332 + ], + [ + 582, + 363 + ], + [ + 598, + 417.00000000000006 + ], + [ + 669, + 456 + ] + ], + "image": "d02756.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 655.5, + 364 + ], + "scale": 1.3549, + "joints": [ + [ + 778, + 480 + ], + [ + 634, + 457 + ], + [ + 518, + 436 + ], + [ + 522, + 433 + ], + [ + 634, + 457 + ], + [ + 775, + 478 + ], + [ + 519, + 427 + ], + [ + 577, + 323 + ], + [ + 589, + 296 + ], + [ + 627, + 248 + ], + [ + 640, + 430 + ], + [ + 599, + 358 + ], + [ + 581, + 309 + ], + [ + 586, + 330 + ], + [ + 607, + 396.00000000000006 + ], + [ + 647, + 490 + ] + ], + "image": "d02757.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 651, + 365.5 + ], + "scale": 1.3299, + "joints": [ + [ + 774, + 476 + ], + [ + 636, + 449 + ], + [ + 521, + 430 + ], + [ + 521, + 429 + ], + [ + 640, + 449 + ], + [ + 774, + 474 + ], + [ + 525, + 422 + ], + [ + 586, + 313 + ], + [ + 602, + 292 + ], + [ + 633, + 247 + ], + [ + 639, + 427 + ], + [ + 597, + 358 + ], + [ + 581, + 301 + ], + [ + 589, + 333 + ], + [ + 603, + 403 + ], + [ + 646, + 487.00000000000006 + ] + ], + "image": "d02758.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 633.5, + 402.5 + ], + "scale": 1.8399, + "joints": [ + [ + 731, + 570 + ], + [ + 627, + 480 + ], + [ + 535, + 398 + ], + [ + 538, + 401 + ], + [ + 628, + 482.99999999999994 + ], + [ + 729, + 570 + ], + [ + 541, + 395.00000000000006 + ], + [ + 610, + 286 + ], + [ + 620, + 267 + ], + [ + 663, + 234 + ], + [ + 647, + 399 + ], + [ + 602, + 331 + ], + [ + 606, + 272 + ], + [ + 608, + 308 + ], + [ + 592, + 385 + ], + [ + 600, + 497 + ] + ], + "image": "d02759.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 633, + 412 + ], + "scale": 2.3649, + "joints": [ + [ + 537, + 625 + ], + [ + 562, + 495 + ], + [ + 572, + 362 + ], + [ + 567, + 363 + ], + [ + 557, + 492 + ], + [ + 535, + 624 + ], + [ + 575, + 356 + ], + [ + 678, + 220.00000000000003 + ], + [ + 695, + 213 + ], + [ + 732, + 185.99999999999997 + ], + [ + 695, + 364 + ], + [ + 652, + 282 + ], + [ + 674, + 226 + ], + [ + 666, + 229 + ], + [ + 623, + 288 + ], + [ + 599, + 368 + ] + ], + "image": "d02760.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 374.5 + ], + "scale": 2.1799, + "joints": [ + [ + 460, + 579 + ], + [ + 531, + 467 + ], + [ + 599, + 337 + ], + [ + 557, + 324 + ], + [ + 507, + 457 + ], + [ + 445, + 574 + ], + [ + 581, + 328 + ], + [ + 679, + 220.00000000000003 + ], + [ + 713, + 196.99999999999997 + ], + [ + 779, + 175 + ], + [ + 722, + 383 + ], + [ + 681, + 295 + ], + [ + 719, + 223 + ], + [ + 647, + 195.99999999999997 + ], + [ + 600, + 214 + ], + [ + 648, + 248 + ] + ], + "image": "d02761.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 580, + 346 + ], + "scale": 2.2049000000000003, + "joints": [ + [ + 399, + 543 + ], + [ + 506, + 453 + ], + [ + 618, + 342 + ], + [ + 560, + 299 + ], + [ + 475, + 415.99999999999994 + ], + [ + 378, + 525 + ], + [ + 595, + 310 + ], + [ + 726, + 207.99999999999997 + ], + [ + 747, + 194 + ], + [ + 786, + 174 + ], + [ + 707, + 399 + ], + [ + 710, + 324 + ], + [ + 755, + 241.99999999999997 + ], + [ + 678, + 171 + ], + [ + 630, + 159 + ], + [ + 707, + 133 + ] + ], + "image": "d02762.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 566, + 289.5 + ], + "scale": 2.0699, + "joints": [ + [ + 352, + 487.00000000000006 + ], + [ + 482, + 412 + ], + [ + 609, + 326 + ], + [ + 571, + 283 + ], + [ + 445, + 376 + ], + [ + 331, + 454 + ], + [ + 601, + 301 + ], + [ + 741, + 210.00000000000003 + ], + [ + 763, + 195.99999999999997 + ], + [ + 811, + 171 + ], + [ + 667, + 368.99999999999994 + ], + [ + 716, + 340 + ], + [ + 778, + 260 + ], + [ + 704, + 146 + ], + [ + 690, + 103 + ], + [ + 775, + 86 + ] + ], + "image": "d02763.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 561.5, + 287 + ], + "scale": 2.0549, + "joints": [ + [ + 354, + 482.99999999999994 + ], + [ + 474, + 415.99999999999994 + ], + [ + 617, + 328 + ], + [ + 569, + 276 + ], + [ + 445, + 370.99999999999994 + ], + [ + 331, + 453 + ], + [ + 599, + 303 + ], + [ + 742, + 204 + ], + [ + 773, + 189 + ], + [ + 813, + 171 + ], + [ + 665, + 370.99999999999994 + ], + [ + 718, + 336 + ], + [ + 777, + 266 + ], + [ + 707, + 149 + ], + [ + 687, + 103 + ], + [ + 781, + 92 + ] + ], + "image": "d02764.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 568.5, + 250 + ], + "scale": 1.8049000000000002, + "joints": [ + [ + 303, + 418.00000000000006 + ], + [ + 454, + 379 + ], + [ + 603, + 337 + ], + [ + 578, + 256 + ], + [ + 421, + 318 + ], + [ + 290, + 384 + ], + [ + 602, + 302 + ], + [ + 753, + 223 + ], + [ + 787, + 209.00000000000003 + ], + [ + 842, + 182 + ], + [ + 648, + 310 + ], + [ + 696, + 347 + ], + [ + 779, + 287 + ], + [ + 747, + 159 + ], + [ + 756, + 74 + ], + [ + 849, + 103.99999999999999 + ] + ], + "image": "d02765.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 554.5, + 229.5 + ], + "scale": 0.7099000000000001, + "joints": [ + [ + 262, + 276 + ], + [ + 412, + 268 + ], + [ + 562, + 259 + ], + [ + 567, + 255.00000000000003 + ], + [ + 415, + 252 + ], + [ + 260, + 260 + ], + [ + 574, + 264 + ], + [ + 764, + 240 + ], + [ + 797, + 230.99999999999997 + ], + [ + 872, + 226 + ], + [ + 700, + 194 + ], + [ + 650, + 241.99999999999997 + ], + [ + 755, + 266 + ], + [ + 792, + 248 + ], + [ + 874, + 163 + ], + [ + 891, + 230.99999999999997 + ] + ], + "image": "d02766.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 542.5, + 246.5 + ], + "scale": 0.8499000000000001, + "joints": [ + [ + 246, + 181 + ], + [ + 425, + 195 + ], + [ + 562, + 210.00000000000003 + ], + [ + 565, + 264 + ], + [ + 435, + 227 + ], + [ + 245, + 195 + ], + [ + 569, + 237 + ], + [ + 753, + 259 + ], + [ + 790, + 263 + ], + [ + 875, + 250 + ], + [ + 725, + 224 + ], + [ + 654, + 193 + ], + [ + 753, + 218.99999999999997 + ], + [ + 805, + 310 + ], + [ + 882, + 304 + ], + [ + 881, + 276 + ] + ], + "image": "d02767.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 534, + 252.5 + ], + "scale": 1.5599, + "joints": [ + [ + 254, + 113 + ], + [ + 399, + 149 + ], + [ + 566, + 194 + ], + [ + 547, + 270 + ], + [ + 397, + 213 + ], + [ + 238, + 151 + ], + [ + 566, + 232.00000000000003 + ], + [ + 744, + 287 + ], + [ + 767, + 293 + ], + [ + 852, + 302 + ], + [ + 709, + 268 + ], + [ + 670, + 187.00000000000003 + ], + [ + 763, + 214 + ], + [ + 769, + 358 + ], + [ + 843, + 402 + ], + [ + 859, + 341 + ] + ], + "image": "d02768.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 521.5, + 247.5 + ], + "scale": 2.1199, + "joints": [ + [ + 258, + 52 + ], + [ + 405, + 123 + ], + [ + 563, + 198.00000000000003 + ], + [ + 523, + 269 + ], + [ + 377, + 185.99999999999997 + ], + [ + 236, + 94.00000000000001 + ], + [ + 545, + 239 + ], + [ + 716, + 319 + ], + [ + 743, + 333 + ], + [ + 827, + 370.99999999999994 + ], + [ + 675, + 318 + ], + [ + 660, + 221.00000000000003 + ], + [ + 754, + 243.00000000000003 + ], + [ + 734, + 397.00000000000006 + ], + [ + 781, + 457 + ], + [ + 832, + 340 + ] + ], + "image": "d02769.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 519, + 251.5 + ], + "scale": 2.1299, + "joints": [ + [ + 254, + 47.00000000000001 + ], + [ + 411, + 123 + ], + [ + 565, + 191 + ], + [ + 520, + 271 + ], + [ + 373, + 184 + ], + [ + 235, + 95 + ], + [ + 546, + 238 + ], + [ + 722, + 322 + ], + [ + 738, + 332 + ], + [ + 823, + 368.99999999999994 + ], + [ + 676, + 318 + ], + [ + 658, + 220.00000000000003 + ], + [ + 757, + 241.99999999999997 + ], + [ + 732, + 396.00000000000006 + ], + [ + 778, + 454 + ], + [ + 831, + 338 + ] + ], + "image": "d02770.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 486.5, + 277.5 + ], + "scale": 2.2499000000000002, + "joints": [ + [ + 657, + 112 + ], + [ + 594, + 229 + ], + [ + 549, + 327 + ], + [ + 491, + 301 + ], + [ + 549, + 201 + ], + [ + 628, + 87 + ], + [ + 507, + 319 + ], + [ + 428, + 423 + ], + [ + 418, + 438.99999999999994 + ], + [ + 378, + 480 + ], + [ + 455, + 405 + ], + [ + 526, + 413 + ], + [ + 471, + 462.00000000000006 + ], + [ + 378, + 407 + ], + [ + 310, + 436.99999999999994 + ], + [ + 359, + 488 + ] + ], + "image": "d02771.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 493.5, + 284 + ], + "scale": 1.8849, + "joints": [ + [ + 686, + 139 + ], + [ + 594, + 251 + ], + [ + 540, + 343 + ], + [ + 500, + 300 + ], + [ + 568, + 210.00000000000003 + ], + [ + 649, + 120 + ], + [ + 512, + 322 + ], + [ + 421, + 404 + ], + [ + 408, + 413.99999999999994 + ], + [ + 343, + 438.99999999999994 + ], + [ + 445, + 388 + ], + [ + 508, + 437.99999999999994 + ], + [ + 440, + 463.00000000000006 + ], + [ + 361, + 391 + ], + [ + 305, + 375 + ], + [ + 299, + 453 + ] + ], + "image": "d02772.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 495.5, + 292.5 + ], + "scale": 1.5699, + "joints": [ + [ + 700, + 187.00000000000003 + ], + [ + 601, + 268 + ], + [ + 541, + 356 + ], + [ + 526, + 325 + ], + [ + 590, + 234 + ], + [ + 674, + 161 + ], + [ + 524, + 339 + ], + [ + 410, + 378 + ], + [ + 392, + 378 + ], + [ + 322, + 386 + ], + [ + 464, + 370.99999999999994 + ], + [ + 476, + 444 + ], + [ + 408, + 433 + ], + [ + 386, + 358 + ], + [ + 335, + 324 + ], + [ + 282, + 331 + ] + ], + "image": "d02773.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 523.5, + 293 + ], + "scale": 1.3349000000000002, + "joints": [ + [ + 708, + 204 + ], + [ + 609, + 285 + ], + [ + 538, + 362 + ], + [ + 539, + 354 + ], + [ + 601, + 265 + ], + [ + 694, + 190 + ], + [ + 534, + 360 + ], + [ + 421, + 354 + ], + [ + 391, + 351 + ], + [ + 336, + 325 + ], + [ + 480, + 380 + ], + [ + 430, + 421 + ], + [ + 391, + 384 + ], + [ + 401, + 327 + ], + [ + 364, + 276 + ], + [ + 327, + 238 + ] + ], + "image": "d02774.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 521, + 293.5 + ], + "scale": 1.3199, + "joints": [ + [ + 711, + 205 + ], + [ + 613, + 286 + ], + [ + 541, + 366 + ], + [ + 544, + 342 + ], + [ + 599, + 264 + ], + [ + 697, + 188 + ], + [ + 535, + 354 + ], + [ + 415, + 352 + ], + [ + 394, + 349 + ], + [ + 338, + 324 + ], + [ + 482, + 379 + ], + [ + 435, + 422 + ], + [ + 394, + 382 + ], + [ + 401, + 329 + ], + [ + 368, + 283 + ], + [ + 322, + 235 + ] + ], + "image": "d02775.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 551.5, + 288.5 + ], + "scale": 1.0699, + "joints": [ + [ + 707, + 233 + ], + [ + 608, + 302 + ], + [ + 534, + 370.99999999999994 + ], + [ + 538, + 364 + ], + [ + 609, + 295 + ], + [ + 700, + 224 + ], + [ + 531, + 366 + ], + [ + 429, + 323 + ], + [ + 406, + 312 + ], + [ + 378, + 259 + ], + [ + 506, + 387 + ], + [ + 460, + 375 + ], + [ + 402, + 344 + ], + [ + 421, + 307 + ], + [ + 415, + 256 + ], + [ + 421, + 205 + ] + ], + "image": "d02776.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590.5, + 288 + ], + "scale": 1.1149, + "joints": [ + [ + 719, + 280 + ], + [ + 616, + 321 + ], + [ + 523, + 372.00000000000006 + ], + [ + 528, + 367 + ], + [ + 619, + 322 + ], + [ + 721, + 280 + ], + [ + 524, + 364 + ], + [ + 474, + 262 + ], + [ + 472, + 239 + ], + [ + 483, + 181 + ], + [ + 490, + 347 + ], + [ + 459, + 310 + ], + [ + 446, + 261 + ], + [ + 485, + 252 + ], + [ + 518, + 251 + ], + [ + 544, + 257 + ] + ], + "image": "d02777.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603, + 277.5 + ], + "scale": 1.1399000000000001, + "joints": [ + [ + 722, + 316 + ], + [ + 608, + 331 + ], + [ + 507, + 358 + ], + [ + 512, + 356 + ], + [ + 612, + 330 + ], + [ + 725, + 308 + ], + [ + 510, + 347 + ], + [ + 500, + 240.99999999999997 + ], + [ + 505, + 220.00000000000003 + ], + [ + 535, + 163 + ], + [ + 503, + 325 + ], + [ + 483, + 282 + ], + [ + 480, + 227 + ], + [ + 510, + 239 + ], + [ + 540, + 261 + ], + [ + 563, + 284 + ] + ], + "image": "d02778.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 591.5, + 306.5 + ], + "scale": 1.4899, + "joints": [ + [ + 588, + 435 + ], + [ + 556, + 325 + ], + [ + 508, + 230.99999999999997 + ], + [ + 509, + 230.99999999999997 + ], + [ + 557, + 324 + ], + [ + 593, + 438.99999999999994 + ], + [ + 516, + 223 + ], + [ + 624, + 200 + ], + [ + 648, + 206 + ], + [ + 703, + 218 + ], + [ + 610, + 308 + ], + [ + 605, + 241.99999999999997 + ], + [ + 629, + 187.00000000000003 + ], + [ + 633, + 187.00000000000003 + ], + [ + 609, + 240.99999999999997 + ], + [ + 600, + 318 + ] + ], + "image": "d02779.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603.5, + 278.5 + ], + "scale": 1.3299, + "joints": [ + [ + 493, + 406 + ], + [ + 520, + 306 + ], + [ + 532, + 192 + ], + [ + 532, + 191 + ], + [ + 520, + 311 + ], + [ + 492, + 409 + ], + [ + 537, + 187.00000000000003 + ], + [ + 671, + 214 + ], + [ + 678, + 220.00000000000003 + ], + [ + 717, + 247 + ], + [ + 633, + 325 + ], + [ + 645, + 252 + ], + [ + 667, + 205 + ], + [ + 661, + 207 + ], + [ + 637, + 251 + ], + [ + 627, + 314 + ] + ], + "image": "d02780.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 585, + 266.5 + ], + "scale": 1.2399, + "joints": [ + [ + 451, + 369.99999999999994 + ], + [ + 503, + 276 + ], + [ + 546, + 174 + ], + [ + 544, + 170 + ], + [ + 504, + 273 + ], + [ + 450, + 370.99999999999994 + ], + [ + 553, + 173 + ], + [ + 665, + 216 + ], + [ + 684, + 229.99999999999997 + ], + [ + 726, + 268 + ], + [ + 645, + 342 + ], + [ + 662, + 260 + ], + [ + 679, + 210.00000000000003 + ], + [ + 677, + 207 + ], + [ + 650, + 252.99999999999997 + ], + [ + 633, + 331 + ] + ], + "image": "d02781.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569.5, + 246.5 + ], + "scale": 1.0799, + "joints": [ + [ + 415, + 335 + ], + [ + 489, + 259 + ], + [ + 559, + 164 + ], + [ + 559, + 165 + ], + [ + 491, + 255.00000000000003 + ], + [ + 416, + 331 + ], + [ + 567, + 162 + ], + [ + 679, + 227 + ], + [ + 691, + 241.99999999999997 + ], + [ + 721, + 267 + ], + [ + 653, + 341 + ], + [ + 673, + 274 + ], + [ + 686, + 234 + ], + [ + 681, + 232.00000000000003 + ], + [ + 658, + 270 + ], + [ + 646, + 334 + ] + ], + "image": "d02782.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 540.5, + 269 + ], + "scale": 1.6549, + "joints": [ + [ + 381, + 118 + ], + [ + 494, + 152 + ], + [ + 594, + 176 + ], + [ + 592, + 174 + ], + [ + 495, + 145 + ], + [ + 382, + 115 + ], + [ + 594, + 176 + ], + [ + 675, + 279 + ], + [ + 675, + 293 + ], + [ + 715, + 333 + ], + [ + 692, + 430 + ], + [ + 696, + 336 + ], + [ + 697, + 289 + ], + [ + 690, + 287 + ], + [ + 678, + 352 + ], + [ + 682, + 419.00000000000006 + ] + ], + "image": "d02783.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 549, + 244.5 + ], + "scale": 2.1999, + "joints": [ + [ + 419, + 52 + ], + [ + 504, + 137 + ], + [ + 602, + 198.00000000000003 + ], + [ + 598, + 194 + ], + [ + 505, + 130 + ], + [ + 422, + 52 + ], + [ + 602, + 202 + ], + [ + 654, + 296 + ], + [ + 660, + 315 + ], + [ + 697, + 369.99999999999994 + ], + [ + 686, + 456 + ], + [ + 683, + 380 + ], + [ + 688, + 323 + ], + [ + 679, + 322 + ], + [ + 673, + 380 + ], + [ + 676, + 453 + ] + ], + "image": "d02784.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 446.5 + ], + "scale": 1.5699, + "joints": [ + [ + 517, + 536 + ], + [ + 599, + 531 + ], + [ + 552, + 454 + ], + [ + 565, + 445 + ], + [ + 636, + 488 + ], + [ + 638, + 596 + ], + [ + 559, + 441.00000000000006 + ], + [ + 595, + 350 + ], + [ + 605, + 327 + ], + [ + 602, + 293 + ], + [ + 713, + 379 + ], + [ + 649, + 376 + ], + [ + 606, + 345 + ], + [ + 603, + 345 + ], + [ + 642, + 383 + ], + [ + 705, + 407 + ] + ], + "image": "d02785.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 629, + 340.5 + ], + "scale": 2.5799000000000003, + "joints": [ + [ + 633, + 458.99999999999994 + ], + [ + 681, + 386 + ], + [ + 599, + 361 + ], + [ + 600, + 357 + ], + [ + 614, + 464.00000000000006 + ], + [ + 623, + 565 + ], + [ + 601, + 357 + ], + [ + 611, + 254.00000000000003 + ], + [ + 609, + 238 + ], + [ + 612, + 204 + ], + [ + 584, + 112 + ], + [ + 591, + 179 + ], + [ + 597, + 252 + ], + [ + 622, + 243.00000000000003 + ], + [ + 623, + 180 + ], + [ + 626, + 105.00000000000001 + ] + ], + "image": "d02786.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 648.5, + 362 + ], + "scale": 2.4749, + "joints": [ + [ + 670, + 577 + ], + [ + 661, + 479 + ], + [ + 645, + 388 + ], + [ + 644, + 385 + ], + [ + 662, + 480 + ], + [ + 672, + 577 + ], + [ + 644, + 384 + ], + [ + 647, + 286 + ], + [ + 647, + 268 + ], + [ + 665, + 229.99999999999997 + ], + [ + 662, + 125 + ], + [ + 651, + 193 + ], + [ + 631, + 265 + ], + [ + 636, + 262 + ], + [ + 642, + 199 + ], + [ + 650, + 124 + ] + ], + "image": "d02787.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 651.5, + 381.5 + ], + "scale": 2.4899, + "joints": [ + [ + 670, + 595 + ], + [ + 665, + 502 + ], + [ + 646, + 408 + ], + [ + 648, + 410 + ], + [ + 664, + 504.99999999999994 + ], + [ + 671, + 597 + ], + [ + 649, + 409 + ], + [ + 646, + 307 + ], + [ + 650, + 285 + ], + [ + 667, + 249 + ], + [ + 669, + 150 + ], + [ + 651, + 225 + ], + [ + 633, + 291 + ], + [ + 638, + 288 + ], + [ + 644, + 218 + ], + [ + 653, + 153 + ] + ], + "image": "d02788.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 648.5, + 396.5 + ], + "scale": 2.5199000000000003, + "joints": [ + [ + 668, + 621 + ], + [ + 662, + 520 + ], + [ + 648, + 428 + ], + [ + 648, + 426 + ], + [ + 660, + 518 + ], + [ + 671, + 615 + ], + [ + 649, + 425 + ], + [ + 650, + 324 + ], + [ + 651, + 304 + ], + [ + 665, + 270 + ], + [ + 666, + 165 + ], + [ + 652, + 240.99999999999997 + ], + [ + 632, + 305 + ], + [ + 637, + 299 + ], + [ + 643, + 238 + ], + [ + 652, + 160 + ] + ], + "image": "d02789.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 622, + 385.5 + ], + "scale": 2.4299, + "joints": [ + [ + 635, + 611 + ], + [ + 633, + 520 + ], + [ + 621, + 422 + ], + [ + 623, + 420 + ], + [ + 634, + 521 + ], + [ + 637, + 613 + ], + [ + 622, + 420 + ], + [ + 624, + 312 + ], + [ + 629, + 294 + ], + [ + 645, + 271 + ], + [ + 628, + 166 + ], + [ + 623, + 238 + ], + [ + 610, + 306 + ], + [ + 611, + 304 + ], + [ + 623, + 234 + ], + [ + 620, + 166 + ] + ], + "image": "d02790.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 632, + 397 + ], + "scale": 2.2849, + "joints": [ + [ + 632, + 611 + ], + [ + 632, + 509.00000000000006 + ], + [ + 618, + 419.00000000000006 + ], + [ + 621, + 418.00000000000006 + ], + [ + 634, + 507.00000000000006 + ], + [ + 635, + 610 + ], + [ + 623, + 417.00000000000006 + ], + [ + 635, + 315 + ], + [ + 638, + 294 + ], + [ + 655, + 260 + ], + [ + 596, + 206 + ], + [ + 613, + 254.00000000000003 + ], + [ + 620, + 299 + ], + [ + 621, + 290 + ], + [ + 618, + 224 + ], + [ + 607, + 180 + ] + ], + "image": "d02791.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625, + 421 + ], + "scale": 1.9849, + "joints": [ + [ + 629, + 611 + ], + [ + 636, + 509.00000000000006 + ], + [ + 621, + 420 + ], + [ + 623, + 419.00000000000006 + ], + [ + 639, + 505.99999999999994 + ], + [ + 633, + 606 + ], + [ + 619, + 412 + ], + [ + 642, + 312 + ], + [ + 648, + 293 + ], + [ + 673, + 257 + ], + [ + 565, + 277 + ], + [ + 604, + 298 + ], + [ + 633, + 289 + ], + [ + 633, + 277 + ], + [ + 601, + 264 + ], + [ + 572, + 233 + ] + ], + "image": "d02792.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618.5, + 433 + ], + "scale": 1.7749000000000001, + "joints": [ + [ + 617, + 598 + ], + [ + 641, + 487.00000000000006 + ], + [ + 611, + 413.99999999999994 + ], + [ + 614, + 413 + ], + [ + 642, + 485.00000000000006 + ], + [ + 625, + 589 + ], + [ + 614, + 409 + ], + [ + 646, + 311 + ], + [ + 657, + 295 + ], + [ + 679, + 261 + ], + [ + 572, + 325 + ], + [ + 615, + 317 + ], + [ + 640, + 304 + ], + [ + 640, + 290 + ], + [ + 603, + 292 + ], + [ + 554, + 283 + ] + ], + "image": "d02793.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 628.5, + 424.5 + ], + "scale": 1.6899000000000002, + "joints": [ + [ + 620, + 577 + ], + [ + 654, + 476 + ], + [ + 599, + 408 + ], + [ + 604, + 407 + ], + [ + 657, + 473 + ], + [ + 624, + 571 + ], + [ + 606, + 404 + ], + [ + 663, + 314 + ], + [ + 672, + 294 + ], + [ + 686, + 257 + ], + [ + 565, + 402 + ], + [ + 611, + 363 + ], + [ + 651, + 308 + ], + [ + 651, + 303 + ], + [ + 611, + 352 + ], + [ + 574, + 373.00000000000006 + ] + ], + "image": "d02794.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 636, + 417.5 + ], + "scale": 1.5199, + "joints": [ + [ + 622, + 559 + ], + [ + 662, + 458 + ], + [ + 592, + 408 + ], + [ + 596, + 405 + ], + [ + 662, + 456 + ], + [ + 624, + 559 + ], + [ + 599, + 402 + ], + [ + 659, + 331 + ], + [ + 677, + 315 + ], + [ + 681, + 274 + ], + [ + 608, + 446 + ], + [ + 633, + 392.99999999999994 + ], + [ + 651, + 343 + ], + [ + 655, + 340 + ], + [ + 631, + 388 + ], + [ + 614, + 434 + ] + ], + "image": "d02795.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 637, + 424 + ], + "scale": 1.4249, + "joints": [ + [ + 610, + 552 + ], + [ + 648, + 463.00000000000006 + ], + [ + 587, + 419.00000000000006 + ], + [ + 591, + 414.99999999999994 + ], + [ + 654, + 462.00000000000006 + ], + [ + 617, + 550 + ], + [ + 594, + 411 + ], + [ + 658, + 349 + ], + [ + 669, + 329 + ], + [ + 677, + 288 + ], + [ + 665, + 463.00000000000006 + ], + [ + 655, + 408 + ], + [ + 657, + 364 + ], + [ + 658, + 358 + ], + [ + 655, + 410 + ], + [ + 673, + 454 + ] + ], + "image": "d02796.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 656, + 437 + ], + "scale": 1.4149, + "joints": [ + [ + 613, + 566 + ], + [ + 651, + 473 + ], + [ + 590, + 429 + ], + [ + 594, + 427 + ], + [ + 655, + 471 + ], + [ + 614, + 565 + ], + [ + 594, + 421 + ], + [ + 660, + 358 + ], + [ + 674, + 337 + ], + [ + 668, + 301 + ], + [ + 727, + 426 + ], + [ + 686, + 397.00000000000006 + ], + [ + 656, + 358 + ], + [ + 659, + 354 + ], + [ + 688, + 390 + ], + [ + 727, + 419.00000000000006 + ] + ], + "image": "d02797.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 654, + 440 + ], + "scale": 1.4449, + "joints": [ + [ + 610, + 569 + ], + [ + 651, + 472 + ], + [ + 588, + 429 + ], + [ + 591, + 426 + ], + [ + 654, + 471 + ], + [ + 614, + 565 + ], + [ + 594, + 421 + ], + [ + 660, + 356 + ], + [ + 670, + 340 + ], + [ + 674, + 301 + ], + [ + 721, + 424 + ], + [ + 684, + 396.00000000000006 + ], + [ + 654, + 362 + ], + [ + 655, + 357 + ], + [ + 685, + 390 + ], + [ + 723, + 417.00000000000006 + ] + ], + "image": "d02798.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 659.5, + 449 + ], + "scale": 1.4749, + "joints": [ + [ + 595, + 589 + ], + [ + 638, + 492 + ], + [ + 585, + 438.99999999999994 + ], + [ + 589, + 436 + ], + [ + 640, + 490 + ], + [ + 599, + 583 + ], + [ + 593, + 434 + ], + [ + 654, + 365 + ], + [ + 664, + 346 + ], + [ + 665, + 311 + ], + [ + 757, + 355 + ], + [ + 707, + 383 + ], + [ + 657, + 355 + ], + [ + 660, + 355 + ], + [ + 710, + 367 + ], + [ + 755, + 348 + ] + ], + "image": "d02799.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 639.5, + 442 + ], + "scale": 1.6249, + "joints": [ + [ + 589, + 586 + ], + [ + 628, + 516 + ], + [ + 578, + 447 + ], + [ + 590, + 444 + ], + [ + 634, + 509.00000000000006 + ], + [ + 587, + 588 + ], + [ + 589, + 443 + ], + [ + 662, + 347 + ], + [ + 663, + 336 + ], + [ + 654, + 306 + ], + [ + 720, + 293 + ], + [ + 705, + 348 + ], + [ + 651, + 352 + ], + [ + 667, + 339 + ], + [ + 698, + 332 + ], + [ + 711, + 285 + ] + ], + "image": "d02800.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625, + 449.5 + ], + "scale": 1.7699, + "joints": [ + [ + 575, + 610 + ], + [ + 618, + 523 + ], + [ + 590, + 448 + ], + [ + 592, + 446 + ], + [ + 621, + 515 + ], + [ + 577, + 611 + ], + [ + 594, + 442.00000000000006 + ], + [ + 652, + 354 + ], + [ + 653, + 337 + ], + [ + 652, + 302 + ], + [ + 659, + 276 + ], + [ + 686, + 315 + ], + [ + 643, + 350 + ], + [ + 644, + 341 + ], + [ + 695, + 288 + ], + [ + 665, + 275 + ] + ], + "image": "d02801.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 623, + 413.5 + ], + "scale": 2.0399000000000003, + "joints": [ + [ + 562, + 608 + ], + [ + 613, + 503 + ], + [ + 605, + 436 + ], + [ + 608, + 435 + ], + [ + 617, + 501 + ], + [ + 568, + 607 + ], + [ + 613, + 431 + ], + [ + 655, + 342 + ], + [ + 664, + 318 + ], + [ + 668, + 278 + ], + [ + 672, + 225 + ], + [ + 683, + 282 + ], + [ + 651, + 321 + ], + [ + 657, + 315 + ], + [ + 685, + 268 + ], + [ + 675, + 221.00000000000003 + ] + ], + "image": "d02802.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 694.5, + 409.5 + ], + "scale": 1.7599, + "joints": [ + [ + 577, + 578 + ], + [ + 598, + 482.99999999999994 + ], + [ + 611, + 388 + ], + [ + 612, + 387 + ], + [ + 601, + 483.99999999999994 + ], + [ + 582, + 579 + ], + [ + 618, + 384 + ], + [ + 679, + 304 + ], + [ + 693, + 296 + ], + [ + 728, + 265 + ], + [ + 801, + 246 + ], + [ + 741, + 281 + ], + [ + 692, + 284 + ], + [ + 690, + 283 + ], + [ + 744, + 276 + ], + [ + 807, + 239 + ] + ], + "image": "d02803.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 700.5, + 410.5 + ], + "scale": 1.5099, + "joints": [ + [ + 587, + 544 + ], + [ + 603, + 438.99999999999994 + ], + [ + 613, + 355 + ], + [ + 614, + 353 + ], + [ + 606, + 440.00000000000006 + ], + [ + 592, + 543 + ], + [ + 617, + 350 + ], + [ + 715, + 292 + ], + [ + 735, + 282 + ], + [ + 760, + 276 + ], + [ + 822, + 318 + ], + [ + 763, + 305 + ], + [ + 723, + 282 + ], + [ + 725, + 286 + ], + [ + 765, + 303 + ], + [ + 816, + 314 + ] + ], + "image": "d02804.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 688, + 371 + ], + "scale": 1.1749, + "joints": [ + [ + 585, + 467 + ], + [ + 616, + 368.99999999999994 + ], + [ + 645, + 276 + ], + [ + 644, + 275 + ], + [ + 615, + 367 + ], + [ + 586, + 462.00000000000006 + ], + [ + 651, + 276 + ], + [ + 747, + 331 + ], + [ + 758, + 341 + ], + [ + 796, + 355 + ], + [ + 725, + 411 + ], + [ + 728, + 368 + ], + [ + 753, + 338 + ], + [ + 746, + 339 + ], + [ + 718, + 368.99999999999994 + ], + [ + 725, + 413 + ] + ], + "image": "d02805.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 689, + 369.5 + ], + "scale": 1.1699000000000002, + "joints": [ + [ + 583, + 479 + ], + [ + 617, + 363 + ], + [ + 645, + 270 + ], + [ + 646, + 273 + ], + [ + 613, + 365 + ], + [ + 583, + 479 + ], + [ + 654, + 272 + ], + [ + 741, + 328 + ], + [ + 752, + 336 + ], + [ + 793, + 345 + ], + [ + 724, + 415.99999999999994 + ], + [ + 727, + 367 + ], + [ + 748, + 334 + ], + [ + 743, + 338 + ], + [ + 718, + 367 + ], + [ + 719, + 412 + ] + ], + "image": "d02806.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 667, + 338.5 + ], + "scale": 1.0399, + "joints": [ + [ + 572, + 414.99999999999994 + ], + [ + 625, + 345 + ], + [ + 682, + 261 + ], + [ + 685, + 261 + ], + [ + 627, + 339 + ], + [ + 571, + 413 + ], + [ + 691, + 269 + ], + [ + 725, + 347 + ], + [ + 730, + 368 + ], + [ + 761, + 398 + ], + [ + 635, + 409 + ], + [ + 685, + 368.99999999999994 + ], + [ + 739, + 358 + ], + [ + 731, + 376 + ], + [ + 695, + 374.00000000000006 + ], + [ + 655, + 389 + ] + ], + "image": "d02807.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 662, + 338 + ], + "scale": 0.9249, + "joints": [ + [ + 563, + 363 + ], + [ + 649, + 315 + ], + [ + 725, + 275 + ], + [ + 725, + 271 + ], + [ + 647, + 313 + ], + [ + 563, + 362 + ], + [ + 729, + 283 + ], + [ + 707, + 349 + ], + [ + 697, + 372.00000000000006 + ], + [ + 713, + 424 + ], + [ + 600, + 323 + ], + [ + 665, + 333 + ], + [ + 710, + 372.00000000000006 + ], + [ + 711, + 362 + ], + [ + 675, + 324 + ], + [ + 616, + 307 + ] + ], + "image": "d02808.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 544, + 347 + ], + "scale": 0.9649000000000001, + "joints": [ + [ + 505, + 417.00000000000006 + ], + [ + 515, + 346 + ], + [ + 503, + 263 + ], + [ + 505, + 264 + ], + [ + 515, + 344 + ], + [ + 508, + 415.99999999999994 + ], + [ + 510, + 263 + ], + [ + 552, + 331 + ], + [ + 570, + 348 + ], + [ + 598, + 364 + ], + [ + 497, + 352 + ], + [ + 503, + 334 + ], + [ + 564, + 337 + ], + [ + 559, + 342 + ], + [ + 515, + 339 + ], + [ + 504, + 333 + ] + ], + "image": "d02809.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 701.5, + 282.5 + ], + "scale": 1.0899, + "joints": [ + [ + 692, + 198.00000000000003 + ], + [ + 715, + 275 + ], + [ + 743, + 368.99999999999994 + ], + [ + 746, + 367 + ], + [ + 716, + 270 + ], + [ + 698, + 194 + ], + [ + 735, + 365 + ], + [ + 677, + 325 + ], + [ + 659, + 313 + ], + [ + 637, + 298 + ], + [ + 726, + 259 + ], + [ + 712, + 314 + ], + [ + 659, + 330 + ], + [ + 673, + 314 + ], + [ + 725, + 291 + ], + [ + 741, + 246 + ] + ], + "image": "d02810.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 701.5, + 280 + ], + "scale": 1.1649, + "joints": [ + [ + 693, + 193 + ], + [ + 716, + 282 + ], + [ + 744, + 368.99999999999994 + ], + [ + 748, + 367 + ], + [ + 717, + 277 + ], + [ + 699, + 191 + ], + [ + 737, + 364 + ], + [ + 674, + 320 + ], + [ + 658, + 315 + ], + [ + 635, + 294 + ], + [ + 725, + 250 + ], + [ + 715, + 313 + ], + [ + 658, + 329 + ], + [ + 674, + 312 + ], + [ + 720, + 297 + ], + [ + 739, + 250 + ] + ], + "image": "d02811.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 726, + 294 + ], + "scale": 1.1749, + "joints": [ + [ + 772, + 199 + ], + [ + 746, + 289 + ], + [ + 717, + 388 + ], + [ + 722, + 384 + ], + [ + 749, + 283 + ], + [ + 785, + 210.00000000000003 + ], + [ + 715, + 382 + ], + [ + 688, + 310 + ], + [ + 685, + 293 + ], + [ + 685, + 255.00000000000003 + ], + [ + 761, + 270 + ], + [ + 728, + 319 + ], + [ + 676, + 303 + ], + [ + 691, + 299 + ], + [ + 733, + 305 + ], + [ + 781, + 273 + ] + ], + "image": "d02812.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 754, + 327 + ], + "scale": 0.8249000000000001, + "joints": [ + [ + 849, + 275 + ], + [ + 769, + 322 + ], + [ + 682, + 385 + ], + [ + 684, + 384 + ], + [ + 772, + 324 + ], + [ + 849, + 272 + ], + [ + 681, + 378 + ], + [ + 712, + 300 + ], + [ + 720, + 284 + ], + [ + 730, + 260 + ], + [ + 792, + 336 + ], + [ + 731, + 336 + ], + [ + 702, + 293 + ], + [ + 708, + 296 + ], + [ + 739, + 327 + ], + [ + 782, + 316 + ] + ], + "image": "d02813.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 769.5, + 336.5 + ], + "scale": 0.6099000000000001, + "joints": [ + [ + 866, + 376 + ], + [ + 762, + 361 + ], + [ + 676, + 364 + ], + [ + 677, + 364 + ], + [ + 765, + 361 + ], + [ + 869, + 361 + ], + [ + 678, + 357 + ], + [ + 745, + 315 + ], + [ + 759, + 305 + ], + [ + 780, + 275 + ], + [ + 784, + 380 + ], + [ + 739, + 350 + ], + [ + 739, + 307 + ], + [ + 741, + 313 + ], + [ + 740, + 352 + ], + [ + 785, + 376 + ] + ], + "image": "d02814.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 747.5, + 384.5 + ], + "scale": 0.9399000000000001, + "joints": [ + [ + 817, + 465 + ], + [ + 741, + 392.99999999999994 + ], + [ + 671, + 336 + ], + [ + 674, + 338 + ], + [ + 744, + 392.99999999999994 + ], + [ + 819, + 460.99999999999994 + ], + [ + 680, + 331 + ], + [ + 761, + 325 + ], + [ + 784, + 326 + ], + [ + 815, + 314 + ], + [ + 758, + 427 + ], + [ + 740, + 361 + ], + [ + 771, + 319 + ], + [ + 769, + 331 + ], + [ + 753, + 366 + ], + [ + 750, + 427 + ] + ], + "image": "d02815.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 660.5, + 339.5 + ], + "scale": 0.7299000000000001, + "joints": [ + [ + 557, + 299 + ], + [ + 663, + 295 + ], + [ + 754, + 303 + ], + [ + 755, + 304 + ], + [ + 664, + 295 + ], + [ + 560, + 291 + ], + [ + 756, + 314 + ], + [ + 695, + 363 + ], + [ + 675, + 369.99999999999994 + ], + [ + 640, + 388 + ], + [ + 637, + 281 + ], + [ + 691, + 317 + ], + [ + 691, + 376 + ], + [ + 687, + 367 + ], + [ + 680, + 315 + ], + [ + 639, + 268 + ] + ], + "image": "d02816.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 606.5, + 295 + ], + "scale": 0.9049, + "joints": [ + [ + 514, + 372.00000000000006 + ], + [ + 554, + 290 + ], + [ + 602, + 224 + ], + [ + 603, + 222 + ], + [ + 553, + 291 + ], + [ + 515, + 368.99999999999994 + ], + [ + 610, + 228 + ], + [ + 665, + 302 + ], + [ + 678, + 314 + ], + [ + 717, + 327 + ], + [ + 565, + 369.99999999999994 + ], + [ + 625, + 332 + ], + [ + 667, + 301 + ], + [ + 662, + 303 + ], + [ + 624, + 332 + ], + [ + 583, + 365 + ] + ], + "image": "d02817.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 658, + 340 + ], + "scale": 2.2149, + "joints": [ + [ + 668, + 521 + ], + [ + 695, + 429 + ], + [ + 637, + 368 + ], + [ + 641, + 368 + ], + [ + 655, + 457 + ], + [ + 667, + 535 + ], + [ + 642, + 362 + ], + [ + 655, + 278 + ], + [ + 658, + 255.00000000000003 + ], + [ + 676, + 226 + ], + [ + 683, + 144 + ], + [ + 665, + 194 + ], + [ + 643, + 255.00000000000003 + ], + [ + 645, + 264 + ], + [ + 668, + 193 + ], + [ + 682, + 144 + ] + ], + "image": "d02818.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 634.5, + 355 + ], + "scale": 2.0149, + "joints": [ + [ + 641, + 547 + ], + [ + 644, + 456 + ], + [ + 616, + 384 + ], + [ + 617, + 382 + ], + [ + 645, + 458 + ], + [ + 643, + 552 + ], + [ + 619, + 375 + ], + [ + 640, + 282 + ], + [ + 647, + 268 + ], + [ + 674, + 238 + ], + [ + 642, + 176 + ], + [ + 636, + 233 + ], + [ + 634, + 272 + ], + [ + 638, + 267 + ], + [ + 642, + 225 + ], + [ + 648, + 170 + ] + ], + "image": "d02819.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 631, + 381 + ], + "scale": 1.9049, + "joints": [ + [ + 630, + 546 + ], + [ + 641, + 456 + ], + [ + 603, + 391.99999999999994 + ], + [ + 606, + 388 + ], + [ + 643, + 456 + ], + [ + 634, + 546 + ], + [ + 609, + 385 + ], + [ + 642, + 295 + ], + [ + 655, + 277 + ], + [ + 673, + 251 + ], + [ + 620, + 209.00000000000003 + ], + [ + 624, + 259 + ], + [ + 635, + 283 + ], + [ + 638, + 278 + ], + [ + 628, + 252.99999999999997 + ], + [ + 620, + 207.99999999999997 + ] + ], + "image": "d02820.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 621.5, + 408 + ], + "scale": 1.3649, + "joints": [ + [ + 608, + 526 + ], + [ + 644, + 442.00000000000006 + ], + [ + 581, + 397.00000000000006 + ], + [ + 582, + 398 + ], + [ + 644, + 444 + ], + [ + 612, + 526 + ], + [ + 584, + 395.00000000000006 + ], + [ + 639, + 330 + ], + [ + 659, + 311 + ], + [ + 684, + 277 + ], + [ + 562, + 317 + ], + [ + 607, + 318 + ], + [ + 646, + 314 + ], + [ + 645, + 311 + ], + [ + 607, + 308 + ], + [ + 584, + 302 + ] + ], + "image": "d02821.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610.5, + 409 + ], + "scale": 1.2149, + "joints": [ + [ + 600, + 513 + ], + [ + 634, + 436.99999999999994 + ], + [ + 569, + 398 + ], + [ + 570, + 398 + ], + [ + 639, + 436 + ], + [ + 604, + 517 + ], + [ + 578, + 395.00000000000006 + ], + [ + 639, + 342 + ], + [ + 660, + 324 + ], + [ + 680, + 291 + ], + [ + 546, + 393.99999999999994 + ], + [ + 597, + 352 + ], + [ + 640, + 333 + ], + [ + 638, + 327 + ], + [ + 612, + 335 + ], + [ + 554, + 362 + ] + ], + "image": "d02822.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 609, + 409.5 + ], + "scale": 1.1699000000000002, + "joints": [ + [ + 596, + 523 + ], + [ + 630, + 437.99999999999994 + ], + [ + 563, + 398 + ], + [ + 564, + 396.00000000000006 + ], + [ + 630, + 434 + ], + [ + 600, + 516 + ], + [ + 568, + 392.99999999999994 + ], + [ + 635, + 349 + ], + [ + 656, + 333 + ], + [ + 670, + 295 + ], + [ + 566, + 440.00000000000006 + ], + [ + 585, + 390 + ], + [ + 623, + 351 + ], + [ + 630, + 344 + ], + [ + 598, + 377 + ], + [ + 603, + 417.00000000000006 + ] + ], + "image": "d02823.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 615, + 419 + ], + "scale": 1.3649, + "joints": [ + [ + 573, + 540 + ], + [ + 601, + 470 + ], + [ + 561, + 409 + ], + [ + 566, + 405 + ], + [ + 606, + 467 + ], + [ + 578, + 534 + ], + [ + 566, + 404 + ], + [ + 621, + 336 + ], + [ + 636, + 318 + ], + [ + 645, + 285 + ], + [ + 688, + 402 + ], + [ + 634, + 398 + ], + [ + 618, + 347 + ], + [ + 623, + 339 + ], + [ + 647, + 373.00000000000006 + ], + [ + 694, + 383 + ] + ], + "image": "d02824.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 637, + 349.5 + ], + "scale": 1.2099000000000002, + "joints": [ + [ + 549, + 455 + ], + [ + 549, + 360 + ], + [ + 566, + 275 + ], + [ + 565, + 275 + ], + [ + 548, + 360 + ], + [ + 549, + 452 + ], + [ + 569, + 271 + ], + [ + 677, + 263 + ], + [ + 693, + 261 + ], + [ + 721, + 252 + ], + [ + 732, + 323 + ], + [ + 707, + 294 + ], + [ + 689, + 268 + ], + [ + 687, + 263 + ], + [ + 708, + 290 + ], + [ + 734, + 324 + ] + ], + "image": "d02825.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 588, + 291.5 + ], + "scale": 0.8799000000000001, + "joints": [ + [ + 488, + 324 + ], + [ + 564, + 267 + ], + [ + 628, + 230.99999999999997 + ], + [ + 631, + 227 + ], + [ + 566, + 267 + ], + [ + 490, + 322 + ], + [ + 634, + 237 + ], + [ + 641, + 315 + ], + [ + 651, + 334 + ], + [ + 667, + 366 + ], + [ + 535, + 309 + ], + [ + 600, + 314 + ], + [ + 643, + 324 + ], + [ + 648, + 321 + ], + [ + 601, + 303 + ], + [ + 541, + 293 + ] + ], + "image": "d02826.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 574.5, + 303 + ], + "scale": 0.8549000000000001, + "joints": [ + [ + 479, + 276 + ], + [ + 584, + 256 + ], + [ + 664, + 251 + ], + [ + 661, + 248 + ], + [ + 583, + 255.00000000000003 + ], + [ + 485, + 271 + ], + [ + 660, + 257 + ], + [ + 618, + 328 + ], + [ + 604, + 354 + ], + [ + 584, + 388 + ], + [ + 531, + 260 + ], + [ + 579, + 294 + ], + [ + 618, + 333 + ], + [ + 620, + 324 + ], + [ + 587, + 282 + ], + [ + 548, + 256 + ] + ], + "image": "d02827.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 574.5, + 303.5 + ], + "scale": 0.8699000000000001, + "joints": [ + [ + 483, + 275 + ], + [ + 576, + 256 + ], + [ + 658, + 251 + ], + [ + 657, + 248 + ], + [ + 576, + 254.00000000000003 + ], + [ + 483, + 271 + ], + [ + 659, + 260 + ], + [ + 619, + 323 + ], + [ + 607, + 346 + ], + [ + 578, + 392.99999999999994 + ], + [ + 522, + 256 + ], + [ + 579, + 292 + ], + [ + 619, + 334 + ], + [ + 621, + 328 + ], + [ + 588, + 282 + ], + [ + 535, + 252 + ] + ], + "image": "d02828.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 588.5, + 290 + ], + "scale": 0.8749000000000001, + "joints": [ + [ + 502, + 216 + ], + [ + 593, + 249 + ], + [ + 660, + 291 + ], + [ + 665, + 290 + ], + [ + 592, + 247 + ], + [ + 506, + 216 + ], + [ + 659, + 299 + ], + [ + 601, + 327 + ], + [ + 577, + 340 + ], + [ + 540, + 359 + ], + [ + 551, + 232.00000000000003 + ], + [ + 587, + 283 + ], + [ + 588, + 340 + ], + [ + 591, + 331 + ], + [ + 601, + 279 + ], + [ + 572, + 218 + ] + ], + "image": "d02829.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 595.5, + 264.5 + ], + "scale": 1.0799, + "joints": [ + [ + 562, + 174 + ], + [ + 620, + 256 + ], + [ + 654, + 331 + ], + [ + 656, + 328 + ], + [ + 623, + 254.00000000000003 + ], + [ + 573, + 172 + ], + [ + 649, + 334 + ], + [ + 571, + 330 + ], + [ + 553, + 328 + ], + [ + 518, + 326 + ], + [ + 594, + 218 + ], + [ + 592, + 280 + ], + [ + 572, + 335 + ], + [ + 585, + 324 + ], + [ + 617, + 302 + ], + [ + 635, + 238 + ] + ], + "image": "d02830.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/train.json.amltmp b/deep-high-resolution-net.pytorch/data/mpii/annot/train.json.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..c09a8e2858f7738b98e3e5d8c1ea5dfdf86adf60 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/train.json.amltmp @@ -0,0 +1,24002 @@ +[ + { + "center": [ + 671.5, + 315.5 + ], + "scale": 0.4799000000000001, + "joints": [ + [ + 790, + 296 + ], + [ + 711, + 318 + ], + [ + 664, + 340 + ], + [ + 672, + 310 + ], + [ + 718, + 298 + ], + [ + 779, + 284 + ], + [ + 665, + 323 + ], + [ + 609, + 324 + ], + [ + 585, + 323 + ], + [ + 557, + 318 + ], + [ + 643, + 330 + ], + [ + 635, + 364 + ], + [ + 591, + 348 + ], + [ + 595, + 317 + ], + [ + 559, + 286 + ], + [ + 537, + 299 + ] + ], + "image": "d02570.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 782, + 430 + ], + "scale": 1.6849, + "joints": [ + [ + 606, + 560 + ], + [ + 615, + 422 + ], + [ + 695, + 321 + ], + [ + 698, + 327 + ], + [ + 615, + 425 + ], + [ + 607, + 563 + ], + [ + 698, + 319 + ], + [ + 855, + 297 + ], + [ + 890, + 297 + ], + [ + 942, + 290 + ], + [ + 961, + 360 + ], + [ + 918, + 340 + ], + [ + 868, + 316 + ], + [ + 870, + 323 + ], + [ + 918, + 344 + ], + [ + 965, + 362 + ] + ], + "image": "d02571.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 786, + 431 + ], + "scale": 1.6849, + "joints": [ + [ + 602, + 554 + ], + [ + 617, + 421 + ], + [ + 688, + 320 + ], + [ + 693, + 322 + ], + [ + 618, + 423 + ], + [ + 605, + 556 + ], + [ + 698, + 318 + ], + [ + 861, + 299 + ], + [ + 893, + 300 + ], + [ + 945, + 294 + ], + [ + 960, + 362 + ], + [ + 921, + 339 + ], + [ + 865, + 314 + ], + [ + 865, + 322 + ], + [ + 918, + 343 + ], + [ + 964, + 360 + ] + ], + "image": "d02572.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 766.5, + 405.5 + ], + "scale": 1.4399000000000002, + "joints": [ + [ + 586, + 515 + ], + [ + 615, + 391 + ], + [ + 702, + 310 + ], + [ + 706, + 313 + ], + [ + 618, + 392.99999999999994 + ], + [ + 582, + 516 + ], + [ + 710, + 305 + ], + [ + 865, + 311 + ], + [ + 894, + 312 + ], + [ + 933, + 315 + ], + [ + 962, + 388 + ], + [ + 923, + 354 + ], + [ + 863, + 321 + ], + [ + 867, + 331 + ], + [ + 910, + 366 + ], + [ + 961, + 386 + ] + ], + "image": "d02573.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 746.5, + 378 + ], + "scale": 1.1749, + "joints": [ + [ + 554, + 470 + ], + [ + 620, + 355 + ], + [ + 719, + 294 + ], + [ + 720, + 291 + ], + [ + 623, + 361 + ], + [ + 555, + 468 + ], + [ + 724, + 292 + ], + [ + 859, + 314 + ], + [ + 895, + 333 + ], + [ + 941, + 337 + ], + [ + 953, + 417.00000000000006 + ], + [ + 921, + 378 + ], + [ + 869, + 331 + ], + [ + 867, + 341 + ], + [ + 909, + 397.00000000000006 + ], + [ + 947, + 413 + ] + ], + "image": "d02574.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 745.5, + 377.5 + ], + "scale": 1.1599000000000002, + "joints": [ + [ + 554, + 467 + ], + [ + 613, + 364 + ], + [ + 714, + 294 + ], + [ + 713, + 295 + ], + [ + 616, + 366 + ], + [ + 555, + 465 + ], + [ + 719, + 291 + ], + [ + 861, + 321 + ], + [ + 892, + 334 + ], + [ + 940, + 333 + ], + [ + 955, + 423 + ], + [ + 915, + 370.99999999999994 + ], + [ + 866, + 330 + ], + [ + 865, + 342 + ], + [ + 911, + 396.00000000000006 + ], + [ + 951, + 415.99999999999994 + ] + ], + "image": "d02575.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 717, + 372.5 + ], + "scale": 1.1099, + "joints": [ + [ + 510, + 361 + ], + [ + 629, + 307 + ], + [ + 740, + 287 + ], + [ + 739, + 291 + ], + [ + 630, + 314 + ], + [ + 508, + 362 + ], + [ + 744, + 287 + ], + [ + 867, + 338 + ], + [ + 893, + 358 + ], + [ + 941, + 363 + ], + [ + 934, + 464.00000000000006 + ], + [ + 903, + 402 + ], + [ + 863, + 357 + ], + [ + 862, + 363 + ], + [ + 891, + 433 + ], + [ + 930, + 456 + ] + ], + "image": "d02576.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 727.5, + 337.5 + ], + "scale": 1.7399, + "joints": [ + [ + 555, + 193 + ], + [ + 684, + 239 + ], + [ + 768, + 281 + ], + [ + 770, + 283 + ], + [ + 686, + 243.00000000000003 + ], + [ + 558, + 196.99999999999997 + ], + [ + 773, + 285 + ], + [ + 858, + 367 + ], + [ + 877, + 393.99999999999994 + ], + [ + 923, + 405 + ], + [ + 904, + 501 + ], + [ + 881, + 437.99999999999994 + ], + [ + 853, + 390 + ], + [ + 852, + 392.99999999999994 + ], + [ + 865, + 458 + ], + [ + 899, + 499 + ] + ], + "image": "d02577.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 737.5, + 314.5 + ], + "scale": 2.0199000000000003, + "joints": [ + [ + 581, + 142 + ], + [ + 683, + 210.00000000000003 + ], + [ + 774, + 280 + ], + [ + 769, + 284 + ], + [ + 679, + 210.00000000000003 + ], + [ + 578, + 144 + ], + [ + 776, + 278 + ], + [ + 849, + 370.99999999999994 + ], + [ + 869, + 403 + ], + [ + 914, + 423 + ], + [ + 892, + 499 + ], + [ + 869, + 445 + ], + [ + 847, + 393.99999999999994 + ], + [ + 847, + 402 + ], + [ + 849, + 459.99999999999994 + ], + [ + 885, + 503 + ] + ], + "image": "d02578.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 737.5, + 313 + ], + "scale": 2.0149, + "joints": [ + [ + 582, + 140 + ], + [ + 680, + 216 + ], + [ + 769, + 283 + ], + [ + 770, + 284 + ], + [ + 681, + 218 + ], + [ + 584, + 143 + ], + [ + 777, + 289 + ], + [ + 852, + 379 + ], + [ + 868, + 402 + ], + [ + 916, + 415.99999999999994 + ], + [ + 890, + 505.99999999999994 + ], + [ + 872, + 447 + ], + [ + 855, + 388 + ], + [ + 849, + 400 + ], + [ + 848, + 459.99999999999994 + ], + [ + 882, + 507.00000000000006 + ] + ], + "image": "d02579.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 738, + 314 + ], + "scale": 2.0449, + "joints": [ + [ + 586, + 144 + ], + [ + 687, + 215 + ], + [ + 778, + 282 + ], + [ + 776, + 283 + ], + [ + 687, + 218.99999999999997 + ], + [ + 581, + 146 + ], + [ + 777, + 285 + ], + [ + 849, + 379 + ], + [ + 872, + 403 + ], + [ + 916, + 428 + ], + [ + 886, + 508.00000000000006 + ], + [ + 874, + 452 + ], + [ + 854, + 390 + ], + [ + 848, + 399 + ], + [ + 848, + 460.99999999999994 + ], + [ + 882, + 510 + ] + ], + "image": "d02580.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 770, + 290.5 + ], + "scale": 2.3899, + "joints": [ + [ + 651, + 81 + ], + [ + 718, + 188 + ], + [ + 779, + 281 + ], + [ + 779, + 284 + ], + [ + 716, + 189 + ], + [ + 649, + 83 + ], + [ + 784, + 287 + ], + [ + 837, + 384 + ], + [ + 853, + 414.99999999999994 + ], + [ + 900, + 444 + ], + [ + 868, + 519 + ], + [ + 852, + 457 + ], + [ + 839, + 398 + ], + [ + 836, + 401 + ], + [ + 827, + 463.00000000000006 + ], + [ + 861, + 523 + ] + ], + "image": "d02581.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 786.5, + 282 + ], + "scale": 2.5149, + "joints": [ + [ + 691, + 69 + ], + [ + 741, + 178 + ], + [ + 786, + 278 + ], + [ + 786, + 280 + ], + [ + 738, + 176 + ], + [ + 687, + 68 + ], + [ + 787, + 283 + ], + [ + 828, + 391.99999999999994 + ], + [ + 842, + 414.99999999999994 + ], + [ + 889, + 440.00000000000006 + ], + [ + 851, + 514 + ], + [ + 843, + 456 + ], + [ + 832, + 392.99999999999994 + ], + [ + 828, + 396.00000000000006 + ], + [ + 816, + 458.99999999999994 + ], + [ + 838, + 523 + ] + ], + "image": "d02582.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 801, + 279 + ], + "scale": 2.5649, + "joints": [ + [ + 730, + 64 + ], + [ + 756, + 163 + ], + [ + 787, + 277 + ], + [ + 786, + 281 + ], + [ + 755, + 163 + ], + [ + 730, + 65 + ], + [ + 791, + 285 + ], + [ + 823, + 403 + ], + [ + 833, + 419.00000000000006 + ], + [ + 872, + 447 + ], + [ + 836, + 504.99999999999994 + ], + [ + 832, + 452 + ], + [ + 824, + 399 + ], + [ + 818, + 404 + ], + [ + 804, + 460.99999999999994 + ], + [ + 822, + 520 + ] + ], + "image": "d02583.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 803, + 280 + ], + "scale": 2.5549, + "joints": [ + [ + 726, + 57.99999999999999 + ], + [ + 757, + 164 + ], + [ + 788, + 284 + ], + [ + 784, + 285 + ], + [ + 753, + 165 + ], + [ + 725, + 57.99999999999999 + ], + [ + 789, + 287 + ], + [ + 818, + 391.99999999999994 + ], + [ + 831, + 420 + ], + [ + 876, + 447 + ], + [ + 840, + 505.99999999999994 + ], + [ + 830, + 446 + ], + [ + 822, + 399 + ], + [ + 815, + 403 + ], + [ + 800, + 459.99999999999994 + ], + [ + 821, + 520 + ] + ], + "image": "d02584.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 811, + 277.5 + ], + "scale": 2.6599, + "joints": [ + [ + 769, + 53 + ], + [ + 779, + 165 + ], + [ + 791, + 279 + ], + [ + 788, + 278 + ], + [ + 779, + 161 + ], + [ + 767, + 48 + ], + [ + 792, + 284 + ], + [ + 811, + 403 + ], + [ + 820, + 423 + ], + [ + 862, + 452 + ], + [ + 825, + 505.99999999999994 + ], + [ + 817, + 445 + ], + [ + 812, + 405 + ], + [ + 807, + 409 + ], + [ + 791, + 458.99999999999994 + ], + [ + 807, + 517 + ] + ], + "image": "d02585.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 808, + 281.5 + ], + "scale": 2.5399000000000003, + "joints": [ + [ + 850, + 66 + ], + [ + 828, + 161 + ], + [ + 796, + 285 + ], + [ + 794, + 288 + ], + [ + 828, + 159 + ], + [ + 850, + 70 + ], + [ + 796, + 291 + ], + [ + 787, + 404 + ], + [ + 795, + 426 + ], + [ + 833, + 464.00000000000006 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 779, + 409 + ], + [ + 770, + 417.00000000000006 + ], + [ + 769, + 468 + ], + [ + 775, + 520 + ] + ], + "image": "d02586.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 570.5, + 274 + ], + "scale": 0.8049000000000001, + "joints": [ + [ + 590, + 218 + ], + [ + 550, + 282 + ], + [ + 622, + 297 + ], + [ + 622, + 295 + ], + [ + 552, + 279 + ], + [ + 598, + 226 + ], + [ + 614, + 297 + ], + [ + 546, + 323 + ], + [ + 534, + 329 + ], + [ + 514, + 331 + ], + [ + 560, + 256 + ], + [ + 560, + 301 + ], + [ + 542, + 330 + ], + [ + 547, + 318 + ], + [ + 563, + 287 + ], + [ + 558, + 252 + ] + ], + "image": "d02587.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 609, + 273 + ], + "scale": 1.1749, + "joints": [ + [ + 490, + 217 + ], + [ + 631, + 298 + ], + [ + 687, + 349 + ], + [ + 689, + 352 + ], + [ + 632, + 302 + ], + [ + 491, + 220.00000000000003 + ], + [ + 692, + 339 + ], + [ + 665, + 222 + ], + [ + 651, + 203 + ], + [ + 636, + 162 + ], + [ + 578, + 306 + ], + [ + 642, + 271 + ], + [ + 696, + 203 + ], + [ + 676, + 218 + ], + [ + 626, + 260 + ], + [ + 550, + 301 + ] + ], + "image": "d02588.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 726.5, + 325 + ], + "scale": 0.7449000000000001, + "joints": [ + [ + 664, + 359 + ], + [ + 732, + 318 + ], + [ + 737, + 377 + ], + [ + 734, + 378 + ], + [ + 734, + 321 + ], + [ + 662, + 355 + ], + [ + 740, + 375 + ], + [ + 764, + 306 + ], + [ + 773, + 286 + ], + [ + 798, + 263 + ], + [ + 695, + 331 + ], + [ + 742, + 332 + ], + [ + 758, + 301 + ], + [ + 780, + 310 + ], + [ + 758, + 354 + ], + [ + 708, + 347 + ] + ], + "image": "d02589.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 606.5, + 328 + ], + "scale": 1.8349000000000002, + "joints": [ + [ + 632, + 489 + ], + [ + 685, + 408 + ], + [ + 642, + 340 + ], + [ + 642, + 344 + ], + [ + 683, + 409 + ], + [ + 630, + 488 + ], + [ + 644, + 339 + ], + [ + 601, + 252 + ], + [ + 590, + 233 + ], + [ + 575, + 193 + ], + [ + 520, + 159 + ], + [ + 559, + 195 + ], + [ + 587, + 261 + ], + [ + 591, + 246 + ], + [ + 558, + 189 + ], + [ + 529, + 154 + ] + ], + "image": "d02590.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 508, + 260.5 + ], + "scale": 1.0799, + "joints": [ + [ + 496, + 178 + ], + [ + 514, + 266 + ], + [ + 529, + 341 + ], + [ + 533, + 340 + ], + [ + 518, + 264 + ], + [ + 498, + 176 + ], + [ + 522, + 340 + ], + [ + 483, + 296 + ], + [ + 477, + 281 + ], + [ + 469, + 254.00000000000003 + ], + [ + 539, + 255.00000000000003 + ], + [ + 500, + 240 + ], + [ + 465, + 283 + ], + [ + 488, + 284 + ], + [ + 506, + 264 + ], + [ + 537, + 265 + ] + ], + "image": "d02591.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516.5, + 272 + ], + "scale": 1.0449000000000002, + "joints": [ + [ + 559, + 195.99999999999997 + ], + [ + 534, + 280 + ], + [ + 507, + 362 + ], + [ + 506, + 359 + ], + [ + 536, + 280 + ], + [ + 557, + 195.99999999999997 + ], + [ + 503, + 352 + ], + [ + 493, + 291 + ], + [ + 497, + 277 + ], + [ + 498, + 247 + ], + [ + 556, + 281 + ], + [ + 524, + 252.99999999999997 + ], + [ + 480, + 275 + ], + [ + 504, + 278 + ], + [ + 529, + 281 + ], + [ + 559, + 283 + ] + ], + "image": "d02592.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 539.5, + 373.5 + ], + "scale": 1.0899, + "joints": [ + [ + 527, + 464.00000000000006 + ], + [ + 519, + 373.00000000000006 + ], + [ + 518, + 290 + ], + [ + 521, + 290 + ], + [ + 520, + 372.00000000000006 + ], + [ + 526, + 462.00000000000006 + ], + [ + 527, + 289 + ], + [ + 550, + 353 + ], + [ + 556, + 368.99999999999994 + ], + [ + 555, + 391.99999999999994 + ], + [ + 489, + 375 + ], + [ + 512, + 383 + ], + [ + 555, + 363 + ], + [ + 552, + 363 + ], + [ + 519, + 360 + ], + [ + 497, + 365 + ] + ], + "image": "d02593.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 581.5, + 298 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 635, + 227 + ], + [ + 617, + 301 + ], + [ + 602, + 385 + ], + [ + 604, + 382 + ], + [ + 629, + 303 + ], + [ + 653, + 227 + ], + [ + 598, + 381 + ], + [ + 541, + 360 + ], + [ + 529, + 354 + ], + [ + 516, + 324 + ], + [ + 538, + 312 + ], + [ + 526, + 338 + ], + [ + 518, + 361 + ], + [ + 537, + 350 + ], + [ + 551, + 333 + ], + [ + 581, + 305 + ] + ], + "image": "d02594.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 550, + 243.5 + ], + "scale": 0.5899000000000001, + "joints": [ + [ + 632, + 289 + ], + [ + 554, + 280 + ], + [ + 463, + 267 + ], + [ + 462, + 267 + ], + [ + 557, + 281 + ], + [ + 634, + 289 + ], + [ + 461, + 258 + ], + [ + 525, + 225 + ], + [ + 540, + 213 + ], + [ + 565, + 195 + ], + [ + 546, + 294 + ], + [ + 539, + 263 + ], + [ + 537, + 228 + ], + [ + 545, + 234 + ], + [ + 550, + 262 + ], + [ + 548, + 294 + ] + ], + "image": "d02595.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 869.5, + 333.5 + ], + "scale": 1.5499, + "joints": [ + [ + 993, + 203 + ], + [ + 889, + 251 + ], + [ + 802, + 302 + ], + [ + 794, + 303 + ], + [ + 888, + 255.00000000000003 + ], + [ + 993, + 206 + ], + [ + 794, + 311 + ], + [ + 752, + 401 + ], + [ + 750, + 427 + ], + [ + 741, + 475 + ], + [ + 792, + 368 + ], + [ + 769, + 383 + ], + [ + 745, + 414.99999999999994 + ], + [ + 725, + 405 + ], + [ + 771, + 435 + ], + [ + 781, + 460.99999999999994 + ] + ], + "image": "d02596.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 871, + 375 + ], + "scale": 1.1149, + "joints": [ + [ + 1013, + 280 + ], + [ + 901, + 295 + ], + [ + 796, + 317 + ], + [ + 786, + 316 + ], + [ + 902, + 299 + ], + [ + 1010, + 281 + ], + [ + 790, + 323 + ], + [ + 745, + 413.99999999999994 + ], + [ + 744, + 424 + ], + [ + 732, + 472 + ], + [ + 809, + 349 + ], + [ + 773, + 358 + ], + [ + 768, + 400 + ], + [ + 712, + 405 + ], + [ + 752, + 397.00000000000006 + ], + [ + 798, + 426 + ] + ], + "image": "d02597.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 858.5, + 381 + ], + "scale": 1.0249000000000001, + "joints": [ + [ + 1007, + 357 + ], + [ + 880, + 336 + ], + [ + 785, + 317 + ], + [ + 780, + 315 + ], + [ + 881, + 337 + ], + [ + 1007, + 358 + ], + [ + 778, + 321 + ], + [ + 728, + 407 + ], + [ + 723, + 419.00000000000006 + ], + [ + 714, + 464.00000000000006 + ], + [ + 820, + 346 + ], + [ + 774, + 357 + ], + [ + 741, + 397.00000000000006 + ], + [ + 701, + 404 + ], + [ + 748, + 386 + ], + [ + 815, + 405 + ] + ], + "image": "d02598.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 852, + 379.5 + ], + "scale": 0.9499000000000001, + "joints": [ + [ + 999, + 396.00000000000006 + ], + [ + 879, + 351 + ], + [ + 788, + 311 + ], + [ + 785, + 311 + ], + [ + 880, + 356 + ], + [ + 997, + 406 + ], + [ + 783, + 322 + ], + [ + 726, + 402 + ], + [ + 724, + 413.99999999999994 + ], + [ + 701, + 465 + ], + [ + 824, + 346 + ], + [ + 759, + 358 + ], + [ + 741, + 400 + ], + [ + 706, + 397.00000000000006 + ], + [ + 765, + 391.99999999999994 + ], + [ + 821, + 403 + ] + ], + "image": "d02599.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 826, + 396.5 + ], + "scale": 1.0699, + "joints": [ + [ + 955, + 468 + ], + [ + 871, + 391.99999999999994 + ], + [ + 793, + 312 + ], + [ + 790, + 317 + ], + [ + 873, + 398 + ], + [ + 955, + 475 + ], + [ + 786, + 321 + ], + [ + 720, + 395.00000000000006 + ], + [ + 716, + 408 + ], + [ + 688, + 450 + ], + [ + 867, + 362 + ], + [ + 798, + 361 + ], + [ + 731, + 380 + ], + [ + 709, + 389 + ], + [ + 772, + 387 + ], + [ + 841, + 407 + ] + ], + "image": "d02600.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 826, + 397 + ], + "scale": 1.0349000000000002, + "joints": [ + [ + 959, + 471 + ], + [ + 872, + 392.99999999999994 + ], + [ + 793, + 320 + ], + [ + 790, + 324 + ], + [ + 873, + 396.00000000000006 + ], + [ + 959, + 473 + ], + [ + 784, + 326 + ], + [ + 716, + 398 + ], + [ + 712, + 407 + ], + [ + 683, + 443 + ], + [ + 867, + 359 + ], + [ + 795, + 361 + ], + [ + 733, + 382 + ], + [ + 703, + 390 + ], + [ + 774, + 385 + ], + [ + 843, + 403 + ] + ], + "image": "d02601.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 805, + 414.5 + ], + "scale": 1.1899000000000002, + "joints": [ + [ + 932, + 503 + ], + [ + 854, + 401 + ], + [ + 799, + 314 + ], + [ + 796, + 315 + ], + [ + 854, + 401 + ], + [ + 931, + 507.00000000000006 + ], + [ + 785, + 321 + ], + [ + 717, + 384 + ], + [ + 705, + 405 + ], + [ + 672, + 435 + ], + [ + 865, + 378 + ], + [ + 788, + 362 + ], + [ + 715, + 378 + ], + [ + 707, + 384 + ], + [ + 777, + 384 + ], + [ + 845, + 410 + ] + ], + "image": "d02602.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 786, + 430 + ], + "scale": 1.3149000000000002, + "joints": [ + [ + 893, + 528 + ], + [ + 852, + 443 + ], + [ + 802, + 321 + ], + [ + 800, + 321 + ], + [ + 850, + 444 + ], + [ + 892, + 530 + ], + [ + 793, + 323 + ], + [ + 709, + 387 + ], + [ + 700, + 397.00000000000006 + ], + [ + 667, + 426 + ], + [ + 860, + 397.00000000000006 + ], + [ + 785, + 364 + ], + [ + 719, + 368.99999999999994 + ], + [ + 707, + 376 + ], + [ + 782, + 390 + ], + [ + 845, + 420 + ] + ], + "image": "d02603.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 767.5, + 436 + ], + "scale": 1.3749, + "joints": [ + [ + 853, + 560 + ], + [ + 828, + 438.99999999999994 + ], + [ + 808, + 324 + ], + [ + 802, + 327 + ], + [ + 831, + 442.00000000000006 + ], + [ + 857, + 560 + ], + [ + 794, + 326 + ], + [ + 715, + 382 + ], + [ + 701, + 391.99999999999994 + ], + [ + 657, + 413.99999999999994 + ], + [ + 859, + 421 + ], + [ + 788, + 374.00000000000006 + ], + [ + 717, + 368.99999999999994 + ], + [ + 711, + 372.00000000000006 + ], + [ + 782, + 395.00000000000006 + ], + [ + 848, + 441.00000000000006 + ] + ], + "image": "d02604.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 749.5, + 442.5 + ], + "scale": 1.4499000000000002, + "joints": [ + [ + 827, + 569 + ], + [ + 810, + 451 + ], + [ + 811, + 330 + ], + [ + 809, + 334 + ], + [ + 809, + 449 + ], + [ + 825, + 567 + ], + [ + 803, + 333 + ], + [ + 715, + 379 + ], + [ + 700, + 386 + ], + [ + 657, + 404 + ], + [ + 841, + 436 + ], + [ + 779, + 383 + ], + [ + 712, + 364 + ], + [ + 710, + 368.99999999999994 + ], + [ + 773, + 397.00000000000006 + ], + [ + 839, + 452 + ] + ], + "image": "d02605.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 746, + 444 + ], + "scale": 1.5049000000000001, + "joints": [ + [ + 782, + 566 + ], + [ + 789, + 451 + ], + [ + 811, + 340 + ], + [ + 814, + 340 + ], + [ + 789, + 453 + ], + [ + 781, + 568 + ], + [ + 806, + 338 + ], + [ + 716, + 368.99999999999994 + ], + [ + 703, + 375 + ], + [ + 654, + 390 + ], + [ + 827, + 473 + ], + [ + 771, + 387 + ], + [ + 719, + 362 + ], + [ + 720, + 363 + ], + [ + 771, + 403 + ], + [ + 822, + 465 + ] + ], + "image": "d02606.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 746, + 437.5 + ], + "scale": 1.3899000000000001, + "joints": [ + [ + 698, + 559 + ], + [ + 751, + 451 + ], + [ + 820, + 361 + ], + [ + 820, + 364 + ], + [ + 751, + 451 + ], + [ + 700, + 559 + ], + [ + 816, + 355 + ], + [ + 712, + 356 + ], + [ + 701, + 358 + ], + [ + 651, + 364 + ], + [ + 773, + 481.99999999999994 + ], + [ + 761, + 395.00000000000006 + ], + [ + 714, + 345 + ], + [ + 724, + 348 + ], + [ + 761, + 407 + ], + [ + 777, + 486.00000000000006 + ] + ], + "image": "d02607.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 742, + 429 + ], + "scale": 1.3449, + "joints": [ + [ + 659, + 542 + ], + [ + 734, + 441.00000000000006 + ], + [ + 814, + 370.99999999999994 + ], + [ + 819, + 372.00000000000006 + ], + [ + 736, + 445 + ], + [ + 662, + 546 + ], + [ + 810, + 364 + ], + [ + 715, + 350 + ], + [ + 700, + 353 + ], + [ + 655, + 353 + ], + [ + 742, + 473 + ], + [ + 754, + 397.00000000000006 + ], + [ + 720, + 344 + ], + [ + 727, + 346 + ], + [ + 754, + 414.99999999999994 + ], + [ + 754, + 472 + ] + ], + "image": "d02608.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 742.5, + 427 + ], + "scale": 1.3249000000000002, + "joints": [ + [ + 663, + 543 + ], + [ + 738, + 436 + ], + [ + 814, + 369.99999999999994 + ], + [ + 820, + 369.99999999999994 + ], + [ + 740, + 436 + ], + [ + 660, + 544 + ], + [ + 811, + 367 + ], + [ + 719, + 354 + ], + [ + 699, + 355 + ], + [ + 650, + 352 + ], + [ + 745, + 469 + ], + [ + 751, + 403 + ], + [ + 722, + 345 + ], + [ + 730, + 349 + ], + [ + 756, + 419.00000000000006 + ], + [ + 755, + 466 + ] + ], + "image": "d02609.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 723, + 417 + ], + "scale": 1.2049, + "joints": [ + [ + 632, + 518 + ], + [ + 720, + 429 + ], + [ + 816, + 380 + ], + [ + 814, + 381 + ], + [ + 721, + 436 + ], + [ + 634, + 521 + ], + [ + 810, + 376 + ], + [ + 716, + 345 + ], + [ + 701, + 344 + ], + [ + 657, + 337 + ], + [ + 704, + 473 + ], + [ + 735, + 409 + ], + [ + 726, + 342 + ], + [ + 729, + 346 + ], + [ + 741, + 420 + ], + [ + 710, + 473 + ] + ], + "image": "d02610.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 709, + 399 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 606, + 490 + ], + [ + 710, + 419.00000000000006 + ], + [ + 806, + 392.99999999999994 + ], + [ + 811, + 395.00000000000006 + ], + [ + 712, + 422 + ], + [ + 606, + 488 + ], + [ + 806, + 387 + ], + [ + 726, + 341 + ], + [ + 711, + 337 + ], + [ + 669, + 317 + ], + [ + 683, + 451 + ], + [ + 721, + 404 + ], + [ + 723, + 337 + ], + [ + 730, + 345 + ], + [ + 729, + 418.00000000000006 + ], + [ + 693, + 462.00000000000006 + ] + ], + "image": "d02611.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 698, + 377 + ], + "scale": 0.8949000000000001, + "joints": [ + [ + 587, + 449 + ], + [ + 688, + 413 + ], + [ + 799, + 403 + ], + [ + 804, + 406 + ], + [ + 691, + 413.99999999999994 + ], + [ + 592, + 452 + ], + [ + 802, + 392.99999999999994 + ], + [ + 734, + 347 + ], + [ + 715, + 333 + ], + [ + 673, + 307 + ], + [ + 668, + 415.99999999999994 + ], + [ + 713, + 392.99999999999994 + ], + [ + 725, + 330 + ], + [ + 731, + 334 + ], + [ + 720, + 412 + ], + [ + 671, + 442.00000000000006 + ] + ], + "image": "d02612.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 690, + 363 + ], + "scale": 0.8349000000000001, + "joints": [ + [ + 577, + 418.00000000000006 + ], + [ + 689, + 396.00000000000006 + ], + [ + 788, + 410 + ], + [ + 791, + 411 + ], + [ + 690, + 399 + ], + [ + 577, + 420 + ], + [ + 790, + 402 + ], + [ + 731, + 339 + ], + [ + 720, + 327 + ], + [ + 682, + 293 + ], + [ + 654, + 405 + ], + [ + 711, + 388 + ], + [ + 734, + 319 + ], + [ + 737, + 331 + ], + [ + 712, + 404 + ], + [ + 658, + 428 + ] + ], + "image": "d02613.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 686.5, + 358.5 + ], + "scale": 0.8999000000000001, + "joints": [ + [ + 562, + 379 + ], + [ + 682, + 380 + ], + [ + 775, + 410 + ], + [ + 780, + 418.00000000000006 + ], + [ + 682, + 382 + ], + [ + 563, + 381 + ], + [ + 782, + 407 + ], + [ + 738, + 334 + ], + [ + 723, + 320 + ], + [ + 699, + 281 + ], + [ + 654, + 385 + ], + [ + 708, + 373.00000000000006 + ], + [ + 734, + 320 + ], + [ + 736, + 325 + ], + [ + 702, + 392.99999999999994 + ], + [ + 644, + 408 + ] + ], + "image": "d02614.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 676, + 356 + ], + "scale": 0.9649000000000001, + "joints": [ + [ + 565, + 342 + ], + [ + 682, + 367 + ], + [ + 761, + 414.99999999999994 + ], + [ + 766, + 422 + ], + [ + 684, + 374.00000000000006 + ], + [ + 567, + 347 + ], + [ + 770, + 413 + ], + [ + 741, + 333 + ], + [ + 733, + 313 + ], + [ + 718, + 277 + ], + [ + 647, + 359 + ], + [ + 708, + 375 + ], + [ + 746, + 322 + ], + [ + 740, + 329 + ], + [ + 699, + 388 + ], + [ + 641, + 391 + ] + ], + "image": "d02615.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 676.5, + 352 + ], + "scale": 0.9849000000000001, + "joints": [ + [ + 564, + 304 + ], + [ + 675, + 352 + ], + [ + 747, + 405 + ], + [ + 752, + 419.00000000000006 + ], + [ + 673, + 356 + ], + [ + 566, + 304 + ], + [ + 756, + 417.00000000000006 + ], + [ + 740, + 328 + ], + [ + 738, + 313 + ], + [ + 733, + 270 + ], + [ + 651, + 353 + ], + [ + 702, + 362 + ], + [ + 749, + 320 + ], + [ + 743, + 326 + ], + [ + 695, + 369.99999999999994 + ], + [ + 645, + 365 + ] + ], + "image": "d02616.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 677.5, + 358.5 + ], + "scale": 1.0099, + "joints": [ + [ + 569, + 305 + ], + [ + 678, + 356 + ], + [ + 745, + 409 + ], + [ + 751, + 421 + ], + [ + 674, + 358 + ], + [ + 567, + 305 + ], + [ + 753, + 413.99999999999994 + ], + [ + 744, + 329 + ], + [ + 737, + 310 + ], + [ + 729, + 267 + ], + [ + 654, + 357 + ], + [ + 705, + 360 + ], + [ + 739, + 319 + ], + [ + 739, + 326 + ], + [ + 696, + 374.00000000000006 + ], + [ + 651, + 366 + ] + ], + "image": "d02617.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 684, + 352 + ], + "scale": 1.0649000000000002, + "joints": [ + [ + 582, + 272 + ], + [ + 678, + 338 + ], + [ + 737, + 411 + ], + [ + 737, + 420 + ], + [ + 675, + 339 + ], + [ + 579, + 273 + ], + [ + 741, + 419.00000000000006 + ], + [ + 744, + 335 + ], + [ + 742, + 317 + ], + [ + 743, + 266 + ], + [ + 639, + 334 + ], + [ + 701, + 359 + ], + [ + 753, + 324 + ], + [ + 748, + 324 + ], + [ + 686, + 366 + ], + [ + 632, + 344 + ] + ], + "image": "d02618.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 687.5, + 334 + ], + "scale": 1.2049, + "joints": [ + [ + 594, + 235 + ], + [ + 682, + 328 + ], + [ + 715, + 418.00000000000006 + ], + [ + 715, + 420 + ], + [ + 680, + 328 + ], + [ + 591, + 235 + ], + [ + 719, + 417.00000000000006 + ], + [ + 744, + 336 + ], + [ + 747, + 313 + ], + [ + 757, + 267 + ], + [ + 647, + 312 + ], + [ + 696, + 355 + ], + [ + 751, + 329 + ], + [ + 753, + 325 + ], + [ + 689, + 356 + ], + [ + 637, + 325 + ] + ], + "image": "d02619.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 697.5, + 314.5 + ], + "scale": 1.3299, + "joints": [ + [ + 619, + 207.99999999999997 + ], + [ + 684, + 312 + ], + [ + 702, + 417.00000000000006 + ], + [ + 703, + 418.00000000000006 + ], + [ + 681, + 314 + ], + [ + 615, + 209.00000000000003 + ], + [ + 707, + 414.99999999999994 + ], + [ + 742, + 336 + ], + [ + 745, + 313 + ], + [ + 766, + 277 + ], + [ + 646, + 294 + ], + [ + 696, + 339 + ], + [ + 750, + 328 + ], + [ + 756, + 327 + ], + [ + 687, + 345 + ], + [ + 644, + 308 + ] + ], + "image": "d02620.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 714, + 307 + ], + "scale": 1.4249, + "joints": [ + [ + 649, + 192 + ], + [ + 686, + 301 + ], + [ + 685, + 409 + ], + [ + 687, + 410 + ], + [ + 685, + 300 + ], + [ + 645, + 191 + ], + [ + 693, + 410 + ], + [ + 738, + 342 + ], + [ + 747, + 322 + ], + [ + 772, + 285 + ], + [ + 657, + 287 + ], + [ + 689, + 341 + ], + [ + 753, + 333 + ], + [ + 754, + 336 + ], + [ + 685, + 336 + ], + [ + 651, + 292 + ] + ], + "image": "d02621.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 710.5, + 289 + ], + "scale": 1.3849, + "joints": [ + [ + 675, + 191 + ], + [ + 693, + 296 + ], + [ + 663, + 399 + ], + [ + 665, + 402 + ], + [ + 689, + 294 + ], + [ + 670, + 187.00000000000003 + ], + [ + 671, + 404 + ], + [ + 735, + 340 + ], + [ + 747, + 326 + ], + [ + 779, + 295 + ], + [ + 667, + 272 + ], + [ + 697, + 328 + ], + [ + 749, + 336 + ], + [ + 754, + 341 + ], + [ + 689, + 331 + ], + [ + 661, + 275 + ] + ], + "image": "d02622.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 696.5, + 293 + ], + "scale": 1.2449000000000001, + "joints": [ + [ + 768, + 195 + ], + [ + 703, + 299 + ], + [ + 633, + 365 + ], + [ + 631, + 366 + ], + [ + 704, + 302 + ], + [ + 770, + 195 + ], + [ + 638, + 368.99999999999994 + ], + [ + 721, + 352 + ], + [ + 742, + 343 + ], + [ + 788, + 334 + ], + [ + 704, + 252 + ], + [ + 701, + 312 + ], + [ + 734, + 351 + ], + [ + 736, + 357 + ], + [ + 693, + 318 + ], + [ + 700, + 251 + ] + ], + "image": "d02623.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 706.5, + 296.5 + ], + "scale": 1.1299000000000001, + "joints": [ + [ + 790, + 207 + ], + [ + 711, + 294 + ], + [ + 625, + 345 + ], + [ + 622, + 347 + ], + [ + 713, + 297 + ], + [ + 795, + 210.00000000000003 + ], + [ + 628, + 353 + ], + [ + 714, + 353 + ], + [ + 735, + 348 + ], + [ + 779, + 351 + ], + [ + 724, + 252.99999999999997 + ], + [ + 703, + 317 + ], + [ + 733, + 365 + ], + [ + 730, + 365 + ], + [ + 692, + 312 + ], + [ + 718, + 251 + ] + ], + "image": "d02624.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 715.5, + 309.5 + ], + "scale": 0.9299000000000001, + "joints": [ + [ + 808, + 233 + ], + [ + 714, + 301 + ], + [ + 613, + 331 + ], + [ + 615, + 335 + ], + [ + 716, + 305 + ], + [ + 811, + 234 + ], + [ + 616, + 341 + ], + [ + 716, + 354 + ], + [ + 732, + 359 + ], + [ + 768, + 368.99999999999994 + ], + [ + 729, + 264 + ], + [ + 698, + 317 + ], + [ + 719, + 366 + ], + [ + 717, + 368 + ], + [ + 693, + 312 + ], + [ + 726, + 262 + ] + ], + "image": "d02625.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 715.5, + 308.5 + ], + "scale": 0.9599000000000001, + "joints": [ + [ + 810, + 237 + ], + [ + 711, + 299 + ], + [ + 613, + 331 + ], + [ + 616, + 332 + ], + [ + 717, + 303 + ], + [ + 810, + 234 + ], + [ + 614, + 337 + ], + [ + 713, + 354 + ], + [ + 730, + 355 + ], + [ + 767, + 365 + ], + [ + 732, + 266 + ], + [ + 704, + 317 + ], + [ + 721, + 344 + ], + [ + 717, + 356 + ], + [ + 699, + 310 + ], + [ + 725, + 259 + ] + ], + "image": "d02626.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 723, + 331.5 + ], + "scale": 0.7599000000000001, + "joints": [ + [ + 830, + 293 + ], + [ + 713, + 314 + ], + [ + 611, + 300 + ], + [ + 608, + 298 + ], + [ + 712, + 316 + ], + [ + 831, + 294 + ], + [ + 610, + 306 + ], + [ + 686, + 357 + ], + [ + 703, + 367 + ], + [ + 744, + 401 + ], + [ + 749, + 292 + ], + [ + 704, + 329 + ], + [ + 702, + 360 + ], + [ + 696, + 360 + ], + [ + 699, + 313 + ], + [ + 744, + 281 + ] + ], + "image": "d02627.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 716.5, + 325 + ], + "scale": 0.9549000000000001, + "joints": [ + [ + 823, + 351 + ], + [ + 709, + 309 + ], + [ + 626, + 262 + ], + [ + 627, + 266 + ], + [ + 707, + 309 + ], + [ + 824, + 353 + ], + [ + 623, + 274 + ], + [ + 681, + 351 + ], + [ + 686, + 366 + ], + [ + 693, + 413.99999999999994 + ], + [ + 762, + 319 + ], + [ + 685, + 313 + ], + [ + 676, + 361 + ], + [ + 664, + 362 + ], + [ + 693, + 320 + ], + [ + 754, + 312 + ] + ], + "image": "d02628.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 713.5, + 319 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 823, + 392.99999999999994 + ], + [ + 709, + 327 + ], + [ + 634, + 252.99999999999997 + ], + [ + 632, + 255.00000000000003 + ], + [ + 707, + 331 + ], + [ + 820, + 392.99999999999994 + ], + [ + 628, + 260 + ], + [ + 668, + 358 + ], + [ + 673, + 373.00000000000006 + ], + [ + 669, + 417.00000000000006 + ], + [ + 754, + 331 + ], + [ + 684, + 318 + ], + [ + 660, + 361 + ], + [ + 652, + 361 + ], + [ + 689, + 322 + ], + [ + 748, + 325 + ] + ], + "image": "d02629.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 706, + 321 + ], + "scale": 0.9849000000000001, + "joints": [ + [ + 810, + 391 + ], + [ + 704, + 326 + ], + [ + 632, + 247 + ], + [ + 632, + 248 + ], + [ + 702, + 330 + ], + [ + 809, + 390 + ], + [ + 629, + 255.00000000000003 + ], + [ + 666, + 356 + ], + [ + 667, + 373.00000000000006 + ], + [ + 664, + 417.00000000000006 + ], + [ + 755, + 334 + ], + [ + 687, + 332 + ], + [ + 667, + 362 + ], + [ + 655, + 365 + ], + [ + 692, + 319 + ], + [ + 753, + 330 + ] + ], + "image": "d02630.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 683, + 334 + ], + "scale": 1.2149, + "joints": [ + [ + 764, + 437.99999999999994 + ], + [ + 698, + 345 + ], + [ + 657, + 240 + ], + [ + 658, + 241.99999999999997 + ], + [ + 696, + 345 + ], + [ + 761, + 435 + ], + [ + 650, + 244 + ], + [ + 640, + 354 + ], + [ + 639, + 369.99999999999994 + ], + [ + 613, + 401 + ], + [ + 736, + 360 + ], + [ + 676, + 316 + ], + [ + 631, + 343 + ], + [ + 631, + 348 + ], + [ + 681, + 320 + ], + [ + 735, + 353 + ] + ], + "image": "d02631.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 641.5, + 351.5 + ], + "scale": 1.3599, + "joints": [ + [ + 690, + 462.00000000000006 + ], + [ + 682, + 349 + ], + [ + 690, + 236 + ], + [ + 687, + 238 + ], + [ + 679, + 350 + ], + [ + 686, + 462.00000000000006 + ], + [ + 682, + 237 + ], + [ + 624, + 329 + ], + [ + 616, + 341 + ], + [ + 566, + 367 + ], + [ + 706, + 376 + ], + [ + 670, + 319 + ], + [ + 614, + 322 + ], + [ + 614, + 328 + ], + [ + 682, + 328 + ], + [ + 705, + 374.00000000000006 + ] + ], + "image": "d02632.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 638, + 348.5 + ], + "scale": 1.3499, + "joints": [ + [ + 656, + 460.99999999999994 + ], + [ + 669, + 348 + ], + [ + 694, + 241.99999999999997 + ], + [ + 694, + 243.00000000000003 + ], + [ + 672, + 349 + ], + [ + 651, + 464.00000000000006 + ], + [ + 686, + 241.99999999999997 + ], + [ + 622, + 315 + ], + [ + 608, + 329 + ], + [ + 555, + 343 + ], + [ + 691, + 382 + ], + [ + 670, + 320 + ], + [ + 611, + 308 + ], + [ + 614, + 313 + ], + [ + 673, + 328 + ], + [ + 690, + 370.99999999999994 + ] + ], + "image": "d02633.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 640.5, + 348.5 + ], + "scale": 1.3299, + "joints": [ + [ + 652, + 465 + ], + [ + 668, + 345 + ], + [ + 693, + 245 + ], + [ + 692, + 244 + ], + [ + 670, + 346 + ], + [ + 655, + 467 + ], + [ + 690, + 241.99999999999997 + ], + [ + 624, + 306 + ], + [ + 606, + 328 + ], + [ + 553, + 344 + ], + [ + 690, + 386 + ], + [ + 670, + 315 + ], + [ + 610, + 309 + ], + [ + 610, + 312 + ], + [ + 676, + 332 + ], + [ + 689, + 384 + ] + ], + "image": "d02634.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 636, + 338 + ], + "scale": 1.2549000000000001, + "joints": [ + [ + 594, + 434 + ], + [ + 645, + 343 + ], + [ + 705, + 263 + ], + [ + 708, + 264 + ], + [ + 647, + 343 + ], + [ + 591, + 434 + ], + [ + 697, + 258 + ], + [ + 615, + 283 + ], + [ + 588, + 288 + ], + [ + 538, + 289 + ], + [ + 645, + 372.00000000000006 + ], + [ + 651, + 299 + ], + [ + 602, + 276 + ], + [ + 604, + 284 + ], + [ + 661, + 331 + ], + [ + 653, + 386 + ] + ], + "image": "d02635.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 629.5, + 329.5 + ], + "scale": 1.2499, + "joints": [ + [ + 566, + 430 + ], + [ + 640, + 338 + ], + [ + 705, + 269 + ], + [ + 711, + 272 + ], + [ + 642, + 338 + ], + [ + 563, + 433 + ], + [ + 702, + 265 + ], + [ + 617, + 265 + ], + [ + 590, + 275 + ], + [ + 537, + 256 + ], + [ + 632, + 352 + ], + [ + 649, + 296 + ], + [ + 599, + 254.00000000000003 + ], + [ + 609, + 263 + ], + [ + 651, + 323 + ], + [ + 639, + 380 + ] + ], + "image": "d02636.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625.5, + 322 + ], + "scale": 1.1449, + "joints": [ + [ + 537, + 418.00000000000006 + ], + [ + 634, + 338 + ], + [ + 708, + 279 + ], + [ + 711, + 279 + ], + [ + 637, + 339 + ], + [ + 537, + 420 + ], + [ + 704, + 274 + ], + [ + 620, + 256 + ], + [ + 596, + 256 + ], + [ + 549, + 232.00000000000003 + ], + [ + 626, + 360 + ], + [ + 645, + 297 + ], + [ + 613, + 250 + ], + [ + 614, + 260 + ], + [ + 645, + 313 + ], + [ + 626, + 368.99999999999994 + ] + ], + "image": "d02637.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612.5, + 306 + ], + "scale": 1.1349, + "joints": [ + [ + 520, + 399 + ], + [ + 617, + 337 + ], + [ + 705, + 289 + ], + [ + 707, + 291 + ], + [ + 615, + 338 + ], + [ + 518, + 400 + ], + [ + 704, + 284 + ], + [ + 627, + 239 + ], + [ + 601, + 229.99999999999997 + ], + [ + 561, + 203 + ], + [ + 604, + 335 + ], + [ + 641, + 280 + ], + [ + 621, + 209.00000000000003 + ], + [ + 621, + 230.99999999999997 + ], + [ + 642, + 308 + ], + [ + 609, + 355 + ] + ], + "image": "d02638.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612, + 305.5 + ], + "scale": 1.1199000000000001, + "joints": [ + [ + 528, + 392.99999999999994 + ], + [ + 621, + 336 + ], + [ + 703, + 287 + ], + [ + 705, + 288 + ], + [ + 620, + 340 + ], + [ + 530, + 395.00000000000006 + ], + [ + 704, + 284 + ], + [ + 624, + 240 + ], + [ + 597, + 230.99999999999997 + ], + [ + 560, + 206 + ], + [ + 607, + 338 + ], + [ + 642, + 282 + ], + [ + 618, + 220.00000000000003 + ], + [ + 623, + 230.99999999999997 + ], + [ + 641, + 306 + ], + [ + 617, + 361 + ] + ], + "image": "d02639.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603, + 287 + ], + "scale": 1.1849, + "joints": [ + [ + 505, + 388 + ], + [ + 622, + 338 + ], + [ + 693, + 299 + ], + [ + 699, + 300 + ], + [ + 620, + 343 + ], + [ + 506, + 391 + ], + [ + 698, + 295 + ], + [ + 628, + 223 + ], + [ + 612, + 218 + ], + [ + 573, + 180 + ], + [ + 574, + 321 + ], + [ + 627, + 283 + ], + [ + 631, + 214 + ], + [ + 636, + 224 + ], + [ + 642, + 300 + ], + [ + 600, + 348 + ] + ], + "image": "d02640.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 601, + 273.5 + ], + "scale": 1.1899000000000002, + "joints": [ + [ + 489, + 381 + ], + [ + 606, + 343 + ], + [ + 684, + 302 + ], + [ + 697, + 309 + ], + [ + 606, + 340 + ], + [ + 488, + 380 + ], + [ + 690, + 301 + ], + [ + 646, + 223 + ], + [ + 627, + 205 + ], + [ + 600, + 160 + ], + [ + 563, + 281 + ], + [ + 626, + 267 + ], + [ + 645, + 203 + ], + [ + 647, + 214 + ], + [ + 641, + 282 + ], + [ + 578, + 312 + ] + ], + "image": "d02641.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619, + 425.5 + ], + "scale": 2.3399, + "joints": [ + [ + 660, + 640 + ], + [ + 641, + 545 + ], + [ + 623, + 455 + ], + [ + 622, + 456 + ], + [ + 640, + 547 + ], + [ + 659, + 642 + ], + [ + 623, + 453 + ], + [ + 605, + 342 + ], + [ + 601, + 320 + ], + [ + 600, + 274 + ], + [ + 626, + 214 + ], + [ + 626, + 276 + ], + [ + 628, + 317 + ], + [ + 627, + 330 + ], + [ + 611, + 309 + ], + [ + 593, + 276 + ] + ], + "image": "d02642.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 620, + 422.5 + ], + "scale": 2.3499, + "joints": [ + [ + 655, + 640 + ], + [ + 637, + 537 + ], + [ + 623, + 452 + ], + [ + 622, + 455 + ], + [ + 634, + 537 + ], + [ + 656, + 641 + ], + [ + 621, + 450 + ], + [ + 608, + 337 + ], + [ + 603, + 316 + ], + [ + 594, + 273 + ], + [ + 626, + 218.99999999999997 + ], + [ + 627, + 276 + ], + [ + 627, + 311 + ], + [ + 625, + 325 + ], + [ + 607, + 302 + ], + [ + 591, + 271 + ] + ], + "image": "d02643.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619.5, + 412.5 + ], + "scale": 2.3799, + "joints": [ + [ + 657, + 636 + ], + [ + 639, + 539 + ], + [ + 623, + 445 + ], + [ + 622, + 449 + ], + [ + 639, + 539 + ], + [ + 654, + 636 + ], + [ + 620, + 440.00000000000006 + ], + [ + 608, + 324 + ], + [ + 601, + 306 + ], + [ + 589, + 264 + ], + [ + 630, + 207 + ], + [ + 630, + 258 + ], + [ + 627, + 304 + ], + [ + 625, + 318 + ], + [ + 610, + 291 + ], + [ + 598, + 255.00000000000003 + ] + ], + "image": "d02644.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 621, + 399 + ], + "scale": 2.4549000000000003, + "joints": [ + [ + 654, + 625 + ], + [ + 637, + 525 + ], + [ + 622, + 440.00000000000006 + ], + [ + 621, + 442.00000000000006 + ], + [ + 635, + 528 + ], + [ + 655, + 628 + ], + [ + 621, + 435 + ], + [ + 607, + 311 + ], + [ + 598, + 295 + ], + [ + 587, + 262 + ], + [ + 630, + 192 + ], + [ + 629, + 252 + ], + [ + 629, + 298 + ], + [ + 624, + 315 + ], + [ + 609, + 275 + ], + [ + 603, + 220.00000000000003 + ] + ], + "image": "d02645.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619.5, + 386.5 + ], + "scale": 2.4799, + "joints": [ + [ + 650, + 619 + ], + [ + 638, + 505.99999999999994 + ], + [ + 625, + 426 + ], + [ + 625, + 426 + ], + [ + 636, + 508.00000000000006 + ], + [ + 650, + 619 + ], + [ + 624, + 423 + ], + [ + 608, + 309 + ], + [ + 600, + 287 + ], + [ + 589, + 252.99999999999997 + ], + [ + 630, + 174 + ], + [ + 628, + 238 + ], + [ + 627, + 292 + ], + [ + 625, + 301 + ], + [ + 611, + 252.99999999999997 + ], + [ + 604, + 192 + ] + ], + "image": "d02646.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618.5, + 377 + ], + "scale": 2.5049, + "joints": [ + [ + 653, + 603 + ], + [ + 637, + 488 + ], + [ + 626, + 412 + ], + [ + 625, + 414.99999999999994 + ], + [ + 637, + 490 + ], + [ + 653, + 604 + ], + [ + 623, + 407 + ], + [ + 607, + 291 + ], + [ + 602, + 274 + ], + [ + 591, + 237 + ], + [ + 631, + 154 + ], + [ + 630, + 225 + ], + [ + 629, + 280 + ], + [ + 628, + 283 + ], + [ + 611, + 229 + ], + [ + 605, + 164 + ] + ], + "image": "d02647.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 616.5, + 362 + ], + "scale": 2.5449, + "joints": [ + [ + 647, + 593 + ], + [ + 636, + 482.99999999999994 + ], + [ + 623, + 399 + ], + [ + 624, + 401 + ], + [ + 633, + 481 + ], + [ + 645, + 595 + ], + [ + 621, + 395.00000000000006 + ], + [ + 606, + 270 + ], + [ + 600, + 255.00000000000003 + ], + [ + 594, + 218.99999999999997 + ], + [ + 631, + 139 + ], + [ + 628, + 206 + ], + [ + 628, + 247 + ], + [ + 627, + 256 + ], + [ + 613, + 207.99999999999997 + ], + [ + 609, + 143 + ] + ], + "image": "d02648.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 615, + 339.5 + ], + "scale": 2.5799000000000003, + "joints": [ + [ + 639, + 567 + ], + [ + 632, + 453 + ], + [ + 626, + 368 + ], + [ + 624, + 372.00000000000006 + ], + [ + 632, + 455 + ], + [ + 639, + 568 + ], + [ + 626, + 370.99999999999994 + ], + [ + 607, + 241.99999999999997 + ], + [ + 603, + 229.99999999999997 + ], + [ + 590, + 192 + ], + [ + 624, + 100 + ], + [ + 629, + 175 + ], + [ + 630, + 226 + ], + [ + 630, + 232.00000000000003 + ], + [ + 613, + 177 + ], + [ + 610, + 109 + ] + ], + "image": "d02649.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619, + 314.5 + ], + "scale": 2.6199, + "joints": [ + [ + 636, + 541 + ], + [ + 632, + 432 + ], + [ + 631, + 345 + ], + [ + 632, + 348 + ], + [ + 629, + 432 + ], + [ + 631, + 543 + ], + [ + 631, + 348 + ], + [ + 607, + 220.00000000000003 + ], + [ + 601, + 213 + ], + [ + 587, + 176 + ], + [ + 619, + 81 + ], + [ + 626, + 155 + ], + [ + 633, + 206 + ], + [ + 632, + 213 + ], + [ + 614, + 160 + ], + [ + 605, + 87 + ] + ], + "image": "d02650.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618, + 306 + ], + "scale": 2.5849, + "joints": [ + [ + 632, + 536 + ], + [ + 627, + 428 + ], + [ + 630, + 338 + ], + [ + 633, + 340 + ], + [ + 625, + 428 + ], + [ + 629, + 541 + ], + [ + 633, + 338 + ], + [ + 608, + 218.99999999999997 + ], + [ + 603, + 213 + ], + [ + 590, + 171 + ], + [ + 611, + 74 + ], + [ + 622, + 148 + ], + [ + 635, + 199 + ], + [ + 632, + 206 + ], + [ + 610, + 154 + ], + [ + 603, + 89 + ] + ], + "image": "d02651.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 617.5, + 309 + ], + "scale": 2.5549, + "joints": [ + [ + 631, + 537 + ], + [ + 625, + 423 + ], + [ + 640, + 339 + ], + [ + 641, + 339 + ], + [ + 624, + 427 + ], + [ + 630, + 542 + ], + [ + 641, + 338 + ], + [ + 615, + 221.00000000000003 + ], + [ + 603, + 209.00000000000003 + ], + [ + 585, + 176 + ], + [ + 609, + 77 + ], + [ + 621, + 143 + ], + [ + 631, + 198.00000000000003 + ], + [ + 629, + 211 + ], + [ + 607, + 162 + ], + [ + 598, + 100 + ] + ], + "image": "d02652.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 620, + 334.5 + ], + "scale": 2.3399, + "joints": [ + [ + 636, + 550 + ], + [ + 614, + 447 + ], + [ + 641, + 356 + ], + [ + 643, + 357 + ], + [ + 614, + 448 + ], + [ + 635, + 549 + ], + [ + 643, + 357 + ], + [ + 610, + 243.00000000000003 + ], + [ + 600, + 233 + ], + [ + 582, + 198.00000000000003 + ], + [ + 620, + 112 + ], + [ + 624, + 177 + ], + [ + 629, + 236 + ], + [ + 629, + 240 + ], + [ + 611, + 192 + ], + [ + 604, + 134 + ] + ], + "image": "d02653.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618, + 339 + ], + "scale": 2.2949, + "joints": [ + [ + 633, + 550 + ], + [ + 606, + 450 + ], + [ + 648, + 369.99999999999994 + ], + [ + 649, + 369.99999999999994 + ], + [ + 606, + 449 + ], + [ + 634, + 553 + ], + [ + 648, + 367 + ], + [ + 603, + 258 + ], + [ + 595, + 246 + ], + [ + 574, + 209.00000000000003 + ], + [ + 633, + 122.00000000000001 + ], + [ + 627, + 194 + ], + [ + 622, + 243.00000000000003 + ], + [ + 623, + 248 + ], + [ + 616, + 207.99999999999997 + ], + [ + 612, + 163 + ] + ], + "image": "d02654.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 616.5, + 357 + ], + "scale": 2.0549, + "joints": [ + [ + 639, + 544 + ], + [ + 603, + 458.99999999999994 + ], + [ + 652, + 384 + ], + [ + 655, + 384 + ], + [ + 597, + 460.99999999999994 + ], + [ + 638, + 546 + ], + [ + 651, + 379 + ], + [ + 601, + 275 + ], + [ + 588, + 263 + ], + [ + 568, + 232.00000000000003 + ], + [ + 658, + 159 + ], + [ + 639, + 211 + ], + [ + 610, + 260 + ], + [ + 611, + 269 + ], + [ + 627, + 240.99999999999997 + ], + [ + 634, + 207 + ] + ], + "image": "d02655.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 614, + 356.5 + ], + "scale": 2.0899, + "joints": [ + [ + 636, + 545 + ], + [ + 600, + 454 + ], + [ + 650, + 382 + ], + [ + 653, + 383 + ], + [ + 598, + 458 + ], + [ + 634, + 546 + ], + [ + 649, + 378 + ], + [ + 595, + 270 + ], + [ + 585, + 261 + ], + [ + 564, + 232.00000000000003 + ], + [ + 656, + 164 + ], + [ + 630, + 221.00000000000003 + ], + [ + 605, + 260 + ], + [ + 609, + 268 + ], + [ + 625, + 244 + ], + [ + 637, + 207 + ] + ], + "image": "d02656.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619.5, + 390.5 + ], + "scale": 1.6599000000000002, + "joints": [ + [ + 637, + 543 + ], + [ + 597, + 454 + ], + [ + 653, + 389 + ], + [ + 657, + 391.99999999999994 + ], + [ + 596, + 456 + ], + [ + 638, + 544 + ], + [ + 656, + 391 + ], + [ + 595, + 301 + ], + [ + 580, + 288 + ], + [ + 555, + 259 + ], + [ + 676, + 237 + ], + [ + 633, + 269 + ], + [ + 604, + 289 + ], + [ + 603, + 294 + ], + [ + 638, + 276 + ], + [ + 665, + 257 + ] + ], + "image": "d02657.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 624.5, + 418 + ], + "scale": 1.3849, + "joints": [ + [ + 641, + 542 + ], + [ + 589, + 448 + ], + [ + 649, + 410 + ], + [ + 655, + 412 + ], + [ + 587, + 454 + ], + [ + 635, + 544 + ], + [ + 653, + 405 + ], + [ + 580, + 326 + ], + [ + 562, + 314 + ], + [ + 556, + 285 + ], + [ + 687, + 299 + ], + [ + 632, + 316 + ], + [ + 596, + 319 + ], + [ + 595, + 334 + ], + [ + 645, + 325 + ], + [ + 687, + 309 + ] + ], + "image": "d02658.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 620, + 429 + ], + "scale": 1.2949000000000002, + "joints": [ + [ + 630, + 539 + ], + [ + 587, + 449 + ], + [ + 650, + 422 + ], + [ + 655, + 429 + ], + [ + 584, + 454 + ], + [ + 630, + 543 + ], + [ + 649, + 418.00000000000006 + ], + [ + 581, + 359 + ], + [ + 563, + 339 + ], + [ + 557, + 308 + ], + [ + 667, + 401 + ], + [ + 627, + 378 + ], + [ + 589, + 349 + ], + [ + 599, + 376 + ], + [ + 634, + 398 + ], + [ + 688, + 427 + ] + ], + "image": "d02659.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 611, + 436.5 + ], + "scale": 1.3199, + "joints": [ + [ + 631, + 555 + ], + [ + 586, + 459.99999999999994 + ], + [ + 658, + 429 + ], + [ + 664, + 429 + ], + [ + 584, + 467 + ], + [ + 630, + 557 + ], + [ + 660, + 430 + ], + [ + 581, + 374.00000000000006 + ], + [ + 562, + 359 + ], + [ + 555, + 319 + ], + [ + 647, + 468 + ], + [ + 611, + 415.99999999999994 + ], + [ + 586, + 362 + ], + [ + 592, + 383 + ], + [ + 614, + 436.99999999999994 + ], + [ + 648, + 491 + ] + ], + "image": "d02660.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 608.5, + 437.5 + ], + "scale": 1.2899, + "joints": [ + [ + 630, + 548 + ], + [ + 583, + 464.00000000000006 + ], + [ + 655, + 434 + ], + [ + 662, + 435 + ], + [ + 582, + 467 + ], + [ + 632, + 552 + ], + [ + 660, + 431 + ], + [ + 585, + 373.00000000000006 + ], + [ + 562, + 354 + ], + [ + 558, + 317 + ], + [ + 646, + 472 + ], + [ + 611, + 419.00000000000006 + ], + [ + 588, + 369.99999999999994 + ], + [ + 588, + 380 + ], + [ + 609, + 431 + ], + [ + 642, + 478 + ] + ], + "image": "d02661.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 449.5 + ], + "scale": 1.3799000000000001, + "joints": [ + [ + 626, + 572 + ], + [ + 593, + 473 + ], + [ + 656, + 434 + ], + [ + 661, + 434 + ], + [ + 590, + 477 + ], + [ + 623, + 574 + ], + [ + 660, + 429 + ], + [ + 580, + 376 + ], + [ + 560, + 352 + ], + [ + 553, + 315 + ], + [ + 557, + 492 + ], + [ + 578, + 436.99999999999994 + ], + [ + 584, + 368.99999999999994 + ], + [ + 585, + 386 + ], + [ + 576, + 441.00000000000006 + ], + [ + 557, + 491 + ] + ], + "image": "d02662.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 578.5, + 455.5 + ], + "scale": 1.4899, + "joints": [ + [ + 614, + 587 + ], + [ + 589, + 487.00000000000006 + ], + [ + 657, + 432 + ], + [ + 662, + 433 + ], + [ + 585, + 490 + ], + [ + 617, + 588 + ], + [ + 654, + 426 + ], + [ + 578, + 368.99999999999994 + ], + [ + 563, + 350 + ], + [ + 559, + 308 + ], + [ + 482, + 448 + ], + [ + 541, + 409 + ], + [ + 577, + 363 + ], + [ + 575, + 376 + ], + [ + 538, + 413.99999999999994 + ], + [ + 482, + 452 + ] + ], + "image": "d02663.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 566, + 451 + ], + "scale": 1.5849000000000002, + "joints": [ + [ + 604, + 584 + ], + [ + 590, + 492 + ], + [ + 655, + 440.00000000000006 + ], + [ + 656, + 441.00000000000006 + ], + [ + 588, + 493 + ], + [ + 607, + 590 + ], + [ + 652, + 433 + ], + [ + 579, + 356 + ], + [ + 569, + 343 + ], + [ + 571, + 297 + ], + [ + 463, + 339 + ], + [ + 520, + 355 + ], + [ + 583, + 350 + ], + [ + 580, + 358 + ], + [ + 521, + 363 + ], + [ + 467, + 349 + ] + ], + "image": "d02664.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569.5, + 421.5 + ], + "scale": 1.8699000000000001, + "joints": [ + [ + 601, + 593 + ], + [ + 581, + 494 + ], + [ + 645, + 432 + ], + [ + 647, + 436 + ], + [ + 580, + 496 + ], + [ + 600, + 597 + ], + [ + 644, + 429 + ], + [ + 583, + 338 + ], + [ + 573, + 320 + ], + [ + 574, + 287 + ], + [ + 486, + 258 + ], + [ + 536, + 298 + ], + [ + 589, + 330 + ], + [ + 590, + 336 + ], + [ + 530, + 311 + ], + [ + 485, + 262 + ] + ], + "image": "d02665.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 598, + 389.5 + ], + "scale": 2.1499, + "joints": [ + [ + 601, + 588 + ], + [ + 583, + 494 + ], + [ + 636, + 421 + ], + [ + 639, + 424 + ], + [ + 578, + 496 + ], + [ + 597, + 592 + ], + [ + 637, + 417.00000000000006 + ], + [ + 595, + 320 + ], + [ + 591, + 301 + ], + [ + 600, + 264 + ], + [ + 545, + 201 + ], + [ + 566, + 277 + ], + [ + 603, + 312 + ], + [ + 604, + 314 + ], + [ + 562, + 280 + ], + [ + 538, + 210.00000000000003 + ] + ], + "image": "d02666.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 596, + 392.5 + ], + "scale": 2.1099, + "joints": [ + [ + 601, + 592 + ], + [ + 584, + 495 + ], + [ + 638, + 420 + ], + [ + 641, + 420 + ], + [ + 584, + 497 + ], + [ + 602, + 593 + ], + [ + 638, + 417.00000000000006 + ], + [ + 597, + 316 + ], + [ + 591, + 294 + ], + [ + 596, + 257 + ], + [ + 545, + 198.00000000000003 + ], + [ + 562, + 263 + ], + [ + 602, + 312 + ], + [ + 606, + 313 + ], + [ + 558, + 268 + ], + [ + 539, + 200 + ] + ], + "image": "d02667.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612.5, + 378.5 + ], + "scale": 2.2499000000000002, + "joints": [ + [ + 606, + 594 + ], + [ + 591, + 485.00000000000006 + ], + [ + 630, + 396.00000000000006 + ], + [ + 630, + 396.00000000000006 + ], + [ + 591, + 488 + ], + [ + 603, + 595 + ], + [ + 630, + 395.00000000000006 + ], + [ + 611, + 290 + ], + [ + 612, + 270 + ], + [ + 631, + 237 + ], + [ + 595, + 173 + ], + [ + 604, + 232.00000000000003 + ], + [ + 623, + 291 + ], + [ + 622, + 296 + ], + [ + 599, + 237 + ], + [ + 591, + 176 + ] + ], + "image": "d02668.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 638, + 366 + ], + "scale": 2.2549, + "joints": [ + [ + 607, + 575 + ], + [ + 601, + 474 + ], + [ + 623, + 381 + ], + [ + 624, + 381 + ], + [ + 603, + 475 + ], + [ + 606, + 575 + ], + [ + 623, + 377 + ], + [ + 630, + 268 + ], + [ + 634, + 252 + ], + [ + 660, + 218 + ], + [ + 654, + 155 + ], + [ + 648, + 202 + ], + [ + 641, + 262 + ], + [ + 642, + 269 + ], + [ + 640, + 207 + ], + [ + 656, + 156 + ] + ], + "image": "d02669.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 666.5, + 349 + ], + "scale": 2.1349, + "joints": [ + [ + 605, + 550 + ], + [ + 606, + 435 + ], + [ + 615, + 352 + ], + [ + 615, + 353 + ], + [ + 607, + 437.99999999999994 + ], + [ + 610, + 550 + ], + [ + 617, + 351 + ], + [ + 656, + 241.99999999999997 + ], + [ + 669, + 222 + ], + [ + 699, + 207.99999999999997 + ], + [ + 740, + 148 + ], + [ + 696, + 175 + ], + [ + 670, + 238 + ], + [ + 668, + 247 + ], + [ + 673, + 195 + ], + [ + 708, + 178 + ] + ], + "image": "d02670.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 696, + 342.5 + ], + "scale": 1.8899000000000001, + "joints": [ + [ + 613, + 508.00000000000006 + ], + [ + 602, + 410 + ], + [ + 615, + 316 + ], + [ + 616, + 319 + ], + [ + 603, + 412 + ], + [ + 615, + 512 + ], + [ + 616, + 314 + ], + [ + 688, + 207.99999999999997 + ], + [ + 703, + 198.00000000000003 + ], + [ + 747, + 193 + ], + [ + 788, + 165 + ], + [ + 742, + 177 + ], + [ + 691, + 222 + ], + [ + 691, + 227 + ], + [ + 739, + 189 + ], + [ + 781, + 168 + ] + ], + "image": "d02671.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590, + 300 + ], + "scale": 0.8249000000000001, + "joints": [ + [ + 566, + 376 + ], + [ + 576, + 313 + ], + [ + 566, + 235 + ], + [ + 568, + 235 + ], + [ + 575, + 314 + ], + [ + 569, + 377 + ], + [ + 574, + 235 + ], + [ + 600, + 293 + ], + [ + 606, + 314 + ], + [ + 630, + 342 + ], + [ + 559, + 323 + ], + [ + 555, + 299 + ], + [ + 602, + 302 + ], + [ + 602, + 310 + ], + [ + 567, + 336 + ], + [ + 560, + 327 + ] + ], + "image": "d02672.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 711.5, + 332 + ], + "scale": 1.6449, + "joints": [ + [ + 606, + 471 + ], + [ + 596, + 379 + ], + [ + 618, + 280 + ], + [ + 621, + 283 + ], + [ + 594, + 378 + ], + [ + 603, + 472 + ], + [ + 617, + 282 + ], + [ + 723, + 205 + ], + [ + 747, + 196.99999999999997 + ], + [ + 776, + 189 + ], + [ + 833, + 207.99999999999997 + ], + [ + 774, + 206 + ], + [ + 734, + 213 + ], + [ + 738, + 214 + ], + [ + 775, + 203 + ], + [ + 832, + 207 + ] + ], + "image": "d02673.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 711, + 317.5 + ], + "scale": 1.3499, + "joints": [ + [ + 589, + 434 + ], + [ + 583, + 337 + ], + [ + 623, + 250 + ], + [ + 626, + 252.99999999999997 + ], + [ + 583, + 338 + ], + [ + 589, + 438.99999999999994 + ], + [ + 625, + 249 + ], + [ + 752, + 212 + ], + [ + 775, + 212 + ], + [ + 808, + 204 + ], + [ + 842, + 246 + ], + [ + 798, + 233 + ], + [ + 756, + 220.00000000000003 + ], + [ + 756, + 224 + ], + [ + 799, + 234 + ], + [ + 841, + 241.99999999999997 + ] + ], + "image": "d02674.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 706.5, + 302.5 + ], + "scale": 1.0699, + "joints": [ + [ + 559, + 403 + ], + [ + 579, + 296 + ], + [ + 650, + 228 + ], + [ + 649, + 229 + ], + [ + 581, + 296 + ], + [ + 557, + 404 + ], + [ + 653, + 227 + ], + [ + 769, + 228 + ], + [ + 795, + 236 + ], + [ + 828, + 234 + ], + [ + 843, + 285 + ], + [ + 805, + 264 + ], + [ + 777, + 244 + ], + [ + 776, + 251 + ], + [ + 805, + 278 + ], + [ + 844, + 286 + ] + ], + "image": "d02675.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 687.5, + 283 + ], + "scale": 0.7949, + "joints": [ + [ + 528, + 347 + ], + [ + 589, + 268 + ], + [ + 667, + 224 + ], + [ + 669, + 228 + ], + [ + 588, + 271 + ], + [ + 525, + 348 + ], + [ + 668, + 223 + ], + [ + 779, + 249 + ], + [ + 800, + 262 + ], + [ + 840, + 269 + ], + [ + 856, + 342 + ], + [ + 828, + 297 + ], + [ + 790, + 259 + ], + [ + 785, + 269 + ], + [ + 813, + 318 + ], + [ + 850, + 332 + ] + ], + "image": "d02676.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 681, + 309.5 + ], + "scale": 0.9699000000000001, + "joints": [ + [ + 514, + 291 + ], + [ + 605, + 244 + ], + [ + 690, + 229 + ], + [ + 690, + 232.00000000000003 + ], + [ + 605, + 246 + ], + [ + 511, + 292 + ], + [ + 692, + 230.99999999999997 + ], + [ + 800, + 280 + ], + [ + 816, + 298 + ], + [ + 852, + 298 + ], + [ + 854, + 389 + ], + [ + 835, + 333 + ], + [ + 798, + 288 + ], + [ + 794, + 294 + ], + [ + 812, + 358 + ], + [ + 850, + 372.00000000000006 + ] + ], + "image": "d02677.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 677.5, + 324 + ], + "scale": 1.1849, + "joints": [ + [ + 519, + 220.00000000000003 + ], + [ + 636, + 227 + ], + [ + 717, + 240.99999999999997 + ], + [ + 718, + 243.00000000000003 + ], + [ + 637, + 227 + ], + [ + 517, + 225 + ], + [ + 724, + 249 + ], + [ + 802, + 307 + ], + [ + 817, + 328 + ], + [ + 863, + 337 + ], + [ + 845, + 428 + ], + [ + 835, + 368 + ], + [ + 803, + 321 + ], + [ + 800, + 327 + ], + [ + 809, + 390 + ], + [ + 854, + 422 + ] + ], + "image": "d02678.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 697.5, + 304 + ], + "scale": 1.5949, + "joints": [ + [ + 557, + 167 + ], + [ + 656, + 216 + ], + [ + 734, + 260 + ], + [ + 731, + 264 + ], + [ + 655, + 218.99999999999997 + ], + [ + 556, + 171 + ], + [ + 737, + 262 + ], + [ + 800, + 333 + ], + [ + 820, + 361 + ], + [ + 863, + 369.99999999999994 + ], + [ + 842, + 453 + ], + [ + 827, + 396.00000000000006 + ], + [ + 802, + 343 + ], + [ + 799, + 351 + ], + [ + 793, + 415.99999999999994 + ], + [ + 835, + 435 + ] + ], + "image": "d02679.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 722.5, + 300 + ], + "scale": 1.9449, + "joints": [ + [ + 609, + 137 + ], + [ + 684, + 212 + ], + [ + 735, + 277 + ], + [ + 737, + 280 + ], + [ + 680, + 211 + ], + [ + 607, + 139 + ], + [ + 741, + 285 + ], + [ + 797, + 366 + ], + [ + 808, + 383 + ], + [ + 850, + 406 + ], + [ + 826, + 478 + ], + [ + 815, + 426 + ], + [ + 797, + 377 + ], + [ + 793, + 385 + ], + [ + 783, + 437.99999999999994 + ], + [ + 819, + 474 + ] + ], + "image": "d02680.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 750, + 297 + ], + "scale": 2.2449, + "joints": [ + [ + 671, + 109 + ], + [ + 720, + 212 + ], + [ + 751, + 291 + ], + [ + 748, + 293 + ], + [ + 720, + 209.00000000000003 + ], + [ + 668, + 109.99999999999999 + ], + [ + 751, + 295 + ], + [ + 787, + 393.99999999999994 + ], + [ + 798, + 413 + ], + [ + 839, + 436 + ], + [ + 805, + 508.00000000000006 + ], + [ + 809, + 462.00000000000006 + ], + [ + 792, + 399 + ], + [ + 783, + 408 + ], + [ + 767, + 457 + ], + [ + 800, + 505.99999999999994 + ] + ], + "image": "d02681.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 712, + 332 + ], + "scale": 1.6149, + "joints": [ + [ + 603, + 470 + ], + [ + 596, + 370.99999999999994 + ], + [ + 620, + 287 + ], + [ + 620, + 288 + ], + [ + 595, + 375 + ], + [ + 603, + 469 + ], + [ + 620, + 288 + ], + [ + 721, + 203 + ], + [ + 747, + 194 + ], + [ + 771, + 183 + ], + [ + 839, + 211 + ], + [ + 785, + 205 + ], + [ + 738, + 207.99999999999997 + ], + [ + 737, + 213 + ], + [ + 786, + 202 + ], + [ + 835, + 207.99999999999997 + ] + ], + "image": "d02682.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 816.5, + 328 + ], + "scale": 1.8749, + "joints": [ + [ + 889, + 173 + ], + [ + 828, + 256 + ], + [ + 780, + 325 + ], + [ + 765, + 326 + ], + [ + 819, + 254.00000000000003 + ], + [ + 885, + 169 + ], + [ + 769, + 334 + ], + [ + 748, + 413 + ], + [ + 744, + 427 + ], + [ + 760, + 480 + ], + [ + 776, + 467 + ], + [ + 775, + 432 + ], + [ + 758, + 401 + ], + [ + 718, + 423 + ], + [ + 737, + 482.99999999999994 + ], + [ + 736, + 513 + ] + ], + "image": "d02683.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 844.5, + 368.5 + ], + "scale": 0.8999000000000001, + "joints": [ + [ + 973, + 319 + ], + [ + 857, + 319 + ], + [ + 771, + 305 + ], + [ + 770, + 309 + ], + [ + 859, + 319 + ], + [ + 975, + 330 + ], + [ + 764, + 316 + ], + [ + 726, + 391 + ], + [ + 721, + 406 + ], + [ + 713, + 447 + ], + [ + 810, + 340 + ], + [ + 759, + 354 + ], + [ + 731, + 382 + ], + [ + 709, + 390 + ], + [ + 718, + 364 + ], + [ + 785, + 392.99999999999994 + ] + ], + "image": "d02684.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 826.5, + 365.5 + ], + "scale": 0.8999000000000001, + "joints": [ + [ + 959, + 414.99999999999994 + ], + [ + 864, + 355 + ], + [ + 784, + 298 + ], + [ + 782, + 303 + ], + [ + 865, + 359 + ], + [ + 953, + 433 + ], + [ + 776, + 305 + ], + [ + 716, + 368.99999999999994 + ], + [ + 713, + 382 + ], + [ + 697, + 421 + ], + [ + 846, + 322 + ], + [ + 779, + 341 + ], + [ + 745, + 357 + ], + [ + 707, + 366 + ], + [ + 766, + 362 + ], + [ + 817, + 373.00000000000006 + ] + ], + "image": "d02685.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 781, + 394 + ], + "scale": 1.1749, + "joints": [ + [ + 882, + 488 + ], + [ + 836, + 400 + ], + [ + 798, + 299 + ], + [ + 796, + 301 + ], + [ + 836, + 405 + ], + [ + 880, + 494 + ], + [ + 792, + 301 + ], + [ + 723, + 346 + ], + [ + 707, + 363 + ], + [ + 677, + 391.99999999999994 + ], + [ + 852, + 392.99999999999994 + ], + [ + 787, + 347 + ], + [ + 729, + 340 + ], + [ + 732, + 344 + ], + [ + 788, + 359 + ], + [ + 842, + 392.99999999999994 + ] + ], + "image": "d02686.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 757, + 394.5 + ], + "scale": 1.1299000000000001, + "joints": [ + [ + 695, + 483.99999999999994 + ], + [ + 756, + 411 + ], + [ + 823, + 349 + ], + [ + 825, + 352 + ], + [ + 756, + 409 + ], + [ + 696, + 486.00000000000006 + ], + [ + 822, + 347 + ], + [ + 741, + 330 + ], + [ + 724, + 330 + ], + [ + 688, + 326 + ], + [ + 745, + 440.00000000000006 + ], + [ + 768, + 373.00000000000006 + ], + [ + 745, + 326 + ], + [ + 750, + 330 + ], + [ + 763, + 382 + ], + [ + 750, + 444 + ] + ], + "image": "d02687.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 718.5, + 361.5 + ], + "scale": 0.8799000000000001, + "joints": [ + [ + 612, + 345 + ], + [ + 722, + 370.99999999999994 + ], + [ + 788, + 413.99999999999994 + ], + [ + 792, + 420 + ], + [ + 722, + 375 + ], + [ + 612, + 348 + ], + [ + 796, + 417.00000000000006 + ], + [ + 771, + 349 + ], + [ + 766, + 325 + ], + [ + 757, + 284 + ], + [ + 708, + 356 + ], + [ + 762, + 390 + ], + [ + 785, + 328 + ], + [ + 781, + 339 + ], + [ + 734, + 387 + ], + [ + 670, + 369.99999999999994 + ] + ], + "image": "d02688.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 731, + 346.5 + ], + "scale": 1.1199000000000001, + "joints": [ + [ + 660, + 261 + ], + [ + 725, + 346 + ], + [ + 754, + 430 + ], + [ + 754, + 433 + ], + [ + 723, + 344 + ], + [ + 657, + 262 + ], + [ + 760, + 429 + ], + [ + 781, + 362 + ], + [ + 784, + 339 + ], + [ + 802, + 307 + ], + [ + 711, + 329 + ], + [ + 741, + 372.00000000000006 + ], + [ + 786, + 350 + ], + [ + 787, + 354 + ], + [ + 723, + 374.00000000000006 + ], + [ + 686, + 323 + ] + ], + "image": "d02689.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 754.5, + 330.5 + ], + "scale": 1.1799000000000002, + "joints": [ + [ + 732, + 229.99999999999997 + ], + [ + 744, + 328 + ], + [ + 716, + 421 + ], + [ + 714, + 426 + ], + [ + 745, + 323 + ], + [ + 732, + 233 + ], + [ + 725, + 429 + ], + [ + 780, + 384 + ], + [ + 794, + 364 + ], + [ + 822, + 343 + ], + [ + 726, + 300 + ], + [ + 739, + 361 + ], + [ + 793, + 378 + ], + [ + 784, + 379 + ], + [ + 727, + 363 + ], + [ + 715, + 300 + ] + ], + "image": "d02690.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 752, + 351.5 + ], + "scale": 0.9899000000000001, + "joints": [ + [ + 802, + 275 + ], + [ + 750, + 352 + ], + [ + 681, + 404 + ], + [ + 681, + 405 + ], + [ + 753, + 355 + ], + [ + 813, + 277 + ], + [ + 688, + 409 + ], + [ + 761, + 402 + ], + [ + 776, + 396.00000000000006 + ], + [ + 812, + 389 + ], + [ + 782, + 319 + ], + [ + 737, + 387 + ], + [ + 780, + 411 + ], + [ + 771, + 404 + ], + [ + 737, + 364 + ], + [ + 758, + 309 + ] + ], + "image": "d02691.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 770, + 388 + ], + "scale": 0.7049000000000001, + "joints": [ + [ + 861, + 346 + ], + [ + 764, + 373.00000000000006 + ], + [ + 670, + 383 + ], + [ + 668, + 387 + ], + [ + 765, + 376 + ], + [ + 869, + 357 + ], + [ + 676, + 390 + ], + [ + 751, + 424 + ], + [ + 776, + 435 + ], + [ + 807, + 446 + ], + [ + 787, + 347 + ], + [ + 732, + 391 + ], + [ + 766, + 427 + ], + [ + 765, + 432 + ], + [ + 740, + 378 + ], + [ + 784, + 349 + ] + ], + "image": "d02692.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 513, + 315.5 + ], + "scale": 2.3999, + "joints": [ + [ + 531, + 529 + ], + [ + 537, + 434 + ], + [ + 555, + 332 + ], + [ + 547, + 333 + ], + [ + 524, + 438.99999999999994 + ], + [ + 519, + 529 + ], + [ + 544, + 330 + ], + [ + 502, + 213 + ], + [ + 496, + 202 + ], + [ + 480, + 189 + ], + [ + 503, + 103.99999999999999 + ], + [ + 514, + 161 + ], + [ + 527, + 200 + ], + [ + 518, + 206 + ], + [ + 486, + 173 + ], + [ + 463, + 118 + ] + ], + "image": "d02693.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 508.5, + 324.5 + ], + "scale": 2.3799, + "joints": [ + [ + 529, + 529 + ], + [ + 535, + 433 + ], + [ + 554, + 338 + ], + [ + 549, + 337 + ], + [ + 525, + 436 + ], + [ + 525, + 529 + ], + [ + 547, + 334 + ], + [ + 504, + 226 + ], + [ + 491, + 210.00000000000003 + ], + [ + 477, + 190 + ], + [ + 509, + 118 + ], + [ + 516, + 163 + ], + [ + 526, + 202 + ], + [ + 515, + 207.99999999999997 + ], + [ + 489, + 179 + ], + [ + 462, + 123 + ] + ], + "image": "d02694.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 517.5, + 348 + ], + "scale": 1.9749, + "joints": [ + [ + 539, + 535 + ], + [ + 522, + 440.00000000000006 + ], + [ + 560, + 353 + ], + [ + 554, + 353 + ], + [ + 508, + 443 + ], + [ + 529, + 540 + ], + [ + 552, + 350 + ], + [ + 503, + 256 + ], + [ + 489, + 243.00000000000003 + ], + [ + 467, + 229.99999999999997 + ], + [ + 538, + 178 + ], + [ + 532, + 213 + ], + [ + 523, + 237 + ], + [ + 507, + 244 + ], + [ + 488, + 225 + ], + [ + 479, + 187.00000000000003 + ] + ], + "image": "d02695.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 520, + 375 + ], + "scale": 1.8749, + "joints": [ + [ + 539, + 537 + ], + [ + 514, + 447 + ], + [ + 561, + 365 + ], + [ + 556, + 365 + ], + [ + 499, + 451 + ], + [ + 533, + 539 + ], + [ + 553, + 361 + ], + [ + 496, + 275 + ], + [ + 478, + 261 + ], + [ + 459, + 240.99999999999997 + ], + [ + 556, + 205 + ], + [ + 541, + 230.99999999999997 + ], + [ + 520, + 252 + ], + [ + 501, + 265 + ], + [ + 494, + 246 + ], + [ + 491, + 213 + ] + ], + "image": "d02696.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 522, + 390 + ], + "scale": 1.6549, + "joints": [ + [ + 539, + 542 + ], + [ + 517, + 460.99999999999994 + ], + [ + 567, + 384 + ], + [ + 562, + 383 + ], + [ + 498, + 457 + ], + [ + 534, + 545 + ], + [ + 561, + 379 + ], + [ + 491, + 296 + ], + [ + 477, + 286 + ], + [ + 457, + 260 + ], + [ + 576, + 241.99999999999997 + ], + [ + 548, + 264 + ], + [ + 514, + 275 + ], + [ + 498, + 291 + ], + [ + 498, + 277 + ], + [ + 503, + 252 + ] + ], + "image": "d02697.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 523, + 418.5 + ], + "scale": 1.4199000000000002, + "joints": [ + [ + 545, + 545 + ], + [ + 510, + 458.99999999999994 + ], + [ + 562, + 395.00000000000006 + ], + [ + 557, + 396.00000000000006 + ], + [ + 491, + 462.00000000000006 + ], + [ + 531, + 548 + ], + [ + 555, + 391 + ], + [ + 487, + 323 + ], + [ + 469, + 312 + ], + [ + 454, + 285 + ], + [ + 588, + 290 + ], + [ + 540, + 303 + ], + [ + 505, + 306 + ], + [ + 491, + 316 + ], + [ + 501, + 313 + ], + [ + 519, + 293 + ] + ], + "image": "d02698.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 533.5, + 452 + ], + "scale": 1.2149, + "joints": [ + [ + 544, + 559 + ], + [ + 510, + 482.99999999999994 + ], + [ + 565, + 425 + ], + [ + 561, + 428 + ], + [ + 494, + 477 + ], + [ + 534, + 561 + ], + [ + 561, + 423 + ], + [ + 486, + 380 + ], + [ + 470, + 370.99999999999994 + ], + [ + 446, + 341 + ], + [ + 593, + 389 + ], + [ + 546, + 379 + ], + [ + 495, + 361 + ], + [ + 480, + 369.99999999999994 + ], + [ + 530, + 389 + ], + [ + 563, + 389 + ] + ], + "image": "d02699.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516.5, + 475 + ], + "scale": 1.1749, + "joints": [ + [ + 544, + 581 + ], + [ + 507, + 505.99999999999994 + ], + [ + 574, + 448 + ], + [ + 567, + 449 + ], + [ + 486, + 508.00000000000006 + ], + [ + 536, + 586 + ], + [ + 564, + 445 + ], + [ + 484, + 397.00000000000006 + ], + [ + 464, + 390 + ], + [ + 443, + 362 + ], + [ + 567, + 427 + ], + [ + 534, + 403 + ], + [ + 495, + 384 + ], + [ + 489, + 393.99999999999994 + ], + [ + 514, + 429 + ], + [ + 545, + 470 + ] + ], + "image": "d02700.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 517.5, + 473.5 + ], + "scale": 1.2199, + "joints": [ + [ + 543, + 578 + ], + [ + 507, + 505.99999999999994 + ], + [ + 570, + 446 + ], + [ + 566, + 448 + ], + [ + 493, + 507.00000000000006 + ], + [ + 538, + 582 + ], + [ + 562, + 441.00000000000006 + ], + [ + 487, + 395.00000000000006 + ], + [ + 469, + 385 + ], + [ + 450, + 362 + ], + [ + 572, + 423 + ], + [ + 541, + 406 + ], + [ + 494, + 385 + ], + [ + 485, + 391.99999999999994 + ], + [ + 508, + 420 + ], + [ + 541, + 462.00000000000006 + ] + ], + "image": "d02701.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 515.5, + 491.5 + ], + "scale": 1.2599, + "joints": [ + [ + 540, + 604 + ], + [ + 496, + 524 + ], + [ + 556, + 466 + ], + [ + 561, + 466 + ], + [ + 487, + 529 + ], + [ + 534, + 605 + ], + [ + 553, + 463.00000000000006 + ], + [ + 489, + 413 + ], + [ + 473, + 402 + ], + [ + 444, + 373.00000000000006 + ], + [ + 520, + 510 + ], + [ + 514, + 465 + ], + [ + 494, + 405 + ], + [ + 486, + 413.99999999999994 + ], + [ + 505, + 470 + ], + [ + 507, + 519 + ] + ], + "image": "d02702.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516, + 519.5 + ], + "scale": 1.3299, + "joints": [ + [ + 543, + 638 + ], + [ + 505, + 542 + ], + [ + 566, + 491 + ], + [ + 565, + 491 + ], + [ + 495, + 548 + ], + [ + 533, + 638 + ], + [ + 562, + 485.00000000000006 + ], + [ + 492, + 435 + ], + [ + 479, + 418.00000000000006 + ], + [ + 456, + 388 + ], + [ + 457, + 532 + ], + [ + 495, + 492 + ], + [ + 502, + 423 + ], + [ + 488, + 432 + ], + [ + 480, + 500 + ], + [ + 446, + 552 + ] + ], + "image": "d02703.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 495, + 543 + ], + "scale": 1.4149, + "joints": [ + [ + 538, + 667 + ], + [ + 514, + 579 + ], + [ + 567, + 514 + ], + [ + 565, + 515 + ], + [ + 501, + 583 + ], + [ + 528, + 670 + ], + [ + 563, + 510 + ], + [ + 496, + 450 + ], + [ + 481, + 436 + ], + [ + 468, + 407 + ], + [ + 409, + 499 + ], + [ + 463, + 481.99999999999994 + ], + [ + 504, + 436 + ], + [ + 485, + 449 + ], + [ + 455, + 492 + ], + [ + 403, + 507.00000000000006 + ] + ], + "image": "d02704.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 494.5, + 550 + ], + "scale": 1.6749, + "joints": [ + [ + 528, + 712 + ], + [ + 509, + 620 + ], + [ + 560, + 553 + ], + [ + 558, + 555 + ], + [ + 492, + 625 + ], + [ + 521, + 710 + ], + [ + 554, + 547 + ], + [ + 489, + 470 + ], + [ + 476, + 453 + ], + [ + 470, + 428 + ], + [ + 410, + 389 + ], + [ + 443, + 440.00000000000006 + ], + [ + 496, + 454 + ], + [ + 487, + 458 + ], + [ + 423, + 451 + ], + [ + 409, + 419.00000000000006 + ] + ], + "image": "d02705.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 498.5, + 543.5 + ], + "scale": 1.7399, + "joints": [ + [ + 526, + 711 + ], + [ + 505, + 630 + ], + [ + 550, + 557 + ], + [ + 549, + 557 + ], + [ + 488, + 635 + ], + [ + 512, + 712 + ], + [ + 546, + 550 + ], + [ + 490, + 459.99999999999994 + ], + [ + 481, + 447 + ], + [ + 471, + 426 + ], + [ + 459, + 375 + ], + [ + 446, + 414.99999999999994 + ], + [ + 496, + 451 + ], + [ + 484, + 459.99999999999994 + ], + [ + 429, + 428 + ], + [ + 442, + 391.99999999999994 + ] + ], + "image": "d02706.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 498.5, + 541 + ], + "scale": 1.7549000000000001, + "joints": [ + [ + 525, + 712 + ], + [ + 506, + 635 + ], + [ + 554, + 553 + ], + [ + 548, + 554 + ], + [ + 489, + 637 + ], + [ + 515, + 714 + ], + [ + 548, + 550 + ], + [ + 489, + 463.00000000000006 + ], + [ + 477, + 446 + ], + [ + 473, + 424 + ], + [ + 457, + 372.00000000000006 + ], + [ + 451, + 422 + ], + [ + 497, + 452 + ], + [ + 490, + 456 + ], + [ + 424, + 426 + ], + [ + 449, + 375 + ] + ], + "image": "d02707.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 478.5, + 450.5 + ], + "scale": 2.1399, + "joints": [ + [ + 539, + 652 + ], + [ + 528, + 550 + ], + [ + 541, + 451 + ], + [ + 534, + 451 + ], + [ + 515, + 555 + ], + [ + 527, + 656 + ], + [ + 536, + 448 + ], + [ + 499, + 356 + ], + [ + 491, + 333 + ], + [ + 481, + 306 + ], + [ + 414, + 246 + ], + [ + 459, + 297 + ], + [ + 507, + 333 + ], + [ + 500, + 344 + ], + [ + 444, + 315 + ], + [ + 406, + 260 + ] + ], + "image": "d02708.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 467.5, + 443.5 + ], + "scale": 1.8799000000000001, + "joints": [ + [ + 536, + 619 + ], + [ + 542, + 523 + ], + [ + 545, + 417.00000000000006 + ], + [ + 541, + 415.99999999999994 + ], + [ + 534, + 525 + ], + [ + 528, + 623 + ], + [ + 544, + 418.00000000000006 + ], + [ + 488, + 326 + ], + [ + 479, + 312 + ], + [ + 469, + 288 + ], + [ + 387, + 268 + ], + [ + 448, + 293 + ], + [ + 502, + 306 + ], + [ + 487, + 312 + ], + [ + 436, + 304 + ], + [ + 384, + 276 + ] + ], + "image": "d02709.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 467, + 443 + ], + "scale": 1.9049, + "joints": [ + [ + 531, + 624 + ], + [ + 543, + 517 + ], + [ + 547, + 414.99999999999994 + ], + [ + 543, + 414.99999999999994 + ], + [ + 536, + 519 + ], + [ + 524, + 622 + ], + [ + 544, + 419.00000000000006 + ], + [ + 488, + 315 + ], + [ + 481, + 304 + ], + [ + 470, + 288 + ], + [ + 380, + 266 + ], + [ + 443, + 289 + ], + [ + 498, + 306 + ], + [ + 482, + 311 + ], + [ + 418, + 297 + ], + [ + 376, + 272 + ] + ], + "image": "d02710.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 473, + 425 + ], + "scale": 1.6549, + "joints": [ + [ + 538, + 563 + ], + [ + 557, + 469 + ], + [ + 568, + 368 + ], + [ + 566, + 370.99999999999994 + ], + [ + 552, + 471 + ], + [ + 527, + 568 + ], + [ + 561, + 368 + ], + [ + 480, + 289 + ], + [ + 471, + 283 + ], + [ + 452, + 268 + ], + [ + 376, + 298 + ], + [ + 437, + 295 + ], + [ + 495, + 279 + ], + [ + 483, + 284 + ], + [ + 416, + 306 + ], + [ + 361, + 302 + ] + ], + "image": "d02711.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 486, + 402.5 + ], + "scale": 1.4999, + "joints": [ + [ + 540, + 527 + ], + [ + 566, + 428 + ], + [ + 580, + 327 + ], + [ + 578, + 327 + ], + [ + 555, + 432 + ], + [ + 531, + 532 + ], + [ + 573, + 325 + ], + [ + 475, + 283 + ], + [ + 457, + 278 + ], + [ + 438, + 265 + ], + [ + 376, + 340 + ], + [ + 438, + 314 + ], + [ + 480, + 266 + ], + [ + 465, + 279 + ], + [ + 431, + 315 + ], + [ + 378, + 344 + ] + ], + "image": "d02712.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516.5, + 366.5 + ], + "scale": 1.2299, + "joints": [ + [ + 563, + 473 + ], + [ + 571, + 381 + ], + [ + 585, + 281 + ], + [ + 580, + 280 + ], + [ + 560, + 382 + ], + [ + 554, + 477 + ], + [ + 575, + 280 + ], + [ + 478, + 272 + ], + [ + 464, + 273 + ], + [ + 433, + 270 + ], + [ + 427, + 375 + ], + [ + 468, + 331 + ], + [ + 472, + 264 + ], + [ + 461, + 277 + ], + [ + 455, + 328 + ], + [ + 424, + 369.99999999999994 + ] + ], + "image": "d02713.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 545, + 294.5 + ], + "scale": 0.8399000000000001, + "joints": [ + [ + 617, + 363 + ], + [ + 554, + 312 + ], + [ + 562, + 223 + ], + [ + 560, + 223 + ], + [ + 547, + 314 + ], + [ + 616, + 365 + ], + [ + 553, + 226 + ], + [ + 508, + 281 + ], + [ + 506, + 287 + ], + [ + 467, + 304 + ], + [ + 559, + 321 + ], + [ + 532, + 290 + ], + [ + 500, + 279 + ], + [ + 485, + 284 + ], + [ + 526, + 315 + ], + [ + 545, + 352 + ] + ], + "image": "d02714.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569.5, + 266 + ], + "scale": 0.6649, + "joints": [ + [ + 642, + 299 + ], + [ + 552, + 296 + ], + [ + 544, + 214 + ], + [ + 542, + 213 + ], + [ + 550, + 297 + ], + [ + 639, + 294 + ], + [ + 536, + 220.00000000000003 + ], + [ + 509, + 288 + ], + [ + 509, + 298 + ], + [ + 516, + 325 + ], + [ + 583, + 299 + ], + [ + 567, + 275 + ], + [ + 519, + 288 + ], + [ + 510, + 290 + ], + [ + 555, + 285 + ], + [ + 579, + 303 + ] + ], + "image": "d02715.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 571, + 261 + ], + "scale": 0.6549, + "joints": [ + [ + 639, + 292 + ], + [ + 549, + 297 + ], + [ + 553, + 206 + ], + [ + 549, + 207 + ], + [ + 546, + 299 + ], + [ + 638, + 295 + ], + [ + 542, + 209.00000000000003 + ], + [ + 513, + 290 + ], + [ + 510, + 306 + ], + [ + 506, + 326 + ], + [ + 583, + 297 + ], + [ + 570, + 272 + ], + [ + 521, + 286 + ], + [ + 507, + 291 + ], + [ + 557, + 286 + ], + [ + 582, + 303 + ] + ], + "image": "d02716.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 568.5, + 265.5 + ], + "scale": 0.7599000000000001, + "joints": [ + [ + 633, + 218.99999999999997 + ], + [ + 571, + 280 + ], + [ + 540, + 206 + ], + [ + 536, + 206 + ], + [ + 563, + 285 + ], + [ + 625, + 224 + ], + [ + 531, + 213 + ], + [ + 536, + 294 + ], + [ + 537, + 308 + ], + [ + 532, + 345 + ], + [ + 612, + 257 + ], + [ + 577, + 244 + ], + [ + 546, + 298 + ], + [ + 528, + 301 + ], + [ + 561, + 256 + ], + [ + 600, + 251 + ] + ], + "image": "d02717.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 555, + 246 + ], + "scale": 0.9449000000000001, + "joints": [ + [ + 599, + 175 + ], + [ + 599, + 255.00000000000003 + ], + [ + 514, + 223 + ], + [ + 513, + 223 + ], + [ + 592, + 257 + ], + [ + 590, + 175 + ], + [ + 515, + 234 + ], + [ + 555, + 291 + ], + [ + 563, + 303 + ], + [ + 576, + 331 + ], + [ + 603, + 218 + ], + [ + 569, + 260 + ], + [ + 572, + 295 + ], + [ + 558, + 297 + ], + [ + 555, + 245 + ], + [ + 584, + 222 + ] + ], + "image": "d02718.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 567, + 233 + ], + "scale": 0.8449000000000001, + "joints": [ + [ + 561, + 163 + ], + [ + 605, + 229.99999999999997 + ], + [ + 527, + 246 + ], + [ + 522, + 245 + ], + [ + 601, + 226 + ], + [ + 548, + 168 + ], + [ + 525, + 250 + ], + [ + 573, + 286 + ], + [ + 588, + 291 + ], + [ + 618, + 306 + ], + [ + 580, + 184.99999999999997 + ], + [ + 572, + 246 + ], + [ + 589, + 280 + ], + [ + 585, + 280 + ], + [ + 557, + 234 + ], + [ + 569, + 199 + ] + ], + "image": "d02719.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 545.5, + 239 + ], + "scale": 0.6749, + "joints": [ + [ + 483, + 262 + ], + [ + 540, + 209.00000000000003 + ], + [ + 550, + 276 + ], + [ + 549, + 280 + ], + [ + 542, + 210.00000000000003 + ], + [ + 481, + 264 + ], + [ + 556, + 276 + ], + [ + 589, + 218 + ], + [ + 594, + 202 + ], + [ + 611, + 176 + ], + [ + 507, + 261 + ], + [ + 530, + 244 + ], + [ + 582, + 211 + ], + [ + 593, + 213 + ], + [ + 546, + 235 + ], + [ + 507, + 223 + ] + ], + "image": "d02720.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 548, + 237 + ], + "scale": 0.7849, + "joints": [ + [ + 502, + 304 + ], + [ + 530, + 221.00000000000003 + ], + [ + 575, + 283 + ], + [ + 575, + 288 + ], + [ + 528, + 221.00000000000003 + ], + [ + 499, + 303 + ], + [ + 579, + 282 + ], + [ + 573, + 210.00000000000003 + ], + [ + 571, + 193 + ], + [ + 572, + 163 + ], + [ + 520, + 276 + ], + [ + 544, + 251 + ], + [ + 570, + 201 + ], + [ + 566, + 203 + ], + [ + 555, + 238 + ], + [ + 509, + 252 + ] + ], + "image": "d02721.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 562, + 256 + ], + "scale": 0.7849, + "joints": [ + [ + 547, + 313 + ], + [ + 523, + 240.99999999999997 + ], + [ + 593, + 268 + ], + [ + 595, + 269 + ], + [ + 520, + 240.99999999999997 + ], + [ + 547, + 317 + ], + [ + 594, + 265 + ], + [ + 549, + 212 + ], + [ + 537, + 205 + ], + [ + 521, + 184.99999999999997 + ], + [ + 526, + 272 + ], + [ + 538, + 243.00000000000003 + ], + [ + 542, + 212 + ], + [ + 540, + 217 + ], + [ + 549, + 248 + ], + [ + 527, + 272 + ] + ], + "image": "d02722.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 591.5, + 277.5 + ], + "scale": 0.6299000000000001, + "joints": [ + [ + 644, + 271 + ], + [ + 569, + 298 + ], + [ + 580, + 229 + ], + [ + 575, + 225 + ], + [ + 570, + 301 + ], + [ + 633, + 258 + ], + [ + 576, + 228 + ], + [ + 550, + 295 + ], + [ + 545, + 308 + ], + [ + 522, + 327 + ], + [ + 616, + 285 + ], + [ + 561, + 265 + ], + [ + 537, + 297 + ], + [ + 533, + 294 + ], + [ + 549, + 269 + ], + [ + 596, + 277 + ] + ], + "image": "d02723.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 589.5, + 277.5 + ], + "scale": 0.6099000000000001, + "joints": [ + [ + 643, + 269 + ], + [ + 572, + 296 + ], + [ + 572, + 230.99999999999997 + ], + [ + 574, + 232.00000000000003 + ], + [ + 573, + 295 + ], + [ + 631, + 257 + ], + [ + 568, + 234 + ], + [ + 552, + 306 + ], + [ + 546, + 316 + ], + [ + 525, + 331 + ], + [ + 608, + 297 + ], + [ + 566, + 286 + ], + [ + 553, + 307 + ], + [ + 542, + 297 + ], + [ + 554, + 269 + ], + [ + 597, + 280 + ] + ], + "image": "d02724.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590, + 281 + ], + "scale": 0.6249000000000001, + "joints": [ + [ + 645, + 270 + ], + [ + 569, + 299 + ], + [ + 575, + 229.99999999999997 + ], + [ + 578, + 229.99999999999997 + ], + [ + 565, + 303 + ], + [ + 627, + 259 + ], + [ + 571, + 234 + ], + [ + 550, + 301 + ], + [ + 545, + 317 + ], + [ + 528, + 338 + ], + [ + 606, + 295 + ], + [ + 548, + 277 + ], + [ + 535, + 300 + ], + [ + 535, + 298 + ], + [ + 549, + 266 + ], + [ + 593, + 278 + ] + ], + "image": "d02725.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 594, + 298 + ], + "scale": 0.7649000000000001, + "joints": [ + [ + 572, + 355 + ], + [ + 571, + 277 + ], + [ + 616, + 337 + ], + [ + 617, + 336 + ], + [ + 568, + 278 + ], + [ + 567, + 359 + ], + [ + 617, + 331 + ], + [ + 597, + 263 + ], + [ + 592, + 252.99999999999997 + ], + [ + 591, + 232.00000000000003 + ], + [ + 555, + 307 + ], + [ + 590, + 289 + ], + [ + 600, + 258 + ], + [ + 600, + 258 + ], + [ + 594, + 293 + ], + [ + 555, + 308 + ] + ], + "image": "d02726.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 605.5, + 326.5 + ], + "scale": 0.7399000000000001, + "joints": [ + [ + 602, + 366 + ], + [ + 571, + 300 + ], + [ + 638, + 323 + ], + [ + 642, + 325 + ], + [ + 573, + 301 + ], + [ + 603, + 369.99999999999994 + ], + [ + 639, + 320 + ], + [ + 586, + 280 + ], + [ + 567, + 274 + ], + [ + 554, + 259 + ], + [ + 572, + 334 + ], + [ + 588, + 297 + ], + [ + 580, + 270 + ], + [ + 584, + 270 + ], + [ + 592, + 296 + ], + [ + 571, + 337 + ] + ], + "image": "d02727.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 632.5, + 323.5 + ], + "scale": 0.5199000000000001, + "joints": [ + [ + 695, + 338 + ], + [ + 606, + 338 + ], + [ + 636, + 286 + ], + [ + 638, + 285 + ], + [ + 606, + 338 + ], + [ + 691, + 337 + ], + [ + 628, + 284 + ], + [ + 593, + 330 + ], + [ + 588, + 339 + ], + [ + 559, + 360 + ], + [ + 639, + 342 + ], + [ + 604, + 312 + ], + [ + 573, + 336 + ], + [ + 574, + 329 + ], + [ + 599, + 313 + ], + [ + 629, + 338 + ] + ], + "image": "d02728.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 647.5, + 307.5 + ], + "scale": 0.7099000000000001, + "joints": [ + [ + 632, + 258 + ], + [ + 669, + 318 + ], + [ + 606, + 329 + ], + [ + 605, + 328 + ], + [ + 663, + 325 + ], + [ + 624, + 268 + ], + [ + 610, + 330 + ], + [ + 658, + 347 + ], + [ + 677, + 354 + ], + [ + 703, + 362 + ], + [ + 656, + 291 + ], + [ + 649, + 334 + ], + [ + 670, + 349 + ], + [ + 667, + 352 + ], + [ + 628, + 334 + ], + [ + 641, + 296 + ] + ], + "image": "d02729.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 649, + 313.5 + ], + "scale": 0.4899000000000001, + "joints": [ + [ + 594, + 275 + ], + [ + 655, + 308 + ], + [ + 608, + 342 + ], + [ + 607, + 346 + ], + [ + 656, + 313 + ], + [ + 589, + 285 + ], + [ + 615, + 347 + ], + [ + 666, + 329 + ], + [ + 686, + 322 + ], + [ + 711, + 313 + ], + [ + 639, + 293 + ], + [ + 651, + 324 + ], + [ + 678, + 315 + ], + [ + 680, + 326 + ], + [ + 643, + 341 + ], + [ + 624, + 301 + ] + ], + "image": "d02730.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 647, + 370.5 + ], + "scale": 0.8899000000000001, + "joints": [ + [ + 647, + 445 + ], + [ + 641, + 365 + ], + [ + 691, + 314 + ], + [ + 693, + 314 + ], + [ + 636, + 368.99999999999994 + ], + [ + 642, + 447 + ], + [ + 688, + 312 + ], + [ + 625, + 301 + ], + [ + 612, + 304 + ], + [ + 586, + 312 + ], + [ + 663, + 303 + ], + [ + 639, + 297 + ], + [ + 621, + 295 + ], + [ + 619, + 297 + ], + [ + 639, + 313 + ], + [ + 658, + 334 + ] + ], + "image": "d02731.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 644.5, + 376 + ], + "scale": 0.9449000000000001, + "joints": [ + [ + 677, + 445 + ], + [ + 671, + 370.99999999999994 + ], + [ + 686, + 296 + ], + [ + 685, + 296 + ], + [ + 667, + 377 + ], + [ + 675, + 450 + ], + [ + 682, + 295 + ], + [ + 624, + 316 + ], + [ + 609, + 323 + ], + [ + 585, + 334 + ], + [ + 649, + 283 + ], + [ + 633, + 292 + ], + [ + 619, + 300 + ], + [ + 615, + 309 + ], + [ + 642, + 321 + ], + [ + 663, + 334 + ] + ], + "image": "d02732.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 644, + 373.5 + ], + "scale": 0.9099, + "joints": [ + [ + 679, + 440.00000000000006 + ], + [ + 669, + 374.00000000000006 + ], + [ + 688, + 296 + ], + [ + 686, + 298 + ], + [ + 666, + 374.00000000000006 + ], + [ + 675, + 446 + ], + [ + 682, + 295 + ], + [ + 625, + 314 + ], + [ + 611, + 323 + ], + [ + 582, + 332 + ], + [ + 648, + 287 + ], + [ + 635, + 293 + ], + [ + 616, + 305 + ], + [ + 616, + 312 + ], + [ + 645, + 319 + ], + [ + 663, + 332 + ] + ], + "image": "d02733.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 648.5, + 367.5 + ], + "scale": 0.9299000000000001, + "joints": [ + [ + 710, + 431 + ], + [ + 690, + 358 + ], + [ + 673, + 289 + ], + [ + 672, + 290 + ], + [ + 689, + 359 + ], + [ + 708, + 434 + ], + [ + 668, + 295 + ], + [ + 619, + 333 + ], + [ + 609, + 343 + ], + [ + 582, + 356 + ], + [ + 701, + 318 + ], + [ + 658, + 311 + ], + [ + 616, + 323 + ], + [ + 611, + 327 + ], + [ + 645, + 331 + ], + [ + 672, + 344 + ] + ], + "image": "d02734.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 667.5, + 353 + ], + "scale": 0.7449000000000001, + "joints": [ + [ + 745, + 418.00000000000006 + ], + [ + 702, + 347 + ], + [ + 659, + 294 + ], + [ + 660, + 295 + ], + [ + 702, + 351 + ], + [ + 747, + 419.00000000000006 + ], + [ + 655, + 297 + ], + [ + 621, + 348 + ], + [ + 613, + 364 + ], + [ + 588, + 380 + ], + [ + 681, + 328 + ], + [ + 652, + 328 + ], + [ + 622, + 337 + ], + [ + 614, + 344 + ], + [ + 647, + 356 + ], + [ + 674, + 372.00000000000006 + ] + ], + "image": "d02735.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 691.5, + 343 + ], + "scale": 0.6649, + "joints": [ + [ + 770, + 384 + ], + [ + 713, + 333 + ], + [ + 651, + 296 + ], + [ + 649, + 302 + ], + [ + 713, + 336 + ], + [ + 770, + 385 + ], + [ + 649, + 304 + ], + [ + 627, + 362 + ], + [ + 623, + 378 + ], + [ + 591, + 395.00000000000006 + ], + [ + 687, + 377 + ], + [ + 663, + 352 + ], + [ + 629, + 356 + ], + [ + 617, + 365 + ], + [ + 650, + 379 + ], + [ + 678, + 405 + ] + ], + "image": "d02736.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 703.5, + 359.5 + ], + "scale": 0.7699000000000001, + "joints": [ + [ + 798, + 348 + ], + [ + 717, + 321 + ], + [ + 646, + 302 + ], + [ + 646, + 308 + ], + [ + 715, + 324 + ], + [ + 790, + 350 + ], + [ + 643, + 313 + ], + [ + 628, + 382 + ], + [ + 627, + 393.99999999999994 + ], + [ + 602, + 410 + ], + [ + 679, + 427 + ], + [ + 667, + 387 + ], + [ + 630, + 378 + ], + [ + 616, + 386 + ], + [ + 646, + 409 + ], + [ + 674, + 438.99999999999994 + ] + ], + "image": "d02737.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 710.5, + 379.5 + ], + "scale": 1.2399, + "joints": [ + [ + 786, + 275 + ], + [ + 715, + 301 + ], + [ + 651, + 338 + ], + [ + 646, + 339 + ], + [ + 714, + 302 + ], + [ + 784, + 275 + ], + [ + 653, + 348 + ], + [ + 643, + 413.99999999999994 + ], + [ + 642, + 426 + ], + [ + 626, + 443 + ], + [ + 662, + 503 + ], + [ + 654, + 462.00000000000006 + ], + [ + 642, + 424 + ], + [ + 635, + 428 + ], + [ + 649, + 466 + ], + [ + 665, + 502 + ] + ], + "image": "d02738.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 713, + 384.5 + ], + "scale": 1.2299, + "joints": [ + [ + 787, + 270 + ], + [ + 714, + 303 + ], + [ + 647, + 341 + ], + [ + 649, + 341 + ], + [ + 712, + 301 + ], + [ + 788, + 272 + ], + [ + 651, + 349 + ], + [ + 647, + 418.00000000000006 + ], + [ + 644, + 425 + ], + [ + 627, + 445 + ], + [ + 664, + 502 + ], + [ + 654, + 458 + ], + [ + 641, + 415.99999999999994 + ], + [ + 634, + 420 + ], + [ + 649, + 469 + ], + [ + 665, + 503 + ] + ], + "image": "d02739.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 573.5, + 371 + ], + "scale": 2.5849, + "joints": [ + [ + 575, + 618 + ], + [ + 596, + 483.99999999999994 + ], + [ + 542, + 397.00000000000006 + ], + [ + 543, + 398 + ], + [ + 595, + 487.00000000000006 + ], + [ + 572, + 610 + ], + [ + 548, + 392.99999999999994 + ], + [ + 582, + 276 + ], + [ + 587, + 252.99999999999997 + ], + [ + 624, + 205 + ], + [ + 529, + 130 + ], + [ + 550, + 209.00000000000003 + ], + [ + 568, + 256 + ], + [ + 572, + 250 + ], + [ + 571, + 214 + ], + [ + 565, + 170 + ] + ], + "image": "d02740.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 599.5, + 459.5 + ], + "scale": 1.8299, + "joints": [ + [ + 551, + 623 + ], + [ + 598, + 520 + ], + [ + 529, + 448 + ], + [ + 525, + 451 + ], + [ + 598, + 531 + ], + [ + 550, + 627 + ], + [ + 529, + 444 + ], + [ + 607, + 348 + ], + [ + 618, + 331 + ], + [ + 625, + 283 + ], + [ + 676, + 436 + ], + [ + 636, + 408 + ], + [ + 610, + 358 + ], + [ + 607, + 361 + ], + [ + 631, + 413.99999999999994 + ], + [ + 677, + 442.00000000000006 + ] + ], + "image": "d02741.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 581, + 431 + ], + "scale": 1.6149, + "joints": [ + [ + 560, + 578 + ], + [ + 610, + 487.00000000000006 + ], + [ + 526, + 435 + ], + [ + 531, + 431 + ], + [ + 617, + 480 + ], + [ + 563, + 582 + ], + [ + 537, + 429 + ], + [ + 611, + 341 + ], + [ + 625, + 324 + ], + [ + 649, + 269 + ], + [ + 513, + 447 + ], + [ + 552, + 381 + ], + [ + 597, + 338 + ], + [ + 603, + 334 + ], + [ + 557, + 375 + ], + [ + 515, + 431 + ] + ], + "image": "d02742.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 580.5, + 435.5 + ], + "scale": 1.7199, + "joints": [ + [ + 556, + 584 + ], + [ + 609, + 497 + ], + [ + 520, + 433 + ], + [ + 522, + 433 + ], + [ + 614, + 492 + ], + [ + 560, + 582 + ], + [ + 525, + 430 + ], + [ + 609, + 340 + ], + [ + 625, + 316 + ], + [ + 639, + 274 + ], + [ + 540, + 476 + ], + [ + 567, + 392.99999999999994 + ], + [ + 595, + 341 + ], + [ + 598, + 340 + ], + [ + 570, + 391.99999999999994 + ], + [ + 552, + 455 + ] + ], + "image": "d02743.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 577.5, + 443 + ], + "scale": 1.7249, + "joints": [ + [ + 559, + 590 + ], + [ + 608, + 502 + ], + [ + 525, + 440.00000000000006 + ], + [ + 525, + 436.99999999999994 + ], + [ + 611, + 496 + ], + [ + 562, + 589 + ], + [ + 529, + 434 + ], + [ + 607, + 343 + ], + [ + 621, + 321 + ], + [ + 633, + 276 + ], + [ + 570, + 490 + ], + [ + 571, + 409 + ], + [ + 597, + 348 + ], + [ + 599, + 349 + ], + [ + 574, + 403 + ], + [ + 579, + 471 + ] + ], + "image": "d02744.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 460 + ], + "scale": 1.8649, + "joints": [ + [ + 550, + 624 + ], + [ + 593, + 536 + ], + [ + 522, + 454 + ], + [ + 528, + 450 + ], + [ + 600, + 525 + ], + [ + 554, + 623 + ], + [ + 529, + 449 + ], + [ + 604, + 356 + ], + [ + 618, + 324 + ], + [ + 619, + 281 + ], + [ + 704, + 421 + ], + [ + 634, + 408 + ], + [ + 607, + 360 + ], + [ + 611, + 354 + ], + [ + 641, + 403 + ], + [ + 706, + 414.99999999999994 + ] + ], + "image": "d02745.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 614, + 470.5 + ], + "scale": 1.8999000000000001, + "joints": [ + [ + 534, + 641 + ], + [ + 586, + 548 + ], + [ + 521, + 460.99999999999994 + ], + [ + 524, + 460.99999999999994 + ], + [ + 589, + 548 + ], + [ + 536, + 637 + ], + [ + 529, + 454 + ], + [ + 608, + 362 + ], + [ + 615, + 341 + ], + [ + 609, + 283 + ], + [ + 708, + 349 + ], + [ + 662, + 383 + ], + [ + 612, + 358 + ], + [ + 617, + 352 + ], + [ + 666, + 381 + ], + [ + 717, + 363 + ] + ], + "image": "d02746.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 613.5, + 472.5 + ], + "scale": 1.8899000000000001, + "joints": [ + [ + 530, + 642 + ], + [ + 584, + 551 + ], + [ + 524, + 463.00000000000006 + ], + [ + 528, + 462.00000000000006 + ], + [ + 585, + 548 + ], + [ + 534, + 641 + ], + [ + 531, + 458 + ], + [ + 612, + 356 + ], + [ + 614, + 334 + ], + [ + 608, + 286 + ], + [ + 706, + 333 + ], + [ + 674, + 377 + ], + [ + 614, + 354 + ], + [ + 618, + 354 + ], + [ + 680, + 375 + ], + [ + 721, + 347 + ] + ], + "image": "d02747.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 596, + 472 + ], + "scale": 2.3349, + "joints": [ + [ + 508, + 686 + ], + [ + 557, + 591 + ], + [ + 557, + 481 + ], + [ + 559, + 481 + ], + [ + 559, + 591 + ], + [ + 511, + 684 + ], + [ + 562, + 479 + ], + [ + 619, + 361 + ], + [ + 629, + 343 + ], + [ + 648, + 301 + ], + [ + 668, + 247 + ], + [ + 637, + 292 + ], + [ + 605, + 346 + ], + [ + 629, + 356 + ], + [ + 663, + 316 + ], + [ + 682, + 262 + ] + ], + "image": "d02748.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 658, + 486 + ], + "scale": 2.1549, + "joints": [ + [ + 519, + 686 + ], + [ + 539, + 579 + ], + [ + 554, + 458 + ], + [ + 559, + 460.99999999999994 + ], + [ + 541, + 579 + ], + [ + 523, + 687 + ], + [ + 564, + 460.99999999999994 + ], + [ + 636, + 358 + ], + [ + 651, + 344 + ], + [ + 667, + 295 + ], + [ + 747, + 282 + ], + [ + 684, + 316 + ], + [ + 631, + 336 + ], + [ + 653, + 341 + ], + [ + 711, + 333 + ], + [ + 788, + 323 + ] + ], + "image": "d02749.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 649.5, + 483 + ], + "scale": 1.7749000000000001, + "joints": [ + [ + 523, + 646 + ], + [ + 535, + 523 + ], + [ + 545, + 419.00000000000006 + ], + [ + 550, + 423 + ], + [ + 540, + 526 + ], + [ + 530, + 647 + ], + [ + 555, + 419.00000000000006 + ], + [ + 668, + 358 + ], + [ + 691, + 344 + ], + [ + 722, + 305 + ], + [ + 773, + 413 + ], + [ + 717, + 383 + ], + [ + 676, + 355 + ], + [ + 679, + 360 + ], + [ + 721, + 383 + ], + [ + 768, + 423 + ] + ], + "image": "d02750.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603, + 447 + ], + "scale": 1.1649, + "joints": [ + [ + 485, + 549 + ], + [ + 548, + 448 + ], + [ + 603, + 353 + ], + [ + 606, + 357 + ], + [ + 549, + 450 + ], + [ + 488, + 549 + ], + [ + 612, + 361 + ], + [ + 642, + 489 + ], + [ + 667, + 509.00000000000006 + ], + [ + 716, + 511 + ], + [ + 521, + 496 + ], + [ + 580, + 475 + ], + [ + 650, + 472 + ], + [ + 647, + 492 + ], + [ + 589, + 495 + ], + [ + 540, + 496 + ] + ], + "image": "d02751.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 567.5, + 458.5 + ], + "scale": 1.1899000000000002, + "joints": [ + [ + 464, + 502 + ], + [ + 563, + 431 + ], + [ + 633, + 372.00000000000006 + ], + [ + 634, + 370.99999999999994 + ], + [ + 562, + 434 + ], + [ + 467, + 497 + ], + [ + 636, + 380 + ], + [ + 622, + 493 + ], + [ + 630, + 520 + ], + [ + 661, + 555 + ], + [ + 500, + 436.99999999999994 + ], + [ + 561, + 464.00000000000006 + ], + [ + 626, + 495 + ], + [ + 631, + 493 + ], + [ + 583, + 455 + ], + [ + 517, + 429 + ] + ], + "image": "d02752.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 556.5, + 451 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 454, + 375 + ], + [ + 554, + 404 + ], + [ + 673, + 419.00000000000006 + ], + [ + 671, + 421 + ], + [ + 555, + 405 + ], + [ + 457, + 380 + ], + [ + 667, + 434 + ], + [ + 575, + 489 + ], + [ + 550, + 508.00000000000006 + ], + [ + 512, + 538 + ], + [ + 572, + 374.00000000000006 + ], + [ + 562, + 427 + ], + [ + 554, + 499 + ], + [ + 561, + 481 + ], + [ + 587, + 437.99999999999994 + ], + [ + 567, + 358 + ] + ], + "image": "d02753.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569, + 404.5 + ], + "scale": 1.1099, + "joints": [ + [ + 484, + 313 + ], + [ + 575, + 392.99999999999994 + ], + [ + 662, + 450 + ], + [ + 665, + 448 + ], + [ + 576, + 391 + ], + [ + 495, + 311 + ], + [ + 658, + 458 + ], + [ + 546, + 466 + ], + [ + 514, + 473 + ], + [ + 466, + 482.99999999999994 + ], + [ + 604, + 382 + ], + [ + 574, + 419.00000000000006 + ], + [ + 526, + 466 + ], + [ + 531, + 460.99999999999994 + ], + [ + 564, + 392.99999999999994 + ], + [ + 588, + 367 + ] + ], + "image": "d02754.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 575, + 375.5 + ], + "scale": 1.4499000000000002, + "joints": [ + [ + 630, + 264 + ], + [ + 607, + 387 + ], + [ + 608, + 502 + ], + [ + 614, + 500 + ], + [ + 612, + 380 + ], + [ + 640, + 269 + ], + [ + 603, + 498 + ], + [ + 541, + 408 + ], + [ + 527, + 381 + ], + [ + 501, + 341 + ], + [ + 632, + 396.00000000000006 + ], + [ + 579, + 405 + ], + [ + 514, + 395.00000000000006 + ], + [ + 560, + 396.00000000000006 + ], + [ + 641, + 417.00000000000006 + ], + [ + 640, + 388 + ] + ], + "image": "d02755.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 645.5, + 388 + ], + "scale": 1.2649000000000001, + "joints": [ + [ + 764, + 374.00000000000006 + ], + [ + 643, + 421 + ], + [ + 536, + 468 + ], + [ + 541, + 468 + ], + [ + 649, + 422 + ], + [ + 768, + 374.00000000000006 + ], + [ + 535, + 460.99999999999994 + ], + [ + 560, + 349 + ], + [ + 573, + 329 + ], + [ + 596, + 267 + ], + [ + 647, + 442.00000000000006 + ], + [ + 587, + 385 + ], + [ + 561, + 332 + ], + [ + 582, + 363 + ], + [ + 598, + 417.00000000000006 + ], + [ + 669, + 456 + ] + ], + "image": "d02756.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 655.5, + 364 + ], + "scale": 1.3549, + "joints": [ + [ + 778, + 480 + ], + [ + 634, + 457 + ], + [ + 518, + 436 + ], + [ + 522, + 433 + ], + [ + 634, + 457 + ], + [ + 775, + 478 + ], + [ + 519, + 427 + ], + [ + 577, + 323 + ], + [ + 589, + 296 + ], + [ + 627, + 248 + ], + [ + 640, + 430 + ], + [ + 599, + 358 + ], + [ + 581, + 309 + ], + [ + 586, + 330 + ], + [ + 607, + 396.00000000000006 + ], + [ + 647, + 490 + ] + ], + "image": "d02757.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 651, + 365.5 + ], + "scale": 1.3299, + "joints": [ + [ + 774, + 476 + ], + [ + 636, + 449 + ], + [ + 521, + 430 + ], + [ + 521, + 429 + ], + [ + 640, + 449 + ], + [ + 774, + 474 + ], + [ + 525, + 422 + ], + [ + 586, + 313 + ], + [ + 602, + 292 + ], + [ + 633, + 247 + ], + [ + 639, + 427 + ], + [ + 597, + 358 + ], + [ + 581, + 301 + ], + [ + 589, + 333 + ], + [ + 603, + 403 + ], + [ + 646, + 487.00000000000006 + ] + ], + "image": "d02758.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 633.5, + 402.5 + ], + "scale": 1.8399, + "joints": [ + [ + 731, + 570 + ], + [ + 627, + 480 + ], + [ + 535, + 398 + ], + [ + 538, + 401 + ], + [ + 628, + 482.99999999999994 + ], + [ + 729, + 570 + ], + [ + 541, + 395.00000000000006 + ], + [ + 610, + 286 + ], + [ + 620, + 267 + ], + [ + 663, + 234 + ], + [ + 647, + 399 + ], + [ + 602, + 331 + ], + [ + 606, + 272 + ], + [ + 608, + 308 + ], + [ + 592, + 385 + ], + [ + 600, + 497 + ] + ], + "image": "d02759.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 633, + 412 + ], + "scale": 2.3649, + "joints": [ + [ + 537, + 625 + ], + [ + 562, + 495 + ], + [ + 572, + 362 + ], + [ + 567, + 363 + ], + [ + 557, + 492 + ], + [ + 535, + 624 + ], + [ + 575, + 356 + ], + [ + 678, + 220.00000000000003 + ], + [ + 695, + 213 + ], + [ + 732, + 185.99999999999997 + ], + [ + 695, + 364 + ], + [ + 652, + 282 + ], + [ + 674, + 226 + ], + [ + 666, + 229 + ], + [ + 623, + 288 + ], + [ + 599, + 368 + ] + ], + "image": "d02760.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 374.5 + ], + "scale": 2.1799, + "joints": [ + [ + 460, + 579 + ], + [ + 531, + 467 + ], + [ + 599, + 337 + ], + [ + 557, + 324 + ], + [ + 507, + 457 + ], + [ + 445, + 574 + ], + [ + 581, + 328 + ], + [ + 679, + 220.00000000000003 + ], + [ + 713, + 196.99999999999997 + ], + [ + 779, + 175 + ], + [ + 722, + 383 + ], + [ + 681, + 295 + ], + [ + 719, + 223 + ], + [ + 647, + 195.99999999999997 + ], + [ + 600, + 214 + ], + [ + 648, + 248 + ] + ], + "image": "d02761.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 580, + 346 + ], + "scale": 2.2049000000000003, + "joints": [ + [ + 399, + 543 + ], + [ + 506, + 453 + ], + [ + 618, + 342 + ], + [ + 560, + 299 + ], + [ + 475, + 415.99999999999994 + ], + [ + 378, + 525 + ], + [ + 595, + 310 + ], + [ + 726, + 207.99999999999997 + ], + [ + 747, + 194 + ], + [ + 786, + 174 + ], + [ + 707, + 399 + ], + [ + 710, + 324 + ], + [ + 755, + 241.99999999999997 + ], + [ + 678, + 171 + ], + [ + 630, + 159 + ], + [ + 707, + 133 + ] + ], + "image": "d02762.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 566, + 289.5 + ], + "scale": 2.0699, + "joints": [ + [ + 352, + 487.00000000000006 + ], + [ + 482, + 412 + ], + [ + 609, + 326 + ], + [ + 571, + 283 + ], + [ + 445, + 376 + ], + [ + 331, + 454 + ], + [ + 601, + 301 + ], + [ + 741, + 210.00000000000003 + ], + [ + 763, + 195.99999999999997 + ], + [ + 811, + 171 + ], + [ + 667, + 368.99999999999994 + ], + [ + 716, + 340 + ], + [ + 778, + 260 + ], + [ + 704, + 146 + ], + [ + 690, + 103 + ], + [ + 775, + 86 + ] + ], + "image": "d02763.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 561.5, + 287 + ], + "scale": 2.0549, + "joints": [ + [ + 354, + 482.99999999999994 + ], + [ + 474, + 415.99999999999994 + ], + [ + 617, + 328 + ], + [ + 569, + 276 + ], + [ + 445, + 370.99999999999994 + ], + [ + 331, + 453 + ], + [ + 599, + 303 + ], + [ + 742, + 204 + ], + [ + 773, + 189 + ], + [ + 813, + 171 + ], + [ + 665, + 370.99999999999994 + ], + [ + 718, + 336 + ], + [ + 777, + 266 + ], + [ + 707, + 149 + ], + [ + 687, + 103 + ], + [ + 781, + 92 + ] + ], + "image": "d02764.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 568.5, + 250 + ], + "scale": 1.8049000000000002, + "joints": [ + [ + 303, + 418.00000000000006 + ], + [ + 454, + 379 + ], + [ + 603, + 337 + ], + [ + 578, + 256 + ], + [ + 421, + 318 + ], + [ + 290, + 384 + ], + [ + 602, + 302 + ], + [ + 753, + 223 + ], + [ + 787, + 209.00000000000003 + ], + [ + 842, + 182 + ], + [ + 648, + 310 + ], + [ + 696, + 347 + ], + [ + 779, + 287 + ], + [ + 747, + 159 + ], + [ + 756, + 74 + ], + [ + 849, + 103.99999999999999 + ] + ], + "image": "d02765.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 554.5, + 229.5 + ], + "scale": 0.7099000000000001, + "joints": [ + [ + 262, + 276 + ], + [ + 412, + 268 + ], + [ + 562, + 259 + ], + [ + 567, + 255.00000000000003 + ], + [ + 415, + 252 + ], + [ + 260, + 260 + ], + [ + 574, + 264 + ], + [ + 764, + 240 + ], + [ + 797, + 230.99999999999997 + ], + [ + 872, + 226 + ], + [ + 700, + 194 + ], + [ + 650, + 241.99999999999997 + ], + [ + 755, + 266 + ], + [ + 792, + 248 + ], + [ + 874, + 163 + ], + [ + 891, + 230.99999999999997 + ] + ], + "image": "d02766.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 542.5, + 246.5 + ], + "scale": 0.8499000000000001, + "joints": [ + [ + 246, + 181 + ], + [ + 425, + 195 + ], + [ + 562, + 210.00000000000003 + ], + [ + 565, + 264 + ], + [ + 435, + 227 + ], + [ + 245, + 195 + ], + [ + 569, + 237 + ], + [ + 753, + 259 + ], + [ + 790, + 263 + ], + [ + 875, + 250 + ], + [ + 725, + 224 + ], + [ + 654, + 193 + ], + [ + 753, + 218.99999999999997 + ], + [ + 805, + 310 + ], + [ + 882, + 304 + ], + [ + 881, + 276 + ] + ], + "image": "d02767.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 534, + 252.5 + ], + "scale": 1.5599, + "joints": [ + [ + 254, + 113 + ], + [ + 399, + 149 + ], + [ + 566, + 194 + ], + [ + 547, + 270 + ], + [ + 397, + 213 + ], + [ + 238, + 151 + ], + [ + 566, + 232.00000000000003 + ], + [ + 744, + 287 + ], + [ + 767, + 293 + ], + [ + 852, + 302 + ], + [ + 709, + 268 + ], + [ + 670, + 187.00000000000003 + ], + [ + 763, + 214 + ], + [ + 769, + 358 + ], + [ + 843, + 402 + ], + [ + 859, + 341 + ] + ], + "image": "d02768.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 521.5, + 247.5 + ], + "scale": 2.1199, + "joints": [ + [ + 258, + 52 + ], + [ + 405, + 123 + ], + [ + 563, + 198.00000000000003 + ], + [ + 523, + 269 + ], + [ + 377, + 185.99999999999997 + ], + [ + 236, + 94.00000000000001 + ], + [ + 545, + 239 + ], + [ + 716, + 319 + ], + [ + 743, + 333 + ], + [ + 827, + 370.99999999999994 + ], + [ + 675, + 318 + ], + [ + 660, + 221.00000000000003 + ], + [ + 754, + 243.00000000000003 + ], + [ + 734, + 397.00000000000006 + ], + [ + 781, + 457 + ], + [ + 832, + 340 + ] + ], + "image": "d02769.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 519, + 251.5 + ], + "scale": 2.1299, + "joints": [ + [ + 254, + 47.00000000000001 + ], + [ + 411, + 123 + ], + [ + 565, + 191 + ], + [ + 520, + 271 + ], + [ + 373, + 184 + ], + [ + 235, + 95 + ], + [ + 546, + 238 + ], + [ + 722, + 322 + ], + [ + 738, + 332 + ], + [ + 823, + 368.99999999999994 + ], + [ + 676, + 318 + ], + [ + 658, + 220.00000000000003 + ], + [ + 757, + 241.99999999999997 + ], + [ + 732, + 396.00000000000006 + ], + [ + 778, + 454 + ], + [ + 831, + 338 + ] + ], + "image": "d02770.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 486.5, + 277.5 + ], + "scale": 2.2499000000000002, + "joints": [ + [ + 657, + 112 + ], + [ + 594, + 229 + ], + [ + 549, + 327 + ], + [ + 491, + 301 + ], + [ + 549, + 201 + ], + [ + 628, + 87 + ], + [ + 507, + 319 + ], + [ + 428, + 423 + ], + [ + 418, + 438.99999999999994 + ], + [ + 378, + 480 + ], + [ + 455, + 405 + ], + [ + 526, + 413 + ], + [ + 471, + 462.00000000000006 + ], + [ + 378, + 407 + ], + [ + 310, + 436.99999999999994 + ], + [ + 359, + 488 + ] + ], + "image": "d02771.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 493.5, + 284 + ], + "scale": 1.8849, + "joints": [ + [ + 686, + 139 + ], + [ + 594, + 251 + ], + [ + 540, + 343 + ], + [ + 500, + 300 + ], + [ + 568, + 210.00000000000003 + ], + [ + 649, + 120 + ], + [ + 512, + 322 + ], + [ + 421, + 404 + ], + [ + 408, + 413.99999999999994 + ], + [ + 343, + 438.99999999999994 + ], + [ + 445, + 388 + ], + [ + 508, + 437.99999999999994 + ], + [ + 440, + 463.00000000000006 + ], + [ + 361, + 391 + ], + [ + 305, + 375 + ], + [ + 299, + 453 + ] + ], + "image": "d02772.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 495.5, + 292.5 + ], + "scale": 1.5699, + "joints": [ + [ + 700, + 187.00000000000003 + ], + [ + 601, + 268 + ], + [ + 541, + 356 + ], + [ + 526, + 325 + ], + [ + 590, + 234 + ], + [ + 674, + 161 + ], + [ + 524, + 339 + ], + [ + 410, + 378 + ], + [ + 392, + 378 + ], + [ + 322, + 386 + ], + [ + 464, + 370.99999999999994 + ], + [ + 476, + 444 + ], + [ + 408, + 433 + ], + [ + 386, + 358 + ], + [ + 335, + 324 + ], + [ + 282, + 331 + ] + ], + "image": "d02773.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 523.5, + 293 + ], + "scale": 1.3349000000000002, + "joints": [ + [ + 708, + 204 + ], + [ + 609, + 285 + ], + [ + 538, + 362 + ], + [ + 539, + 354 + ], + [ + 601, + 265 + ], + [ + 694, + 190 + ], + [ + 534, + 360 + ], + [ + 421, + 354 + ], + [ + 391, + 351 + ], + [ + 336, + 325 + ], + [ + 480, + 380 + ], + [ + 430, + 421 + ], + [ + 391, + 384 + ], + [ + 401, + 327 + ], + [ + 364, + 276 + ], + [ + 327, + 238 + ] + ], + "image": "d02774.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 521, + 293.5 + ], + "scale": 1.3199, + "joints": [ + [ + 711, + 205 + ], + [ + 613, + 286 + ], + [ + 541, + 366 + ], + [ + 544, + 342 + ], + [ + 599, + 264 + ], + [ + 697, + 188 + ], + [ + 535, + 354 + ], + [ + 415, + 352 + ], + [ + 394, + 349 + ], + [ + 338, + 324 + ], + [ + 482, + 379 + ], + [ + 435, + 422 + ], + [ + 394, + 382 + ], + [ + 401, + 329 + ], + [ + 368, + 283 + ], + [ + 322, + 235 + ] + ], + "image": "d02775.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 551.5, + 288.5 + ], + "scale": 1.0699, + "joints": [ + [ + 707, + 233 + ], + [ + 608, + 302 + ], + [ + 534, + 370.99999999999994 + ], + [ + 538, + 364 + ], + [ + 609, + 295 + ], + [ + 700, + 224 + ], + [ + 531, + 366 + ], + [ + 429, + 323 + ], + [ + 406, + 312 + ], + [ + 378, + 259 + ], + [ + 506, + 387 + ], + [ + 460, + 375 + ], + [ + 402, + 344 + ], + [ + 421, + 307 + ], + [ + 415, + 256 + ], + [ + 421, + 205 + ] + ], + "image": "d02776.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590.5, + 288 + ], + "scale": 1.1149, + "joints": [ + [ + 719, + 280 + ], + [ + 616, + 321 + ], + [ + 523, + 372.00000000000006 + ], + [ + 528, + 367 + ], + [ + 619, + 322 + ], + [ + 721, + 280 + ], + [ + 524, + 364 + ], + [ + 474, + 262 + ], + [ + 472, + 239 + ], + [ + 483, + 181 + ], + [ + 490, + 347 + ], + [ + 459, + 310 + ], + [ + 446, + 261 + ], + [ + 485, + 252 + ], + [ + 518, + 251 + ], + [ + 544, + 257 + ] + ], + "image": "d02777.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603, + 277.5 + ], + "scale": 1.1399000000000001, + "joints": [ + [ + 722, + 316 + ], + [ + 608, + 331 + ], + [ + 507, + 358 + ], + [ + 512, + 356 + ], + [ + 612, + 330 + ], + [ + 725, + 308 + ], + [ + 510, + 347 + ], + [ + 500, + 240.99999999999997 + ], + [ + 505, + 220.00000000000003 + ], + [ + 535, + 163 + ], + [ + 503, + 325 + ], + [ + 483, + 282 + ], + [ + 480, + 227 + ], + [ + 510, + 239 + ], + [ + 540, + 261 + ], + [ + 563, + 284 + ] + ], + "image": "d02778.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 591.5, + 306.5 + ], + "scale": 1.4899, + "joints": [ + [ + 588, + 435 + ], + [ + 556, + 325 + ], + [ + 508, + 230.99999999999997 + ], + [ + 509, + 230.99999999999997 + ], + [ + 557, + 324 + ], + [ + 593, + 438.99999999999994 + ], + [ + 516, + 223 + ], + [ + 624, + 200 + ], + [ + 648, + 206 + ], + [ + 703, + 218 + ], + [ + 610, + 308 + ], + [ + 605, + 241.99999999999997 + ], + [ + 629, + 187.00000000000003 + ], + [ + 633, + 187.00000000000003 + ], + [ + 609, + 240.99999999999997 + ], + [ + 600, + 318 + ] + ], + "image": "d02779.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 603.5, + 278.5 + ], + "scale": 1.3299, + "joints": [ + [ + 493, + 406 + ], + [ + 520, + 306 + ], + [ + 532, + 192 + ], + [ + 532, + 191 + ], + [ + 520, + 311 + ], + [ + 492, + 409 + ], + [ + 537, + 187.00000000000003 + ], + [ + 671, + 214 + ], + [ + 678, + 220.00000000000003 + ], + [ + 717, + 247 + ], + [ + 633, + 325 + ], + [ + 645, + 252 + ], + [ + 667, + 205 + ], + [ + 661, + 207 + ], + [ + 637, + 251 + ], + [ + 627, + 314 + ] + ], + "image": "d02780.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 585, + 266.5 + ], + "scale": 1.2399, + "joints": [ + [ + 451, + 369.99999999999994 + ], + [ + 503, + 276 + ], + [ + 546, + 174 + ], + [ + 544, + 170 + ], + [ + 504, + 273 + ], + [ + 450, + 370.99999999999994 + ], + [ + 553, + 173 + ], + [ + 665, + 216 + ], + [ + 684, + 229.99999999999997 + ], + [ + 726, + 268 + ], + [ + 645, + 342 + ], + [ + 662, + 260 + ], + [ + 679, + 210.00000000000003 + ], + [ + 677, + 207 + ], + [ + 650, + 252.99999999999997 + ], + [ + 633, + 331 + ] + ], + "image": "d02781.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569.5, + 246.5 + ], + "scale": 1.0799, + "joints": [ + [ + 415, + 335 + ], + [ + 489, + 259 + ], + [ + 559, + 164 + ], + [ + 559, + 165 + ], + [ + 491, + 255.00000000000003 + ], + [ + 416, + 331 + ], + [ + 567, + 162 + ], + [ + 679, + 227 + ], + [ + 691, + 241.99999999999997 + ], + [ + 721, + 267 + ], + [ + 653, + 341 + ], + [ + 673, + 274 + ], + [ + 686, + 234 + ], + [ + 681, + 232.00000000000003 + ], + [ + 658, + 270 + ], + [ + 646, + 334 + ] + ], + "image": "d02782.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 540.5, + 269 + ], + "scale": 1.6549, + "joints": [ + [ + 381, + 118 + ], + [ + 494, + 152 + ], + [ + 594, + 176 + ], + [ + 592, + 174 + ], + [ + 495, + 145 + ], + [ + 382, + 115 + ], + [ + 594, + 176 + ], + [ + 675, + 279 + ], + [ + 675, + 293 + ], + [ + 715, + 333 + ], + [ + 692, + 430 + ], + [ + 696, + 336 + ], + [ + 697, + 289 + ], + [ + 690, + 287 + ], + [ + 678, + 352 + ], + [ + 682, + 419.00000000000006 + ] + ], + "image": "d02783.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 549, + 244.5 + ], + "scale": 2.1999, + "joints": [ + [ + 419, + 52 + ], + [ + 504, + 137 + ], + [ + 602, + 198.00000000000003 + ], + [ + 598, + 194 + ], + [ + 505, + 130 + ], + [ + 422, + 52 + ], + [ + 602, + 202 + ], + [ + 654, + 296 + ], + [ + 660, + 315 + ], + [ + 697, + 369.99999999999994 + ], + [ + 686, + 456 + ], + [ + 683, + 380 + ], + [ + 688, + 323 + ], + [ + 679, + 322 + ], + [ + 673, + 380 + ], + [ + 676, + 453 + ] + ], + "image": "d02784.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 446.5 + ], + "scale": 1.5699, + "joints": [ + [ + 517, + 536 + ], + [ + 599, + 531 + ], + [ + 552, + 454 + ], + [ + 565, + 445 + ], + [ + 636, + 488 + ], + [ + 638, + 596 + ], + [ + 559, + 441.00000000000006 + ], + [ + 595, + 350 + ], + [ + 605, + 327 + ], + [ + 602, + 293 + ], + [ + 713, + 379 + ], + [ + 649, + 376 + ], + [ + 606, + 345 + ], + [ + 603, + 345 + ], + [ + 642, + 383 + ], + [ + 705, + 407 + ] + ], + "image": "d02785.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 629, + 340.5 + ], + "scale": 2.5799000000000003, + "joints": [ + [ + 633, + 458.99999999999994 + ], + [ + 681, + 386 + ], + [ + 599, + 361 + ], + [ + 600, + 357 + ], + [ + 614, + 464.00000000000006 + ], + [ + 623, + 565 + ], + [ + 601, + 357 + ], + [ + 611, + 254.00000000000003 + ], + [ + 609, + 238 + ], + [ + 612, + 204 + ], + [ + 584, + 112 + ], + [ + 591, + 179 + ], + [ + 597, + 252 + ], + [ + 622, + 243.00000000000003 + ], + [ + 623, + 180 + ], + [ + 626, + 105.00000000000001 + ] + ], + "image": "d02786.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 648.5, + 362 + ], + "scale": 2.4749, + "joints": [ + [ + 670, + 577 + ], + [ + 661, + 479 + ], + [ + 645, + 388 + ], + [ + 644, + 385 + ], + [ + 662, + 480 + ], + [ + 672, + 577 + ], + [ + 644, + 384 + ], + [ + 647, + 286 + ], + [ + 647, + 268 + ], + [ + 665, + 229.99999999999997 + ], + [ + 662, + 125 + ], + [ + 651, + 193 + ], + [ + 631, + 265 + ], + [ + 636, + 262 + ], + [ + 642, + 199 + ], + [ + 650, + 124 + ] + ], + "image": "d02787.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 651.5, + 381.5 + ], + "scale": 2.4899, + "joints": [ + [ + 670, + 595 + ], + [ + 665, + 502 + ], + [ + 646, + 408 + ], + [ + 648, + 410 + ], + [ + 664, + 504.99999999999994 + ], + [ + 671, + 597 + ], + [ + 649, + 409 + ], + [ + 646, + 307 + ], + [ + 650, + 285 + ], + [ + 667, + 249 + ], + [ + 669, + 150 + ], + [ + 651, + 225 + ], + [ + 633, + 291 + ], + [ + 638, + 288 + ], + [ + 644, + 218 + ], + [ + 653, + 153 + ] + ], + "image": "d02788.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 648.5, + 396.5 + ], + "scale": 2.5199000000000003, + "joints": [ + [ + 668, + 621 + ], + [ + 662, + 520 + ], + [ + 648, + 428 + ], + [ + 648, + 426 + ], + [ + 660, + 518 + ], + [ + 671, + 615 + ], + [ + 649, + 425 + ], + [ + 650, + 324 + ], + [ + 651, + 304 + ], + [ + 665, + 270 + ], + [ + 666, + 165 + ], + [ + 652, + 240.99999999999997 + ], + [ + 632, + 305 + ], + [ + 637, + 299 + ], + [ + 643, + 238 + ], + [ + 652, + 160 + ] + ], + "image": "d02789.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 622, + 385.5 + ], + "scale": 2.4299, + "joints": [ + [ + 635, + 611 + ], + [ + 633, + 520 + ], + [ + 621, + 422 + ], + [ + 623, + 420 + ], + [ + 634, + 521 + ], + [ + 637, + 613 + ], + [ + 622, + 420 + ], + [ + 624, + 312 + ], + [ + 629, + 294 + ], + [ + 645, + 271 + ], + [ + 628, + 166 + ], + [ + 623, + 238 + ], + [ + 610, + 306 + ], + [ + 611, + 304 + ], + [ + 623, + 234 + ], + [ + 620, + 166 + ] + ], + "image": "d02790.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 632, + 397 + ], + "scale": 2.2849, + "joints": [ + [ + 632, + 611 + ], + [ + 632, + 509.00000000000006 + ], + [ + 618, + 419.00000000000006 + ], + [ + 621, + 418.00000000000006 + ], + [ + 634, + 507.00000000000006 + ], + [ + 635, + 610 + ], + [ + 623, + 417.00000000000006 + ], + [ + 635, + 315 + ], + [ + 638, + 294 + ], + [ + 655, + 260 + ], + [ + 596, + 206 + ], + [ + 613, + 254.00000000000003 + ], + [ + 620, + 299 + ], + [ + 621, + 290 + ], + [ + 618, + 224 + ], + [ + 607, + 180 + ] + ], + "image": "d02791.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625, + 421 + ], + "scale": 1.9849, + "joints": [ + [ + 629, + 611 + ], + [ + 636, + 509.00000000000006 + ], + [ + 621, + 420 + ], + [ + 623, + 419.00000000000006 + ], + [ + 639, + 505.99999999999994 + ], + [ + 633, + 606 + ], + [ + 619, + 412 + ], + [ + 642, + 312 + ], + [ + 648, + 293 + ], + [ + 673, + 257 + ], + [ + 565, + 277 + ], + [ + 604, + 298 + ], + [ + 633, + 289 + ], + [ + 633, + 277 + ], + [ + 601, + 264 + ], + [ + 572, + 233 + ] + ], + "image": "d02792.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618.5, + 433 + ], + "scale": 1.7749000000000001, + "joints": [ + [ + 617, + 598 + ], + [ + 641, + 487.00000000000006 + ], + [ + 611, + 413.99999999999994 + ], + [ + 614, + 413 + ], + [ + 642, + 485.00000000000006 + ], + [ + 625, + 589 + ], + [ + 614, + 409 + ], + [ + 646, + 311 + ], + [ + 657, + 295 + ], + [ + 679, + 261 + ], + [ + 572, + 325 + ], + [ + 615, + 317 + ], + [ + 640, + 304 + ], + [ + 640, + 290 + ], + [ + 603, + 292 + ], + [ + 554, + 283 + ] + ], + "image": "d02793.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 628.5, + 424.5 + ], + "scale": 1.6899000000000002, + "joints": [ + [ + 620, + 577 + ], + [ + 654, + 476 + ], + [ + 599, + 408 + ], + [ + 604, + 407 + ], + [ + 657, + 473 + ], + [ + 624, + 571 + ], + [ + 606, + 404 + ], + [ + 663, + 314 + ], + [ + 672, + 294 + ], + [ + 686, + 257 + ], + [ + 565, + 402 + ], + [ + 611, + 363 + ], + [ + 651, + 308 + ], + [ + 651, + 303 + ], + [ + 611, + 352 + ], + [ + 574, + 373.00000000000006 + ] + ], + "image": "d02794.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 636, + 417.5 + ], + "scale": 1.5199, + "joints": [ + [ + 622, + 559 + ], + [ + 662, + 458 + ], + [ + 592, + 408 + ], + [ + 596, + 405 + ], + [ + 662, + 456 + ], + [ + 624, + 559 + ], + [ + 599, + 402 + ], + [ + 659, + 331 + ], + [ + 677, + 315 + ], + [ + 681, + 274 + ], + [ + 608, + 446 + ], + [ + 633, + 392.99999999999994 + ], + [ + 651, + 343 + ], + [ + 655, + 340 + ], + [ + 631, + 388 + ], + [ + 614, + 434 + ] + ], + "image": "d02795.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 637, + 424 + ], + "scale": 1.4249, + "joints": [ + [ + 610, + 552 + ], + [ + 648, + 463.00000000000006 + ], + [ + 587, + 419.00000000000006 + ], + [ + 591, + 414.99999999999994 + ], + [ + 654, + 462.00000000000006 + ], + [ + 617, + 550 + ], + [ + 594, + 411 + ], + [ + 658, + 349 + ], + [ + 669, + 329 + ], + [ + 677, + 288 + ], + [ + 665, + 463.00000000000006 + ], + [ + 655, + 408 + ], + [ + 657, + 364 + ], + [ + 658, + 358 + ], + [ + 655, + 410 + ], + [ + 673, + 454 + ] + ], + "image": "d02796.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 656, + 437 + ], + "scale": 1.4149, + "joints": [ + [ + 613, + 566 + ], + [ + 651, + 473 + ], + [ + 590, + 429 + ], + [ + 594, + 427 + ], + [ + 655, + 471 + ], + [ + 614, + 565 + ], + [ + 594, + 421 + ], + [ + 660, + 358 + ], + [ + 674, + 337 + ], + [ + 668, + 301 + ], + [ + 727, + 426 + ], + [ + 686, + 397.00000000000006 + ], + [ + 656, + 358 + ], + [ + 659, + 354 + ], + [ + 688, + 390 + ], + [ + 727, + 419.00000000000006 + ] + ], + "image": "d02797.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 654, + 440 + ], + "scale": 1.4449, + "joints": [ + [ + 610, + 569 + ], + [ + 651, + 472 + ], + [ + 588, + 429 + ], + [ + 591, + 426 + ], + [ + 654, + 471 + ], + [ + 614, + 565 + ], + [ + 594, + 421 + ], + [ + 660, + 356 + ], + [ + 670, + 340 + ], + [ + 674, + 301 + ], + [ + 721, + 424 + ], + [ + 684, + 396.00000000000006 + ], + [ + 654, + 362 + ], + [ + 655, + 357 + ], + [ + 685, + 390 + ], + [ + 723, + 417.00000000000006 + ] + ], + "image": "d02798.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 659.5, + 449 + ], + "scale": 1.4749, + "joints": [ + [ + 595, + 589 + ], + [ + 638, + 492 + ], + [ + 585, + 438.99999999999994 + ], + [ + 589, + 436 + ], + [ + 640, + 490 + ], + [ + 599, + 583 + ], + [ + 593, + 434 + ], + [ + 654, + 365 + ], + [ + 664, + 346 + ], + [ + 665, + 311 + ], + [ + 757, + 355 + ], + [ + 707, + 383 + ], + [ + 657, + 355 + ], + [ + 660, + 355 + ], + [ + 710, + 367 + ], + [ + 755, + 348 + ] + ], + "image": "d02799.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 639.5, + 442 + ], + "scale": 1.6249, + "joints": [ + [ + 589, + 586 + ], + [ + 628, + 516 + ], + [ + 578, + 447 + ], + [ + 590, + 444 + ], + [ + 634, + 509.00000000000006 + ], + [ + 587, + 588 + ], + [ + 589, + 443 + ], + [ + 662, + 347 + ], + [ + 663, + 336 + ], + [ + 654, + 306 + ], + [ + 720, + 293 + ], + [ + 705, + 348 + ], + [ + 651, + 352 + ], + [ + 667, + 339 + ], + [ + 698, + 332 + ], + [ + 711, + 285 + ] + ], + "image": "d02800.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625, + 449.5 + ], + "scale": 1.7699, + "joints": [ + [ + 575, + 610 + ], + [ + 618, + 523 + ], + [ + 590, + 448 + ], + [ + 592, + 446 + ], + [ + 621, + 515 + ], + [ + 577, + 611 + ], + [ + 594, + 442.00000000000006 + ], + [ + 652, + 354 + ], + [ + 653, + 337 + ], + [ + 652, + 302 + ], + [ + 659, + 276 + ], + [ + 686, + 315 + ], + [ + 643, + 350 + ], + [ + 644, + 341 + ], + [ + 695, + 288 + ], + [ + 665, + 275 + ] + ], + "image": "d02801.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 623, + 413.5 + ], + "scale": 2.0399000000000003, + "joints": [ + [ + 562, + 608 + ], + [ + 613, + 503 + ], + [ + 605, + 436 + ], + [ + 608, + 435 + ], + [ + 617, + 501 + ], + [ + 568, + 607 + ], + [ + 613, + 431 + ], + [ + 655, + 342 + ], + [ + 664, + 318 + ], + [ + 668, + 278 + ], + [ + 672, + 225 + ], + [ + 683, + 282 + ], + [ + 651, + 321 + ], + [ + 657, + 315 + ], + [ + 685, + 268 + ], + [ + 675, + 221.00000000000003 + ] + ], + "image": "d02802.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 694.5, + 409.5 + ], + "scale": 1.7599, + "joints": [ + [ + 577, + 578 + ], + [ + 598, + 482.99999999999994 + ], + [ + 611, + 388 + ], + [ + 612, + 387 + ], + [ + 601, + 483.99999999999994 + ], + [ + 582, + 579 + ], + [ + 618, + 384 + ], + [ + 679, + 304 + ], + [ + 693, + 296 + ], + [ + 728, + 265 + ], + [ + 801, + 246 + ], + [ + 741, + 281 + ], + [ + 692, + 284 + ], + [ + 690, + 283 + ], + [ + 744, + 276 + ], + [ + 807, + 239 + ] + ], + "image": "d02803.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 700.5, + 410.5 + ], + "scale": 1.5099, + "joints": [ + [ + 587, + 544 + ], + [ + 603, + 438.99999999999994 + ], + [ + 613, + 355 + ], + [ + 614, + 353 + ], + [ + 606, + 440.00000000000006 + ], + [ + 592, + 543 + ], + [ + 617, + 350 + ], + [ + 715, + 292 + ], + [ + 735, + 282 + ], + [ + 760, + 276 + ], + [ + 822, + 318 + ], + [ + 763, + 305 + ], + [ + 723, + 282 + ], + [ + 725, + 286 + ], + [ + 765, + 303 + ], + [ + 816, + 314 + ] + ], + "image": "d02804.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 688, + 371 + ], + "scale": 1.1749, + "joints": [ + [ + 585, + 467 + ], + [ + 616, + 368.99999999999994 + ], + [ + 645, + 276 + ], + [ + 644, + 275 + ], + [ + 615, + 367 + ], + [ + 586, + 462.00000000000006 + ], + [ + 651, + 276 + ], + [ + 747, + 331 + ], + [ + 758, + 341 + ], + [ + 796, + 355 + ], + [ + 725, + 411 + ], + [ + 728, + 368 + ], + [ + 753, + 338 + ], + [ + 746, + 339 + ], + [ + 718, + 368.99999999999994 + ], + [ + 725, + 413 + ] + ], + "image": "d02805.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 689, + 369.5 + ], + "scale": 1.1699000000000002, + "joints": [ + [ + 583, + 479 + ], + [ + 617, + 363 + ], + [ + 645, + 270 + ], + [ + 646, + 273 + ], + [ + 613, + 365 + ], + [ + 583, + 479 + ], + [ + 654, + 272 + ], + [ + 741, + 328 + ], + [ + 752, + 336 + ], + [ + 793, + 345 + ], + [ + 724, + 415.99999999999994 + ], + [ + 727, + 367 + ], + [ + 748, + 334 + ], + [ + 743, + 338 + ], + [ + 718, + 367 + ], + [ + 719, + 412 + ] + ], + "image": "d02806.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 667, + 338.5 + ], + "scale": 1.0399, + "joints": [ + [ + 572, + 414.99999999999994 + ], + [ + 625, + 345 + ], + [ + 682, + 261 + ], + [ + 685, + 261 + ], + [ + 627, + 339 + ], + [ + 571, + 413 + ], + [ + 691, + 269 + ], + [ + 725, + 347 + ], + [ + 730, + 368 + ], + [ + 761, + 398 + ], + [ + 635, + 409 + ], + [ + 685, + 368.99999999999994 + ], + [ + 739, + 358 + ], + [ + 731, + 376 + ], + [ + 695, + 374.00000000000006 + ], + [ + 655, + 389 + ] + ], + "image": "d02807.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 662, + 338 + ], + "scale": 0.9249, + "joints": [ + [ + 563, + 363 + ], + [ + 649, + 315 + ], + [ + 725, + 275 + ], + [ + 725, + 271 + ], + [ + 647, + 313 + ], + [ + 563, + 362 + ], + [ + 729, + 283 + ], + [ + 707, + 349 + ], + [ + 697, + 372.00000000000006 + ], + [ + 713, + 424 + ], + [ + 600, + 323 + ], + [ + 665, + 333 + ], + [ + 710, + 372.00000000000006 + ], + [ + 711, + 362 + ], + [ + 675, + 324 + ], + [ + 616, + 307 + ] + ], + "image": "d02808.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 544, + 347 + ], + "scale": 0.9649000000000001, + "joints": [ + [ + 505, + 417.00000000000006 + ], + [ + 515, + 346 + ], + [ + 503, + 263 + ], + [ + 505, + 264 + ], + [ + 515, + 344 + ], + [ + 508, + 415.99999999999994 + ], + [ + 510, + 263 + ], + [ + 552, + 331 + ], + [ + 570, + 348 + ], + [ + 598, + 364 + ], + [ + 497, + 352 + ], + [ + 503, + 334 + ], + [ + 564, + 337 + ], + [ + 559, + 342 + ], + [ + 515, + 339 + ], + [ + 504, + 333 + ] + ], + "image": "d02809.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 701.5, + 282.5 + ], + "scale": 1.0899, + "joints": [ + [ + 692, + 198.00000000000003 + ], + [ + 715, + 275 + ], + [ + 743, + 368.99999999999994 + ], + [ + 746, + 367 + ], + [ + 716, + 270 + ], + [ + 698, + 194 + ], + [ + 735, + 365 + ], + [ + 677, + 325 + ], + [ + 659, + 313 + ], + [ + 637, + 298 + ], + [ + 726, + 259 + ], + [ + 712, + 314 + ], + [ + 659, + 330 + ], + [ + 673, + 314 + ], + [ + 725, + 291 + ], + [ + 741, + 246 + ] + ], + "image": "d02810.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 701.5, + 280 + ], + "scale": 1.1649, + "joints": [ + [ + 693, + 193 + ], + [ + 716, + 282 + ], + [ + 744, + 368.99999999999994 + ], + [ + 748, + 367 + ], + [ + 717, + 277 + ], + [ + 699, + 191 + ], + [ + 737, + 364 + ], + [ + 674, + 320 + ], + [ + 658, + 315 + ], + [ + 635, + 294 + ], + [ + 725, + 250 + ], + [ + 715, + 313 + ], + [ + 658, + 329 + ], + [ + 674, + 312 + ], + [ + 720, + 297 + ], + [ + 739, + 250 + ] + ], + "image": "d02811.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 726, + 294 + ], + "scale": 1.1749, + "joints": [ + [ + 772, + 199 + ], + [ + 746, + 289 + ], + [ + 717, + 388 + ], + [ + 722, + 384 + ], + [ + 749, + 283 + ], + [ + 785, + 210.00000000000003 + ], + [ + 715, + 382 + ], + [ + 688, + 310 + ], + [ + 685, + 293 + ], + [ + 685, + 255.00000000000003 + ], + [ + 761, + 270 + ], + [ + 728, + 319 + ], + [ + 676, + 303 + ], + [ + 691, + 299 + ], + [ + 733, + 305 + ], + [ + 781, + 273 + ] + ], + "image": "d02812.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 754, + 327 + ], + "scale": 0.8249000000000001, + "joints": [ + [ + 849, + 275 + ], + [ + 769, + 322 + ], + [ + 682, + 385 + ], + [ + 684, + 384 + ], + [ + 772, + 324 + ], + [ + 849, + 272 + ], + [ + 681, + 378 + ], + [ + 712, + 300 + ], + [ + 720, + 284 + ], + [ + 730, + 260 + ], + [ + 792, + 336 + ], + [ + 731, + 336 + ], + [ + 702, + 293 + ], + [ + 708, + 296 + ], + [ + 739, + 327 + ], + [ + 782, + 316 + ] + ], + "image": "d02813.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 769.5, + 336.5 + ], + "scale": 0.6099000000000001, + "joints": [ + [ + 866, + 376 + ], + [ + 762, + 361 + ], + [ + 676, + 364 + ], + [ + 677, + 364 + ], + [ + 765, + 361 + ], + [ + 869, + 361 + ], + [ + 678, + 357 + ], + [ + 745, + 315 + ], + [ + 759, + 305 + ], + [ + 780, + 275 + ], + [ + 784, + 380 + ], + [ + 739, + 350 + ], + [ + 739, + 307 + ], + [ + 741, + 313 + ], + [ + 740, + 352 + ], + [ + 785, + 376 + ] + ], + "image": "d02814.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 747.5, + 384.5 + ], + "scale": 0.9399000000000001, + "joints": [ + [ + 817, + 465 + ], + [ + 741, + 392.99999999999994 + ], + [ + 671, + 336 + ], + [ + 674, + 338 + ], + [ + 744, + 392.99999999999994 + ], + [ + 819, + 460.99999999999994 + ], + [ + 680, + 331 + ], + [ + 761, + 325 + ], + [ + 784, + 326 + ], + [ + 815, + 314 + ], + [ + 758, + 427 + ], + [ + 740, + 361 + ], + [ + 771, + 319 + ], + [ + 769, + 331 + ], + [ + 753, + 366 + ], + [ + 750, + 427 + ] + ], + "image": "d02815.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 660.5, + 339.5 + ], + "scale": 0.7299000000000001, + "joints": [ + [ + 557, + 299 + ], + [ + 663, + 295 + ], + [ + 754, + 303 + ], + [ + 755, + 304 + ], + [ + 664, + 295 + ], + [ + 560, + 291 + ], + [ + 756, + 314 + ], + [ + 695, + 363 + ], + [ + 675, + 369.99999999999994 + ], + [ + 640, + 388 + ], + [ + 637, + 281 + ], + [ + 691, + 317 + ], + [ + 691, + 376 + ], + [ + 687, + 367 + ], + [ + 680, + 315 + ], + [ + 639, + 268 + ] + ], + "image": "d02816.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 606.5, + 295 + ], + "scale": 0.9049, + "joints": [ + [ + 514, + 372.00000000000006 + ], + [ + 554, + 290 + ], + [ + 602, + 224 + ], + [ + 603, + 222 + ], + [ + 553, + 291 + ], + [ + 515, + 368.99999999999994 + ], + [ + 610, + 228 + ], + [ + 665, + 302 + ], + [ + 678, + 314 + ], + [ + 717, + 327 + ], + [ + 565, + 369.99999999999994 + ], + [ + 625, + 332 + ], + [ + 667, + 301 + ], + [ + 662, + 303 + ], + [ + 624, + 332 + ], + [ + 583, + 365 + ] + ], + "image": "d02817.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 658, + 340 + ], + "scale": 2.2149, + "joints": [ + [ + 668, + 521 + ], + [ + 695, + 429 + ], + [ + 637, + 368 + ], + [ + 641, + 368 + ], + [ + 655, + 457 + ], + [ + 667, + 535 + ], + [ + 642, + 362 + ], + [ + 655, + 278 + ], + [ + 658, + 255.00000000000003 + ], + [ + 676, + 226 + ], + [ + 683, + 144 + ], + [ + 665, + 194 + ], + [ + 643, + 255.00000000000003 + ], + [ + 645, + 264 + ], + [ + 668, + 193 + ], + [ + 682, + 144 + ] + ], + "image": "d02818.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 634.5, + 355 + ], + "scale": 2.0149, + "joints": [ + [ + 641, + 547 + ], + [ + 644, + 456 + ], + [ + 616, + 384 + ], + [ + 617, + 382 + ], + [ + 645, + 458 + ], + [ + 643, + 552 + ], + [ + 619, + 375 + ], + [ + 640, + 282 + ], + [ + 647, + 268 + ], + [ + 674, + 238 + ], + [ + 642, + 176 + ], + [ + 636, + 233 + ], + [ + 634, + 272 + ], + [ + 638, + 267 + ], + [ + 642, + 225 + ], + [ + 648, + 170 + ] + ], + "image": "d02819.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 631, + 381 + ], + "scale": 1.9049, + "joints": [ + [ + 630, + 546 + ], + [ + 641, + 456 + ], + [ + 603, + 391.99999999999994 + ], + [ + 606, + 388 + ], + [ + 643, + 456 + ], + [ + 634, + 546 + ], + [ + 609, + 385 + ], + [ + 642, + 295 + ], + [ + 655, + 277 + ], + [ + 673, + 251 + ], + [ + 620, + 209.00000000000003 + ], + [ + 624, + 259 + ], + [ + 635, + 283 + ], + [ + 638, + 278 + ], + [ + 628, + 252.99999999999997 + ], + [ + 620, + 207.99999999999997 + ] + ], + "image": "d02820.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 621.5, + 408 + ], + "scale": 1.3649, + "joints": [ + [ + 608, + 526 + ], + [ + 644, + 442.00000000000006 + ], + [ + 581, + 397.00000000000006 + ], + [ + 582, + 398 + ], + [ + 644, + 444 + ], + [ + 612, + 526 + ], + [ + 584, + 395.00000000000006 + ], + [ + 639, + 330 + ], + [ + 659, + 311 + ], + [ + 684, + 277 + ], + [ + 562, + 317 + ], + [ + 607, + 318 + ], + [ + 646, + 314 + ], + [ + 645, + 311 + ], + [ + 607, + 308 + ], + [ + 584, + 302 + ] + ], + "image": "d02821.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610.5, + 409 + ], + "scale": 1.2149, + "joints": [ + [ + 600, + 513 + ], + [ + 634, + 436.99999999999994 + ], + [ + 569, + 398 + ], + [ + 570, + 398 + ], + [ + 639, + 436 + ], + [ + 604, + 517 + ], + [ + 578, + 395.00000000000006 + ], + [ + 639, + 342 + ], + [ + 660, + 324 + ], + [ + 680, + 291 + ], + [ + 546, + 393.99999999999994 + ], + [ + 597, + 352 + ], + [ + 640, + 333 + ], + [ + 638, + 327 + ], + [ + 612, + 335 + ], + [ + 554, + 362 + ] + ], + "image": "d02822.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 609, + 409.5 + ], + "scale": 1.1699000000000002, + "joints": [ + [ + 596, + 523 + ], + [ + 630, + 437.99999999999994 + ], + [ + 563, + 398 + ], + [ + 564, + 396.00000000000006 + ], + [ + 630, + 434 + ], + [ + 600, + 516 + ], + [ + 568, + 392.99999999999994 + ], + [ + 635, + 349 + ], + [ + 656, + 333 + ], + [ + 670, + 295 + ], + [ + 566, + 440.00000000000006 + ], + [ + 585, + 390 + ], + [ + 623, + 351 + ], + [ + 630, + 344 + ], + [ + 598, + 377 + ], + [ + 603, + 417.00000000000006 + ] + ], + "image": "d02823.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 615, + 419 + ], + "scale": 1.3649, + "joints": [ + [ + 573, + 540 + ], + [ + 601, + 470 + ], + [ + 561, + 409 + ], + [ + 566, + 405 + ], + [ + 606, + 467 + ], + [ + 578, + 534 + ], + [ + 566, + 404 + ], + [ + 621, + 336 + ], + [ + 636, + 318 + ], + [ + 645, + 285 + ], + [ + 688, + 402 + ], + [ + 634, + 398 + ], + [ + 618, + 347 + ], + [ + 623, + 339 + ], + [ + 647, + 373.00000000000006 + ], + [ + 694, + 383 + ] + ], + "image": "d02824.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 637, + 349.5 + ], + "scale": 1.2099000000000002, + "joints": [ + [ + 549, + 455 + ], + [ + 549, + 360 + ], + [ + 566, + 275 + ], + [ + 565, + 275 + ], + [ + 548, + 360 + ], + [ + 549, + 452 + ], + [ + 569, + 271 + ], + [ + 677, + 263 + ], + [ + 693, + 261 + ], + [ + 721, + 252 + ], + [ + 732, + 323 + ], + [ + 707, + 294 + ], + [ + 689, + 268 + ], + [ + 687, + 263 + ], + [ + 708, + 290 + ], + [ + 734, + 324 + ] + ], + "image": "d02825.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 588, + 291.5 + ], + "scale": 0.8799000000000001, + "joints": [ + [ + 488, + 324 + ], + [ + 564, + 267 + ], + [ + 628, + 230.99999999999997 + ], + [ + 631, + 227 + ], + [ + 566, + 267 + ], + [ + 490, + 322 + ], + [ + 634, + 237 + ], + [ + 641, + 315 + ], + [ + 651, + 334 + ], + [ + 667, + 366 + ], + [ + 535, + 309 + ], + [ + 600, + 314 + ], + [ + 643, + 324 + ], + [ + 648, + 321 + ], + [ + 601, + 303 + ], + [ + 541, + 293 + ] + ], + "image": "d02826.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 574.5, + 303 + ], + "scale": 0.8549000000000001, + "joints": [ + [ + 479, + 276 + ], + [ + 584, + 256 + ], + [ + 664, + 251 + ], + [ + 661, + 248 + ], + [ + 583, + 255.00000000000003 + ], + [ + 485, + 271 + ], + [ + 660, + 257 + ], + [ + 618, + 328 + ], + [ + 604, + 354 + ], + [ + 584, + 388 + ], + [ + 531, + 260 + ], + [ + 579, + 294 + ], + [ + 618, + 333 + ], + [ + 620, + 324 + ], + [ + 587, + 282 + ], + [ + 548, + 256 + ] + ], + "image": "d02827.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 574.5, + 303.5 + ], + "scale": 0.8699000000000001, + "joints": [ + [ + 483, + 275 + ], + [ + 576, + 256 + ], + [ + 658, + 251 + ], + [ + 657, + 248 + ], + [ + 576, + 254.00000000000003 + ], + [ + 483, + 271 + ], + [ + 659, + 260 + ], + [ + 619, + 323 + ], + [ + 607, + 346 + ], + [ + 578, + 392.99999999999994 + ], + [ + 522, + 256 + ], + [ + 579, + 292 + ], + [ + 619, + 334 + ], + [ + 621, + 328 + ], + [ + 588, + 282 + ], + [ + 535, + 252 + ] + ], + "image": "d02828.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 588.5, + 290 + ], + "scale": 0.8749000000000001, + "joints": [ + [ + 502, + 216 + ], + [ + 593, + 249 + ], + [ + 660, + 291 + ], + [ + 665, + 290 + ], + [ + 592, + 247 + ], + [ + 506, + 216 + ], + [ + 659, + 299 + ], + [ + 601, + 327 + ], + [ + 577, + 340 + ], + [ + 540, + 359 + ], + [ + 551, + 232.00000000000003 + ], + [ + 587, + 283 + ], + [ + 588, + 340 + ], + [ + 591, + 331 + ], + [ + 601, + 279 + ], + [ + 572, + 218 + ] + ], + "image": "d02829.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 595.5, + 264.5 + ], + "scale": 1.0799, + "joints": [ + [ + 562, + 174 + ], + [ + 620, + 256 + ], + [ + 654, + 331 + ], + [ + 656, + 328 + ], + [ + 623, + 254.00000000000003 + ], + [ + 573, + 172 + ], + [ + 649, + 334 + ], + [ + 571, + 330 + ], + [ + 553, + 328 + ], + [ + 518, + 326 + ], + [ + 594, + 218 + ], + [ + 592, + 280 + ], + [ + 572, + 335 + ], + [ + 585, + 324 + ], + [ + 617, + 302 + ], + [ + 635, + 238 + ] + ], + "image": "d02830.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/train_all.json b/deep-high-resolution-net.pytorch/data/mpii/annot/train_all.json new file mode 100644 index 0000000000000000000000000000000000000000..f5816c2e9e006fe6c4ce580e2c133e0c3a716db0 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/train_all.json @@ -0,0 +1 @@ +[{"center": [573, 188], "scale": 0.7249000000000001, "joints": [[656, 140], [563, 145], [605, 233], [606, 233], [561, 146], [656, 135], [604, 232.00000000000003], [500, 204], [484, 202], [455, 203], [601, 136], [565, 173], [512, 199], [512, 200], [556, 193], [599, 131]], "image": "d03070.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631.5, 419.5], "scale": 2.6899, "joints": [[547, 668], [616, 553], [573, 437.99999999999994], [579, 432], [619, 553], [548, 671], [577, 435], [673, 275], [677, 260], [670, 228], [688, 153], [733, 229.99999999999997], [664, 276], [666, 279], [729, 226], [682, 156]], "image": "d03071.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [659, 433], "scale": 2.4349000000000003, "joints": [[522, 650], [578, 524], [543, 402], [544, 400], [577, 527], [518, 652], [547, 399], [684, 277], [689, 267], [704, 228], [808, 198.00000000000003], [743, 274], [677, 283], [682, 280], [748, 264], [802, 188]], "image": "d03072.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669.5, 452], "scale": 2.2749, "joints": [[514, 648], [543, 513], [530, 381], [532, 378], [547, 509.00000000000006], [517, 647], [533, 375], [687, 276], [699, 265], [710, 233], [822, 256], [739, 284], [683, 278], [686, 276], [741, 280], [819, 244]], "image": "d03073.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 412], "scale": 1.6149, "joints": [[421, 562], [482, 419.00000000000006], [502, 298], [509, 298], [488, 420], [412, 537], [511, 298], [676, 304], [692, 302], [733, 259], [723, 462.00000000000006], [692, 384], [679, 316], [679, 319], [702, 378], [745, 448]], "image": "d03074.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538.5, 378.5], "scale": 1.4199000000000002, "joints": [[364, 488], [467, 385], [504, 264], [508, 266], [471, 387], [370, 491], [508, 267], [652, 335], [667, 341], [722, 314], [591, 485.00000000000006], [612, 407], [649, 342], [653, 348], [626, 413], [618, 494]], "image": "d03075.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467, 347.5], "scale": 1.1999000000000002, "joints": [[306, 389], [447, 349], [526, 260], [530, 266], [447, 362], [314, 409], [528, 264], [585, 400], [607, 420], [649, 452], [434, 426], [498, 406], [570, 404], [577, 408], [502, 405], [431, 422]], "image": "d03076.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453.5, 426.5], "scale": 1.4799, "joints": [[325, 291], [445, 373.00000000000006], [572, 364], [574, 366], [445, 372.00000000000006], [327, 290], [573, 376], [481, 481.99999999999994], [472, 499], [457, 562], [434, 303], [456, 379], [474, 474], [476, 466], [473, 386], [442, 305]], "image": "d03077.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [478, 405], "scale": 1.5349000000000002, "joints": [[414, 263], [466, 393.99999999999994], [571, 457], [573, 457], [469, 390], [412, 262], [573, 460.99999999999994], [441, 507.00000000000006], [412, 517], [379, 551], [476, 337], [474, 410], [441, 488], [450, 477], [479, 408], [474, 328]], "image": "d03078.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [464.5, 468], "scale": 1.3549, "joints": [[587, 343], [515, 442.00000000000006], [495, 575], [498, 576], [519, 437.99999999999994], [591, 343], [494, 575], [401, 474], [382, 457], [326, 437.99999999999994], [562, 436.99999999999994], [496, 472], [423, 473], [421, 476], [497, 471], [565, 436.99999999999994]], "image": "d03079.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489, 488.5], "scale": 1.2499, "joints": [[618, 379], [527, 462.00000000000006], [474, 585], [477, 585], [527, 460.99999999999994], [622, 375], [469, 583], [421, 463.00000000000006], [403, 437.99999999999994], [358, 404], [571, 471], [501, 488], [425, 465], [427, 465], [506, 474], [580, 460.99999999999994]], "image": "d03080.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 485.5], "scale": 1.2699, "joints": [[657, 480], [527, 508.00000000000006], [422, 582], [424, 583], [526, 507.00000000000006], [657, 474], [420, 579], [436, 447], [441, 421], [424, 374.00000000000006], [567, 524], [502, 520], [453, 460.99999999999994], [455, 455], [504, 503.99999999999994], [568, 530]], "image": "d03081.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [518.5, 483.5], "scale": 1.1699000000000002, "joints": [[662, 538], [526, 525], [396, 568], [397, 567], [525, 521], [663, 532], [396, 561], [454, 445], [466, 417.00000000000006], [473, 368], [548, 558], [486, 529], [459, 453], [463, 458], [497, 504.99999999999994], [553, 556]], "image": "d03082.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [507, 485.5], "scale": 1.0499, "joints": [[645, 577], [516, 534], [384, 534], [385, 533], [518, 535], [649, 575], [387, 528], [470, 454], [493, 428], [530, 387], [529, 578], [476, 537], [473, 458], [483, 455], [499, 514], [530, 578]], "image": "d03083.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [500, 507.5], "scale": 1.2199, "joints": [[625, 614], [502, 549], [373, 510], [375, 509.00000000000006], [505, 548], [632, 611], [377, 503.99999999999994], [484, 454], [512, 436.99999999999994], [549, 389], [502, 594], [469, 534], [487, 463.00000000000006], [498, 464.00000000000006], [495, 530], [506, 594]], "image": "d03084.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475.5, 545], "scale": 1.4649, "joints": [[541, 673], [472, 558], [392, 453], [392, 452], [473, 558], [547, 671], [392, 452], [503, 462.00000000000006], [535, 470], [598, 455], [455, 593], [444, 525], [506, 476], [510, 485.00000000000006], [479, 529], [449, 591]], "image": "d03085.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481, 538.5], "scale": 1.5599, "joints": [[483, 678], [452, 537], [404, 423], [409, 427], [452, 535], [493, 681], [411, 423], [505, 470], [530, 478], [596, 485.00000000000006], [425, 575], [430, 513], [499, 482.99999999999994], [506, 490], [460, 520], [429, 579]], "image": "d03086.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467, 506], "scale": 1.5849000000000002, "joints": [[396, 638], [420, 503.99999999999994], [453, 374.00000000000006], [456, 377], [421, 503.99999999999994], [393, 637], [459, 378], [503, 480], [519, 505.99999999999994], [566, 552], [376, 504.99999999999994], [431, 471], [495, 485.00000000000006], [499, 486.00000000000006], [434, 460.99999999999994], [379, 501]], "image": "d03087.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [438, 474], "scale": 1.4149, "joints": [[337, 601], [407, 475], [480, 364], [475, 366], [407, 479], [335, 594], [484, 367], [492, 471], [495, 497], [510, 554], [370, 463.00000000000006], [433, 447], [490, 481], [489, 479], [438, 444], [370, 463.00000000000006]], "image": "d03088.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [436.5, 478], "scale": 1.3849, "joints": [[339, 601], [404, 480], [474, 364], [480, 364], [405, 481.99999999999994], [336, 599], [483, 367], [494, 466], [498, 499], [514, 559], [368, 468], [426, 449], [489, 483.99999999999994], [483, 478], [432, 443], [376, 451]], "image": "d03089.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [422.5, 440.5], "scale": 1.1699000000000002, "joints": [[301, 526], [396, 451], [503, 348], [503, 349], [397, 452], [304, 542], [505, 353], [483, 469], [480, 492], [490, 551], [370, 426], [437, 426], [476, 470], [478, 469], [439, 415.99999999999994], [377, 415.99999999999994]], "image": "d03090.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [421.5, 424.5], "scale": 1.1199000000000001, "joints": [[287, 469], [418, 402], [529, 353], [530, 351], [421, 408], [291, 482.99999999999994], [531, 360], [476, 458.99999999999994], [466, 479], [435, 527], [379, 385], [437, 397.00000000000006], [463, 458], [474, 437.99999999999994], [432, 400], [379, 372.00000000000006]], "image": "d03091.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [417, 407.5], "scale": 0.9699000000000001, "joints": [[285, 374.00000000000006], [419, 374.00000000000006], [550, 350], [552, 351], [420, 385], [279, 411], [552, 359], [455, 440.00000000000006], [431, 457], [415, 501], [391, 339], [448, 367], [449, 433], [456, 428], [445, 365], [399, 334]], "image": "d03092.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [427, 375.5], "scale": 0.8399000000000001, "joints": [[291, 317], [421, 343], [563, 365], [564, 365], [425, 345], [294, 333], [561, 369.99999999999994], [445, 420], [414, 429], [377, 442.00000000000006], [421, 296], [455, 330], [443, 413], [432, 405], [429, 341], [417, 297]], "image": "d03093.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424, 378], "scale": 0.8449000000000001, "joints": [[293, 316], [427, 342], [554, 358], [559, 358], [430, 345], [291, 327], [557, 368], [443, 419.00000000000006], [415, 432], [382, 438.99999999999994], [421, 295], [455, 341], [447, 403], [438, 403], [431, 336], [418, 293]], "image": "d03094.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [447, 341], "scale": 1.0349000000000002, "joints": [[316, 261], [442, 310], [563, 369.99999999999994], [566, 369.99999999999994], [439, 307], [323, 252.99999999999997], [558, 378], [433, 381], [411, 385], [363, 399], [456, 266], [474, 317], [444, 381], [430, 374.00000000000006], [441, 319], [449, 266]], "image": "d03095.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [470, 302.5], "scale": 1.3199, "joints": [[358, 200], [463, 291], [561, 379], [556, 376], [467, 282], [378, 188], [554, 380], [436, 360], [414, 355], [369, 356], [485, 247], [494, 294], [442, 353], [434, 342], [453, 285], [484, 238]], "image": "d03096.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [480.5, 271], "scale": 1.5049000000000001, "joints": [[414, 151], [490, 278], [548, 388], [551, 383], [492, 271], [431, 148], [547, 384], [441, 326], [418, 315], [377, 293], [511, 243.00000000000003], [516, 288], [446, 317], [441, 308], [465, 263], [519, 229.99999999999997]], "image": "d03097.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [487.5, 251.5], "scale": 1.5999, "joints": [[467, 128], [505, 262], [534, 382], [535, 381], [514, 259], [487, 120], [531, 380], [445, 293], [432, 270], [400, 240], [545, 228], [531, 276], [452, 288], [443, 281], [488, 244], [550, 224]], "image": "d03098.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [479.5, 250.5], "scale": 1.5699, "joints": [[467, 122.00000000000001], [498, 257], [535, 385], [539, 383], [505, 254.00000000000003], [482, 122.00000000000001], [534, 384], [446, 290], [427, 267], [391, 249], [541, 227], [529, 277], [452, 290], [446, 280], [488, 244], [548, 223]], "image": "d03099.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [484, 248.5], "scale": 1.5799, "joints": [[538, 116.00000000000001], [519, 249], [515, 374.00000000000006], [517, 372.00000000000006], [522, 247], [548, 115], [509, 374.00000000000006], [457, 255.00000000000003], [448, 230.99999999999997], [419, 185.99999999999997], [565, 226], [535, 269], [464, 255.00000000000003], [458, 248], [505, 225], [573, 220.00000000000003]], "image": "d03100.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517, 237], "scale": 1.5049000000000001, "joints": [[595, 109], [533, 238], [492, 362], [493, 359], [539, 239], [608, 113], [487, 359], [475, 228], [476, 203], [464, 164], [588, 228], [547, 266], [463, 230.99999999999997], [473, 220.00000000000003], [542, 217], [595, 229]], "image": "d03101.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536.5, 226], "scale": 1.3649, "joints": [[640, 126.99999999999999], [541, 230.99999999999997], [471, 334], [470, 331], [550, 230.99999999999997], [656, 134], [467, 329], [481, 207], [491, 181], [499, 129], [599, 234], [553, 262], [485, 207.99999999999997], [493, 204], [546, 202], [606, 240.99999999999997]], "image": "d03102.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [550, 227], "scale": 1.0849000000000002, "joints": [[670, 165], [551, 224], [450, 301], [450, 298], [550, 226], [680, 170], [446, 298], [507, 181], [521, 167], [543, 109.99999999999999], [604, 243.00000000000003], [552, 260], [516, 195], [533, 184.99999999999997], [569, 202], [601, 252.99999999999997]], "image": "d03103.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554, 227.5], "scale": 1.1099, "joints": [[671, 164], [547, 228], [451, 297], [454, 297], [552, 228], [686, 172], [449, 296], [498, 182], [522, 165], [541, 116.00000000000001], [597, 246], [558, 260], [512, 195.99999999999997], [527, 184], [574, 203], [602, 257]], "image": "d03104.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 210], "scale": 0.9449000000000001, "joints": [[691, 206], [560, 223], [439, 263], [440, 261], [564, 222], [694, 214], [438, 259], [521, 175], [547, 159], [584, 103.99999999999999], [604, 246], [549, 254.00000000000003], [535, 183], [541, 172], [579, 205], [597, 266]], "image": "d03105.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [558, 181.5], "scale": 0.7499000000000001, "joints": [[698, 241.99999999999997], [555, 224], [424, 226], [429, 223], [562, 223], [702, 244], [432, 218.99999999999997], [531, 163], [552, 155], [605, 115], [588, 257], [536, 244], [542, 169], [556, 168], [577, 207.99999999999997], [576, 269]], "image": "d03106.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 194], "scale": 0.9949000000000001, "joints": [[681, 281], [553, 221.00000000000003], [431, 177], [435, 174], [558, 221.00000000000003], [687, 283], [436, 173], [544, 152], [569, 153], [634, 130], [576, 260], [524, 234], [554, 168], [562, 183], [572, 214], [553, 271]], "image": "d03107.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 195], "scale": 1.3049000000000002, "joints": [[641, 306], [546, 213], [440, 132], [445, 133], [545, 210.00000000000003], [644, 312], [449, 128], [555, 149], [581, 159], [646, 151], [546, 262], [513, 223], [555, 159], [565, 164], [555, 221.00000000000003], [528, 264]], "image": "d03108.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 197], "scale": 1.2349, "joints": [[649, 307], [546, 214], [443, 129], [446, 130], [547, 217], [645, 315], [451, 126], [556, 148], [586, 158], [634, 157], [548, 255.00000000000003], [510, 224], [558, 162], [565, 175], [556, 222], [524, 263]], "image": "d03109.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532, 193], "scale": 1.4949000000000001, "joints": [[603, 328], [528, 203], [463, 88], [466, 88], [529, 205], [609, 330], [471, 88], [558, 142], [585, 166], [639, 188], [523, 245], [496, 202], [560, 153], [562, 163], [537, 192], [509, 246]], "image": "d03110.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 162], "scale": 1.5249000000000001, "joints": [[477, 299], [497, 169], [517, 33], [519, 33], [501, 175], [487, 307], [522, 38], [554, 134], [553, 163], [590, 209.00000000000003], [455, 176], [475, 148], [556, 150], [546, 147], [491, 176], [456, 183]], "image": "d03111.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559, 284.5], "scale": 1.3399, "joints": [[386, 275], [521, 217], [625, 181], [622, 176], [520, 212], [385, 272], [626, 180], [689, 306], [706, 324], [724, 342], [592, 399], [649, 358], [692, 314], [684, 306], [637, 338], [589, 389]], "image": "d03112.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 306.5], "scale": 1.4599000000000002, "joints": [[373, 248], [528, 217], [637, 202], [640, 201], [525, 213], [371, 240.99999999999997], [645, 206], [691, 342], [699, 357], [728, 379], [611, 440.00000000000006], [656, 392.99999999999994], [693, 351], [685, 339], [631, 379], [603, 430]], "image": "d03113.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551, 351], "scale": 1.9149, "joints": [[393, 181], [534, 216], [647, 258], [651, 257], [533, 212], [395, 179], [650, 265], [671, 382], [671, 406], [703, 453], [641, 542], [675, 462.00000000000006], [690, 403], [666, 399], [651, 454], [636, 535]], "image": "d03114.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [415, 316], "scale": 0.8949000000000001, "joints": [[414, 400], [384, 332], [446, 305], [449, 305], [384, 332], [412, 401], [446, 305], [397, 258], [380, 250], [364, 230.99999999999997], [457, 350], [425, 300], [398, 250], [403, 256], [428, 290], [475, 340]], "image": "d03115.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [418.5, 308.5], "scale": 1.0199, "joints": [[407, 400], [384, 329], [450, 299], [451, 300], [385, 330], [408, 398], [452, 298], [414, 249], [398, 236], [386, 212], [379, 346], [403, 297], [414, 246], [415, 252.99999999999997], [407, 298], [379, 347]], "image": "d03116.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [403.5, 300], "scale": 1.0749000000000002, "joints": [[411, 399], [392, 329], [455, 299], [457, 300], [391, 331], [410, 401], [455, 297], [426, 240.99999999999997], [417, 223], [415, 194], [338, 272], [389, 261], [421, 240], [420, 243.00000000000003], [386, 270], [343, 282]], "image": "d03117.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [411.5, 283.5], "scale": 1.2199, "joints": [[411, 398], [397, 324], [454, 296], [457, 298], [396, 326], [408, 398], [457, 294], [437, 229.99999999999997], [433, 213], [443, 184.99999999999997], [356, 173], [388, 199], [433, 218.99999999999997], [433, 224], [380, 214], [343, 184.99999999999997]], "image": "d03118.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [433.5, 264], "scale": 1.4349, "joints": [[408, 398], [392, 322], [454, 289], [458, 290], [392, 325], [407, 397.00000000000006], [457, 287], [445, 214], [446, 194], [466, 176], [419, 124], [434, 161], [453, 203], [446, 206], [407, 174], [386, 140]], "image": "d03119.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [479, 249.5], "scale": 1.2599, "joints": [[391, 358], [390, 287], [423, 233], [444, 239], [406, 286], [396, 355], [433, 236], [503, 194], [516, 187.00000000000003], [543, 175], [584, 174], [555, 211], [523, 199], [504, 162], [522, 126], [565, 144]], "image": "d03120.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [468, 249], "scale": 1.3949, "joints": [[400, 379], [398, 305], [447, 261], [435, 259], [390, 301], [397, 381], [443, 258], [490, 191], [498, 177], [514, 152], [552, 125], [544, 177], [506, 191], [479, 173], [483, 126.99999999999999], [540, 114]], "image": "d03121.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [476, 243.5], "scale": 1.0399, "joints": [[380, 344], [408, 269], [449, 222], [431, 209.00000000000003], [392, 257], [380, 325], [442, 215], [515, 190], [529, 192], [553, 199], [577, 234], [527, 254.00000000000003], [523, 217], [522, 166], [548, 147], [567, 181]], "image": "d03122.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [454.5, 243.5], "scale": 0.7599000000000001, "joints": [[370, 302], [417, 243.00000000000003], [462, 212], [443, 190], [399, 226], [358, 283], [453, 201], [532, 196.99999999999997], [537, 202], [558, 213], [526, 276], [492, 258], [522, 223], [546, 175], [555, 167], [555, 194]], "image": "d03123.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [447.5, 224], "scale": 0.5749000000000001, "joints": [[340, 264], [404, 236], [470, 209.00000000000003], [462, 179], [403, 209.00000000000003], [333, 238], [471, 193], [540, 202], [548, 206], [567, 227], [474, 279], [474, 234], [516, 229.99999999999997], [561, 193], [545, 200], [535, 221.00000000000003]], "image": "d03124.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453, 218], "scale": 0.3949000000000001, "joints": [[335, 206], [408, 212], [469, 202], [478, 185.99999999999997], [416, 195], [347, 189], [477, 193], [546, 216], [556, 225], [579, 240], [454, 238], [479, 207.99999999999997], [527, 223], [561, 210.00000000000003], [546, 201], [512, 233]], "image": "d03125.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [471, 208.5], "scale": 0.6699, "joints": [[371, 152], [429, 184.99999999999997], [487, 200], [489, 203], [429, 187.00000000000003], [371, 151], [492, 209.00000000000003], [540, 236], [554, 247], [582, 259], [471, 213], [504, 195], [536, 227], [555, 244], [527, 246], [522, 236]], "image": "d03126.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [483, 204], "scale": 0.9249, "joints": [[396, 117], [446, 165], [489, 191], [483, 216], [436, 175], [407, 124], [488, 203], [538, 259], [546, 269], [571, 284], [503, 203], [538, 215], [552, 250], [532, 281], [491, 255.00000000000003], [506, 227]], "image": "d03127.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [504, 209], "scale": 1.0849000000000002, "joints": [[440, 102], [477, 155], [508, 195.99999999999997], [482, 216], [456, 167], [439, 120.99999999999999], [495, 206], [538, 274], [546, 287], [559, 310], [573, 251], [557, 216], [559, 254.00000000000003], [509, 286], [483, 249], [522, 225]], "image": "d03128.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522, 211], "scale": 1.2449000000000001, "joints": [[484, 102], [504, 159], [521, 207.99999999999997], [489, 216], [476, 160], [461, 106], [506, 214], [529, 283], [532, 297], [541, 327], [577, 277], [579, 245], [557, 284], [500, 286], [494, 243.00000000000003], [540, 233]], "image": "d03129.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [531, 218.5], "scale": 1.3599, "joints": [[518, 98], [521, 158], [526, 217], [507, 213], [514, 156], [511, 99.00000000000001], [516, 216], [520, 290], [520, 311], [517, 344], [572, 294], [570, 278], [536, 304], [508, 296], [518, 249], [555, 243.00000000000003]], "image": "d03130.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489, 367], "scale": 1.0749000000000002, "joints": [[397, 292], [524, 358], [421, 430], [417, 430], [529, 356], [398, 288], [427, 431], [523, 414.99999999999994], [558, 415.99999999999994], [602, 410], [475, 330], [479, 392.99999999999994], [538, 409], [534, 414.99999999999994], [458, 413], [468, 325]], "image": "d03131.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530.5, 225], "scale": 1.3449, "joints": [[543, 113], [540, 168], [520, 224], [530, 226], [546, 166], [559, 109.99999999999999], [525, 225], [512, 300], [507, 320], [496, 347], [562, 330], [535, 298], [502, 310], [517, 313], [546, 274], [578, 252]], "image": "d03132.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529.5, 237], "scale": 1.2449000000000001, "joints": [[585, 128], [550, 184], [516, 232.00000000000003], [542, 244], [570, 189], [594, 138], [523, 240], [491, 317], [487, 325], [469, 350], [-1, -1], [-1, -1], [465, 301], [522, 333], [558, 296], [582, 272]], "image": "d03133.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [533.5, 243], "scale": 1.0149000000000001, "joints": [[616, 150], [573, 193], [535, 239], [557, 260], [588, 207.99999999999997], [627, 165], [540, 255.00000000000003], [485, 314], [474, 322], [447, 335], [441, 280], [455, 264], [465, 295], [504, 341], [548, 313], [586, 286]], "image": "d03134.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [540.5, 248], "scale": 0.8549000000000001, "joints": [[631, 181], [587, 218.99999999999997], [552, 258], [571, 288], [597, 234], [643, 195], [556, 276], [476, 307], [459, 312], [434, 310], [445, 224], [465, 240], [465, 279], [482, 324], [534, 320], [574, 297]], "image": "d03135.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [547, 254], "scale": 0.6149000000000001, "joints": [[637, 211], [596, 240], [557, 288], [567, 296], [596, 256], [649, 218.99999999999997], [560, 295], [480, 282], [458, 281], [441, 273], [503, 198.00000000000003], [504, 238], [472, 272], [467, 287], [492, 238], [491, 200]], "image": "d03136.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 275.5], "scale": 0.5399, "joints": [[646, 236], [597, 265], [553, 318], [550, 314], [600, 271], [651, 240.99999999999997], [551, 314], [489, 269], [478, 257], [463, 235], [561, 232.00000000000003], [532, 255.00000000000003], [487, 265], [489, 266], [529, 254.00000000000003], [559, 230.99999999999997]], "image": "d03137.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 277], "scale": 0.6749, "joints": [[657, 264], [584, 290], [530, 326], [534, 322], [588, 289], [660, 264], [533, 324], [506, 265], [503, 248], [506, 210.00000000000003], [590, 284], [544, 284], [511, 260], [514, 261], [541, 283], [590, 295]], "image": "d03138.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [582.5, 274.5], "scale": 0.6299000000000001, "joints": [[666, 306], [579, 305], [514, 323], [517, 320], [580, 305], [666, 304], [518, 319], [525, 259], [535, 241.99999999999997], [550, 216], [577, 338], [543, 304], [532, 265], [538, 252.99999999999997], [556, 286], [586, 321]], "image": "d03139.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574, 297.5], "scale": 0.6299000000000001, "joints": [[647, 351], [572, 318], [501, 303], [504, 300], [572, 316], [652, 352], [504, 300], [539, 265], [557, 260], [585, 244], [550, 341], [532, 318], [542, 276], [557, 272], [561, 296], [573, 345]], "image": "d03140.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557.5, 314.5], "scale": 0.8099000000000001, "joints": [[607, 392.99999999999994], [552, 318], [504, 278], [509, 277], [553, 311], [604, 390], [511, 278], [555, 263], [569, 268], [591, 280], [545, 330], [516, 321], [545, 278], [571, 256], [562, 292], [548, 335]], "image": "d03141.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 318.5], "scale": 0.9299000000000001, "joints": [[540, 404], [526, 317], [513, 257], [531, 257], [540, 319], [550, 395.00000000000006], [522, 257], [562, 270], [575, 279], [580, 310], [516, 314], [504, 306], [546, 284], [587, 274], [550, 302], [535, 315]], "image": "d03142.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 305], "scale": 0.8649000000000001, "joints": [[481, 373.00000000000006], [512, 297], [533, 245], [540, 256], [522, 303], [493, 374.00000000000006], [540, 249], [566, 276], [570, 293], [556, 325], [490, 290], [507, 277], [545, 284], [583, 294], [543, 291], [520, 301]], "image": "d03143.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [511.5, 278], "scale": 0.6249000000000001, "joints": [[447, 317], [506, 274], [562, 230.99999999999997], [568, 238], [514, 275], [451, 324], [565, 236], [562, 281], [560, 297], [534, 319], [488, 265], [507, 255.00000000000003], [548, 279], [567, 305], [539, 265], [505, 260]], "image": "d03144.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [511.5, 263.5], "scale": 0.43990000000000007, "joints": [[432, 264], [517, 247], [584, 240], [587, 238], [519, 245], [436, 259], [584, 246], [549, 279], [536, 290], [511, 294], [514, 230.99999999999997], [526, 226], [537, 273], [546, 293], [539, 241.99999999999997], [523, 227]], "image": "d03145.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529, 245], "scale": 0.5649000000000001, "joints": [[457, 198.00000000000003], [528, 225], [591, 254.00000000000003], [594, 256], [530, 223], [462, 192], [590, 254.00000000000003], [540, 271], [524, 271], [501, 265], [546, 207], [543, 225], [535, 263], [530, 259], [536, 216], [549, 206]], "image": "d03146.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551, 214], "scale": 0.8049000000000001, "joints": [[504, 147], [548, 205], [590, 262], [593, 260], [550, 199], [514, 141], [589, 264], [539, 252], [524, 247], [506, 235], [568, 195], [559, 218], [532, 251], [533, 246], [552, 213], [562, 181]], "image": "d03147.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 189.5], "scale": 0.9199, "joints": [[564, 123], [574, 201], [577, 271], [579, 268], [576, 198.00000000000003], [572, 120], [576, 269], [531, 235], [525, 217], [519, 192], [592, 181], [567, 221.00000000000003], [526, 229.99999999999997], [532, 218.99999999999997], [564, 201], [597, 173]], "image": "d03148.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [573.5, 192], "scale": 0.8349000000000001, "joints": [[627, 130], [597, 194], [563, 263], [564, 262], [600, 193], [638, 131], [562, 261], [536, 212], [534, 195.99999999999997], [532, 170], [607, 191], [564, 207.99999999999997], [527, 207], [541, 191], [570, 184.99999999999997], [606, 179]], "image": "d03149.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [602, 208], "scale": 0.5949000000000001, "joints": [[675, 175], [617, 209.00000000000003], [552, 247], [555, 245], [619, 207], [677, 172], [554, 240], [537, 194], [540, 174], [554, 153], [584, 198.00000000000003], [551, 190], [528, 181], [545, 172], [584, 172], [615, 171]], "image": "d03150.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614.5, 192.5], "scale": 0.5699000000000001, "joints": [[691, 224], [621, 227], [547, 232.00000000000003], [551, 229], [620, 229], [693, 226], [549, 230.99999999999997], [550, 173], [560, 158], [573, 135], [557, 191], [547, 174], [548, 156], [559, 153], [575, 159], [598, 163]], "image": "d03151.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620.5, 201.5], "scale": 0.7699000000000001, "joints": [[683, 279], [617, 252], [551, 222], [552, 220.00000000000003], [615, 248], [685, 275], [554, 218], [569, 163], [580, 153], [605, 137], [540, 180], [550, 162], [566, 149], [567, 156], [568, 165], [575, 176]], "image": "d03152.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609.5, 232], "scale": 0.9649000000000001, "joints": [[661, 317], [605, 273], [551, 216], [553, 215], [605, 270], [659, 315], [553, 213], [588, 165], [603, 155], [629, 145], [541, 176], [564, 159], [589, 150], [591, 153], [569, 155], [559, 167]], "image": "d03153.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592.5, 244.5], "scale": 0.9399000000000001, "joints": [[616, 330], [582, 274], [553, 213], [555, 212], [585, 275], [616, 327], [555, 211], [603, 176], [621, 175], [647, 179], [549, 184.99999999999997], [581, 161], [614, 162], [619, 167], [598, 159], [567, 157]], "image": "d03154.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 273.5], "scale": 0.8199000000000001, "joints": [[536, 334], [552, 266], [562, 211], [560, 210.00000000000003], [552, 266], [536, 333], [564, 210.00000000000003], [633, 228], [648, 235], [663, 249], [595, 250], [606, 210.00000000000003], [636, 223], [642, 227], [613, 214], [592, 248]], "image": "d03155.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584.5, 269.5], "scale": 0.7299000000000001, "joints": [[509, 338], [547, 263], [572, 220.00000000000003], [575, 218.99999999999997], [547, 262], [507, 334], [576, 221.00000000000003], [634, 260], [642, 268], [666, 282], [600, 315], [612, 282], [637, 254.00000000000003], [636, 257], [614, 274], [598, 312]], "image": "d03156.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565.5, 291.5], "scale": 0.7599000000000001, "joints": [[476, 321], [536, 268], [587, 235], [589, 234], [537, 265], [474, 319], [591, 235], [627, 293], [639, 305], [659, 321], [615, 365], [621, 321], [637, 299], [632, 301], [620, 323], [594, 348]], "image": "d03157.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 323.5], "scale": 0.8599000000000001, "joints": [[454, 288], [533, 268], [593, 259], [596, 256], [533, 264], [457, 286], [595, 260], [628, 337], [639, 348], [662, 353], [630, 404], [634, 366], [636, 343], [635, 342], [626, 366], [610, 405]], "image": "d03158.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549, 351], "scale": 1.0649000000000002, "joints": [[454, 255.00000000000003], [533, 268], [595, 289], [596, 287], [533, 269], [457, 256], [598, 294], [614, 363], [619, 375], [644, 391.99999999999994], [631, 460.99999999999994], [633, 403], [633, 373.00000000000006], [630, 370.99999999999994], [630, 405], [628, 462.00000000000006]], "image": "d03159.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 367], "scale": 1.4249, "joints": [[475, 238], [530, 273], [593, 323], [593, 324], [533, 273], [482, 238], [594, 325], [609, 402], [613, 412], [634, 429], [635, 503.99999999999994], [620, 456], [625, 417.00000000000006], [628, 414.99999999999994], [626, 453], [639, 501]], "image": "d03160.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [381, 200], "scale": 1.4549, "joints": [[343, 337], [361, 270], [362, 220.00000000000003], [370, 215], [419, 245], [376, 284], [370, 218.99999999999997], [371, 140], [373, 128], [372, 103.99999999999999], [407, 60], [392, 92], [363, 126.99999999999999], [362, 128], [366, 107], [376, 70]], "image": "d03161.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [383.5, 192.5], "scale": 1.5099, "joints": [[348, 334], [362, 272], [364, 214], [372, 211], [412, 249], [371, 281], [368, 213], [373, 136], [374, 118], [373, 92.99999999999999], [413, 54.99999999999999], [396, 87], [366, 120.99999999999999], [371, 124], [381, 94.00000000000001], [383, 54.99999999999999]], "image": "d03162.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [385.5, 187.5], "scale": 1.4499000000000002, "joints": [[356, 329], [366, 264], [366, 207.99999999999997], [373, 207], [411, 249], [372, 281], [370, 207.99999999999997], [375, 130], [377, 115], [377, 86], [418, 48], [394, 86], [369, 120], [371, 118], [383, 88], [392, 51]], "image": "d03163.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [390.5, 196.5], "scale": 1.4999, "joints": [[372, 340], [374, 272], [369, 217], [371, 216], [388, 270], [372, 339], [374, 216], [384, 141], [387, 126], [388, 99.00000000000001], [418, 63], [403, 94.00000000000001], [378, 128], [382, 131], [402, 90], [413, 57.99999999999999]], "image": "d03164.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [384, 221], "scale": 1.4149, "joints": [[370, 358], [382, 287], [365, 235], [368, 234], [387, 286], [374, 358], [368, 233], [389, 159], [395, 141], [396, 112], [409, 85], [407, 109.99999999999999], [385, 144], [384, 146], [406, 109], [406, 81]], "image": "d03165.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [384.5, 253], "scale": 1.2849000000000002, "joints": [[356, 369.99999999999994], [386, 311], [358, 257], [358, 254.00000000000003], [386, 311], [358, 368], [363, 252.99999999999997], [396, 184.99999999999997], [400, 170], [404, 144], [389, 128], [418, 159], [392, 180], [391, 177], [417, 155], [391, 128]], "image": "d03166.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [388, 251.5], "scale": 1.2399, "joints": [[344, 369.99999999999994], [379, 310], [355, 259], [355, 258], [379, 309], [345, 370.99999999999994], [357, 258], [397, 195.99999999999997], [407, 185.99999999999997], [408, 166], [420, 124], [434, 165], [401, 188], [402, 185.99999999999997], [432, 163], [422, 123]], "image": "d03167.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [407, 261], "scale": 1.1249, "joints": [[332, 365], [358, 302], [346, 241.99999999999997], [348, 239], [360, 301], [335, 366], [349, 241.99999999999997], [405, 196.99999999999997], [418, 187.00000000000003], [424, 168], [484, 153], [454, 179], [414, 189], [410, 188], [453, 176], [487, 152]], "image": "d03168.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [406, 261], "scale": 0.9549000000000001, "joints": [[331, 350], [333, 285], [342, 225], [344, 225], [337, 285], [333, 352], [346, 225], [413, 193], [428, 184], [440, 167], [499, 209.00000000000003], [461, 200], [423, 190], [423, 189], [460, 207], [497, 212]], "image": "d03169.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [387, 252.5], "scale": 0.8599000000000001, "joints": [[306, 328], [328, 263], [342, 204], [347, 205], [331, 263], [311, 327], [345, 205], [415, 195], [431, 190], [445, 170], [466, 254.00000000000003], [439, 225], [426, 201], [424, 200], [442, 229.99999999999997], [465, 261]], "image": "d03170.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [364.5, 242], "scale": 0.7149000000000001, "joints": [[284, 294], [328, 244], [343, 187.00000000000003], [345, 188], [331, 245], [292, 304], [347, 189], [411, 207.99999999999997], [428, 209.00000000000003], [449, 190], [411, 285], [412, 238], [419, 210.00000000000003], [423, 212], [419, 240.99999999999997], [422, 282]], "image": "d03171.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [354.5, 228.5], "scale": 0.6299000000000001, "joints": [[266, 267], [324, 226], [347, 174], [350, 176], [326, 229], [271, 275], [350, 176], [404, 224], [417, 229.99999999999997], [441, 232.00000000000003], [355, 281], [380, 243.00000000000003], [411, 225], [412, 226], [385, 248], [364, 285]], "image": "d03172.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [335.5, 220.5], "scale": 0.5799000000000001, "joints": [[254, 236], [322, 217], [363, 177], [364, 179], [327, 216], [254, 246], [365, 181], [384, 237], [392, 249], [414, 265], [305, 245], [350, 240.99999999999997], [387, 244], [392, 245], [356, 244], [320, 255.00000000000003]], "image": "d03173.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [321, 231.5], "scale": 0.6299000000000001, "joints": [[250, 200], [321, 204], [374, 183], [374, 187.00000000000003], [327, 210.00000000000003], [252, 200], [373, 188], [359, 240], [361, 259], [361, 288], [296, 193], [320, 218.99999999999997], [357, 249], [363, 248], [324, 217], [297, 193]], "image": "d03174.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [321.5, 227], "scale": 0.7149000000000001, "joints": [[263, 165], [326, 201], [375, 209.00000000000003], [381, 207.99999999999997], [325, 198.00000000000003], [264, 163], [380, 209.00000000000003], [338, 250], [330, 264], [330, 295], [317, 177], [327, 213], [333, 252.99999999999997], [334, 252], [330, 215], [316, 172]], "image": "d03175.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [328.5, 207.5], "scale": 0.7199000000000001, "joints": [[300, 136], [325, 196.99999999999997], [376, 233], [378, 233], [325, 196.99999999999997], [305, 138], [376, 233], [324, 246], [306, 255.00000000000003], [287, 269], [331, 171], [333, 202], [314, 246], [314, 244], [329, 201], [335, 174]], "image": "d03176.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [318.5, 204.5], "scale": 0.7599000000000001, "joints": [[347, 138], [341, 201], [366, 258], [369, 259], [342, 196.99999999999997], [346, 137], [362, 255.00000000000003], [312, 240], [292, 240], [262, 233], [351, 180], [341, 209.00000000000003], [305, 235], [303, 240], [339, 209.00000000000003], [359, 191]], "image": "d03177.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [332.5, 221], "scale": 0.6749, "joints": [[389, 165], [354, 213], [343, 275], [344, 274], [356, 212], [394, 167], [341, 271], [305, 233], [291, 220.00000000000003], [271, 206], [379, 209.00000000000003], [352, 224], [307, 228], [309, 226], [347, 218], [377, 212]], "image": "d03178.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [356, 234], "scale": 0.5749000000000001, "joints": [[421, 210.00000000000003], [364, 235], [323, 281], [324, 282], [366, 234], [425, 213], [321, 280], [312, 223], [310, 209.00000000000003], [297, 182], [383, 241.99999999999997], [351, 244], [318, 221.00000000000003], [318, 221.00000000000003], [353, 236], [384, 241.99999999999997]], "image": "d03179.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [363.5, 239], "scale": 0.5749000000000001, "joints": [[430, 263], [367, 259], [307, 273], [306, 273], [367, 261], [430, 264], [304, 271], [331, 227], [337, 213], [343, 185.99999999999997], [373, 278], [349, 261], [337, 226], [339, 226], [351, 254.00000000000003], [378, 272]], "image": "d03180.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [353, 266], "scale": 0.5749000000000001, "joints": [[412, 316], [358, 285], [299, 261], [299, 261], [360, 283], [411, 315], [301, 260], [347, 240.99999999999997], [362, 232.00000000000003], [380, 215], [359, 308], [344, 274], [352, 240], [356, 238], [350, 266], [359, 302]], "image": "d03181.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [350.5, 294], "scale": 0.7249000000000001, "joints": [[374, 359], [343, 301], [306, 248], [308, 246], [343, 296], [377, 356], [308, 246], [357, 255.00000000000003], [377, 260], [406, 255.00000000000003], [333, 311], [331, 283], [361, 261], [363, 263], [341, 286], [338, 312]], "image": "d03182.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [357, 302.5], "scale": 0.7599000000000001, "joints": [[323, 360], [327, 299], [328, 240], [329, 239], [329, 299], [325, 361], [331, 237], [363, 275], [374, 288], [404, 307], [309, 304], [324, 285], [370, 280], [376, 281], [328, 278], [315, 302]], "image": "d03183.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [332.5, 287.5], "scale": 0.6699, "joints": [[286, 345], [321, 286], [354, 239], [352, 236], [322, 287], [283, 343], [361, 240], [363, 289], [363, 305], [372, 331], [301, 286], [328, 279], [369, 299], [367, 297], [333, 270], [305, 281]], "image": "d03184.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [326, 283], "scale": 0.4749000000000001, "joints": [[263, 299], [328, 273], [384, 250], [387, 250], [329, 272], [265, 295], [387, 258], [360, 294], [350, 309], [338, 334], [310, 256], [340, 268], [357, 301], [356, 299], [339, 266], [307, 258]], "image": "d03185.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [413, 226], "scale": 0.7249000000000001, "joints": [[453, 169], [426, 221.00000000000003], [396, 287], [396, 286], [428, 222], [459, 170], [394, 285], [386, 233], [389, 217], [392, 195], [443, 226], [427, 243.00000000000003], [387, 229], [388, 226], [422, 218.99999999999997], [447, 230.99999999999997]], "image": "d03186.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [367.5, 243.5], "scale": 0.6399000000000001, "joints": [[325, 201], [368, 243.00000000000003], [413, 285], [415, 285], [370, 240], [329, 196.99999999999997], [410, 286], [360, 276], [344, 272], [319, 269], [374, 220.00000000000003], [378, 245], [349, 273], [350, 261], [362, 225], [383, 221.00000000000003]], "image": "d03187.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [387, 233.5], "scale": 0.7499000000000001, "joints": [[387, 171], [396, 236], [407, 295], [408, 293], [398, 232.00000000000003], [392, 170], [404, 292], [368, 254.00000000000003], [359, 241.99999999999997], [345, 226], [412, 225], [406, 241.99999999999997], [368, 247], [367, 239], [396, 220.00000000000003], [417, 218]], "image": "d03188.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [343, 272.5], "scale": 0.4199000000000001, "joints": [[276, 246], [343, 255.00000000000003], [402, 270], [404, 268], [343, 255.00000000000003], [279, 240], [402, 273], [354, 290], [341, 296], [322, 310], [340, 239], [356, 258], [349, 291], [347, 290], [344, 257], [337, 236]], "image": "d03189.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [437, 230.5], "scale": 0.4799000000000001, "joints": [[500, 200], [438, 233], [386, 265], [389, 261], [441, 229], [503, 205], [386, 261], [414, 215], [425, 206], [439, 191], [457, 245], [436, 247], [421, 216], [426, 213], [452, 224], [457, 247]], "image": "d03190.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [450, 220], "scale": 0.3949000000000001, "joints": [[515, 251], [451, 238], [392, 232.00000000000003], [392, 230.99999999999997], [452, 239], [519, 249], [393, 229.99999999999997], [438, 212], [451, 206], [474, 194], [461, 260], [440, 246], [441, 209.00000000000003], [456, 212], [461, 235], [459, 261]], "image": "d03191.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [457.5, 230.5], "scale": 0.6099000000000001, "joints": [[503, 287], [453, 240], [410, 198.00000000000003], [410, 198.00000000000003], [455, 239], [503, 285], [414, 195.99999999999997], [464, 206], [473, 210.00000000000003], [501, 214], [454, 259], [445, 240.99999999999997], [466, 215], [470, 218.99999999999997], [464, 239], [453, 260]], "image": "d03192.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [468, 228.5], "scale": 0.7699000000000001, "joints": [[463, 287], [456, 232.00000000000003], [446, 170], [449, 169], [457, 234], [466, 292], [454, 170], [480, 203], [485, 220.00000000000003], [502, 238], [439, 243.00000000000003], [449, 224], [487, 215], [492, 217], [460, 218], [439, 241.99999999999997]], "image": "d03193.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475, 213.5], "scale": 0.6999000000000001, "joints": [[434, 271], [461, 214], [492, 158], [489, 157], [462, 212], [433, 270], [495, 160], [493, 204], [488, 220.00000000000003], [495, 247], [443, 211], [469, 207], [496, 215], [505, 217], [469, 202], [444, 207]], "image": "d03194.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 194], "scale": 0.4449000000000001, "joints": [[415, 220.00000000000003], [474, 195], [531, 168], [534, 168], [476, 196.99999999999997], [415, 221.00000000000003], [533, 174], [501, 207], [488, 216], [467, 233], [458, 181], [483, 189], [499, 213], [499, 210.00000000000003], [483, 185.99999999999997], [466, 177]], "image": "d03195.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493.5, 185], "scale": 0.3949000000000001, "joints": [[425, 167], [488, 171], [553, 184.99999999999997], [555, 185.99999999999997], [490, 170], [427, 163], [552, 189], [505, 200], [489, 202], [465, 201], [489, 150], [501, 178], [500, 206], [498, 203], [497, 170], [489, 151]], "image": "d03196.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516.5, 169], "scale": 0.6349, "joints": [[473, 114], [517, 163], [559, 209.00000000000003], [561, 206], [521, 161], [485, 111], [558, 211], [511, 188], [499, 180], [477, 170], [529, 138], [531, 169], [502, 184], [503, 173], [510, 141], [529, 137]], "image": "d03197.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533, 158.5], "scale": 0.7699000000000001, "joints": [[532, 103.99999999999999], [542, 163], [552, 224], [552, 221.00000000000003], [545, 163], [543, 106], [549, 223], [519, 183], [516, 168], [511, 146], [564, 152], [552, 172], [512, 175], [519, 165], [541, 145], [561, 145]], "image": "d03198.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [555.5, 175], "scale": 0.6549, "joints": [[599, 123], [562, 176], [535, 228], [537, 227], [564, 177], [604, 128], [530, 225], [528, 178], [534, 165], [540, 136], [585, 177], [562, 184.99999999999997], [536, 175], [539, 171], [565, 173], [586, 183]], "image": "d03199.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580.5, 182.5], "scale": 0.49990000000000007, "joints": [[645, 180], [579, 192], [527, 217], [526, 216], [580, 193], [645, 177], [525, 214], [547, 173], [559, 159], [574, 139], [598, 207.99999999999997], [567, 203], [549, 172], [550, 170], [566, 196.99999999999997], [597, 203]], "image": "d03200.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590, 195.5], "scale": 0.5499, "joints": [[653, 246], [590, 218.99999999999997], [530, 201], [531, 196.99999999999997], [590, 215], [651, 243.00000000000003], [529, 199], [562, 169], [576, 164], [603, 152], [578, 251], [570, 212], [567, 170], [572, 167], [571, 198.00000000000003], [586, 244]], "image": "d03201.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 220], "scale": 0.7249000000000001, "joints": [[615, 283], [575, 230.99999999999997], [542, 191], [545, 191], [574, 228], [618, 282], [542, 189], [584, 170], [602, 171], [629, 169], [560, 244], [576, 204], [585, 171], [591, 172], [574, 201], [558, 243.00000000000003]], "image": "d03202.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 391.5], "scale": 2.8799, "joints": [[599, 655], [643, 512], [589, 402], [595, 400], [651, 511], [603, 657], [597, 401], [662, 254.00000000000003], [669, 226], [692, 166], [664, 119], [672, 176], [643, 229.99999999999997], [659, 236], [690, 158], [659, 114]], "image": "d03203.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 420], "scale": 2.6949, "joints": [[578, 669], [647, 542], [585, 430], [588, 428], [646, 538], [581, 667], [591, 428], [661, 285], [667, 259], [683, 189], [648, 159], [692, 207], [648, 268], [665, 270], [717, 209.00000000000003], [648, 156]], "image": "d03204.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 424], "scale": 1.9949000000000001, "joints": [[484, 605], [496, 467], [518, 347], [521, 346], [500, 466], [488, 608], [523, 346], [665, 296], [694, 282], [729, 232.00000000000003], [820, 359], [743, 327], [689, 286], [688, 288], [748, 326], [818, 382]], "image": "d03205.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [437.5, 396], "scale": 1.3849, "joints": [[298, 339], [449, 344], [554, 292], [557, 294], [450, 349], [304, 339], [560, 301], [528, 429], [535, 469], [565, 528], [396, 362], [455, 389], [520, 442.00000000000006], [533, 423], [474, 381], [408, 332]], "image": "d03206.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [451, 419], "scale": 1.5649000000000002, "joints": [[497, 278], [492, 413.99999999999994], [548, 537], [549, 538], [495, 411], [505, 274], [543, 539], [428, 502], [386, 497], [325, 503], [514, 365], [493, 433], [420, 487.00000000000006], [428, 483.99999999999994], [490, 431], [540, 380]], "image": "d03207.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [488.5, 528.5], "scale": 1.3199, "joints": [[585, 652], [484, 550], [375, 483.99999999999994], [381, 481], [485, 549], [588, 650], [380, 476], [484, 462.00000000000006], [520, 455], [586, 411], [486, 595], [455, 534], [499, 472], [503, 475], [489, 532], [475, 593]], "image": "d03208.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673.5, 333], "scale": 1.4049, "joints": [[566, 466], [594, 379], [601, 305], [605, 307], [599, 380], [571, 468], [606, 308], [668, 240], [684, 229.99999999999997], [712, 207], [790, 225], [734, 220.00000000000003], [685, 223], [681, 223], [733, 220.00000000000003], [790, 225]], "image": "d03209.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670.5, 329.5], "scale": 1.2599, "joints": [[556, 447], [579, 360], [597, 280], [599, 279], [582, 358], [563, 442.00000000000006], [601, 280], [686, 234], [707, 229], [734, 214], [785, 290], [742, 266], [702, 230.99999999999997], [710, 233], [743, 260], [788, 288]], "image": "d03210.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [642.5, 320], "scale": 1.0349000000000002, "joints": [[542, 410], [576, 328], [592, 255.00000000000003], [597, 257], [580, 329], [544, 410], [597, 257], [696, 245], [715, 251], [741, 239], [727, 346], [711, 295], [702, 249], [708, 252], [721, 292], [729, 347]], "image": "d03211.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [630.5, 301], "scale": 0.8849000000000001, "joints": [[529, 382], [578, 306], [600, 229.99999999999997], [603, 229.99999999999997], [579, 306], [532, 382], [603, 232.00000000000003], [687, 268], [704, 276], [743, 282], [649, 358], [669, 306], [693, 268], [697, 277], [676, 310], [654, 362]], "image": "d03212.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [611.5, 282.5], "scale": 0.8099000000000001, "joints": [[517, 346], [575, 289], [614, 218], [618, 218], [576, 286], [515, 347], [621, 223], [671, 281], [683, 299], [709, 334], [581, 324], [627, 303], [680, 283], [684, 291], [632, 311], [589, 334]], "image": "d03213.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577, 283], "scale": 0.8649000000000001, "joints": [[496, 313], [573, 272], [638, 217], [637, 229.99999999999997], [575, 269], [493, 308], [638, 225], [642, 300], [642, 319], [656, 359], [558, 255.00000000000003], [597, 275], [650, 299], [643, 302], [593, 289], [537, 263]], "image": "d03214.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570, 284.5], "scale": 0.7699000000000001, "joints": [[495, 256], [580, 254.00000000000003], [655, 236], [651, 234], [578, 251], [498, 252.99999999999997], [654, 241.99999999999997], [624, 297], [606, 319], [584, 349], [576, 226], [600, 263], [618, 305], [606, 305], [584, 265], [557, 229]], "image": "d03215.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 265], "scale": 0.7049000000000001, "joints": [[505, 207], [582, 237], [659, 258], [656, 258], [581, 236], [511, 203], [656, 262], [594, 297], [575, 305], [543, 322], [595, 220.00000000000003], [597, 248], [591, 304], [580, 297], [581, 246], [585, 213]], "image": "d03216.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592, 236.5], "scale": 0.8099000000000001, "joints": [[556, 163], [594, 226], [652, 286], [651, 286], [592, 228], [549, 164], [647, 290], [580, 288], [558, 282], [516, 270], [611, 215], [599, 252.99999999999997], [571, 281], [567, 279], [586, 240], [611, 215]], "image": "d03217.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [586, 227], "scale": 0.9849000000000001, "joints": [[604, 148], [609, 229.99999999999997], [627, 306], [628, 303], [612, 228], [613, 145], [618, 304], [564, 267], [547, 249], [537, 216], [629, 224], [616, 238], [561, 258], [564, 248], [613, 222], [629, 228]], "image": "d03218.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 240], "scale": 0.8949000000000001, "joints": [[659, 176], [620, 236], [595, 314], [600, 314], [624, 236], [666, 175], [593, 313], [563, 245], [564, 224], [563, 183], [636, 244], [617, 254.00000000000003], [570, 241.99999999999997], [576, 236], [626, 240], [639, 252]], "image": "d03219.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [628, 247], "scale": 0.7849, "joints": [[707, 221.00000000000003], [632, 252.99999999999997], [567, 302], [568, 300], [638, 255.00000000000003], [707, 222], [564, 299], [576, 227], [588, 211], [605, 177], [638, 270], [617, 264], [579, 223], [582, 217], [619, 258], [633, 279]], "image": "d03220.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [635, 240], "scale": 0.6549, "joints": [[718, 293], [633, 279], [553, 274], [552, 274], [635, 280], [719, 293], [552, 271], [597, 217], [615, 203], [645, 182], [632, 295], [612, 249], [604, 215], [595, 207], [595, 247], [620, 282]], "image": "d03221.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623, 271.5], "scale": 0.9399000000000001, "joints": [[689, 365], [625, 307], [556, 252], [553, 252], [621, 305], [682, 356], [558, 246], [615, 210.00000000000003], [633, 204], [671, 190], [625, 319], [614, 250], [622, 210.00000000000003], [612, 201], [584, 237], [600, 287]], "image": "d03222.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619, 292.5], "scale": 1.1599000000000002, "joints": [[610, 391.99999999999994], [594, 314], [576, 235], [571, 234], [591, 313], [614, 391.99999999999994], [576, 236], [640, 206], [663, 204], [698, 201], [621, 295], [627, 240], [642, 205], [637, 211], [-1, -1], [-1, -1]], "image": "d03223.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]}, {"center": [625.5, 293.5], "scale": 1.1499000000000001, "joints": [[550, 390], [572, 305], [591, 229], [580, 226], [562, 304], [544, 391.99999999999994], [586, 227], [656, 204], [676, 206], [713, 207.99999999999997], [618, 286], [643, 228], [668, 210.00000000000003], [667, 196.99999999999997], [634, 199], [619, 218]], "image": "d03224.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [602.5, 275.5], "scale": 1.0699, "joints": [[489, 365], [549, 298], [607, 237], [589, 221.00000000000003], [537, 280], [483, 351], [601, 227], [679, 203], [698, 211], [729, 214], [617, 259], [650, 248], [681, 226], [687, 183], [655, 175], [640, 196.99999999999997]], "image": "d03225.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 250], "scale": 0.7049000000000001, "joints": [[443, 311], [532, 276], [617, 248], [593, 209.00000000000003], [517, 254.00000000000003], [435, 297], [611, 227], [690, 212], [711, 221.00000000000003], [734, 228], [637, 258], [651, 260], [694, 248], [697, 190], [670, 183], [655, 207.99999999999997]], "image": "d03226.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [589.5, 237.5], "scale": 0.3699000000000001, "joints": [[427, 256], [522, 250], [617, 251], [612, 211], [516, 222], [426, 227], [617, 232.00000000000003], [702, 228], [714, 236], [739, 246], [634, 268], [640, 262], [696, 260], [706, 202], [726, 203], [756, 229.99999999999997]], "image": "d03227.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591.5, 218.5], "scale": 0.5799000000000001, "joints": [[442, 199], [534, 218.99999999999997], [601, 249], [617, 217], [541, 199], [450, 174], [612, 236], [699, 245], [712, 248], [737, 252.99999999999997], [656, 205], [641, 259], [680, 274], [716, 224], [742, 213], [759, 247]], "image": "d03228.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609.5, 208.5], "scale": 0.8599000000000001, "joints": [[470, 154], [542, 191], [603, 233], [615, 225], [544, 182], [471, 143], [612, 229.99999999999997], [693, 255.00000000000003], [706, 256], [737, 261], [673, 211], [649, 223], [676, 266], [711, 255.00000000000003], [762, 238], [747, 283]], "image": "d03229.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 190.5], "scale": 1.0599, "joints": [[494, 107], [559, 152], [614, 193], [612, 212], [557, 163], [497, 106], [614, 205], [680, 260], [698, 263], [728, 261], [685, 232.00000000000003], [661, 207.99999999999997], [686, 254.00000000000003], [700, 280], [749, 286], [739, 264]], "image": "d03230.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [624.5, 182.5], "scale": 1.3999000000000001, "joints": [[522, 63], [586, 126.99999999999999], [633, 183], [608, 206], [565, 145], [514, 73], [621, 195], [682, 274], [694, 283], [717, 290], [673, 251], [678, 207], [687, 252], [677, 305], [716, 322], [736, 281]], "image": "d03231.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [626.5, 175.5], "scale": 1.5999, "joints": [[555, 26], [597, 108], [640, 170], [605, 194], [571, 123], [536, 40], [627, 188], [660, 266], [668, 281], [684, 309], [639, 240.99999999999997], [689, 214], [681, 257], [638, 293], [651, 330], [708, 310]], "image": "d03232.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [604.5, 145.5], "scale": 1.3899000000000001, "joints": [[640, 14], [646, 87], [664, 165], [657, 163], [636, 86], [619, 13], [659, 166], [599, 236], [589, 247], [567, 279], [517, 198.00000000000003], [564, 212], [608, 243.00000000000003], [595, 229.99999999999997], [558, 204], [514, 195.99999999999997]], "image": "d03233.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [707.5, 166.5], "scale": 0.7799, "joints": [[794, 164], [711, 189], [648, 221.00000000000003], [648, 218.99999999999997], [712, 184.99999999999997], [795, 157], [645, 217], [643, 158], [656, 128], [673, 94.00000000000001], [659, 229], [651, 183], [644, 148], [641, 137], [653, 176], [675, 195]], "image": "d03234.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [713.5, 180], "scale": 0.7249000000000001, "joints": [[798, 244], [720, 224], [646, 220.00000000000003], [643, 216], [721, 223], [800, 237], [643, 218], [664, 155], [678, 139], [717, 117], [654, 224], [661, 184.99999999999997], [668, 148], [668, 149], [663, 184], [661, 217]], "image": "d03235.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [704, 227.5], "scale": 0.9199, "joints": [[775, 316], [706, 254.00000000000003], [648, 220.00000000000003], [644, 220.00000000000003], [705, 252.99999999999997], [773, 312], [649, 218], [692, 162], [714, 160], [751, 159], [659, 235], [685, 195], [702, 162], [698, 157], [679, 190], [656, 215]], "image": "d03236.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [708, 266.5], "scale": 1.0899, "joints": [[729, 366], [700, 299], [662, 226], [652, 226], [699, 298], [732, 368.99999999999994], [656, 228], [726, 190], [745, 192], [780, 192], [669, 279], [702, 226], [730, 195], [731, 180], [693, 214], [691, 247]], "image": "d03237.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [720, 292.5], "scale": 1.0399, "joints": [[669, 395.00000000000006], [676, 307], [676, 232.00000000000003], [674, 229], [675, 306], [671, 391.99999999999994], [674, 229.99999999999997], [756, 227], [769, 238], [797, 251], [685, 292], [732, 261], [757, 234], [762, 225], [728, 245], [683, 290]], "image": "d03238.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [719, 315.5], "scale": 0.8899000000000001, "joints": [[627, 391.99999999999994], [664, 319], [696, 248], [692, 245], [658, 311], [631, 385], [695, 247], [776, 273], [790, 283], [819, 291], [700, 349], [749, 312], [777, 285], [767, 273], [732, 281], [691, 303]], "image": "d03239.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [702.5, 325.5], "scale": 0.7399000000000001, "joints": [[588, 384], [663, 320], [713, 275], [709, 271], [657, 311], [585, 377], [714, 273], [780, 320], [792, 329], [813, 346], [727, 389], [767, 355], [788, 324], [770, 313], [745, 331], [721, 368]], "image": "d03240.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530.5, 361.5], "scale": 2.6599, "joints": [[435, 613], [425, 483.99999999999994], [509, 405], [505, 404], [406, 478], [427, 612], [506, 404], [556, 283], [565, 245], [593, 195.99999999999997], [691, 145], [634, 162], [602, 259], [545, 240.99999999999997], [530, 150], [617, 99.00000000000001]], "image": "d03241.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542.5, 369], "scale": 2.6049, "joints": [[422, 597], [427, 462.00000000000006], [506, 391.99999999999994], [492, 388], [408, 462.00000000000006], [416, 598], [502, 390], [565, 271], [584, 241.99999999999997], [612, 201], [705, 152], [684, 221.00000000000003], [620, 263], [563, 234], [563, 144], [661, 120]], "image": "d03242.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 368], "scale": 2.4049, "joints": [[417, 592], [432, 453], [506, 369.99999999999994], [473, 354], [405, 441.00000000000006], [412, 574], [492, 363], [584, 257], [600, 238], [638, 217], [727, 182], [705, 263], [629, 266], [579, 207.99999999999997], [600, 135], [695, 141]], "image": "d03243.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552.5, 361], "scale": 1.8649, "joints": [[392, 525], [434, 399], [515, 322], [470, 296], [403, 391], [378, 514], [491, 308], [622, 265], [642, 268], [684, 286], [741, 331], [649, 372.00000000000006], [635, 306], [629, 216], [670, 180], [711, 240]], "image": "d03244.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [527, 359], "scale": 1.6849, "joints": [[374, 509.00000000000006], [429, 390], [516, 314], [477, 281], [409, 362], [361, 478], [496, 297], [620, 273], [644, 280], [685, 297], [715, 382], [607, 388], [631, 322], [644, 221.00000000000003], [682, 193], [699, 272]], "image": "d03245.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [468.5, 349.5], "scale": 1.0599, "joints": [[272, 423], [416, 370.99999999999994], [520, 327], [504, 267], [405, 323], [264, 382], [516, 295], [629, 309], [648, 324], [684, 353], [536, 446], [527, 369.99999999999994], [601, 363], [687, 286], [647, 273], [600, 298]], "image": "d03246.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475, 346.5], "scale": 0.7399000000000001, "joints": [[269, 337], [411, 345], [509, 325], [523, 293], [425, 312], [303, 297], [519, 306], [630, 342], [649, 360], [688, 391.99999999999994], [473, 397.00000000000006], [509, 341], [600, 373.00000000000006], [674, 337], [620, 305], [562, 370.99999999999994]], "image": "d03247.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [499.5, 351.5], "scale": 1.1299000000000001, "joints": [[325, 264], [429, 323], [531, 345], [538, 347], [434, 317], [328, 259], [530, 346], [616, 405], [642, 417.00000000000006], [687, 444], [492, 354], [541, 323], [612, 386], [659, 406], [597, 397.00000000000006], [566, 387]], "image": "d03248.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [502.5, 357], "scale": 1.6249, "joints": [[348, 212], [433, 287], [509, 334], [502, 381], [423, 303], [360, 221.00000000000003], [509, 360], [599, 453], [606, 470], [660, 499], [549, 368], [602, 392.99999999999994], [618, 428], [585, 499], [515, 456], [544, 402]], "image": "d03249.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [501.5, 363.5], "scale": 1.7999, "joints": [[371, 192], [451, 286], [520, 342], [492, 396.00000000000006], [426, 310], [367, 204], [504, 368], [584, 474], [597, 496], [637, 535], [527, 393.99999999999994], [588, 384], [620, 437.99999999999994], [567, 512], [492, 456], [549, 404]], "image": "d03250.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [508.5, 376], "scale": 2.0049, "joints": [[408, 195], [472, 281], [530, 356], [473, 410], [437, 308], [389, 201], [500, 377], [577, 500], [588, 514], [618, 566], [627, 462.00000000000006], [604, 392.99999999999994], [612, 468], [531, 525], [478, 451], [559, 413.99999999999994]], "image": "d03251.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [537, 404], "scale": 2.2049000000000003, "joints": [[475, 193], [499, 305], [529, 391.99999999999994], [468, 407], [459, 300], [433, 199], [501, 398], [553, 537], [559, 559], [573, 612], [629, 521], [637, 453], [602, 529], [499, 541], [486, 456], [565, 442.00000000000006]], "image": "d03252.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [547.5, 407], "scale": 2.3349, "joints": [[502, 204], [519, 296], [535, 410], [479, 408], [473, 301], [453, 199], [505, 413], [535, 547], [536, 573], [546, 637], [626, 545], [637, 488], [582, 558], [503, 556], [501, 468], [575, 451]], "image": "d03253.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [534.5, 431.5], "scale": 2.3599, "joints": [[540, 228], [535, 331], [524, 435], [508, 428], [526, 329], [529, 225], [515, 434], [513, 573], [514, 606], [487, 665], [606, 591], [584, 557], [520, 584], [498, 574], [528, 502], [589, 478]], "image": "d03254.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [501.5, 464.5], "scale": 1.8599, "joints": [[639, 295], [557, 386], [487, 458], [539, 500], [588, 410], [654, 320], [504, 479], [405, 588], [390, 605], [350, 632], [351, 562], [366, 498], [371, 549], [452, 641], [531, 582], [594, 533]], "image": "d03255.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489.5, 463.5], "scale": 1.6499000000000001, "joints": [[649, 318], [561, 398], [491, 458], [538, 516], [598, 417.00000000000006], [667, 340], [516, 490], [392, 580], [373, 593], [319, 614], [322, 471], [360, 468], [358, 540], [428, 632], [504, 590], [587, 537]], "image": "d03256.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495, 455.5], "scale": 1.3199, "joints": [[659, 345], [587, 404], [514, 481], [535, 534], [594, 441.00000000000006], [682, 367], [523, 510], [365, 544], [337, 534], [290, 528], [354, 363], [382, 413], [363, 496], [373, 578], [475, 568], [560, 533]], "image": "d03257.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [498.5, 451.5], "scale": 1.1599000000000002, "joints": [[663, 354], [584, 415.99999999999994], [514, 507.00000000000006], [536, 544], [592, 446], [680, 382], [517, 523], [361, 513], [336, 502], [289, 482.99999999999994], [402, 344], [405, 413], [365, 475], [366, 535], [438, 553], [574, 507.00000000000006]], "image": "d03258.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [507, 457.5], "scale": 1.0799, "joints": [[676, 372.00000000000006], [569, 438.99999999999994], [488, 534], [507, 554], [581, 459.99999999999994], [679, 403], [498, 540], [384, 460.99999999999994], [359, 436.99999999999994], [318, 390], [501, 353], [470, 409], [386, 436.99999999999994], [378, 444], [463, 410], [496, 348]], "image": "d03259.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522.5, 451], "scale": 1.1549, "joints": [[673, 385], [562, 451], [479, 525], [477, 525], [575, 462.00000000000006], [675, 406], [472, 523], [396, 430], [381, 406], [358, 342], [539, 399], [486, 428], [390, 421], [398, 425], [472, 470], [572, 482.99999999999994]], "image": "d03260.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542.5, 429.5], "scale": 1.2399, "joints": [[688, 403], [563, 455], [459, 516], [462, 514], [570, 458.99999999999994], [685, 420], [457, 513], [414, 414.99999999999994], [406, 379], [404, 314], [552, 435], [481, 449], [416, 409], [429, 409], [482, 455], [562, 473]], "image": "d03261.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [546.5, 419.5], "scale": 1.2099000000000002, "joints": [[687, 427], [554, 455], [440, 504.99999999999994], [443, 498], [556, 456], [695, 431], [440, 503], [425, 403], [433, 364], [444, 299], [557, 464.00000000000006], [486, 465], [431, 402], [457, 386], [511, 444], [565, 489]], "image": "d03262.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541.5, 417.5], "scale": 1.1799000000000002, "joints": [[676, 460.99999999999994], [548, 457], [431, 498], [436, 491], [553, 454], [683, 450], [429, 494], [451, 376], [463, 353], [481, 299], [540, 508.00000000000006], [475, 458.99999999999994], [452, 390], [468, 369.99999999999994], [510, 435], [548, 496]], "image": "d03263.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 406], "scale": 1.0949, "joints": [[679, 492], [534, 458], [417, 465], [425, 460.99999999999994], [541, 454], [686, 483.99999999999994], [419, 455], [463, 366], [476, 353], [525, 317], [514, 517], [465, 473], [468, 379], [484, 365], [509, 422], [558, 498]], "image": "d03264.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 417.5], "scale": 1.0899, "joints": [[659, 519], [532, 463.00000000000006], [406, 437.99999999999994], [413, 432], [538, 455], [663, 507.00000000000006], [410, 429], [480, 362], [503, 354], [552, 330], [503, 516], [459, 468], [470, 377], [512, 328], [478, 420], [545, 452]], "image": "d03265.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [515.5, 430.5], "scale": 1.2299, "joints": [[620, 535], [509, 459.99999999999994], [411, 407], [424, 399], [517, 450], [624, 532], [416, 402], [483, 345], [506, 349], [558, 357], [494, 502], [449, 466], [481, 372.00000000000006], [540, 325], [504, 410], [516, 499]], "image": "d03266.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [492, 450], "scale": 1.6349, "joints": [[529, 583], [469, 448], [419, 350], [456, 350], [501, 435], [550, 573], [438, 349], [512, 340], [535, 360], [571, 406], [458, 460.99999999999994], [429, 441.00000000000006], [483, 379], [560, 350], [486, 401], [473, 435]], "image": "d03267.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [491.5, 444], "scale": 1.6349, "joints": [[472, 575], [456, 430], [432, 331], [470, 337], [491, 436], [500, 580], [454, 331], [523, 352], [536, 369.99999999999994], [555, 424], [444, 434], [413, 424], [481, 382], [570, 365], [-1, -1], [-1, -1]], "image": "d03268.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]}, {"center": [492, 432], "scale": 1.7049, "joints": [[430, 563], [446, 412], [445, 311], [485, 320], [473, 424], [451, 569], [469, 317], [529, 349], [540, 377], [547, 441.00000000000006], [405, 406], [442, 380], [485, 382], [573, 375], [-1, -1], [-1, -1]], "image": "d03269.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]}, {"center": [615.5, 301.5], "scale": 0.4699000000000001, "joints": [[731, 277], [658, 305], [587, 330], [589, 327], [654, 296], [728, 273], [585, 329], [525, 315], [513, 302], [491, 268], [608, 299], [566, 322], [520, 314], [522, 306], [554, 296], [593, 288]], "image": "d03270.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453.5, 404.5], "scale": 1.3999000000000001, "joints": [[349, 498], [430, 378], [485, 295], [506, 317], [453, 402], [367, 518], [496, 312], [541, 379], [534, 405], [492, 447], [395, 351], [437, 352], [489, 375], [559, 423], [508, 367], [466, 337]], "image": "d03271.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [437, 379.5], "scale": 1.1999000000000002, "joints": [[309, 452], [427, 366], [514, 286], [512, 339], [439, 392.99999999999994], [338, 469], [513, 312], [534, 391], [522, 415.99999999999994], [467, 454], [414, 326], [451, 349], [484, 380], [542, 430], [509, 383], [478, 338]], "image": "d03272.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [430.5, 364], "scale": 0.9549000000000001, "joints": [[308, 407], [426, 351], [534, 295], [532, 345], [440, 372.00000000000006], [308, 427], [536, 322], [524, 404], [505, 424], [453, 451], [430, 313], [458, 343], [485, 390], [508, 438.99999999999994], [486, 362], [460, 321]], "image": "d03273.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424, 369], "scale": 0.8849000000000001, "joints": [[286, 364], [429, 338], [555, 309], [544, 344], [434, 351], [302, 384], [546, 329], [513, 414.99999999999994], [486, 428], [443, 436], [442, 302], [463, 334], [474, 386], [491, 447], [476, 361], [450, 321]], "image": "d03274.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [449.5, 364], "scale": 1.0249000000000001, "joints": [[332, 283], [449, 309], [573, 368], [573, 367], [445, 310], [336, 275], [571, 375], [493, 397.00000000000006], [451, 409], [401, 419.00000000000006], [489, 294], [481, 343], [473, 396.00000000000006], [463, 396.00000000000006], [480, 355], [478, 293]], "image": "d03275.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472, 346], "scale": 1.2749000000000001, "joints": [[362, 238], [475, 312], [578, 396.00000000000006], [576, 392.99999999999994], [474, 309], [365, 232.00000000000003], [573, 402], [480, 400], [444, 401], [403, 398], [509, 301], [492, 345], [465, 398], [458, 391.99999999999994], [496, 360], [514, 302]], "image": "d03276.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [483, 327], "scale": 1.4549, "joints": [[396, 206], [492, 318], [571, 415.99999999999994], [573, 412], [494, 310], [407, 199], [569, 428], [471, 406], [442, 393.99999999999994], [411, 367], [531, 303], [504, 347], [464, 395.00000000000006], [456, 388], [501, 366], [534, 303]], "image": "d03277.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493, 323.5], "scale": 1.5499, "joints": [[460, 202], [504, 319], [563, 436.99999999999994], [561, 434], [512, 315], [469, 196.99999999999997], [559, 442.00000000000006], [463, 408], [439, 382], [410, 340], [540, 307], [518, 357], [453, 392.99999999999994], [459, 369.99999999999994], [509, 344], [546, 300]], "image": "d03278.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [497, 322], "scale": 1.5849000000000002, "joints": [[519, 199], [529, 319], [541, 455], [547, 450], [531, 319], [508, 194], [541, 454], [456, 408], [438, 381], [432, 335], [553, 315], [514, 370.99999999999994], [440, 392.99999999999994], [453, 364], [512, 345], [559, 305]], "image": "d03279.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [503.5, 334.5], "scale": 1.5499, "joints": [[560, 215], [549, 327], [520, 464.00000000000006], [525, 459.99999999999994], [553, 324], [584, 206], [517, 458.99999999999994], [446, 402], [438, 370.99999999999994], [433, 312], [580, 295], [506, 382], [441, 388], [461, 356], [517, 340], [593, 289]], "image": "d03280.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [526, 347], "scale": 1.4649, "joints": [[612, 241.99999999999997], [573, 342], [509, 475], [516, 463.00000000000006], [588, 340], [636, 248], [512, 465], [453, 370.99999999999994], [448, 360], [452, 306], [550, 348], [490, 380], [440, 377], [466, 349], [519, 338], [594, 314]], "image": "d03281.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 369], "scale": 1.2549000000000001, "joints": [[651, 279], [587, 352], [493, 462.00000000000006], [497, 453], [594, 351], [684, 271], [497, 453], [460, 360], [458, 344], [462, 289], [556, 355], [495, 373.00000000000006], [441, 364], [472, 342], [533, 334], [585, 326]], "image": "d03282.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564, 387.5], "scale": 1.1099, "joints": [[693, 315], [603, 389], [485, 460.99999999999994], [493, 453], [610, 391], [701, 329], [489, 451], [451, 362], [455, 343], [477, 282], [519, 375], [481, 365], [437, 353], [475, 328], [524, 331], [593, 331]], "image": "d03283.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 383.5], "scale": 1.0899, "joints": [[724, 434], [606, 443], [473, 452], [476, 446], [606, 444], [729, 429], [473, 446], [471, 352], [478, 332], [516, 281], [468, 381], [456, 351], [453, 325], [489, 314], [524, 326], [559, 336]], "image": "d03284.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 387], "scale": 1.1649, "joints": [[709, 495], [597, 473], [461, 451], [466, 449], [599, 469], [718, 487.00000000000006], [465, 445], [488, 342], [498, 325], [524, 279], [458, 380], [461, 349], [468, 326], [493, 309], [520, 315], [545, 331]], "image": "d03285.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574.5, 408], "scale": 1.3849, "joints": [[688, 535], [586, 497], [462, 447], [463, 443], [588, 495], [691, 531], [465, 437.99999999999994], [503, 339], [513, 327], [553, 292], [436, 369.99999999999994], [462, 335], [491, 317], [502, 306], [483, 310], [466, 312]], "image": "d03286.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 459], "scale": 1.7249, "joints": [[647, 609], [549, 518], [455, 433], [462, 433], [550, 516], [655, 605], [459, 430], [531, 336], [546, 330], [591, 318], [426, 368.99999999999994], [480, 334], [523, 316], [528, 306], [504, 309], [465, 321]], "image": "d03287.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 474], "scale": 1.7349, "joints": [[612, 622], [531, 531], [454, 429], [466, 428], [537, 528], [615, 618], [462, 426], [542, 342], [560, 340], [608, 326], [431, 367], [486, 331], [539, 319], [549, 317], [511, 309], [477, 310]], "image": "d03288.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 473], "scale": 1.5949, "joints": [[462, 617], [459, 499], [457, 375], [462, 370.99999999999994], [463, 495], [461, 619], [464, 373.00000000000006], [580, 366], [602, 373.00000000000006], [649, 401], [486, 406], [523, 350], [586, 349], [594, 348], [536, 340], [493, 381]], "image": "d03289.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [540, 454], "scale": 1.4549, "joints": [[424, 584], [440, 468], [462, 361], [464, 356], [443, 466], [430, 582], [466, 357], [588, 374.00000000000006], [607, 383], [653, 402], [490, 443], [528, 379], [586, 359], [601, 355], [557, 350], [501, 396.00000000000006]], "image": "d03290.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [432, 215], "scale": 1.5749000000000002, "joints": [[439, 362], [430, 286], [439, 220.00000000000003], [436, 220.00000000000003], [425, 286], [438, 363], [437, 223], [438, 145], [433, 133], [418, 116.00000000000001], [449, 70], [443, 95], [447, 137], [444, 141], [434, 92], [447, 65]], "image": "d03291.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [439, 230.5], "scale": 1.4599000000000002, "joints": [[445, 362], [430, 292], [441, 226], [438, 227], [425, 295], [444, 365], [439, 229], [438, 148], [435, 136], [422, 115], [463, 94.00000000000001], [449, 120.99999999999999], [453, 143], [447, 146], [439, 114], [462, 94.00000000000001]], "image": "d03292.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440.5, 245.5], "scale": 1.3699000000000001, "joints": [[453, 370.99999999999994], [425, 307], [440, 239], [436, 239], [422, 306], [450, 375], [438, 239], [439, 158], [435, 149], [423, 124], [462, 112], [447, 116.00000000000001], [452, 146], [447, 151], [439, 120], [451, 112]], "image": "d03293.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440, 251.5], "scale": 1.3799000000000001, "joints": [[453, 381], [422, 317], [444, 256], [442, 254.00000000000003], [418, 318], [452, 382], [442, 259], [439, 172], [436, 160], [429, 135], [461, 112], [442, 131], [449, 163], [446, 168], [434, 132], [456, 109]], "image": "d03294.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440, 240.5], "scale": 1.5099, "joints": [[452, 384], [422, 321], [449, 260], [450, 259], [421, 325], [453, 385], [449, 259], [440, 183], [438, 166], [439, 146], [431, 103], [420, 133], [442, 173], [443, 176], [415, 137], [426, 100]], "image": "d03295.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424.5, 243.5], "scale": 1.4499000000000002, "joints": [[455, 382], [434, 310], [460, 250], [461, 248], [430, 310], [451, 384], [464, 248], [439, 174], [436, 157], [433, 137], [386, 101], [404, 143], [445, 169], [444, 176], [403, 146], [373, 113]], "image": "d03296.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [430, 241], "scale": 1.1649, "joints": [[461, 347], [480, 273], [494, 211], [497, 210.00000000000003], [477, 275], [458, 349], [493, 209.00000000000003], [436, 162], [422, 153], [416, 124], [350, 199], [396, 180], [431, 158], [432, 163], [396, 187.00000000000003], [352, 207]], "image": "d03297.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [450.5, 237.5], "scale": 0.9899000000000001, "joints": [[491, 325], [484, 252.99999999999997], [504, 194], [505, 194], [484, 254.00000000000003], [489, 326], [502, 191], [436, 169], [421, 162], [405, 133], [393, 252], [421, 210.00000000000003], [434, 166], [432, 172], [416, 211], [388, 239]], "image": "d03298.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [466.5, 230.5], "scale": 0.7999, "joints": [[525, 297], [484, 244], [509, 179], [510, 181], [485, 246], [523, 304], [507, 177], [443, 183], [428, 179], [400, 162], [454, 261], [456, 214], [440, 179], [444, 185.99999999999997], [453, 214], [445, 263]], "image": "d03299.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 205.5], "scale": 0.5199000000000001, "joints": [[549, 250], [489, 232.00000000000003], [504, 167], [506, 166], [488, 232.00000000000003], [550, 254.00000000000003], [506, 167], [452, 190], [436, 202], [408, 204], [503, 241.99999999999997], [486, 212], [447, 195.99999999999997], [452, 198.00000000000003], [485, 212], [502, 246]], "image": "d03300.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [501.5, 206], "scale": 0.5249000000000001, "joints": [[562, 201], [502, 234], [502, 165], [502, 163], [501, 229.99999999999997], [563, 195], [500, 166], [474, 213], [462, 233], [437, 250], [532, 224], [501, 198.00000000000003], [468, 216], [472, 216], [503, 194], [535, 218]], "image": "d03301.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [349.5, 306], "scale": 0.9849000000000001, "joints": [[329, 399], [371, 341], [314, 303], [317, 301], [373, 339], [328, 398], [317, 297], [373, 255.00000000000003], [391, 241.99999999999997], [399, 212], [295, 304], [334, 275], [365, 255.00000000000003], [368, 255.00000000000003], [334, 278], [299, 319]], "image": "d03302.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [514.5, 203], "scale": 0.7649000000000001, "joints": [[527, 147], [547, 203], [483, 191], [480, 192], [545, 203], [525, 144], [484, 199], [521, 237], [532, 251], [548, 273], [546, 177], [518, 205], [523, 243.00000000000003], [517, 240], [503, 198.00000000000003], [535, 177]], "image": "d03303.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533.5, 200], "scale": 0.5549000000000001, "joints": [[491, 156], [546, 194], [484, 212], [486, 213], [545, 195], [495, 155], [492, 217], [539, 235], [560, 238], [587, 250], [527, 175], [522, 210.00000000000003], [548, 234], [539, 227], [507, 212], [522, 178]], "image": "d03304.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532, 221], "scale": 0.4149000000000001, "joints": [[475, 194], [538, 195.99999999999997], [508, 244], [507, 246], [541, 194], [473, 194], [510, 246], [555, 222], [569, 216], [596, 210.00000000000003], [515, 190], [529, 228], [556, 218.99999999999997], [557, 223], [524, 233], [510, 196.99999999999997]], "image": "d03305.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522.5, 221.5], "scale": 0.5499, "joints": [[475, 243.00000000000003], [524, 211], [529, 265], [528, 268], [525, 212], [471, 245], [531, 267], [552, 218], [562, 201], [575, 176], [510, 225], [538, 240.99999999999997], [551, 215], [554, 218], [538, 248], [509, 228]], "image": "d03306.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [527, 244], "scale": 0.6649, "joints": [[507, 301], [522, 236], [554, 281], [553, 282], [519, 234], [501, 299], [557, 278], [541, 223], [534, 206], [533, 177], [516, 261], [542, 247], [542, 217], [545, 218], [551, 252], [513, 264]], "image": "d03307.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538.5, 281.5], "scale": 0.6099000000000001, "joints": [[547, 331], [522, 270], [575, 276], [575, 276], [521, 267], [551, 328], [576, 272], [527, 244], [512, 240], [488, 221.00000000000003], [536, 288], [546, 256], [528, 237], [534, 236], [555, 258], [539, 289]], "image": "d03308.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542, 296.5], "scale": 0.4199000000000001, "joints": [[592, 330], [536, 294], [581, 269], [586, 270], [537, 296], [590, 327], [578, 269], [525, 278], [505, 284], [477, 288], [559, 306], [547, 272], [517, 272], [523, 268], [553, 264], [559, 304]], "image": "d03309.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570, 307.5], "scale": 0.5099000000000001, "joints": [[619, 305], [558, 318], [571, 268], [570, 266], [553, 320], [615, 307], [567, 269], [535, 318], [528, 334], [514, 356], [580, 316], [547, 295], [529, 314], [529, 311], [547, 281], [574, 306]], "image": "d03310.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572, 332.5], "scale": 0.6599, "joints": [[606, 282], [573, 330], [547, 284], [548, 284], [570, 331], [606, 280], [547, 287], [556, 346], [560, 359], [560, 385], [588, 314], [557, 311], [549, 344], [546, 342], [545, 304], [576, 305]], "image": "d03311.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572.5, 319], "scale": 0.6149000000000001, "joints": [[571, 272], [583, 330], [532, 317], [534, 320], [582, 334], [571, 273], [532, 321], [577, 354], [592, 363], [613, 369.99999999999994], [579, 307], [560, 332], [582, 353], [579, 355], [548, 331], [569, 308]], "image": "d03312.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 321], "scale": 0.4649000000000001, "joints": [[529, 299], [581, 327], [538, 345], [534, 347], [584, 329], [530, 296], [538, 348], [587, 346], [611, 342], [638, 346], [557, 319], [563, 347], [593, 348], [592, 354], [558, 351], [555, 319]], "image": "d03313.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 338], "scale": 0.4149000000000001, "joints": [[505, 336], [569, 329], [550, 369.99999999999994], [548, 372.00000000000006], [570, 328], [501, 337], [551, 372.00000000000006], [588, 332], [599, 318], [619, 296], [543, 330], [569, 350], [591, 332], [595, 336], [568, 359], [541, 332]], "image": "d03314.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [548, 338], "scale": 0.5849000000000001, "joints": [[521, 386], [556, 336], [569, 380], [569, 383], [556, 338], [518, 385], [571, 382], [574, 325], [572, 307], [576, 279], [541, 355], [575, 351], [579, 322], [582, 325], [578, 360], [545, 358]], "image": "d03315.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565, 363], "scale": 0.6649, "joints": [[557, 413], [551, 356], [591, 375], [593, 376], [553, 355], [561, 412], [594, 373.00000000000006], [555, 328], [544, 318], [529, 296], [555, 379], [572, 348], [560, 324], [563, 326], [586, 354], [555, 378]], "image": "d03316.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561, 378.5], "scale": 0.4799000000000001, "joints": [[609, 413.99999999999994], [555, 367], [604, 359], [604, 359], [555, 366], [606, 412], [602, 355], [551, 347], [531, 347], [500, 343], [574, 385], [569, 346], [544, 340], [548, 338], [576, 348], [576, 384]], "image": "d03317.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [583, 364.5], "scale": 0.3899000000000001, "joints": [[629, 379], [571, 380], [595, 338], [597, 338], [573, 378], [629, 385], [589, 337], [548, 373.00000000000006], [538, 383], [519, 396.00000000000006], [594, 383], [568, 353], [545, 369.99999999999994], [545, 363], [570, 346], [591, 375]], "image": "d03318.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597.5, 376], "scale": 0.5849000000000001, "joints": [[633, 343], [586, 381], [579, 329], [577, 329], [586, 380], [631, 336], [576, 331], [568, 390], [568, 403], [559, 428], [605, 368], [571, 362], [565, 388], [561, 389], [565, 356], [601, 361]], "image": "d03319.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 353.5], "scale": 0.6599, "joints": [[609, 310], [605, 368], [561, 335], [564, 337], [602, 369.99999999999994], [603, 304], [562, 343], [592, 385], [600, 395.00000000000006], [615, 421], [606, 342], [580, 365], [595, 389], [590, 391], [568, 362], [596, 345]], "image": "d03320.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597.5, 334], "scale": 0.5649000000000001, "joints": [[586, 294], [608, 345], [558, 357], [554, 356], [606, 351], [582, 294], [556, 357], [611, 369.99999999999994], [629, 372.00000000000006], [654, 363], [599, 330], [592, 365], [619, 369.99999999999994], [614, 374.00000000000006], [584, 369.99999999999994], [596, 332]], "image": "d03321.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 328.5], "scale": 0.6399000000000001, "joints": [[560, 275], [601, 331], [562, 368.99999999999994], [563, 374.00000000000006], [602, 330], [559, 275], [565, 373.00000000000006], [616, 343], [629, 333], [647, 314], [593, 311], [599, 351], [622, 351], [624, 350], [595, 358], [590, 320]], "image": "d03322.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [583.5, 323], "scale": 0.7549000000000001, "joints": [[544, 268], [583, 330], [588, 383], [590, 386], [583, 331], [542, 270], [593, 382], [610, 333], [610, 312], [609, 280], [581, 317], [601, 336], [621, 324], [622, 328], [603, 343], [578, 319]], "image": "d03323.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 332], "scale": 0.6749, "joints": [[522, 285], [570, 332], [614, 374.00000000000006], [617, 373.00000000000006], [571, 333], [523, 282], [617, 368.99999999999994], [609, 321], [600, 307], [585, 282], [579, 326], [602, 323], [614, 307], [618, 312], [610, 338], [576, 324]], "image": "d03324.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 334], "scale": 0.4749000000000001, "joints": [[509, 328], [574, 342], [631, 352], [637, 358], [575, 347], [509, 329], [635, 357], [604, 314], [588, 306], [565, 292], [575, 309], [593, 309], [613, 304], [612, 311], [597, 320], [580, 331]], "image": "d03325.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596.5, 361.5], "scale": 0.6599, "joints": [[558, 409], [603, 365], [646, 335], [652, 334], [610, 372.00000000000006], [562, 413], [648, 328], [595, 317], [577, 315], [554, 306], [577, 299], [587, 300], [593, 301], [597, 315], [595, 337], [589, 355]], "image": "d03326.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 380.5], "scale": 0.7999, "joints": [[598, 456], [627, 384], [648, 326], [651, 326], [631, 385], [597, 453], [645, 325], [589, 323], [576, 326], [548, 324], [598, 361], [592, 339], [583, 319], [584, 324], [590, 344], [594, 373.00000000000006]], "image": "d03327.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 390.5], "scale": 0.8199000000000001, "joints": [[655, 458.99999999999994], [652, 395.00000000000006], [648, 320], [652, 322], [652, 395.00000000000006], [654, 459.99999999999994], [649, 321], [590, 337], [571, 342], [545, 345], [602, 410], [595, 365], [583, 334], [588, 337], [597, 366], [601, 409]], "image": "d03328.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625, 384], "scale": 0.7349000000000001, "joints": [[691, 455], [670, 382], [647, 326], [648, 329], [671, 380], [691, 451], [644, 327], [590, 362], [580, 366], [548, 370.99999999999994], [607, 428], [599, 382], [583, 351], [589, 356], [600, 387], [610, 429]], "image": "d03329.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [645.5, 391.5], "scale": 0.6499000000000001, "joints": [[721, 444], [683, 391.99999999999994], [647, 335], [651, 335], [686, 391.99999999999994], [722, 445], [646, 339], [598, 384], [588, 395.00000000000006], [564, 408], [638, 431], [624, 396.00000000000006], [601, 370.99999999999994], [597, 383], [609, 408], [622, 444]], "image": "d03330.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [660, 451.5], "scale": 0.9199, "joints": [[756, 447], [640, 462.00000000000006], [681, 377], [677, 375], [640, 464.00000000000006], [754, 440.00000000000006], [673, 376], [607, 462.00000000000006], [590, 480], [550, 501], [688, 465], [647, 409], [598, 454], [597, 455], [634, 403], [676, 448]], "image": "d03331.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673, 468.5], "scale": 1.0399, "joints": [[730, 382], [676, 483.99999999999994], [644, 385], [641, 384], [662, 478], [735, 385], [638, 388], [637, 494], [638, 525], [644, 577], [701, 448], [646, 449], [641, 511], [630, 508.00000000000006], [613, 436], [680, 441.00000000000006]], "image": "d03332.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658, 459], "scale": 1.1349, "joints": [[697, 364], [683, 486.00000000000006], [615, 410], [611, 409], [676, 478], [700, 366], [615, 413], [656, 502], [668, 528], [698, 572], [699, 435], [649, 454], [665, 507.00000000000006], [645, 510], [614, 449], [669, 422]], "image": "d03333.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669, 438], "scale": 0.8849000000000001, "joints": [[626, 369.99999999999994], [687, 456], [590, 456], [589, 456], [682, 459.99999999999994], [623, 370.99999999999994], [593, 458], [685, 490], [707, 501], [749, 511], [664, 413.99999999999994], [642, 479], [686, 495], [679, 501], [617, 481.99999999999994], [646, 417.00000000000006]], "image": "d03334.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670, 443], "scale": 0.7849, "joints": [[593, 389], [677, 446], [593, 475], [588, 477], [674, 445], [589, 389], [591, 478], [689, 480], [719, 479], [775, 475], [641, 419.00000000000006], [641, 480], [703, 481.99999999999994], [696, 483.99999999999994], [627, 488], [625, 421]], "image": "d03335.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 456.5], "scale": 0.6899000000000001, "joints": [[571, 421], [663, 444], [595, 497], [596, 495], [661, 440.00000000000006], [566, 419.00000000000006], [600, 497], [687, 459.99999999999994], [718, 451], [756, 428], [622, 429], [643, 482.99999999999994], [696, 464.00000000000006], [695, 470], [637, 492], [610, 433]], "image": "d03336.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 451], "scale": 0.9249, "joints": [[537, 488], [627, 436], [621, 526], [619, 527], [625, 436], [531, 492], [624, 525], [665, 430], [676, 400], [698, 363], [596, 463.00000000000006], [646, 478], [671, 430], [675, 430], [649, 492], [595, 463.00000000000006]], "image": "d03337.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601.5, 447.5], "scale": 1.0499, "joints": [[552, 527], [613, 436.99999999999994], [638, 529], [637, 532], [613, 432], [554, 527], [641, 528], [652, 418.00000000000006], [648, 392.99999999999994], [663, 338], [594, 477], [647, 477], [660, 418.00000000000006], [658, 423], [653, 488], [593, 478]], "image": "d03338.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 456.5], "scale": 1.1899000000000002, "joints": [[581, 556], [604, 449], [658, 524], [659, 527], [602, 451], [573, 559], [664, 521], [630, 419.00000000000006], [613, 391.99999999999994], [612, 340], [595, 491], [640, 469], [635, 415.99999999999994], [634, 414.99999999999994], [654, 474], [600, 488]], "image": "d03339.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621, 474], "scale": 1.1549, "joints": [[616, 574], [599, 465], [671, 510], [673, 514], [597, 467], [607, 578], [675, 509.00000000000006], [606, 418.00000000000006], [581, 403], [566, 355], [604, 503.99999999999994], [637, 462.00000000000006], [616, 422], [623, 424], [656, 469], [606, 503.99999999999994]], "image": "d03340.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615.5, 496], "scale": 1.0449000000000002, "joints": [[633, 585], [594, 469], [680, 493], [685, 495], [597, 472], [644, 579], [685, 490], [597, 434], [567, 422], [540, 393.99999999999994], [611, 511], [622, 452], [598, 419.00000000000006], [606, 414.99999999999994], [650, 458.99999999999994], [622, 514]], "image": "d03341.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [617.5, 491], "scale": 0.7349000000000001, "joints": [[699, 547], [602, 495], [676, 444], [680, 449], [609, 493], [711, 535], [676, 445], [577, 476], [554, 483.99999999999994], [510, 503], [643, 516], [627, 458], [569, 466], [573, 467], [631, 444], [646, 510]], "image": "d03342.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [627, 487], "scale": 0.6849000000000001, "joints": [[728, 527], [613, 513], [672, 436], [675, 437.99999999999994], [617, 513], [731, 507.00000000000006], [667, 435], [580, 495], [562, 509.00000000000006], [518, 522], [654, 512], [615, 458], [572, 488], [571, 485.00000000000006], [618, 451], [656, 507.00000000000006]], "image": "d03343.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [646, 494], "scale": 0.8749000000000001, "joints": [[743, 469], [629, 511], [648, 422], [652, 421], [624, 516], [739, 463.00000000000006], [647, 424], [596, 512], [585, 536], [546, 560], [676, 504.99999999999994], [623, 477], [592, 520], [592, 512], [608, 457], [674, 494]], "image": "d03344.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [656, 511], "scale": 1.0149000000000001, "joints": [[726, 441.00000000000006], [637, 511], [641, 426], [633, 423], [631, 514], [726, 436.99999999999994], [634, 427], [612, 523], [612, 551], [585, 606], [683, 489], [621, 480], [607, 532], [601, 531], [601, 467], [675, 481.99999999999994]], "image": "d03345.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 499], "scale": 1.0849000000000002, "joints": [[701, 407], [664, 505.99999999999994], [616, 428], [614, 429], [653, 512], [704, 408], [614, 436], [637, 532], [637, 552], [642, 611], [686, 471], [633, 478], [645, 535], [620, 542], [605, 485.00000000000006], [668, 464.00000000000006]], "image": "d03346.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [652.5, 471], "scale": 1.1049, "joints": [[681, 397.00000000000006], [676, 492], [600, 443], [597, 442.00000000000006], [669, 495], [677, 391], [598, 452], [655, 522], [673, 549], [682, 595], [686, 449], [640, 480], [660, 522], [644, 533], [605, 483.99999999999994], [650, 451]], "image": "d03347.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [655, 454.5], "scale": 1.0399, "joints": [[661, 373.00000000000006], [673, 485.00000000000006], [584, 462.00000000000006], [586, 458.99999999999994], [667, 486.00000000000006], [653, 373.00000000000006], [589, 466], [667, 512], [689, 525], [718, 554], [665, 442.00000000000006], [640, 488], [674, 517], [665, 521], [616, 490], [653, 444]], "image": "d03348.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [657, 434.5], "scale": 0.9499000000000001, "joints": [[645, 367], [678, 470], [576, 477], [578, 476], [673, 470], [633, 365], [581, 481], [675, 502], [699, 505.99999999999994], [750, 520], [670, 431], [644, 491], [686, 504.99999999999994], [684, 508.00000000000006], [627, 495], [645, 442.00000000000006]], "image": "d03349.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 432.5], "scale": 0.9899000000000001, "joints": [[611, 357], [667, 449], [585, 493], [584, 497], [663, 451], [607, 356], [589, 497], [678, 482.99999999999994], [709, 476], [750, 470], [650, 419.00000000000006], [649, 483.99999999999994], [693, 482.99999999999994], [691, 490], [634, 492], [637, 422]], "image": "d03350.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650, 428.5], "scale": 1.0499, "joints": [[586, 342], [655, 435], [582, 516], [583, 515], [652, 434], [581, 341], [591, 511], [682, 455], [704, 437.99999999999994], [736, 412], [641, 408], [646, 480], [697, 453], [690, 462.00000000000006], [633, 487.00000000000006], [631, 417.00000000000006]], "image": "d03351.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629.5, 428], "scale": 1.1849, "joints": [[565, 332], [634, 418.00000000000006], [601, 529], [596, 529], [635, 418.00000000000006], [560, 331], [602, 526], [674, 438.99999999999994], [680, 413], [703, 380], [621, 409], [641, 457], [679, 442.00000000000006], [679, 449], [637, 474], [618, 408]], "image": "d03352.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614, 426], "scale": 1.2849000000000002, "joints": [[544, 331], [606, 422], [621, 535], [618, 537], [604, 421], [544, 329], [623, 531], [663, 428], [661, 402], [663, 363], [620, 354], [653, 399], [677, 418.00000000000006], [677, 428], [643, 463.00000000000006], [605, 415.99999999999994]], "image": "d03353.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610.5, 424.5], "scale": 1.3099, "joints": [[542, 327], [603, 423], [624, 528], [622, 530], [602, 422], [539, 327], [630, 527], [663, 424], [660, 396.00000000000006], [673, 358], [607, 406], [646, 415.99999999999994], [677, 418.00000000000006], [675, 428], [643, 458.99999999999994], [607, 413.99999999999994]], "image": "d03354.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600, 432.5], "scale": 1.2299, "joints": [[521, 338], [591, 429], [642, 522], [641, 526], [589, 432], [521, 334], [644, 522], [649, 419.00000000000006], [640, 386], [640, 340], [594, 418.00000000000006], [630, 429], [663, 412], [666, 413.99999999999994], [632, 449], [597, 418.00000000000006]], "image": "d03355.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 423.5], "scale": 1.1699000000000002, "joints": [[498, 348], [571, 429], [653, 503], [658, 508.00000000000006], [570, 428], [497, 348], [659, 503.99999999999994], [642, 405], [630, 391], [598, 346], [640, 361], [657, 377], [662, 392.99999999999994], [656, 413], [644, 446], [586, 420]], "image": "d03356.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580.5, 435], "scale": 0.9749000000000001, "joints": [[476, 376], [576, 436.99999999999994], [665, 475], [672, 494], [568, 448], [476, 382], [670, 496], [626, 395.00000000000006], [612, 386], [572, 364], [629, 355], [646, 365], [651, 376], [642, 393.99999999999994], [626, 411], [582, 420]], "image": "d03357.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568, 428.5], "scale": 0.8299000000000001, "joints": [[464, 409], [574, 441.00000000000006], [670, 466], [675, 475], [574, 447], [462, 412], [678, 470], [618, 387], [593, 380], [561, 361], [670, 366], [648, 367], [625, 364], [613, 386], [614, 405], [587, 417.00000000000006]], "image": "d03358.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578, 423], "scale": 0.7449000000000001, "joints": [[472, 443], [570, 448], [684, 453], [692, 460.99999999999994], [579, 458.99999999999994], [472, 449], [692, 457], [613, 383], [589, 374.00000000000006], [538, 360], [629, 349], [663, 359], [633, 359], [616, 381], [604, 391.99999999999994], [584, 413.99999999999994]], "image": "d03359.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 421], "scale": 0.8049000000000001, "joints": [[505, 481], [592, 451], [683, 436], [689, 438.99999999999994], [606, 463.00000000000006], [502, 486.00000000000006], [689, 436], [610, 382], [585, 379], [540, 359], [585, 354], [601, 357], [610, 364], [608, 385], [600, 401], [577, 414.99999999999994]], "image": "d03360.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 428], "scale": 0.9549000000000001, "joints": [[500, 507.00000000000006], [600, 459.99999999999994], [688, 418.00000000000006], [695, 421], [610, 463.00000000000006], [507, 507.00000000000006], [689, 417.00000000000006], [594, 372.00000000000006], [571, 368.99999999999994], [519, 352], [563, 423], [587, 387], [596, 351], [600, 354], [598, 389], [579, 420]], "image": "d03361.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603, 458.5], "scale": 1.2999, "joints": [[546, 567], [610, 470], [677, 385], [683, 386], [617, 471], [552, 564], [679, 385], [576, 359], [550, 364], [511, 354], [578, 429], [581, 393.99999999999994], [577, 351], [581, 352], [585, 393.99999999999994], [576, 434]], "image": "d03362.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600, 456.5], "scale": 1.3499, "joints": [[587, 589], [642, 477], [684, 364], [687, 365], [638, 479], [584, 591], [681, 362], [574, 357], [550, 363], [497, 354], [575, 440.00000000000006], [579, 391.99999999999994], [570, 351], [573, 352], [581, 401], [579, 449]], "image": "d03363.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618, 275.5], "scale": 0.5099000000000001, "joints": [[721, 291], [650, 303], [581, 319], [583, 313], [652, 297], [721, 286], [580, 317], [523, 276], [518, 258], [504, 229.99999999999997], [609, 304], [568, 303], [521, 285], [527, 276], [566, 283], [601, 285]], "image": "d03364.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 438], "scale": 1.3649, "joints": [[711, 564], [687, 433], [669, 330], [668, 334], [685, 436], [706, 566], [661, 327], [559, 365], [537, 379], [489, 390], [641, 401], [603, 368], [562, 347], [553, 352], [568, 403], [582, 470]], "image": "d03365.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616, 432.5], "scale": 1.3199, "joints": [[737, 545], [703, 424], [667, 319], [664, 322], [701, 429], [733, 548], [659, 322], [553, 375], [536, 385], [492, 395.00000000000006], [638, 430], [615, 377], [564, 355], [553, 356], [578, 420], [585, 492]], "image": "d03366.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [652, 416.5], "scale": 1.2299, "joints": [[796, 502], [731, 417.00000000000006], [662, 319], [661, 318], [730, 418.00000000000006], [797, 505.99999999999994], [657, 319], [578, 389], [556, 410], [506, 428], [646, 469], [618, 411], [581, 375], [565, 388], [590, 444], [611, 519]], "image": "d03367.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673.5, 415.5], "scale": 1.2899, "joints": [[814, 483.99999999999994], [727, 390], [651, 313], [646, 317], [726, 393.99999999999994], [812, 488], [643, 319], [577, 409], [565, 429], [526, 444], [649, 487.00000000000006], [627, 422], [588, 388], [568, 410], [600, 458], [619, 532]], "image": "d03368.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [678.5, 423], "scale": 1.3649, "joints": [[820, 460.99999999999994], [733, 391], [645, 318], [643, 321], [733, 395.00000000000006], [815, 467], [637, 324], [590, 428], [583, 447], [533, 469], [650, 509.00000000000006], [625, 440.00000000000006], [594, 410], [577, 429], [606, 473], [629, 550]], "image": "d03369.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [697.5, 436.5], "scale": 1.3899000000000001, "joints": [[836, 450], [734, 381], [638, 324], [636, 326], [732, 385], [836, 454], [633, 331], [596, 445], [591, 469], [551, 489], [654, 529], [634, 466], [602, 434], [593, 447], [618, 493], [640, 564]], "image": "d03370.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472, 262], "scale": 0.7849, "joints": [[390, 325], [428, 267], [439, 201], [443, 202], [432, 268], [392, 325], [444, 200], [523, 216], [533, 218.99999999999997], [562, 218.99999999999997], [534, 299], [528, 255.00000000000003], [526, 214], [525, 215], [523, 254.00000000000003], [526, 302]], "image": "d03371.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [455, 242], "scale": 0.6849000000000001, "joints": [[372, 293], [431, 251], [448, 190], [453, 191], [430, 251], [372, 295], [454, 191], [512, 235], [517, 240], [543, 255.00000000000003], [467, 290], [491, 263], [517, 235], [516, 238], [492, 259], [471, 289]], "image": "d03372.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [428, 235], "scale": 0.6749, "joints": [[359, 218], [431, 217], [484, 188], [483, 185.99999999999997], [433, 218], [361, 217], [485, 187.00000000000003], [466, 261], [464, 270], [466, 305], [397, 207], [434, 229.99999999999997], [465, 262], [465, 260], [434, 228], [397, 209.00000000000003]], "image": "d03373.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [431.5, 226.5], "scale": 0.6899000000000001, "joints": [[365, 173], [424, 206], [495, 207.99999999999997], [499, 210.00000000000003], [423, 203], [366, 170], [497, 211], [447, 250], [433, 261], [414, 281], [421, 176], [435, 207.99999999999997], [438, 251], [439, 254.00000000000003], [435, 204], [425, 174]], "image": "d03374.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441, 203], "scale": 0.7149000000000001, "joints": [[420, 146], [443, 202], [492, 241.99999999999997], [495, 240], [446, 198.00000000000003], [419, 146], [491, 241.99999999999997], [426, 243.00000000000003], [410, 245], [388, 250], [455, 173], [451, 205], [425, 244], [425, 245], [447, 205], [462, 184]], "image": "d03375.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441, 209], "scale": 0.7849, "joints": [[470, 134], [459, 202], [479, 266], [479, 265], [463, 199], [470, 137], [475, 266], [419, 230.99999999999997], [408, 223], [390, 207.99999999999997], [472, 185.99999999999997], [466, 210.00000000000003], [424, 226], [420, 225], [464, 204], [481, 199]], "image": "d03376.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467, 223], "scale": 0.7449000000000001, "joints": [[520, 169], [475, 214], [454, 281], [454, 281], [480, 216], [524, 172], [451, 281], [430, 225], [421, 209.00000000000003], [416, 185.99999999999997], [486, 222], [470, 228], [429, 218.99999999999997], [434, 217], [475, 220.00000000000003], [485, 224]], "image": "d03377.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 241.5], "scale": 0.6199000000000001, "joints": [[552, 226], [479, 240.99999999999997], [425, 281], [427, 281], [481, 241.99999999999997], [553, 220.00000000000003], [425, 276], [445, 214], [451, 203], [456, 178], [500, 250], [472, 244], [447, 220.00000000000003], [449, 218.99999999999997], [473, 240.99999999999997], [497, 250]], "image": "d03378.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [474, 248.5], "scale": 0.4899000000000001, "joints": [[541, 289], [482, 272], [412, 267], [413, 265], [481, 271], [541, 286], [411, 264], [465, 230.99999999999997], [478, 224], [500, 207.99999999999997], [480, 296], [474, 267], [471, 233], [470, 235], [475, 260], [478, 289]], "image": "d03379.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [463, 286.5], "scale": 0.6799000000000001, "joints": [[514, 344], [472, 291], [420, 249], [420, 248], [471, 290], [516, 343], [422, 246], [477, 256], [491, 259], [518, 260], [457, 306], [467, 298], [478, 259], [479, 259], [461, 288], [459, 300]], "image": "d03380.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [463.5, 300], "scale": 0.8249000000000001, "joints": [[466, 376], [451, 311], [431, 233], [429, 229.99999999999997], [451, 309], [459, 376], [436, 232.00000000000003], [482, 277], [489, 287], [513, 304], [433, 307], [446, 302], [485, 282], [477, 275], [439, 281], [436, 302]], "image": "d03381.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453.5, 293], "scale": 0.7549000000000001, "joints": [[413, 361], [439, 302], [471, 238], [468, 236], [438, 299], [409, 358], [473, 237], [472, 294], [469, 308], [476, 336], [420, 300], [437, 299], [475, 303], [471, 300], [438, 283], [422, 294]], "image": "d03382.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441, 287], "scale": 0.5549000000000001, "joints": [[380, 317], [443, 283], [503, 259], [504, 255.00000000000003], [446, 282], [381, 316], [507, 260], [464, 301], [458, 310], [443, 330], [426, 275], [431, 284], [466, 311], [464, 301], [443, 272], [430, 271]], "image": "d03383.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [455, 291], "scale": 0.4049000000000001, "joints": [[388, 262], [461, 272], [521, 287], [523, 287], [461, 272], [390, 258], [522, 295], [460, 299], [449, 299], [420, 306], [437, 254.00000000000003], [447, 261], [453, 304], [454, 299], [441, 258], [453, 252.99999999999997]], "image": "d03384.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481.5, 274.5], "scale": 0.6899000000000001, "joints": [[430, 218], [482, 269], [522, 316], [523, 316], [484, 269], [435, 214], [518, 321], [467, 286], [461, 279], [439, 266], [483, 244], [480, 249], [464, 280], [469, 273], [487, 245], [485, 247]], "image": "d03385.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496.5, 261.5], "scale": 0.8299000000000001, "joints": [[507, 199], [509, 265], [510, 334], [512, 333], [510, 266], [512, 198.00000000000003], [506, 335], [490, 278], [488, 260], [484, 239], [524, 254.00000000000003], [517, 254.00000000000003], [485, 268], [485, 265], [529, 250], [523, 249]], "image": "d03386.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 278.5], "scale": 0.6699, "joints": [[572, 218], [537, 268], [488, 330], [490, 331], [542, 268], [577, 220.00000000000003], [484, 325], [513, 270], [524, 258], [531, 232.00000000000003], [555, 282], [549, 277], [519, 263], [516, 268], [550, 288], [556, 280]], "image": "d03387.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 284.5], "scale": 0.4099000000000001, "joints": [[614, 276], [555, 289], [483, 305], [485, 304], [558, 288], [616, 280], [484, 300], [528, 273], [541, 269], [565, 259], [569, 307], [555, 302], [539, 274], [541, 277], [574, 302], [554, 310]], "image": "d03388.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551, 294.5], "scale": 0.5099000000000001, "joints": [[614, 337], [557, 311], [492, 278], [491, 280], [558, 308], [613, 327], [490, 276], [549, 279], [562, 281], [588, 288], [546, 317], [552, 327], [555, 286], [553, 286], [536, 310], [543, 313]], "image": "d03389.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 308.5], "scale": 0.7799, "joints": [[576, 377], [545, 322], [516, 255.00000000000003], [514, 255.00000000000003], [547, 321], [573, 379], [520, 251], [555, 294], [565, 304], [585, 327], [528, 319], [532, 331], [563, 296], [560, 293], [526, 308], [525, 324]], "image": "d03390.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551.5, 310.5], "scale": 0.8099000000000001, "joints": [[522, 375], [534, 304], [551, 247], [549, 245], [533, 304], [516, 378], [558, 248], [560, 303], [559, 316], [559, 346], [513, 302], [515, 311], [559, 309], [563, 307], [517, 298], [506, 313]], "image": "d03391.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541.5, 292], "scale": 0.6149000000000001, "joints": [[479, 334], [538, 286], [588, 254.00000000000003], [590, 254.00000000000003], [537, 287], [475, 330], [593, 260], [560, 306], [550, 315], [531, 336], [518, 284], [529, 290], [558, 312], [552, 304], [530, 275], [520, 280]], "image": "d03392.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 283], "scale": 0.4449000000000001, "joints": [[482, 267], [540, 271], [609, 280], [611, 279], [542, 272], [482, 265], [612, 288], [558, 296], [538, 301], [512, 304], [532, 247], [544, 262], [546, 299], [543, 297], [542, 247], [528, 244]], "image": "d03393.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [560.5, 266.5], "scale": 0.6799000000000001, "joints": [[509, 211], [562, 257], [613, 304], [615, 302], [564, 254.00000000000003], [511, 209.00000000000003], [611, 309], [556, 297], [544, 291], [516, 283], [569, 236], [572, 263], [549, 297], [552, 286], [570, 260], [582, 240]], "image": "d03394.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 258.5], "scale": 0.8199000000000001, "joints": [[585, 192], [598, 258], [609, 322], [610, 322], [600, 258], [589, 185.99999999999997], [604, 322], [557, 290], [547, 278], [529, 252.99999999999997], [606, 224], [588, 256], [553, 283], [560, 281], [586, 267], [613, 230.99999999999997]], "image": "d03395.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600.5, 263], "scale": 0.7949, "joints": [[647, 201], [620, 266], [594, 328], [597, 326], [624, 264], [656, 204], [589, 323], [561, 275], [558, 261], [557, 233], [626, 248], [595, 259], [553, 271], [553, 270], [594, 257], [631, 246]], "image": "d03396.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [630, 279], "scale": 0.6349000000000001, "joints": [[699, 245], [646, 284], [583, 318], [586, 317], [654, 289], [712, 255.00000000000003], [583, 315], [571, 259], [573, 244], [585, 209.00000000000003], [638, 269], [603, 267], [574, 258], [579, 254.00000000000003], [603, 264], [639, 264]], "image": "d03397.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [638, 296.5], "scale": 0.8299000000000001, "joints": [[707, 375], [646, 338], [580, 306], [580, 305], [648, 339], [705, 369.99999999999994], [583, 302], [604, 246], [613, 235], [634, 213], [632, 316], [611, 291], [599, 254.00000000000003], [599, 250], [613, 281], [632, 310]], "image": "d03398.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621.5, 325], "scale": 0.9849000000000001, "joints": [[663, 418.00000000000006], [623, 362], [583, 304], [582, 300], [623, 361], [663, 413], [586, 301], [615, 252.99999999999997], [635, 240], [665, 228], [625, 324], [611, 293], [617, 248], [615, 248], [615, 289], [626, 322]], "image": "d03399.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 394], "scale": 0.6449000000000001, "joints": [[480, 374.00000000000006], [546, 359], [606, 347], [605, 345], [544, 355], [477, 376], [609, 348], [673, 391.99999999999994], [679, 398], [696, 413], [664, 459.99999999999994], [670, 425], [682, 398], [679, 398], [667, 422], [663, 458]], "image": "d03400.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [539.5, 300], "scale": 0.8249000000000001, "joints": [[400, 251], [545, 273], [675, 285], [678, 284], [543, 268], [404, 250], [677, 298], [553, 322], [527, 326], [470, 339], [521, 225], [515, 264], [536, 339], [548, 312], [544, 236], [523, 229]], "image": "d03401.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [555, 290], "scale": 1.1249, "joints": [[428, 205], [552, 265], [672, 326], [679, 328], [556, 260], [432, 200], [673, 338], [551, 317], [526, 313], [455, 308], [550, 216], [529, 237], [523, 321], [542, 302], [569, 236], [554, 223]], "image": "d03402.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 279], "scale": 1.3849, "joints": [[467, 165], [570, 262], [657, 360], [666, 360], [576, 261], [479, 159], [658, 368], [541, 304], [522, 297], [477, 267], [580, 217], [557, 240], [522, 307], [550, 290], [585, 229], [572, 207]], "image": "d03403.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 264], "scale": 1.7849000000000002, "joints": [[580, 132], [602, 267], [613, 413], [613, 413], [604, 265], [593, 130], [601, 415.99999999999994], [557, 292], [547, 260], [541, 214], [637, 232.00000000000003], [606, 248], [552, 270], [559, 268], [623, 259], [635, 273]], "image": "d03404.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 274.5], "scale": 1.6799000000000002, "joints": [[639, 132], [613, 281], [575, 418.00000000000006], [573, 420], [614, 281], [651, 138], [565, 418.00000000000006], [569, 277], [570, 244], [568, 190], [654, 256], [639, 264], [572, 265], [581, 262], [647, 251], [643, 274]], "image": "d03405.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [599, 293.5], "scale": 1.4099000000000002, "joints": [[700, 177], [635, 273], [541, 397.00000000000006], [545, 395.00000000000006], [639, 270], [714, 177], [536, 395.00000000000006], [575, 271], [589, 251], [608, 200], [667, 283], [644, 288], [579, 265], [581, 267], [654, 277], [645, 298]], "image": "d03406.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621.5, 307], "scale": 0.8649000000000001, "joints": [[760, 273], [651, 308], [499, 349], [501, 348], [654, 308], [759, 279], [495, 340], [586, 274], [610, 259], [669, 225], [659, 334], [639, 335], [601, 267], [607, 269], [663, 323], [651, 337]], "image": "d03407.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613, 284.5], "scale": 0.6699, "joints": [[757, 333], [633, 323], [475, 306], [478, 307], [639, 320], [769, 321], [475, 300], [597, 269], [623, 267], [672, 261], [635, 363], [626, 345], [613, 279], [613, 282], [646, 337], [640, 357]], "image": "d03408.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 296], "scale": 0.9749000000000001, "joints": [[736, 390], [605, 336], [478, 266], [479, 266], [611, 334], [749, 383], [483, 264], [593, 278], [615, 278], [668, 277], [598, 360], [604, 350], [611, 275], [610, 281], [609, 344], [605, 357]], "image": "d03409.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569, 317], "scale": 1.6249, "joints": [[639, 463.00000000000006], [576, 347], [495, 198.00000000000003], [498, 199], [576, 345], [645, 463.00000000000006], [506, 195], [590, 282], [604, 300], [636, 348], [527, 347], [549, 350], [599, 292], [588, 294], [531, 322], [536, 347]], "image": "d03410.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549.5, 297], "scale": 1.6149, "joints": [[554, 435], [532, 310], [526, 168], [524, 165], [529, 308], [546, 438.99999999999994], [536, 170], [568, 274], [580, 300], [606, 356], [498, 318], [518, 340], [585, 296], [575, 290], [502, 296], [502, 339]], "image": "d03411.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549.5, 284], "scale": 1.6549, "joints": [[489, 427], [512, 285], [547, 152], [544, 148], [515, 285], [486, 425], [560, 154], [559, 270], [562, 302], [560, 348], [479, 286], [501, 297], [563, 291], [556, 280], [499, 266], [486, 290]], "image": "d03412.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516, 212.5], "scale": 1.0299, "joints": [[382, 303], [506, 218], [601, 146], [603, 145], [501, 217], [376, 302], [608, 156], [534, 258], [512, 276], [485, 306], [452, 211], [481, 223], [525, 267], [520, 236], [487, 194], [465, 195.99999999999997]], "image": "d03413.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 194], "scale": 0.9049, "joints": [[354, 239], [508, 191], [618, 152], [618, 150], [503, 185.99999999999997], [349, 230.99999999999997], [621, 168], [528, 230.99999999999997], [508, 244], [458, 268], [458, 165], [482, 185.99999999999997], [514, 254.00000000000003], [518, 222], [503, 164], [491, 154]], "image": "d03414.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [506, 197], "scale": 0.7049000000000001, "joints": [[345, 174], [484, 165], [623, 172], [630, 169], [488, 161], [344, 159], [629, 183], [522, 218.99999999999997], [492, 226], [446, 234], [466, 118], [492, 143], [500, 234], [505, 201], [490, 124], [468, 117]], "image": "d03415.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 320], "scale": 1.3649, "joints": [[400, 429], [509, 319], [575, 232.00000000000003], [577, 229.99999999999997], [506, 318], [402, 426], [585, 229.99999999999997], [727, 278], [738, 287], [775, 317], [675, 391.99999999999994], [686, 333], [729, 284], [726, 293], [704, 327], [686, 391.99999999999994]], "image": "d03416.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 342.5], "scale": 1.2599, "joints": [[352, 388], [492, 313], [595, 257], [597, 252.99999999999997], [489, 307], [354, 385], [602, 257], [741, 334], [750, 349], [778, 374.00000000000006], [703, 468], [727, 393.99999999999994], [746, 345], [744, 351], [725, 390], [701, 463.00000000000006]], "image": "d03417.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565.5, 371.5], "scale": 1.3799000000000001, "joints": [[359, 342], [486, 312], [603, 276], [604, 272], [490, 304], [362, 342], [608, 277], [745, 370.99999999999994], [756, 382], [785, 409], [714, 516], [723, 450], [747, 383], [749, 385], [742, 437.99999999999994], [717, 512]], "image": "d03418.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [553, 410], "scale": 1.5149000000000001, "joints": [[337, 318], [491, 306], [612, 293], [614, 291], [493, 298], [341, 319], [619, 292], [743, 393.99999999999994], [749, 404], [778, 438.99999999999994], [732, 568], [732, 482.99999999999994], [756, 412], [753, 405], [738, 475], [735, 564]], "image": "d03419.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564.5, 445.5], "scale": 2.0399000000000003, "joints": [[362, 261], [511, 294], [625, 327], [624, 324], [512, 289], [362, 260], [630, 331], [726, 451], [730, 465], [762, 505.99999999999994], [751, 633], [743, 545], [749, 471], [741, 468], [741, 544], [750, 626]], "image": "d03420.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600.5, 265.5], "scale": 1.3899000000000001, "joints": [[583, 395.00000000000006], [611, 328], [583, 275], [584, 274], [614, 327], [586, 396.00000000000006], [586, 273], [610, 188], [615, 181], [628, 147], [580, 132], [609, 143], [604, 193], [610, 191], [611, 148], [574, 130]], "image": "d03421.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [599, 263.5], "scale": 1.4099000000000002, "joints": [[571, 395.00000000000006], [610, 339], [583, 279], [585, 278], [611, 338], [576, 395.00000000000006], [585, 276], [619, 198.00000000000003], [624, 187.00000000000003], [635, 164], [612, 120], [632, 153], [612, 192], [612, 195], [635, 153], [613, 120.99999999999999]], "image": "d03422.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 259.5], "scale": 1.4499000000000002, "joints": [[563, 397.00000000000006], [595, 331], [577, 268], [573, 264], [593, 329], [563, 399], [578, 263], [624, 189], [630, 181], [635, 159], [672, 119], [658, 156], [624, 184], [625, 183], [656, 155], [672, 126]], "image": "d03423.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [634.5, 254], "scale": 1.1049, "joints": [[554, 356], [557, 285], [563, 221.00000000000003], [563, 221.00000000000003], [558, 288], [556, 354], [565, 220.00000000000003], [646, 176], [655, 172], [671, 154], [718, 224], [682, 198.00000000000003], [649, 178], [651, 180], [682, 200], [721, 222]], "image": "d03424.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616.5, 256.5], "scale": 0.9099, "joints": [[544, 335], [560, 262], [562, 194], [563, 193], [562, 261], [543, 336], [566, 192], [650, 187.00000000000003], [663, 185.99999999999997], [690, 174], [674, 270], [661, 229], [654, 194], [656, 193], [660, 229.99999999999997], [669, 279]], "image": "d03425.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 239.5], "scale": 0.8099000000000001, "joints": [[533, 308], [558, 244], [571, 177], [574, 177], [564, 240], [535, 310], [576, 177], [648, 209.00000000000003], [659, 212], [681, 215], [618, 286], [633, 239], [649, 210.00000000000003], [657, 212], [630, 239], [605, 279]], "image": "d03426.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 225.5], "scale": 0.7899, "joints": [[519, 287], [562, 222], [594, 169], [591, 168], [567, 221.00000000000003], [522, 285], [598, 171], [631, 224], [638, 233], [662, 257], [571, 246], [605, 237], [642, 233], [637, 233], [602, 237], [577, 245]], "image": "d03427.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 222], "scale": 0.6549, "joints": [[499, 258], [568, 209.00000000000003], [615, 173], [615, 179], [573, 211], [503, 259], [616, 177], [610, 241.99999999999997], [610, 252], [610, 280], [539, 203], [579, 226], [614, 243.00000000000003], [616, 240.99999999999997], [575, 224], [537, 200]], "image": "d03428.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561.5, 222], "scale": 0.5749000000000001, "joints": [[488, 213], [569, 195], [631, 189], [629, 191], [575, 202], [486, 216], [627, 189], [593, 244], [584, 256], [567, 274], [558, 181], [567, 214], [587, 245], [586, 240], [565, 209.00000000000003], [559, 177]], "image": "d03429.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564, 208.5], "scale": 0.5199000000000001, "joints": [[499, 162], [560, 187.00000000000003], [625, 214], [627, 218], [561, 184.99999999999997], [499, 162], [626, 225], [570, 237], [554, 240.99999999999997], [527, 245], [571, 176], [566, 205], [564, 245], [569, 236], [570, 184.99999999999997], [579, 176]], "image": "d03430.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 192], "scale": 0.7349000000000001, "joints": [[552, 126.99999999999999], [579, 191], [617, 244], [617, 245], [579, 185.99999999999997], [556, 128], [612, 247], [554, 229.99999999999997], [542, 228], [511, 218], [588, 181], [577, 195.99999999999997], [548, 229.99999999999997], [552, 221.00000000000003], [576, 182], [585, 181]], "image": "d03431.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [560, 201], "scale": 0.8149000000000001, "joints": [[603, 126], [592, 200], [590, 269], [590, 268], [595, 196.99999999999997], [605, 128], [583, 267], [547, 222], [536, 210.00000000000003], [511, 187.00000000000003], [600, 199], [591, 204], [545, 217], [551, 212], [596, 196.99999999999997], [601, 201]], "image": "d03432.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 235], "scale": 0.5949000000000001, "joints": [[669, 233], [587, 248], [537, 274], [536, 270], [587, 246], [672, 228], [534, 268], [563, 213], [572, 206], [582, 178], [596, 250], [591, 252.99999999999997], [570, 222], [577, 224], [595, 237], [599, 246]], "image": "d03433.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 254.5], "scale": 0.43990000000000007, "joints": [[653, 292], [589, 275], [520, 263], [524, 261], [591, 272], [657, 289], [521, 260], [575, 232.00000000000003], [589, 228], [609, 216], [579, 281], [582, 268], [579, 239], [580, 240.99999999999997], [581, 270], [578, 281]], "image": "d03434.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 290.5], "scale": 0.7199000000000001, "joints": [[607, 351], [567, 299], [515, 248], [518, 247], [568, 295], [608, 345], [522, 244], [580, 258], [593, 262], [613, 265], [554, 298], [563, 292], [582, 260], [586, 260], [565, 282], [555, 295]], "image": "d03435.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564, 297], "scale": 0.7849, "joints": [[540, 363], [542, 297], [531, 235], [533, 237], [545, 300], [548, 364], [537, 236], [577, 277], [584, 288], [602, 310], [529, 298], [549, 297], [581, 286], [575, 287], [544, 288], [529, 298]], "image": "d03436.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [534, 299], "scale": 0.7849, "joints": [[484, 358], [527, 294], [557, 238], [560, 243.00000000000003], [524, 298], [488, 362], [560, 243.00000000000003], [562, 299], [557, 312], [564, 340], [514, 289], [523, 290], [564, 305], [559, 297], [527, 283], [517, 286]], "image": "d03437.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [515.5, 294], "scale": 0.5449, "joints": [[454, 308], [525, 284], [576, 258], [578, 261], [523, 286], [449, 315], [580, 267], [546, 314], [538, 324], [525, 347], [516, 277], [526, 286], [544, 319], [540, 314], [510, 281], [513, 272]], "image": "d03438.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [526.5, 296], "scale": 0.43490000000000006, "joints": [[456, 263], [522, 276], [589, 290], [592, 293], [522, 273], [458, 258], [588, 300], [533, 312], [522, 315], [490, 332], [528, 268], [533, 278], [528, 320], [525, 312], [520, 273], [529, 266]], "image": "d03439.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538.5, 275], "scale": 0.6549, "joints": [[490, 220.00000000000003], [542, 275], [589, 319], [589, 318], [543, 271], [492, 222], [579, 322], [526, 307], [511, 304], [482, 303], [550, 268], [549, 275], [520, 304], [525, 293], [549, 263], [551, 268]], "image": "d03440.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 280], "scale": 0.7649000000000001, "joints": [[565, 217], [561, 280], [576, 341], [577, 344], [563, 275], [566, 218], [571, 343], [533, 297], [523, 283], [501, 262], [575, 278], [572, 283], [529, 289], [538, 281], [576, 279], [572, 284]], "image": "d03441.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568, 291.5], "scale": 0.7699000000000001, "joints": [[613, 238], [577, 294], [546, 350], [549, 349], [579, 293], [615, 237], [546, 350], [543, 288], [550, 277], [551, 251], [592, 297], [585, 300], [548, 286], [556, 283], [591, 291], [590, 300]], "image": "d03442.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 304], "scale": 0.5449, "joints": [[657, 288], [596, 304], [533, 341], [533, 338], [593, 305], [654, 283], [530, 336], [565, 288], [574, 280], [589, 259], [598, 323], [591, 323], [576, 293], [575, 292], [594, 317], [595, 322]], "image": "d03443.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 312], "scale": 0.3949000000000001, "joints": [[658, 346], [593, 327], [526, 314], [526, 313], [594, 325], [659, 340], [528, 308], [586, 294], [595, 294], [616, 294], [579, 341], [592, 335], [591, 301], [593, 300], [590, 329], [587, 338]], "image": "d03444.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 334], "scale": 0.7149000000000001, "joints": [[621, 389], [578, 338], [536, 289], [537, 292], [579, 335], [626, 385], [542, 288], [595, 308], [603, 315], [622, 332], [566, 340], [577, 345], [598, 314], [592, 314], [571, 336], [569, 345]], "image": "d03445.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 335], "scale": 0.8049000000000001, "joints": [[568, 399], [567, 329], [562, 270], [564, 269], [569, 325], [573, 398], [569, 269], [593, 318], [595, 332], [604, 361], [551, 326], [567, 340], [596, 327], [595, 325], [552, 326], [551, 343]], "image": "d03446.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 315.5], "scale": 0.6299000000000001, "joints": [[527, 364], [564, 313], [597, 266], [600, 268], [565, 314], [528, 363], [604, 269], [584, 322], [578, 329], [567, 351], [547, 312], [566, 319], [584, 333], [584, 328], [558, 312], [548, 317]], "image": "d03447.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 288], "scale": 0.5549000000000001, "joints": [[513, 245], [578, 273], [636, 300], [638, 301], [576, 270], [515, 244], [636, 303], [579, 319], [569, 320], [545, 316], [566, 249], [578, 286], [578, 321], [572, 313], [570, 277], [561, 243.00000000000003]], "image": "d03448.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [593.5, 265], "scale": 0.8149000000000001, "joints": [[569, 198.00000000000003], [602, 263], [634, 311], [635, 312], [605, 261], [574, 195.99999999999997], [633, 315], [578, 320], [564, 315], [540, 295], [598, 251], [587, 281], [574, 319], [573, 312], [581, 271], [594, 248]], "image": "d03449.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 259], "scale": 0.8349000000000001, "joints": [[634, 190], [630, 257], [632, 321], [634, 320], [635, 254.00000000000003], [642, 187.00000000000003], [627, 322], [576, 309], [566, 302], [548, 277], [606, 263], [583, 278], [566, 313], [575, 306], [596, 289], [619, 281]], "image": "d03450.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [624, 356.5], "scale": 0.6699, "joints": [[713, 413], [629, 388], [540, 380], [543, 378], [634, 387], [717, 407], [539, 369.99999999999994], [607, 330], [625, 327], [650, 300], [623, 395.00000000000006], [616, 387], [612, 332], [621, 336], [632, 372.00000000000006], [629, 388]], "image": "d03451.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618, 382], "scale": 0.7249000000000001, "joints": [[703, 446], [622, 395.00000000000006], [534, 359], [535, 358], [625, 397.00000000000006], [706, 440.00000000000006], [538, 352], [618, 339], [635, 339], [671, 337], [613, 404], [608, 391.99999999999994], [616, 346], [624, 350], [627, 391], [620, 405]], "image": "d03452.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607, 393.5], "scale": 0.8799000000000001, "joints": [[673, 471], [610, 408], [541, 345], [545, 347], [612, 407], [676, 467], [546, 341], [624, 349], [640, 354], [679, 368], [595, 410], [604, 401], [624, 354], [628, 358], [614, 404], [602, 413]], "image": "d03453.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608.5, 400.5], "scale": 0.9799000000000001, "joints": [[633, 488], [595, 415.99999999999994], [550, 334], [557, 338], [599, 411], [641, 488], [556, 334], [629, 362], [640, 374.00000000000006], [675, 392.99999999999994], [575, 404], [586, 403], [626, 375], [626, 372.00000000000006], [584, 398], [576, 409]], "image": "d03454.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598.5, 402.5], "scale": 1.0899, "joints": [[555, 488], [573, 393.99999999999994], [583, 316], [583, 316], [572, 397.00000000000006], [558, 487.00000000000006], [590, 316], [619, 384], [620, 400], [644, 435], [559, 391], [577, 390], [620, 390], [619, 393.99999999999994], [581, 398], [557, 390]], "image": "d03455.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 394], "scale": 1.0149000000000001, "joints": [[518, 475], [565, 391.99999999999994], [601, 314], [601, 315], [566, 393.99999999999994], [530, 472], [606, 317], [616, 392.99999999999994], [614, 411], [628, 451], [558, 384], [574, 385], [617, 398], [617, 399], [577, 391.99999999999994], [559, 376]], "image": "d03456.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568.5, 383], "scale": 0.8249000000000001, "joints": [[504, 438.99999999999994], [564, 382], [616, 325], [619, 322], [562, 385], [500, 444], [621, 332], [609, 391.99999999999994], [603, 407], [602, 441.00000000000006], [553, 372.00000000000006], [574, 380], [610, 405], [606, 400], [568, 387], [560, 370.99999999999994]], "image": "d03457.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569, 381], "scale": 0.7349000000000001, "joints": [[484, 409], [568, 374.00000000000006], [637, 335], [635, 334], [565, 375], [492, 408], [640, 339], [604, 405], [593, 413.99999999999994], [576, 452], [564, 358], [574, 370.99999999999994], [601, 409], [598, 401], [571, 361], [564, 360]], "image": "d03458.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 379.5], "scale": 0.6099000000000001, "joints": [[484, 373.00000000000006], [572, 362], [648, 344], [649, 343], [569, 359], [483, 368], [651, 349], [596, 404], [586, 412], [554, 436], [567, 351], [576, 366], [586, 409], [586, 398], [575, 350], [569, 350]], "image": "d03459.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 381.5], "scale": 0.5199000000000001, "joints": [[490, 341], [578, 359], [652, 365], [655, 363], [577, 354], [492, 334], [655, 372.00000000000006], [589, 402], [571, 407], [534, 424], [581, 343], [582, 359], [578, 406], [578, 398], [576, 345], [579, 343]], "image": "d03460.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 355.5], "scale": 0.7699000000000001, "joints": [[544, 292], [598, 349], [652, 404], [656, 405], [597, 345], [544, 290], [651, 407], [582, 391], [567, 389], [522, 383], [611, 338], [602, 350], [574, 391], [577, 373.00000000000006], [598, 332], [609, 335]], "image": "d03461.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603, 351], "scale": 0.8549000000000001, "joints": [[585, 280], [615, 356], [648, 418.00000000000006], [652, 419.00000000000006], [616, 357], [581, 278], [640, 420], [585, 386], [571, 377], [544, 360], [626, 345], [619, 355], [576, 377], [581, 369.99999999999994], [619, 337], [628, 343]], "image": "d03462.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598, 353], "scale": 0.9549000000000001, "joints": [[610, 271], [624, 359], [639, 434], [640, 436.99999999999994], [629, 362], [616, 274], [634, 434], [588, 380], [579, 366], [555, 341], [639, 355], [633, 363], [587, 370.99999999999994], [594, 361], [633, 350], [641, 354]], "image": "d03463.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 359], "scale": 0.9349000000000001, "joints": [[645, 281], [631, 360], [626, 437.99999999999994], [630, 437.99999999999994], [636, 358], [655, 279], [622, 438.99999999999994], [593, 369.99999999999994], [589, 358], [578, 331], [643, 363], [638, 370.99999999999994], [593, 366], [600, 361], [642, 355], [646, 366]], "image": "d03464.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625, 372.5], "scale": 0.7899, "joints": [[675, 306], [644, 367], [611, 437.99999999999994], [614, 436.99999999999994], [646, 362], [680, 304], [606, 435], [601, 365], [601, 352], [601, 322], [653, 379], [642, 384], [602, 368], [613, 362], [648, 365], [654, 380]], "image": "d03465.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 390], "scale": 0.6049000000000001, "joints": [[718, 374.00000000000006], [653, 393.99999999999994], [586, 432], [588, 428], [655, 392.99999999999994], [719, 367], [586, 430], [623, 374.00000000000006], [632, 366], [656, 337], [663, 406], [648, 409], [629, 373.00000000000006], [636, 369.99999999999994], [660, 395.00000000000006], [658, 407]], "image": "d03466.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [648.5, 393], "scale": 0.5049000000000001, "joints": [[732, 398], [653, 407], [578, 426], [579, 424], [655, 409], [736, 397.00000000000006], [577, 420], [633, 378], [643, 372.00000000000006], [672, 342], [654, 420], [646, 420], [637, 381], [646, 377], [657, 401], [655, 410]], "image": "d03467.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 404], "scale": 0.4249000000000001, "joints": [[726, 436.99999999999994], [655, 421], [574, 410], [576, 410], [656, 419.00000000000006], [732, 434], [577, 409], [639, 388], [653, 387], [680, 373.00000000000006], [642, 444], [645, 428], [643, 393.99999999999994], [647, 388], [642, 422], [640, 441.00000000000006]], "image": "d03468.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [643, 417.5], "scale": 0.5699000000000001, "joints": [[712, 466], [645, 434], [575, 400], [577, 399], [647, 433], [714, 460.99999999999994], [578, 392.99999999999994], [649, 401], [660, 402], [694, 402], [627, 444], [643, 438.99999999999994], [650, 396.00000000000006], [643, 401], [628, 435], [628, 443]], "image": "d03469.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632.5, 430], "scale": 0.7049000000000001, "joints": [[680, 489], [636, 440.00000000000006], [575, 388], [579, 388], [640, 440.00000000000006], [679, 486.00000000000006], [582, 386], [649, 406], [660, 410], [686, 422], [620, 449], [633, 448], [653, 414.99999999999994], [648, 413.99999999999994], [623, 428], [616, 443]], "image": "d03470.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629.5, 444], "scale": 0.8649000000000001, "joints": [[656, 514], [628, 455], [593, 381], [595, 381], [631, 458], [659, 513], [601, 379], [645, 422], [652, 432], [670, 463.00000000000006], [606, 452], [628, 453], [647, 429], [643, 424], [620, 435], [609, 451]], "image": "d03471.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 444.5], "scale": 0.8799000000000001, "joints": [[587, 518], [608, 437.99999999999994], [621, 375], [624, 376], [606, 436.99999999999994], [589, 513], [629, 377], [640, 437.99999999999994], [646, 456], [662, 475], [587, 441.00000000000006], [600, 449], [640, 449], [632, 445], [601, 435], [590, 441.00000000000006]], "image": "d03472.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605, 438.5], "scale": 0.8299000000000001, "joints": [[554, 504.99999999999994], [593, 450], [635, 379], [638, 379], [596, 446], [564, 502], [641, 385], [628, 442.00000000000006], [624, 454], [616, 482.99999999999994], [584, 433], [608, 445], [630, 454], [626, 449], [602, 434], [586, 433]], "image": "d03473.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 432], "scale": 0.6849000000000001, "joints": [[536, 472], [605, 426], [652, 385], [655, 384], [607, 427], [542, 471], [656, 395.00000000000006], [628, 443], [618, 458], [599, 478], [578, 423], [596, 435], [623, 457], [615, 444], [592, 420], [578, 415.99999999999994]], "image": "d03474.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 428], "scale": 0.5249000000000001, "joints": [[516, 448], [601, 423], [666, 404], [666, 401], [599, 423], [522, 449], [668, 409], [625, 451], [609, 458.99999999999994], [580, 466], [582, 413], [595, 422], [617, 458], [616, 451], [585, 418.00000000000006], [575, 410]], "image": "d03475.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598, 436.5], "scale": 0.4499000000000001, "joints": [[516, 417.00000000000006], [603, 412], [669, 421], [671, 419.00000000000006], [603, 413], [518, 410], [670, 427], [615, 458], [602, 462.00000000000006], [574, 466], [582, 392.99999999999994], [602, 420], [612, 462.00000000000006], [606, 454], [595, 418.00000000000006], [578, 393.99999999999994]], "image": "d03476.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613.5, 415.5], "scale": 0.7299000000000001, "joints": [[551, 350], [605, 395.00000000000006], [665, 446], [669, 446], [606, 391.99999999999994], [555, 349], [662, 450], [607, 460.99999999999994], [590, 460.99999999999994], [561, 446], [603, 382], [600, 419.00000000000006], [597, 458], [597, 450], [602, 413], [602, 379]], "image": "d03477.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616.5, 401], "scale": 0.9349000000000001, "joints": [[582, 331], [620, 399], [666, 458], [667, 455], [622, 393.99999999999994], [587, 331], [663, 459.99999999999994], [600, 465], [579, 463.00000000000006], [552, 434], [614, 383], [604, 419.00000000000006], [589, 465], [589, 453], [599, 415.99999999999994], [610, 382]], "image": "d03478.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609.5, 399], "scale": 0.9249, "joints": [[624, 330], [633, 401], [662, 468], [660, 467], [636, 397.00000000000006], [623, 328], [652, 469], [589, 459.99999999999994], [573, 455], [554, 429], [625, 396.00000000000006], [605, 428], [580, 467], [588, 458.99999999999994], [610, 426], [626, 404]], "image": "d03479.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608.5, 408.5], "scale": 0.8999000000000001, "joints": [[658, 340], [648, 409], [653, 478], [651, 474], [650, 408], [660, 335], [647, 478], [590, 463.00000000000006], [571, 452], [556, 430], [625, 412], [599, 429], [578, 462.00000000000006], [582, 450], [604, 442.00000000000006], [627, 432]], "image": "d03480.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623, 409.5], "scale": 0.9399000000000001, "joints": [[693, 336], [660, 405], [642, 481.99999999999994], [643, 479], [659, 401], [680, 323], [641, 481.99999999999994], [583, 455], [568, 446], [557, 420], [628, 451], [604, 455], [570, 459.99999999999994], [578, 446], [601, 431], [629, 421]], "image": "d03481.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [647, 429], "scale": 0.7249000000000001, "joints": [[737, 386], [685, 429], [631, 495], [632, 493], [683, 427], [736, 374.00000000000006], [628, 493], [570, 452], [566, 429], [566, 401], [617, 481.99999999999994], [590, 462.00000000000006], [562, 444], [564, 438.99999999999994], [596, 440.00000000000006], [622, 446]], "image": "d03482.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [665, 446], "scale": 0.6749, "joints": [[750, 408], [699, 445], [627, 494], [630, 492], [699, 444], [755, 405], [626, 492], [573, 442.00000000000006], [570, 426], [570, 395.00000000000006], [615, 493], [587, 456], [565, 438.99999999999994], [567, 436], [595, 442.00000000000006], [615, 457]], "image": "d03483.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [668, 448.5], "scale": 0.6599, "joints": [[760, 450], [680, 471], [617, 502], [621, 499], [684, 471], [765, 446], [620, 500], [576, 436.99999999999994], [578, 418.00000000000006], [578, 391], [609, 504.99999999999994], [592, 466], [575, 438.99999999999994], [574, 435], [593, 442.00000000000006], [611, 459.99999999999994]], "image": "d03484.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673.5, 451.5], "scale": 0.6899000000000001, "joints": [[772, 472], [685, 481.99999999999994], [615, 505.99999999999994], [617, 503.99999999999994], [686, 481.99999999999994], [772, 473], [614, 501], [582, 437.99999999999994], [583, 424], [598, 391], [605, 507.00000000000006], [593, 463.00000000000006], [582, 434], [582, 434], [589, 454], [607, 471]], "image": "d03485.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [668, 452], "scale": 0.6949000000000001, "joints": [[762, 505.99999999999994], [680, 499], [605, 502], [608, 501], [677, 498], [763, 501], [605, 501], [588, 426], [596, 415.99999999999994], [612, 382], [599, 510], [590, 460.99999999999994], [583, 429], [584, 428], [593, 442.00000000000006], [606, 464.00000000000006]], "image": "d03486.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641.5, 513], "scale": 0.9949000000000001, "joints": [[678, 586], [636, 540], [579, 501], [577, 499], [639, 542], [678, 585], [580, 497], [621, 450], [643, 443], [680, 422], [596, 529], [605, 477], [625, 442.00000000000006], [628, 445], [615, 464.00000000000006], [610, 499]], "image": "d03487.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631, 531], "scale": 1.0149000000000001, "joints": [[678, 620], [627, 549], [577, 499], [577, 498], [629, 550], [679, 618], [579, 496], [635, 454], [658, 450], [686, 442.00000000000006], [606, 530], [616, 481], [633, 449], [636, 450], [618, 481.99999999999994], [610, 519]], "image": "d03488.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629, 540.5], "scale": 1.0299, "joints": [[642, 621], [609, 550], [577, 495], [577, 497], [612, 551], [645, 621], [581, 491], [649, 465], [666, 468], [697, 468], [614, 538], [620, 492], [640, 467], [648, 467], [620, 499], [615, 544]], "image": "d03489.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572.5, 619.5], "scale": 0.9299000000000001, "joints": [[459, 549], [534, 554], [620, 554], [621, 553], [535, 546], [458, 544], [623, 555], [666, 627], [670, 639], [688, 668], [686, 716], [682, 684], [684, 651], [684, 648], [685, 686], [687, 714]], "image": "d03490.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [386, 235.5], "scale": 1.3299, "joints": [[396, 360], [358, 297], [377, 229], [377, 229], [357, 299], [396, 363], [377, 228], [370, 144], [369, 136], [364, 111], [405, 109.99999999999999], [389, 119], [389, 139], [386, 144], [383, 108], [403, 108]], "image": "d03491.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [368, 231.5], "scale": 1.5799, "joints": [[397, 385], [363, 318], [392, 250], [394, 250], [361, 317], [395, 383], [393, 248], [377, 169], [371, 163], [371, 140], [335, 87], [352, 126.99999999999999], [384, 171], [381, 176], [351, 124], [329, 87]], "image": "d03492.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [394, 232], "scale": 0.9049, "joints": [[439, 302], [421, 238], [443, 165], [443, 164], [420, 239], [435, 307], [439, 164], [369, 176], [358, 177], [336, 182], [372, 256], [377, 213], [368, 173], [368, 172], [370, 213], [362, 258]], "image": "d03493.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [420.5, 213.5], "scale": 0.7799, "joints": [[478, 270], [423, 222], [433, 154], [435, 154], [423, 221.00000000000003], [476, 273], [432, 150], [385, 193], [376, 196.99999999999997], [358, 206], [421, 245], [407, 204], [377, 189], [377, 190], [408, 205], [419, 245]], "image": "d03494.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [450.5, 191.5], "scale": 0.5799000000000001, "joints": [[501, 224], [431, 222], [425, 149], [423, 149], [431, 224], [502, 216], [423, 147], [404, 201], [404, 215], [392, 240.99999999999997], [472, 214], [446, 195], [403, 204], [402, 204], [445, 196.99999999999997], [475, 218]], "image": "d03495.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [449, 197.5], "scale": 0.5999000000000001, "joints": [[491, 156], [459, 214], [415, 156], [416, 160], [459, 216], [493, 158], [415, 159], [426, 222], [425, 230.99999999999997], [431, 259], [481, 188], [450, 194], [428, 221.00000000000003], [423, 223], [445, 179], [483, 179]], "image": "d03496.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441.5, 183.5], "scale": 0.7299000000000001, "joints": [[462, 122.00000000000001], [481, 187.00000000000003], [414, 180], [411, 179], [480, 191], [460, 122.00000000000001], [410, 183], [446, 222], [455, 233], [477, 251], [474, 153], [452, 189], [454, 225], [450, 225], [439, 184], [469, 150]], "image": "d03497.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [460, 186.5], "scale": 0.5399, "joints": [[430, 134], [480, 166], [422, 198.00000000000003], [421, 199], [482, 170], [431, 134], [425, 205], [472, 222], [486, 225], [510, 232.00000000000003], [451, 144], [456, 192], [480, 218], [475, 216], [445, 191], [448, 143]], "image": "d03498.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [458.5, 196], "scale": 0.4449000000000001, "joints": [[396, 167], [465, 159], [436, 217], [437, 218], [467, 158], [393, 166], [441, 217], [490, 207.99999999999997], [506, 204], [529, 198.00000000000003], [433, 162], [459, 194], [497, 206], [493, 203], [453, 198.00000000000003], [427, 162]], "image": "d03499.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [452.5, 196], "scale": 0.4949000000000001, "joints": [[395, 215], [452, 168], [457, 227], [457, 229], [450, 165], [391, 215], [460, 227], [493, 193], [504, 174], [516, 150], [423, 190], [466, 201], [499, 184], [493, 183], [461, 204], [415, 190]], "image": "d03500.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [462, 206], "scale": 0.7049000000000001, "joints": [[430, 261], [440, 187.00000000000003], [477, 230.99999999999997], [475, 230.99999999999997], [437, 185.99999999999997], [424, 260], [481, 228], [485, 169], [483, 158], [484, 137], [433, 217], [473, 202], [481, 168], [477, 169], [471, 205], [435, 222]], "image": "d03501.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 222.5], "scale": 0.7499000000000001, "joints": [[473, 278], [438, 209.00000000000003], [506, 228], [507, 228], [440, 209.00000000000003], [473, 285], [509, 225], [467, 172], [452, 164], [444, 152], [453, 241.99999999999997], [477, 204], [465, 169], [465, 172], [478, 203], [456, 246]], "image": "d03502.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 222.5], "scale": 0.5099000000000001, "joints": [[522, 262], [454, 230.99999999999997], [521, 203], [521, 203], [456, 229.99999999999997], [521, 261], [518, 201], [459, 189], [443, 190], [417, 189], [490, 236], [477, 195.99999999999997], [455, 187.00000000000003], [459, 187.00000000000003], [484, 202], [489, 238]], "image": "d03503.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [494.5, 210], "scale": 0.4049000000000001, "joints": [[554, 225], [481, 246], [513, 182], [512, 183], [483, 244], [554, 225], [509, 181], [462, 209.00000000000003], [447, 226], [431, 240], [521, 227], [478, 204], [455, 215], [457, 212], [481, 200], [521, 228]], "image": "d03504.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [511.5, 215.5], "scale": 0.5999000000000001, "joints": [[557, 180], [516, 241.99999999999997], [500, 174], [498, 174], [514, 241.99999999999997], [559, 176], [495, 175], [481, 229.99999999999997], [478, 246], [474, 271], [535, 205], [489, 207], [479, 236], [476, 234], [481, 205], [532, 202]], "image": "d03505.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [510, 205], "scale": 0.7049000000000001, "joints": [[534, 151], [541, 222], [487, 188], [488, 188], [538, 220.00000000000003], [533, 151], [486, 195.99999999999997], [509, 238], [517, 255.00000000000003], [525, 277], [534, 187.00000000000003], [507, 213], [513, 244], [506, 245], [495, 213], [535, 183]], "image": "d03506.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 191], "scale": 0.6049000000000001, "joints": [[490, 146], [544, 194], [487, 203], [485, 203], [544, 192], [491, 144], [489, 210.00000000000003], [537, 229], [550, 233], [572, 247], [520, 168], [516, 214], [540, 234], [535, 229], [506, 214], [513, 166]], "image": "d03507.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [528, 201], "scale": 0.3949000000000001, "joints": [[466, 171], [534, 172], [501, 216], [500, 217], [536, 171], [464, 170], [504, 220.00000000000003], [555, 203], [571, 199], [590, 188], [503, 177], [524, 207], [561, 207], [559, 209.00000000000003], [521, 211], [499, 177]], "image": "d03508.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517.5, 188], "scale": 0.5049000000000001, "joints": [[464, 212], [520, 170], [521, 222], [521, 224], [517, 166], [461, 210.00000000000003], [525, 225], [557, 179], [567, 163], [575, 148], [496, 195], [540, 199], [560, 173], [556, 174], [539, 203], [493, 193]], "image": "d03509.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533.5, 188], "scale": 0.6949000000000001, "joints": [[497, 252.99999999999997], [508, 172], [544, 215], [545, 217], [506, 168], [496, 248], [547, 216], [546, 156], [537, 142], [535, 123], [506, 206], [543, 188], [543, 153], [543, 156], [543, 193], [503, 210.00000000000003]], "image": "d03510.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [540.5, 195], "scale": 0.6549, "joints": [[540, 249], [509, 192], [572, 199], [576, 201], [510, 192], [541, 251], [577, 195.99999999999997], [532, 155], [514, 151], [501, 137], [533, 207], [540, 173], [524, 149], [526, 154], [546, 177], [531, 218]], "image": "d03511.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551.5, 186], "scale": 0.4749000000000001, "joints": [[599, 223], [525, 203], [577, 164], [580, 163], [525, 203], [598, 229], [576, 161], [517, 162], [504, 165], [482, 168], [556, 207], [541, 168], [509, 160], [512, 160], [545, 167], [561, 207]], "image": "d03512.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [567.5, 171.5], "scale": 0.4099000000000001, "joints": [[620, 177], [553, 201], [572, 136], [570, 135], [548, 204], [623, 167], [565, 136], [527, 172], [522, 185.99999999999997], [501, 204], [587, 187.00000000000003], [543, 173], [521, 175], [522, 169], [539, 157], [585, 177]], "image": "d03513.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570.5, 159], "scale": 0.7049000000000001, "joints": [[614, 116.00000000000001], [584, 182], [557, 123], [556, 123], [581, 183], [609, 108], [552, 128], [550, 180], [551, 198.00000000000003], [554, 223], [597, 151], [560, 159], [547, 185.99999999999997], [541, 184], [546, 154], [591, 144]], "image": "d03514.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 142], "scale": 0.6849000000000001, "joints": [[579, 85], [605, 148], [547, 132], [543, 130], [603, 150], [578, 85], [544, 133], [578, 176], [588, 184.99999999999997], [602, 203], [592, 116.00000000000001], [567, 153], [581, 177], [572, 179], [559, 150], [588, 108]], "image": "d03515.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587.5, 122.5], "scale": 0.5399, "joints": [[545, 81], [604, 114], [552, 137], [547, 137], [604, 112], [543, 80], [551, 144], [598, 157], [611, 160], [639, 160], [573, 100], [580, 146], [606, 154], [602, 158], [573, 149], [567, 96]], "image": "d03516.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 126.5], "scale": 0.4499, "joints": [[529, 87], [594, 92], [565, 152], [564, 154], [596, 92.99999999999999], [521, 87], [569, 156], [615, 129], [629, 120], [646, 102], [560, 86], [592, 124], [623, 129], [625, 131], [584, 129], [554, 89]], "image": "d03517.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557.5, 121.5], "scale": 0.5799000000000001, "joints": [[498, 91], [572, 92], [587, 161], [587, 161], [571, 92.99999999999999], [499, 92.99999999999999], [593, 161], [616, 99.00000000000001], [616, 89], [618, 66], [555, 71], [589, 83], [625, 94.00000000000001], [623, 101], [592, 109], [562, 89]], "image": "d03518.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 114], "scale": 0.5649000000000001, "joints": [[485, 108], [567, 112], [615, 145], [614, 154], [566, 117], [494, 101], [617, 153], [609, 82], [602, 71], [600, 56], [569, 63], [593, 73], [616, 76], [613, 89], [589, 84], [557, 85]], "image": "d03519.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 166], "scale": 0.9149, "joints": [[601, 236], [621, 161], [642, 103], [644, 102], [618, 161], [599, 238], [638, 100], [575, 106], [560, 114], [544, 117], [570, 100], [568, 103], [567, 105.00000000000001], [563, 108], [565, 114], [565, 123]], "image": "d03520.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [454.5, 213], "scale": 0.5949000000000001, "joints": [[506, 257], [452, 232.00000000000003], [469, 172], [472, 171], [454, 234], [509, 252.99999999999997], [463, 170], [418, 202], [412, 213], [392, 229.99999999999997], [476, 256], [453, 221.00000000000003], [416, 207], [418, 212], [453, 225], [484, 252]], "image": "d03521.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472.5, 208.5], "scale": 0.5299, "joints": [[517, 201], [468, 228], [462, 167], [458, 168], [468, 229], [521, 198.00000000000003], [456, 167], [436, 218.99999999999997], [434, 229.99999999999997], [425, 259], [509, 214], [471, 207], [442, 224], [442, 224], [479, 205], [509, 213]], "image": "d03522.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [476, 212], "scale": 0.6649, "joints": [[513, 156], [503, 212], [455, 178], [454, 176], [501, 216], [510, 155], [451, 182], [467, 230.99999999999997], [470, 245], [473, 277], [511, 184], [477, 198.00000000000003], [464, 234], [461, 230.99999999999997], [473, 191], [506, 176]], "image": "d03523.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [485.5, 201], "scale": 0.7149000000000001, "joints": [[481, 141], [516, 190], [455, 190], [451, 190], [518, 192], [480, 140], [453, 195.99999999999997], [488, 235], [498, 240.99999999999997], [521, 267], [496, 164], [479, 203], [495, 235], [493, 233], [476, 196.99999999999997], [489, 165]], "image": "d03524.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496, 210], "scale": 0.3849000000000001, "joints": [[436, 192], [494, 179], [474, 229.99999999999997], [471, 229], [495, 177], [434, 190], [477, 230.99999999999997], [527, 205], [542, 198.00000000000003], [560, 193], [465, 185.99999999999997], [492, 209.00000000000003], [529, 205], [526, 206], [490, 213], [461, 189]], "image": "d03525.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [490, 202.5], "scale": 0.5599000000000001, "joints": [[448, 240], [484, 190], [498, 240.99999999999997], [496, 241.99999999999997], [482, 187.00000000000003], [444, 240], [501, 243.00000000000003], [524, 184.99999999999997], [525, 168], [537, 150], [469, 213], [504, 214], [526, 184], [521, 188], [503, 220.00000000000003], [463, 217]], "image": "d03526.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [506, 214], "scale": 0.7549000000000001, "joints": [[478, 276], [478, 210.00000000000003], [524, 247], [524, 248], [478, 209.00000000000003], [474, 277], [525, 244], [508, 187.00000000000003], [500, 173], [498, 146], [479, 243.00000000000003], [506, 221.00000000000003], [511, 184.99999999999997], [508, 188], [508, 222], [482, 247]], "image": "d03527.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [506, 235], "scale": 0.6449000000000001, "joints": [[524, 286], [488, 232.00000000000003], [544, 238], [547, 237], [484, 232.00000000000003], [523, 290], [545, 230.99999999999997], [496, 199], [483, 195], [463, 179], [510, 266], [512, 224], [494, 196.99999999999997], [493, 200], [517, 226], [510, 266]], "image": "d03528.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517, 243.5], "scale": 0.3999000000000001, "joints": [[569, 276], [504, 258], [550, 225], [551, 225], [506, 261], [571, 275], [545, 221.00000000000003], [490, 230.99999999999997], [480, 232.00000000000003], [454, 233], [545, 265], [518, 233], [484, 222], [489, 221.00000000000003], [521, 229], [543, 263]], "image": "d03529.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532.5, 254], "scale": 0.4649000000000001, "joints": [[592, 250], [537, 273], [549, 213], [548, 213], [536, 272], [593, 245], [543, 215], [503, 258], [499, 268], [480, 296], [564, 259], [523, 247], [500, 261], [499, 255.00000000000003], [523, 243.00000000000003], [570, 254.00000000000003]], "image": "d03530.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 266.5], "scale": 0.6499000000000001, "joints": [[586, 221.00000000000003], [561, 274], [534, 223], [533, 222], [560, 274], [586, 217], [529, 228], [532, 282], [533, 296], [529, 320], [573, 248], [538, 259], [532, 286], [528, 286], [533, 254.00000000000003], [571, 241.99999999999997]], "image": "d03531.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559, 265.5], "scale": 0.6699, "joints": [[562, 207.99999999999997], [578, 265], [525, 246], [524, 246], [578, 266], [559, 207.99999999999997], [524, 251], [560, 294], [570, 304], [582, 328], [568, 235], [554, 273], [561, 297], [559, 292], [545, 271], [559, 238]], "image": "d03532.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 273], "scale": 0.5549000000000001, "joints": [[515, 309], [557, 264], [570, 316], [570, 316], [557, 264], [514, 311], [576, 317], [592, 261], [593, 249], [605, 218.99999999999997], [538, 287], [576, 285], [591, 260], [589, 262], [577, 291], [541, 291]], "image": "d03533.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [575, 288], "scale": 0.7249000000000001, "joints": [[546, 346], [554, 285], [596, 319], [594, 321], [551, 285], [542, 350], [598, 320], [576, 259], [568, 248], [561, 222], [553, 317], [578, 293], [576, 265], [577, 264], [582, 296], [555, 321]], "image": "d03534.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574.5, 314], "scale": 0.5649000000000001, "joints": [[599, 363], [557, 310], [613, 308], [615, 308], [560, 311], [597, 366], [616, 304], [555, 274], [545, 273], [523, 254.00000000000003], [576, 336], [580, 293], [557, 268], [561, 268], [584, 295], [579, 336]], "image": "d03535.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 312], "scale": 0.4049000000000001, "joints": [[640, 345], [578, 331], [617, 292], [619, 291], [580, 329], [639, 341], [613, 290], [555, 303], [545, 309], [523, 314], [606, 335], [581, 301], [555, 296], [559, 296], [587, 301], [608, 332]], "image": "d03536.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [606, 319.5], "scale": 0.4699000000000001, "joints": [[651, 308], [602, 337], [611, 280], [607, 280], [602, 341], [654, 305], [607, 281], [573, 329], [564, 338], [544, 351], [628, 320], [593, 314], [569, 327], [567, 323], [590, 309], [626, 318]], "image": "d03537.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613, 320], "scale": 0.6249000000000001, "joints": [[646, 273], [622, 335], [595, 286], [593, 285], [619, 337], [647, 277], [592, 290], [595, 346], [598, 359], [601, 382], [633, 306], [598, 323], [593, 345], [591, 345], [591, 319], [628, 305]], "image": "d03538.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610, 300.5], "scale": 0.6799000000000001, "joints": [[640, 260], [636, 320], [580, 304], [579, 303], [635, 322], [640, 254.00000000000003], [580, 309], [619, 342], [630, 348], [653, 369.99999999999994], [632, 289], [609, 326], [624, 352], [620, 348], [606, 324], [627, 294]], "image": "d03539.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619, 287.5], "scale": 0.7299000000000001, "joints": [[627, 226], [634, 295], [579, 325], [576, 325], [636, 297], [625, 229], [580, 328], [633, 337], [649, 334], [675, 332], [619, 283], [613, 323], [641, 334], [639, 337], [613, 327], [616, 287]], "image": "d03540.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612.5, 282], "scale": 0.8149000000000001, "joints": [[577, 227], [593, 288], [608, 346], [606, 349], [593, 288], [578, 223], [611, 345], [644, 305], [646, 287], [655, 265], [591, 302], [616, 302], [644, 301], [645, 305], [626, 318], [597, 331]], "image": "d03541.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [599, 298.5], "scale": 0.6899000000000001, "joints": [[543, 241.99999999999997], [592, 301], [626, 344], [626, 348], [592, 303], [543, 243.00000000000003], [627, 348], [639, 291], [632, 275], [629, 250], [580, 310], [613, 314], [639, 286], [640, 295], [627, 322], [609, 350]], "image": "d03542.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 307.5], "scale": 0.5699000000000001, "joints": [[522, 338], [596, 333], [648, 329], [652, 329], [594, 333], [523, 338], [649, 324], [618, 281], [602, 273], [576, 261], [635, 306], [630, 285], [621, 268], [615, 287], [626, 309], [639, 345]], "image": "d03543.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596.5, 328], "scale": 0.5749000000000001, "joints": [[545, 382], [603, 348], [655, 318], [658, 319], [606, 348], [543, 384], [656, 313], [605, 289], [585, 286], [558, 278], [644, 293], [627, 286], [606, 280], [604, 296], [627, 312], [645, 349]], "image": "d03544.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 357], "scale": 0.8049000000000001, "joints": [[584, 425], [624, 365], [657, 312], [657, 313], [624, 363], [587, 426], [656, 309], [598, 310], [582, 312], [554, 307], [630, 312], [609, 301], [590, 297], [595, 309], [618, 327], [641, 361]], "image": "d03545.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 202], "scale": 1.0449000000000002, "joints": [[546, 260], [644, 178], [658, 286], [657, 290], [639, 178], [539, 249], [664, 285], [708, 177], [712, 152], [743, 111], [603, 221.00000000000003], [662, 225], [704, 174], [697, 177], [663, 234], [602, 230.99999999999997]], "image": "d03546.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641.5, 206.5], "scale": 1.1299000000000001, "joints": [[563, 302], [635, 195], [676, 293], [675, 298], [631, 196.99999999999997], [568, 303], [682, 296], [695, 173], [689, 152], [693, 103], [597, 250], [664, 232.00000000000003], [689, 172], [687, 176], [665, 245], [599, 258]], "image": "d03547.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [652.5, 293], "scale": 0.9849000000000001, "joints": [[730, 378], [622, 306], [735, 270], [739, 269], [627, 307], [731, 383], [739, 269], [621, 240.99999999999997], [594, 240], [560, 220.00000000000003], [683, 341], [663, 268], [615, 232.00000000000003], [614, 233], [672, 266], [687, 343]], "image": "d03548.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686, 318.5], "scale": 0.8699000000000001, "joints": [[783, 312], [679, 366], [715, 249], [711, 250], [680, 367], [785, 308], [703, 249], [625, 344], [612, 363], [581, 389], [742, 335], [667, 312], [623, 332], [619, 337], [663, 306], [739, 330]], "image": "d03549.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [703, 347.5], "scale": 1.0699, "joints": [[771, 268], [715, 373.00000000000006], [676, 262], [671, 263], [713, 379], [774, 265], [670, 263], [666, 387], [666, 413], [667, 459.99999999999994], [756, 317], [688, 335], [665, 399], [660, 398], [670, 343], [735, 314]], "image": "d03550.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686.5, 332], "scale": 1.3149000000000002, "joints": [[748, 230.99999999999997], [742, 348], [632, 325], [627, 322], [739, 356], [746, 237], [632, 333], [709, 402], [728, 418.00000000000006], [765, 455], [744, 310], [701, 366], [716, 414.99999999999994], [711, 412], [676, 365], [730, 309]], "image": "d03551.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [702.5, 311], "scale": 1.3449, "joints": [[720, 203], [722, 332], [618, 382], [611, 381], [718, 336], [714, 202], [621, 387], [729, 400], [758, 403], [807, 396.00000000000006], [706, 293], [689, 375], [738, 398], [733, 402], [686, 384], [695, 312]], "image": "d03552.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [696.5, 302], "scale": 1.4949000000000001, "joints": [[668, 187.00000000000003], [687, 313], [623, 426], [622, 430], [685, 311], [664, 185.99999999999997], [632, 426], [735, 382], [755, 372.00000000000006], [790, 335], [658, 323], [703, 363], [741, 380], [740, 390], [683, 402], [645, 354]], "image": "d03553.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673, 323.5], "scale": 1.5299, "joints": [[603, 209.00000000000003], [638, 330], [655, 443], [655, 449], [641, 327], [600, 207], [660, 446], [728, 363], [736, 339], [745, 295], [621, 361], [673, 366], [731, 360], [736, 368.99999999999994], [699, 390], [634, 405]], "image": "d03554.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632.5, 348.5], "scale": 1.3099, "joints": [[527, 250], [612, 359], [683, 437.99999999999994], [685, 449], [603, 358], [527, 254.00000000000003], [686, 448], [707, 336], [692, 308], [689, 267], [623, 375], [664, 388], [705, 332], [710, 343], [687, 385], [649, 445]], "image": "d03555.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596.5, 370], "scale": 1.0349000000000002, "joints": [[490, 384], [608, 402], [718, 417.00000000000006], [721, 429], [614, 406], [490, 387], [721, 424], [676, 320], [645, 299], [617, 267], [740, 341], [729, 311], [681, 287], [665, 328], [682, 372.00000000000006], [694, 453]], "image": "d03556.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424.5, 197.5], "scale": 0.4699000000000001, "joints": [[364, 174], [428, 167], [408, 229], [405, 229.99999999999997], [428, 170], [363, 179], [413, 229.99999999999997], [465, 187.00000000000003], [476, 178], [496, 167], [398, 173], [427, 195], [467, 188], [463, 190], [422, 201], [395, 177]], "image": "d03557.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [417, 184.5], "scale": 0.6599, "joints": [[371, 218], [416, 172], [438, 233], [436, 235], [418, 173], [368, 218.99999999999997], [439, 234], [453, 167], [450, 148], [456, 126], [397, 199], [433, 201], [455, 168], [453, 172], [432, 206], [394, 202]], "image": "d03558.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440.5, 199.5], "scale": 0.7399000000000001, "joints": [[405, 256], [411, 185.99999999999997], [466, 224], [468, 222], [408, 185.99999999999997], [405, 258], [469, 223], [432, 161], [424, 150], [411, 128], [410, 224], [438, 199], [432, 161], [434, 163], [443, 201], [408, 224]], "image": "d03559.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [439.5, 217], "scale": 0.6349000000000001, "joints": [[457, 262], [417, 207.99999999999997], [487, 198.00000000000003], [487, 199], [419, 206], [458, 271], [487, 195.99999999999997], [429, 174], [408, 174], [384, 164], [442, 233], [450, 198.00000000000003], [421, 171], [422, 174], [451, 198.00000000000003], [446, 236]], "image": "d03560.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475.5, 207.5], "scale": 0.6499000000000001, "joints": [[525, 199], [471, 230.99999999999997], [466, 158], [466, 159], [468, 228], [527, 194], [462, 159], [439, 222], [438, 236], [421, 260], [502, 212], [462, 201], [437, 220.00000000000003], [431, 213], [463, 192], [496, 206]], "image": "d03561.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481, 205], "scale": 0.6449000000000001, "joints": [[521, 150], [499, 216], [450, 163], [446, 164], [495, 218], [515, 154], [446, 169], [472, 230.99999999999997], [480, 246], [486, 278], [510, 189], [474, 196.99999999999997], [469, 234], [463, 235], [466, 190], [501, 179]], "image": "d03562.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493.5, 189], "scale": 0.6549, "joints": [[486, 143], [510, 200], [446, 195], [442, 193], [507, 199], [482, 142], [445, 198.00000000000003], [500, 225], [515, 230.99999999999997], [537, 245], [495, 162], [478, 196.99999999999997], [500, 227], [497, 227], [468, 198.00000000000003], [487, 166]], "image": "d03563.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [500.5, 190.5], "scale": 0.5099000000000001, "joints": [[444, 150], [507, 176], [456, 216], [452, 217], [507, 178], [443, 151], [457, 218.99999999999997], [521, 207], [537, 200], [560, 199], [472, 163], [489, 203], [524, 207], [522, 207.99999999999997], [480, 206], [471, 166]], "image": "d03564.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 194.5], "scale": 0.5299, "joints": [[427, 185.99999999999997], [495, 174], [484, 234], [483, 238], [494, 175], [427, 194], [487, 237], [523, 185.99999999999997], [531, 169], [551, 156], [466, 184.99999999999997], [495, 207], [529, 184], [523, 187.00000000000003], [492, 216], [463, 188]], "image": "d03565.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [488, 192.5], "scale": 0.6899000000000001, "joints": [[450, 243.00000000000003], [482, 184], [516, 240.99999999999997], [516, 245], [481, 187.00000000000003], [446, 244], [520, 243.00000000000003], [511, 174], [500, 155], [504, 133], [460, 211], [501, 207.99999999999997], [508, 171], [510, 178], [503, 216], [464, 217]], "image": "d03566.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [508, 216.5], "scale": 0.7199000000000001, "joints": [[491, 278], [480, 205], [541, 229], [543, 229.99999999999997], [478, 206], [489, 280], [543, 228], [492, 177], [479, 171], [464, 148], [485, 244], [506, 212], [493, 175], [495, 174], [511, 214], [489, 244]], "image": "d03567.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [504.5, 233.5], "scale": 0.5099000000000001, "joints": [[551, 277], [490, 227], [553, 207], [555, 206], [488, 229], [550, 278], [551, 204], [484, 204], [470, 212], [448, 210.00000000000003], [515, 252], [514, 213], [478, 196.99999999999997], [480, 196.99999999999997], [518, 214], [522, 252.99999999999997]], "image": "d03568.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [520.5, 222], "scale": 0.4949000000000001, "joints": [[580, 250], [507, 249], [538, 188], [538, 190], [508, 249], [581, 248], [537, 188], [487, 236], [480, 243.00000000000003], [460, 258], [549, 248], [515, 218], [480, 228], [483, 227], [523, 217], [549, 245]], "image": "d03569.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542, 240.5], "scale": 0.6799000000000001, "joints": [[584, 211], [535, 255.00000000000003], [522, 184.99999999999997], [518, 185.99999999999997], [535, 257], [587, 207.99999999999997], [518, 188], [515, 254.00000000000003], [515, 269], [515, 298], [570, 234], [526, 229], [504, 259], [502, 252.99999999999997], [527, 222], [564, 227]], "image": "d03570.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545, 216.5], "scale": 0.6099000000000001, "joints": [[540, 164], [566, 226], [499, 236], [494, 237], [565, 229.99999999999997], [541, 166], [499, 244], [560, 252.99999999999997], [576, 254.00000000000003], [598, 262], [552, 200], [543, 238], [567, 259], [562, 260], [531, 235], [543, 200]], "image": "d03571.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [553, 220.5], "scale": 0.6499000000000001, "joints": [[507, 171], [560, 213], [523, 264], [518, 265], [560, 218], [508, 168], [520, 269], [576, 241.99999999999997], [589, 230.99999999999997], [610, 218.99999999999997], [534, 204], [547, 232.00000000000003], [580, 241.99999999999997], [580, 244], [539, 240.99999999999997], [529, 204]], "image": "d03572.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530, 239.5], "scale": 0.6699, "joints": [[479, 184.99999999999997], [544, 220.00000000000003], [546, 288], [545, 291], [546, 218.99999999999997], [477, 183], [549, 290], [572, 229.99999999999997], [576, 215], [581, 195.99999999999997], [521, 211], [552, 226], [581, 227], [581, 230.99999999999997], [542, 243.00000000000003], [515, 218.99999999999997]], "image": "d03573.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [523, 251], "scale": 0.6549, "joints": [[455, 211], [538, 240.99999999999997], [572, 296], [574, 297], [535, 245], [457, 211], [577, 294], [574, 229.99999999999997], [563, 215], [559, 185.99999999999997], [504, 240.99999999999997], [541, 234], [567, 220.00000000000003], [574, 225], [544, 250], [506, 251]], "image": "d03574.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522.5, 254.5], "scale": 0.5799000000000001, "joints": [[457, 262], [534, 271], [590, 288], [593, 293], [537, 277], [454, 264], [594, 290], [565, 229.99999999999997], [555, 220.00000000000003], [538, 195.99999999999997], [508, 266], [546, 244], [565, 224], [567, 228], [549, 258], [526, 283]], "image": "d03575.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [351.5, 254], "scale": 1.0449000000000002, "joints": [[385, 343], [390, 269], [411, 199], [413, 199], [391, 270], [383, 345], [412, 199], [329, 170], [316, 167], [299, 153], [284, 234], [317, 205], [325, 176], [328, 175], [312, 210.00000000000003], [274, 227]], "image": "d03576.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 298], "scale": 1.0849000000000002, "joints": [[432, 232.00000000000003], [558, 282], [627, 367], [627, 377], [558, 289], [430, 236], [630, 376], [626, 268], [615, 247], [613, 198.00000000000003], [506, 273], [577, 279], [629, 257], [629, 268], [581, 296], [512, 298]], "image": "d03577.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576, 281.5], "scale": 1.1599000000000002, "joints": [[493, 189], [599, 252.99999999999997], [588, 372.00000000000006], [586, 376], [598, 252.99999999999997], [488, 192], [595, 376], [642, 272], [649, 245], [663, 207.99999999999997], [554, 225], [608, 267], [653, 262], [655, 274], [589, 289], [542, 247]], "image": "d03578.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [626.5, 244.5], "scale": 1.1099, "joints": [[587, 162], [654, 264], [545, 314], [541, 315], [648, 266], [585, 166], [549, 320], [656, 305], [683, 299], [722, 299], [631, 212], [626, 278], [667, 308], [659, 316], [598, 286], [603, 227]], "image": "d03579.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [407.5, 221], "scale": 1.5349000000000002, "joints": [[391, 353], [436, 297], [427, 229.99999999999997], [428, 227], [439, 297], [393, 354], [430, 229.99999999999997], [420, 145], [413, 123], [409, 91], [372, 74], [401, 95], [413, 138], [408, 139], [398, 96], [374, 75]], "image": "d03580.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [413.5, 201], "scale": 1.4049, "joints": [[405, 329], [466, 283], [440, 218], [440, 218], [468, 285], [409, 329], [442, 216], [410, 129], [403, 114], [398, 87], [361, 73], [384, 92], [399, 132], [402, 131], [384, 94.00000000000001], [363, 72]], "image": "d03581.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [432.5, 187], "scale": 1.2449000000000001, "joints": [[437, 306], [498, 262], [449, 211], [448, 209.00000000000003], [500, 262], [438, 306], [450, 207.99999999999997], [408, 126.99999999999999], [402, 113], [395, 84], [363, 63], [382, 92.99999999999999], [399, 125], [404, 120], [389, 77], [367, 64]], "image": "d03582.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453, 179], "scale": 1.1349, "joints": [[484, 279], [524, 221.00000000000003], [454, 207], [454, 207.99999999999997], [524, 221.00000000000003], [484, 282], [454, 207], [409, 126.99999999999999], [401, 115], [387, 85], [383, 62], [400, 113], [396, 138], [410, 120.99999999999999], [414, 76], [380, 60]], "image": "d03583.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [461.5, 167.5], "scale": 0.9599000000000001, "joints": [[533, 249], [530, 188], [464, 209.00000000000003], [463, 207.99999999999997], [528, 183], [536, 252], [461, 207], [411, 139], [403, 126.99999999999999], [392, 101], [422, 71], [415, 123], [397, 146], [420, 135], [442, 120], [454, 89]], "image": "d03584.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [486, 166], "scale": 0.6949000000000001, "joints": [[569, 218.99999999999997], [526, 162], [471, 211], [473, 210.00000000000003], [524, 162], [572, 217], [468, 207], [418, 157], [409, 146], [397, 117], [454, 102], [443, 138], [406, 158], [420, 153], [454, 150], [481, 118]], "image": "d03585.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495, 172.5], "scale": 0.5499, "joints": [[584, 172], [513, 146], [489, 211], [488, 213], [513, 143], [585, 167], [482, 212], [429, 174], [419, 160], [404, 130], [504, 128], [471, 161], [426, 171], [425, 169], [460, 158], [481, 120]], "image": "d03586.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [492.5, 176.5], "scale": 0.5699000000000001, "joints": [[565, 142], [498, 141], [511, 217], [511, 217], [500, 140], [568, 136], [507, 218], [444, 193], [431, 184], [415, 160], [501, 126.99999999999999], [482, 174], [440, 192], [440, 190], [483, 172], [499, 129]], "image": "d03587.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [486, 173.5], "scale": 0.6699, "joints": [[543, 128], [479, 153], [527, 213], [529, 212], [480, 153], [539, 119], [527, 216], [464, 212], [444, 210.00000000000003], [429, 195], [503, 129], [501, 163], [465, 209.00000000000003], [465, 206], [492, 163], [500, 130]], "image": "d03588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496, 182.5], "scale": 0.6999000000000001, "joints": [[512, 123], [473, 178], [538, 207], [539, 206], [470, 179], [514, 120], [539, 209.00000000000003], [489, 233], [471, 240], [439, 234], [499, 151], [503, 193], [485, 230.99999999999997], [486, 232.00000000000003], [500, 192], [496, 153]], "image": "d03589.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [513.5, 206], "scale": 0.8149000000000001, "joints": [[486, 138], [476, 207], [547, 195.99999999999997], [547, 195.99999999999997], [477, 207], [484, 137], [547, 201], [515, 247], [503, 262], [476, 278], [484, 177], [512, 212], [512, 252.99999999999997], [511, 252], [510, 209.00000000000003], [482, 174]], "image": "d03590.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [512, 233], "scale": 0.7249000000000001, "joints": [[469, 166], [489, 235], [543, 193], [545, 194], [488, 236], [466, 164], [546, 198.00000000000003], [538, 252.99999999999997], [534, 271], [533, 310], [483, 207.99999999999997], [523, 221.00000000000003], [535, 256], [534, 258], [521, 220.00000000000003], [484, 207.99999999999997]], "image": "d03591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529.5, 241.5], "scale": 0.6299000000000001, "joints": [[466, 212], [515, 262], [535, 195], [532, 195.99999999999997], [515, 260], [464, 210.00000000000003], [538, 199], [567, 252.99999999999997], [572, 272], [598, 299], [492, 237], [537, 229], [567, 256], [563, 258], [534, 229], [493, 236]], "image": "d03592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 244], "scale": 0.4249000000000001, "joints": [[477, 259], [546, 283], [529, 214], [527, 214], [544, 285], [477, 262], [533, 215], [587, 254.00000000000003], [599, 261], [634, 267], [517, 276], [547, 249], [586, 255.00000000000003], [584, 254.00000000000003], [543, 239], [511, 269]], "image": "d03593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 274], "scale": 0.5249000000000001, "joints": [[507, 310], [576, 285], [528, 243.00000000000003], [529, 244], [577, 287], [507, 312], [532, 240], [592, 246], [612, 244], [642, 234], [545, 289], [554, 252], [593, 245], [596, 245], [549, 252.99999999999997], [541, 292]], "image": "d03594.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 277], "scale": 0.7149000000000001, "joints": [[556, 341], [593, 283], [530, 270], [532, 272], [594, 284], [556, 341], [535, 269], [587, 240], [604, 230.99999999999997], [629, 209.00000000000003], [573, 307], [558, 268], [591, 245], [592, 239], [563, 268], [577, 305]], "image": "d03595.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572.5, 269.5], "scale": 0.7799, "joints": [[597, 343], [605, 276], [545, 306], [546, 305], [602, 274], [599, 341], [545, 304], [580, 247], [588, 229], [598, 202], [602, 305], [568, 283], [584, 245], [579, 246], [572, 282], [605, 301]], "image": "d03596.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597, 269], "scale": 0.7049000000000001, "joints": [[640, 329], [604, 265], [571, 332], [573, 332], [603, 267], [645, 330], [568, 329], [567, 252.99999999999997], [567, 235], [558, 203], [619, 295], [575, 298], [572, 252.99999999999997], [571, 256], [576, 290], [620, 290]], "image": "d03597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 291.5], "scale": 0.5599000000000001, "joints": [[657, 298], [594, 269], [602, 339], [605, 340], [596, 269], [659, 294], [599, 338], [559, 285], [548, 266], [529, 241.99999999999997], [621, 282], [587, 306], [561, 274], [560, 278], [587, 300], [622, 276]], "image": "d03598.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 297.5], "scale": 0.4499000000000001, "joints": [[650, 270], [585, 276], [626, 330], [624, 330], [586, 272], [652, 259], [621, 332], [565, 304], [544, 296], [520, 288], [614, 269], [599, 311], [560, 299], [558, 302], [596, 308], [613, 263]], "image": "d03599.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588.5, 295], "scale": 0.5749000000000001, "joints": [[634, 248], [579, 293], [640, 319], [641, 318], [578, 294], [633, 245], [637, 321], [574, 329], [558, 333], [529, 340], [604, 271], [608, 318], [572, 333], [570, 332], [605, 312], [601, 271]], "image": "d03600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607, 317.5], "scale": 0.7899, "joints": [[601, 248], [581, 318], [647, 304], [646, 303], [579, 318], [596, 245], [644, 306], [597, 349], [587, 360], [574, 384], [585, 287], [619, 318], [594, 348], [589, 345], [613, 312], [584, 286]], "image": "d03601.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [611, 332.5], "scale": 0.7399000000000001, "joints": [[578, 283], [596, 349], [643, 298], [645, 295], [597, 347], [573, 278], [645, 301], [627, 356], [625, 376], [623, 409], [590, 318], [629, 328], [627, 366], [628, 363], [622, 329], [583, 320]], "image": "d03602.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623.5, 342], "scale": 0.6349000000000001, "joints": [[568, 318], [621, 365], [633, 295], [630, 294], [624, 364], [565, 317], [636, 295], [650, 358], [656, 374.00000000000006], [675, 393.99999999999994], [599, 347], [633, 334], [654, 360], [658, 362], [625, 331], [598, 341]], "image": "d03603.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 338.5], "scale": 0.4699000000000001, "joints": [[577, 364], [648, 366], [617, 303], [621, 303], [651, 368], [576, 370.99999999999994], [623, 303], [677, 345], [688, 353], [719, 362], [618, 367], [646, 334], [679, 346], [682, 351], [641, 334], [622, 369.99999999999994]], "image": "d03604.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [664, 359], "scale": 0.6449000000000001, "joints": [[609, 407], [674, 365], [616, 325], [620, 326], [671, 364], [614, 409], [621, 321], [688, 328], [701, 329], [739, 325], [648, 382], [648, 343], [689, 328], [690, 331], [656, 341], [651, 382]], "image": "d03605.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [666.5, 367.5], "scale": 0.8499000000000001, "joints": [[665, 438.99999999999994], [686, 365], [622, 346], [623, 344], [690, 365], [667, 440.00000000000006], [626, 342], [682, 311], [695, 305], [724, 295], [676, 378], [653, 340], [687, 316], [684, 315], [656, 336], [683, 370.99999999999994]], "image": "d03606.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669.5, 351.5], "scale": 0.9699000000000001, "joints": [[718, 441.00000000000006], [701, 370.99999999999994], [633, 356], [633, 357], [706, 370.99999999999994], [722, 440.00000000000006], [632, 354], [673, 297], [683, 288], [703, 258], [688, 363], [649, 335], [680, 303], [673, 299], [652, 331], [691, 351]], "image": "d03607.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [714, 313.5], "scale": 0.7599000000000001, "joints": [[793, 382], [723, 370.99999999999994], [657, 364], [658, 361], [724, 368], [796, 379], [656, 361], [644, 294], [644, 281], [652, 243.00000000000003], [691, 352], [650, 336], [646, 291], [650, 293], [651, 334], [694, 348]], "image": "d03608.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [708, 324], "scale": 0.5049000000000001, "joints": [[815, 293], [756, 328], [685, 359], [685, 357], [751, 327], [818, 292], [683, 358], [620, 328], [614, 311], [601, 282], [696, 326], [656, 339], [626, 323], [622, 324], [656, 332], [696, 322]], "image": "d03609.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [711.5, 320], "scale": 0.5649000000000001, "joints": [[812, 282], [752, 319], [693, 357], [692, 356], [752, 317], [812, 281], [688, 361], [623, 347], [608, 334], [595, 316], [679, 324], [654, 340], [624, 345], [625, 340], [656, 330], [678, 322]], "image": "d03610.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [710.5, 339], "scale": 0.7949, "joints": [[821, 269], [756, 314], [711, 361], [710, 355], [756, 312], [820, 267], [709, 362], [645, 396.00000000000006], [627, 403], [596, 405], [618, 357], [618, 376], [624, 406], [628, 391.99999999999994], [624, 365], [620, 351]], "image": "d03611.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [709.5, 363.5], "scale": 0.9499000000000001, "joints": [[824, 280], [760, 322], [713, 366], [714, 363], [761, 318], [825, 274], [712, 366], [654, 420], [638, 427], [611, 450], [594, 419.00000000000006], [607, 445], [635, 437.99999999999994], [641, 418.00000000000006], [623, 413], [598, 407]], "image": "d03612.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [717, 393], "scale": 1.1049, "joints": [[828, 292], [774, 331], [717, 375], [715, 376], [775, 328], [827, 289], [712, 380], [659, 441.00000000000006], [652, 456], [653, 486.00000000000006], [604, 491], [632, 495], [655, 468], [645, 454], [622, 458.99999999999994], [601, 477]], "image": "d03613.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [737, 433.5], "scale": 1.2799, "joints": [[830, 316], [765, 353], [713, 397.00000000000006], [710, 396.00000000000006], [763, 351], [827, 315], [707, 402], [672, 473], [669, 486.00000000000006], [679, 512], [641, 568], [654, 526], [673, 493], [668, 492], [653, 520], [641, 563]], "image": "d03614.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [752.5, 464.5], "scale": 1.3499, "joints": [[820, 341], [762, 380], [710, 425], [707, 424], [760, 379], [820, 340], [701, 431], [684, 503.99999999999994], [683, 517], [695, 536], [692, 601], [689, 559], [693, 522], [689, 521], [687, 560], [687, 604]], "image": "d03615.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [368, 260], "scale": 1.5949, "joints": [[345, 117], [381, 188], [403, 256], [406, 252.99999999999997], [383, 190], [350, 119], [402, 254.00000000000003], [358, 334], [352, 346], [351, 374.00000000000006], [321, 414.99999999999994], [333, 370.99999999999994], [359, 337], [360, 342], [336, 373.00000000000006], [328, 415.99999999999994]], "image": "d03616.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [371, 260], "scale": 1.5849000000000002, "joints": [[357, 118], [385, 187.00000000000003], [406, 256], [409, 255.00000000000003], [389, 185.99999999999997], [358, 115], [405, 258], [356, 338], [353, 348], [348, 380], [324, 414.99999999999994], [339, 367], [363, 335], [369, 339], [340, 372.00000000000006], [329, 413.99999999999994]], "image": "d03617.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [370, 265], "scale": 1.5849000000000002, "joints": [[370, 115], [392, 181], [411, 257], [413, 257], [395, 180], [373, 115], [410, 257], [361, 334], [355, 347], [344, 378], [324, 414.99999999999994], [339, 368], [367, 334], [364, 338], [339, 369.99999999999994], [328, 411]], "image": "d03618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [375.5, 263], "scale": 1.5949, "joints": [[388, 120.99999999999999], [405, 187.00000000000003], [417, 260], [418, 260], [405, 184], [386, 117], [415, 261], [361, 335], [353, 345], [343, 373.00000000000006], [321, 413], [346, 361], [367, 336], [368, 335], [342, 367], [329, 412]], "image": "d03619.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [377, 264.5], "scale": 1.5599, "joints": [[407, 116.00000000000001], [417, 178], [419, 261], [421, 260], [420, 178], [407, 114], [419, 262], [366, 335], [358, 349], [346, 374.00000000000006], [323, 413], [347, 360], [369, 338], [368, 338], [345, 364], [328, 412]], "image": "d03620.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [384, 266.5], "scale": 1.5499, "joints": [[432, 123], [430, 191], [426, 262], [429, 261], [432, 190], [431, 120], [424, 263], [368, 337], [359, 350], [345, 375], [325, 412], [346, 363], [371, 338], [371, 339], [344, 368.99999999999994], [327, 410]], "image": "d03621.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [392, 267], "scale": 1.5249000000000001, "joints": [[455, 120.99999999999999], [443, 189], [429, 266], [433, 267], [445, 189], [456, 120], [427, 265], [371, 333], [362, 345], [343, 372.00000000000006], [328, 408], [347, 368], [373, 344], [374, 342], [344, 367], [329, 407]], "image": "d03622.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [425, 273.5], "scale": 1.4499000000000002, "joints": [[522, 146], [478, 207], [439, 267], [440, 265], [478, 205], [521, 143], [438, 266], [381, 333], [370, 344], [346, 365], [326, 405], [359, 363], [386, 339], [394, 339], [359, 364], [329, 407]], "image": "d03623.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [443.5, 287], "scale": 1.3049000000000002, "joints": [[556, 172], [498, 210.00000000000003], [446, 261], [446, 261], [498, 209.00000000000003], [558, 168], [445, 263], [383, 333], [373, 343], [351, 363], [326, 403], [374, 350], [394, 329], [396, 330], [368, 353], [330, 400]], "image": "d03624.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [461.5, 303], "scale": 1.0949, "joints": [[583, 209.00000000000003], [507, 223], [451, 262], [452, 262], [509, 223], [586, 205], [451, 265], [389, 329], [381, 338], [355, 359], [330, 401], [366, 362], [393, 340], [393, 340], [366, 362], [331, 402]], "image": "d03625.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [469, 317.5], "scale": 0.9099, "joints": [[604, 241.99999999999997], [534, 237], [463, 262], [465, 259], [534, 236], [607, 243.00000000000003], [462, 260], [393, 322], [382, 331], [356, 347], [331, 396.00000000000006], [370, 358], [394, 335], [392, 337], [369, 359], [335, 398]], "image": "d03626.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 319], "scale": 0.7949, "joints": [[612, 278], [544, 252.99999999999997], [472, 259], [472, 258], [544, 251], [615, 276], [468, 260], [396, 315], [381, 324], [360, 338], [335, 381], [367, 346], [393, 321], [392, 325], [368, 347], [341, 380]], "image": "d03627.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [483.5, 319], "scale": 0.6249000000000001, "joints": [[620, 304], [551, 269], [484, 265], [483, 268], [553, 270], [622, 304], [481, 268], [403, 305], [387, 312], [353, 315], [335, 357], [371, 328], [400, 312], [401, 312], [372, 329], [343, 351]], "image": "d03628.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [485, 304], "scale": 0.3249000000000001, "joints": [[631, 319], [558, 289], [494, 285], [495, 285], [561, 287], [634, 318], [492, 285], [408, 296], [393, 298], [359, 294], [334, 317], [370, 311], [407, 302], [410, 302], [371, 308], [337, 314]], "image": "d03629.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [510, 285], "scale": 0.4749000000000001, "joints": [[640, 325], [570, 304], [501, 304], [498, 305], [569, 302], [642, 322], [496, 304], [418, 286], [401, 284], [372, 274], [362, 248], [383, 269], [411, 291], [412, 284], [390, 257], [366, 245]], "image": "d03630.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [526, 277], "scale": 0.6549, "joints": [[637, 327], [568, 313], [498, 328], [500, 327], [569, 314], [641, 325], [498, 328], [432, 280], [424, 274], [398, 239], [436, 220.00000000000003], [436, 244], [418, 285], [432, 272], [446, 243.00000000000003], [447, 220.00000000000003]], "image": "d03631.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538, 286.5], "scale": 0.7299000000000001, "joints": [[629, 328], [561, 328], [491, 348], [493, 347], [562, 326], [633, 326], [492, 344], [459, 274], [456, 256], [446, 222], [503, 246], [483, 268], [441, 271], [455, 266], [488, 229.99999999999997], [509, 240.99999999999997]], "image": "d03632.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545, 289.5], "scale": 0.7399000000000001, "joints": [[621, 336], [554, 336], [483, 348], [484, 347], [554, 336], [626, 332], [483, 342], [490, 263], [498, 248], [507, 216], [545, 288], [514, 281], [483, 264], [485, 261], [516, 290], [551, 288]], "image": "d03633.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 297.5], "scale": 0.6299000000000001, "joints": [[619, 355], [548, 338], [474, 335], [476, 335], [548, 338], [622, 352], [476, 330], [518, 276], [532, 266], [554, 240], [536, 320], [515, 293], [522, 270], [524, 271], [530, 296], [542, 323]], "image": "d03634.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 322], "scale": 0.5949000000000001, "joints": [[600, 375], [537, 338], [474, 316], [476, 315], [540, 338], [602, 372.00000000000006], [479, 314], [540, 291], [560, 287], [588, 279], [524, 349], [528, 305], [549, 288], [552, 296], [539, 325], [544, 377]], "image": "d03635.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 339.5], "scale": 0.6999000000000001, "joints": [[585, 397.00000000000006], [535, 341], [489, 297], [489, 298], [538, 341], [588, 398], [494, 293], [555, 300], [572, 309], [599, 316], [514, 351], [535, 316], [559, 301], [562, 309], [543, 334], [527, 376]], "image": "d03636.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 340], "scale": 0.8549000000000001, "joints": [[542, 411], [534, 340], [513, 272], [514, 274], [532, 339], [545, 410], [519, 274], [567, 313], [570, 324], [587, 346], [514, 340], [528, 327], [568, 317], [574, 323], [533, 340], [519, 355]], "image": "d03637.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 327], "scale": 0.8049000000000001, "joints": [[499, 393.99999999999994], [525, 330], [537, 265], [536, 264], [521, 331], [501, 397.00000000000006], [541, 265], [562, 311], [561, 327], [571, 364], [507, 326], [517, 313], [569, 323], [567, 329], [522, 328], [509, 325]], "image": "d03638.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [519, 289], "scale": 0.5149000000000001, "joints": [[449, 315], [521, 286], [582, 260], [582, 259], [520, 285], [446, 310], [585, 267], [549, 308], [537, 318], [511, 332], [507, 274], [522, 270], [541, 311], [545, 313], [523, 269], [507, 276]], "image": "d03639.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [519, 278], "scale": 0.4449000000000001, "joints": [[455, 249], [522, 252.99999999999997], [595, 264], [595, 264], [519, 252.99999999999997], [452, 241.99999999999997], [592, 271], [541, 297], [525, 300], [500, 294], [536, 241.99999999999997], [534, 254.00000000000003], [532, 296], [529, 290], [526, 245], [533, 240]], "image": "d03640.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 241], "scale": 0.6649, "joints": [[478, 185.99999999999997], [537, 228], [594, 269], [597, 270], [535, 227], [479, 185.99999999999997], [592, 276], [533, 277], [519, 275], [496, 258], [557, 222], [552, 237], [526, 278], [528, 267], [538, 224], [554, 218.99999999999997]], "image": "d03641.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554.5, 208.5], "scale": 0.8999000000000001, "joints": [[535, 148], [563, 221.00000000000003], [593, 274], [595, 274], [564, 216], [540, 142], [589, 275], [531, 261], [518, 246], [508, 223], [588, 211], [563, 234], [522, 252.99999999999997], [526, 245], [555, 218], [575, 183]], "image": "d03642.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561, 194.5], "scale": 0.9099, "joints": [[590, 133], [579, 205], [582, 273], [583, 273], [584, 204], [597, 129], [579, 273], [527, 235], [520, 216], [520, 190], [606, 223], [565, 227], [520, 230.99999999999997], [531, 222], [561, 212], [607, 193]], "image": "d03643.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 198.5], "scale": 0.7799, "joints": [[641, 140], [598, 200], [567, 263], [568, 262], [603, 196.99999999999997], [647, 137], [563, 258], [532, 212], [529, 196.99999999999997], [534, 169], [608, 235], [564, 218.99999999999997], [529, 207.99999999999997], [533, 203], [567, 201], [615, 205]], "image": "d03644.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 209.5], "scale": 0.6599, "joints": [[678, 171], [609, 207.99999999999997], [557, 255.00000000000003], [558, 252], [613, 207.99999999999997], [681, 169], [556, 251], [538, 195.99999999999997], [540, 175], [553, 152], [584, 240.99999999999997], [558, 213], [537, 191], [544, 185.99999999999997], [573, 198.00000000000003], [606, 220.00000000000003]], "image": "d03645.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607.5, 197.5], "scale": 0.6599, "joints": [[684, 216], [612, 221.00000000000003], [551, 243.00000000000003], [553, 239], [617, 221.00000000000003], [686, 215], [551, 238], [546, 178], [560, 159], [584, 133], [564, 241.99999999999997], [556, 201], [550, 178], [552, 172], [565, 192], [584, 220.00000000000003]], "image": "d03646.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 198.5], "scale": 0.6499000000000001, "joints": [[676, 256], [612, 239], [547, 230.99999999999997], [547, 230.99999999999997], [613, 239], [678, 252.99999999999997], [548, 230.99999999999997], [568, 170], [585, 159], [611, 141], [552, 250], [559, 210.00000000000003], [564, 178], [564, 177], [558, 204], [560, 236]], "image": "d03647.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601.5, 224.5], "scale": 0.7699000000000001, "joints": [[665, 290], [600, 249], [537, 223], [539, 221.00000000000003], [601, 247], [666, 291], [540, 218], [581, 171], [598, 165], [636, 157], [540, 238], [567, 199], [586, 171], [590, 169], [562, 198.00000000000003], [547, 228]], "image": "d03648.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591, 251], "scale": 0.8649000000000001, "joints": [[632, 325], [584, 258], [544, 217], [544, 214], [591, 257], [635, 322], [547, 212], [596, 184], [615, 184], [649, 188], [549, 240.99999999999997], [580, 207], [600, 185.99999999999997], [603, 184], [584, 207.99999999999997], [564, 225]], "image": "d03649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597, 269], "scale": 0.8649000000000001, "joints": [[588, 347], [574, 278], [549, 212], [550, 214], [576, 276], [592, 345], [555, 212], [613, 215], [635, 222], [664, 230.99999999999997], [556, 270], [592, 235], [616, 214], [622, 210.00000000000003], [584, 232.00000000000003], [557, 255.00000000000003]], "image": "d03650.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [713, 302], "scale": 1.2149, "joints": [[828, 385], [701, 374.00000000000006], [593, 385], [601, 384], [709, 375], [836, 378], [595, 380], [645, 249], [661, 234], [681, 195], [636, 285], [611, 264], [625, 245], [653, 265], [668, 295], [679, 321]], "image": "d03651.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [692, 306], "scale": 1.0549000000000002, "joints": [[822, 398], [703, 372.00000000000006], [580, 379], [583, 381], [705, 376], [826, 393.99999999999994], [586, 370.99999999999994], [656, 272], [679, 254.00000000000003], [705, 214], [673, 341], [635, 296], [656, 255.00000000000003], [668, 277], [679, 309], [695, 351]], "image": "d03652.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [674.5, 371], "scale": 1.0349000000000002, "joints": [[768, 459.99999999999994], [680, 390], [589, 335], [593, 336], [684, 391.99999999999994], [773, 458], [594, 326], [681, 311], [715, 316], [765, 316], [634, 402], [660, 334], [702, 315], [703, 328], [679, 382], [664, 453]], "image": "d03653.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [662.5, 395.5], "scale": 1.3299, "joints": [[707, 502], [655, 391.99999999999994], [593, 303], [598, 305], [650, 396.00000000000006], [712, 504.99999999999994], [605, 301], [698, 342], [722, 360], [763, 382], [621, 399], [643, 373.00000000000006], [700, 339], [700, 362], [660, 385], [637, 445]], "image": "d03654.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658.5, 400.5], "scale": 1.3799000000000001, "joints": [[663, 517], [647, 398], [607, 292], [614, 297], [644, 399], [669, 517], [616, 292], [692, 348], [707, 367], [735, 408], [609, 396.00000000000006], [635, 372.00000000000006], [692, 359], [689, 374.00000000000006], [641, 384], [617, 422]], "image": "d03655.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603.5, 361], "scale": 1.2249, "joints": [[510, 453], [598, 363], [666, 275], [668, 274], [597, 362], [514, 455], [674, 279], [661, 368], [654, 387], [637, 443], [576, 337], [599, 341], [663, 384], [668, 385], [600, 352], [579, 336]], "image": "d03656.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [593, 338.5], "scale": 0.9799000000000001, "joints": [[492, 410], [597, 344], [675, 273], [681, 272], [594, 345], [487, 407], [682, 286], [650, 367], [637, 385], [611, 427], [578, 322], [608, 337], [645, 385], [642, 368.99999999999994], [602, 323], [579, 316]], "image": "d03657.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 323], "scale": 0.6849000000000001, "joints": [[464, 286], [591, 300], [703, 300], [703, 299], [587, 293], [468, 274], [703, 315], [611, 351], [585, 352], [538, 360], [597, 265], [598, 288], [599, 354], [596, 348], [596, 274], [602, 258]], "image": "d03658.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607, 251.5], "scale": 1.2799, "joints": [[526, 149], [609, 255.00000000000003], [688, 336], [692, 337], [610, 250], [535, 150], [683, 338], [584, 326], [557, 313], [533, 285], [649, 230.99999999999997], [624, 274], [574, 324], [576, 312], [607, 262], [623, 199]], "image": "d03659.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615.5, 227.5], "scale": 1.4499000000000002, "joints": [[659, 123], [642, 240], [650, 358], [653, 357], [647, 236], [668, 117], [643, 353], [566, 298], [554, 277], [546, 224], [691, 273], [615, 284], [546, 291], [557, 283], [617, 254.00000000000003], [691, 227]], "image": "d03660.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621.5, 236.5], "scale": 1.4399000000000002, "joints": [[700, 126.99999999999999], [653, 237], [635, 357], [639, 356], [658, 233], [710, 123], [633, 355], [554, 283], [552, 261], [552, 213], [679, 284], [599, 283], [548, 278], [560, 266], [622, 256], [706, 241.99999999999997]], "image": "d03661.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [654, 269.5], "scale": 1.1499000000000001, "joints": [[763, 189], [680, 266], [609, 356], [612, 356], [687, 261], [773, 183], [607, 356], [564, 269], [564, 240], [571, 181], [660, 323], [591, 282], [552, 255.00000000000003], [573, 249], [625, 259], [700, 285]], "image": "d03662.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [674.5, 281], "scale": 1.0949, "joints": [[791, 220.00000000000003], [678, 284], [596, 362], [603, 359], [688, 287], [799, 217], [596, 359], [565, 256], [570, 228], [589, 178], [641, 337], [593, 283], [561, 243.00000000000003], [571, 240], [622, 265], [683, 298]], "image": "d03663.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [675, 278.5], "scale": 1.0699, "joints": [[795, 259], [680, 300], [589, 353], [590, 353], [682, 295], [807, 255.00000000000003], [585, 349], [576, 244], [590, 216], [615, 162], [604, 328], [585, 283], [566, 243.00000000000003], [580, 237], [620, 266], [651, 294]], "image": "d03664.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [678.5, 280.5], "scale": 1.0799, "joints": [[811, 347], [684, 337], [569, 350], [573, 346], [689, 332], [821, 341], [572, 344], [596, 238], [613, 216], [654, 181], [580, 349], [584, 282], [588, 236], [597, 236], [608, 265], [624, 308]], "image": "d03665.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [687, 294.5], "scale": 1.0499, "joints": [[798, 385], [687, 361], [574, 347], [577, 344], [688, 359], [800, 383], [570, 343], [609, 252], [621, 236], [672, 207.99999999999997], [563, 368.99999999999994], [584, 301], [593, 259], [603, 246], [610, 275], [611, 315]], "image": "d03666.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [452.5, 272.5], "scale": 1.1599000000000002, "joints": [[456, 164], [520, 176], [483, 229], [480, 230.99999999999997], [516, 179], [454, 166], [479, 234], [430, 292], [417, 304], [398, 315], [411, 375], [424, 329], [423, 289], [421, 292], [421, 335], [407, 382]], "image": "d03667.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [458.5, 289.5], "scale": 0.9899000000000001, "joints": [[471, 195], [530, 207.99999999999997], [490, 261], [491, 261], [533, 209.00000000000003], [468, 193], [486, 262], [429, 301], [414, 311], [383, 310], [410, 379], [427, 333], [428, 296], [430, 297], [421, 337], [406, 383]], "image": "d03668.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [478.5, 270], "scale": 1.1049, "joints": [[566, 168], [567, 239], [506, 281], [502, 282], [565, 238], [560, 165], [501, 282], [430, 301], [411, 305], [386, 301], [411, 373.00000000000006], [428, 328], [430, 294], [426, 296], [423, 334], [405, 374.00000000000006]], "image": "d03669.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [509, 290], "scale": 0.8549000000000001, "joints": [[628, 216], [574, 256], [504, 274], [504, 276], [571, 259], [627, 212], [503, 276], [430, 290], [415, 290], [392, 285], [410, 368], [431, 326], [436, 284], [429, 288], [424, 325], [404, 370.99999999999994]], "image": "d03670.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [525, 312], "scale": 0.6249000000000001, "joints": [[658, 271], [595, 266], [519, 257], [519, 257], [595, 266], [659, 268], [515, 260], [437, 277], [424, 280], [402, 276], [410, 368], [426, 328], [442, 278], [438, 281], [423, 325], [406, 365]], "image": "d03671.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532, 286.5], "scale": 0.6699, "joints": [[668, 331], [606, 291], [552, 256], [542, 269], [598, 313], [663, 343], [545, 266], [468, 243.00000000000003], [452, 240], [430, 228], [437, 321], [451, 287], [461, 230.99999999999997], [457, 250], [429, 283], [389, 304]], "image": "d03672.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [537.5, 280], "scale": 0.8949000000000001, "joints": [[670, 352], [615, 311], [563, 267], [547, 288], [603, 325], [659, 360], [551, 275], [487, 225], [472, 215], [454, 187.00000000000003], [459, 285], [487, 250], [493, 213], [468, 234], [432, 252.99999999999997], [388, 236]], "image": "d03673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549.5, 269], "scale": 1.2249, "joints": [[664, 368], [619, 325], [570, 270], [542, 298], [604, 342], [656, 380], [555, 284], [508, 221.00000000000003], [501, 206], [496, 179], [481, 240], [509, 217], [526, 204], [488, 223], [438, 211], [434, 157]], "image": "d03674.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565.5, 266], "scale": 1.3949, "joints": [[656, 388], [616, 338], [572, 278], [544, 297], [599, 348], [649, 397.00000000000006], [558, 287], [530, 212], [532, 199], [536, 173], [548, 202], [568, 233], [556, 209.00000000000003], [506, 210.00000000000003], [474, 168], [507, 129]], "image": "d03675.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585, 285], "scale": 1.4649, "joints": [[644, 407], [603, 345], [574, 284], [547, 300], [589, 350], [628, 415.99999999999994], [556, 287], [547, 211], [554, 200], [563, 180], [599, 215], [590, 248], [577, 220.00000000000003], [528, 205], [525, 159], [578, 150]], "image": "d03676.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [586, 305.5], "scale": 1.3599, "joints": [[614, 420], [595, 351], [577, 287], [557, 292], [578, 353], [599, 417.00000000000006], [566, 288], [575, 211], [579, 200], [582, 182], [624, 249], [594, 268], [591, 223], [556, 195], [608, 182], [631, 200]], "image": "d03677.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598, 311.5], "scale": 1.3099, "joints": [[573, 415.99999999999994], [576, 359], [577, 292], [576, 291], [575, 360], [573, 420], [580, 288], [596, 220.00000000000003], [606, 207.99999999999997], [619, 175], [615, 286], [578, 273], [601, 224], [596, 204], [624, 217], [635, 248]], "image": "d03678.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 310], "scale": 1.2549000000000001, "joints": [[540, 415.99999999999994], [557, 356], [582, 285], [591, 294], [566, 356], [543, 413.99999999999994], [589, 293], [626, 228], [634, 220.00000000000003], [653, 192], [593, 282], [574, 248], [621, 225], [636, 225], [638, 259], [612, 277]], "image": "d03679.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592.5, 302.5], "scale": 0.9999000000000001, "joints": [[505, 383], [547, 331], [581, 281], [606, 293], [559, 343], [516, 392.99999999999994], [596, 282], [647, 236], [660, 229.99999999999997], [680, 214], [617, 248], [587, 237], [635, 218], [670, 249], [644, 283], [614, 263]], "image": "d03680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584.5, 292], "scale": 0.8049000000000001, "joints": [[483, 341], [544, 306], [593, 271], [609, 299], [552, 328], [491, 363], [601, 281], [666, 246], [681, 244], [705, 233], [614, 222], [636, 218.99999999999997], [659, 218.99999999999997], [678, 272], [640, 291], [627, 252]], "image": "d03681.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592, 272.5], "scale": 0.6199000000000001, "joints": [[483, 299], [545, 285], [604, 267], [600, 291], [546, 304], [480, 321], [606, 280], [680, 262], [698, 258], [721, 248], [674, 213], [640, 218], [682, 232.00000000000003], [684, 279], [635, 283], [639, 249]], "image": "d03682.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600, 263], "scale": 0.3949000000000001, "joints": [[488, 273], [553, 272], [610, 269], [608, 271], [547, 271], [493, 267], [613, 277], [687, 273], [704, 273], [724, 265], [693, 224], [670, 235], [691, 267], [691, 275], [648, 269], [651, 258]], "image": "d03683.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 270.5], "scale": 0.4699000000000001, "joints": [[504, 240], [565, 254.00000000000003], [617, 282], [616, 255.00000000000003], [567, 244], [505, 234], [618, 276], [695, 300], [711, 304], [730, 303], [-1, -1], [677, 305], [703, 314], [708, 282], [666, 256], [668, 278]], "image": "d03684.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [616.5, 269], "scale": 0.8049000000000001, "joints": [[515, 205], [573, 240.99999999999997], [624, 276], [641, 249], [581, 225], [527, 195], [635, 265], [693, 315], [704, 324], [719, 343], [660, 319], [664, 328], [685, 335], [717, 290], [699, 261], [670, 250]], "image": "d03685.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [630, 274.5], "scale": 1.1199000000000001, "joints": [[551, 188], [590, 225], [633, 275], [659, 251], [610, 213], [564, 172], [648, 265], [686, 328], [690, 342], [693, 364], [653, 383], [638, 345], [673, 343], [719, 311], [709, 272], [684, 246]], "image": "d03686.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [643, 275.5], "scale": 1.2699, "joints": [[573, 167], [611, 217], [647, 264], [671, 255.00000000000003], [630, 207.99999999999997], [590, 157], [664, 260], [686, 341], [680, 354], [667, 374.00000000000006], [601, 392.99999999999994], [632, 350], [667, 340], [709, 330], [709, 295], [712, 251]], "image": "d03687.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 266.5], "scale": 1.2499, "joints": [[608, 162], [636, 205], [669, 264], [685, 261], [657, 204], [623, 155], [679, 261], [670, 350], [660, 359], [639, 375], [562, 379], [616, 359], [659, 351], [686, 351], [703, 317], [724, 281]], "image": "d03688.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [642, 253.5], "scale": 1.1099, "joints": [[637, 156], [667, 213], [696, 275], [706, 274], [678, 207.99999999999997], [651, 156], [702, 277], [653, 340], [641, 347], [621, 359], [564, 353], [617, 349], [652, 349], [685, 333], [708, 325], [732, 314]], "image": "d03689.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [654, 244], "scale": 1.0349000000000002, "joints": [[680, 165], [693, 228], [712, 299], [713, 295], [699, 224], [684, 160], [710, 299], [651, 323], [638, 325], [598, 317], [588, 339], [613, 333], [638, 330], [660, 332], [680, 332], [704, 337]], "image": "d03690.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670, 253.5], "scale": 0.9799000000000001, "joints": [[723, 174], [717, 246], [714, 320], [716, 320], [721, 245], [724, 173], [711, 322], [655, 310], [639, 304], [623, 279], [647, 316], [643, 313], [637, 313], [640, 325], [656, 333], [672, 343]], "image": "d03691.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [729, 306.5], "scale": 0.5999000000000001, "joints": [[824, 314], [758, 331], [685, 346], [689, 341], [760, 331], [826, 312], [688, 343], [680, 290], [687, 277], [709, 254.00000000000003], [654, 296], [670, 283], [680, 273], [677, 269], [655, 284], [630, 296]], "image": "d03692.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [732.5, 317.5], "scale": 0.6199000000000001, "joints": [[813, 374.00000000000006], [741, 363], [679, 343], [684, 340], [743, 360], [814, 370.99999999999994], [679, 343], [694, 283], [708, 276], [734, 260], [661, 297], [674, 281], [690, 274], [692, 270], [669, 278], [636, 282]], "image": "d03693.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [726, 354.5], "scale": 0.8599000000000001, "joints": [[786, 428], [723, 383], [674, 342], [676, 340], [727, 383], [788, 426], [677, 337], [716, 288], [730, 289], [752, 287], [671, 303], [689, 282], [716, 279], [716, 279], [687, 276], [652, 283]], "image": "d03694.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [628.5, 362.5], "scale": 0.5799000000000001, "joints": [[512, 389], [580, 384], [654, 380], [650, 398], [589, 397.00000000000006], [508, 413.99999999999994], [654, 385], [737, 366], [758, 363], [784, 361], [737, 314], [706, 314], [739, 339], [742, 386], [685, 386], [690, 352]], "image": "d03695.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 377.5], "scale": 0.4499000000000001, "joints": [[517, 370.99999999999994], [594, 373.00000000000006], [660, 403], [647, 388], [585, 373.00000000000006], [511, 367], [652, 393.99999999999994], [744, 403], [767, 403], [785, 399], [754, 342], [725, 373.00000000000006], [753, 407], [740, 390], [692, 373.00000000000006], [701, 368]], "image": "d03696.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 393.5], "scale": 0.7699000000000001, "joints": [[523, 340], [588, 373.00000000000006], [646, 406], [648, 373.00000000000006], [585, 354], [520, 333], [651, 397.00000000000006], [733, 441.00000000000006], [748, 451], [774, 458], [770, 393.99999999999994], [762, 424], [731, 456], [746, 406], [710, 373.00000000000006], [702, 395.00000000000006]], "image": "d03697.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [643, 411], "scale": 1.3149000000000002, "joints": [[552, 310], [597, 358], [647, 408], [678, 386], [618, 339], [568, 295], [669, 403], [718, 474], [722, 491], [716, 531], [676, 518], [664, 494], [692, 496], [752, 452], [741, 408], [707, 378]], "image": "d03698.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 418.5], "scale": 1.4299000000000002, "joints": [[568, 309], [614, 357], [654, 409], [682, 391.99999999999994], [634, 350], [588, 293], [671, 403], [708, 480], [713, 503.99999999999994], [702, 537], [652, 552], [642, 510], [684, 497], [747, 474], [739, 424], [720, 379]], "image": "d03699.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 423], "scale": 1.4049, "joints": [[603, 301], [643, 365], [686, 424], [698, 422], [660, 357], [624, 295], [693, 427], [679, 513], [668, 533], [642, 540], [549, 553], [619, 531], [660, 525], [699, 521], [719, 483.99999999999994], [745, 438.99999999999994]], "image": "d03700.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608, 315.5], "scale": 1.4399000000000002, "joints": [[636, 184.99999999999997], [719, 218], [669, 292], [660, 292], [715, 216], [630, 184.99999999999997], [663, 296], [561, 342], [538, 351], [491, 345], [535, 451], [555, 387], [565, 328], [552, 327], [545, 390], [521, 453]], "image": "d03701.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [653, 331], "scale": 0.9149, "joints": [[831, 387], [749, 336], [682, 285], [673, 304], [735, 355], [826, 401], [675, 295], [569, 267], [543, 264], [514, 250], [525, 379], [544, 328], [560, 258], [560, 273], [520, 321], [466, 355]], "image": "d03702.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [645, 317.5], "scale": 1.3599, "joints": [[820, 430], [743, 364], [684, 310], [656, 337], [728, 391], [809, 444], [664, 318], [588, 240], [574, 226], [558, 189], [560, 298], [594, 261], [602, 218], [562, 259], [505, 268], [469, 232.00000000000003]], "image": "d03703.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [665, 305.5], "scale": 1.6999000000000002, "joints": [[804, 458.99999999999994], [737, 381], [681, 317], [646, 347], [717, 409], [792, 471], [659, 331], [611, 247], [606, 227], [608, 187.00000000000003], [-1, -1], [660, 251], [639, 228], [578, 247], [528, 213], [545, 145]], "image": "d03704.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [684.5, 342.5], "scale": 1.8699000000000001, "joints": [[762, 502], [714, 417.00000000000006], [669, 336], [633, 355], [691, 428], [741, 513], [648, 344], [642, 248], [646, 235], [652, 207.99999999999997], [700, 248], [690, 295], [675, 254.00000000000003], [618, 235], [607, 179], [673, 160]], "image": "d03705.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [678.5, 356], "scale": 1.7949000000000002, "joints": [[734, 501], [701, 424], [669, 340], [633, 354], [683, 429], [715, 508.00000000000006], [649, 349], [648, 251], [657, 235], [663, 204], [716, 275], [688, 318], [683, 261], [627, 232.00000000000003], [642, 192], [702, 190]], "image": "d03706.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [676, 373.5], "scale": 1.7399, "joints": [[705, 512], [689, 429], [666, 349], [637, 355], [670, 436], [692, 520], [651, 352], [661, 260], [667, 245], [673, 211], [725, 306], [684, 330], [682, 268], [642, 228], [689, 206], [732, 227]], "image": "d03707.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686.5, 381], "scale": 1.6549, "joints": [[658, 525], [658, 444], [658, 358], [651, 357], [658, 448], [658, 527], [656, 356], [680, 263], [690, 255.00000000000003], [703, 220.00000000000003], [703, 357], [660, 337], [684, 288], [675, 244], [718, 263], [738, 300]], "image": "d03708.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [677, 382.5], "scale": 1.6099, "joints": [[631, 526], [642, 453], [654, 367], [661, 367], [646, 455], [633, 530], [658, 364], [700, 280], [708, 267], [719, 232.00000000000003], [683, 365], [645, 329], [690, 286], [704, 266], [726, 288], [723, 327]], "image": "d03709.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670.5, 395.5], "scale": 1.5199, "joints": [[609, 520], [625, 447], [648, 361], [673, 373.00000000000006], [643, 446], [614, 526], [664, 368], [707, 294], [717, 284], [734, 256], [675, 367], [640, 322], [693, 293], [717, 280], [730, 304], [716, 348]], "image": "d03710.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [663.5, 398], "scale": 1.4149, "joints": [[573, 519], [619, 431], [649, 366], [670, 372.00000000000006], [636, 436.99999999999994], [586, 522], [663, 369.99999999999994], [718, 301], [731, 288], [748, 265], [665, 347], [638, 314], [697, 289], [739, 311], [724, 360], [689, 347]], "image": "d03711.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658.5, 398.5], "scale": 1.2499, "joints": [[554, 493], [607, 426], [648, 364], [672, 380], [621, 442.00000000000006], [564, 509.00000000000006], [663, 373.00000000000006], [728, 312], [740, 304], [766, 284], [663, 329], [644, 311], [705, 293], [746, 329], [716, 374.00000000000006], [676, 341]], "image": "d03712.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650, 395.5], "scale": 1.0799, "joints": [[533, 475], [591, 419.00000000000006], [647, 359], [670, 392.99999999999994], [603, 443], [548, 491], [659, 374.00000000000006], [730, 323], [744, 314], [772, 296], [697, 317], [650, 306], [707, 291], [753, 345], [705, 383], [681, 337]], "image": "d03713.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [642, 395.5], "scale": 1.0399, "joints": [[524, 448], [579, 409], [644, 364], [665, 402], [598, 435], [525, 478], [655, 380], [734, 330], [751, 326], [780, 317], [712, 299], [666, 301], [725, 301], [752, 364], [701, 388], [683, 336]], "image": "d03714.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [638.5, 380], "scale": 0.8749000000000001, "joints": [[505, 434], [578, 404], [649, 365], [657, 403], [587, 431], [514, 458], [651, 382], [739, 340], [756, 338], [783, 331], [723, 296], [680, 299], [736, 310], [749, 373.00000000000006], [694, 389], [685, 336]], "image": "d03715.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [635, 369], "scale": 0.7249000000000001, "joints": [[508, 408], [581, 391.99999999999994], [648, 368.99999999999994], [649, 398], [581, 413], [503, 436], [651, 384], [741, 353], [759, 348], [788, 340], [724, 300], [695, 307], [742, 325], [745, 381], [689, 390], [686, 345]], "image": "d03716.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 368], "scale": 0.4549000000000001, "joints": [[504, 400], [573, 383], [653, 382], [647, 386], [572, 384], [503, 375], [647, 388], [740, 378], [758, 378], [792, 375], [741, 328], [716, 336], [738, 368], [736, 390], [683, 383], [695, 363]], "image": "d03717.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 391], "scale": 0.5649000000000001, "joints": [[525, 360], [593, 380], [652, 407], [646, 379], [590, 364], [518, 349], [653, 396.00000000000006], [741, 429], [757, 429], [788, 421], [-1, -1], [-1, -1], [736, 435], [747, 397.00000000000006], [702, 368.99999999999994], [690, 399]], "image": "d03718.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [637, 398.5], "scale": 0.9599000000000001, "joints": [[538, 334], [599, 373.00000000000006], [647, 411], [661, 373.00000000000006], [605, 353], [544, 320], [656, 397.00000000000006], [730, 454], [740, 462.00000000000006], [767, 482.99999999999994], [-1, -1], [688, 468], [713, 479], [755, 420], [735, 389], [710, 373.00000000000006]], "image": "d03719.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [642, 405], "scale": 1.1249, "joints": [[542, 319], [595, 363], [649, 412], [676, 380], [615, 345], [553, 308], [664, 395.00000000000006], [723, 458], [733, 477], [735, 505.99999999999994], [-1, -1], [681, 491], [707, 481], [752, 444], [741, 399], [700, 377]], "image": "d03720.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [651.5, 419], "scale": 1.4449, "joints": [[562, 299], [611, 357], [654, 410], [684, 392.99999999999994], [634, 348], [588, 296], [673, 405], [711, 487.00000000000006], [711, 503.99999999999994], [705, 542], [652, 552], [644, 511], [686, 495], [743, 481.99999999999994], [740, 421], [718, 377]], "image": "d03721.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [655.5, 420.5], "scale": 1.4799, "joints": [[580, 306], [623, 358], [663, 412], [690, 402], [646, 351], [599, 290], [677, 412], [707, 500], [702, 517], [687, 541], [604, 562], [641, 515], [685, 504.99999999999994], [730, 496], [734, 434], [730, 388]], "image": "d03722.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658, 417], "scale": 1.4449, "joints": [[590, 300], [631, 358], [670, 414.99999999999994], [693, 409], [651, 351], [616, 293], [683, 412], [694, 503], [683, 525], [656, 542], [581, 553], [636, 519], [677, 505.99999999999994], [718, 505.99999999999994], [730, 468], [742, 414.99999999999994]], "image": "d03723.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [647, 427], "scale": 1.3349000000000002, "joints": [[622, 312], [660, 375], [695, 436], [701, 434], [674, 368], [639, 302], [697, 436], [668, 522], [652, 535], [620, 553], [540, 545], [605, 532], [657, 529], [685, 529], [711, 501], [748, 466]], "image": "d03724.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [633, 421.5], "scale": 1.1999000000000002, "joints": [[651, 320], [678, 390], [708, 465], [712, 464.00000000000006], [688, 388], [660, 320], [708, 468], [642, 516], [623, 522], [594, 518], [546, 533], [596, 529], [637, 530], [672, 522], [706, 514], [733, 511]], "image": "d03725.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [640.5, 421], "scale": 1.1949, "joints": [[673, 327], [690, 400], [710, 479], [711, 477], [693, 396.00000000000006], [676, 323], [705, 481.99999999999994], [635, 512], [615, 512], [584, 508.00000000000006], [558, 526], [599, 526], [630, 523], [645, 522], [677, 521], [711, 523]], "image": "d03726.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 424], "scale": 1.0949, "joints": [[691, 341], [700, 410], [710, 496], [710, 496], [702, 410], [692, 340], [706, 498], [632, 503.99999999999994], [616, 504.99999999999994], [584, 495], [585, 523], [601, 514], [616, 514], [646, 523], [665, 517], [687, 524]], "image": "d03727.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641.5, 429], "scale": 1.0049000000000001, "joints": [[709, 356], [708, 436], [704, 510], [705, 509.00000000000006], [711, 436.99999999999994], [710, 356], [698, 510], [629, 504.99999999999994], [612, 496], [586, 471], [597, 513], [605, 509.00000000000006], [615, 508.00000000000006], [621, 497], [623, 483.99999999999994], [622, 475]], "image": "d03728.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [672.5, 451.5], "scale": 0.9299000000000001, "joints": [[743, 383], [715, 454], [682, 536], [684, 536], [718, 455], [745, 385], [677, 532], [627, 494], [618, 482.99999999999994], [614, 448], [614, 496], [616, 493], [616, 487.00000000000006], [618, 483.99999999999994], [622, 481], [626, 481]], "image": "d03729.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686.5, 464], "scale": 0.8749000000000001, "joints": [[758, 407], [716, 470], [668, 536], [671, 533], [719, 470], [760, 403], [665, 533], [625, 487.00000000000006], [619, 468], [626, 436], [613, 483.99999999999994], [616, 482.99999999999994], [616, 480], [618, 479], [621, 479], [624, 479]], "image": "d03730.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [422, 272], "scale": 1.0449000000000002, "joints": [[423, 366], [396, 308], [453, 295], [455, 296], [394, 308], [423, 367], [452, 291], [398, 246], [387, 233], [380, 211], [473, 199], [443, 224], [405, 232.00000000000003], [404, 236], [434, 211], [454, 170]], "image": "d03731.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [432, 287], "scale": 0.8849000000000001, "joints": [[423, 364], [392, 309], [453, 295], [457, 297], [394, 308], [424, 367], [453, 295], [403, 247], [385, 229.99999999999997], [382, 210.00000000000003], [474, 207], [449, 224], [412, 236], [410, 236], [451, 233], [487, 228]], "image": "d03732.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [442.5, 286.5], "scale": 0.9099, "joints": [[424, 364], [396, 307], [456, 293], [459, 294], [399, 306], [425, 364], [455, 290], [412, 244], [399, 227], [389, 200], [490, 251], [448, 249], [414, 238], [418, 238], [454, 254.00000000000003], [490, 273]], "image": "d03733.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [422.5, 267], "scale": 1.0349000000000002, "joints": [[425, 369.99999999999994], [412, 301], [472, 280], [472, 279], [411, 303], [424, 369.99999999999994], [473, 274], [452, 207.99999999999997], [452, 191], [456, 159], [375, 229.99999999999997], [413, 221.00000000000003], [448, 207.99999999999997], [445, 214], [410, 233], [372, 239]], "image": "d03734.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481.5, 204], "scale": 1.1349, "joints": [[396, 311], [411, 243.00000000000003], [467, 205], [468, 203], [413, 240], [397, 313], [471, 204], [540, 165], [557, 159], [574, 150], [562, 100], [549, 130], [548, 167], [546, 170], [543, 128], [558, 97]], "image": "d03735.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 142], "scale": 0.8249000000000001, "joints": [[482, 78], [492, 137], [503, 209.00000000000003], [499, 210.00000000000003], [489, 135], [480, 75], [506, 207.99999999999997], [565, 195], [582, 191], [613, 191], [487, 138], [520, 170], [567, 204], [563, 199], [519, 164], [492, 140]], "image": "d03736.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 150.5], "scale": 0.8199000000000001, "joints": [[553, 84], [523, 146], [499, 207], [500, 204], [525, 145], [552, 79], [505, 207], [551, 207.99999999999997], [576, 209.00000000000003], [605, 210.00000000000003], [519, 146], [536, 177], [563, 209.00000000000003], [557, 202], [529, 169], [504, 136]], "image": "d03737.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [575, 215.5], "scale": 0.5199000000000001, "joints": [[634, 177], [567, 180], [506, 188], [502, 187.00000000000003], [570, 184], [633, 174], [505, 193], [546, 225], [562, 238], [581, 255.00000000000003], [554, 169], [564, 180], [555, 226], [553, 222], [551, 183], [556, 173]], "image": "d03738.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 221], "scale": 0.5749000000000001, "joints": [[640, 235], [581, 205], [523, 183], [522, 184], [583, 207], [643, 235], [522, 190], [544, 235], [553, 252.99999999999997], [560, 278], [580, 191], [577, 183], [557, 234], [551, 237], [574, 195], [582, 190]], "image": "d03739.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570.5, 235], "scale": 0.6649, "joints": [[624, 288], [584, 229], [548, 178], [548, 178], [585, 232.00000000000003], [623, 289], [543, 181], [535, 234], [534, 250], [534, 280], [586, 222], [591, 213], [546, 230.99999999999997], [541, 243.00000000000003], [581, 221.00000000000003], [589, 215]], "image": "d03740.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 252], "scale": 0.7949, "joints": [[589, 319], [579, 252.99999999999997], [571, 184], [569, 184.99999999999997], [579, 256], [586, 322], [566, 185.99999999999997], [531, 229.99999999999997], [525, 243.00000000000003], [508, 270], [589, 240], [590, 234], [542, 230.99999999999997], [536, 239], [585, 241.99999999999997], [590, 239]], "image": "d03741.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554, 261], "scale": 0.7649000000000001, "joints": [[541, 328], [566, 263], [593, 206], [590, 204], [567, 264], [541, 330], [587, 203], [531, 224], [518, 236], [493, 243.00000000000003], [579, 265], [583, 254.00000000000003], [539, 229], [534, 234], [572, 255.00000000000003], [580, 263]], "image": "d03742.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 254.5], "scale": 0.6399000000000001, "joints": [[494, 311], [554, 270], [602, 228], [604, 230.99999999999997], [551, 269], [491, 312], [601, 225], [547, 217], [526, 220.00000000000003], [498, 217], [564, 265], [563, 252.99999999999997], [542, 216], [539, 228], [563, 269], [569, 267]], "image": "d03743.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 234], "scale": 0.4549000000000001, "joints": [[470, 268], [541, 264], [602, 252], [602, 252], [538, 263], [471, 269], [604, 251], [554, 217], [543, 212], [517, 194], [554, 268], [558, 262], [549, 213], [546, 218.99999999999997], [548, 265], [551, 274]], "image": "d03744.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530.5, 230], "scale": 0.5949000000000001, "joints": [[468, 223], [535, 248], [595, 268], [595, 270], [537, 251], [470, 222], [598, 266], [569, 217], [557, 204], [549, 182], [545, 260], [551, 249], [558, 212], [561, 215], [542, 251], [539, 263]], "image": "d03745.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [547.5, 227.5], "scale": 0.6699, "joints": [[492, 172], [538, 232.00000000000003], [579, 279], [580, 283], [538, 233], [491, 172], [583, 278], [583, 217], [583, 204], [585, 177], [539, 238], [544, 237], [583, 216], [575, 218.99999999999997], [536, 245], [538, 239]], "image": "d03746.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 203], "scale": 0.7949, "joints": [[580, 145], [561, 200], [545, 262], [542, 263], [562, 200], [580, 141], [550, 265], [596, 235], [608, 228], [633, 216], [546, 204], [552, 198.00000000000003], [600, 229.99999999999997], [595, 227], [549, 209.00000000000003], [544, 196.99999999999997]], "image": "d03747.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580, 206.5], "scale": 0.6499000000000001, "joints": [[632, 152], [587, 184.99999999999997], [537, 237], [535, 240.99999999999997], [583, 191], [633, 150], [541, 244], [593, 241.99999999999997], [609, 244], [632, 240.99999999999997], [562, 187.00000000000003], [566, 200], [594, 240], [597, 234], [573, 202], [569, 189]], "image": "d03748.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [595.5, 221.5], "scale": 0.5299, "joints": [[661, 181], [599, 191], [531, 209.00000000000003], [532, 214], [600, 193], [664, 184.99999999999997], [533, 217], [587, 245], [600, 252.99999999999997], [620, 269], [579, 182], [585, 187.00000000000003], [580, 238], [593, 243.00000000000003], [583, 193], [583, 181]], "image": "d03749.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607.5, 223], "scale": 0.5749000000000001, "joints": [[670, 211], [616, 195.99999999999997], [539, 189], [538, 189], [614, 200], [671, 216], [537, 193], [573, 240.99999999999997], [584, 259], [584, 281], [605, 181], [599, 176], [576, 228], [582, 240], [600, 185.99999999999997], [605, 174]], "image": "d03750.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600.5, 211], "scale": 0.6249000000000001, "joints": [[663, 244], [605, 200], [559, 167], [556, 168], [604, 200], [662, 247], [554, 169], [556, 229], [557, 247], [545, 276], [620, 179], [588, 192], [561, 226], [560, 233], [591, 199], [621, 183]], "image": "d03751.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [583, 210], "scale": 0.7049000000000001, "joints": [[644, 270], [610, 207], [581, 155], [580, 157], [613, 209.00000000000003], [645, 269], [577, 157], [541, 212], [533, 228], [509, 245], [628, 190], [584, 195.99999999999997], [550, 210.00000000000003], [547, 221.00000000000003], [584, 200], [629, 193]], "image": "d03752.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561.5, 219], "scale": 0.8149000000000001, "joints": [[622, 287], [609, 220.00000000000003], [600, 156], [596, 155], [610, 220.00000000000003], [622, 286], [593, 153], [533, 189], [516, 201], [497, 200], [617, 199], [572, 192], [536, 194], [534, 196.99999999999997], [578, 195.99999999999997], [613, 205]], "image": "d03753.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 222], "scale": 0.8449000000000001, "joints": [[596, 292], [603, 229], [608, 158], [612, 161], [606, 232.00000000000003], [594, 294], [606, 159], [538, 159], [518, 165], [496, 156], [606, 185.99999999999997], [561, 173], [534, 165], [537, 172], [568, 184.99999999999997], [600, 209.00000000000003]], "image": "d03754.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 209], "scale": 0.9249, "joints": [[564, 292], [594, 229], [619, 166], [614, 167], [596, 230.99999999999997], [566, 289], [614, 164], [550, 139], [529, 137], [507, 128], [597, 191], [576, 157], [550, 130], [553, 146], [569, 172], [593, 211]], "image": "d03755.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [418, 243], "scale": 0.8649000000000001, "joints": [[481, 318], [448, 255.00000000000003], [465, 182], [468, 182], [446, 256], [473, 325], [463, 180], [391, 182], [371, 183], [349, 172], [408, 281], [400, 222], [390, 183], [383, 188], [394, 230.99999999999997], [398, 278]], "image": "d03756.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [438.5, 225.5], "scale": 0.7099000000000001, "joints": [[515, 283], [448, 245], [465, 173], [465, 178], [445, 246], [513, 290], [462, 174], [403, 207], [389, 214], [360, 210.00000000000003], [465, 249], [431, 223], [400, 212], [400, 216], [433, 240], [454, 269]], "image": "d03757.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [463.5, 218], "scale": 0.5549000000000001, "joints": [[536, 239], [458, 247], [459, 175], [458, 174], [460, 247], [536, 235], [452, 176], [424, 229], [415, 243.00000000000003], [393, 260], [505, 237], [458, 228], [417, 232.00000000000003], [417, 236], [461, 233], [504, 240]], "image": "d03758.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [471, 233], "scale": 0.6849000000000001, "joints": [[520, 183], [483, 246], [451, 187.00000000000003], [449, 188], [483, 245], [523, 182], [447, 192], [442, 248], [441, 265], [431, 292], [514, 215], [473, 220.00000000000003], [450, 250], [445, 252.99999999999997], [475, 224], [512, 210.00000000000003]], "image": "d03759.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472, 230], "scale": 0.8349000000000001, "joints": [[493, 166], [508, 232.00000000000003], [445, 204], [445, 207], [507, 233], [489, 163], [444, 211], [473, 266], [480, 281], [485, 310], [507, 196.99999999999997], [476, 234], [477, 268], [474, 267], [470, 227], [504, 191]], "image": "d03760.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489.5, 231], "scale": 0.7249000000000001, "joints": [[461, 175], [513, 221.00000000000003], [448, 229.99999999999997], [446, 232.00000000000003], [514, 218.99999999999997], [466, 175], [447, 236], [500, 273], [515, 281], [536, 300], [486, 191], [484, 239], [507, 275], [502, 270], [480, 240], [482, 189]], "image": "d03761.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [494.5, 243], "scale": 0.4749000000000001, "joints": [[431, 207.99999999999997], [501, 217], [461, 258], [458, 257], [502, 216], [430, 204], [464, 260], [523, 266], [542, 264], [567, 269], [471, 211], [490, 252.99999999999997], [529, 273], [523, 265], [486, 252], [463, 212]], "image": "d03762.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [492.5, 263], "scale": 0.4749000000000001, "joints": [[428, 260], [489, 230.99999999999997], [481, 291], [478, 294], [487, 228], [423, 259], [482, 292], [528, 258], [544, 244], [561, 230.99999999999997], [455, 239], [491, 262], [535, 254.00000000000003], [532, 257], [487, 267], [455, 243.00000000000003]], "image": "d03763.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [488.5, 269], "scale": 0.6749, "joints": [[444, 324], [478, 260], [498, 311], [500, 314], [476, 259], [441, 326], [504, 313], [522, 248], [523, 227], [539, 209.00000000000003], [455, 284], [502, 280], [523, 247], [524, 258], [499, 285], [455, 285]], "image": "d03764.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [503, 305.5], "scale": 0.8299000000000001, "joints": [[476, 369.99999999999994], [473, 293], [523, 327], [527, 331], [474, 295], [477, 370.99999999999994], [527, 328], [505, 267], [495, 254.00000000000003], [485, 229], [472, 324], [500, 298], [504, 262], [507, 265], [504, 303], [473, 327]], "image": "d03765.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [502.5, 335.5], "scale": 0.7199000000000001, "joints": [[531, 392.99999999999994], [481, 334], [545, 332], [548, 332], [480, 333], [529, 391.99999999999994], [548, 328], [481, 290], [464, 286], [444, 276], [501, 364], [501, 318], [487, 284], [486, 285], [505, 321], [503, 365]], "image": "d03766.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [515.5, 352.5], "scale": 0.3899000000000001, "joints": [[573, 389], [500, 370.99999999999994], [547, 330], [547, 331], [500, 368.99999999999994], [ \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/train_all.json.amltmp b/deep-high-resolution-net.pytorch/data/mpii/annot/train_all.json.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..f5816c2e9e006fe6c4ce580e2c133e0c3a716db0 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/train_all.json.amltmp @@ -0,0 +1 @@ +[{"center": [573, 188], "scale": 0.7249000000000001, "joints": [[656, 140], [563, 145], [605, 233], [606, 233], [561, 146], [656, 135], [604, 232.00000000000003], [500, 204], [484, 202], [455, 203], [601, 136], [565, 173], [512, 199], [512, 200], [556, 193], [599, 131]], "image": "d03070.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631.5, 419.5], "scale": 2.6899, "joints": [[547, 668], [616, 553], [573, 437.99999999999994], [579, 432], [619, 553], [548, 671], [577, 435], [673, 275], [677, 260], [670, 228], [688, 153], [733, 229.99999999999997], [664, 276], [666, 279], [729, 226], [682, 156]], "image": "d03071.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [659, 433], "scale": 2.4349000000000003, "joints": [[522, 650], [578, 524], [543, 402], [544, 400], [577, 527], [518, 652], [547, 399], [684, 277], [689, 267], [704, 228], [808, 198.00000000000003], [743, 274], [677, 283], [682, 280], [748, 264], [802, 188]], "image": "d03072.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669.5, 452], "scale": 2.2749, "joints": [[514, 648], [543, 513], [530, 381], [532, 378], [547, 509.00000000000006], [517, 647], [533, 375], [687, 276], [699, 265], [710, 233], [822, 256], [739, 284], [683, 278], [686, 276], [741, 280], [819, 244]], "image": "d03073.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 412], "scale": 1.6149, "joints": [[421, 562], [482, 419.00000000000006], [502, 298], [509, 298], [488, 420], [412, 537], [511, 298], [676, 304], [692, 302], [733, 259], [723, 462.00000000000006], [692, 384], [679, 316], [679, 319], [702, 378], [745, 448]], "image": "d03074.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538.5, 378.5], "scale": 1.4199000000000002, "joints": [[364, 488], [467, 385], [504, 264], [508, 266], [471, 387], [370, 491], [508, 267], [652, 335], [667, 341], [722, 314], [591, 485.00000000000006], [612, 407], [649, 342], [653, 348], [626, 413], [618, 494]], "image": "d03075.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467, 347.5], "scale": 1.1999000000000002, "joints": [[306, 389], [447, 349], [526, 260], [530, 266], [447, 362], [314, 409], [528, 264], [585, 400], [607, 420], [649, 452], [434, 426], [498, 406], [570, 404], [577, 408], [502, 405], [431, 422]], "image": "d03076.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453.5, 426.5], "scale": 1.4799, "joints": [[325, 291], [445, 373.00000000000006], [572, 364], [574, 366], [445, 372.00000000000006], [327, 290], [573, 376], [481, 481.99999999999994], [472, 499], [457, 562], [434, 303], [456, 379], [474, 474], [476, 466], [473, 386], [442, 305]], "image": "d03077.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [478, 405], "scale": 1.5349000000000002, "joints": [[414, 263], [466, 393.99999999999994], [571, 457], [573, 457], [469, 390], [412, 262], [573, 460.99999999999994], [441, 507.00000000000006], [412, 517], [379, 551], [476, 337], [474, 410], [441, 488], [450, 477], [479, 408], [474, 328]], "image": "d03078.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [464.5, 468], "scale": 1.3549, "joints": [[587, 343], [515, 442.00000000000006], [495, 575], [498, 576], [519, 437.99999999999994], [591, 343], [494, 575], [401, 474], [382, 457], [326, 437.99999999999994], [562, 436.99999999999994], [496, 472], [423, 473], [421, 476], [497, 471], [565, 436.99999999999994]], "image": "d03079.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489, 488.5], "scale": 1.2499, "joints": [[618, 379], [527, 462.00000000000006], [474, 585], [477, 585], [527, 460.99999999999994], [622, 375], [469, 583], [421, 463.00000000000006], [403, 437.99999999999994], [358, 404], [571, 471], [501, 488], [425, 465], [427, 465], [506, 474], [580, 460.99999999999994]], "image": "d03080.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 485.5], "scale": 1.2699, "joints": [[657, 480], [527, 508.00000000000006], [422, 582], [424, 583], [526, 507.00000000000006], [657, 474], [420, 579], [436, 447], [441, 421], [424, 374.00000000000006], [567, 524], [502, 520], [453, 460.99999999999994], [455, 455], [504, 503.99999999999994], [568, 530]], "image": "d03081.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [518.5, 483.5], "scale": 1.1699000000000002, "joints": [[662, 538], [526, 525], [396, 568], [397, 567], [525, 521], [663, 532], [396, 561], [454, 445], [466, 417.00000000000006], [473, 368], [548, 558], [486, 529], [459, 453], [463, 458], [497, 504.99999999999994], [553, 556]], "image": "d03082.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [507, 485.5], "scale": 1.0499, "joints": [[645, 577], [516, 534], [384, 534], [385, 533], [518, 535], [649, 575], [387, 528], [470, 454], [493, 428], [530, 387], [529, 578], [476, 537], [473, 458], [483, 455], [499, 514], [530, 578]], "image": "d03083.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [500, 507.5], "scale": 1.2199, "joints": [[625, 614], [502, 549], [373, 510], [375, 509.00000000000006], [505, 548], [632, 611], [377, 503.99999999999994], [484, 454], [512, 436.99999999999994], [549, 389], [502, 594], [469, 534], [487, 463.00000000000006], [498, 464.00000000000006], [495, 530], [506, 594]], "image": "d03084.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475.5, 545], "scale": 1.4649, "joints": [[541, 673], [472, 558], [392, 453], [392, 452], [473, 558], [547, 671], [392, 452], [503, 462.00000000000006], [535, 470], [598, 455], [455, 593], [444, 525], [506, 476], [510, 485.00000000000006], [479, 529], [449, 591]], "image": "d03085.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481, 538.5], "scale": 1.5599, "joints": [[483, 678], [452, 537], [404, 423], [409, 427], [452, 535], [493, 681], [411, 423], [505, 470], [530, 478], [596, 485.00000000000006], [425, 575], [430, 513], [499, 482.99999999999994], [506, 490], [460, 520], [429, 579]], "image": "d03086.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467, 506], "scale": 1.5849000000000002, "joints": [[396, 638], [420, 503.99999999999994], [453, 374.00000000000006], [456, 377], [421, 503.99999999999994], [393, 637], [459, 378], [503, 480], [519, 505.99999999999994], [566, 552], [376, 504.99999999999994], [431, 471], [495, 485.00000000000006], [499, 486.00000000000006], [434, 460.99999999999994], [379, 501]], "image": "d03087.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [438, 474], "scale": 1.4149, "joints": [[337, 601], [407, 475], [480, 364], [475, 366], [407, 479], [335, 594], [484, 367], [492, 471], [495, 497], [510, 554], [370, 463.00000000000006], [433, 447], [490, 481], [489, 479], [438, 444], [370, 463.00000000000006]], "image": "d03088.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [436.5, 478], "scale": 1.3849, "joints": [[339, 601], [404, 480], [474, 364], [480, 364], [405, 481.99999999999994], [336, 599], [483, 367], [494, 466], [498, 499], [514, 559], [368, 468], [426, 449], [489, 483.99999999999994], [483, 478], [432, 443], [376, 451]], "image": "d03089.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [422.5, 440.5], "scale": 1.1699000000000002, "joints": [[301, 526], [396, 451], [503, 348], [503, 349], [397, 452], [304, 542], [505, 353], [483, 469], [480, 492], [490, 551], [370, 426], [437, 426], [476, 470], [478, 469], [439, 415.99999999999994], [377, 415.99999999999994]], "image": "d03090.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [421.5, 424.5], "scale": 1.1199000000000001, "joints": [[287, 469], [418, 402], [529, 353], [530, 351], [421, 408], [291, 482.99999999999994], [531, 360], [476, 458.99999999999994], [466, 479], [435, 527], [379, 385], [437, 397.00000000000006], [463, 458], [474, 437.99999999999994], [432, 400], [379, 372.00000000000006]], "image": "d03091.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [417, 407.5], "scale": 0.9699000000000001, "joints": [[285, 374.00000000000006], [419, 374.00000000000006], [550, 350], [552, 351], [420, 385], [279, 411], [552, 359], [455, 440.00000000000006], [431, 457], [415, 501], [391, 339], [448, 367], [449, 433], [456, 428], [445, 365], [399, 334]], "image": "d03092.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [427, 375.5], "scale": 0.8399000000000001, "joints": [[291, 317], [421, 343], [563, 365], [564, 365], [425, 345], [294, 333], [561, 369.99999999999994], [445, 420], [414, 429], [377, 442.00000000000006], [421, 296], [455, 330], [443, 413], [432, 405], [429, 341], [417, 297]], "image": "d03093.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424, 378], "scale": 0.8449000000000001, "joints": [[293, 316], [427, 342], [554, 358], [559, 358], [430, 345], [291, 327], [557, 368], [443, 419.00000000000006], [415, 432], [382, 438.99999999999994], [421, 295], [455, 341], [447, 403], [438, 403], [431, 336], [418, 293]], "image": "d03094.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [447, 341], "scale": 1.0349000000000002, "joints": [[316, 261], [442, 310], [563, 369.99999999999994], [566, 369.99999999999994], [439, 307], [323, 252.99999999999997], [558, 378], [433, 381], [411, 385], [363, 399], [456, 266], [474, 317], [444, 381], [430, 374.00000000000006], [441, 319], [449, 266]], "image": "d03095.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [470, 302.5], "scale": 1.3199, "joints": [[358, 200], [463, 291], [561, 379], [556, 376], [467, 282], [378, 188], [554, 380], [436, 360], [414, 355], [369, 356], [485, 247], [494, 294], [442, 353], [434, 342], [453, 285], [484, 238]], "image": "d03096.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [480.5, 271], "scale": 1.5049000000000001, "joints": [[414, 151], [490, 278], [548, 388], [551, 383], [492, 271], [431, 148], [547, 384], [441, 326], [418, 315], [377, 293], [511, 243.00000000000003], [516, 288], [446, 317], [441, 308], [465, 263], [519, 229.99999999999997]], "image": "d03097.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [487.5, 251.5], "scale": 1.5999, "joints": [[467, 128], [505, 262], [534, 382], [535, 381], [514, 259], [487, 120], [531, 380], [445, 293], [432, 270], [400, 240], [545, 228], [531, 276], [452, 288], [443, 281], [488, 244], [550, 224]], "image": "d03098.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [479.5, 250.5], "scale": 1.5699, "joints": [[467, 122.00000000000001], [498, 257], [535, 385], [539, 383], [505, 254.00000000000003], [482, 122.00000000000001], [534, 384], [446, 290], [427, 267], [391, 249], [541, 227], [529, 277], [452, 290], [446, 280], [488, 244], [548, 223]], "image": "d03099.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [484, 248.5], "scale": 1.5799, "joints": [[538, 116.00000000000001], [519, 249], [515, 374.00000000000006], [517, 372.00000000000006], [522, 247], [548, 115], [509, 374.00000000000006], [457, 255.00000000000003], [448, 230.99999999999997], [419, 185.99999999999997], [565, 226], [535, 269], [464, 255.00000000000003], [458, 248], [505, 225], [573, 220.00000000000003]], "image": "d03100.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517, 237], "scale": 1.5049000000000001, "joints": [[595, 109], [533, 238], [492, 362], [493, 359], [539, 239], [608, 113], [487, 359], [475, 228], [476, 203], [464, 164], [588, 228], [547, 266], [463, 230.99999999999997], [473, 220.00000000000003], [542, 217], [595, 229]], "image": "d03101.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536.5, 226], "scale": 1.3649, "joints": [[640, 126.99999999999999], [541, 230.99999999999997], [471, 334], [470, 331], [550, 230.99999999999997], [656, 134], [467, 329], [481, 207], [491, 181], [499, 129], [599, 234], [553, 262], [485, 207.99999999999997], [493, 204], [546, 202], [606, 240.99999999999997]], "image": "d03102.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [550, 227], "scale": 1.0849000000000002, "joints": [[670, 165], [551, 224], [450, 301], [450, 298], [550, 226], [680, 170], [446, 298], [507, 181], [521, 167], [543, 109.99999999999999], [604, 243.00000000000003], [552, 260], [516, 195], [533, 184.99999999999997], [569, 202], [601, 252.99999999999997]], "image": "d03103.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554, 227.5], "scale": 1.1099, "joints": [[671, 164], [547, 228], [451, 297], [454, 297], [552, 228], [686, 172], [449, 296], [498, 182], [522, 165], [541, 116.00000000000001], [597, 246], [558, 260], [512, 195.99999999999997], [527, 184], [574, 203], [602, 257]], "image": "d03104.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 210], "scale": 0.9449000000000001, "joints": [[691, 206], [560, 223], [439, 263], [440, 261], [564, 222], [694, 214], [438, 259], [521, 175], [547, 159], [584, 103.99999999999999], [604, 246], [549, 254.00000000000003], [535, 183], [541, 172], [579, 205], [597, 266]], "image": "d03105.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [558, 181.5], "scale": 0.7499000000000001, "joints": [[698, 241.99999999999997], [555, 224], [424, 226], [429, 223], [562, 223], [702, 244], [432, 218.99999999999997], [531, 163], [552, 155], [605, 115], [588, 257], [536, 244], [542, 169], [556, 168], [577, 207.99999999999997], [576, 269]], "image": "d03106.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 194], "scale": 0.9949000000000001, "joints": [[681, 281], [553, 221.00000000000003], [431, 177], [435, 174], [558, 221.00000000000003], [687, 283], [436, 173], [544, 152], [569, 153], [634, 130], [576, 260], [524, 234], [554, 168], [562, 183], [572, 214], [553, 271]], "image": "d03107.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 195], "scale": 1.3049000000000002, "joints": [[641, 306], [546, 213], [440, 132], [445, 133], [545, 210.00000000000003], [644, 312], [449, 128], [555, 149], [581, 159], [646, 151], [546, 262], [513, 223], [555, 159], [565, 164], [555, 221.00000000000003], [528, 264]], "image": "d03108.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 197], "scale": 1.2349, "joints": [[649, 307], [546, 214], [443, 129], [446, 130], [547, 217], [645, 315], [451, 126], [556, 148], [586, 158], [634, 157], [548, 255.00000000000003], [510, 224], [558, 162], [565, 175], [556, 222], [524, 263]], "image": "d03109.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532, 193], "scale": 1.4949000000000001, "joints": [[603, 328], [528, 203], [463, 88], [466, 88], [529, 205], [609, 330], [471, 88], [558, 142], [585, 166], [639, 188], [523, 245], [496, 202], [560, 153], [562, 163], [537, 192], [509, 246]], "image": "d03110.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 162], "scale": 1.5249000000000001, "joints": [[477, 299], [497, 169], [517, 33], [519, 33], [501, 175], [487, 307], [522, 38], [554, 134], [553, 163], [590, 209.00000000000003], [455, 176], [475, 148], [556, 150], [546, 147], [491, 176], [456, 183]], "image": "d03111.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559, 284.5], "scale": 1.3399, "joints": [[386, 275], [521, 217], [625, 181], [622, 176], [520, 212], [385, 272], [626, 180], [689, 306], [706, 324], [724, 342], [592, 399], [649, 358], [692, 314], [684, 306], [637, 338], [589, 389]], "image": "d03112.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 306.5], "scale": 1.4599000000000002, "joints": [[373, 248], [528, 217], [637, 202], [640, 201], [525, 213], [371, 240.99999999999997], [645, 206], [691, 342], [699, 357], [728, 379], [611, 440.00000000000006], [656, 392.99999999999994], [693, 351], [685, 339], [631, 379], [603, 430]], "image": "d03113.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551, 351], "scale": 1.9149, "joints": [[393, 181], [534, 216], [647, 258], [651, 257], [533, 212], [395, 179], [650, 265], [671, 382], [671, 406], [703, 453], [641, 542], [675, 462.00000000000006], [690, 403], [666, 399], [651, 454], [636, 535]], "image": "d03114.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [415, 316], "scale": 0.8949000000000001, "joints": [[414, 400], [384, 332], [446, 305], [449, 305], [384, 332], [412, 401], [446, 305], [397, 258], [380, 250], [364, 230.99999999999997], [457, 350], [425, 300], [398, 250], [403, 256], [428, 290], [475, 340]], "image": "d03115.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [418.5, 308.5], "scale": 1.0199, "joints": [[407, 400], [384, 329], [450, 299], [451, 300], [385, 330], [408, 398], [452, 298], [414, 249], [398, 236], [386, 212], [379, 346], [403, 297], [414, 246], [415, 252.99999999999997], [407, 298], [379, 347]], "image": "d03116.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [403.5, 300], "scale": 1.0749000000000002, "joints": [[411, 399], [392, 329], [455, 299], [457, 300], [391, 331], [410, 401], [455, 297], [426, 240.99999999999997], [417, 223], [415, 194], [338, 272], [389, 261], [421, 240], [420, 243.00000000000003], [386, 270], [343, 282]], "image": "d03117.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [411.5, 283.5], "scale": 1.2199, "joints": [[411, 398], [397, 324], [454, 296], [457, 298], [396, 326], [408, 398], [457, 294], [437, 229.99999999999997], [433, 213], [443, 184.99999999999997], [356, 173], [388, 199], [433, 218.99999999999997], [433, 224], [380, 214], [343, 184.99999999999997]], "image": "d03118.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [433.5, 264], "scale": 1.4349, "joints": [[408, 398], [392, 322], [454, 289], [458, 290], [392, 325], [407, 397.00000000000006], [457, 287], [445, 214], [446, 194], [466, 176], [419, 124], [434, 161], [453, 203], [446, 206], [407, 174], [386, 140]], "image": "d03119.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [479, 249.5], "scale": 1.2599, "joints": [[391, 358], [390, 287], [423, 233], [444, 239], [406, 286], [396, 355], [433, 236], [503, 194], [516, 187.00000000000003], [543, 175], [584, 174], [555, 211], [523, 199], [504, 162], [522, 126], [565, 144]], "image": "d03120.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [468, 249], "scale": 1.3949, "joints": [[400, 379], [398, 305], [447, 261], [435, 259], [390, 301], [397, 381], [443, 258], [490, 191], [498, 177], [514, 152], [552, 125], [544, 177], [506, 191], [479, 173], [483, 126.99999999999999], [540, 114]], "image": "d03121.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [476, 243.5], "scale": 1.0399, "joints": [[380, 344], [408, 269], [449, 222], [431, 209.00000000000003], [392, 257], [380, 325], [442, 215], [515, 190], [529, 192], [553, 199], [577, 234], [527, 254.00000000000003], [523, 217], [522, 166], [548, 147], [567, 181]], "image": "d03122.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [454.5, 243.5], "scale": 0.7599000000000001, "joints": [[370, 302], [417, 243.00000000000003], [462, 212], [443, 190], [399, 226], [358, 283], [453, 201], [532, 196.99999999999997], [537, 202], [558, 213], [526, 276], [492, 258], [522, 223], [546, 175], [555, 167], [555, 194]], "image": "d03123.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [447.5, 224], "scale": 0.5749000000000001, "joints": [[340, 264], [404, 236], [470, 209.00000000000003], [462, 179], [403, 209.00000000000003], [333, 238], [471, 193], [540, 202], [548, 206], [567, 227], [474, 279], [474, 234], [516, 229.99999999999997], [561, 193], [545, 200], [535, 221.00000000000003]], "image": "d03124.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453, 218], "scale": 0.3949000000000001, "joints": [[335, 206], [408, 212], [469, 202], [478, 185.99999999999997], [416, 195], [347, 189], [477, 193], [546, 216], [556, 225], [579, 240], [454, 238], [479, 207.99999999999997], [527, 223], [561, 210.00000000000003], [546, 201], [512, 233]], "image": "d03125.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [471, 208.5], "scale": 0.6699, "joints": [[371, 152], [429, 184.99999999999997], [487, 200], [489, 203], [429, 187.00000000000003], [371, 151], [492, 209.00000000000003], [540, 236], [554, 247], [582, 259], [471, 213], [504, 195], [536, 227], [555, 244], [527, 246], [522, 236]], "image": "d03126.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [483, 204], "scale": 0.9249, "joints": [[396, 117], [446, 165], [489, 191], [483, 216], [436, 175], [407, 124], [488, 203], [538, 259], [546, 269], [571, 284], [503, 203], [538, 215], [552, 250], [532, 281], [491, 255.00000000000003], [506, 227]], "image": "d03127.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [504, 209], "scale": 1.0849000000000002, "joints": [[440, 102], [477, 155], [508, 195.99999999999997], [482, 216], [456, 167], [439, 120.99999999999999], [495, 206], [538, 274], [546, 287], [559, 310], [573, 251], [557, 216], [559, 254.00000000000003], [509, 286], [483, 249], [522, 225]], "image": "d03128.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522, 211], "scale": 1.2449000000000001, "joints": [[484, 102], [504, 159], [521, 207.99999999999997], [489, 216], [476, 160], [461, 106], [506, 214], [529, 283], [532, 297], [541, 327], [577, 277], [579, 245], [557, 284], [500, 286], [494, 243.00000000000003], [540, 233]], "image": "d03129.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [531, 218.5], "scale": 1.3599, "joints": [[518, 98], [521, 158], [526, 217], [507, 213], [514, 156], [511, 99.00000000000001], [516, 216], [520, 290], [520, 311], [517, 344], [572, 294], [570, 278], [536, 304], [508, 296], [518, 249], [555, 243.00000000000003]], "image": "d03130.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489, 367], "scale": 1.0749000000000002, "joints": [[397, 292], [524, 358], [421, 430], [417, 430], [529, 356], [398, 288], [427, 431], [523, 414.99999999999994], [558, 415.99999999999994], [602, 410], [475, 330], [479, 392.99999999999994], [538, 409], [534, 414.99999999999994], [458, 413], [468, 325]], "image": "d03131.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530.5, 225], "scale": 1.3449, "joints": [[543, 113], [540, 168], [520, 224], [530, 226], [546, 166], [559, 109.99999999999999], [525, 225], [512, 300], [507, 320], [496, 347], [562, 330], [535, 298], [502, 310], [517, 313], [546, 274], [578, 252]], "image": "d03132.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529.5, 237], "scale": 1.2449000000000001, "joints": [[585, 128], [550, 184], [516, 232.00000000000003], [542, 244], [570, 189], [594, 138], [523, 240], [491, 317], [487, 325], [469, 350], [-1, -1], [-1, -1], [465, 301], [522, 333], [558, 296], [582, 272]], "image": "d03133.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [533.5, 243], "scale": 1.0149000000000001, "joints": [[616, 150], [573, 193], [535, 239], [557, 260], [588, 207.99999999999997], [627, 165], [540, 255.00000000000003], [485, 314], [474, 322], [447, 335], [441, 280], [455, 264], [465, 295], [504, 341], [548, 313], [586, 286]], "image": "d03134.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [540.5, 248], "scale": 0.8549000000000001, "joints": [[631, 181], [587, 218.99999999999997], [552, 258], [571, 288], [597, 234], [643, 195], [556, 276], [476, 307], [459, 312], [434, 310], [445, 224], [465, 240], [465, 279], [482, 324], [534, 320], [574, 297]], "image": "d03135.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [547, 254], "scale": 0.6149000000000001, "joints": [[637, 211], [596, 240], [557, 288], [567, 296], [596, 256], [649, 218.99999999999997], [560, 295], [480, 282], [458, 281], [441, 273], [503, 198.00000000000003], [504, 238], [472, 272], [467, 287], [492, 238], [491, 200]], "image": "d03136.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 275.5], "scale": 0.5399, "joints": [[646, 236], [597, 265], [553, 318], [550, 314], [600, 271], [651, 240.99999999999997], [551, 314], [489, 269], [478, 257], [463, 235], [561, 232.00000000000003], [532, 255.00000000000003], [487, 265], [489, 266], [529, 254.00000000000003], [559, 230.99999999999997]], "image": "d03137.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 277], "scale": 0.6749, "joints": [[657, 264], [584, 290], [530, 326], [534, 322], [588, 289], [660, 264], [533, 324], [506, 265], [503, 248], [506, 210.00000000000003], [590, 284], [544, 284], [511, 260], [514, 261], [541, 283], [590, 295]], "image": "d03138.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [582.5, 274.5], "scale": 0.6299000000000001, "joints": [[666, 306], [579, 305], [514, 323], [517, 320], [580, 305], [666, 304], [518, 319], [525, 259], [535, 241.99999999999997], [550, 216], [577, 338], [543, 304], [532, 265], [538, 252.99999999999997], [556, 286], [586, 321]], "image": "d03139.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574, 297.5], "scale": 0.6299000000000001, "joints": [[647, 351], [572, 318], [501, 303], [504, 300], [572, 316], [652, 352], [504, 300], [539, 265], [557, 260], [585, 244], [550, 341], [532, 318], [542, 276], [557, 272], [561, 296], [573, 345]], "image": "d03140.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557.5, 314.5], "scale": 0.8099000000000001, "joints": [[607, 392.99999999999994], [552, 318], [504, 278], [509, 277], [553, 311], [604, 390], [511, 278], [555, 263], [569, 268], [591, 280], [545, 330], [516, 321], [545, 278], [571, 256], [562, 292], [548, 335]], "image": "d03141.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 318.5], "scale": 0.9299000000000001, "joints": [[540, 404], [526, 317], [513, 257], [531, 257], [540, 319], [550, 395.00000000000006], [522, 257], [562, 270], [575, 279], [580, 310], [516, 314], [504, 306], [546, 284], [587, 274], [550, 302], [535, 315]], "image": "d03142.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 305], "scale": 0.8649000000000001, "joints": [[481, 373.00000000000006], [512, 297], [533, 245], [540, 256], [522, 303], [493, 374.00000000000006], [540, 249], [566, 276], [570, 293], [556, 325], [490, 290], [507, 277], [545, 284], [583, 294], [543, 291], [520, 301]], "image": "d03143.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [511.5, 278], "scale": 0.6249000000000001, "joints": [[447, 317], [506, 274], [562, 230.99999999999997], [568, 238], [514, 275], [451, 324], [565, 236], [562, 281], [560, 297], [534, 319], [488, 265], [507, 255.00000000000003], [548, 279], [567, 305], [539, 265], [505, 260]], "image": "d03144.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [511.5, 263.5], "scale": 0.43990000000000007, "joints": [[432, 264], [517, 247], [584, 240], [587, 238], [519, 245], [436, 259], [584, 246], [549, 279], [536, 290], [511, 294], [514, 230.99999999999997], [526, 226], [537, 273], [546, 293], [539, 241.99999999999997], [523, 227]], "image": "d03145.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529, 245], "scale": 0.5649000000000001, "joints": [[457, 198.00000000000003], [528, 225], [591, 254.00000000000003], [594, 256], [530, 223], [462, 192], [590, 254.00000000000003], [540, 271], [524, 271], [501, 265], [546, 207], [543, 225], [535, 263], [530, 259], [536, 216], [549, 206]], "image": "d03146.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551, 214], "scale": 0.8049000000000001, "joints": [[504, 147], [548, 205], [590, 262], [593, 260], [550, 199], [514, 141], [589, 264], [539, 252], [524, 247], [506, 235], [568, 195], [559, 218], [532, 251], [533, 246], [552, 213], [562, 181]], "image": "d03147.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 189.5], "scale": 0.9199, "joints": [[564, 123], [574, 201], [577, 271], [579, 268], [576, 198.00000000000003], [572, 120], [576, 269], [531, 235], [525, 217], [519, 192], [592, 181], [567, 221.00000000000003], [526, 229.99999999999997], [532, 218.99999999999997], [564, 201], [597, 173]], "image": "d03148.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [573.5, 192], "scale": 0.8349000000000001, "joints": [[627, 130], [597, 194], [563, 263], [564, 262], [600, 193], [638, 131], [562, 261], [536, 212], [534, 195.99999999999997], [532, 170], [607, 191], [564, 207.99999999999997], [527, 207], [541, 191], [570, 184.99999999999997], [606, 179]], "image": "d03149.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [602, 208], "scale": 0.5949000000000001, "joints": [[675, 175], [617, 209.00000000000003], [552, 247], [555, 245], [619, 207], [677, 172], [554, 240], [537, 194], [540, 174], [554, 153], [584, 198.00000000000003], [551, 190], [528, 181], [545, 172], [584, 172], [615, 171]], "image": "d03150.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614.5, 192.5], "scale": 0.5699000000000001, "joints": [[691, 224], [621, 227], [547, 232.00000000000003], [551, 229], [620, 229], [693, 226], [549, 230.99999999999997], [550, 173], [560, 158], [573, 135], [557, 191], [547, 174], [548, 156], [559, 153], [575, 159], [598, 163]], "image": "d03151.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620.5, 201.5], "scale": 0.7699000000000001, "joints": [[683, 279], [617, 252], [551, 222], [552, 220.00000000000003], [615, 248], [685, 275], [554, 218], [569, 163], [580, 153], [605, 137], [540, 180], [550, 162], [566, 149], [567, 156], [568, 165], [575, 176]], "image": "d03152.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609.5, 232], "scale": 0.9649000000000001, "joints": [[661, 317], [605, 273], [551, 216], [553, 215], [605, 270], [659, 315], [553, 213], [588, 165], [603, 155], [629, 145], [541, 176], [564, 159], [589, 150], [591, 153], [569, 155], [559, 167]], "image": "d03153.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592.5, 244.5], "scale": 0.9399000000000001, "joints": [[616, 330], [582, 274], [553, 213], [555, 212], [585, 275], [616, 327], [555, 211], [603, 176], [621, 175], [647, 179], [549, 184.99999999999997], [581, 161], [614, 162], [619, 167], [598, 159], [567, 157]], "image": "d03154.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 273.5], "scale": 0.8199000000000001, "joints": [[536, 334], [552, 266], [562, 211], [560, 210.00000000000003], [552, 266], [536, 333], [564, 210.00000000000003], [633, 228], [648, 235], [663, 249], [595, 250], [606, 210.00000000000003], [636, 223], [642, 227], [613, 214], [592, 248]], "image": "d03155.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584.5, 269.5], "scale": 0.7299000000000001, "joints": [[509, 338], [547, 263], [572, 220.00000000000003], [575, 218.99999999999997], [547, 262], [507, 334], [576, 221.00000000000003], [634, 260], [642, 268], [666, 282], [600, 315], [612, 282], [637, 254.00000000000003], [636, 257], [614, 274], [598, 312]], "image": "d03156.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565.5, 291.5], "scale": 0.7599000000000001, "joints": [[476, 321], [536, 268], [587, 235], [589, 234], [537, 265], [474, 319], [591, 235], [627, 293], [639, 305], [659, 321], [615, 365], [621, 321], [637, 299], [632, 301], [620, 323], [594, 348]], "image": "d03157.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 323.5], "scale": 0.8599000000000001, "joints": [[454, 288], [533, 268], [593, 259], [596, 256], [533, 264], [457, 286], [595, 260], [628, 337], [639, 348], [662, 353], [630, 404], [634, 366], [636, 343], [635, 342], [626, 366], [610, 405]], "image": "d03158.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549, 351], "scale": 1.0649000000000002, "joints": [[454, 255.00000000000003], [533, 268], [595, 289], [596, 287], [533, 269], [457, 256], [598, 294], [614, 363], [619, 375], [644, 391.99999999999994], [631, 460.99999999999994], [633, 403], [633, 373.00000000000006], [630, 370.99999999999994], [630, 405], [628, 462.00000000000006]], "image": "d03159.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 367], "scale": 1.4249, "joints": [[475, 238], [530, 273], [593, 323], [593, 324], [533, 273], [482, 238], [594, 325], [609, 402], [613, 412], [634, 429], [635, 503.99999999999994], [620, 456], [625, 417.00000000000006], [628, 414.99999999999994], [626, 453], [639, 501]], "image": "d03160.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [381, 200], "scale": 1.4549, "joints": [[343, 337], [361, 270], [362, 220.00000000000003], [370, 215], [419, 245], [376, 284], [370, 218.99999999999997], [371, 140], [373, 128], [372, 103.99999999999999], [407, 60], [392, 92], [363, 126.99999999999999], [362, 128], [366, 107], [376, 70]], "image": "d03161.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [383.5, 192.5], "scale": 1.5099, "joints": [[348, 334], [362, 272], [364, 214], [372, 211], [412, 249], [371, 281], [368, 213], [373, 136], [374, 118], [373, 92.99999999999999], [413, 54.99999999999999], [396, 87], [366, 120.99999999999999], [371, 124], [381, 94.00000000000001], [383, 54.99999999999999]], "image": "d03162.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [385.5, 187.5], "scale": 1.4499000000000002, "joints": [[356, 329], [366, 264], [366, 207.99999999999997], [373, 207], [411, 249], [372, 281], [370, 207.99999999999997], [375, 130], [377, 115], [377, 86], [418, 48], [394, 86], [369, 120], [371, 118], [383, 88], [392, 51]], "image": "d03163.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [390.5, 196.5], "scale": 1.4999, "joints": [[372, 340], [374, 272], [369, 217], [371, 216], [388, 270], [372, 339], [374, 216], [384, 141], [387, 126], [388, 99.00000000000001], [418, 63], [403, 94.00000000000001], [378, 128], [382, 131], [402, 90], [413, 57.99999999999999]], "image": "d03164.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [384, 221], "scale": 1.4149, "joints": [[370, 358], [382, 287], [365, 235], [368, 234], [387, 286], [374, 358], [368, 233], [389, 159], [395, 141], [396, 112], [409, 85], [407, 109.99999999999999], [385, 144], [384, 146], [406, 109], [406, 81]], "image": "d03165.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [384.5, 253], "scale": 1.2849000000000002, "joints": [[356, 369.99999999999994], [386, 311], [358, 257], [358, 254.00000000000003], [386, 311], [358, 368], [363, 252.99999999999997], [396, 184.99999999999997], [400, 170], [404, 144], [389, 128], [418, 159], [392, 180], [391, 177], [417, 155], [391, 128]], "image": "d03166.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [388, 251.5], "scale": 1.2399, "joints": [[344, 369.99999999999994], [379, 310], [355, 259], [355, 258], [379, 309], [345, 370.99999999999994], [357, 258], [397, 195.99999999999997], [407, 185.99999999999997], [408, 166], [420, 124], [434, 165], [401, 188], [402, 185.99999999999997], [432, 163], [422, 123]], "image": "d03167.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [407, 261], "scale": 1.1249, "joints": [[332, 365], [358, 302], [346, 241.99999999999997], [348, 239], [360, 301], [335, 366], [349, 241.99999999999997], [405, 196.99999999999997], [418, 187.00000000000003], [424, 168], [484, 153], [454, 179], [414, 189], [410, 188], [453, 176], [487, 152]], "image": "d03168.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [406, 261], "scale": 0.9549000000000001, "joints": [[331, 350], [333, 285], [342, 225], [344, 225], [337, 285], [333, 352], [346, 225], [413, 193], [428, 184], [440, 167], [499, 209.00000000000003], [461, 200], [423, 190], [423, 189], [460, 207], [497, 212]], "image": "d03169.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [387, 252.5], "scale": 0.8599000000000001, "joints": [[306, 328], [328, 263], [342, 204], [347, 205], [331, 263], [311, 327], [345, 205], [415, 195], [431, 190], [445, 170], [466, 254.00000000000003], [439, 225], [426, 201], [424, 200], [442, 229.99999999999997], [465, 261]], "image": "d03170.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [364.5, 242], "scale": 0.7149000000000001, "joints": [[284, 294], [328, 244], [343, 187.00000000000003], [345, 188], [331, 245], [292, 304], [347, 189], [411, 207.99999999999997], [428, 209.00000000000003], [449, 190], [411, 285], [412, 238], [419, 210.00000000000003], [423, 212], [419, 240.99999999999997], [422, 282]], "image": "d03171.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [354.5, 228.5], "scale": 0.6299000000000001, "joints": [[266, 267], [324, 226], [347, 174], [350, 176], [326, 229], [271, 275], [350, 176], [404, 224], [417, 229.99999999999997], [441, 232.00000000000003], [355, 281], [380, 243.00000000000003], [411, 225], [412, 226], [385, 248], [364, 285]], "image": "d03172.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [335.5, 220.5], "scale": 0.5799000000000001, "joints": [[254, 236], [322, 217], [363, 177], [364, 179], [327, 216], [254, 246], [365, 181], [384, 237], [392, 249], [414, 265], [305, 245], [350, 240.99999999999997], [387, 244], [392, 245], [356, 244], [320, 255.00000000000003]], "image": "d03173.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [321, 231.5], "scale": 0.6299000000000001, "joints": [[250, 200], [321, 204], [374, 183], [374, 187.00000000000003], [327, 210.00000000000003], [252, 200], [373, 188], [359, 240], [361, 259], [361, 288], [296, 193], [320, 218.99999999999997], [357, 249], [363, 248], [324, 217], [297, 193]], "image": "d03174.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [321.5, 227], "scale": 0.7149000000000001, "joints": [[263, 165], [326, 201], [375, 209.00000000000003], [381, 207.99999999999997], [325, 198.00000000000003], [264, 163], [380, 209.00000000000003], [338, 250], [330, 264], [330, 295], [317, 177], [327, 213], [333, 252.99999999999997], [334, 252], [330, 215], [316, 172]], "image": "d03175.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [328.5, 207.5], "scale": 0.7199000000000001, "joints": [[300, 136], [325, 196.99999999999997], [376, 233], [378, 233], [325, 196.99999999999997], [305, 138], [376, 233], [324, 246], [306, 255.00000000000003], [287, 269], [331, 171], [333, 202], [314, 246], [314, 244], [329, 201], [335, 174]], "image": "d03176.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [318.5, 204.5], "scale": 0.7599000000000001, "joints": [[347, 138], [341, 201], [366, 258], [369, 259], [342, 196.99999999999997], [346, 137], [362, 255.00000000000003], [312, 240], [292, 240], [262, 233], [351, 180], [341, 209.00000000000003], [305, 235], [303, 240], [339, 209.00000000000003], [359, 191]], "image": "d03177.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [332.5, 221], "scale": 0.6749, "joints": [[389, 165], [354, 213], [343, 275], [344, 274], [356, 212], [394, 167], [341, 271], [305, 233], [291, 220.00000000000003], [271, 206], [379, 209.00000000000003], [352, 224], [307, 228], [309, 226], [347, 218], [377, 212]], "image": "d03178.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [356, 234], "scale": 0.5749000000000001, "joints": [[421, 210.00000000000003], [364, 235], [323, 281], [324, 282], [366, 234], [425, 213], [321, 280], [312, 223], [310, 209.00000000000003], [297, 182], [383, 241.99999999999997], [351, 244], [318, 221.00000000000003], [318, 221.00000000000003], [353, 236], [384, 241.99999999999997]], "image": "d03179.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [363.5, 239], "scale": 0.5749000000000001, "joints": [[430, 263], [367, 259], [307, 273], [306, 273], [367, 261], [430, 264], [304, 271], [331, 227], [337, 213], [343, 185.99999999999997], [373, 278], [349, 261], [337, 226], [339, 226], [351, 254.00000000000003], [378, 272]], "image": "d03180.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [353, 266], "scale": 0.5749000000000001, "joints": [[412, 316], [358, 285], [299, 261], [299, 261], [360, 283], [411, 315], [301, 260], [347, 240.99999999999997], [362, 232.00000000000003], [380, 215], [359, 308], [344, 274], [352, 240], [356, 238], [350, 266], [359, 302]], "image": "d03181.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [350.5, 294], "scale": 0.7249000000000001, "joints": [[374, 359], [343, 301], [306, 248], [308, 246], [343, 296], [377, 356], [308, 246], [357, 255.00000000000003], [377, 260], [406, 255.00000000000003], [333, 311], [331, 283], [361, 261], [363, 263], [341, 286], [338, 312]], "image": "d03182.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [357, 302.5], "scale": 0.7599000000000001, "joints": [[323, 360], [327, 299], [328, 240], [329, 239], [329, 299], [325, 361], [331, 237], [363, 275], [374, 288], [404, 307], [309, 304], [324, 285], [370, 280], [376, 281], [328, 278], [315, 302]], "image": "d03183.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [332.5, 287.5], "scale": 0.6699, "joints": [[286, 345], [321, 286], [354, 239], [352, 236], [322, 287], [283, 343], [361, 240], [363, 289], [363, 305], [372, 331], [301, 286], [328, 279], [369, 299], [367, 297], [333, 270], [305, 281]], "image": "d03184.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [326, 283], "scale": 0.4749000000000001, "joints": [[263, 299], [328, 273], [384, 250], [387, 250], [329, 272], [265, 295], [387, 258], [360, 294], [350, 309], [338, 334], [310, 256], [340, 268], [357, 301], [356, 299], [339, 266], [307, 258]], "image": "d03185.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [413, 226], "scale": 0.7249000000000001, "joints": [[453, 169], [426, 221.00000000000003], [396, 287], [396, 286], [428, 222], [459, 170], [394, 285], [386, 233], [389, 217], [392, 195], [443, 226], [427, 243.00000000000003], [387, 229], [388, 226], [422, 218.99999999999997], [447, 230.99999999999997]], "image": "d03186.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [367.5, 243.5], "scale": 0.6399000000000001, "joints": [[325, 201], [368, 243.00000000000003], [413, 285], [415, 285], [370, 240], [329, 196.99999999999997], [410, 286], [360, 276], [344, 272], [319, 269], [374, 220.00000000000003], [378, 245], [349, 273], [350, 261], [362, 225], [383, 221.00000000000003]], "image": "d03187.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [387, 233.5], "scale": 0.7499000000000001, "joints": [[387, 171], [396, 236], [407, 295], [408, 293], [398, 232.00000000000003], [392, 170], [404, 292], [368, 254.00000000000003], [359, 241.99999999999997], [345, 226], [412, 225], [406, 241.99999999999997], [368, 247], [367, 239], [396, 220.00000000000003], [417, 218]], "image": "d03188.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [343, 272.5], "scale": 0.4199000000000001, "joints": [[276, 246], [343, 255.00000000000003], [402, 270], [404, 268], [343, 255.00000000000003], [279, 240], [402, 273], [354, 290], [341, 296], [322, 310], [340, 239], [356, 258], [349, 291], [347, 290], [344, 257], [337, 236]], "image": "d03189.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [437, 230.5], "scale": 0.4799000000000001, "joints": [[500, 200], [438, 233], [386, 265], [389, 261], [441, 229], [503, 205], [386, 261], [414, 215], [425, 206], [439, 191], [457, 245], [436, 247], [421, 216], [426, 213], [452, 224], [457, 247]], "image": "d03190.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [450, 220], "scale": 0.3949000000000001, "joints": [[515, 251], [451, 238], [392, 232.00000000000003], [392, 230.99999999999997], [452, 239], [519, 249], [393, 229.99999999999997], [438, 212], [451, 206], [474, 194], [461, 260], [440, 246], [441, 209.00000000000003], [456, 212], [461, 235], [459, 261]], "image": "d03191.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [457.5, 230.5], "scale": 0.6099000000000001, "joints": [[503, 287], [453, 240], [410, 198.00000000000003], [410, 198.00000000000003], [455, 239], [503, 285], [414, 195.99999999999997], [464, 206], [473, 210.00000000000003], [501, 214], [454, 259], [445, 240.99999999999997], [466, 215], [470, 218.99999999999997], [464, 239], [453, 260]], "image": "d03192.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [468, 228.5], "scale": 0.7699000000000001, "joints": [[463, 287], [456, 232.00000000000003], [446, 170], [449, 169], [457, 234], [466, 292], [454, 170], [480, 203], [485, 220.00000000000003], [502, 238], [439, 243.00000000000003], [449, 224], [487, 215], [492, 217], [460, 218], [439, 241.99999999999997]], "image": "d03193.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475, 213.5], "scale": 0.6999000000000001, "joints": [[434, 271], [461, 214], [492, 158], [489, 157], [462, 212], [433, 270], [495, 160], [493, 204], [488, 220.00000000000003], [495, 247], [443, 211], [469, 207], [496, 215], [505, 217], [469, 202], [444, 207]], "image": "d03194.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 194], "scale": 0.4449000000000001, "joints": [[415, 220.00000000000003], [474, 195], [531, 168], [534, 168], [476, 196.99999999999997], [415, 221.00000000000003], [533, 174], [501, 207], [488, 216], [467, 233], [458, 181], [483, 189], [499, 213], [499, 210.00000000000003], [483, 185.99999999999997], [466, 177]], "image": "d03195.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493.5, 185], "scale": 0.3949000000000001, "joints": [[425, 167], [488, 171], [553, 184.99999999999997], [555, 185.99999999999997], [490, 170], [427, 163], [552, 189], [505, 200], [489, 202], [465, 201], [489, 150], [501, 178], [500, 206], [498, 203], [497, 170], [489, 151]], "image": "d03196.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516.5, 169], "scale": 0.6349, "joints": [[473, 114], [517, 163], [559, 209.00000000000003], [561, 206], [521, 161], [485, 111], [558, 211], [511, 188], [499, 180], [477, 170], [529, 138], [531, 169], [502, 184], [503, 173], [510, 141], [529, 137]], "image": "d03197.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533, 158.5], "scale": 0.7699000000000001, "joints": [[532, 103.99999999999999], [542, 163], [552, 224], [552, 221.00000000000003], [545, 163], [543, 106], [549, 223], [519, 183], [516, 168], [511, 146], [564, 152], [552, 172], [512, 175], [519, 165], [541, 145], [561, 145]], "image": "d03198.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [555.5, 175], "scale": 0.6549, "joints": [[599, 123], [562, 176], [535, 228], [537, 227], [564, 177], [604, 128], [530, 225], [528, 178], [534, 165], [540, 136], [585, 177], [562, 184.99999999999997], [536, 175], [539, 171], [565, 173], [586, 183]], "image": "d03199.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580.5, 182.5], "scale": 0.49990000000000007, "joints": [[645, 180], [579, 192], [527, 217], [526, 216], [580, 193], [645, 177], [525, 214], [547, 173], [559, 159], [574, 139], [598, 207.99999999999997], [567, 203], [549, 172], [550, 170], [566, 196.99999999999997], [597, 203]], "image": "d03200.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590, 195.5], "scale": 0.5499, "joints": [[653, 246], [590, 218.99999999999997], [530, 201], [531, 196.99999999999997], [590, 215], [651, 243.00000000000003], [529, 199], [562, 169], [576, 164], [603, 152], [578, 251], [570, 212], [567, 170], [572, 167], [571, 198.00000000000003], [586, 244]], "image": "d03201.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 220], "scale": 0.7249000000000001, "joints": [[615, 283], [575, 230.99999999999997], [542, 191], [545, 191], [574, 228], [618, 282], [542, 189], [584, 170], [602, 171], [629, 169], [560, 244], [576, 204], [585, 171], [591, 172], [574, 201], [558, 243.00000000000003]], "image": "d03202.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 391.5], "scale": 2.8799, "joints": [[599, 655], [643, 512], [589, 402], [595, 400], [651, 511], [603, 657], [597, 401], [662, 254.00000000000003], [669, 226], [692, 166], [664, 119], [672, 176], [643, 229.99999999999997], [659, 236], [690, 158], [659, 114]], "image": "d03203.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 420], "scale": 2.6949, "joints": [[578, 669], [647, 542], [585, 430], [588, 428], [646, 538], [581, 667], [591, 428], [661, 285], [667, 259], [683, 189], [648, 159], [692, 207], [648, 268], [665, 270], [717, 209.00000000000003], [648, 156]], "image": "d03204.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 424], "scale": 1.9949000000000001, "joints": [[484, 605], [496, 467], [518, 347], [521, 346], [500, 466], [488, 608], [523, 346], [665, 296], [694, 282], [729, 232.00000000000003], [820, 359], [743, 327], [689, 286], [688, 288], [748, 326], [818, 382]], "image": "d03205.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [437.5, 396], "scale": 1.3849, "joints": [[298, 339], [449, 344], [554, 292], [557, 294], [450, 349], [304, 339], [560, 301], [528, 429], [535, 469], [565, 528], [396, 362], [455, 389], [520, 442.00000000000006], [533, 423], [474, 381], [408, 332]], "image": "d03206.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [451, 419], "scale": 1.5649000000000002, "joints": [[497, 278], [492, 413.99999999999994], [548, 537], [549, 538], [495, 411], [505, 274], [543, 539], [428, 502], [386, 497], [325, 503], [514, 365], [493, 433], [420, 487.00000000000006], [428, 483.99999999999994], [490, 431], [540, 380]], "image": "d03207.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [488.5, 528.5], "scale": 1.3199, "joints": [[585, 652], [484, 550], [375, 483.99999999999994], [381, 481], [485, 549], [588, 650], [380, 476], [484, 462.00000000000006], [520, 455], [586, 411], [486, 595], [455, 534], [499, 472], [503, 475], [489, 532], [475, 593]], "image": "d03208.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673.5, 333], "scale": 1.4049, "joints": [[566, 466], [594, 379], [601, 305], [605, 307], [599, 380], [571, 468], [606, 308], [668, 240], [684, 229.99999999999997], [712, 207], [790, 225], [734, 220.00000000000003], [685, 223], [681, 223], [733, 220.00000000000003], [790, 225]], "image": "d03209.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670.5, 329.5], "scale": 1.2599, "joints": [[556, 447], [579, 360], [597, 280], [599, 279], [582, 358], [563, 442.00000000000006], [601, 280], [686, 234], [707, 229], [734, 214], [785, 290], [742, 266], [702, 230.99999999999997], [710, 233], [743, 260], [788, 288]], "image": "d03210.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [642.5, 320], "scale": 1.0349000000000002, "joints": [[542, 410], [576, 328], [592, 255.00000000000003], [597, 257], [580, 329], [544, 410], [597, 257], [696, 245], [715, 251], [741, 239], [727, 346], [711, 295], [702, 249], [708, 252], [721, 292], [729, 347]], "image": "d03211.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [630.5, 301], "scale": 0.8849000000000001, "joints": [[529, 382], [578, 306], [600, 229.99999999999997], [603, 229.99999999999997], [579, 306], [532, 382], [603, 232.00000000000003], [687, 268], [704, 276], [743, 282], [649, 358], [669, 306], [693, 268], [697, 277], [676, 310], [654, 362]], "image": "d03212.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [611.5, 282.5], "scale": 0.8099000000000001, "joints": [[517, 346], [575, 289], [614, 218], [618, 218], [576, 286], [515, 347], [621, 223], [671, 281], [683, 299], [709, 334], [581, 324], [627, 303], [680, 283], [684, 291], [632, 311], [589, 334]], "image": "d03213.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577, 283], "scale": 0.8649000000000001, "joints": [[496, 313], [573, 272], [638, 217], [637, 229.99999999999997], [575, 269], [493, 308], [638, 225], [642, 300], [642, 319], [656, 359], [558, 255.00000000000003], [597, 275], [650, 299], [643, 302], [593, 289], [537, 263]], "image": "d03214.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570, 284.5], "scale": 0.7699000000000001, "joints": [[495, 256], [580, 254.00000000000003], [655, 236], [651, 234], [578, 251], [498, 252.99999999999997], [654, 241.99999999999997], [624, 297], [606, 319], [584, 349], [576, 226], [600, 263], [618, 305], [606, 305], [584, 265], [557, 229]], "image": "d03215.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 265], "scale": 0.7049000000000001, "joints": [[505, 207], [582, 237], [659, 258], [656, 258], [581, 236], [511, 203], [656, 262], [594, 297], [575, 305], [543, 322], [595, 220.00000000000003], [597, 248], [591, 304], [580, 297], [581, 246], [585, 213]], "image": "d03216.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592, 236.5], "scale": 0.8099000000000001, "joints": [[556, 163], [594, 226], [652, 286], [651, 286], [592, 228], [549, 164], [647, 290], [580, 288], [558, 282], [516, 270], [611, 215], [599, 252.99999999999997], [571, 281], [567, 279], [586, 240], [611, 215]], "image": "d03217.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [586, 227], "scale": 0.9849000000000001, "joints": [[604, 148], [609, 229.99999999999997], [627, 306], [628, 303], [612, 228], [613, 145], [618, 304], [564, 267], [547, 249], [537, 216], [629, 224], [616, 238], [561, 258], [564, 248], [613, 222], [629, 228]], "image": "d03218.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 240], "scale": 0.8949000000000001, "joints": [[659, 176], [620, 236], [595, 314], [600, 314], [624, 236], [666, 175], [593, 313], [563, 245], [564, 224], [563, 183], [636, 244], [617, 254.00000000000003], [570, 241.99999999999997], [576, 236], [626, 240], [639, 252]], "image": "d03219.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [628, 247], "scale": 0.7849, "joints": [[707, 221.00000000000003], [632, 252.99999999999997], [567, 302], [568, 300], [638, 255.00000000000003], [707, 222], [564, 299], [576, 227], [588, 211], [605, 177], [638, 270], [617, 264], [579, 223], [582, 217], [619, 258], [633, 279]], "image": "d03220.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [635, 240], "scale": 0.6549, "joints": [[718, 293], [633, 279], [553, 274], [552, 274], [635, 280], [719, 293], [552, 271], [597, 217], [615, 203], [645, 182], [632, 295], [612, 249], [604, 215], [595, 207], [595, 247], [620, 282]], "image": "d03221.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623, 271.5], "scale": 0.9399000000000001, "joints": [[689, 365], [625, 307], [556, 252], [553, 252], [621, 305], [682, 356], [558, 246], [615, 210.00000000000003], [633, 204], [671, 190], [625, 319], [614, 250], [622, 210.00000000000003], [612, 201], [584, 237], [600, 287]], "image": "d03222.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619, 292.5], "scale": 1.1599000000000002, "joints": [[610, 391.99999999999994], [594, 314], [576, 235], [571, 234], [591, 313], [614, 391.99999999999994], [576, 236], [640, 206], [663, 204], [698, 201], [621, 295], [627, 240], [642, 205], [637, 211], [-1, -1], [-1, -1]], "image": "d03223.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]}, {"center": [625.5, 293.5], "scale": 1.1499000000000001, "joints": [[550, 390], [572, 305], [591, 229], [580, 226], [562, 304], [544, 391.99999999999994], [586, 227], [656, 204], [676, 206], [713, 207.99999999999997], [618, 286], [643, 228], [668, 210.00000000000003], [667, 196.99999999999997], [634, 199], [619, 218]], "image": "d03224.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [602.5, 275.5], "scale": 1.0699, "joints": [[489, 365], [549, 298], [607, 237], [589, 221.00000000000003], [537, 280], [483, 351], [601, 227], [679, 203], [698, 211], [729, 214], [617, 259], [650, 248], [681, 226], [687, 183], [655, 175], [640, 196.99999999999997]], "image": "d03225.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 250], "scale": 0.7049000000000001, "joints": [[443, 311], [532, 276], [617, 248], [593, 209.00000000000003], [517, 254.00000000000003], [435, 297], [611, 227], [690, 212], [711, 221.00000000000003], [734, 228], [637, 258], [651, 260], [694, 248], [697, 190], [670, 183], [655, 207.99999999999997]], "image": "d03226.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [589.5, 237.5], "scale": 0.3699000000000001, "joints": [[427, 256], [522, 250], [617, 251], [612, 211], [516, 222], [426, 227], [617, 232.00000000000003], [702, 228], [714, 236], [739, 246], [634, 268], [640, 262], [696, 260], [706, 202], [726, 203], [756, 229.99999999999997]], "image": "d03227.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591.5, 218.5], "scale": 0.5799000000000001, "joints": [[442, 199], [534, 218.99999999999997], [601, 249], [617, 217], [541, 199], [450, 174], [612, 236], [699, 245], [712, 248], [737, 252.99999999999997], [656, 205], [641, 259], [680, 274], [716, 224], [742, 213], [759, 247]], "image": "d03228.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609.5, 208.5], "scale": 0.8599000000000001, "joints": [[470, 154], [542, 191], [603, 233], [615, 225], [544, 182], [471, 143], [612, 229.99999999999997], [693, 255.00000000000003], [706, 256], [737, 261], [673, 211], [649, 223], [676, 266], [711, 255.00000000000003], [762, 238], [747, 283]], "image": "d03229.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 190.5], "scale": 1.0599, "joints": [[494, 107], [559, 152], [614, 193], [612, 212], [557, 163], [497, 106], [614, 205], [680, 260], [698, 263], [728, 261], [685, 232.00000000000003], [661, 207.99999999999997], [686, 254.00000000000003], [700, 280], [749, 286], [739, 264]], "image": "d03230.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [624.5, 182.5], "scale": 1.3999000000000001, "joints": [[522, 63], [586, 126.99999999999999], [633, 183], [608, 206], [565, 145], [514, 73], [621, 195], [682, 274], [694, 283], [717, 290], [673, 251], [678, 207], [687, 252], [677, 305], [716, 322], [736, 281]], "image": "d03231.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [626.5, 175.5], "scale": 1.5999, "joints": [[555, 26], [597, 108], [640, 170], [605, 194], [571, 123], [536, 40], [627, 188], [660, 266], [668, 281], [684, 309], [639, 240.99999999999997], [689, 214], [681, 257], [638, 293], [651, 330], [708, 310]], "image": "d03232.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [604.5, 145.5], "scale": 1.3899000000000001, "joints": [[640, 14], [646, 87], [664, 165], [657, 163], [636, 86], [619, 13], [659, 166], [599, 236], [589, 247], [567, 279], [517, 198.00000000000003], [564, 212], [608, 243.00000000000003], [595, 229.99999999999997], [558, 204], [514, 195.99999999999997]], "image": "d03233.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [707.5, 166.5], "scale": 0.7799, "joints": [[794, 164], [711, 189], [648, 221.00000000000003], [648, 218.99999999999997], [712, 184.99999999999997], [795, 157], [645, 217], [643, 158], [656, 128], [673, 94.00000000000001], [659, 229], [651, 183], [644, 148], [641, 137], [653, 176], [675, 195]], "image": "d03234.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [713.5, 180], "scale": 0.7249000000000001, "joints": [[798, 244], [720, 224], [646, 220.00000000000003], [643, 216], [721, 223], [800, 237], [643, 218], [664, 155], [678, 139], [717, 117], [654, 224], [661, 184.99999999999997], [668, 148], [668, 149], [663, 184], [661, 217]], "image": "d03235.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [704, 227.5], "scale": 0.9199, "joints": [[775, 316], [706, 254.00000000000003], [648, 220.00000000000003], [644, 220.00000000000003], [705, 252.99999999999997], [773, 312], [649, 218], [692, 162], [714, 160], [751, 159], [659, 235], [685, 195], [702, 162], [698, 157], [679, 190], [656, 215]], "image": "d03236.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [708, 266.5], "scale": 1.0899, "joints": [[729, 366], [700, 299], [662, 226], [652, 226], [699, 298], [732, 368.99999999999994], [656, 228], [726, 190], [745, 192], [780, 192], [669, 279], [702, 226], [730, 195], [731, 180], [693, 214], [691, 247]], "image": "d03237.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [720, 292.5], "scale": 1.0399, "joints": [[669, 395.00000000000006], [676, 307], [676, 232.00000000000003], [674, 229], [675, 306], [671, 391.99999999999994], [674, 229.99999999999997], [756, 227], [769, 238], [797, 251], [685, 292], [732, 261], [757, 234], [762, 225], [728, 245], [683, 290]], "image": "d03238.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [719, 315.5], "scale": 0.8899000000000001, "joints": [[627, 391.99999999999994], [664, 319], [696, 248], [692, 245], [658, 311], [631, 385], [695, 247], [776, 273], [790, 283], [819, 291], [700, 349], [749, 312], [777, 285], [767, 273], [732, 281], [691, 303]], "image": "d03239.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [702.5, 325.5], "scale": 0.7399000000000001, "joints": [[588, 384], [663, 320], [713, 275], [709, 271], [657, 311], [585, 377], [714, 273], [780, 320], [792, 329], [813, 346], [727, 389], [767, 355], [788, 324], [770, 313], [745, 331], [721, 368]], "image": "d03240.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530.5, 361.5], "scale": 2.6599, "joints": [[435, 613], [425, 483.99999999999994], [509, 405], [505, 404], [406, 478], [427, 612], [506, 404], [556, 283], [565, 245], [593, 195.99999999999997], [691, 145], [634, 162], [602, 259], [545, 240.99999999999997], [530, 150], [617, 99.00000000000001]], "image": "d03241.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542.5, 369], "scale": 2.6049, "joints": [[422, 597], [427, 462.00000000000006], [506, 391.99999999999994], [492, 388], [408, 462.00000000000006], [416, 598], [502, 390], [565, 271], [584, 241.99999999999997], [612, 201], [705, 152], [684, 221.00000000000003], [620, 263], [563, 234], [563, 144], [661, 120]], "image": "d03242.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 368], "scale": 2.4049, "joints": [[417, 592], [432, 453], [506, 369.99999999999994], [473, 354], [405, 441.00000000000006], [412, 574], [492, 363], [584, 257], [600, 238], [638, 217], [727, 182], [705, 263], [629, 266], [579, 207.99999999999997], [600, 135], [695, 141]], "image": "d03243.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552.5, 361], "scale": 1.8649, "joints": [[392, 525], [434, 399], [515, 322], [470, 296], [403, 391], [378, 514], [491, 308], [622, 265], [642, 268], [684, 286], [741, 331], [649, 372.00000000000006], [635, 306], [629, 216], [670, 180], [711, 240]], "image": "d03244.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [527, 359], "scale": 1.6849, "joints": [[374, 509.00000000000006], [429, 390], [516, 314], [477, 281], [409, 362], [361, 478], [496, 297], [620, 273], [644, 280], [685, 297], [715, 382], [607, 388], [631, 322], [644, 221.00000000000003], [682, 193], [699, 272]], "image": "d03245.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [468.5, 349.5], "scale": 1.0599, "joints": [[272, 423], [416, 370.99999999999994], [520, 327], [504, 267], [405, 323], [264, 382], [516, 295], [629, 309], [648, 324], [684, 353], [536, 446], [527, 369.99999999999994], [601, 363], [687, 286], [647, 273], [600, 298]], "image": "d03246.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475, 346.5], "scale": 0.7399000000000001, "joints": [[269, 337], [411, 345], [509, 325], [523, 293], [425, 312], [303, 297], [519, 306], [630, 342], [649, 360], [688, 391.99999999999994], [473, 397.00000000000006], [509, 341], [600, 373.00000000000006], [674, 337], [620, 305], [562, 370.99999999999994]], "image": "d03247.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [499.5, 351.5], "scale": 1.1299000000000001, "joints": [[325, 264], [429, 323], [531, 345], [538, 347], [434, 317], [328, 259], [530, 346], [616, 405], [642, 417.00000000000006], [687, 444], [492, 354], [541, 323], [612, 386], [659, 406], [597, 397.00000000000006], [566, 387]], "image": "d03248.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [502.5, 357], "scale": 1.6249, "joints": [[348, 212], [433, 287], [509, 334], [502, 381], [423, 303], [360, 221.00000000000003], [509, 360], [599, 453], [606, 470], [660, 499], [549, 368], [602, 392.99999999999994], [618, 428], [585, 499], [515, 456], [544, 402]], "image": "d03249.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [501.5, 363.5], "scale": 1.7999, "joints": [[371, 192], [451, 286], [520, 342], [492, 396.00000000000006], [426, 310], [367, 204], [504, 368], [584, 474], [597, 496], [637, 535], [527, 393.99999999999994], [588, 384], [620, 437.99999999999994], [567, 512], [492, 456], [549, 404]], "image": "d03250.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [508.5, 376], "scale": 2.0049, "joints": [[408, 195], [472, 281], [530, 356], [473, 410], [437, 308], [389, 201], [500, 377], [577, 500], [588, 514], [618, 566], [627, 462.00000000000006], [604, 392.99999999999994], [612, 468], [531, 525], [478, 451], [559, 413.99999999999994]], "image": "d03251.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [537, 404], "scale": 2.2049000000000003, "joints": [[475, 193], [499, 305], [529, 391.99999999999994], [468, 407], [459, 300], [433, 199], [501, 398], [553, 537], [559, 559], [573, 612], [629, 521], [637, 453], [602, 529], [499, 541], [486, 456], [565, 442.00000000000006]], "image": "d03252.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [547.5, 407], "scale": 2.3349, "joints": [[502, 204], [519, 296], [535, 410], [479, 408], [473, 301], [453, 199], [505, 413], [535, 547], [536, 573], [546, 637], [626, 545], [637, 488], [582, 558], [503, 556], [501, 468], [575, 451]], "image": "d03253.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [534.5, 431.5], "scale": 2.3599, "joints": [[540, 228], [535, 331], [524, 435], [508, 428], [526, 329], [529, 225], [515, 434], [513, 573], [514, 606], [487, 665], [606, 591], [584, 557], [520, 584], [498, 574], [528, 502], [589, 478]], "image": "d03254.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [501.5, 464.5], "scale": 1.8599, "joints": [[639, 295], [557, 386], [487, 458], [539, 500], [588, 410], [654, 320], [504, 479], [405, 588], [390, 605], [350, 632], [351, 562], [366, 498], [371, 549], [452, 641], [531, 582], [594, 533]], "image": "d03255.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489.5, 463.5], "scale": 1.6499000000000001, "joints": [[649, 318], [561, 398], [491, 458], [538, 516], [598, 417.00000000000006], [667, 340], [516, 490], [392, 580], [373, 593], [319, 614], [322, 471], [360, 468], [358, 540], [428, 632], [504, 590], [587, 537]], "image": "d03256.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495, 455.5], "scale": 1.3199, "joints": [[659, 345], [587, 404], [514, 481], [535, 534], [594, 441.00000000000006], [682, 367], [523, 510], [365, 544], [337, 534], [290, 528], [354, 363], [382, 413], [363, 496], [373, 578], [475, 568], [560, 533]], "image": "d03257.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [498.5, 451.5], "scale": 1.1599000000000002, "joints": [[663, 354], [584, 415.99999999999994], [514, 507.00000000000006], [536, 544], [592, 446], [680, 382], [517, 523], [361, 513], [336, 502], [289, 482.99999999999994], [402, 344], [405, 413], [365, 475], [366, 535], [438, 553], [574, 507.00000000000006]], "image": "d03258.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [507, 457.5], "scale": 1.0799, "joints": [[676, 372.00000000000006], [569, 438.99999999999994], [488, 534], [507, 554], [581, 459.99999999999994], [679, 403], [498, 540], [384, 460.99999999999994], [359, 436.99999999999994], [318, 390], [501, 353], [470, 409], [386, 436.99999999999994], [378, 444], [463, 410], [496, 348]], "image": "d03259.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522.5, 451], "scale": 1.1549, "joints": [[673, 385], [562, 451], [479, 525], [477, 525], [575, 462.00000000000006], [675, 406], [472, 523], [396, 430], [381, 406], [358, 342], [539, 399], [486, 428], [390, 421], [398, 425], [472, 470], [572, 482.99999999999994]], "image": "d03260.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542.5, 429.5], "scale": 1.2399, "joints": [[688, 403], [563, 455], [459, 516], [462, 514], [570, 458.99999999999994], [685, 420], [457, 513], [414, 414.99999999999994], [406, 379], [404, 314], [552, 435], [481, 449], [416, 409], [429, 409], [482, 455], [562, 473]], "image": "d03261.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [546.5, 419.5], "scale": 1.2099000000000002, "joints": [[687, 427], [554, 455], [440, 504.99999999999994], [443, 498], [556, 456], [695, 431], [440, 503], [425, 403], [433, 364], [444, 299], [557, 464.00000000000006], [486, 465], [431, 402], [457, 386], [511, 444], [565, 489]], "image": "d03262.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541.5, 417.5], "scale": 1.1799000000000002, "joints": [[676, 460.99999999999994], [548, 457], [431, 498], [436, 491], [553, 454], [683, 450], [429, 494], [451, 376], [463, 353], [481, 299], [540, 508.00000000000006], [475, 458.99999999999994], [452, 390], [468, 369.99999999999994], [510, 435], [548, 496]], "image": "d03263.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 406], "scale": 1.0949, "joints": [[679, 492], [534, 458], [417, 465], [425, 460.99999999999994], [541, 454], [686, 483.99999999999994], [419, 455], [463, 366], [476, 353], [525, 317], [514, 517], [465, 473], [468, 379], [484, 365], [509, 422], [558, 498]], "image": "d03264.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 417.5], "scale": 1.0899, "joints": [[659, 519], [532, 463.00000000000006], [406, 437.99999999999994], [413, 432], [538, 455], [663, 507.00000000000006], [410, 429], [480, 362], [503, 354], [552, 330], [503, 516], [459, 468], [470, 377], [512, 328], [478, 420], [545, 452]], "image": "d03265.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [515.5, 430.5], "scale": 1.2299, "joints": [[620, 535], [509, 459.99999999999994], [411, 407], [424, 399], [517, 450], [624, 532], [416, 402], [483, 345], [506, 349], [558, 357], [494, 502], [449, 466], [481, 372.00000000000006], [540, 325], [504, 410], [516, 499]], "image": "d03266.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [492, 450], "scale": 1.6349, "joints": [[529, 583], [469, 448], [419, 350], [456, 350], [501, 435], [550, 573], [438, 349], [512, 340], [535, 360], [571, 406], [458, 460.99999999999994], [429, 441.00000000000006], [483, 379], [560, 350], [486, 401], [473, 435]], "image": "d03267.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [491.5, 444], "scale": 1.6349, "joints": [[472, 575], [456, 430], [432, 331], [470, 337], [491, 436], [500, 580], [454, 331], [523, 352], [536, 369.99999999999994], [555, 424], [444, 434], [413, 424], [481, 382], [570, 365], [-1, -1], [-1, -1]], "image": "d03268.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]}, {"center": [492, 432], "scale": 1.7049, "joints": [[430, 563], [446, 412], [445, 311], [485, 320], [473, 424], [451, 569], [469, 317], [529, 349], [540, 377], [547, 441.00000000000006], [405, 406], [442, 380], [485, 382], [573, 375], [-1, -1], [-1, -1]], "image": "d03269.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]}, {"center": [615.5, 301.5], "scale": 0.4699000000000001, "joints": [[731, 277], [658, 305], [587, 330], [589, 327], [654, 296], [728, 273], [585, 329], [525, 315], [513, 302], [491, 268], [608, 299], [566, 322], [520, 314], [522, 306], [554, 296], [593, 288]], "image": "d03270.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453.5, 404.5], "scale": 1.3999000000000001, "joints": [[349, 498], [430, 378], [485, 295], [506, 317], [453, 402], [367, 518], [496, 312], [541, 379], [534, 405], [492, 447], [395, 351], [437, 352], [489, 375], [559, 423], [508, 367], [466, 337]], "image": "d03271.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [437, 379.5], "scale": 1.1999000000000002, "joints": [[309, 452], [427, 366], [514, 286], [512, 339], [439, 392.99999999999994], [338, 469], [513, 312], [534, 391], [522, 415.99999999999994], [467, 454], [414, 326], [451, 349], [484, 380], [542, 430], [509, 383], [478, 338]], "image": "d03272.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [430.5, 364], "scale": 0.9549000000000001, "joints": [[308, 407], [426, 351], [534, 295], [532, 345], [440, 372.00000000000006], [308, 427], [536, 322], [524, 404], [505, 424], [453, 451], [430, 313], [458, 343], [485, 390], [508, 438.99999999999994], [486, 362], [460, 321]], "image": "d03273.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424, 369], "scale": 0.8849000000000001, "joints": [[286, 364], [429, 338], [555, 309], [544, 344], [434, 351], [302, 384], [546, 329], [513, 414.99999999999994], [486, 428], [443, 436], [442, 302], [463, 334], [474, 386], [491, 447], [476, 361], [450, 321]], "image": "d03274.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [449.5, 364], "scale": 1.0249000000000001, "joints": [[332, 283], [449, 309], [573, 368], [573, 367], [445, 310], [336, 275], [571, 375], [493, 397.00000000000006], [451, 409], [401, 419.00000000000006], [489, 294], [481, 343], [473, 396.00000000000006], [463, 396.00000000000006], [480, 355], [478, 293]], "image": "d03275.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472, 346], "scale": 1.2749000000000001, "joints": [[362, 238], [475, 312], [578, 396.00000000000006], [576, 392.99999999999994], [474, 309], [365, 232.00000000000003], [573, 402], [480, 400], [444, 401], [403, 398], [509, 301], [492, 345], [465, 398], [458, 391.99999999999994], [496, 360], [514, 302]], "image": "d03276.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [483, 327], "scale": 1.4549, "joints": [[396, 206], [492, 318], [571, 415.99999999999994], [573, 412], [494, 310], [407, 199], [569, 428], [471, 406], [442, 393.99999999999994], [411, 367], [531, 303], [504, 347], [464, 395.00000000000006], [456, 388], [501, 366], [534, 303]], "image": "d03277.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493, 323.5], "scale": 1.5499, "joints": [[460, 202], [504, 319], [563, 436.99999999999994], [561, 434], [512, 315], [469, 196.99999999999997], [559, 442.00000000000006], [463, 408], [439, 382], [410, 340], [540, 307], [518, 357], [453, 392.99999999999994], [459, 369.99999999999994], [509, 344], [546, 300]], "image": "d03278.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [497, 322], "scale": 1.5849000000000002, "joints": [[519, 199], [529, 319], [541, 455], [547, 450], [531, 319], [508, 194], [541, 454], [456, 408], [438, 381], [432, 335], [553, 315], [514, 370.99999999999994], [440, 392.99999999999994], [453, 364], [512, 345], [559, 305]], "image": "d03279.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [503.5, 334.5], "scale": 1.5499, "joints": [[560, 215], [549, 327], [520, 464.00000000000006], [525, 459.99999999999994], [553, 324], [584, 206], [517, 458.99999999999994], [446, 402], [438, 370.99999999999994], [433, 312], [580, 295], [506, 382], [441, 388], [461, 356], [517, 340], [593, 289]], "image": "d03280.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [526, 347], "scale": 1.4649, "joints": [[612, 241.99999999999997], [573, 342], [509, 475], [516, 463.00000000000006], [588, 340], [636, 248], [512, 465], [453, 370.99999999999994], [448, 360], [452, 306], [550, 348], [490, 380], [440, 377], [466, 349], [519, 338], [594, 314]], "image": "d03281.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 369], "scale": 1.2549000000000001, "joints": [[651, 279], [587, 352], [493, 462.00000000000006], [497, 453], [594, 351], [684, 271], [497, 453], [460, 360], [458, 344], [462, 289], [556, 355], [495, 373.00000000000006], [441, 364], [472, 342], [533, 334], [585, 326]], "image": "d03282.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564, 387.5], "scale": 1.1099, "joints": [[693, 315], [603, 389], [485, 460.99999999999994], [493, 453], [610, 391], [701, 329], [489, 451], [451, 362], [455, 343], [477, 282], [519, 375], [481, 365], [437, 353], [475, 328], [524, 331], [593, 331]], "image": "d03283.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 383.5], "scale": 1.0899, "joints": [[724, 434], [606, 443], [473, 452], [476, 446], [606, 444], [729, 429], [473, 446], [471, 352], [478, 332], [516, 281], [468, 381], [456, 351], [453, 325], [489, 314], [524, 326], [559, 336]], "image": "d03284.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 387], "scale": 1.1649, "joints": [[709, 495], [597, 473], [461, 451], [466, 449], [599, 469], [718, 487.00000000000006], [465, 445], [488, 342], [498, 325], [524, 279], [458, 380], [461, 349], [468, 326], [493, 309], [520, 315], [545, 331]], "image": "d03285.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574.5, 408], "scale": 1.3849, "joints": [[688, 535], [586, 497], [462, 447], [463, 443], [588, 495], [691, 531], [465, 437.99999999999994], [503, 339], [513, 327], [553, 292], [436, 369.99999999999994], [462, 335], [491, 317], [502, 306], [483, 310], [466, 312]], "image": "d03286.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 459], "scale": 1.7249, "joints": [[647, 609], [549, 518], [455, 433], [462, 433], [550, 516], [655, 605], [459, 430], [531, 336], [546, 330], [591, 318], [426, 368.99999999999994], [480, 334], [523, 316], [528, 306], [504, 309], [465, 321]], "image": "d03287.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 474], "scale": 1.7349, "joints": [[612, 622], [531, 531], [454, 429], [466, 428], [537, 528], [615, 618], [462, 426], [542, 342], [560, 340], [608, 326], [431, 367], [486, 331], [539, 319], [549, 317], [511, 309], [477, 310]], "image": "d03288.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 473], "scale": 1.5949, "joints": [[462, 617], [459, 499], [457, 375], [462, 370.99999999999994], [463, 495], [461, 619], [464, 373.00000000000006], [580, 366], [602, 373.00000000000006], [649, 401], [486, 406], [523, 350], [586, 349], [594, 348], [536, 340], [493, 381]], "image": "d03289.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [540, 454], "scale": 1.4549, "joints": [[424, 584], [440, 468], [462, 361], [464, 356], [443, 466], [430, 582], [466, 357], [588, 374.00000000000006], [607, 383], [653, 402], [490, 443], [528, 379], [586, 359], [601, 355], [557, 350], [501, 396.00000000000006]], "image": "d03290.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [432, 215], "scale": 1.5749000000000002, "joints": [[439, 362], [430, 286], [439, 220.00000000000003], [436, 220.00000000000003], [425, 286], [438, 363], [437, 223], [438, 145], [433, 133], [418, 116.00000000000001], [449, 70], [443, 95], [447, 137], [444, 141], [434, 92], [447, 65]], "image": "d03291.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [439, 230.5], "scale": 1.4599000000000002, "joints": [[445, 362], [430, 292], [441, 226], [438, 227], [425, 295], [444, 365], [439, 229], [438, 148], [435, 136], [422, 115], [463, 94.00000000000001], [449, 120.99999999999999], [453, 143], [447, 146], [439, 114], [462, 94.00000000000001]], "image": "d03292.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440.5, 245.5], "scale": 1.3699000000000001, "joints": [[453, 370.99999999999994], [425, 307], [440, 239], [436, 239], [422, 306], [450, 375], [438, 239], [439, 158], [435, 149], [423, 124], [462, 112], [447, 116.00000000000001], [452, 146], [447, 151], [439, 120], [451, 112]], "image": "d03293.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440, 251.5], "scale": 1.3799000000000001, "joints": [[453, 381], [422, 317], [444, 256], [442, 254.00000000000003], [418, 318], [452, 382], [442, 259], [439, 172], [436, 160], [429, 135], [461, 112], [442, 131], [449, 163], [446, 168], [434, 132], [456, 109]], "image": "d03294.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440, 240.5], "scale": 1.5099, "joints": [[452, 384], [422, 321], [449, 260], [450, 259], [421, 325], [453, 385], [449, 259], [440, 183], [438, 166], [439, 146], [431, 103], [420, 133], [442, 173], [443, 176], [415, 137], [426, 100]], "image": "d03295.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424.5, 243.5], "scale": 1.4499000000000002, "joints": [[455, 382], [434, 310], [460, 250], [461, 248], [430, 310], [451, 384], [464, 248], [439, 174], [436, 157], [433, 137], [386, 101], [404, 143], [445, 169], [444, 176], [403, 146], [373, 113]], "image": "d03296.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [430, 241], "scale": 1.1649, "joints": [[461, 347], [480, 273], [494, 211], [497, 210.00000000000003], [477, 275], [458, 349], [493, 209.00000000000003], [436, 162], [422, 153], [416, 124], [350, 199], [396, 180], [431, 158], [432, 163], [396, 187.00000000000003], [352, 207]], "image": "d03297.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [450.5, 237.5], "scale": 0.9899000000000001, "joints": [[491, 325], [484, 252.99999999999997], [504, 194], [505, 194], [484, 254.00000000000003], [489, 326], [502, 191], [436, 169], [421, 162], [405, 133], [393, 252], [421, 210.00000000000003], [434, 166], [432, 172], [416, 211], [388, 239]], "image": "d03298.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [466.5, 230.5], "scale": 0.7999, "joints": [[525, 297], [484, 244], [509, 179], [510, 181], [485, 246], [523, 304], [507, 177], [443, 183], [428, 179], [400, 162], [454, 261], [456, 214], [440, 179], [444, 185.99999999999997], [453, 214], [445, 263]], "image": "d03299.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 205.5], "scale": 0.5199000000000001, "joints": [[549, 250], [489, 232.00000000000003], [504, 167], [506, 166], [488, 232.00000000000003], [550, 254.00000000000003], [506, 167], [452, 190], [436, 202], [408, 204], [503, 241.99999999999997], [486, 212], [447, 195.99999999999997], [452, 198.00000000000003], [485, 212], [502, 246]], "image": "d03300.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [501.5, 206], "scale": 0.5249000000000001, "joints": [[562, 201], [502, 234], [502, 165], [502, 163], [501, 229.99999999999997], [563, 195], [500, 166], [474, 213], [462, 233], [437, 250], [532, 224], [501, 198.00000000000003], [468, 216], [472, 216], [503, 194], [535, 218]], "image": "d03301.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [349.5, 306], "scale": 0.9849000000000001, "joints": [[329, 399], [371, 341], [314, 303], [317, 301], [373, 339], [328, 398], [317, 297], [373, 255.00000000000003], [391, 241.99999999999997], [399, 212], [295, 304], [334, 275], [365, 255.00000000000003], [368, 255.00000000000003], [334, 278], [299, 319]], "image": "d03302.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [514.5, 203], "scale": 0.7649000000000001, "joints": [[527, 147], [547, 203], [483, 191], [480, 192], [545, 203], [525, 144], [484, 199], [521, 237], [532, 251], [548, 273], [546, 177], [518, 205], [523, 243.00000000000003], [517, 240], [503, 198.00000000000003], [535, 177]], "image": "d03303.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533.5, 200], "scale": 0.5549000000000001, "joints": [[491, 156], [546, 194], [484, 212], [486, 213], [545, 195], [495, 155], [492, 217], [539, 235], [560, 238], [587, 250], [527, 175], [522, 210.00000000000003], [548, 234], [539, 227], [507, 212], [522, 178]], "image": "d03304.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532, 221], "scale": 0.4149000000000001, "joints": [[475, 194], [538, 195.99999999999997], [508, 244], [507, 246], [541, 194], [473, 194], [510, 246], [555, 222], [569, 216], [596, 210.00000000000003], [515, 190], [529, 228], [556, 218.99999999999997], [557, 223], [524, 233], [510, 196.99999999999997]], "image": "d03305.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522.5, 221.5], "scale": 0.5499, "joints": [[475, 243.00000000000003], [524, 211], [529, 265], [528, 268], [525, 212], [471, 245], [531, 267], [552, 218], [562, 201], [575, 176], [510, 225], [538, 240.99999999999997], [551, 215], [554, 218], [538, 248], [509, 228]], "image": "d03306.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [527, 244], "scale": 0.6649, "joints": [[507, 301], [522, 236], [554, 281], [553, 282], [519, 234], [501, 299], [557, 278], [541, 223], [534, 206], [533, 177], [516, 261], [542, 247], [542, 217], [545, 218], [551, 252], [513, 264]], "image": "d03307.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538.5, 281.5], "scale": 0.6099000000000001, "joints": [[547, 331], [522, 270], [575, 276], [575, 276], [521, 267], [551, 328], [576, 272], [527, 244], [512, 240], [488, 221.00000000000003], [536, 288], [546, 256], [528, 237], [534, 236], [555, 258], [539, 289]], "image": "d03308.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542, 296.5], "scale": 0.4199000000000001, "joints": [[592, 330], [536, 294], [581, 269], [586, 270], [537, 296], [590, 327], [578, 269], [525, 278], [505, 284], [477, 288], [559, 306], [547, 272], [517, 272], [523, 268], [553, 264], [559, 304]], "image": "d03309.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570, 307.5], "scale": 0.5099000000000001, "joints": [[619, 305], [558, 318], [571, 268], [570, 266], [553, 320], [615, 307], [567, 269], [535, 318], [528, 334], [514, 356], [580, 316], [547, 295], [529, 314], [529, 311], [547, 281], [574, 306]], "image": "d03310.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572, 332.5], "scale": 0.6599, "joints": [[606, 282], [573, 330], [547, 284], [548, 284], [570, 331], [606, 280], [547, 287], [556, 346], [560, 359], [560, 385], [588, 314], [557, 311], [549, 344], [546, 342], [545, 304], [576, 305]], "image": "d03311.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572.5, 319], "scale": 0.6149000000000001, "joints": [[571, 272], [583, 330], [532, 317], [534, 320], [582, 334], [571, 273], [532, 321], [577, 354], [592, 363], [613, 369.99999999999994], [579, 307], [560, 332], [582, 353], [579, 355], [548, 331], [569, 308]], "image": "d03312.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 321], "scale": 0.4649000000000001, "joints": [[529, 299], [581, 327], [538, 345], [534, 347], [584, 329], [530, 296], [538, 348], [587, 346], [611, 342], [638, 346], [557, 319], [563, 347], [593, 348], [592, 354], [558, 351], [555, 319]], "image": "d03313.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 338], "scale": 0.4149000000000001, "joints": [[505, 336], [569, 329], [550, 369.99999999999994], [548, 372.00000000000006], [570, 328], [501, 337], [551, 372.00000000000006], [588, 332], [599, 318], [619, 296], [543, 330], [569, 350], [591, 332], [595, 336], [568, 359], [541, 332]], "image": "d03314.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [548, 338], "scale": 0.5849000000000001, "joints": [[521, 386], [556, 336], [569, 380], [569, 383], [556, 338], [518, 385], [571, 382], [574, 325], [572, 307], [576, 279], [541, 355], [575, 351], [579, 322], [582, 325], [578, 360], [545, 358]], "image": "d03315.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565, 363], "scale": 0.6649, "joints": [[557, 413], [551, 356], [591, 375], [593, 376], [553, 355], [561, 412], [594, 373.00000000000006], [555, 328], [544, 318], [529, 296], [555, 379], [572, 348], [560, 324], [563, 326], [586, 354], [555, 378]], "image": "d03316.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561, 378.5], "scale": 0.4799000000000001, "joints": [[609, 413.99999999999994], [555, 367], [604, 359], [604, 359], [555, 366], [606, 412], [602, 355], [551, 347], [531, 347], [500, 343], [574, 385], [569, 346], [544, 340], [548, 338], [576, 348], [576, 384]], "image": "d03317.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [583, 364.5], "scale": 0.3899000000000001, "joints": [[629, 379], [571, 380], [595, 338], [597, 338], [573, 378], [629, 385], [589, 337], [548, 373.00000000000006], [538, 383], [519, 396.00000000000006], [594, 383], [568, 353], [545, 369.99999999999994], [545, 363], [570, 346], [591, 375]], "image": "d03318.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597.5, 376], "scale": 0.5849000000000001, "joints": [[633, 343], [586, 381], [579, 329], [577, 329], [586, 380], [631, 336], [576, 331], [568, 390], [568, 403], [559, 428], [605, 368], [571, 362], [565, 388], [561, 389], [565, 356], [601, 361]], "image": "d03319.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 353.5], "scale": 0.6599, "joints": [[609, 310], [605, 368], [561, 335], [564, 337], [602, 369.99999999999994], [603, 304], [562, 343], [592, 385], [600, 395.00000000000006], [615, 421], [606, 342], [580, 365], [595, 389], [590, 391], [568, 362], [596, 345]], "image": "d03320.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597.5, 334], "scale": 0.5649000000000001, "joints": [[586, 294], [608, 345], [558, 357], [554, 356], [606, 351], [582, 294], [556, 357], [611, 369.99999999999994], [629, 372.00000000000006], [654, 363], [599, 330], [592, 365], [619, 369.99999999999994], [614, 374.00000000000006], [584, 369.99999999999994], [596, 332]], "image": "d03321.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 328.5], "scale": 0.6399000000000001, "joints": [[560, 275], [601, 331], [562, 368.99999999999994], [563, 374.00000000000006], [602, 330], [559, 275], [565, 373.00000000000006], [616, 343], [629, 333], [647, 314], [593, 311], [599, 351], [622, 351], [624, 350], [595, 358], [590, 320]], "image": "d03322.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [583.5, 323], "scale": 0.7549000000000001, "joints": [[544, 268], [583, 330], [588, 383], [590, 386], [583, 331], [542, 270], [593, 382], [610, 333], [610, 312], [609, 280], [581, 317], [601, 336], [621, 324], [622, 328], [603, 343], [578, 319]], "image": "d03323.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 332], "scale": 0.6749, "joints": [[522, 285], [570, 332], [614, 374.00000000000006], [617, 373.00000000000006], [571, 333], [523, 282], [617, 368.99999999999994], [609, 321], [600, 307], [585, 282], [579, 326], [602, 323], [614, 307], [618, 312], [610, 338], [576, 324]], "image": "d03324.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 334], "scale": 0.4749000000000001, "joints": [[509, 328], [574, 342], [631, 352], [637, 358], [575, 347], [509, 329], [635, 357], [604, 314], [588, 306], [565, 292], [575, 309], [593, 309], [613, 304], [612, 311], [597, 320], [580, 331]], "image": "d03325.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596.5, 361.5], "scale": 0.6599, "joints": [[558, 409], [603, 365], [646, 335], [652, 334], [610, 372.00000000000006], [562, 413], [648, 328], [595, 317], [577, 315], [554, 306], [577, 299], [587, 300], [593, 301], [597, 315], [595, 337], [589, 355]], "image": "d03326.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 380.5], "scale": 0.7999, "joints": [[598, 456], [627, 384], [648, 326], [651, 326], [631, 385], [597, 453], [645, 325], [589, 323], [576, 326], [548, 324], [598, 361], [592, 339], [583, 319], [584, 324], [590, 344], [594, 373.00000000000006]], "image": "d03327.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 390.5], "scale": 0.8199000000000001, "joints": [[655, 458.99999999999994], [652, 395.00000000000006], [648, 320], [652, 322], [652, 395.00000000000006], [654, 459.99999999999994], [649, 321], [590, 337], [571, 342], [545, 345], [602, 410], [595, 365], [583, 334], [588, 337], [597, 366], [601, 409]], "image": "d03328.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625, 384], "scale": 0.7349000000000001, "joints": [[691, 455], [670, 382], [647, 326], [648, 329], [671, 380], [691, 451], [644, 327], [590, 362], [580, 366], [548, 370.99999999999994], [607, 428], [599, 382], [583, 351], [589, 356], [600, 387], [610, 429]], "image": "d03329.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [645.5, 391.5], "scale": 0.6499000000000001, "joints": [[721, 444], [683, 391.99999999999994], [647, 335], [651, 335], [686, 391.99999999999994], [722, 445], [646, 339], [598, 384], [588, 395.00000000000006], [564, 408], [638, 431], [624, 396.00000000000006], [601, 370.99999999999994], [597, 383], [609, 408], [622, 444]], "image": "d03330.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [660, 451.5], "scale": 0.9199, "joints": [[756, 447], [640, 462.00000000000006], [681, 377], [677, 375], [640, 464.00000000000006], [754, 440.00000000000006], [673, 376], [607, 462.00000000000006], [590, 480], [550, 501], [688, 465], [647, 409], [598, 454], [597, 455], [634, 403], [676, 448]], "image": "d03331.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673, 468.5], "scale": 1.0399, "joints": [[730, 382], [676, 483.99999999999994], [644, 385], [641, 384], [662, 478], [735, 385], [638, 388], [637, 494], [638, 525], [644, 577], [701, 448], [646, 449], [641, 511], [630, 508.00000000000006], [613, 436], [680, 441.00000000000006]], "image": "d03332.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658, 459], "scale": 1.1349, "joints": [[697, 364], [683, 486.00000000000006], [615, 410], [611, 409], [676, 478], [700, 366], [615, 413], [656, 502], [668, 528], [698, 572], [699, 435], [649, 454], [665, 507.00000000000006], [645, 510], [614, 449], [669, 422]], "image": "d03333.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669, 438], "scale": 0.8849000000000001, "joints": [[626, 369.99999999999994], [687, 456], [590, 456], [589, 456], [682, 459.99999999999994], [623, 370.99999999999994], [593, 458], [685, 490], [707, 501], [749, 511], [664, 413.99999999999994], [642, 479], [686, 495], [679, 501], [617, 481.99999999999994], [646, 417.00000000000006]], "image": "d03334.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670, 443], "scale": 0.7849, "joints": [[593, 389], [677, 446], [593, 475], [588, 477], [674, 445], [589, 389], [591, 478], [689, 480], [719, 479], [775, 475], [641, 419.00000000000006], [641, 480], [703, 481.99999999999994], [696, 483.99999999999994], [627, 488], [625, 421]], "image": "d03335.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 456.5], "scale": 0.6899000000000001, "joints": [[571, 421], [663, 444], [595, 497], [596, 495], [661, 440.00000000000006], [566, 419.00000000000006], [600, 497], [687, 459.99999999999994], [718, 451], [756, 428], [622, 429], [643, 482.99999999999994], [696, 464.00000000000006], [695, 470], [637, 492], [610, 433]], "image": "d03336.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 451], "scale": 0.9249, "joints": [[537, 488], [627, 436], [621, 526], [619, 527], [625, 436], [531, 492], [624, 525], [665, 430], [676, 400], [698, 363], [596, 463.00000000000006], [646, 478], [671, 430], [675, 430], [649, 492], [595, 463.00000000000006]], "image": "d03337.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601.5, 447.5], "scale": 1.0499, "joints": [[552, 527], [613, 436.99999999999994], [638, 529], [637, 532], [613, 432], [554, 527], [641, 528], [652, 418.00000000000006], [648, 392.99999999999994], [663, 338], [594, 477], [647, 477], [660, 418.00000000000006], [658, 423], [653, 488], [593, 478]], "image": "d03338.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 456.5], "scale": 1.1899000000000002, "joints": [[581, 556], [604, 449], [658, 524], [659, 527], [602, 451], [573, 559], [664, 521], [630, 419.00000000000006], [613, 391.99999999999994], [612, 340], [595, 491], [640, 469], [635, 415.99999999999994], [634, 414.99999999999994], [654, 474], [600, 488]], "image": "d03339.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621, 474], "scale": 1.1549, "joints": [[616, 574], [599, 465], [671, 510], [673, 514], [597, 467], [607, 578], [675, 509.00000000000006], [606, 418.00000000000006], [581, 403], [566, 355], [604, 503.99999999999994], [637, 462.00000000000006], [616, 422], [623, 424], [656, 469], [606, 503.99999999999994]], "image": "d03340.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615.5, 496], "scale": 1.0449000000000002, "joints": [[633, 585], [594, 469], [680, 493], [685, 495], [597, 472], [644, 579], [685, 490], [597, 434], [567, 422], [540, 393.99999999999994], [611, 511], [622, 452], [598, 419.00000000000006], [606, 414.99999999999994], [650, 458.99999999999994], [622, 514]], "image": "d03341.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [617.5, 491], "scale": 0.7349000000000001, "joints": [[699, 547], [602, 495], [676, 444], [680, 449], [609, 493], [711, 535], [676, 445], [577, 476], [554, 483.99999999999994], [510, 503], [643, 516], [627, 458], [569, 466], [573, 467], [631, 444], [646, 510]], "image": "d03342.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [627, 487], "scale": 0.6849000000000001, "joints": [[728, 527], [613, 513], [672, 436], [675, 437.99999999999994], [617, 513], [731, 507.00000000000006], [667, 435], [580, 495], [562, 509.00000000000006], [518, 522], [654, 512], [615, 458], [572, 488], [571, 485.00000000000006], [618, 451], [656, 507.00000000000006]], "image": "d03343.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [646, 494], "scale": 0.8749000000000001, "joints": [[743, 469], [629, 511], [648, 422], [652, 421], [624, 516], [739, 463.00000000000006], [647, 424], [596, 512], [585, 536], [546, 560], [676, 504.99999999999994], [623, 477], [592, 520], [592, 512], [608, 457], [674, 494]], "image": "d03344.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [656, 511], "scale": 1.0149000000000001, "joints": [[726, 441.00000000000006], [637, 511], [641, 426], [633, 423], [631, 514], [726, 436.99999999999994], [634, 427], [612, 523], [612, 551], [585, 606], [683, 489], [621, 480], [607, 532], [601, 531], [601, 467], [675, 481.99999999999994]], "image": "d03345.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 499], "scale": 1.0849000000000002, "joints": [[701, 407], [664, 505.99999999999994], [616, 428], [614, 429], [653, 512], [704, 408], [614, 436], [637, 532], [637, 552], [642, 611], [686, 471], [633, 478], [645, 535], [620, 542], [605, 485.00000000000006], [668, 464.00000000000006]], "image": "d03346.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [652.5, 471], "scale": 1.1049, "joints": [[681, 397.00000000000006], [676, 492], [600, 443], [597, 442.00000000000006], [669, 495], [677, 391], [598, 452], [655, 522], [673, 549], [682, 595], [686, 449], [640, 480], [660, 522], [644, 533], [605, 483.99999999999994], [650, 451]], "image": "d03347.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [655, 454.5], "scale": 1.0399, "joints": [[661, 373.00000000000006], [673, 485.00000000000006], [584, 462.00000000000006], [586, 458.99999999999994], [667, 486.00000000000006], [653, 373.00000000000006], [589, 466], [667, 512], [689, 525], [718, 554], [665, 442.00000000000006], [640, 488], [674, 517], [665, 521], [616, 490], [653, 444]], "image": "d03348.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [657, 434.5], "scale": 0.9499000000000001, "joints": [[645, 367], [678, 470], [576, 477], [578, 476], [673, 470], [633, 365], [581, 481], [675, 502], [699, 505.99999999999994], [750, 520], [670, 431], [644, 491], [686, 504.99999999999994], [684, 508.00000000000006], [627, 495], [645, 442.00000000000006]], "image": "d03349.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 432.5], "scale": 0.9899000000000001, "joints": [[611, 357], [667, 449], [585, 493], [584, 497], [663, 451], [607, 356], [589, 497], [678, 482.99999999999994], [709, 476], [750, 470], [650, 419.00000000000006], [649, 483.99999999999994], [693, 482.99999999999994], [691, 490], [634, 492], [637, 422]], "image": "d03350.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650, 428.5], "scale": 1.0499, "joints": [[586, 342], [655, 435], [582, 516], [583, 515], [652, 434], [581, 341], [591, 511], [682, 455], [704, 437.99999999999994], [736, 412], [641, 408], [646, 480], [697, 453], [690, 462.00000000000006], [633, 487.00000000000006], [631, 417.00000000000006]], "image": "d03351.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629.5, 428], "scale": 1.1849, "joints": [[565, 332], [634, 418.00000000000006], [601, 529], [596, 529], [635, 418.00000000000006], [560, 331], [602, 526], [674, 438.99999999999994], [680, 413], [703, 380], [621, 409], [641, 457], [679, 442.00000000000006], [679, 449], [637, 474], [618, 408]], "image": "d03352.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614, 426], "scale": 1.2849000000000002, "joints": [[544, 331], [606, 422], [621, 535], [618, 537], [604, 421], [544, 329], [623, 531], [663, 428], [661, 402], [663, 363], [620, 354], [653, 399], [677, 418.00000000000006], [677, 428], [643, 463.00000000000006], [605, 415.99999999999994]], "image": "d03353.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610.5, 424.5], "scale": 1.3099, "joints": [[542, 327], [603, 423], [624, 528], [622, 530], [602, 422], [539, 327], [630, 527], [663, 424], [660, 396.00000000000006], [673, 358], [607, 406], [646, 415.99999999999994], [677, 418.00000000000006], [675, 428], [643, 458.99999999999994], [607, 413.99999999999994]], "image": "d03354.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600, 432.5], "scale": 1.2299, "joints": [[521, 338], [591, 429], [642, 522], [641, 526], [589, 432], [521, 334], [644, 522], [649, 419.00000000000006], [640, 386], [640, 340], [594, 418.00000000000006], [630, 429], [663, 412], [666, 413.99999999999994], [632, 449], [597, 418.00000000000006]], "image": "d03355.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 423.5], "scale": 1.1699000000000002, "joints": [[498, 348], [571, 429], [653, 503], [658, 508.00000000000006], [570, 428], [497, 348], [659, 503.99999999999994], [642, 405], [630, 391], [598, 346], [640, 361], [657, 377], [662, 392.99999999999994], [656, 413], [644, 446], [586, 420]], "image": "d03356.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580.5, 435], "scale": 0.9749000000000001, "joints": [[476, 376], [576, 436.99999999999994], [665, 475], [672, 494], [568, 448], [476, 382], [670, 496], [626, 395.00000000000006], [612, 386], [572, 364], [629, 355], [646, 365], [651, 376], [642, 393.99999999999994], [626, 411], [582, 420]], "image": "d03357.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568, 428.5], "scale": 0.8299000000000001, "joints": [[464, 409], [574, 441.00000000000006], [670, 466], [675, 475], [574, 447], [462, 412], [678, 470], [618, 387], [593, 380], [561, 361], [670, 366], [648, 367], [625, 364], [613, 386], [614, 405], [587, 417.00000000000006]], "image": "d03358.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578, 423], "scale": 0.7449000000000001, "joints": [[472, 443], [570, 448], [684, 453], [692, 460.99999999999994], [579, 458.99999999999994], [472, 449], [692, 457], [613, 383], [589, 374.00000000000006], [538, 360], [629, 349], [663, 359], [633, 359], [616, 381], [604, 391.99999999999994], [584, 413.99999999999994]], "image": "d03359.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 421], "scale": 0.8049000000000001, "joints": [[505, 481], [592, 451], [683, 436], [689, 438.99999999999994], [606, 463.00000000000006], [502, 486.00000000000006], [689, 436], [610, 382], [585, 379], [540, 359], [585, 354], [601, 357], [610, 364], [608, 385], [600, 401], [577, 414.99999999999994]], "image": "d03360.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 428], "scale": 0.9549000000000001, "joints": [[500, 507.00000000000006], [600, 459.99999999999994], [688, 418.00000000000006], [695, 421], [610, 463.00000000000006], [507, 507.00000000000006], [689, 417.00000000000006], [594, 372.00000000000006], [571, 368.99999999999994], [519, 352], [563, 423], [587, 387], [596, 351], [600, 354], [598, 389], [579, 420]], "image": "d03361.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603, 458.5], "scale": 1.2999, "joints": [[546, 567], [610, 470], [677, 385], [683, 386], [617, 471], [552, 564], [679, 385], [576, 359], [550, 364], [511, 354], [578, 429], [581, 393.99999999999994], [577, 351], [581, 352], [585, 393.99999999999994], [576, 434]], "image": "d03362.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600, 456.5], "scale": 1.3499, "joints": [[587, 589], [642, 477], [684, 364], [687, 365], [638, 479], [584, 591], [681, 362], [574, 357], [550, 363], [497, 354], [575, 440.00000000000006], [579, 391.99999999999994], [570, 351], [573, 352], [581, 401], [579, 449]], "image": "d03363.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618, 275.5], "scale": 0.5099000000000001, "joints": [[721, 291], [650, 303], [581, 319], [583, 313], [652, 297], [721, 286], [580, 317], [523, 276], [518, 258], [504, 229.99999999999997], [609, 304], [568, 303], [521, 285], [527, 276], [566, 283], [601, 285]], "image": "d03364.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 438], "scale": 1.3649, "joints": [[711, 564], [687, 433], [669, 330], [668, 334], [685, 436], [706, 566], [661, 327], [559, 365], [537, 379], [489, 390], [641, 401], [603, 368], [562, 347], [553, 352], [568, 403], [582, 470]], "image": "d03365.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616, 432.5], "scale": 1.3199, "joints": [[737, 545], [703, 424], [667, 319], [664, 322], [701, 429], [733, 548], [659, 322], [553, 375], [536, 385], [492, 395.00000000000006], [638, 430], [615, 377], [564, 355], [553, 356], [578, 420], [585, 492]], "image": "d03366.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [652, 416.5], "scale": 1.2299, "joints": [[796, 502], [731, 417.00000000000006], [662, 319], [661, 318], [730, 418.00000000000006], [797, 505.99999999999994], [657, 319], [578, 389], [556, 410], [506, 428], [646, 469], [618, 411], [581, 375], [565, 388], [590, 444], [611, 519]], "image": "d03367.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673.5, 415.5], "scale": 1.2899, "joints": [[814, 483.99999999999994], [727, 390], [651, 313], [646, 317], [726, 393.99999999999994], [812, 488], [643, 319], [577, 409], [565, 429], [526, 444], [649, 487.00000000000006], [627, 422], [588, 388], [568, 410], [600, 458], [619, 532]], "image": "d03368.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [678.5, 423], "scale": 1.3649, "joints": [[820, 460.99999999999994], [733, 391], [645, 318], [643, 321], [733, 395.00000000000006], [815, 467], [637, 324], [590, 428], [583, 447], [533, 469], [650, 509.00000000000006], [625, 440.00000000000006], [594, 410], [577, 429], [606, 473], [629, 550]], "image": "d03369.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [697.5, 436.5], "scale": 1.3899000000000001, "joints": [[836, 450], [734, 381], [638, 324], [636, 326], [732, 385], [836, 454], [633, 331], [596, 445], [591, 469], [551, 489], [654, 529], [634, 466], [602, 434], [593, 447], [618, 493], [640, 564]], "image": "d03370.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472, 262], "scale": 0.7849, "joints": [[390, 325], [428, 267], [439, 201], [443, 202], [432, 268], [392, 325], [444, 200], [523, 216], [533, 218.99999999999997], [562, 218.99999999999997], [534, 299], [528, 255.00000000000003], [526, 214], [525, 215], [523, 254.00000000000003], [526, 302]], "image": "d03371.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [455, 242], "scale": 0.6849000000000001, "joints": [[372, 293], [431, 251], [448, 190], [453, 191], [430, 251], [372, 295], [454, 191], [512, 235], [517, 240], [543, 255.00000000000003], [467, 290], [491, 263], [517, 235], [516, 238], [492, 259], [471, 289]], "image": "d03372.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [428, 235], "scale": 0.6749, "joints": [[359, 218], [431, 217], [484, 188], [483, 185.99999999999997], [433, 218], [361, 217], [485, 187.00000000000003], [466, 261], [464, 270], [466, 305], [397, 207], [434, 229.99999999999997], [465, 262], [465, 260], [434, 228], [397, 209.00000000000003]], "image": "d03373.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [431.5, 226.5], "scale": 0.6899000000000001, "joints": [[365, 173], [424, 206], [495, 207.99999999999997], [499, 210.00000000000003], [423, 203], [366, 170], [497, 211], [447, 250], [433, 261], [414, 281], [421, 176], [435, 207.99999999999997], [438, 251], [439, 254.00000000000003], [435, 204], [425, 174]], "image": "d03374.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441, 203], "scale": 0.7149000000000001, "joints": [[420, 146], [443, 202], [492, 241.99999999999997], [495, 240], [446, 198.00000000000003], [419, 146], [491, 241.99999999999997], [426, 243.00000000000003], [410, 245], [388, 250], [455, 173], [451, 205], [425, 244], [425, 245], [447, 205], [462, 184]], "image": "d03375.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441, 209], "scale": 0.7849, "joints": [[470, 134], [459, 202], [479, 266], [479, 265], [463, 199], [470, 137], [475, 266], [419, 230.99999999999997], [408, 223], [390, 207.99999999999997], [472, 185.99999999999997], [466, 210.00000000000003], [424, 226], [420, 225], [464, 204], [481, 199]], "image": "d03376.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467, 223], "scale": 0.7449000000000001, "joints": [[520, 169], [475, 214], [454, 281], [454, 281], [480, 216], [524, 172], [451, 281], [430, 225], [421, 209.00000000000003], [416, 185.99999999999997], [486, 222], [470, 228], [429, 218.99999999999997], [434, 217], [475, 220.00000000000003], [485, 224]], "image": "d03377.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 241.5], "scale": 0.6199000000000001, "joints": [[552, 226], [479, 240.99999999999997], [425, 281], [427, 281], [481, 241.99999999999997], [553, 220.00000000000003], [425, 276], [445, 214], [451, 203], [456, 178], [500, 250], [472, 244], [447, 220.00000000000003], [449, 218.99999999999997], [473, 240.99999999999997], [497, 250]], "image": "d03378.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [474, 248.5], "scale": 0.4899000000000001, "joints": [[541, 289], [482, 272], [412, 267], [413, 265], [481, 271], [541, 286], [411, 264], [465, 230.99999999999997], [478, 224], [500, 207.99999999999997], [480, 296], [474, 267], [471, 233], [470, 235], [475, 260], [478, 289]], "image": "d03379.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [463, 286.5], "scale": 0.6799000000000001, "joints": [[514, 344], [472, 291], [420, 249], [420, 248], [471, 290], [516, 343], [422, 246], [477, 256], [491, 259], [518, 260], [457, 306], [467, 298], [478, 259], [479, 259], [461, 288], [459, 300]], "image": "d03380.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [463.5, 300], "scale": 0.8249000000000001, "joints": [[466, 376], [451, 311], [431, 233], [429, 229.99999999999997], [451, 309], [459, 376], [436, 232.00000000000003], [482, 277], [489, 287], [513, 304], [433, 307], [446, 302], [485, 282], [477, 275], [439, 281], [436, 302]], "image": "d03381.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453.5, 293], "scale": 0.7549000000000001, "joints": [[413, 361], [439, 302], [471, 238], [468, 236], [438, 299], [409, 358], [473, 237], [472, 294], [469, 308], [476, 336], [420, 300], [437, 299], [475, 303], [471, 300], [438, 283], [422, 294]], "image": "d03382.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441, 287], "scale": 0.5549000000000001, "joints": [[380, 317], [443, 283], [503, 259], [504, 255.00000000000003], [446, 282], [381, 316], [507, 260], [464, 301], [458, 310], [443, 330], [426, 275], [431, 284], [466, 311], [464, 301], [443, 272], [430, 271]], "image": "d03383.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [455, 291], "scale": 0.4049000000000001, "joints": [[388, 262], [461, 272], [521, 287], [523, 287], [461, 272], [390, 258], [522, 295], [460, 299], [449, 299], [420, 306], [437, 254.00000000000003], [447, 261], [453, 304], [454, 299], [441, 258], [453, 252.99999999999997]], "image": "d03384.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481.5, 274.5], "scale": 0.6899000000000001, "joints": [[430, 218], [482, 269], [522, 316], [523, 316], [484, 269], [435, 214], [518, 321], [467, 286], [461, 279], [439, 266], [483, 244], [480, 249], [464, 280], [469, 273], [487, 245], [485, 247]], "image": "d03385.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496.5, 261.5], "scale": 0.8299000000000001, "joints": [[507, 199], [509, 265], [510, 334], [512, 333], [510, 266], [512, 198.00000000000003], [506, 335], [490, 278], [488, 260], [484, 239], [524, 254.00000000000003], [517, 254.00000000000003], [485, 268], [485, 265], [529, 250], [523, 249]], "image": "d03386.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 278.5], "scale": 0.6699, "joints": [[572, 218], [537, 268], [488, 330], [490, 331], [542, 268], [577, 220.00000000000003], [484, 325], [513, 270], [524, 258], [531, 232.00000000000003], [555, 282], [549, 277], [519, 263], [516, 268], [550, 288], [556, 280]], "image": "d03387.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 284.5], "scale": 0.4099000000000001, "joints": [[614, 276], [555, 289], [483, 305], [485, 304], [558, 288], [616, 280], [484, 300], [528, 273], [541, 269], [565, 259], [569, 307], [555, 302], [539, 274], [541, 277], [574, 302], [554, 310]], "image": "d03388.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551, 294.5], "scale": 0.5099000000000001, "joints": [[614, 337], [557, 311], [492, 278], [491, 280], [558, 308], [613, 327], [490, 276], [549, 279], [562, 281], [588, 288], [546, 317], [552, 327], [555, 286], [553, 286], [536, 310], [543, 313]], "image": "d03389.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 308.5], "scale": 0.7799, "joints": [[576, 377], [545, 322], [516, 255.00000000000003], [514, 255.00000000000003], [547, 321], [573, 379], [520, 251], [555, 294], [565, 304], [585, 327], [528, 319], [532, 331], [563, 296], [560, 293], [526, 308], [525, 324]], "image": "d03390.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551.5, 310.5], "scale": 0.8099000000000001, "joints": [[522, 375], [534, 304], [551, 247], [549, 245], [533, 304], [516, 378], [558, 248], [560, 303], [559, 316], [559, 346], [513, 302], [515, 311], [559, 309], [563, 307], [517, 298], [506, 313]], "image": "d03391.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541.5, 292], "scale": 0.6149000000000001, "joints": [[479, 334], [538, 286], [588, 254.00000000000003], [590, 254.00000000000003], [537, 287], [475, 330], [593, 260], [560, 306], [550, 315], [531, 336], [518, 284], [529, 290], [558, 312], [552, 304], [530, 275], [520, 280]], "image": "d03392.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 283], "scale": 0.4449000000000001, "joints": [[482, 267], [540, 271], [609, 280], [611, 279], [542, 272], [482, 265], [612, 288], [558, 296], [538, 301], [512, 304], [532, 247], [544, 262], [546, 299], [543, 297], [542, 247], [528, 244]], "image": "d03393.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [560.5, 266.5], "scale": 0.6799000000000001, "joints": [[509, 211], [562, 257], [613, 304], [615, 302], [564, 254.00000000000003], [511, 209.00000000000003], [611, 309], [556, 297], [544, 291], [516, 283], [569, 236], [572, 263], [549, 297], [552, 286], [570, 260], [582, 240]], "image": "d03394.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 258.5], "scale": 0.8199000000000001, "joints": [[585, 192], [598, 258], [609, 322], [610, 322], [600, 258], [589, 185.99999999999997], [604, 322], [557, 290], [547, 278], [529, 252.99999999999997], [606, 224], [588, 256], [553, 283], [560, 281], [586, 267], [613, 230.99999999999997]], "image": "d03395.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600.5, 263], "scale": 0.7949, "joints": [[647, 201], [620, 266], [594, 328], [597, 326], [624, 264], [656, 204], [589, 323], [561, 275], [558, 261], [557, 233], [626, 248], [595, 259], [553, 271], [553, 270], [594, 257], [631, 246]], "image": "d03396.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [630, 279], "scale": 0.6349000000000001, "joints": [[699, 245], [646, 284], [583, 318], [586, 317], [654, 289], [712, 255.00000000000003], [583, 315], [571, 259], [573, 244], [585, 209.00000000000003], [638, 269], [603, 267], [574, 258], [579, 254.00000000000003], [603, 264], [639, 264]], "image": "d03397.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [638, 296.5], "scale": 0.8299000000000001, "joints": [[707, 375], [646, 338], [580, 306], [580, 305], [648, 339], [705, 369.99999999999994], [583, 302], [604, 246], [613, 235], [634, 213], [632, 316], [611, 291], [599, 254.00000000000003], [599, 250], [613, 281], [632, 310]], "image": "d03398.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621.5, 325], "scale": 0.9849000000000001, "joints": [[663, 418.00000000000006], [623, 362], [583, 304], [582, 300], [623, 361], [663, 413], [586, 301], [615, 252.99999999999997], [635, 240], [665, 228], [625, 324], [611, 293], [617, 248], [615, 248], [615, 289], [626, 322]], "image": "d03399.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 394], "scale": 0.6449000000000001, "joints": [[480, 374.00000000000006], [546, 359], [606, 347], [605, 345], [544, 355], [477, 376], [609, 348], [673, 391.99999999999994], [679, 398], [696, 413], [664, 459.99999999999994], [670, 425], [682, 398], [679, 398], [667, 422], [663, 458]], "image": "d03400.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [539.5, 300], "scale": 0.8249000000000001, "joints": [[400, 251], [545, 273], [675, 285], [678, 284], [543, 268], [404, 250], [677, 298], [553, 322], [527, 326], [470, 339], [521, 225], [515, 264], [536, 339], [548, 312], [544, 236], [523, 229]], "image": "d03401.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [555, 290], "scale": 1.1249, "joints": [[428, 205], [552, 265], [672, 326], [679, 328], [556, 260], [432, 200], [673, 338], [551, 317], [526, 313], [455, 308], [550, 216], [529, 237], [523, 321], [542, 302], [569, 236], [554, 223]], "image": "d03402.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 279], "scale": 1.3849, "joints": [[467, 165], [570, 262], [657, 360], [666, 360], [576, 261], [479, 159], [658, 368], [541, 304], [522, 297], [477, 267], [580, 217], [557, 240], [522, 307], [550, 290], [585, 229], [572, 207]], "image": "d03403.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 264], "scale": 1.7849000000000002, "joints": [[580, 132], [602, 267], [613, 413], [613, 413], [604, 265], [593, 130], [601, 415.99999999999994], [557, 292], [547, 260], [541, 214], [637, 232.00000000000003], [606, 248], [552, 270], [559, 268], [623, 259], [635, 273]], "image": "d03404.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 274.5], "scale": 1.6799000000000002, "joints": [[639, 132], [613, 281], [575, 418.00000000000006], [573, 420], [614, 281], [651, 138], [565, 418.00000000000006], [569, 277], [570, 244], [568, 190], [654, 256], [639, 264], [572, 265], [581, 262], [647, 251], [643, 274]], "image": "d03405.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [599, 293.5], "scale": 1.4099000000000002, "joints": [[700, 177], [635, 273], [541, 397.00000000000006], [545, 395.00000000000006], [639, 270], [714, 177], [536, 395.00000000000006], [575, 271], [589, 251], [608, 200], [667, 283], [644, 288], [579, 265], [581, 267], [654, 277], [645, 298]], "image": "d03406.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621.5, 307], "scale": 0.8649000000000001, "joints": [[760, 273], [651, 308], [499, 349], [501, 348], [654, 308], [759, 279], [495, 340], [586, 274], [610, 259], [669, 225], [659, 334], [639, 335], [601, 267], [607, 269], [663, 323], [651, 337]], "image": "d03407.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613, 284.5], "scale": 0.6699, "joints": [[757, 333], [633, 323], [475, 306], [478, 307], [639, 320], [769, 321], [475, 300], [597, 269], [623, 267], [672, 261], [635, 363], [626, 345], [613, 279], [613, 282], [646, 337], [640, 357]], "image": "d03408.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 296], "scale": 0.9749000000000001, "joints": [[736, 390], [605, 336], [478, 266], [479, 266], [611, 334], [749, 383], [483, 264], [593, 278], [615, 278], [668, 277], [598, 360], [604, 350], [611, 275], [610, 281], [609, 344], [605, 357]], "image": "d03409.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569, 317], "scale": 1.6249, "joints": [[639, 463.00000000000006], [576, 347], [495, 198.00000000000003], [498, 199], [576, 345], [645, 463.00000000000006], [506, 195], [590, 282], [604, 300], [636, 348], [527, 347], [549, 350], [599, 292], [588, 294], [531, 322], [536, 347]], "image": "d03410.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549.5, 297], "scale": 1.6149, "joints": [[554, 435], [532, 310], [526, 168], [524, 165], [529, 308], [546, 438.99999999999994], [536, 170], [568, 274], [580, 300], [606, 356], [498, 318], [518, 340], [585, 296], [575, 290], [502, 296], [502, 339]], "image": "d03411.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549.5, 284], "scale": 1.6549, "joints": [[489, 427], [512, 285], [547, 152], [544, 148], [515, 285], [486, 425], [560, 154], [559, 270], [562, 302], [560, 348], [479, 286], [501, 297], [563, 291], [556, 280], [499, 266], [486, 290]], "image": "d03412.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516, 212.5], "scale": 1.0299, "joints": [[382, 303], [506, 218], [601, 146], [603, 145], [501, 217], [376, 302], [608, 156], [534, 258], [512, 276], [485, 306], [452, 211], [481, 223], [525, 267], [520, 236], [487, 194], [465, 195.99999999999997]], "image": "d03413.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 194], "scale": 0.9049, "joints": [[354, 239], [508, 191], [618, 152], [618, 150], [503, 185.99999999999997], [349, 230.99999999999997], [621, 168], [528, 230.99999999999997], [508, 244], [458, 268], [458, 165], [482, 185.99999999999997], [514, 254.00000000000003], [518, 222], [503, 164], [491, 154]], "image": "d03414.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [506, 197], "scale": 0.7049000000000001, "joints": [[345, 174], [484, 165], [623, 172], [630, 169], [488, 161], [344, 159], [629, 183], [522, 218.99999999999997], [492, 226], [446, 234], [466, 118], [492, 143], [500, 234], [505, 201], [490, 124], [468, 117]], "image": "d03415.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 320], "scale": 1.3649, "joints": [[400, 429], [509, 319], [575, 232.00000000000003], [577, 229.99999999999997], [506, 318], [402, 426], [585, 229.99999999999997], [727, 278], [738, 287], [775, 317], [675, 391.99999999999994], [686, 333], [729, 284], [726, 293], [704, 327], [686, 391.99999999999994]], "image": "d03416.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 342.5], "scale": 1.2599, "joints": [[352, 388], [492, 313], [595, 257], [597, 252.99999999999997], [489, 307], [354, 385], [602, 257], [741, 334], [750, 349], [778, 374.00000000000006], [703, 468], [727, 393.99999999999994], [746, 345], [744, 351], [725, 390], [701, 463.00000000000006]], "image": "d03417.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565.5, 371.5], "scale": 1.3799000000000001, "joints": [[359, 342], [486, 312], [603, 276], [604, 272], [490, 304], [362, 342], [608, 277], [745, 370.99999999999994], [756, 382], [785, 409], [714, 516], [723, 450], [747, 383], [749, 385], [742, 437.99999999999994], [717, 512]], "image": "d03418.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [553, 410], "scale": 1.5149000000000001, "joints": [[337, 318], [491, 306], [612, 293], [614, 291], [493, 298], [341, 319], [619, 292], [743, 393.99999999999994], [749, 404], [778, 438.99999999999994], [732, 568], [732, 482.99999999999994], [756, 412], [753, 405], [738, 475], [735, 564]], "image": "d03419.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564.5, 445.5], "scale": 2.0399000000000003, "joints": [[362, 261], [511, 294], [625, 327], [624, 324], [512, 289], [362, 260], [630, 331], [726, 451], [730, 465], [762, 505.99999999999994], [751, 633], [743, 545], [749, 471], [741, 468], [741, 544], [750, 626]], "image": "d03420.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600.5, 265.5], "scale": 1.3899000000000001, "joints": [[583, 395.00000000000006], [611, 328], [583, 275], [584, 274], [614, 327], [586, 396.00000000000006], [586, 273], [610, 188], [615, 181], [628, 147], [580, 132], [609, 143], [604, 193], [610, 191], [611, 148], [574, 130]], "image": "d03421.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [599, 263.5], "scale": 1.4099000000000002, "joints": [[571, 395.00000000000006], [610, 339], [583, 279], [585, 278], [611, 338], [576, 395.00000000000006], [585, 276], [619, 198.00000000000003], [624, 187.00000000000003], [635, 164], [612, 120], [632, 153], [612, 192], [612, 195], [635, 153], [613, 120.99999999999999]], "image": "d03422.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 259.5], "scale": 1.4499000000000002, "joints": [[563, 397.00000000000006], [595, 331], [577, 268], [573, 264], [593, 329], [563, 399], [578, 263], [624, 189], [630, 181], [635, 159], [672, 119], [658, 156], [624, 184], [625, 183], [656, 155], [672, 126]], "image": "d03423.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [634.5, 254], "scale": 1.1049, "joints": [[554, 356], [557, 285], [563, 221.00000000000003], [563, 221.00000000000003], [558, 288], [556, 354], [565, 220.00000000000003], [646, 176], [655, 172], [671, 154], [718, 224], [682, 198.00000000000003], [649, 178], [651, 180], [682, 200], [721, 222]], "image": "d03424.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616.5, 256.5], "scale": 0.9099, "joints": [[544, 335], [560, 262], [562, 194], [563, 193], [562, 261], [543, 336], [566, 192], [650, 187.00000000000003], [663, 185.99999999999997], [690, 174], [674, 270], [661, 229], [654, 194], [656, 193], [660, 229.99999999999997], [669, 279]], "image": "d03425.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 239.5], "scale": 0.8099000000000001, "joints": [[533, 308], [558, 244], [571, 177], [574, 177], [564, 240], [535, 310], [576, 177], [648, 209.00000000000003], [659, 212], [681, 215], [618, 286], [633, 239], [649, 210.00000000000003], [657, 212], [630, 239], [605, 279]], "image": "d03426.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 225.5], "scale": 0.7899, "joints": [[519, 287], [562, 222], [594, 169], [591, 168], [567, 221.00000000000003], [522, 285], [598, 171], [631, 224], [638, 233], [662, 257], [571, 246], [605, 237], [642, 233], [637, 233], [602, 237], [577, 245]], "image": "d03427.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 222], "scale": 0.6549, "joints": [[499, 258], [568, 209.00000000000003], [615, 173], [615, 179], [573, 211], [503, 259], [616, 177], [610, 241.99999999999997], [610, 252], [610, 280], [539, 203], [579, 226], [614, 243.00000000000003], [616, 240.99999999999997], [575, 224], [537, 200]], "image": "d03428.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561.5, 222], "scale": 0.5749000000000001, "joints": [[488, 213], [569, 195], [631, 189], [629, 191], [575, 202], [486, 216], [627, 189], [593, 244], [584, 256], [567, 274], [558, 181], [567, 214], [587, 245], [586, 240], [565, 209.00000000000003], [559, 177]], "image": "d03429.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564, 208.5], "scale": 0.5199000000000001, "joints": [[499, 162], [560, 187.00000000000003], [625, 214], [627, 218], [561, 184.99999999999997], [499, 162], [626, 225], [570, 237], [554, 240.99999999999997], [527, 245], [571, 176], [566, 205], [564, 245], [569, 236], [570, 184.99999999999997], [579, 176]], "image": "d03430.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 192], "scale": 0.7349000000000001, "joints": [[552, 126.99999999999999], [579, 191], [617, 244], [617, 245], [579, 185.99999999999997], [556, 128], [612, 247], [554, 229.99999999999997], [542, 228], [511, 218], [588, 181], [577, 195.99999999999997], [548, 229.99999999999997], [552, 221.00000000000003], [576, 182], [585, 181]], "image": "d03431.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [560, 201], "scale": 0.8149000000000001, "joints": [[603, 126], [592, 200], [590, 269], [590, 268], [595, 196.99999999999997], [605, 128], [583, 267], [547, 222], [536, 210.00000000000003], [511, 187.00000000000003], [600, 199], [591, 204], [545, 217], [551, 212], [596, 196.99999999999997], [601, 201]], "image": "d03432.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 235], "scale": 0.5949000000000001, "joints": [[669, 233], [587, 248], [537, 274], [536, 270], [587, 246], [672, 228], [534, 268], [563, 213], [572, 206], [582, 178], [596, 250], [591, 252.99999999999997], [570, 222], [577, 224], [595, 237], [599, 246]], "image": "d03433.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 254.5], "scale": 0.43990000000000007, "joints": [[653, 292], [589, 275], [520, 263], [524, 261], [591, 272], [657, 289], [521, 260], [575, 232.00000000000003], [589, 228], [609, 216], [579, 281], [582, 268], [579, 239], [580, 240.99999999999997], [581, 270], [578, 281]], "image": "d03434.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 290.5], "scale": 0.7199000000000001, "joints": [[607, 351], [567, 299], [515, 248], [518, 247], [568, 295], [608, 345], [522, 244], [580, 258], [593, 262], [613, 265], [554, 298], [563, 292], [582, 260], [586, 260], [565, 282], [555, 295]], "image": "d03435.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [564, 297], "scale": 0.7849, "joints": [[540, 363], [542, 297], [531, 235], [533, 237], [545, 300], [548, 364], [537, 236], [577, 277], [584, 288], [602, 310], [529, 298], [549, 297], [581, 286], [575, 287], [544, 288], [529, 298]], "image": "d03436.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [534, 299], "scale": 0.7849, "joints": [[484, 358], [527, 294], [557, 238], [560, 243.00000000000003], [524, 298], [488, 362], [560, 243.00000000000003], [562, 299], [557, 312], [564, 340], [514, 289], [523, 290], [564, 305], [559, 297], [527, 283], [517, 286]], "image": "d03437.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [515.5, 294], "scale": 0.5449, "joints": [[454, 308], [525, 284], [576, 258], [578, 261], [523, 286], [449, 315], [580, 267], [546, 314], [538, 324], [525, 347], [516, 277], [526, 286], [544, 319], [540, 314], [510, 281], [513, 272]], "image": "d03438.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [526.5, 296], "scale": 0.43490000000000006, "joints": [[456, 263], [522, 276], [589, 290], [592, 293], [522, 273], [458, 258], [588, 300], [533, 312], [522, 315], [490, 332], [528, 268], [533, 278], [528, 320], [525, 312], [520, 273], [529, 266]], "image": "d03439.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538.5, 275], "scale": 0.6549, "joints": [[490, 220.00000000000003], [542, 275], [589, 319], [589, 318], [543, 271], [492, 222], [579, 322], [526, 307], [511, 304], [482, 303], [550, 268], [549, 275], [520, 304], [525, 293], [549, 263], [551, 268]], "image": "d03440.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 280], "scale": 0.7649000000000001, "joints": [[565, 217], [561, 280], [576, 341], [577, 344], [563, 275], [566, 218], [571, 343], [533, 297], [523, 283], [501, 262], [575, 278], [572, 283], [529, 289], [538, 281], [576, 279], [572, 284]], "image": "d03441.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568, 291.5], "scale": 0.7699000000000001, "joints": [[613, 238], [577, 294], [546, 350], [549, 349], [579, 293], [615, 237], [546, 350], [543, 288], [550, 277], [551, 251], [592, 297], [585, 300], [548, 286], [556, 283], [591, 291], [590, 300]], "image": "d03442.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 304], "scale": 0.5449, "joints": [[657, 288], [596, 304], [533, 341], [533, 338], [593, 305], [654, 283], [530, 336], [565, 288], [574, 280], [589, 259], [598, 323], [591, 323], [576, 293], [575, 292], [594, 317], [595, 322]], "image": "d03443.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 312], "scale": 0.3949000000000001, "joints": [[658, 346], [593, 327], [526, 314], [526, 313], [594, 325], [659, 340], [528, 308], [586, 294], [595, 294], [616, 294], [579, 341], [592, 335], [591, 301], [593, 300], [590, 329], [587, 338]], "image": "d03444.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 334], "scale": 0.7149000000000001, "joints": [[621, 389], [578, 338], [536, 289], [537, 292], [579, 335], [626, 385], [542, 288], [595, 308], [603, 315], [622, 332], [566, 340], [577, 345], [598, 314], [592, 314], [571, 336], [569, 345]], "image": "d03445.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 335], "scale": 0.8049000000000001, "joints": [[568, 399], [567, 329], [562, 270], [564, 269], [569, 325], [573, 398], [569, 269], [593, 318], [595, 332], [604, 361], [551, 326], [567, 340], [596, 327], [595, 325], [552, 326], [551, 343]], "image": "d03446.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 315.5], "scale": 0.6299000000000001, "joints": [[527, 364], [564, 313], [597, 266], [600, 268], [565, 314], [528, 363], [604, 269], [584, 322], [578, 329], [567, 351], [547, 312], [566, 319], [584, 333], [584, 328], [558, 312], [548, 317]], "image": "d03447.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 288], "scale": 0.5549000000000001, "joints": [[513, 245], [578, 273], [636, 300], [638, 301], [576, 270], [515, 244], [636, 303], [579, 319], [569, 320], [545, 316], [566, 249], [578, 286], [578, 321], [572, 313], [570, 277], [561, 243.00000000000003]], "image": "d03448.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [593.5, 265], "scale": 0.8149000000000001, "joints": [[569, 198.00000000000003], [602, 263], [634, 311], [635, 312], [605, 261], [574, 195.99999999999997], [633, 315], [578, 320], [564, 315], [540, 295], [598, 251], [587, 281], [574, 319], [573, 312], [581, 271], [594, 248]], "image": "d03449.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 259], "scale": 0.8349000000000001, "joints": [[634, 190], [630, 257], [632, 321], [634, 320], [635, 254.00000000000003], [642, 187.00000000000003], [627, 322], [576, 309], [566, 302], [548, 277], [606, 263], [583, 278], [566, 313], [575, 306], [596, 289], [619, 281]], "image": "d03450.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [624, 356.5], "scale": 0.6699, "joints": [[713, 413], [629, 388], [540, 380], [543, 378], [634, 387], [717, 407], [539, 369.99999999999994], [607, 330], [625, 327], [650, 300], [623, 395.00000000000006], [616, 387], [612, 332], [621, 336], [632, 372.00000000000006], [629, 388]], "image": "d03451.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618, 382], "scale": 0.7249000000000001, "joints": [[703, 446], [622, 395.00000000000006], [534, 359], [535, 358], [625, 397.00000000000006], [706, 440.00000000000006], [538, 352], [618, 339], [635, 339], [671, 337], [613, 404], [608, 391.99999999999994], [616, 346], [624, 350], [627, 391], [620, 405]], "image": "d03452.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607, 393.5], "scale": 0.8799000000000001, "joints": [[673, 471], [610, 408], [541, 345], [545, 347], [612, 407], [676, 467], [546, 341], [624, 349], [640, 354], [679, 368], [595, 410], [604, 401], [624, 354], [628, 358], [614, 404], [602, 413]], "image": "d03453.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608.5, 400.5], "scale": 0.9799000000000001, "joints": [[633, 488], [595, 415.99999999999994], [550, 334], [557, 338], [599, 411], [641, 488], [556, 334], [629, 362], [640, 374.00000000000006], [675, 392.99999999999994], [575, 404], [586, 403], [626, 375], [626, 372.00000000000006], [584, 398], [576, 409]], "image": "d03454.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598.5, 402.5], "scale": 1.0899, "joints": [[555, 488], [573, 393.99999999999994], [583, 316], [583, 316], [572, 397.00000000000006], [558, 487.00000000000006], [590, 316], [619, 384], [620, 400], [644, 435], [559, 391], [577, 390], [620, 390], [619, 393.99999999999994], [581, 398], [557, 390]], "image": "d03455.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [579, 394], "scale": 1.0149000000000001, "joints": [[518, 475], [565, 391.99999999999994], [601, 314], [601, 315], [566, 393.99999999999994], [530, 472], [606, 317], [616, 392.99999999999994], [614, 411], [628, 451], [558, 384], [574, 385], [617, 398], [617, 399], [577, 391.99999999999994], [559, 376]], "image": "d03456.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568.5, 383], "scale": 0.8249000000000001, "joints": [[504, 438.99999999999994], [564, 382], [616, 325], [619, 322], [562, 385], [500, 444], [621, 332], [609, 391.99999999999994], [603, 407], [602, 441.00000000000006], [553, 372.00000000000006], [574, 380], [610, 405], [606, 400], [568, 387], [560, 370.99999999999994]], "image": "d03457.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569, 381], "scale": 0.7349000000000001, "joints": [[484, 409], [568, 374.00000000000006], [637, 335], [635, 334], [565, 375], [492, 408], [640, 339], [604, 405], [593, 413.99999999999994], [576, 452], [564, 358], [574, 370.99999999999994], [601, 409], [598, 401], [571, 361], [564, 360]], "image": "d03458.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 379.5], "scale": 0.6099000000000001, "joints": [[484, 373.00000000000006], [572, 362], [648, 344], [649, 343], [569, 359], [483, 368], [651, 349], [596, 404], [586, 412], [554, 436], [567, 351], [576, 366], [586, 409], [586, 398], [575, 350], [569, 350]], "image": "d03459.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 381.5], "scale": 0.5199000000000001, "joints": [[490, 341], [578, 359], [652, 365], [655, 363], [577, 354], [492, 334], [655, 372.00000000000006], [589, 402], [571, 407], [534, 424], [581, 343], [582, 359], [578, 406], [578, 398], [576, 345], [579, 343]], "image": "d03460.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 355.5], "scale": 0.7699000000000001, "joints": [[544, 292], [598, 349], [652, 404], [656, 405], [597, 345], [544, 290], [651, 407], [582, 391], [567, 389], [522, 383], [611, 338], [602, 350], [574, 391], [577, 373.00000000000006], [598, 332], [609, 335]], "image": "d03461.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603, 351], "scale": 0.8549000000000001, "joints": [[585, 280], [615, 356], [648, 418.00000000000006], [652, 419.00000000000006], [616, 357], [581, 278], [640, 420], [585, 386], [571, 377], [544, 360], [626, 345], [619, 355], [576, 377], [581, 369.99999999999994], [619, 337], [628, 343]], "image": "d03462.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598, 353], "scale": 0.9549000000000001, "joints": [[610, 271], [624, 359], [639, 434], [640, 436.99999999999994], [629, 362], [616, 274], [634, 434], [588, 380], [579, 366], [555, 341], [639, 355], [633, 363], [587, 370.99999999999994], [594, 361], [633, 350], [641, 354]], "image": "d03463.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 359], "scale": 0.9349000000000001, "joints": [[645, 281], [631, 360], [626, 437.99999999999994], [630, 437.99999999999994], [636, 358], [655, 279], [622, 438.99999999999994], [593, 369.99999999999994], [589, 358], [578, 331], [643, 363], [638, 370.99999999999994], [593, 366], [600, 361], [642, 355], [646, 366]], "image": "d03464.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625, 372.5], "scale": 0.7899, "joints": [[675, 306], [644, 367], [611, 437.99999999999994], [614, 436.99999999999994], [646, 362], [680, 304], [606, 435], [601, 365], [601, 352], [601, 322], [653, 379], [642, 384], [602, 368], [613, 362], [648, 365], [654, 380]], "image": "d03465.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 390], "scale": 0.6049000000000001, "joints": [[718, 374.00000000000006], [653, 393.99999999999994], [586, 432], [588, 428], [655, 392.99999999999994], [719, 367], [586, 430], [623, 374.00000000000006], [632, 366], [656, 337], [663, 406], [648, 409], [629, 373.00000000000006], [636, 369.99999999999994], [660, 395.00000000000006], [658, 407]], "image": "d03466.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [648.5, 393], "scale": 0.5049000000000001, "joints": [[732, 398], [653, 407], [578, 426], [579, 424], [655, 409], [736, 397.00000000000006], [577, 420], [633, 378], [643, 372.00000000000006], [672, 342], [654, 420], [646, 420], [637, 381], [646, 377], [657, 401], [655, 410]], "image": "d03467.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 404], "scale": 0.4249000000000001, "joints": [[726, 436.99999999999994], [655, 421], [574, 410], [576, 410], [656, 419.00000000000006], [732, 434], [577, 409], [639, 388], [653, 387], [680, 373.00000000000006], [642, 444], [645, 428], [643, 393.99999999999994], [647, 388], [642, 422], [640, 441.00000000000006]], "image": "d03468.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [643, 417.5], "scale": 0.5699000000000001, "joints": [[712, 466], [645, 434], [575, 400], [577, 399], [647, 433], [714, 460.99999999999994], [578, 392.99999999999994], [649, 401], [660, 402], [694, 402], [627, 444], [643, 438.99999999999994], [650, 396.00000000000006], [643, 401], [628, 435], [628, 443]], "image": "d03469.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632.5, 430], "scale": 0.7049000000000001, "joints": [[680, 489], [636, 440.00000000000006], [575, 388], [579, 388], [640, 440.00000000000006], [679, 486.00000000000006], [582, 386], [649, 406], [660, 410], [686, 422], [620, 449], [633, 448], [653, 414.99999999999994], [648, 413.99999999999994], [623, 428], [616, 443]], "image": "d03470.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629.5, 444], "scale": 0.8649000000000001, "joints": [[656, 514], [628, 455], [593, 381], [595, 381], [631, 458], [659, 513], [601, 379], [645, 422], [652, 432], [670, 463.00000000000006], [606, 452], [628, 453], [647, 429], [643, 424], [620, 435], [609, 451]], "image": "d03471.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 444.5], "scale": 0.8799000000000001, "joints": [[587, 518], [608, 437.99999999999994], [621, 375], [624, 376], [606, 436.99999999999994], [589, 513], [629, 377], [640, 437.99999999999994], [646, 456], [662, 475], [587, 441.00000000000006], [600, 449], [640, 449], [632, 445], [601, 435], [590, 441.00000000000006]], "image": "d03472.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605, 438.5], "scale": 0.8299000000000001, "joints": [[554, 504.99999999999994], [593, 450], [635, 379], [638, 379], [596, 446], [564, 502], [641, 385], [628, 442.00000000000006], [624, 454], [616, 482.99999999999994], [584, 433], [608, 445], [630, 454], [626, 449], [602, 434], [586, 433]], "image": "d03473.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 432], "scale": 0.6849000000000001, "joints": [[536, 472], [605, 426], [652, 385], [655, 384], [607, 427], [542, 471], [656, 395.00000000000006], [628, 443], [618, 458], [599, 478], [578, 423], [596, 435], [623, 457], [615, 444], [592, 420], [578, 415.99999999999994]], "image": "d03474.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 428], "scale": 0.5249000000000001, "joints": [[516, 448], [601, 423], [666, 404], [666, 401], [599, 423], [522, 449], [668, 409], [625, 451], [609, 458.99999999999994], [580, 466], [582, 413], [595, 422], [617, 458], [616, 451], [585, 418.00000000000006], [575, 410]], "image": "d03475.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598, 436.5], "scale": 0.4499000000000001, "joints": [[516, 417.00000000000006], [603, 412], [669, 421], [671, 419.00000000000006], [603, 413], [518, 410], [670, 427], [615, 458], [602, 462.00000000000006], [574, 466], [582, 392.99999999999994], [602, 420], [612, 462.00000000000006], [606, 454], [595, 418.00000000000006], [578, 393.99999999999994]], "image": "d03476.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613.5, 415.5], "scale": 0.7299000000000001, "joints": [[551, 350], [605, 395.00000000000006], [665, 446], [669, 446], [606, 391.99999999999994], [555, 349], [662, 450], [607, 460.99999999999994], [590, 460.99999999999994], [561, 446], [603, 382], [600, 419.00000000000006], [597, 458], [597, 450], [602, 413], [602, 379]], "image": "d03477.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616.5, 401], "scale": 0.9349000000000001, "joints": [[582, 331], [620, 399], [666, 458], [667, 455], [622, 393.99999999999994], [587, 331], [663, 459.99999999999994], [600, 465], [579, 463.00000000000006], [552, 434], [614, 383], [604, 419.00000000000006], [589, 465], [589, 453], [599, 415.99999999999994], [610, 382]], "image": "d03478.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609.5, 399], "scale": 0.9249, "joints": [[624, 330], [633, 401], [662, 468], [660, 467], [636, 397.00000000000006], [623, 328], [652, 469], [589, 459.99999999999994], [573, 455], [554, 429], [625, 396.00000000000006], [605, 428], [580, 467], [588, 458.99999999999994], [610, 426], [626, 404]], "image": "d03479.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608.5, 408.5], "scale": 0.8999000000000001, "joints": [[658, 340], [648, 409], [653, 478], [651, 474], [650, 408], [660, 335], [647, 478], [590, 463.00000000000006], [571, 452], [556, 430], [625, 412], [599, 429], [578, 462.00000000000006], [582, 450], [604, 442.00000000000006], [627, 432]], "image": "d03480.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623, 409.5], "scale": 0.9399000000000001, "joints": [[693, 336], [660, 405], [642, 481.99999999999994], [643, 479], [659, 401], [680, 323], [641, 481.99999999999994], [583, 455], [568, 446], [557, 420], [628, 451], [604, 455], [570, 459.99999999999994], [578, 446], [601, 431], [629, 421]], "image": "d03481.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [647, 429], "scale": 0.7249000000000001, "joints": [[737, 386], [685, 429], [631, 495], [632, 493], [683, 427], [736, 374.00000000000006], [628, 493], [570, 452], [566, 429], [566, 401], [617, 481.99999999999994], [590, 462.00000000000006], [562, 444], [564, 438.99999999999994], [596, 440.00000000000006], [622, 446]], "image": "d03482.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [665, 446], "scale": 0.6749, "joints": [[750, 408], [699, 445], [627, 494], [630, 492], [699, 444], [755, 405], [626, 492], [573, 442.00000000000006], [570, 426], [570, 395.00000000000006], [615, 493], [587, 456], [565, 438.99999999999994], [567, 436], [595, 442.00000000000006], [615, 457]], "image": "d03483.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [668, 448.5], "scale": 0.6599, "joints": [[760, 450], [680, 471], [617, 502], [621, 499], [684, 471], [765, 446], [620, 500], [576, 436.99999999999994], [578, 418.00000000000006], [578, 391], [609, 504.99999999999994], [592, 466], [575, 438.99999999999994], [574, 435], [593, 442.00000000000006], [611, 459.99999999999994]], "image": "d03484.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673.5, 451.5], "scale": 0.6899000000000001, "joints": [[772, 472], [685, 481.99999999999994], [615, 505.99999999999994], [617, 503.99999999999994], [686, 481.99999999999994], [772, 473], [614, 501], [582, 437.99999999999994], [583, 424], [598, 391], [605, 507.00000000000006], [593, 463.00000000000006], [582, 434], [582, 434], [589, 454], [607, 471]], "image": "d03485.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [668, 452], "scale": 0.6949000000000001, "joints": [[762, 505.99999999999994], [680, 499], [605, 502], [608, 501], [677, 498], [763, 501], [605, 501], [588, 426], [596, 415.99999999999994], [612, 382], [599, 510], [590, 460.99999999999994], [583, 429], [584, 428], [593, 442.00000000000006], [606, 464.00000000000006]], "image": "d03486.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641.5, 513], "scale": 0.9949000000000001, "joints": [[678, 586], [636, 540], [579, 501], [577, 499], [639, 542], [678, 585], [580, 497], [621, 450], [643, 443], [680, 422], [596, 529], [605, 477], [625, 442.00000000000006], [628, 445], [615, 464.00000000000006], [610, 499]], "image": "d03487.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631, 531], "scale": 1.0149000000000001, "joints": [[678, 620], [627, 549], [577, 499], [577, 498], [629, 550], [679, 618], [579, 496], [635, 454], [658, 450], [686, 442.00000000000006], [606, 530], [616, 481], [633, 449], [636, 450], [618, 481.99999999999994], [610, 519]], "image": "d03488.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629, 540.5], "scale": 1.0299, "joints": [[642, 621], [609, 550], [577, 495], [577, 497], [612, 551], [645, 621], [581, 491], [649, 465], [666, 468], [697, 468], [614, 538], [620, 492], [640, 467], [648, 467], [620, 499], [615, 544]], "image": "d03489.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572.5, 619.5], "scale": 0.9299000000000001, "joints": [[459, 549], [534, 554], [620, 554], [621, 553], [535, 546], [458, 544], [623, 555], [666, 627], [670, 639], [688, 668], [686, 716], [682, 684], [684, 651], [684, 648], [685, 686], [687, 714]], "image": "d03490.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [386, 235.5], "scale": 1.3299, "joints": [[396, 360], [358, 297], [377, 229], [377, 229], [357, 299], [396, 363], [377, 228], [370, 144], [369, 136], [364, 111], [405, 109.99999999999999], [389, 119], [389, 139], [386, 144], [383, 108], [403, 108]], "image": "d03491.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [368, 231.5], "scale": 1.5799, "joints": [[397, 385], [363, 318], [392, 250], [394, 250], [361, 317], [395, 383], [393, 248], [377, 169], [371, 163], [371, 140], [335, 87], [352, 126.99999999999999], [384, 171], [381, 176], [351, 124], [329, 87]], "image": "d03492.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [394, 232], "scale": 0.9049, "joints": [[439, 302], [421, 238], [443, 165], [443, 164], [420, 239], [435, 307], [439, 164], [369, 176], [358, 177], [336, 182], [372, 256], [377, 213], [368, 173], [368, 172], [370, 213], [362, 258]], "image": "d03493.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [420.5, 213.5], "scale": 0.7799, "joints": [[478, 270], [423, 222], [433, 154], [435, 154], [423, 221.00000000000003], [476, 273], [432, 150], [385, 193], [376, 196.99999999999997], [358, 206], [421, 245], [407, 204], [377, 189], [377, 190], [408, 205], [419, 245]], "image": "d03494.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [450.5, 191.5], "scale": 0.5799000000000001, "joints": [[501, 224], [431, 222], [425, 149], [423, 149], [431, 224], [502, 216], [423, 147], [404, 201], [404, 215], [392, 240.99999999999997], [472, 214], [446, 195], [403, 204], [402, 204], [445, 196.99999999999997], [475, 218]], "image": "d03495.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [449, 197.5], "scale": 0.5999000000000001, "joints": [[491, 156], [459, 214], [415, 156], [416, 160], [459, 216], [493, 158], [415, 159], [426, 222], [425, 230.99999999999997], [431, 259], [481, 188], [450, 194], [428, 221.00000000000003], [423, 223], [445, 179], [483, 179]], "image": "d03496.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [441.5, 183.5], "scale": 0.7299000000000001, "joints": [[462, 122.00000000000001], [481, 187.00000000000003], [414, 180], [411, 179], [480, 191], [460, 122.00000000000001], [410, 183], [446, 222], [455, 233], [477, 251], [474, 153], [452, 189], [454, 225], [450, 225], [439, 184], [469, 150]], "image": "d03497.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [460, 186.5], "scale": 0.5399, "joints": [[430, 134], [480, 166], [422, 198.00000000000003], [421, 199], [482, 170], [431, 134], [425, 205], [472, 222], [486, 225], [510, 232.00000000000003], [451, 144], [456, 192], [480, 218], [475, 216], [445, 191], [448, 143]], "image": "d03498.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [458.5, 196], "scale": 0.4449000000000001, "joints": [[396, 167], [465, 159], [436, 217], [437, 218], [467, 158], [393, 166], [441, 217], [490, 207.99999999999997], [506, 204], [529, 198.00000000000003], [433, 162], [459, 194], [497, 206], [493, 203], [453, 198.00000000000003], [427, 162]], "image": "d03499.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [452.5, 196], "scale": 0.4949000000000001, "joints": [[395, 215], [452, 168], [457, 227], [457, 229], [450, 165], [391, 215], [460, 227], [493, 193], [504, 174], [516, 150], [423, 190], [466, 201], [499, 184], [493, 183], [461, 204], [415, 190]], "image": "d03500.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [462, 206], "scale": 0.7049000000000001, "joints": [[430, 261], [440, 187.00000000000003], [477, 230.99999999999997], [475, 230.99999999999997], [437, 185.99999999999997], [424, 260], [481, 228], [485, 169], [483, 158], [484, 137], [433, 217], [473, 202], [481, 168], [477, 169], [471, 205], [435, 222]], "image": "d03501.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 222.5], "scale": 0.7499000000000001, "joints": [[473, 278], [438, 209.00000000000003], [506, 228], [507, 228], [440, 209.00000000000003], [473, 285], [509, 225], [467, 172], [452, 164], [444, 152], [453, 241.99999999999997], [477, 204], [465, 169], [465, 172], [478, 203], [456, 246]], "image": "d03502.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [482, 222.5], "scale": 0.5099000000000001, "joints": [[522, 262], [454, 230.99999999999997], [521, 203], [521, 203], [456, 229.99999999999997], [521, 261], [518, 201], [459, 189], [443, 190], [417, 189], [490, 236], [477, 195.99999999999997], [455, 187.00000000000003], [459, 187.00000000000003], [484, 202], [489, 238]], "image": "d03503.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [494.5, 210], "scale": 0.4049000000000001, "joints": [[554, 225], [481, 246], [513, 182], [512, 183], [483, 244], [554, 225], [509, 181], [462, 209.00000000000003], [447, 226], [431, 240], [521, 227], [478, 204], [455, 215], [457, 212], [481, 200], [521, 228]], "image": "d03504.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [511.5, 215.5], "scale": 0.5999000000000001, "joints": [[557, 180], [516, 241.99999999999997], [500, 174], [498, 174], [514, 241.99999999999997], [559, 176], [495, 175], [481, 229.99999999999997], [478, 246], [474, 271], [535, 205], [489, 207], [479, 236], [476, 234], [481, 205], [532, 202]], "image": "d03505.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [510, 205], "scale": 0.7049000000000001, "joints": [[534, 151], [541, 222], [487, 188], [488, 188], [538, 220.00000000000003], [533, 151], [486, 195.99999999999997], [509, 238], [517, 255.00000000000003], [525, 277], [534, 187.00000000000003], [507, 213], [513, 244], [506, 245], [495, 213], [535, 183]], "image": "d03506.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 191], "scale": 0.6049000000000001, "joints": [[490, 146], [544, 194], [487, 203], [485, 203], [544, 192], [491, 144], [489, 210.00000000000003], [537, 229], [550, 233], [572, 247], [520, 168], [516, 214], [540, 234], [535, 229], [506, 214], [513, 166]], "image": "d03507.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [528, 201], "scale": 0.3949000000000001, "joints": [[466, 171], [534, 172], [501, 216], [500, 217], [536, 171], [464, 170], [504, 220.00000000000003], [555, 203], [571, 199], [590, 188], [503, 177], [524, 207], [561, 207], [559, 209.00000000000003], [521, 211], [499, 177]], "image": "d03508.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517.5, 188], "scale": 0.5049000000000001, "joints": [[464, 212], [520, 170], [521, 222], [521, 224], [517, 166], [461, 210.00000000000003], [525, 225], [557, 179], [567, 163], [575, 148], [496, 195], [540, 199], [560, 173], [556, 174], [539, 203], [493, 193]], "image": "d03509.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533.5, 188], "scale": 0.6949000000000001, "joints": [[497, 252.99999999999997], [508, 172], [544, 215], [545, 217], [506, 168], [496, 248], [547, 216], [546, 156], [537, 142], [535, 123], [506, 206], [543, 188], [543, 153], [543, 156], [543, 193], [503, 210.00000000000003]], "image": "d03510.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [540.5, 195], "scale": 0.6549, "joints": [[540, 249], [509, 192], [572, 199], [576, 201], [510, 192], [541, 251], [577, 195.99999999999997], [532, 155], [514, 151], [501, 137], [533, 207], [540, 173], [524, 149], [526, 154], [546, 177], [531, 218]], "image": "d03511.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551.5, 186], "scale": 0.4749000000000001, "joints": [[599, 223], [525, 203], [577, 164], [580, 163], [525, 203], [598, 229], [576, 161], [517, 162], [504, 165], [482, 168], [556, 207], [541, 168], [509, 160], [512, 160], [545, 167], [561, 207]], "image": "d03512.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [567.5, 171.5], "scale": 0.4099000000000001, "joints": [[620, 177], [553, 201], [572, 136], [570, 135], [548, 204], [623, 167], [565, 136], [527, 172], [522, 185.99999999999997], [501, 204], [587, 187.00000000000003], [543, 173], [521, 175], [522, 169], [539, 157], [585, 177]], "image": "d03513.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570.5, 159], "scale": 0.7049000000000001, "joints": [[614, 116.00000000000001], [584, 182], [557, 123], [556, 123], [581, 183], [609, 108], [552, 128], [550, 180], [551, 198.00000000000003], [554, 223], [597, 151], [560, 159], [547, 185.99999999999997], [541, 184], [546, 154], [591, 144]], "image": "d03514.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 142], "scale": 0.6849000000000001, "joints": [[579, 85], [605, 148], [547, 132], [543, 130], [603, 150], [578, 85], [544, 133], [578, 176], [588, 184.99999999999997], [602, 203], [592, 116.00000000000001], [567, 153], [581, 177], [572, 179], [559, 150], [588, 108]], "image": "d03515.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587.5, 122.5], "scale": 0.5399, "joints": [[545, 81], [604, 114], [552, 137], [547, 137], [604, 112], [543, 80], [551, 144], [598, 157], [611, 160], [639, 160], [573, 100], [580, 146], [606, 154], [602, 158], [573, 149], [567, 96]], "image": "d03516.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 126.5], "scale": 0.4499, "joints": [[529, 87], [594, 92], [565, 152], [564, 154], [596, 92.99999999999999], [521, 87], [569, 156], [615, 129], [629, 120], [646, 102], [560, 86], [592, 124], [623, 129], [625, 131], [584, 129], [554, 89]], "image": "d03517.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557.5, 121.5], "scale": 0.5799000000000001, "joints": [[498, 91], [572, 92], [587, 161], [587, 161], [571, 92.99999999999999], [499, 92.99999999999999], [593, 161], [616, 99.00000000000001], [616, 89], [618, 66], [555, 71], [589, 83], [625, 94.00000000000001], [623, 101], [592, 109], [562, 89]], "image": "d03518.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557, 114], "scale": 0.5649000000000001, "joints": [[485, 108], [567, 112], [615, 145], [614, 154], [566, 117], [494, 101], [617, 153], [609, 82], [602, 71], [600, 56], [569, 63], [593, 73], [616, 76], [613, 89], [589, 84], [557, 85]], "image": "d03519.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 166], "scale": 0.9149, "joints": [[601, 236], [621, 161], [642, 103], [644, 102], [618, 161], [599, 238], [638, 100], [575, 106], [560, 114], [544, 117], [570, 100], [568, 103], [567, 105.00000000000001], [563, 108], [565, 114], [565, 123]], "image": "d03520.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [454.5, 213], "scale": 0.5949000000000001, "joints": [[506, 257], [452, 232.00000000000003], [469, 172], [472, 171], [454, 234], [509, 252.99999999999997], [463, 170], [418, 202], [412, 213], [392, 229.99999999999997], [476, 256], [453, 221.00000000000003], [416, 207], [418, 212], [453, 225], [484, 252]], "image": "d03521.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472.5, 208.5], "scale": 0.5299, "joints": [[517, 201], [468, 228], [462, 167], [458, 168], [468, 229], [521, 198.00000000000003], [456, 167], [436, 218.99999999999997], [434, 229.99999999999997], [425, 259], [509, 214], [471, 207], [442, 224], [442, 224], [479, 205], [509, 213]], "image": "d03522.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [476, 212], "scale": 0.6649, "joints": [[513, 156], [503, 212], [455, 178], [454, 176], [501, 216], [510, 155], [451, 182], [467, 230.99999999999997], [470, 245], [473, 277], [511, 184], [477, 198.00000000000003], [464, 234], [461, 230.99999999999997], [473, 191], [506, 176]], "image": "d03523.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [485.5, 201], "scale": 0.7149000000000001, "joints": [[481, 141], [516, 190], [455, 190], [451, 190], [518, 192], [480, 140], [453, 195.99999999999997], [488, 235], [498, 240.99999999999997], [521, 267], [496, 164], [479, 203], [495, 235], [493, 233], [476, 196.99999999999997], [489, 165]], "image": "d03524.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496, 210], "scale": 0.3849000000000001, "joints": [[436, 192], [494, 179], [474, 229.99999999999997], [471, 229], [495, 177], [434, 190], [477, 230.99999999999997], [527, 205], [542, 198.00000000000003], [560, 193], [465, 185.99999999999997], [492, 209.00000000000003], [529, 205], [526, 206], [490, 213], [461, 189]], "image": "d03525.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [490, 202.5], "scale": 0.5599000000000001, "joints": [[448, 240], [484, 190], [498, 240.99999999999997], [496, 241.99999999999997], [482, 187.00000000000003], [444, 240], [501, 243.00000000000003], [524, 184.99999999999997], [525, 168], [537, 150], [469, 213], [504, 214], [526, 184], [521, 188], [503, 220.00000000000003], [463, 217]], "image": "d03526.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [506, 214], "scale": 0.7549000000000001, "joints": [[478, 276], [478, 210.00000000000003], [524, 247], [524, 248], [478, 209.00000000000003], [474, 277], [525, 244], [508, 187.00000000000003], [500, 173], [498, 146], [479, 243.00000000000003], [506, 221.00000000000003], [511, 184.99999999999997], [508, 188], [508, 222], [482, 247]], "image": "d03527.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [506, 235], "scale": 0.6449000000000001, "joints": [[524, 286], [488, 232.00000000000003], [544, 238], [547, 237], [484, 232.00000000000003], [523, 290], [545, 230.99999999999997], [496, 199], [483, 195], [463, 179], [510, 266], [512, 224], [494, 196.99999999999997], [493, 200], [517, 226], [510, 266]], "image": "d03528.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517, 243.5], "scale": 0.3999000000000001, "joints": [[569, 276], [504, 258], [550, 225], [551, 225], [506, 261], [571, 275], [545, 221.00000000000003], [490, 230.99999999999997], [480, 232.00000000000003], [454, 233], [545, 265], [518, 233], [484, 222], [489, 221.00000000000003], [521, 229], [543, 263]], "image": "d03529.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532.5, 254], "scale": 0.4649000000000001, "joints": [[592, 250], [537, 273], [549, 213], [548, 213], [536, 272], [593, 245], [543, 215], [503, 258], [499, 268], [480, 296], [564, 259], [523, 247], [500, 261], [499, 255.00000000000003], [523, 243.00000000000003], [570, 254.00000000000003]], "image": "d03530.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 266.5], "scale": 0.6499000000000001, "joints": [[586, 221.00000000000003], [561, 274], [534, 223], [533, 222], [560, 274], [586, 217], [529, 228], [532, 282], [533, 296], [529, 320], [573, 248], [538, 259], [532, 286], [528, 286], [533, 254.00000000000003], [571, 241.99999999999997]], "image": "d03531.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559, 265.5], "scale": 0.6699, "joints": [[562, 207.99999999999997], [578, 265], [525, 246], [524, 246], [578, 266], [559, 207.99999999999997], [524, 251], [560, 294], [570, 304], [582, 328], [568, 235], [554, 273], [561, 297], [559, 292], [545, 271], [559, 238]], "image": "d03532.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 273], "scale": 0.5549000000000001, "joints": [[515, 309], [557, 264], [570, 316], [570, 316], [557, 264], [514, 311], [576, 317], [592, 261], [593, 249], [605, 218.99999999999997], [538, 287], [576, 285], [591, 260], [589, 262], [577, 291], [541, 291]], "image": "d03533.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [575, 288], "scale": 0.7249000000000001, "joints": [[546, 346], [554, 285], [596, 319], [594, 321], [551, 285], [542, 350], [598, 320], [576, 259], [568, 248], [561, 222], [553, 317], [578, 293], [576, 265], [577, 264], [582, 296], [555, 321]], "image": "d03534.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574.5, 314], "scale": 0.5649000000000001, "joints": [[599, 363], [557, 310], [613, 308], [615, 308], [560, 311], [597, 366], [616, 304], [555, 274], [545, 273], [523, 254.00000000000003], [576, 336], [580, 293], [557, 268], [561, 268], [584, 295], [579, 336]], "image": "d03535.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 312], "scale": 0.4049000000000001, "joints": [[640, 345], [578, 331], [617, 292], [619, 291], [580, 329], [639, 341], [613, 290], [555, 303], [545, 309], [523, 314], [606, 335], [581, 301], [555, 296], [559, 296], [587, 301], [608, 332]], "image": "d03536.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [606, 319.5], "scale": 0.4699000000000001, "joints": [[651, 308], [602, 337], [611, 280], [607, 280], [602, 341], [654, 305], [607, 281], [573, 329], [564, 338], [544, 351], [628, 320], [593, 314], [569, 327], [567, 323], [590, 309], [626, 318]], "image": "d03537.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613, 320], "scale": 0.6249000000000001, "joints": [[646, 273], [622, 335], [595, 286], [593, 285], [619, 337], [647, 277], [592, 290], [595, 346], [598, 359], [601, 382], [633, 306], [598, 323], [593, 345], [591, 345], [591, 319], [628, 305]], "image": "d03538.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610, 300.5], "scale": 0.6799000000000001, "joints": [[640, 260], [636, 320], [580, 304], [579, 303], [635, 322], [640, 254.00000000000003], [580, 309], [619, 342], [630, 348], [653, 369.99999999999994], [632, 289], [609, 326], [624, 352], [620, 348], [606, 324], [627, 294]], "image": "d03539.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619, 287.5], "scale": 0.7299000000000001, "joints": [[627, 226], [634, 295], [579, 325], [576, 325], [636, 297], [625, 229], [580, 328], [633, 337], [649, 334], [675, 332], [619, 283], [613, 323], [641, 334], [639, 337], [613, 327], [616, 287]], "image": "d03540.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612.5, 282], "scale": 0.8149000000000001, "joints": [[577, 227], [593, 288], [608, 346], [606, 349], [593, 288], [578, 223], [611, 345], [644, 305], [646, 287], [655, 265], [591, 302], [616, 302], [644, 301], [645, 305], [626, 318], [597, 331]], "image": "d03541.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [599, 298.5], "scale": 0.6899000000000001, "joints": [[543, 241.99999999999997], [592, 301], [626, 344], [626, 348], [592, 303], [543, 243.00000000000003], [627, 348], [639, 291], [632, 275], [629, 250], [580, 310], [613, 314], [639, 286], [640, 295], [627, 322], [609, 350]], "image": "d03542.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585.5, 307.5], "scale": 0.5699000000000001, "joints": [[522, 338], [596, 333], [648, 329], [652, 329], [594, 333], [523, 338], [649, 324], [618, 281], [602, 273], [576, 261], [635, 306], [630, 285], [621, 268], [615, 287], [626, 309], [639, 345]], "image": "d03543.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596.5, 328], "scale": 0.5749000000000001, "joints": [[545, 382], [603, 348], [655, 318], [658, 319], [606, 348], [543, 384], [656, 313], [605, 289], [585, 286], [558, 278], [644, 293], [627, 286], [606, 280], [604, 296], [627, 312], [645, 349]], "image": "d03544.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 357], "scale": 0.8049000000000001, "joints": [[584, 425], [624, 365], [657, 312], [657, 313], [624, 363], [587, 426], [656, 309], [598, 310], [582, 312], [554, 307], [630, 312], [609, 301], [590, 297], [595, 309], [618, 327], [641, 361]], "image": "d03545.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 202], "scale": 1.0449000000000002, "joints": [[546, 260], [644, 178], [658, 286], [657, 290], [639, 178], [539, 249], [664, 285], [708, 177], [712, 152], [743, 111], [603, 221.00000000000003], [662, 225], [704, 174], [697, 177], [663, 234], [602, 230.99999999999997]], "image": "d03546.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641.5, 206.5], "scale": 1.1299000000000001, "joints": [[563, 302], [635, 195], [676, 293], [675, 298], [631, 196.99999999999997], [568, 303], [682, 296], [695, 173], [689, 152], [693, 103], [597, 250], [664, 232.00000000000003], [689, 172], [687, 176], [665, 245], [599, 258]], "image": "d03547.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [652.5, 293], "scale": 0.9849000000000001, "joints": [[730, 378], [622, 306], [735, 270], [739, 269], [627, 307], [731, 383], [739, 269], [621, 240.99999999999997], [594, 240], [560, 220.00000000000003], [683, 341], [663, 268], [615, 232.00000000000003], [614, 233], [672, 266], [687, 343]], "image": "d03548.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686, 318.5], "scale": 0.8699000000000001, "joints": [[783, 312], [679, 366], [715, 249], [711, 250], [680, 367], [785, 308], [703, 249], [625, 344], [612, 363], [581, 389], [742, 335], [667, 312], [623, 332], [619, 337], [663, 306], [739, 330]], "image": "d03549.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [703, 347.5], "scale": 1.0699, "joints": [[771, 268], [715, 373.00000000000006], [676, 262], [671, 263], [713, 379], [774, 265], [670, 263], [666, 387], [666, 413], [667, 459.99999999999994], [756, 317], [688, 335], [665, 399], [660, 398], [670, 343], [735, 314]], "image": "d03550.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686.5, 332], "scale": 1.3149000000000002, "joints": [[748, 230.99999999999997], [742, 348], [632, 325], [627, 322], [739, 356], [746, 237], [632, 333], [709, 402], [728, 418.00000000000006], [765, 455], [744, 310], [701, 366], [716, 414.99999999999994], [711, 412], [676, 365], [730, 309]], "image": "d03551.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [702.5, 311], "scale": 1.3449, "joints": [[720, 203], [722, 332], [618, 382], [611, 381], [718, 336], [714, 202], [621, 387], [729, 400], [758, 403], [807, 396.00000000000006], [706, 293], [689, 375], [738, 398], [733, 402], [686, 384], [695, 312]], "image": "d03552.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [696.5, 302], "scale": 1.4949000000000001, "joints": [[668, 187.00000000000003], [687, 313], [623, 426], [622, 430], [685, 311], [664, 185.99999999999997], [632, 426], [735, 382], [755, 372.00000000000006], [790, 335], [658, 323], [703, 363], [741, 380], [740, 390], [683, 402], [645, 354]], "image": "d03553.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [673, 323.5], "scale": 1.5299, "joints": [[603, 209.00000000000003], [638, 330], [655, 443], [655, 449], [641, 327], [600, 207], [660, 446], [728, 363], [736, 339], [745, 295], [621, 361], [673, 366], [731, 360], [736, 368.99999999999994], [699, 390], [634, 405]], "image": "d03554.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632.5, 348.5], "scale": 1.3099, "joints": [[527, 250], [612, 359], [683, 437.99999999999994], [685, 449], [603, 358], [527, 254.00000000000003], [686, 448], [707, 336], [692, 308], [689, 267], [623, 375], [664, 388], [705, 332], [710, 343], [687, 385], [649, 445]], "image": "d03555.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596.5, 370], "scale": 1.0349000000000002, "joints": [[490, 384], [608, 402], [718, 417.00000000000006], [721, 429], [614, 406], [490, 387], [721, 424], [676, 320], [645, 299], [617, 267], [740, 341], [729, 311], [681, 287], [665, 328], [682, 372.00000000000006], [694, 453]], "image": "d03556.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [424.5, 197.5], "scale": 0.4699000000000001, "joints": [[364, 174], [428, 167], [408, 229], [405, 229.99999999999997], [428, 170], [363, 179], [413, 229.99999999999997], [465, 187.00000000000003], [476, 178], [496, 167], [398, 173], [427, 195], [467, 188], [463, 190], [422, 201], [395, 177]], "image": "d03557.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [417, 184.5], "scale": 0.6599, "joints": [[371, 218], [416, 172], [438, 233], [436, 235], [418, 173], [368, 218.99999999999997], [439, 234], [453, 167], [450, 148], [456, 126], [397, 199], [433, 201], [455, 168], [453, 172], [432, 206], [394, 202]], "image": "d03558.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [440.5, 199.5], "scale": 0.7399000000000001, "joints": [[405, 256], [411, 185.99999999999997], [466, 224], [468, 222], [408, 185.99999999999997], [405, 258], [469, 223], [432, 161], [424, 150], [411, 128], [410, 224], [438, 199], [432, 161], [434, 163], [443, 201], [408, 224]], "image": "d03559.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [439.5, 217], "scale": 0.6349000000000001, "joints": [[457, 262], [417, 207.99999999999997], [487, 198.00000000000003], [487, 199], [419, 206], [458, 271], [487, 195.99999999999997], [429, 174], [408, 174], [384, 164], [442, 233], [450, 198.00000000000003], [421, 171], [422, 174], [451, 198.00000000000003], [446, 236]], "image": "d03560.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [475.5, 207.5], "scale": 0.6499000000000001, "joints": [[525, 199], [471, 230.99999999999997], [466, 158], [466, 159], [468, 228], [527, 194], [462, 159], [439, 222], [438, 236], [421, 260], [502, 212], [462, 201], [437, 220.00000000000003], [431, 213], [463, 192], [496, 206]], "image": "d03561.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481, 205], "scale": 0.6449000000000001, "joints": [[521, 150], [499, 216], [450, 163], [446, 164], [495, 218], [515, 154], [446, 169], [472, 230.99999999999997], [480, 246], [486, 278], [510, 189], [474, 196.99999999999997], [469, 234], [463, 235], [466, 190], [501, 179]], "image": "d03562.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493.5, 189], "scale": 0.6549, "joints": [[486, 143], [510, 200], [446, 195], [442, 193], [507, 199], [482, 142], [445, 198.00000000000003], [500, 225], [515, 230.99999999999997], [537, 245], [495, 162], [478, 196.99999999999997], [500, 227], [497, 227], [468, 198.00000000000003], [487, 166]], "image": "d03563.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [500.5, 190.5], "scale": 0.5099000000000001, "joints": [[444, 150], [507, 176], [456, 216], [452, 217], [507, 178], [443, 151], [457, 218.99999999999997], [521, 207], [537, 200], [560, 199], [472, 163], [489, 203], [524, 207], [522, 207.99999999999997], [480, 206], [471, 166]], "image": "d03564.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 194.5], "scale": 0.5299, "joints": [[427, 185.99999999999997], [495, 174], [484, 234], [483, 238], [494, 175], [427, 194], [487, 237], [523, 185.99999999999997], [531, 169], [551, 156], [466, 184.99999999999997], [495, 207], [529, 184], [523, 187.00000000000003], [492, 216], [463, 188]], "image": "d03565.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [488, 192.5], "scale": 0.6899000000000001, "joints": [[450, 243.00000000000003], [482, 184], [516, 240.99999999999997], [516, 245], [481, 187.00000000000003], [446, 244], [520, 243.00000000000003], [511, 174], [500, 155], [504, 133], [460, 211], [501, 207.99999999999997], [508, 171], [510, 178], [503, 216], [464, 217]], "image": "d03566.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [508, 216.5], "scale": 0.7199000000000001, "joints": [[491, 278], [480, 205], [541, 229], [543, 229.99999999999997], [478, 206], [489, 280], [543, 228], [492, 177], [479, 171], [464, 148], [485, 244], [506, 212], [493, 175], [495, 174], [511, 214], [489, 244]], "image": "d03567.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [504.5, 233.5], "scale": 0.5099000000000001, "joints": [[551, 277], [490, 227], [553, 207], [555, 206], [488, 229], [550, 278], [551, 204], [484, 204], [470, 212], [448, 210.00000000000003], [515, 252], [514, 213], [478, 196.99999999999997], [480, 196.99999999999997], [518, 214], [522, 252.99999999999997]], "image": "d03568.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [520.5, 222], "scale": 0.4949000000000001, "joints": [[580, 250], [507, 249], [538, 188], [538, 190], [508, 249], [581, 248], [537, 188], [487, 236], [480, 243.00000000000003], [460, 258], [549, 248], [515, 218], [480, 228], [483, 227], [523, 217], [549, 245]], "image": "d03569.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542, 240.5], "scale": 0.6799000000000001, "joints": [[584, 211], [535, 255.00000000000003], [522, 184.99999999999997], [518, 185.99999999999997], [535, 257], [587, 207.99999999999997], [518, 188], [515, 254.00000000000003], [515, 269], [515, 298], [570, 234], [526, 229], [504, 259], [502, 252.99999999999997], [527, 222], [564, 227]], "image": "d03570.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545, 216.5], "scale": 0.6099000000000001, "joints": [[540, 164], [566, 226], [499, 236], [494, 237], [565, 229.99999999999997], [541, 166], [499, 244], [560, 252.99999999999997], [576, 254.00000000000003], [598, 262], [552, 200], [543, 238], [567, 259], [562, 260], [531, 235], [543, 200]], "image": "d03571.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [553, 220.5], "scale": 0.6499000000000001, "joints": [[507, 171], [560, 213], [523, 264], [518, 265], [560, 218], [508, 168], [520, 269], [576, 241.99999999999997], [589, 230.99999999999997], [610, 218.99999999999997], [534, 204], [547, 232.00000000000003], [580, 241.99999999999997], [580, 244], [539, 240.99999999999997], [529, 204]], "image": "d03572.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530, 239.5], "scale": 0.6699, "joints": [[479, 184.99999999999997], [544, 220.00000000000003], [546, 288], [545, 291], [546, 218.99999999999997], [477, 183], [549, 290], [572, 229.99999999999997], [576, 215], [581, 195.99999999999997], [521, 211], [552, 226], [581, 227], [581, 230.99999999999997], [542, 243.00000000000003], [515, 218.99999999999997]], "image": "d03573.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [523, 251], "scale": 0.6549, "joints": [[455, 211], [538, 240.99999999999997], [572, 296], [574, 297], [535, 245], [457, 211], [577, 294], [574, 229.99999999999997], [563, 215], [559, 185.99999999999997], [504, 240.99999999999997], [541, 234], [567, 220.00000000000003], [574, 225], [544, 250], [506, 251]], "image": "d03574.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522.5, 254.5], "scale": 0.5799000000000001, "joints": [[457, 262], [534, 271], [590, 288], [593, 293], [537, 277], [454, 264], [594, 290], [565, 229.99999999999997], [555, 220.00000000000003], [538, 195.99999999999997], [508, 266], [546, 244], [565, 224], [567, 228], [549, 258], [526, 283]], "image": "d03575.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [351.5, 254], "scale": 1.0449000000000002, "joints": [[385, 343], [390, 269], [411, 199], [413, 199], [391, 270], [383, 345], [412, 199], [329, 170], [316, 167], [299, 153], [284, 234], [317, 205], [325, 176], [328, 175], [312, 210.00000000000003], [274, 227]], "image": "d03576.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 298], "scale": 1.0849000000000002, "joints": [[432, 232.00000000000003], [558, 282], [627, 367], [627, 377], [558, 289], [430, 236], [630, 376], [626, 268], [615, 247], [613, 198.00000000000003], [506, 273], [577, 279], [629, 257], [629, 268], [581, 296], [512, 298]], "image": "d03577.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576, 281.5], "scale": 1.1599000000000002, "joints": [[493, 189], [599, 252.99999999999997], [588, 372.00000000000006], [586, 376], [598, 252.99999999999997], [488, 192], [595, 376], [642, 272], [649, 245], [663, 207.99999999999997], [554, 225], [608, 267], [653, 262], [655, 274], [589, 289], [542, 247]], "image": "d03578.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [626.5, 244.5], "scale": 1.1099, "joints": [[587, 162], [654, 264], [545, 314], [541, 315], [648, 266], [585, 166], [549, 320], [656, 305], [683, 299], [722, 299], [631, 212], [626, 278], [667, 308], [659, 316], [598, 286], [603, 227]], "image": "d03579.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [407.5, 221], "scale": 1.5349000000000002, "joints": [[391, 353], [436, 297], [427, 229.99999999999997], [428, 227], [439, 297], [393, 354], [430, 229.99999999999997], [420, 145], [413, 123], [409, 91], [372, 74], [401, 95], [413, 138], [408, 139], [398, 96], [374, 75]], "image": "d03580.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [413.5, 201], "scale": 1.4049, "joints": [[405, 329], [466, 283], [440, 218], [440, 218], [468, 285], [409, 329], [442, 216], [410, 129], [403, 114], [398, 87], [361, 73], [384, 92], [399, 132], [402, 131], [384, 94.00000000000001], [363, 72]], "image": "d03581.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [432.5, 187], "scale": 1.2449000000000001, "joints": [[437, 306], [498, 262], [449, 211], [448, 209.00000000000003], [500, 262], [438, 306], [450, 207.99999999999997], [408, 126.99999999999999], [402, 113], [395, 84], [363, 63], [382, 92.99999999999999], [399, 125], [404, 120], [389, 77], [367, 64]], "image": "d03582.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [453, 179], "scale": 1.1349, "joints": [[484, 279], [524, 221.00000000000003], [454, 207], [454, 207.99999999999997], [524, 221.00000000000003], [484, 282], [454, 207], [409, 126.99999999999999], [401, 115], [387, 85], [383, 62], [400, 113], [396, 138], [410, 120.99999999999999], [414, 76], [380, 60]], "image": "d03583.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [461.5, 167.5], "scale": 0.9599000000000001, "joints": [[533, 249], [530, 188], [464, 209.00000000000003], [463, 207.99999999999997], [528, 183], [536, 252], [461, 207], [411, 139], [403, 126.99999999999999], [392, 101], [422, 71], [415, 123], [397, 146], [420, 135], [442, 120], [454, 89]], "image": "d03584.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [486, 166], "scale": 0.6949000000000001, "joints": [[569, 218.99999999999997], [526, 162], [471, 211], [473, 210.00000000000003], [524, 162], [572, 217], [468, 207], [418, 157], [409, 146], [397, 117], [454, 102], [443, 138], [406, 158], [420, 153], [454, 150], [481, 118]], "image": "d03585.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495, 172.5], "scale": 0.5499, "joints": [[584, 172], [513, 146], [489, 211], [488, 213], [513, 143], [585, 167], [482, 212], [429, 174], [419, 160], [404, 130], [504, 128], [471, 161], [426, 171], [425, 169], [460, 158], [481, 120]], "image": "d03586.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [492.5, 176.5], "scale": 0.5699000000000001, "joints": [[565, 142], [498, 141], [511, 217], [511, 217], [500, 140], [568, 136], [507, 218], [444, 193], [431, 184], [415, 160], [501, 126.99999999999999], [482, 174], [440, 192], [440, 190], [483, 172], [499, 129]], "image": "d03587.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [486, 173.5], "scale": 0.6699, "joints": [[543, 128], [479, 153], [527, 213], [529, 212], [480, 153], [539, 119], [527, 216], [464, 212], [444, 210.00000000000003], [429, 195], [503, 129], [501, 163], [465, 209.00000000000003], [465, 206], [492, 163], [500, 130]], "image": "d03588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496, 182.5], "scale": 0.6999000000000001, "joints": [[512, 123], [473, 178], [538, 207], [539, 206], [470, 179], [514, 120], [539, 209.00000000000003], [489, 233], [471, 240], [439, 234], [499, 151], [503, 193], [485, 230.99999999999997], [486, 232.00000000000003], [500, 192], [496, 153]], "image": "d03589.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [513.5, 206], "scale": 0.8149000000000001, "joints": [[486, 138], [476, 207], [547, 195.99999999999997], [547, 195.99999999999997], [477, 207], [484, 137], [547, 201], [515, 247], [503, 262], [476, 278], [484, 177], [512, 212], [512, 252.99999999999997], [511, 252], [510, 209.00000000000003], [482, 174]], "image": "d03590.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [512, 233], "scale": 0.7249000000000001, "joints": [[469, 166], [489, 235], [543, 193], [545, 194], [488, 236], [466, 164], [546, 198.00000000000003], [538, 252.99999999999997], [534, 271], [533, 310], [483, 207.99999999999997], [523, 221.00000000000003], [535, 256], [534, 258], [521, 220.00000000000003], [484, 207.99999999999997]], "image": "d03591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529.5, 241.5], "scale": 0.6299000000000001, "joints": [[466, 212], [515, 262], [535, 195], [532, 195.99999999999997], [515, 260], [464, 210.00000000000003], [538, 199], [567, 252.99999999999997], [572, 272], [598, 299], [492, 237], [537, 229], [567, 256], [563, 258], [534, 229], [493, 236]], "image": "d03592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 244], "scale": 0.4249000000000001, "joints": [[477, 259], [546, 283], [529, 214], [527, 214], [544, 285], [477, 262], [533, 215], [587, 254.00000000000003], [599, 261], [634, 267], [517, 276], [547, 249], [586, 255.00000000000003], [584, 254.00000000000003], [543, 239], [511, 269]], "image": "d03593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 274], "scale": 0.5249000000000001, "joints": [[507, 310], [576, 285], [528, 243.00000000000003], [529, 244], [577, 287], [507, 312], [532, 240], [592, 246], [612, 244], [642, 234], [545, 289], [554, 252], [593, 245], [596, 245], [549, 252.99999999999997], [541, 292]], "image": "d03594.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 277], "scale": 0.7149000000000001, "joints": [[556, 341], [593, 283], [530, 270], [532, 272], [594, 284], [556, 341], [535, 269], [587, 240], [604, 230.99999999999997], [629, 209.00000000000003], [573, 307], [558, 268], [591, 245], [592, 239], [563, 268], [577, 305]], "image": "d03595.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [572.5, 269.5], "scale": 0.7799, "joints": [[597, 343], [605, 276], [545, 306], [546, 305], [602, 274], [599, 341], [545, 304], [580, 247], [588, 229], [598, 202], [602, 305], [568, 283], [584, 245], [579, 246], [572, 282], [605, 301]], "image": "d03596.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597, 269], "scale": 0.7049000000000001, "joints": [[640, 329], [604, 265], [571, 332], [573, 332], [603, 267], [645, 330], [568, 329], [567, 252.99999999999997], [567, 235], [558, 203], [619, 295], [575, 298], [572, 252.99999999999997], [571, 256], [576, 290], [620, 290]], "image": "d03597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 291.5], "scale": 0.5599000000000001, "joints": [[657, 298], [594, 269], [602, 339], [605, 340], [596, 269], [659, 294], [599, 338], [559, 285], [548, 266], [529, 241.99999999999997], [621, 282], [587, 306], [561, 274], [560, 278], [587, 300], [622, 276]], "image": "d03598.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 297.5], "scale": 0.4499000000000001, "joints": [[650, 270], [585, 276], [626, 330], [624, 330], [586, 272], [652, 259], [621, 332], [565, 304], [544, 296], [520, 288], [614, 269], [599, 311], [560, 299], [558, 302], [596, 308], [613, 263]], "image": "d03599.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588.5, 295], "scale": 0.5749000000000001, "joints": [[634, 248], [579, 293], [640, 319], [641, 318], [578, 294], [633, 245], [637, 321], [574, 329], [558, 333], [529, 340], [604, 271], [608, 318], [572, 333], [570, 332], [605, 312], [601, 271]], "image": "d03600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607, 317.5], "scale": 0.7899, "joints": [[601, 248], [581, 318], [647, 304], [646, 303], [579, 318], [596, 245], [644, 306], [597, 349], [587, 360], [574, 384], [585, 287], [619, 318], [594, 348], [589, 345], [613, 312], [584, 286]], "image": "d03601.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [611, 332.5], "scale": 0.7399000000000001, "joints": [[578, 283], [596, 349], [643, 298], [645, 295], [597, 347], [573, 278], [645, 301], [627, 356], [625, 376], [623, 409], [590, 318], [629, 328], [627, 366], [628, 363], [622, 329], [583, 320]], "image": "d03602.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623.5, 342], "scale": 0.6349000000000001, "joints": [[568, 318], [621, 365], [633, 295], [630, 294], [624, 364], [565, 317], [636, 295], [650, 358], [656, 374.00000000000006], [675, 393.99999999999994], [599, 347], [633, 334], [654, 360], [658, 362], [625, 331], [598, 341]], "image": "d03603.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 338.5], "scale": 0.4699000000000001, "joints": [[577, 364], [648, 366], [617, 303], [621, 303], [651, 368], [576, 370.99999999999994], [623, 303], [677, 345], [688, 353], [719, 362], [618, 367], [646, 334], [679, 346], [682, 351], [641, 334], [622, 369.99999999999994]], "image": "d03604.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [664, 359], "scale": 0.6449000000000001, "joints": [[609, 407], [674, 365], [616, 325], [620, 326], [671, 364], [614, 409], [621, 321], [688, 328], [701, 329], [739, 325], [648, 382], [648, 343], [689, 328], [690, 331], [656, 341], [651, 382]], "image": "d03605.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [666.5, 367.5], "scale": 0.8499000000000001, "joints": [[665, 438.99999999999994], [686, 365], [622, 346], [623, 344], [690, 365], [667, 440.00000000000006], [626, 342], [682, 311], [695, 305], [724, 295], [676, 378], [653, 340], [687, 316], [684, 315], [656, 336], [683, 370.99999999999994]], "image": "d03606.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669.5, 351.5], "scale": 0.9699000000000001, "joints": [[718, 441.00000000000006], [701, 370.99999999999994], [633, 356], [633, 357], [706, 370.99999999999994], [722, 440.00000000000006], [632, 354], [673, 297], [683, 288], [703, 258], [688, 363], [649, 335], [680, 303], [673, 299], [652, 331], [691, 351]], "image": "d03607.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [714, 313.5], "scale": 0.7599000000000001, "joints": [[793, 382], [723, 370.99999999999994], [657, 364], [658, 361], [724, 368], [796, 379], [656, 361], [644, 294], [644, 281], [652, 243.00000000000003], [691, 352], [650, 336], [646, 291], [650, 293], [651, 334], [694, 348]], "image": "d03608.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [708, 324], "scale": 0.5049000000000001, "joints": [[815, 293], [756, 328], [685, 359], [685, 357], [751, 327], [818, 292], [683, 358], [620, 328], [614, 311], [601, 282], [696, 326], [656, 339], [626, 323], [622, 324], [656, 332], [696, 322]], "image": "d03609.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [711.5, 320], "scale": 0.5649000000000001, "joints": [[812, 282], [752, 319], [693, 357], [692, 356], [752, 317], [812, 281], [688, 361], [623, 347], [608, 334], [595, 316], [679, 324], [654, 340], [624, 345], [625, 340], [656, 330], [678, 322]], "image": "d03610.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [710.5, 339], "scale": 0.7949, "joints": [[821, 269], [756, 314], [711, 361], [710, 355], [756, 312], [820, 267], [709, 362], [645, 396.00000000000006], [627, 403], [596, 405], [618, 357], [618, 376], [624, 406], [628, 391.99999999999994], [624, 365], [620, 351]], "image": "d03611.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [709.5, 363.5], "scale": 0.9499000000000001, "joints": [[824, 280], [760, 322], [713, 366], [714, 363], [761, 318], [825, 274], [712, 366], [654, 420], [638, 427], [611, 450], [594, 419.00000000000006], [607, 445], [635, 437.99999999999994], [641, 418.00000000000006], [623, 413], [598, 407]], "image": "d03612.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [717, 393], "scale": 1.1049, "joints": [[828, 292], [774, 331], [717, 375], [715, 376], [775, 328], [827, 289], [712, 380], [659, 441.00000000000006], [652, 456], [653, 486.00000000000006], [604, 491], [632, 495], [655, 468], [645, 454], [622, 458.99999999999994], [601, 477]], "image": "d03613.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [737, 433.5], "scale": 1.2799, "joints": [[830, 316], [765, 353], [713, 397.00000000000006], [710, 396.00000000000006], [763, 351], [827, 315], [707, 402], [672, 473], [669, 486.00000000000006], [679, 512], [641, 568], [654, 526], [673, 493], [668, 492], [653, 520], [641, 563]], "image": "d03614.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [752.5, 464.5], "scale": 1.3499, "joints": [[820, 341], [762, 380], [710, 425], [707, 424], [760, 379], [820, 340], [701, 431], [684, 503.99999999999994], [683, 517], [695, 536], [692, 601], [689, 559], [693, 522], [689, 521], [687, 560], [687, 604]], "image": "d03615.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [368, 260], "scale": 1.5949, "joints": [[345, 117], [381, 188], [403, 256], [406, 252.99999999999997], [383, 190], [350, 119], [402, 254.00000000000003], [358, 334], [352, 346], [351, 374.00000000000006], [321, 414.99999999999994], [333, 370.99999999999994], [359, 337], [360, 342], [336, 373.00000000000006], [328, 415.99999999999994]], "image": "d03616.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [371, 260], "scale": 1.5849000000000002, "joints": [[357, 118], [385, 187.00000000000003], [406, 256], [409, 255.00000000000003], [389, 185.99999999999997], [358, 115], [405, 258], [356, 338], [353, 348], [348, 380], [324, 414.99999999999994], [339, 367], [363, 335], [369, 339], [340, 372.00000000000006], [329, 413.99999999999994]], "image": "d03617.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [370, 265], "scale": 1.5849000000000002, "joints": [[370, 115], [392, 181], [411, 257], [413, 257], [395, 180], [373, 115], [410, 257], [361, 334], [355, 347], [344, 378], [324, 414.99999999999994], [339, 368], [367, 334], [364, 338], [339, 369.99999999999994], [328, 411]], "image": "d03618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [375.5, 263], "scale": 1.5949, "joints": [[388, 120.99999999999999], [405, 187.00000000000003], [417, 260], [418, 260], [405, 184], [386, 117], [415, 261], [361, 335], [353, 345], [343, 373.00000000000006], [321, 413], [346, 361], [367, 336], [368, 335], [342, 367], [329, 412]], "image": "d03619.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [377, 264.5], "scale": 1.5599, "joints": [[407, 116.00000000000001], [417, 178], [419, 261], [421, 260], [420, 178], [407, 114], [419, 262], [366, 335], [358, 349], [346, 374.00000000000006], [323, 413], [347, 360], [369, 338], [368, 338], [345, 364], [328, 412]], "image": "d03620.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [384, 266.5], "scale": 1.5499, "joints": [[432, 123], [430, 191], [426, 262], [429, 261], [432, 190], [431, 120], [424, 263], [368, 337], [359, 350], [345, 375], [325, 412], [346, 363], [371, 338], [371, 339], [344, 368.99999999999994], [327, 410]], "image": "d03621.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [392, 267], "scale": 1.5249000000000001, "joints": [[455, 120.99999999999999], [443, 189], [429, 266], [433, 267], [445, 189], [456, 120], [427, 265], [371, 333], [362, 345], [343, 372.00000000000006], [328, 408], [347, 368], [373, 344], [374, 342], [344, 367], [329, 407]], "image": "d03622.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [425, 273.5], "scale": 1.4499000000000002, "joints": [[522, 146], [478, 207], [439, 267], [440, 265], [478, 205], [521, 143], [438, 266], [381, 333], [370, 344], [346, 365], [326, 405], [359, 363], [386, 339], [394, 339], [359, 364], [329, 407]], "image": "d03623.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [443.5, 287], "scale": 1.3049000000000002, "joints": [[556, 172], [498, 210.00000000000003], [446, 261], [446, 261], [498, 209.00000000000003], [558, 168], [445, 263], [383, 333], [373, 343], [351, 363], [326, 403], [374, 350], [394, 329], [396, 330], [368, 353], [330, 400]], "image": "d03624.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [461.5, 303], "scale": 1.0949, "joints": [[583, 209.00000000000003], [507, 223], [451, 262], [452, 262], [509, 223], [586, 205], [451, 265], [389, 329], [381, 338], [355, 359], [330, 401], [366, 362], [393, 340], [393, 340], [366, 362], [331, 402]], "image": "d03625.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [469, 317.5], "scale": 0.9099, "joints": [[604, 241.99999999999997], [534, 237], [463, 262], [465, 259], [534, 236], [607, 243.00000000000003], [462, 260], [393, 322], [382, 331], [356, 347], [331, 396.00000000000006], [370, 358], [394, 335], [392, 337], [369, 359], [335, 398]], "image": "d03626.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 319], "scale": 0.7949, "joints": [[612, 278], [544, 252.99999999999997], [472, 259], [472, 258], [544, 251], [615, 276], [468, 260], [396, 315], [381, 324], [360, 338], [335, 381], [367, 346], [393, 321], [392, 325], [368, 347], [341, 380]], "image": "d03627.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [483.5, 319], "scale": 0.6249000000000001, "joints": [[620, 304], [551, 269], [484, 265], [483, 268], [553, 270], [622, 304], [481, 268], [403, 305], [387, 312], [353, 315], [335, 357], [371, 328], [400, 312], [401, 312], [372, 329], [343, 351]], "image": "d03628.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [485, 304], "scale": 0.3249000000000001, "joints": [[631, 319], [558, 289], [494, 285], [495, 285], [561, 287], [634, 318], [492, 285], [408, 296], [393, 298], [359, 294], [334, 317], [370, 311], [407, 302], [410, 302], [371, 308], [337, 314]], "image": "d03629.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [510, 285], "scale": 0.4749000000000001, "joints": [[640, 325], [570, 304], [501, 304], [498, 305], [569, 302], [642, 322], [496, 304], [418, 286], [401, 284], [372, 274], [362, 248], [383, 269], [411, 291], [412, 284], [390, 257], [366, 245]], "image": "d03630.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [526, 277], "scale": 0.6549, "joints": [[637, 327], [568, 313], [498, 328], [500, 327], [569, 314], [641, 325], [498, 328], [432, 280], [424, 274], [398, 239], [436, 220.00000000000003], [436, 244], [418, 285], [432, 272], [446, 243.00000000000003], [447, 220.00000000000003]], "image": "d03631.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [538, 286.5], "scale": 0.7299000000000001, "joints": [[629, 328], [561, 328], [491, 348], [493, 347], [562, 326], [633, 326], [492, 344], [459, 274], [456, 256], [446, 222], [503, 246], [483, 268], [441, 271], [455, 266], [488, 229.99999999999997], [509, 240.99999999999997]], "image": "d03632.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545, 289.5], "scale": 0.7399000000000001, "joints": [[621, 336], [554, 336], [483, 348], [484, 347], [554, 336], [626, 332], [483, 342], [490, 263], [498, 248], [507, 216], [545, 288], [514, 281], [483, 264], [485, 261], [516, 290], [551, 288]], "image": "d03633.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 297.5], "scale": 0.6299000000000001, "joints": [[619, 355], [548, 338], [474, 335], [476, 335], [548, 338], [622, 352], [476, 330], [518, 276], [532, 266], [554, 240], [536, 320], [515, 293], [522, 270], [524, 271], [530, 296], [542, 323]], "image": "d03634.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 322], "scale": 0.5949000000000001, "joints": [[600, 375], [537, 338], [474, 316], [476, 315], [540, 338], [602, 372.00000000000006], [479, 314], [540, 291], [560, 287], [588, 279], [524, 349], [528, 305], [549, 288], [552, 296], [539, 325], [544, 377]], "image": "d03635.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544.5, 339.5], "scale": 0.6999000000000001, "joints": [[585, 397.00000000000006], [535, 341], [489, 297], [489, 298], [538, 341], [588, 398], [494, 293], [555, 300], [572, 309], [599, 316], [514, 351], [535, 316], [559, 301], [562, 309], [543, 334], [527, 376]], "image": "d03636.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 340], "scale": 0.8549000000000001, "joints": [[542, 411], [534, 340], [513, 272], [514, 274], [532, 339], [545, 410], [519, 274], [567, 313], [570, 324], [587, 346], [514, 340], [528, 327], [568, 317], [574, 323], [533, 340], [519, 355]], "image": "d03637.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 327], "scale": 0.8049000000000001, "joints": [[499, 393.99999999999994], [525, 330], [537, 265], [536, 264], [521, 331], [501, 397.00000000000006], [541, 265], [562, 311], [561, 327], [571, 364], [507, 326], [517, 313], [569, 323], [567, 329], [522, 328], [509, 325]], "image": "d03638.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [519, 289], "scale": 0.5149000000000001, "joints": [[449, 315], [521, 286], [582, 260], [582, 259], [520, 285], [446, 310], [585, 267], [549, 308], [537, 318], [511, 332], [507, 274], [522, 270], [541, 311], [545, 313], [523, 269], [507, 276]], "image": "d03639.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [519, 278], "scale": 0.4449000000000001, "joints": [[455, 249], [522, 252.99999999999997], [595, 264], [595, 264], [519, 252.99999999999997], [452, 241.99999999999997], [592, 271], [541, 297], [525, 300], [500, 294], [536, 241.99999999999997], [534, 254.00000000000003], [532, 296], [529, 290], [526, 245], [533, 240]], "image": "d03640.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 241], "scale": 0.6649, "joints": [[478, 185.99999999999997], [537, 228], [594, 269], [597, 270], [535, 227], [479, 185.99999999999997], [592, 276], [533, 277], [519, 275], [496, 258], [557, 222], [552, 237], [526, 278], [528, 267], [538, 224], [554, 218.99999999999997]], "image": "d03641.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554.5, 208.5], "scale": 0.8999000000000001, "joints": [[535, 148], [563, 221.00000000000003], [593, 274], [595, 274], [564, 216], [540, 142], [589, 275], [531, 261], [518, 246], [508, 223], [588, 211], [563, 234], [522, 252.99999999999997], [526, 245], [555, 218], [575, 183]], "image": "d03642.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561, 194.5], "scale": 0.9099, "joints": [[590, 133], [579, 205], [582, 273], [583, 273], [584, 204], [597, 129], [579, 273], [527, 235], [520, 216], [520, 190], [606, 223], [565, 227], [520, 230.99999999999997], [531, 222], [561, 212], [607, 193]], "image": "d03643.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 198.5], "scale": 0.7799, "joints": [[641, 140], [598, 200], [567, 263], [568, 262], [603, 196.99999999999997], [647, 137], [563, 258], [532, 212], [529, 196.99999999999997], [534, 169], [608, 235], [564, 218.99999999999997], [529, 207.99999999999997], [533, 203], [567, 201], [615, 205]], "image": "d03644.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 209.5], "scale": 0.6599, "joints": [[678, 171], [609, 207.99999999999997], [557, 255.00000000000003], [558, 252], [613, 207.99999999999997], [681, 169], [556, 251], [538, 195.99999999999997], [540, 175], [553, 152], [584, 240.99999999999997], [558, 213], [537, 191], [544, 185.99999999999997], [573, 198.00000000000003], [606, 220.00000000000003]], "image": "d03645.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607.5, 197.5], "scale": 0.6599, "joints": [[684, 216], [612, 221.00000000000003], [551, 243.00000000000003], [553, 239], [617, 221.00000000000003], [686, 215], [551, 238], [546, 178], [560, 159], [584, 133], [564, 241.99999999999997], [556, 201], [550, 178], [552, 172], [565, 192], [584, 220.00000000000003]], "image": "d03646.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 198.5], "scale": 0.6499000000000001, "joints": [[676, 256], [612, 239], [547, 230.99999999999997], [547, 230.99999999999997], [613, 239], [678, 252.99999999999997], [548, 230.99999999999997], [568, 170], [585, 159], [611, 141], [552, 250], [559, 210.00000000000003], [564, 178], [564, 177], [558, 204], [560, 236]], "image": "d03647.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601.5, 224.5], "scale": 0.7699000000000001, "joints": [[665, 290], [600, 249], [537, 223], [539, 221.00000000000003], [601, 247], [666, 291], [540, 218], [581, 171], [598, 165], [636, 157], [540, 238], [567, 199], [586, 171], [590, 169], [562, 198.00000000000003], [547, 228]], "image": "d03648.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591, 251], "scale": 0.8649000000000001, "joints": [[632, 325], [584, 258], [544, 217], [544, 214], [591, 257], [635, 322], [547, 212], [596, 184], [615, 184], [649, 188], [549, 240.99999999999997], [580, 207], [600, 185.99999999999997], [603, 184], [584, 207.99999999999997], [564, 225]], "image": "d03649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597, 269], "scale": 0.8649000000000001, "joints": [[588, 347], [574, 278], [549, 212], [550, 214], [576, 276], [592, 345], [555, 212], [613, 215], [635, 222], [664, 230.99999999999997], [556, 270], [592, 235], [616, 214], [622, 210.00000000000003], [584, 232.00000000000003], [557, 255.00000000000003]], "image": "d03650.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [713, 302], "scale": 1.2149, "joints": [[828, 385], [701, 374.00000000000006], [593, 385], [601, 384], [709, 375], [836, 378], [595, 380], [645, 249], [661, 234], [681, 195], [636, 285], [611, 264], [625, 245], [653, 265], [668, 295], [679, 321]], "image": "d03651.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [692, 306], "scale": 1.0549000000000002, "joints": [[822, 398], [703, 372.00000000000006], [580, 379], [583, 381], [705, 376], [826, 393.99999999999994], [586, 370.99999999999994], [656, 272], [679, 254.00000000000003], [705, 214], [673, 341], [635, 296], [656, 255.00000000000003], [668, 277], [679, 309], [695, 351]], "image": "d03652.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [674.5, 371], "scale": 1.0349000000000002, "joints": [[768, 459.99999999999994], [680, 390], [589, 335], [593, 336], [684, 391.99999999999994], [773, 458], [594, 326], [681, 311], [715, 316], [765, 316], [634, 402], [660, 334], [702, 315], [703, 328], [679, 382], [664, 453]], "image": "d03653.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [662.5, 395.5], "scale": 1.3299, "joints": [[707, 502], [655, 391.99999999999994], [593, 303], [598, 305], [650, 396.00000000000006], [712, 504.99999999999994], [605, 301], [698, 342], [722, 360], [763, 382], [621, 399], [643, 373.00000000000006], [700, 339], [700, 362], [660, 385], [637, 445]], "image": "d03654.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658.5, 400.5], "scale": 1.3799000000000001, "joints": [[663, 517], [647, 398], [607, 292], [614, 297], [644, 399], [669, 517], [616, 292], [692, 348], [707, 367], [735, 408], [609, 396.00000000000006], [635, 372.00000000000006], [692, 359], [689, 374.00000000000006], [641, 384], [617, 422]], "image": "d03655.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603.5, 361], "scale": 1.2249, "joints": [[510, 453], [598, 363], [666, 275], [668, 274], [597, 362], [514, 455], [674, 279], [661, 368], [654, 387], [637, 443], [576, 337], [599, 341], [663, 384], [668, 385], [600, 352], [579, 336]], "image": "d03656.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [593, 338.5], "scale": 0.9799000000000001, "joints": [[492, 410], [597, 344], [675, 273], [681, 272], [594, 345], [487, 407], [682, 286], [650, 367], [637, 385], [611, 427], [578, 322], [608, 337], [645, 385], [642, 368.99999999999994], [602, 323], [579, 316]], "image": "d03657.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 323], "scale": 0.6849000000000001, "joints": [[464, 286], [591, 300], [703, 300], [703, 299], [587, 293], [468, 274], [703, 315], [611, 351], [585, 352], [538, 360], [597, 265], [598, 288], [599, 354], [596, 348], [596, 274], [602, 258]], "image": "d03658.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607, 251.5], "scale": 1.2799, "joints": [[526, 149], [609, 255.00000000000003], [688, 336], [692, 337], [610, 250], [535, 150], [683, 338], [584, 326], [557, 313], [533, 285], [649, 230.99999999999997], [624, 274], [574, 324], [576, 312], [607, 262], [623, 199]], "image": "d03659.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615.5, 227.5], "scale": 1.4499000000000002, "joints": [[659, 123], [642, 240], [650, 358], [653, 357], [647, 236], [668, 117], [643, 353], [566, 298], [554, 277], [546, 224], [691, 273], [615, 284], [546, 291], [557, 283], [617, 254.00000000000003], [691, 227]], "image": "d03660.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621.5, 236.5], "scale": 1.4399000000000002, "joints": [[700, 126.99999999999999], [653, 237], [635, 357], [639, 356], [658, 233], [710, 123], [633, 355], [554, 283], [552, 261], [552, 213], [679, 284], [599, 283], [548, 278], [560, 266], [622, 256], [706, 241.99999999999997]], "image": "d03661.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [654, 269.5], "scale": 1.1499000000000001, "joints": [[763, 189], [680, 266], [609, 356], [612, 356], [687, 261], [773, 183], [607, 356], [564, 269], [564, 240], [571, 181], [660, 323], [591, 282], [552, 255.00000000000003], [573, 249], [625, 259], [700, 285]], "image": "d03662.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [674.5, 281], "scale": 1.0949, "joints": [[791, 220.00000000000003], [678, 284], [596, 362], [603, 359], [688, 287], [799, 217], [596, 359], [565, 256], [570, 228], [589, 178], [641, 337], [593, 283], [561, 243.00000000000003], [571, 240], [622, 265], [683, 298]], "image": "d03663.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [675, 278.5], "scale": 1.0699, "joints": [[795, 259], [680, 300], [589, 353], [590, 353], [682, 295], [807, 255.00000000000003], [585, 349], [576, 244], [590, 216], [615, 162], [604, 328], [585, 283], [566, 243.00000000000003], [580, 237], [620, 266], [651, 294]], "image": "d03664.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [678.5, 280.5], "scale": 1.0799, "joints": [[811, 347], [684, 337], [569, 350], [573, 346], [689, 332], [821, 341], [572, 344], [596, 238], [613, 216], [654, 181], [580, 349], [584, 282], [588, 236], [597, 236], [608, 265], [624, 308]], "image": "d03665.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [687, 294.5], "scale": 1.0499, "joints": [[798, 385], [687, 361], [574, 347], [577, 344], [688, 359], [800, 383], [570, 343], [609, 252], [621, 236], [672, 207.99999999999997], [563, 368.99999999999994], [584, 301], [593, 259], [603, 246], [610, 275], [611, 315]], "image": "d03666.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [452.5, 272.5], "scale": 1.1599000000000002, "joints": [[456, 164], [520, 176], [483, 229], [480, 230.99999999999997], [516, 179], [454, 166], [479, 234], [430, 292], [417, 304], [398, 315], [411, 375], [424, 329], [423, 289], [421, 292], [421, 335], [407, 382]], "image": "d03667.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [458.5, 289.5], "scale": 0.9899000000000001, "joints": [[471, 195], [530, 207.99999999999997], [490, 261], [491, 261], [533, 209.00000000000003], [468, 193], [486, 262], [429, 301], [414, 311], [383, 310], [410, 379], [427, 333], [428, 296], [430, 297], [421, 337], [406, 383]], "image": "d03668.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [478.5, 270], "scale": 1.1049, "joints": [[566, 168], [567, 239], [506, 281], [502, 282], [565, 238], [560, 165], [501, 282], [430, 301], [411, 305], [386, 301], [411, 373.00000000000006], [428, 328], [430, 294], [426, 296], [423, 334], [405, 374.00000000000006]], "image": "d03669.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [509, 290], "scale": 0.8549000000000001, "joints": [[628, 216], [574, 256], [504, 274], [504, 276], [571, 259], [627, 212], [503, 276], [430, 290], [415, 290], [392, 285], [410, 368], [431, 326], [436, 284], [429, 288], [424, 325], [404, 370.99999999999994]], "image": "d03670.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [525, 312], "scale": 0.6249000000000001, "joints": [[658, 271], [595, 266], [519, 257], [519, 257], [595, 266], [659, 268], [515, 260], [437, 277], [424, 280], [402, 276], [410, 368], [426, 328], [442, 278], [438, 281], [423, 325], [406, 365]], "image": "d03671.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [532, 286.5], "scale": 0.6699, "joints": [[668, 331], [606, 291], [552, 256], [542, 269], [598, 313], [663, 343], [545, 266], [468, 243.00000000000003], [452, 240], [430, 228], [437, 321], [451, 287], [461, 230.99999999999997], [457, 250], [429, 283], [389, 304]], "image": "d03672.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [537.5, 280], "scale": 0.8949000000000001, "joints": [[670, 352], [615, 311], [563, 267], [547, 288], [603, 325], [659, 360], [551, 275], [487, 225], [472, 215], [454, 187.00000000000003], [459, 285], [487, 250], [493, 213], [468, 234], [432, 252.99999999999997], [388, 236]], "image": "d03673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549.5, 269], "scale": 1.2249, "joints": [[664, 368], [619, 325], [570, 270], [542, 298], [604, 342], [656, 380], [555, 284], [508, 221.00000000000003], [501, 206], [496, 179], [481, 240], [509, 217], [526, 204], [488, 223], [438, 211], [434, 157]], "image": "d03674.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565.5, 266], "scale": 1.3949, "joints": [[656, 388], [616, 338], [572, 278], [544, 297], [599, 348], [649, 397.00000000000006], [558, 287], [530, 212], [532, 199], [536, 173], [548, 202], [568, 233], [556, 209.00000000000003], [506, 210.00000000000003], [474, 168], [507, 129]], "image": "d03675.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585, 285], "scale": 1.4649, "joints": [[644, 407], [603, 345], [574, 284], [547, 300], [589, 350], [628, 415.99999999999994], [556, 287], [547, 211], [554, 200], [563, 180], [599, 215], [590, 248], [577, 220.00000000000003], [528, 205], [525, 159], [578, 150]], "image": "d03676.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [586, 305.5], "scale": 1.3599, "joints": [[614, 420], [595, 351], [577, 287], [557, 292], [578, 353], [599, 417.00000000000006], [566, 288], [575, 211], [579, 200], [582, 182], [624, 249], [594, 268], [591, 223], [556, 195], [608, 182], [631, 200]], "image": "d03677.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598, 311.5], "scale": 1.3099, "joints": [[573, 415.99999999999994], [576, 359], [577, 292], [576, 291], [575, 360], [573, 420], [580, 288], [596, 220.00000000000003], [606, 207.99999999999997], [619, 175], [615, 286], [578, 273], [601, 224], [596, 204], [624, 217], [635, 248]], "image": "d03678.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 310], "scale": 1.2549000000000001, "joints": [[540, 415.99999999999994], [557, 356], [582, 285], [591, 294], [566, 356], [543, 413.99999999999994], [589, 293], [626, 228], [634, 220.00000000000003], [653, 192], [593, 282], [574, 248], [621, 225], [636, 225], [638, 259], [612, 277]], "image": "d03679.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592.5, 302.5], "scale": 0.9999000000000001, "joints": [[505, 383], [547, 331], [581, 281], [606, 293], [559, 343], [516, 392.99999999999994], [596, 282], [647, 236], [660, 229.99999999999997], [680, 214], [617, 248], [587, 237], [635, 218], [670, 249], [644, 283], [614, 263]], "image": "d03680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584.5, 292], "scale": 0.8049000000000001, "joints": [[483, 341], [544, 306], [593, 271], [609, 299], [552, 328], [491, 363], [601, 281], [666, 246], [681, 244], [705, 233], [614, 222], [636, 218.99999999999997], [659, 218.99999999999997], [678, 272], [640, 291], [627, 252]], "image": "d03681.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592, 272.5], "scale": 0.6199000000000001, "joints": [[483, 299], [545, 285], [604, 267], [600, 291], [546, 304], [480, 321], [606, 280], [680, 262], [698, 258], [721, 248], [674, 213], [640, 218], [682, 232.00000000000003], [684, 279], [635, 283], [639, 249]], "image": "d03682.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600, 263], "scale": 0.3949000000000001, "joints": [[488, 273], [553, 272], [610, 269], [608, 271], [547, 271], [493, 267], [613, 277], [687, 273], [704, 273], [724, 265], [693, 224], [670, 235], [691, 267], [691, 275], [648, 269], [651, 258]], "image": "d03683.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 270.5], "scale": 0.4699000000000001, "joints": [[504, 240], [565, 254.00000000000003], [617, 282], [616, 255.00000000000003], [567, 244], [505, 234], [618, 276], [695, 300], [711, 304], [730, 303], [-1, -1], [677, 305], [703, 314], [708, 282], [666, 256], [668, 278]], "image": "d03684.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [616.5, 269], "scale": 0.8049000000000001, "joints": [[515, 205], [573, 240.99999999999997], [624, 276], [641, 249], [581, 225], [527, 195], [635, 265], [693, 315], [704, 324], [719, 343], [660, 319], [664, 328], [685, 335], [717, 290], [699, 261], [670, 250]], "image": "d03685.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [630, 274.5], "scale": 1.1199000000000001, "joints": [[551, 188], [590, 225], [633, 275], [659, 251], [610, 213], [564, 172], [648, 265], [686, 328], [690, 342], [693, 364], [653, 383], [638, 345], [673, 343], [719, 311], [709, 272], [684, 246]], "image": "d03686.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [643, 275.5], "scale": 1.2699, "joints": [[573, 167], [611, 217], [647, 264], [671, 255.00000000000003], [630, 207.99999999999997], [590, 157], [664, 260], [686, 341], [680, 354], [667, 374.00000000000006], [601, 392.99999999999994], [632, 350], [667, 340], [709, 330], [709, 295], [712, 251]], "image": "d03687.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 266.5], "scale": 1.2499, "joints": [[608, 162], [636, 205], [669, 264], [685, 261], [657, 204], [623, 155], [679, 261], [670, 350], [660, 359], [639, 375], [562, 379], [616, 359], [659, 351], [686, 351], [703, 317], [724, 281]], "image": "d03688.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [642, 253.5], "scale": 1.1099, "joints": [[637, 156], [667, 213], [696, 275], [706, 274], [678, 207.99999999999997], [651, 156], [702, 277], [653, 340], [641, 347], [621, 359], [564, 353], [617, 349], [652, 349], [685, 333], [708, 325], [732, 314]], "image": "d03689.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [654, 244], "scale": 1.0349000000000002, "joints": [[680, 165], [693, 228], [712, 299], [713, 295], [699, 224], [684, 160], [710, 299], [651, 323], [638, 325], [598, 317], [588, 339], [613, 333], [638, 330], [660, 332], [680, 332], [704, 337]], "image": "d03690.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670, 253.5], "scale": 0.9799000000000001, "joints": [[723, 174], [717, 246], [714, 320], [716, 320], [721, 245], [724, 173], [711, 322], [655, 310], [639, 304], [623, 279], [647, 316], [643, 313], [637, 313], [640, 325], [656, 333], [672, 343]], "image": "d03691.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [729, 306.5], "scale": 0.5999000000000001, "joints": [[824, 314], [758, 331], [685, 346], [689, 341], [760, 331], [826, 312], [688, 343], [680, 290], [687, 277], [709, 254.00000000000003], [654, 296], [670, 283], [680, 273], [677, 269], [655, 284], [630, 296]], "image": "d03692.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [732.5, 317.5], "scale": 0.6199000000000001, "joints": [[813, 374.00000000000006], [741, 363], [679, 343], [684, 340], [743, 360], [814, 370.99999999999994], [679, 343], [694, 283], [708, 276], [734, 260], [661, 297], [674, 281], [690, 274], [692, 270], [669, 278], [636, 282]], "image": "d03693.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [726, 354.5], "scale": 0.8599000000000001, "joints": [[786, 428], [723, 383], [674, 342], [676, 340], [727, 383], [788, 426], [677, 337], [716, 288], [730, 289], [752, 287], [671, 303], [689, 282], [716, 279], [716, 279], [687, 276], [652, 283]], "image": "d03694.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [628.5, 362.5], "scale": 0.5799000000000001, "joints": [[512, 389], [580, 384], [654, 380], [650, 398], [589, 397.00000000000006], [508, 413.99999999999994], [654, 385], [737, 366], [758, 363], [784, 361], [737, 314], [706, 314], [739, 339], [742, 386], [685, 386], [690, 352]], "image": "d03695.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 377.5], "scale": 0.4499000000000001, "joints": [[517, 370.99999999999994], [594, 373.00000000000006], [660, 403], [647, 388], [585, 373.00000000000006], [511, 367], [652, 393.99999999999994], [744, 403], [767, 403], [785, 399], [754, 342], [725, 373.00000000000006], [753, 407], [740, 390], [692, 373.00000000000006], [701, 368]], "image": "d03696.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639, 393.5], "scale": 0.7699000000000001, "joints": [[523, 340], [588, 373.00000000000006], [646, 406], [648, 373.00000000000006], [585, 354], [520, 333], [651, 397.00000000000006], [733, 441.00000000000006], [748, 451], [774, 458], [770, 393.99999999999994], [762, 424], [731, 456], [746, 406], [710, 373.00000000000006], [702, 395.00000000000006]], "image": "d03697.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [643, 411], "scale": 1.3149000000000002, "joints": [[552, 310], [597, 358], [647, 408], [678, 386], [618, 339], [568, 295], [669, 403], [718, 474], [722, 491], [716, 531], [676, 518], [664, 494], [692, 496], [752, 452], [741, 408], [707, 378]], "image": "d03698.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 418.5], "scale": 1.4299000000000002, "joints": [[568, 309], [614, 357], [654, 409], [682, 391.99999999999994], [634, 350], [588, 293], [671, 403], [708, 480], [713, 503.99999999999994], [702, 537], [652, 552], [642, 510], [684, 497], [747, 474], [739, 424], [720, 379]], "image": "d03699.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 423], "scale": 1.4049, "joints": [[603, 301], [643, 365], [686, 424], [698, 422], [660, 357], [624, 295], [693, 427], [679, 513], [668, 533], [642, 540], [549, 553], [619, 531], [660, 525], [699, 521], [719, 483.99999999999994], [745, 438.99999999999994]], "image": "d03700.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608, 315.5], "scale": 1.4399000000000002, "joints": [[636, 184.99999999999997], [719, 218], [669, 292], [660, 292], [715, 216], [630, 184.99999999999997], [663, 296], [561, 342], [538, 351], [491, 345], [535, 451], [555, 387], [565, 328], [552, 327], [545, 390], [521, 453]], "image": "d03701.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [653, 331], "scale": 0.9149, "joints": [[831, 387], [749, 336], [682, 285], [673, 304], [735, 355], [826, 401], [675, 295], [569, 267], [543, 264], [514, 250], [525, 379], [544, 328], [560, 258], [560, 273], [520, 321], [466, 355]], "image": "d03702.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [645, 317.5], "scale": 1.3599, "joints": [[820, 430], [743, 364], [684, 310], [656, 337], [728, 391], [809, 444], [664, 318], [588, 240], [574, 226], [558, 189], [560, 298], [594, 261], [602, 218], [562, 259], [505, 268], [469, 232.00000000000003]], "image": "d03703.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [665, 305.5], "scale": 1.6999000000000002, "joints": [[804, 458.99999999999994], [737, 381], [681, 317], [646, 347], [717, 409], [792, 471], [659, 331], [611, 247], [606, 227], [608, 187.00000000000003], [-1, -1], [660, 251], [639, 228], [578, 247], [528, 213], [545, 145]], "image": "d03704.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [684.5, 342.5], "scale": 1.8699000000000001, "joints": [[762, 502], [714, 417.00000000000006], [669, 336], [633, 355], [691, 428], [741, 513], [648, 344], [642, 248], [646, 235], [652, 207.99999999999997], [700, 248], [690, 295], [675, 254.00000000000003], [618, 235], [607, 179], [673, 160]], "image": "d03705.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [678.5, 356], "scale": 1.7949000000000002, "joints": [[734, 501], [701, 424], [669, 340], [633, 354], [683, 429], [715, 508.00000000000006], [649, 349], [648, 251], [657, 235], [663, 204], [716, 275], [688, 318], [683, 261], [627, 232.00000000000003], [642, 192], [702, 190]], "image": "d03706.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [676, 373.5], "scale": 1.7399, "joints": [[705, 512], [689, 429], [666, 349], [637, 355], [670, 436], [692, 520], [651, 352], [661, 260], [667, 245], [673, 211], [725, 306], [684, 330], [682, 268], [642, 228], [689, 206], [732, 227]], "image": "d03707.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686.5, 381], "scale": 1.6549, "joints": [[658, 525], [658, 444], [658, 358], [651, 357], [658, 448], [658, 527], [656, 356], [680, 263], [690, 255.00000000000003], [703, 220.00000000000003], [703, 357], [660, 337], [684, 288], [675, 244], [718, 263], [738, 300]], "image": "d03708.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [677, 382.5], "scale": 1.6099, "joints": [[631, 526], [642, 453], [654, 367], [661, 367], [646, 455], [633, 530], [658, 364], [700, 280], [708, 267], [719, 232.00000000000003], [683, 365], [645, 329], [690, 286], [704, 266], [726, 288], [723, 327]], "image": "d03709.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [670.5, 395.5], "scale": 1.5199, "joints": [[609, 520], [625, 447], [648, 361], [673, 373.00000000000006], [643, 446], [614, 526], [664, 368], [707, 294], [717, 284], [734, 256], [675, 367], [640, 322], [693, 293], [717, 280], [730, 304], [716, 348]], "image": "d03710.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [663.5, 398], "scale": 1.4149, "joints": [[573, 519], [619, 431], [649, 366], [670, 372.00000000000006], [636, 436.99999999999994], [586, 522], [663, 369.99999999999994], [718, 301], [731, 288], [748, 265], [665, 347], [638, 314], [697, 289], [739, 311], [724, 360], [689, 347]], "image": "d03711.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658.5, 398.5], "scale": 1.2499, "joints": [[554, 493], [607, 426], [648, 364], [672, 380], [621, 442.00000000000006], [564, 509.00000000000006], [663, 373.00000000000006], [728, 312], [740, 304], [766, 284], [663, 329], [644, 311], [705, 293], [746, 329], [716, 374.00000000000006], [676, 341]], "image": "d03712.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650, 395.5], "scale": 1.0799, "joints": [[533, 475], [591, 419.00000000000006], [647, 359], [670, 392.99999999999994], [603, 443], [548, 491], [659, 374.00000000000006], [730, 323], [744, 314], [772, 296], [697, 317], [650, 306], [707, 291], [753, 345], [705, 383], [681, 337]], "image": "d03713.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [642, 395.5], "scale": 1.0399, "joints": [[524, 448], [579, 409], [644, 364], [665, 402], [598, 435], [525, 478], [655, 380], [734, 330], [751, 326], [780, 317], [712, 299], [666, 301], [725, 301], [752, 364], [701, 388], [683, 336]], "image": "d03714.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [638.5, 380], "scale": 0.8749000000000001, "joints": [[505, 434], [578, 404], [649, 365], [657, 403], [587, 431], [514, 458], [651, 382], [739, 340], [756, 338], [783, 331], [723, 296], [680, 299], [736, 310], [749, 373.00000000000006], [694, 389], [685, 336]], "image": "d03715.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [635, 369], "scale": 0.7249000000000001, "joints": [[508, 408], [581, 391.99999999999994], [648, 368.99999999999994], [649, 398], [581, 413], [503, 436], [651, 384], [741, 353], [759, 348], [788, 340], [724, 300], [695, 307], [742, 325], [745, 381], [689, 390], [686, 345]], "image": "d03716.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 368], "scale": 0.4549000000000001, "joints": [[504, 400], [573, 383], [653, 382], [647, 386], [572, 384], [503, 375], [647, 388], [740, 378], [758, 378], [792, 375], [741, 328], [716, 336], [738, 368], [736, 390], [683, 383], [695, 363]], "image": "d03717.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641, 391], "scale": 0.5649000000000001, "joints": [[525, 360], [593, 380], [652, 407], [646, 379], [590, 364], [518, 349], [653, 396.00000000000006], [741, 429], [757, 429], [788, 421], [-1, -1], [-1, -1], [736, 435], [747, 397.00000000000006], [702, 368.99999999999994], [690, 399]], "image": "d03718.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [637, 398.5], "scale": 0.9599000000000001, "joints": [[538, 334], [599, 373.00000000000006], [647, 411], [661, 373.00000000000006], [605, 353], [544, 320], [656, 397.00000000000006], [730, 454], [740, 462.00000000000006], [767, 482.99999999999994], [-1, -1], [688, 468], [713, 479], [755, 420], [735, 389], [710, 373.00000000000006]], "image": "d03719.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [642, 405], "scale": 1.1249, "joints": [[542, 319], [595, 363], [649, 412], [676, 380], [615, 345], [553, 308], [664, 395.00000000000006], [723, 458], [733, 477], [735, 505.99999999999994], [-1, -1], [681, 491], [707, 481], [752, 444], [741, 399], [700, 377]], "image": "d03720.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]}, {"center": [651.5, 419], "scale": 1.4449, "joints": [[562, 299], [611, 357], [654, 410], [684, 392.99999999999994], [634, 348], [588, 296], [673, 405], [711, 487.00000000000006], [711, 503.99999999999994], [705, 542], [652, 552], [644, 511], [686, 495], [743, 481.99999999999994], [740, 421], [718, 377]], "image": "d03721.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [655.5, 420.5], "scale": 1.4799, "joints": [[580, 306], [623, 358], [663, 412], [690, 402], [646, 351], [599, 290], [677, 412], [707, 500], [702, 517], [687, 541], [604, 562], [641, 515], [685, 504.99999999999994], [730, 496], [734, 434], [730, 388]], "image": "d03722.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658, 417], "scale": 1.4449, "joints": [[590, 300], [631, 358], [670, 414.99999999999994], [693, 409], [651, 351], [616, 293], [683, 412], [694, 503], [683, 525], [656, 542], [581, 553], [636, 519], [677, 505.99999999999994], [718, 505.99999999999994], [730, 468], [742, 414.99999999999994]], "image": "d03723.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [647, 427], "scale": 1.3349000000000002, "joints": [[622, 312], [660, 375], [695, 436], [701, 434], [674, 368], [639, 302], [697, 436], [668, 522], [652, 535], [620, 553], [540, 545], [605, 532], [657, 529], [685, 529], [711, 501], [748, 466]], "image": "d03724.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [633, 421.5], "scale": 1.1999000000000002, "joints": [[651, 320], [678, 390], [708, 465], [712, 464.00000000000006], [688, 388], [660, 320], [708, 468], [642, 516], [623, 522], [594, 518], [546, 533], [596, 529], [637, 530], [672, 522], [706, 514], [733, 511]], "image": "d03725.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [640.5, 421], "scale": 1.1949, "joints": [[673, 327], [690, 400], [710, 479], [711, 477], [693, 396.00000000000006], [676, 323], [705, 481.99999999999994], [635, 512], [615, 512], [584, 508.00000000000006], [558, 526], [599, 526], [630, 523], [645, 522], [677, 521], [711, 523]], "image": "d03726.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [650.5, 424], "scale": 1.0949, "joints": [[691, 341], [700, 410], [710, 496], [710, 496], [702, 410], [692, 340], [706, 498], [632, 503.99999999999994], [616, 504.99999999999994], [584, 495], [585, 523], [601, 514], [616, 514], [646, 523], [665, 517], [687, 524]], "image": "d03727.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641.5, 429], "scale": 1.0049000000000001, "joints": [[709, 356], [708, 436], [704, 510], [705, 509.00000000000006], [711, 436.99999999999994], [710, 356], [698, 510], [629, 504.99999999999994], [612, 496], [586, 471], [597, 513], [605, 509.00000000000006], [615, 508.00000000000006], [621, 497], [623, 483.99999999999994], [622, 475]], "image": "d03728.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [672.5, 451.5], "scale": 0.9299000000000001, "joints": [[743, 383], [715, 454], [682, 536], [684, 536], [718, 455], [745, 385], [677, 532], [627, 494], [618, 482.99999999999994], [614, 448], [614, 496], [616, 493], [616, 487.00000000000006], [618, 483.99999999999994], [622, 481], [626, 481]], "image": "d03729.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686.5, 464], "scale": 0.8749000000000001, "joints": [[758, 407], [716, 470], [668, 536], [671, 533], [719, 470], [760, 403], [665, 533], [625, 487.00000000000006], [619, 468], [626, 436], [613, 483.99999999999994], [616, 482.99999999999994], [616, 480], [618, 479], [621, 479], [624, 479]], "image": "d03730.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [422, 272], "scale": 1.0449000000000002, "joints": [[423, 366], [396, 308], [453, 295], [455, 296], [394, 308], [423, 367], [452, 291], [398, 246], [387, 233], [380, 211], [473, 199], [443, 224], [405, 232.00000000000003], [404, 236], [434, 211], [454, 170]], "image": "d03731.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [432, 287], "scale": 0.8849000000000001, "joints": [[423, 364], [392, 309], [453, 295], [457, 297], [394, 308], [424, 367], [453, 295], [403, 247], [385, 229.99999999999997], [382, 210.00000000000003], [474, 207], [449, 224], [412, 236], [410, 236], [451, 233], [487, 228]], "image": "d03732.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [442.5, 286.5], "scale": 0.9099, "joints": [[424, 364], [396, 307], [456, 293], [459, 294], [399, 306], [425, 364], [455, 290], [412, 244], [399, 227], [389, 200], [490, 251], [448, 249], [414, 238], [418, 238], [454, 254.00000000000003], [490, 273]], "image": "d03733.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [422.5, 267], "scale": 1.0349000000000002, "joints": [[425, 369.99999999999994], [412, 301], [472, 280], [472, 279], [411, 303], [424, 369.99999999999994], [473, 274], [452, 207.99999999999997], [452, 191], [456, 159], [375, 229.99999999999997], [413, 221.00000000000003], [448, 207.99999999999997], [445, 214], [410, 233], [372, 239]], "image": "d03734.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [481.5, 204], "scale": 1.1349, "joints": [[396, 311], [411, 243.00000000000003], [467, 205], [468, 203], [413, 240], [397, 313], [471, 204], [540, 165], [557, 159], [574, 150], [562, 100], [549, 130], [548, 167], [546, 170], [543, 128], [558, 97]], "image": "d03735.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 142], "scale": 0.8249000000000001, "joints": [[482, 78], [492, 137], [503, 209.00000000000003], [499, 210.00000000000003], [489, 135], [480, 75], [506, 207.99999999999997], [565, 195], [582, 191], [613, 191], [487, 138], [520, 170], [567, 204], [563, 199], [519, 164], [492, 140]], "image": "d03736.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 150.5], "scale": 0.8199000000000001, "joints": [[553, 84], [523, 146], [499, 207], [500, 204], [525, 145], [552, 79], [505, 207], [551, 207.99999999999997], [576, 209.00000000000003], [605, 210.00000000000003], [519, 146], [536, 177], [563, 209.00000000000003], [557, 202], [529, 169], [504, 136]], "image": "d03737.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [575, 215.5], "scale": 0.5199000000000001, "joints": [[634, 177], [567, 180], [506, 188], [502, 187.00000000000003], [570, 184], [633, 174], [505, 193], [546, 225], [562, 238], [581, 255.00000000000003], [554, 169], [564, 180], [555, 226], [553, 222], [551, 183], [556, 173]], "image": "d03738.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 221], "scale": 0.5749000000000001, "joints": [[640, 235], [581, 205], [523, 183], [522, 184], [583, 207], [643, 235], [522, 190], [544, 235], [553, 252.99999999999997], [560, 278], [580, 191], [577, 183], [557, 234], [551, 237], [574, 195], [582, 190]], "image": "d03739.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570.5, 235], "scale": 0.6649, "joints": [[624, 288], [584, 229], [548, 178], [548, 178], [585, 232.00000000000003], [623, 289], [543, 181], [535, 234], [534, 250], [534, 280], [586, 222], [591, 213], [546, 230.99999999999997], [541, 243.00000000000003], [581, 221.00000000000003], [589, 215]], "image": "d03740.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 252], "scale": 0.7949, "joints": [[589, 319], [579, 252.99999999999997], [571, 184], [569, 184.99999999999997], [579, 256], [586, 322], [566, 185.99999999999997], [531, 229.99999999999997], [525, 243.00000000000003], [508, 270], [589, 240], [590, 234], [542, 230.99999999999997], [536, 239], [585, 241.99999999999997], [590, 239]], "image": "d03741.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554, 261], "scale": 0.7649000000000001, "joints": [[541, 328], [566, 263], [593, 206], [590, 204], [567, 264], [541, 330], [587, 203], [531, 224], [518, 236], [493, 243.00000000000003], [579, 265], [583, 254.00000000000003], [539, 229], [534, 234], [572, 255.00000000000003], [580, 263]], "image": "d03742.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 254.5], "scale": 0.6399000000000001, "joints": [[494, 311], [554, 270], [602, 228], [604, 230.99999999999997], [551, 269], [491, 312], [601, 225], [547, 217], [526, 220.00000000000003], [498, 217], [564, 265], [563, 252.99999999999997], [542, 216], [539, 228], [563, 269], [569, 267]], "image": "d03743.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 234], "scale": 0.4549000000000001, "joints": [[470, 268], [541, 264], [602, 252], [602, 252], [538, 263], [471, 269], [604, 251], [554, 217], [543, 212], [517, 194], [554, 268], [558, 262], [549, 213], [546, 218.99999999999997], [548, 265], [551, 274]], "image": "d03744.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530.5, 230], "scale": 0.5949000000000001, "joints": [[468, 223], [535, 248], [595, 268], [595, 270], [537, 251], [470, 222], [598, 266], [569, 217], [557, 204], [549, 182], [545, 260], [551, 249], [558, 212], [561, 215], [542, 251], [539, 263]], "image": "d03745.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [547.5, 227.5], "scale": 0.6699, "joints": [[492, 172], [538, 232.00000000000003], [579, 279], [580, 283], [538, 233], [491, 172], [583, 278], [583, 217], [583, 204], [585, 177], [539, 238], [544, 237], [583, 216], [575, 218.99999999999997], [536, 245], [538, 239]], "image": "d03746.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 203], "scale": 0.7949, "joints": [[580, 145], [561, 200], [545, 262], [542, 263], [562, 200], [580, 141], [550, 265], [596, 235], [608, 228], [633, 216], [546, 204], [552, 198.00000000000003], [600, 229.99999999999997], [595, 227], [549, 209.00000000000003], [544, 196.99999999999997]], "image": "d03747.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580, 206.5], "scale": 0.6499000000000001, "joints": [[632, 152], [587, 184.99999999999997], [537, 237], [535, 240.99999999999997], [583, 191], [633, 150], [541, 244], [593, 241.99999999999997], [609, 244], [632, 240.99999999999997], [562, 187.00000000000003], [566, 200], [594, 240], [597, 234], [573, 202], [569, 189]], "image": "d03748.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [595.5, 221.5], "scale": 0.5299, "joints": [[661, 181], [599, 191], [531, 209.00000000000003], [532, 214], [600, 193], [664, 184.99999999999997], [533, 217], [587, 245], [600, 252.99999999999997], [620, 269], [579, 182], [585, 187.00000000000003], [580, 238], [593, 243.00000000000003], [583, 193], [583, 181]], "image": "d03749.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [607.5, 223], "scale": 0.5749000000000001, "joints": [[670, 211], [616, 195.99999999999997], [539, 189], [538, 189], [614, 200], [671, 216], [537, 193], [573, 240.99999999999997], [584, 259], [584, 281], [605, 181], [599, 176], [576, 228], [582, 240], [600, 185.99999999999997], [605, 174]], "image": "d03750.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600.5, 211], "scale": 0.6249000000000001, "joints": [[663, 244], [605, 200], [559, 167], [556, 168], [604, 200], [662, 247], [554, 169], [556, 229], [557, 247], [545, 276], [620, 179], [588, 192], [561, 226], [560, 233], [591, 199], [621, 183]], "image": "d03751.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [583, 210], "scale": 0.7049000000000001, "joints": [[644, 270], [610, 207], [581, 155], [580, 157], [613, 209.00000000000003], [645, 269], [577, 157], [541, 212], [533, 228], [509, 245], [628, 190], [584, 195.99999999999997], [550, 210.00000000000003], [547, 221.00000000000003], [584, 200], [629, 193]], "image": "d03752.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561.5, 219], "scale": 0.8149000000000001, "joints": [[622, 287], [609, 220.00000000000003], [600, 156], [596, 155], [610, 220.00000000000003], [622, 286], [593, 153], [533, 189], [516, 201], [497, 200], [617, 199], [572, 192], [536, 194], [534, 196.99999999999997], [578, 195.99999999999997], [613, 205]], "image": "d03753.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 222], "scale": 0.8449000000000001, "joints": [[596, 292], [603, 229], [608, 158], [612, 161], [606, 232.00000000000003], [594, 294], [606, 159], [538, 159], [518, 165], [496, 156], [606, 185.99999999999997], [561, 173], [534, 165], [537, 172], [568, 184.99999999999997], [600, 209.00000000000003]], "image": "d03754.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 209], "scale": 0.9249, "joints": [[564, 292], [594, 229], [619, 166], [614, 167], [596, 230.99999999999997], [566, 289], [614, 164], [550, 139], [529, 137], [507, 128], [597, 191], [576, 157], [550, 130], [553, 146], [569, 172], [593, 211]], "image": "d03755.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [418, 243], "scale": 0.8649000000000001, "joints": [[481, 318], [448, 255.00000000000003], [465, 182], [468, 182], [446, 256], [473, 325], [463, 180], [391, 182], [371, 183], [349, 172], [408, 281], [400, 222], [390, 183], [383, 188], [394, 230.99999999999997], [398, 278]], "image": "d03756.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [438.5, 225.5], "scale": 0.7099000000000001, "joints": [[515, 283], [448, 245], [465, 173], [465, 178], [445, 246], [513, 290], [462, 174], [403, 207], [389, 214], [360, 210.00000000000003], [465, 249], [431, 223], [400, 212], [400, 216], [433, 240], [454, 269]], "image": "d03757.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [463.5, 218], "scale": 0.5549000000000001, "joints": [[536, 239], [458, 247], [459, 175], [458, 174], [460, 247], [536, 235], [452, 176], [424, 229], [415, 243.00000000000003], [393, 260], [505, 237], [458, 228], [417, 232.00000000000003], [417, 236], [461, 233], [504, 240]], "image": "d03758.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [471, 233], "scale": 0.6849000000000001, "joints": [[520, 183], [483, 246], [451, 187.00000000000003], [449, 188], [483, 245], [523, 182], [447, 192], [442, 248], [441, 265], [431, 292], [514, 215], [473, 220.00000000000003], [450, 250], [445, 252.99999999999997], [475, 224], [512, 210.00000000000003]], "image": "d03759.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [472, 230], "scale": 0.8349000000000001, "joints": [[493, 166], [508, 232.00000000000003], [445, 204], [445, 207], [507, 233], [489, 163], [444, 211], [473, 266], [480, 281], [485, 310], [507, 196.99999999999997], [476, 234], [477, 268], [474, 267], [470, 227], [504, 191]], "image": "d03760.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489.5, 231], "scale": 0.7249000000000001, "joints": [[461, 175], [513, 221.00000000000003], [448, 229.99999999999997], [446, 232.00000000000003], [514, 218.99999999999997], [466, 175], [447, 236], [500, 273], [515, 281], [536, 300], [486, 191], [484, 239], [507, 275], [502, 270], [480, 240], [482, 189]], "image": "d03761.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [494.5, 243], "scale": 0.4749000000000001, "joints": [[431, 207.99999999999997], [501, 217], [461, 258], [458, 257], [502, 216], [430, 204], [464, 260], [523, 266], [542, 264], [567, 269], [471, 211], [490, 252.99999999999997], [529, 273], [523, 265], [486, 252], [463, 212]], "image": "d03762.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [492.5, 263], "scale": 0.4749000000000001, "joints": [[428, 260], [489, 230.99999999999997], [481, 291], [478, 294], [487, 228], [423, 259], [482, 292], [528, 258], [544, 244], [561, 230.99999999999997], [455, 239], [491, 262], [535, 254.00000000000003], [532, 257], [487, 267], [455, 243.00000000000003]], "image": "d03763.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [488.5, 269], "scale": 0.6749, "joints": [[444, 324], [478, 260], [498, 311], [500, 314], [476, 259], [441, 326], [504, 313], [522, 248], [523, 227], [539, 209.00000000000003], [455, 284], [502, 280], [523, 247], [524, 258], [499, 285], [455, 285]], "image": "d03764.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [503, 305.5], "scale": 0.8299000000000001, "joints": [[476, 369.99999999999994], [473, 293], [523, 327], [527, 331], [474, 295], [477, 370.99999999999994], [527, 328], [505, 267], [495, 254.00000000000003], [485, 229], [472, 324], [500, 298], [504, 262], [507, 265], [504, 303], [473, 327]], "image": "d03765.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [502.5, 335.5], "scale": 0.7199000000000001, "joints": [[531, 392.99999999999994], [481, 334], [545, 332], [548, 332], [480, 333], [529, 391.99999999999994], [548, 328], [481, 290], [464, 286], [444, 276], [501, 364], [501, 318], [487, 284], [486, 285], [505, 321], [503, 365]], "image": "d03766.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [515.5, 352.5], "scale": 0.3899000000000001, "joints": [[573, 389], [500, 370.99999999999994], [547, 330], [547, 331], [500, 368.99999999999994], [ \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/valid.json b/deep-high-resolution-net.pytorch/data/mpii/annot/valid.json new file mode 100644 index 0000000000000000000000000000000000000000..54c53f161b754200708894aa1de061225e333f2c --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/valid.json @@ -0,0 +1 @@ +[{"center": [282, 138], "scale": 0.9349000000000001, "joints": [[378.21863117870726, 201.48859315589354], [335.328897338403, 168.180608365019], [279.6634980988593, 136.6977186311787], [264.15019011406844, 162.70532319391634], [320.72813688212926, 186.88783269961976], [369.09315589353616, 219.7395437262357], [270.5380228136882, 145.36692015209124], [240.88022813688212, 84.68250950570342], [243.61787072243345, 69.16920152091257], [249.0931558935361, 46.811787072243305], [294.2642585551331, 121.18441064638782], [293.8079847908745, 108.40874524714829], [266.88783269961976, 81.48859315589351], [213.04752851711027, 99.28326996197718], [178.37072243346006, 125.29087452471481], [162.40114068441068, 104.75855513307982]], "image": "d02400.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [282, 138], "scale": 0.9349000000000001, "joints": [[378.21863117870726, 201.48859315589354], [335.328897338403, 168.180608365019], [279.6634980988593, 136.6977186311787], [264.15019011406844, 162.70532319391634], [320.72813688212926, 186.88783269961976], [369.09315589353616, 219.7395437262357], [270.5380228136882, 145.36692015209124], [240.88022813688212, 84.68250950570342], [243.61787072243345, 69.16920152091257], [249.0931558935361, 46.811787072243305], [294.2642585551331, 121.18441064638782], [293.8079847908745, 108.40874524714829], [266.88783269961976, 81.48859315589351], [213.04752851711027, 99.28326996197718], [178.37072243346006, 125.29087452471481], [162.40114068441068, 104.75855513307982]], "image": "d02400.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [546, 237.5], "scale": 0.6999000000000001, "joints": [[633, 225], [567, 240], [498, 254.00000000000003], [511, 290], [565, 269], [626, 257], [502, 277], [466, 229], [460, 203], [456, 177], [552, 205], [518, 206], [471, 206], [446, 250], [445, 280], [470, 301]], "image": "d02401.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493, 272], "scale": 1.1349, "joints": [[591, 361], [559, 303], [530, 241.99999999999997], [493, 256], [539, 309], [576, 366], [509, 246], [468, 199], [469, 189], [473, 171], [475, 252.99999999999997], [517, 226], [503, 199], [442, 198.00000000000003], [393, 200], [395, 166]], "image": "d02402.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [488.5, 257], "scale": 1.2949000000000002, "joints": [[548, 370.99999999999994], [539, 320], [529, 252.99999999999997], [509, 252], [533, 323], [543, 373.00000000000006], [510, 245], [475, 210.00000000000003], [467, 205], [473, 180], [454, 238], [487, 263], [498, 207], [468, 191], [422, 156], [427, 128]], "image": "d02403.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [483, 268.5], "scale": 1.3799000000000001, "joints": [[551, 379], [540, 319], [532, 254.00000000000003], [504, 249], [529, 316], [539, 381], [517, 248], [477, 214], [467, 200], [471, 178], [454, 239], [485, 264], [491, 200], [466, 189], [417, 154], [429, 132]], "image": "d02404.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [491.5, 269.5], "scale": 1.4999, "joints": [[509, 398], [508, 329], [509, 256], [514, 255.00000000000003], [518, 320], [514, 385], [511, 248], [475, 203], [469, 199], [467, 184], [462, 213], [469, 260], [475, 229.99999999999997], [491, 188], [470, 132], [483, 120]], "image": "d02405.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495.5, 270.5], "scale": 1.4399000000000002, "joints": [[474, 397.00000000000006], [485, 323], [494, 274], [523, 265], [511, 319], [493, 391], [507, 266], [494, 204], [475, 190], [453, 181], [485, 200], [461, 236], [467, 213], [510, 181], [526, 139], [509, 139]], "image": "d02406.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495, 283], "scale": 1.2449000000000001, "joints": [[431, 381], [463, 327], [493, 275], [513, 297], [478, 347], [447, 387], [506, 285], [531, 213], [524, 195], [506, 164], [551, 209.00000000000003], [516, 227], [506, 204], [548, 201], [565, 193], [534, 180]], "image": "d02407.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [485, 289], "scale": 1.1849, "joints": [[411, 388], [453, 334], [492, 278], [499, 300], [458, 347], [416, 392.99999999999994], [499, 290], [549, 225], [555, 210.00000000000003], [552, 181], [556, 240.99999999999997], [548, 257], [536, 220.00000000000003], [538, 222], [-1, -1], [-1, -1]], "image": "d02408.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]}, {"center": [484.5, 295.5], "scale": 1.0699, "joints": [[401, 381], [454, 343], [503, 290], [467, 282], [433, 331], [387, 378], [490, 285], [551, 240.99999999999997], [564, 229], [582, 203], [567, 273], [555, 294], [569, 250], [553, 216], [559, 205], [578, 191]], "image": "d02409.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [484.5, 294], "scale": 1.0549000000000002, "joints": [[398, 389], [456, 342], [503, 289], [467, 284], [437, 330], [390, 374.00000000000006], [489, 284], [553, 238], [567, 225], [583, 204], [547, 268], [553, 295], [567, 250], [550, 218.99999999999997], [555, 204], [579, 193]], "image": "d02410.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [486.5, 291], "scale": 0.9049, "joints": [[377, 379], [445, 344], [506, 300], [476, 268], [435, 310], [368, 350], [497, 284], [569, 252.99999999999997], [588, 250], [611, 241.99999999999997], [539, 301], [540, 321], [577, 283], [556, 226], [574, 205], [603, 228]], "image": "d02411.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [491, 289], "scale": 0.7749000000000001, "joints": [[379, 355], [435, 334], [500, 316], [493, 284], [430, 307], [368, 330], [502, 304], [571, 283], [584, 279], [610, 285], [519, 306], [520, 322], [570, 311], [572, 250], [598, 220.00000000000003], [618, 268]], "image": "d02412.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [491, 312.5], "scale": 0.37990000000000007, "joints": [[359, 286], [426, 291], [493, 297], [506, 322], [436, 311], [370, 299], [501, 310], [570, 316], [593, 312], [615, 293], [563, 298], [528, 293], [573, 306], [592, 330], [642, 319], [625, 311]], "image": "d02413.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [497.5, 315], "scale": 0.6749, "joints": [[374, 256], [456, 282], [506, 305], [504, 338], [449, 311], [372, 283], [514, 322], [578, 333], [592, 332], [625, 321], [563, 321], [546, 293], [584, 307], [597, 375], [629, 376], [634, 337]], "image": "d02414.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [503, 332.5], "scale": 0.9599000000000001, "joints": [[397, 245], [469, 284], [520, 309], [498, 343], [443, 307], [386, 262], [514, 326], [572, 363], [581, 365], [618, 361], [552, 338], [563, 299], [598, 328], [582, 396.00000000000006], [603, 422], [631, 379]], "image": "d02415.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [502, 331.5], "scale": 0.9799000000000001, "joints": [[392, 240.99999999999997], [459, 275], [521, 306], [500, 341], [445, 304], [383, 262], [515, 325], [575, 362], [582, 363], [622, 369.99999999999994], [550, 340], [562, 299], [596, 327], [578, 393.99999999999994], [605, 422], [632, 379]], "image": "d02416.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496.5, 341], "scale": 1.0449000000000002, "joints": [[418, 247], [483, 288], [534, 310], [502, 335], [459, 299], [408, 262], [520, 329], [565, 377], [574, 388], [598, 420], [537, 339], [577, 318], [593, 360], [571, 401], [570, 438.99999999999994], [595, 434]], "image": "d02417.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [500, 350], "scale": 1.0649000000000002, "joints": [[435, 255.00000000000003], [498, 292], [551, 317], [532, 337], [488, 302], [434, 269], [541, 337], [554, 413], [554, 423], [558, 448], [535, 327], [580, 340], [583, 385], [546, 410], [537, 437.99999999999994], [540, 447]], "image": "d02418.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [525.5, 338], "scale": 0.9949000000000001, "joints": [[473, 252], [537, 295], [584, 346], [587, 347], [534, 292], [475, 252], [580, 351], [535, 398], [523, 407], [498, 425], [560, 317], [560, 361], [532, 408], [527, 403], [481, 380], [495, 406]], "image": "d02419.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 322], "scale": 0.9349000000000001, "joints": [[509, 249], [559, 305], [597, 364], [594, 365], [561, 305], [514, 249], [590, 364], [522, 388], [507, 391], [482, 391], [585, 344], [557, 368.99999999999994], [527, 395.00000000000006], [522, 375], [518, 349], [508, 327]], "image": "d02420.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [548, 316], "scale": 0.8949000000000001, "joints": [[557, 250], [585, 332], [598, 387], [600, 383], [589, 326], [561, 248], [596, 382], [529, 370.99999999999994], [512, 365], [482, 347], [596, 342], [583, 369.99999999999994], [528, 378], [532, 364], [553, 340], [566, 320]], "image": "d02421.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 207], "scale": 0.6749, "joints": [[428, 265], [483, 256], [550, 256], [545, 230.99999999999997], [477, 240.99999999999997], [407, 255.00000000000003], [550, 241.99999999999997], [636, 209.00000000000003], [649, 203], [682, 198.00000000000003], [592, 205], [598, 261], [640, 240.99999999999997], [641, 184.99999999999997], [659, 150], [691, 178]], "image": "d02422.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 216], "scale": 0.9249, "joints": [[425, 302], [491, 276], [557, 260], [541, 222], [477, 252.99999999999997], [416, 280], [552, 240.99999999999997], [631, 198.00000000000003], [641, 194], [665, 180], [589, 252], [611, 261], [644, 232.00000000000003], [626, 164], [631, 129], [682, 140]], "image": "d02423.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549, 228], "scale": 1.0849000000000002, "joints": [[442, 323], [502, 287], [565, 243.00000000000003], [539, 218], [485, 266], [432, 310], [555, 228], [624, 185.99999999999997], [637, 178], [664, 166], [594, 269], [608, 251], [641, 210.00000000000003], [608, 152], [605, 134], [652, 123]], "image": "d02424.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [562.5, 241.5], "scale": 1.0499, "joints": [[469, 350], [519, 300], [566, 239], [541, 226], [507, 287], [464, 338], [553, 233], [617, 175], [636, 167], [660, 155], [621, 269], [611, 225], [636, 183], [598, 155], [582, 155], [615, 146]], "image": "d02425.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 209.5], "scale": 0.6799000000000001, "joints": [[419, 270], [479, 261], [548, 258], [544, 227], [475, 241.99999999999997], [405, 252], [552, 243.00000000000003], [634, 213], [651, 206], [680, 201], [589, 201], [597, 260], [642, 241.99999999999997], [644, 184], [659, 153], [695, 183]], "image": "d02426.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 220.5], "scale": 0.3399000000000001, "joints": [[412, 244], [477, 240.99999999999997], [545, 235], [547, 238], [478, 235], [407, 235], [550, 236], [635, 228], [648, 223], [681, 223], [607, 207.99999999999997], [614, 226], [647, 233], [654, 229], [680, 198.00000000000003], [694, 218]], "image": "d02427.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [535.5, 241.5], "scale": 0.7699000000000001, "joints": [[417, 170], [492, 195], [552, 215], [539, 252.99999999999997], [477, 225], [414, 195.99999999999997], [552, 237], [625, 262], [636, 265], [677, 272], [613, 257], [598, 216], [642, 229], [630, 291], [667, 314], [676, 300]], "image": "d02428.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542.5, 240], "scale": 1.0049000000000001, "joints": [[429, 148], [497, 191], [560, 221.00000000000003], [544, 250], [481, 211], [425, 169], [556, 238], [618, 280], [629, 290], [663, 303], [600, 285], [593, 245], [635, 251], [625, 303], [647, 333], [665, 327]], "image": "d02429.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [597.5, 393], "scale": 2.1649000000000003, "joints": [[576, 587], [591, 487.00000000000006], [609, 383], [612, 382], [592, 486.00000000000006], [577, 589], [615, 375], [623, 275], [614, 247], [580, 211], [552, 184], [595, 196.99999999999997], [607, 273], [617, 265], [600, 191], [555, 181]], "image": "d02430.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 230], "scale": 1.2849000000000002, "joints": [[467, 120.99999999999999], [513, 184.99999999999997], [555, 240], [577, 224], [525, 171], [486, 120], [568, 235], [608, 317], [613, 327], [621, 348], [578, 309], [564, 287], [603, 318], [637, 317], [643, 345], [631, 353]], "image": "d02431.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [553, 228], "scale": 1.3349000000000002, "joints": [[466, 116.00000000000001], [512, 188], [558, 238], [578, 222], [525, 170], [483, 117], [574, 237], [615, 313], [620, 323], [621, 347], [590, 291], [561, 286], [594, 315], [634, 310], [639, 335], [639, 353]], "image": "d02432.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568.5, 223], "scale": 1.4549, "joints": [[499, 115], [528, 183], [550, 247], [587, 230.99999999999997], [558, 166], [525, 103.99999999999999], [570, 240.99999999999997], [608, 321], [615, 336], [621, 357], [575, 286], [551, 286], [567, 325], [631, 314], [644, 346], [616, 368]], "image": "d02433.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580.5, 232.5], "scale": 1.6099, "joints": [[587, 102], [589, 170], [582, 241.99999999999997], [584, 246], [590, 172], [586, 103], [581, 245], [590, 319], [590, 331], [590, 372.00000000000006], [599, 315], [607, 301], [582, 331], [585, 339], [608, 375], [592, 384]], "image": "d02434.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587.5, 237.5], "scale": 1.5499, "joints": [[615, 120], [615, 195], [606, 249], [581, 251], [595, 188], [607, 114], [593, 252.99999999999997], [571, 331], [566, 344], [575, 374.00000000000006], [591, 319], [602, 290], [584, 334], [546, 341], [561, 389], [576, 388]], "image": "d02435.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 246.5], "scale": 1.4999, "joints": [[655, 126.99999999999999], [635, 193], [618, 261], [582, 254.00000000000003], [606, 195.99999999999997], [646, 113], [599, 263], [557, 338], [555, 349], [554, 381], [580, 325], [609, 306], [578, 345], [531, 331], [514, 365], [533, 378]], "image": "d02436.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591.5, 245], "scale": 1.3349000000000002, "joints": [[686, 146], [644, 216], [623, 266], [590, 247], [625, 191], [673, 128], [601, 264], [556, 322], [549, 332], [530, 359], [575, 314], [608, 323], [578, 346], [525, 315], [487, 327], [506, 354]], "image": "d02437.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [589, 239], "scale": 1.2949000000000002, "joints": [[686, 147], [646, 213], [624, 270], [588, 252], [624, 196.99999999999997], [668, 132], [602, 266], [563, 327], [553, 335], [520, 363], [570, 316], [610, 325], [578, 350], [524, 314], [487, 325], [507, 355]], "image": "d02438.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601.5, 240], "scale": 1.0749000000000002, "joints": [[706, 165], [656, 228], [622, 280], [603, 252.99999999999997], [639, 206], [689, 154], [608, 270], [557, 314], [545, 321], [509, 330], [565, 303], [600, 334], [562, 345], [524, 296], [501, 287], [490, 320]], "image": "d02439.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631, 248.5], "scale": 0.7099000000000001, "joints": [[730, 198.00000000000003], [672, 250], [626, 299], [627, 297], [675, 246], [728, 194], [618, 297], [562, 282], [544, 272], [523, 254.00000000000003], [585, 312], [549, 319], [539, 300], [557, 271], [549, 240.99999999999997], [535, 207]], "image": "d02440.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590.5, 257], "scale": 1.2249, "joints": [[635, 360], [589, 292], [547, 235], [551, 235], [592, 293], [636, 360], [551, 229], [594, 171], [603, 163], [629, 143], [608, 237], [585, 196.99999999999997], [591, 164], [594, 184], [579, 229], [579, 267]], "image": "d02441.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [640.5, 381], "scale": 1.2849000000000002, "joints": [[772, 374.00000000000006], [657, 422], [531, 469], [544, 466], [665, 415.99999999999994], [776, 366], [538, 463.00000000000006], [572, 341], [577, 324], [596, 259], [641, 434], [588, 382], [555, 328], [571, 361], [602, 407], [666, 446]], "image": "d02442.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [652.5, 370], "scale": 1.3349000000000002, "joints": [[783, 479], [659, 462.00000000000006], [520, 431], [526, 431], [656, 451], [785, 478], [529, 424], [594, 316], [604, 295], [638, 246], [642, 422], [600, 361], [580, 302], [598, 330], [604, 402], [646, 483.99999999999994]], "image": "d02443.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632.5, 408], "scale": 1.9149, "joints": [[726, 571], [631, 481.99999999999994], [527, 396.00000000000006], [530, 393.99999999999994], [632, 481], [732, 568], [536, 387], [613, 282], [623, 273], [671, 226], [652, 405], [602, 330], [602, 269], [611, 316], [591, 386], [595, 500]], "image": "d02444.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [634.5, 395.5], "scale": 2.3199, "joints": [[539, 602], [566, 486.00000000000006], [584, 350], [573, 345], [554, 483.99999999999994], [532, 602], [581, 342], [671, 222], [693, 211], [738, 187.00000000000003], [701, 365], [649, 286], [681, 220.00000000000003], [673, 224], [639, 299], [668, 342]], "image": "d02445.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610, 373.5], "scale": 2.1599, "joints": [[459, 576], [535, 473], [603, 346], [550, 327], [503, 462.00000000000006], [448, 570], [589, 329], [703, 212], [727, 199], [776, 171], [725, 383], [682, 298], [722, 222], [643, 192], [597, 218], [643, 239]], "image": "d02446.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577, 343], "scale": 2.2249, "joints": [[397, 538], [512, 449], [621, 343], [556, 297], [481, 411], [381, 518], [596, 313], [708, 207], [745, 187.00000000000003], [794, 169], [708, 400], [709, 317], [757, 240.99999999999997], [669, 163], [632, 161], [705, 134]], "image": "d02447.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [556.5, 294.5], "scale": 2.1499, "joints": [[355, 482.99999999999994], [481, 413], [626, 336], [574, 271], [454, 368.99999999999994], [341, 452], [602, 299], [743, 207.99999999999997], [767, 195], [813, 170], [662, 375], [719, 337], [780, 264], [706, 141], [690, 101], [781, 87]], "image": "d02448.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [560.5, 293], "scale": 2.1249000000000002, "joints": [[355, 488], [482, 412], [619, 340], [564, 277], [448, 367], [337, 449], [602, 305], [741, 209.00000000000003], [765, 195], [810, 173], [657, 374.00000000000006], [715, 337], [781, 265], [706, 147], [691, 105.00000000000001], [775, 91]], "image": "d02449.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565, 252], "scale": 1.8449, "joints": [[322, 420], [463, 377], [607, 337], [582, 256], [437, 322], [305, 377], [602, 307], [748, 227], [782, 210.00000000000003], [844, 182], [661, 319], [695, 349], [777, 300], [749, 162], [755, 75], [848, 103.99999999999999]], "image": "d02450.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [547, 228], "scale": 0.7449000000000001, "joints": [[259, 282], [408, 280], [564, 289], [573, 267], [415, 252], [262, 254.00000000000003], [572, 277], [770, 227], [790, 220.00000000000003], [878, 228], [703, 194], [649, 229.99999999999997], [758, 270], [797, 240.99999999999997], [873, 175], [894, 227]], "image": "d02451.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545, 242.5], "scale": 0.8699000000000001, "joints": [[260, 175], [433, 194], [568, 207], [569, 259], [430, 227], [254, 198.00000000000003], [573, 233], [757, 263], [786, 264], [874, 246], [724, 227], [646, 192], [751, 213], [798, 315], [883, 298], [883, 277]], "image": "d02452.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 253.5], "scale": 1.5799, "joints": [[263, 109.99999999999999], [421, 156], [574, 191], [548, 278], [396, 212], [239, 150], [566, 230.99999999999997], [745, 285], [775, 292], [856, 305], [703, 269], [662, 180], [761, 212], [761, 362], [842, 400], [861, 358]], "image": "d02453.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 246.5], "scale": 2.1199, "joints": [[268, 48], [424, 131], [568, 189], [525, 274], [390, 193], [238, 99.00000000000001], [553, 232.00000000000003], [722, 327], [735, 332], [828, 367], [672, 317], [654, 220.00000000000003], [756, 238], [729, 395.00000000000006], [783, 454], [809, 408]], "image": "d02454.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [520.5, 251], "scale": 2.1749, "joints": [[267, 52], [412, 132], [569, 187.00000000000003], [524, 273], [381, 192], [241, 102], [553, 233], [719, 323], [735, 332], [833, 374.00000000000006], [680, 328], [654, 211], [756, 236], [734, 399], [786, 457], [819, 406]], "image": "d02455.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516.5, 243.5], "scale": 2.3399, "joints": [[287, 5], [424, 124], [553, 205], [505, 247], [388, 156], [264, 42], [537, 237], [677, 350], [700, 374.00000000000006], [756, 447], [629, 362], [614, 283], [710, 312], [679, 377], [713, 474], [773, 417.00000000000006]], "image": "d02456.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517.5, 247.5], "scale": 2.4299, "joints": [[-1, -1], [421, 115], [503, 247], [564, 201], [459, 82], [-1, -1], [544, 235], [613, 386], [621, 419.00000000000006], [632, 469], [550, 352], [506, 333], [562, 413], [672, 385], [681, 450], [655, 489]], "image": "d02457.jpg", "joints_vis": [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [526, 261], "scale": 2.5449, "joints": [[-1, -1], [443, 116.00000000000001], [484, 254.00000000000003], [553, 235], [500, 98], [-1, -1], [516, 251], [561, 404], [566, 440.00000000000006], [586, 485.00000000000006], [509, 332], [472, 329], [493, 435], [629, 415.99999999999994], [660, 469], [604, 503.99999999999994]], "image": "d02458.jpg", "joints_vis": [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529.5, 264.5], "scale": 2.6099, "joints": [[-1, -1], [473, 115], [473, 263], [543, 257], [526, 112], [-1, -1], [504, 269], [533, 421], [534, 453], [544, 498], [506, 323], [466, 318], [464, 422], [570, 446], [623, 507.00000000000006], [541, 520]], "image": "d02459.jpg", "joints_vis": [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [505, 279], "scale": 2.7049000000000003, "joints": [[501, 5], [506, 133], [485, 263], [526, 279], [539, 133], [533, 6], [504, 277], [515, 409], [526, 442.00000000000006], [513, 510], [538, 407], [521, 363], [489, 435], [498, 453], [554, 542], [502, 540]], "image": "d02460.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [489.5, 272], "scale": 2.1949, "joints": [[662, 100], [595, 228], [548, 327], [482, 294], [553, 195], [633, 82], [513, 319], [435, 422], [423, 436.99999999999994], [387, 477], [457, 404], [530, 412], [470, 465], [368, 406], [311, 435], [352, 482.99999999999994]], "image": "d02461.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [499, 280], "scale": 1.9449, "joints": [[681, 151], [592, 252.99999999999997], [543, 345], [502, 303], [572, 212], [652, 120], [517, 330], [429, 409], [411, 419.00000000000006], [340, 440.00000000000006], [447, 387], [514, 436.99999999999994], [441, 465], [365, 376], [309, 368.99999999999994], [304, 449]], "image": "d02462.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [496.5, 291], "scale": 1.6249, "joints": [[702, 181], [601, 273], [535, 356], [523, 316], [586, 240.99999999999997], [678, 155], [524, 336], [419, 380], [394, 385], [313, 384], [470, 378], [480, 444], [409, 431], [391, 356], [342, 320], [282, 327]], "image": "d02463.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522.5, 291], "scale": 1.3349000000000002, "joints": [[708, 211], [614, 280], [537, 362], [542, 335], [606, 261], [692, 190], [534, 351], [421, 351], [394, 347], [333, 318], [483, 375], [436, 420], [392, 382], [406, 327], [370, 281], [329, 236]], "image": "d02464.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [528, 295.5], "scale": 1.3799000000000001, "joints": [[706, 207.99999999999997], [617, 285], [535, 366], [540, 337], [610, 258], [693, 192], [530, 349], [416, 349], [391, 344], [335, 323], [482, 380], [437, 422], [394, 380], [408, 330], [370, 283], [322, 230.99999999999997]], "image": "d02465.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554.5, 290], "scale": 1.0249000000000001, "joints": [[710, 234], [620, 295], [539, 368.99999999999994], [544, 365], [621, 285], [698, 225], [538, 362], [430, 317], [413, 302], [371, 256], [505, 385], [454, 376], [398, 339], [425, 304], [415, 256], [418, 203]], "image": "d02466.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [595, 284], "scale": 1.1249, "joints": [[719, 279], [619, 320], [524, 375], [528, 376], [626, 323], [724, 277], [522, 368.99999999999994], [475, 260], [473, 232.00000000000003], [478, 177], [500, 352], [461, 315], [446, 254.00000000000003], [483, 247], [522, 248], [546, 257]], "image": "d02467.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [606, 279.5], "scale": 1.1699000000000002, "joints": [[738, 307], [618, 325], [506, 353], [510, 352], [621, 323], [736, 306], [510, 345], [503, 239], [510, 218], [533, 165], [510, 324], [484, 290], [477, 229.99999999999997], [515, 239], [540, 261], [566, 289]], "image": "d02468.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [527, 433], "scale": 1.6149, "joints": [[548, 572], [579, 501], [596, 411], [591, 413], [575, 499], [549, 571], [595, 406], [543, 323], [526, 315], [503, 296], [455, 311], [487, 345], [525, 328], [537, 310], [492, 286], [459, 274]], "image": "d02469.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [528, 391], "scale": 1.4549, "joints": [[580, 524], [595, 431], [592, 349], [620, 343], [620, 428], [585, 527], [606, 343], [530, 291], [509, 289], [471, 283], [493, 375], [508, 352], [509, 314], [520, 278], [478, 264], [434, 254.00000000000003]], "image": "d02470.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [520.5, 368], "scale": 1.3449, "joints": [[610, 481], [608, 403], [589, 321], [620, 318], [629, 400], [620, 475], [603, 316], [529, 279], [507, 282], [462, 287], [530, 376], [528, 346], [511, 312], [511, 261], [463, 246], [412, 239]], "image": "d02471.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [529, 348.5], "scale": 1.1599000000000002, "joints": [[648, 444], [623, 376], [580, 309], [616, 291], [642, 369.99999999999994], [655, 436.99999999999994], [596, 296], [523, 276], [503, 278], [471, 282], [562, 374.00000000000006], [560, 342], [522, 307], [503, 249], [454, 232.00000000000003], [412, 240]], "image": "d02472.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [558, 327.5], "scale": 1.0599, "joints": [[689, 417.00000000000006], [635, 357], [577, 303], [609, 273], [659, 344], [699, 403], [586, 284], [520, 274], [499, 279], [465, 287], [591, 317], [547, 298], [526, 282], [495, 238], [452, 225], [407, 244]], "image": "d02473.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552.5, 328], "scale": 1.0649000000000002, "joints": [[690, 418.00000000000006], [635, 354], [576, 302], [609, 272], [656, 341], [695, 400], [586, 283], [518, 275], [500, 282], [463, 288], [583, 322], [546, 296], [529, 284], [497, 240], [456, 225], [407, 245]], "image": "d02474.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [584, 302.5], "scale": 0.7999, "joints": [[717, 375], [649, 334], [585, 296], [599, 267], [656, 308], [722, 354], [579, 281], [520, 273], [497, 276], [468, 284], [-1, -1], [-1, -1], [515, 283], [507, 241.99999999999997], [452, 232.00000000000003], [427, 264]], "image": "d02475.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [619, 268], "scale": 0.37490000000000007, "joints": [[749, 280], [666, 277], [593, 256], [591, 252.99999999999997], [662, 263], [748, 270], [589, 259], [524, 265], [508, 265], [473, 277], [550, 284], [535, 268], [504, 255.00000000000003], [488, 244], [486, 263], [512, 292]], "image": "d02476.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [617, 253], "scale": 0.43490000000000006, "joints": [[751, 237], [670, 244], [604, 230.99999999999997], [588, 255.00000000000003], [668, 246], [753, 237], [589, 248], [520, 262], [497, 265], [461, 277], [566, 250], [550, 235], [512, 236], [490, 265], [526, 290], [553, 292]], "image": "d02477.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618.5, 236], "scale": 0.6349000000000001, "joints": [[752, 195.99999999999997], [664, 212], [596, 218.99999999999997], [597, 261], [664, 233], [738, 202], [586, 240], [515, 259], [495, 271], [469, 282], [482, 251], [511, 218], [506, 241.99999999999997], [509, 294], [562, 307], [575, 288]], "image": "d02478.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613, 226.5], "scale": 0.8399000000000001, "joints": [[731, 162], [657, 193], [591, 212], [606, 252.99999999999997], [666, 212], [728, 183], [590, 237], [523, 272], [503, 284], [479, 293], [468, 266], [473, 220.00000000000003], [492, 250], [530, 305], [587, 291], [567, 281]], "image": "d02479.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614.5, 227], "scale": 0.8249000000000001, "joints": [[729, 163], [659, 190], [588, 214], [601, 254.00000000000003], [670, 213], [729, 185.99999999999997], [586, 238], [516, 278], [502, 287], [480, 296], [467, 266], [468, 220.00000000000003], [493, 240], [535, 303], [588, 291], [557, 282]], "image": "d02480.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596.5, 215], "scale": 1.0049000000000001, "joints": [[710, 135], [642, 175], [584, 226], [612, 252.99999999999997], [656, 204], [716, 160], [591, 243.00000000000003], [526, 280], [511, 287], [488, 299], [478, 281], [456, 248], [500, 260], [549, 301], [597, 265], [550, 223]], "image": "d02481.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [600, 207], "scale": 1.3849, "joints": [[683, 100], [640, 162], [606, 229.99999999999997], [596, 212], [637, 158], [689, 103], [594, 225], [540, 286], [525, 293], [497, 295], [508, 317], [506, 336], [535, 308], [536, 254.00000000000003], [566, 216], [547, 243.00000000000003]], "image": "d02482.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 202], "scale": 1.5049000000000001, "joints": [[665, 89], [632, 172], [612, 228], [580, 207.99999999999997], [616, 154], [656, 92.99999999999999], [593, 218], [552, 290], [536, 299], [499, 310], [533, 322], [556, 348], [562, 307], [523, 258], [552, 222], [558, 257]], "image": "d02483.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590, 198.5], "scale": 1.5299, "joints": [[655, 80], [638, 154], [620, 217], [577, 207.99999999999997], [611, 148], [638, 76], [597, 216], [557, 291], [548, 310], [519, 333], [546, 330], [583, 344], [578, 311], [524, 276], [552, 239], [576, 267]], "image": "d02484.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [595.5, 190.5], "scale": 1.6199000000000001, "joints": [[642, 59], [631, 146], [612, 204], [579, 209.00000000000003], [604, 147], [624, 61.00000000000001], [596, 210.00000000000003], [582, 288], [574, 315], [549, 344], [570, 346], [590, 336], [585, 316], [548, 297], [580, 255.00000000000003], [609, 270]], "image": "d02485.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [595.5, 190.5], "scale": 1.5999, "joints": [[640, 59], [631, 146], [610, 206], [581, 210.00000000000003], [602, 146], [621, 63], [595, 212], [581, 293], [575, 321], [547, 346], [565, 345], [589, 336], [583, 314], [548, 296], [581, 254.00000000000003], [607, 268]], "image": "d02486.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [592, 196.5], "scale": 1.6699000000000002, "joints": [[617, 62], [610, 148], [592, 215], [589, 216], [599, 147], [606, 62], [587, 223], [590, 304], [588, 317], [587, 353], [583, 359], [591, 332], [594, 311], [585, 301], [606, 257], [601, 288]], "image": "d02487.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [593, 194], "scale": 1.6549, "joints": [[553, 65], [558, 148], [558, 228], [604, 224], [586, 140], [572, 63], [585, 229], [604, 314], [609, 324], [637, 342], [604, 350], [559, 360], [576, 330], [639, 293], [625, 244], [-1, -1]], "image": "d02488.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]}, {"center": [582.5, 215.5], "scale": 1.6599000000000002, "joints": [[525, 82], [549, 158], [577, 229], [608, 214], [575, 150], [547, 76], [596, 229.99999999999997], [620, 300], [625, 312], [640, 333], [625, 348], [590, 384], [610, 323], [641, 284], [621, 252.99999999999997], [567, 270]], "image": "d02489.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574.5, 222], "scale": 1.5849000000000002, "joints": [[497, 92.99999999999999], [542, 167], [592, 233], [605, 207.99999999999997], [553, 151], [521, 81], [601, 229], [617, 316], [618, 327], [627, 349], [654, 340], [644, 375], [636, 312], [625, 308], [583, 261], [576, 289]], "image": "d02490.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [586, 225.5], "scale": 1.3699000000000001, "joints": [[484, 115], [547, 184.99999999999997], [603, 233], [568, 240.99999999999997], [540, 181], [499, 114], [590, 243.00000000000003], [632, 318], [637, 328], [648, 345], [664, 349], [689, 352], [660, 320], [629, 311], [581, 279], [602, 311]], "image": "d02491.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [587, 228], "scale": 1.3749, "joints": [[481, 115], [549, 183], [601, 236], [572, 240], [544, 178], [497, 112], [586, 240.99999999999997], [633, 312], [638, 325], [648, 348], [666, 348], [696, 357], [661, 314], [627, 303], [579, 277], [604, 311]], "image": "d02492.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591, 249], "scale": 1.2449000000000001, "joints": [[478, 140], [546, 193], [601, 233], [569, 259], [524, 201], [473, 138], [588, 255.00000000000003], [639, 318], [647, 338], [646, 373.00000000000006], [673, 341], [713, 333], [670, 303], [609, 334], [590, 300], [633, 292]], "image": "d02493.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 266.5], "scale": 0.9499000000000001, "joints": [[460, 188], [531, 228], [585, 263], [585, 291], [517, 247], [454, 214], [590, 275], [659, 315], [672, 325], [706, 348], [699, 361], [702, 324], [670, 317], [658, 335], [631, 290], [646, 276]], "image": "d02494.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 284], "scale": 0.7649000000000001, "joints": [[444, 221.00000000000003], [531, 259], [594, 293], [599, 301], [529, 270], [441, 232.00000000000003], [603, 296], [679, 325], [693, 328], [721, 330], [730, 327], [702, 347], [689, 347], [681, 310], [640, 283], [627, 299]], "image": "d02495.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576.5, 332.5], "scale": 0.5199000000000001, "joints": [[445, 318], [529, 336], [599, 351], [601, 306], [529, 304], [441, 301], [603, 332], [679, 328], [694, 327], [717, 313], [729, 334], [738, 377], [695, 360], [675, 295], [620, 302], [650, 319]], "image": "d02496.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580.5, 336], "scale": 0.4949000000000001, "joints": [[445, 319], [538, 337], [600, 352], [602, 306], [533, 308], [450, 300], [601, 330], [678, 324], [700, 322], [718, 316], [726, 333], [736, 378], [695, 360], [674, 293], [619, 299], [653, 313]], "image": "d02497.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594.5, 336], "scale": 0.3249000000000001, "joints": [[456, 364], [536, 364], [610, 360], [591, 318], [522, 331], [437, 334], [609, 338], [685, 328], [701, 328], [720, 321], [728, 317], [749, 348], [702, 348], [667, 311], [631, 322], [656, 359]], "image": "d02498.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608.5, 351], "scale": 0.8349000000000001, "joints": [[476, 421], [552, 388], [613, 355], [613, 384], [556, 398], [491, 410], [618, 374.00000000000006], [692, 345], [705, 340], [737, 335], [743, 312], [735, 275], [698, 314], [693, 361], [664, 392.99999999999994], [663, 368]], "image": "d02499.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615.5, 361], "scale": 1.0549000000000002, "joints": [[490, 442.00000000000006], [553, 403], [615, 362], [627, 404], [574, 422], [516, 444], [625, 385], [693, 341], [707, 333], [737, 319], [747, 292], [697, 260], [686, 310], [712, 372.00000000000006], [685, 405], [681, 375]], "image": "d02500.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 365], "scale": 1.1649, "joints": [[501, 455], [554, 421], [617, 377], [639, 412], [579, 438.99999999999994], [521, 472], [630, 388], [687, 339], [700, 326], [720, 299], [723, 252.99999999999997], [673, 273], [679, 310], [721, 359], [705, 401], [672, 401]], "image": "d02501.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 365.5], "scale": 1.1499000000000001, "joints": [[497, 460.99999999999994], [551, 421], [617, 375], [637, 412], [573, 440.00000000000006], [519, 473], [631, 391], [690, 338], [703, 327], [723, 301], [720, 252.99999999999997], [674, 271], [682, 313], [718, 358], [706, 400], [669, 398]], "image": "d02502.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 391.5], "scale": 1.0199, "joints": [[512, 470], [577, 436], [630, 397.00000000000006], [658, 414.99999999999994], [596, 442.00000000000006], [534, 485.00000000000006], [646, 402], [682, 343], [687, 327], [691, 303], [679, 292], [668, 295], [674, 321], [714, 340], [705, 392.99999999999994], [674, 436]], "image": "d02503.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [611.5, 381.5], "scale": 1.2199, "joints": [[526, 478], [594, 446], [650, 411], [674, 420], [609, 450], [551, 486.00000000000006], [664, 411], [674, 329], [667, 312], [661, 290], [605, 262], [638, 287], [667, 324], [692, 330], [697, 381], [702, 428]], "image": "d02504.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [630, 408], "scale": 1.0649000000000002, "joints": [[566, 496], [632, 453], [694, 405], [698, 407], [635, 452], [569, 500], [697, 400], [652, 340], [629, 331], [603, 318], [704, 396.00000000000006], [674, 368], [642, 326], [654, 337], [675, 375], [702, 396.00000000000006]], "image": "d02505.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [643, 425], "scale": 0.9549000000000001, "joints": [[587, 505.99999999999994], [650, 447], [705, 392.99999999999994], [709, 391.99999999999994], [651, 450], [588, 505.99999999999994], [705, 387], [635, 350], [610, 349], [581, 349], [690, 388], [668, 368], [631, 336], [643, 349], [668, 375], [706, 403]], "image": "d02506.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [536, 424.5], "scale": 1.5899, "joints": [[665, 542], [655, 443], [617, 365], [656, 351], [680, 440.00000000000006], [680, 542], [632, 355], [538, 323], [514, 327], [466, 335], [575, 449], [564, 411], [526, 363], [514, 293], [456, 275], [397, 275]], "image": "d02507.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [556, 402.5], "scale": 1.3499, "joints": [[716, 520], [667, 423], [612, 356], [656, 338], [699, 420], [724, 510], [630, 342], [532, 325], [508, 331], [463, 337], [595, 408], [582, 388], [544, 372.00000000000006], [501, 282], [449, 270], [397, 285]], "image": "d02508.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 385.5], "scale": 1.1699000000000002, "joints": [[750, 486.00000000000006], [677, 413], [607, 362], [643, 321], [708, 398], [769, 469], [617, 340], [535, 321], [513, 330], [467, 346], [615, 419.00000000000006], [607, 380], [540, 362], [507, 284], [454, 269], [402, 303]], "image": "d02509.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [656, 305], "scale": 0.5649000000000001, "joints": [[833, 268], [741, 287], [639, 273], [621, 302], [736, 288], [833, 280], [621, 290], [519, 317], [497, 326], [463, 334], [482, 305], [498, 298], [520, 283], [495, 317], [540, 345], [577, 352]], "image": "d02510.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658.5, 308.5], "scale": 0.5599000000000001, "joints": [[838, 280], [732, 287], [640, 271], [620, 301], [725, 290], [822, 270], [623, 293], [515, 314], [492, 325], [462, 336], [480, 309], [497, 298], [520, 281], [491, 318], [536, 343], [570, 352]], "image": "d02511.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [657.5, 279], "scale": 0.8049000000000001, "joints": [[832, 224], [731, 245], [636, 248], [633, 306], [726, 268], [820, 232.00000000000003], [625, 277], [523, 309], [500, 323], [468, 334], [476, 298], [504, 254.00000000000003], [510, 278], [514, 349], [584, 361], [601, 329]], "image": "d02512.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [649.5, 262.5], "scale": 1.0599, "joints": [[810, 176], [720, 213], [627, 249], [649, 299], [728, 244], [814, 198.00000000000003], [632, 274], [532, 320], [511, 334], [482, 346], [458, 310], [456, 245], [503, 277], [547, 359], [616, 343], [610, 314]], "image": "d02513.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631.5, 238.5], "scale": 1.1999000000000002, "joints": [[799, 136], [706, 187.00000000000003], [622, 250], [659, 291], [724, 221.00000000000003], [807, 165], [631, 275], [538, 325], [516, 337], [486, 353], [468, 331], [435, 276], [504, 294], [568, 354], [623, 306], [573, 250]], "image": "d02514.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [634.5, 219], "scale": 1.4549, "joints": [[778, 102], [702, 168], [635, 250], [672, 258], [716, 191], [794, 128], [640, 264], [553, 327], [526, 336], [494, 333], [505, 355], [460, 335], [525, 322], [565, 323], [602, 272], [574, 250]], "image": "d02515.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631.5, 210.5], "scale": 1.9999, "joints": [[751, 51], [690, 167], [660, 246], [616, 213], [673, 137], [761, 49], [631, 234], [564, 309], [544, 329], [502, 354], [535, 370.99999999999994], [561, 418.00000000000006], [577, 358], [530, 276], [572, 229], [578, 276]], "image": "d02516.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 214], "scale": 1.9849, "joints": [[748, 50.00000000000001], [686, 170], [658, 243.00000000000003], [620, 213], [673, 141], [762, 43], [640, 234], [558, 320], [534, 334], [500, 352], [543, 367], [555, 413], [581, 356], [528, 276], [573, 228], [577, 281]], "image": "d02517.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [633.5, 207.5], "scale": 2.0199000000000003, "joints": [[738, 22], [699, 136], [665, 230.99999999999997], [609, 210.00000000000003], [670, 113], [721, 17], [637, 218.99999999999997], [578, 322], [557, 346], [511, 375], [547, 379], [605, 411], [595, 356], [529, 292], [577, 245], [612, 294]], "image": "d02518.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [627.5, 205], "scale": 1.9649, "joints": [[716, 10], [689, 131], [653, 213], [617, 214], [650, 125], [692, 13], [632, 214], [591, 330], [578, 359], [547, 391], [585, 385], [612, 391], [603, 351], [560, 321], [611, 263], [649, 294]], "image": "d02519.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [627.5, 210], "scale": 2.0349, "joints": [[-1, -1], [668, 111], [638, 203], [616, 207.99999999999997], [648, 115], [-1, -1], [630, 210.00000000000003], [613, 333], [610, 353], [597, 405], [-1, -1], [-1, -1], [613, 348], [597, 337], [614, 315], [643, 272]], "image": "d02520.jpg", "joints_vis": [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [615, 212.5], "scale": 2.0199000000000003, "joints": [[657, 8], [637, 96], [595, 206], [629, 221.00000000000003], [640, 86], [646, 9], [613, 224], [619, 337], [621, 360], [649, 406], [597, 383], [566, 375], [590, 352], [651, 340], [665, 266], [656, 263]], "image": "d02521.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625.5, 212], "scale": 2.0549, "joints": [[579, 6.999999999999999], [586, 117], [587, 229], [644, 225], [623, 112], [605, 6], [614, 234], [639, 332], [647, 346], [677, 386], [634, 407], [571, 412], [597, 360], [687, 316], [660, 244], [633, 264]], "image": "d02522.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 224.5], "scale": 2.0699, "joints": [[481, 57.99999999999999], [549, 151], [616, 247], [618, 244], [565, 143], [510, 50.00000000000001], [616, 245], [651, 346], [656, 365], [660, 400], [680, 402], [711, 422], [681, 359], [630, 330], [594, 281], [600, 325]], "image": "d02523.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609.5, 237.5], "scale": 1.6899000000000002, "joints": [[465, 100], [545, 176], [626, 241.99999999999997], [581, 262], [525, 180], [464, 80], [599, 259], [648, 356], [661, 380], [677, 413], [699, 391.99999999999994], [762, 393.99999999999994], [698, 335], [616, 368], [588, 320], [653, 327]], "image": "d02524.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [593, 268.5], "scale": 1.6099, "joints": [[453, 137], [551, 209.00000000000003], [610, 250], [574, 299], [511, 223], [435, 142], [596, 273], [669, 365], [681, 382], [705, 428], [717, 389], [761, 366], [716, 350], [634, 393.99999999999994], [615, 335], [675, 319]], "image": "d02525.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585, 283.5], "scale": 1.4899, "joints": [[449, 150], [543, 218.99999999999997], [606, 266], [581, 313], [510, 240.99999999999997], [430, 170], [600, 285], [680, 362], [689, 378], [716, 428], [724, 391], [751, 365], [715, 350], [657, 397.00000000000006], [632, 331], [677, 310]], "image": "d02526.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [576, 316.5], "scale": 1.0499, "joints": [[419, 225], [510, 271], [596, 324], [601, 333], [502, 290], [408, 249], [601, 332], [700, 380], [720, 383], [762, 385], [775, 379], [738, 413.99999999999994], [715, 413], [705, 362], [652, 322], [648, 311]], "image": "d02527.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [573.5, 337.5], "scale": 1.0499, "joints": [[400, 257], [494, 315], [587, 368.99999999999994], [601, 347], [508, 308], [406, 273], [600, 362], [705, 383], [730, 385], [776, 382], [758, 408], [729, 440.00000000000006], [697, 415.99999999999994], [715, 345], [647, 320], [651, 344]], "image": "d02528.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [570.5, 359.5], "scale": 0.9699000000000001, "joints": [[393, 288], [497, 344], [587, 388], [609, 349], [504, 322], [399, 301], [602, 376], [707, 383], [727, 383], [766, 373.00000000000006], [750, 409], [742, 450], [709, 429], [714, 337], [638, 318], [645, 349]], "image": "d02529.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566.5, 378], "scale": 0.8949000000000001, "joints": [[407, 331], [500, 365], [592, 400], [610, 353], [509, 332], [415, 316], [604, 380], [708, 379], [730, 377], [764, 359], [758, 397.00000000000006], [761, 456], [711, 429], [706, 330], [630, 327], [624, 360]], "image": "d02530.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571.5, 389], "scale": 0.6749, "joints": [[396, 368], [509, 393.99999999999994], [599, 414.99999999999994], [603, 352], [510, 351], [406, 348], [612, 384], [710, 380], [730, 368.99999999999994], [756, 355], [767, 388], [780, 449], [731, 421], [693, 332], [627, 345], [657, 364]], "image": "d02531.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598.5, 393.5], "scale": 0.4899000000000001, "joints": [[408, 426], [513, 425], [622, 417.00000000000006], [593, 363], [510, 384], [413, 391], [621, 388], [718, 382], [734, 378], [759, 369.99999999999994], [768, 367], [812, 413], [746, 401], [694, 355], [644, 370.99999999999994], [663, 399]], "image": "d02532.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598.5, 391], "scale": 0.5149000000000001, "joints": [[401, 425], [515, 424], [616, 419.00000000000006], [595, 365], [506, 385], [400, 391.99999999999994], [618, 390], [716, 378], [735, 374.00000000000006], [757, 366], [767, 362], [811, 405], [754, 403], [699, 354], [648, 369.99999999999994], [667, 409]], "image": "d02533.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 397.5], "scale": 0.6099000000000001, "joints": [[417, 446], [525, 436.99999999999994], [624, 415.99999999999994], [591, 380], [519, 409], [414, 414.99999999999994], [621, 396.00000000000006], [723, 379], [739, 374.00000000000006], [763, 364], [775, 357], [815, 380], [755, 391.99999999999994], [703, 366], [668, 368.99999999999994], [681, 413.99999999999994]], "image": "d02534.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605, 402.5], "scale": 0.6999000000000001, "joints": [[429, 469], [531, 447], [625, 409], [603, 390], [520, 421], [410, 441.00000000000006], [630, 403], [728, 390], [744, 390], [772, 388], [769, 344], [812, 347], [748, 369.99999999999994], [719, 401], [640, 442.00000000000006], [704, 430]], "image": "d02535.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608.5, 401], "scale": 0.9849000000000001, "joints": [[443, 487.00000000000006], [541, 448], [623, 404], [614, 441.00000000000006], [541, 456], [430, 469], [625, 430], [722, 389], [741, 385], [778, 377], [788, 340], [795, 309], [743, 347], [702, 411], [667, 456], [714, 427]], "image": "d02536.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613, 396], "scale": 1.1449, "joints": [[464, 490], [539, 450], [628, 401], [619, 451], [546, 472], [459, 488], [632, 428], [730, 387], [745, 384], [779, 375], [783, 329], [774, 284], [728, 334], [730, 407], [685, 464.00000000000006], [720, 428]], "image": "d02537.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623, 408], "scale": 1.4249, "joints": [[474, 519], [550, 470], [626, 413], [641, 472], [554, 503.99999999999994], [490, 535], [639, 440.00000000000006], [720, 377], [741, 367], [781, 336], [786, 298], [714, 269], [708, 327], [756, 413.99999999999994], [724, 463.00000000000006], [714, 430]], "image": "d02538.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625, 408], "scale": 1.4749, "joints": [[471, 525], [553, 463.00000000000006], [625, 411], [643, 466], [555, 501], [487, 534], [639, 437.99999999999994], [723, 379], [740, 366], [781, 337], [786, 297], [709, 264], [710, 334], [755, 411], [724, 463.00000000000006], [715, 427]], "image": "d02539.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [622.5, 411.5], "scale": 1.5699, "joints": [[477, 534], [548, 477], [626, 420], [657, 467], [571, 512], [498, 556], [641, 440.00000000000006], [719, 370.99999999999994], [736, 357], [767, 321], [771, 260], [691, 278], [705, 337], [759, 396.00000000000006], [742, 450], [708, 451]], "image": "d02540.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [611, 276], "scale": 2.1349, "joints": [[649, 462.00000000000006], [711, 369.99999999999994], [647, 289], [650, 286], [715, 368.99999999999994], [650, 464.00000000000006], [647, 282], [594, 189], [580, 171], [567, 130], [506, 79], [551, 119], [580, 206], [587, 195], [553, 116.00000000000001], [520, 77]], "image": "d02541.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554, 334], "scale": 1.4749, "joints": [[516, 460.99999999999994], [533, 384], [546, 330], [579, 326], [557, 387], [536, 454], [564, 326], [561, 258], [545, 244], [528, 232.00000000000003], [550, 259], [526, 294], [528, 268], [577, 236], [595, 195], [576, 202]], "image": "d02542.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [555.5, 331], "scale": 1.4649, "joints": [[515, 459.99999999999994], [534, 388], [544, 330], [574, 321], [559, 387], [538, 455], [561, 324], [560, 255.00000000000003], [543, 244], [525, 232.00000000000003], [549, 260], [526, 294], [526, 271], [577, 234], [594, 196.99999999999997], [572, 205]], "image": "d02543.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [559.5, 332], "scale": 1.3049000000000002, "joints": [[488, 442.00000000000006], [518, 376], [546, 318], [581, 333], [548, 388], [515, 447], [566, 321], [579, 249], [569, 236], [553, 216], [583, 257], [546, 277], [544, 246], [601, 245], [628, 215], [592, 210.00000000000003]], "image": "d02544.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [553.5, 325], "scale": 1.2649000000000001, "joints": [[470, 419.00000000000006], [518, 360], [551, 309], [575, 339], [529, 386], [484, 431], [565, 321], [602, 254.00000000000003], [600, 230.99999999999997], [584, 207.99999999999997], [610, 269], [574, 277], [577, 243.00000000000003], [624, 244], [642, 228], [617, 213]], "image": "d02545.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549, 309.5], "scale": 1.1099, "joints": [[458.44520547945206, 406.1164383561644], [510.2260273972603, 360.9109589041096], [558.7191780821918, 309.13013698630135], [561.1849315068494, 330.5], [506.93835616438355, 369.13013698630135], [463.3767123287671, 411.04794520547944], [563.6506849315068, 319.81506849315065], [623.6506849315068, 262.2808219178082], [626.9383561643835, 249.9520547945205], [625.2945205479452, 211.32191780821915], [629.4041095890411, 289.40410958904107], [607.2123287671233, 300.08904109589037], [606.3904109589041, 258.1712328767123], [623.6506849315068, 256.527397260274], [654.0616438356165, 235.97945205479445], [638.445205479452, 208.85616438356163]], "image": "d02546.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [558.5, 302], "scale": 0.7049000000000001, "joints": [[436, 368], [504, 346], [571, 314], [551, 280], [496, 315], [431, 345], [565, 297], [638, 281], [656, 280], [685, 282], [604, 330], [618, 331], [647, 319], [644, 252.99999999999997], [684, 238], [696, 272]], "image": "d02547.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565, 301], "scale": 0.4449000000000001, "joints": [[446, 338], [504, 331], [567, 320], [562, 289], [490, 303], [430, 318], [569, 305], [647, 302], [660, 304], [692, 324], [596, 323], [621, 330], [650, 324], [661, 269], [707, 267], [704, 315]], "image": "d02548.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569, 303], "scale": 0.4649000000000001, "joints": [[441, 338], [498, 329], [569, 322], [562, 280], [494, 302], [432, 318], [569, 299], [655, 301], [666, 306], [691, 320], [593, 315], [604, 325], [641, 324], [667, 269], [707, 267], [703, 313]], "image": "d02549.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [565.5, 312], "scale": 0.3949000000000001, "joints": [[444, 304], [514, 304], [568, 311], [571, 285], [503, 289], [435, 291], [575, 300], [654, 316], [665, 321], [688, 335], [-1, -1], [-1, -1], [653, 319], [669, 304], [713, 306], [697, 345]], "image": "d02550.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [568.5, 295], "scale": 0.9249, "joints": [[470, 216], [542, 250], [591, 277], [578, 307], [527, 270], [470, 241.99999999999997], [586, 296], [659, 337], [667, 341], [690, 345], [654, 323], [637, 285], [664, 304], [652, 366], [691, 382], [689, 361]], "image": "d02551.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 277], "scale": 1.3149000000000002, "joints": [[526, 164], [568, 235], [608, 285], [580, 300], [553, 236], [519, 171], [596, 296], [650, 368.99999999999994], [660, 375], [691, 378], [625, 355], [624, 328], [658, 341], [643, 379], [657, 403], [701, 383]], "image": "d02552.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614, 271.5], "scale": 1.3999000000000001, "joints": [[555, 159], [578, 235], [605, 293], [607, 293], [585, 232.00000000000003], [561, 160], [608, 296], [640, 367], [647, 382], [661, 402], [618, 378], [605, 350], [639, 375], [649, 375], [667, 388], [676, 402]], "image": "d02553.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613.5, 272], "scale": 1.3949, "joints": [[558, 155], [580, 236], [604, 290], [607, 291], [584, 229.99999999999997], [561, 154], [608, 297], [635, 368], [643, 381], [662, 400], [621, 373.00000000000006], [604, 347], [638, 367], [650, 368.99999999999994], [667, 391.99999999999994], [672, 404]], "image": "d02554.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 280], "scale": 1.5349000000000002, "joints": [[587, 160], [592, 234], [604, 296], [627, 287], [616, 228], [607, 161], [622, 296], [632, 369.99999999999994], [632, 383], [632, 414.99999999999994], [590, 336], [584, 341], [600, 377], [652, 357], [655, 405], [635, 425]], "image": "d02555.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 281.5], "scale": 1.4899, "joints": [[617, 165], [610, 233], [601, 299], [642, 298], [641, 229], [644, 160], [620, 297], [619, 378], [618, 397.00000000000006], [608, 420], [610, 327], [580, 322], [587, 368.99999999999994], [644, 376], [645, 412], [621, 425]], "image": "d02556.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632, 283.5], "scale": 1.4799, "joints": [[648, 171], [640, 233], [612, 288], [643, 304], [658, 243.00000000000003], [674, 172], [621, 297], [611, 375], [607, 392.99999999999994], [588, 414.99999999999994], [617, 324], [601, 310], [590, 353], [620, 390], [613, 426], [595, 420]], "image": "d02557.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [654.5, 296.5], "scale": 1.1299000000000001, "joints": [[745, 211], [697, 259], [660, 309], [633, 301], [674, 270], [721, 209.00000000000003], [645, 311], [598, 361], [588, 374.00000000000006], [580, 403], [645, 329], [642, 343], [614, 364], [584, 342], [560, 381], [560, 409]], "image": "d02558.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549.5, 344.5], "scale": 0.7999, "joints": [[485, 275], [555, 308], [615, 340], [619, 341], [555, 304], [493, 274], [611, 348], [557, 381], [542, 389], [514, 412], [519, 292], [542, 336], [548, 388], [563, 366], [558, 332], [536, 280]], "image": "d02559.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [548, 314.5], "scale": 0.9299000000000001, "joints": [[511, 239], [565, 307], [599, 355], [606, 352], [570, 301], [520, 240.99999999999997], [599, 361], [537, 368.99999999999994], [517, 373.00000000000006], [491, 375], [540, 271], [536, 318], [527, 374.00000000000006], [529, 375], [541, 310], [546, 265]], "image": "d02560.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543, 296], "scale": 0.9549000000000001, "joints": [[567, 225], [579, 309], [581, 373.00000000000006], [591, 368], [590, 307], [576, 225], [578, 369.99999999999994], [520, 356], [499, 347], [477, 335], [552, 270], [534, 321], [509, 357], [521, 350], [546, 306], [568, 263]], "image": "d02561.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [583, 323.5], "scale": 0.7799, "joints": [[659, 268], [597, 321], [547, 363], [576, 382], [619, 330], [662, 293], [556, 370.99999999999994], [508, 328], [499, 311], [489, 277], [582, 282], [544, 306], [498, 320], [498, 351], [523, 390], [572, 396.00000000000006]], "image": "d02562.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591, 329.5], "scale": 0.6799000000000001, "joints": [[682, 318], [607, 336], [541, 344], [551, 382], [612, 358], [677, 347], [546, 363], [508, 312], [498, 292], [495, 262], [583, 303], [542, 303], [507, 299], [489, 342], [485, 380], [511, 397.00000000000006]], "image": "d02563.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590.5, 329], "scale": 0.6749, "joints": [[684, 315], [602, 334], [543, 347], [552, 381], [609, 359], [686, 339], [543, 363], [497, 314], [496, 294], [493, 265], [580, 302], [546, 303], [509, 297], [488, 344], [489, 379], [513, 398]], "image": "d02564.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [582.5, 326], "scale": 0.7249000000000001, "joints": [[682, 373.00000000000006], [618, 349], [546, 326], [540, 376], [606, 379], [679, 392.99999999999994], [539, 351], [501, 298], [503, 279], [503, 252], [573, 318], [553, 297], [519, 279], [482, 307], [458, 350], [462, 368]], "image": "d02565.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [557.5, 348.5], "scale": 1.0099, "joints": [[665, 420], [619, 368.99999999999994], [563, 318], [534, 352], [595, 391.99999999999994], [646, 434], [545, 338], [506, 284], [506, 271], [511, 245], [539, 311], [563, 307], [543, 275], [481, 297], [442, 323], [437, 299]], "image": "d02566.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [543.5, 354.5], "scale": 1.2399, "joints": [[633, 446], [604, 386], [573, 322], [541, 336], [583, 395.00000000000006], [616, 458.99999999999994], [553, 327], [517, 278], [514, 266], [519, 247], [522, 337], [563, 305], [547, 277], [491, 274], [446, 274], [457, 240]], "image": "d02567.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [657, 309.5], "scale": 0.9299000000000001, "joints": [[765, 243.00000000000003], [717, 283], [666, 322], [641, 298], [692, 266], [755, 227], [652, 311], [598, 346], [582, 358], [567, 391.99999999999994], [606, 352], [639, 350], [615, 373.00000000000006], [570, 335], [536, 360], [548, 382]], "image": "d02568.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [655.5, 304.5], "scale": 1.1699000000000002, "joints": [[738, 214], [693, 273], [657, 314], [635, 307], [673, 264], [717, 214], [642, 314], [600, 359], [592, 370.99999999999994], [581, 404], [639, 340], [646, 337], [613, 364], [574, 350], [559, 395.00000000000006], [574, 410]], "image": "d02569.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [671.5, 315.5], "scale": 0.4799000000000001, "joints": [[790, 296], [711, 318], [664, 340], [672, 310], [718, 298], [779, 284], [665, 323], [609, 324], [585, 323], [557, 318], [643, 330], [635, 364], [591, 348], [595, 317], [559, 286], [537, 299]], "image": "d02570.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [213.1289825439453, 106.68656349182129], "scale": 0.733253231048584, "joints": [[209.6783905029297, 147.2311553955078], [232.1072998046875, 128.25283813476562], [201.0518798828125, 112.7251205444336], [204.50247192382812, 110.99981689453125], [204.50247192382812, 150.6817626953125], [195.8759765625, 180.0118865966797], [202.7771759033203, 110.99981689453125], [206.227783203125, 74.76848602294922], [207.9530792236328, 67.86727905273438], [206.227783203125, 55.790164947509766], [197.6012725830078, 33.36124038696289], [194.15066528320312, 54.06486129760742], [202.7771759033203, 71.31787872314453], [204.50247192382812, 71.31787872314453], [213.1289825439453, 57.515464782714844], [213.1289825439453, 43.713050842285156]], "image": "14_1_00001113.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.38848876953125, 100.88359546661377], "scale": 0.7345633983612061, "joints": [[213.28428649902344, 142.09080505371094], [232.99209594726562, 117.0081558227539], [202.53457641601562, 111.63330078125], [204.32620239257812, 111.63330078125], [200.7429656982422, 143.88243103027344], [191.78488159179688, 174.33993530273438], [204.32620239257812, 106.2584457397461], [206.11781311035156, 70.42608642578125], [206.11781311035156, 65.05123138427734], [206.11781311035156, 48.92667007446289], [198.9513397216797, 27.427255630493164], [195.3681182861328, 47.13505554199219], [202.53457641601562, 66.84284973144531], [206.11781311035156, 63.25961685180664], [213.28428649902344, 50.71828842163086], [213.28428649902344, 32.80210876464844]], "image": "14_1_00001114.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.23540496826172, 97.25651741027832], "scale": 0.7230946159362793, "joints": [[211.3535919189453, 136.0567169189453], [234.28097534179688, 111.36568450927734], [202.5353546142578, 97.25651550292969], [204.29901123046875, 97.25651550292969], [200.77171325683594, 137.8203582763672], [190.18983459472656, 169.56597900390625], [202.5353546142578, 95.49287414550781], [204.29901123046875, 58.45631790161133], [206.06265258789062, 56.69267272949219], [206.06265258789062, 42.58351135253906], [200.77171325683594, 24.94705581665039], [195.48077392578125, 42.58351135253906], [202.5353546142578, 58.45631790161133], [204.29901123046875, 58.45631790161133], [214.88087463378906, 46.110801696777344], [216.64451599121094, 30.237993240356445]], "image": "14_1_00001115.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.67537689208984, 85.81115531921387], "scale": 0.6814990425109864, "joints": [[206.99266052246094, 128.72035217285156], [225.5025177001953, 110.21050262451172], [201.94451904296875, 86.65251159667969], [203.6272430419922, 86.65251159667969], [206.99266052246094, 123.67221069335938], [191.84823608398438, 153.9610595703125], [201.94451904296875, 84.96979522705078], [205.30995178222656, 51.315521240234375], [206.99266052246094, 47.950096130371094], [206.99266052246094, 36.17110061645508], [217.0889434814453, 17.661251068115234], [206.99266052246094, 34.48838806152344], [205.30995178222656, 49.632808685302734], [208.67538452148438, 51.315521240234375], [215.40623474121094, 37.85381317138672], [220.45437622070312, 21.02667808532715]], "image": "14_1_00001117.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.9882583618164, 85.3806505203247], "scale": 0.6439257335662841, "joints": [[194.30288696289062, 148.12213134765625], [225.6736297607422, 113.44921112060547], [202.55833435058594, 85.38065338134766], [202.55833435058594, 87.03174591064453], [215.76707458496094, 118.4024887084961], [194.30288696289062, 149.77322387695312], [202.55833435058594, 87.03174591064453], [207.51161193847656, 50.707725524902344], [207.51161193847656, 45.754451751708984], [207.51161193847656, 34.19681167602539], [224.0225372314453, 20.98807716369629], [215.76707458496094, 34.19681167602539], [205.8605194091797, 50.707725524902344], [205.8605194091797, 50.707725524902344], [215.76707458496094, 34.19681167602539], [222.37144470214844, 20.98807716369629]], "image": "14_1_00001118.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [213.268798828125, 81.18010997772217], "scale": 0.6038904285430908, "joints": [[201.34991455078125, 139.97996520996094], [222.0093231201172, 116.1421890258789], [202.9390869140625, 84.35848236083984], [202.9390869140625, 84.35848236083984], [222.0093231201172, 116.1421890258789], [199.76072692871094, 141.56915283203125], [202.9390869140625, 84.35848236083984], [207.70664978027344, 49.39640426635742], [207.70664978027344, 46.21803283691406], [206.11746215820312, 31.91536521911621], [226.77687072753906, 20.791067123413086], [215.65257263183594, 33.50455093383789], [206.11746215820312, 49.39640426635742], [206.11746215820312, 47.80721664428711], [217.24176025390625, 33.50455093383789], [225.18768310546875, 20.791067123413086]], "image": "14_1_00001119.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [214.49213409423828, 109.66697311401367], "scale": 0.18856739044189452, "joints": [[200.34957885742188, 128.52371215820312], [207.08413696289062, 110.34042358398438], [215.83905029296875, 91.48368835449219], [214.4921417236328, 90.81023406982422], [205.7372283935547, 108.32006072998047], [200.34957885742188, 127.17680358886719], [216.5124969482422, 92.15714263916016], [227.28778076171875, 107.6466064453125], [227.96124267578125, 110.34042358398438], [228.6346893310547, 118.42189025878906], [225.9408721923828, 125.15644073486328], [226.6143341064453, 118.42189025878906], [227.96124267578125, 108.99351501464844], [227.28778076171875, 108.32006072998047], [222.57359313964844, 114.38115692138672], [224.59396362304688, 126.50334930419922]], "image": "14_1_00001165.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.62242889404297, 117.79214477539062], "scale": 0.20749313354492188, "joints": [[186.63856506347656, 120.66513061523438], [201.9611358642578, 108.53475952148438], [220.47592163085938, 97.04283142089844], [219.8374786376953, 97.04283142089844], [201.9611358642578, 107.89631652832031], [186.63856506347656, 120.66513061523438], [220.47592163085938, 98.9581527709961], [231.32940673828125, 117.47293090820312], [232.60629272460938, 119.38825225830078], [232.60629272460938, 127.0495376586914], [226.86032104492188, 138.5414581298828], [229.41407775878906, 127.0495376586914], [231.9678497314453, 117.47293090820312], [230.05252075195312, 117.47293090820312], [227.49876403808594, 127.0495376586914], [226.86032104492188, 137.9030303955078]], "image": "14_1_00001166.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.03498077392578, 129.36519622802734], "scale": 0.22806053161621093, "joints": [[183.5058135986328, 109.28225708007812], [201.20603942871094, 107.23992156982422], [225.7140350341797, 107.92070007324219], [225.7140350341797, 107.92070007324219], [200.52525329589844, 106.55914306640625], [183.5058135986328, 109.28225708007812], [225.7140350341797, 109.28225708007812], [232.5218048095703, 128.3440399169922], [233.88336181640625, 131.067138671875], [234.56414794921875, 137.19415283203125], [229.117919921875, 152.17124938964844], [229.7987060546875, 141.27880859375], [233.2025909423828, 128.3440399169922], [232.5218048095703, 127.66325378417969], [229.117919921875, 141.27880859375], [228.43714904785156, 151.490478515625]], "image": "14_1_00001167.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.2409439086914, 131.53012084960938], "scale": 0.29999374389648437, "joints": [[190.2414093017578, 101.53074645996094], [207.0410614013672, 108.7305908203125], [227.04063415527344, 119.93035888671875], [227.04063415527344, 119.13037872314453], [207.0410614013672, 108.7305908203125], [189.44142150878906, 101.53074645996094], [227.04063415527344, 120.73033905029297], [235.04046630859375, 139.92994689941406], [235.04046630859375, 141.5299072265625], [232.64051818847656, 147.12979125976562], [231.04055786132812, 161.5294952392578], [231.84054565429688, 149.5297393798828], [235.04046630859375, 138.32997131347656], [233.4405059814453, 138.32997131347656], [231.04055786132812, 149.5297393798828], [231.04055786132812, 160.72950744628906]], "image": "14_1_00001168.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.12899017333984, 138.92142486572266], "scale": 0.3688695526123047, "joints": [[202.2535858154297, 102.03446960449219], [213.4597625732422, 116.97602081298828], [228.40130615234375, 133.78526306152344], [227.4674530029297, 132.85142517089844], [214.3936004638672, 116.97602081298828], [202.2535858154297, 102.03446960449219], [227.4674530029297, 133.78526306152344], [230.2689971923828, 138.45449829101562], [230.2689971923828, 139.3883514404297], [234.00439453125, 156.1975860595703], [231.20285034179688, 174.87452697753906], [232.13668823242188, 160.8668212890625], [234.00439453125, 145.92527770996094], [234.00439453125, 146.85911560058594], [231.20285034179688, 160.8668212890625], [230.2689971923828, 175.80838012695312]], "image": "14_1_00001169.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.57867431640625, 139.73687744140625], "scale": 0.7400349426269531, "joints": [[222.09107971191406, 65.73338317871094], [218.4811553955078, 100.0276870727539], [218.4811553955078, 136.126953125], [218.4811553955078, 136.126953125], [218.4811553955078, 100.0276870727539], [222.09107971191406, 65.73338317871094], [218.4811553955078, 137.93191528320312], [214.87123107910156, 165.00636291503906], [216.6761932373047, 170.42124938964844], [213.06626892089844, 183.05599975585938], [222.09107971191406, 213.74037170410156], [222.09107971191406, 188.47088623046875], [214.87123107910156, 168.6162872314453], [216.6761932373047, 168.6162872314453], [222.09107971191406, 190.27584838867188], [220.28611755371094, 213.74037170410156]], "image": "13_7_00015583.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.70120239257812, 140.02850723266602], "scale": 0.7368923568725586, "joints": [[222.14031982421875, 64.5636215209961], [218.58901977539062, 100.07650756835938], [218.58901977539062, 137.3650360107422], [218.58901977539062, 137.3650360107422], [218.58901977539062, 100.07650756835938], [222.14031982421875, 66.33927154541016], [218.58901977539062, 139.14068603515625], [215.03773498535156, 165.7753448486328], [215.03773498535156, 169.32664489746094], [213.2620849609375, 183.53179931640625], [220.3646697998047, 213.71774291992188], [222.14031982421875, 192.41001892089844], [216.81338500976562, 171.10227966308594], [216.81338500976562, 169.32664489746094], [222.14031982421875, 190.63436889648438], [220.3646697998047, 213.71774291992188]], "image": "13_7_00015584.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.5687713623047, 140.0439338684082], "scale": 0.7335345077514649, "joints": [[223.0415496826172, 66.69048309326172], [219.4633331298828, 98.89443969726562], [217.67422485351562, 136.46571350097656], [217.67422485351562, 136.46571350097656], [219.4633331298828, 100.68354797363281], [223.0415496826172, 66.69048309326172], [217.67422485351562, 140.0439453125], [215.88510131835938, 166.8805694580078], [217.67422485351562, 172.24789428710938], [214.0959930419922, 182.9825439453125], [221.25244140625, 213.3973846435547], [221.25244140625, 191.92808532714844], [217.67422485351562, 170.4587860107422], [217.67422485351562, 168.669677734375], [221.25244140625, 190.13897705078125], [221.25244140625, 213.3973846435547]], "image": "13_7_00015585.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.58322143554688, 139.45490646362305], "scale": 0.7390248489379883, "joints": [[222.03517150878906, 65.55242156982422], [218.47361755371094, 99.38729858398438], [218.47361755371094, 136.7837371826172], [218.47361755371094, 136.7837371826172], [218.47361755371094, 99.38729858398438], [222.03517150878906, 65.55242156982422], [218.47361755371094, 138.56451416015625], [216.6928253173828, 167.05703735351562], [216.6928253173828, 172.39938354492188], [213.1312713623047, 184.8648681640625], [220.25439453125, 211.57659912109375], [222.03517150878906, 191.9879913330078], [216.6928253173828, 170.6186065673828], [216.6928253173828, 170.6186065673828], [222.03517150878906, 190.20721435546875], [220.25439453125, 213.35739135742188]], "image": "13_7_00015586.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.54696655273438, 139.45630645751953], "scale": 0.725130844116211, "joints": [[222.07904052734375, 66.94322204589844], [218.45338439941406, 97.76128387451172], [216.6405487060547, 135.83065795898438], [218.45338439941406, 135.83065795898438], [218.45338439941406, 97.76128387451172], [222.07904052734375, 66.94322204589844], [218.45338439941406, 139.45631408691406], [216.6405487060547, 166.64871215820312], [214.82772827148438, 170.2743682861328], [213.014892578125, 182.9641571044922], [220.26620483398438, 211.96939086914062], [222.07904052734375, 190.21546936035156], [216.6405487060547, 170.2743682861328], [216.6405487060547, 168.4615478515625], [222.07904052734375, 190.21546936035156], [220.26620483398438, 211.96939086914062]], "image": "13_7_00015587.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [217.68826293945312, 139.66902923583984], "scale": 0.7301804351806641, "joints": [[222.195556640625, 66.65098571777344], [220.39263916015625, 99.10344696044922], [218.5897216796875, 136.96466064453125], [218.5897216796875, 136.96466064453125], [218.5897216796875, 99.10344696044922], [222.195556640625, 66.65098571777344], [218.5897216796875, 140.5704803466797], [216.78680419921875, 165.81129455566406], [214.98388671875, 171.22003173828125], [213.18096923828125, 183.84043884277344], [220.39263916015625, 212.68707275390625], [222.195556640625, 191.05209350585938], [214.98388671875, 171.22003173828125], [216.78680419921875, 169.4171142578125], [222.195556640625, 189.24917602539062], [220.39263916015625, 212.68707275390625]], "image": "13_7_00015588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.59165954589844, 139.47828674316406], "scale": 0.7279954528808594, "joints": [[223.91845703125, 66.67874145507812], [220.36724853515625, 100.41511535644531], [218.59165954589844, 135.92709350585938], [218.59165954589844, 135.92709350585938], [220.36724853515625, 100.41511535644531], [223.91845703125, 66.67874145507812], [218.59165954589844, 139.47828674316406], [216.81605529785156, 166.11227416992188], [215.04046630859375, 169.66346740722656], [213.26486206054688, 183.86825561523438], [220.36724853515625, 212.27783203125], [222.14285278320312, 190.9706573486328], [216.81605529785156, 171.43907165527344], [216.81605529785156, 169.66346740722656], [222.14285278320312, 189.19505310058594], [220.36724853515625, 212.27783203125]], "image": "13_7_00015589.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.8885040283203, 139.86351776123047], "scale": 0.7390042877197266, "joints": [[224.2958526611328, 67.76553344726562], [220.69094848632812, 100.20962524414062], [217.08604431152344, 136.2586212158203], [218.8885040283203, 136.2586212158203], [220.69094848632812, 100.20962524414062], [224.2958526611328, 65.96308898925781], [218.8885040283203, 138.06106567382812], [215.28359985351562, 165.09780883789062], [215.28359985351562, 170.50515747070312], [213.4811553955078, 183.12229919433594], [220.69094848632812, 211.96148681640625], [222.49339294433594, 190.3321075439453], [215.28359985351562, 170.50515747070312], [217.08604431152344, 168.7027130126953], [222.49339294433594, 188.52964782714844], [220.69094848632812, 213.76394653320312]], "image": "13_7_00015590.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.98368072509766, 139.50769424438477], "scale": 0.7362372970581055, "joints": [[224.30587768554688, 65.88396453857422], [220.75775146484375, 99.59121704101562], [218.9836883544922, 135.07252502441406], [218.9836883544922, 135.07252502441406], [220.75775146484375, 99.59121704101562], [224.30587768554688, 65.88396453857422], [218.9836883544922, 138.62066650390625], [215.435546875, 163.45758056640625], [215.435546875, 168.77978515625], [213.66148376464844, 182.97230529785156], [220.75775146484375, 211.35736083984375], [222.5318145751953, 191.84263610839844], [215.435546875, 168.77978515625], [217.20960998535156, 167.00572204589844], [222.5318145751953, 188.2945098876953], [220.75775146484375, 213.1314239501953]], "image": "13_7_00015591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.88571166992188, 138.09184646606445], "scale": 0.7303506088256836, "joints": [[224.3390655517578, 65.0567855834961], [220.77638244628906, 98.90229797363281], [217.2136993408203, 136.3105010986328], [218.9950408935547, 134.52915954589844], [220.77638244628906, 98.90229797363281], [226.1204071044922, 65.0567855834961], [218.9950408935547, 138.0918426513672], [215.43235778808594, 164.81199645996094], [215.43235778808594, 168.3746795654297], [213.65101623535156, 182.6254119873047], [220.77638244628906, 211.1269073486328], [222.55772399902344, 187.96945190429688], [215.43235778808594, 168.3746795654297], [215.43235778808594, 166.5933380126953], [220.77638244628906, 187.96945190429688], [220.77638244628906, 211.1269073486328]], "image": "13_7_00015592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.88632202148438, 139.21696853637695], "scale": 0.7396630477905274, "joints": [[225.12445068359375, 65.25066375732422], [221.55979919433594, 99.11476135253906], [219.77748107910156, 136.54348754882812], [219.77748107910156, 136.54348754882812], [221.55979919433594, 99.11476135253906], [225.12445068359375, 65.25066375732422], [219.77748107910156, 140.10813903808594], [216.2128448486328, 163.27830505371094], [216.2128448486328, 168.62525939941406], [212.648193359375, 182.8838348388672], [219.77748107910156, 213.1832733154297], [221.55979919433594, 188.2307891845703], [216.2128448486328, 168.62525939941406], [216.2128448486328, 166.8429412841797], [221.55979919433594, 188.2307891845703], [219.77748107910156, 213.1832733154297]], "image": "13_7_00015593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.2094268798828, 139.12876892089844], "scale": 0.7359051513671875, "joints": [[226.302490234375, 65.53825378417969], [220.98269653320312, 97.45703125], [219.2094268798828, 134.6956024169922], [219.2094268798828, 134.6956024169922], [220.98269653320312, 97.45703125], [226.302490234375, 65.53825378417969], [219.2094268798828, 138.2421417236328], [215.66290283203125, 166.6143798828125], [215.66290283203125, 170.16090393066406], [212.11636352539062, 182.57376098632812], [220.98269653320312, 212.7192840576172], [220.98269653320312, 189.6668243408203], [215.66290283203125, 168.3876495361328], [217.43617248535156, 168.3876495361328], [219.2094268798828, 189.6668243408203], [219.2094268798828, 212.7192840576172]], "image": "13_7_00015594.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.3330535888672, 137.87087440490723], "scale": 0.7399677085876465, "joints": [[226.46527099609375, 63.87410354614258], [221.11610412597656, 97.75214385986328], [219.3330535888672, 135.1962890625], [219.3330535888672, 135.1962890625], [221.11610412597656, 97.75214385986328], [226.46527099609375, 63.87410354614258], [219.3330535888672, 136.97933959960938], [215.76695251464844, 163.7251739501953], [215.76695251464844, 169.07432556152344], [212.20083618164062, 183.33877563476562], [219.3330535888672, 211.86764526367188], [221.11610412597656, 190.4709930419922], [215.76695251464844, 169.07432556152344], [215.76695251464844, 169.07432556152344], [221.11610412597656, 188.68792724609375], [217.5500030517578, 211.86764526367188]], "image": "13_7_00015595.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.67119598388672, 140.6089973449707], "scale": 0.7372460556030274, "joints": [[226.529296875, 66.88439178466797], [221.38572692871094, 97.74585723876953], [219.67120361328125, 135.46542358398438], [219.67120361328125, 135.46542358398438], [221.38572692871094, 97.74585723876953], [226.529296875, 66.88439178466797], [219.67120361328125, 137.17994689941406], [217.9566650390625, 168.04141235351562], [216.2421417236328, 171.470458984375], [212.81309509277344, 181.7576141357422], [219.67120361328125, 212.61907958984375], [221.38572692871094, 190.3302459716797], [216.2421417236328, 173.1849822998047], [216.2421417236328, 171.470458984375], [221.38572692871094, 190.3302459716797], [216.2421417236328, 214.33360290527344]], "image": "13_7_00015596.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.5609359741211, 140.2957305908203], "scale": 0.7311660766601562, "joints": [[225.6083221435547, 67.17912292480469], [222.0846405029297, 98.89234924316406], [218.56094360351562, 135.89111328125], [220.32278442382812, 135.89111328125], [222.0846405029297, 98.89234924316406], [225.6083221435547, 67.17912292480469], [220.32278442382812, 137.65296936035156], [216.79908752441406, 164.08065795898438], [216.79908752441406, 169.36619567871094], [211.5135498046875, 183.46095275878906], [218.56094360351562, 211.65049743652344], [220.32278442382812, 190.5083465576172], [216.79908752441406, 171.12803649902344], [216.79908752441406, 169.36619567871094], [220.32278442382812, 190.5083465576172], [216.79908752441406, 213.41233825683594]], "image": "13_7_00015597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.9624252319336, 140.1732635498047], "scale": 0.7371296691894531, "joints": [[228.24478149414062, 64.80381774902344], [223.27536010742188, 99.5897216796875], [219.96241760253906, 134.3756103515625], [219.96241760253906, 134.3756103515625], [223.27536010742188, 99.5897216796875], [228.24478149414062, 66.46029663085938], [219.96241760253906, 137.6885528564453], [216.64947509765625, 169.16151428222656], [216.64947509765625, 170.81797790527344], [211.68006896972656, 182.4132843017578], [218.3059539794922, 212.22976684570312], [219.96241760253906, 190.6956329345703], [216.64947509765625, 174.13092041015625], [216.64947509765625, 172.47445678710938], [219.96241760253906, 190.6956329345703], [216.64947509765625, 213.88623046875]], "image": "13_7_00015598.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [220.75787353515625, 139.71700286865234], "scale": 0.7335042572021484, "joints": [[229.09315490722656, 64.69951629638672], [224.09197998046875, 98.0406265258789], [219.0908203125, 134.71583557128906], [220.75787353515625, 134.71583557128906], [225.759033203125, 98.0406265258789], [230.7602081298828, 66.3665771484375], [219.0908203125, 136.3828887939453], [217.42376708984375, 168.05694580078125], [217.42376708984375, 173.05810546875], [210.7555389404297, 181.3933868408203], [219.0908203125, 211.40037536621094], [219.0908203125, 191.39572143554688], [217.42376708984375, 173.05810546875], [215.7567138671875, 173.05810546875], [219.0908203125, 189.72866821289062], [217.42376708984375, 213.0674285888672]], "image": "13_7_00015599.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.3552017211914, 138.15803146362305], "scale": 0.7372937393188477, "joints": [[231.40921020507812, 64.42865753173828], [226.3822021484375, 99.61767578125], [219.67953491210938, 134.80670166015625], [221.35519409179688, 134.80670166015625], [226.3822021484375, 99.61767578125], [231.40921020507812, 64.42865753173828], [219.67953491210938, 136.48236083984375], [218.0038604736328, 168.32005310058594], [218.0038604736328, 171.67138671875], [211.3011932373047, 181.7253875732422], [218.0038604736328, 211.8874053955078], [219.67953491210938, 190.10372924804688], [216.3282012939453, 171.67138671875], [216.3282012939453, 171.67138671875], [218.0038604736328, 188.42807006835938], [216.3282012939453, 211.8874053955078]], "image": "13_7_00015600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [221.8888397216797, 138.65234375], "scale": 0.726795654296875, "joints": [[232.62559509277344, 65.9727783203125], [227.670166015625, 99.00894927978516], [219.4111328125, 133.69691467285156], [221.06292724609375, 133.69691467285156], [227.670166015625, 99.00894927978516], [234.27740478515625, 65.9727783203125], [221.06292724609375, 137.0005340576172], [217.7593231201172, 168.38490295410156], [217.7593231201172, 171.68850708007812], [209.50027465820312, 179.9475555419922], [217.7593231201172, 211.3319091796875], [219.4111328125, 189.85841369628906], [216.10751342773438, 173.34031677246094], [216.10751342773438, 173.34031677246094], [217.7593231201172, 189.85841369628906], [216.10751342773438, 211.3319091796875]], "image": "13_7_00015601.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.5847625732422, 139.8051872253418], "scale": 0.7097769546508789, "joints": [[234.13926696777344, 68.8274917602539], [227.5366973876953, 101.84037017822266], [220.93411254882812, 134.85325622558594], [220.93411254882812, 134.85325622558594], [227.5366973876953, 101.84037017822266], [234.13926696777344, 68.8274917602539], [220.93411254882812, 138.154541015625], [217.63282775878906, 166.21548461914062], [215.982177734375, 169.5167694091797], [211.03025817871094, 181.0712890625], [215.982177734375, 210.7828826904297], [219.28347778320312, 189.3245086669922], [215.982177734375, 169.5167694091797], [215.982177734375, 167.8661346435547], [217.63282775878906, 189.3245086669922], [215.982177734375, 210.7828826904297]], "image": "13_7_00015602.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.60570526123047, 137.90016174316406], "scale": 0.7235443115234375, "joints": [[236.74392700195312, 65.54573059082031], [228.4273223876953, 97.14881896972656], [220.1107177734375, 133.7418670654297], [221.7740478515625, 133.7418670654297], [228.4273223876953, 97.14881896972656], [236.74392700195312, 65.54573059082031], [221.7740478515625, 135.40518188476562], [216.78408813476562, 167.00827026367188], [216.78408813476562, 170.3349151611328], [208.4674835205078, 180.31483459472656], [215.12075805664062, 210.2545928955078], [218.44740295410156, 188.63143920898438], [216.78408813476562, 173.6615447998047], [216.78408813476562, 171.99822998046875], [216.78408813476562, 188.63143920898438], [215.12075805664062, 210.2545928955078]], "image": "13_7_00015603.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.9825668334961, 138.48201370239258], "scale": 0.7250883102416992, "joints": [[237.4843292236328, 65.97318267822266], [231.03909301757812, 96.58802795410156], [221.3712615966797, 133.64808654785156], [221.3712615966797, 133.64808654785156], [229.42779541015625, 96.58802795410156], [237.4843292236328, 65.97318267822266], [221.3712615966797, 135.2593994140625], [218.1486358642578, 165.87423706054688], [216.53733825683594, 169.0968475341797], [208.48080444335938, 178.7646942138672], [214.926025390625, 209.37953186035156], [218.1486358642578, 188.4325408935547], [216.53733825683594, 172.31947326660156], [216.53733825683594, 170.70816040039062], [216.53733825683594, 188.4325408935547], [213.31472778320312, 210.9908447265625]], "image": "13_7_00015604.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [225.63021850585938, 137.73425674438477], "scale": 0.7267078781127929, "joints": [[242.06765747070312, 65.06346893310547], [231.68612670898438, 96.20809173583984], [221.30458068847656, 130.813232421875], [221.30458068847656, 130.813232421875], [231.68612670898438, 96.20809173583984], [242.06765747070312, 65.06346893310547], [221.30458068847656, 132.54348754882812], [216.11380004882812, 163.6881103515625], [216.11380004882812, 167.14862060546875], [209.19277954101562, 177.53016662597656], [214.383544921875, 208.67478942871094], [217.8440704345703, 187.91171264648438], [214.383544921875, 167.14862060546875], [216.11380004882812, 165.41836547851562], [216.11380004882812, 186.18145751953125], [214.383544921875, 210.40504455566406]], "image": "13_7_00015605.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [225.93470001220703, 136.28066635131836], "scale": 0.7192818069458008, "joints": [[242.4001922607422, 64.35248565673828], [233.73414611816406, 95.55025482177734], [221.6016845703125, 130.2144317626953], [223.3348846435547, 131.94764709472656], [233.73414611816406, 95.55025482177734], [242.4001922607422, 64.35248565673828], [223.3348846435547, 131.94764709472656], [214.66883850097656, 159.67898559570312], [214.66883850097656, 163.14540100097656], [209.46920776367188, 177.01107788085938], [212.93563842773438, 208.20884704589844], [216.4020538330078, 185.6771240234375], [214.66883850097656, 164.8786163330078], [214.66883850097656, 161.41220092773438], [216.4020538330078, 185.6771240234375], [212.93563842773438, 208.20884704589844]], "image": "13_7_00015606.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.75362396240234, 134.14376258850098], "scale": 0.7301180076599121, "joints": [[244.13739013671875, 61.131961822509766], [238.92225646972656, 94.1611099243164], [225.01524353027344, 130.66700744628906], [225.01524353027344, 130.66700744628906], [238.92225646972656, 94.1611099243164], [244.13739013671875, 61.131961822509766], [225.01524353027344, 134.1437530517578], [216.3233642578125, 160.2194061279297], [214.58499145507812, 163.69615173339844], [209.36985778808594, 175.8647918701172], [212.84661865234375, 207.1555633544922], [214.58499145507812, 186.2950439453125], [214.58499145507812, 163.69615173339844], [214.58499145507812, 161.95777893066406], [216.3233642578125, 182.8182830810547], [212.84661865234375, 207.1555633544922]], "image": "13_7_00015607.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.293701171875, 133.47082901000977], "scale": 0.7200065231323243, "joints": [[244.51072692871094, 61.470176696777344], [242.77577209472656, 97.90424346923828], [225.4262237548828, 132.6033477783203], [225.4262237548828, 132.6033477783203], [239.3058624267578, 96.16928100585938], [244.51072692871094, 61.470176696777344], [225.4262237548828, 134.3383026123047], [216.75144958496094, 156.89273071289062], [215.01649475097656, 162.09759521484375], [208.07667541503906, 175.97723388671875], [213.2815399169922, 205.4714813232422], [215.01649475097656, 184.65200805664062], [215.01649475097656, 162.09759521484375], [213.2815399169922, 160.36264038085938], [215.01649475097656, 182.91705322265625], [211.5465850830078, 205.4714813232422]], "image": "13_7_00015608.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [226.77315521240234, 134.66749954223633], "scale": 0.719548454284668, "joints": [[243.2447509765625, 62.71265411376953], [246.7124481201172, 95.65583801269531], [225.90623474121094, 130.33287048339844], [225.90623474121094, 130.33287048339844], [246.7124481201172, 95.65583801269531], [243.2447509765625, 62.71265411376953], [225.90623474121094, 133.80056762695312], [217.23696899414062, 158.07449340820312], [215.5031280517578, 161.54220581054688], [206.8338623046875, 175.4130096435547], [210.30157470703125, 206.62234497070312], [213.76927185058594, 184.082275390625], [213.76927185058594, 161.54220581054688], [213.76927185058594, 159.808349609375], [213.76927185058594, 182.34841918945312], [208.56771850585938, 206.62234497070312]], "image": "13_7_00015609.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.10763549804688, 136.26073837280273], "scale": 0.700401496887207, "joints": [[239.9471893310547, 66.22058868408203], [251.62054443359375, 101.24066925048828], [228.27383422851562, 132.9254913330078], [228.27383422851562, 131.25787353515625], [251.62054443359375, 101.24066925048828], [239.9471893310547, 66.22058868408203], [228.27383422851562, 136.2607421875], [216.6004638671875, 159.60745239257812], [214.93284606933594, 164.61032104492188], [206.5947265625, 176.28369140625], [208.26235961914062, 204.63327026367188], [214.93284606933594, 182.9541778564453], [214.93284606933594, 162.9427032470703], [213.26522827148438, 161.27508544921875], [211.59759521484375, 181.28656005859375], [208.26235961914062, 206.30088806152344]], "image": "13_7_00015610.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [230.94491577148438, 142.1207389831543], "scale": 0.6253725051879883, "joints": [[236.41693115234375, 79.58348846435547], [255.1781005859375, 106.16181945800781], [228.5997772216797, 135.86700439453125], [228.5997772216797, 134.30357360839844], [255.1781005859375, 106.16181945800781], [236.41693115234375, 79.58348846435547], [228.5997772216797, 138.99388122558594], [217.65574645996094, 162.44534301757812], [212.9654541015625, 165.57220458984375], [206.71173095703125, 176.51622009277344], [208.27516174316406, 204.65798950195312], [214.5288848876953, 184.3333740234375], [212.9654541015625, 164.00877380371094], [211.4020233154297, 164.00877380371094], [212.9654541015625, 182.7699432373047], [206.71173095703125, 204.65798950195312]], "image": "13_7_00015611.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.50843811035156, 147.69155502319336], "scale": 0.5737520217895508, "joints": [[235.24595642089844, 90.31635284423828], [256.76165771484375, 111.8320541381836], [230.9428253173828, 137.65089416503906], [232.377197265625, 139.0852813720703], [256.76165771484375, 110.39767456054688], [236.6803436279297, 90.31635284423828], [230.9428253173828, 140.5196533203125], [213.73025512695312, 162.0353546142578], [212.29588317871094, 167.7728729248047], [202.25521850585938, 176.37916564941406], [206.55836486816406, 205.06675720214844], [213.73025512695312, 183.55105590820312], [210.8614959716797, 162.0353546142578], [210.8614959716797, 163.46974182128906], [212.29588317871094, 183.55105590820312], [205.1239776611328, 205.06675720214844]], "image": "13_7_00015612.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [231.99042510986328, 147.90642929077148], "scale": 0.5527495193481445, "joints": [[236.88821411132812, 91.23211669921875], [260.67742919921875, 117.82006072998047], [231.29074096679688, 144.40802001953125], [231.29074096679688, 145.807373046875], [262.0767822265625, 116.42070007324219], [236.88821411132812, 92.63147735595703], [229.89137268066406, 147.2067413330078], [214.49835205078125, 162.59976196289062], [210.30026245117188, 166.79786682128906], [201.90406799316406, 176.5934295654297], [206.10215759277344, 203.18138122558594], [213.09898376464844, 182.19088745117188], [211.6996307373047, 162.59976196289062], [211.6996307373047, 162.59976196289062], [211.6996307373047, 183.5902557373047], [203.30343627929688, 203.18138122558594]], "image": "13_7_00015613.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.89220428466797, 146.12874221801758], "scale": 0.5491967391967774, "joints": [[251.46780395507812, 91.20906829833984], [261.9286804199219, 123.89935302734375], [230.5460205078125, 147.4363555908203], [231.85362243652344, 146.12875366210938], [261.9286804199219, 122.59174346923828], [251.46780395507812, 91.20906829833984], [230.5460205078125, 148.7439727783203], [212.2394561767578, 160.51246643066406], [208.31661987304688, 165.742919921875], [197.85572814941406, 173.58859252929688], [203.086181640625, 201.0484161376953], [210.9318389892578, 181.4342498779297], [209.62423706054688, 163.12770080566406], [209.62423706054688, 159.20486450195312], [210.9318389892578, 181.4342498779297], [201.778564453125, 201.0484161376953]], "image": "13_7_00015614.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [232.2618637084961, 153.73956680297852], "scale": 0.46810070037841794, "joints": [[271.8275146484375, 106.92949676513672], [259.5677490234375, 133.6781005859375], [231.70460510253906, 147.0524139404297], [231.70460510253906, 147.0524139404297], [258.4532165527344, 134.79263305664062], [271.8275146484375, 106.92949676513672], [230.59007263183594, 148.16693115234375], [209.41409301757812, 162.65576171875], [204.95599365234375, 164.88482666015625], [192.6962127685547, 171.5719757080078], [200.49789428710938, 200.5496368408203], [210.52862548828125, 180.48817443847656], [207.18504333496094, 161.54124450683594], [204.95599365234375, 160.4267120361328], [207.18504333496094, 180.48817443847656], [198.2688446044922, 199.4351043701172]], "image": "13_7_00015615.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.9468231201172, 153.38551712036133], "scale": 0.43224056243896486, "joints": [[298.20794677734375, 110.16146087646484], [263.1910095214844, 135.32989501953125], [229.26832580566406, 145.1784210205078], [229.26832580566406, 144.08413696289062], [263.1910095214844, 136.42417907714844], [298.20794677734375, 110.16146087646484], [228.17404174804688, 145.1784210205078], [207.3827362060547, 158.3097686767578], [201.9113311767578, 162.6868896484375], [187.68569946289062, 165.9697265625], [198.6284942626953, 196.6095733642578], [206.2884521484375, 178.00680541992188], [205.1941680908203, 161.59262084960938], [204.09988403320312, 153.93264770507812], [205.1941680908203, 176.91253662109375], [197.53421020507812, 195.51528930664062]], "image": "13_7_00015616.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [242.65155029296875, 158.44878387451172], "scale": 0.27954444885253904, "joints": [[296.6968078613281, 164.0396728515625], [265.6363220214844, 145.4033660888672], [235.8182373046875, 131.73675537109375], [233.33340454101562, 130.4943389892578], [265.6363220214844, 147.88821411132812], [296.6968078613281, 164.0396728515625], [232.0909881591797, 132.9791717529297], [206.0001678466797, 146.6457977294922], [199.78807067871094, 146.6457977294922], [188.60629272460938, 144.16094970703125], [191.09112548828125, 186.40322875976562], [199.78807067871094, 164.0396728515625], [203.51531982421875, 147.88821411132812], [202.2729034423828, 144.16094970703125], [199.78807067871094, 164.0396728515625], [189.8487091064453, 185.1608123779297]], "image": "13_7_00015618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [233.80309295654297, 156.80044555664062], "scale": 0.25966415405273435, "joints": [[280.3262634277344, 182.76686096191406], [258.68756103515625, 152.4727020263672], [240.29469299316406, 132.99789428710938], [240.29469299316406, 130.8340301513672], [259.7695007324219, 153.5546417236328], [280.3262634277344, 182.76686096191406], [226.22955322265625, 132.99789428710938], [207.836669921875, 136.2436981201172], [203.50894165039062, 135.16175842285156], [190.52572631835938, 135.16175842285156], [187.27992248535156, 177.35719299316406], [201.34506225585938, 158.9643096923828], [204.5908660888672, 137.3256378173828], [202.427001953125, 135.16175842285156], [199.1811981201172, 155.718505859375], [187.27992248535156, 176.27525329589844]], "image": "13_7_00015619.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [230.32764434814453, 163.1420555114746], "scale": 0.3554104995727539, "joints": [[267.9290466308594, 198.68310546875], [253.506591796875, 160.56661987304688], [244.23501586914062, 130.6915283203125], [245.2651824951172, 130.6915283203125], [254.53677368164062, 160.56661987304688], [267.9290466308594, 198.68310546875], [241.1444854736328, 131.72171020507812], [210.23922729492188, 129.66136169433594], [206.11851501464844, 129.66136169433594], [192.7262420654297, 127.60100555419922], [194.78659057617188, 156.4459228515625], [199.93746948242188, 144.0838165283203], [206.11851501464844, 128.6311798095703], [205.08834838867188, 127.60100555419922], [199.93746948242188, 144.0838165283203], [194.78659057617188, 156.4459228515625]], "image": "13_7_00015620.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [224.67121124267578, 162.56106567382812], "scale": 0.4340950012207031, "joints": [[256.7823486328125, 204.78126525878906], [243.70004272460938, 171.48081970214844], [238.94284057617188, 144.12689208984375], [242.5107421875, 136.9910888671875], [248.45724487304688, 171.48081970214844], [256.7823486328125, 205.97056579589844], [238.94284057617188, 139.36968994140625], [215.15679931640625, 125.09807586669922], [209.21029663085938, 123.90876770019531], [196.1279754638672, 119.15156555175781], [192.56007385253906, 147.69479370117188], [202.07449340820312, 135.80178833007812], [210.39959716796875, 121.53016662597656], [212.7781982421875, 120.34086608886719], [202.07449340820312, 136.9910888671875], [192.56007385253906, 147.69479370117188]], "image": "13_7_00015621.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [220.90570068359375, 157.9343605041504], "scale": 0.5167342758178711, "joints": [[248.78216552734375, 209.6077880859375], [240.62319946289062, 175.6121063232422], [235.1838836669922, 142.97625732421875], [241.98301696777344, 140.25660705566406], [246.0625, 175.6121063232422], [250.14198303222656, 209.6077880859375], [237.90354919433594, 140.25660705566406], [222.94544982910156, 118.49938201904297], [217.50613403320312, 114.4198989868164], [205.2677001953125, 111.70024108886719], [191.66941833496094, 111.70024108886719], [202.54803466796875, 117.1395492553711], [214.78648376464844, 117.1395492553711], [222.94544982910156, 106.26093292236328], [232.4642333984375, 107.62076568603516], [233.82406616210938, 110.34041595458984]], "image": "13_7_00015622.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [227.3502655029297, 150.89996719360352], "scale": 0.6328930282592773, "joints": [[247.128173828125, 214.18927001953125], [234.47030639648438, 182.54461669921875], [224.97691345214844, 141.4065704345703], [237.63478088378906, 142.98880004882812], [239.21701049804688, 184.12684631347656], [247.128173828125, 214.18927001953125], [231.30584716796875, 139.8243408203125], [229.72361755371094, 119.25531768798828], [226.55914306640625, 112.92638397216797], [221.8124542236328, 101.85076141357422], [209.1545867919922, 87.61066436767578], [205.99012756347656, 105.01522827148438], [220.23020935058594, 111.34415435791016], [234.47030639648438, 111.34415435791016], [248.7104034423828, 109.76192474365234], [248.7104034423828, 98.68629455566406]], "image": "13_7_00015623.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [239.89472198486328, 147.55890655517578], "scale": 0.6671715545654296, "joints": [[233.3857421875, 209.39431762695312], [220.3677520751953, 181.73110961914062], [220.3677520751953, 142.67715454101562], [233.3857421875, 145.93165588378906], [231.75848388671875, 183.3583526611328], [239.8947296142578, 214.27606201171875], [226.8767547607422, 142.67715454101562], [233.3857421875, 118.26844787597656], [233.3857421875, 111.75946044921875], [235.0129852294922, 97.11422729492188], [238.26748657226562, 80.84175109863281], [223.62225341796875, 92.23249053955078], [225.24949645996094, 113.38670349121094], [244.77647399902344, 116.64119720458984], [259.42169189453125, 129.6591796875], [252.91270446777344, 123.15019226074219]], "image": "13_7_00015624.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [238.67491149902344, 107.62125396728516], "scale": 0.3020136260986328, "joints": [[210.8704833984375, 137.82261657714844], [224.29330444335938, 111.93572998046875], [222.37576293945312, 79.33743286132812], [223.33453369140625, 77.41989135742188], [224.29330444335938, 110.97695922851562], [211.82925415039062, 137.82261657714844], [227.1696319580078, 77.41989135742188], [249.22142028808594, 87.00762176513672], [252.0977325439453, 89.88394165039062], [265.52056884765625, 91.8014907836914], [233.88104248046875, 115.77082061767578], [240.5924530029297, 96.59535217285156], [252.0977325439453, 87.96639251708984], [253.05650329589844, 85.09007263183594], [253.05650329589844, 80.29621124267578], [231.0047149658203, 112.89450073242188]], "image": "13_7_00015645.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [229.3744888305664, 96.74823760986328], "scale": 0.23812850952148437, "joints": [[192.08265686035156, 120.56108856201172], [211.85182189941406, 100.79193115234375], [228.92518615722656, 73.833984375], [228.02659606933594, 72.93538665771484], [210.95323181152344, 100.79193115234375], [192.08265686035156, 120.56108856201172], [231.62098693847656, 75.63117980957031], [252.2887420654297, 88.21155548095703], [254.9845428466797, 92.70454406738281], [266.66632080078125, 98.99473571777344], [240.60696411132812, 115.16950225830078], [249.5929412841797, 99.8933334350586], [258.57891845703125, 85.51576232910156], [255.8831329345703, 84.6171646118164], [242.40415954589844, 92.70454406738281], [240.60696411132812, 113.37229919433594]], "image": "13_7_00015646.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [219.98265075683594, 95.85511016845703], "scale": 0.23553962707519532, "joints": [[174.759033203125, 96.79727172851562], [203.96595764160156, 86.43352508544922], [237.8836669921875, 73.24330139160156], [235.05718994140625, 72.3011474609375], [204.90811157226562, 84.54920959472656], [174.759033203125, 95.85511016845703], [238.82583618164062, 77.0119400024414], [254.842529296875, 93.97079467773438], [258.6111755371094, 97.73942565917969], [265.2062683105469, 105.27669525146484], [250.13172912597656, 119.40907287597656], [254.842529296875, 108.1031723022461], [259.5533142089844, 95.85511016845703], [256.7268371582031, 94.91294860839844], [252.9582061767578, 107.1610107421875], [250.13172912597656, 119.40907287597656]], "image": "13_7_00015647.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.1435089111328, 98.93656539916992], "scale": 0.27842342376708984, "joints": [[169.19366455078125, 74.36979675292969], [201.94937133789062, 72.18608093261719], [241.25621032714844, 76.55350494384766], [237.98065185546875, 76.55350494384766], [201.94937133789062, 71.09422302246094], [169.19366455078125, 75.4616470336914], [241.25621032714844, 77.6453628540039], [255.45034790039062, 95.11506652832031], [257.6340637207031, 98.39064025878906], [263.0933532714844, 109.3092041015625], [254.35848999023438, 126.7789077758789], [258.7259216308594, 120.22776794433594], [258.7259216308594, 98.39064025878906], [256.5422058105469, 98.39064025878906], [255.45034790039062, 115.86034393310547], [254.35848999023438, 126.7789077758789]], "image": "13_7_00015648.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [218.07926177978516, 97.37860870361328], "scale": 0.4560480499267578, "joints": [[176.1228485107422, 51.7738037109375], [205.30992126464844, 63.93508529663086], [239.36151123046875, 79.7447509765625], [239.36151123046875, 79.7447509765625], [205.30992126464844, 63.93508529663086], [176.1228485107422, 51.7738037109375], [240.57763671875, 82.17700958251953], [252.73892211914062, 99.20280456542969], [255.17117309570312, 102.85118865966797], [260.0356750488281, 116.22859191894531], [256.3872985839844, 142.98341369628906], [257.6034240722656, 123.52536010742188], [257.6034240722656, 100.41893005371094], [253.95504760742188, 100.41893005371094], [255.17117309570312, 123.52536010742188], [256.3872985839844, 141.7672882080078]], "image": "13_7_00015649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [225.77185821533203, 99.41426277160645], "scale": 0.5512458610534668, "joints": [[194.3717803955078, 44.289676666259766], [215.30516052246094, 63.8275032043457], [240.42523193359375, 91.73868560791016], [240.42523193359375, 91.73868560791016], [215.30516052246094, 63.8275032043457], [194.3717803955078, 44.289676666259766], [240.42523193359375, 94.52980041503906], [250.1941375732422, 109.88095092773438], [250.1941375732422, 112.67207336425781], [257.17193603515625, 126.6276626586914], [255.77638244628906, 154.53884887695312], [255.77638244628906, 133.60545349121094], [255.77638244628906, 115.46318817138672], [255.77638244628906, 116.85874938964844], [252.98526000976562, 133.60545349121094], [254.3808135986328, 153.14328002929688]], "image": "13_7_00015650.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [234.598388671875, 115.86981582641602], "scale": 0.5984930038452149, "joints": [[213.17086791992188, 56.02051544189453], [226.47071838378906, 81.14244079589844], [245.6815948486328, 118.08645629882812], [245.6815948486328, 118.08645629882812], [226.47071838378906, 81.14244079589844], [213.17086791992188, 56.02051544189453], [247.15936279296875, 118.08645629882812], [253.07040405273438, 134.34181213378906], [251.59263610839844, 134.34181213378906], [256.0259094238281, 153.55270385742188], [254.54815673828125, 175.7191162109375], [256.0259094238281, 152.07493591308594], [254.54815673828125, 140.2528533935547], [253.07040405273438, 141.73062133789062], [251.59263610839844, 153.55270385742188], [253.07040405273438, 172.7635955810547]], "image": "13_7_00015651.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.02678680419922, 124.11200141906738], "scale": 0.8762159538269043, "joints": [[176.26284790039062, 211.7335968017578], [180.6993865966797, 171.8047637939453], [182.9176483154297, 127.43939971923828], [182.9176483154297, 127.43939971923828], [180.6993865966797, 171.8047637939453], [176.26284790039062, 209.51531982421875], [182.9176483154297, 127.43939971923828], [182.9176483154297, 87.51057434082031], [185.13592529296875, 83.07403564453125], [191.7907257080078, 71.98269653320312], [178.48110961914062, 36.49040603637695], [182.9176483154297, 63.10962677001953], [178.48110961914062, 87.51057434082031], [178.48110961914062, 89.72884368896484], [180.6993865966797, 63.10962677001953], [176.26284790039062, 36.49040603637695]], "image": "10_9_00023621.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.84185791015625, 123.02640533447266], "scale": 0.8701328277587891, "joints": [[176.03297424316406, 210.03968811035156], [180.4951934814453, 172.11082458496094], [182.72630310058594, 127.4886245727539], [182.72630310058594, 127.4886245727539], [180.4951934814453, 172.11082458496094], [176.03297424316406, 207.80857849121094], [182.72630310058594, 127.4886245727539], [182.72630310058594, 87.32864379882812], [184.95741271972656, 82.86642456054688], [191.65074157714844, 71.71087646484375], [176.03297424316406, 36.01312255859375], [180.4951934814453, 62.78643798828125], [180.4951934814453, 87.32864379882812], [178.2640838623047, 87.32864379882812], [180.4951934814453, 62.78643798828125], [176.03297424316406, 36.01312255859375]], "image": "10_9_00023622.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.35840606689453, 125.28334045410156], "scale": 0.8636302185058594, "joints": [[175.7059783935547, 211.6463623046875], [180.07879638671875, 172.2910614013672], [182.26519775390625, 128.5629425048828], [182.26519775390625, 128.5629425048828], [180.07879638671875, 172.2910614013672], [175.7059783935547, 211.6463623046875], [182.26519775390625, 126.37654113769531], [182.26519775390625, 87.021240234375], [184.45159912109375, 82.64842987060547], [193.19723510742188, 71.71640014648438], [173.5195770263672, 38.920318603515625], [180.07879638671875, 60.78437423706055], [180.07879638671875, 82.64842987060547], [180.07879638671875, 82.64842987060547], [180.07879638671875, 60.78437423706055], [173.5195770263672, 38.920318603515625]], "image": "10_9_00023623.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [182.2520980834961, 124.3602466583252], "scale": 0.8632180595397949, "joints": [[173.51065063476562, 210.6820526123047], [180.06674194335938, 171.3455352783203], [182.25210571289062, 127.63829040527344], [182.25210571289062, 127.63829040527344], [180.06674194335938, 171.3455352783203], [173.51065063476562, 210.6820526123047], [182.25210571289062, 127.63829040527344], [182.25210571289062, 88.30177307128906], [186.62283325195312, 83.93104553222656], [193.1789093017578, 73.00423431396484], [171.32528686523438, 38.0384407043457], [180.06674194335938, 62.077423095703125], [180.06674194335938, 88.30177307128906], [177.88137817382812, 88.30177307128906], [180.06674194335938, 62.077423095703125], [171.32528686523438, 38.0384407043457]], "image": "10_9_00023624.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [181.5911407470703, 126.65550231933594], "scale": 0.86251708984375, "joints": [[173.07244873046875, 212.90721130371094], [179.4614715576172, 170.31378173828125], [183.72080993652344, 127.7203369140625], [183.72080993652344, 127.7203369140625], [179.4614715576172, 172.44345092773438], [173.07244873046875, 212.90721130371094], [183.72080993652344, 127.7203369140625], [181.5911407470703, 89.38624572753906], [183.72080993652344, 85.12689971923828], [192.239501953125, 74.47854614257812], [170.94277954101562, 40.40379333496094], [181.5911407470703, 61.70051193237305], [179.4614715576172, 85.12689971923828], [179.4614715576172, 85.12689971923828], [179.4614715576172, 63.83018493652344], [170.94277954101562, 42.53346633911133]], "image": "10_9_00023625.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [181.00428771972656, 131.99059295654297], "scale": 0.8450679779052734, "joints": [[169.52806091308594, 214.4108123779297], [177.87440490722656, 176.85223388671875], [184.13417053222656, 133.0338897705078], [184.13417053222656, 133.0338897705078], [177.87440490722656, 174.76564025878906], [169.52806091308594, 216.4973907470703], [182.04757690429688, 130.94729614257812], [182.04757690429688, 95.47531127929688], [184.13417053222656, 89.21554565429688], [192.4805145263672, 76.6960220336914], [171.61463928222656, 47.483795166015625], [182.04757690429688, 68.34967041015625], [179.96099853515625, 91.30213165283203], [179.96099853515625, 91.30213165283203], [182.04757690429688, 68.34967041015625], [169.52806091308594, 47.483795166015625]], "image": "10_9_00023626.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [180.35569763183594, 135.06907081604004], "scale": 0.8270613670349121, "joints": [[170.01742553710938, 217.77520751953125], [178.2880401611328, 176.42213439941406], [186.55865478515625, 133.0014190673828], [186.55865478515625, 133.0014190673828], [178.2880401611328, 176.42213439941406], [170.01742553710938, 217.77520751953125], [184.49099731445312, 133.0014190673828], [182.42335510253906, 97.85131072998047], [184.49099731445312, 91.64834594726562], [190.6939697265625, 79.242431640625], [174.15274047851562, 54.43058776855469], [184.49099731445312, 73.03946685791016], [180.35569763183594, 95.78365325927734], [180.35569763183594, 97.85131072998047], [182.42335510253906, 73.03946685791016], [174.15274047851562, 52.36293411254883]], "image": "10_9_00023627.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [178.64127349853516, 137.06785202026367], "scale": 0.8177859878540039, "joints": [[170.56436157226562, 218.84645080566406], [178.64126586914062, 176.44273376464844], [186.71817016601562, 136.05824279785156], [184.69894409179688, 134.0390167236328], [178.64126586914062, 176.44273376464844], [168.54515075683594, 218.84645080566406], [182.67971801757812, 134.0390167236328], [182.67971801757812, 99.71219635009766], [182.67971801757812, 93.65452575683594], [188.73739624023438, 79.51995086669922], [176.62203979492188, 57.30847930908203], [184.69894409179688, 75.48149871826172], [178.64126586914062, 97.6929702758789], [180.66049194335938, 99.71219635009766], [184.69894409179688, 75.48149871826172], [174.60281372070312, 55.28925323486328]], "image": "10_9_00023628.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [179.06072235107422, 134.5354461669922], "scale": 0.8344143676757813, "joints": [[171.01817321777344, 217.9768829345703], [179.0607147216797, 177.76414489746094], [185.09263610839844, 135.540771484375], [185.09263610839844, 133.53013610839844], [179.0607147216797, 175.75350952148438], [171.01817321777344, 217.9768829345703], [183.08200073242188, 133.53013610839844], [181.0713653564453, 97.33866119384766], [183.08200073242188, 91.30675506591797], [187.103271484375, 79.24292755126953], [179.0607147216797, 51.09400939941406], [187.103271484375, 73.21102142333984], [179.0607147216797, 97.33866119384766], [179.0607147216797, 95.3280258178711], [185.09263610839844, 73.21102142333984], [177.05007934570312, 51.09400939941406]], "image": "10_9_00023629.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [179.8328857421875, 127.92002296447754], "scale": 0.8714423179626465, "joints": [[172.207763671875, 212.88565063476562], [178.7435760498047, 175.84934997558594], [183.10079956054688, 127.9200210571289], [183.10079956054688, 130.0986328125], [178.7435760498047, 173.67074584960938], [172.207763671875, 215.0642547607422], [180.9221954345703, 127.9200210571289], [183.10079956054688, 93.06233215332031], [183.10079956054688, 88.70511627197266], [187.4580078125, 73.45487976074219], [180.9221954345703, 40.77579116821289], [185.27940368652344, 66.91905975341797], [178.7435760498047, 93.06233215332031], [180.9221954345703, 93.06233215332031], [185.27940368652344, 64.7404556274414], [180.9221954345703, 40.77579116821289]], "image": "10_9_00023630.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.35126495361328, 121.3667163848877], "scale": 0.8793467521667481, "joints": [[174.5577850341797, 209.3013916015625], [181.15289306640625, 171.9291534423828], [181.15289306640625, 127.9618148803711], [181.15289306640625, 127.9618148803711], [181.15289306640625, 169.7307891845703], [176.75616455078125, 209.3013916015625], [181.15289306640625, 125.7634506225586], [183.35125732421875, 90.5895767211914], [185.54962158203125, 83.99447631835938], [189.9463653564453, 70.80427551269531], [185.54962158203125, 33.43204116821289], [185.54962158203125, 62.01081085205078], [178.95452880859375, 88.3912124633789], [178.95452880859375, 88.3912124633789], [185.54962158203125, 62.01081085205078], [185.54962158203125, 33.43204116821289]], "image": "10_9_00023631.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.98932647705078, 117.69210624694824], "scale": 0.8805938911437988, "joints": [[178.48561096191406, 205.75149536132812], [182.88858032226562, 168.3262481689453], [178.48561096191406, 124.29655456542969], [178.48561096191406, 124.29655456542969], [182.88858032226562, 166.12477111816406], [178.48561096191406, 205.75149536132812], [178.48561096191406, 122.09507751464844], [182.88858032226562, 84.66983032226562], [185.09007263183594, 82.46835327148438], [189.4930419921875, 64.85647583007812], [189.4930419921875, 29.63271713256836], [185.09007263183594, 58.252017974853516], [180.68710327148438, 84.66983032226562], [178.48561096191406, 84.66983032226562], [185.09007263183594, 58.252017974853516], [187.2915496826172, 29.63271713256836]], "image": "10_9_00023632.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.84991455078125, 116.53429126739502], "scale": 0.8739496898651123, "joints": [[179.38772583007812, 203.92926025390625], [183.75747680664062, 166.78640747070312], [177.20285034179688, 123.08892059326172], [177.20285034179688, 123.08892059326172], [183.75747680664062, 164.60153198242188], [179.38772583007812, 203.92926025390625], [177.20285034179688, 120.90404510498047], [183.75747680664062, 83.76117706298828], [185.94235229492188, 79.39143371582031], [192.49697875976562, 64.0973129272461], [192.49697875976562, 29.13932228088379], [188.12722778320312, 55.35781478881836], [179.38772583007812, 83.76117706298828], [179.38772583007812, 83.76117706298828], [185.94235229492188, 55.35781478881836], [190.31210327148438, 29.13932228088379]], "image": "10_9_00023633.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.1444549560547, 118.68010330200195], "scale": 0.8802994918823243, "joints": [[178.45863342285156, 206.71005249023438], [187.37306213378906, 164.3665313720703], [176.2300262451172, 122.02301025390625], [178.45863342285156, 122.02301025390625], [185.1444549560547, 166.5951385498047], [178.45863342285156, 204.4814453125], [176.2300262451172, 122.02301025390625], [182.9158477783203, 84.13670349121094], [187.37306213378906, 79.67948913574219], [194.0588836669922, 64.0792465209961], [191.8302764892578, 30.65015411376953], [187.37306213378906, 57.393428802490234], [180.68724060058594, 81.90809631347656], [180.68724060058594, 84.13670349121094], [187.37306213378906, 57.393428802490234], [189.60166931152344, 30.65015411376953]], "image": "10_9_00023634.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [183.89137268066406, 118.59731674194336], "scale": 0.8548291397094726, "joints": [[179.39227294921875, 204.08023071289062], [188.39047241210938, 165.83787536621094], [174.89317321777344, 125.3459701538086], [174.89317321777344, 125.3459701538086], [188.39047241210938, 163.58831787109375], [179.39227294921875, 204.08023071289062], [177.14273071289062, 123.09642028808594], [183.89137268066406, 87.1036148071289], [186.14093017578125, 80.3549575805664], [192.8895721435547, 66.85765838623047], [188.39047241210938, 33.114402770996094], [186.14093017578125, 57.85945510864258], [181.64183044433594, 82.60450744628906], [179.39227294921875, 84.85405731201172], [186.14093017578125, 60.1090087890625], [186.14093017578125, 33.114402770996094]], "image": "10_9_00023635.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [185.2097625732422, 124.14297866821289], "scale": 0.7982888412475586, "joints": [[176.44805908203125, 203.97186279296875], [190.07737731933594, 168.92503356933594], [180.34214782714844, 126.09002685546875], [180.34214782714844, 126.09002685546875], [188.1303253173828, 166.9779815673828], [176.44805908203125, 203.97186279296875], [178.3950958251953, 124.14297485351562], [184.23623657226562, 87.14910888671875], [186.18328857421875, 81.30796813964844], [193.97146606445312, 67.67864990234375], [182.28919982910156, 46.26114273071289], [182.28919982910156, 63.78455352783203], [180.34214782714844, 85.20205688476562], [180.34214782714844, 85.20205688476562], [184.23623657226562, 63.78455352783203], [182.28919982910156, 44.31409454345703]], "image": "10_9_00023636.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.75017547607422, 133.6584987640381], "scale": 0.739946231842041, "joints": [[176.47314453125, 207.6531219482422], [190.86099243164062, 170.6558074951172], [180.58395385742188, 127.49227905273438], [180.58395385742188, 127.49227905273438], [188.8055877685547, 170.6558074951172], [176.47314453125, 207.6531219482422], [182.6393585205078, 125.43687438964844], [184.6947784423828, 92.55037689208984], [190.86099243164062, 86.3841552734375], [199.08261108398438, 71.9963150024414], [174.41773986816406, 59.663875579833984], [182.6393585205078, 67.885498046875], [180.58395385742188, 88.43955993652344], [184.6947784423828, 90.49496459960938], [186.75018310546875, 65.83009338378906], [178.52854919433594, 61.71928405761719]], "image": "10_9_00023637.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.08148193359375, 141.76897430419922], "scale": 0.7125238800048828, "joints": [[177.28489685058594, 213.0213623046875], [193.11875915527344, 174.3163604736328], [182.56285095214844, 132.0927276611328], [180.80352783203125, 132.0927276611328], [193.11875915527344, 174.3163604736328], [177.28489685058594, 213.0213623046875], [182.56285095214844, 130.33340454101562], [186.08148193359375, 95.14704132080078], [191.35943603515625, 88.1097640991211], [198.39671325683594, 75.79454040527344], [173.76625061035156, 70.51658630371094], [182.56285095214844, 74.03521728515625], [186.08148193359375, 89.86908721923828], [186.08148193359375, 91.62840270996094], [179.04420471191406, 70.51658630371094], [179.04420471191406, 70.51658630371094]], "image": "10_9_00023638.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [184.02781677246094, 146.8719253540039], "scale": 0.6864981842041016, "joints": [[178.16746520996094, 215.52174377441406], [196.58570861816406, 180.35963439941406], [179.84185791015625, 138.49998474121094], [179.84185791015625, 138.49998474121094], [194.9113311767578, 180.35963439941406], [178.16746520996094, 215.52174377441406], [181.5162353515625, 136.8256072998047], [188.21377563476562, 101.66350555419922], [191.5625457763672, 93.29157257080078], [196.58570861816406, 79.89649200439453], [171.4699249267578, 79.89649200439453], [191.5625457763672, 78.22210693359375], [186.53939819335938, 98.31473541259766], [188.21377563476562, 98.31473541259766], [193.2369384765625, 78.22210693359375], [174.81869506835938, 79.89649200439453]], "image": "10_9_00023639.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.4209442138672, 143.82371520996094], "scale": 0.7421125793457031, "joints": [[179.43397521972656, 218.03497314453125], [196.13150024414062, 180.92933654785156], [179.43397521972656, 143.82371520996094], [179.43397521972656, 143.82371520996094], [196.13150024414062, 180.92933654785156], [179.43397521972656, 218.03497314453125], [179.43397521972656, 141.9684295654297], [192.4209442138672, 103.00752258300781], [192.4209442138672, 95.58639526367188], [181.2892608642578, 80.74414825439453], [188.7103729248047, 69.61245727539062], [205.4079132080078, 84.4547119140625], [190.56565856933594, 104.86280822753906], [188.7103729248047, 103.00752258300781], [203.55262756347656, 82.59942626953125], [186.8551025390625, 71.46774291992188]], "image": "10_9_00023640.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.5835418701172, 142.15457153320312], "scale": 0.7520661926269532, "joints": [[182.08587646484375, 217.36119079589844], [192.95912170410156, 177.4926300048828], [173.02484130859375, 141.24847412109375], [173.02484130859375, 141.24847412109375], [192.95912170410156, 177.4926300048828], [182.08587646484375, 217.36119079589844], [174.8370361328125, 139.43626403808594], [192.95912170410156, 108.62873077392578], [194.77133178710938, 101.37989807128906], [194.77133178710938, 88.69445037841797], [220.14224243164062, 66.94795227050781], [212.89340209960938, 90.50665283203125], [191.14691162109375, 105.00431823730469], [191.14691162109375, 105.00431823730469], [212.89340209960938, 90.50665283203125], [220.14224243164062, 66.94795227050781]], "image": "10_9_00023641.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [208.77156829833984, 151.13496017456055], "scale": 0.6328448867797851, "joints": [[186.34161376953125, 214.41944885253906], [183.13734436035156, 172.7638397216797], [168.7180938720703, 132.7103729248047], [170.3202362060547, 132.7103729248047], [183.13734436035156, 171.1616973876953], [184.73948669433594, 214.41944885253906], [171.92236328125, 131.1082305908203], [195.95445251464844, 107.07614135742188], [200.7608642578125, 102.26972198486328], [205.56729125976562, 87.85047149658203], [248.82504272460938, 89.4526138305664], [223.19081115722656, 99.06544494628906], [199.1587371826172, 103.87186431884766], [199.1587371826172, 102.26972198486328], [223.19081115722656, 95.86116790771484], [248.82504272460938, 89.4526138305664]], "image": "10_9_00023642.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [209.97980499267578, 145.21493530273438], "scale": 0.5887728881835937, "joints": [[186.1307830810547, 204.09222412109375], [174.20626831054688, 166.82810974121094], [169.7345733642578, 122.1111831665039], [169.7345733642578, 122.1111831665039], [174.20626831054688, 165.33755493164062], [186.1307830810547, 204.09222412109375], [171.22512817382812, 122.1111831665039], [205.50811767578125, 104.22441101074219], [209.97979736328125, 101.2432861328125], [214.4514923095703, 86.337646484375], [250.22503662109375, 123.60174560546875], [226.37600708007812, 116.14892578125], [208.48924255371094, 104.22441101074219], [208.48924255371094, 102.73384857177734], [226.37600708007812, 114.65836334228516], [250.22503662109375, 122.1111831665039]], "image": "10_9_00023643.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [201.74127197265625, 142.64241409301758], "scale": 0.5094909286499023, "joints": [[174.2012176513672, 193.5915069580078], [176.95523071289062, 153.65843200683594], [170.07022094726562, 113.72535705566406], [170.07022094726562, 113.72535705566406], [178.3322296142578, 153.65843200683594], [174.2012176513672, 193.5915069580078], [171.4472198486328, 112.34835815429688], [207.24928283691406, 108.21734619140625], [214.13429260253906, 105.46334075927734], [226.52731323242188, 91.69332122802734], [233.41232299804688, 148.15042114257812], [215.51129150390625, 127.4953842163086], [210.00328063964844, 109.59435272216797], [210.00328063964844, 108.21734619140625], [219.64230346679688, 124.74137878417969], [233.41232299804688, 146.77342224121094]], "image": "10_9_00023644.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [193.96886444091797, 141.18115615844727], "scale": 0.3613642501831055, "joints": [[159.63925170898438, 177.3175811767578], [180.11656188964844, 144.7947998046875], [172.8892822265625, 105.04473114013672], [172.8892822265625, 105.04473114013672], [180.11656188964844, 144.7947998046875], [158.43470764160156, 176.113037109375], [175.29837036132812, 105.04473114013672], [206.61660766601562, 113.4765625], [216.25299072265625, 115.88565826416016], [229.50302124023438, 111.06746673583984], [201.7984161376953, 149.6129913330078], [200.5938720703125, 130.34022521972656], [210.23025512695312, 115.88565826416016], [211.43479919433594, 114.68111419677734], [205.4120635986328, 130.34022521972656], [201.7984161376953, 148.408447265625]], "image": "10_9_00023645.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [190.98849487304688, 125.58464050292969], "scale": 0.26396621704101564, "joints": [[151.3935546875, 149.25057983398438], [182.34132385253906, 135.59715270996094], [178.70040893554688, 100.09825134277344], [178.70040893554688, 99.18801879882812], [182.34132385253906, 135.59715270996094], [150.48333740234375, 148.34034729003906], [180.52085876464844, 100.09825134277344], [207.8277130126953, 121.03350067138672], [215.1095428466797, 125.58464050292969], [231.49365234375, 129.22555541992188], [180.52085876464844, 151.98126220703125], [185.07200622558594, 135.59715270996094], [206.91748046875, 126.49486541748047], [207.8277130126953, 125.58464050292969], [185.98223876953125, 134.68692016601562], [178.70040893554688, 151.07102966308594]], "image": "10_9_00023646.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [199.55010986328125, 106.99499130249023], "scale": 0.3738283157348633, "joints": [[182.99485778808594, 68.54407501220703], [178.7225341796875, 105.92691040039062], [219.30960083007812, 102.72266387939453], [220.377685546875, 102.72266387939453], [179.7906036376953, 105.92691040039062], [184.06292724609375, 69.6121597290039], [219.30960083007812, 105.92691040039062], [192.60757446289062, 119.81195831298828], [190.47142028808594, 127.28852844238281], [184.06292724609375, 144.37782287597656], [181.92677307128906, 88.83761596679688], [194.74374389648438, 104.85882568359375], [192.60757446289062, 124.08428192138672], [193.6756591796875, 123.01620483398438], [190.47142028808594, 102.72266387939453], [181.92677307128906, 88.83761596679688]], "image": "10_9_00023649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [198.70453643798828, 96.13467788696289], "scale": 0.26559085845947267, "joints": [[222.89227294921875, 70.52413177490234], [189.69342041015625, 89.49490356445312], [223.8408203125, 108.46568298339844], [224.7893524169922, 108.46568298339844], [189.69342041015625, 89.49490356445312], [221.94374084472656, 69.57559204101562], [221.94374084472656, 107.51714324951172], [190.64195251464844, 107.51714324951172], [184.9507293701172, 112.25984191894531], [172.61972045898438, 122.69376373291016], [200.12734985351562, 80.95805358886719], [200.12734985351562, 99.9288330078125], [188.744873046875, 115.10545349121094], [187.7963409423828, 112.25984191894531], [197.28172302246094, 98.03175354003906], [196.33319091796875, 80.95805358886719]], "image": "10_9_00023650.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [222.8773193359375, 90.33525466918945], "scale": 0.24096508026123048, "joints": [[252.2312469482422, 98.65950012207031], [217.18177795410156, 82.01100158691406], [214.55307006835938, 114.4317626953125], [215.42930603027344, 113.55552673339844], [218.05801391601562, 80.25852966308594], [251.35501098632812, 96.90702819824219], [213.6768341064453, 110.92681121826172], [199.65704345703125, 86.3921890258789], [197.90457153320312, 78.50605773925781], [193.5233917236328, 66.2387466430664], [232.0778045654297, 89.89713287353516], [209.295654296875, 97.78326416015625], [194.39962768554688, 88.14466094970703], [199.65704345703125, 83.76347351074219], [210.17189025878906, 90.77336883544922], [228.57286071777344, 80.25852966308594]], "image": "10_9_00023652.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [216.87954711914062, 114.88020324707031], "scale": 0.22223388671875, "joints": [[243.89620971679688, 120.54499053955078], [214.26502990722656, 117.93047332763672], [192.47738647460938, 137.1035919189453], [193.34889221191406, 135.36058044433594], [215.13653564453125, 110.08692169189453], [245.63922119140625, 117.05896759033203], [192.47738647460938, 134.48907470703125], [195.09190368652344, 110.08692169189453], [197.7064208984375, 104.85789489746094], [200.32093811035156, 92.65681457519531], [213.39352416992188, 124.90251159667969], [188.119873046875, 124.031005859375], [191.60589599609375, 106.60089874267578], [194.22039794921875, 106.60089874267578], [192.47738647460938, 118.8019790649414], [213.39352416992188, 124.031005859375]], "image": "10_9_00023670.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [220.40806579589844, 117.75331497192383], "scale": 0.17447185516357422, "joints": [[254.803955078125, 127.22464752197266], [215.92164611816406, 127.22464752197266], [186.01217651367188, 128.2216339111328], [188.00613403320312, 127.22464752197266], [215.92164611816406, 126.22766876220703], [254.803955078125, 126.22766876220703], [188.00613403320312, 127.22464752197266], [201.96388244628906, 110.27594757080078], [205.95181274414062, 106.28802490234375], [217.9156036376953, 100.3061294555664], [205.95181274414062, 135.20050048828125], [192.9910430908203, 123.2367172241211], [200.96690368652344, 107.28500366210938], [202.96087646484375, 107.28500366210938], [197.9759521484375, 120.24577331542969], [206.9488067626953, 135.20050048828125]], "image": "10_9_00023671.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [212.82041931152344, 126.30447387695312], "scale": 0.18578750610351563, "joints": [[242.20077514648438, 144.01910400390625], [210.22802734375, 136.241943359375], [183.4400634765625, 120.6876449584961], [184.30418395996094, 119.82351684570312], [211.0921630859375, 133.64956665039062], [242.20077514648438, 144.01910400390625], [185.16831970214844, 118.95938873291016], [207.63565063476562, 111.18223571777344], [215.4127960205078, 111.18223571777344], [225.78233337402344, 113.77462005615234], [188.6248321533203, 144.8832244873047], [196.4019775390625, 124.14415740966797], [208.49977111816406, 110.31810760498047], [211.0921630859375, 107.72572326660156], [198.13023376464844, 120.6876449584961], [188.6248321533203, 142.2908477783203]], "image": "10_9_00023672.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.5915756225586, 140.3294677734375], "scale": 0.2714323425292969, "joints": [[226.41671752929688, 167.4727020263672], [205.40260314941406, 141.20504760742188], [185.26406860351562, 114.93740844726562], [186.13966369628906, 114.93740844726562], [205.40260314941406, 139.45387268066406], [230.79466247558594, 161.3435821533203], [187.89083862304688, 113.18623352050781], [212.4073028564453, 117.56417083740234], [219.41201782226562, 120.19093322753906], [228.1678924560547, 128.07122802734375], [184.38848876953125, 146.45858764648438], [198.3979034423828, 128.9468231201172], [215.90965270996094, 116.68858337402344], [218.5364227294922, 114.93740844726562], [199.2734832763672, 122.81770324707031], [184.38848876953125, 143.83181762695312]], "image": "10_9_00023673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.52738189697266, 140.84644317626953], "scale": 0.3057520294189453, "joints": [[207.06411743164062, 171.42164611816406], [197.7989044189453, 140.846435546875], [190.38673400878906, 111.19775390625], [191.31326293945312, 111.19775390625], [197.7989044189453, 140.846435546875], [207.9906463623047, 171.42164611816406], [193.1663055419922, 110.271240234375], [214.47628784179688, 126.94862365722656], [221.88845825195312, 130.6547088623047], [231.15367126464844, 138.06687927246094], [183.90109252929688, 151.03817749023438], [196.8723907470703, 135.2873077392578], [215.40281677246094, 126.0220947265625], [218.182373046875, 126.0220947265625], [199.65194702148438, 130.6547088623047], [184.82760620117188, 150.1116485595703]], "image": "10_9_00023674.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [207.16725158691406, 137.2532844543457], "scale": 0.28325878143310546, "joints": [[186.03524780273438, 165.57916259765625], [190.5314178466797, 143.99754333496094], [199.5237579345703, 109.8266372680664], [199.5237579345703, 108.92740631103516], [190.5314178466797, 143.0983123779297], [183.33753967285156, 165.57916259765625], [201.32223510742188, 110.72587585449219], [215.70997619628906, 134.10597229003906], [220.20614624023438, 138.60214233398438], [230.99696350097656, 147.594482421875], [186.93447875976562, 158.38528442382812], [200.42300415039062, 143.99754333496094], [216.60922241210938, 137.70289611816406], [217.50845336914062, 135.0052032470703], [200.42300415039062, 143.0983123779297], [185.13601684570312, 158.38528442382812]], "image": "10_9_00023675.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [196.2740249633789, 140.87899017333984], "scale": 0.2470201873779297, "joints": [[164.08653259277344, 156.5984649658203], [185.04583740234375, 135.63916015625], [207.50221252441406, 116.17697143554688], [207.50221252441406, 116.17697143554688], [185.04583740234375, 135.63916015625], [164.8350830078125, 156.5984649658203], [209.7478485107422, 118.422607421875], [217.9818572998047, 140.1304473876953], [218.73040771484375, 145.37026977539062], [227.7129669189453, 158.09555053710938], [193.2798309326172, 165.5810089111328], [205.25657653808594, 157.3470001220703], [219.4789581298828, 141.62753295898438], [217.23330688476562, 141.62753295898438], [206.005126953125, 155.1013641357422], [193.2798309326172, 164.08392333984375]], "image": "10_9_00023676.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [186.04849243164062, 147.8692398071289], "scale": 0.2392743682861328, "joints": [[147.8566131591797, 140.5069580078125], [178.22605895996094, 129.46351623535156], [212.2766571044922, 123.94180297851562], [212.2766571044922, 123.94180297851562], [178.22605895996094, 127.6229476928711], [147.8566131591797, 140.5069580078125], [214.11721801757812, 127.6229476928711], [216.87808227539062, 150.63009643554688], [218.71865844726562, 155.2315216064453], [224.24037170410156, 164.43438720703125], [203.99407958984375, 171.7966766357422], [210.4360809326172, 166.27496337890625], [218.71865844726562, 155.2315216064453], [217.79837036132812, 152.47067260742188], [211.3563690185547, 160.7532501220703], [203.99407958984375, 171.7966766357422]], "image": "10_9_00023677.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [187.27320098876953, 151.28020095825195], "scale": 0.35276653289794924, "joints": [[150.5468292236328, 116.00354766845703], [181.47430419921875, 122.76893615722656], [211.435302734375, 132.43377685546875], [210.46881103515625, 132.43377685546875], [181.47430419921875, 121.80245208740234], [151.5133056640625, 116.00354766845703], [212.4017791748047, 136.29971313476562], [215.30123901367188, 160.46180725097656], [215.30123901367188, 165.29421997070312], [223.03309631347656, 172.05960083007812], [209.50233459472656, 186.55685424804688], [212.4017791748047, 178.8249969482422], [218.20068359375, 162.39476013183594], [216.26771545410156, 162.39476013183594], [212.4017791748047, 174.9590606689453], [208.5358428955078, 186.55685424804688]], "image": "10_9_00023678.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [188.92965698242188, 151.14922714233398], "scale": 0.5197514724731446, "joints": [[156.69190979003906, 100.48990631103516], [183.00843811035156, 116.27983093261719], [208.00914001464844, 138.6488800048828], [208.00914001464844, 138.6488800048828], [184.3242645263672, 114.96400451660156], [156.69190979003906, 99.17407989501953], [209.32496643066406, 141.28053283691406], [213.27244567871094, 164.9654083251953], [213.27244567871094, 168.9128875732422], [221.1674041748047, 179.4394989013672], [210.6407928466797, 203.12437438964844], [214.58827209472656, 184.7028045654297], [217.2199249267578, 170.2287139892578], [214.58827209472656, 166.28123474121094], [213.27244567871094, 184.7028045654297], [209.32496643066406, 200.4927215576172]], "image": "10_9_00023679.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [192.5094757080078, 151.14965057373047], "scale": 0.6030788421630859, "joints": [[167.93960571289062, 90.84176635742188], [185.80860900878906, 117.64527130126953], [206.65577697753906, 142.95970153808594], [206.65577697753906, 144.4487762451172], [185.80860900878906, 117.64527130126953], [169.42868041992188, 90.84176635742188], [206.65577697753906, 147.42694091796875], [211.12301635742188, 168.27410888671875], [211.12301635742188, 171.25228881835938], [215.59027099609375, 184.65403747558594], [209.63394165039062, 211.45753479003906], [209.63394165039062, 190.61036682128906], [215.59027099609375, 171.25228881835938], [212.6121063232422, 171.25228881835938], [208.1448516845703, 189.1212921142578], [209.63394165039062, 209.9684600830078]], "image": "10_9_00023680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [197.86219024658203, 155.7636260986328], "scale": 0.6066859436035156, "joints": [[182.5030517578125, 95.09503173828125], [191.71853637695312, 125.81330871582031], [204.00584411621094, 153.45974731445312], [202.4699249267578, 153.45974731445312], [191.71853637695312, 125.81330871582031], [184.03897094726562, 95.09503173828125], [204.00584411621094, 154.99566650390625], [207.07766723632812, 174.96253967285156], [207.07766723632812, 178.0343780517578], [211.68540954589844, 190.32168579101562], [204.00584411621094, 216.43222045898438], [205.54176330566406, 194.92942810058594], [210.14950561523438, 181.106201171875], [210.14950561523438, 178.0343780517578], [204.00584411621094, 194.92942810058594], [202.4699249267578, 214.89630126953125]], "image": "10_9_00023681.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [671.5, 315.5], "scale": 0.4799000000000001, "joints": [[790, 296], [711, 318], [664, 340], [672, 310], [718, 298], [779, 284], [665, 323], [609, 324], [585, 323], [557, 318], [643, 330], [635, 364], [591, 348], [595, 317], [559, 286], [537, 299]], "image": "d02570.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [782, 430], "scale": 1.6849, "joints": [[606, 560], [615, 422], [695, 321], [698, 327], [615, 425], [607, 563], [698, 319], [855, 297], [890, 297], [942, 290], [961, 360], [918, 340], [868, 316], [870, 323], [918, 344], [965, 362]], "image": "d02571.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [786, 431], "scale": 1.6849, "joints": [[602, 554], [617, 421], [688, 320], [693, 322], [618, 423], [605, 556], [698, 318], [861, 299], [893, 300], [945, 294], [960, 362], [921, 339], [865, 314], [865, 322], [918, 343], [964, 360]], "image": "d02572.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [766.5, 405.5], "scale": 1.4399000000000002, "joints": [[586, 515], [615, 391], [702, 310], [706, 313], [618, 392.99999999999994], [582, 516], [710, 305], [865, 311], [894, 312], [933, 315], [962, 388], [923, 354], [863, 321], [867, 331], [910, 366], [961, 386]], "image": "d02573.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [746.5, 378], "scale": 1.1749, "joints": [[554, 470], [620, 355], [719, 294], [720, 291], [623, 361], [555, 468], [724, 292], [859, 314], [895, 333], [941, 337], [953, 417.00000000000006], [921, 378], [869, 331], [867, 341], [909, 397.00000000000006], [947, 413]], "image": "d02574.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [745.5, 377.5], "scale": 1.1599000000000002, "joints": [[554, 467], [613, 364], [714, 294], [713, 295], [616, 366], [555, 465], [719, 291], [861, 321], [892, 334], [940, 333], [955, 423], [915, 370.99999999999994], [866, 330], [865, 342], [911, 396.00000000000006], [951, 415.99999999999994]], "image": "d02575.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [717, 372.5], "scale": 1.1099, "joints": [[510, 361], [629, 307], [740, 287], [739, 291], [630, 314], [508, 362], [744, 287], [867, 338], [893, 358], [941, 363], [934, 464.00000000000006], [903, 402], [863, 357], [862, 363], [891, 433], [930, 456]], "image": "d02576.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [727.5, 337.5], "scale": 1.7399, "joints": [[555, 193], [684, 239], [768, 281], [770, 283], [686, 243.00000000000003], [558, 196.99999999999997], [773, 285], [858, 367], [877, 393.99999999999994], [923, 405], [904, 501], [881, 437.99999999999994], [853, 390], [852, 392.99999999999994], [865, 458], [899, 499]], "image": "d02577.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [737.5, 314.5], "scale": 2.0199000000000003, "joints": [[581, 142], [683, 210.00000000000003], [774, 280], [769, 284], [679, 210.00000000000003], [578, 144], [776, 278], [849, 370.99999999999994], [869, 403], [914, 423], [892, 499], [869, 445], [847, 393.99999999999994], [847, 402], [849, 459.99999999999994], [885, 503]], "image": "d02578.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [737.5, 313], "scale": 2.0149, "joints": [[582, 140], [680, 216], [769, 283], [770, 284], [681, 218], [584, 143], [777, 289], [852, 379], [868, 402], [916, 415.99999999999994], [890, 505.99999999999994], [872, 447], [855, 388], [849, 400], [848, 459.99999999999994], [882, 507.00000000000006]], "image": "d02579.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [738, 314], "scale": 2.0449, "joints": [[586, 144], [687, 215], [778, 282], [776, 283], [687, 218.99999999999997], [581, 146], [777, 285], [849, 379], [872, 403], [916, 428], [886, 508.00000000000006], [874, 452], [854, 390], [848, 399], [848, 460.99999999999994], [882, 510]], "image": "d02580.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [770, 290.5], "scale": 2.3899, "joints": [[651, 81], [718, 188], [779, 281], [779, 284], [716, 189], [649, 83], [784, 287], [837, 384], [853, 414.99999999999994], [900, 444], [868, 519], [852, 457], [839, 398], [836, 401], [827, 463.00000000000006], [861, 523]], "image": "d02581.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [786.5, 282], "scale": 2.5149, "joints": [[691, 69], [741, 178], [786, 278], [786, 280], [738, 176], [687, 68], [787, 283], [828, 391.99999999999994], [842, 414.99999999999994], [889, 440.00000000000006], [851, 514], [843, 456], [832, 392.99999999999994], [828, 396.00000000000006], [816, 458.99999999999994], [838, 523]], "image": "d02582.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [801, 279], "scale": 2.5649, "joints": [[730, 64], [756, 163], [787, 277], [786, 281], [755, 163], [730, 65], [791, 285], [823, 403], [833, 419.00000000000006], [872, 447], [836, 504.99999999999994], [832, 452], [824, 399], [818, 404], [804, 460.99999999999994], [822, 520]], "image": "d02583.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [803, 280], "scale": 2.5549, "joints": [[726, 57.99999999999999], [757, 164], [788, 284], [784, 285], [753, 165], [725, 57.99999999999999], [789, 287], [818, 391.99999999999994], [831, 420], [876, 447], [840, 505.99999999999994], [830, 446], [822, 399], [815, 403], [800, 459.99999999999994], [821, 520]], "image": "d02584.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [811, 277.5], "scale": 2.6599, "joints": [[769, 53], [779, 165], [791, 279], [788, 278], [779, 161], [767, 48], [792, 284], [811, 403], [820, 423], [862, 452], [825, 505.99999999999994], [817, 445], [812, 405], [807, 409], [791, 458.99999999999994], [807, 517]], "image": "d02585.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [808, 281.5], "scale": 2.5399000000000003, "joints": [[850, 66], [828, 161], [796, 285], [794, 288], [828, 159], [850, 70], [796, 291], [787, 404], [795, 426], [833, 464.00000000000006], [-1, -1], [-1, -1], [779, 409], [770, 417.00000000000006], [769, 468], [775, 520]], "image": "d02586.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]}, {"center": [570.5, 274], "scale": 0.8049000000000001, "joints": [[590, 218], [550, 282], [622, 297], [622, 295], [552, 279], [598, 226], [614, 297], [546, 323], [534, 329], [514, 331], [560, 256], [560, 301], [542, 330], [547, 318], [563, 287], [558, 252]], "image": "d02587.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 273], "scale": 1.1749, "joints": [[490, 217], [631, 298], [687, 349], [689, 352], [632, 302], [491, 220.00000000000003], [692, 339], [665, 222], [651, 203], [636, 162], [578, 306], [642, 271], [696, 203], [676, 218], [626, 260], [550, 301]], "image": "d02588.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [726.5, 325], "scale": 0.7449000000000001, "joints": [[664, 359], [732, 318], [737, 377], [734, 378], [734, 321], [662, 355], [740, 375], [764, 306], [773, 286], [798, 263], [695, 331], [742, 332], [758, 301], [780, 310], [758, 354], [708, 347]], "image": "d02589.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [606.5, 328], "scale": 1.8349000000000002, "joints": [[632, 489], [685, 408], [642, 340], [642, 344], [683, 409], [630, 488], [644, 339], [601, 252], [590, 233], [575, 193], [520, 159], [559, 195], [587, 261], [591, 246], [558, 189], [529, 154]], "image": "d02590.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [508, 260.5], "scale": 1.0799, "joints": [[496, 178], [514, 266], [529, 341], [533, 340], [518, 264], [498, 176], [522, 340], [483, 296], [477, 281], [469, 254.00000000000003], [539, 255.00000000000003], [500, 240], [465, 283], [488, 284], [506, 264], [537, 265]], "image": "d02591.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516.5, 272], "scale": 1.0449000000000002, "joints": [[559, 195.99999999999997], [534, 280], [507, 362], [506, 359], [536, 280], [557, 195.99999999999997], [503, 352], [493, 291], [497, 277], [498, 247], [556, 281], [524, 252.99999999999997], [480, 275], [504, 278], [529, 281], [559, 283]], "image": "d02592.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [539.5, 373.5], "scale": 1.0899, "joints": [[527, 464.00000000000006], [519, 373.00000000000006], [518, 290], [521, 290], [520, 372.00000000000006], [526, 462.00000000000006], [527, 289], [550, 353], [556, 368.99999999999994], [555, 391.99999999999994], [489, 375], [512, 383], [555, 363], [552, 363], [519, 360], [497, 365]], "image": "d02593.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [581.5, 298], "scale": 0.9949000000000001, "joints": [[635, 227], [617, 301], [602, 385], [604, 382], [629, 303], [653, 227], [598, 381], [541, 360], [529, 354], [516, 324], [538, 312], [526, 338], [518, 361], [537, 350], [551, 333], [581, 305]], "image": "d02594.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [550, 243.5], "scale": 0.5899000000000001, "joints": [[632, 289], [554, 280], [463, 267], [462, 267], [557, 281], [634, 289], [461, 258], [525, 225], [540, 213], [565, 195], [546, 294], [539, 263], [537, 228], [545, 234], [550, 262], [548, 294]], "image": "d02595.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [869.5, 333.5], "scale": 1.5499, "joints": [[993, 203], [889, 251], [802, 302], [794, 303], [888, 255.00000000000003], [993, 206], [794, 311], [752, 401], [750, 427], [741, 475], [792, 368], [769, 383], [745, 414.99999999999994], [725, 405], [771, 435], [781, 460.99999999999994]], "image": "d02596.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [871, 375], "scale": 1.1149, "joints": [[1013, 280], [901, 295], [796, 317], [786, 316], [902, 299], [1010, 281], [790, 323], [745, 413.99999999999994], [744, 424], [732, 472], [809, 349], [773, 358], [768, 400], [712, 405], [752, 397.00000000000006], [798, 426]], "image": "d02597.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [858.5, 381], "scale": 1.0249000000000001, "joints": [[1007, 357], [880, 336], [785, 317], [780, 315], [881, 337], [1007, 358], [778, 321], [728, 407], [723, 419.00000000000006], [714, 464.00000000000006], [820, 346], [774, 357], [741, 397.00000000000006], [701, 404], [748, 386], [815, 405]], "image": "d02598.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [852, 379.5], "scale": 0.9499000000000001, "joints": [[999, 396.00000000000006], [879, 351], [788, 311], [785, 311], [880, 356], [997, 406], [783, 322], [726, 402], [724, 413.99999999999994], [701, 465], [824, 346], [759, 358], [741, 400], [706, 397.00000000000006], [765, 391.99999999999994], [821, 403]], "image": "d02599.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [826, 396.5], "scale": 1.0699, "joints": [[955, 468], [871, 391.99999999999994], [793, 312], [790, 317], [873, 398], [955, 475], [786, 321], [720, 395.00000000000006], [716, 408], [688, 450], [867, 362], [798, 361], [731, 380], [709, 389], [772, 387], [841, 407]], "image": "d02600.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [826, 397], "scale": 1.0349000000000002, "joints": [[959, 471], [872, 392.99999999999994], [793, 320], [790, 324], [873, 396.00000000000006], [959, 473], [784, 326], [716, 398], [712, 407], [683, 443], [867, 359], [795, 361], [733, 382], [703, 390], [774, 385], [843, 403]], "image": "d02601.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [805, 414.5], "scale": 1.1899000000000002, "joints": [[932, 503], [854, 401], [799, 314], [796, 315], [854, 401], [931, 507.00000000000006], [785, 321], [717, 384], [705, 405], [672, 435], [865, 378], [788, 362], [715, 378], [707, 384], [777, 384], [845, 410]], "image": "d02602.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [786, 430], "scale": 1.3149000000000002, "joints": [[893, 528], [852, 443], [802, 321], [800, 321], [850, 444], [892, 530], [793, 323], [709, 387], [700, 397.00000000000006], [667, 426], [860, 397.00000000000006], [785, 364], [719, 368.99999999999994], [707, 376], [782, 390], [845, 420]], "image": "d02603.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [767.5, 436], "scale": 1.3749, "joints": [[853, 560], [828, 438.99999999999994], [808, 324], [802, 327], [831, 442.00000000000006], [857, 560], [794, 326], [715, 382], [701, 391.99999999999994], [657, 413.99999999999994], [859, 421], [788, 374.00000000000006], [717, 368.99999999999994], [711, 372.00000000000006], [782, 395.00000000000006], [848, 441.00000000000006]], "image": "d02604.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [749.5, 442.5], "scale": 1.4499000000000002, "joints": [[827, 569], [810, 451], [811, 330], [809, 334], [809, 449], [825, 567], [803, 333], [715, 379], [700, 386], [657, 404], [841, 436], [779, 383], [712, 364], [710, 368.99999999999994], [773, 397.00000000000006], [839, 452]], "image": "d02605.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [746, 444], "scale": 1.5049000000000001, "joints": [[782, 566], [789, 451], [811, 340], [814, 340], [789, 453], [781, 568], [806, 338], [716, 368.99999999999994], [703, 375], [654, 390], [827, 473], [771, 387], [719, 362], [720, 363], [771, 403], [822, 465]], "image": "d02606.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [746, 437.5], "scale": 1.3899000000000001, "joints": [[698, 559], [751, 451], [820, 361], [820, 364], [751, 451], [700, 559], [816, 355], [712, 356], [701, 358], [651, 364], [773, 481.99999999999994], [761, 395.00000000000006], [714, 345], [724, 348], [761, 407], [777, 486.00000000000006]], "image": "d02607.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [742, 429], "scale": 1.3449, "joints": [[659, 542], [734, 441.00000000000006], [814, 370.99999999999994], [819, 372.00000000000006], [736, 445], [662, 546], [810, 364], [715, 350], [700, 353], [655, 353], [742, 473], [754, 397.00000000000006], [720, 344], [727, 346], [754, 414.99999999999994], [754, 472]], "image": "d02608.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [742.5, 427], "scale": 1.3249000000000002, "joints": [[663, 543], [738, 436], [814, 369.99999999999994], [820, 369.99999999999994], [740, 436], [660, 544], [811, 367], [719, 354], [699, 355], [650, 352], [745, 469], [751, 403], [722, 345], [730, 349], [756, 419.00000000000006], [755, 466]], "image": "d02609.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [723, 417], "scale": 1.2049, "joints": [[632, 518], [720, 429], [816, 380], [814, 381], [721, 436], [634, 521], [810, 376], [716, 345], [701, 344], [657, 337], [704, 473], [735, 409], [726, 342], [729, 346], [741, 420], [710, 473]], "image": "d02610.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [709, 399], "scale": 0.9949000000000001, "joints": [[606, 490], [710, 419.00000000000006], [806, 392.99999999999994], [811, 395.00000000000006], [712, 422], [606, 488], [806, 387], [726, 341], [711, 337], [669, 317], [683, 451], [721, 404], [723, 337], [730, 345], [729, 418.00000000000006], [693, 462.00000000000006]], "image": "d02611.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [698, 377], "scale": 0.8949000000000001, "joints": [[587, 449], [688, 413], [799, 403], [804, 406], [691, 413.99999999999994], [592, 452], [802, 392.99999999999994], [734, 347], [715, 333], [673, 307], [668, 415.99999999999994], [713, 392.99999999999994], [725, 330], [731, 334], [720, 412], [671, 442.00000000000006]], "image": "d02612.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [690, 363], "scale": 0.8349000000000001, "joints": [[577, 418.00000000000006], [689, 396.00000000000006], [788, 410], [791, 411], [690, 399], [577, 420], [790, 402], [731, 339], [720, 327], [682, 293], [654, 405], [711, 388], [734, 319], [737, 331], [712, 404], [658, 428]], "image": "d02613.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [686.5, 358.5], "scale": 0.8999000000000001, "joints": [[562, 379], [682, 380], [775, 410], [780, 418.00000000000006], [682, 382], [563, 381], [782, 407], [738, 334], [723, 320], [699, 281], [654, 385], [708, 373.00000000000006], [734, 320], [736, 325], [702, 392.99999999999994], [644, 408]], "image": "d02614.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [676, 356], "scale": 0.9649000000000001, "joints": [[565, 342], [682, 367], [761, 414.99999999999994], [766, 422], [684, 374.00000000000006], [567, 347], [770, 413], [741, 333], [733, 313], [718, 277], [647, 359], [708, 375], [746, 322], [740, 329], [699, 388], [641, 391]], "image": "d02615.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [676.5, 352], "scale": 0.9849000000000001, "joints": [[564, 304], [675, 352], [747, 405], [752, 419.00000000000006], [673, 356], [566, 304], [756, 417.00000000000006], [740, 328], [738, 313], [733, 270], [651, 353], [702, 362], [749, 320], [743, 326], [695, 369.99999999999994], [645, 365]], "image": "d02616.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [677.5, 358.5], "scale": 1.0099, "joints": [[569, 305], [678, 356], [745, 409], [751, 421], [674, 358], [567, 305], [753, 413.99999999999994], [744, 329], [737, 310], [729, 267], [654, 357], [705, 360], [739, 319], [739, 326], [696, 374.00000000000006], [651, 366]], "image": "d02617.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [684, 352], "scale": 1.0649000000000002, "joints": [[582, 272], [678, 338], [737, 411], [737, 420], [675, 339], [579, 273], [741, 419.00000000000006], [744, 335], [742, 317], [743, 266], [639, 334], [701, 359], [753, 324], [748, 324], [686, 366], [632, 344]], "image": "d02618.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [687.5, 334], "scale": 1.2049, "joints": [[594, 235], [682, 328], [715, 418.00000000000006], [715, 420], [680, 328], [591, 235], [719, 417.00000000000006], [744, 336], [747, 313], [757, 267], [647, 312], [696, 355], [751, 329], [753, 325], [689, 356], [637, 325]], "image": "d02619.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [697.5, 314.5], "scale": 1.3299, "joints": [[619, 207.99999999999997], [684, 312], [702, 417.00000000000006], [703, 418.00000000000006], [681, 314], [615, 209.00000000000003], [707, 414.99999999999994], [742, 336], [745, 313], [766, 277], [646, 294], [696, 339], [750, 328], [756, 327], [687, 345], [644, 308]], "image": "d02620.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [714, 307], "scale": 1.4249, "joints": [[649, 192], [686, 301], [685, 409], [687, 410], [685, 300], [645, 191], [693, 410], [738, 342], [747, 322], [772, 285], [657, 287], [689, 341], [753, 333], [754, 336], [685, 336], [651, 292]], "image": "d02621.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [710.5, 289], "scale": 1.3849, "joints": [[675, 191], [693, 296], [663, 399], [665, 402], [689, 294], [670, 187.00000000000003], [671, 404], [735, 340], [747, 326], [779, 295], [667, 272], [697, 328], [749, 336], [754, 341], [689, 331], [661, 275]], "image": "d02622.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [696.5, 293], "scale": 1.2449000000000001, "joints": [[768, 195], [703, 299], [633, 365], [631, 366], [704, 302], [770, 195], [638, 368.99999999999994], [721, 352], [742, 343], [788, 334], [704, 252], [701, 312], [734, 351], [736, 357], [693, 318], [700, 251]], "image": "d02623.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [706.5, 296.5], "scale": 1.1299000000000001, "joints": [[790, 207], [711, 294], [625, 345], [622, 347], [713, 297], [795, 210.00000000000003], [628, 353], [714, 353], [735, 348], [779, 351], [724, 252.99999999999997], [703, 317], [733, 365], [730, 365], [692, 312], [718, 251]], "image": "d02624.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [715.5, 309.5], "scale": 0.9299000000000001, "joints": [[808, 233], [714, 301], [613, 331], [615, 335], [716, 305], [811, 234], [616, 341], [716, 354], [732, 359], [768, 368.99999999999994], [729, 264], [698, 317], [719, 366], [717, 368], [693, 312], [726, 262]], "image": "d02625.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [715.5, 308.5], "scale": 0.9599000000000001, "joints": [[810, 237], [711, 299], [613, 331], [616, 332], [717, 303], [810, 234], [614, 337], [713, 354], [730, 355], [767, 365], [732, 266], [704, 317], [721, 344], [717, 356], [699, 310], [725, 259]], "image": "d02626.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [723, 331.5], "scale": 0.7599000000000001, "joints": [[830, 293], [713, 314], [611, 300], [608, 298], [712, 316], [831, 294], [610, 306], [686, 357], [703, 367], [744, 401], [749, 292], [704, 329], [702, 360], [696, 360], [699, 313], [744, 281]], "image": "d02627.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [716.5, 325], "scale": 0.9549000000000001, "joints": [[823, 351], [709, 309], [626, 262], [627, 266], [707, 309], [824, 353], [623, 274], [681, 351], [686, 366], [693, 413.99999999999994], [762, 319], [685, 313], [676, 361], [664, 362], [693, 320], [754, 312]], "image": "d02628.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [713.5, 319], "scale": 0.9949000000000001, "joints": [[823, 392.99999999999994], [709, 327], [634, 252.99999999999997], [632, 255.00000000000003], [707, 331], [820, 392.99999999999994], [628, 260], [668, 358], [673, 373.00000000000006], [669, 417.00000000000006], [754, 331], [684, 318], [660, 361], [652, 361], [689, 322], [748, 325]], "image": "d02629.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [706, 321], "scale": 0.9849000000000001, "joints": [[810, 391], [704, 326], [632, 247], [632, 248], [702, 330], [809, 390], [629, 255.00000000000003], [666, 356], [667, 373.00000000000006], [664, 417.00000000000006], [755, 334], [687, 332], [667, 362], [655, 365], [692, 319], [753, 330]], "image": "d02630.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [683, 334], "scale": 1.2149, "joints": [[764, 437.99999999999994], [698, 345], [657, 240], [658, 241.99999999999997], [696, 345], [761, 435], [650, 244], [640, 354], [639, 369.99999999999994], [613, 401], [736, 360], [676, 316], [631, 343], [631, 348], [681, 320], [735, 353]], "image": "d02631.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [641.5, 351.5], "scale": 1.3599, "joints": [[690, 462.00000000000006], [682, 349], [690, 236], [687, 238], [679, 350], [686, 462.00000000000006], [682, 237], [624, 329], [616, 341], [566, 367], [706, 376], [670, 319], [614, 322], [614, 328], [682, 328], [705, 374.00000000000006]], "image": "d02632.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [638, 348.5], "scale": 1.3499, "joints": [[656, 460.99999999999994], [669, 348], [694, 241.99999999999997], [694, 243.00000000000003], [672, 349], [651, 464.00000000000006], [686, 241.99999999999997], [622, 315], [608, 329], [555, 343], [691, 382], [670, 320], [611, 308], [614, 313], [673, 328], [690, 370.99999999999994]], "image": "d02633.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [640.5, 348.5], "scale": 1.3299, "joints": [[652, 465], [668, 345], [693, 245], [692, 244], [670, 346], [655, 467], [690, 241.99999999999997], [624, 306], [606, 328], [553, 344], [690, 386], [670, 315], [610, 309], [610, 312], [676, 332], [689, 384]], "image": "d02634.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [636, 338], "scale": 1.2549000000000001, "joints": [[594, 434], [645, 343], [705, 263], [708, 264], [647, 343], [591, 434], [697, 258], [615, 283], [588, 288], [538, 289], [645, 372.00000000000006], [651, 299], [602, 276], [604, 284], [661, 331], [653, 386]], "image": "d02635.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629.5, 329.5], "scale": 1.2499, "joints": [[566, 430], [640, 338], [705, 269], [711, 272], [642, 338], [563, 433], [702, 265], [617, 265], [590, 275], [537, 256], [632, 352], [649, 296], [599, 254.00000000000003], [609, 263], [651, 323], [639, 380]], "image": "d02636.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625.5, 322], "scale": 1.1449, "joints": [[537, 418.00000000000006], [634, 338], [708, 279], [711, 279], [637, 339], [537, 420], [704, 274], [620, 256], [596, 256], [549, 232.00000000000003], [626, 360], [645, 297], [613, 250], [614, 260], [645, 313], [626, 368.99999999999994]], "image": "d02637.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612.5, 306], "scale": 1.1349, "joints": [[520, 399], [617, 337], [705, 289], [707, 291], [615, 338], [518, 400], [704, 284], [627, 239], [601, 229.99999999999997], [561, 203], [604, 335], [641, 280], [621, 209.00000000000003], [621, 230.99999999999997], [642, 308], [609, 355]], "image": "d02638.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612, 305.5], "scale": 1.1199000000000001, "joints": [[528, 392.99999999999994], [621, 336], [703, 287], [705, 288], [620, 340], [530, 395.00000000000006], [704, 284], [624, 240], [597, 230.99999999999997], [560, 206], [607, 338], [642, 282], [618, 220.00000000000003], [623, 230.99999999999997], [641, 306], [617, 361]], "image": "d02639.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603, 287], "scale": 1.1849, "joints": [[505, 388], [622, 338], [693, 299], [699, 300], [620, 343], [506, 391], [698, 295], [628, 223], [612, 218], [573, 180], [574, 321], [627, 283], [631, 214], [636, 224], [642, 300], [600, 348]], "image": "d02640.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 273.5], "scale": 1.1899000000000002, "joints": [[489, 381], [606, 343], [684, 302], [697, 309], [606, 340], [488, 380], [690, 301], [646, 223], [627, 205], [600, 160], [563, 281], [626, 267], [645, 203], [647, 214], [641, 282], [578, 312]], "image": "d02641.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619, 425.5], "scale": 2.3399, "joints": [[660, 640], [641, 545], [623, 455], [622, 456], [640, 547], [659, 642], [623, 453], [605, 342], [601, 320], [600, 274], [626, 214], [626, 276], [628, 317], [627, 330], [611, 309], [593, 276]], "image": "d02642.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 422.5], "scale": 2.3499, "joints": [[655, 640], [637, 537], [623, 452], [622, 455], [634, 537], [656, 641], [621, 450], [608, 337], [603, 316], [594, 273], [626, 218.99999999999997], [627, 276], [627, 311], [625, 325], [607, 302], [591, 271]], "image": "d02643.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619.5, 412.5], "scale": 2.3799, "joints": [[657, 636], [639, 539], [623, 445], [622, 449], [639, 539], [654, 636], [620, 440.00000000000006], [608, 324], [601, 306], [589, 264], [630, 207], [630, 258], [627, 304], [625, 318], [610, 291], [598, 255.00000000000003]], "image": "d02644.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621, 399], "scale": 2.4549000000000003, "joints": [[654, 625], [637, 525], [622, 440.00000000000006], [621, 442.00000000000006], [635, 528], [655, 628], [621, 435], [607, 311], [598, 295], [587, 262], [630, 192], [629, 252], [629, 298], [624, 315], [609, 275], [603, 220.00000000000003]], "image": "d02645.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619.5, 386.5], "scale": 2.4799, "joints": [[650, 619], [638, 505.99999999999994], [625, 426], [625, 426], [636, 508.00000000000006], [650, 619], [624, 423], [608, 309], [600, 287], [589, 252.99999999999997], [630, 174], [628, 238], [627, 292], [625, 301], [611, 252.99999999999997], [604, 192]], "image": "d02646.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618.5, 377], "scale": 2.5049, "joints": [[653, 603], [637, 488], [626, 412], [625, 414.99999999999994], [637, 490], [653, 604], [623, 407], [607, 291], [602, 274], [591, 237], [631, 154], [630, 225], [629, 280], [628, 283], [611, 229], [605, 164]], "image": "d02647.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616.5, 362], "scale": 2.5449, "joints": [[647, 593], [636, 482.99999999999994], [623, 399], [624, 401], [633, 481], [645, 595], [621, 395.00000000000006], [606, 270], [600, 255.00000000000003], [594, 218.99999999999997], [631, 139], [628, 206], [628, 247], [627, 256], [613, 207.99999999999997], [609, 143]], "image": "d02648.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 339.5], "scale": 2.5799000000000003, "joints": [[639, 567], [632, 453], [626, 368], [624, 372.00000000000006], [632, 455], [639, 568], [626, 370.99999999999994], [607, 241.99999999999997], [603, 229.99999999999997], [590, 192], [624, 100], [629, 175], [630, 226], [630, 232.00000000000003], [613, 177], [610, 109]], "image": "d02649.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619, 314.5], "scale": 2.6199, "joints": [[636, 541], [632, 432], [631, 345], [632, 348], [629, 432], [631, 543], [631, 348], [607, 220.00000000000003], [601, 213], [587, 176], [619, 81], [626, 155], [633, 206], [632, 213], [614, 160], [605, 87]], "image": "d02650.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618, 306], "scale": 2.5849, "joints": [[632, 536], [627, 428], [630, 338], [633, 340], [625, 428], [629, 541], [633, 338], [608, 218.99999999999997], [603, 213], [590, 171], [611, 74], [622, 148], [635, 199], [632, 206], [610, 154], [603, 89]], "image": "d02651.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [617.5, 309], "scale": 2.5549, "joints": [[631, 537], [625, 423], [640, 339], [641, 339], [624, 427], [630, 542], [641, 338], [615, 221.00000000000003], [603, 209.00000000000003], [585, 176], [609, 77], [621, 143], [631, 198.00000000000003], [629, 211], [607, 162], [598, 100]], "image": "d02652.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 334.5], "scale": 2.3399, "joints": [[636, 550], [614, 447], [641, 356], [643, 357], [614, 448], [635, 549], [643, 357], [610, 243.00000000000003], [600, 233], [582, 198.00000000000003], [620, 112], [624, 177], [629, 236], [629, 240], [611, 192], [604, 134]], "image": "d02653.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618, 339], "scale": 2.2949, "joints": [[633, 550], [606, 450], [648, 369.99999999999994], [649, 369.99999999999994], [606, 449], [634, 553], [648, 367], [603, 258], [595, 246], [574, 209.00000000000003], [633, 122.00000000000001], [627, 194], [622, 243.00000000000003], [623, 248], [616, 207.99999999999997], [612, 163]], "image": "d02654.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [616.5, 357], "scale": 2.0549, "joints": [[639, 544], [603, 458.99999999999994], [652, 384], [655, 384], [597, 460.99999999999994], [638, 546], [651, 379], [601, 275], [588, 263], [568, 232.00000000000003], [658, 159], [639, 211], [610, 260], [611, 269], [627, 240.99999999999997], [634, 207]], "image": "d02655.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614, 356.5], "scale": 2.0899, "joints": [[636, 545], [600, 454], [650, 382], [653, 383], [598, 458], [634, 546], [649, 378], [595, 270], [585, 261], [564, 232.00000000000003], [656, 164], [630, 221.00000000000003], [605, 260], [609, 268], [625, 244], [637, 207]], "image": "d02656.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [619.5, 390.5], "scale": 1.6599000000000002, "joints": [[637, 543], [597, 454], [653, 389], [657, 391.99999999999994], [596, 456], [638, 544], [656, 391], [595, 301], [580, 288], [555, 259], [676, 237], [633, 269], [604, 289], [603, 294], [638, 276], [665, 257]], "image": "d02657.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [624.5, 418], "scale": 1.3849, "joints": [[641, 542], [589, 448], [649, 410], [655, 412], [587, 454], [635, 544], [653, 405], [580, 326], [562, 314], [556, 285], [687, 299], [632, 316], [596, 319], [595, 334], [645, 325], [687, 309]], "image": "d02658.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 429], "scale": 1.2949000000000002, "joints": [[630, 539], [587, 449], [650, 422], [655, 429], [584, 454], [630, 543], [649, 418.00000000000006], [581, 359], [563, 339], [557, 308], [667, 401], [627, 378], [589, 349], [599, 376], [634, 398], [688, 427]], "image": "d02659.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [611, 436.5], "scale": 1.3199, "joints": [[631, 555], [586, 459.99999999999994], [658, 429], [664, 429], [584, 467], [630, 557], [660, 430], [581, 374.00000000000006], [562, 359], [555, 319], [647, 468], [611, 415.99999999999994], [586, 362], [592, 383], [614, 436.99999999999994], [648, 491]], "image": "d02660.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [608.5, 437.5], "scale": 1.2899, "joints": [[630, 548], [583, 464.00000000000006], [655, 434], [662, 435], [582, 467], [632, 552], [660, 431], [585, 373.00000000000006], [562, 354], [558, 317], [646, 472], [611, 419.00000000000006], [588, 369.99999999999994], [588, 380], [609, 431], [642, 478]], "image": "d02661.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610, 449.5], "scale": 1.3799000000000001, "joints": [[626, 572], [593, 473], [656, 434], [661, 434], [590, 477], [623, 574], [660, 429], [580, 376], [560, 352], [553, 315], [557, 492], [578, 436.99999999999994], [584, 368.99999999999994], [585, 386], [576, 441.00000000000006], [557, 491]], "image": "d02662.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [578.5, 455.5], "scale": 1.4899, "joints": [[614, 587], [589, 487.00000000000006], [657, 432], [662, 433], [585, 490], [617, 588], [654, 426], [578, 368.99999999999994], [563, 350], [559, 308], [482, 448], [541, 409], [577, 363], [575, 376], [538, 413.99999999999994], [482, 452]], "image": "d02663.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 451], "scale": 1.5849000000000002, "joints": [[604, 584], [590, 492], [655, 440.00000000000006], [656, 441.00000000000006], [588, 493], [607, 590], [652, 433], [579, 356], [569, 343], [571, 297], [463, 339], [520, 355], [583, 350], [580, 358], [521, 363], [467, 349]], "image": "d02664.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 421.5], "scale": 1.8699000000000001, "joints": [[601, 593], [581, 494], [645, 432], [647, 436], [580, 496], [600, 597], [644, 429], [583, 338], [573, 320], [574, 287], [486, 258], [536, 298], [589, 330], [590, 336], [530, 311], [485, 262]], "image": "d02665.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [598, 389.5], "scale": 2.1499, "joints": [[601, 588], [583, 494], [636, 421], [639, 424], [578, 496], [597, 592], [637, 417.00000000000006], [595, 320], [591, 301], [600, 264], [545, 201], [566, 277], [603, 312], [604, 314], [562, 280], [538, 210.00000000000003]], "image": "d02666.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 392.5], "scale": 2.1099, "joints": [[601, 592], [584, 495], [638, 420], [641, 420], [584, 497], [602, 593], [638, 417.00000000000006], [597, 316], [591, 294], [596, 257], [545, 198.00000000000003], [562, 263], [602, 312], [606, 313], [558, 268], [539, 200]], "image": "d02667.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [612.5, 378.5], "scale": 2.2499000000000002, "joints": [[606, 594], [591, 485.00000000000006], [630, 396.00000000000006], [630, 396.00000000000006], [591, 488], [603, 595], [630, 395.00000000000006], [611, 290], [612, 270], [631, 237], [595, 173], [604, 232.00000000000003], [623, 291], [622, 296], [599, 237], [591, 176]], "image": "d02668.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [638, 366], "scale": 2.2549, "joints": [[607, 575], [601, 474], [623, 381], [624, 381], [603, 475], [606, 575], [623, 377], [630, 268], [634, 252], [660, 218], [654, 155], [648, 202], [641, 262], [642, 269], [640, 207], [656, 156]], "image": "d02669.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [666.5, 349], "scale": 2.1349, "joints": [[605, 550], [606, 435], [615, 352], [615, 353], [607, 437.99999999999994], [610, 550], [617, 351], [656, 241.99999999999997], [669, 222], [699, 207.99999999999997], [740, 148], [696, 175], [670, 238], [668, 247], [673, 195], [708, 178]], "image": "d02670.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [696, 342.5], "scale": 1.8899000000000001, "joints": [[613, 508.00000000000006], [602, 410], [615, 316], [616, 319], [603, 412], [615, 512], [616, 314], [688, 207.99999999999997], [703, 198.00000000000003], [747, 193], [788, 165], [742, 177], [691, 222], [691, 227], [739, 189], [781, 168]], "image": "d02671.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590, 300], "scale": 0.8249000000000001, "joints": [[566, 376], [576, 313], [566, 235], [568, 235], [575, 314], [569, 377], [574, 235], [600, 293], [606, 314], [630, 342], [559, 323], [555, 299], [602, 302], [602, 310], [567, 336], [560, 327]], "image": "d02672.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [711.5, 332], "scale": 1.6449, "joints": [[606, 471], [596, 379], [618, 280], [621, 283], [594, 378], [603, 472], [617, 282], [723, 205], [747, 196.99999999999997], [776, 189], [833, 207.99999999999997], [774, 206], [734, 213], [738, 214], [775, 203], [832, 207]], "image": "d02673.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [711, 317.5], "scale": 1.3499, "joints": [[589, 434], [583, 337], [623, 250], [626, 252.99999999999997], [583, 338], [589, 438.99999999999994], [625, 249], [752, 212], [775, 212], [808, 204], [842, 246], [798, 233], [756, 220.00000000000003], [756, 224], [799, 234], [841, 241.99999999999997]], "image": "d02674.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [706.5, 302.5], "scale": 1.0699, "joints": [[559, 403], [579, 296], [650, 228], [649, 229], [581, 296], [557, 404], [653, 227], [769, 228], [795, 236], [828, 234], [843, 285], [805, 264], [777, 244], [776, 251], [805, 278], [844, 286]], "image": "d02675.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [687.5, 283], "scale": 0.7949, "joints": [[528, 347], [589, 268], [667, 224], [669, 228], [588, 271], [525, 348], [668, 223], [779, 249], [800, 262], [840, 269], [856, 342], [828, 297], [790, 259], [785, 269], [813, 318], [850, 332]], "image": "d02676.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [681, 309.5], "scale": 0.9699000000000001, "joints": [[514, 291], [605, 244], [690, 229], [690, 232.00000000000003], [605, 246], [511, 292], [692, 230.99999999999997], [800, 280], [816, 298], [852, 298], [854, 389], [835, 333], [798, 288], [794, 294], [812, 358], [850, 372.00000000000006]], "image": "d02677.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [677.5, 324], "scale": 1.1849, "joints": [[519, 220.00000000000003], [636, 227], [717, 240.99999999999997], [718, 243.00000000000003], [637, 227], [517, 225], [724, 249], [802, 307], [817, 328], [863, 337], [845, 428], [835, 368], [803, 321], [800, 327], [809, 390], [854, 422]], "image": "d02678.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [697.5, 304], "scale": 1.5949, "joints": [[557, 167], [656, 216], [734, 260], [731, 264], [655, 218.99999999999997], [556, 171], [737, 262], [800, 333], [820, 361], [863, 369.99999999999994], [842, 453], [827, 396.00000000000006], [802, 343], [799, 351], [793, 415.99999999999994], [835, 435]], "image": "d02679.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [722.5, 300], "scale": 1.9449, "joints": [[609, 137], [684, 212], [735, 277], [737, 280], [680, 211], [607, 139], [741, 285], [797, 366], [808, 383], [850, 406], [826, 478], [815, 426], [797, 377], [793, 385], [783, 437.99999999999994], [819, 474]], "image": "d02680.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [750, 297], "scale": 2.2449, "joints": [[671, 109], [720, 212], [751, 291], [748, 293], [720, 209.00000000000003], [668, 109.99999999999999], [751, 295], [787, 393.99999999999994], [798, 413], [839, 436], [805, 508.00000000000006], [809, 462.00000000000006], [792, 399], [783, 408], [767, 457], [800, 505.99999999999994]], "image": "d02681.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [712, 332], "scale": 1.6149, "joints": [[603, 470], [596, 370.99999999999994], [620, 287], [620, 288], [595, 375], [603, 469], [620, 288], [721, 203], [747, 194], [771, 183], [839, 211], [785, 205], [738, 207.99999999999997], [737, 213], [786, 202], [835, 207.99999999999997]], "image": "d02682.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [816.5, 328], "scale": 1.8749, "joints": [[889, 173], [828, 256], [780, 325], [765, 326], [819, 254.00000000000003], [885, 169], [769, 334], [748, 413], [744, 427], [760, 480], [776, 467], [775, 432], [758, 401], [718, 423], [737, 482.99999999999994], [736, 513]], "image": "d02683.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [844.5, 368.5], "scale": 0.8999000000000001, "joints": [[973, 319], [857, 319], [771, 305], [770, 309], [859, 319], [975, 330], [764, 316], [726, 391], [721, 406], [713, 447], [810, 340], [759, 354], [731, 382], [709, 390], [718, 364], [785, 392.99999999999994]], "image": "d02684.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [826.5, 365.5], "scale": 0.8999000000000001, "joints": [[959, 414.99999999999994], [864, 355], [784, 298], [782, 303], [865, 359], [953, 433], [776, 305], [716, 368.99999999999994], [713, 382], [697, 421], [846, 322], [779, 341], [745, 357], [707, 366], [766, 362], [817, 373.00000000000006]], "image": "d02685.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [781, 394], "scale": 1.1749, "joints": [[882, 488], [836, 400], [798, 299], [796, 301], [836, 405], [880, 494], [792, 301], [723, 346], [707, 363], [677, 391.99999999999994], [852, 392.99999999999994], [787, 347], [729, 340], [732, 344], [788, 359], [842, 392.99999999999994]], "image": "d02686.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [757, 394.5], "scale": 1.1299000000000001, "joints": [[695, 483.99999999999994], [756, 411], [823, 349], [825, 352], [756, 409], [696, 486.00000000000006], [822, 347], [741, 330], [724, 330], [688, 326], [745, 440.00000000000006], [768, 373.00000000000006], [745, 326], [750, 330], [763, 382], [750, 444]], "image": "d02687.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [718.5, 361.5], "scale": 0.8799000000000001, "joints": [[612, 345], [722, 370.99999999999994], [788, 413.99999999999994], [792, 420], [722, 375], [612, 348], [796, 417.00000000000006], [771, 349], [766, 325], [757, 284], [708, 356], [762, 390], [785, 328], [781, 339], [734, 387], [670, 369.99999999999994]], "image": "d02688.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [731, 346.5], "scale": 1.1199000000000001, "joints": [[660, 261], [725, 346], [754, 430], [754, 433], [723, 344], [657, 262], [760, 429], [781, 362], [784, 339], [802, 307], [711, 329], [741, 372.00000000000006], [786, 350], [787, 354], [723, 374.00000000000006], [686, 323]], "image": "d02689.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [754.5, 330.5], "scale": 1.1799000000000002, "joints": [[732, 229.99999999999997], [744, 328], [716, 421], [714, 426], [745, 323], [732, 233], [725, 429], [780, 384], [794, 364], [822, 343], [726, 300], [739, 361], [793, 378], [784, 379], [727, 363], [715, 300]], "image": "d02690.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [752, 351.5], "scale": 0.9899000000000001, "joints": [[802, 275], [750, 352], [681, 404], [681, 405], [753, 355], [813, 277], [688, 409], [761, 402], [776, 396.00000000000006], [812, 389], [782, 319], [737, 387], [780, 411], [771, 404], [737, 364], [758, 309]], "image": "d02691.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [770, 388], "scale": 0.7049000000000001, "joints": [[861, 346], [764, 373.00000000000006], [670, 383], [668, 387], [765, 376], [869, 357], [676, 390], [751, 424], [776, 435], [807, 446], [787, 347], [732, 391], [766, 427], [765, 432], [740, 378], [784, 349]], "image": "d02692.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [513, 315.5], "scale": 2.3999, "joints": [[531, 529], [537, 434], [555, 332], [547, 333], [524, 438.99999999999994], [519, 529], [544, 330], [502, 213], [496, 202], [480, 189], [503, 103.99999999999999], [514, 161], [527, 200], [518, 206], [486, 173], [463, 118]], "image": "d02693.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [508.5, 324.5], "scale": 2.3799, "joints": [[529, 529], [535, 433], [554, 338], [549, 337], [525, 436], [525, 529], [547, 334], [504, 226], [491, 210.00000000000003], [477, 190], [509, 118], [516, 163], [526, 202], [515, 207.99999999999997], [489, 179], [462, 123]], "image": "d02694.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517.5, 348], "scale": 1.9749, "joints": [[539, 535], [522, 440.00000000000006], [560, 353], [554, 353], [508, 443], [529, 540], [552, 350], [503, 256], [489, 243.00000000000003], [467, 229.99999999999997], [538, 178], [532, 213], [523, 237], [507, 244], [488, 225], [479, 187.00000000000003]], "image": "d02695.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [520, 375], "scale": 1.8749, "joints": [[539, 537], [514, 447], [561, 365], [556, 365], [499, 451], [533, 539], [553, 361], [496, 275], [478, 261], [459, 240.99999999999997], [556, 205], [541, 230.99999999999997], [520, 252], [501, 265], [494, 246], [491, 213]], "image": "d02696.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522, 390], "scale": 1.6549, "joints": [[539, 542], [517, 460.99999999999994], [567, 384], [562, 383], [498, 457], [534, 545], [561, 379], [491, 296], [477, 286], [457, 260], [576, 241.99999999999997], [548, 264], [514, 275], [498, 291], [498, 277], [503, 252]], "image": "d02697.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [523, 418.5], "scale": 1.4199000000000002, "joints": [[545, 545], [510, 458.99999999999994], [562, 395.00000000000006], [557, 396.00000000000006], [491, 462.00000000000006], [531, 548], [555, 391], [487, 323], [469, 312], [454, 285], [588, 290], [540, 303], [505, 306], [491, 316], [501, 313], [519, 293]], "image": "d02698.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533.5, 452], "scale": 1.2149, "joints": [[544, 559], [510, 482.99999999999994], [565, 425], [561, 428], [494, 477], [534, 561], [561, 423], [486, 380], [470, 370.99999999999994], [446, 341], [593, 389], [546, 379], [495, 361], [480, 369.99999999999994], [530, 389], [563, 389]], "image": "d02699.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516.5, 475], "scale": 1.1749, "joints": [[544, 581], [507, 505.99999999999994], [574, 448], [567, 449], [486, 508.00000000000006], [536, 586], [564, 445], [484, 397.00000000000006], [464, 390], [443, 362], [567, 427], [534, 403], [495, 384], [489, 393.99999999999994], [514, 429], [545, 470]], "image": "d02700.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [517.5, 473.5], "scale": 1.2199, "joints": [[543, 578], [507, 505.99999999999994], [570, 446], [566, 448], [493, 507.00000000000006], [538, 582], [562, 441.00000000000006], [487, 395.00000000000006], [469, 385], [450, 362], [572, 423], [541, 406], [494, 385], [485, 391.99999999999994], [508, 420], [541, 462.00000000000006]], "image": "d02701.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [515.5, 491.5], "scale": 1.2599, "joints": [[540, 604], [496, 524], [556, 466], [561, 466], [487, 529], [534, 605], [553, 463.00000000000006], [489, 413], [473, 402], [444, 373.00000000000006], [520, 510], [514, 465], [494, 405], [486, 413.99999999999994], [505, 470], [507, 519]], "image": "d02702.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516, 519.5], "scale": 1.3299, "joints": [[543, 638], [505, 542], [566, 491], [565, 491], [495, 548], [533, 638], [562, 485.00000000000006], [492, 435], [479, 418.00000000000006], [456, 388], [457, 532], [495, 492], [502, 423], [488, 432], [480, 500], [446, 552]], "image": "d02703.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495, 543], "scale": 1.4149, "joints": [[538, 667], [514, 579], [567, 514], [565, 515], [501, 583], [528, 670], [563, 510], [496, 450], [481, 436], [468, 407], [409, 499], [463, 481.99999999999994], [504, 436], [485, 449], [455, 492], [403, 507.00000000000006]], "image": "d02704.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [494.5, 550], "scale": 1.6749, "joints": [[528, 712], [509, 620], [560, 553], [558, 555], [492, 625], [521, 710], [554, 547], [489, 470], [476, 453], [470, 428], [410, 389], [443, 440.00000000000006], [496, 454], [487, 458], [423, 451], [409, 419.00000000000006]], "image": "d02705.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [498.5, 543.5], "scale": 1.7399, "joints": [[526, 711], [505, 630], [550, 557], [549, 557], [488, 635], [512, 712], [546, 550], [490, 459.99999999999994], [481, 447], [471, 426], [459, 375], [446, 414.99999999999994], [496, 451], [484, 459.99999999999994], [429, 428], [442, 391.99999999999994]], "image": "d02706.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [498.5, 541], "scale": 1.7549000000000001, "joints": [[525, 712], [506, 635], [554, 553], [548, 554], [489, 637], [515, 714], [548, 550], [489, 463.00000000000006], [477, 446], [473, 424], [457, 372.00000000000006], [451, 422], [497, 452], [490, 456], [424, 426], [449, 375]], "image": "d02707.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [478.5, 450.5], "scale": 2.1399, "joints": [[539, 652], [528, 550], [541, 451], [534, 451], [515, 555], [527, 656], [536, 448], [499, 356], [491, 333], [481, 306], [414, 246], [459, 297], [507, 333], [500, 344], [444, 315], [406, 260]], "image": "d02708.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467.5, 443.5], "scale": 1.8799000000000001, "joints": [[536, 619], [542, 523], [545, 417.00000000000006], [541, 415.99999999999994], [534, 525], [528, 623], [544, 418.00000000000006], [488, 326], [479, 312], [469, 288], [387, 268], [448, 293], [502, 306], [487, 312], [436, 304], [384, 276]], "image": "d02709.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [467, 443], "scale": 1.9049, "joints": [[531, 624], [543, 517], [547, 414.99999999999994], [543, 414.99999999999994], [536, 519], [524, 622], [544, 419.00000000000006], [488, 315], [481, 304], [470, 288], [380, 266], [443, 289], [498, 306], [482, 311], [418, 297], [376, 272]], "image": "d02710.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [473, 425], "scale": 1.6549, "joints": [[538, 563], [557, 469], [568, 368], [566, 370.99999999999994], [552, 471], [527, 568], [561, 368], [480, 289], [471, 283], [452, 268], [376, 298], [437, 295], [495, 279], [483, 284], [416, 306], [361, 302]], "image": "d02711.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [486, 402.5], "scale": 1.4999, "joints": [[540, 527], [566, 428], [580, 327], [578, 327], [555, 432], [531, 532], [573, 325], [475, 283], [457, 278], [438, 265], [376, 340], [438, 314], [480, 266], [465, 279], [431, 315], [378, 344]], "image": "d02712.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [516.5, 366.5], "scale": 1.2299, "joints": [[563, 473], [571, 381], [585, 281], [580, 280], [560, 382], [554, 477], [575, 280], [478, 272], [464, 273], [433, 270], [427, 375], [468, 331], [472, 264], [461, 277], [455, 328], [424, 369.99999999999994]], "image": "d02713.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545, 294.5], "scale": 0.8399000000000001, "joints": [[617, 363], [554, 312], [562, 223], [560, 223], [547, 314], [616, 365], [553, 226], [508, 281], [506, 287], [467, 304], [559, 321], [532, 290], [500, 279], [485, 284], [526, 315], [545, 352]], "image": "d02714.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 266], "scale": 0.6649, "joints": [[642, 299], [552, 296], [544, 214], [542, 213], [550, 297], [639, 294], [536, 220.00000000000003], [509, 288], [509, 298], [516, 325], [583, 299], [567, 275], [519, 288], [510, 290], [555, 285], [579, 303]], "image": "d02715.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [571, 261], "scale": 0.6549, "joints": [[639, 292], [549, 297], [553, 206], [549, 207], [546, 299], [638, 295], [542, 209.00000000000003], [513, 290], [510, 306], [506, 326], [583, 297], [570, 272], [521, 286], [507, 291], [557, 286], [582, 303]], "image": "d02716.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568.5, 265.5], "scale": 0.7599000000000001, "joints": [[633, 218.99999999999997], [571, 280], [540, 206], [536, 206], [563, 285], [625, 224], [531, 213], [536, 294], [537, 308], [532, 345], [612, 257], [577, 244], [546, 298], [528, 301], [561, 256], [600, 251]], "image": "d02717.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [555, 246], "scale": 0.9449000000000001, "joints": [[599, 175], [599, 255.00000000000003], [514, 223], [513, 223], [592, 257], [590, 175], [515, 234], [555, 291], [563, 303], [576, 331], [603, 218], [569, 260], [572, 295], [558, 297], [555, 245], [584, 222]], "image": "d02718.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [567, 233], "scale": 0.8449000000000001, "joints": [[561, 163], [605, 229.99999999999997], [527, 246], [522, 245], [601, 226], [548, 168], [525, 250], [573, 286], [588, 291], [618, 306], [580, 184.99999999999997], [572, 246], [589, 280], [585, 280], [557, 234], [569, 199]], "image": "d02719.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [545.5, 239], "scale": 0.6749, "joints": [[483, 262], [540, 209.00000000000003], [550, 276], [549, 280], [542, 210.00000000000003], [481, 264], [556, 276], [589, 218], [594, 202], [611, 176], [507, 261], [530, 244], [582, 211], [593, 213], [546, 235], [507, 223]], "image": "d02720.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [548, 237], "scale": 0.7849, "joints": [[502, 304], [530, 221.00000000000003], [575, 283], [575, 288], [528, 221.00000000000003], [499, 303], [579, 282], [573, 210.00000000000003], [571, 193], [572, 163], [520, 276], [544, 251], [570, 201], [566, 203], [555, 238], [509, 252]], "image": "d02721.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [562, 256], "scale": 0.7849, "joints": [[547, 313], [523, 240.99999999999997], [593, 268], [595, 269], [520, 240.99999999999997], [547, 317], [594, 265], [549, 212], [537, 205], [521, 184.99999999999997], [526, 272], [538, 243.00000000000003], [542, 212], [540, 217], [549, 248], [527, 272]], "image": "d02722.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591.5, 277.5], "scale": 0.6299000000000001, "joints": [[644, 271], [569, 298], [580, 229], [575, 225], [570, 301], [633, 258], [576, 228], [550, 295], [545, 308], [522, 327], [616, 285], [561, 265], [537, 297], [533, 294], [549, 269], [596, 277]], "image": "d02723.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [589.5, 277.5], "scale": 0.6099000000000001, "joints": [[643, 269], [572, 296], [572, 230.99999999999997], [574, 232.00000000000003], [573, 295], [631, 257], [568, 234], [552, 306], [546, 316], [525, 331], [608, 297], [566, 286], [553, 307], [542, 297], [554, 269], [597, 280]], "image": "d02724.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590, 281], "scale": 0.6249000000000001, "joints": [[645, 270], [569, 299], [575, 229.99999999999997], [578, 229.99999999999997], [565, 303], [627, 259], [571, 234], [550, 301], [545, 317], [528, 338], [606, 295], [548, 277], [535, 300], [535, 298], [549, 266], [593, 278]], "image": "d02725.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [594, 298], "scale": 0.7649000000000001, "joints": [[572, 355], [571, 277], [616, 337], [617, 336], [568, 278], [567, 359], [617, 331], [597, 263], [592, 252.99999999999997], [591, 232.00000000000003], [555, 307], [590, 289], [600, 258], [600, 258], [594, 293], [555, 308]], "image": "d02726.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 326.5], "scale": 0.7399000000000001, "joints": [[602, 366], [571, 300], [638, 323], [642, 325], [573, 301], [603, 369.99999999999994], [639, 320], [586, 280], [567, 274], [554, 259], [572, 334], [588, 297], [580, 270], [584, 270], [592, 296], [571, 337]], "image": "d02727.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632.5, 323.5], "scale": 0.5199000000000001, "joints": [[695, 338], [606, 338], [636, 286], [638, 285], [606, 338], [691, 337], [628, 284], [593, 330], [588, 339], [559, 360], [639, 342], [604, 312], [573, 336], [574, 329], [599, 313], [629, 338]], "image": "d02728.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [647.5, 307.5], "scale": 0.7099000000000001, "joints": [[632, 258], [669, 318], [606, 329], [605, 328], [663, 325], [624, 268], [610, 330], [658, 347], [677, 354], [703, 362], [656, 291], [649, 334], [670, 349], [667, 352], [628, 334], [641, 296]], "image": "d02729.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [649, 313.5], "scale": 0.4899000000000001, "joints": [[594, 275], [655, 308], [608, 342], [607, 346], [656, 313], [589, 285], [615, 347], [666, 329], [686, 322], [711, 313], [639, 293], [651, 324], [678, 315], [680, 326], [643, 341], [624, 301]], "image": "d02730.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [647, 370.5], "scale": 0.8899000000000001, "joints": [[647, 445], [641, 365], [691, 314], [693, 314], [636, 368.99999999999994], [642, 447], [688, 312], [625, 301], [612, 304], [586, 312], [663, 303], [639, 297], [621, 295], [619, 297], [639, 313], [658, 334]], "image": "d02731.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [644.5, 376], "scale": 0.9449000000000001, "joints": [[677, 445], [671, 370.99999999999994], [686, 296], [685, 296], [667, 377], [675, 450], [682, 295], [624, 316], [609, 323], [585, 334], [649, 283], [633, 292], [619, 300], [615, 309], [642, 321], [663, 334]], "image": "d02732.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [644, 373.5], "scale": 0.9099, "joints": [[679, 440.00000000000006], [669, 374.00000000000006], [688, 296], [686, 298], [666, 374.00000000000006], [675, 446], [682, 295], [625, 314], [611, 323], [582, 332], [648, 287], [635, 293], [616, 305], [616, 312], [645, 319], [663, 332]], "image": "d02733.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [648.5, 367.5], "scale": 0.9299000000000001, "joints": [[710, 431], [690, 358], [673, 289], [672, 290], [689, 359], [708, 434], [668, 295], [619, 333], [609, 343], [582, 356], [701, 318], [658, 311], [616, 323], [611, 327], [645, 331], [672, 344]], "image": "d02734.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [667.5, 353], "scale": 0.7449000000000001, "joints": [[745, 418.00000000000006], [702, 347], [659, 294], [660, 295], [702, 351], [747, 419.00000000000006], [655, 297], [621, 348], [613, 364], [588, 380], [681, 328], [652, 328], [622, 337], [614, 344], [647, 356], [674, 372.00000000000006]], "image": "d02735.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [691.5, 343], "scale": 0.6649, "joints": [[770, 384], [713, 333], [651, 296], [649, 302], [713, 336], [770, 385], [649, 304], [627, 362], [623, 378], [591, 395.00000000000006], [687, 377], [663, 352], [629, 356], [617, 365], [650, 379], [678, 405]], "image": "d02736.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [703.5, 359.5], "scale": 0.7699000000000001, "joints": [[798, 348], [717, 321], [646, 302], [646, 308], [715, 324], [790, 350], [643, 313], [628, 382], [627, 393.99999999999994], [602, 410], [679, 427], [667, 387], [630, 378], [616, 386], [646, 409], [674, 438.99999999999994]], "image": "d02737.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [710.5, 379.5], "scale": 1.2399, "joints": [[786, 275], [715, 301], [651, 338], [646, 339], [714, 302], [784, 275], [653, 348], [643, 413.99999999999994], [642, 426], [626, 443], [662, 503], [654, 462.00000000000006], [642, 424], [635, 428], [649, 466], [665, 502]], "image": "d02738.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [713, 384.5], "scale": 1.2299, "joints": [[787, 270], [714, 303], [647, 341], [649, 341], [712, 301], [788, 272], [651, 349], [647, 418.00000000000006], [644, 425], [627, 445], [664, 502], [654, 458], [641, 415.99999999999994], [634, 420], [649, 469], [665, 503]], "image": "d02739.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [573.5, 371], "scale": 2.5849, "joints": [[575, 618], [596, 483.99999999999994], [542, 397.00000000000006], [543, 398], [595, 487.00000000000006], [572, 610], [548, 392.99999999999994], [582, 276], [587, 252.99999999999997], [624, 205], [529, 130], [550, 209.00000000000003], [568, 256], [572, 250], [571, 214], [565, 170]], "image": "d02740.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [599.5, 459.5], "scale": 1.8299, "joints": [[551, 623], [598, 520], [529, 448], [525, 451], [598, 531], [550, 627], [529, 444], [607, 348], [618, 331], [625, 283], [676, 436], [636, 408], [610, 358], [607, 361], [631, 413.99999999999994], [677, 442.00000000000006]], "image": "d02741.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [581, 431], "scale": 1.6149, "joints": [[560, 578], [610, 487.00000000000006], [526, 435], [531, 431], [617, 480], [563, 582], [537, 429], [611, 341], [625, 324], [649, 269], [513, 447], [552, 381], [597, 338], [603, 334], [557, 375], [515, 431]], "image": "d02742.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580.5, 435.5], "scale": 1.7199, "joints": [[556, 584], [609, 497], [520, 433], [522, 433], [614, 492], [560, 582], [525, 430], [609, 340], [625, 316], [639, 274], [540, 476], [567, 392.99999999999994], [595, 341], [598, 340], [570, 391.99999999999994], [552, 455]], "image": "d02743.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [577.5, 443], "scale": 1.7249, "joints": [[559, 590], [608, 502], [525, 440.00000000000006], [525, 436.99999999999994], [611, 496], [562, 589], [529, 434], [607, 343], [621, 321], [633, 276], [570, 490], [571, 409], [597, 348], [599, 349], [574, 403], [579, 471]], "image": "d02744.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610, 460], "scale": 1.8649, "joints": [[550, 624], [593, 536], [522, 454], [528, 450], [600, 525], [554, 623], [529, 449], [604, 356], [618, 324], [619, 281], [704, 421], [634, 408], [607, 360], [611, 354], [641, 403], [706, 414.99999999999994]], "image": "d02745.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [614, 470.5], "scale": 1.8999000000000001, "joints": [[534, 641], [586, 548], [521, 460.99999999999994], [524, 460.99999999999994], [589, 548], [536, 637], [529, 454], [608, 362], [615, 341], [609, 283], [708, 349], [662, 383], [612, 358], [617, 352], [666, 381], [717, 363]], "image": "d02746.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [613.5, 472.5], "scale": 1.8899000000000001, "joints": [[530, 642], [584, 551], [524, 463.00000000000006], [528, 462.00000000000006], [585, 548], [534, 641], [531, 458], [612, 356], [614, 334], [608, 286], [706, 333], [674, 377], [614, 354], [618, 354], [680, 375], [721, 347]], "image": "d02747.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [596, 472], "scale": 2.3349, "joints": [[508, 686], [557, 591], [557, 481], [559, 481], [559, 591], [511, 684], [562, 479], [619, 361], [629, 343], [648, 301], [668, 247], [637, 292], [605, 346], [629, 356], [663, 316], [682, 262]], "image": "d02748.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658, 486], "scale": 2.1549, "joints": [[519, 686], [539, 579], [554, 458], [559, 460.99999999999994], [541, 579], [523, 687], [564, 460.99999999999994], [636, 358], [651, 344], [667, 295], [747, 282], [684, 316], [631, 336], [653, 341], [711, 333], [788, 323]], "image": "d02749.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [649.5, 483], "scale": 1.7749000000000001, "joints": [[523, 646], [535, 523], [545, 419.00000000000006], [550, 423], [540, 526], [530, 647], [555, 419.00000000000006], [668, 358], [691, 344], [722, 305], [773, 413], [717, 383], [676, 355], [679, 360], [721, 383], [768, 423]], "image": "d02750.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603, 447], "scale": 1.1649, "joints": [[485, 549], [548, 448], [603, 353], [606, 357], [549, 450], [488, 549], [612, 361], [642, 489], [667, 509.00000000000006], [716, 511], [521, 496], [580, 475], [650, 472], [647, 492], [589, 495], [540, 496]], "image": "d02751.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [567.5, 458.5], "scale": 1.1899000000000002, "joints": [[464, 502], [563, 431], [633, 372.00000000000006], [634, 370.99999999999994], [562, 434], [467, 497], [636, 380], [622, 493], [630, 520], [661, 555], [500, 436.99999999999994], [561, 464.00000000000006], [626, 495], [631, 493], [583, 455], [517, 429]], "image": "d02752.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [556.5, 451], "scale": 0.9949000000000001, "joints": [[454, 375], [554, 404], [673, 419.00000000000006], [671, 421], [555, 405], [457, 380], [667, 434], [575, 489], [550, 508.00000000000006], [512, 538], [572, 374.00000000000006], [562, 427], [554, 499], [561, 481], [587, 437.99999999999994], [567, 358]], "image": "d02753.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569, 404.5], "scale": 1.1099, "joints": [[484, 313], [575, 392.99999999999994], [662, 450], [665, 448], [576, 391], [495, 311], [658, 458], [546, 466], [514, 473], [466, 482.99999999999994], [604, 382], [574, 419.00000000000006], [526, 466], [531, 460.99999999999994], [564, 392.99999999999994], [588, 367]], "image": "d02754.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [575, 375.5], "scale": 1.4499000000000002, "joints": [[630, 264], [607, 387], [608, 502], [614, 500], [612, 380], [640, 269], [603, 498], [541, 408], [527, 381], [501, 341], [632, 396.00000000000006], [579, 405], [514, 395.00000000000006], [560, 396.00000000000006], [641, 417.00000000000006], [640, 388]], "image": "d02755.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [645.5, 388], "scale": 1.2649000000000001, "joints": [[764, 374.00000000000006], [643, 421], [536, 468], [541, 468], [649, 422], [768, 374.00000000000006], [535, 460.99999999999994], [560, 349], [573, 329], [596, 267], [647, 442.00000000000006], [587, 385], [561, 332], [582, 363], [598, 417.00000000000006], [669, 456]], "image": "d02756.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [655.5, 364], "scale": 1.3549, "joints": [[778, 480], [634, 457], [518, 436], [522, 433], [634, 457], [775, 478], [519, 427], [577, 323], [589, 296], [627, 248], [640, 430], [599, 358], [581, 309], [586, 330], [607, 396.00000000000006], [647, 490]], "image": "d02757.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651, 365.5], "scale": 1.3299, "joints": [[774, 476], [636, 449], [521, 430], [521, 429], [640, 449], [774, 474], [525, 422], [586, 313], [602, 292], [633, 247], [639, 427], [597, 358], [581, 301], [589, 333], [603, 403], [646, 487.00000000000006]], "image": "d02758.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [633.5, 402.5], "scale": 1.8399, "joints": [[731, 570], [627, 480], [535, 398], [538, 401], [628, 482.99999999999994], [729, 570], [541, 395.00000000000006], [610, 286], [620, 267], [663, 234], [647, 399], [602, 331], [606, 272], [608, 308], [592, 385], [600, 497]], "image": "d02759.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [633, 412], "scale": 2.3649, "joints": [[537, 625], [562, 495], [572, 362], [567, 363], [557, 492], [535, 624], [575, 356], [678, 220.00000000000003], [695, 213], [732, 185.99999999999997], [695, 364], [652, 282], [674, 226], [666, 229], [623, 288], [599, 368]], "image": "d02760.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610, 374.5], "scale": 2.1799, "joints": [[460, 579], [531, 467], [599, 337], [557, 324], [507, 457], [445, 574], [581, 328], [679, 220.00000000000003], [713, 196.99999999999997], [779, 175], [722, 383], [681, 295], [719, 223], [647, 195.99999999999997], [600, 214], [648, 248]], "image": "d02761.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [580, 346], "scale": 2.2049000000000003, "joints": [[399, 543], [506, 453], [618, 342], [560, 299], [475, 415.99999999999994], [378, 525], [595, 310], [726, 207.99999999999997], [747, 194], [786, 174], [707, 399], [710, 324], [755, 241.99999999999997], [678, 171], [630, 159], [707, 133]], "image": "d02762.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [566, 289.5], "scale": 2.0699, "joints": [[352, 487.00000000000006], [482, 412], [609, 326], [571, 283], [445, 376], [331, 454], [601, 301], [741, 210.00000000000003], [763, 195.99999999999997], [811, 171], [667, 368.99999999999994], [716, 340], [778, 260], [704, 146], [690, 103], [775, 86]], "image": "d02763.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561.5, 287], "scale": 2.0549, "joints": [[354, 482.99999999999994], [474, 415.99999999999994], [617, 328], [569, 276], [445, 370.99999999999994], [331, 453], [599, 303], [742, 204], [773, 189], [813, 171], [665, 370.99999999999994], [718, 336], [777, 266], [707, 149], [687, 103], [781, 92]], "image": "d02764.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [568.5, 250], "scale": 1.8049000000000002, "joints": [[303, 418.00000000000006], [454, 379], [603, 337], [578, 256], [421, 318], [290, 384], [602, 302], [753, 223], [787, 209.00000000000003], [842, 182], [648, 310], [696, 347], [779, 287], [747, 159], [756, 74], [849, 103.99999999999999]], "image": "d02765.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [554.5, 229.5], "scale": 0.7099000000000001, "joints": [[262, 276], [412, 268], [562, 259], [567, 255.00000000000003], [415, 252], [260, 260], [574, 264], [764, 240], [797, 230.99999999999997], [872, 226], [700, 194], [650, 241.99999999999997], [755, 266], [792, 248], [874, 163], [891, 230.99999999999997]], "image": "d02766.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [542.5, 246.5], "scale": 0.8499000000000001, "joints": [[246, 181], [425, 195], [562, 210.00000000000003], [565, 264], [435, 227], [245, 195], [569, 237], [753, 259], [790, 263], [875, 250], [725, 224], [654, 193], [753, 218.99999999999997], [805, 310], [882, 304], [881, 276]], "image": "d02767.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [534, 252.5], "scale": 1.5599, "joints": [[254, 113], [399, 149], [566, 194], [547, 270], [397, 213], [238, 151], [566, 232.00000000000003], [744, 287], [767, 293], [852, 302], [709, 268], [670, 187.00000000000003], [763, 214], [769, 358], [843, 402], [859, 341]], "image": "d02768.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521.5, 247.5], "scale": 2.1199, "joints": [[258, 52], [405, 123], [563, 198.00000000000003], [523, 269], [377, 185.99999999999997], [236, 94.00000000000001], [545, 239], [716, 319], [743, 333], [827, 370.99999999999994], [675, 318], [660, 221.00000000000003], [754, 243.00000000000003], [734, 397.00000000000006], [781, 457], [832, 340]], "image": "d02769.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [519, 251.5], "scale": 2.1299, "joints": [[254, 47.00000000000001], [411, 123], [565, 191], [520, 271], [373, 184], [235, 95], [546, 238], [722, 322], [738, 332], [823, 368.99999999999994], [676, 318], [658, 220.00000000000003], [757, 241.99999999999997], [732, 396.00000000000006], [778, 454], [831, 338]], "image": "d02770.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [486.5, 277.5], "scale": 2.2499000000000002, "joints": [[657, 112], [594, 229], [549, 327], [491, 301], [549, 201], [628, 87], [507, 319], [428, 423], [418, 438.99999999999994], [378, 480], [455, 405], [526, 413], [471, 462.00000000000006], [378, 407], [310, 436.99999999999994], [359, 488]], "image": "d02771.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [493.5, 284], "scale": 1.8849, "joints": [[686, 139], [594, 251], [540, 343], [500, 300], [568, 210.00000000000003], [649, 120], [512, 322], [421, 404], [408, 413.99999999999994], [343, 438.99999999999994], [445, 388], [508, 437.99999999999994], [440, 463.00000000000006], [361, 391], [305, 375], [299, 453]], "image": "d02772.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495.5, 292.5], "scale": 1.5699, "joints": [[700, 187.00000000000003], [601, 268], [541, 356], [526, 325], [590, 234], [674, 161], [524, 339], [410, 378], [392, 378], [322, 386], [464, 370.99999999999994], [476, 444], [408, 433], [386, 358], [335, 324], [282, 331]], "image": "d02773.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [523.5, 293], "scale": 1.3349000000000002, "joints": [[708, 204], [609, 285], [538, 362], [539, 354], [601, 265], [694, 190], [534, 360], [421, 354], [391, 351], [336, 325], [480, 380], [430, 421], [391, 384], [401, 327], [364, 276], [327, 238]], "image": "d02774.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [521, 293.5], "scale": 1.3199, "joints": [[711, 205], [613, 286], [541, 366], [544, 342], [599, 264], [697, 188], [535, 354], [415, 352], [394, 349], [338, 324], [482, 379], [435, 422], [394, 382], [401, 329], [368, 283], [322, 235]], "image": "d02775.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [551.5, 288.5], "scale": 1.0699, "joints": [[707, 233], [608, 302], [534, 370.99999999999994], [538, 364], [609, 295], [700, 224], [531, 366], [429, 323], [406, 312], [378, 259], [506, 387], [460, 375], [402, 344], [421, 307], [415, 256], [421, 205]], "image": "d02776.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [590.5, 288], "scale": 1.1149, "joints": [[719, 280], [616, 321], [523, 372.00000000000006], [528, 367], [619, 322], [721, 280], [524, 364], [474, 262], [472, 239], [483, 181], [490, 347], [459, 310], [446, 261], [485, 252], [518, 251], [544, 257]], "image": "d02777.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603, 277.5], "scale": 1.1399000000000001, "joints": [[722, 316], [608, 331], [507, 358], [512, 356], [612, 330], [725, 308], [510, 347], [500, 240.99999999999997], [505, 220.00000000000003], [535, 163], [503, 325], [483, 282], [480, 227], [510, 239], [540, 261], [563, 284]], "image": "d02778.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [591.5, 306.5], "scale": 1.4899, "joints": [[588, 435], [556, 325], [508, 230.99999999999997], [509, 230.99999999999997], [557, 324], [593, 438.99999999999994], [516, 223], [624, 200], [648, 206], [703, 218], [610, 308], [605, 241.99999999999997], [629, 187.00000000000003], [633, 187.00000000000003], [609, 240.99999999999997], [600, 318]], "image": "d02779.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603.5, 278.5], "scale": 1.3299, "joints": [[493, 406], [520, 306], [532, 192], [532, 191], [520, 311], [492, 409], [537, 187.00000000000003], [671, 214], [678, 220.00000000000003], [717, 247], [633, 325], [645, 252], [667, 205], [661, 207], [637, 251], [627, 314]], "image": "d02780.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [585, 266.5], "scale": 1.2399, "joints": [[451, 369.99999999999994], [503, 276], [546, 174], [544, 170], [504, 273], [450, 370.99999999999994], [553, 173], [665, 216], [684, 229.99999999999997], [726, 268], [645, 342], [662, 260], [679, 210.00000000000003], [677, 207], [650, 252.99999999999997], [633, 331]], "image": "d02781.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [569.5, 246.5], "scale": 1.0799, "joints": [[415, 335], [489, 259], [559, 164], [559, 165], [491, 255.00000000000003], [416, 331], [567, 162], [679, 227], [691, 241.99999999999997], [721, 267], [653, 341], [673, 274], [686, 234], [681, 232.00000000000003], [658, 270], [646, 334]], "image": "d02782.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [540.5, 269], "scale": 1.6549, "joints": [[381, 118], [494, 152], [594, 176], [592, 174], [495, 145], [382, 115], [594, 176], [675, 279], [675, 293], [715, 333], [692, 430], [696, 336], [697, 289], [690, 287], [678, 352], [682, 419.00000000000006]], "image": "d02783.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [549, 244.5], "scale": 2.1999, "joints": [[419, 52], [504, 137], [602, 198.00000000000003], [598, 194], [505, 130], [422, 52], [602, 202], [654, 296], [660, 315], [697, 369.99999999999994], [686, 456], [683, 380], [688, 323], [679, 322], [673, 380], [676, 453]], "image": "d02784.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610, 446.5], "scale": 1.5699, "joints": [[517, 536], [599, 531], [552, 454], [565, 445], [636, 488], [638, 596], [559, 441.00000000000006], [595, 350], [605, 327], [602, 293], [713, 379], [649, 376], [606, 345], [603, 345], [642, 383], [705, 407]], "image": "d02785.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [629, 340.5], "scale": 2.5799000000000003, "joints": [[633, 458.99999999999994], [681, 386], [599, 361], [600, 357], [614, 464.00000000000006], [623, 565], [601, 357], [611, 254.00000000000003], [609, 238], [612, 204], [584, 112], [591, 179], [597, 252], [622, 243.00000000000003], [623, 180], [626, 105.00000000000001]], "image": "d02786.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [648.5, 362], "scale": 2.4749, "joints": [[670, 577], [661, 479], [645, 388], [644, 385], [662, 480], [672, 577], [644, 384], [647, 286], [647, 268], [665, 229.99999999999997], [662, 125], [651, 193], [631, 265], [636, 262], [642, 199], [650, 124]], "image": "d02787.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [651.5, 381.5], "scale": 2.4899, "joints": [[670, 595], [665, 502], [646, 408], [648, 410], [664, 504.99999999999994], [671, 597], [649, 409], [646, 307], [650, 285], [667, 249], [669, 150], [651, 225], [633, 291], [638, 288], [644, 218], [653, 153]], "image": "d02788.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [648.5, 396.5], "scale": 2.5199000000000003, "joints": [[668, 621], [662, 520], [648, 428], [648, 426], [660, 518], [671, 615], [649, 425], [650, 324], [651, 304], [665, 270], [666, 165], [652, 240.99999999999997], [632, 305], [637, 299], [643, 238], [652, 160]], "image": "d02789.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [622, 385.5], "scale": 2.4299, "joints": [[635, 611], [633, 520], [621, 422], [623, 420], [634, 521], [637, 613], [622, 420], [624, 312], [629, 294], [645, 271], [628, 166], [623, 238], [610, 306], [611, 304], [623, 234], [620, 166]], "image": "d02790.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632, 397], "scale": 2.2849, "joints": [[632, 611], [632, 509.00000000000006], [618, 419.00000000000006], [621, 418.00000000000006], [634, 507.00000000000006], [635, 610], [623, 417.00000000000006], [635, 315], [638, 294], [655, 260], [596, 206], [613, 254.00000000000003], [620, 299], [621, 290], [618, 224], [607, 180]], "image": "d02791.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625, 421], "scale": 1.9849, "joints": [[629, 611], [636, 509.00000000000006], [621, 420], [623, 419.00000000000006], [639, 505.99999999999994], [633, 606], [619, 412], [642, 312], [648, 293], [673, 257], [565, 277], [604, 298], [633, 289], [633, 277], [601, 264], [572, 233]], "image": "d02792.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [618.5, 433], "scale": 1.7749000000000001, "joints": [[617, 598], [641, 487.00000000000006], [611, 413.99999999999994], [614, 413], [642, 485.00000000000006], [625, 589], [614, 409], [646, 311], [657, 295], [679, 261], [572, 325], [615, 317], [640, 304], [640, 290], [603, 292], [554, 283]], "image": "d02793.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [628.5, 424.5], "scale": 1.6899000000000002, "joints": [[620, 577], [654, 476], [599, 408], [604, 407], [657, 473], [624, 571], [606, 404], [663, 314], [672, 294], [686, 257], [565, 402], [611, 363], [651, 308], [651, 303], [611, 352], [574, 373.00000000000006]], "image": "d02794.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [636, 417.5], "scale": 1.5199, "joints": [[622, 559], [662, 458], [592, 408], [596, 405], [662, 456], [624, 559], [599, 402], [659, 331], [677, 315], [681, 274], [608, 446], [633, 392.99999999999994], [651, 343], [655, 340], [631, 388], [614, 434]], "image": "d02795.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 424], "scale": 1.4249, "joints": [[610, 552], [648, 463.00000000000006], [587, 419.00000000000006], [591, 414.99999999999994], [654, 462.00000000000006], [617, 550], [594, 411], [658, 349], [669, 329], [677, 288], [665, 463.00000000000006], [655, 408], [657, 364], [658, 358], [655, 410], [673, 454]], "image": "d02796.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [656, 437], "scale": 1.4149, "joints": [[613, 566], [651, 473], [590, 429], [594, 427], [655, 471], [614, 565], [594, 421], [660, 358], [674, 337], [668, 301], [727, 426], [686, 397.00000000000006], [656, 358], [659, 354], [688, 390], [727, 419.00000000000006]], "image": "d02797.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [654, 440], "scale": 1.4449, "joints": [[610, 569], [651, 472], [588, 429], [591, 426], [654, 471], [614, 565], [594, 421], [660, 356], [670, 340], [674, 301], [721, 424], [684, 396.00000000000006], [654, 362], [655, 357], [685, 390], [723, 417.00000000000006]], "image": "d02798.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [659.5, 449], "scale": 1.4749, "joints": [[595, 589], [638, 492], [585, 438.99999999999994], [589, 436], [640, 490], [599, 583], [593, 434], [654, 365], [664, 346], [665, 311], [757, 355], [707, 383], [657, 355], [660, 355], [710, 367], [755, 348]], "image": "d02799.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [639.5, 442], "scale": 1.6249, "joints": [[589, 586], [628, 516], [578, 447], [590, 444], [634, 509.00000000000006], [587, 588], [589, 443], [662, 347], [663, 336], [654, 306], [720, 293], [705, 348], [651, 352], [667, 339], [698, 332], [711, 285]], "image": "d02800.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [625, 449.5], "scale": 1.7699, "joints": [[575, 610], [618, 523], [590, 448], [592, 446], [621, 515], [577, 611], [594, 442.00000000000006], [652, 354], [653, 337], [652, 302], [659, 276], [686, 315], [643, 350], [644, 341], [695, 288], [665, 275]], "image": "d02801.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [623, 413.5], "scale": 2.0399000000000003, "joints": [[562, 608], [613, 503], [605, 436], [608, 435], [617, 501], [568, 607], [613, 431], [655, 342], [664, 318], [668, 278], [672, 225], [683, 282], [651, 321], [657, 315], [685, 268], [675, 221.00000000000003]], "image": "d02802.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [694.5, 409.5], "scale": 1.7599, "joints": [[577, 578], [598, 482.99999999999994], [611, 388], [612, 387], [601, 483.99999999999994], [582, 579], [618, 384], [679, 304], [693, 296], [728, 265], [801, 246], [741, 281], [692, 284], [690, 283], [744, 276], [807, 239]], "image": "d02803.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [700.5, 410.5], "scale": 1.5099, "joints": [[587, 544], [603, 438.99999999999994], [613, 355], [614, 353], [606, 440.00000000000006], [592, 543], [617, 350], [715, 292], [735, 282], [760, 276], [822, 318], [763, 305], [723, 282], [725, 286], [765, 303], [816, 314]], "image": "d02804.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [688, 371], "scale": 1.1749, "joints": [[585, 467], [616, 368.99999999999994], [645, 276], [644, 275], [615, 367], [586, 462.00000000000006], [651, 276], [747, 331], [758, 341], [796, 355], [725, 411], [728, 368], [753, 338], [746, 339], [718, 368.99999999999994], [725, 413]], "image": "d02805.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [689, 369.5], "scale": 1.1699000000000002, "joints": [[583, 479], [617, 363], [645, 270], [646, 273], [613, 365], [583, 479], [654, 272], [741, 328], [752, 336], [793, 345], [724, 415.99999999999994], [727, 367], [748, 334], [743, 338], [718, 367], [719, 412]], "image": "d02806.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [667, 338.5], "scale": 1.0399, "joints": [[572, 414.99999999999994], [625, 345], [682, 261], [685, 261], [627, 339], [571, 413], [691, 269], [725, 347], [730, 368], [761, 398], [635, 409], [685, 368.99999999999994], [739, 358], [731, 376], [695, 374.00000000000006], [655, 389]], "image": "d02807.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [662, 338], "scale": 0.9249, "joints": [[563, 363], [649, 315], [725, 275], [725, 271], [647, 313], [563, 362], [729, 283], [707, 349], [697, 372.00000000000006], [713, 424], [600, 323], [665, 333], [710, 372.00000000000006], [711, 362], [675, 324], [616, 307]], "image": "d02808.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [544, 347], "scale": 0.9649000000000001, "joints": [[505, 417.00000000000006], [515, 346], [503, 263], [505, 264], [515, 344], [508, 415.99999999999994], [510, 263], [552, 331], [570, 348], [598, 364], [497, 352], [503, 334], [564, 337], [559, 342], [515, 339], [504, 333]], "image": "d02809.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [701.5, 282.5], "scale": 1.0899, "joints": [[692, 198.00000000000003], [715, 275], [743, 368.99999999999994], [746, 367], [716, 270], [698, 194], [735, 365], [677, 325], [659, 313], [637, 298], [726, 259], [712, 314], [659, 330], [673, 314], [725, 291], [741, 246]], "image": "d02810.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [701.5, 280], "scale": 1.1649, "joints": [[693, 193], [716, 282], [744, 368.99999999999994], [748, 367], [717, 277], [699, 191], [737, 364], [674, 320], [658, 315], [635, 294], [725, 250], [715, 313], [658, 329], [674, 312], [720, 297], [739, 250]], "image": "d02811.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [726, 294], "scale": 1.1749, "joints": [[772, 199], [746, 289], [717, 388], [722, 384], [749, 283], [785, 210.00000000000003], [715, 382], [688, 310], [685, 293], [685, 255.00000000000003], [761, 270], [728, 319], [676, 303], [691, 299], [733, 305], [781, 273]], "image": "d02812.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [754, 327], "scale": 0.8249000000000001, "joints": [[849, 275], [769, 322], [682, 385], [684, 384], [772, 324], [849, 272], [681, 378], [712, 300], [720, 284], [730, 260], [792, 336], [731, 336], [702, 293], [708, 296], [739, 327], [782, 316]], "image": "d02813.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [769.5, 336.5], "scale": 0.6099000000000001, "joints": [[866, 376], [762, 361], [676, 364], [677, 364], [765, 361], [869, 361], [678, 357], [745, 315], [759, 305], [780, 275], [784, 380], [739, 350], [739, 307], [741, 313], [740, 352], [785, 376]], "image": "d02814.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [747.5, 384.5], "scale": 0.9399000000000001, "joints": [[817, 465], [741, 392.99999999999994], [671, 336], [674, 338], [744, 392.99999999999994], [819, 460.99999999999994], [680, 331], [761, 325], [784, 326], [815, 314], [758, 427], [740, 361], [771, 319], [769, 331], [753, 366], [750, 427]], "image": "d02815.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [660.5, 339.5], "scale": 0.7299000000000001, "joints": [[557, 299], [663, 295], [754, 303], [755, 304], [664, 295], [560, 291], [756, 314], [695, 363], [675, 369.99999999999994], [640, 388], [637, 281], [691, 317], [691, 376], [687, 367], [680, 315], [639, 268]], "image": "d02816.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [606.5, 295], "scale": 0.9049, "joints": [[514, 372.00000000000006], [554, 290], [602, 224], [603, 222], [553, 291], [515, 368.99999999999994], [610, 228], [665, 302], [678, 314], [717, 327], [565, 369.99999999999994], [625, 332], [667, 301], [662, 303], [624, 332], [583, 365]], "image": "d02817.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [658, 340], "scale": 2.2149, "joints": [[668, 521], [695, 429], [637, 368], [641, 368], [655, 457], [667, 535], [642, 362], [655, 278], [658, 255.00000000000003], [676, 226], [683, 144], [665, 194], [643, 255.00000000000003], [645, 264], [668, 193], [682, 144]], "image": "d02818.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [634.5, 355], "scale": 2.0149, "joints": [[641, 547], [644, 456], [616, 384], [617, 382], [645, 458], [643, 552], [619, 375], [640, 282], [647, 268], [674, 238], [642, 176], [636, 233], [634, 272], [638, 267], [642, 225], [648, 170]], "image": "d02819.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [631, 381], "scale": 1.9049, "joints": [[630, 546], [641, 456], [603, 391.99999999999994], [606, 388], [643, 456], [634, 546], [609, 385], [642, 295], [655, 277], [673, 251], [620, 209.00000000000003], [624, 259], [635, 283], [638, 278], [628, 252.99999999999997], [620, 207.99999999999997]], "image": "d02820.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [621.5, 408], "scale": 1.3649, "joints": [[608, 526], [644, 442.00000000000006], [581, 397.00000000000006], [582, 398], [644, 444], [612, 526], [584, 395.00000000000006], [639, 330], [659, 311], [684, 277], [562, 317], [607, 318], [646, 314], [645, 311], [607, 308], [584, 302]], "image": "d02821.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [610.5, 409], "scale": 1.2149, "joints": [[600, 513], [634, 436.99999999999994], [569, 398], [570, 398], [639, 436], [604, 517], [578, 395.00000000000006], [639, 342], [660, 324], [680, 291], [546, 393.99999999999994], [597, 352], [640, 333], [638, 327], [612, 335], [554, 362]], "image": "d02822.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [609, 409.5], "scale": 1.1699000000000002, "joints": [[596, 523], [630, 437.99999999999994], [563, 398], [564, 396.00000000000006], [630, 434], [600, 516], [568, 392.99999999999994], [635, 349], [656, 333], [670, 295], [566, 440.00000000000006], [585, 390], [623, 351], [630, 344], [598, 377], [603, 417.00000000000006]], "image": "d02823.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [615, 419], "scale": 1.3649, "joints": [[573, 540], [601, 470], [561, 409], [566, 405], [606, 467], [578, 534], [566, 404], [621, 336], [636, 318], [645, 285], [688, 402], [634, 398], [618, 347], [623, 339], [647, 373.00000000000006], [694, 383]], "image": "d02824.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 349.5], "scale": 1.2099000000000002, "joints": [[549, 455], [549, 360], [566, 275], [565, 275], [548, 360], [549, 452], [569, 271], [677, 263], [693, 261], [721, 252], [732, 323], [707, 294], [689, 268], [687, 263], [708, 290], [734, 324]], "image": "d02825.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588, 291.5], "scale": 0.8799000000000001, "joints": [[488, 324], [564, 267], [628, 230.99999999999997], [631, 227], [566, 267], [490, 322], [634, 237], [641, 315], [651, 334], [667, 366], [535, 309], [600, 314], [643, 324], [648, 321], [601, 303], [541, 293]], "image": "d02826.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574.5, 303], "scale": 0.8549000000000001, "joints": [[479, 276], [584, 256], [664, 251], [661, 248], [583, 255.00000000000003], [485, 271], [660, 257], [618, 328], [604, 354], [584, 388], [531, 260], [579, 294], [618, 333], [620, 324], [587, 282], [548, 256]], "image": "d02827.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [574.5, 303.5], "scale": 0.8699000000000001, "joints": [[483, 275], [576, 256], [658, 251], [657, 248], [576, 254.00000000000003], [483, 271], [659, 260], [619, 323], [607, 346], [578, 392.99999999999994], [522, 256], [579, 292], [619, 334], [621, 328], [588, 282], [535, 252]], "image": "d02828.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [588.5, 290], "scale": 0.8749000000000001, "joints": [[502, 216], [593, 249], [660, 291], [665, 290], [592, 247], [506, 216], [659, 299], [601, 327], [577, 340], [540, 359], [551, 232.00000000000003], [587, 283], [588, 340], [591, 331], [601, 279], [572, 218]], "image": "d02829.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [595.5, 264.5], "scale": 1.0799, "joints": [[562, 174], [620, 256], [654, 331], [656, 328], [623, 254.00000000000003], [573, 172], [649, 334], [571, 330], [553, 328], [518, 326], [594, 218], [592, 280], [572, 335], [585, 324], [617, 302], [635, 238]], "image": "d02830.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [632.5, 325.5], "scale": 0.8699000000000001, "joints": [[532, 389], [648, 340], [557, 269], [560, 267], [649, 340], [540, 395.00000000000006], [566, 266], [684, 292], [699, 292], [746, 284], [601, 358], [634, 284], [686, 270], [684, 300], [637, 305], [601, 367]], "image": "d02831.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [637, 292], "scale": 0.8749000000000001, "joints": [[738, 227], [691, 292], [624, 365], [635, 361], [701, 295], [751, 230.99999999999997], [626, 363], [570, 319], [558, 305], [534, 272], [656, 259], [609, 298], [553, 313], [563, 308], [615, 292], [654, 256]], "image": "d02832.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [676.5, 327], "scale": 0.7249000000000001, "joints": [[791, 303], [701, 324], [624, 357], [638, 385], [701, 350], [795, 346], [626, 373.00000000000006], [563, 313], [556, 292], [550, 263], [657, 298], [607, 305], [569, 297], [545, 335], [541, 376], [565, 398]], "image": "d02833.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [674.5, 330], "scale": 0.7449000000000001, "joints": [[787, 309], [709, 328], [626, 353], [640, 387], [705, 348], [786, 343], [628, 376], [560, 314], [555, 293], [549, 260], [650, 298], [605, 301], [570, 299], [538, 341], [537, 373.00000000000006], [559, 395.00000000000006]], "image": "d02834.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [664.5, 344.5], "scale": 0.9199, "joints": [[803, 388], [725, 368], [640, 346], [633, 399], [722, 399], [795, 428], [632, 372.00000000000006], [576, 304], [567, 284], [569, 254.00000000000003], [627, 334], [644, 317], [599, 286], [543, 322], [516, 379], [499, 356]], "image": "d02835.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [644, 390], "scale": 1.2949000000000002, "joints": [[797, 481.99999999999994], [741, 417.00000000000006], [666, 347], [632, 386], [716, 441.00000000000006], [783, 496], [647, 364], [587, 303], [582, 286], [580, 262], [631, 346], [657, 331], [627, 290], [553, 316], [505, 343], [487, 300]], "image": "d02836.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [601, 398.5], "scale": 0.7299000000000001, "joints": [[377, 338], [504, 353], [608, 366], [609, 413.99999999999994], [501, 391], [373, 360], [616, 391], [754, 410], [779, 406], [834, 404], [728, 392.99999999999994], [674, 344], [740, 362], [784, 452], [847, 457], [849, 431]], "image": "d02837.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [649.5, 389.5], "scale": 1.8399, "joints": [[704, 554], [681, 487.00000000000006], [670, 400], [673, 393.99999999999994], [689, 469], [709, 556], [668, 390], [624, 317], [609, 304], [587, 293], [615, 330], [622, 378], [612, 327], [629, 287], [618, 251], [618, 209.00000000000003]], "image": "d02838.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [660, 332], "scale": 0.7749000000000001, "joints": [[610, 389], [646, 303], [675, 373.00000000000006], [676, 377], [647, 309], [606, 389], [678, 370.99999999999994], [688, 301], [684, 283], [684, 256], [632, 346], [679, 336], [691, 293], [694, 296], [681, 347], [628, 343]], "image": "d02839.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [657, 414], "scale": 1.8749, "joints": [[651, 576], [654, 496], [658, 413.99999999999994], [698, 405], [685, 488], [675, 568], [673, 406], [656, 314], [638, 304], [610, 283], [649, 328], [629, 369.99999999999994], [622, 336], [683, 282], [695, 234], [664, 225]], "image": "d02840.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [674.5, 423.5], "scale": 1.7699, "joints": [[617, 572], [638, 490], [661, 405], [696, 421], [671, 495], [644, 575], [685, 407], [684, 311], [667, 295], [639, 271], [698, 323], [658, 361], [647, 318], [713, 299], [737, 257], [685, 256]], "image": "d02841.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [668.5, 428], "scale": 1.6649, "joints": [[599, 569], [633, 490], [667, 410], [684, 437.99999999999994], [646, 500], [607, 569], [680, 418.00000000000006], [723, 323], [718, 301], [706, 264], [739, 345], [715, 372.00000000000006], [700, 323], [733, 312], [752, 278], [722, 262]], "image": "d02842.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669.5, 412.5], "scale": 1.2299, "joints": [[536, 530], [607, 480], [684, 424], [648, 395.00000000000006], [591, 451], [525, 510], [671, 407], [758, 360], [774, 354], [803, 343], [726, 396.00000000000006], [733, 428], [775, 391.99999999999994], [748, 325], [785, 294], [817, 327]], "image": "d02843.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [627.5, 320], "scale": 1.0449000000000002, "joints": [[538, 415.99999999999994], [555, 324], [576, 238], [579, 238], [555, 322], [537, 412], [585, 240], [680, 272], [695, 281], [727, 281], [670, 355], [676, 307], [683, 279], [683, 277], [673, 307], [672, 359]], "image": "d02844.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [664, 409], "scale": 0.9549000000000001, "joints": [[516, 498], [598, 468], [683, 443], [672, 396.00000000000006], [584, 441.00000000000006], [511, 471], [684, 417.00000000000006], [773, 378], [785, 379], [813, 384], [714, 399], [710, 434], [762, 428], [777, 350], [815, 325], [835, 389]], "image": "d02845.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [663, 411.5], "scale": 0.9699000000000001, "joints": [[524, 496], [603, 465], [684, 442.00000000000006], [672, 396.00000000000006], [584, 435], [512, 469], [681, 415.99999999999994], [768, 384], [783, 380], [821, 387], [717, 397.00000000000006], [707, 436.99999999999994], [763, 429], [772, 347], [812, 325], [834, 383]], "image": "d02846.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [666, 417], "scale": 0.4549000000000001, "joints": [[503, 441.00000000000006], [588, 429], [671, 420], [677, 417.00000000000006], [594, 429], [508, 450], [683, 420], [756, 403], [772, 403], [819, 417.00000000000006], [735, 389], [700, 404], [762, 414.99999999999994], [777, 413], [837, 401], [828, 386]], "image": "d02847.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [667.5, 435], "scale": 0.5849000000000001, "joints": [[501, 390], [601, 404], [665, 413.99999999999994], [678, 442.00000000000006], [601, 433], [506, 413], [680, 432], [764, 444], [787, 446], [818, 434], [759, 425], [719, 402], [770, 434], [781, 468], [836, 477], [833, 446]], "image": "d02848.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [671, 448.5], "scale": 0.9999000000000001, "joints": [[527, 351], [615, 389], [677, 420], [668, 459.99999999999994], [599, 424], [516, 382], [678, 438.99999999999994], [762, 480], [780, 480], [824, 480], [740, 460.99999999999994], [739, 408], [779, 441.00000000000006], [775, 513], [808, 546], [835, 493]], "image": "d02849.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [669.5, 455], "scale": 1.2449000000000001, "joints": [[554, 343], [629, 395.00000000000006], [688, 435], [673, 455], [609, 417.00000000000006], [550, 361], [687, 449], [751, 504.99999999999994], [760, 513], [798, 551], [717, 476], [760, 434], [778, 483.99999999999994], [760, 513], [770, 574], [814, 558]], "image": "d02850.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [680, 402], "scale": 1.1149, "joints": [[677, 301], [717, 390], [745, 474], [745, 470], [723, 386], [686, 303], [739, 477], [655, 486.00000000000006], [637, 481], [612, 474], [703, 479], [668, 500], [648, 496], [655, 481], [678, 449], [690, 409]], "image": "d02851.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [684.5, 394.5], "scale": 1.0699, "joints": [[741, 297], [747, 389], [738, 481.99999999999994], [742, 479], [750, 389], [747, 300], [737, 479], [655, 450], [638, 441.00000000000006], [611, 421], [720, 468], [680, 464.00000000000006], [638, 463.00000000000006], [648, 445], [687, 437.99999999999994], [711, 424]], "image": "d02852.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [759, 416.5], "scale": 0.8699000000000001, "joints": [[843, 399], [776, 436], [705, 471], [707, 468], [781, 431], [845, 386], [704, 460.99999999999994], [677, 397.00000000000006], [677, 376], [690, 344], [693, 489], [675, 436], [658, 397.00000000000006], [665, 391.99999999999994], [697, 413.99999999999994], [726, 432]], "image": "d02853.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [750, 411], "scale": 1.1049, "joints": [[657, 504.99999999999994], [681, 420], [708, 347], [709, 342], [683, 418.00000000000006], [658, 504.99999999999994], [714, 342], [799, 339], [814, 350], [852, 365], [765, 436], [777, 382], [803, 338], [805, 335], [775, 380], [763, 436]], "image": "d02854.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [730, 382.5], "scale": 0.8299000000000001, "joints": [[615, 446], [667, 382], [714, 329], [719, 328], [669, 382], [614, 447], [723, 326], [809, 360], [824, 375], [850, 389], [797, 455], [796, 404], [814, 365], [814, 360], [801, 399], [801, 450]], "image": "d02855.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [702, 390.5], "scale": 0.9599000000000001, "joints": [[571, 391], [654, 353], [721, 327], [720, 324], [653, 349], [572, 388], [729, 327], [805, 372.00000000000006], [817, 389], [834, 417.00000000000006], [809, 481], [810, 421], [817, 381], [819, 383], [818, 428], [818, 475]], "image": "d02856.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [603.5, 379.5], "scale": 2.0399000000000003, "joints": [[604, 551], [621, 460.99999999999994], [621, 383], [621, 380], [621, 465], [607, 550], [623, 377], [614, 259], [602, 237], [579, 217], [630, 184], [614, 218.99999999999997], [603, 261], [618, 250], [627, 217], [622, 184]], "image": "d02857.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [533, 368.5], "scale": 2.5099, "joints": [[631, 594], [599, 486.00000000000006], [613, 382], [615, 383], [594, 490], [631, 596], [616, 379], [564, 256], [552, 230.99999999999997], [542, 188], [456, 124], [512, 178], [572, 221.00000000000003], [565, 240], [489, 212], [417, 169]], "image": "d02858.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [620, 335.5], "scale": 0.8299000000000001, "joints": [[687, 367], [639, 323], [588, 269], [584, 269], [639, 323], [688, 368.99999999999994], [583, 274], [582, 351], [582, 377], [556, 409], [680, 334], [623, 344], [586, 356], [583, 364], [627, 342], [675, 324]], "image": "d02859.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [534.5, 356], "scale": 2.7249, "joints": [[625, 609], [592, 500], [610, 386], [613, 390], [580, 507.00000000000006], [621, 611], [611, 385], [560, 241.99999999999997], [551, 223], [545, 177], [476, 94.00000000000001], [526, 161], [579, 220.00000000000003], [558, 238], [485, 191], [432, 130]], "image": "d02860.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [527.5, 365.5], "scale": 2.5099, "joints": [[635, 584], [604, 494], [621, 383], [621, 385], [597, 497], [628, 590], [619, 379], [559, 252], [545, 228], [535, 182], [459, 126], [511, 175], [571, 218.99999999999997], [560, 240], [489, 213], [415, 166]], "image": "d02861.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [541, 374], "scale": 1.6749, "joints": [[625, 522], [629, 440.00000000000006], [643, 346], [640, 346], [626, 441.00000000000006], [625, 525], [637, 341], [550, 266], [528, 257], [515, 207], [430, 256], [499, 258], [551, 246], [551, 254.00000000000003], [488, 284], [428, 300]], "image": "d02862.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [552, 374.5], "scale": 1.4899, "joints": [[630, 511], [641, 428], [648, 334], [646, 336], [638, 429], [629, 510], [642, 330], [544, 273], [527, 265], [512, 229], [437, 304], [496, 281], [545, 256], [549, 265], [497, 299], [447, 335]], "image": "d02863.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [561.5, 365.5], "scale": 1.3699000000000001, "joints": [[629, 488], [643, 406], [650, 321], [651, 323], [641, 407], [630, 488], [644, 319], [540, 285], [521, 277], [507, 233], [460, 350], [493, 313], [538, 267], [532, 286], [501, 328], [462, 375]], "image": "d02864.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [531, 305], "scale": 2.3049, "joints": [[548, 511], [550, 425], [549, 334], [547, 336], [545, 426], [544, 508.00000000000006], [544, 328], [527, 217], [520, 201], [505, 170], [515, 92.99999999999999], [526, 154], [538, 195], [534, 203], [516, 158], [506, 95]], "image": "d02865.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [495, 450], "scale": 2.0149, "joints": [[548, 631], [520, 554], [543, 473], [538, 473], [511, 562], [545, 634], [540, 472], [502, 364], [496, 348], [493, 314], [459, 258], [487, 293], [519, 343], [500, 358], [449, 317], [429, 266]], "image": "d02866.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [633, 387.5], "scale": 1.6799000000000002, "joints": [[753, 537], [719, 458], [689, 367], [657, 380], [700, 460.99999999999994], [736, 541], [667, 372.00000000000006], [608, 308], [598, 296], [590, 270], [598, 357], [637, 350], [633, 304], [577, 295], [521, 286], [533, 235]], "image": "d02867.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [477, 412], "scale": 1.6249, "joints": [[558, 569], [555, 483.99999999999994], [564, 397.00000000000006], [565, 396.00000000000006], [547, 488], [555, 571], [561, 391], [503, 303], [483, 288], [476, 259], [392, 257], [449, 273], [503, 286], [479, 302], [429, 302], [367, 297]], "image": "d02868.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [498.5, 383], "scale": 1.4849, "joints": [[561, 522], [571, 430], [579, 344], [578, 346], [565, 429], [558, 523], [579, 346], [490, 285], [470, 274], [459, 243.00000000000003], [391, 309], [440, 294], [487, 267], [467, 286], [432, 310], [383, 340]], "image": "d02869.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [513, 361], "scale": 1.2749000000000001, "joints": [[573, 476], [588, 389], [594, 297], [589, 297], [587, 390], [570, 473], [588, 292], [483, 281], [462, 271], [440, 239], [429, 383], [463, 332], [475, 272], [466, 284], [453, 332], [427, 382]], "image": "d02870.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [522, 341.5], "scale": 1.0799, "joints": [[591, 435], [599, 349], [590, 254.00000000000003], [587, 256], [593, 350], [587, 432], [583, 255.00000000000003], [492, 291], [457, 286], [436, 259], [513, 391.99999999999994], [511, 336], [484, 291], [475, 291], [490, 343], [495, 402]], "image": "d02871.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [530.5, 316], "scale": 1.0249000000000001, "joints": [[620, 397.00000000000006], [601, 312], [578, 230.99999999999997], [576, 234], [599, 314], [617, 398], [567, 232.00000000000003], [514, 298], [491, 319], [449, 312], [593, 379], [555, 333], [509, 305], [495, 312], [530, 345], [580, 385]], "image": "d02872.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, {"center": [605.5, 312], "s \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/annot/valid_old.json b/deep-high-resolution-net.pytorch/data/mpii/annot/valid_old.json new file mode 100644 index 0000000000000000000000000000000000000000..8a051481f6014912851aa62b35609e60d19506d0 --- /dev/null +++ b/deep-high-resolution-net.pytorch/data/mpii/annot/valid_old.json @@ -0,0 +1,15826 @@ +[ + { + "center": [ + 282, + 138 + ], + "scale": 0.9349000000000001, + "joints": [ + [ + 378.21863117870726, + 201.48859315589354 + ], + [ + 335.328897338403, + 168.180608365019 + ], + [ + 279.6634980988593, + 136.6977186311787 + ], + [ + 264.15019011406844, + 162.70532319391634 + ], + [ + 320.72813688212926, + 186.88783269961976 + ], + [ + 369.09315589353616, + 219.7395437262357 + ], + [ + 270.5380228136882, + 145.36692015209124 + ], + [ + 240.88022813688212, + 84.68250950570342 + ], + [ + 243.61787072243345, + 69.16920152091257 + ], + [ + 249.0931558935361, + 46.811787072243305 + ], + [ + 294.2642585551331, + 121.18441064638782 + ], + [ + 293.8079847908745, + 108.40874524714829 + ], + [ + 266.88783269961976, + 81.48859315589351 + ], + [ + 213.04752851711027, + 99.28326996197718 + ], + [ + 178.37072243346006, + 125.29087452471481 + ], + [ + 162.40114068441068, + 104.75855513307982 + ] + ], + "image": "d02400.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 282, + 138 + ], + "scale": 0.9349000000000001, + "joints": [ + [ + 378.21863117870726, + 201.48859315589354 + ], + [ + 335.328897338403, + 168.180608365019 + ], + [ + 279.6634980988593, + 136.6977186311787 + ], + [ + 264.15019011406844, + 162.70532319391634 + ], + [ + 320.72813688212926, + 186.88783269961976 + ], + [ + 369.09315589353616, + 219.7395437262357 + ], + [ + 270.5380228136882, + 145.36692015209124 + ], + [ + 240.88022813688212, + 84.68250950570342 + ], + [ + 243.61787072243345, + 69.16920152091257 + ], + [ + 249.0931558935361, + 46.811787072243305 + ], + [ + 294.2642585551331, + 121.18441064638782 + ], + [ + 293.8079847908745, + 108.40874524714829 + ], + [ + 266.88783269961976, + 81.48859315589351 + ], + [ + 213.04752851711027, + 99.28326996197718 + ], + [ + 178.37072243346006, + 125.29087452471481 + ], + [ + 162.40114068441068, + 104.75855513307982 + ] + ], + "image": "d02400.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 546, + 237.5 + ], + "scale": 0.6999000000000001, + "joints": [ + [ + 633, + 225 + ], + [ + 567, + 240 + ], + [ + 498, + 254.00000000000003 + ], + [ + 511, + 290 + ], + [ + 565, + 269 + ], + [ + 626, + 257 + ], + [ + 502, + 277 + ], + [ + 466, + 229 + ], + [ + 460, + 203 + ], + [ + 456, + 177 + ], + [ + 552, + 205 + ], + [ + 518, + 206 + ], + [ + 471, + 206 + ], + [ + 446, + 250 + ], + [ + 445, + 280 + ], + [ + 470, + 301 + ] + ], + "image": "d02401.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 493, + 272 + ], + "scale": 1.1349, + "joints": [ + [ + 591, + 361 + ], + [ + 559, + 303 + ], + [ + 530, + 241.99999999999997 + ], + [ + 493, + 256 + ], + [ + 539, + 309 + ], + [ + 576, + 366 + ], + [ + 509, + 246 + ], + [ + 468, + 199 + ], + [ + 469, + 189 + ], + [ + 473, + 171 + ], + [ + 475, + 252.99999999999997 + ], + [ + 517, + 226 + ], + [ + 503, + 199 + ], + [ + 442, + 198.00000000000003 + ], + [ + 393, + 200 + ], + [ + 395, + 166 + ] + ], + "image": "d02402.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 488.5, + 257 + ], + "scale": 1.2949000000000002, + "joints": [ + [ + 548, + 370.99999999999994 + ], + [ + 539, + 320 + ], + [ + 529, + 252.99999999999997 + ], + [ + 509, + 252 + ], + [ + 533, + 323 + ], + [ + 543, + 373.00000000000006 + ], + [ + 510, + 245 + ], + [ + 475, + 210.00000000000003 + ], + [ + 467, + 205 + ], + [ + 473, + 180 + ], + [ + 454, + 238 + ], + [ + 487, + 263 + ], + [ + 498, + 207 + ], + [ + 468, + 191 + ], + [ + 422, + 156 + ], + [ + 427, + 128 + ] + ], + "image": "d02403.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 483, + 268.5 + ], + "scale": 1.3799000000000001, + "joints": [ + [ + 551, + 379 + ], + [ + 540, + 319 + ], + [ + 532, + 254.00000000000003 + ], + [ + 504, + 249 + ], + [ + 529, + 316 + ], + [ + 539, + 381 + ], + [ + 517, + 248 + ], + [ + 477, + 214 + ], + [ + 467, + 200 + ], + [ + 471, + 178 + ], + [ + 454, + 239 + ], + [ + 485, + 264 + ], + [ + 491, + 200 + ], + [ + 466, + 189 + ], + [ + 417, + 154 + ], + [ + 429, + 132 + ] + ], + "image": "d02404.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 491.5, + 269.5 + ], + "scale": 1.4999, + "joints": [ + [ + 509, + 398 + ], + [ + 508, + 329 + ], + [ + 509, + 256 + ], + [ + 514, + 255.00000000000003 + ], + [ + 518, + 320 + ], + [ + 514, + 385 + ], + [ + 511, + 248 + ], + [ + 475, + 203 + ], + [ + 469, + 199 + ], + [ + 467, + 184 + ], + [ + 462, + 213 + ], + [ + 469, + 260 + ], + [ + 475, + 229.99999999999997 + ], + [ + 491, + 188 + ], + [ + 470, + 132 + ], + [ + 483, + 120 + ] + ], + "image": "d02405.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 495.5, + 270.5 + ], + "scale": 1.4399000000000002, + "joints": [ + [ + 474, + 397.00000000000006 + ], + [ + 485, + 323 + ], + [ + 494, + 274 + ], + [ + 523, + 265 + ], + [ + 511, + 319 + ], + [ + 493, + 391 + ], + [ + 507, + 266 + ], + [ + 494, + 204 + ], + [ + 475, + 190 + ], + [ + 453, + 181 + ], + [ + 485, + 200 + ], + [ + 461, + 236 + ], + [ + 467, + 213 + ], + [ + 510, + 181 + ], + [ + 526, + 139 + ], + [ + 509, + 139 + ] + ], + "image": "d02406.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 495, + 283 + ], + "scale": 1.2449000000000001, + "joints": [ + [ + 431, + 381 + ], + [ + 463, + 327 + ], + [ + 493, + 275 + ], + [ + 513, + 297 + ], + [ + 478, + 347 + ], + [ + 447, + 387 + ], + [ + 506, + 285 + ], + [ + 531, + 213 + ], + [ + 524, + 195 + ], + [ + 506, + 164 + ], + [ + 551, + 209.00000000000003 + ], + [ + 516, + 227 + ], + [ + 506, + 204 + ], + [ + 548, + 201 + ], + [ + 565, + 193 + ], + [ + 534, + 180 + ] + ], + "image": "d02407.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 485, + 289 + ], + "scale": 1.1849, + "joints": [ + [ + 411, + 388 + ], + [ + 453, + 334 + ], + [ + 492, + 278 + ], + [ + 499, + 300 + ], + [ + 458, + 347 + ], + [ + 416, + 392.99999999999994 + ], + [ + 499, + 290 + ], + [ + 549, + 225 + ], + [ + 555, + 210.00000000000003 + ], + [ + 552, + 181 + ], + [ + 556, + 240.99999999999997 + ], + [ + 548, + 257 + ], + [ + 536, + 220.00000000000003 + ], + [ + 538, + 222 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ] + ], + "image": "d02408.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "center": [ + 484.5, + 295.5 + ], + "scale": 1.0699, + "joints": [ + [ + 401, + 381 + ], + [ + 454, + 343 + ], + [ + 503, + 290 + ], + [ + 467, + 282 + ], + [ + 433, + 331 + ], + [ + 387, + 378 + ], + [ + 490, + 285 + ], + [ + 551, + 240.99999999999997 + ], + [ + 564, + 229 + ], + [ + 582, + 203 + ], + [ + 567, + 273 + ], + [ + 555, + 294 + ], + [ + 569, + 250 + ], + [ + 553, + 216 + ], + [ + 559, + 205 + ], + [ + 578, + 191 + ] + ], + "image": "d02409.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 484.5, + 294 + ], + "scale": 1.0549000000000002, + "joints": [ + [ + 398, + 389 + ], + [ + 456, + 342 + ], + [ + 503, + 289 + ], + [ + 467, + 284 + ], + [ + 437, + 330 + ], + [ + 390, + 374.00000000000006 + ], + [ + 489, + 284 + ], + [ + 553, + 238 + ], + [ + 567, + 225 + ], + [ + 583, + 204 + ], + [ + 547, + 268 + ], + [ + 553, + 295 + ], + [ + 567, + 250 + ], + [ + 550, + 218.99999999999997 + ], + [ + 555, + 204 + ], + [ + 579, + 193 + ] + ], + "image": "d02410.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 486.5, + 291 + ], + "scale": 0.9049, + "joints": [ + [ + 377, + 379 + ], + [ + 445, + 344 + ], + [ + 506, + 300 + ], + [ + 476, + 268 + ], + [ + 435, + 310 + ], + [ + 368, + 350 + ], + [ + 497, + 284 + ], + [ + 569, + 252.99999999999997 + ], + [ + 588, + 250 + ], + [ + 611, + 241.99999999999997 + ], + [ + 539, + 301 + ], + [ + 540, + 321 + ], + [ + 577, + 283 + ], + [ + 556, + 226 + ], + [ + 574, + 205 + ], + [ + 603, + 228 + ] + ], + "image": "d02411.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 491, + 289 + ], + "scale": 0.7749000000000001, + "joints": [ + [ + 379, + 355 + ], + [ + 435, + 334 + ], + [ + 500, + 316 + ], + [ + 493, + 284 + ], + [ + 430, + 307 + ], + [ + 368, + 330 + ], + [ + 502, + 304 + ], + [ + 571, + 283 + ], + [ + 584, + 279 + ], + [ + 610, + 285 + ], + [ + 519, + 306 + ], + [ + 520, + 322 + ], + [ + 570, + 311 + ], + [ + 572, + 250 + ], + [ + 598, + 220.00000000000003 + ], + [ + 618, + 268 + ] + ], + "image": "d02412.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 491, + 312.5 + ], + "scale": 0.37990000000000007, + "joints": [ + [ + 359, + 286 + ], + [ + 426, + 291 + ], + [ + 493, + 297 + ], + [ + 506, + 322 + ], + [ + 436, + 311 + ], + [ + 370, + 299 + ], + [ + 501, + 310 + ], + [ + 570, + 316 + ], + [ + 593, + 312 + ], + [ + 615, + 293 + ], + [ + 563, + 298 + ], + [ + 528, + 293 + ], + [ + 573, + 306 + ], + [ + 592, + 330 + ], + [ + 642, + 319 + ], + [ + 625, + 311 + ] + ], + "image": "d02413.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 497.5, + 315 + ], + "scale": 0.6749, + "joints": [ + [ + 374, + 256 + ], + [ + 456, + 282 + ], + [ + 506, + 305 + ], + [ + 504, + 338 + ], + [ + 449, + 311 + ], + [ + 372, + 283 + ], + [ + 514, + 322 + ], + [ + 578, + 333 + ], + [ + 592, + 332 + ], + [ + 625, + 321 + ], + [ + 563, + 321 + ], + [ + 546, + 293 + ], + [ + 584, + 307 + ], + [ + 597, + 375 + ], + [ + 629, + 376 + ], + [ + 634, + 337 + ] + ], + "image": "d02414.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 503, + 332.5 + ], + "scale": 0.9599000000000001, + "joints": [ + [ + 397, + 245 + ], + [ + 469, + 284 + ], + [ + 520, + 309 + ], + [ + 498, + 343 + ], + [ + 443, + 307 + ], + [ + 386, + 262 + ], + [ + 514, + 326 + ], + [ + 572, + 363 + ], + [ + 581, + 365 + ], + [ + 618, + 361 + ], + [ + 552, + 338 + ], + [ + 563, + 299 + ], + [ + 598, + 328 + ], + [ + 582, + 396.00000000000006 + ], + [ + 603, + 422 + ], + [ + 631, + 379 + ] + ], + "image": "d02415.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 502, + 331.5 + ], + "scale": 0.9799000000000001, + "joints": [ + [ + 392, + 240.99999999999997 + ], + [ + 459, + 275 + ], + [ + 521, + 306 + ], + [ + 500, + 341 + ], + [ + 445, + 304 + ], + [ + 383, + 262 + ], + [ + 515, + 325 + ], + [ + 575, + 362 + ], + [ + 582, + 363 + ], + [ + 622, + 369.99999999999994 + ], + [ + 550, + 340 + ], + [ + 562, + 299 + ], + [ + 596, + 327 + ], + [ + 578, + 393.99999999999994 + ], + [ + 605, + 422 + ], + [ + 632, + 379 + ] + ], + "image": "d02416.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 496.5, + 341 + ], + "scale": 1.0449000000000002, + "joints": [ + [ + 418, + 247 + ], + [ + 483, + 288 + ], + [ + 534, + 310 + ], + [ + 502, + 335 + ], + [ + 459, + 299 + ], + [ + 408, + 262 + ], + [ + 520, + 329 + ], + [ + 565, + 377 + ], + [ + 574, + 388 + ], + [ + 598, + 420 + ], + [ + 537, + 339 + ], + [ + 577, + 318 + ], + [ + 593, + 360 + ], + [ + 571, + 401 + ], + [ + 570, + 438.99999999999994 + ], + [ + 595, + 434 + ] + ], + "image": "d02417.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 500, + 350 + ], + "scale": 1.0649000000000002, + "joints": [ + [ + 435, + 255.00000000000003 + ], + [ + 498, + 292 + ], + [ + 551, + 317 + ], + [ + 532, + 337 + ], + [ + 488, + 302 + ], + [ + 434, + 269 + ], + [ + 541, + 337 + ], + [ + 554, + 413 + ], + [ + 554, + 423 + ], + [ + 558, + 448 + ], + [ + 535, + 327 + ], + [ + 580, + 340 + ], + [ + 583, + 385 + ], + [ + 546, + 410 + ], + [ + 537, + 437.99999999999994 + ], + [ + 540, + 447 + ] + ], + "image": "d02418.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 525.5, + 338 + ], + "scale": 0.9949000000000001, + "joints": [ + [ + 473, + 252 + ], + [ + 537, + 295 + ], + [ + 584, + 346 + ], + [ + 587, + 347 + ], + [ + 534, + 292 + ], + [ + 475, + 252 + ], + [ + 580, + 351 + ], + [ + 535, + 398 + ], + [ + 523, + 407 + ], + [ + 498, + 425 + ], + [ + 560, + 317 + ], + [ + 560, + 361 + ], + [ + 532, + 408 + ], + [ + 527, + 403 + ], + [ + 481, + 380 + ], + [ + 495, + 406 + ] + ], + "image": "d02419.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 541, + 322 + ], + "scale": 0.9349000000000001, + "joints": [ + [ + 509, + 249 + ], + [ + 559, + 305 + ], + [ + 597, + 364 + ], + [ + 594, + 365 + ], + [ + 561, + 305 + ], + [ + 514, + 249 + ], + [ + 590, + 364 + ], + [ + 522, + 388 + ], + [ + 507, + 391 + ], + [ + 482, + 391 + ], + [ + 585, + 344 + ], + [ + 557, + 368.99999999999994 + ], + [ + 527, + 395.00000000000006 + ], + [ + 522, + 375 + ], + [ + 518, + 349 + ], + [ + 508, + 327 + ] + ], + "image": "d02420.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 548, + 316 + ], + "scale": 0.8949000000000001, + "joints": [ + [ + 557, + 250 + ], + [ + 585, + 332 + ], + [ + 598, + 387 + ], + [ + 600, + 383 + ], + [ + 589, + 326 + ], + [ + 561, + 248 + ], + [ + 596, + 382 + ], + [ + 529, + 370.99999999999994 + ], + [ + 512, + 365 + ], + [ + 482, + 347 + ], + [ + 596, + 342 + ], + [ + 583, + 369.99999999999994 + ], + [ + 528, + 378 + ], + [ + 532, + 364 + ], + [ + 553, + 340 + ], + [ + 566, + 320 + ] + ], + "image": "d02421.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 544, + 207 + ], + "scale": 0.6749, + "joints": [ + [ + 428, + 265 + ], + [ + 483, + 256 + ], + [ + 550, + 256 + ], + [ + 545, + 230.99999999999997 + ], + [ + 477, + 240.99999999999997 + ], + [ + 407, + 255.00000000000003 + ], + [ + 550, + 241.99999999999997 + ], + [ + 636, + 209.00000000000003 + ], + [ + 649, + 203 + ], + [ + 682, + 198.00000000000003 + ], + [ + 592, + 205 + ], + [ + 598, + 261 + ], + [ + 640, + 240.99999999999997 + ], + [ + 641, + 184.99999999999997 + ], + [ + 659, + 150 + ], + [ + 691, + 178 + ] + ], + "image": "d02422.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 544, + 216 + ], + "scale": 0.9249, + "joints": [ + [ + 425, + 302 + ], + [ + 491, + 276 + ], + [ + 557, + 260 + ], + [ + 541, + 222 + ], + [ + 477, + 252.99999999999997 + ], + [ + 416, + 280 + ], + [ + 552, + 240.99999999999997 + ], + [ + 631, + 198.00000000000003 + ], + [ + 641, + 194 + ], + [ + 665, + 180 + ], + [ + 589, + 252 + ], + [ + 611, + 261 + ], + [ + 644, + 232.00000000000003 + ], + [ + 626, + 164 + ], + [ + 631, + 129 + ], + [ + 682, + 140 + ] + ], + "image": "d02423.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 549, + 228 + ], + "scale": 1.0849000000000002, + "joints": [ + [ + 442, + 323 + ], + [ + 502, + 287 + ], + [ + 565, + 243.00000000000003 + ], + [ + 539, + 218 + ], + [ + 485, + 266 + ], + [ + 432, + 310 + ], + [ + 555, + 228 + ], + [ + 624, + 185.99999999999997 + ], + [ + 637, + 178 + ], + [ + 664, + 166 + ], + [ + 594, + 269 + ], + [ + 608, + 251 + ], + [ + 641, + 210.00000000000003 + ], + [ + 608, + 152 + ], + [ + 605, + 134 + ], + [ + 652, + 123 + ] + ], + "image": "d02424.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 562.5, + 241.5 + ], + "scale": 1.0499, + "joints": [ + [ + 469, + 350 + ], + [ + 519, + 300 + ], + [ + 566, + 239 + ], + [ + 541, + 226 + ], + [ + 507, + 287 + ], + [ + 464, + 338 + ], + [ + 553, + 233 + ], + [ + 617, + 175 + ], + [ + 636, + 167 + ], + [ + 660, + 155 + ], + [ + 621, + 269 + ], + [ + 611, + 225 + ], + [ + 636, + 183 + ], + [ + 598, + 155 + ], + [ + 582, + 155 + ], + [ + 615, + 146 + ] + ], + "image": "d02425.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 543, + 209.5 + ], + "scale": 0.6799000000000001, + "joints": [ + [ + 419, + 270 + ], + [ + 479, + 261 + ], + [ + 548, + 258 + ], + [ + 544, + 227 + ], + [ + 475, + 241.99999999999997 + ], + [ + 405, + 252 + ], + [ + 552, + 243.00000000000003 + ], + [ + 634, + 213 + ], + [ + 651, + 206 + ], + [ + 680, + 201 + ], + [ + 589, + 201 + ], + [ + 597, + 260 + ], + [ + 642, + 241.99999999999997 + ], + [ + 644, + 184 + ], + [ + 659, + 153 + ], + [ + 695, + 183 + ] + ], + "image": "d02426.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 543.5, + 220.5 + ], + "scale": 0.3399000000000001, + "joints": [ + [ + 412, + 244 + ], + [ + 477, + 240.99999999999997 + ], + [ + 545, + 235 + ], + [ + 547, + 238 + ], + [ + 478, + 235 + ], + [ + 407, + 235 + ], + [ + 550, + 236 + ], + [ + 635, + 228 + ], + [ + 648, + 223 + ], + [ + 681, + 223 + ], + [ + 607, + 207.99999999999997 + ], + [ + 614, + 226 + ], + [ + 647, + 233 + ], + [ + 654, + 229 + ], + [ + 680, + 198.00000000000003 + ], + [ + 694, + 218 + ] + ], + "image": "d02427.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 535.5, + 241.5 + ], + "scale": 0.7699000000000001, + "joints": [ + [ + 417, + 170 + ], + [ + 492, + 195 + ], + [ + 552, + 215 + ], + [ + 539, + 252.99999999999997 + ], + [ + 477, + 225 + ], + [ + 414, + 195.99999999999997 + ], + [ + 552, + 237 + ], + [ + 625, + 262 + ], + [ + 636, + 265 + ], + [ + 677, + 272 + ], + [ + 613, + 257 + ], + [ + 598, + 216 + ], + [ + 642, + 229 + ], + [ + 630, + 291 + ], + [ + 667, + 314 + ], + [ + 676, + 300 + ] + ], + "image": "d02428.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 542.5, + 240 + ], + "scale": 1.0049000000000001, + "joints": [ + [ + 429, + 148 + ], + [ + 497, + 191 + ], + [ + 560, + 221.00000000000003 + ], + [ + 544, + 250 + ], + [ + 481, + 211 + ], + [ + 425, + 169 + ], + [ + 556, + 238 + ], + [ + 618, + 280 + ], + [ + 629, + 290 + ], + [ + 663, + 303 + ], + [ + 600, + 285 + ], + [ + 593, + 245 + ], + [ + 635, + 251 + ], + [ + 625, + 303 + ], + [ + 647, + 333 + ], + [ + 665, + 327 + ] + ], + "image": "d02429.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 597.5, + 393 + ], + "scale": 2.1649000000000003, + "joints": [ + [ + 576, + 587 + ], + [ + 591, + 487.00000000000006 + ], + [ + 609, + 383 + ], + [ + 612, + 382 + ], + [ + 592, + 486.00000000000006 + ], + [ + 577, + 589 + ], + [ + 615, + 375 + ], + [ + 623, + 275 + ], + [ + 614, + 247 + ], + [ + 580, + 211 + ], + [ + 552, + 184 + ], + [ + 595, + 196.99999999999997 + ], + [ + 607, + 273 + ], + [ + 617, + 265 + ], + [ + 600, + 191 + ], + [ + 555, + 181 + ] + ], + "image": "d02430.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 552, + 230 + ], + "scale": 1.2849000000000002, + "joints": [ + [ + 467, + 120.99999999999999 + ], + [ + 513, + 184.99999999999997 + ], + [ + 555, + 240 + ], + [ + 577, + 224 + ], + [ + 525, + 171 + ], + [ + 486, + 120 + ], + [ + 568, + 235 + ], + [ + 608, + 317 + ], + [ + 613, + 327 + ], + [ + 621, + 348 + ], + [ + 578, + 309 + ], + [ + 564, + 287 + ], + [ + 603, + 318 + ], + [ + 637, + 317 + ], + [ + 643, + 345 + ], + [ + 631, + 353 + ] + ], + "image": "d02431.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 553, + 228 + ], + "scale": 1.3349000000000002, + "joints": [ + [ + 466, + 116.00000000000001 + ], + [ + 512, + 188 + ], + [ + 558, + 238 + ], + [ + 578, + 222 + ], + [ + 525, + 170 + ], + [ + 483, + 117 + ], + [ + 574, + 237 + ], + [ + 615, + 313 + ], + [ + 620, + 323 + ], + [ + 621, + 347 + ], + [ + 590, + 291 + ], + [ + 561, + 286 + ], + [ + 594, + 315 + ], + [ + 634, + 310 + ], + [ + 639, + 335 + ], + [ + 639, + 353 + ] + ], + "image": "d02432.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 568.5, + 223 + ], + "scale": 1.4549, + "joints": [ + [ + 499, + 115 + ], + [ + 528, + 183 + ], + [ + 550, + 247 + ], + [ + 587, + 230.99999999999997 + ], + [ + 558, + 166 + ], + [ + 525, + 103.99999999999999 + ], + [ + 570, + 240.99999999999997 + ], + [ + 608, + 321 + ], + [ + 615, + 336 + ], + [ + 621, + 357 + ], + [ + 575, + 286 + ], + [ + 551, + 286 + ], + [ + 567, + 325 + ], + [ + 631, + 314 + ], + [ + 644, + 346 + ], + [ + 616, + 368 + ] + ], + "image": "d02433.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 580.5, + 232.5 + ], + "scale": 1.6099, + "joints": [ + [ + 587, + 102 + ], + [ + 589, + 170 + ], + [ + 582, + 241.99999999999997 + ], + [ + 584, + 246 + ], + [ + 590, + 172 + ], + [ + 586, + 103 + ], + [ + 581, + 245 + ], + [ + 590, + 319 + ], + [ + 590, + 331 + ], + [ + 590, + 372.00000000000006 + ], + [ + 599, + 315 + ], + [ + 607, + 301 + ], + [ + 582, + 331 + ], + [ + 585, + 339 + ], + [ + 608, + 375 + ], + [ + 592, + 384 + ] + ], + "image": "d02434.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 587.5, + 237.5 + ], + "scale": 1.5499, + "joints": [ + [ + 615, + 120 + ], + [ + 615, + 195 + ], + [ + 606, + 249 + ], + [ + 581, + 251 + ], + [ + 595, + 188 + ], + [ + 607, + 114 + ], + [ + 593, + 252.99999999999997 + ], + [ + 571, + 331 + ], + [ + 566, + 344 + ], + [ + 575, + 374.00000000000006 + ], + [ + 591, + 319 + ], + [ + 602, + 290 + ], + [ + 584, + 334 + ], + [ + 546, + 341 + ], + [ + 561, + 389 + ], + [ + 576, + 388 + ] + ], + "image": "d02435.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 584, + 246.5 + ], + "scale": 1.4999, + "joints": [ + [ + 655, + 126.99999999999999 + ], + [ + 635, + 193 + ], + [ + 618, + 261 + ], + [ + 582, + 254.00000000000003 + ], + [ + 606, + 195.99999999999997 + ], + [ + 646, + 113 + ], + [ + 599, + 263 + ], + [ + 557, + 338 + ], + [ + 555, + 349 + ], + [ + 554, + 381 + ], + [ + 580, + 325 + ], + [ + 609, + 306 + ], + [ + 578, + 345 + ], + [ + 531, + 331 + ], + [ + 514, + 365 + ], + [ + 533, + 378 + ] + ], + "image": "d02436.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 591.5, + 245 + ], + "scale": 1.3349000000000002, + "joints": [ + [ + 686, + 146 + ], + [ + 644, + 216 + ], + [ + 623, + 266 + ], + [ + 590, + 247 + ], + [ + 625, + 191 + ], + [ + 673, + 128 + ], + [ + 601, + 264 + ], + [ + 556, + 322 + ], + [ + 549, + 332 + ], + [ + 530, + 359 + ], + [ + 575, + 314 + ], + [ + 608, + 323 + ], + [ + 578, + 346 + ], + [ + 525, + 315 + ], + [ + 487, + 327 + ], + [ + 506, + 354 + ] + ], + "image": "d02437.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 589, + 239 + ], + "scale": 1.2949000000000002, + "joints": [ + [ + 686, + 147 + ], + [ + 646, + 213 + ], + [ + 624, + 270 + ], + [ + 588, + 252 + ], + [ + 624, + 196.99999999999997 + ], + [ + 668, + 132 + ], + [ + 602, + 266 + ], + [ + 563, + 327 + ], + [ + 553, + 335 + ], + [ + 520, + 363 + ], + [ + 570, + 316 + ], + [ + 610, + 325 + ], + [ + 578, + 350 + ], + [ + 524, + 314 + ], + [ + 487, + 325 + ], + [ + 507, + 355 + ] + ], + "image": "d02438.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 601.5, + 240 + ], + "scale": 1.0749000000000002, + "joints": [ + [ + 706, + 165 + ], + [ + 656, + 228 + ], + [ + 622, + 280 + ], + [ + 603, + 252.99999999999997 + ], + [ + 639, + 206 + ], + [ + 689, + 154 + ], + [ + 608, + 270 + ], + [ + 557, + 314 + ], + [ + 545, + 321 + ], + [ + 509, + 330 + ], + [ + 565, + 303 + ], + [ + 600, + 334 + ], + [ + 562, + 345 + ], + [ + 524, + 296 + ], + [ + 501, + 287 + ], + [ + 490, + 320 + ] + ], + "image": "d02439.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 631, + 248.5 + ], + "scale": 0.7099000000000001, + "joints": [ + [ + 730, + 198.00000000000003 + ], + [ + 672, + 250 + ], + [ + 626, + 299 + ], + [ + 627, + 297 + ], + [ + 675, + 246 + ], + [ + 728, + 194 + ], + [ + 618, + 297 + ], + [ + 562, + 282 + ], + [ + 544, + 272 + ], + [ + 523, + 254.00000000000003 + ], + [ + 585, + 312 + ], + [ + 549, + 319 + ], + [ + 539, + 300 + ], + [ + 557, + 271 + ], + [ + 549, + 240.99999999999997 + ], + [ + 535, + 207 + ] + ], + "image": "d02440.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590.5, + 257 + ], + "scale": 1.2249, + "joints": [ + [ + 635, + 360 + ], + [ + 589, + 292 + ], + [ + 547, + 235 + ], + [ + 551, + 235 + ], + [ + 592, + 293 + ], + [ + 636, + 360 + ], + [ + 551, + 229 + ], + [ + 594, + 171 + ], + [ + 603, + 163 + ], + [ + 629, + 143 + ], + [ + 608, + 237 + ], + [ + 585, + 196.99999999999997 + ], + [ + 591, + 164 + ], + [ + 594, + 184 + ], + [ + 579, + 229 + ], + [ + 579, + 267 + ] + ], + "image": "d02441.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 640.5, + 381 + ], + "scale": 1.2849000000000002, + "joints": [ + [ + 772, + 374.00000000000006 + ], + [ + 657, + 422 + ], + [ + 531, + 469 + ], + [ + 544, + 466 + ], + [ + 665, + 415.99999999999994 + ], + [ + 776, + 366 + ], + [ + 538, + 463.00000000000006 + ], + [ + 572, + 341 + ], + [ + 577, + 324 + ], + [ + 596, + 259 + ], + [ + 641, + 434 + ], + [ + 588, + 382 + ], + [ + 555, + 328 + ], + [ + 571, + 361 + ], + [ + 602, + 407 + ], + [ + 666, + 446 + ] + ], + "image": "d02442.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 652.5, + 370 + ], + "scale": 1.3349000000000002, + "joints": [ + [ + 783, + 479 + ], + [ + 659, + 462.00000000000006 + ], + [ + 520, + 431 + ], + [ + 526, + 431 + ], + [ + 656, + 451 + ], + [ + 785, + 478 + ], + [ + 529, + 424 + ], + [ + 594, + 316 + ], + [ + 604, + 295 + ], + [ + 638, + 246 + ], + [ + 642, + 422 + ], + [ + 600, + 361 + ], + [ + 580, + 302 + ], + [ + 598, + 330 + ], + [ + 604, + 402 + ], + [ + 646, + 483.99999999999994 + ] + ], + "image": "d02443.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 632.5, + 408 + ], + "scale": 1.9149, + "joints": [ + [ + 726, + 571 + ], + [ + 631, + 481.99999999999994 + ], + [ + 527, + 396.00000000000006 + ], + [ + 530, + 393.99999999999994 + ], + [ + 632, + 481 + ], + [ + 732, + 568 + ], + [ + 536, + 387 + ], + [ + 613, + 282 + ], + [ + 623, + 273 + ], + [ + 671, + 226 + ], + [ + 652, + 405 + ], + [ + 602, + 330 + ], + [ + 602, + 269 + ], + [ + 611, + 316 + ], + [ + 591, + 386 + ], + [ + 595, + 500 + ] + ], + "image": "d02444.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 634.5, + 395.5 + ], + "scale": 2.3199, + "joints": [ + [ + 539, + 602 + ], + [ + 566, + 486.00000000000006 + ], + [ + 584, + 350 + ], + [ + 573, + 345 + ], + [ + 554, + 483.99999999999994 + ], + [ + 532, + 602 + ], + [ + 581, + 342 + ], + [ + 671, + 222 + ], + [ + 693, + 211 + ], + [ + 738, + 187.00000000000003 + ], + [ + 701, + 365 + ], + [ + 649, + 286 + ], + [ + 681, + 220.00000000000003 + ], + [ + 673, + 224 + ], + [ + 639, + 299 + ], + [ + 668, + 342 + ] + ], + "image": "d02445.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 610, + 373.5 + ], + "scale": 2.1599, + "joints": [ + [ + 459, + 576 + ], + [ + 535, + 473 + ], + [ + 603, + 346 + ], + [ + 550, + 327 + ], + [ + 503, + 462.00000000000006 + ], + [ + 448, + 570 + ], + [ + 589, + 329 + ], + [ + 703, + 212 + ], + [ + 727, + 199 + ], + [ + 776, + 171 + ], + [ + 725, + 383 + ], + [ + 682, + 298 + ], + [ + 722, + 222 + ], + [ + 643, + 192 + ], + [ + 597, + 218 + ], + [ + 643, + 239 + ] + ], + "image": "d02446.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 577, + 343 + ], + "scale": 2.2249, + "joints": [ + [ + 397, + 538 + ], + [ + 512, + 449 + ], + [ + 621, + 343 + ], + [ + 556, + 297 + ], + [ + 481, + 411 + ], + [ + 381, + 518 + ], + [ + 596, + 313 + ], + [ + 708, + 207 + ], + [ + 745, + 187.00000000000003 + ], + [ + 794, + 169 + ], + [ + 708, + 400 + ], + [ + 709, + 317 + ], + [ + 757, + 240.99999999999997 + ], + [ + 669, + 163 + ], + [ + 632, + 161 + ], + [ + 705, + 134 + ] + ], + "image": "d02447.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 556.5, + 294.5 + ], + "scale": 2.1499, + "joints": [ + [ + 355, + 482.99999999999994 + ], + [ + 481, + 413 + ], + [ + 626, + 336 + ], + [ + 574, + 271 + ], + [ + 454, + 368.99999999999994 + ], + [ + 341, + 452 + ], + [ + 602, + 299 + ], + [ + 743, + 207.99999999999997 + ], + [ + 767, + 195 + ], + [ + 813, + 170 + ], + [ + 662, + 375 + ], + [ + 719, + 337 + ], + [ + 780, + 264 + ], + [ + 706, + 141 + ], + [ + 690, + 101 + ], + [ + 781, + 87 + ] + ], + "image": "d02448.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 560.5, + 293 + ], + "scale": 2.1249000000000002, + "joints": [ + [ + 355, + 488 + ], + [ + 482, + 412 + ], + [ + 619, + 340 + ], + [ + 564, + 277 + ], + [ + 448, + 367 + ], + [ + 337, + 449 + ], + [ + 602, + 305 + ], + [ + 741, + 209.00000000000003 + ], + [ + 765, + 195 + ], + [ + 810, + 173 + ], + [ + 657, + 374.00000000000006 + ], + [ + 715, + 337 + ], + [ + 781, + 265 + ], + [ + 706, + 147 + ], + [ + 691, + 105.00000000000001 + ], + [ + 775, + 91 + ] + ], + "image": "d02449.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 565, + 252 + ], + "scale": 1.8449, + "joints": [ + [ + 322, + 420 + ], + [ + 463, + 377 + ], + [ + 607, + 337 + ], + [ + 582, + 256 + ], + [ + 437, + 322 + ], + [ + 305, + 377 + ], + [ + 602, + 307 + ], + [ + 748, + 227 + ], + [ + 782, + 210.00000000000003 + ], + [ + 844, + 182 + ], + [ + 661, + 319 + ], + [ + 695, + 349 + ], + [ + 777, + 300 + ], + [ + 749, + 162 + ], + [ + 755, + 75 + ], + [ + 848, + 103.99999999999999 + ] + ], + "image": "d02450.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 547, + 228 + ], + "scale": 0.7449000000000001, + "joints": [ + [ + 259, + 282 + ], + [ + 408, + 280 + ], + [ + 564, + 289 + ], + [ + 573, + 267 + ], + [ + 415, + 252 + ], + [ + 262, + 254.00000000000003 + ], + [ + 572, + 277 + ], + [ + 770, + 227 + ], + [ + 790, + 220.00000000000003 + ], + [ + 878, + 228 + ], + [ + 703, + 194 + ], + [ + 649, + 229.99999999999997 + ], + [ + 758, + 270 + ], + [ + 797, + 240.99999999999997 + ], + [ + 873, + 175 + ], + [ + 894, + 227 + ] + ], + "image": "d02451.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 545, + 242.5 + ], + "scale": 0.8699000000000001, + "joints": [ + [ + 260, + 175 + ], + [ + 433, + 194 + ], + [ + 568, + 207 + ], + [ + 569, + 259 + ], + [ + 430, + 227 + ], + [ + 254, + 198.00000000000003 + ], + [ + 573, + 233 + ], + [ + 757, + 263 + ], + [ + 786, + 264 + ], + [ + 874, + 246 + ], + [ + 724, + 227 + ], + [ + 646, + 192 + ], + [ + 751, + 213 + ], + [ + 798, + 315 + ], + [ + 883, + 298 + ], + [ + 883, + 277 + ] + ], + "image": "d02452.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 536, + 253.5 + ], + "scale": 1.5799, + "joints": [ + [ + 263, + 109.99999999999999 + ], + [ + 421, + 156 + ], + [ + 574, + 191 + ], + [ + 548, + 278 + ], + [ + 396, + 212 + ], + [ + 239, + 150 + ], + [ + 566, + 230.99999999999997 + ], + [ + 745, + 285 + ], + [ + 775, + 292 + ], + [ + 856, + 305 + ], + [ + 703, + 269 + ], + [ + 662, + 180 + ], + [ + 761, + 212 + ], + [ + 761, + 362 + ], + [ + 842, + 400 + ], + [ + 861, + 358 + ] + ], + "image": "d02453.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 521, + 246.5 + ], + "scale": 2.1199, + "joints": [ + [ + 268, + 48 + ], + [ + 424, + 131 + ], + [ + 568, + 189 + ], + [ + 525, + 274 + ], + [ + 390, + 193 + ], + [ + 238, + 99.00000000000001 + ], + [ + 553, + 232.00000000000003 + ], + [ + 722, + 327 + ], + [ + 735, + 332 + ], + [ + 828, + 367 + ], + [ + 672, + 317 + ], + [ + 654, + 220.00000000000003 + ], + [ + 756, + 238 + ], + [ + 729, + 395.00000000000006 + ], + [ + 783, + 454 + ], + [ + 809, + 408 + ] + ], + "image": "d02454.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 520.5, + 251 + ], + "scale": 2.1749, + "joints": [ + [ + 267, + 52 + ], + [ + 412, + 132 + ], + [ + 569, + 187.00000000000003 + ], + [ + 524, + 273 + ], + [ + 381, + 192 + ], + [ + 241, + 102 + ], + [ + 553, + 233 + ], + [ + 719, + 323 + ], + [ + 735, + 332 + ], + [ + 833, + 374.00000000000006 + ], + [ + 680, + 328 + ], + [ + 654, + 211 + ], + [ + 756, + 236 + ], + [ + 734, + 399 + ], + [ + 786, + 457 + ], + [ + 819, + 406 + ] + ], + "image": "d02455.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 516.5, + 243.5 + ], + "scale": 2.3399, + "joints": [ + [ + 287, + 5 + ], + [ + 424, + 124 + ], + [ + 553, + 205 + ], + [ + 505, + 247 + ], + [ + 388, + 156 + ], + [ + 264, + 42 + ], + [ + 537, + 237 + ], + [ + 677, + 350 + ], + [ + 700, + 374.00000000000006 + ], + [ + 756, + 447 + ], + [ + 629, + 362 + ], + [ + 614, + 283 + ], + [ + 710, + 312 + ], + [ + 679, + 377 + ], + [ + 713, + 474 + ], + [ + 773, + 417.00000000000006 + ] + ], + "image": "d02456.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 517.5, + 247.5 + ], + "scale": 2.4299, + "joints": [ + [ + -1, + -1 + ], + [ + 421, + 115 + ], + [ + 503, + 247 + ], + [ + 564, + 201 + ], + [ + 459, + 82 + ], + [ + -1, + -1 + ], + [ + 544, + 235 + ], + [ + 613, + 386 + ], + [ + 621, + 419.00000000000006 + ], + [ + 632, + 469 + ], + [ + 550, + 352 + ], + [ + 506, + 333 + ], + [ + 562, + 413 + ], + [ + 672, + 385 + ], + [ + 681, + 450 + ], + [ + 655, + 489 + ] + ], + "image": "d02457.jpg", + "joints_vis": [ + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 526, + 261 + ], + "scale": 2.5449, + "joints": [ + [ + -1, + -1 + ], + [ + 443, + 116.00000000000001 + ], + [ + 484, + 254.00000000000003 + ], + [ + 553, + 235 + ], + [ + 500, + 98 + ], + [ + -1, + -1 + ], + [ + 516, + 251 + ], + [ + 561, + 404 + ], + [ + 566, + 440.00000000000006 + ], + [ + 586, + 485.00000000000006 + ], + [ + 509, + 332 + ], + [ + 472, + 329 + ], + [ + 493, + 435 + ], + [ + 629, + 415.99999999999994 + ], + [ + 660, + 469 + ], + [ + 604, + 503.99999999999994 + ] + ], + "image": "d02458.jpg", + "joints_vis": [ + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 529.5, + 264.5 + ], + "scale": 2.6099, + "joints": [ + [ + -1, + -1 + ], + [ + 473, + 115 + ], + [ + 473, + 263 + ], + [ + 543, + 257 + ], + [ + 526, + 112 + ], + [ + -1, + -1 + ], + [ + 504, + 269 + ], + [ + 533, + 421 + ], + [ + 534, + 453 + ], + [ + 544, + 498 + ], + [ + 506, + 323 + ], + [ + 466, + 318 + ], + [ + 464, + 422 + ], + [ + 570, + 446 + ], + [ + 623, + 507.00000000000006 + ], + [ + 541, + 520 + ] + ], + "image": "d02459.jpg", + "joints_vis": [ + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 505, + 279 + ], + "scale": 2.7049000000000003, + "joints": [ + [ + 501, + 5 + ], + [ + 506, + 133 + ], + [ + 485, + 263 + ], + [ + 526, + 279 + ], + [ + 539, + 133 + ], + [ + 533, + 6 + ], + [ + 504, + 277 + ], + [ + 515, + 409 + ], + [ + 526, + 442.00000000000006 + ], + [ + 513, + 510 + ], + [ + 538, + 407 + ], + [ + 521, + 363 + ], + [ + 489, + 435 + ], + [ + 498, + 453 + ], + [ + 554, + 542 + ], + [ + 502, + 540 + ] + ], + "image": "d02460.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 489.5, + 272 + ], + "scale": 2.1949, + "joints": [ + [ + 662, + 100 + ], + [ + 595, + 228 + ], + [ + 548, + 327 + ], + [ + 482, + 294 + ], + [ + 553, + 195 + ], + [ + 633, + 82 + ], + [ + 513, + 319 + ], + [ + 435, + 422 + ], + [ + 423, + 436.99999999999994 + ], + [ + 387, + 477 + ], + [ + 457, + 404 + ], + [ + 530, + 412 + ], + [ + 470, + 465 + ], + [ + 368, + 406 + ], + [ + 311, + 435 + ], + [ + 352, + 482.99999999999994 + ] + ], + "image": "d02461.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 499, + 280 + ], + "scale": 1.9449, + "joints": [ + [ + 681, + 151 + ], + [ + 592, + 252.99999999999997 + ], + [ + 543, + 345 + ], + [ + 502, + 303 + ], + [ + 572, + 212 + ], + [ + 652, + 120 + ], + [ + 517, + 330 + ], + [ + 429, + 409 + ], + [ + 411, + 419.00000000000006 + ], + [ + 340, + 440.00000000000006 + ], + [ + 447, + 387 + ], + [ + 514, + 436.99999999999994 + ], + [ + 441, + 465 + ], + [ + 365, + 376 + ], + [ + 309, + 368.99999999999994 + ], + [ + 304, + 449 + ] + ], + "image": "d02462.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 496.5, + 291 + ], + "scale": 1.6249, + "joints": [ + [ + 702, + 181 + ], + [ + 601, + 273 + ], + [ + 535, + 356 + ], + [ + 523, + 316 + ], + [ + 586, + 240.99999999999997 + ], + [ + 678, + 155 + ], + [ + 524, + 336 + ], + [ + 419, + 380 + ], + [ + 394, + 385 + ], + [ + 313, + 384 + ], + [ + 470, + 378 + ], + [ + 480, + 444 + ], + [ + 409, + 431 + ], + [ + 391, + 356 + ], + [ + 342, + 320 + ], + [ + 282, + 327 + ] + ], + "image": "d02463.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 522.5, + 291 + ], + "scale": 1.3349000000000002, + "joints": [ + [ + 708, + 211 + ], + [ + 614, + 280 + ], + [ + 537, + 362 + ], + [ + 542, + 335 + ], + [ + 606, + 261 + ], + [ + 692, + 190 + ], + [ + 534, + 351 + ], + [ + 421, + 351 + ], + [ + 394, + 347 + ], + [ + 333, + 318 + ], + [ + 483, + 375 + ], + [ + 436, + 420 + ], + [ + 392, + 382 + ], + [ + 406, + 327 + ], + [ + 370, + 281 + ], + [ + 329, + 236 + ] + ], + "image": "d02464.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 528, + 295.5 + ], + "scale": 1.3799000000000001, + "joints": [ + [ + 706, + 207.99999999999997 + ], + [ + 617, + 285 + ], + [ + 535, + 366 + ], + [ + 540, + 337 + ], + [ + 610, + 258 + ], + [ + 693, + 192 + ], + [ + 530, + 349 + ], + [ + 416, + 349 + ], + [ + 391, + 344 + ], + [ + 335, + 323 + ], + [ + 482, + 380 + ], + [ + 437, + 422 + ], + [ + 394, + 380 + ], + [ + 408, + 330 + ], + [ + 370, + 283 + ], + [ + 322, + 230.99999999999997 + ] + ], + "image": "d02465.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 554.5, + 290 + ], + "scale": 1.0249000000000001, + "joints": [ + [ + 710, + 234 + ], + [ + 620, + 295 + ], + [ + 539, + 368.99999999999994 + ], + [ + 544, + 365 + ], + [ + 621, + 285 + ], + [ + 698, + 225 + ], + [ + 538, + 362 + ], + [ + 430, + 317 + ], + [ + 413, + 302 + ], + [ + 371, + 256 + ], + [ + 505, + 385 + ], + [ + 454, + 376 + ], + [ + 398, + 339 + ], + [ + 425, + 304 + ], + [ + 415, + 256 + ], + [ + 418, + 203 + ] + ], + "image": "d02466.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 595, + 284 + ], + "scale": 1.1249, + "joints": [ + [ + 719, + 279 + ], + [ + 619, + 320 + ], + [ + 524, + 375 + ], + [ + 528, + 376 + ], + [ + 626, + 323 + ], + [ + 724, + 277 + ], + [ + 522, + 368.99999999999994 + ], + [ + 475, + 260 + ], + [ + 473, + 232.00000000000003 + ], + [ + 478, + 177 + ], + [ + 500, + 352 + ], + [ + 461, + 315 + ], + [ + 446, + 254.00000000000003 + ], + [ + 483, + 247 + ], + [ + 522, + 248 + ], + [ + 546, + 257 + ] + ], + "image": "d02467.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 606, + 279.5 + ], + "scale": 1.1699000000000002, + "joints": [ + [ + 738, + 307 + ], + [ + 618, + 325 + ], + [ + 506, + 353 + ], + [ + 510, + 352 + ], + [ + 621, + 323 + ], + [ + 736, + 306 + ], + [ + 510, + 345 + ], + [ + 503, + 239 + ], + [ + 510, + 218 + ], + [ + 533, + 165 + ], + [ + 510, + 324 + ], + [ + 484, + 290 + ], + [ + 477, + 229.99999999999997 + ], + [ + 515, + 239 + ], + [ + 540, + 261 + ], + [ + 566, + 289 + ] + ], + "image": "d02468.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 527, + 433 + ], + "scale": 1.6149, + "joints": [ + [ + 548, + 572 + ], + [ + 579, + 501 + ], + [ + 596, + 411 + ], + [ + 591, + 413 + ], + [ + 575, + 499 + ], + [ + 549, + 571 + ], + [ + 595, + 406 + ], + [ + 543, + 323 + ], + [ + 526, + 315 + ], + [ + 503, + 296 + ], + [ + 455, + 311 + ], + [ + 487, + 345 + ], + [ + 525, + 328 + ], + [ + 537, + 310 + ], + [ + 492, + 286 + ], + [ + 459, + 274 + ] + ], + "image": "d02469.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 528, + 391 + ], + "scale": 1.4549, + "joints": [ + [ + 580, + 524 + ], + [ + 595, + 431 + ], + [ + 592, + 349 + ], + [ + 620, + 343 + ], + [ + 620, + 428 + ], + [ + 585, + 527 + ], + [ + 606, + 343 + ], + [ + 530, + 291 + ], + [ + 509, + 289 + ], + [ + 471, + 283 + ], + [ + 493, + 375 + ], + [ + 508, + 352 + ], + [ + 509, + 314 + ], + [ + 520, + 278 + ], + [ + 478, + 264 + ], + [ + 434, + 254.00000000000003 + ] + ], + "image": "d02470.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 520.5, + 368 + ], + "scale": 1.3449, + "joints": [ + [ + 610, + 481 + ], + [ + 608, + 403 + ], + [ + 589, + 321 + ], + [ + 620, + 318 + ], + [ + 629, + 400 + ], + [ + 620, + 475 + ], + [ + 603, + 316 + ], + [ + 529, + 279 + ], + [ + 507, + 282 + ], + [ + 462, + 287 + ], + [ + 530, + 376 + ], + [ + 528, + 346 + ], + [ + 511, + 312 + ], + [ + 511, + 261 + ], + [ + 463, + 246 + ], + [ + 412, + 239 + ] + ], + "image": "d02471.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 529, + 348.5 + ], + "scale": 1.1599000000000002, + "joints": [ + [ + 648, + 444 + ], + [ + 623, + 376 + ], + [ + 580, + 309 + ], + [ + 616, + 291 + ], + [ + 642, + 369.99999999999994 + ], + [ + 655, + 436.99999999999994 + ], + [ + 596, + 296 + ], + [ + 523, + 276 + ], + [ + 503, + 278 + ], + [ + 471, + 282 + ], + [ + 562, + 374.00000000000006 + ], + [ + 560, + 342 + ], + [ + 522, + 307 + ], + [ + 503, + 249 + ], + [ + 454, + 232.00000000000003 + ], + [ + 412, + 240 + ] + ], + "image": "d02472.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 558, + 327.5 + ], + "scale": 1.0599, + "joints": [ + [ + 689, + 417.00000000000006 + ], + [ + 635, + 357 + ], + [ + 577, + 303 + ], + [ + 609, + 273 + ], + [ + 659, + 344 + ], + [ + 699, + 403 + ], + [ + 586, + 284 + ], + [ + 520, + 274 + ], + [ + 499, + 279 + ], + [ + 465, + 287 + ], + [ + 591, + 317 + ], + [ + 547, + 298 + ], + [ + 526, + 282 + ], + [ + 495, + 238 + ], + [ + 452, + 225 + ], + [ + 407, + 244 + ] + ], + "image": "d02473.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 552.5, + 328 + ], + "scale": 1.0649000000000002, + "joints": [ + [ + 690, + 418.00000000000006 + ], + [ + 635, + 354 + ], + [ + 576, + 302 + ], + [ + 609, + 272 + ], + [ + 656, + 341 + ], + [ + 695, + 400 + ], + [ + 586, + 283 + ], + [ + 518, + 275 + ], + [ + 500, + 282 + ], + [ + 463, + 288 + ], + [ + 583, + 322 + ], + [ + 546, + 296 + ], + [ + 529, + 284 + ], + [ + 497, + 240 + ], + [ + 456, + 225 + ], + [ + 407, + 245 + ] + ], + "image": "d02474.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 584, + 302.5 + ], + "scale": 0.7999, + "joints": [ + [ + 717, + 375 + ], + [ + 649, + 334 + ], + [ + 585, + 296 + ], + [ + 599, + 267 + ], + [ + 656, + 308 + ], + [ + 722, + 354 + ], + [ + 579, + 281 + ], + [ + 520, + 273 + ], + [ + 497, + 276 + ], + [ + 468, + 284 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 515, + 283 + ], + [ + 507, + 241.99999999999997 + ], + [ + 452, + 232.00000000000003 + ], + [ + 427, + 264 + ] + ], + "image": "d02475.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 619, + 268 + ], + "scale": 0.37490000000000007, + "joints": [ + [ + 749, + 280 + ], + [ + 666, + 277 + ], + [ + 593, + 256 + ], + [ + 591, + 252.99999999999997 + ], + [ + 662, + 263 + ], + [ + 748, + 270 + ], + [ + 589, + 259 + ], + [ + 524, + 265 + ], + [ + 508, + 265 + ], + [ + 473, + 277 + ], + [ + 550, + 284 + ], + [ + 535, + 268 + ], + [ + 504, + 255.00000000000003 + ], + [ + 488, + 244 + ], + [ + 486, + 263 + ], + [ + 512, + 292 + ] + ], + "image": "d02476.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 617, + 253 + ], + "scale": 0.43490000000000006, + "joints": [ + [ + 751, + 237 + ], + [ + 670, + 244 + ], + [ + 604, + 230.99999999999997 + ], + [ + 588, + 255.00000000000003 + ], + [ + 668, + 246 + ], + [ + 753, + 237 + ], + [ + 589, + 248 + ], + [ + 520, + 262 + ], + [ + 497, + 265 + ], + [ + 461, + 277 + ], + [ + 566, + 250 + ], + [ + 550, + 235 + ], + [ + 512, + 236 + ], + [ + 490, + 265 + ], + [ + 526, + 290 + ], + [ + 553, + 292 + ] + ], + "image": "d02477.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 618.5, + 236 + ], + "scale": 0.6349000000000001, + "joints": [ + [ + 752, + 195.99999999999997 + ], + [ + 664, + 212 + ], + [ + 596, + 218.99999999999997 + ], + [ + 597, + 261 + ], + [ + 664, + 233 + ], + [ + 738, + 202 + ], + [ + 586, + 240 + ], + [ + 515, + 259 + ], + [ + 495, + 271 + ], + [ + 469, + 282 + ], + [ + 482, + 251 + ], + [ + 511, + 218 + ], + [ + 506, + 241.99999999999997 + ], + [ + 509, + 294 + ], + [ + 562, + 307 + ], + [ + 575, + 288 + ] + ], + "image": "d02478.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 613, + 226.5 + ], + "scale": 0.8399000000000001, + "joints": [ + [ + 731, + 162 + ], + [ + 657, + 193 + ], + [ + 591, + 212 + ], + [ + 606, + 252.99999999999997 + ], + [ + 666, + 212 + ], + [ + 728, + 183 + ], + [ + 590, + 237 + ], + [ + 523, + 272 + ], + [ + 503, + 284 + ], + [ + 479, + 293 + ], + [ + 468, + 266 + ], + [ + 473, + 220.00000000000003 + ], + [ + 492, + 250 + ], + [ + 530, + 305 + ], + [ + 587, + 291 + ], + [ + 567, + 281 + ] + ], + "image": "d02479.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 614.5, + 227 + ], + "scale": 0.8249000000000001, + "joints": [ + [ + 729, + 163 + ], + [ + 659, + 190 + ], + [ + 588, + 214 + ], + [ + 601, + 254.00000000000003 + ], + [ + 670, + 213 + ], + [ + 729, + 185.99999999999997 + ], + [ + 586, + 238 + ], + [ + 516, + 278 + ], + [ + 502, + 287 + ], + [ + 480, + 296 + ], + [ + 467, + 266 + ], + [ + 468, + 220.00000000000003 + ], + [ + 493, + 240 + ], + [ + 535, + 303 + ], + [ + 588, + 291 + ], + [ + 557, + 282 + ] + ], + "image": "d02480.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 596.5, + 215 + ], + "scale": 1.0049000000000001, + "joints": [ + [ + 710, + 135 + ], + [ + 642, + 175 + ], + [ + 584, + 226 + ], + [ + 612, + 252.99999999999997 + ], + [ + 656, + 204 + ], + [ + 716, + 160 + ], + [ + 591, + 243.00000000000003 + ], + [ + 526, + 280 + ], + [ + 511, + 287 + ], + [ + 488, + 299 + ], + [ + 478, + 281 + ], + [ + 456, + 248 + ], + [ + 500, + 260 + ], + [ + 549, + 301 + ], + [ + 597, + 265 + ], + [ + 550, + 223 + ] + ], + "image": "d02481.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 600, + 207 + ], + "scale": 1.3849, + "joints": [ + [ + 683, + 100 + ], + [ + 640, + 162 + ], + [ + 606, + 229.99999999999997 + ], + [ + 596, + 212 + ], + [ + 637, + 158 + ], + [ + 689, + 103 + ], + [ + 594, + 225 + ], + [ + 540, + 286 + ], + [ + 525, + 293 + ], + [ + 497, + 295 + ], + [ + 508, + 317 + ], + [ + 506, + 336 + ], + [ + 535, + 308 + ], + [ + 536, + 254.00000000000003 + ], + [ + 566, + 216 + ], + [ + 547, + 243.00000000000003 + ] + ], + "image": "d02482.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 594, + 202 + ], + "scale": 1.5049000000000001, + "joints": [ + [ + 665, + 89 + ], + [ + 632, + 172 + ], + [ + 612, + 228 + ], + [ + 580, + 207.99999999999997 + ], + [ + 616, + 154 + ], + [ + 656, + 92.99999999999999 + ], + [ + 593, + 218 + ], + [ + 552, + 290 + ], + [ + 536, + 299 + ], + [ + 499, + 310 + ], + [ + 533, + 322 + ], + [ + 556, + 348 + ], + [ + 562, + 307 + ], + [ + 523, + 258 + ], + [ + 552, + 222 + ], + [ + 558, + 257 + ] + ], + "image": "d02483.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590, + 198.5 + ], + "scale": 1.5299, + "joints": [ + [ + 655, + 80 + ], + [ + 638, + 154 + ], + [ + 620, + 217 + ], + [ + 577, + 207.99999999999997 + ], + [ + 611, + 148 + ], + [ + 638, + 76 + ], + [ + 597, + 216 + ], + [ + 557, + 291 + ], + [ + 548, + 310 + ], + [ + 519, + 333 + ], + [ + 546, + 330 + ], + [ + 583, + 344 + ], + [ + 578, + 311 + ], + [ + 524, + 276 + ], + [ + 552, + 239 + ], + [ + 576, + 267 + ] + ], + "image": "d02484.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 595.5, + 190.5 + ], + "scale": 1.6199000000000001, + "joints": [ + [ + 642, + 59 + ], + [ + 631, + 146 + ], + [ + 612, + 204 + ], + [ + 579, + 209.00000000000003 + ], + [ + 604, + 147 + ], + [ + 624, + 61.00000000000001 + ], + [ + 596, + 210.00000000000003 + ], + [ + 582, + 288 + ], + [ + 574, + 315 + ], + [ + 549, + 344 + ], + [ + 570, + 346 + ], + [ + 590, + 336 + ], + [ + 585, + 316 + ], + [ + 548, + 297 + ], + [ + 580, + 255.00000000000003 + ], + [ + 609, + 270 + ] + ], + "image": "d02485.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 595.5, + 190.5 + ], + "scale": 1.5999, + "joints": [ + [ + 640, + 59 + ], + [ + 631, + 146 + ], + [ + 610, + 206 + ], + [ + 581, + 210.00000000000003 + ], + [ + 602, + 146 + ], + [ + 621, + 63 + ], + [ + 595, + 212 + ], + [ + 581, + 293 + ], + [ + 575, + 321 + ], + [ + 547, + 346 + ], + [ + 565, + 345 + ], + [ + 589, + 336 + ], + [ + 583, + 314 + ], + [ + 548, + 296 + ], + [ + 581, + 254.00000000000003 + ], + [ + 607, + 268 + ] + ], + "image": "d02486.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 592, + 196.5 + ], + "scale": 1.6699000000000002, + "joints": [ + [ + 617, + 62 + ], + [ + 610, + 148 + ], + [ + 592, + 215 + ], + [ + 589, + 216 + ], + [ + 599, + 147 + ], + [ + 606, + 62 + ], + [ + 587, + 223 + ], + [ + 590, + 304 + ], + [ + 588, + 317 + ], + [ + 587, + 353 + ], + [ + 583, + 359 + ], + [ + 591, + 332 + ], + [ + 594, + 311 + ], + [ + 585, + 301 + ], + [ + 606, + 257 + ], + [ + 601, + 288 + ] + ], + "image": "d02487.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 593, + 194 + ], + "scale": 1.6549, + "joints": [ + [ + 553, + 65 + ], + [ + 558, + 148 + ], + [ + 558, + 228 + ], + [ + 604, + 224 + ], + [ + 586, + 140 + ], + [ + 572, + 63 + ], + [ + 585, + 229 + ], + [ + 604, + 314 + ], + [ + 609, + 324 + ], + [ + 637, + 342 + ], + [ + 604, + 350 + ], + [ + 559, + 360 + ], + [ + 576, + 330 + ], + [ + 639, + 293 + ], + [ + 625, + 244 + ], + [ + -1, + -1 + ] + ], + "image": "d02488.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "center": [ + 582.5, + 215.5 + ], + "scale": 1.6599000000000002, + "joints": [ + [ + 525, + 82 + ], + [ + 549, + 158 + ], + [ + 577, + 229 + ], + [ + 608, + 214 + ], + [ + 575, + 150 + ], + [ + 547, + 76 + ], + [ + 596, + 229.99999999999997 + ], + [ + 620, + 300 + ], + [ + 625, + 312 + ], + [ + 640, + 333 + ], + [ + 625, + 348 + ], + [ + 590, + 384 + ], + [ + 610, + 323 + ], + [ + 641, + 284 + ], + [ + 621, + 252.99999999999997 + ], + [ + 567, + 270 + ] + ], + "image": "d02489.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 574.5, + 222 + ], + "scale": 1.5849000000000002, + "joints": [ + [ + 497, + 92.99999999999999 + ], + [ + 542, + 167 + ], + [ + 592, + 233 + ], + [ + 605, + 207.99999999999997 + ], + [ + 553, + 151 + ], + [ + 521, + 81 + ], + [ + 601, + 229 + ], + [ + 617, + 316 + ], + [ + 618, + 327 + ], + [ + 627, + 349 + ], + [ + 654, + 340 + ], + [ + 644, + 375 + ], + [ + 636, + 312 + ], + [ + 625, + 308 + ], + [ + 583, + 261 + ], + [ + 576, + 289 + ] + ], + "image": "d02490.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 586, + 225.5 + ], + "scale": 1.3699000000000001, + "joints": [ + [ + 484, + 115 + ], + [ + 547, + 184.99999999999997 + ], + [ + 603, + 233 + ], + [ + 568, + 240.99999999999997 + ], + [ + 540, + 181 + ], + [ + 499, + 114 + ], + [ + 590, + 243.00000000000003 + ], + [ + 632, + 318 + ], + [ + 637, + 328 + ], + [ + 648, + 345 + ], + [ + 664, + 349 + ], + [ + 689, + 352 + ], + [ + 660, + 320 + ], + [ + 629, + 311 + ], + [ + 581, + 279 + ], + [ + 602, + 311 + ] + ], + "image": "d02491.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 587, + 228 + ], + "scale": 1.3749, + "joints": [ + [ + 481, + 115 + ], + [ + 549, + 183 + ], + [ + 601, + 236 + ], + [ + 572, + 240 + ], + [ + 544, + 178 + ], + [ + 497, + 112 + ], + [ + 586, + 240.99999999999997 + ], + [ + 633, + 312 + ], + [ + 638, + 325 + ], + [ + 648, + 348 + ], + [ + 666, + 348 + ], + [ + 696, + 357 + ], + [ + 661, + 314 + ], + [ + 627, + 303 + ], + [ + 579, + 277 + ], + [ + 604, + 311 + ] + ], + "image": "d02492.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 591, + 249 + ], + "scale": 1.2449000000000001, + "joints": [ + [ + 478, + 140 + ], + [ + 546, + 193 + ], + [ + 601, + 233 + ], + [ + 569, + 259 + ], + [ + 524, + 201 + ], + [ + 473, + 138 + ], + [ + 588, + 255.00000000000003 + ], + [ + 639, + 318 + ], + [ + 647, + 338 + ], + [ + 646, + 373.00000000000006 + ], + [ + 673, + 341 + ], + [ + 713, + 333 + ], + [ + 670, + 303 + ], + [ + 609, + 334 + ], + [ + 590, + 300 + ], + [ + 633, + 292 + ] + ], + "image": "d02493.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569.5, + 266.5 + ], + "scale": 0.9499000000000001, + "joints": [ + [ + 460, + 188 + ], + [ + 531, + 228 + ], + [ + 585, + 263 + ], + [ + 585, + 291 + ], + [ + 517, + 247 + ], + [ + 454, + 214 + ], + [ + 590, + 275 + ], + [ + 659, + 315 + ], + [ + 672, + 325 + ], + [ + 706, + 348 + ], + [ + 699, + 361 + ], + [ + 702, + 324 + ], + [ + 670, + 317 + ], + [ + 658, + 335 + ], + [ + 631, + 290 + ], + [ + 646, + 276 + ] + ], + "image": "d02494.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 576.5, + 284 + ], + "scale": 0.7649000000000001, + "joints": [ + [ + 444, + 221.00000000000003 + ], + [ + 531, + 259 + ], + [ + 594, + 293 + ], + [ + 599, + 301 + ], + [ + 529, + 270 + ], + [ + 441, + 232.00000000000003 + ], + [ + 603, + 296 + ], + [ + 679, + 325 + ], + [ + 693, + 328 + ], + [ + 721, + 330 + ], + [ + 730, + 327 + ], + [ + 702, + 347 + ], + [ + 689, + 347 + ], + [ + 681, + 310 + ], + [ + 640, + 283 + ], + [ + 627, + 299 + ] + ], + "image": "d02495.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 576.5, + 332.5 + ], + "scale": 0.5199000000000001, + "joints": [ + [ + 445, + 318 + ], + [ + 529, + 336 + ], + [ + 599, + 351 + ], + [ + 601, + 306 + ], + [ + 529, + 304 + ], + [ + 441, + 301 + ], + [ + 603, + 332 + ], + [ + 679, + 328 + ], + [ + 694, + 327 + ], + [ + 717, + 313 + ], + [ + 729, + 334 + ], + [ + 738, + 377 + ], + [ + 695, + 360 + ], + [ + 675, + 295 + ], + [ + 620, + 302 + ], + [ + 650, + 319 + ] + ], + "image": "d02496.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 580.5, + 336 + ], + "scale": 0.4949000000000001, + "joints": [ + [ + 445, + 319 + ], + [ + 538, + 337 + ], + [ + 600, + 352 + ], + [ + 602, + 306 + ], + [ + 533, + 308 + ], + [ + 450, + 300 + ], + [ + 601, + 330 + ], + [ + 678, + 324 + ], + [ + 700, + 322 + ], + [ + 718, + 316 + ], + [ + 726, + 333 + ], + [ + 736, + 378 + ], + [ + 695, + 360 + ], + [ + 674, + 293 + ], + [ + 619, + 299 + ], + [ + 653, + 313 + ] + ], + "image": "d02497.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 594.5, + 336 + ], + "scale": 0.3249000000000001, + "joints": [ + [ + 456, + 364 + ], + [ + 536, + 364 + ], + [ + 610, + 360 + ], + [ + 591, + 318 + ], + [ + 522, + 331 + ], + [ + 437, + 334 + ], + [ + 609, + 338 + ], + [ + 685, + 328 + ], + [ + 701, + 328 + ], + [ + 720, + 321 + ], + [ + 728, + 317 + ], + [ + 749, + 348 + ], + [ + 702, + 348 + ], + [ + 667, + 311 + ], + [ + 631, + 322 + ], + [ + 656, + 359 + ] + ], + "image": "d02498.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 608.5, + 351 + ], + "scale": 0.8349000000000001, + "joints": [ + [ + 476, + 421 + ], + [ + 552, + 388 + ], + [ + 613, + 355 + ], + [ + 613, + 384 + ], + [ + 556, + 398 + ], + [ + 491, + 410 + ], + [ + 618, + 374.00000000000006 + ], + [ + 692, + 345 + ], + [ + 705, + 340 + ], + [ + 737, + 335 + ], + [ + 743, + 312 + ], + [ + 735, + 275 + ], + [ + 698, + 314 + ], + [ + 693, + 361 + ], + [ + 664, + 392.99999999999994 + ], + [ + 663, + 368 + ] + ], + "image": "d02499.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 615.5, + 361 + ], + "scale": 1.0549000000000002, + "joints": [ + [ + 490, + 442.00000000000006 + ], + [ + 553, + 403 + ], + [ + 615, + 362 + ], + [ + 627, + 404 + ], + [ + 574, + 422 + ], + [ + 516, + 444 + ], + [ + 625, + 385 + ], + [ + 693, + 341 + ], + [ + 707, + 333 + ], + [ + 737, + 319 + ], + [ + 747, + 292 + ], + [ + 697, + 260 + ], + [ + 686, + 310 + ], + [ + 712, + 372.00000000000006 + ], + [ + 685, + 405 + ], + [ + 681, + 375 + ] + ], + "image": "d02500.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612, + 365 + ], + "scale": 1.1649, + "joints": [ + [ + 501, + 455 + ], + [ + 554, + 421 + ], + [ + 617, + 377 + ], + [ + 639, + 412 + ], + [ + 579, + 438.99999999999994 + ], + [ + 521, + 472 + ], + [ + 630, + 388 + ], + [ + 687, + 339 + ], + [ + 700, + 326 + ], + [ + 720, + 299 + ], + [ + 723, + 252.99999999999997 + ], + [ + 673, + 273 + ], + [ + 679, + 310 + ], + [ + 721, + 359 + ], + [ + 705, + 401 + ], + [ + 672, + 401 + ] + ], + "image": "d02501.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612, + 365.5 + ], + "scale": 1.1499000000000001, + "joints": [ + [ + 497, + 460.99999999999994 + ], + [ + 551, + 421 + ], + [ + 617, + 375 + ], + [ + 637, + 412 + ], + [ + 573, + 440.00000000000006 + ], + [ + 519, + 473 + ], + [ + 631, + 391 + ], + [ + 690, + 338 + ], + [ + 703, + 327 + ], + [ + 723, + 301 + ], + [ + 720, + 252.99999999999997 + ], + [ + 674, + 271 + ], + [ + 682, + 313 + ], + [ + 718, + 358 + ], + [ + 706, + 400 + ], + [ + 669, + 398 + ] + ], + "image": "d02502.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 609, + 391.5 + ], + "scale": 1.0199, + "joints": [ + [ + 512, + 470 + ], + [ + 577, + 436 + ], + [ + 630, + 397.00000000000006 + ], + [ + 658, + 414.99999999999994 + ], + [ + 596, + 442.00000000000006 + ], + [ + 534, + 485.00000000000006 + ], + [ + 646, + 402 + ], + [ + 682, + 343 + ], + [ + 687, + 327 + ], + [ + 691, + 303 + ], + [ + 679, + 292 + ], + [ + 668, + 295 + ], + [ + 674, + 321 + ], + [ + 714, + 340 + ], + [ + 705, + 392.99999999999994 + ], + [ + 674, + 436 + ] + ], + "image": "d02503.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 611.5, + 381.5 + ], + "scale": 1.2199, + "joints": [ + [ + 526, + 478 + ], + [ + 594, + 446 + ], + [ + 650, + 411 + ], + [ + 674, + 420 + ], + [ + 609, + 450 + ], + [ + 551, + 486.00000000000006 + ], + [ + 664, + 411 + ], + [ + 674, + 329 + ], + [ + 667, + 312 + ], + [ + 661, + 290 + ], + [ + 605, + 262 + ], + [ + 638, + 287 + ], + [ + 667, + 324 + ], + [ + 692, + 330 + ], + [ + 697, + 381 + ], + [ + 702, + 428 + ] + ], + "image": "d02504.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 630, + 408 + ], + "scale": 1.0649000000000002, + "joints": [ + [ + 566, + 496 + ], + [ + 632, + 453 + ], + [ + 694, + 405 + ], + [ + 698, + 407 + ], + [ + 635, + 452 + ], + [ + 569, + 500 + ], + [ + 697, + 400 + ], + [ + 652, + 340 + ], + [ + 629, + 331 + ], + [ + 603, + 318 + ], + [ + 704, + 396.00000000000006 + ], + [ + 674, + 368 + ], + [ + 642, + 326 + ], + [ + 654, + 337 + ], + [ + 675, + 375 + ], + [ + 702, + 396.00000000000006 + ] + ], + "image": "d02505.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 643, + 425 + ], + "scale": 0.9549000000000001, + "joints": [ + [ + 587, + 505.99999999999994 + ], + [ + 650, + 447 + ], + [ + 705, + 392.99999999999994 + ], + [ + 709, + 391.99999999999994 + ], + [ + 651, + 450 + ], + [ + 588, + 505.99999999999994 + ], + [ + 705, + 387 + ], + [ + 635, + 350 + ], + [ + 610, + 349 + ], + [ + 581, + 349 + ], + [ + 690, + 388 + ], + [ + 668, + 368 + ], + [ + 631, + 336 + ], + [ + 643, + 349 + ], + [ + 668, + 375 + ], + [ + 706, + 403 + ] + ], + "image": "d02506.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 536, + 424.5 + ], + "scale": 1.5899, + "joints": [ + [ + 665, + 542 + ], + [ + 655, + 443 + ], + [ + 617, + 365 + ], + [ + 656, + 351 + ], + [ + 680, + 440.00000000000006 + ], + [ + 680, + 542 + ], + [ + 632, + 355 + ], + [ + 538, + 323 + ], + [ + 514, + 327 + ], + [ + 466, + 335 + ], + [ + 575, + 449 + ], + [ + 564, + 411 + ], + [ + 526, + 363 + ], + [ + 514, + 293 + ], + [ + 456, + 275 + ], + [ + 397, + 275 + ] + ], + "image": "d02507.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 556, + 402.5 + ], + "scale": 1.3499, + "joints": [ + [ + 716, + 520 + ], + [ + 667, + 423 + ], + [ + 612, + 356 + ], + [ + 656, + 338 + ], + [ + 699, + 420 + ], + [ + 724, + 510 + ], + [ + 630, + 342 + ], + [ + 532, + 325 + ], + [ + 508, + 331 + ], + [ + 463, + 337 + ], + [ + 595, + 408 + ], + [ + 582, + 388 + ], + [ + 544, + 372.00000000000006 + ], + [ + 501, + 282 + ], + [ + 449, + 270 + ], + [ + 397, + 285 + ] + ], + "image": "d02508.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 594, + 385.5 + ], + "scale": 1.1699000000000002, + "joints": [ + [ + 750, + 486.00000000000006 + ], + [ + 677, + 413 + ], + [ + 607, + 362 + ], + [ + 643, + 321 + ], + [ + 708, + 398 + ], + [ + 769, + 469 + ], + [ + 617, + 340 + ], + [ + 535, + 321 + ], + [ + 513, + 330 + ], + [ + 467, + 346 + ], + [ + 615, + 419.00000000000006 + ], + [ + 607, + 380 + ], + [ + 540, + 362 + ], + [ + 507, + 284 + ], + [ + 454, + 269 + ], + [ + 402, + 303 + ] + ], + "image": "d02509.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 656, + 305 + ], + "scale": 0.5649000000000001, + "joints": [ + [ + 833, + 268 + ], + [ + 741, + 287 + ], + [ + 639, + 273 + ], + [ + 621, + 302 + ], + [ + 736, + 288 + ], + [ + 833, + 280 + ], + [ + 621, + 290 + ], + [ + 519, + 317 + ], + [ + 497, + 326 + ], + [ + 463, + 334 + ], + [ + 482, + 305 + ], + [ + 498, + 298 + ], + [ + 520, + 283 + ], + [ + 495, + 317 + ], + [ + 540, + 345 + ], + [ + 577, + 352 + ] + ], + "image": "d02510.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 658.5, + 308.5 + ], + "scale": 0.5599000000000001, + "joints": [ + [ + 838, + 280 + ], + [ + 732, + 287 + ], + [ + 640, + 271 + ], + [ + 620, + 301 + ], + [ + 725, + 290 + ], + [ + 822, + 270 + ], + [ + 623, + 293 + ], + [ + 515, + 314 + ], + [ + 492, + 325 + ], + [ + 462, + 336 + ], + [ + 480, + 309 + ], + [ + 497, + 298 + ], + [ + 520, + 281 + ], + [ + 491, + 318 + ], + [ + 536, + 343 + ], + [ + 570, + 352 + ] + ], + "image": "d02511.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 657.5, + 279 + ], + "scale": 0.8049000000000001, + "joints": [ + [ + 832, + 224 + ], + [ + 731, + 245 + ], + [ + 636, + 248 + ], + [ + 633, + 306 + ], + [ + 726, + 268 + ], + [ + 820, + 232.00000000000003 + ], + [ + 625, + 277 + ], + [ + 523, + 309 + ], + [ + 500, + 323 + ], + [ + 468, + 334 + ], + [ + 476, + 298 + ], + [ + 504, + 254.00000000000003 + ], + [ + 510, + 278 + ], + [ + 514, + 349 + ], + [ + 584, + 361 + ], + [ + 601, + 329 + ] + ], + "image": "d02512.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 649.5, + 262.5 + ], + "scale": 1.0599, + "joints": [ + [ + 810, + 176 + ], + [ + 720, + 213 + ], + [ + 627, + 249 + ], + [ + 649, + 299 + ], + [ + 728, + 244 + ], + [ + 814, + 198.00000000000003 + ], + [ + 632, + 274 + ], + [ + 532, + 320 + ], + [ + 511, + 334 + ], + [ + 482, + 346 + ], + [ + 458, + 310 + ], + [ + 456, + 245 + ], + [ + 503, + 277 + ], + [ + 547, + 359 + ], + [ + 616, + 343 + ], + [ + 610, + 314 + ] + ], + "image": "d02513.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 631.5, + 238.5 + ], + "scale": 1.1999000000000002, + "joints": [ + [ + 799, + 136 + ], + [ + 706, + 187.00000000000003 + ], + [ + 622, + 250 + ], + [ + 659, + 291 + ], + [ + 724, + 221.00000000000003 + ], + [ + 807, + 165 + ], + [ + 631, + 275 + ], + [ + 538, + 325 + ], + [ + 516, + 337 + ], + [ + 486, + 353 + ], + [ + 468, + 331 + ], + [ + 435, + 276 + ], + [ + 504, + 294 + ], + [ + 568, + 354 + ], + [ + 623, + 306 + ], + [ + 573, + 250 + ] + ], + "image": "d02514.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 634.5, + 219 + ], + "scale": 1.4549, + "joints": [ + [ + 778, + 102 + ], + [ + 702, + 168 + ], + [ + 635, + 250 + ], + [ + 672, + 258 + ], + [ + 716, + 191 + ], + [ + 794, + 128 + ], + [ + 640, + 264 + ], + [ + 553, + 327 + ], + [ + 526, + 336 + ], + [ + 494, + 333 + ], + [ + 505, + 355 + ], + [ + 460, + 335 + ], + [ + 525, + 322 + ], + [ + 565, + 323 + ], + [ + 602, + 272 + ], + [ + 574, + 250 + ] + ], + "image": "d02515.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 631.5, + 210.5 + ], + "scale": 1.9999, + "joints": [ + [ + 751, + 51 + ], + [ + 690, + 167 + ], + [ + 660, + 246 + ], + [ + 616, + 213 + ], + [ + 673, + 137 + ], + [ + 761, + 49 + ], + [ + 631, + 234 + ], + [ + 564, + 309 + ], + [ + 544, + 329 + ], + [ + 502, + 354 + ], + [ + 535, + 370.99999999999994 + ], + [ + 561, + 418.00000000000006 + ], + [ + 577, + 358 + ], + [ + 530, + 276 + ], + [ + 572, + 229 + ], + [ + 578, + 276 + ] + ], + "image": "d02516.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 637, + 214 + ], + "scale": 1.9849, + "joints": [ + [ + 748, + 50.00000000000001 + ], + [ + 686, + 170 + ], + [ + 658, + 243.00000000000003 + ], + [ + 620, + 213 + ], + [ + 673, + 141 + ], + [ + 762, + 43 + ], + [ + 640, + 234 + ], + [ + 558, + 320 + ], + [ + 534, + 334 + ], + [ + 500, + 352 + ], + [ + 543, + 367 + ], + [ + 555, + 413 + ], + [ + 581, + 356 + ], + [ + 528, + 276 + ], + [ + 573, + 228 + ], + [ + 577, + 281 + ] + ], + "image": "d02517.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 633.5, + 207.5 + ], + "scale": 2.0199000000000003, + "joints": [ + [ + 738, + 22 + ], + [ + 699, + 136 + ], + [ + 665, + 230.99999999999997 + ], + [ + 609, + 210.00000000000003 + ], + [ + 670, + 113 + ], + [ + 721, + 17 + ], + [ + 637, + 218.99999999999997 + ], + [ + 578, + 322 + ], + [ + 557, + 346 + ], + [ + 511, + 375 + ], + [ + 547, + 379 + ], + [ + 605, + 411 + ], + [ + 595, + 356 + ], + [ + 529, + 292 + ], + [ + 577, + 245 + ], + [ + 612, + 294 + ] + ], + "image": "d02518.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 627.5, + 205 + ], + "scale": 1.9649, + "joints": [ + [ + 716, + 10 + ], + [ + 689, + 131 + ], + [ + 653, + 213 + ], + [ + 617, + 214 + ], + [ + 650, + 125 + ], + [ + 692, + 13 + ], + [ + 632, + 214 + ], + [ + 591, + 330 + ], + [ + 578, + 359 + ], + [ + 547, + 391 + ], + [ + 585, + 385 + ], + [ + 612, + 391 + ], + [ + 603, + 351 + ], + [ + 560, + 321 + ], + [ + 611, + 263 + ], + [ + 649, + 294 + ] + ], + "image": "d02519.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 627.5, + 210 + ], + "scale": 2.0349, + "joints": [ + [ + -1, + -1 + ], + [ + 668, + 111 + ], + [ + 638, + 203 + ], + [ + 616, + 207.99999999999997 + ], + [ + 648, + 115 + ], + [ + -1, + -1 + ], + [ + 630, + 210.00000000000003 + ], + [ + 613, + 333 + ], + [ + 610, + 353 + ], + [ + 597, + 405 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 613, + 348 + ], + [ + 597, + 337 + ], + [ + 614, + 315 + ], + [ + 643, + 272 + ] + ], + "image": "d02520.jpg", + "joints_vis": [ + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 615, + 212.5 + ], + "scale": 2.0199000000000003, + "joints": [ + [ + 657, + 8 + ], + [ + 637, + 96 + ], + [ + 595, + 206 + ], + [ + 629, + 221.00000000000003 + ], + [ + 640, + 86 + ], + [ + 646, + 9 + ], + [ + 613, + 224 + ], + [ + 619, + 337 + ], + [ + 621, + 360 + ], + [ + 649, + 406 + ], + [ + 597, + 383 + ], + [ + 566, + 375 + ], + [ + 590, + 352 + ], + [ + 651, + 340 + ], + [ + 665, + 266 + ], + [ + 656, + 263 + ] + ], + "image": "d02521.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625.5, + 212 + ], + "scale": 2.0549, + "joints": [ + [ + 579, + 6.999999999999999 + ], + [ + 586, + 117 + ], + [ + 587, + 229 + ], + [ + 644, + 225 + ], + [ + 623, + 112 + ], + [ + 605, + 6 + ], + [ + 614, + 234 + ], + [ + 639, + 332 + ], + [ + 647, + 346 + ], + [ + 677, + 386 + ], + [ + 634, + 407 + ], + [ + 571, + 412 + ], + [ + 597, + 360 + ], + [ + 687, + 316 + ], + [ + 660, + 244 + ], + [ + 633, + 264 + ] + ], + "image": "d02522.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 594, + 224.5 + ], + "scale": 2.0699, + "joints": [ + [ + 481, + 57.99999999999999 + ], + [ + 549, + 151 + ], + [ + 616, + 247 + ], + [ + 618, + 244 + ], + [ + 565, + 143 + ], + [ + 510, + 50.00000000000001 + ], + [ + 616, + 245 + ], + [ + 651, + 346 + ], + [ + 656, + 365 + ], + [ + 660, + 400 + ], + [ + 680, + 402 + ], + [ + 711, + 422 + ], + [ + 681, + 359 + ], + [ + 630, + 330 + ], + [ + 594, + 281 + ], + [ + 600, + 325 + ] + ], + "image": "d02523.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 609.5, + 237.5 + ], + "scale": 1.6899000000000002, + "joints": [ + [ + 465, + 100 + ], + [ + 545, + 176 + ], + [ + 626, + 241.99999999999997 + ], + [ + 581, + 262 + ], + [ + 525, + 180 + ], + [ + 464, + 80 + ], + [ + 599, + 259 + ], + [ + 648, + 356 + ], + [ + 661, + 380 + ], + [ + 677, + 413 + ], + [ + 699, + 391.99999999999994 + ], + [ + 762, + 393.99999999999994 + ], + [ + 698, + 335 + ], + [ + 616, + 368 + ], + [ + 588, + 320 + ], + [ + 653, + 327 + ] + ], + "image": "d02524.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 593, + 268.5 + ], + "scale": 1.6099, + "joints": [ + [ + 453, + 137 + ], + [ + 551, + 209.00000000000003 + ], + [ + 610, + 250 + ], + [ + 574, + 299 + ], + [ + 511, + 223 + ], + [ + 435, + 142 + ], + [ + 596, + 273 + ], + [ + 669, + 365 + ], + [ + 681, + 382 + ], + [ + 705, + 428 + ], + [ + 717, + 389 + ], + [ + 761, + 366 + ], + [ + 716, + 350 + ], + [ + 634, + 393.99999999999994 + ], + [ + 615, + 335 + ], + [ + 675, + 319 + ] + ], + "image": "d02525.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 585, + 283.5 + ], + "scale": 1.4899, + "joints": [ + [ + 449, + 150 + ], + [ + 543, + 218.99999999999997 + ], + [ + 606, + 266 + ], + [ + 581, + 313 + ], + [ + 510, + 240.99999999999997 + ], + [ + 430, + 170 + ], + [ + 600, + 285 + ], + [ + 680, + 362 + ], + [ + 689, + 378 + ], + [ + 716, + 428 + ], + [ + 724, + 391 + ], + [ + 751, + 365 + ], + [ + 715, + 350 + ], + [ + 657, + 397.00000000000006 + ], + [ + 632, + 331 + ], + [ + 677, + 310 + ] + ], + "image": "d02526.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 576, + 316.5 + ], + "scale": 1.0499, + "joints": [ + [ + 419, + 225 + ], + [ + 510, + 271 + ], + [ + 596, + 324 + ], + [ + 601, + 333 + ], + [ + 502, + 290 + ], + [ + 408, + 249 + ], + [ + 601, + 332 + ], + [ + 700, + 380 + ], + [ + 720, + 383 + ], + [ + 762, + 385 + ], + [ + 775, + 379 + ], + [ + 738, + 413.99999999999994 + ], + [ + 715, + 413 + ], + [ + 705, + 362 + ], + [ + 652, + 322 + ], + [ + 648, + 311 + ] + ], + "image": "d02527.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 573.5, + 337.5 + ], + "scale": 1.0499, + "joints": [ + [ + 400, + 257 + ], + [ + 494, + 315 + ], + [ + 587, + 368.99999999999994 + ], + [ + 601, + 347 + ], + [ + 508, + 308 + ], + [ + 406, + 273 + ], + [ + 600, + 362 + ], + [ + 705, + 383 + ], + [ + 730, + 385 + ], + [ + 776, + 382 + ], + [ + 758, + 408 + ], + [ + 729, + 440.00000000000006 + ], + [ + 697, + 415.99999999999994 + ], + [ + 715, + 345 + ], + [ + 647, + 320 + ], + [ + 651, + 344 + ] + ], + "image": "d02528.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 570.5, + 359.5 + ], + "scale": 0.9699000000000001, + "joints": [ + [ + 393, + 288 + ], + [ + 497, + 344 + ], + [ + 587, + 388 + ], + [ + 609, + 349 + ], + [ + 504, + 322 + ], + [ + 399, + 301 + ], + [ + 602, + 376 + ], + [ + 707, + 383 + ], + [ + 727, + 383 + ], + [ + 766, + 373.00000000000006 + ], + [ + 750, + 409 + ], + [ + 742, + 450 + ], + [ + 709, + 429 + ], + [ + 714, + 337 + ], + [ + 638, + 318 + ], + [ + 645, + 349 + ] + ], + "image": "d02529.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 566.5, + 378 + ], + "scale": 0.8949000000000001, + "joints": [ + [ + 407, + 331 + ], + [ + 500, + 365 + ], + [ + 592, + 400 + ], + [ + 610, + 353 + ], + [ + 509, + 332 + ], + [ + 415, + 316 + ], + [ + 604, + 380 + ], + [ + 708, + 379 + ], + [ + 730, + 377 + ], + [ + 764, + 359 + ], + [ + 758, + 397.00000000000006 + ], + [ + 761, + 456 + ], + [ + 711, + 429 + ], + [ + 706, + 330 + ], + [ + 630, + 327 + ], + [ + 624, + 360 + ] + ], + "image": "d02530.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 571.5, + 389 + ], + "scale": 0.6749, + "joints": [ + [ + 396, + 368 + ], + [ + 509, + 393.99999999999994 + ], + [ + 599, + 414.99999999999994 + ], + [ + 603, + 352 + ], + [ + 510, + 351 + ], + [ + 406, + 348 + ], + [ + 612, + 384 + ], + [ + 710, + 380 + ], + [ + 730, + 368.99999999999994 + ], + [ + 756, + 355 + ], + [ + 767, + 388 + ], + [ + 780, + 449 + ], + [ + 731, + 421 + ], + [ + 693, + 332 + ], + [ + 627, + 345 + ], + [ + 657, + 364 + ] + ], + "image": "d02531.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 598.5, + 393.5 + ], + "scale": 0.4899000000000001, + "joints": [ + [ + 408, + 426 + ], + [ + 513, + 425 + ], + [ + 622, + 417.00000000000006 + ], + [ + 593, + 363 + ], + [ + 510, + 384 + ], + [ + 413, + 391 + ], + [ + 621, + 388 + ], + [ + 718, + 382 + ], + [ + 734, + 378 + ], + [ + 759, + 369.99999999999994 + ], + [ + 768, + 367 + ], + [ + 812, + 413 + ], + [ + 746, + 401 + ], + [ + 694, + 355 + ], + [ + 644, + 370.99999999999994 + ], + [ + 663, + 399 + ] + ], + "image": "d02532.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 598.5, + 391 + ], + "scale": 0.5149000000000001, + "joints": [ + [ + 401, + 425 + ], + [ + 515, + 424 + ], + [ + 616, + 419.00000000000006 + ], + [ + 595, + 365 + ], + [ + 506, + 385 + ], + [ + 400, + 391.99999999999994 + ], + [ + 618, + 390 + ], + [ + 716, + 378 + ], + [ + 735, + 374.00000000000006 + ], + [ + 757, + 366 + ], + [ + 767, + 362 + ], + [ + 811, + 405 + ], + [ + 754, + 403 + ], + [ + 699, + 354 + ], + [ + 648, + 369.99999999999994 + ], + [ + 667, + 409 + ] + ], + "image": "d02533.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 601, + 397.5 + ], + "scale": 0.6099000000000001, + "joints": [ + [ + 417, + 446 + ], + [ + 525, + 436.99999999999994 + ], + [ + 624, + 415.99999999999994 + ], + [ + 591, + 380 + ], + [ + 519, + 409 + ], + [ + 414, + 414.99999999999994 + ], + [ + 621, + 396.00000000000006 + ], + [ + 723, + 379 + ], + [ + 739, + 374.00000000000006 + ], + [ + 763, + 364 + ], + [ + 775, + 357 + ], + [ + 815, + 380 + ], + [ + 755, + 391.99999999999994 + ], + [ + 703, + 366 + ], + [ + 668, + 368.99999999999994 + ], + [ + 681, + 413.99999999999994 + ] + ], + "image": "d02534.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 605, + 402.5 + ], + "scale": 0.6999000000000001, + "joints": [ + [ + 429, + 469 + ], + [ + 531, + 447 + ], + [ + 625, + 409 + ], + [ + 603, + 390 + ], + [ + 520, + 421 + ], + [ + 410, + 441.00000000000006 + ], + [ + 630, + 403 + ], + [ + 728, + 390 + ], + [ + 744, + 390 + ], + [ + 772, + 388 + ], + [ + 769, + 344 + ], + [ + 812, + 347 + ], + [ + 748, + 369.99999999999994 + ], + [ + 719, + 401 + ], + [ + 640, + 442.00000000000006 + ], + [ + 704, + 430 + ] + ], + "image": "d02535.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 608.5, + 401 + ], + "scale": 0.9849000000000001, + "joints": [ + [ + 443, + 487.00000000000006 + ], + [ + 541, + 448 + ], + [ + 623, + 404 + ], + [ + 614, + 441.00000000000006 + ], + [ + 541, + 456 + ], + [ + 430, + 469 + ], + [ + 625, + 430 + ], + [ + 722, + 389 + ], + [ + 741, + 385 + ], + [ + 778, + 377 + ], + [ + 788, + 340 + ], + [ + 795, + 309 + ], + [ + 743, + 347 + ], + [ + 702, + 411 + ], + [ + 667, + 456 + ], + [ + 714, + 427 + ] + ], + "image": "d02536.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 613, + 396 + ], + "scale": 1.1449, + "joints": [ + [ + 464, + 490 + ], + [ + 539, + 450 + ], + [ + 628, + 401 + ], + [ + 619, + 451 + ], + [ + 546, + 472 + ], + [ + 459, + 488 + ], + [ + 632, + 428 + ], + [ + 730, + 387 + ], + [ + 745, + 384 + ], + [ + 779, + 375 + ], + [ + 783, + 329 + ], + [ + 774, + 284 + ], + [ + 728, + 334 + ], + [ + 730, + 407 + ], + [ + 685, + 464.00000000000006 + ], + [ + 720, + 428 + ] + ], + "image": "d02537.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 623, + 408 + ], + "scale": 1.4249, + "joints": [ + [ + 474, + 519 + ], + [ + 550, + 470 + ], + [ + 626, + 413 + ], + [ + 641, + 472 + ], + [ + 554, + 503.99999999999994 + ], + [ + 490, + 535 + ], + [ + 639, + 440.00000000000006 + ], + [ + 720, + 377 + ], + [ + 741, + 367 + ], + [ + 781, + 336 + ], + [ + 786, + 298 + ], + [ + 714, + 269 + ], + [ + 708, + 327 + ], + [ + 756, + 413.99999999999994 + ], + [ + 724, + 463.00000000000006 + ], + [ + 714, + 430 + ] + ], + "image": "d02538.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 625, + 408 + ], + "scale": 1.4749, + "joints": [ + [ + 471, + 525 + ], + [ + 553, + 463.00000000000006 + ], + [ + 625, + 411 + ], + [ + 643, + 466 + ], + [ + 555, + 501 + ], + [ + 487, + 534 + ], + [ + 639, + 437.99999999999994 + ], + [ + 723, + 379 + ], + [ + 740, + 366 + ], + [ + 781, + 337 + ], + [ + 786, + 297 + ], + [ + 709, + 264 + ], + [ + 710, + 334 + ], + [ + 755, + 411 + ], + [ + 724, + 463.00000000000006 + ], + [ + 715, + 427 + ] + ], + "image": "d02539.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 622.5, + 411.5 + ], + "scale": 1.5699, + "joints": [ + [ + 477, + 534 + ], + [ + 548, + 477 + ], + [ + 626, + 420 + ], + [ + 657, + 467 + ], + [ + 571, + 512 + ], + [ + 498, + 556 + ], + [ + 641, + 440.00000000000006 + ], + [ + 719, + 370.99999999999994 + ], + [ + 736, + 357 + ], + [ + 767, + 321 + ], + [ + 771, + 260 + ], + [ + 691, + 278 + ], + [ + 705, + 337 + ], + [ + 759, + 396.00000000000006 + ], + [ + 742, + 450 + ], + [ + 708, + 451 + ] + ], + "image": "d02540.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 611, + 276 + ], + "scale": 2.1349, + "joints": [ + [ + 649, + 462.00000000000006 + ], + [ + 711, + 369.99999999999994 + ], + [ + 647, + 289 + ], + [ + 650, + 286 + ], + [ + 715, + 368.99999999999994 + ], + [ + 650, + 464.00000000000006 + ], + [ + 647, + 282 + ], + [ + 594, + 189 + ], + [ + 580, + 171 + ], + [ + 567, + 130 + ], + [ + 506, + 79 + ], + [ + 551, + 119 + ], + [ + 580, + 206 + ], + [ + 587, + 195 + ], + [ + 553, + 116.00000000000001 + ], + [ + 520, + 77 + ] + ], + "image": "d02541.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 554, + 334 + ], + "scale": 1.4749, + "joints": [ + [ + 516, + 460.99999999999994 + ], + [ + 533, + 384 + ], + [ + 546, + 330 + ], + [ + 579, + 326 + ], + [ + 557, + 387 + ], + [ + 536, + 454 + ], + [ + 564, + 326 + ], + [ + 561, + 258 + ], + [ + 545, + 244 + ], + [ + 528, + 232.00000000000003 + ], + [ + 550, + 259 + ], + [ + 526, + 294 + ], + [ + 528, + 268 + ], + [ + 577, + 236 + ], + [ + 595, + 195 + ], + [ + 576, + 202 + ] + ], + "image": "d02542.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 555.5, + 331 + ], + "scale": 1.4649, + "joints": [ + [ + 515, + 459.99999999999994 + ], + [ + 534, + 388 + ], + [ + 544, + 330 + ], + [ + 574, + 321 + ], + [ + 559, + 387 + ], + [ + 538, + 455 + ], + [ + 561, + 324 + ], + [ + 560, + 255.00000000000003 + ], + [ + 543, + 244 + ], + [ + 525, + 232.00000000000003 + ], + [ + 549, + 260 + ], + [ + 526, + 294 + ], + [ + 526, + 271 + ], + [ + 577, + 234 + ], + [ + 594, + 196.99999999999997 + ], + [ + 572, + 205 + ] + ], + "image": "d02543.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 559.5, + 332 + ], + "scale": 1.3049000000000002, + "joints": [ + [ + 488, + 442.00000000000006 + ], + [ + 518, + 376 + ], + [ + 546, + 318 + ], + [ + 581, + 333 + ], + [ + 548, + 388 + ], + [ + 515, + 447 + ], + [ + 566, + 321 + ], + [ + 579, + 249 + ], + [ + 569, + 236 + ], + [ + 553, + 216 + ], + [ + 583, + 257 + ], + [ + 546, + 277 + ], + [ + 544, + 246 + ], + [ + 601, + 245 + ], + [ + 628, + 215 + ], + [ + 592, + 210.00000000000003 + ] + ], + "image": "d02544.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 553.5, + 325 + ], + "scale": 1.2649000000000001, + "joints": [ + [ + 470, + 419.00000000000006 + ], + [ + 518, + 360 + ], + [ + 551, + 309 + ], + [ + 575, + 339 + ], + [ + 529, + 386 + ], + [ + 484, + 431 + ], + [ + 565, + 321 + ], + [ + 602, + 254.00000000000003 + ], + [ + 600, + 230.99999999999997 + ], + [ + 584, + 207.99999999999997 + ], + [ + 610, + 269 + ], + [ + 574, + 277 + ], + [ + 577, + 243.00000000000003 + ], + [ + 624, + 244 + ], + [ + 642, + 228 + ], + [ + 617, + 213 + ] + ], + "image": "d02545.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 549, + 309.5 + ], + "scale": 1.1099, + "joints": [ + [ + 458.44520547945206, + 406.1164383561644 + ], + [ + 510.2260273972603, + 360.9109589041096 + ], + [ + 558.7191780821918, + 309.13013698630135 + ], + [ + 561.1849315068494, + 330.5 + ], + [ + 506.93835616438355, + 369.13013698630135 + ], + [ + 463.3767123287671, + 411.04794520547944 + ], + [ + 563.6506849315068, + 319.81506849315065 + ], + [ + 623.6506849315068, + 262.2808219178082 + ], + [ + 626.9383561643835, + 249.9520547945205 + ], + [ + 625.2945205479452, + 211.32191780821915 + ], + [ + 629.4041095890411, + 289.40410958904107 + ], + [ + 607.2123287671233, + 300.08904109589037 + ], + [ + 606.3904109589041, + 258.1712328767123 + ], + [ + 623.6506849315068, + 256.527397260274 + ], + [ + 654.0616438356165, + 235.97945205479445 + ], + [ + 638.445205479452, + 208.85616438356163 + ] + ], + "image": "d02546.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 558.5, + 302 + ], + "scale": 0.7049000000000001, + "joints": [ + [ + 436, + 368 + ], + [ + 504, + 346 + ], + [ + 571, + 314 + ], + [ + 551, + 280 + ], + [ + 496, + 315 + ], + [ + 431, + 345 + ], + [ + 565, + 297 + ], + [ + 638, + 281 + ], + [ + 656, + 280 + ], + [ + 685, + 282 + ], + [ + 604, + 330 + ], + [ + 618, + 331 + ], + [ + 647, + 319 + ], + [ + 644, + 252.99999999999997 + ], + [ + 684, + 238 + ], + [ + 696, + 272 + ] + ], + "image": "d02547.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 565, + 301 + ], + "scale": 0.4449000000000001, + "joints": [ + [ + 446, + 338 + ], + [ + 504, + 331 + ], + [ + 567, + 320 + ], + [ + 562, + 289 + ], + [ + 490, + 303 + ], + [ + 430, + 318 + ], + [ + 569, + 305 + ], + [ + 647, + 302 + ], + [ + 660, + 304 + ], + [ + 692, + 324 + ], + [ + 596, + 323 + ], + [ + 621, + 330 + ], + [ + 650, + 324 + ], + [ + 661, + 269 + ], + [ + 707, + 267 + ], + [ + 704, + 315 + ] + ], + "image": "d02548.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 569, + 303 + ], + "scale": 0.4649000000000001, + "joints": [ + [ + 441, + 338 + ], + [ + 498, + 329 + ], + [ + 569, + 322 + ], + [ + 562, + 280 + ], + [ + 494, + 302 + ], + [ + 432, + 318 + ], + [ + 569, + 299 + ], + [ + 655, + 301 + ], + [ + 666, + 306 + ], + [ + 691, + 320 + ], + [ + 593, + 315 + ], + [ + 604, + 325 + ], + [ + 641, + 324 + ], + [ + 667, + 269 + ], + [ + 707, + 267 + ], + [ + 703, + 313 + ] + ], + "image": "d02549.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 565.5, + 312 + ], + "scale": 0.3949000000000001, + "joints": [ + [ + 444, + 304 + ], + [ + 514, + 304 + ], + [ + 568, + 311 + ], + [ + 571, + 285 + ], + [ + 503, + 289 + ], + [ + 435, + 291 + ], + [ + 575, + 300 + ], + [ + 654, + 316 + ], + [ + 665, + 321 + ], + [ + 688, + 335 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 653, + 319 + ], + [ + 669, + 304 + ], + [ + 713, + 306 + ], + [ + 697, + 345 + ] + ], + "image": "d02550.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 568.5, + 295 + ], + "scale": 0.9249, + "joints": [ + [ + 470, + 216 + ], + [ + 542, + 250 + ], + [ + 591, + 277 + ], + [ + 578, + 307 + ], + [ + 527, + 270 + ], + [ + 470, + 241.99999999999997 + ], + [ + 586, + 296 + ], + [ + 659, + 337 + ], + [ + 667, + 341 + ], + [ + 690, + 345 + ], + [ + 654, + 323 + ], + [ + 637, + 285 + ], + [ + 664, + 304 + ], + [ + 652, + 366 + ], + [ + 691, + 382 + ], + [ + 689, + 361 + ] + ], + "image": "d02551.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 601, + 277 + ], + "scale": 1.3149000000000002, + "joints": [ + [ + 526, + 164 + ], + [ + 568, + 235 + ], + [ + 608, + 285 + ], + [ + 580, + 300 + ], + [ + 553, + 236 + ], + [ + 519, + 171 + ], + [ + 596, + 296 + ], + [ + 650, + 368.99999999999994 + ], + [ + 660, + 375 + ], + [ + 691, + 378 + ], + [ + 625, + 355 + ], + [ + 624, + 328 + ], + [ + 658, + 341 + ], + [ + 643, + 379 + ], + [ + 657, + 403 + ], + [ + 701, + 383 + ] + ], + "image": "d02552.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 614, + 271.5 + ], + "scale": 1.3999000000000001, + "joints": [ + [ + 555, + 159 + ], + [ + 578, + 235 + ], + [ + 605, + 293 + ], + [ + 607, + 293 + ], + [ + 585, + 232.00000000000003 + ], + [ + 561, + 160 + ], + [ + 608, + 296 + ], + [ + 640, + 367 + ], + [ + 647, + 382 + ], + [ + 661, + 402 + ], + [ + 618, + 378 + ], + [ + 605, + 350 + ], + [ + 639, + 375 + ], + [ + 649, + 375 + ], + [ + 667, + 388 + ], + [ + 676, + 402 + ] + ], + "image": "d02553.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 613.5, + 272 + ], + "scale": 1.3949, + "joints": [ + [ + 558, + 155 + ], + [ + 580, + 236 + ], + [ + 604, + 290 + ], + [ + 607, + 291 + ], + [ + 584, + 229.99999999999997 + ], + [ + 561, + 154 + ], + [ + 608, + 297 + ], + [ + 635, + 368 + ], + [ + 643, + 381 + ], + [ + 662, + 400 + ], + [ + 621, + 373.00000000000006 + ], + [ + 604, + 347 + ], + [ + 638, + 367 + ], + [ + 650, + 368.99999999999994 + ], + [ + 667, + 391.99999999999994 + ], + [ + 672, + 404 + ] + ], + "image": "d02554.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 612, + 280 + ], + "scale": 1.5349000000000002, + "joints": [ + [ + 587, + 160 + ], + [ + 592, + 234 + ], + [ + 604, + 296 + ], + [ + 627, + 287 + ], + [ + 616, + 228 + ], + [ + 607, + 161 + ], + [ + 622, + 296 + ], + [ + 632, + 369.99999999999994 + ], + [ + 632, + 383 + ], + [ + 632, + 414.99999999999994 + ], + [ + 590, + 336 + ], + [ + 584, + 341 + ], + [ + 600, + 377 + ], + [ + 652, + 357 + ], + [ + 655, + 405 + ], + [ + 635, + 425 + ] + ], + "image": "d02555.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 615, + 281.5 + ], + "scale": 1.4899, + "joints": [ + [ + 617, + 165 + ], + [ + 610, + 233 + ], + [ + 601, + 299 + ], + [ + 642, + 298 + ], + [ + 641, + 229 + ], + [ + 644, + 160 + ], + [ + 620, + 297 + ], + [ + 619, + 378 + ], + [ + 618, + 397.00000000000006 + ], + [ + 608, + 420 + ], + [ + 610, + 327 + ], + [ + 580, + 322 + ], + [ + 587, + 368.99999999999994 + ], + [ + 644, + 376 + ], + [ + 645, + 412 + ], + [ + 621, + 425 + ] + ], + "image": "d02556.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 632, + 283.5 + ], + "scale": 1.4799, + "joints": [ + [ + 648, + 171 + ], + [ + 640, + 233 + ], + [ + 612, + 288 + ], + [ + 643, + 304 + ], + [ + 658, + 243.00000000000003 + ], + [ + 674, + 172 + ], + [ + 621, + 297 + ], + [ + 611, + 375 + ], + [ + 607, + 392.99999999999994 + ], + [ + 588, + 414.99999999999994 + ], + [ + 617, + 324 + ], + [ + 601, + 310 + ], + [ + 590, + 353 + ], + [ + 620, + 390 + ], + [ + 613, + 426 + ], + [ + 595, + 420 + ] + ], + "image": "d02557.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 654.5, + 296.5 + ], + "scale": 1.1299000000000001, + "joints": [ + [ + 745, + 211 + ], + [ + 697, + 259 + ], + [ + 660, + 309 + ], + [ + 633, + 301 + ], + [ + 674, + 270 + ], + [ + 721, + 209.00000000000003 + ], + [ + 645, + 311 + ], + [ + 598, + 361 + ], + [ + 588, + 374.00000000000006 + ], + [ + 580, + 403 + ], + [ + 645, + 329 + ], + [ + 642, + 343 + ], + [ + 614, + 364 + ], + [ + 584, + 342 + ], + [ + 560, + 381 + ], + [ + 560, + 409 + ] + ], + "image": "d02558.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 549.5, + 344.5 + ], + "scale": 0.7999, + "joints": [ + [ + 485, + 275 + ], + [ + 555, + 308 + ], + [ + 615, + 340 + ], + [ + 619, + 341 + ], + [ + 555, + 304 + ], + [ + 493, + 274 + ], + [ + 611, + 348 + ], + [ + 557, + 381 + ], + [ + 542, + 389 + ], + [ + 514, + 412 + ], + [ + 519, + 292 + ], + [ + 542, + 336 + ], + [ + 548, + 388 + ], + [ + 563, + 366 + ], + [ + 558, + 332 + ], + [ + 536, + 280 + ] + ], + "image": "d02559.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 548, + 314.5 + ], + "scale": 0.9299000000000001, + "joints": [ + [ + 511, + 239 + ], + [ + 565, + 307 + ], + [ + 599, + 355 + ], + [ + 606, + 352 + ], + [ + 570, + 301 + ], + [ + 520, + 240.99999999999997 + ], + [ + 599, + 361 + ], + [ + 537, + 368.99999999999994 + ], + [ + 517, + 373.00000000000006 + ], + [ + 491, + 375 + ], + [ + 540, + 271 + ], + [ + 536, + 318 + ], + [ + 527, + 374.00000000000006 + ], + [ + 529, + 375 + ], + [ + 541, + 310 + ], + [ + 546, + 265 + ] + ], + "image": "d02560.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 543, + 296 + ], + "scale": 0.9549000000000001, + "joints": [ + [ + 567, + 225 + ], + [ + 579, + 309 + ], + [ + 581, + 373.00000000000006 + ], + [ + 591, + 368 + ], + [ + 590, + 307 + ], + [ + 576, + 225 + ], + [ + 578, + 369.99999999999994 + ], + [ + 520, + 356 + ], + [ + 499, + 347 + ], + [ + 477, + 335 + ], + [ + 552, + 270 + ], + [ + 534, + 321 + ], + [ + 509, + 357 + ], + [ + 521, + 350 + ], + [ + 546, + 306 + ], + [ + 568, + 263 + ] + ], + "image": "d02561.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 583, + 323.5 + ], + "scale": 0.7799, + "joints": [ + [ + 659, + 268 + ], + [ + 597, + 321 + ], + [ + 547, + 363 + ], + [ + 576, + 382 + ], + [ + 619, + 330 + ], + [ + 662, + 293 + ], + [ + 556, + 370.99999999999994 + ], + [ + 508, + 328 + ], + [ + 499, + 311 + ], + [ + 489, + 277 + ], + [ + 582, + 282 + ], + [ + 544, + 306 + ], + [ + 498, + 320 + ], + [ + 498, + 351 + ], + [ + 523, + 390 + ], + [ + 572, + 396.00000000000006 + ] + ], + "image": "d02562.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 591, + 329.5 + ], + "scale": 0.6799000000000001, + "joints": [ + [ + 682, + 318 + ], + [ + 607, + 336 + ], + [ + 541, + 344 + ], + [ + 551, + 382 + ], + [ + 612, + 358 + ], + [ + 677, + 347 + ], + [ + 546, + 363 + ], + [ + 508, + 312 + ], + [ + 498, + 292 + ], + [ + 495, + 262 + ], + [ + 583, + 303 + ], + [ + 542, + 303 + ], + [ + 507, + 299 + ], + [ + 489, + 342 + ], + [ + 485, + 380 + ], + [ + 511, + 397.00000000000006 + ] + ], + "image": "d02563.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 590.5, + 329 + ], + "scale": 0.6749, + "joints": [ + [ + 684, + 315 + ], + [ + 602, + 334 + ], + [ + 543, + 347 + ], + [ + 552, + 381 + ], + [ + 609, + 359 + ], + [ + 686, + 339 + ], + [ + 543, + 363 + ], + [ + 497, + 314 + ], + [ + 496, + 294 + ], + [ + 493, + 265 + ], + [ + 580, + 302 + ], + [ + 546, + 303 + ], + [ + 509, + 297 + ], + [ + 488, + 344 + ], + [ + 489, + 379 + ], + [ + 513, + 398 + ] + ], + "image": "d02564.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 582.5, + 326 + ], + "scale": 0.7249000000000001, + "joints": [ + [ + 682, + 373.00000000000006 + ], + [ + 618, + 349 + ], + [ + 546, + 326 + ], + [ + 540, + 376 + ], + [ + 606, + 379 + ], + [ + 679, + 392.99999999999994 + ], + [ + 539, + 351 + ], + [ + 501, + 298 + ], + [ + 503, + 279 + ], + [ + 503, + 252 + ], + [ + 573, + 318 + ], + [ + 553, + 297 + ], + [ + 519, + 279 + ], + [ + 482, + 307 + ], + [ + 458, + 350 + ], + [ + 462, + 368 + ] + ], + "image": "d02565.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 557.5, + 348.5 + ], + "scale": 1.0099, + "joints": [ + [ + 665, + 420 + ], + [ + 619, + 368.99999999999994 + ], + [ + 563, + 318 + ], + [ + 534, + 352 + ], + [ + 595, + 391.99999999999994 + ], + [ + 646, + 434 + ], + [ + 545, + 338 + ], + [ + 506, + 284 + ], + [ + 506, + 271 + ], + [ + 511, + 245 + ], + [ + 539, + 311 + ], + [ + 563, + 307 + ], + [ + 543, + 275 + ], + [ + 481, + 297 + ], + [ + 442, + 323 + ], + [ + 437, + 299 + ] + ], + "image": "d02566.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 543.5, + 354.5 + ], + "scale": 1.2399, + "joints": [ + [ + 633, + 446 + ], + [ + 604, + 386 + ], + [ + 573, + 322 + ], + [ + 541, + 336 + ], + [ + 583, + 395.00000000000006 + ], + [ + 616, + 458.99999999999994 + ], + [ + 553, + 327 + ], + [ + 517, + 278 + ], + [ + 514, + 266 + ], + [ + 519, + 247 + ], + [ + 522, + 337 + ], + [ + 563, + 305 + ], + [ + 547, + 277 + ], + [ + 491, + 274 + ], + [ + 446, + 274 + ], + [ + 457, + 240 + ] + ], + "image": "d02567.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 657, + 309.5 + ], + "scale": 0.9299000000000001, + "joints": [ + [ + 765, + 243.00000000000003 + ], + [ + 717, + 283 + ], + [ + 666, + 322 + ], + [ + 641, + 298 + ], + [ + 692, + 266 + ], + [ + 755, + 227 + ], + [ + 652, + 311 + ], + [ + 598, + 346 + ], + [ + 582, + 358 + ], + [ + 567, + 391.99999999999994 + ], + [ + 606, + 352 + ], + [ + 639, + 350 + ], + [ + 615, + 373.00000000000006 + ], + [ + 570, + 335 + ], + [ + 536, + 360 + ], + [ + 548, + 382 + ] + ], + "image": "d02568.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 655.5, + 304.5 + ], + "scale": 1.1699000000000002, + "joints": [ + [ + 738, + 214 + ], + [ + 693, + 273 + ], + [ + 657, + 314 + ], + [ + 635, + 307 + ], + [ + 673, + 264 + ], + [ + 717, + 214 + ], + [ + 642, + 314 + ], + [ + 600, + 359 + ], + [ + 592, + 370.99999999999994 + ], + [ + 581, + 404 + ], + [ + 639, + 340 + ], + [ + 646, + 337 + ], + [ + 613, + 364 + ], + [ + 574, + 350 + ], + [ + 559, + 395.00000000000006 + ], + [ + 574, + 410 + ] + ], + "image": "d02569.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "center": [ + 671.5, + 315.5 + ], + "scale": 0.4799000000000001, + "joints": [ + [ + 790, + 296 + ], + [ + 711, + 318 + ], + [ + 664, + 340 + ], + [ + 672, + 310 + ], + [ + 718, + 298 + ], + [ + 779, + 284 + ], + [ + 665, + 323 + ], + [ + 609, + 324 + ], + [ + 585, + 323 + ], + [ + 557, + 318 + ], + [ + 643, + 330 + ], + [ + 635, + 364 + ], + [ + 591, + 348 + ], + [ + 595, + 317 + ], + [ + 559, + 286 + ], + [ + 537, + 299 + ] + ], + "image": "d02570.jpg", + "joints_vis": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, {"center": [197.86219024658203, 155.7636260986328], "scale": 0.6066859436035156, "joints": [[182.5030517578125, 95.09503173828125], [191.71853637695312, 125.81330871582031], [204.00584411621094, 153.45974731445312], [202.4699249267578, 153.45974731445312], [191.71853637695312, 125.81330871582031], [184.03897094726562, 95.09503173828125], [204.00584411621094, 154.99566650390625], [207.07766723632812, 174.96253967285156], [207.07766723632812, 178.0343780517578], [211.68540954589844, 190.32168579101562], [204.00584411621094, 216.43222045898438], [205.54176330566406, 194.92942810058594], [210.14950561523438, 181.106201171875], [210.14950561523438, 178.0343780517578], [204.00584411621094, 194.92942810058594], [202.4699249267578, 214.89630126953125]], "image": "10_9_00023681.jpg", "joints_vis": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} +] \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028953.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028953.jpg new file mode 100644 index 0000000000000000000000000000000000000000..68f3b7ba71ad15566a90b2b6a36dc9f8e7206b85 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028953.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028984.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028984.jpg new file mode 100644 index 0000000000000000000000000000000000000000..407f39afe41c4cd8b212ce259200c09385c75688 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028984.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028990.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028990.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d38af3353d57226d081b28f57e39fc58dd54e40f Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/01_17_00028990.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/03_2_00010016.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/03_2_00010016.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a01ee5bcb3927d3d87eb9a186f3c5b8308e192a5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/03_2_00010016.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/04_98_00166163.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/04_98_00166163.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3442721774ca1b5bc7f1789672e40e378cad3644 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/04_98_00166163.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/09_54_00082209.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/09_54_00082209.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78d38adc36d7f54e1468f5b7a0abcd0b657ae391 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/09_54_00082209.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/09_59_00090044.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/09_59_00090044.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6486fc116cb564cd9c3c53ab6300d2de220cddbb Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/09_59_00090044.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/13_2_00005250.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/13_2_00005250.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6599e5e631f851e41089cb433d223d7f92906731 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/13_2_00005250.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/14_1_00001161.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/14_1_00001161.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cb5db3d68456f3a9cd8cd1d9debf9f30efc74199 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/14_1_00001161.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/FINADivingWorldCup2021_Men10m_final_r6_0_01228.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/FINADivingWorldCup2021_Men10m_final_r6_0_01228.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8cd1c7c3d7ce82858dc8891f0fab2d2f18e9bc1 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/FINADivingWorldCup2021_Men10m_final_r6_0_01228.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/FINADivingWorldCup2021_Women10m_semifinal_r4_9_15342.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/FINADivingWorldCup2021_Women10m_semifinal_r4_9_15342.jpg new file mode 100644 index 0000000000000000000000000000000000000000..deb9fcd95a8fbfde2cd8e91fa32468a9a78653c6 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/FINADivingWorldCup2021_Women10m_semifinal_r4_9_15342.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/FINAWorldChampionships2019_Women10m_final_r2_4_08105.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/FINAWorldChampionships2019_Women10m_final_r2_4_08105.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0bd31771ca66d7c459ea8d754d290331bbdff50 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/FINAWorldChampionships2019_Women10m_final_r2_4_08105.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00027.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00027.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d74aabbf7efd73cc1e3dc31d83d2a8fa1b07a38 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00027.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00033.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00033.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00b22fb534bee385c25ab95dfd308272d850eeaa Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00033.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00219.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00219.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ccbe623f08d36cd7df4ab5c8eef53c9f69c5057 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00219.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00225.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00225.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9356911cd50183c9a06a502de4a5350aa6ddec8a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00225.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00231.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00231.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1af1f2d1a346756d8a8a1ee0b455e6316a333c1c Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00231.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00543.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00543.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7eadad4a88aa902c0802477f3d0fbca886843e1a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00543.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00557.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00557.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8c2a5fdd9c4e9339d16631f41b000b0b227dbc0 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00557.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00580.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00580.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b30ba2b23757934ba0f83244b9909bf75912b28d Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00580.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00594.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00594.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e4cfa2776a6f4c7e809f62a26d5b353038a42c0d Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00594.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00741.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00741.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60bbceece94b3ab7a29b47ff7b6928292028c3ce Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00741.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00755.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00755.jpg new file mode 100644 index 0000000000000000000000000000000000000000..361ee431be08b72ca85d5104a6ebe8c91bb784af Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00755.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00769.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00769.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a499b40e4fdc45fd055e1b319e1bf93a1f318dcf Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00769.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00782.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00782.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03d818e977d13bfccee5055254ca0587e26a885e Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00782.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00796.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00796.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99ee3266b02f77e31cdd0f3876db35618d0f64df Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00796.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00966.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00966.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b016d0e07730497d9094c6b1d2a70da798bc34d Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00966.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00972.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00972.jpg new file mode 100644 index 0000000000000000000000000000000000000000..90154d8b93d63b137de341c74aaf3a3dd022902f Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00972.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d00999.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d00999.jpg new file mode 100644 index 0000000000000000000000000000000000000000..072663bc13a097b006361413f41c11e150c4825e Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d00999.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01107.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01107.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5aa4a9c4c1509d7efdfbe06bb48fa8bc7b1c7b62 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01107.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01113.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01113.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e11d5e37bdc845444810233cb8001d3b1717bd9 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01113.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01305.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01305.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8193e52ad8feec8e0686e927b017b0161a6aaa18 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01305.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01311.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01311.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5427bc84718f874394ad001a0337e4e8b2e3535 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01311.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01339.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01339.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00e34d128d902eb23664cb96126576fcbdf61516 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01339.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01463.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01463.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d85ccf602384c8711cfd4a090d560329d284fa55 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01463.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01477.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01477.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18ae3f9223eed5dcf42558e38d4357cc9bec1b7b Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01477.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01488.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01488.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b4d1dd3e94817768e7e7ecf037632db54edb79b7 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01488.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01649.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01649.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40b6fa12584cf259db47d60bf49131eddf5bd723 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01649.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01661.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01661.jpg new file mode 100644 index 0000000000000000000000000000000000000000..954d6d429079f73a417319bc0a1fba797bd7c4ba Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01661.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01675.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01675.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0b0b44228a3560481f41749289e86e4b6db205a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01675.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01846.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01846.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07f2edb018e6122300b4eff98cf62ed94d69a5c2 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01846.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01852.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01852.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19a1fc362ca53c5801bf83415084407aebf0bbe0 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01852.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01885.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01885.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a53f9f8f7e9773125d1710b22faff51d40943c4a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01885.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d01891.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d01891.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d36c10a047b388e1aa1baa5861758c0611bee215 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d01891.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02142.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02142.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cbb58880527a9ff502a7cd1361ed6e668ab4a13c Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02142.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02156.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02156.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5aab1d547707743d4d4126cc5c6f0db64761429d Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02156.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02181.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02181.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bd0f7010308f9e226d91f601b4b6549f449d13e Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02181.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02195.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02195.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c21303f76926486e266d29d4d3ab0854cbda422 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02195.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02340.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02340.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5dc1379944439271b88b0a5aeb4880ba9c805c67 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02340.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02354.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02354.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ef1c0bb4e73eefd5b204275bce59324134b8dd4 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02354.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02368.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02368.jpg new file mode 100644 index 0000000000000000000000000000000000000000..999183ee5b246fac23d3c0e05fa8c157ef678ad0 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02368.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02383.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02383.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89df91ace9f169541effa1172f594ab21ac2b40e Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02383.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02397.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02397.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b60444d74695e3a3b8a18c1afa36ed742ceaf012 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02397.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02426.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02426.jpg new file mode 100644 index 0000000000000000000000000000000000000000..72585717ba920aaa3d4430ba57766a5b23e9b9b2 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02426.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02432.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02432.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f48639b86c05b818b7c534602b37dd29551d0f25 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02432.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02618.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02618.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66a30cdb1e06293602d8597afed259db812f8feb Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02618.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02624.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02624.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a9d3b9838f64cc9131db0edf72aae630cc26a62a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02624.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02630.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02630.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6c24624f0acd5857d8650c313c6499a960cd2aa Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02630.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02803.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02803.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b4f59aae979a5ecfe6a05dddd6b5f8d2f8b72364 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02803.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d02817.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d02817.jpg new file mode 100644 index 0000000000000000000000000000000000000000..faaa0a65e66875619454e573df43127f07dd5d64 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d02817.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03062.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03062.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8266aff95aa4a0530cf606ec275c930a60985e4 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03062.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03076.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03076.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dca37c3d1163d3227cad6acc9545a5fb6dfb9b21 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03076.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03089.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03089.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd9bbba5e510c1b779aa9b56724e53bf85d0113a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03089.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03211(1).jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03211(1).jpg new file mode 100644 index 0000000000000000000000000000000000000000..78ea888d65570971a10efc9d47caa1611911a606 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03211(1).jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03248.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03248.jpg new file mode 100644 index 0000000000000000000000000000000000000000..43b2ab36f69a0e880aa2c480fff50d8d34247f59 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03248.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03260.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03260.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ee4d1123020c87c2cd612aad2f5e304484f05e5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03260.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03274.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03274.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eccca7db177967772a51ad61bb60c4d11b839e8b Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03274.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03506.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03506.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d75dde312aaed27fcb8fcc2dee397c725654243 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03506.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03512.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03512.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99b885664b0e6b437c2763285bf05cccba5f2694 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03512.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03704.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03704.jpg new file mode 100644 index 0000000000000000000000000000000000000000..86974c47676847196c95f66c3cb31ec2e15032f9 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03704.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03710.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03710.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5c8f2c7814dfa76c69705d8fad57553b5cfe1f5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03710.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03738.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03738.jpg new file mode 100644 index 0000000000000000000000000000000000000000..611623219b888a6985643a3c6ab5dc9f383a5724 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03738.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03923.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03923.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b057a881b10d8212798b74d3db329b3b4a54ba8d Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03923.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d03937.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d03937.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa2fdedac3ab1b6401a2dcb8c8b5702511c533f5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d03937.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04043.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04043.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c58ef5303a06e7a44c6724179c606f7c4871f8f Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04043.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04057.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04057.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0902d6f43384cf93abea81e1fa21fbfe95cad98a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04057.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04080.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04080.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3507d89034ad647b1cfc1446abd796bcd3831f1c Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04080.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04094.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04094.jpg new file mode 100644 index 0000000000000000000000000000000000000000..951773cd8c2e1380e5fdeeb3a9b6c4d878ba8f59 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04094.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04241.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04241.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5296aec652dd41c7e8ea93f53ebcfa3cc5ad030e Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04241.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04255.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04255.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0b696521b773a9bf7ec6f1ec15f067ff45e5c2d Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04255.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04269.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04269.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6aaf49a80a95d700a01732bd3c8e3a1e7e7c42c5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04269.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04282.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04282.jpg new file mode 100644 index 0000000000000000000000000000000000000000..433828e15e2a1678801ff1d1ab28a5528dac392f Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04282.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04296.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04296.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7bfe4bde6cefcc793ad27a752206342dfb582192 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04296.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04527.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04527.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bf04301be1a500b270330994ebee98b44f0fabe3 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04527.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04533.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04533.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78bf0c8b139b53572a182635a92ffeee583bca0c Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04533.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04719.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04719.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40d315830ebf9c51a449d910249f1abb7331a34c Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04719.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04725.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04725.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a953e9458f471c26197cd241dc31fc6ce72d6bc Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04725.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04731.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04731.jpg new file mode 100644 index 0000000000000000000000000000000000000000..462fbcc3f253a1490f609f4930baa5d7356fb0e4 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04731.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04862.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04862.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fddee750f5ec1d1f5ede96185260b1443ecb2b00 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04862.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04876.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04876.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d221cd61335538fba82fbe129e6ad9bd677eab2a Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04876.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04902.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04902.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f10dd8bcf8fd2c5672da47ec6c985e753bd676b2 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04902.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d04916.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d04916.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bd4202015221942dcfcd9a6053c0214bdbbffa5d Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d04916.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05163.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05163.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b6a20e2ad20c329d5161f0b9259019f9d2c5474 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05163.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05177.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05177.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a5624f5f3a84b1e4812c558b71224a92ef9174e Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05177.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05188.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05188.jpg new file mode 100644 index 0000000000000000000000000000000000000000..025244c23b92231f867ce871e2ff328f327a1411 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05188.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05349.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05349.jpg new file mode 100644 index 0000000000000000000000000000000000000000..71812d0ddfc9b6770188c33802f178b5343e3e81 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05349.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05361.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05361.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9bb2e5b7884a26e1d925137ce0a300057741f2eb Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05361.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05375.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05375.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c1b542268e521571748b1b27a07f3caaed794f2 Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05375.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05407.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05407.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ff1d18e2347313117c2bbbddad6583ab1b249fa Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05407.jpg differ diff --git a/deep-high-resolution-net.pytorch/data/mpii/images/d05413.jpg b/deep-high-resolution-net.pytorch/data/mpii/images/d05413.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85791abbf34f0d12acb2af36a541c23356d7259e Binary files /dev/null and b/deep-high-resolution-net.pytorch/data/mpii/images/d05413.jpg differ diff --git a/deep-high-resolution-net.pytorch/demo/.amlignore b/deep-high-resolution-net.pytorch/demo/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/demo/.amlignore.amltmp b/deep-high-resolution-net.pytorch/demo/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/demo/.gitignore b/deep-high-resolution-net.pytorch/demo/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..04f267c795461ac1671ab24f6902d64112effdf3 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/.gitignore @@ -0,0 +1,3 @@ +output +models +videos diff --git a/deep-high-resolution-net.pytorch/demo/Dockerfile b/deep-high-resolution-net.pytorch/demo/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..d8ceaf4ea006dec9f3cacc5c17a323f8a638f294 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/Dockerfile @@ -0,0 +1,112 @@ +FROM nvidia/cuda:10.2-cudnn7-devel-ubuntu16.04 + +ENV OPENCV_VERSION="3.4.6" + +# Basic toolchain +RUN apt-get update && apt-get install -y \ + apt-utils \ + build-essential \ + git \ + wget \ + unzip \ + yasm \ + pkg-config \ + libcurl4-openssl-dev \ + zlib1g-dev \ + htop \ + cmake \ + nano \ + python3-pip \ + python3-dev \ + python3-tk \ + libx264-dev \ + && cd /usr/local/bin \ + && ln -s /usr/bin/python3 python \ + && pip3 install --upgrade pip \ + && apt-get autoremove -y + +# Getting OpenCV dependencies available with apt +RUN apt-get update && apt-get install -y \ + libeigen3-dev \ + libjpeg-dev \ + libpng-dev \ + libtiff-dev \ + libjasper-dev \ + libswscale-dev \ + libavcodec-dev \ + libavformat-dev && \ + apt-get autoremove -y + +# Getting other dependencies +RUN apt-get update && apt-get install -y \ + cppcheck \ + graphviz \ + doxygen \ + p7zip-full \ + libdlib18 \ + libdlib-dev && \ + apt-get autoremove -y + + +# Install OpenCV + OpenCV contrib (takes forever) +RUN mkdir -p /tmp && \ + cd /tmp && \ + wget --no-check-certificate -O opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \ + wget --no-check-certificate -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \ + unzip opencv.zip && \ + unzip opencv_contrib.zip && \ + mkdir opencv-${OPENCV_VERSION}/build && \ + cd opencv-${OPENCV_VERSION}/build && \ + cmake -D CMAKE_BUILD_TYPE=RELEASE \ + -D CMAKE_INSTALL_PREFIX=/usr/local \ + -D WITH_CUDA=ON \ + -D CUDA_FAST_MATH=1 \ + -D WITH_CUBLAS=1 \ + -D WITH_FFMPEG=ON \ + -D WITH_OPENCL=ON \ + -D WITH_V4L=ON \ + -D WITH_OPENGL=ON \ + -D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv_contrib-${OPENCV_VERSION}/modules \ + .. && \ + make -j$(nproc) && \ + make install && \ + echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf && \ + ldconfig && \ + cd /tmp && \ + rm -rf opencv-${OPENCV_VERSION} opencv.zip opencv_contrib-${OPENCV_VERSION} opencv_contrib.zip && \ + cd / + +# Compile and install ffmpeg from source +RUN git clone https://github.com/FFmpeg/FFmpeg /root/ffmpeg && \ + cd /root/ffmpeg && \ + ./configure --enable-gpl --enable-libx264 --enable-nonfree --disable-shared --extra-cflags=-I/usr/local/include && \ + make -j8 && make install -j8 + +# clone deep-high-resolution-net +ARG POSE_ROOT=/pose_root +RUN git clone https://github.com/leoxiaobin/deep-high-resolution-net.pytorch.git $POSE_ROOT +WORKDIR $POSE_ROOT +RUN mkdir output && mkdir log + +RUN pip3 install -r requirements.txt && \ + pip3 install torch==1.1.0 \ + torchvision==0.3.0 \ + opencv-python \ + pillow==6.2.1 + +# build deep-high-resolution-net lib +WORKDIR $POSE_ROOT/lib +RUN make + +# install COCO API +ARG COCOAPI=/cocoapi +RUN git clone https://github.com/cocodataset/cocoapi.git $COCOAPI +WORKDIR $COCOAPI/PythonAPI +# Install into global site-packages +RUN make install + +# download fastrrnn pretrained model for person detection +RUN python -c "import torchvision; model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True); model.eval()" + +COPY inference.py $POSE_ROOT/tools +COPY inference-config.yaml $POSE_ROOT/ diff --git a/deep-high-resolution-net.pytorch/demo/README.md b/deep-high-resolution-net.pytorch/demo/README.md new file mode 100644 index 0000000000000000000000000000000000000000..aff81f4472d4278f524342f74a23d80329f667b3 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/README.md @@ -0,0 +1,75 @@ +# Inference hrnet + +Inferencing the deep-high-resolution-net.pytoch without using Docker. + +## Prep +1. Download the researchers' pretrained pose estimator from [google drive](https://drive.google.com/drive/folders/1hOTihvbyIxsm5ygDpbUuJ7O_tzv4oXjC?usp=sharing) to this directory under `models/` +2. Put the video file you'd like to infer on in this directory under `videos` +3. (OPTIONAL) build the docker container in this directory with `./build-docker.sh` (this can take time because it involves compiling opencv) +4. update the `inference-config.yaml` file to reflect the number of GPUs you have available and which trained model you want to use. + +## Running the Model +### 1. Running on the video +``` +python demo/inference.py --cfg demo/inference-config.yaml \ + --videoFile ../../multi_people.mp4 \ + --writeBoxFrames \ + --outputDir output \ + TEST.MODEL_FILE ../models/pytorch/pose_coco/pose_hrnet_w32_256x192.pth + +``` + +The above command will create a video under *output* directory and a lot of pose image under *output/pose* directory. +Even with usage of GPU (GTX1080 in my case), the person detection will take nearly **0.06 sec**, the person pose match will + take nearly **0.07 sec**. In total. inference time per frame will be **0.13 sec**, nearly 10fps. So if you prefer a real-time (fps >= 20) + pose estimation then you should try other approach. + +**===Result===** + +Some output images are as: + +![1 person](inference_1.jpg) +Fig: 1 person inference + +![3 person](inference_3.jpg) +Fig: 3 person inference + +![3 person](inference_5.jpg) +Fig: 3 person inference + +### 2. Demo with more common functions +Remember to update` TEST.MODEL_FILE` in `demo/inference-config.yaml `according to your model path. + +`demo.py` provides the following functions: + +- use `--webcam` when the input is a real-time camera. +- use `--video [video-path]` when the input is a video. +- use `--image [image-path]` when the input is an image. +- use `--write` to save the image, camera or video result. +- use `--showFps` to show the fps (this fps includes the detection part). +- draw connections between joints. + +#### (1) the input is a real-time carema +```python +python demo/demo.py --webcam --showFps --write +``` + +#### (2) the input is a video +```python +python demo/demo.py --video test.mp4 --showFps --write +``` +#### (3) the input is a image + +```python +python demo/demo.py --image test.jpg --showFps --write +``` + +**===Result===** + +![show_fps](inference_6.jpg) + +Fig: show fps + +![multi-people](inference_7.jpg) + +Fig: multi-people \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/demo/__pycache__/.amlignore b/deep-high-resolution-net.pytorch/demo/__pycache__/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/__pycache__/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/demo/__pycache__/.amlignore.amltmp b/deep-high-resolution-net.pytorch/demo/__pycache__/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/__pycache__/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/demo/__pycache__/_init_paths.cpython-38.pyc b/deep-high-resolution-net.pytorch/demo/__pycache__/_init_paths.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c3c295cf14cf7dc3c51795ef6f387e49fb460fca Binary files /dev/null and b/deep-high-resolution-net.pytorch/demo/__pycache__/_init_paths.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/demo/_init_paths.py b/deep-high-resolution-net.pytorch/demo/_init_paths.py new file mode 100644 index 0000000000000000000000000000000000000000..b1aea8fe03e86b5fae8d520e19633587ec73f9d8 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/_init_paths.py @@ -0,0 +1,27 @@ +# ------------------------------------------------------------------------------ +# pose.pytorch +# Copyright (c) 2018-present Microsoft +# Licensed under The Apache-2.0 License [see LICENSE for details] +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os.path as osp +import sys + + +def add_path(path): + if path not in sys.path: + sys.path.insert(0, path) + + +this_dir = osp.dirname(__file__) + +lib_path = osp.join(this_dir, '..', 'lib') +add_path(lib_path) + +mm_path = osp.join(this_dir, '..', 'lib/poseeval/py-motmetrics') +add_path(mm_path) diff --git a/deep-high-resolution-net.pytorch/demo/build-docker.sh b/deep-high-resolution-net.pytorch/demo/build-docker.sh new file mode 100644 index 0000000000000000000000000000000000000000..a4b1aab4f38c51f0c39144e2d2fef8555a572a97 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/build-docker.sh @@ -0,0 +1 @@ +docker build -t hrnet_demo_inference . diff --git a/deep-high-resolution-net.pytorch/demo/demo.py b/deep-high-resolution-net.pytorch/demo/demo.py new file mode 100644 index 0000000000000000000000000000000000000000..a80a9f7ce90b74c0c4f065d03cb1ff791ee05003 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/demo.py @@ -0,0 +1,418 @@ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +import csv +import os +import shutil + +from PIL import Image +import torch +import torch.nn.parallel +import torch.backends.cudnn as cudnn +import torch.optim +import torch.utils.data +import torch.utils.data.distributed +import torchvision.transforms as transforms +import torchvision +import cv2 +import numpy as np +import time + + +import _init_paths +import models +from config import cfg +from config import update_config +from core.function import get_final_preds +from utils.transforms import get_affine_transform + +import sys, os, distutils.core + +# os.system('python -m pip install pyyaml==5.3.1') +# dist = distutils.core.run_setup("./detectron2/setup.py") +# temp = ' '.join([f"'{x}'" for x in dist.install_requires]) +# cmd = "python -m pip install {0}".format(temp) +# os.system(cmd) +sys.path.insert(0, os.path.abspath('./detectron2')) + +import detectron2 +# from detectron2.modeling import build_model +from detectron2 import model_zoo +from detectron2.engine import DefaultPredictor +from detectron2.config import get_cfg +from detectron2.utils.visualizer import Visualizer +from detectron2.data import MetadataCatalog, DatasetCatalog +from detectron2.utils.visualizer import Visualizer +from detectron2.checkpoint import DetectionCheckpointer +from detectron2.data.datasets import register_coco_instances +from detectron2.utils.visualizer import ColorMode + + +COCO_KEYPOINT_INDEXES = { + 0: 'r ankle', + 1: 'r knee', + 2: 'r hip', + 3: 'l hip', + 4: 'l knee', + 5: 'l ankle', + 6: 'pelvis', + 7: 'thorax', + 8: 'upper neck', + 9: 'head', + 10: 'r wrist', + 11: 'r elbow', + 12: 'r shoulder', + 13: 'l shoulder', + 14: 'l elbow', + 15: 'l wrist', +} + +COCO_INSTANCE_CATEGORY_NAMES = [ + '__background__', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', + 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'N/A', 'stop sign', + 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', + 'elephant', 'bear', 'zebra', 'giraffe', 'N/A', 'backpack', 'umbrella', 'N/A', 'N/A', + 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', + 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', + 'bottle', 'N/A', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', + 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', + 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'N/A', 'dining table', + 'N/A', 'N/A', 'toilet', 'N/A', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', + 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'N/A', 'book', + 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush' +] + +SKELETON = [ + [1,2],[1,0],[2,6],[3,6],[4,5],[3,4],[6,7],[7,8],[9,8],[7,12],[7,13],[11,12],[13,14],[14,15],[10,11] +] + +CocoColors = [[255, 0, 0], [255, 85, 0], [255, 170, 0], [255, 255, 0], [170, 255, 0], [85, 255, 0], [0, 255, 0], + [0, 255, 85], [0, 255, 170], [0, 255, 255], [0, 170, 255], [0, 85, 255], [0, 0, 255], [85, 0, 255], + [170, 0, 255], [255, 0, 255], [255, 0, 170], [255, 0, 85]] + +NUM_KPTS = 16 + +CTX = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') + +def draw_pose(keypoints,img): + """draw the keypoints and the skeletons. + :params keypoints: the shape should be equal to [17,2] + :params img: + """ + assert keypoints.shape == (NUM_KPTS,2) + for i in range(len(SKELETON)): + kpt_a, kpt_b = SKELETON[i][0], SKELETON[i][1] + x_a, y_a = keypoints[kpt_a][0],keypoints[kpt_a][1] + x_b, y_b = keypoints[kpt_b][0],keypoints[kpt_b][1] + cv2.circle(img, (int(x_a), int(y_a)), 6, CocoColors[i], -1) + cv2.circle(img, (int(x_b), int(y_b)), 6, CocoColors[i], -1) + cv2.line(img, (int(x_a), int(y_a)), (int(x_b), int(y_b)), CocoColors[i], 2) + +def draw_bbox(box,img): + """draw the detected bounding box on the image. + :param img: + """ + # cv2.rectangle(img, (int(box[0][0]), int(box[0][1])), (int(box[1][0]), int(box[1][1])), (0, 255, 0),3) + cv2.rectangle(img, (int(box[0]), int(box[1])), (int(box[2]), int(box[3])), (0, 255, 0),3) + + +def get_person_detection_boxes(model, img, threshold=0.5): + pred = model(img) + pred_classes = [COCO_INSTANCE_CATEGORY_NAMES[i] + for i in list(pred[0]['labels'].cpu().numpy())] # Get the Prediction Score + pred_boxes = [[(i[0], i[1]), (i[2], i[3])] + for i in list(pred[0]['boxes'].detach().cpu().numpy())] # Bounding boxes + pred_score = list(pred[0]['scores'].detach().cpu().numpy()) + print(max(pred_score)) + if not pred_score or max(pred_score) threshold][-1] + pred_boxes = pred_boxes[:pred_t+1] + pred_classes = pred_classes[:pred_t+1] + print('pred_boxes', pred_boxes) + person_boxes = [] + for idx, box in enumerate(pred_boxes): + if pred_classes[idx] == 'person': + person_boxes.append(box) + print("person_boxes", person_boxes) + return person_boxes + + +def get_pose_estimation_prediction(pose_model, image, center, scale): + rotation = 0 + + # pose estimation transformation + # srcTri = np.array( [[0, 0], [image.shape[1] - 1, 0], [0, image.shape[0] - 1]] ).astype(np.float32) + # dstTri = np.array( [[0, image.shape[1]*0.33], [image.shape[1]*0.85, image.shape[0]*0.25], [image.shape[1]*0.15, image.shape[0]*0.7]] ).astype(np.float32) + trans = get_affine_transform(center, scale, rotation, cfg.MODEL.IMAGE_SIZE) + # trans = cv2.getAffineTransform(srcTri, dstTri) + transform = transforms.Compose([ + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + ]) + print("scale:", scale) + print("center:", center) + print("trans:", trans) + # print("transform:", transform) + # print("transform.normalize:", transforms.Normalize(mean=[0.485, 0.456, 0.406], + # std=[0.229, 0.224, 0.225])) + # model_input = cv2.warpAffine( + # image, + # trans, + # (int(cfg.MODEL.IMAGE_SIZE[0]), int(cfg.MODEL.IMAGE_SIZE[1])), + # flags=cv2.INTER_LINEAR) + model_input = cv2.warpAffine( + image, + trans, + (256, 256), + flags=cv2.INTER_LINEAR) + + + # # pose estimation inference + model_input = transform(model_input).unsqueeze(0) + + # switch to evaluate mode + + pose_model.eval() + with torch.no_grad(): + # compute output heatmap + output = pose_model(model_input) + + print('hi') + preds, _ = get_final_preds( + cfg, + output.clone().cpu().numpy(), + np.asarray([center]), + np.asarray([scale])) + + return preds + + +def box_to_center_scale(box, model_image_width, model_image_height): + """convert a box to center,scale information required for pose transformation + Parameters + ---------- + box : list of tuple + list of length 2 with two tuples of floats representing + bottom left and top right corner of a box + model_image_width : int + model_image_height : int + + Returns + ------- + (numpy array, numpy array) + Two numpy arrays, coordinates for the center of the box and the scale of the box + """ + center = np.zeros((2), dtype=np.float32) + + bottom_left_corner = (box[0].data.cpu().item(), box[1].data.cpu().item()) + top_right_corner = (box[2].data.cpu().item(), box[3].data.cpu().item()) + box_width = top_right_corner[0]-bottom_left_corner[0] + box_height = top_right_corner[1]-bottom_left_corner[1] + bottom_left_x = bottom_left_corner[0] + bottom_left_y = bottom_left_corner[1] + center[0] = bottom_left_x + box_width * 0.5 + center[1] = bottom_left_y + box_height * 0.5 + + aspect_ratio = model_image_width * 1.0 / model_image_height + pixel_std = 200 + + if box_width > aspect_ratio * box_height: + box_height = box_width * 1.0 / aspect_ratio + elif box_width < aspect_ratio * box_height: + box_width = box_height * aspect_ratio + scale = np.array( + [box_width * 1.0 / pixel_std, box_height * 1.0 / pixel_std], + dtype=np.float32) + if center[0] != -1: + scale = scale * 1.25 + + return center, scale + +def parse_args(): + parser = argparse.ArgumentParser(description='Train keypoints network') + # general + parser.add_argument('--cfg', type=str, default='demo/inference-config.yaml') + parser.add_argument('--video', type=str) + parser.add_argument('--webcam',action='store_true') + parser.add_argument('--image',type=str) + parser.add_argument('--write',action='store_true') + parser.add_argument('--showFps',action='store_true') + + parser.add_argument('opts', + help='Modify config options using the command-line', + default=None, + nargs=argparse.REMAINDER) + + args = parser.parse_args() + + # args expected by supporting codebase + args.modelDir = '' + args.logDir = '' + args.dataDir = '' + args.prevModelDir = '' + return args + + +def main(): + # cudnn related setting + cudnn.benchmark = cfg.CUDNN.BENCHMARK + torch.backends.cudnn.deterministic = cfg.CUDNN.DETERMINISTIC + torch.backends.cudnn.enabled = cfg.CUDNN.ENABLED + + args = parse_args() + update_config(cfg, args) + + + # box_model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True) + # box_model.to(CTX) + # box_model.eval() + + cfgg = get_cfg() + cfgg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")) + cfgg.OUTPUT_DIR = "./output/diver/" + cfgg.MODEL.WEIGHTS = os.path.join(cfgg.OUTPUT_DIR, "model_final.pth") # path to the model we just trained + cfgg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.7 # set a custom testing threshold + cfgg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE = 128 # The "RoIHead batch size". 128 is faster, and good enough for this toy dataset (default: 512) + cfgg.MODEL.ROI_HEADS.NUM_CLASSES = 1 # only has one class (ballon). (see https://detectron2.readthedocs.io/tutorials/datasets.html#update-the-config-for-new-datasets) + + predictor = DefaultPredictor(cfgg) + # register_coco_instances("diver_vals", {}, "./coco_annotations/diver/val.json", "../data/ExPose/Olympics2012_Diving_2570") + + # splash_metadata = MetadataCatalog.get('splash_vals') + # dataset_dicts = DatasetCatalog.get("splash_vals") + + pose_model = eval('models.'+cfg.MODEL.NAME+'.get_pose_net')( + cfg, is_train=False + ) + + if cfg.TEST.MODEL_FILE: + print('=> loading model from {}'.format(cfg.TEST.MODEL_FILE)) + pose_model.load_state_dict(torch.load(cfg.TEST.MODEL_FILE), strict=False) + else: + print('expected model defined in config at TEST.MODEL_FILE') + + pose_model = torch.nn.DataParallel(pose_model, device_ids=cfg.GPUS) + pose_model.to(CTX) + pose_model.eval() + + # Loading an video or an image or webcam + if args.webcam: + vidcap = cv2.VideoCapture(0) + elif args.video: + vidcap = cv2.VideoCapture(args.video) + elif args.image: + image_bgr = cv2.imread(args.image) + else: + print('please use --video or --webcam or --image to define the input.') + return + + if args.webcam or args.video: + if args.write: + save_path = 'output.avi' + fourcc = cv2.VideoWriter_fourcc(*'XVID') + out = cv2.VideoWriter(save_path,fourcc, 24.0, (int(vidcap.get(3)),int(vidcap.get(4)))) + while True: + ret, image_bgr = vidcap.read() + if ret: + last_time = time.time() + image = image_bgr[:, :, [2, 1, 0]] + + input = [] + img = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB) + img_tensor = torch.from_numpy(img/255.).permute(2,0,1).float().to(CTX) + input.append(img_tensor) + + # object detection box + pred_boxes = get_person_detection_boxes(box_model, input, threshold=0.5) + + # pose estimation + if len(pred_boxes) >= 1: + for box in pred_boxes: + center, scale = box_to_center_scale(box, cfg.MODEL.IMAGE_SIZE[0], cfg.MODEL.IMAGE_SIZE[1]) + image_pose = image.copy() if cfg.DATASET.COLOR_RGB else image_bgr.copy() + pose_preds = get_pose_estimation_prediction(pose_model, image_pose, center, scale) + if len(pose_preds)>=1: + for kpt in pose_preds: + draw_pose(kpt,image_bgr) # draw the poses + + if args.showFps: + fps = 1/(time.time()-last_time) + img = cv2.putText(image_bgr, 'fps: '+ "%.2f"%(fps), (25, 40), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255, 0), 2) + + if args.write: + out.write(image_bgr) + + cv2.imshow('demo',image_bgr) + if cv2.waitKey(1) & 0XFF==ord('q'): + break + else: + print('cannot load the video.') + break + + cv2.destroyAllWindows() + vidcap.release() + if args.write: + print('video has been saved as {}'.format(save_path)) + out.release() + + else: + # estimate on the image + last_time = time.time() + image = image_bgr[:, :, [2, 1, 0]] + + input = [] + img = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB) + img_tensor = torch.from_numpy(img/255.).permute(2,0,1).float().to(CTX) + input.append(img_tensor) + + # object detection box + # pred_boxes = get_person_detection_boxes(box_model, input, threshold=0.5) + outputs = predictor(image_bgr) + scores = outputs['instances'].scores + pred_boxes = [] + if len(scores) > 0: + pred_boxes = outputs['instances'].pred_boxes + # max_instance = torch.argmax(scores) + # print(pred_boxes) + # pred_boxes = pred_boxes[max_instance] + print("pred_boxes", pred_boxes) + + # pose estimation + if len(pred_boxes) >= 1: + for box in pred_boxes: + center, scale = box_to_center_scale(box, cfg.MODEL.IMAGE_SIZE[0], cfg.MODEL.IMAGE_SIZE[1]) + # center, scale = box_to_center_scale(box, 360, 640) + image_pose = image.copy() if cfg.DATASET.COLOR_RGB else image_bgr.copy() + pose_preds = get_pose_estimation_prediction(pose_model, image_pose, center, scale) + print("pose_preds", pose_preds) + draw_bbox(box,image_bgr) + if len(pose_preds)>=1: + print('drawing preds') + for kpt in pose_preds: + draw_pose(kpt,image_bgr) # draw the poses + break # only want to use the box with the highest confidence score + + if args.showFps: + fps = 1/(time.time()-last_time) + img = cv2.putText(image_bgr, 'fps: '+ "%.2f"%(fps), (25, 40), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255, 0), 2) + + if args.write: + out_folder = './output/pose-estimator/FINAWorldChampionships2019_Women10m_final_r1_0' + save_path = '{}/{}'.format(out_folder, args.image.split('/')[-1]) + if not os.path.exists(out_folder): + os.makedirs(out_folder) + cv2.imwrite(save_path,image_bgr) + print('the result image has been saved as {}'.format(save_path)) + + # cv2.imshow('demo',image_bgr) + # if cv2.waitKey(0) & 0XFF==ord('q'): + # cv2.destroyAllWindows() + +if __name__ == '__main__': + main() diff --git a/deep-high-resolution-net.pytorch/demo/demo.py.amltmp b/deep-high-resolution-net.pytorch/demo/demo.py.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..a80a9f7ce90b74c0c4f065d03cb1ff791ee05003 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/demo.py.amltmp @@ -0,0 +1,418 @@ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +import csv +import os +import shutil + +from PIL import Image +import torch +import torch.nn.parallel +import torch.backends.cudnn as cudnn +import torch.optim +import torch.utils.data +import torch.utils.data.distributed +import torchvision.transforms as transforms +import torchvision +import cv2 +import numpy as np +import time + + +import _init_paths +import models +from config import cfg +from config import update_config +from core.function import get_final_preds +from utils.transforms import get_affine_transform + +import sys, os, distutils.core + +# os.system('python -m pip install pyyaml==5.3.1') +# dist = distutils.core.run_setup("./detectron2/setup.py") +# temp = ' '.join([f"'{x}'" for x in dist.install_requires]) +# cmd = "python -m pip install {0}".format(temp) +# os.system(cmd) +sys.path.insert(0, os.path.abspath('./detectron2')) + +import detectron2 +# from detectron2.modeling import build_model +from detectron2 import model_zoo +from detectron2.engine import DefaultPredictor +from detectron2.config import get_cfg +from detectron2.utils.visualizer import Visualizer +from detectron2.data import MetadataCatalog, DatasetCatalog +from detectron2.utils.visualizer import Visualizer +from detectron2.checkpoint import DetectionCheckpointer +from detectron2.data.datasets import register_coco_instances +from detectron2.utils.visualizer import ColorMode + + +COCO_KEYPOINT_INDEXES = { + 0: 'r ankle', + 1: 'r knee', + 2: 'r hip', + 3: 'l hip', + 4: 'l knee', + 5: 'l ankle', + 6: 'pelvis', + 7: 'thorax', + 8: 'upper neck', + 9: 'head', + 10: 'r wrist', + 11: 'r elbow', + 12: 'r shoulder', + 13: 'l shoulder', + 14: 'l elbow', + 15: 'l wrist', +} + +COCO_INSTANCE_CATEGORY_NAMES = [ + '__background__', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', + 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'N/A', 'stop sign', + 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', + 'elephant', 'bear', 'zebra', 'giraffe', 'N/A', 'backpack', 'umbrella', 'N/A', 'N/A', + 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', + 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', + 'bottle', 'N/A', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', + 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', + 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'N/A', 'dining table', + 'N/A', 'N/A', 'toilet', 'N/A', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', + 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'N/A', 'book', + 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush' +] + +SKELETON = [ + [1,2],[1,0],[2,6],[3,6],[4,5],[3,4],[6,7],[7,8],[9,8],[7,12],[7,13],[11,12],[13,14],[14,15],[10,11] +] + +CocoColors = [[255, 0, 0], [255, 85, 0], [255, 170, 0], [255, 255, 0], [170, 255, 0], [85, 255, 0], [0, 255, 0], + [0, 255, 85], [0, 255, 170], [0, 255, 255], [0, 170, 255], [0, 85, 255], [0, 0, 255], [85, 0, 255], + [170, 0, 255], [255, 0, 255], [255, 0, 170], [255, 0, 85]] + +NUM_KPTS = 16 + +CTX = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') + +def draw_pose(keypoints,img): + """draw the keypoints and the skeletons. + :params keypoints: the shape should be equal to [17,2] + :params img: + """ + assert keypoints.shape == (NUM_KPTS,2) + for i in range(len(SKELETON)): + kpt_a, kpt_b = SKELETON[i][0], SKELETON[i][1] + x_a, y_a = keypoints[kpt_a][0],keypoints[kpt_a][1] + x_b, y_b = keypoints[kpt_b][0],keypoints[kpt_b][1] + cv2.circle(img, (int(x_a), int(y_a)), 6, CocoColors[i], -1) + cv2.circle(img, (int(x_b), int(y_b)), 6, CocoColors[i], -1) + cv2.line(img, (int(x_a), int(y_a)), (int(x_b), int(y_b)), CocoColors[i], 2) + +def draw_bbox(box,img): + """draw the detected bounding box on the image. + :param img: + """ + # cv2.rectangle(img, (int(box[0][0]), int(box[0][1])), (int(box[1][0]), int(box[1][1])), (0, 255, 0),3) + cv2.rectangle(img, (int(box[0]), int(box[1])), (int(box[2]), int(box[3])), (0, 255, 0),3) + + +def get_person_detection_boxes(model, img, threshold=0.5): + pred = model(img) + pred_classes = [COCO_INSTANCE_CATEGORY_NAMES[i] + for i in list(pred[0]['labels'].cpu().numpy())] # Get the Prediction Score + pred_boxes = [[(i[0], i[1]), (i[2], i[3])] + for i in list(pred[0]['boxes'].detach().cpu().numpy())] # Bounding boxes + pred_score = list(pred[0]['scores'].detach().cpu().numpy()) + print(max(pred_score)) + if not pred_score or max(pred_score) threshold][-1] + pred_boxes = pred_boxes[:pred_t+1] + pred_classes = pred_classes[:pred_t+1] + print('pred_boxes', pred_boxes) + person_boxes = [] + for idx, box in enumerate(pred_boxes): + if pred_classes[idx] == 'person': + person_boxes.append(box) + print("person_boxes", person_boxes) + return person_boxes + + +def get_pose_estimation_prediction(pose_model, image, center, scale): + rotation = 0 + + # pose estimation transformation + # srcTri = np.array( [[0, 0], [image.shape[1] - 1, 0], [0, image.shape[0] - 1]] ).astype(np.float32) + # dstTri = np.array( [[0, image.shape[1]*0.33], [image.shape[1]*0.85, image.shape[0]*0.25], [image.shape[1]*0.15, image.shape[0]*0.7]] ).astype(np.float32) + trans = get_affine_transform(center, scale, rotation, cfg.MODEL.IMAGE_SIZE) + # trans = cv2.getAffineTransform(srcTri, dstTri) + transform = transforms.Compose([ + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + ]) + print("scale:", scale) + print("center:", center) + print("trans:", trans) + # print("transform:", transform) + # print("transform.normalize:", transforms.Normalize(mean=[0.485, 0.456, 0.406], + # std=[0.229, 0.224, 0.225])) + # model_input = cv2.warpAffine( + # image, + # trans, + # (int(cfg.MODEL.IMAGE_SIZE[0]), int(cfg.MODEL.IMAGE_SIZE[1])), + # flags=cv2.INTER_LINEAR) + model_input = cv2.warpAffine( + image, + trans, + (256, 256), + flags=cv2.INTER_LINEAR) + + + # # pose estimation inference + model_input = transform(model_input).unsqueeze(0) + + # switch to evaluate mode + + pose_model.eval() + with torch.no_grad(): + # compute output heatmap + output = pose_model(model_input) + + print('hi') + preds, _ = get_final_preds( + cfg, + output.clone().cpu().numpy(), + np.asarray([center]), + np.asarray([scale])) + + return preds + + +def box_to_center_scale(box, model_image_width, model_image_height): + """convert a box to center,scale information required for pose transformation + Parameters + ---------- + box : list of tuple + list of length 2 with two tuples of floats representing + bottom left and top right corner of a box + model_image_width : int + model_image_height : int + + Returns + ------- + (numpy array, numpy array) + Two numpy arrays, coordinates for the center of the box and the scale of the box + """ + center = np.zeros((2), dtype=np.float32) + + bottom_left_corner = (box[0].data.cpu().item(), box[1].data.cpu().item()) + top_right_corner = (box[2].data.cpu().item(), box[3].data.cpu().item()) + box_width = top_right_corner[0]-bottom_left_corner[0] + box_height = top_right_corner[1]-bottom_left_corner[1] + bottom_left_x = bottom_left_corner[0] + bottom_left_y = bottom_left_corner[1] + center[0] = bottom_left_x + box_width * 0.5 + center[1] = bottom_left_y + box_height * 0.5 + + aspect_ratio = model_image_width * 1.0 / model_image_height + pixel_std = 200 + + if box_width > aspect_ratio * box_height: + box_height = box_width * 1.0 / aspect_ratio + elif box_width < aspect_ratio * box_height: + box_width = box_height * aspect_ratio + scale = np.array( + [box_width * 1.0 / pixel_std, box_height * 1.0 / pixel_std], + dtype=np.float32) + if center[0] != -1: + scale = scale * 1.25 + + return center, scale + +def parse_args(): + parser = argparse.ArgumentParser(description='Train keypoints network') + # general + parser.add_argument('--cfg', type=str, default='demo/inference-config.yaml') + parser.add_argument('--video', type=str) + parser.add_argument('--webcam',action='store_true') + parser.add_argument('--image',type=str) + parser.add_argument('--write',action='store_true') + parser.add_argument('--showFps',action='store_true') + + parser.add_argument('opts', + help='Modify config options using the command-line', + default=None, + nargs=argparse.REMAINDER) + + args = parser.parse_args() + + # args expected by supporting codebase + args.modelDir = '' + args.logDir = '' + args.dataDir = '' + args.prevModelDir = '' + return args + + +def main(): + # cudnn related setting + cudnn.benchmark = cfg.CUDNN.BENCHMARK + torch.backends.cudnn.deterministic = cfg.CUDNN.DETERMINISTIC + torch.backends.cudnn.enabled = cfg.CUDNN.ENABLED + + args = parse_args() + update_config(cfg, args) + + + # box_model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True) + # box_model.to(CTX) + # box_model.eval() + + cfgg = get_cfg() + cfgg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")) + cfgg.OUTPUT_DIR = "./output/diver/" + cfgg.MODEL.WEIGHTS = os.path.join(cfgg.OUTPUT_DIR, "model_final.pth") # path to the model we just trained + cfgg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.7 # set a custom testing threshold + cfgg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE = 128 # The "RoIHead batch size". 128 is faster, and good enough for this toy dataset (default: 512) + cfgg.MODEL.ROI_HEADS.NUM_CLASSES = 1 # only has one class (ballon). (see https://detectron2.readthedocs.io/tutorials/datasets.html#update-the-config-for-new-datasets) + + predictor = DefaultPredictor(cfgg) + # register_coco_instances("diver_vals", {}, "./coco_annotations/diver/val.json", "../data/ExPose/Olympics2012_Diving_2570") + + # splash_metadata = MetadataCatalog.get('splash_vals') + # dataset_dicts = DatasetCatalog.get("splash_vals") + + pose_model = eval('models.'+cfg.MODEL.NAME+'.get_pose_net')( + cfg, is_train=False + ) + + if cfg.TEST.MODEL_FILE: + print('=> loading model from {}'.format(cfg.TEST.MODEL_FILE)) + pose_model.load_state_dict(torch.load(cfg.TEST.MODEL_FILE), strict=False) + else: + print('expected model defined in config at TEST.MODEL_FILE') + + pose_model = torch.nn.DataParallel(pose_model, device_ids=cfg.GPUS) + pose_model.to(CTX) + pose_model.eval() + + # Loading an video or an image or webcam + if args.webcam: + vidcap = cv2.VideoCapture(0) + elif args.video: + vidcap = cv2.VideoCapture(args.video) + elif args.image: + image_bgr = cv2.imread(args.image) + else: + print('please use --video or --webcam or --image to define the input.') + return + + if args.webcam or args.video: + if args.write: + save_path = 'output.avi' + fourcc = cv2.VideoWriter_fourcc(*'XVID') + out = cv2.VideoWriter(save_path,fourcc, 24.0, (int(vidcap.get(3)),int(vidcap.get(4)))) + while True: + ret, image_bgr = vidcap.read() + if ret: + last_time = time.time() + image = image_bgr[:, :, [2, 1, 0]] + + input = [] + img = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB) + img_tensor = torch.from_numpy(img/255.).permute(2,0,1).float().to(CTX) + input.append(img_tensor) + + # object detection box + pred_boxes = get_person_detection_boxes(box_model, input, threshold=0.5) + + # pose estimation + if len(pred_boxes) >= 1: + for box in pred_boxes: + center, scale = box_to_center_scale(box, cfg.MODEL.IMAGE_SIZE[0], cfg.MODEL.IMAGE_SIZE[1]) + image_pose = image.copy() if cfg.DATASET.COLOR_RGB else image_bgr.copy() + pose_preds = get_pose_estimation_prediction(pose_model, image_pose, center, scale) + if len(pose_preds)>=1: + for kpt in pose_preds: + draw_pose(kpt,image_bgr) # draw the poses + + if args.showFps: + fps = 1/(time.time()-last_time) + img = cv2.putText(image_bgr, 'fps: '+ "%.2f"%(fps), (25, 40), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255, 0), 2) + + if args.write: + out.write(image_bgr) + + cv2.imshow('demo',image_bgr) + if cv2.waitKey(1) & 0XFF==ord('q'): + break + else: + print('cannot load the video.') + break + + cv2.destroyAllWindows() + vidcap.release() + if args.write: + print('video has been saved as {}'.format(save_path)) + out.release() + + else: + # estimate on the image + last_time = time.time() + image = image_bgr[:, :, [2, 1, 0]] + + input = [] + img = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB) + img_tensor = torch.from_numpy(img/255.).permute(2,0,1).float().to(CTX) + input.append(img_tensor) + + # object detection box + # pred_boxes = get_person_detection_boxes(box_model, input, threshold=0.5) + outputs = predictor(image_bgr) + scores = outputs['instances'].scores + pred_boxes = [] + if len(scores) > 0: + pred_boxes = outputs['instances'].pred_boxes + # max_instance = torch.argmax(scores) + # print(pred_boxes) + # pred_boxes = pred_boxes[max_instance] + print("pred_boxes", pred_boxes) + + # pose estimation + if len(pred_boxes) >= 1: + for box in pred_boxes: + center, scale = box_to_center_scale(box, cfg.MODEL.IMAGE_SIZE[0], cfg.MODEL.IMAGE_SIZE[1]) + # center, scale = box_to_center_scale(box, 360, 640) + image_pose = image.copy() if cfg.DATASET.COLOR_RGB else image_bgr.copy() + pose_preds = get_pose_estimation_prediction(pose_model, image_pose, center, scale) + print("pose_preds", pose_preds) + draw_bbox(box,image_bgr) + if len(pose_preds)>=1: + print('drawing preds') + for kpt in pose_preds: + draw_pose(kpt,image_bgr) # draw the poses + break # only want to use the box with the highest confidence score + + if args.showFps: + fps = 1/(time.time()-last_time) + img = cv2.putText(image_bgr, 'fps: '+ "%.2f"%(fps), (25, 40), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255, 0), 2) + + if args.write: + out_folder = './output/pose-estimator/FINAWorldChampionships2019_Women10m_final_r1_0' + save_path = '{}/{}'.format(out_folder, args.image.split('/')[-1]) + if not os.path.exists(out_folder): + os.makedirs(out_folder) + cv2.imwrite(save_path,image_bgr) + print('the result image has been saved as {}'.format(save_path)) + + # cv2.imshow('demo',image_bgr) + # if cv2.waitKey(0) & 0XFF==ord('q'): + # cv2.destroyAllWindows() + +if __name__ == '__main__': + main() diff --git a/deep-high-resolution-net.pytorch/demo/hrnet-demo.gif b/deep-high-resolution-net.pytorch/demo/hrnet-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..5adb7ea1138ba72ba4ffbb323e19027b0925db76 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/hrnet-demo.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:737683fd5007cfdec70dfc3837e0f75d15e8bde520417ff776ac829f2dd8136d +size 1310720 diff --git a/deep-high-resolution-net.pytorch/demo/inference-config.yaml b/deep-high-resolution-net.pytorch/demo/inference-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..14bce176ad5812d38769b6d1ef9e950033fc8468 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/inference-config.yaml @@ -0,0 +1,127 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: 'coco' + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: 0.3 + ROOT: 'data/coco/' + ROT_FACTOR: 45 + SCALE_FACTOR: 0.35 + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 17 + PRETRAINED: 'models/pytorch/pose_coco/pose_hrnet_w32_384x288.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 288 + - 384 + HEATMAP_SIZE: + - 72 + - 96 + SIGMA: 3 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + - 256 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: 'models/pytorch/pose_coco/pose_hrnet_w32_384x288.pth' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + USE_GT_BBOX: true + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/demo/inference.py b/deep-high-resolution-net.pytorch/demo/inference.py new file mode 100644 index 0000000000000000000000000000000000000000..efff86a7b5159d23291fff9b2ac2a49409422e34 --- /dev/null +++ b/deep-high-resolution-net.pytorch/demo/inference.py @@ -0,0 +1,341 @@ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +import csv +import os +import shutil + +from PIL import Image +import torch +import torch.nn.parallel +import torch.backends.cudnn as cudnn +import torch.optim +import torch.utils.data +import torch.utils.data.distributed +import torchvision.transforms as transforms +import torchvision +import cv2 +import numpy as np + +import sys +sys.path.append("../lib") +import time + +# import _init_paths +import models +from config import cfg +from config import update_config +from core.inference import get_final_preds +from utils.transforms import get_affine_transform + +CTX = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') + + +COCO_KEYPOINT_INDEXES = { + 0: 'nose', + 1: 'left_eye', + 2: 'right_eye', + 3: 'left_ear', + 4: 'right_ear', + 5: 'left_shoulder', + 6: 'right_shoulder', + 7: 'left_elbow', + 8: 'right_elbow', + 9: 'left_wrist', + 10: 'right_wrist', + 11: 'left_hip', + 12: 'right_hip', + 13: 'left_knee', + 14: 'right_knee', + 15: 'left_ankle', + 16: 'right_ankle' +} + +COCO_INSTANCE_CATEGORY_NAMES = [ + '__background__', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', + 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'N/A', 'stop sign', + 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', + 'elephant', 'bear', 'zebra', 'giraffe', 'N/A', 'backpack', 'umbrella', 'N/A', 'N/A', + 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', + 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', + 'bottle', 'N/A', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', + 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', + 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'N/A', 'dining table', + 'N/A', 'N/A', 'toilet', 'N/A', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', + 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'N/A', 'book', + 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush' +] + + +def get_person_detection_boxes(model, img, threshold=0.5): + pil_image = Image.fromarray(img) # Load the image + transform = transforms.Compose([transforms.ToTensor()]) # Defing PyTorch Transform + transformed_img = transform(pil_image) # Apply the transform to the image + pred = model([transformed_img.to(CTX)]) # Pass the image to the model + # Use the first detected person + pred_classes = [COCO_INSTANCE_CATEGORY_NAMES[i] + for i in list(pred[0]['labels'].cpu().numpy())] # Get the Prediction Score + pred_boxes = [[(i[0], i[1]), (i[2], i[3])] + for i in list(pred[0]['boxes'].cpu().detach().numpy())] # Bounding boxes + pred_scores = list(pred[0]['scores'].cpu().detach().numpy()) + + person_boxes = [] + # Select box has score larger than threshold and is person + for pred_class, pred_box, pred_score in zip(pred_classes, pred_boxes, pred_scores): + if (pred_score > threshold) and (pred_class == 'person'): + person_boxes.append(pred_box) + + return person_boxes + + +def get_pose_estimation_prediction(pose_model, image, centers, scales, transform): + rotation = 0 + + # pose estimation transformation + model_inputs = [] + for center, scale in zip(centers, scales): + trans = get_affine_transform(center, scale, rotation, cfg.MODEL.IMAGE_SIZE) + # Crop smaller image of people + model_input = cv2.warpAffine( + image, + trans, + (int(cfg.MODEL.IMAGE_SIZE[0]), int(cfg.MODEL.IMAGE_SIZE[1])), + flags=cv2.INTER_LINEAR) + + # hwc -> 1chw + model_input = transform(model_input)#.unsqueeze(0) + model_inputs.append(model_input) + + # n * 1chw -> nchw + model_inputs = torch.stack(model_inputs) + + # compute output heatmap + output = pose_model(model_inputs.to(CTX)) + coords, _ = get_final_preds( + cfg, + output.cpu().detach().numpy(), + np.asarray(centers), + np.asarray(scales)) + + return coords + + +def box_to_center_scale(box, model_image_width, model_image_height): + """convert a box to center,scale information required for pose transformation + Parameters + ---------- + box : list of tuple + list of length 2 with two tuples of floats representing + bottom left and top right corner of a box + model_image_width : int + model_image_height : int + + Returns + ------- + (numpy array, numpy array) + Two numpy arrays, coordinates for the center of the box and the scale of the box + """ + center = np.zeros((2), dtype=np.float32) + + bottom_left_corner = box[0] + top_right_corner = box[1] + box_width = top_right_corner[0]-bottom_left_corner[0] + box_height = top_right_corner[1]-bottom_left_corner[1] + bottom_left_x = bottom_left_corner[0] + bottom_left_y = bottom_left_corner[1] + center[0] = bottom_left_x + box_width * 0.5 + center[1] = bottom_left_y + box_height * 0.5 + + aspect_ratio = model_image_width * 1.0 / model_image_height + pixel_std = 200 + + if box_width > aspect_ratio * box_height: + box_height = box_width * 1.0 / aspect_ratio + elif box_width < aspect_ratio * box_height: + box_width = box_height * aspect_ratio + scale = np.array( + [box_width * 1.0 / pixel_std, box_height * 1.0 / pixel_std], + dtype=np.float32) + if center[0] != -1: + scale = scale * 1.25 + + return center, scale + + +def prepare_output_dirs(prefix='/output/'): + pose_dir = os.path.join(prefix, "pose") + if os.path.exists(pose_dir) and os.path.isdir(pose_dir): + shutil.rmtree(pose_dir) + os.makedirs(pose_dir, exist_ok=True) + return pose_dir + + +def parse_args(): + parser = argparse.ArgumentParser(description='Train keypoints network') + # general + parser.add_argument('--cfg', type=str, required=True) + parser.add_argument('--videoFile', type=str, required=True) + parser.add_argument('--outputDir', type=str, default='/output/') + parser.add_argument('--inferenceFps', type=int, default=10) + parser.add_argument('--writeBoxFrames', action='store_true') + + parser.add_argument('opts', + help='Modify config options using the command-line', + default=None, + nargs=argparse.REMAINDER) + + args = parser.parse_args() + + # args expected by supporting codebase + args.modelDir = '' + args.logDir = '' + args.dataDir = '' + args.prevModelDir = '' + return args + + +def main(): + # transformation + pose_transform = transforms.Compose([ + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + ]) + + # cudnn related setting + cudnn.benchmark = cfg.CUDNN.BENCHMARK + torch.backends.cudnn.deterministic = cfg.CUDNN.DETERMINISTIC + torch.backends.cudnn.enabled = cfg.CUDNN.ENABLED + + args = parse_args() + update_config(cfg, args) + pose_dir = prepare_output_dirs(args.outputDir) + csv_output_rows = [] + + box_model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True) + box_model.to(CTX) + box_model.eval() + pose_model = eval('models.'+cfg.MODEL.NAME+'.get_pose_net')( + cfg, is_train=False + ) + + if cfg.TEST.MODEL_FILE: + print('=> loading model from {}'.format(cfg.TEST.MODEL_FILE)) + pose_model.load_state_dict(torch.load(cfg.TEST.MODEL_FILE), strict=False) + else: + print('expected model defined in config at TEST.MODEL_FILE') + + pose_model.to(CTX) + pose_model.eval() + + # Loading an video + vidcap = cv2.VideoCapture(args.videoFile) + fps = vidcap.get(cv2.CAP_PROP_FPS) + if fps < args.inferenceFps: + print('desired inference fps is '+str(args.inferenceFps)+' but video fps is '+str(fps)) + exit() + skip_frame_cnt = round(fps / args.inferenceFps) + frame_width = int(vidcap.get(cv2.CAP_PROP_FRAME_WIDTH)) + frame_height = int(vidcap.get(cv2.CAP_PROP_FRAME_HEIGHT)) + outcap = cv2.VideoWriter('{}/{}_pose.avi'.format(args.outputDir, os.path.splitext(os.path.basename(args.videoFile))[0]), + cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), int(skip_frame_cnt), (frame_width, frame_height)) + + count = 0 + while vidcap.isOpened(): + total_now = time.time() + ret, image_bgr = vidcap.read() + count += 1 + + if not ret: + continue + + if count % skip_frame_cnt != 0: + continue + + image_rgb = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB) + + # Clone 2 image for person detection and pose estimation + if cfg.DATASET.COLOR_RGB: + image_per = image_rgb.copy() + image_pose = image_rgb.copy() + else: + image_per = image_bgr.copy() + image_pose = image_bgr.copy() + + # Clone 1 image for debugging purpose + image_debug = image_bgr.copy() + + # object detection box + now = time.time() + pred_boxes = get_person_detection_boxes(box_model, image_per, threshold=0.9) + then = time.time() + print("Find person bbox in: {} sec".format(then - now)) + + # Can not find people. Move to next frame + if not pred_boxes: + count += 1 + continue + + if args.writeBoxFrames: + for box in pred_boxes: + cv2.rectangle(image_debug, box[0], box[1], color=(0, 255, 0), + thickness=3) # Draw Rectangle with the coordinates + + # pose estimation : for multiple people + centers = [] + scales = [] + for box in pred_boxes: + center, scale = box_to_center_scale(box, cfg.MODEL.IMAGE_SIZE[0], cfg.MODEL.IMAGE_SIZE[1]) + centers.append(center) + scales.append(scale) + + now = time.time() + pose_preds = get_pose_estimation_prediction(pose_model, image_pose, centers, scales, transform=pose_transform) + then = time.time() + print("Find person pose in: {} sec".format(then - now)) + + new_csv_row = [] + for coords in pose_preds: + # Draw each point on image + for coord in coords: + x_coord, y_coord = int(coord[0]), int(coord[1]) + cv2.circle(image_debug, (x_coord, y_coord), 4, (255, 0, 0), 2) + new_csv_row.extend([x_coord, y_coord]) + + total_then = time.time() + + text = "{:03.2f} sec".format(total_then - total_now) + cv2.putText(image_debug, text, (100, 50), cv2.FONT_HERSHEY_SIMPLEX, + 1, (0, 0, 255), 2, cv2.LINE_AA) + + cv2.imshow("pos", image_debug) + if cv2.waitKey(1) & 0xFF == ord('q'): + break + + csv_output_rows.append(new_csv_row) + img_file = os.path.join(pose_dir, 'pose_{:08d}.jpg'.format(count)) + cv2.imwrite(img_file, image_debug) + outcap.write(image_debug) + + + # write csv + csv_headers = ['frame'] + for keypoint in COCO_KEYPOINT_INDEXES.values(): + csv_headers.extend([keypoint+'_x', keypoint+'_y']) + + csv_output_filename = os.path.join(args.outputDir, 'pose-data.csv') + with open(csv_output_filename, 'w', newline='') as csvfile: + csvwriter = csv.writer(csvfile) + csvwriter.writerow(csv_headers) + csvwriter.writerows(csv_output_rows) + + vidcap.release() + outcap.release() + + cv2.destroyAllWindows() + + +if __name__ == '__main__': + main() diff --git a/deep-high-resolution-net.pytorch/demo/inference_1.jpg b/deep-high-resolution-net.pytorch/demo/inference_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ca29d1bce0a8ae65a3276c638de0e9e71b423ea Binary files /dev/null and b/deep-high-resolution-net.pytorch/demo/inference_1.jpg differ diff --git a/deep-high-resolution-net.pytorch/demo/inference_3.jpg b/deep-high-resolution-net.pytorch/demo/inference_3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f20915cbd8c8580f9e8d912624f111aefe3870a Binary files /dev/null and b/deep-high-resolution-net.pytorch/demo/inference_3.jpg differ diff --git a/deep-high-resolution-net.pytorch/demo/inference_5.jpg b/deep-high-resolution-net.pytorch/demo/inference_5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d7b7117cccd3ae6cf6f466284bf1267134be048b Binary files /dev/null and b/deep-high-resolution-net.pytorch/demo/inference_5.jpg differ diff --git a/deep-high-resolution-net.pytorch/demo/inference_6.jpg b/deep-high-resolution-net.pytorch/demo/inference_6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc1183c063c7f5aa0aeea1f66ad24c4c8badfde5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/demo/inference_6.jpg differ diff --git a/deep-high-resolution-net.pytorch/demo/inference_7.jpg b/deep-high-resolution-net.pytorch/demo/inference_7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9629b3002aeb6f1b526a0b0dc2a183bed213b31b Binary files /dev/null and b/deep-high-resolution-net.pytorch/demo/inference_7.jpg differ diff --git a/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..16854cf2c48afde13cbf5847a202ee8640b3c982 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml @@ -0,0 +1,127 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: 'coco' + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: 0.3 + ROOT: 'data/coco/' + ROT_FACTOR: 45 + SCALE_FACTOR: 0.35 + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 17 + PRETRAINED: 'models/pytorch/imagenet/hrnet_w32-36af842e.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 192 + - 256 + HEATMAP_SIZE: + - 48 + - 64 + SIGMA: 2 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + - 256 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + USE_GT_BBOX: true + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w32_384x288_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w32_384x288_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..57101e9069350d171760cb936a19c082165ece03 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w32_384x288_adam_lr1e-3.yaml @@ -0,0 +1,127 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: 'coco' + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: 0.3 + ROOT: 'data/coco/' + ROT_FACTOR: 45 + SCALE_FACTOR: 0.35 + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 17 + PRETRAINED: 'models/pytorch/imagenet/hrnet_w32-36af842e.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 288 + - 384 + HEATMAP_SIZE: + - 72 + - 96 + SIGMA: 3 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + - 256 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + USE_GT_BBOX: true + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w48_256x192_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w48_256x192_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..45c7011c0f1d3f441840e9693e6923c78fe3eab5 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w48_256x192_adam_lr1e-3.yaml @@ -0,0 +1,127 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: 'coco' + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: 0.3 + ROOT: 'data/coco/' + ROT_FACTOR: 45 + SCALE_FACTOR: 0.35 + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 17 + PRETRAINED: 'models/pytorch/imagenet/hrnet_w48-8ef0771d.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 192 + - 256 + HEATMAP_SIZE: + - 48 + - 64 + SIGMA: 2 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + - 192 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + - 192 + - 384 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + USE_GT_BBOX: true + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w48_384x288_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w48_384x288_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2844ff61338e40b774656f884e8a370a104f19f7 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/hrnet/w48_384x288_adam_lr1e-3.yaml @@ -0,0 +1,127 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: 'coco' + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: 0.3 + ROOT: 'data/coco/' + ROT_FACTOR: 45 + SCALE_FACTOR: 0.35 + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 17 + PRETRAINED: 'models/pytorch/imagenet/hrnet_w48-8ef0771d.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 288 + - 384 + HEATMAP_SIZE: + - 72 + - 96 + SIGMA: 3 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + - 192 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + - 192 + - 384 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 24 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 24 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + USE_GT_BBOX: true + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/resnet/res101_256x192_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res101_256x192_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..61e8f78a031f104f90e3b6c9a7388de289391fee --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res101_256x192_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,83 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: 'coco' + ROOT: 'data/coco/' + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' + FLIP: true + ROT_FACTOR: 40 + SCALE_FACTOR: 0.3 +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet101-5d3b4d8f.pth' + IMAGE_SIZE: + - 192 + - 256 + HEATMAP_SIZE: + - 48 + - 64 + SIGMA: 2 + NUM_JOINTS: 17 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 101 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/resnet/res101_384x288_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res101_384x288_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b1523c69190c1a496476219577805f153f30310b --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res101_384x288_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,83 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: 'coco' + ROOT: 'data/coco/' + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' + FLIP: true + ROT_FACTOR: 40 + SCALE_FACTOR: 0.3 +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet101-5d3b4d8f.pth' + IMAGE_SIZE: + - 288 + - 384 + HEATMAP_SIZE: + - 72 + - 96 + SIGMA: 3 + NUM_JOINTS: 17 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 101 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/resnet/res152_256x192_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res152_256x192_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..580c09fbe890c57b4b8683bbb934724ed7ee1cc7 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res152_256x192_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,83 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: 'coco' + ROOT: 'data/coco/' + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' + FLIP: true + ROT_FACTOR: 40 + SCALE_FACTOR: 0.3 +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet152-b121ed2d.pth' + IMAGE_SIZE: + - 192 + - 256 + HEATMAP_SIZE: + - 48 + - 64 + SIGMA: 2 + NUM_JOINTS: 17 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 152 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/resnet/res152_384x288_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res152_384x288_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..156c576478591edddfae0a0849c80e3d1f2e0420 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res152_384x288_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,83 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: 'coco' + ROOT: 'data/coco/' + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' + FLIP: true + ROT_FACTOR: 40 + SCALE_FACTOR: 0.3 +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet152-b121ed2d.pth' + IMAGE_SIZE: + - 288 + - 384 + HEATMAP_SIZE: + - 72 + - 96 + SIGMA: 3 + NUM_JOINTS: 17 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 152 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/resnet/res50_256x192_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res50_256x192_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1c00e86872fe49a7371c22ad9ef2859bcd6d769e --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res50_256x192_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,83 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: 'coco' + ROOT: 'data/coco/' + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' + FLIP: true + ROT_FACTOR: 40 + SCALE_FACTOR: 0.3 +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet50-19c8e357.pth' + IMAGE_SIZE: + - 192 + - 256 + HEATMAP_SIZE: + - 48 + - 64 + SIGMA: 2 + NUM_JOINTS: 17 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 50 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/coco/resnet/res50_384x288_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res50_384x288_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..caf7726c3cfcfb4a3a7a65029b0ee64f0194d0dc --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/coco/resnet/res50_384x288_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,83 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: 'coco' + ROOT: 'data/coco/' + TEST_SET: 'val2017' + TRAIN_SET: 'train2017' + FLIP: true + ROT_FACTOR: 40 + SCALE_FACTOR: 0.3 +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet50-19c8e357.pth' + IMAGE_SIZE: + - 288 + - 384 + HEATMAP_SIZE: + - 72 + - 96 + SIGMA: 3 + NUM_JOINTS: 17 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 50 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/.amlignore b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/.amlignore.amltmp b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6f32e732616c6c8a83e7ec9f068a827093904bce --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml @@ -0,0 +1,120 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 8 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: mpii + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: -1.0 + ROOT: 'deep-high-resolution-net.pytorch/data/mpii/' + ROT_FACTOR: 30 + SCALE_FACTOR: 0.25 + TEST_SET: valid + TRAIN_SET: train_all +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 16 + PRETRAINED: 'deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/pose_hrnet_w32_256x256.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 256 + - 256 + HEATMAP_SIZE: + - 64 + - 64 + SIGMA: 2 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + - 256 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 64 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 64 + MODEL_FILE: './output/mpii/pose_hrnet/w32_256x256_adam_lr1e-3/model_best.pth' + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml.amltmp b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..6f32e732616c6c8a83e7ec9f068a827093904bce --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml.amltmp @@ -0,0 +1,120 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 8 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: mpii + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: -1.0 + ROOT: 'deep-high-resolution-net.pytorch/data/mpii/' + ROT_FACTOR: 30 + SCALE_FACTOR: 0.25 + TEST_SET: valid + TRAIN_SET: train_all +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 16 + PRETRAINED: 'deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/pose_hrnet_w32_256x256.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 256 + - 256 + HEATMAP_SIZE: + - 64 + - 64 + SIGMA: 2 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 32 + - 64 + - 128 + - 256 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 64 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 64 + MODEL_FILE: './output/mpii/pose_hrnet/w32_256x256_adam_lr1e-3/model_best.pth' + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w48_256x256_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w48_256x256_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1f621dca2e032f19f996ada5a236bb01aebc26e0 --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/hrnet/w48_256x256_adam_lr1e-3.yaml @@ -0,0 +1,120 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: true + DATASET: mpii + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: -1.0 + ROOT: 'data/mpii/' + ROT_FACTOR: 30 + SCALE_FACTOR: 0.25 + TEST_SET: valid + TRAIN_SET: train +MODEL: + INIT_WEIGHTS: true + NAME: pose_hrnet + NUM_JOINTS: 16 + PRETRAINED: 'models/pytorch/imagenet/hrnet_w48-8ef0771d.pth' + TARGET_TYPE: gaussian + IMAGE_SIZE: + - 256 + - 256 + HEATMAP_SIZE: + - 64 + - 64 + SIGMA: 2 + EXTRA: + PRETRAINED_LAYERS: + - 'conv1' + - 'bn1' + - 'conv2' + - 'bn2' + - 'layer1' + - 'transition1' + - 'stage2' + - 'transition2' + - 'stage3' + - 'transition3' + - 'stage4' + FINAL_CONV_KERNEL: 1 + STAGE2: + NUM_MODULES: 1 + NUM_BRANCHES: 2 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + FUSE_METHOD: SUM + STAGE3: + NUM_MODULES: 4 + NUM_BRANCHES: 3 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + - 192 + FUSE_METHOD: SUM + STAGE4: + NUM_MODULES: 3 + NUM_BRANCHES: 4 + BLOCK: BASIC + NUM_BLOCKS: + - 4 + - 4 + - 4 + - 4 + NUM_CHANNELS: + - 48 + - 96 + - 192 + - 384 + FUSE_METHOD: SUM +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 210 + OPTIMIZER: adam + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 170 + - 200 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + MODEL_FILE: '' + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res101_256x256_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res101_256x256_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a48291b00e70771e837f5b50a930ba8018a6b78b --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res101_256x256_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,86 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: mpii + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: -1.0 + ROOT: 'data/mpii/' + ROT_FACTOR: 30 + SCALE_FACTOR: 0.25 + TEST_SET: valid + TRAIN_SET: train +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet101-5d3b4d8f.pth' + IMAGE_SIZE: + - 256 + - 256 + HEATMAP_SIZE: + - 64 + - 64 + SIGMA: 2 + NUM_JOINTS: 16 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 101 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res152_256x256_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res152_256x256_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6002ac32675beb3b9b753a110d55382a7f9da7ac --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res152_256x256_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,86 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: mpii + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: -1.0 + ROOT: 'data/mpii/' + ROT_FACTOR: 30 + SCALE_FACTOR: 0.25 + TEST_SET: valid + TRAIN_SET: train +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet152-b121ed2d.pth' + IMAGE_SIZE: + - 256 + - 256 + HEATMAP_SIZE: + - 64 + - 64 + SIGMA: 2 + NUM_JOINTS: 16 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 152 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res50_256x256_d256x3_adam_lr1e-3.yaml b/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res50_256x256_d256x3_adam_lr1e-3.yaml new file mode 100644 index 0000000000000000000000000000000000000000..33db6fbcf6c2e6a33190e221d07e1bcf0735714f --- /dev/null +++ b/deep-high-resolution-net.pytorch/experiments/mpii/resnet/res50_256x256_d256x3_adam_lr1e-3.yaml @@ -0,0 +1,86 @@ +AUTO_RESUME: true +CUDNN: + BENCHMARK: true + DETERMINISTIC: false + ENABLED: true +DATA_DIR: '' +GPUS: (0,1,2,3) +OUTPUT_DIR: 'output' +LOG_DIR: 'log' +WORKERS: 24 +PRINT_FREQ: 100 + +DATASET: + COLOR_RGB: false + DATASET: mpii + DATA_FORMAT: jpg + FLIP: true + NUM_JOINTS_HALF_BODY: 8 + PROB_HALF_BODY: -1.0 + ROOT: 'data/mpii/' + ROT_FACTOR: 30 + SCALE_FACTOR: 0.25 + TEST_SET: valid + TRAIN_SET: train +MODEL: + NAME: 'pose_resnet' + PRETRAINED: 'models/pytorch/imagenet/resnet50-19c8e357.pth' + IMAGE_SIZE: + - 256 + - 256 + HEATMAP_SIZE: + - 64 + - 64 + SIGMA: 2 + NUM_JOINTS: 16 + TARGET_TYPE: 'gaussian' + EXTRA: + FINAL_CONV_KERNEL: 1 + DECONV_WITH_BIAS: false + NUM_DECONV_LAYERS: 3 + NUM_DECONV_FILTERS: + - 256 + - 256 + - 256 + NUM_DECONV_KERNELS: + - 4 + - 4 + - 4 + NUM_LAYERS: 50 +LOSS: + USE_TARGET_WEIGHT: true +TRAIN: + BATCH_SIZE_PER_GPU: 32 + SHUFFLE: true + BEGIN_EPOCH: 0 + END_EPOCH: 140 + OPTIMIZER: 'adam' + LR: 0.001 + LR_FACTOR: 0.1 + LR_STEP: + - 90 + - 120 + WD: 0.0001 + GAMMA1: 0.99 + GAMMA2: 0.0 + MOMENTUM: 0.9 + NESTEROV: false +TEST: + BATCH_SIZE_PER_GPU: 32 + COCO_BBOX_FILE: 'data/coco/person_detection_results/COCO_val2017_detections_AP_H_56_person.json' + BBOX_THRE: 1.0 + IMAGE_THRE: 0.0 + IN_VIS_THRE: 0.2 + MODEL_FILE: '' + NMS_THRE: 1.0 + OKS_THRE: 0.9 + FLIP_TEST: true + POST_PROCESS: true + SHIFT_HEATMAP: true + USE_GT_BBOX: true +DEBUG: + DEBUG: true + SAVE_BATCH_IMAGES_GT: true + SAVE_BATCH_IMAGES_PRED: true + SAVE_HEATMAPS_GT: true + SAVE_HEATMAPS_PRED: true diff --git a/deep-high-resolution-net.pytorch/figures/.amlignore b/deep-high-resolution-net.pytorch/figures/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/figures/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/figures/.amlignore.amltmp b/deep-high-resolution-net.pytorch/figures/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/figures/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/figures/hrnet.png b/deep-high-resolution-net.pytorch/figures/hrnet.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8bb768448134569aea762da74ac4e463069ad3 Binary files /dev/null and b/deep-high-resolution-net.pytorch/figures/hrnet.png differ diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/.amlignore b/deep-high-resolution-net.pytorch/figures/visualization/coco/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/figures/visualization/coco/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/.amlignore.amltmp b/deep-high-resolution-net.pytorch/figures/visualization/coco/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/figures/visualization/coco/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/score_610_id_2685_000000002685.png b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_610_id_2685_000000002685.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f33978c4a34cd50718863020f554cc1127d527 Binary files /dev/null and b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_610_id_2685_000000002685.png differ diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/score_710_id_153229_000000153229.png b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_710_id_153229_000000153229.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ef917f1e1874afa0416211a04010df50d86e31 Binary files /dev/null and b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_710_id_153229_000000153229.png differ diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/score_755_id_343561_000000343561.png b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_755_id_343561_000000343561.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f3cc577fa20c4781ade086677c191c3ab9c496 Binary files /dev/null and b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_755_id_343561_000000343561.png differ diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/score_755_id_559842_000000559842.png b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_755_id_559842_000000559842.png new file mode 100644 index 0000000000000000000000000000000000000000..79e68fd78379ab939911a55f7b6ccdf27d9e74c6 Binary files /dev/null and b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_755_id_559842_000000559842.png differ diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/score_770_id_6954_000000006954.png b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_770_id_6954_000000006954.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d9f680799b302336f2035e78b739f9d14bcb52 Binary files /dev/null and b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_770_id_6954_000000006954.png differ diff --git a/deep-high-resolution-net.pytorch/figures/visualization/coco/score_919_id_53626_000000053626.png b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_919_id_53626_000000053626.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0557e55a3f64186d3ee76b1533feb6df6f3c7c Binary files /dev/null and b/deep-high-resolution-net.pytorch/figures/visualization/coco/score_919_id_53626_000000053626.png differ diff --git a/deep-high-resolution-net.pytorch/lib/.amlignore b/deep-high-resolution-net.pytorch/lib/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/Makefile b/deep-high-resolution-net.pytorch/lib/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..38cd2978c6fbb09364b579cb62e4d5abc33f80a2 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/Makefile @@ -0,0 +1,4 @@ +all: + cd nms; python setup_linux.py build_ext --inplace; rm -rf build; cd ../../ +clean: + cd nms; rm *.so; cd ../../ diff --git a/deep-high-resolution-net.pytorch/lib/config/.amlignore b/deep-high-resolution-net.pytorch/lib/config/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/config/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/config/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/config/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/config/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/config/__init__.py b/deep-high-resolution-net.pytorch/lib/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a44e926b9b71389cb32a727d33d904bfdbcaaffb --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/config/__init__.py @@ -0,0 +1,9 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from .default import _C as cfg +from .default import update_config +from .models import MODEL_EXTRAS diff --git a/deep-high-resolution-net.pytorch/lib/config/__pycache__/__init__.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6844f9aaeb6a7b301ecde88bbb2c8d47173be4ee Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/config/__pycache__/default.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/config/__pycache__/default.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b62ed927b44f90721860459d95663d9f00376588 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/config/__pycache__/default.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/config/__pycache__/models.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/config/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7b1cba4520de5783e867ab52a2cb308a41a7a39d Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/config/__pycache__/models.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/config/default.py b/deep-high-resolution-net.pytorch/lib/config/default.py new file mode 100644 index 0000000000000000000000000000000000000000..72d3faf3809b719d622e8a1aef03d16842583bec --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/config/default.py @@ -0,0 +1,160 @@ + +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os + +from yacs.config import CfgNode as CN + + +_C = CN() + +_C.OUTPUT_DIR = '' +_C.LOG_DIR = '' +_C.DATA_DIR = '' +_C.GPUS = (0,) +_C.WORKERS = 4 +_C.PRINT_FREQ = 20 +_C.AUTO_RESUME = False +_C.PIN_MEMORY = True +_C.RANK = 0 + +# Cudnn related params +_C.CUDNN = CN() +_C.CUDNN.BENCHMARK = True +_C.CUDNN.DETERMINISTIC = False +_C.CUDNN.ENABLED = True + +# common params for NETWORK +_C.MODEL = CN() +_C.MODEL.NAME = 'pose_hrnet' +_C.MODEL.INIT_WEIGHTS = True +_C.MODEL.PRETRAINED = '' +_C.MODEL.NUM_JOINTS = 17 +_C.MODEL.TAG_PER_JOINT = True +_C.MODEL.TARGET_TYPE = 'gaussian' +_C.MODEL.IMAGE_SIZE = [256, 256] # width * height, ex: 192 * 256 +_C.MODEL.HEATMAP_SIZE = [64, 64] # width * height, ex: 24 * 32 +_C.MODEL.SIGMA = 2 +_C.MODEL.EXTRA = CN(new_allowed=True) + +_C.LOSS = CN() +_C.LOSS.USE_OHKM = False +_C.LOSS.TOPK = 8 +_C.LOSS.USE_TARGET_WEIGHT = True +_C.LOSS.USE_DIFFERENT_JOINTS_WEIGHT = False + +# DATASET related params +_C.DATASET = CN() +_C.DATASET.ROOT = '' +_C.DATASET.DATASET = 'mpii' +_C.DATASET.TRAIN_SET = 'train' +_C.DATASET.TEST_SET = 'valid' +_C.DATASET.DATA_FORMAT = 'jpg' +_C.DATASET.HYBRID_JOINTS_TYPE = '' +_C.DATASET.SELECT_DATA = False + +# training data augmentation +_C.DATASET.FLIP = True +_C.DATASET.SCALE_FACTOR = 0.25 +_C.DATASET.ROT_FACTOR = 30 +_C.DATASET.PROB_HALF_BODY = 0.0 +_C.DATASET.NUM_JOINTS_HALF_BODY = 8 +_C.DATASET.COLOR_RGB = False + +# train +_C.TRAIN = CN() + +_C.TRAIN.LR_FACTOR = 0.1 +_C.TRAIN.LR_STEP = [90, 110] +_C.TRAIN.LR = 0.001 + +_C.TRAIN.OPTIMIZER = 'adam' +_C.TRAIN.MOMENTUM = 0.9 +_C.TRAIN.WD = 0.0001 +_C.TRAIN.NESTEROV = False +_C.TRAIN.GAMMA1 = 0.99 +_C.TRAIN.GAMMA2 = 0.0 + +_C.TRAIN.BEGIN_EPOCH = 0 +_C.TRAIN.END_EPOCH = 140 + +_C.TRAIN.RESUME = False +_C.TRAIN.CHECKPOINT = '' + +_C.TRAIN.BATCH_SIZE_PER_GPU = 32 +_C.TRAIN.SHUFFLE = True + +# testing +_C.TEST = CN() + +# size of images for each device +_C.TEST.BATCH_SIZE_PER_GPU = 32 +# Test Model Epoch +_C.TEST.FLIP_TEST = False +_C.TEST.POST_PROCESS = False +_C.TEST.SHIFT_HEATMAP = False + +_C.TEST.USE_GT_BBOX = False + +# nms +_C.TEST.IMAGE_THRE = 0.1 +_C.TEST.NMS_THRE = 0.6 +_C.TEST.SOFT_NMS = False +_C.TEST.OKS_THRE = 0.5 +_C.TEST.IN_VIS_THRE = 0.0 +_C.TEST.COCO_BBOX_FILE = '' +_C.TEST.BBOX_THRE = 1.0 +_C.TEST.MODEL_FILE = '' + +# debug +_C.DEBUG = CN() +_C.DEBUG.DEBUG = False +_C.DEBUG.SAVE_BATCH_IMAGES_GT = False +_C.DEBUG.SAVE_BATCH_IMAGES_PRED = False +_C.DEBUG.SAVE_HEATMAPS_GT = False +_C.DEBUG.SAVE_HEATMAPS_PRED = False + + +def update_config(cfg, args): + cfg.defrost() + cfg.merge_from_file(args.cfg) + cfg.merge_from_list(args.opts) + + if args.modelDir: + cfg.OUTPUT_DIR = args.modelDir + + if args.logDir: + cfg.LOG_DIR = args.logDir + + if args.dataDir: + cfg.DATA_DIR = args.dataDir + + cfg.DATASET.ROOT = os.path.join( + cfg.DATA_DIR, cfg.DATASET.ROOT + ) + + cfg.MODEL.PRETRAINED = os.path.join( + cfg.DATA_DIR, cfg.MODEL.PRETRAINED + ) + + if cfg.TEST.MODEL_FILE: + cfg.TEST.MODEL_FILE = os.path.join( + cfg.DATA_DIR, cfg.TEST.MODEL_FILE + ) + + cfg.freeze() + + +if __name__ == '__main__': + import sys + with open(sys.argv[1], 'w') as f: + print(_C, file=f) + diff --git a/deep-high-resolution-net.pytorch/lib/config/models.py b/deep-high-resolution-net.pytorch/lib/config/models.py new file mode 100644 index 0000000000000000000000000000000000000000..8e04c4f75a42429142131e1fe4cbbd67fbf4acb8 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/config/models.py @@ -0,0 +1,58 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from yacs.config import CfgNode as CN + + +# pose_resnet related params +POSE_RESNET = CN() +POSE_RESNET.NUM_LAYERS = 50 +POSE_RESNET.DECONV_WITH_BIAS = False +POSE_RESNET.NUM_DECONV_LAYERS = 3 +POSE_RESNET.NUM_DECONV_FILTERS = [256, 256, 256] +POSE_RESNET.NUM_DECONV_KERNELS = [4, 4, 4] +POSE_RESNET.FINAL_CONV_KERNEL = 1 +POSE_RESNET.PRETRAINED_LAYERS = ['*'] + +# pose_multi_resoluton_net related params +POSE_HIGH_RESOLUTION_NET = CN() +POSE_HIGH_RESOLUTION_NET.PRETRAINED_LAYERS = ['*'] +POSE_HIGH_RESOLUTION_NET.STEM_INPLANES = 64 +POSE_HIGH_RESOLUTION_NET.FINAL_CONV_KERNEL = 1 + +POSE_HIGH_RESOLUTION_NET.STAGE2 = CN() +POSE_HIGH_RESOLUTION_NET.STAGE2.NUM_MODULES = 1 +POSE_HIGH_RESOLUTION_NET.STAGE2.NUM_BRANCHES = 2 +POSE_HIGH_RESOLUTION_NET.STAGE2.NUM_BLOCKS = [4, 4] +POSE_HIGH_RESOLUTION_NET.STAGE2.NUM_CHANNELS = [32, 64] +POSE_HIGH_RESOLUTION_NET.STAGE2.BLOCK = 'BASIC' +POSE_HIGH_RESOLUTION_NET.STAGE2.FUSE_METHOD = 'SUM' + +POSE_HIGH_RESOLUTION_NET.STAGE3 = CN() +POSE_HIGH_RESOLUTION_NET.STAGE3.NUM_MODULES = 1 +POSE_HIGH_RESOLUTION_NET.STAGE3.NUM_BRANCHES = 3 +POSE_HIGH_RESOLUTION_NET.STAGE3.NUM_BLOCKS = [4, 4, 4] +POSE_HIGH_RESOLUTION_NET.STAGE3.NUM_CHANNELS = [32, 64, 128] +POSE_HIGH_RESOLUTION_NET.STAGE3.BLOCK = 'BASIC' +POSE_HIGH_RESOLUTION_NET.STAGE3.FUSE_METHOD = 'SUM' + +POSE_HIGH_RESOLUTION_NET.STAGE4 = CN() +POSE_HIGH_RESOLUTION_NET.STAGE4.NUM_MODULES = 1 +POSE_HIGH_RESOLUTION_NET.STAGE4.NUM_BRANCHES = 4 +POSE_HIGH_RESOLUTION_NET.STAGE4.NUM_BLOCKS = [4, 4, 4, 4] +POSE_HIGH_RESOLUTION_NET.STAGE4.NUM_CHANNELS = [32, 64, 128, 256] +POSE_HIGH_RESOLUTION_NET.STAGE4.BLOCK = 'BASIC' +POSE_HIGH_RESOLUTION_NET.STAGE4.FUSE_METHOD = 'SUM' + + +MODEL_EXTRAS = { + 'pose_resnet': POSE_RESNET, + 'pose_high_resolution_net': POSE_HIGH_RESOLUTION_NET, +} diff --git a/deep-high-resolution-net.pytorch/lib/core/.amlignore b/deep-high-resolution-net.pytorch/lib/core/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/core/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/core/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/core/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/core/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/core/__pycache__/evaluate.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/core/__pycache__/evaluate.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..662df79eee47bcb3f401d990a0d09f50c5390f96 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/core/__pycache__/evaluate.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/core/__pycache__/function.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/core/__pycache__/function.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4e1fe5b87e12be62f4388b8865ed2ac62582b757 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/core/__pycache__/function.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/core/__pycache__/inference.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/core/__pycache__/inference.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aad7351f925fbd14a9d91c228c4380156982352c Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/core/__pycache__/inference.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/core/__pycache__/loss.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/core/__pycache__/loss.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5bcf8fa48920b1b50305eafd4bc7373452c7dc0f Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/core/__pycache__/loss.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/core/evaluate.py b/deep-high-resolution-net.pytorch/lib/core/evaluate.py new file mode 100644 index 0000000000000000000000000000000000000000..cf722857860726d02f2e343da5dac7e088d54281 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/core/evaluate.py @@ -0,0 +1,73 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np + +from core.inference import get_max_preds + + +def calc_dists(preds, target, normalize): + preds = preds.astype(np.float32) + target = target.astype(np.float32) + dists = np.zeros((preds.shape[1], preds.shape[0])) + for n in range(preds.shape[0]): + for c in range(preds.shape[1]): + if target[n, c, 0] > 1 and target[n, c, 1] > 1: + normed_preds = preds[n, c, :] / normalize[n] + normed_targets = target[n, c, :] / normalize[n] + dists[c, n] = np.linalg.norm(normed_preds - normed_targets) + else: + dists[c, n] = -1 + return dists + + +def dist_acc(dists, thr=0.5): + ''' Return percentage below threshold while ignoring values with a -1 ''' + dist_cal = np.not_equal(dists, -1) + num_dist_cal = dist_cal.sum() + if num_dist_cal > 0: + return np.less(dists[dist_cal], thr).sum() * 1.0 / num_dist_cal + else: + return -1 + + +def accuracy(output, target, hm_type='gaussian', thr=0.5): + ''' + Calculate accuracy according to PCK, + but uses ground truth heatmap rather than x,y locations + First value to be returned is average accuracy across 'idxs', + followed by individual accuracies + ''' + idx = list(range(output.shape[1])) + norm = 1.0 + if hm_type == 'gaussian': + pred, _ = get_max_preds(output) + target, _ = get_max_preds(target) + h = output.shape[2] + w = output.shape[3] + norm = np.ones((pred.shape[0], 2)) * np.array([h, w]) / 10 + dists = calc_dists(pred, target, norm) + + acc = np.zeros((len(idx) + 1)) + avg_acc = 0 + cnt = 0 + + for i in range(len(idx)): + acc[i + 1] = dist_acc(dists[idx[i]]) + if acc[i + 1] >= 0: + avg_acc = avg_acc + acc[i + 1] + cnt += 1 + + avg_acc = avg_acc / cnt if cnt != 0 else 0 + if cnt != 0: + acc[0] = avg_acc + return acc, avg_acc, cnt, pred + + diff --git a/deep-high-resolution-net.pytorch/lib/core/function.py b/deep-high-resolution-net.pytorch/lib/core/function.py new file mode 100644 index 0000000000000000000000000000000000000000..1bc19daa601aa03faf28b35281daf1ca43e8ad9f --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/core/function.py @@ -0,0 +1,276 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import time +import logging +import os + +import numpy as np +import torch + +from core.evaluate import accuracy +from core.inference import get_final_preds +from utils.transforms import flip_back +from utils.vis import save_debug_images + + +logger = logging.getLogger(__name__) + + +def train(config, train_loader, model, criterion, optimizer, epoch, + output_dir, tb_log_dir, writer_dict): + batch_time = AverageMeter() + data_time = AverageMeter() + losses = AverageMeter() + acc = AverageMeter() + + # switch to train mode + model.train() + + end = time.time() + for i, (input, target, target_weight, meta) in enumerate(train_loader): + # measure data loading time + data_time.update(time.time() - end) + + # compute output + outputs = model(input) + + target = target.cuda(non_blocking=True) + target_weight = target_weight.cuda(non_blocking=True) + + if isinstance(outputs, list): + loss = criterion(outputs[0], target, target_weight) + for output in outputs[1:]: + loss += criterion(output, target, target_weight) + else: + output = outputs + loss = criterion(output, target, target_weight) + + # loss = criterion(output, target, target_weight) + + # compute gradient and do update step + optimizer.zero_grad() + loss.backward() + optimizer.step() + + # measure accuracy and record loss + losses.update(loss.item(), input.size(0)) + + _, avg_acc, cnt, pred = accuracy(output.detach().cpu().numpy(), + target.detach().cpu().numpy()) + acc.update(avg_acc, cnt) + + # measure elapsed time + batch_time.update(time.time() - end) + end = time.time() + + if i % config.PRINT_FREQ == 0: + msg = 'Epoch: [{0}][{1}/{2}]\t' \ + 'Time {batch_time.val:.3f}s ({batch_time.avg:.3f}s)\t' \ + 'Speed {speed:.1f} samples/s\t' \ + 'Data {data_time.val:.3f}s ({data_time.avg:.3f}s)\t' \ + 'Loss {loss.val:.5f} ({loss.avg:.5f})\t' \ + 'Accuracy {acc.val:.3f} ({acc.avg:.3f})'.format( + epoch, i, len(train_loader), batch_time=batch_time, + speed=input.size(0)/batch_time.val, + data_time=data_time, loss=losses, acc=acc) + logger.info(msg) + + writer = writer_dict['writer'] + global_steps = writer_dict['train_global_steps'] + writer.add_scalar('train_loss', losses.val, global_steps) + writer.add_scalar('train_acc', acc.val, global_steps) + writer_dict['train_global_steps'] = global_steps + 1 + + prefix = '{}_{}'.format(os.path.join(output_dir, 'train'), i) + save_debug_images(config, input, meta, target, pred*4, output, + prefix) + + +def validate(config, val_loader, val_dataset, model, criterion, output_dir, + tb_log_dir, writer_dict=None): + batch_time = AverageMeter() + losses = AverageMeter() + acc = AverageMeter() + + # switch to evaluate mode + model.eval() + + num_samples = len(val_dataset) + all_preds = np.zeros( + (num_samples, config.MODEL.NUM_JOINTS, 3), + dtype=np.float32 + ) + all_boxes = np.zeros((num_samples, 6)) + image_path = [] + filenames = [] + imgnums = [] + idx = 0 + with torch.no_grad(): + end = time.time() + for i, (input, target, target_weight, meta) in enumerate(val_loader): + # compute output + outputs = model(input) + if isinstance(outputs, list): + output = outputs[-1] + else: + output = outputs + + if config.TEST.FLIP_TEST: + input_flipped = input.flip(3) + outputs_flipped = model(input_flipped) + + if isinstance(outputs_flipped, list): + output_flipped = outputs_flipped[-1] + else: + output_flipped = outputs_flipped + + output_flipped = flip_back(output_flipped.cpu().numpy(), + val_dataset.flip_pairs) + output_flipped = torch.from_numpy(output_flipped.copy()).cuda() + + + # feature is not aligned, shift flipped heatmap for higher accuracy + if config.TEST.SHIFT_HEATMAP: + output_flipped[:, :, :, 1:] = \ + output_flipped.clone()[:, :, :, 0:-1] + + output = (output + output_flipped) * 0.5 + + target = target.cuda(non_blocking=True) + target_weight = target_weight.cuda(non_blocking=True) + + loss = criterion(output, target, target_weight) + + num_images = input.size(0) + # measure accuracy and record loss + losses.update(loss.item(), num_images) + _, avg_acc, cnt, pred = accuracy(output.cpu().numpy(), + target.cpu().numpy()) + + acc.update(avg_acc, cnt) + + # measure elapsed time + batch_time.update(time.time() - end) + end = time.time() + + c = meta['center'].numpy() + s = meta['scale'].numpy() + score = meta['score'].numpy() + + preds, maxvals = get_final_preds( + config, output.clone().cpu().numpy(), c, s) + + all_preds[idx:idx + num_images, :, 0:2] = preds[:, :, 0:2] + all_preds[idx:idx + num_images, :, 2:3] = maxvals + # double check this all_boxes parts + all_boxes[idx:idx + num_images, 0:2] = c[:, 0:2] + all_boxes[idx:idx + num_images, 2:4] = s[:, 0:2] + all_boxes[idx:idx + num_images, 4] = np.prod(s*200, 1) + all_boxes[idx:idx + num_images, 5] = score + image_path.extend(meta['image']) + + idx += num_images + + if i % config.PRINT_FREQ == 0: + msg = 'Test: [{0}/{1}]\t' \ + 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' \ + 'Loss {loss.val:.4f} ({loss.avg:.4f})\t' \ + 'Accuracy {acc.val:.3f} ({acc.avg:.3f})'.format( + i, len(val_loader), batch_time=batch_time, + loss=losses, acc=acc) + logger.info(msg) + + prefix = '{}_{}'.format( + os.path.join(output_dir, 'val'), i + ) + save_debug_images(config, input, meta, target, pred*4, output, + prefix) + + name_values, perf_indicator = val_dataset.evaluate( + config, all_preds, output_dir, all_boxes, image_path, + filenames, imgnums + ) + + model_name = config.MODEL.NAME + if isinstance(name_values, list): + for name_value in name_values: + _print_name_value(name_value, model_name) + else: + _print_name_value(name_values, model_name) + + if writer_dict: + writer = writer_dict['writer'] + global_steps = writer_dict['valid_global_steps'] + writer.add_scalar( + 'valid_loss', + losses.avg, + global_steps + ) + writer.add_scalar( + 'valid_acc', + acc.avg, + global_steps + ) + if isinstance(name_values, list): + for name_value in name_values: + writer.add_scalars( + 'valid', + dict(name_value), + global_steps + ) + else: + writer.add_scalars( + 'valid', + dict(name_values), + global_steps + ) + writer_dict['valid_global_steps'] = global_steps + 1 + + return perf_indicator + + +# markdown format output +def _print_name_value(name_value, full_arch_name): + names = name_value.keys() + values = name_value.values() + num_values = len(name_value) + logger.info( + '| Arch ' + + ' '.join(['| {}'.format(name) for name in names]) + + ' |' + ) + logger.info('|---' * (num_values+1) + '|') + + if len(full_arch_name) > 15: + full_arch_name = full_arch_name[:8] + '...' + logger.info( + '| ' + full_arch_name + ' ' + + ' '.join(['| {:.3f}'.format(value) for value in values]) + + ' |' + ) + + +class AverageMeter(object): + """Computes and stores the average and current value""" + def __init__(self): + self.reset() + + def reset(self): + self.val = 0 + self.avg = 0 + self.sum = 0 + self.count = 0 + + def update(self, val, n=1): + self.val = val + self.sum += val * n + self.count += n + self.avg = self.sum / self.count if self.count != 0 else 0 diff --git a/deep-high-resolution-net.pytorch/lib/core/inference.py b/deep-high-resolution-net.pytorch/lib/core/inference.py new file mode 100644 index 0000000000000000000000000000000000000000..ba2bac8ff8762bc9059dd797d616ab5057050a35 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/core/inference.py @@ -0,0 +1,79 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import math + +import numpy as np + +from utils.transforms import transform_preds + + +def get_max_preds(batch_heatmaps): + ''' + get predictions from score maps + heatmaps: numpy.ndarray([batch_size, num_joints, height, width]) + ''' + assert isinstance(batch_heatmaps, np.ndarray), \ + 'batch_heatmaps should be numpy.ndarray' + assert batch_heatmaps.ndim == 4, 'batch_images should be 4-ndim' + + batch_size = batch_heatmaps.shape[0] + num_joints = batch_heatmaps.shape[1] + width = batch_heatmaps.shape[3] + heatmaps_reshaped = batch_heatmaps.reshape((batch_size, num_joints, -1)) + idx = np.argmax(heatmaps_reshaped, 2) + maxvals = np.amax(heatmaps_reshaped, 2) + + maxvals = maxvals.reshape((batch_size, num_joints, 1)) + idx = idx.reshape((batch_size, num_joints, 1)) + + preds = np.tile(idx, (1, 1, 2)).astype(np.float32) + + preds[:, :, 0] = (preds[:, :, 0]) % width + preds[:, :, 1] = np.floor((preds[:, :, 1]) / width) + + pred_mask = np.tile(np.greater(maxvals, 0.0), (1, 1, 2)) + pred_mask = pred_mask.astype(np.float32) + + preds *= pred_mask + return preds, maxvals + + +def get_final_preds(config, batch_heatmaps, center, scale): + coords, maxvals = get_max_preds(batch_heatmaps) + + heatmap_height = batch_heatmaps.shape[2] + heatmap_width = batch_heatmaps.shape[3] + + # post-processing + if config.TEST.POST_PROCESS: + for n in range(coords.shape[0]): + for p in range(coords.shape[1]): + hm = batch_heatmaps[n][p] + px = int(math.floor(coords[n][p][0] + 0.5)) + py = int(math.floor(coords[n][p][1] + 0.5)) + if 1 < px < heatmap_width-1 and 1 < py < heatmap_height-1: + diff = np.array( + [ + hm[py][px+1] - hm[py][px-1], + hm[py+1][px]-hm[py-1][px] + ] + ) + coords[n][p] += np.sign(diff) * .25 + + preds = coords.copy() + + # Transform back + for i in range(coords.shape[0]): + preds[i] = transform_preds( + coords[i], center[i], scale[i], [heatmap_width, heatmap_height] + ) + + return preds, maxvals diff --git a/deep-high-resolution-net.pytorch/lib/core/loss.py b/deep-high-resolution-net.pytorch/lib/core/loss.py new file mode 100644 index 0000000000000000000000000000000000000000..b879495cf2bfa60db387e790ebf882a61cd067b6 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/core/loss.py @@ -0,0 +1,84 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import torch +import torch.nn as nn + + +class JointsMSELoss(nn.Module): + def __init__(self, use_target_weight): + super(JointsMSELoss, self).__init__() + self.criterion = nn.MSELoss(reduction='mean') + self.use_target_weight = use_target_weight + + def forward(self, output, target, target_weight): + batch_size = output.size(0) + num_joints = output.size(1) + heatmaps_pred = output.reshape((batch_size, num_joints, -1)).split(1, 1) + heatmaps_gt = target.reshape((batch_size, num_joints, -1)).split(1, 1) + loss = 0 + + for idx in range(num_joints): + heatmap_pred = heatmaps_pred[idx].squeeze() + heatmap_gt = heatmaps_gt[idx].squeeze() + if self.use_target_weight: + loss += 0.5 * self.criterion( + heatmap_pred.mul(target_weight[:, idx]), + heatmap_gt.mul(target_weight[:, idx]) + ) + else: + loss += 0.5 * self.criterion(heatmap_pred, heatmap_gt) + + return loss / num_joints + + +class JointsOHKMMSELoss(nn.Module): + def __init__(self, use_target_weight, topk=8): + super(JointsOHKMMSELoss, self).__init__() + self.criterion = nn.MSELoss(reduction='none') + self.use_target_weight = use_target_weight + self.topk = topk + + def ohkm(self, loss): + ohkm_loss = 0. + for i in range(loss.size()[0]): + sub_loss = loss[i] + topk_val, topk_idx = torch.topk( + sub_loss, k=self.topk, dim=0, sorted=False + ) + tmp_loss = torch.gather(sub_loss, 0, topk_idx) + ohkm_loss += torch.sum(tmp_loss) / self.topk + ohkm_loss /= loss.size()[0] + return ohkm_loss + + def forward(self, output, target, target_weight): + batch_size = output.size(0) + num_joints = output.size(1) + heatmaps_pred = output.reshape((batch_size, num_joints, -1)).split(1, 1) + heatmaps_gt = target.reshape((batch_size, num_joints, -1)).split(1, 1) + + loss = [] + for idx in range(num_joints): + heatmap_pred = heatmaps_pred[idx].squeeze() + heatmap_gt = heatmaps_gt[idx].squeeze() + if self.use_target_weight: + loss.append(0.5 * self.criterion( + heatmap_pred.mul(target_weight[:, idx]), + heatmap_gt.mul(target_weight[:, idx]) + )) + else: + loss.append( + 0.5 * self.criterion(heatmap_pred, heatmap_gt) + ) + + loss = [l.mean(dim=1).unsqueeze(dim=1) for l in loss] + loss = torch.cat(loss, dim=1) + + return self.ohkm(loss) diff --git a/deep-high-resolution-net.pytorch/lib/dataset/.amlignore b/deep-high-resolution-net.pytorch/lib/dataset/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/dataset/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/dataset/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/dataset/JointsDataset.py b/deep-high-resolution-net.pytorch/lib/dataset/JointsDataset.py new file mode 100644 index 0000000000000000000000000000000000000000..5a8cc3a78a672b1ebe963512687804831c4934bc --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/JointsDataset.py @@ -0,0 +1,289 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import copy +import logging +import random + +import cv2 +import numpy as np +import torch +from torch.utils.data import Dataset + +from utils.transforms import get_affine_transform +from utils.transforms import affine_transform +from utils.transforms import fliplr_joints + + +logger = logging.getLogger(__name__) + + +class JointsDataset(Dataset): + def __init__(self, cfg, root, image_set, is_train, transform=None): + self.num_joints = 0 + self.pixel_std = 200 + self.flip_pairs = [] + self.parent_ids = [] + + self.is_train = is_train + self.root = root + self.image_set = image_set + + self.output_path = cfg.OUTPUT_DIR + self.data_format = cfg.DATASET.DATA_FORMAT + + self.scale_factor = cfg.DATASET.SCALE_FACTOR + self.rotation_factor = cfg.DATASET.ROT_FACTOR + self.flip = cfg.DATASET.FLIP + self.num_joints_half_body = cfg.DATASET.NUM_JOINTS_HALF_BODY + self.prob_half_body = cfg.DATASET.PROB_HALF_BODY + self.color_rgb = cfg.DATASET.COLOR_RGB + + self.target_type = cfg.MODEL.TARGET_TYPE + self.image_size = np.array(cfg.MODEL.IMAGE_SIZE) + self.heatmap_size = np.array(cfg.MODEL.HEATMAP_SIZE) + self.sigma = cfg.MODEL.SIGMA + self.use_different_joints_weight = cfg.LOSS.USE_DIFFERENT_JOINTS_WEIGHT + self.joints_weight = 1 + + self.transform = transform + self.db = [] + + def _get_db(self): + raise NotImplementedError + + def evaluate(self, cfg, preds, output_dir, *args, **kwargs): + raise NotImplementedError + + def half_body_transform(self, joints, joints_vis): + upper_joints = [] + lower_joints = [] + for joint_id in range(self.num_joints): + if joints_vis[joint_id][0] > 0: + if joint_id in self.upper_body_ids: + upper_joints.append(joints[joint_id]) + else: + lower_joints.append(joints[joint_id]) + + if np.random.randn() < 0.5 and len(upper_joints) > 2: + selected_joints = upper_joints + else: + selected_joints = lower_joints \ + if len(lower_joints) > 2 else upper_joints + + if len(selected_joints) < 2: + return None, None + + selected_joints = np.array(selected_joints, dtype=np.float32) + center = selected_joints.mean(axis=0)[:2] + + left_top = np.amin(selected_joints, axis=0) + right_bottom = np.amax(selected_joints, axis=0) + + w = right_bottom[0] - left_top[0] + h = right_bottom[1] - left_top[1] + + if w > self.aspect_ratio * h: + h = w * 1.0 / self.aspect_ratio + elif w < self.aspect_ratio * h: + w = h * self.aspect_ratio + + scale = np.array( + [ + w * 1.0 / self.pixel_std, + h * 1.0 / self.pixel_std + ], + dtype=np.float32 + ) + + scale = scale * 1.5 + + return center, scale + + def __len__(self,): + return len(self.db) + + def __getitem__(self, idx): + db_rec = copy.deepcopy(self.db[idx]) + + image_file = db_rec['image'] + filename = db_rec['filename'] if 'filename' in db_rec else '' + imgnum = db_rec['imgnum'] if 'imgnum' in db_rec else '' + + if self.data_format == 'zip': + from utils import zipreader + data_numpy = zipreader.imread( + image_file, cv2.IMREAD_COLOR | cv2.IMREAD_IGNORE_ORIENTATION + ) + else: + data_numpy = cv2.imread( + image_file, cv2.IMREAD_COLOR | cv2.IMREAD_IGNORE_ORIENTATION + ) + + if self.color_rgb: + data_numpy = cv2.cvtColor(data_numpy, cv2.COLOR_BGR2RGB) + + if data_numpy is None: + logger.error('=> fail to read {}'.format(image_file)) + raise ValueError('Fail to read {}'.format(image_file)) + + joints = db_rec['joints_3d'] + joints_vis = db_rec['joints_3d_vis'] + + c = db_rec['center'] + s = db_rec['scale'] + score = db_rec['score'] if 'score' in db_rec else 1 + r = 0 + + if self.is_train: + if (np.sum(joints_vis[:, 0]) > self.num_joints_half_body + and np.random.rand() < self.prob_half_body): + c_half_body, s_half_body = self.half_body_transform( + joints, joints_vis + ) + + if c_half_body is not None and s_half_body is not None: + c, s = c_half_body, s_half_body + + sf = self.scale_factor + rf = self.rotation_factor + s = s * np.clip(np.random.randn()*sf + 1, 1 - sf, 1 + sf) + r = np.clip(np.random.randn()*rf, -rf*2, rf*2) \ + if random.random() <= 0.6 else 0 + + if self.flip and random.random() <= 0.5: + data_numpy = data_numpy[:, ::-1, :] + joints, joints_vis = fliplr_joints( + joints, joints_vis, data_numpy.shape[1], self.flip_pairs) + c[0] = data_numpy.shape[1] - c[0] - 1 + + trans = get_affine_transform(c, s, r, self.image_size) + input = cv2.warpAffine( + data_numpy, + trans, + (int(self.image_size[0]), int(self.image_size[1])), + flags=cv2.INTER_LINEAR) + + if self.transform: + input = self.transform(input) + + for i in range(self.num_joints): + if joints_vis[i, 0] > 0.0: + joints[i, 0:2] = affine_transform(joints[i, 0:2], trans) + + target, target_weight = self.generate_target(joints, joints_vis) + + target = torch.from_numpy(target) + target_weight = torch.from_numpy(target_weight) + + meta = { + 'image': image_file, + 'filename': filename, + 'imgnum': imgnum, + 'joints': joints, + 'joints_vis': joints_vis, + 'center': c, + 'scale': s, + 'rotation': r, + 'score': score + } + + return input, target, target_weight, meta + + def select_data(self, db): + db_selected = [] + for rec in db: + num_vis = 0 + joints_x = 0.0 + joints_y = 0.0 + for joint, joint_vis in zip( + rec['joints_3d'], rec['joints_3d_vis']): + if joint_vis[0] <= 0: + continue + num_vis += 1 + + joints_x += joint[0] + joints_y += joint[1] + if num_vis == 0: + continue + + joints_x, joints_y = joints_x / num_vis, joints_y / num_vis + + area = rec['scale'][0] * rec['scale'][1] * (self.pixel_std**2) + joints_center = np.array([joints_x, joints_y]) + bbox_center = np.array(rec['center']) + diff_norm2 = np.linalg.norm((joints_center-bbox_center), 2) + ks = np.exp(-1.0*(diff_norm2**2) / ((0.2)**2*2.0*area)) + + metric = (0.2 / 16) * num_vis + 0.45 - 0.2 / 16 + if ks > metric: + db_selected.append(rec) + + logger.info('=> num db: {}'.format(len(db))) + logger.info('=> num selected db: {}'.format(len(db_selected))) + return db_selected + + def generate_target(self, joints, joints_vis): + ''' + :param joints: [num_joints, 3] + :param joints_vis: [num_joints, 3] + :return: target, target_weight(1: visible, 0: invisible) + ''' + target_weight = np.ones((self.num_joints, 1), dtype=np.float32) + target_weight[:, 0] = joints_vis[:, 0] + + assert self.target_type == 'gaussian', \ + 'Only support gaussian map now!' + + if self.target_type == 'gaussian': + target = np.zeros((self.num_joints, + self.heatmap_size[1], + self.heatmap_size[0]), + dtype=np.float32) + + tmp_size = self.sigma * 3 + + for joint_id in range(self.num_joints): + feat_stride = self.image_size / self.heatmap_size + mu_x = int(joints[joint_id][0] / feat_stride[0] + 0.5) + mu_y = int(joints[joint_id][1] / feat_stride[1] + 0.5) + # Check that any part of the gaussian is in-bounds + ul = [int(mu_x - tmp_size), int(mu_y - tmp_size)] + br = [int(mu_x + tmp_size + 1), int(mu_y + tmp_size + 1)] + if ul[0] >= self.heatmap_size[0] or ul[1] >= self.heatmap_size[1] \ + or br[0] < 0 or br[1] < 0: + # If not, just return the image as is + target_weight[joint_id] = 0 + continue + + # # Generate gaussian + size = 2 * tmp_size + 1 + x = np.arange(0, size, 1, np.float32) + y = x[:, np.newaxis] + x0 = y0 = size // 2 + # The gaussian is not normalized, we want the center value to equal 1 + g = np.exp(- ((x - x0) ** 2 + (y - y0) ** 2) / (2 * self.sigma ** 2)) + + # Usable gaussian range + g_x = max(0, -ul[0]), min(br[0], self.heatmap_size[0]) - ul[0] + g_y = max(0, -ul[1]), min(br[1], self.heatmap_size[1]) - ul[1] + # Image range + img_x = max(0, ul[0]), min(br[0], self.heatmap_size[0]) + img_y = max(0, ul[1]), min(br[1], self.heatmap_size[1]) + + v = target_weight[joint_id] + if v > 0.5: + target[joint_id][img_y[0]:img_y[1], img_x[0]:img_x[1]] = \ + g[g_y[0]:g_y[1], g_x[0]:g_x[1]] + + if self.use_different_joints_weight: + target_weight = np.multiply(target_weight, self.joints_weight) + + return target, target_weight diff --git a/deep-high-resolution-net.pytorch/lib/dataset/__init__.py b/deep-high-resolution-net.pytorch/lib/dataset/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..16e2413bf9953bb2b4df9ff9e64e1727076f902d --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/__init__.py @@ -0,0 +1,12 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from .mpii import MPIIDataset as mpii +from .coco import COCODataset as coco diff --git a/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/.amlignore b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/JointsDataset.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/JointsDataset.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e06a2687b081febbb55cc7cb6e06a13daaa2e66 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/JointsDataset.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/__init__.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d33b81bda676be8eba69ebce1543e834d9edff48 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/__init__.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/coco.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/coco.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67ba7defe4d12329983c21fe9f42ec932ce318a5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/coco.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/mpii.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/mpii.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c9a17ecc850cba3f239c08fe42103de6553cbe3e Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/dataset/__pycache__/mpii.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/dataset/coco.py b/deep-high-resolution-net.pytorch/lib/dataset/coco.py new file mode 100644 index 0000000000000000000000000000000000000000..b8bad408d2dbaac842a0b5aa5689290eab7d7597 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/coco.py @@ -0,0 +1,445 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import defaultdict +from collections import OrderedDict +import logging +import os + +from pycocotools.coco import COCO +from pycocotools.cocoeval import COCOeval +import json_tricks as json +import numpy as np + +from dataset.JointsDataset import JointsDataset +from nms.nms import oks_nms +from nms.nms import soft_oks_nms + + +logger = logging.getLogger(__name__) + + +class COCODataset(JointsDataset): + ''' + "keypoints": { + 0: "nose", + 1: "left_eye", + 2: "right_eye", + 3: "left_ear", + 4: "right_ear", + 5: "left_shoulder", + 6: "right_shoulder", + 7: "left_elbow", + 8: "right_elbow", + 9: "left_wrist", + 10: "right_wrist", + 11: "left_hip", + 12: "right_hip", + 13: "left_knee", + 14: "right_knee", + 15: "left_ankle", + 16: "right_ankle" + }, + "skeleton": [ + [16,14],[14,12],[17,15],[15,13],[12,13],[6,12],[7,13], [6,7],[6,8], + [7,9],[8,10],[9,11],[2,3],[1,2],[1,3],[2,4],[3,5],[4,6],[5,7]] + ''' + def __init__(self, cfg, root, image_set, is_train, transform=None): + super().__init__(cfg, root, image_set, is_train, transform) + self.nms_thre = cfg.TEST.NMS_THRE + self.image_thre = cfg.TEST.IMAGE_THRE + self.soft_nms = cfg.TEST.SOFT_NMS + self.oks_thre = cfg.TEST.OKS_THRE + self.in_vis_thre = cfg.TEST.IN_VIS_THRE + self.bbox_file = cfg.TEST.COCO_BBOX_FILE + self.use_gt_bbox = cfg.TEST.USE_GT_BBOX + self.image_width = cfg.MODEL.IMAGE_SIZE[0] + self.image_height = cfg.MODEL.IMAGE_SIZE[1] + self.aspect_ratio = self.image_width * 1.0 / self.image_height + self.pixel_std = 200 + + self.coco = COCO(self._get_ann_file_keypoint()) + + # deal with class names + cats = [cat['name'] + for cat in self.coco.loadCats(self.coco.getCatIds())] + self.classes = ['__background__'] + cats + logger.info('=> classes: {}'.format(self.classes)) + self.num_classes = len(self.classes) + self._class_to_ind = dict(zip(self.classes, range(self.num_classes))) + self._class_to_coco_ind = dict(zip(cats, self.coco.getCatIds())) + self._coco_ind_to_class_ind = dict( + [ + (self._class_to_coco_ind[cls], self._class_to_ind[cls]) + for cls in self.classes[1:] + ] + ) + + # load image file names + self.image_set_index = self._load_image_set_index() + self.num_images = len(self.image_set_index) + logger.info('=> num_images: {}'.format(self.num_images)) + + self.num_joints = 17 + self.flip_pairs = [[1, 2], [3, 4], [5, 6], [7, 8], + [9, 10], [11, 12], [13, 14], [15, 16]] + self.parent_ids = None + self.upper_body_ids = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + self.lower_body_ids = (11, 12, 13, 14, 15, 16) + + self.joints_weight = np.array( + [ + 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, + 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5, 1.5 + ], + dtype=np.float32 + ).reshape((self.num_joints, 1)) + + self.db = self._get_db() + + if is_train and cfg.DATASET.SELECT_DATA: + self.db = self.select_data(self.db) + + logger.info('=> load {} samples'.format(len(self.db))) + + def _get_ann_file_keypoint(self): + """ self.root / annotations / person_keypoints_train2017.json """ + prefix = 'person_keypoints' \ + if 'test' not in self.image_set else 'image_info' + return os.path.join( + self.root, + 'annotations', + prefix + '_' + self.image_set + '.json' + ) + + def _load_image_set_index(self): + """ image id: int """ + image_ids = self.coco.getImgIds() + return image_ids + + def _get_db(self): + if self.is_train or self.use_gt_bbox: + # use ground truth bbox + gt_db = self._load_coco_keypoint_annotations() + else: + # use bbox from detection + gt_db = self._load_coco_person_detection_results() + return gt_db + + def _load_coco_keypoint_annotations(self): + """ ground truth bbox and keypoints """ + gt_db = [] + for index in self.image_set_index: + gt_db.extend(self._load_coco_keypoint_annotation_kernal(index)) + return gt_db + + def _load_coco_keypoint_annotation_kernal(self, index): + """ + coco ann: [u'segmentation', u'area', u'iscrowd', u'image_id', u'bbox', u'category_id', u'id'] + iscrowd: + crowd instances are handled by marking their overlaps with all categories to -1 + and later excluded in training + bbox: + [x1, y1, w, h] + :param index: coco image id + :return: db entry + """ + im_ann = self.coco.loadImgs(index)[0] + width = im_ann['width'] + height = im_ann['height'] + + annIds = self.coco.getAnnIds(imgIds=index, iscrowd=False) + objs = self.coco.loadAnns(annIds) + + # sanitize bboxes + valid_objs = [] + for obj in objs: + x, y, w, h = obj['bbox'] + x1 = np.max((0, x)) + y1 = np.max((0, y)) + x2 = np.min((width - 1, x1 + np.max((0, w - 1)))) + y2 = np.min((height - 1, y1 + np.max((0, h - 1)))) + if obj['area'] > 0 and x2 >= x1 and y2 >= y1: + obj['clean_bbox'] = [x1, y1, x2-x1, y2-y1] + valid_objs.append(obj) + objs = valid_objs + + rec = [] + for obj in objs: + cls = self._coco_ind_to_class_ind[obj['category_id']] + if cls != 1: + continue + + # ignore objs without keypoints annotation + if max(obj['keypoints']) == 0: + continue + + joints_3d = np.zeros((self.num_joints, 3), dtype=np.float) + joints_3d_vis = np.zeros((self.num_joints, 3), dtype=np.float) + for ipt in range(self.num_joints): + joints_3d[ipt, 0] = obj['keypoints'][ipt * 3 + 0] + joints_3d[ipt, 1] = obj['keypoints'][ipt * 3 + 1] + joints_3d[ipt, 2] = 0 + t_vis = obj['keypoints'][ipt * 3 + 2] + if t_vis > 1: + t_vis = 1 + joints_3d_vis[ipt, 0] = t_vis + joints_3d_vis[ipt, 1] = t_vis + joints_3d_vis[ipt, 2] = 0 + + center, scale = self._box2cs(obj['clean_bbox'][:4]) + rec.append({ + 'image': self.image_path_from_index(index), + 'center': center, + 'scale': scale, + 'joints_3d': joints_3d, + 'joints_3d_vis': joints_3d_vis, + 'filename': '', + 'imgnum': 0, + }) + + return rec + + def _box2cs(self, box): + x, y, w, h = box[:4] + return self._xywh2cs(x, y, w, h) + + def _xywh2cs(self, x, y, w, h): + center = np.zeros((2), dtype=np.float32) + center[0] = x + w * 0.5 + center[1] = y + h * 0.5 + + if w > self.aspect_ratio * h: + h = w * 1.0 / self.aspect_ratio + elif w < self.aspect_ratio * h: + w = h * self.aspect_ratio + scale = np.array( + [w * 1.0 / self.pixel_std, h * 1.0 / self.pixel_std], + dtype=np.float32) + if center[0] != -1: + scale = scale * 1.25 + + return center, scale + + def image_path_from_index(self, index): + """ example: images / train2017 / 000000119993.jpg """ + file_name = '%012d.jpg' % index + if '2014' in self.image_set: + file_name = 'COCO_%s_' % self.image_set + file_name + + prefix = 'test2017' if 'test' in self.image_set else self.image_set + + data_name = prefix + '.zip@' if self.data_format == 'zip' else prefix + + image_path = os.path.join( + self.root, 'images', data_name, file_name) + + return image_path + + def _load_coco_person_detection_results(self): + all_boxes = None + with open(self.bbox_file, 'r') as f: + all_boxes = json.load(f) + + if not all_boxes: + logger.error('=> Load %s fail!' % self.bbox_file) + return None + + logger.info('=> Total boxes: {}'.format(len(all_boxes))) + + kpt_db = [] + num_boxes = 0 + for n_img in range(0, len(all_boxes)): + det_res = all_boxes[n_img] + if det_res['category_id'] != 1: + continue + img_name = self.image_path_from_index(det_res['image_id']) + box = det_res['bbox'] + score = det_res['score'] + + if score < self.image_thre: + continue + + num_boxes = num_boxes + 1 + + center, scale = self._box2cs(box) + joints_3d = np.zeros((self.num_joints, 3), dtype=np.float) + joints_3d_vis = np.ones( + (self.num_joints, 3), dtype=np.float) + kpt_db.append({ + 'image': img_name, + 'center': center, + 'scale': scale, + 'score': score, + 'joints_3d': joints_3d, + 'joints_3d_vis': joints_3d_vis, + }) + + logger.info('=> Total boxes after fliter low score@{}: {}'.format( + self.image_thre, num_boxes)) + return kpt_db + + def evaluate(self, cfg, preds, output_dir, all_boxes, img_path, + *args, **kwargs): + rank = cfg.RANK + + res_folder = os.path.join(output_dir, 'results') + if not os.path.exists(res_folder): + try: + os.makedirs(res_folder) + except Exception: + logger.error('Fail to make {}'.format(res_folder)) + + res_file = os.path.join( + res_folder, 'keypoints_{}_results_{}.json'.format( + self.image_set, rank) + ) + + # person x (keypoints) + _kpts = [] + for idx, kpt in enumerate(preds): + _kpts.append({ + 'keypoints': kpt, + 'center': all_boxes[idx][0:2], + 'scale': all_boxes[idx][2:4], + 'area': all_boxes[idx][4], + 'score': all_boxes[idx][5], + 'image': int(img_path[idx][-16:-4]) + }) + # image x person x (keypoints) + kpts = defaultdict(list) + for kpt in _kpts: + kpts[kpt['image']].append(kpt) + + # rescoring and oks nms + num_joints = self.num_joints + in_vis_thre = self.in_vis_thre + oks_thre = self.oks_thre + oks_nmsed_kpts = [] + for img in kpts.keys(): + img_kpts = kpts[img] + for n_p in img_kpts: + box_score = n_p['score'] + kpt_score = 0 + valid_num = 0 + for n_jt in range(0, num_joints): + t_s = n_p['keypoints'][n_jt][2] + if t_s > in_vis_thre: + kpt_score = kpt_score + t_s + valid_num = valid_num + 1 + if valid_num != 0: + kpt_score = kpt_score / valid_num + # rescoring + n_p['score'] = kpt_score * box_score + + if self.soft_nms: + keep = soft_oks_nms( + [img_kpts[i] for i in range(len(img_kpts))], + oks_thre + ) + else: + keep = oks_nms( + [img_kpts[i] for i in range(len(img_kpts))], + oks_thre + ) + + if len(keep) == 0: + oks_nmsed_kpts.append(img_kpts) + else: + oks_nmsed_kpts.append([img_kpts[_keep] for _keep in keep]) + + self._write_coco_keypoint_results( + oks_nmsed_kpts, res_file) + if 'test' not in self.image_set: + info_str = self._do_python_keypoint_eval( + res_file, res_folder) + name_value = OrderedDict(info_str) + return name_value, name_value['AP'] + else: + return {'Null': 0}, 0 + + def _write_coco_keypoint_results(self, keypoints, res_file): + data_pack = [ + { + 'cat_id': self._class_to_coco_ind[cls], + 'cls_ind': cls_ind, + 'cls': cls, + 'ann_type': 'keypoints', + 'keypoints': keypoints + } + for cls_ind, cls in enumerate(self.classes) if not cls == '__background__' + ] + + results = self._coco_keypoint_results_one_category_kernel(data_pack[0]) + logger.info('=> writing results json to %s' % res_file) + with open(res_file, 'w') as f: + json.dump(results, f, sort_keys=True, indent=4) + try: + json.load(open(res_file)) + except Exception: + content = [] + with open(res_file, 'r') as f: + for line in f: + content.append(line) + content[-1] = ']' + with open(res_file, 'w') as f: + for c in content: + f.write(c) + + def _coco_keypoint_results_one_category_kernel(self, data_pack): + cat_id = data_pack['cat_id'] + keypoints = data_pack['keypoints'] + cat_results = [] + + for img_kpts in keypoints: + if len(img_kpts) == 0: + continue + + _key_points = np.array([img_kpts[k]['keypoints'] + for k in range(len(img_kpts))]) + key_points = np.zeros( + (_key_points.shape[0], self.num_joints * 3), dtype=np.float + ) + + for ipt in range(self.num_joints): + key_points[:, ipt * 3 + 0] = _key_points[:, ipt, 0] + key_points[:, ipt * 3 + 1] = _key_points[:, ipt, 1] + key_points[:, ipt * 3 + 2] = _key_points[:, ipt, 2] # keypoints score. + + result = [ + { + 'image_id': img_kpts[k]['image'], + 'category_id': cat_id, + 'keypoints': list(key_points[k]), + 'score': img_kpts[k]['score'], + 'center': list(img_kpts[k]['center']), + 'scale': list(img_kpts[k]['scale']) + } + for k in range(len(img_kpts)) + ] + cat_results.extend(result) + + return cat_results + + def _do_python_keypoint_eval(self, res_file, res_folder): + coco_dt = self.coco.loadRes(res_file) + coco_eval = COCOeval(self.coco, coco_dt, 'keypoints') + coco_eval.params.useSegm = None + coco_eval.evaluate() + coco_eval.accumulate() + coco_eval.summarize() + + stats_names = ['AP', 'Ap .5', 'AP .75', 'AP (M)', 'AP (L)', 'AR', 'AR .5', 'AR .75', 'AR (M)', 'AR (L)'] + + info_str = [] + for ind, name in enumerate(stats_names): + info_str.append((name, coco_eval.stats[ind])) + + return info_str diff --git a/deep-high-resolution-net.pytorch/lib/dataset/mpii.py b/deep-high-resolution-net.pytorch/lib/dataset/mpii.py new file mode 100644 index 0000000000000000000000000000000000000000..1a03955b7563f8da6eebcea3d5a57509fb530a1f --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/mpii.py @@ -0,0 +1,184 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import logging +import os +import json_tricks as json +from collections import OrderedDict + +import numpy as np +from scipy.io import loadmat, savemat + +from dataset.JointsDataset import JointsDataset + + +logger = logging.getLogger(__name__) + + +class MPIIDataset(JointsDataset): + def __init__(self, cfg, root, image_set, is_train, transform=None): + super().__init__(cfg, root, image_set, is_train, transform) + + self.num_joints = 16 + self.flip_pairs = [[0, 5], [1, 4], [2, 3], [10, 15], [11, 14], [12, 13]] + self.parent_ids = [1, 2, 6, 6, 3, 4, 6, 6, 7, 8, 11, 12, 7, 7, 13, 14] + + self.upper_body_ids = (7, 8, 9, 10, 11, 12, 13, 14, 15) + self.lower_body_ids = (0, 1, 2, 3, 4, 5, 6) + + self.db = self._get_db() + + if is_train and cfg.DATASET.SELECT_DATA: + self.db = self.select_data(self.db) + + logger.info('=> load {} samples'.format(len(self.db))) + + def _get_db(self): + # create train/val split + file_name = os.path.join( + self.root, 'annot', self.image_set+'.json' + ) + with open(file_name) as anno_file: + anno = json.load(anno_file) + + gt_db = [] + for a in anno: + image_name = a['image'] + + c = np.array(a['center'], dtype=float) + s = np.array([a['scale'], a['scale']], dtype=float) + + # Adjust center/scale slightly to avoid cropping limbs + if c[0] != -1: + c[1] = c[1] + 15 * s[1] + s = s * 1.25 + + # MPII uses matlab format, index is based 1, + # we should first convert to 0-based index + c = c - 1 + + joints_3d = np.zeros((self.num_joints, 3), dtype=float) + joints_3d_vis = np.zeros((self.num_joints, 3), dtype=float) + if self.image_set != 'test': + joints = np.array(a['joints']) + joints[:, 0:2] = joints[:, 0:2] - 1 + joints_vis = np.array(a['joints_vis']) + assert len(joints) == self.num_joints, \ + 'joint num diff: {} vs {}'.format(len(joints), + self.num_joints) + + joints_3d[:, 0:2] = joints[:, 0:2] + joints_3d_vis[:, 0] = joints_vis[:] + joints_3d_vis[:, 1] = joints_vis[:] + + image_dir = 'images.zip@' if self.data_format == 'zip' else 'images' + gt_db.append( + { + 'image': os.path.join(self.root, image_dir, image_name), + 'center': c, + 'scale': s, + 'joints_3d': joints_3d, + 'joints_3d_vis': joints_3d_vis, + 'filename': '', + 'imgnum': 0, + } + ) + + return gt_db + + def evaluate(self, cfg, preds, output_dir, *args, **kwargs): + # convert 0-based index to 1-based index + preds = preds[:, :, 0:2] + 1.0 + + if output_dir: + pred_file = os.path.join(output_dir, 'pred.mat') + savemat(pred_file, mdict={'preds': preds}) + + if 'test' in cfg.DATASET.TEST_SET: + return {'Null': 0.0}, 0.0 + + SC_BIAS = 0.6 + threshold = 0.5 + + gt_file = os.path.join(cfg.DATASET.ROOT, + 'annot', + 'gt_{}.mat'.format(cfg.DATASET.TEST_SET)) + gt_dict = loadmat(gt_file) + dataset_joints = gt_dict['dataset_joints'] + jnt_missing = gt_dict['jnt_missing'] + pos_gt_src = gt_dict['pos_gt_src'] + # headboxes_src = gt_dict['headboxes_src'] + + pos_pred_src = np.transpose(preds, [1, 2, 0]) + + head = np.where(dataset_joints == 'head')[1][0] + lsho = np.where(dataset_joints == 'lsho')[1][0] + lelb = np.where(dataset_joints == 'lelb')[1][0] + lwri = np.where(dataset_joints == 'lwri')[1][0] + lhip = np.where(dataset_joints == 'lhip')[1][0] + lkne = np.where(dataset_joints == 'lkne')[1][0] + lank = np.where(dataset_joints == 'lank')[1][0] + + rsho = np.where(dataset_joints == 'rsho')[1][0] + relb = np.where(dataset_joints == 'relb')[1][0] + rwri = np.where(dataset_joints == 'rwri')[1][0] + rkne = np.where(dataset_joints == 'rkne')[1][0] + rank = np.where(dataset_joints == 'rank')[1][0] + rhip = np.where(dataset_joints == 'rhip')[1][0] + + jnt_visible = 1 - jnt_missing + uv_error = pos_pred_src - pos_gt_src + uv_err = np.linalg.norm(uv_error, axis=1) + # headsizes = headboxes_src[1, :, :] - headboxes_src[0, :, :] + # headsizes = np.linalg.norm(headsizes, axis=0) + # headsizes *= SC_BIAS + # scale = np.multiply(headsizes, np.ones((len(uv_err), 1))) + scale = gt_dict['scale'] + print(scale.shape) + + scaled_uv_err = np.divide(uv_err, scale) + scaled_uv_err = np.multiply(scaled_uv_err, jnt_visible) + jnt_count = np.sum(jnt_visible, axis=1) + less_than_threshold = np.multiply((scaled_uv_err <= threshold), + jnt_visible) + PCKh = np.divide(100.*np.sum(less_than_threshold, axis=1), jnt_count) + + # save + rng = np.arange(0, 0.5+0.01, 0.01) + pckAll = np.zeros((len(rng), 16)) + + for r in range(len(rng)): + threshold = rng[r] + less_than_threshold = np.multiply(scaled_uv_err <= threshold, + jnt_visible) + pckAll[r, :] = np.divide(100.*np.sum(less_than_threshold, axis=1), + jnt_count) + + PCKh = np.ma.array(PCKh, mask=False) + PCKh.mask[6:8] = True + + jnt_count = np.ma.array(jnt_count, mask=False) + jnt_count.mask[6:8] = True + jnt_ratio = jnt_count / np.sum(jnt_count).astype(float) + + name_value = [ + ('Head', PCKh[head]), + ('Shoulder', 0.5 * (PCKh[lsho] + PCKh[rsho])), + ('Elbow', 0.5 * (PCKh[lelb] + PCKh[relb])), + ('Wrist', 0.5 * (PCKh[lwri] + PCKh[rwri])), + ('Hip', 0.5 * (PCKh[lhip] + PCKh[rhip])), + ('Knee', 0.5 * (PCKh[lkne] + PCKh[rkne])), + ('Ankle', 0.5 * (PCKh[lank] + PCKh[rank])), + ('Mean', np.sum(PCKh * jnt_ratio)), + ('Mean@0.1', np.sum(pckAll[11, :] * jnt_ratio)) + ] + name_value = OrderedDict(name_value) + + return name_value, name_value['Mean'] diff --git a/deep-high-resolution-net.pytorch/lib/dataset/mpii.py.amltmp b/deep-high-resolution-net.pytorch/lib/dataset/mpii.py.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..1a03955b7563f8da6eebcea3d5a57509fb530a1f --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/dataset/mpii.py.amltmp @@ -0,0 +1,184 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import logging +import os +import json_tricks as json +from collections import OrderedDict + +import numpy as np +from scipy.io import loadmat, savemat + +from dataset.JointsDataset import JointsDataset + + +logger = logging.getLogger(__name__) + + +class MPIIDataset(JointsDataset): + def __init__(self, cfg, root, image_set, is_train, transform=None): + super().__init__(cfg, root, image_set, is_train, transform) + + self.num_joints = 16 + self.flip_pairs = [[0, 5], [1, 4], [2, 3], [10, 15], [11, 14], [12, 13]] + self.parent_ids = [1, 2, 6, 6, 3, 4, 6, 6, 7, 8, 11, 12, 7, 7, 13, 14] + + self.upper_body_ids = (7, 8, 9, 10, 11, 12, 13, 14, 15) + self.lower_body_ids = (0, 1, 2, 3, 4, 5, 6) + + self.db = self._get_db() + + if is_train and cfg.DATASET.SELECT_DATA: + self.db = self.select_data(self.db) + + logger.info('=> load {} samples'.format(len(self.db))) + + def _get_db(self): + # create train/val split + file_name = os.path.join( + self.root, 'annot', self.image_set+'.json' + ) + with open(file_name) as anno_file: + anno = json.load(anno_file) + + gt_db = [] + for a in anno: + image_name = a['image'] + + c = np.array(a['center'], dtype=float) + s = np.array([a['scale'], a['scale']], dtype=float) + + # Adjust center/scale slightly to avoid cropping limbs + if c[0] != -1: + c[1] = c[1] + 15 * s[1] + s = s * 1.25 + + # MPII uses matlab format, index is based 1, + # we should first convert to 0-based index + c = c - 1 + + joints_3d = np.zeros((self.num_joints, 3), dtype=float) + joints_3d_vis = np.zeros((self.num_joints, 3), dtype=float) + if self.image_set != 'test': + joints = np.array(a['joints']) + joints[:, 0:2] = joints[:, 0:2] - 1 + joints_vis = np.array(a['joints_vis']) + assert len(joints) == self.num_joints, \ + 'joint num diff: {} vs {}'.format(len(joints), + self.num_joints) + + joints_3d[:, 0:2] = joints[:, 0:2] + joints_3d_vis[:, 0] = joints_vis[:] + joints_3d_vis[:, 1] = joints_vis[:] + + image_dir = 'images.zip@' if self.data_format == 'zip' else 'images' + gt_db.append( + { + 'image': os.path.join(self.root, image_dir, image_name), + 'center': c, + 'scale': s, + 'joints_3d': joints_3d, + 'joints_3d_vis': joints_3d_vis, + 'filename': '', + 'imgnum': 0, + } + ) + + return gt_db + + def evaluate(self, cfg, preds, output_dir, *args, **kwargs): + # convert 0-based index to 1-based index + preds = preds[:, :, 0:2] + 1.0 + + if output_dir: + pred_file = os.path.join(output_dir, 'pred.mat') + savemat(pred_file, mdict={'preds': preds}) + + if 'test' in cfg.DATASET.TEST_SET: + return {'Null': 0.0}, 0.0 + + SC_BIAS = 0.6 + threshold = 0.5 + + gt_file = os.path.join(cfg.DATASET.ROOT, + 'annot', + 'gt_{}.mat'.format(cfg.DATASET.TEST_SET)) + gt_dict = loadmat(gt_file) + dataset_joints = gt_dict['dataset_joints'] + jnt_missing = gt_dict['jnt_missing'] + pos_gt_src = gt_dict['pos_gt_src'] + # headboxes_src = gt_dict['headboxes_src'] + + pos_pred_src = np.transpose(preds, [1, 2, 0]) + + head = np.where(dataset_joints == 'head')[1][0] + lsho = np.where(dataset_joints == 'lsho')[1][0] + lelb = np.where(dataset_joints == 'lelb')[1][0] + lwri = np.where(dataset_joints == 'lwri')[1][0] + lhip = np.where(dataset_joints == 'lhip')[1][0] + lkne = np.where(dataset_joints == 'lkne')[1][0] + lank = np.where(dataset_joints == 'lank')[1][0] + + rsho = np.where(dataset_joints == 'rsho')[1][0] + relb = np.where(dataset_joints == 'relb')[1][0] + rwri = np.where(dataset_joints == 'rwri')[1][0] + rkne = np.where(dataset_joints == 'rkne')[1][0] + rank = np.where(dataset_joints == 'rank')[1][0] + rhip = np.where(dataset_joints == 'rhip')[1][0] + + jnt_visible = 1 - jnt_missing + uv_error = pos_pred_src - pos_gt_src + uv_err = np.linalg.norm(uv_error, axis=1) + # headsizes = headboxes_src[1, :, :] - headboxes_src[0, :, :] + # headsizes = np.linalg.norm(headsizes, axis=0) + # headsizes *= SC_BIAS + # scale = np.multiply(headsizes, np.ones((len(uv_err), 1))) + scale = gt_dict['scale'] + print(scale.shape) + + scaled_uv_err = np.divide(uv_err, scale) + scaled_uv_err = np.multiply(scaled_uv_err, jnt_visible) + jnt_count = np.sum(jnt_visible, axis=1) + less_than_threshold = np.multiply((scaled_uv_err <= threshold), + jnt_visible) + PCKh = np.divide(100.*np.sum(less_than_threshold, axis=1), jnt_count) + + # save + rng = np.arange(0, 0.5+0.01, 0.01) + pckAll = np.zeros((len(rng), 16)) + + for r in range(len(rng)): + threshold = rng[r] + less_than_threshold = np.multiply(scaled_uv_err <= threshold, + jnt_visible) + pckAll[r, :] = np.divide(100.*np.sum(less_than_threshold, axis=1), + jnt_count) + + PCKh = np.ma.array(PCKh, mask=False) + PCKh.mask[6:8] = True + + jnt_count = np.ma.array(jnt_count, mask=False) + jnt_count.mask[6:8] = True + jnt_ratio = jnt_count / np.sum(jnt_count).astype(float) + + name_value = [ + ('Head', PCKh[head]), + ('Shoulder', 0.5 * (PCKh[lsho] + PCKh[rsho])), + ('Elbow', 0.5 * (PCKh[lelb] + PCKh[relb])), + ('Wrist', 0.5 * (PCKh[lwri] + PCKh[rwri])), + ('Hip', 0.5 * (PCKh[lhip] + PCKh[rhip])), + ('Knee', 0.5 * (PCKh[lkne] + PCKh[rkne])), + ('Ankle', 0.5 * (PCKh[lank] + PCKh[rank])), + ('Mean', np.sum(PCKh * jnt_ratio)), + ('Mean@0.1', np.sum(pckAll[11, :] * jnt_ratio)) + ] + name_value = OrderedDict(name_value) + + return name_value, name_value['Mean'] diff --git a/deep-high-resolution-net.pytorch/lib/models/.amlignore b/deep-high-resolution-net.pytorch/lib/models/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/models/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/models/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/models/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/models/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/models/__init__.py b/deep-high-resolution-net.pytorch/lib/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e3b7f1a709982d59002f07fbb9f42d919d9bee17 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/models/__init__.py @@ -0,0 +1,16 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import models.pose_resnet +import models.pose_hrnet diff --git a/deep-high-resolution-net.pytorch/lib/models/__pycache__/__init__.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/models/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e8332a8616abdbb595287319f625ec682d116c4c Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/models/__pycache__/__init__.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/models/__pycache__/pose_hrnet.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/models/__pycache__/pose_hrnet.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ae399048e80bf21a4cf110141b19eccc560ecbf5 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/models/__pycache__/pose_hrnet.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/models/__pycache__/pose_resnet.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/models/__pycache__/pose_resnet.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..94e6e88ced649fd2e6d8429628d75e684cd813b1 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/models/__pycache__/pose_resnet.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/models/pose_hrnet.py b/deep-high-resolution-net.pytorch/lib/models/pose_hrnet.py new file mode 100644 index 0000000000000000000000000000000000000000..09ff346a1b20ca9e9078714132c01123d1b0b4b1 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/models/pose_hrnet.py @@ -0,0 +1,501 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import logging + +import torch +import torch.nn as nn + + +BN_MOMENTUM = 0.1 +logger = logging.getLogger(__name__) + + +def conv3x3(in_planes, out_planes, stride=1): + """3x3 convolution with padding""" + return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, + padding=1, bias=False) + + +class BasicBlock(nn.Module): + expansion = 1 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(BasicBlock, self).__init__() + self.conv1 = conv3x3(inplanes, planes, stride) + self.bn1 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.relu = nn.ReLU(inplace=True) + self.conv2 = conv3x3(planes, planes) + self.bn2 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.downsample = downsample + self.stride = stride + + def forward(self, x): + residual = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + + if self.downsample is not None: + residual = self.downsample(x) + + out += residual + out = self.relu(out) + + return out + + +class Bottleneck(nn.Module): + expansion = 4 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(Bottleneck, self).__init__() + self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False) + self.bn1 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, + padding=1, bias=False) + self.bn2 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.conv3 = nn.Conv2d(planes, planes * self.expansion, kernel_size=1, + bias=False) + self.bn3 = nn.BatchNorm2d(planes * self.expansion, + momentum=BN_MOMENTUM) + self.relu = nn.ReLU(inplace=True) + self.downsample = downsample + self.stride = stride + + def forward(self, x): + residual = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + out = self.relu(out) + + out = self.conv3(out) + out = self.bn3(out) + + if self.downsample is not None: + residual = self.downsample(x) + + out += residual + out = self.relu(out) + + return out + + +class HighResolutionModule(nn.Module): + def __init__(self, num_branches, blocks, num_blocks, num_inchannels, + num_channels, fuse_method, multi_scale_output=True): + super(HighResolutionModule, self).__init__() + self._check_branches( + num_branches, blocks, num_blocks, num_inchannels, num_channels) + + self.num_inchannels = num_inchannels + self.fuse_method = fuse_method + self.num_branches = num_branches + + self.multi_scale_output = multi_scale_output + + self.branches = self._make_branches( + num_branches, blocks, num_blocks, num_channels) + self.fuse_layers = self._make_fuse_layers() + self.relu = nn.ReLU(True) + + def _check_branches(self, num_branches, blocks, num_blocks, + num_inchannels, num_channels): + if num_branches != len(num_blocks): + error_msg = 'NUM_BRANCHES({}) <> NUM_BLOCKS({})'.format( + num_branches, len(num_blocks)) + logger.error(error_msg) + raise ValueError(error_msg) + + if num_branches != len(num_channels): + error_msg = 'NUM_BRANCHES({}) <> NUM_CHANNELS({})'.format( + num_branches, len(num_channels)) + logger.error(error_msg) + raise ValueError(error_msg) + + if num_branches != len(num_inchannels): + error_msg = 'NUM_BRANCHES({}) <> NUM_INCHANNELS({})'.format( + num_branches, len(num_inchannels)) + logger.error(error_msg) + raise ValueError(error_msg) + + def _make_one_branch(self, branch_index, block, num_blocks, num_channels, + stride=1): + downsample = None + if stride != 1 or \ + self.num_inchannels[branch_index] != num_channels[branch_index] * block.expansion: + downsample = nn.Sequential( + nn.Conv2d( + self.num_inchannels[branch_index], + num_channels[branch_index] * block.expansion, + kernel_size=1, stride=stride, bias=False + ), + nn.BatchNorm2d( + num_channels[branch_index] * block.expansion, + momentum=BN_MOMENTUM + ), + ) + + layers = [] + layers.append( + block( + self.num_inchannels[branch_index], + num_channels[branch_index], + stride, + downsample + ) + ) + self.num_inchannels[branch_index] = \ + num_channels[branch_index] * block.expansion + for i in range(1, num_blocks[branch_index]): + layers.append( + block( + self.num_inchannels[branch_index], + num_channels[branch_index] + ) + ) + + return nn.Sequential(*layers) + + def _make_branches(self, num_branches, block, num_blocks, num_channels): + branches = [] + + for i in range(num_branches): + branches.append( + self._make_one_branch(i, block, num_blocks, num_channels) + ) + + return nn.ModuleList(branches) + + def _make_fuse_layers(self): + if self.num_branches == 1: + return None + + num_branches = self.num_branches + num_inchannels = self.num_inchannels + fuse_layers = [] + for i in range(num_branches if self.multi_scale_output else 1): + fuse_layer = [] + for j in range(num_branches): + if j > i: + fuse_layer.append( + nn.Sequential( + nn.Conv2d( + num_inchannels[j], + num_inchannels[i], + 1, 1, 0, bias=False + ), + nn.BatchNorm2d(num_inchannels[i]), + nn.Upsample(scale_factor=2**(j-i), mode='nearest') + ) + ) + elif j == i: + fuse_layer.append(None) + else: + conv3x3s = [] + for k in range(i-j): + if k == i - j - 1: + num_outchannels_conv3x3 = num_inchannels[i] + conv3x3s.append( + nn.Sequential( + nn.Conv2d( + num_inchannels[j], + num_outchannels_conv3x3, + 3, 2, 1, bias=False + ), + nn.BatchNorm2d(num_outchannels_conv3x3) + ) + ) + else: + num_outchannels_conv3x3 = num_inchannels[j] + conv3x3s.append( + nn.Sequential( + nn.Conv2d( + num_inchannels[j], + num_outchannels_conv3x3, + 3, 2, 1, bias=False + ), + nn.BatchNorm2d(num_outchannels_conv3x3), + nn.ReLU(True) + ) + ) + fuse_layer.append(nn.Sequential(*conv3x3s)) + fuse_layers.append(nn.ModuleList(fuse_layer)) + + return nn.ModuleList(fuse_layers) + + def get_num_inchannels(self): + return self.num_inchannels + + def forward(self, x): + if self.num_branches == 1: + return [self.branches[0](x[0])] + + for i in range(self.num_branches): + x[i] = self.branches[i](x[i]) + + x_fuse = [] + + for i in range(len(self.fuse_layers)): + y = x[0] if i == 0 else self.fuse_layers[i][0](x[0]) + for j in range(1, self.num_branches): + if i == j: + y = y + x[j] + else: + y = y + self.fuse_layers[i][j](x[j]) + x_fuse.append(self.relu(y)) + + return x_fuse + + +blocks_dict = { + 'BASIC': BasicBlock, + 'BOTTLENECK': Bottleneck +} + + +class PoseHighResolutionNet(nn.Module): + + def __init__(self, cfg, **kwargs): + self.inplanes = 64 + extra = cfg['MODEL']['EXTRA'] + super(PoseHighResolutionNet, self).__init__() + + # stem net + self.conv1 = nn.Conv2d(3, 64, kernel_size=3, stride=2, padding=1, + bias=False) + self.bn1 = nn.BatchNorm2d(64, momentum=BN_MOMENTUM) + self.conv2 = nn.Conv2d(64, 64, kernel_size=3, stride=2, padding=1, + bias=False) + self.bn2 = nn.BatchNorm2d(64, momentum=BN_MOMENTUM) + self.relu = nn.ReLU(inplace=True) + self.layer1 = self._make_layer(Bottleneck, 64, 4) + + self.stage2_cfg = extra['STAGE2'] + num_channels = self.stage2_cfg['NUM_CHANNELS'] + block = blocks_dict[self.stage2_cfg['BLOCK']] + num_channels = [ + num_channels[i] * block.expansion for i in range(len(num_channels)) + ] + self.transition1 = self._make_transition_layer([256], num_channels) + self.stage2, pre_stage_channels = self._make_stage( + self.stage2_cfg, num_channels) + + self.stage3_cfg = extra['STAGE3'] + num_channels = self.stage3_cfg['NUM_CHANNELS'] + block = blocks_dict[self.stage3_cfg['BLOCK']] + num_channels = [ + num_channels[i] * block.expansion for i in range(len(num_channels)) + ] + self.transition2 = self._make_transition_layer( + pre_stage_channels, num_channels) + self.stage3, pre_stage_channels = self._make_stage( + self.stage3_cfg, num_channels) + + self.stage4_cfg = extra['STAGE4'] + num_channels = self.stage4_cfg['NUM_CHANNELS'] + block = blocks_dict[self.stage4_cfg['BLOCK']] + num_channels = [ + num_channels[i] * block.expansion for i in range(len(num_channels)) + ] + self.transition3 = self._make_transition_layer( + pre_stage_channels, num_channels) + self.stage4, pre_stage_channels = self._make_stage( + self.stage4_cfg, num_channels, multi_scale_output=False) + + self.final_layer = nn.Conv2d( + in_channels=pre_stage_channels[0], + out_channels=cfg['MODEL']['NUM_JOINTS'], + kernel_size=extra['FINAL_CONV_KERNEL'], + stride=1, + padding=1 if extra['FINAL_CONV_KERNEL'] == 3 else 0 + ) + + self.pretrained_layers = extra['PRETRAINED_LAYERS'] + + def _make_transition_layer( + self, num_channels_pre_layer, num_channels_cur_layer): + num_branches_cur = len(num_channels_cur_layer) + num_branches_pre = len(num_channels_pre_layer) + + transition_layers = [] + for i in range(num_branches_cur): + if i < num_branches_pre: + if num_channels_cur_layer[i] != num_channels_pre_layer[i]: + transition_layers.append( + nn.Sequential( + nn.Conv2d( + num_channels_pre_layer[i], + num_channels_cur_layer[i], + 3, 1, 1, bias=False + ), + nn.BatchNorm2d(num_channels_cur_layer[i]), + nn.ReLU(inplace=True) + ) + ) + else: + transition_layers.append(None) + else: + conv3x3s = [] + for j in range(i+1-num_branches_pre): + inchannels = num_channels_pre_layer[-1] + outchannels = num_channels_cur_layer[i] \ + if j == i-num_branches_pre else inchannels + conv3x3s.append( + nn.Sequential( + nn.Conv2d( + inchannels, outchannels, 3, 2, 1, bias=False + ), + nn.BatchNorm2d(outchannels), + nn.ReLU(inplace=True) + ) + ) + transition_layers.append(nn.Sequential(*conv3x3s)) + + return nn.ModuleList(transition_layers) + + def _make_layer(self, block, planes, blocks, stride=1): + downsample = None + if stride != 1 or self.inplanes != planes * block.expansion: + downsample = nn.Sequential( + nn.Conv2d( + self.inplanes, planes * block.expansion, + kernel_size=1, stride=stride, bias=False + ), + nn.BatchNorm2d(planes * block.expansion, momentum=BN_MOMENTUM), + ) + + layers = [] + layers.append(block(self.inplanes, planes, stride, downsample)) + self.inplanes = planes * block.expansion + for i in range(1, blocks): + layers.append(block(self.inplanes, planes)) + + return nn.Sequential(*layers) + + def _make_stage(self, layer_config, num_inchannels, + multi_scale_output=True): + num_modules = layer_config['NUM_MODULES'] + num_branches = layer_config['NUM_BRANCHES'] + num_blocks = layer_config['NUM_BLOCKS'] + num_channels = layer_config['NUM_CHANNELS'] + block = blocks_dict[layer_config['BLOCK']] + fuse_method = layer_config['FUSE_METHOD'] + + modules = [] + for i in range(num_modules): + # multi_scale_output is only used last module + if not multi_scale_output and i == num_modules - 1: + reset_multi_scale_output = False + else: + reset_multi_scale_output = True + + modules.append( + HighResolutionModule( + num_branches, + block, + num_blocks, + num_inchannels, + num_channels, + fuse_method, + reset_multi_scale_output + ) + ) + num_inchannels = modules[-1].get_num_inchannels() + + return nn.Sequential(*modules), num_inchannels + + def forward(self, x): + x = self.conv1(x) + x = self.bn1(x) + x = self.relu(x) + x = self.conv2(x) + x = self.bn2(x) + x = self.relu(x) + x = self.layer1(x) + + x_list = [] + for i in range(self.stage2_cfg['NUM_BRANCHES']): + if self.transition1[i] is not None: + x_list.append(self.transition1[i](x)) + else: + x_list.append(x) + y_list = self.stage2(x_list) + + x_list = [] + for i in range(self.stage3_cfg['NUM_BRANCHES']): + if self.transition2[i] is not None: + x_list.append(self.transition2[i](y_list[-1])) + else: + x_list.append(y_list[i]) + y_list = self.stage3(x_list) + + x_list = [] + for i in range(self.stage4_cfg['NUM_BRANCHES']): + if self.transition3[i] is not None: + x_list.append(self.transition3[i](y_list[-1])) + else: + x_list.append(y_list[i]) + y_list = self.stage4(x_list) + + x = self.final_layer(y_list[0]) + + return x + + def init_weights(self, pretrained=''): + logger.info('=> init weights from normal distribution') + for m in self.modules(): + if isinstance(m, nn.Conv2d): + # nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') + nn.init.normal_(m.weight, std=0.001) + for name, _ in m.named_parameters(): + if name in ['bias']: + nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.BatchNorm2d): + nn.init.constant_(m.weight, 1) + nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.ConvTranspose2d): + nn.init.normal_(m.weight, std=0.001) + for name, _ in m.named_parameters(): + if name in ['bias']: + nn.init.constant_(m.bias, 0) + + if os.path.isfile(pretrained): + pretrained_state_dict = torch.load(pretrained) + logger.info('=> loading pretrained model {}'.format(pretrained)) + + need_init_state_dict = {} + for name, m in pretrained_state_dict.items(): + if name.split('.')[0] in self.pretrained_layers \ + or self.pretrained_layers[0] is '*': + need_init_state_dict[name] = m + self.load_state_dict(need_init_state_dict, strict=False) + elif pretrained: + logger.error('=> please download pre-trained models first!') + raise ValueError('{} is not exist!'.format(pretrained)) + + +def get_pose_net(cfg, is_train, **kwargs): + model = PoseHighResolutionNet(cfg, **kwargs) + + if is_train and cfg['MODEL']['INIT_WEIGHTS']: + model.init_weights(cfg['MODEL']['PRETRAINED']) + + return model diff --git a/deep-high-resolution-net.pytorch/lib/models/pose_resnet.py b/deep-high-resolution-net.pytorch/lib/models/pose_resnet.py new file mode 100644 index 0000000000000000000000000000000000000000..f264dee95cf32ea57e9e1a97952eedd723117249 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/models/pose_resnet.py @@ -0,0 +1,271 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import logging + +import torch +import torch.nn as nn + + +BN_MOMENTUM = 0.1 +logger = logging.getLogger(__name__) + + +def conv3x3(in_planes, out_planes, stride=1): + """3x3 convolution with padding""" + return nn.Conv2d( + in_planes, out_planes, kernel_size=3, stride=stride, + padding=1, bias=False + ) + + +class BasicBlock(nn.Module): + expansion = 1 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(BasicBlock, self).__init__() + self.conv1 = conv3x3(inplanes, planes, stride) + self.bn1 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.relu = nn.ReLU(inplace=True) + self.conv2 = conv3x3(planes, planes) + self.bn2 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.downsample = downsample + self.stride = stride + + def forward(self, x): + residual = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + + if self.downsample is not None: + residual = self.downsample(x) + + out += residual + out = self.relu(out) + + return out + + +class Bottleneck(nn.Module): + expansion = 4 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(Bottleneck, self).__init__() + self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False) + self.bn1 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, + padding=1, bias=False) + self.bn2 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) + self.conv3 = nn.Conv2d(planes, planes * self.expansion, kernel_size=1, + bias=False) + self.bn3 = nn.BatchNorm2d(planes * self.expansion, + momentum=BN_MOMENTUM) + self.relu = nn.ReLU(inplace=True) + self.downsample = downsample + self.stride = stride + + def forward(self, x): + residual = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + out = self.relu(out) + + out = self.conv3(out) + out = self.bn3(out) + + if self.downsample is not None: + residual = self.downsample(x) + + out += residual + out = self.relu(out) + + return out + + +class PoseResNet(nn.Module): + + def __init__(self, block, layers, cfg, **kwargs): + self.inplanes = 64 + extra = cfg.MODEL.EXTRA + self.deconv_with_bias = extra.DECONV_WITH_BIAS + + super(PoseResNet, self).__init__() + self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, + bias=False) + self.bn1 = nn.BatchNorm2d(64, momentum=BN_MOMENTUM) + self.relu = nn.ReLU(inplace=True) + self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) + self.layer1 = self._make_layer(block, 64, layers[0]) + self.layer2 = self._make_layer(block, 128, layers[1], stride=2) + self.layer3 = self._make_layer(block, 256, layers[2], stride=2) + self.layer4 = self._make_layer(block, 512, layers[3], stride=2) + + # used for deconv layers + self.deconv_layers = self._make_deconv_layer( + extra.NUM_DECONV_LAYERS, + extra.NUM_DECONV_FILTERS, + extra.NUM_DECONV_KERNELS, + ) + + self.final_layer = nn.Conv2d( + in_channels=extra.NUM_DECONV_FILTERS[-1], + out_channels=cfg.MODEL.NUM_JOINTS, + kernel_size=extra.FINAL_CONV_KERNEL, + stride=1, + padding=1 if extra.FINAL_CONV_KERNEL == 3 else 0 + ) + + def _make_layer(self, block, planes, blocks, stride=1): + downsample = None + if stride != 1 or self.inplanes != planes * block.expansion: + downsample = nn.Sequential( + nn.Conv2d(self.inplanes, planes * block.expansion, + kernel_size=1, stride=stride, bias=False), + nn.BatchNorm2d(planes * block.expansion, momentum=BN_MOMENTUM), + ) + + layers = [] + layers.append(block(self.inplanes, planes, stride, downsample)) + self.inplanes = planes * block.expansion + for i in range(1, blocks): + layers.append(block(self.inplanes, planes)) + + return nn.Sequential(*layers) + + def _get_deconv_cfg(self, deconv_kernel, index): + if deconv_kernel == 4: + padding = 1 + output_padding = 0 + elif deconv_kernel == 3: + padding = 1 + output_padding = 1 + elif deconv_kernel == 2: + padding = 0 + output_padding = 0 + + return deconv_kernel, padding, output_padding + + def _make_deconv_layer(self, num_layers, num_filters, num_kernels): + assert num_layers == len(num_filters), \ + 'ERROR: num_deconv_layers is different len(num_deconv_filters)' + assert num_layers == len(num_kernels), \ + 'ERROR: num_deconv_layers is different len(num_deconv_filters)' + + layers = [] + for i in range(num_layers): + kernel, padding, output_padding = \ + self._get_deconv_cfg(num_kernels[i], i) + + planes = num_filters[i] + layers.append( + nn.ConvTranspose2d( + in_channels=self.inplanes, + out_channels=planes, + kernel_size=kernel, + stride=2, + padding=padding, + output_padding=output_padding, + bias=self.deconv_with_bias)) + layers.append(nn.BatchNorm2d(planes, momentum=BN_MOMENTUM)) + layers.append(nn.ReLU(inplace=True)) + self.inplanes = planes + + return nn.Sequential(*layers) + + def forward(self, x): + x = self.conv1(x) + x = self.bn1(x) + x = self.relu(x) + x = self.maxpool(x) + + x = self.layer1(x) + x = self.layer2(x) + x = self.layer3(x) + x = self.layer4(x) + + x = self.deconv_layers(x) + x = self.final_layer(x) + + return x + + def init_weights(self, pretrained=''): + if os.path.isfile(pretrained): + logger.info('=> init deconv weights from normal distribution') + for name, m in self.deconv_layers.named_modules(): + if isinstance(m, nn.ConvTranspose2d): + logger.info('=> init {}.weight as normal(0, 0.001)'.format(name)) + logger.info('=> init {}.bias as 0'.format(name)) + nn.init.normal_(m.weight, std=0.001) + if self.deconv_with_bias: + nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.BatchNorm2d): + logger.info('=> init {}.weight as 1'.format(name)) + logger.info('=> init {}.bias as 0'.format(name)) + nn.init.constant_(m.weight, 1) + nn.init.constant_(m.bias, 0) + logger.info('=> init final conv weights from normal distribution') + for m in self.final_layer.modules(): + if isinstance(m, nn.Conv2d): + # nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') + logger.info('=> init {}.weight as normal(0, 0.001)'.format(name)) + logger.info('=> init {}.bias as 0'.format(name)) + nn.init.normal_(m.weight, std=0.001) + nn.init.constant_(m.bias, 0) + + pretrained_state_dict = torch.load(pretrained) + logger.info('=> loading pretrained model {}'.format(pretrained)) + self.load_state_dict(pretrained_state_dict, strict=False) + else: + logger.info('=> init weights from normal distribution') + for m in self.modules(): + if isinstance(m, nn.Conv2d): + # nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') + nn.init.normal_(m.weight, std=0.001) + # nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.BatchNorm2d): + nn.init.constant_(m.weight, 1) + nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.ConvTranspose2d): + nn.init.normal_(m.weight, std=0.001) + if self.deconv_with_bias: + nn.init.constant_(m.bias, 0) + + +resnet_spec = { + 18: (BasicBlock, [2, 2, 2, 2]), + 34: (BasicBlock, [3, 4, 6, 3]), + 50: (Bottleneck, [3, 4, 6, 3]), + 101: (Bottleneck, [3, 4, 23, 3]), + 152: (Bottleneck, [3, 8, 36, 3]) +} + + +def get_pose_net(cfg, is_train, **kwargs): + num_layers = cfg.MODEL.EXTRA.NUM_LAYERS + + block_class, layers = resnet_spec[num_layers] + + model = PoseResNet(block_class, layers, cfg, **kwargs) + + if is_train and cfg.MODEL.INIT_WEIGHTS: + model.init_weights(cfg.MODEL.PRETRAINED) + + return model diff --git a/deep-high-resolution-net.pytorch/lib/nms/.amlignore b/deep-high-resolution-net.pytorch/lib/nms/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/nms/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/nms/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/nms/__init__.py b/deep-high-resolution-net.pytorch/lib/nms/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/deep-high-resolution-net.pytorch/lib/nms/__pycache__/__init__.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/nms/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8ef335c458a073d9a471b8c4f6de88b3db4005d6 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/nms/__pycache__/__init__.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/nms/__pycache__/nms.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/nms/__pycache__/nms.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..04282493e84b77a78fbadddf097a3513217e9bf3 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/nms/__pycache__/nms.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.c b/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.c new file mode 100644 index 0000000000000000000000000000000000000000..ab0b75b71e24ce9c80cfc659588a11c05bca29a1 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.c @@ -0,0 +1,7668 @@ +/* Generated by Cython 0.29.17 */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_17" +#define CYTHON_HEX_VERSION 0x001D11F0 +#define CYTHON_FUTURE_DIVISION 1 +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" +#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2 + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__cpu_nms +#define __PYX_HAVE_API__cpu_nms +/* Early includes */ +#include +#include +#include "numpy/arrayobject.h" +#include "numpy/ndarrayobject.h" +#include "numpy/ndarraytypes.h" +#include "numpy/arrayscalars.h" +#include "numpy/ufuncobject.h" + + /* NumPy API declarations from "numpy/__init__.pxd" */ + +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + +/* Header.proto */ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + + +static const char *__pyx_f[] = { + "cpu_nms.pyx", + "__init__.pxd", + "type.pxd", +}; +/* BufferFormatStructs.proto */ +#define IS_UNSIGNED(type) (((type) -1) > 0) +struct __Pyx_StructField_; +#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0) +typedef struct { + const char* name; + struct __Pyx_StructField_* fields; + size_t size; + size_t arraysize[8]; + int ndim; + char typegroup; + char is_unsigned; + int flags; +} __Pyx_TypeInfo; +typedef struct __Pyx_StructField_ { + __Pyx_TypeInfo* type; + const char* name; + size_t offset; +} __Pyx_StructField; +typedef struct { + __Pyx_StructField* field; + size_t parent_offset; +} __Pyx_BufFmt_StackElem; +typedef struct { + __Pyx_StructField root; + __Pyx_BufFmt_StackElem* head; + size_t fmt_offset; + size_t new_count, enc_count; + size_t struct_alignment; + int is_complex; + char enc_type; + char new_packmode; + char enc_packmode; + char is_valid_array; +} __Pyx_BufFmt_Context; + + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":689 + * # in Cython to enable them only on the right systems. + * + * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + */ +typedef npy_int8 __pyx_t_5numpy_int8_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":690 + * + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t + */ +typedef npy_int16 __pyx_t_5numpy_int16_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":691 + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< + * ctypedef npy_int64 int64_t + * #ctypedef npy_int96 int96_t + */ +typedef npy_int32 __pyx_t_5numpy_int32_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":692 + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< + * #ctypedef npy_int96 int96_t + * #ctypedef npy_int128 int128_t + */ +typedef npy_int64 __pyx_t_5numpy_int64_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":696 + * #ctypedef npy_int128 int128_t + * + * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + */ +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":697 + * + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t + */ +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":698 + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< + * ctypedef npy_uint64 uint64_t + * #ctypedef npy_uint96 uint96_t + */ +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":699 + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< + * #ctypedef npy_uint96 uint96_t + * #ctypedef npy_uint128 uint128_t + */ +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":703 + * #ctypedef npy_uint128 uint128_t + * + * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< + * ctypedef npy_float64 float64_t + * #ctypedef npy_float80 float80_t + */ +typedef npy_float32 __pyx_t_5numpy_float32_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":704 + * + * ctypedef npy_float32 float32_t + * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< + * #ctypedef npy_float80 float80_t + * #ctypedef npy_float128 float128_t + */ +typedef npy_float64 __pyx_t_5numpy_float64_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":713 + * # The int types are mapped a bit surprising -- + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t + */ +typedef npy_long __pyx_t_5numpy_int_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":714 + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong longlong_t + * + */ +typedef npy_longlong __pyx_t_5numpy_long_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":715 + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_ulong uint_t + */ +typedef npy_longlong __pyx_t_5numpy_longlong_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":717 + * ctypedef npy_longlong longlong_t + * + * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t + */ +typedef npy_ulong __pyx_t_5numpy_uint_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":718 + * + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulonglong_t + * + */ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":719 + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_intp intp_t + */ +typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":721 + * ctypedef npy_ulonglong ulonglong_t + * + * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< + * ctypedef npy_uintp uintp_t + * + */ +typedef npy_intp __pyx_t_5numpy_intp_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":722 + * + * ctypedef npy_intp intp_t + * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< + * + * ctypedef npy_double float_t + */ +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":724 + * ctypedef npy_uintp uintp_t + * + * ctypedef npy_double float_t # <<<<<<<<<<<<<< + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t + */ +typedef npy_double __pyx_t_5numpy_float_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":725 + * + * ctypedef npy_double float_t + * ctypedef npy_double double_t # <<<<<<<<<<<<<< + * ctypedef npy_longdouble longdouble_t + * + */ +typedef npy_double __pyx_t_5numpy_double_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":726 + * ctypedef npy_double float_t + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cfloat cfloat_t + */ +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + + +/*--- Type declarations ---*/ + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":728 + * ctypedef npy_longdouble longdouble_t + * + * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t + */ +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":729 + * + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< + * ctypedef npy_clongdouble clongdouble_t + * + */ +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":730 + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cdouble complex_t + */ +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":732 + * ctypedef npy_clongdouble clongdouble_t + * + * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew1(a): + */ +typedef npy_cdouble __pyx_t_5numpy_complex_t; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* IsLittleEndian.proto */ +static CYTHON_INLINE int __Pyx_Is_Little_Endian(void); + +/* BufferFormatCheck.proto */ +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts); +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type); + +/* BufferGetAndValidate.proto */ +#define __Pyx_GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)\ + ((obj == Py_None || obj == NULL) ?\ + (__Pyx_ZeroBuffer(buf), 0) :\ + __Pyx__GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)) +static int __Pyx__GetBufferAndValidate(Py_buffer* buf, PyObject* obj, + __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); +static void __Pyx_ZeroBuffer(Py_buffer* buf); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); +static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 }; +static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* BufferIndexError.proto */ +static void __Pyx_RaiseBufferIndexError(int axis); + +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + Py_SIZE(list) = len+1; + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* BufferStructDeclare.proto */ +typedef struct { + Py_ssize_t shape, strides, suboffsets; +} __Pyx_Buf_DimInfo; +typedef struct { + size_t refcount; + Py_buffer pybuffer; +} __Pyx_Buffer; +typedef struct { + __Pyx_Buffer *rcbuffer; + char *data; + __Pyx_Buf_DimInfo diminfo[8]; +} __Pyx_LocalBuf_ND; + +#if PY_MAJOR_VERSION < 3 + static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); + static void __Pyx_ReleaseBuffer(Py_buffer *view); +#else + #define __Pyx_GetBuffer PyObject_GetBuffer + #define __Pyx_ReleaseBuffer PyBuffer_Release +#endif + + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* RealImag.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif +#if defined(__cplusplus) && CYTHON_CCOMPLEX\ + && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_float(a, b) ((a)==(b)) + #define __Pyx_c_sum_float(a, b) ((a)+(b)) + #define __Pyx_c_diff_float(a, b) ((a)-(b)) + #define __Pyx_c_prod_float(a, b) ((a)*(b)) + #define __Pyx_c_quot_float(a, b) ((a)/(b)) + #define __Pyx_c_neg_float(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_float(z) ((z)==(float)0) + #define __Pyx_c_conj_float(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_float(z) (::std::abs(z)) + #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_float(z) ((z)==0) + #define __Pyx_c_conj_float(z) (conjf(z)) + #if 1 + #define __Pyx_c_abs_float(z) (cabsf(z)) + #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); + #endif +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_double(a, b) ((a)==(b)) + #define __Pyx_c_sum_double(a, b) ((a)+(b)) + #define __Pyx_c_diff_double(a, b) ((a)-(b)) + #define __Pyx_c_prod_double(a, b) ((a)*(b)) + #define __Pyx_c_quot_double(a, b) ((a)/(b)) + #define __Pyx_c_neg_double(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_double(z) ((z)==(double)0) + #define __Pyx_c_conj_double(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (::std::abs(z)) + #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_double(z) ((z)==0) + #define __Pyx_c_conj_double(z) (conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (cabs(z)) + #define __Pyx_c_pow_double(a, b) (cpow(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); + #endif +#endif + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'numpy' */ + +/* Module declarations from 'numpy' */ +static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; +static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; +static PyTypeObject *__pyx_ptype_5numpy_generic = 0; +static PyTypeObject *__pyx_ptype_5numpy_number = 0; +static PyTypeObject *__pyx_ptype_5numpy_integer = 0; +static PyTypeObject *__pyx_ptype_5numpy_signedinteger = 0; +static PyTypeObject *__pyx_ptype_5numpy_unsignedinteger = 0; +static PyTypeObject *__pyx_ptype_5numpy_inexact = 0; +static PyTypeObject *__pyx_ptype_5numpy_floating = 0; +static PyTypeObject *__pyx_ptype_5numpy_complexfloating = 0; +static PyTypeObject *__pyx_ptype_5numpy_flexible = 0; +static PyTypeObject *__pyx_ptype_5numpy_character = 0; +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; + +/* Module declarations from 'cpu_nms' */ +static CYTHON_INLINE __pyx_t_5numpy_float32_t __pyx_f_7cpu_nms_max(__pyx_t_5numpy_float32_t, __pyx_t_5numpy_float32_t); /*proto*/ +static CYTHON_INLINE __pyx_t_5numpy_float32_t __pyx_f_7cpu_nms_min(__pyx_t_5numpy_float32_t, __pyx_t_5numpy_float32_t); /*proto*/ +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int_t = { "int_t", NULL, sizeof(__pyx_t_5numpy_int_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int_t), 0 }; +#define __Pyx_MODULE_NAME "cpu_nms" +extern int __pyx_module_is_main_cpu_nms; +int __pyx_module_is_main_cpu_nms = 0; + +/* Implementation of 'cpu_nms' */ +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_ImportError; +static const char __pyx_k_h[] = "h"; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_j[] = "_j"; +static const char __pyx_k_w[] = "w"; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_x1[] = "x1"; +static const char __pyx_k_x2[] = "x2"; +static const char __pyx_k_y1[] = "y1"; +static const char __pyx_k_y2[] = "y2"; +static const char __pyx_k_i_2[] = "_i"; +static const char __pyx_k_int[] = "int"; +static const char __pyx_k_ix1[] = "ix1"; +static const char __pyx_k_ix2[] = "ix2"; +static const char __pyx_k_iy1[] = "iy1"; +static const char __pyx_k_iy2[] = "iy2"; +static const char __pyx_k_j_2[] = "j"; +static const char __pyx_k_ovr[] = "ovr"; +static const char __pyx_k_xx1[] = "xx1"; +static const char __pyx_k_xx2[] = "xx2"; +static const char __pyx_k_yy1[] = "yy1"; +static const char __pyx_k_yy2[] = "yy2"; +static const char __pyx_k_dets[] = "dets"; +static const char __pyx_k_keep[] = "keep"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_areas[] = "areas"; +static const char __pyx_k_dtype[] = "dtype"; +static const char __pyx_k_iarea[] = "iarea"; +static const char __pyx_k_inter[] = "inter"; +static const char __pyx_k_ndets[] = "ndets"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_order[] = "order"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_zeros[] = "zeros"; +static const char __pyx_k_astype[] = "astype"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_scores[] = "scores"; +static const char __pyx_k_thresh[] = "thresh"; +static const char __pyx_k_argsort[] = "argsort"; +static const char __pyx_k_cpu_nms[] = "cpu_nms"; +static const char __pyx_k_suppressed[] = "suppressed"; +static const char __pyx_k_ImportError[] = "ImportError"; +static const char __pyx_k_cpu_nms_pyx[] = "cpu_nms.pyx"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; +static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; +static PyObject *__pyx_n_s_ImportError; +static PyObject *__pyx_n_s_areas; +static PyObject *__pyx_n_s_argsort; +static PyObject *__pyx_n_s_astype; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_cpu_nms; +static PyObject *__pyx_kp_s_cpu_nms_pyx; +static PyObject *__pyx_n_s_dets; +static PyObject *__pyx_n_s_dtype; +static PyObject *__pyx_n_s_h; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_i_2; +static PyObject *__pyx_n_s_iarea; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_int; +static PyObject *__pyx_n_s_inter; +static PyObject *__pyx_n_s_ix1; +static PyObject *__pyx_n_s_ix2; +static PyObject *__pyx_n_s_iy1; +static PyObject *__pyx_n_s_iy2; +static PyObject *__pyx_n_s_j; +static PyObject *__pyx_n_s_j_2; +static PyObject *__pyx_n_s_keep; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_ndets; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; +static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; +static PyObject *__pyx_n_s_order; +static PyObject *__pyx_n_s_ovr; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_scores; +static PyObject *__pyx_n_s_suppressed; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_thresh; +static PyObject *__pyx_n_s_w; +static PyObject *__pyx_n_s_x1; +static PyObject *__pyx_n_s_x2; +static PyObject *__pyx_n_s_xx1; +static PyObject *__pyx_n_s_xx2; +static PyObject *__pyx_n_s_y1; +static PyObject *__pyx_n_s_y2; +static PyObject *__pyx_n_s_yy1; +static PyObject *__pyx_n_s_yy2; +static PyObject *__pyx_n_s_zeros; +static PyObject *__pyx_pf_7cpu_nms_cpu_nms(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dets, PyObject *__pyx_v_thresh); /* proto */ +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_3; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_slice_; +static PyObject *__pyx_slice__7; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_tuple__3; +static PyObject *__pyx_tuple__4; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__9; +static PyObject *__pyx_tuple__10; +static PyObject *__pyx_codeobj__11; +/* Late includes */ + +/* "cpu_nms.pyx":14 + * cimport numpy as np + * + * cdef inline np.float32_t max(np.float32_t a, np.float32_t b): # <<<<<<<<<<<<<< + * return a if a >= b else b + * + */ + +static CYTHON_INLINE __pyx_t_5numpy_float32_t __pyx_f_7cpu_nms_max(__pyx_t_5numpy_float32_t __pyx_v_a, __pyx_t_5numpy_float32_t __pyx_v_b) { + __pyx_t_5numpy_float32_t __pyx_r; + __Pyx_RefNannyDeclarations + __pyx_t_5numpy_float32_t __pyx_t_1; + __Pyx_RefNannySetupContext("max", 0); + + /* "cpu_nms.pyx":15 + * + * cdef inline np.float32_t max(np.float32_t a, np.float32_t b): + * return a if a >= b else b # <<<<<<<<<<<<<< + * + * cdef inline np.float32_t min(np.float32_t a, np.float32_t b): + */ + if (((__pyx_v_a >= __pyx_v_b) != 0)) { + __pyx_t_1 = __pyx_v_a; + } else { + __pyx_t_1 = __pyx_v_b; + } + __pyx_r = __pyx_t_1; + goto __pyx_L0; + + /* "cpu_nms.pyx":14 + * cimport numpy as np + * + * cdef inline np.float32_t max(np.float32_t a, np.float32_t b): # <<<<<<<<<<<<<< + * return a if a >= b else b + * + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "cpu_nms.pyx":17 + * return a if a >= b else b + * + * cdef inline np.float32_t min(np.float32_t a, np.float32_t b): # <<<<<<<<<<<<<< + * return a if a <= b else b + * + */ + +static CYTHON_INLINE __pyx_t_5numpy_float32_t __pyx_f_7cpu_nms_min(__pyx_t_5numpy_float32_t __pyx_v_a, __pyx_t_5numpy_float32_t __pyx_v_b) { + __pyx_t_5numpy_float32_t __pyx_r; + __Pyx_RefNannyDeclarations + __pyx_t_5numpy_float32_t __pyx_t_1; + __Pyx_RefNannySetupContext("min", 0); + + /* "cpu_nms.pyx":18 + * + * cdef inline np.float32_t min(np.float32_t a, np.float32_t b): + * return a if a <= b else b # <<<<<<<<<<<<<< + * + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): + */ + if (((__pyx_v_a <= __pyx_v_b) != 0)) { + __pyx_t_1 = __pyx_v_a; + } else { + __pyx_t_1 = __pyx_v_b; + } + __pyx_r = __pyx_t_1; + goto __pyx_L0; + + /* "cpu_nms.pyx":17 + * return a if a >= b else b + * + * cdef inline np.float32_t min(np.float32_t a, np.float32_t b): # <<<<<<<<<<<<<< + * return a if a <= b else b + * + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "cpu_nms.pyx":20 + * return a if a <= b else b + * + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7cpu_nms_1cpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_7cpu_nms_1cpu_nms = {"cpu_nms", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7cpu_nms_1cpu_nms, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_7cpu_nms_1cpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_dets = 0; + PyObject *__pyx_v_thresh = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("cpu_nms (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dets,&__pyx_n_s_thresh,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dets)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_thresh)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("cpu_nms", 1, 2, 2, 1); __PYX_ERR(0, 20, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cpu_nms") < 0)) __PYX_ERR(0, 20, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_dets = ((PyArrayObject *)values[0]); + __pyx_v_thresh = ((PyObject*)values[1]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("cpu_nms", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("cpu_nms.cpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dets), __pyx_ptype_5numpy_ndarray, 1, "dets", 0))) __PYX_ERR(0, 20, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_thresh), (&PyFloat_Type), 1, "thresh", 1))) __PYX_ERR(0, 20, __pyx_L1_error) + __pyx_r = __pyx_pf_7cpu_nms_cpu_nms(__pyx_self, __pyx_v_dets, __pyx_v_thresh); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7cpu_nms_cpu_nms(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dets, PyObject *__pyx_v_thresh) { + PyArrayObject *__pyx_v_x1 = 0; + PyArrayObject *__pyx_v_y1 = 0; + PyArrayObject *__pyx_v_x2 = 0; + PyArrayObject *__pyx_v_y2 = 0; + PyArrayObject *__pyx_v_scores = 0; + PyArrayObject *__pyx_v_areas = 0; + PyArrayObject *__pyx_v_order = 0; + int __pyx_v_ndets; + PyArrayObject *__pyx_v_suppressed = 0; + int __pyx_v__i; + int __pyx_v__j; + int __pyx_v_i; + int __pyx_v_j; + __pyx_t_5numpy_float32_t __pyx_v_ix1; + __pyx_t_5numpy_float32_t __pyx_v_iy1; + __pyx_t_5numpy_float32_t __pyx_v_ix2; + __pyx_t_5numpy_float32_t __pyx_v_iy2; + __pyx_t_5numpy_float32_t __pyx_v_iarea; + __pyx_t_5numpy_float32_t __pyx_v_xx1; + __pyx_t_5numpy_float32_t __pyx_v_yy1; + __pyx_t_5numpy_float32_t __pyx_v_xx2; + __pyx_t_5numpy_float32_t __pyx_v_yy2; + __pyx_t_5numpy_float32_t __pyx_v_w; + __pyx_t_5numpy_float32_t __pyx_v_h; + __pyx_t_5numpy_float32_t __pyx_v_inter; + __pyx_t_5numpy_float32_t __pyx_v_ovr; + PyObject *__pyx_v_keep = NULL; + __Pyx_LocalBuf_ND __pyx_pybuffernd_areas; + __Pyx_Buffer __pyx_pybuffer_areas; + __Pyx_LocalBuf_ND __pyx_pybuffernd_dets; + __Pyx_Buffer __pyx_pybuffer_dets; + __Pyx_LocalBuf_ND __pyx_pybuffernd_order; + __Pyx_Buffer __pyx_pybuffer_order; + __Pyx_LocalBuf_ND __pyx_pybuffernd_scores; + __Pyx_Buffer __pyx_pybuffer_scores; + __Pyx_LocalBuf_ND __pyx_pybuffernd_suppressed; + __Pyx_Buffer __pyx_pybuffer_suppressed; + __Pyx_LocalBuf_ND __pyx_pybuffernd_x1; + __Pyx_Buffer __pyx_pybuffer_x1; + __Pyx_LocalBuf_ND __pyx_pybuffernd_x2; + __Pyx_Buffer __pyx_pybuffer_x2; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y1; + __Pyx_Buffer __pyx_pybuffer_y1; + __Pyx_LocalBuf_ND __pyx_pybuffernd_y2; + __Pyx_Buffer __pyx_pybuffer_y2; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyArrayObject *__pyx_t_2 = NULL; + PyArrayObject *__pyx_t_3 = NULL; + PyArrayObject *__pyx_t_4 = NULL; + PyArrayObject *__pyx_t_5 = NULL; + PyArrayObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyArrayObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyArrayObject *__pyx_t_13 = NULL; + int __pyx_t_14; + int __pyx_t_15; + int __pyx_t_16; + Py_ssize_t __pyx_t_17; + int __pyx_t_18; + int __pyx_t_19; + int __pyx_t_20; + int __pyx_t_21; + int __pyx_t_22; + int __pyx_t_23; + __pyx_t_5numpy_float32_t __pyx_t_24; + __Pyx_RefNannySetupContext("cpu_nms", 0); + __pyx_pybuffer_x1.pybuffer.buf = NULL; + __pyx_pybuffer_x1.refcount = 0; + __pyx_pybuffernd_x1.data = NULL; + __pyx_pybuffernd_x1.rcbuffer = &__pyx_pybuffer_x1; + __pyx_pybuffer_y1.pybuffer.buf = NULL; + __pyx_pybuffer_y1.refcount = 0; + __pyx_pybuffernd_y1.data = NULL; + __pyx_pybuffernd_y1.rcbuffer = &__pyx_pybuffer_y1; + __pyx_pybuffer_x2.pybuffer.buf = NULL; + __pyx_pybuffer_x2.refcount = 0; + __pyx_pybuffernd_x2.data = NULL; + __pyx_pybuffernd_x2.rcbuffer = &__pyx_pybuffer_x2; + __pyx_pybuffer_y2.pybuffer.buf = NULL; + __pyx_pybuffer_y2.refcount = 0; + __pyx_pybuffernd_y2.data = NULL; + __pyx_pybuffernd_y2.rcbuffer = &__pyx_pybuffer_y2; + __pyx_pybuffer_scores.pybuffer.buf = NULL; + __pyx_pybuffer_scores.refcount = 0; + __pyx_pybuffernd_scores.data = NULL; + __pyx_pybuffernd_scores.rcbuffer = &__pyx_pybuffer_scores; + __pyx_pybuffer_areas.pybuffer.buf = NULL; + __pyx_pybuffer_areas.refcount = 0; + __pyx_pybuffernd_areas.data = NULL; + __pyx_pybuffernd_areas.rcbuffer = &__pyx_pybuffer_areas; + __pyx_pybuffer_order.pybuffer.buf = NULL; + __pyx_pybuffer_order.refcount = 0; + __pyx_pybuffernd_order.data = NULL; + __pyx_pybuffernd_order.rcbuffer = &__pyx_pybuffer_order; + __pyx_pybuffer_suppressed.pybuffer.buf = NULL; + __pyx_pybuffer_suppressed.refcount = 0; + __pyx_pybuffernd_suppressed.data = NULL; + __pyx_pybuffernd_suppressed.rcbuffer = &__pyx_pybuffer_suppressed; + __pyx_pybuffer_dets.pybuffer.buf = NULL; + __pyx_pybuffer_dets.refcount = 0; + __pyx_pybuffernd_dets.data = NULL; + __pyx_pybuffernd_dets.rcbuffer = &__pyx_pybuffer_dets; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dets.rcbuffer->pybuffer, (PyObject*)__pyx_v_dets, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 20, __pyx_L1_error) + } + __pyx_pybuffernd_dets.diminfo[0].strides = __pyx_pybuffernd_dets.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dets.diminfo[0].shape = __pyx_pybuffernd_dets.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_dets.diminfo[1].strides = __pyx_pybuffernd_dets.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_dets.diminfo[1].shape = __pyx_pybuffernd_dets.rcbuffer->pybuffer.shape[1]; + + /* "cpu_nms.pyx":21 + * + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + */ + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 21, __pyx_L1_error) + __pyx_t_2 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_x1.rcbuffer->pybuffer, (PyObject*)__pyx_t_2, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_x1 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_x1.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 21, __pyx_L1_error) + } else {__pyx_pybuffernd_x1.diminfo[0].strides = __pyx_pybuffernd_x1.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_x1.diminfo[0].shape = __pyx_pybuffernd_x1.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_2 = 0; + __pyx_v_x1 = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "cpu_nms.pyx":22 + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] + */ + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 22, __pyx_L1_error) + __pyx_t_3 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y1.rcbuffer->pybuffer, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y1 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y1.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 22, __pyx_L1_error) + } else {__pyx_pybuffernd_y1.diminfo[0].strides = __pyx_pybuffernd_y1.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y1.diminfo[0].shape = __pyx_pybuffernd_y1.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_3 = 0; + __pyx_v_y1 = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "cpu_nms.pyx":23 + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] + * cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] + */ + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 23, __pyx_L1_error) + __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_x2.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_x2 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_x2.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 23, __pyx_L1_error) + } else {__pyx_pybuffernd_x2.diminfo[0].strides = __pyx_pybuffernd_x2.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_x2.diminfo[0].shape = __pyx_pybuffernd_x2.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_4 = 0; + __pyx_v_x2 = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "cpu_nms.pyx":24 + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] + * + */ + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 24, __pyx_L1_error) + __pyx_t_5 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_y2.rcbuffer->pybuffer, (PyObject*)__pyx_t_5, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_y2 = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_y2.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 24, __pyx_L1_error) + } else {__pyx_pybuffernd_y2.diminfo[0].strides = __pyx_pybuffernd_y2.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_y2.diminfo[0].shape = __pyx_pybuffernd_y2.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_5 = 0; + __pyx_v_y2 = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "cpu_nms.pyx":25 + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] + * cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] # <<<<<<<<<<<<<< + * + * cdef np.ndarray[np.float32_t, ndim=1] areas = (x2 - x1 + 1) * (y2 - y1 + 1) + */ + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 25, __pyx_L1_error) + __pyx_t_6 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_scores.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_scores = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_scores.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 25, __pyx_L1_error) + } else {__pyx_pybuffernd_scores.diminfo[0].strides = __pyx_pybuffernd_scores.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_scores.diminfo[0].shape = __pyx_pybuffernd_scores.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_6 = 0; + __pyx_v_scores = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "cpu_nms.pyx":27 + * cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] + * + * cdef np.ndarray[np.float32_t, ndim=1] areas = (x2 - x1 + 1) * (y2 - y1 + 1) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] order = scores.argsort()[::-1].astype('i') + * + */ + __pyx_t_1 = PyNumber_Subtract(((PyObject *)__pyx_v_x2), ((PyObject *)__pyx_v_x1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Subtract(((PyObject *)__pyx_v_y2), ((PyObject *)__pyx_v_y1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Multiply(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 27, __pyx_L1_error) + __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_areas.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_areas = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_areas.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 27, __pyx_L1_error) + } else {__pyx_pybuffernd_areas.diminfo[0].strides = __pyx_pybuffernd_areas.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_areas.diminfo[0].shape = __pyx_pybuffernd_areas.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_9 = 0; + __pyx_v_areas = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "cpu_nms.pyx":28 + * + * cdef np.ndarray[np.float32_t, ndim=1] areas = (x2 - x1 + 1) * (y2 - y1 + 1) + * cdef np.ndarray[np.int_t, ndim=1] order = scores.argsort()[::-1].astype('i') # <<<<<<<<<<<<<< + * + * cdef int ndets = dets.shape[0] + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_scores), __pyx_n_s_argsort); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_slice__7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_astype); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_n_s_i) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_n_s_i); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 28, __pyx_L1_error) + __pyx_t_11 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_order.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_order = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_order.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 28, __pyx_L1_error) + } else {__pyx_pybuffernd_order.diminfo[0].strides = __pyx_pybuffernd_order.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_order.diminfo[0].shape = __pyx_pybuffernd_order.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_11 = 0; + __pyx_v_order = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "cpu_nms.pyx":30 + * cdef np.ndarray[np.int_t, ndim=1] order = scores.argsort()[::-1].astype('i') + * + * cdef int ndets = dets.shape[0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int_t, ndim=1] suppressed = \ + * np.zeros((ndets), dtype=np.int) + */ + __pyx_v_ndets = (__pyx_v_dets->dimensions[0]); + + /* "cpu_nms.pyx":32 + * cdef int ndets = dets.shape[0] + * cdef np.ndarray[np.int_t, ndim=1] suppressed = \ + * np.zeros((ndets), dtype=np.int) # <<<<<<<<<<<<<< + * + * # nominal indices + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ndets); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_int); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_12) < 0) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 32, __pyx_L1_error) + __pyx_t_13 = ((PyArrayObject *)__pyx_t_12); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_suppressed.rcbuffer->pybuffer, (PyObject*)__pyx_t_13, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) { + __pyx_v_suppressed = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 31, __pyx_L1_error) + } else {__pyx_pybuffernd_suppressed.diminfo[0].strides = __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_suppressed.diminfo[0].shape = __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_13 = 0; + __pyx_v_suppressed = ((PyArrayObject *)__pyx_t_12); + __pyx_t_12 = 0; + + /* "cpu_nms.pyx":45 + * cdef np.float32_t inter, ovr + * + * keep = [] # <<<<<<<<<<<<<< + * for _i in range(ndets): + * i = order[_i] + */ + __pyx_t_12 = PyList_New(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 45, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_v_keep = ((PyObject*)__pyx_t_12); + __pyx_t_12 = 0; + + /* "cpu_nms.pyx":46 + * + * keep = [] + * for _i in range(ndets): # <<<<<<<<<<<<<< + * i = order[_i] + * if suppressed[i] == 1: + */ + __pyx_t_14 = __pyx_v_ndets; + __pyx_t_15 = __pyx_t_14; + for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { + __pyx_v__i = __pyx_t_16; + + /* "cpu_nms.pyx":47 + * keep = [] + * for _i in range(ndets): + * i = order[_i] # <<<<<<<<<<<<<< + * if suppressed[i] == 1: + * continue + */ + __pyx_t_17 = __pyx_v__i; + __pyx_t_18 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_order.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_18 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_order.diminfo[0].shape)) __pyx_t_18 = 0; + if (unlikely(__pyx_t_18 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_18); + __PYX_ERR(0, 47, __pyx_L1_error) + } + __pyx_v_i = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_order.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_order.diminfo[0].strides)); + + /* "cpu_nms.pyx":48 + * for _i in range(ndets): + * i = order[_i] + * if suppressed[i] == 1: # <<<<<<<<<<<<<< + * continue + * keep.append(i) + */ + __pyx_t_17 = __pyx_v_i; + __pyx_t_18 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_suppressed.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_18 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_suppressed.diminfo[0].shape)) __pyx_t_18 = 0; + if (unlikely(__pyx_t_18 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_18); + __PYX_ERR(0, 48, __pyx_L1_error) + } + __pyx_t_19 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_suppressed.diminfo[0].strides)) == 1) != 0); + if (__pyx_t_19) { + + /* "cpu_nms.pyx":49 + * i = order[_i] + * if suppressed[i] == 1: + * continue # <<<<<<<<<<<<<< + * keep.append(i) + * ix1 = x1[i] + */ + goto __pyx_L3_continue; + + /* "cpu_nms.pyx":48 + * for _i in range(ndets): + * i = order[_i] + * if suppressed[i] == 1: # <<<<<<<<<<<<<< + * continue + * keep.append(i) + */ + } + + /* "cpu_nms.pyx":50 + * if suppressed[i] == 1: + * continue + * keep.append(i) # <<<<<<<<<<<<<< + * ix1 = x1[i] + * iy1 = y1[i] + */ + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_20 = __Pyx_PyList_Append(__pyx_v_keep, __pyx_t_12); if (unlikely(__pyx_t_20 == ((int)-1))) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + + /* "cpu_nms.pyx":51 + * continue + * keep.append(i) + * ix1 = x1[i] # <<<<<<<<<<<<<< + * iy1 = y1[i] + * ix2 = x2[i] + */ + __pyx_t_17 = __pyx_v_i; + __pyx_t_18 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_x1.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_18 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_x1.diminfo[0].shape)) __pyx_t_18 = 0; + if (unlikely(__pyx_t_18 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_18); + __PYX_ERR(0, 51, __pyx_L1_error) + } + __pyx_v_ix1 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x1.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_x1.diminfo[0].strides)); + + /* "cpu_nms.pyx":52 + * keep.append(i) + * ix1 = x1[i] + * iy1 = y1[i] # <<<<<<<<<<<<<< + * ix2 = x2[i] + * iy2 = y2[i] + */ + __pyx_t_17 = __pyx_v_i; + __pyx_t_18 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_y1.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_18 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_y1.diminfo[0].shape)) __pyx_t_18 = 0; + if (unlikely(__pyx_t_18 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_18); + __PYX_ERR(0, 52, __pyx_L1_error) + } + __pyx_v_iy1 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y1.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_y1.diminfo[0].strides)); + + /* "cpu_nms.pyx":53 + * ix1 = x1[i] + * iy1 = y1[i] + * ix2 = x2[i] # <<<<<<<<<<<<<< + * iy2 = y2[i] + * iarea = areas[i] + */ + __pyx_t_17 = __pyx_v_i; + __pyx_t_18 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_x2.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_18 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_x2.diminfo[0].shape)) __pyx_t_18 = 0; + if (unlikely(__pyx_t_18 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_18); + __PYX_ERR(0, 53, __pyx_L1_error) + } + __pyx_v_ix2 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x2.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_x2.diminfo[0].strides)); + + /* "cpu_nms.pyx":54 + * iy1 = y1[i] + * ix2 = x2[i] + * iy2 = y2[i] # <<<<<<<<<<<<<< + * iarea = areas[i] + * for _j in range(_i + 1, ndets): + */ + __pyx_t_17 = __pyx_v_i; + __pyx_t_18 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_y2.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_18 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_y2.diminfo[0].shape)) __pyx_t_18 = 0; + if (unlikely(__pyx_t_18 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_18); + __PYX_ERR(0, 54, __pyx_L1_error) + } + __pyx_v_iy2 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y2.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_y2.diminfo[0].strides)); + + /* "cpu_nms.pyx":55 + * ix2 = x2[i] + * iy2 = y2[i] + * iarea = areas[i] # <<<<<<<<<<<<<< + * for _j in range(_i + 1, ndets): + * j = order[_j] + */ + __pyx_t_17 = __pyx_v_i; + __pyx_t_18 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_areas.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_18 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_areas.diminfo[0].shape)) __pyx_t_18 = 0; + if (unlikely(__pyx_t_18 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_18); + __PYX_ERR(0, 55, __pyx_L1_error) + } + __pyx_v_iarea = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_areas.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_areas.diminfo[0].strides)); + + /* "cpu_nms.pyx":56 + * iy2 = y2[i] + * iarea = areas[i] + * for _j in range(_i + 1, ndets): # <<<<<<<<<<<<<< + * j = order[_j] + * if suppressed[j] == 1: + */ + __pyx_t_18 = __pyx_v_ndets; + __pyx_t_21 = __pyx_t_18; + for (__pyx_t_22 = (__pyx_v__i + 1); __pyx_t_22 < __pyx_t_21; __pyx_t_22+=1) { + __pyx_v__j = __pyx_t_22; + + /* "cpu_nms.pyx":57 + * iarea = areas[i] + * for _j in range(_i + 1, ndets): + * j = order[_j] # <<<<<<<<<<<<<< + * if suppressed[j] == 1: + * continue + */ + __pyx_t_17 = __pyx_v__j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_order.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_order.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 57, __pyx_L1_error) + } + __pyx_v_j = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_order.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_order.diminfo[0].strides)); + + /* "cpu_nms.pyx":58 + * for _j in range(_i + 1, ndets): + * j = order[_j] + * if suppressed[j] == 1: # <<<<<<<<<<<<<< + * continue + * xx1 = max(ix1, x1[j]) + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_suppressed.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_suppressed.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 58, __pyx_L1_error) + } + __pyx_t_19 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_suppressed.diminfo[0].strides)) == 1) != 0); + if (__pyx_t_19) { + + /* "cpu_nms.pyx":59 + * j = order[_j] + * if suppressed[j] == 1: + * continue # <<<<<<<<<<<<<< + * xx1 = max(ix1, x1[j]) + * yy1 = max(iy1, y1[j]) + */ + goto __pyx_L6_continue; + + /* "cpu_nms.pyx":58 + * for _j in range(_i + 1, ndets): + * j = order[_j] + * if suppressed[j] == 1: # <<<<<<<<<<<<<< + * continue + * xx1 = max(ix1, x1[j]) + */ + } + + /* "cpu_nms.pyx":60 + * if suppressed[j] == 1: + * continue + * xx1 = max(ix1, x1[j]) # <<<<<<<<<<<<<< + * yy1 = max(iy1, y1[j]) + * xx2 = min(ix2, x2[j]) + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_x1.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_x1.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 60, __pyx_L1_error) + } + __pyx_v_xx1 = __pyx_f_7cpu_nms_max(__pyx_v_ix1, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x1.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_x1.diminfo[0].strides))); + + /* "cpu_nms.pyx":61 + * continue + * xx1 = max(ix1, x1[j]) + * yy1 = max(iy1, y1[j]) # <<<<<<<<<<<<<< + * xx2 = min(ix2, x2[j]) + * yy2 = min(iy2, y2[j]) + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_y1.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_y1.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 61, __pyx_L1_error) + } + __pyx_v_yy1 = __pyx_f_7cpu_nms_max(__pyx_v_iy1, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y1.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_y1.diminfo[0].strides))); + + /* "cpu_nms.pyx":62 + * xx1 = max(ix1, x1[j]) + * yy1 = max(iy1, y1[j]) + * xx2 = min(ix2, x2[j]) # <<<<<<<<<<<<<< + * yy2 = min(iy2, y2[j]) + * w = max(0.0, xx2 - xx1 + 1) + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_x2.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_x2.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 62, __pyx_L1_error) + } + __pyx_v_xx2 = __pyx_f_7cpu_nms_min(__pyx_v_ix2, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x2.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_x2.diminfo[0].strides))); + + /* "cpu_nms.pyx":63 + * yy1 = max(iy1, y1[j]) + * xx2 = min(ix2, x2[j]) + * yy2 = min(iy2, y2[j]) # <<<<<<<<<<<<<< + * w = max(0.0, xx2 - xx1 + 1) + * h = max(0.0, yy2 - yy1 + 1) + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_y2.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_y2.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 63, __pyx_L1_error) + } + __pyx_v_yy2 = __pyx_f_7cpu_nms_min(__pyx_v_iy2, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y2.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_y2.diminfo[0].strides))); + + /* "cpu_nms.pyx":64 + * xx2 = min(ix2, x2[j]) + * yy2 = min(iy2, y2[j]) + * w = max(0.0, xx2 - xx1 + 1) # <<<<<<<<<<<<<< + * h = max(0.0, yy2 - yy1 + 1) + * inter = w * h + */ + __pyx_v_w = __pyx_f_7cpu_nms_max(0.0, ((__pyx_v_xx2 - __pyx_v_xx1) + 1.0)); + + /* "cpu_nms.pyx":65 + * yy2 = min(iy2, y2[j]) + * w = max(0.0, xx2 - xx1 + 1) + * h = max(0.0, yy2 - yy1 + 1) # <<<<<<<<<<<<<< + * inter = w * h + * ovr = inter / (iarea + areas[j] - inter) + */ + __pyx_v_h = __pyx_f_7cpu_nms_max(0.0, ((__pyx_v_yy2 - __pyx_v_yy1) + 1.0)); + + /* "cpu_nms.pyx":66 + * w = max(0.0, xx2 - xx1 + 1) + * h = max(0.0, yy2 - yy1 + 1) + * inter = w * h # <<<<<<<<<<<<<< + * ovr = inter / (iarea + areas[j] - inter) + * if ovr >= thresh: + */ + __pyx_v_inter = (__pyx_v_w * __pyx_v_h); + + /* "cpu_nms.pyx":67 + * h = max(0.0, yy2 - yy1 + 1) + * inter = w * h + * ovr = inter / (iarea + areas[j] - inter) # <<<<<<<<<<<<<< + * if ovr >= thresh: + * suppressed[j] = 1 + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_areas.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_areas.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 67, __pyx_L1_error) + } + __pyx_t_24 = ((__pyx_v_iarea + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_areas.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_areas.diminfo[0].strides))) - __pyx_v_inter); + if (unlikely(__pyx_t_24 == 0)) { + PyErr_SetString(PyExc_ZeroDivisionError, "float division"); + __PYX_ERR(0, 67, __pyx_L1_error) + } + __pyx_v_ovr = (__pyx_v_inter / __pyx_t_24); + + /* "cpu_nms.pyx":68 + * inter = w * h + * ovr = inter / (iarea + areas[j] - inter) + * if ovr >= thresh: # <<<<<<<<<<<<<< + * suppressed[j] = 1 + * + */ + __pyx_t_12 = PyFloat_FromDouble(__pyx_v_ovr); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_12, __pyx_v_thresh, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_19) { + + /* "cpu_nms.pyx":69 + * ovr = inter / (iarea + areas[j] - inter) + * if ovr >= thresh: + * suppressed[j] = 1 # <<<<<<<<<<<<<< + * + * return keep + */ + __pyx_t_17 = __pyx_v_j; + __pyx_t_23 = -1; + if (__pyx_t_17 < 0) { + __pyx_t_17 += __pyx_pybuffernd_suppressed.diminfo[0].shape; + if (unlikely(__pyx_t_17 < 0)) __pyx_t_23 = 0; + } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_suppressed.diminfo[0].shape)) __pyx_t_23 = 0; + if (unlikely(__pyx_t_23 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_23); + __PYX_ERR(0, 69, __pyx_L1_error) + } + *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_suppressed.diminfo[0].strides) = 1; + + /* "cpu_nms.pyx":68 + * inter = w * h + * ovr = inter / (iarea + areas[j] - inter) + * if ovr >= thresh: # <<<<<<<<<<<<<< + * suppressed[j] = 1 + * + */ + } + __pyx_L6_continue:; + } + __pyx_L3_continue:; + } + + /* "cpu_nms.pyx":71 + * suppressed[j] = 1 + * + * return keep # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_keep); + __pyx_r = __pyx_v_keep; + goto __pyx_L0; + + /* "cpu_nms.pyx":20 + * return a if a <= b else b + * + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_12); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_areas.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dets.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_order.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_scores.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_suppressed.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_x1.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_x2.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y1.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y2.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("cpu_nms.cpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_areas.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dets.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_order.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_scores.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_suppressed.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_x1.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_x2.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y1.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_y2.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_x1); + __Pyx_XDECREF((PyObject *)__pyx_v_y1); + __Pyx_XDECREF((PyObject *)__pyx_v_x2); + __Pyx_XDECREF((PyObject *)__pyx_v_y2); + __Pyx_XDECREF((PyObject *)__pyx_v_scores); + __Pyx_XDECREF((PyObject *)__pyx_v_areas); + __Pyx_XDECREF((PyObject *)__pyx_v_order); + __Pyx_XDECREF((PyObject *)__pyx_v_suppressed); + __Pyx_XDECREF(__pyx_v_keep); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":734 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":735 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 735, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":734 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":737 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":738 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 738, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":737 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":740 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":741 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 741, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":740 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":743 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":744 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":743 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":746 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":747 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":746 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":749 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":750 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); + if (__pyx_t_1) { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":751 + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape # <<<<<<<<<<<<<< + * else: + * return () + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); + __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":750 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":753 + * return d.subarray.shape + * else: + * return () # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_empty_tuple); + __pyx_r = __pyx_empty_tuple; + goto __pyx_L0; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":749 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":928 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_array_base", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":929 + * + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< + * PyArray_SetBaseObject(arr, base) + * + */ + Py_INCREF(__pyx_v_base); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":930 + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":928 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":932 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_v_base; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":933 + * + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< + * if base is NULL: + * return None + */ + __pyx_v_base = PyArray_BASE(__pyx_v_arr); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":934 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + __pyx_t_1 = ((__pyx_v_base == NULL) != 0); + if (__pyx_t_1) { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":935 + * base = PyArray_BASE(arr) + * if base is NULL: + * return None # <<<<<<<<<<<<<< + * return base + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":934 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":936 + * if base is NULL: + * return None + * return base # <<<<<<<<<<<<<< + * + * # Versions of the import_* functions which are more suitable for + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_base)); + __pyx_r = ((PyObject *)__pyx_v_base); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":932 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":940 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("import_array", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":941 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":942 + * cdef inline int import_array() except -1: + * try: + * __pyx_import_array() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") + */ + __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 942, __pyx_L3_error) + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":941 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":943 + * try: + * __pyx_import_array() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.multiarray failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 943, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":944 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 944, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 944, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":941 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":940 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":946 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("import_umath", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":947 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":948 + * cdef inline int import_umath() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 948, __pyx_L3_error) + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":947 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":949 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 949, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":950 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 950, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 950, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":947 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":946 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":952 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("import_ufunc", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":953 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":954 + * cdef inline int import_ufunc() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 954, __pyx_L3_error) + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":953 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":955 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 955, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":956 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef extern from *: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 956, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 956, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":953 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":952 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":966 + * + * + * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.timedelta64)` + */ + +static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("is_timedelta64_object", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":978 + * bool + * """ + * return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type)); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":966 + * + * + * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.timedelta64)` + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":981 + * + * + * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.datetime64)` + */ + +static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("is_datetime64_object", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":993 + * bool + * """ + * return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type)); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":981 + * + * + * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.datetime64)` + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":996 + * + * + * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy datetime64 object + */ + +static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) { + npy_datetime __pyx_r; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1003 + * also needed. That can be found using `get_datetime64_unit`. + * """ + * return (obj).obval # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":996 + * + * + * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy datetime64 object + */ + + /* function exit code */ + __pyx_L0:; + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1006 + * + * + * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy timedelta64 object + */ + +static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) { + npy_timedelta __pyx_r; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1010 + * returns the int64 value underlying scalar numpy timedelta64 object + * """ + * return (obj).obval # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1006 + * + * + * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy timedelta64 object + */ + + /* function exit code */ + __pyx_L0:; + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1013 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + +static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) { + NPY_DATETIMEUNIT __pyx_r; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1017 + * returns the unit part of the dtype for a numpy datetime64 object. + * """ + * return (obj).obmeta.base # <<<<<<<<<<<<<< + */ + __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1013 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + + /* function exit code */ + __pyx_L0:; + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_cpu_nms(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_cpu_nms}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "cpu_nms", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, + {&__pyx_n_s_areas, __pyx_k_areas, sizeof(__pyx_k_areas), 0, 0, 1, 1}, + {&__pyx_n_s_argsort, __pyx_k_argsort, sizeof(__pyx_k_argsort), 0, 0, 1, 1}, + {&__pyx_n_s_astype, __pyx_k_astype, sizeof(__pyx_k_astype), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_cpu_nms, __pyx_k_cpu_nms, sizeof(__pyx_k_cpu_nms), 0, 0, 1, 1}, + {&__pyx_kp_s_cpu_nms_pyx, __pyx_k_cpu_nms_pyx, sizeof(__pyx_k_cpu_nms_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_dets, __pyx_k_dets, sizeof(__pyx_k_dets), 0, 0, 1, 1}, + {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, + {&__pyx_n_s_h, __pyx_k_h, sizeof(__pyx_k_h), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_i_2, __pyx_k_i_2, sizeof(__pyx_k_i_2), 0, 0, 1, 1}, + {&__pyx_n_s_iarea, __pyx_k_iarea, sizeof(__pyx_k_iarea), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1}, + {&__pyx_n_s_inter, __pyx_k_inter, sizeof(__pyx_k_inter), 0, 0, 1, 1}, + {&__pyx_n_s_ix1, __pyx_k_ix1, sizeof(__pyx_k_ix1), 0, 0, 1, 1}, + {&__pyx_n_s_ix2, __pyx_k_ix2, sizeof(__pyx_k_ix2), 0, 0, 1, 1}, + {&__pyx_n_s_iy1, __pyx_k_iy1, sizeof(__pyx_k_iy1), 0, 0, 1, 1}, + {&__pyx_n_s_iy2, __pyx_k_iy2, sizeof(__pyx_k_iy2), 0, 0, 1, 1}, + {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, + {&__pyx_n_s_j_2, __pyx_k_j_2, sizeof(__pyx_k_j_2), 0, 0, 1, 1}, + {&__pyx_n_s_keep, __pyx_k_keep, sizeof(__pyx_k_keep), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_ndets, __pyx_k_ndets, sizeof(__pyx_k_ndets), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, + {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, + {&__pyx_n_s_order, __pyx_k_order, sizeof(__pyx_k_order), 0, 0, 1, 1}, + {&__pyx_n_s_ovr, __pyx_k_ovr, sizeof(__pyx_k_ovr), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_scores, __pyx_k_scores, sizeof(__pyx_k_scores), 0, 0, 1, 1}, + {&__pyx_n_s_suppressed, __pyx_k_suppressed, sizeof(__pyx_k_suppressed), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_thresh, __pyx_k_thresh, sizeof(__pyx_k_thresh), 0, 0, 1, 1}, + {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1}, + {&__pyx_n_s_x1, __pyx_k_x1, sizeof(__pyx_k_x1), 0, 0, 1, 1}, + {&__pyx_n_s_x2, __pyx_k_x2, sizeof(__pyx_k_x2), 0, 0, 1, 1}, + {&__pyx_n_s_xx1, __pyx_k_xx1, sizeof(__pyx_k_xx1), 0, 0, 1, 1}, + {&__pyx_n_s_xx2, __pyx_k_xx2, sizeof(__pyx_k_xx2), 0, 0, 1, 1}, + {&__pyx_n_s_y1, __pyx_k_y1, sizeof(__pyx_k_y1), 0, 0, 1, 1}, + {&__pyx_n_s_y2, __pyx_k_y2, sizeof(__pyx_k_y2), 0, 0, 1, 1}, + {&__pyx_n_s_yy1, __pyx_k_yy1, sizeof(__pyx_k_yy1), 0, 0, 1, 1}, + {&__pyx_n_s_yy2, __pyx_k_yy2, sizeof(__pyx_k_yy2), 0, 0, 1, 1}, + {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 46, __pyx_L1_error) + __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 944, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "cpu_nms.pyx":21 + * + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + */ + __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + __pyx_tuple__2 = PyTuple_Pack(2, __pyx_slice_, __pyx_int_0); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "cpu_nms.pyx":22 + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] + */ + __pyx_tuple__3 = PyTuple_Pack(2, __pyx_slice_, __pyx_int_1); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); + + /* "cpu_nms.pyx":23 + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] + * cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] + */ + __pyx_tuple__4 = PyTuple_Pack(2, __pyx_slice_, __pyx_int_2); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); + + /* "cpu_nms.pyx":24 + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] + * + */ + __pyx_tuple__5 = PyTuple_Pack(2, __pyx_slice_, __pyx_int_3); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "cpu_nms.pyx":25 + * cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + * cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] + * cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] # <<<<<<<<<<<<<< + * + * cdef np.ndarray[np.float32_t, ndim=1] areas = (x2 - x1 + 1) * (y2 - y1 + 1) + */ + __pyx_tuple__6 = PyTuple_Pack(2, __pyx_slice_, __pyx_int_4); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + + /* "cpu_nms.pyx":28 + * + * cdef np.ndarray[np.float32_t, ndim=1] areas = (x2 - x1 + 1) * (y2 - y1 + 1) + * cdef np.ndarray[np.int_t, ndim=1] order = scores.argsort()[::-1].astype('i') # <<<<<<<<<<<<<< + * + * cdef int ndets = dets.shape[0] + */ + __pyx_slice__7 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__7)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__7); + __Pyx_GIVEREF(__pyx_slice__7); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":944 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 944, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":950 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 950, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); + + /* "cpu_nms.pyx":20 + * return a if a <= b else b + * + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + */ + __pyx_tuple__10 = PyTuple_Pack(29, __pyx_n_s_dets, __pyx_n_s_thresh, __pyx_n_s_x1, __pyx_n_s_y1, __pyx_n_s_x2, __pyx_n_s_y2, __pyx_n_s_scores, __pyx_n_s_areas, __pyx_n_s_order, __pyx_n_s_ndets, __pyx_n_s_suppressed, __pyx_n_s_i_2, __pyx_n_s_j, __pyx_n_s_i, __pyx_n_s_j_2, __pyx_n_s_ix1, __pyx_n_s_iy1, __pyx_n_s_ix2, __pyx_n_s_iy2, __pyx_n_s_iarea, __pyx_n_s_xx1, __pyx_n_s_yy1, __pyx_n_s_xx2, __pyx_n_s_yy2, __pyx_n_s_w, __pyx_n_s_h, __pyx_n_s_inter, __pyx_n_s_ovr, __pyx_n_s_keep); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(2, 0, 29, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cpu_nms_pyx, __pyx_n_s_cpu_nms, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 199, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 199, __pyx_L1_error) + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 222, __pyx_L1_error) + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 226, __pyx_L1_error) + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 238, __pyx_L1_error) + __pyx_ptype_5numpy_generic = __Pyx_ImportType(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_generic) __PYX_ERR(1, 770, __pyx_L1_error) + __pyx_ptype_5numpy_number = __Pyx_ImportType(__pyx_t_1, "numpy", "number", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_number) __PYX_ERR(1, 772, __pyx_L1_error) + __pyx_ptype_5numpy_integer = __Pyx_ImportType(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_integer) __PYX_ERR(1, 774, __pyx_L1_error) + __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(1, 776, __pyx_L1_error) + __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(1, 778, __pyx_L1_error) + __pyx_ptype_5numpy_inexact = __Pyx_ImportType(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(1, 780, __pyx_L1_error) + __pyx_ptype_5numpy_floating = __Pyx_ImportType(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_floating) __PYX_ERR(1, 782, __pyx_L1_error) + __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(1, 784, __pyx_L1_error) + __pyx_ptype_5numpy_flexible = __Pyx_ImportType(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(1, 786, __pyx_L1_error) + __pyx_ptype_5numpy_character = __Pyx_ImportType(__pyx_t_1, "numpy", "character", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_character) __PYX_ERR(1, 788, __pyx_L1_error) + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 826, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initcpu_nms(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initcpu_nms(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_cpu_nms(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_cpu_nms(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_cpu_nms(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'cpu_nms' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_cpu_nms(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("cpu_nms", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_cpu_nms) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "cpu_nms")) { + if (unlikely(PyDict_SetItemString(modules, "cpu_nms", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) goto __pyx_L1_error; + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) goto __pyx_L1_error; + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + (void)__Pyx_modinit_type_init_code(); + if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "cpu_nms.pyx":11 + * from __future__ import print_function + * + * import numpy as np # <<<<<<<<<<<<<< + * cimport numpy as np + * + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "cpu_nms.pyx":20 + * return a if a <= b else b + * + * def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + * cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7cpu_nms_1cpu_nms, NULL, __pyx_n_s_cpu_nms); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_cpu_nms, __pyx_t_1) < 0) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "cpu_nms.pyx":1 + * # ------------------------------------------------------------------------------ # <<<<<<<<<<<<<< + * # Copyright (c) Microsoft + * # Licensed under the MIT License. + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1013 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init cpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init cpu_nms"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* IsLittleEndian */ +static CYTHON_INLINE int __Pyx_Is_Little_Endian(void) +{ + union { + uint32_t u32; + uint8_t u8[4]; + } S; + S.u32 = 0x01020304; + return S.u8[0] == 4; +} + +/* BufferFormatCheck */ +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type) { + stack[0].field = &ctx->root; + stack[0].parent_offset = 0; + ctx->root.type = type; + ctx->root.name = "buffer dtype"; + ctx->root.offset = 0; + ctx->head = stack; + ctx->head->field = &ctx->root; + ctx->fmt_offset = 0; + ctx->head->parent_offset = 0; + ctx->new_packmode = '@'; + ctx->enc_packmode = '@'; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->is_complex = 0; + ctx->is_valid_array = 0; + ctx->struct_alignment = 0; + while (type->typegroup == 'S') { + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = 0; + type = type->fields->type; + } +} +static int __Pyx_BufFmt_ParseNumber(const char** ts) { + int count; + const char* t = *ts; + if (*t < '0' || *t > '9') { + return -1; + } else { + count = *t++ - '0'; + while (*t >= '0' && *t <= '9') { + count *= 10; + count += *t++ - '0'; + } + } + *ts = t; + return count; +} +static int __Pyx_BufFmt_ExpectNumber(const char **ts) { + int number = __Pyx_BufFmt_ParseNumber(ts); + if (number == -1) + PyErr_Format(PyExc_ValueError,\ + "Does not understand character buffer dtype format string ('%c')", **ts); + return number; +} +static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) { + PyErr_Format(PyExc_ValueError, + "Unexpected format string character: '%c'", ch); +} +static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) { + switch (ch) { + case '?': return "'bool'"; + case 'c': return "'char'"; + case 'b': return "'signed char'"; + case 'B': return "'unsigned char'"; + case 'h': return "'short'"; + case 'H': return "'unsigned short'"; + case 'i': return "'int'"; + case 'I': return "'unsigned int'"; + case 'l': return "'long'"; + case 'L': return "'unsigned long'"; + case 'q': return "'long long'"; + case 'Q': return "'unsigned long long'"; + case 'f': return (is_complex ? "'complex float'" : "'float'"); + case 'd': return (is_complex ? "'complex double'" : "'double'"); + case 'g': return (is_complex ? "'complex long double'" : "'long double'"); + case 'T': return "a struct"; + case 'O': return "Python object"; + case 'P': return "a pointer"; + case 's': case 'p': return "a string"; + case 0: return "end"; + default: return "unparseable format string"; + } +} +static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return 2; + case 'i': case 'I': case 'l': case 'L': return 4; + case 'q': case 'Q': return 8; + case 'f': return (is_complex ? 8 : 4); + case 'd': return (is_complex ? 16 : 8); + case 'g': { + PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g').."); + return 0; + } + case 'O': case 'P': return sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(short); + case 'i': case 'I': return sizeof(int); + case 'l': case 'L': return sizeof(long); + #ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(PY_LONG_LONG); + #endif + case 'f': return sizeof(float) * (is_complex ? 2 : 1); + case 'd': return sizeof(double) * (is_complex ? 2 : 1); + case 'g': return sizeof(long double) * (is_complex ? 2 : 1); + case 'O': case 'P': return sizeof(void*); + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +typedef struct { char c; short x; } __Pyx_st_short; +typedef struct { char c; int x; } __Pyx_st_int; +typedef struct { char c; long x; } __Pyx_st_long; +typedef struct { char c; float x; } __Pyx_st_float; +typedef struct { char c; double x; } __Pyx_st_double; +typedef struct { char c; long double x; } __Pyx_st_longdouble; +typedef struct { char c; void *x; } __Pyx_st_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_st_float) - sizeof(float); + case 'd': return sizeof(__Pyx_st_double) - sizeof(double); + case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +/* These are for computing the padding at the end of the struct to align + on the first member of the struct. This will probably the same as above, + but we don't have any guarantees. + */ +typedef struct { short x; char c; } __Pyx_pad_short; +typedef struct { int x; char c; } __Pyx_pad_int; +typedef struct { long x; char c; } __Pyx_pad_long; +typedef struct { float x; char c; } __Pyx_pad_float; +typedef struct { double x; char c; } __Pyx_pad_double; +typedef struct { long double x; char c; } __Pyx_pad_longdouble; +typedef struct { void *x; char c; } __Pyx_pad_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_pad_float) - sizeof(float); + case 'd': return sizeof(__Pyx_pad_double) - sizeof(double); + case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) { + switch (ch) { + case 'c': + return 'H'; + case 'b': case 'h': case 'i': + case 'l': case 'q': case 's': case 'p': + return 'I'; + case '?': case 'B': case 'H': case 'I': case 'L': case 'Q': + return 'U'; + case 'f': case 'd': case 'g': + return (is_complex ? 'C' : 'R'); + case 'O': + return 'O'; + case 'P': + return 'P'; + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) { + if (ctx->head == NULL || ctx->head->field == &ctx->root) { + const char* expected; + const char* quote; + if (ctx->head == NULL) { + expected = "end"; + quote = ""; + } else { + expected = ctx->head->field->type->name; + quote = "'"; + } + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected %s%s%s but got %s", + quote, expected, quote, + __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex)); + } else { + __Pyx_StructField* field = ctx->head->field; + __Pyx_StructField* parent = (ctx->head - 1)->field; + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'", + field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex), + parent->type->name, field->name); + } +} +static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) { + char group; + size_t size, offset, arraysize = 1; + if (ctx->enc_type == 0) return 0; + if (ctx->head->field->type->arraysize[0]) { + int i, ndim = 0; + if (ctx->enc_type == 's' || ctx->enc_type == 'p') { + ctx->is_valid_array = ctx->head->field->type->ndim == 1; + ndim = 1; + if (ctx->enc_count != ctx->head->field->type->arraysize[0]) { + PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %zu", + ctx->head->field->type->arraysize[0], ctx->enc_count); + return -1; + } + } + if (!ctx->is_valid_array) { + PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d", + ctx->head->field->type->ndim, ndim); + return -1; + } + for (i = 0; i < ctx->head->field->type->ndim; i++) { + arraysize *= ctx->head->field->type->arraysize[i]; + } + ctx->is_valid_array = 0; + ctx->enc_count = 1; + } + group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex); + do { + __Pyx_StructField* field = ctx->head->field; + __Pyx_TypeInfo* type = field->type; + if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') { + size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex); + } else { + size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex); + } + if (ctx->enc_packmode == '@') { + size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex); + size_t align_mod_offset; + if (align_at == 0) return -1; + align_mod_offset = ctx->fmt_offset % align_at; + if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset; + if (ctx->struct_alignment == 0) + ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type, + ctx->is_complex); + } + if (type->size != size || type->typegroup != group) { + if (type->typegroup == 'C' && type->fields != NULL) { + size_t parent_offset = ctx->head->parent_offset + field->offset; + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = parent_offset; + continue; + } + if ((type->typegroup == 'H' || group == 'H') && type->size == size) { + } else { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + } + offset = ctx->head->parent_offset + field->offset; + if (ctx->fmt_offset != offset) { + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected", + (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset); + return -1; + } + ctx->fmt_offset += size; + if (arraysize) + ctx->fmt_offset += (arraysize - 1) * size; + --ctx->enc_count; + while (1) { + if (field == &ctx->root) { + ctx->head = NULL; + if (ctx->enc_count != 0) { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + break; + } + ctx->head->field = ++field; + if (field->type == NULL) { + --ctx->head; + field = ctx->head->field; + continue; + } else if (field->type->typegroup == 'S') { + size_t parent_offset = ctx->head->parent_offset + field->offset; + if (field->type->fields->type == NULL) continue; + field = field->type->fields; + ++ctx->head; + ctx->head->field = field; + ctx->head->parent_offset = parent_offset; + break; + } else { + break; + } + } + } while (ctx->enc_count); + ctx->enc_type = 0; + ctx->is_complex = 0; + return 0; +} +static PyObject * +__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp) +{ + const char *ts = *tsp; + int i = 0, number; + int ndim = ctx->head->field->type->ndim; +; + ++ts; + if (ctx->new_count != 1) { + PyErr_SetString(PyExc_ValueError, + "Cannot handle repeated arrays in format string"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + while (*ts && *ts != ')') { + switch (*ts) { + case ' ': case '\f': case '\r': case '\n': case '\t': case '\v': continue; + default: break; + } + number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) + return PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %d", + ctx->head->field->type->arraysize[i], number); + if (*ts != ',' && *ts != ')') + return PyErr_Format(PyExc_ValueError, + "Expected a comma in format string, got '%c'", *ts); + if (*ts == ',') ts++; + i++; + } + if (i != ndim) + return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d", + ctx->head->field->type->ndim, i); + if (!*ts) { + PyErr_SetString(PyExc_ValueError, + "Unexpected end of format string, expected ')'"); + return NULL; + } + ctx->is_valid_array = 1; + ctx->new_count = 1; + *tsp = ++ts; + return Py_None; +} +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) { + int got_Z = 0; + while (1) { + switch(*ts) { + case 0: + if (ctx->enc_type != 0 && ctx->head == NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + if (ctx->head != NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + return ts; + case ' ': + case '\r': + case '\n': + ++ts; + break; + case '<': + if (!__Pyx_Is_Little_Endian()) { + PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '>': + case '!': + if (__Pyx_Is_Little_Endian()) { + PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '=': + case '@': + case '^': + ctx->new_packmode = *ts++; + break; + case 'T': + { + const char* ts_after_sub; + size_t i, struct_count = ctx->new_count; + size_t struct_alignment = ctx->struct_alignment; + ctx->new_count = 1; + ++ts; + if (*ts != '{') { + PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + ctx->enc_count = 0; + ctx->struct_alignment = 0; + ++ts; + ts_after_sub = ts; + for (i = 0; i != struct_count; ++i) { + ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts); + if (!ts_after_sub) return NULL; + } + ts = ts_after_sub; + if (struct_alignment) ctx->struct_alignment = struct_alignment; + } + break; + case '}': + { + size_t alignment = ctx->struct_alignment; + ++ts; + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + if (alignment && ctx->fmt_offset % alignment) { + ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment); + } + } + return ts; + case 'x': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->fmt_offset += ctx->new_count; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->enc_packmode = ctx->new_packmode; + ++ts; + break; + case 'Z': + got_Z = 1; + ++ts; + if (*ts != 'f' && *ts != 'd' && *ts != 'g') { + __Pyx_BufFmt_RaiseUnexpectedChar('Z'); + return NULL; + } + CYTHON_FALLTHROUGH; + case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I': + case 'l': case 'L': case 'q': case 'Q': + case 'f': case 'd': case 'g': + case 'O': case 'p': + if (ctx->enc_type == *ts && got_Z == ctx->is_complex && + ctx->enc_packmode == ctx->new_packmode) { + ctx->enc_count += ctx->new_count; + ctx->new_count = 1; + got_Z = 0; + ++ts; + break; + } + CYTHON_FALLTHROUGH; + case 's': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_count = ctx->new_count; + ctx->enc_packmode = ctx->new_packmode; + ctx->enc_type = *ts; + ctx->is_complex = got_Z; + ++ts; + ctx->new_count = 1; + got_Z = 0; + break; + case ':': + ++ts; + while(*ts != ':') ++ts; + ++ts; + break; + case '(': + if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL; + break; + default: + { + int number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + ctx->new_count = (size_t)number; + } + } + } +} + +/* BufferGetAndValidate */ + static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { + if (unlikely(info->buf == NULL)) return; + if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; + __Pyx_ReleaseBuffer(info); +} +static void __Pyx_ZeroBuffer(Py_buffer* buf) { + buf->buf = NULL; + buf->obj = NULL; + buf->strides = __Pyx_zeros; + buf->shape = __Pyx_zeros; + buf->suboffsets = __Pyx_minusones; +} +static int __Pyx__GetBufferAndValidate( + Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, + int nd, int cast, __Pyx_BufFmt_StackElem* stack) +{ + buf->buf = NULL; + if (unlikely(__Pyx_GetBuffer(obj, buf, flags) == -1)) { + __Pyx_ZeroBuffer(buf); + return -1; + } + if (unlikely(buf->ndim != nd)) { + PyErr_Format(PyExc_ValueError, + "Buffer has wrong number of dimensions (expected %d, got %d)", + nd, buf->ndim); + goto fail; + } + if (!cast) { + __Pyx_BufFmt_Context ctx; + __Pyx_BufFmt_Init(&ctx, stack, dtype); + if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail; + } + if (unlikely((size_t)buf->itemsize != dtype->size)) { + PyErr_Format(PyExc_ValueError, + "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)", + buf->itemsize, (buf->itemsize > 1) ? "s" : "", + dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : ""); + goto fail; + } + if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones; + return 0; +fail:; + __Pyx_SafeReleaseBuffer(buf); + return -1; +} + +/* GetItemInt */ + static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* ObjectGetItem */ + #if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* ExtTypeTest */ + static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* PyIntBinop */ + #if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* PyFunctionFastCall */ + #if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallMethO */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ + #if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ + #if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectCall2Args */ + static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyDictVersioning */ + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ + #if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* BufferIndexError */ + static void __Pyx_RaiseBufferIndexError(int axis) { + PyErr_Format(PyExc_IndexError, + "Out of bounds on buffer access (axis %d)", axis); +} + +/* PyErrFetchRestore */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* GetTopmostException */ + #if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetException */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* RaiseException */ + #if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* TypeImport */ + #ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ + static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* CLineInTraceback */ + #ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ + static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ + #include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +#if PY_MAJOR_VERSION < 3 +static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { + if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags); + PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name); + return -1; +} +static void __Pyx_ReleaseBuffer(Py_buffer *view) { + PyObject *obj = view->obj; + if (!obj) return; + if (PyObject_CheckBuffer(obj)) { + PyBuffer_Release(view); + return; + } + if ((0)) {} + view->obj = NULL; + Py_DECREF(obj); +} +#endif + + + /* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntFromPyVerify */ + #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabsf(b.real) >= fabsf(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + float r = b.imag / b.real; + float s = (float)(1.0) / (b.real + b.imag * r); + return __pyx_t_float_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + float r = b.real / b.imag; + float s = (float)(1.0) / (b.imag + b.real * r); + return __pyx_t_float_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + float denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_float_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrtf(z.real*z.real + z.imag*z.imag); + #else + return hypotf(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + float denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_float(a, a); + case 3: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, a); + case 4: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = powf(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2f(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_float(a); + theta = atan2f(a.imag, a.real); + } + lnr = logf(r); + z_r = expf(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cosf(z_theta); + z.imag = z_r * sinf(z_theta); + return z; + } + #endif +#endif + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabs(b.real) >= fabs(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + double r = b.imag / b.real; + double s = (double)(1.0) / (b.real + b.imag * r); + return __pyx_t_double_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + double r = b.real / b.imag; + double s = (double)(1.0) / (b.imag + b.real * r); + return __pyx_t_double_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + double denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_double_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrt(z.real*z.real + z.imag*z.imag); + #else + return hypot(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + double denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_double(a, a); + case 3: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, a); + case 4: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = pow(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_double(a); + theta = atan2(a.imag, a.real); + } + lnr = log(r); + z_r = exp(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cos(z_theta); + z.imag = z_r * sin(z_theta); + return z; + } + #endif +#endif + +/* CIntFromPy */ + static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* FastTypeChecks */ + #if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; ip) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.cpython-38-x86_64-linux-gnu.so b/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.cpython-38-x86_64-linux-gnu.so new file mode 100644 index 0000000000000000000000000000000000000000..436a65e6ab6c5a1736eef4dce94a52b083aa6844 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.cpython-38-x86_64-linux-gnu.so differ diff --git a/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.pyx b/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.pyx new file mode 100644 index 0000000000000000000000000000000000000000..3cd0d74097da10fbba6d674d8928fdc1feb43a53 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/cpu_nms.pyx @@ -0,0 +1,71 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np +cimport numpy as np + +cdef inline np.float32_t max(np.float32_t a, np.float32_t b): + return a if a >= b else b + +cdef inline np.float32_t min(np.float32_t a, np.float32_t b): + return a if a <= b else b + +def cpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh): + cdef np.ndarray[np.float32_t, ndim=1] x1 = dets[:, 0] + cdef np.ndarray[np.float32_t, ndim=1] y1 = dets[:, 1] + cdef np.ndarray[np.float32_t, ndim=1] x2 = dets[:, 2] + cdef np.ndarray[np.float32_t, ndim=1] y2 = dets[:, 3] + cdef np.ndarray[np.float32_t, ndim=1] scores = dets[:, 4] + + cdef np.ndarray[np.float32_t, ndim=1] areas = (x2 - x1 + 1) * (y2 - y1 + 1) + cdef np.ndarray[np.int_t, ndim=1] order = scores.argsort()[::-1].astype('i') + + cdef int ndets = dets.shape[0] + cdef np.ndarray[np.int_t, ndim=1] suppressed = \ + np.zeros((ndets), dtype=np.int) + + # nominal indices + cdef int _i, _j + # sorted indices + cdef int i, j + # temp variables for box i's (the box currently under consideration) + cdef np.float32_t ix1, iy1, ix2, iy2, iarea + # variables for computing overlap with box j (lower scoring box) + cdef np.float32_t xx1, yy1, xx2, yy2 + cdef np.float32_t w, h + cdef np.float32_t inter, ovr + + keep = [] + for _i in range(ndets): + i = order[_i] + if suppressed[i] == 1: + continue + keep.append(i) + ix1 = x1[i] + iy1 = y1[i] + ix2 = x2[i] + iy2 = y2[i] + iarea = areas[i] + for _j in range(_i + 1, ndets): + j = order[_j] + if suppressed[j] == 1: + continue + xx1 = max(ix1, x1[j]) + yy1 = max(iy1, y1[j]) + xx2 = min(ix2, x2[j]) + yy2 = min(iy2, y2[j]) + w = max(0.0, xx2 - xx1 + 1) + h = max(0.0, yy2 - yy1 + 1) + inter = w * h + ovr = inter / (iarea + areas[j] - inter) + if ovr >= thresh: + suppressed[j] = 1 + + return keep diff --git a/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cpp b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9707365d22c78ffb8f67f5556f5ad61d30c04caf --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cpp @@ -0,0 +1,7066 @@ +/* Generated by Cython 0.29.17 */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_17" +#define CYTHON_HEX_VERSION 0x001D11F0 +#define CYTHON_FUTURE_DIVISION 1 +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef __cplusplus + #error "Cython files generated with the C++ option must be compiled with a C++ compiler." +#endif +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #else + #define CYTHON_INLINE inline + #endif +#endif +template +void __Pyx_call_destructor(T& x) { + x.~T(); +} +template +class __Pyx_FakeReference { + public: + __Pyx_FakeReference() : ptr(NULL) { } + __Pyx_FakeReference(const T& ref) : ptr(const_cast(&ref)) { } + T *operator->() { return ptr; } + T *operator&() { return ptr; } + operator T&() { return *ptr; } + template bool operator ==(U other) { return *ptr == other; } + template bool operator !=(U other) { return *ptr != other; } + private: + T *ptr; +}; + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" +#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2 + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__gpu_nms +#define __PYX_HAVE_API__gpu_nms +/* Early includes */ +#include +#include +#include "numpy/arrayobject.h" +#include "numpy/ndarrayobject.h" +#include "numpy/ndarraytypes.h" +#include "numpy/arrayscalars.h" +#include "numpy/ufuncobject.h" + + /* NumPy API declarations from "numpy/__init__.pxd" */ + +#include "gpu_nms.hpp" +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + +/* Header.proto */ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + + +static const char *__pyx_f[] = { + "gpu_nms.pyx", + "__init__.pxd", + "type.pxd", +}; +/* BufferFormatStructs.proto */ +#define IS_UNSIGNED(type) (((type) -1) > 0) +struct __Pyx_StructField_; +#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0) +typedef struct { + const char* name; + struct __Pyx_StructField_* fields; + size_t size; + size_t arraysize[8]; + int ndim; + char typegroup; + char is_unsigned; + int flags; +} __Pyx_TypeInfo; +typedef struct __Pyx_StructField_ { + __Pyx_TypeInfo* type; + const char* name; + size_t offset; +} __Pyx_StructField; +typedef struct { + __Pyx_StructField* field; + size_t parent_offset; +} __Pyx_BufFmt_StackElem; +typedef struct { + __Pyx_StructField root; + __Pyx_BufFmt_StackElem* head; + size_t fmt_offset; + size_t new_count, enc_count; + size_t struct_alignment; + int is_complex; + char enc_type; + char new_packmode; + char enc_packmode; + char is_valid_array; +} __Pyx_BufFmt_Context; + + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":689 + * # in Cython to enable them only on the right systems. + * + * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + */ +typedef npy_int8 __pyx_t_5numpy_int8_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":690 + * + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t + */ +typedef npy_int16 __pyx_t_5numpy_int16_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":691 + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< + * ctypedef npy_int64 int64_t + * #ctypedef npy_int96 int96_t + */ +typedef npy_int32 __pyx_t_5numpy_int32_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":692 + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< + * #ctypedef npy_int96 int96_t + * #ctypedef npy_int128 int128_t + */ +typedef npy_int64 __pyx_t_5numpy_int64_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":696 + * #ctypedef npy_int128 int128_t + * + * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + */ +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":697 + * + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t + */ +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":698 + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< + * ctypedef npy_uint64 uint64_t + * #ctypedef npy_uint96 uint96_t + */ +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":699 + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< + * #ctypedef npy_uint96 uint96_t + * #ctypedef npy_uint128 uint128_t + */ +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":703 + * #ctypedef npy_uint128 uint128_t + * + * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< + * ctypedef npy_float64 float64_t + * #ctypedef npy_float80 float80_t + */ +typedef npy_float32 __pyx_t_5numpy_float32_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":704 + * + * ctypedef npy_float32 float32_t + * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< + * #ctypedef npy_float80 float80_t + * #ctypedef npy_float128 float128_t + */ +typedef npy_float64 __pyx_t_5numpy_float64_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":713 + * # The int types are mapped a bit surprising -- + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t + */ +typedef npy_long __pyx_t_5numpy_int_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":714 + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong longlong_t + * + */ +typedef npy_longlong __pyx_t_5numpy_long_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":715 + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_ulong uint_t + */ +typedef npy_longlong __pyx_t_5numpy_longlong_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":717 + * ctypedef npy_longlong longlong_t + * + * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t + */ +typedef npy_ulong __pyx_t_5numpy_uint_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":718 + * + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulonglong_t + * + */ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":719 + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_intp intp_t + */ +typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":721 + * ctypedef npy_ulonglong ulonglong_t + * + * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< + * ctypedef npy_uintp uintp_t + * + */ +typedef npy_intp __pyx_t_5numpy_intp_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":722 + * + * ctypedef npy_intp intp_t + * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< + * + * ctypedef npy_double float_t + */ +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":724 + * ctypedef npy_uintp uintp_t + * + * ctypedef npy_double float_t # <<<<<<<<<<<<<< + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t + */ +typedef npy_double __pyx_t_5numpy_float_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":725 + * + * ctypedef npy_double float_t + * ctypedef npy_double double_t # <<<<<<<<<<<<<< + * ctypedef npy_longdouble longdouble_t + * + */ +typedef npy_double __pyx_t_5numpy_double_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":726 + * ctypedef npy_double float_t + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cfloat cfloat_t + */ +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + + +/*--- Type declarations ---*/ + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":728 + * ctypedef npy_longdouble longdouble_t + * + * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t + */ +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":729 + * + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< + * ctypedef npy_clongdouble clongdouble_t + * + */ +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":730 + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cdouble complex_t + */ +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":732 + * ctypedef npy_clongdouble clongdouble_t + * + * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew1(a): + */ +typedef npy_cdouble __pyx_t_5numpy_complex_t; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* IsLittleEndian.proto */ +static CYTHON_INLINE int __Pyx_Is_Little_Endian(void); + +/* BufferFormatCheck.proto */ +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts); +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type); + +/* BufferGetAndValidate.proto */ +#define __Pyx_GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)\ + ((obj == Py_None || obj == NULL) ?\ + (__Pyx_ZeroBuffer(buf), 0) :\ + __Pyx__GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)) +static int __Pyx__GetBufferAndValidate(Py_buffer* buf, PyObject* obj, + __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); +static void __Pyx_ZeroBuffer(Py_buffer* buf); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); +static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 }; +static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* BufferIndexError.proto */ +static void __Pyx_RaiseBufferIndexError(int axis); + +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) +#define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +/* BufferFallbackError.proto */ +static void __Pyx_RaiseBufferFallbackError(void); + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* BufferStructDeclare.proto */ +typedef struct { + Py_ssize_t shape, strides, suboffsets; +} __Pyx_Buf_DimInfo; +typedef struct { + size_t refcount; + Py_buffer pybuffer; +} __Pyx_Buffer; +typedef struct { + __Pyx_Buffer *rcbuffer; + char *data; + __Pyx_Buf_DimInfo diminfo[8]; +} __Pyx_LocalBuf_ND; + +#if PY_MAJOR_VERSION < 3 + static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); + static void __Pyx_ReleaseBuffer(Py_buffer *view); +#else + #define __Pyx_GetBuffer PyObject_GetBuffer + #define __Pyx_ReleaseBuffer PyBuffer_Release +#endif + + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* RealImag.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif +#if defined(__cplusplus) && CYTHON_CCOMPLEX\ + && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_float(a, b) ((a)==(b)) + #define __Pyx_c_sum_float(a, b) ((a)+(b)) + #define __Pyx_c_diff_float(a, b) ((a)-(b)) + #define __Pyx_c_prod_float(a, b) ((a)*(b)) + #define __Pyx_c_quot_float(a, b) ((a)/(b)) + #define __Pyx_c_neg_float(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_float(z) ((z)==(float)0) + #define __Pyx_c_conj_float(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_float(z) (::std::abs(z)) + #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_float(z) ((z)==0) + #define __Pyx_c_conj_float(z) (conjf(z)) + #if 1 + #define __Pyx_c_abs_float(z) (cabsf(z)) + #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); + #endif +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_double(a, b) ((a)==(b)) + #define __Pyx_c_sum_double(a, b) ((a)+(b)) + #define __Pyx_c_diff_double(a, b) ((a)-(b)) + #define __Pyx_c_prod_double(a, b) ((a)*(b)) + #define __Pyx_c_quot_double(a, b) ((a)/(b)) + #define __Pyx_c_neg_double(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_double(z) ((z)==(double)0) + #define __Pyx_c_conj_double(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (::std::abs(z)) + #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_double(z) ((z)==0) + #define __Pyx_c_conj_double(z) (conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (cabs(z)) + #define __Pyx_c_pow_double(a, b) (cpow(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); + #endif +#endif + +/* CIntFromPy.proto */ +static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'numpy' */ + +/* Module declarations from 'numpy' */ +static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; +static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; +static PyTypeObject *__pyx_ptype_5numpy_generic = 0; +static PyTypeObject *__pyx_ptype_5numpy_number = 0; +static PyTypeObject *__pyx_ptype_5numpy_integer = 0; +static PyTypeObject *__pyx_ptype_5numpy_signedinteger = 0; +static PyTypeObject *__pyx_ptype_5numpy_unsignedinteger = 0; +static PyTypeObject *__pyx_ptype_5numpy_inexact = 0; +static PyTypeObject *__pyx_ptype_5numpy_floating = 0; +static PyTypeObject *__pyx_ptype_5numpy_complexfloating = 0; +static PyTypeObject *__pyx_ptype_5numpy_flexible = 0; +static PyTypeObject *__pyx_ptype_5numpy_character = 0; +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; + +/* Module declarations from 'gpu_nms' */ +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; +#define __Pyx_MODULE_NAME "gpu_nms" +extern int __pyx_module_is_main_gpu_nms; +int __pyx_module_is_main_gpu_nms = 0; + +/* Implementation of 'gpu_nms' */ +static PyObject *__pyx_builtin_ImportError; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_dets[] = "dets"; +static const char __pyx_k_keep[] = "keep"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_dtype[] = "dtype"; +static const char __pyx_k_int32[] = "int32"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_order[] = "order"; +static const char __pyx_k_zeros[] = "zeros"; +static const char __pyx_k_astype[] = "astype"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_scores[] = "scores"; +static const char __pyx_k_thresh[] = "thresh"; +static const char __pyx_k_argsort[] = "argsort"; +static const char __pyx_k_gpu_nms[] = "gpu_nms"; +static const char __pyx_k_num_out[] = "num_out"; +static const char __pyx_k_boxes_dim[] = "boxes_dim"; +static const char __pyx_k_boxes_num[] = "boxes_num"; +static const char __pyx_k_device_id[] = "device_id"; +static const char __pyx_k_ImportError[] = "ImportError"; +static const char __pyx_k_gpu_nms_pyx[] = "gpu_nms.pyx"; +static const char __pyx_k_sorted_dets[] = "sorted_dets"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; +static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; +static PyObject *__pyx_n_s_ImportError; +static PyObject *__pyx_n_s_argsort; +static PyObject *__pyx_n_s_astype; +static PyObject *__pyx_n_s_boxes_dim; +static PyObject *__pyx_n_s_boxes_num; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_dets; +static PyObject *__pyx_n_s_device_id; +static PyObject *__pyx_n_s_dtype; +static PyObject *__pyx_n_s_gpu_nms; +static PyObject *__pyx_kp_s_gpu_nms_pyx; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_int32; +static PyObject *__pyx_n_s_keep; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_num_out; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; +static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; +static PyObject *__pyx_n_s_order; +static PyObject *__pyx_n_s_scores; +static PyObject *__pyx_n_s_sorted_dets; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_thresh; +static PyObject *__pyx_n_s_zeros; +static PyObject *__pyx_pf_7gpu_nms_gpu_nms(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dets, PyObject *__pyx_v_thresh, __pyx_t_5numpy_int32_t __pyx_v_device_id); /* proto */ +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_slice_; +static PyObject *__pyx_slice__3; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_tuple__4; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_codeobj__7; +/* Late includes */ + +/* "gpu_nms.pyx":19 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7gpu_nms_1gpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_7gpu_nms_1gpu_nms = {"gpu_nms", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7gpu_nms_1gpu_nms, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_7gpu_nms_1gpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_dets = 0; + PyObject *__pyx_v_thresh = 0; + __pyx_t_5numpy_int32_t __pyx_v_device_id; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("gpu_nms (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dets,&__pyx_n_s_thresh,&__pyx_n_s_device_id,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dets)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_thresh)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("gpu_nms", 0, 2, 3, 1); __PYX_ERR(0, 19, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_id); + if (value) { values[2] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "gpu_nms") < 0)) __PYX_ERR(0, 19, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_dets = ((PyArrayObject *)values[0]); + __pyx_v_thresh = ((PyObject*)values[1]); + if (values[2]) { + __pyx_v_device_id = __Pyx_PyInt_As_npy_int32(values[2]); if (unlikely((__pyx_v_device_id == ((npy_int32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) + } else { + __pyx_v_device_id = ((__pyx_t_5numpy_int32_t)0); + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("gpu_nms", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 19, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("gpu_nms.gpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dets), __pyx_ptype_5numpy_ndarray, 1, "dets", 0))) __PYX_ERR(0, 19, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_thresh), (&PyFloat_Type), 1, "thresh", 1))) __PYX_ERR(0, 19, __pyx_L1_error) + __pyx_r = __pyx_pf_7gpu_nms_gpu_nms(__pyx_self, __pyx_v_dets, __pyx_v_thresh, __pyx_v_device_id); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7gpu_nms_gpu_nms(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dets, PyObject *__pyx_v_thresh, __pyx_t_5numpy_int32_t __pyx_v_device_id) { + int __pyx_v_boxes_num; + int __pyx_v_boxes_dim; + int __pyx_v_num_out; + PyArrayObject *__pyx_v_keep = 0; + PyArrayObject *__pyx_v_scores = 0; + PyArrayObject *__pyx_v_order = 0; + PyArrayObject *__pyx_v_sorted_dets = 0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_dets; + __Pyx_Buffer __pyx_pybuffer_dets; + __Pyx_LocalBuf_ND __pyx_pybuffernd_keep; + __Pyx_Buffer __pyx_pybuffer_keep; + __Pyx_LocalBuf_ND __pyx_pybuffernd_order; + __Pyx_Buffer __pyx_pybuffer_order; + __Pyx_LocalBuf_ND __pyx_pybuffernd_scores; + __Pyx_Buffer __pyx_pybuffer_scores; + __Pyx_LocalBuf_ND __pyx_pybuffernd_sorted_dets; + __Pyx_Buffer __pyx_pybuffer_sorted_dets; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyArrayObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_7 = NULL; + PyArrayObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + float __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + __Pyx_RefNannySetupContext("gpu_nms", 0); + __pyx_pybuffer_keep.pybuffer.buf = NULL; + __pyx_pybuffer_keep.refcount = 0; + __pyx_pybuffernd_keep.data = NULL; + __pyx_pybuffernd_keep.rcbuffer = &__pyx_pybuffer_keep; + __pyx_pybuffer_scores.pybuffer.buf = NULL; + __pyx_pybuffer_scores.refcount = 0; + __pyx_pybuffernd_scores.data = NULL; + __pyx_pybuffernd_scores.rcbuffer = &__pyx_pybuffer_scores; + __pyx_pybuffer_order.pybuffer.buf = NULL; + __pyx_pybuffer_order.refcount = 0; + __pyx_pybuffernd_order.data = NULL; + __pyx_pybuffernd_order.rcbuffer = &__pyx_pybuffer_order; + __pyx_pybuffer_sorted_dets.pybuffer.buf = NULL; + __pyx_pybuffer_sorted_dets.refcount = 0; + __pyx_pybuffernd_sorted_dets.data = NULL; + __pyx_pybuffernd_sorted_dets.rcbuffer = &__pyx_pybuffer_sorted_dets; + __pyx_pybuffer_dets.pybuffer.buf = NULL; + __pyx_pybuffer_dets.refcount = 0; + __pyx_pybuffernd_dets.data = NULL; + __pyx_pybuffernd_dets.rcbuffer = &__pyx_pybuffer_dets; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dets.rcbuffer->pybuffer, (PyObject*)__pyx_v_dets, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 19, __pyx_L1_error) + } + __pyx_pybuffernd_dets.diminfo[0].strides = __pyx_pybuffernd_dets.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dets.diminfo[0].shape = __pyx_pybuffernd_dets.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_dets.diminfo[1].strides = __pyx_pybuffernd_dets.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_dets.diminfo[1].shape = __pyx_pybuffernd_dets.rcbuffer->pybuffer.shape[1]; + + /* "gpu_nms.pyx":21 + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] # <<<<<<<<<<<<<< + * cdef int boxes_dim = dets.shape[1] + * cdef int num_out + */ + __pyx_v_boxes_num = (__pyx_v_dets->dimensions[0]); + + /* "gpu_nms.pyx":22 + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + * cdef int boxes_dim = dets.shape[1] # <<<<<<<<<<<<<< + * cdef int num_out + * cdef np.ndarray[np.int32_t, ndim=1] \ + */ + __pyx_v_boxes_dim = (__pyx_v_dets->dimensions[1]); + + /* "gpu_nms.pyx":25 + * cdef int num_out + * cdef np.ndarray[np.int32_t, ndim=1] \ + * keep = np.zeros(boxes_num, dtype=np.int32) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] \ + * scores = dets[:, 4] + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_boxes_num); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 25, __pyx_L1_error) + __pyx_t_6 = ((PyArrayObject *)__pyx_t_5); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_keep.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_keep = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_keep.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 24, __pyx_L1_error) + } else {__pyx_pybuffernd_keep.diminfo[0].strides = __pyx_pybuffernd_keep.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_keep.diminfo[0].shape = __pyx_pybuffernd_keep.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_6 = 0; + __pyx_v_keep = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "gpu_nms.pyx":27 + * keep = np.zeros(boxes_num, dtype=np.int32) + * cdef np.ndarray[np.float32_t, ndim=1] \ + * scores = dets[:, 4] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] \ + * order = scores.argsort()[::-1].astype(np.int32) + */ + __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 27, __pyx_L1_error) + __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_scores.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_scores = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_scores.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 26, __pyx_L1_error) + } else {__pyx_pybuffernd_scores.diminfo[0].strides = __pyx_pybuffernd_scores.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_scores.diminfo[0].shape = __pyx_pybuffernd_scores.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_7 = 0; + __pyx_v_scores = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "gpu_nms.pyx":29 + * scores = dets[:, 4] + * cdef np.ndarray[np.int32_t, ndim=1] \ + * order = scores.argsort()[::-1].astype(np.int32) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_scores), __pyx_n_s_argsort); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_slice__3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_astype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int32); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 29, __pyx_L1_error) + __pyx_t_8 = ((PyArrayObject *)__pyx_t_5); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_order.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_order = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_order.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 28, __pyx_L1_error) + } else {__pyx_pybuffernd_order.diminfo[0].strides = __pyx_pybuffernd_order.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_order.diminfo[0].shape = __pyx_pybuffernd_order.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_8 = 0; + __pyx_v_order = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "gpu_nms.pyx":31 + * order = scores.argsort()[::-1].astype(np.int32) + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] # <<<<<<<<<<<<<< + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + * keep = keep[:num_out] + */ + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_v_order)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_order)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_order)); + __Pyx_INCREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_slice_); + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 31, __pyx_L1_error) + __pyx_t_9 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { + __pyx_v_sorted_dets = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 30, __pyx_L1_error) + } else {__pyx_pybuffernd_sorted_dets.diminfo[0].strides = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_sorted_dets.diminfo[0].shape = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_sorted_dets.diminfo[1].strides = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_sorted_dets.diminfo[1].shape = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.shape[1]; + } + } + __pyx_t_9 = 0; + __pyx_v_sorted_dets = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "gpu_nms.pyx":32 + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) # <<<<<<<<<<<<<< + * keep = keep[:num_out] + * return list(order[keep]) + */ + __pyx_t_10 = 0; + __pyx_t_11 = -1; + if (__pyx_t_10 < 0) { + __pyx_t_10 += __pyx_pybuffernd_keep.diminfo[0].shape; + if (unlikely(__pyx_t_10 < 0)) __pyx_t_11 = 0; + } else if (unlikely(__pyx_t_10 >= __pyx_pybuffernd_keep.diminfo[0].shape)) __pyx_t_11 = 0; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 32, __pyx_L1_error) + } + __pyx_t_12 = 0; + __pyx_t_13 = 0; + __pyx_t_11 = -1; + if (__pyx_t_12 < 0) { + __pyx_t_12 += __pyx_pybuffernd_sorted_dets.diminfo[0].shape; + if (unlikely(__pyx_t_12 < 0)) __pyx_t_11 = 0; + } else if (unlikely(__pyx_t_12 >= __pyx_pybuffernd_sorted_dets.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_13 < 0) { + __pyx_t_13 += __pyx_pybuffernd_sorted_dets.diminfo[1].shape; + if (unlikely(__pyx_t_13 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_13 >= __pyx_pybuffernd_sorted_dets.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 32, __pyx_L1_error) + } + __pyx_t_14 = __pyx_PyFloat_AsFloat(__pyx_v_thresh); if (unlikely((__pyx_t_14 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 32, __pyx_L1_error) + _nms((&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_keep.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_keep.diminfo[0].strides))), (&__pyx_v_num_out), (&(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_sorted_dets.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_sorted_dets.diminfo[1].strides))), __pyx_v_boxes_num, __pyx_v_boxes_dim, __pyx_t_14, __pyx_v_device_id); + + /* "gpu_nms.pyx":33 + * sorted_dets = dets[order, :] + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + * keep = keep[:num_out] # <<<<<<<<<<<<<< + * return list(order[keep]) + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_num_out); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PySlice_New(Py_None, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_keep), __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 33, __pyx_L1_error) + __pyx_t_6 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_keep.rcbuffer->pybuffer); + __pyx_t_11 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_keep.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); + if (unlikely(__pyx_t_11 < 0)) { + PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_keep.rcbuffer->pybuffer, (PyObject*)__pyx_v_keep, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); + __Pyx_RaiseBufferFallbackError(); + } else { + PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + __pyx_t_15 = __pyx_t_16 = __pyx_t_17 = 0; + } + __pyx_pybuffernd_keep.diminfo[0].strides = __pyx_pybuffernd_keep.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_keep.diminfo[0].shape = __pyx_pybuffernd_keep.rcbuffer->pybuffer.shape[0]; + if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 33, __pyx_L1_error) + } + __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_keep, ((PyArrayObject *)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "gpu_nms.pyx":34 + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + * keep = keep[:num_out] + * return list(order[keep]) # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_order), ((PyObject *)__pyx_v_keep)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "gpu_nms.pyx":19 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dets.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_keep.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_order.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_scores.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("gpu_nms.gpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dets.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_keep.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_order.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_scores.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_keep); + __Pyx_XDECREF((PyObject *)__pyx_v_scores); + __Pyx_XDECREF((PyObject *)__pyx_v_order); + __Pyx_XDECREF((PyObject *)__pyx_v_sorted_dets); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":734 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":735 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 735, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":734 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":737 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":738 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 738, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":737 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":740 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":741 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 741, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":740 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":743 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":744 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":743 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":746 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":747 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":746 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":749 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":750 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); + if (__pyx_t_1) { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":751 + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape # <<<<<<<<<<<<<< + * else: + * return () + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); + __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":750 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":753 + * return d.subarray.shape + * else: + * return () # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_empty_tuple); + __pyx_r = __pyx_empty_tuple; + goto __pyx_L0; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":749 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":928 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_array_base", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":929 + * + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< + * PyArray_SetBaseObject(arr, base) + * + */ + Py_INCREF(__pyx_v_base); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":930 + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":928 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":932 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_v_base; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":933 + * + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< + * if base is NULL: + * return None + */ + __pyx_v_base = PyArray_BASE(__pyx_v_arr); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":934 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + __pyx_t_1 = ((__pyx_v_base == NULL) != 0); + if (__pyx_t_1) { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":935 + * base = PyArray_BASE(arr) + * if base is NULL: + * return None # <<<<<<<<<<<<<< + * return base + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":934 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":936 + * if base is NULL: + * return None + * return base # <<<<<<<<<<<<<< + * + * # Versions of the import_* functions which are more suitable for + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_base)); + __pyx_r = ((PyObject *)__pyx_v_base); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":932 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":940 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("import_array", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":941 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":942 + * cdef inline int import_array() except -1: + * try: + * __pyx_import_array() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") + */ + __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 942, __pyx_L3_error) + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":941 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":943 + * try: + * __pyx_import_array() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.multiarray failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 943, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":944 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 944, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 944, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":941 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":940 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":946 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("import_umath", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":947 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":948 + * cdef inline int import_umath() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 948, __pyx_L3_error) + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":947 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":949 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 949, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":950 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 950, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 950, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":947 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":946 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":952 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("import_ufunc", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":953 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":954 + * cdef inline int import_ufunc() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 954, __pyx_L3_error) + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":953 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":955 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 955, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":956 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef extern from *: + */ + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 956, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(1, 956, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":953 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":952 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":966 + * + * + * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.timedelta64)` + */ + +static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("is_timedelta64_object", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":978 + * bool + * """ + * return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type)); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":966 + * + * + * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.timedelta64)` + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":981 + * + * + * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.datetime64)` + */ + +static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("is_datetime64_object", 0); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":993 + * bool + * """ + * return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type)); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":981 + * + * + * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.datetime64)` + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":996 + * + * + * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy datetime64 object + */ + +static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) { + npy_datetime __pyx_r; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1003 + * also needed. That can be found using `get_datetime64_unit`. + * """ + * return (obj).obval # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":996 + * + * + * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy datetime64 object + */ + + /* function exit code */ + __pyx_L0:; + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1006 + * + * + * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy timedelta64 object + */ + +static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) { + npy_timedelta __pyx_r; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1010 + * returns the int64 value underlying scalar numpy timedelta64 object + * """ + * return (obj).obval # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval; + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1006 + * + * + * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy timedelta64 object + */ + + /* function exit code */ + __pyx_L0:; + return __pyx_r; +} + +/* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1013 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + +static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) { + NPY_DATETIMEUNIT __pyx_r; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1017 + * returns the unit part of the dtype for a numpy datetime64 object. + * """ + * return (obj).obmeta.base # <<<<<<<<<<<<<< + */ + __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base); + goto __pyx_L0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1013 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + + /* function exit code */ + __pyx_L0:; + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_gpu_nms(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_gpu_nms}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "gpu_nms", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, + {&__pyx_n_s_argsort, __pyx_k_argsort, sizeof(__pyx_k_argsort), 0, 0, 1, 1}, + {&__pyx_n_s_astype, __pyx_k_astype, sizeof(__pyx_k_astype), 0, 0, 1, 1}, + {&__pyx_n_s_boxes_dim, __pyx_k_boxes_dim, sizeof(__pyx_k_boxes_dim), 0, 0, 1, 1}, + {&__pyx_n_s_boxes_num, __pyx_k_boxes_num, sizeof(__pyx_k_boxes_num), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_dets, __pyx_k_dets, sizeof(__pyx_k_dets), 0, 0, 1, 1}, + {&__pyx_n_s_device_id, __pyx_k_device_id, sizeof(__pyx_k_device_id), 0, 0, 1, 1}, + {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, + {&__pyx_n_s_gpu_nms, __pyx_k_gpu_nms, sizeof(__pyx_k_gpu_nms), 0, 0, 1, 1}, + {&__pyx_kp_s_gpu_nms_pyx, __pyx_k_gpu_nms_pyx, sizeof(__pyx_k_gpu_nms_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_int32, __pyx_k_int32, sizeof(__pyx_k_int32), 0, 0, 1, 1}, + {&__pyx_n_s_keep, __pyx_k_keep, sizeof(__pyx_k_keep), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_num_out, __pyx_k_num_out, sizeof(__pyx_k_num_out), 0, 0, 1, 1}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, + {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, + {&__pyx_n_s_order, __pyx_k_order, sizeof(__pyx_k_order), 0, 0, 1, 1}, + {&__pyx_n_s_scores, __pyx_k_scores, sizeof(__pyx_k_scores), 0, 0, 1, 1}, + {&__pyx_n_s_sorted_dets, __pyx_k_sorted_dets, sizeof(__pyx_k_sorted_dets), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_thresh, __pyx_k_thresh, sizeof(__pyx_k_thresh), 0, 0, 1, 1}, + {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 944, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "gpu_nms.pyx":27 + * keep = np.zeros(boxes_num, dtype=np.int32) + * cdef np.ndarray[np.float32_t, ndim=1] \ + * scores = dets[:, 4] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.int32_t, ndim=1] \ + * order = scores.argsort()[::-1].astype(np.int32) + */ + __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + __pyx_tuple__2 = PyTuple_Pack(2, __pyx_slice_, __pyx_int_4); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "gpu_nms.pyx":29 + * scores = dets[:, 4] + * cdef np.ndarray[np.int32_t, ndim=1] \ + * order = scores.argsort()[::-1].astype(np.int32) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] + */ + __pyx_slice__3 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__3)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__3); + __Pyx_GIVEREF(__pyx_slice__3); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":944 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 944, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":950 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 950, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "gpu_nms.pyx":19 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + __pyx_tuple__6 = PyTuple_Pack(10, __pyx_n_s_dets, __pyx_n_s_thresh, __pyx_n_s_device_id, __pyx_n_s_boxes_num, __pyx_n_s_boxes_dim, __pyx_n_s_num_out, __pyx_n_s_keep, __pyx_n_s_scores, __pyx_n_s_order, __pyx_n_s_sorted_dets); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gpu_nms_pyx, __pyx_n_s_gpu_nms, 19, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 199, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 199, __pyx_L1_error) + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 222, __pyx_L1_error) + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 226, __pyx_L1_error) + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 238, __pyx_L1_error) + __pyx_ptype_5numpy_generic = __Pyx_ImportType(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_generic) __PYX_ERR(1, 770, __pyx_L1_error) + __pyx_ptype_5numpy_number = __Pyx_ImportType(__pyx_t_1, "numpy", "number", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_number) __PYX_ERR(1, 772, __pyx_L1_error) + __pyx_ptype_5numpy_integer = __Pyx_ImportType(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_integer) __PYX_ERR(1, 774, __pyx_L1_error) + __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(1, 776, __pyx_L1_error) + __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(1, 778, __pyx_L1_error) + __pyx_ptype_5numpy_inexact = __Pyx_ImportType(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(1, 780, __pyx_L1_error) + __pyx_ptype_5numpy_floating = __Pyx_ImportType(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_floating) __PYX_ERR(1, 782, __pyx_L1_error) + __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(1, 784, __pyx_L1_error) + __pyx_ptype_5numpy_flexible = __Pyx_ImportType(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(1, 786, __pyx_L1_error) + __pyx_ptype_5numpy_character = __Pyx_ImportType(__pyx_t_1, "numpy", "character", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_character) __PYX_ERR(1, 788, __pyx_L1_error) + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 826, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initgpu_nms(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initgpu_nms(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_gpu_nms(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_gpu_nms(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_gpu_nms(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'gpu_nms' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_gpu_nms(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("gpu_nms", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_gpu_nms) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "gpu_nms")) { + if (unlikely(PyDict_SetItemString(modules, "gpu_nms", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) goto __pyx_L1_error; + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) goto __pyx_L1_error; + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + (void)__Pyx_modinit_type_init_code(); + if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "gpu_nms.pyx":11 + * from __future__ import print_function + * + * import numpy as np # <<<<<<<<<<<<<< + * cimport numpy as np + * + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "gpu_nms.pyx":14 + * cimport numpy as np + * + * assert sizeof(int) == sizeof(np.int32_t) # <<<<<<<<<<<<<< + * + * cdef extern from "gpu_nms.hpp": + */ + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!(((sizeof(int)) == (sizeof(__pyx_t_5numpy_int32_t))) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 14, __pyx_L1_error) + } + } + #endif + + /* "gpu_nms.pyx":19 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7gpu_nms_1gpu_nms, NULL, __pyx_n_s_gpu_nms); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_gpu_nms, __pyx_t_1) < 0) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "gpu_nms.pyx":1 + * # ------------------------------------------------------------------------------ # <<<<<<<<<<<<<< + * # Copyright (c) Microsoft + * # Licensed under the MIT License. + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "../../../../../../../../../../../../../../anaconda/envs/azureml_py38/lib/python3.8/site-packages/numpy/__init__.pxd":1013 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init gpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init gpu_nms"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* IsLittleEndian */ +static CYTHON_INLINE int __Pyx_Is_Little_Endian(void) +{ + union { + uint32_t u32; + uint8_t u8[4]; + } S; + S.u32 = 0x01020304; + return S.u8[0] == 4; +} + +/* BufferFormatCheck */ +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type) { + stack[0].field = &ctx->root; + stack[0].parent_offset = 0; + ctx->root.type = type; + ctx->root.name = "buffer dtype"; + ctx->root.offset = 0; + ctx->head = stack; + ctx->head->field = &ctx->root; + ctx->fmt_offset = 0; + ctx->head->parent_offset = 0; + ctx->new_packmode = '@'; + ctx->enc_packmode = '@'; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->is_complex = 0; + ctx->is_valid_array = 0; + ctx->struct_alignment = 0; + while (type->typegroup == 'S') { + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = 0; + type = type->fields->type; + } +} +static int __Pyx_BufFmt_ParseNumber(const char** ts) { + int count; + const char* t = *ts; + if (*t < '0' || *t > '9') { + return -1; + } else { + count = *t++ - '0'; + while (*t >= '0' && *t <= '9') { + count *= 10; + count += *t++ - '0'; + } + } + *ts = t; + return count; +} +static int __Pyx_BufFmt_ExpectNumber(const char **ts) { + int number = __Pyx_BufFmt_ParseNumber(ts); + if (number == -1) + PyErr_Format(PyExc_ValueError,\ + "Does not understand character buffer dtype format string ('%c')", **ts); + return number; +} +static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) { + PyErr_Format(PyExc_ValueError, + "Unexpected format string character: '%c'", ch); +} +static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) { + switch (ch) { + case '?': return "'bool'"; + case 'c': return "'char'"; + case 'b': return "'signed char'"; + case 'B': return "'unsigned char'"; + case 'h': return "'short'"; + case 'H': return "'unsigned short'"; + case 'i': return "'int'"; + case 'I': return "'unsigned int'"; + case 'l': return "'long'"; + case 'L': return "'unsigned long'"; + case 'q': return "'long long'"; + case 'Q': return "'unsigned long long'"; + case 'f': return (is_complex ? "'complex float'" : "'float'"); + case 'd': return (is_complex ? "'complex double'" : "'double'"); + case 'g': return (is_complex ? "'complex long double'" : "'long double'"); + case 'T': return "a struct"; + case 'O': return "Python object"; + case 'P': return "a pointer"; + case 's': case 'p': return "a string"; + case 0: return "end"; + default: return "unparseable format string"; + } +} +static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return 2; + case 'i': case 'I': case 'l': case 'L': return 4; + case 'q': case 'Q': return 8; + case 'f': return (is_complex ? 8 : 4); + case 'd': return (is_complex ? 16 : 8); + case 'g': { + PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g').."); + return 0; + } + case 'O': case 'P': return sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(short); + case 'i': case 'I': return sizeof(int); + case 'l': case 'L': return sizeof(long); + #ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(PY_LONG_LONG); + #endif + case 'f': return sizeof(float) * (is_complex ? 2 : 1); + case 'd': return sizeof(double) * (is_complex ? 2 : 1); + case 'g': return sizeof(long double) * (is_complex ? 2 : 1); + case 'O': case 'P': return sizeof(void*); + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +typedef struct { char c; short x; } __Pyx_st_short; +typedef struct { char c; int x; } __Pyx_st_int; +typedef struct { char c; long x; } __Pyx_st_long; +typedef struct { char c; float x; } __Pyx_st_float; +typedef struct { char c; double x; } __Pyx_st_double; +typedef struct { char c; long double x; } __Pyx_st_longdouble; +typedef struct { char c; void *x; } __Pyx_st_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_st_float) - sizeof(float); + case 'd': return sizeof(__Pyx_st_double) - sizeof(double); + case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +/* These are for computing the padding at the end of the struct to align + on the first member of the struct. This will probably the same as above, + but we don't have any guarantees. + */ +typedef struct { short x; char c; } __Pyx_pad_short; +typedef struct { int x; char c; } __Pyx_pad_int; +typedef struct { long x; char c; } __Pyx_pad_long; +typedef struct { float x; char c; } __Pyx_pad_float; +typedef struct { double x; char c; } __Pyx_pad_double; +typedef struct { long double x; char c; } __Pyx_pad_longdouble; +typedef struct { void *x; char c; } __Pyx_pad_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_pad_float) - sizeof(float); + case 'd': return sizeof(__Pyx_pad_double) - sizeof(double); + case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) { + switch (ch) { + case 'c': + return 'H'; + case 'b': case 'h': case 'i': + case 'l': case 'q': case 's': case 'p': + return 'I'; + case '?': case 'B': case 'H': case 'I': case 'L': case 'Q': + return 'U'; + case 'f': case 'd': case 'g': + return (is_complex ? 'C' : 'R'); + case 'O': + return 'O'; + case 'P': + return 'P'; + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) { + if (ctx->head == NULL || ctx->head->field == &ctx->root) { + const char* expected; + const char* quote; + if (ctx->head == NULL) { + expected = "end"; + quote = ""; + } else { + expected = ctx->head->field->type->name; + quote = "'"; + } + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected %s%s%s but got %s", + quote, expected, quote, + __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex)); + } else { + __Pyx_StructField* field = ctx->head->field; + __Pyx_StructField* parent = (ctx->head - 1)->field; + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'", + field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex), + parent->type->name, field->name); + } +} +static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) { + char group; + size_t size, offset, arraysize = 1; + if (ctx->enc_type == 0) return 0; + if (ctx->head->field->type->arraysize[0]) { + int i, ndim = 0; + if (ctx->enc_type == 's' || ctx->enc_type == 'p') { + ctx->is_valid_array = ctx->head->field->type->ndim == 1; + ndim = 1; + if (ctx->enc_count != ctx->head->field->type->arraysize[0]) { + PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %zu", + ctx->head->field->type->arraysize[0], ctx->enc_count); + return -1; + } + } + if (!ctx->is_valid_array) { + PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d", + ctx->head->field->type->ndim, ndim); + return -1; + } + for (i = 0; i < ctx->head->field->type->ndim; i++) { + arraysize *= ctx->head->field->type->arraysize[i]; + } + ctx->is_valid_array = 0; + ctx->enc_count = 1; + } + group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex); + do { + __Pyx_StructField* field = ctx->head->field; + __Pyx_TypeInfo* type = field->type; + if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') { + size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex); + } else { + size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex); + } + if (ctx->enc_packmode == '@') { + size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex); + size_t align_mod_offset; + if (align_at == 0) return -1; + align_mod_offset = ctx->fmt_offset % align_at; + if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset; + if (ctx->struct_alignment == 0) + ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type, + ctx->is_complex); + } + if (type->size != size || type->typegroup != group) { + if (type->typegroup == 'C' && type->fields != NULL) { + size_t parent_offset = ctx->head->parent_offset + field->offset; + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = parent_offset; + continue; + } + if ((type->typegroup == 'H' || group == 'H') && type->size == size) { + } else { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + } + offset = ctx->head->parent_offset + field->offset; + if (ctx->fmt_offset != offset) { + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected", + (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset); + return -1; + } + ctx->fmt_offset += size; + if (arraysize) + ctx->fmt_offset += (arraysize - 1) * size; + --ctx->enc_count; + while (1) { + if (field == &ctx->root) { + ctx->head = NULL; + if (ctx->enc_count != 0) { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + break; + } + ctx->head->field = ++field; + if (field->type == NULL) { + --ctx->head; + field = ctx->head->field; + continue; + } else if (field->type->typegroup == 'S') { + size_t parent_offset = ctx->head->parent_offset + field->offset; + if (field->type->fields->type == NULL) continue; + field = field->type->fields; + ++ctx->head; + ctx->head->field = field; + ctx->head->parent_offset = parent_offset; + break; + } else { + break; + } + } + } while (ctx->enc_count); + ctx->enc_type = 0; + ctx->is_complex = 0; + return 0; +} +static PyObject * +__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp) +{ + const char *ts = *tsp; + int i = 0, number; + int ndim = ctx->head->field->type->ndim; +; + ++ts; + if (ctx->new_count != 1) { + PyErr_SetString(PyExc_ValueError, + "Cannot handle repeated arrays in format string"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + while (*ts && *ts != ')') { + switch (*ts) { + case ' ': case '\f': case '\r': case '\n': case '\t': case '\v': continue; + default: break; + } + number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) + return PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %d", + ctx->head->field->type->arraysize[i], number); + if (*ts != ',' && *ts != ')') + return PyErr_Format(PyExc_ValueError, + "Expected a comma in format string, got '%c'", *ts); + if (*ts == ',') ts++; + i++; + } + if (i != ndim) + return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d", + ctx->head->field->type->ndim, i); + if (!*ts) { + PyErr_SetString(PyExc_ValueError, + "Unexpected end of format string, expected ')'"); + return NULL; + } + ctx->is_valid_array = 1; + ctx->new_count = 1; + *tsp = ++ts; + return Py_None; +} +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) { + int got_Z = 0; + while (1) { + switch(*ts) { + case 0: + if (ctx->enc_type != 0 && ctx->head == NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + if (ctx->head != NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + return ts; + case ' ': + case '\r': + case '\n': + ++ts; + break; + case '<': + if (!__Pyx_Is_Little_Endian()) { + PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '>': + case '!': + if (__Pyx_Is_Little_Endian()) { + PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '=': + case '@': + case '^': + ctx->new_packmode = *ts++; + break; + case 'T': + { + const char* ts_after_sub; + size_t i, struct_count = ctx->new_count; + size_t struct_alignment = ctx->struct_alignment; + ctx->new_count = 1; + ++ts; + if (*ts != '{') { + PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + ctx->enc_count = 0; + ctx->struct_alignment = 0; + ++ts; + ts_after_sub = ts; + for (i = 0; i != struct_count; ++i) { + ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts); + if (!ts_after_sub) return NULL; + } + ts = ts_after_sub; + if (struct_alignment) ctx->struct_alignment = struct_alignment; + } + break; + case '}': + { + size_t alignment = ctx->struct_alignment; + ++ts; + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + if (alignment && ctx->fmt_offset % alignment) { + ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment); + } + } + return ts; + case 'x': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->fmt_offset += ctx->new_count; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->enc_packmode = ctx->new_packmode; + ++ts; + break; + case 'Z': + got_Z = 1; + ++ts; + if (*ts != 'f' && *ts != 'd' && *ts != 'g') { + __Pyx_BufFmt_RaiseUnexpectedChar('Z'); + return NULL; + } + CYTHON_FALLTHROUGH; + case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I': + case 'l': case 'L': case 'q': case 'Q': + case 'f': case 'd': case 'g': + case 'O': case 'p': + if (ctx->enc_type == *ts && got_Z == ctx->is_complex && + ctx->enc_packmode == ctx->new_packmode) { + ctx->enc_count += ctx->new_count; + ctx->new_count = 1; + got_Z = 0; + ++ts; + break; + } + CYTHON_FALLTHROUGH; + case 's': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_count = ctx->new_count; + ctx->enc_packmode = ctx->new_packmode; + ctx->enc_type = *ts; + ctx->is_complex = got_Z; + ++ts; + ctx->new_count = 1; + got_Z = 0; + break; + case ':': + ++ts; + while(*ts != ':') ++ts; + ++ts; + break; + case '(': + if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL; + break; + default: + { + int number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + ctx->new_count = (size_t)number; + } + } + } +} + +/* BufferGetAndValidate */ + static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { + if (unlikely(info->buf == NULL)) return; + if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; + __Pyx_ReleaseBuffer(info); +} +static void __Pyx_ZeroBuffer(Py_buffer* buf) { + buf->buf = NULL; + buf->obj = NULL; + buf->strides = __Pyx_zeros; + buf->shape = __Pyx_zeros; + buf->suboffsets = __Pyx_minusones; +} +static int __Pyx__GetBufferAndValidate( + Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, + int nd, int cast, __Pyx_BufFmt_StackElem* stack) +{ + buf->buf = NULL; + if (unlikely(__Pyx_GetBuffer(obj, buf, flags) == -1)) { + __Pyx_ZeroBuffer(buf); + return -1; + } + if (unlikely(buf->ndim != nd)) { + PyErr_Format(PyExc_ValueError, + "Buffer has wrong number of dimensions (expected %d, got %d)", + nd, buf->ndim); + goto fail; + } + if (!cast) { + __Pyx_BufFmt_Context ctx; + __Pyx_BufFmt_Init(&ctx, stack, dtype); + if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail; + } + if (unlikely((size_t)buf->itemsize != dtype->size)) { + PyErr_Format(PyExc_ValueError, + "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)", + buf->itemsize, (buf->itemsize > 1) ? "s" : "", + dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : ""); + goto fail; + } + if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones; + return 0; +fail:; + __Pyx_SafeReleaseBuffer(buf); + return -1; +} + +/* PyObjectGetAttrStr */ + #if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ + static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* PyDictVersioning */ + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ + #if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyObjectCall */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* ExtTypeTest */ + static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* GetItemInt */ + static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* ObjectGetItem */ + #if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* PyFunctionFastCall */ + #if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCallMethO */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ + #if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ + #if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectCall2Args */ + static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* BufferIndexError */ + static void __Pyx_RaiseBufferIndexError(int axis) { + PyErr_Format(PyExc_IndexError, + "Out of bounds on buffer access (axis %d)", axis); +} + +/* BufferFallbackError */ + static void __Pyx_RaiseBufferFallbackError(void) { + PyErr_SetString(PyExc_ValueError, + "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); +} + +/* PyErrFetchRestore */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* GetTopmostException */ + #if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ + #if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetException */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* RaiseException */ + #if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* TypeImport */ + #ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ + static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* CLineInTraceback */ + #ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ + static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ + #include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +#if PY_MAJOR_VERSION < 3 +static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { + if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags); + PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name); + return -1; +} +static void __Pyx_ReleaseBuffer(Py_buffer *view) { + PyObject *obj = view->obj; + if (!obj) return; + if (PyObject_CheckBuffer(obj)) { + PyBuffer_Release(view); + return; + } + if ((0)) {} + view->obj = NULL; + Py_DECREF(obj); +} +#endif + + + /* CIntFromPyVerify */ + #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabsf(b.real) >= fabsf(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + float r = b.imag / b.real; + float s = (float)(1.0) / (b.real + b.imag * r); + return __pyx_t_float_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + float r = b.real / b.imag; + float s = (float)(1.0) / (b.imag + b.real * r); + return __pyx_t_float_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + float denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_float_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrtf(z.real*z.real + z.imag*z.imag); + #else + return hypotf(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + float denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_float(a, a); + case 3: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, a); + case 4: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = powf(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2f(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_float(a); + theta = atan2f(a.imag, a.real); + } + lnr = logf(r); + z_r = expf(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cosf(z_theta); + z.imag = z_r * sinf(z_theta); + return z; + } + #endif +#endif + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabs(b.real) >= fabs(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + double r = b.imag / b.real; + double s = (double)(1.0) / (b.real + b.imag * r); + return __pyx_t_double_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + double r = b.real / b.imag; + double s = (double)(1.0) / (b.imag + b.real * r); + return __pyx_t_double_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + double denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_double_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrt(z.real*z.real + z.imag*z.imag); + #else + return hypot(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + double denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_double(a, a); + case 3: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, a); + case 4: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if (b.imag == 0) { + z.real = pow(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_double(a); + theta = atan2(a.imag, a.real); + } + lnr = log(r); + z_r = exp(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cos(z_theta); + z.imag = z_r * sin(z_theta); + return z; + } + #endif +#endif + +/* CIntFromPy */ + static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *x) { + const npy_int32 neg_one = (npy_int32) ((npy_int32) 0 - (npy_int32) 1), const_zero = (npy_int32) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(npy_int32) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (npy_int32) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (npy_int32) 0; + case 1: __PYX_VERIFY_RETURN_INT(npy_int32, digit, digits[0]) + case 2: + if (8 * sizeof(npy_int32) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) >= 2 * PyLong_SHIFT) { + return (npy_int32) (((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(npy_int32) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) >= 3 * PyLong_SHIFT) { + return (npy_int32) (((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(npy_int32) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) >= 4 * PyLong_SHIFT) { + return (npy_int32) (((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (npy_int32) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(npy_int32) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_int32) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (npy_int32) 0; + case -1: __PYX_VERIFY_RETURN_INT(npy_int32, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(npy_int32, digit, +digits[0]) + case -2: + if (8 * sizeof(npy_int32) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) { + return (npy_int32) (((npy_int32)-1)*(((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(npy_int32) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) { + return (npy_int32) ((((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) { + return (npy_int32) (((npy_int32)-1)*(((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(npy_int32) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) { + return (npy_int32) ((((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 4 * PyLong_SHIFT) { + return (npy_int32) (((npy_int32)-1)*(((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(npy_int32) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 4 * PyLong_SHIFT) { + return (npy_int32) ((((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + } +#endif + if (sizeof(npy_int32) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(npy_int32) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + npy_int32 val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (npy_int32) -1; + } + } else { + npy_int32 val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (npy_int32) -1; + val = __Pyx_PyInt_As_npy_int32(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to npy_int32"); + return (npy_int32) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to npy_int32"); + return (npy_int32) -1; +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ + #if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; ip) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cpython-38-x86_64-linux-gnu.so b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cpython-38-x86_64-linux-gnu.so new file mode 100644 index 0000000000000000000000000000000000000000..8cb569fd5201cc6e7190ae4ceb2d661468fe767a Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cpython-38-x86_64-linux-gnu.so differ diff --git a/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cu b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cu new file mode 100644 index 0000000000000000000000000000000000000000..2f6931e1727db4ef68de4bf30a678ee570e80020 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.cu @@ -0,0 +1,7080 @@ +// ------------------------------------------------------------------ +// Copyright (c) Microsoft +// Licensed under The MIT License +// Modified from MATLAB Faster R-CNN (https://github.com/shaoqingren/faster_rcnn) +// ------------------------------------------------------------------ + +//#include "gpu_nms.hpp" +#include +#include + + +#define CUDA_CHECK(condition) \ + /* Code block avoids redefinition of cudaError_t error */ \ + do { \ + cudaError_t error = condition; \ + if (error != cudaSuccess) { \ + std::cout << cudaGetErrorString(error) << std::endl; \ + } \ + } while (0) + +#define DIVUP(m,n) ((m) / (n) + ((m) % (n) > 0)) +int const threadsPerBlock = sizeof(unsigned long long) * 8; + +__device__ inline float devIoU(float const * const a, float const * const b) { + float left = max(a[0], b[0]), right = min(a[2], b[2]); + float top = max(a[1], b[1]), bottom = min(a[3], b[3]); + float width = max(right - left + 1, 0.f), height = max(bottom - top + 1, 0.f); + float interS = width * height; + float Sa = (a[2] - a[0] + 1) * (a[3] - a[1] + 1); + float Sb = (b[2] - b[0] + 1) * (b[3] - b[1] + 1); + return interS / (Sa + Sb - interS); +} + +__global__ void nms_kernel(const int n_boxes, const float nms_overlap_thresh, + const float *dev_boxes, unsigned long long *dev_mask) { + const int row_start = blockIdx.y; + const int col_start = blockIdx.x; + + // if (row_start > col_start) return; + + const int row_size = + min(n_boxes - row_start * threadsPerBlock, threadsPerBlock); + const int col_size = + min(n_boxes - col_start * threadsPerBlock, threadsPerBlock); + + __shared__ float block_boxes[threadsPerBlock * 5]; + if (threadIdx.x < col_size) { + block_boxes[threadIdx.x * 5 + 0] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 0]; + block_boxes[threadIdx.x * 5 + 1] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 1]; + block_boxes[threadIdx.x * 5 + 2] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 2]; + block_boxes[threadIdx.x * 5 + 3] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 3]; + block_boxes[threadIdx.x * 5 + 4] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 4]; + } + __syncthreads(); + + if (threadIdx.x < row_size) { + const int cur_box_idx = threadsPerBlock * row_start + threadIdx.x; + const float *cur_box = dev_boxes + cur_box_idx * 5; + int i = 0; + unsigned long long t = 0; + int start = 0; + if (row_start == col_start) { + start = threadIdx.x + 1; + } + for (i = start; i < col_size; i++) { + if (devIoU(cur_box, block_boxes + i * 5) > nms_overlap_thresh) { + t |= 1ULL << i; + } + } + const int col_blocks = DIVUP(n_boxes, threadsPerBlock); + dev_mask[cur_box_idx * col_blocks + col_start] = t; + } +} + +void _set_device(int device_id) { + int current_device; + CUDA_CHECK(cudaGetDevice(¤t_device)); + if (current_device == device_id) { + return; + } + // The call to cudaSetDevice must come before any calls to Get, which + // may perform initialization using the GPU. + CUDA_CHECK(cudaSetDevice(device_id)); +} + +void _nms(long* keep_out, int* num_out, const float* boxes_host, int boxes_num, + int boxes_dim, float nms_overlap_thresh, int device_id) { + _set_device(device_id); + + float* boxes_dev = NULL; + unsigned long long* mask_dev = NULL; + + const int col_blocks = DIVUP(boxes_num, threadsPerBlock); + + CUDA_CHECK(cudaMalloc(&boxes_dev, + boxes_num * boxes_dim * sizeof(float))); + CUDA_CHECK(cudaMemcpy(boxes_dev, + boxes_host, + boxes_num * boxes_dim * sizeof(float), + cudaMemcpyHostToDevice)); + + CUDA_CHECK(cudaMalloc(&mask_dev, + boxes_num * col_blocks * sizeof(unsigned long long))); + + dim3 blocks(DIVUP(boxes_num, threadsPerBlock), + DIVUP(boxes_num, threadsPerBlock)); + dim3 threads(threadsPerBlock); + nms_kernel<<>>(boxes_num, + nms_overlap_thresh, + boxes_dev, + mask_dev); + + std::vector mask_host(boxes_num * col_blocks); + CUDA_CHECK(cudaMemcpy(&mask_host[0], + mask_dev, + sizeof(unsigned long long) * boxes_num * col_blocks, + cudaMemcpyDeviceToHost)); + + std::vector remv(col_blocks); + memset(&remv[0], 0, sizeof(unsigned long long) * col_blocks); + + int num_to_keep = 0; + for (int i = 0; i < boxes_num; i++) { + int nblock = i / threadsPerBlock; + int inblock = i % threadsPerBlock; + + if (!(remv[nblock] & (1ULL << inblock))) { + keep_out[num_to_keep++] = i; + unsigned long long *p = &mask_host[0] + i * col_blocks; + for (int j = nblock; j < col_blocks; j++) { + remv[j] |= p[j]; + } + } + } + *num_out = num_to_keep; + + CUDA_CHECK(cudaFree(boxes_dev)); + CUDA_CHECK(cudaFree(mask_dev)); +} + + + + + + + + + + +/* Generated by Cython 0.24 */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000) + #error Cython requires Python 2.6+ or Python 3.2+. +#else +#define CYTHON_ABI "0_24" +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 +#endif +#if !defined(CYTHON_USE_PYLONG_INTERNALS) && CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x02070000 + #define CYTHON_USE_PYLONG_INTERNALS 1 +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK +#endif +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if PY_VERSION_HEX >= 0x030500B1 +#define __Pyx_PyAsyncMethodsStruct PyAsyncMethods +#define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) +#elif CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; +} __Pyx_PyAsyncMethodsStruct; +#define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) +#else +#define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) + +#ifndef __cplusplus + #error "Cython files generated with the C++ option must be compiled with a C++ compiler." +#endif +#ifndef CYTHON_INLINE + #define CYTHON_INLINE inline +#endif +template +void __Pyx_call_destructor(T& x) { + x.~T(); +} +template +class __Pyx_FakeReference { + public: + __Pyx_FakeReference() : ptr(NULL) { } + __Pyx_FakeReference(const T& ref) : ptr(const_cast(&ref)) { } + T *operator->() { return ptr; } + operator T&() { return *ptr; } + private: + T *ptr; +}; + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__nms__gpu_nms +#define __PYX_HAVE_API__nms__gpu_nms +#include "string.h" +#include "stdio.h" +#include "stdlib.h" +#include "numpy/arrayobject.h" +#include "numpy/ufuncobject.h" +#include "gpu_nms.hpp" +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#ifdef PYREX_WITHOUT_ASSERTIONS +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) && defined (_M_X64) + #define __Pyx_sst_abs(value) _abs64(value) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyObject_AsSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +#if PY_MAJOR_VERSION < 3 +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) +{ + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#else +#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen +#endif +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +#define __Pyx_PyBool_FromLong(b) ((b) ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False)) +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_COMPILING_IN_CPYTHON +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c)); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ + +static PyObject *__pyx_m; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + +/* None.proto */ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + + +static const char *__pyx_f[] = { + "nms\\gpu_nms.pyx", + "__init__.pxd", + "type.pxd", +}; +/* BufferFormatStructs.proto */ +#define IS_UNSIGNED(type) (((type) -1) > 0) +struct __Pyx_StructField_; +#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0) +typedef struct { + const char* name; + struct __Pyx_StructField_* fields; + size_t size; + size_t arraysize[8]; + int ndim; + char typegroup; + char is_unsigned; + int flags; +} __Pyx_TypeInfo; +typedef struct __Pyx_StructField_ { + __Pyx_TypeInfo* type; + const char* name; + size_t offset; +} __Pyx_StructField; +typedef struct { + __Pyx_StructField* field; + size_t parent_offset; +} __Pyx_BufFmt_StackElem; +typedef struct { + __Pyx_StructField root; + __Pyx_BufFmt_StackElem* head; + size_t fmt_offset; + size_t new_count, enc_count; + size_t struct_alignment; + int is_complex; + char enc_type; + char new_packmode; + char enc_packmode; + char is_valid_array; +} __Pyx_BufFmt_Context; + + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":725 + * # in Cython to enable them only on the right systems. + * + * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + */ +typedef npy_int8 __pyx_t_5numpy_int8_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":726 + * + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t + */ +typedef npy_int16 __pyx_t_5numpy_int16_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":727 + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< + * ctypedef npy_int64 int64_t + * #ctypedef npy_int96 int96_t + */ +typedef npy_int32 __pyx_t_5numpy_int32_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":728 + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< + * #ctypedef npy_int96 int96_t + * #ctypedef npy_int128 int128_t + */ +typedef npy_int64 __pyx_t_5numpy_int64_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":732 + * #ctypedef npy_int128 int128_t + * + * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + */ +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":733 + * + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t + */ +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":734 + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< + * ctypedef npy_uint64 uint64_t + * #ctypedef npy_uint96 uint96_t + */ +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":735 + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< + * #ctypedef npy_uint96 uint96_t + * #ctypedef npy_uint128 uint128_t + */ +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":739 + * #ctypedef npy_uint128 uint128_t + * + * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< + * ctypedef npy_float64 float64_t + * #ctypedef npy_float80 float80_t + */ +typedef npy_float32 __pyx_t_5numpy_float32_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":740 + * + * ctypedef npy_float32 float32_t + * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< + * #ctypedef npy_float80 float80_t + * #ctypedef npy_float128 float128_t + */ +typedef npy_float64 __pyx_t_5numpy_float64_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":749 + * # The int types are mapped a bit surprising -- + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t + */ +typedef npy_long __pyx_t_5numpy_int_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":750 + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong longlong_t + * + */ +typedef npy_longlong __pyx_t_5numpy_long_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":751 + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_ulong uint_t + */ +typedef npy_longlong __pyx_t_5numpy_longlong_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":753 + * ctypedef npy_longlong longlong_t + * + * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t + */ +typedef npy_ulong __pyx_t_5numpy_uint_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":754 + * + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulonglong_t + * + */ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":755 + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_intp intp_t + */ +typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":757 + * ctypedef npy_ulonglong ulonglong_t + * + * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< + * ctypedef npy_uintp uintp_t + * + */ +typedef npy_intp __pyx_t_5numpy_intp_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":758 + * + * ctypedef npy_intp intp_t + * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< + * + * ctypedef npy_double float_t + */ +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":760 + * ctypedef npy_uintp uintp_t + * + * ctypedef npy_double float_t # <<<<<<<<<<<<<< + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t + */ +typedef npy_double __pyx_t_5numpy_float_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":761 + * + * ctypedef npy_double float_t + * ctypedef npy_double double_t # <<<<<<<<<<<<<< + * ctypedef npy_longdouble longdouble_t + * + */ +typedef npy_double __pyx_t_5numpy_double_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":762 + * ctypedef npy_double float_t + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cfloat cfloat_t + */ +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; +/* None.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif + +/* None.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif + + +/*--- Type declarations ---*/ + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":764 + * ctypedef npy_longdouble longdouble_t + * + * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t + */ +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":765 + * + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< + * ctypedef npy_clongdouble clongdouble_t + * + */ +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":766 + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cdouble complex_t + */ +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":768 + * ctypedef npy_clongdouble clongdouble_t + * + * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew1(a): + */ +typedef npy_cdouble __pyx_t_5numpy_complex_t; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, + const char *name, int exact); + +/* BufferFormatCheck.proto */ +static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, + __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts); +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type); // PROTO + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* GetModuleGlobalName.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* BufferIndexError.proto */ +static void __Pyx_RaiseBufferIndexError(int axis); + +#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) +#define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1) +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* BufferFallbackError.proto */ +static void __Pyx_RaiseBufferFallbackError(void); + +/* PyThreadStateGet.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = PyThreadState_GET(); +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* DictGetItem.proto */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { + PyObject *value; + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (!PyErr_Occurred()) { + PyObject* args = PyTuple_Pack(1, key); + if (likely(args)) + PyErr_SetObject(PyExc_KeyError, args); + Py_XDECREF(args); + } + return NULL; + } + Py_INCREF(value); + return value; +} +#else + #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) +#endif + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* RaiseNoneIterError.proto */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* BufferStructDeclare.proto */ +typedef struct { + Py_ssize_t shape, strides, suboffsets; +} __Pyx_Buf_DimInfo; +typedef struct { + size_t refcount; + Py_buffer pybuffer; +} __Pyx_Buffer; +typedef struct { + __Pyx_Buffer *rcbuffer; + char *data; + __Pyx_Buf_DimInfo diminfo[8]; +} __Pyx_LocalBuf_ND; + +#if PY_MAJOR_VERSION < 3 + static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); + static void __Pyx_ReleaseBuffer(Py_buffer *view); +#else + #define __Pyx_GetBuffer PyObject_GetBuffer + #define __Pyx_ReleaseBuffer PyBuffer_Release +#endif + + +/* None.proto */ +static Py_ssize_t __Pyx_zeros[] = {0, 0, 0, 0, 0, 0, 0, 0}; +static Py_ssize_t __Pyx_minusones[] = {-1, -1, -1, -1, -1, -1, -1, -1}; + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* None.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif +#if defined(__cplusplus) && CYTHON_CCOMPLEX && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +/* None.proto */ +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +/* None.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eqf(a, b) ((a)==(b)) + #define __Pyx_c_sumf(a, b) ((a)+(b)) + #define __Pyx_c_difff(a, b) ((a)-(b)) + #define __Pyx_c_prodf(a, b) ((a)*(b)) + #define __Pyx_c_quotf(a, b) ((a)/(b)) + #define __Pyx_c_negf(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zerof(z) ((z)==(float)0) + #define __Pyx_c_conjf(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_absf(z) (::std::abs(z)) + #define __Pyx_c_powf(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zerof(z) ((z)==0) + #define __Pyx_c_conjf(z) (conjf(z)) + #if 1 + #define __Pyx_c_absf(z) (cabsf(z)) + #define __Pyx_c_powf(a, b) (cpowf(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex); + #if 1 + static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf(__pyx_t_float_complex, __pyx_t_float_complex); + #endif +#endif + +/* None.proto */ +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + +/* None.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq(a, b) ((a)==(b)) + #define __Pyx_c_sum(a, b) ((a)+(b)) + #define __Pyx_c_diff(a, b) ((a)-(b)) + #define __Pyx_c_prod(a, b) ((a)*(b)) + #define __Pyx_c_quot(a, b) ((a)/(b)) + #define __Pyx_c_neg(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero(z) ((z)==(double)0) + #define __Pyx_c_conj(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs(z) (::std::abs(z)) + #define __Pyx_c_pow(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero(z) ((z)==0) + #define __Pyx_c_conj(z) (conj(z)) + #if 1 + #define __Pyx_c_abs(z) (cabs(z)) + #define __Pyx_c_pow(a, b) (cpow(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex); + #if 1 + static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow(__pyx_t_double_complex, __pyx_t_double_complex); + #endif +#endif + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* PyIdentifierFromString.proto */ +#if !defined(__Pyx_PyIdentifier_FromString) +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) +#else + #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) +#endif +#endif + +/* ModuleImport.proto */ +static PyObject *__Pyx_ImportModule(const char *name); + +/* TypeImport.proto */ +static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'libc.stdlib' */ + +/* Module declarations from 'numpy' */ + +/* Module declarations from 'numpy' */ +static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; +static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ + +/* Module declarations from 'nms.gpu_nms' */ +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t = { "int32_t", NULL, sizeof(__pyx_t_5numpy_int32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int32_t), 0 }; +static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t = { "intp_t", NULL, sizeof(__pyx_t_5numpy_intp_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_intp_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_intp_t), 0 }; +#define __Pyx_MODULE_NAME "nms.gpu_nms" +int __pyx_module_is_main_nms__gpu_nms = 0; + +/* Implementation of 'nms.gpu_nms' */ +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_RuntimeError; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_dets[] = "dets"; +static const char __pyx_k_keep[] = "keep"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_dtype[] = "dtype"; +static const char __pyx_k_int32[] = "int32"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_order[] = "order"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_zeros[] = "zeros"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_scores[] = "scores"; +static const char __pyx_k_thresh[] = "thresh"; +static const char __pyx_k_argsort[] = "argsort"; +static const char __pyx_k_gpu_nms[] = "gpu_nms"; +static const char __pyx_k_num_out[] = "num_out"; +static const char __pyx_k_boxes_dim[] = "boxes_dim"; +static const char __pyx_k_boxes_num[] = "boxes_num"; +static const char __pyx_k_device_id[] = "device_id"; +static const char __pyx_k_ValueError[] = "ValueError"; +static const char __pyx_k_nms_gpu_nms[] = "nms.gpu_nms"; +static const char __pyx_k_sorted_dets[] = "sorted_dets"; +static const char __pyx_k_RuntimeError[] = "RuntimeError"; +static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; +static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; +static const char __pyx_k_D_v_zix_caffe_caffe_win_20160523[] = "D:\\v-zix\\caffe\\caffe-win-20160523\\models\\py-faster-rcnn-windows\\lib\\nms\\gpu_nms.pyx"; +static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; +static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; +static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; +static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; +static PyObject *__pyx_kp_s_D_v_zix_caffe_caffe_win_20160523; +static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; +static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; +static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor; +static PyObject *__pyx_n_s_RuntimeError; +static PyObject *__pyx_n_s_ValueError; +static PyObject *__pyx_n_s_argsort; +static PyObject *__pyx_n_s_boxes_dim; +static PyObject *__pyx_n_s_boxes_num; +static PyObject *__pyx_n_s_dets; +static PyObject *__pyx_n_s_device_id; +static PyObject *__pyx_n_s_dtype; +static PyObject *__pyx_n_s_gpu_nms; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_int32; +static PyObject *__pyx_n_s_keep; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous; +static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; +static PyObject *__pyx_n_s_nms_gpu_nms; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_num_out; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_n_s_order; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_scores; +static PyObject *__pyx_n_s_sorted_dets; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_thresh; +static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd; +static PyObject *__pyx_n_s_zeros; +static PyObject *__pyx_pf_3nms_7gpu_nms_gpu_nms(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dets, PyObject *__pyx_v_thresh, __pyx_t_5numpy_int32_t __pyx_v_device_id); /* proto */ +static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */ +static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */ +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_slice_; +static PyObject *__pyx_slice__3; +static PyObject *__pyx_slice__4; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__7; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__9; +static PyObject *__pyx_tuple__10; +static PyObject *__pyx_tuple__11; +static PyObject *__pyx_codeobj__12; + +/* "nms/gpu_nms.pyx":16 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_3nms_7gpu_nms_1gpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_3nms_7gpu_nms_1gpu_nms = {"gpu_nms", (PyCFunction)__pyx_pw_3nms_7gpu_nms_1gpu_nms, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_3nms_7gpu_nms_1gpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyArrayObject *__pyx_v_dets = 0; + PyObject *__pyx_v_thresh = 0; + __pyx_t_5numpy_int32_t __pyx_v_device_id; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("gpu_nms (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dets,&__pyx_n_s_thresh,&__pyx_n_s_device_id,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dets)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + case 1: + if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_thresh)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("gpu_nms", 0, 2, 3, 1); __PYX_ERR(0, 16, __pyx_L3_error) + } + case 2: + if (kw_args > 0) { + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_device_id); + if (value) { values[2] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "gpu_nms") < 0)) __PYX_ERR(0, 16, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_dets = ((PyArrayObject *)values[0]); + __pyx_v_thresh = ((PyObject*)values[1]); + if (values[2]) { + __pyx_v_device_id = __Pyx_PyInt_As_npy_int32(values[2]); if (unlikely((__pyx_v_device_id == (npy_int32)-1) && PyErr_Occurred())) __PYX_ERR(0, 17, __pyx_L3_error) + } else { + __pyx_v_device_id = ((__pyx_t_5numpy_int32_t)0); + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("gpu_nms", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("nms.gpu_nms.gpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dets), __pyx_ptype_5numpy_ndarray, 1, "dets", 0))) __PYX_ERR(0, 16, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_thresh), (&PyFloat_Type), 1, "thresh", 1))) __PYX_ERR(0, 16, __pyx_L1_error) + __pyx_r = __pyx_pf_3nms_7gpu_nms_gpu_nms(__pyx_self, __pyx_v_dets, __pyx_v_thresh, __pyx_v_device_id); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_3nms_7gpu_nms_gpu_nms(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dets, PyObject *__pyx_v_thresh, __pyx_t_5numpy_int32_t __pyx_v_device_id) { + int __pyx_v_boxes_num; + int __pyx_v_boxes_dim; + int __pyx_v_num_out; + PyArrayObject *__pyx_v_keep = 0; + PyArrayObject *__pyx_v_scores = 0; + PyArrayObject *__pyx_v_order = 0; + PyArrayObject *__pyx_v_sorted_dets = 0; + __Pyx_LocalBuf_ND __pyx_pybuffernd_dets; + __Pyx_Buffer __pyx_pybuffer_dets; + __Pyx_LocalBuf_ND __pyx_pybuffernd_keep; + __Pyx_Buffer __pyx_pybuffer_keep; + __Pyx_LocalBuf_ND __pyx_pybuffernd_order; + __Pyx_Buffer __pyx_pybuffer_order; + __Pyx_LocalBuf_ND __pyx_pybuffernd_scores; + __Pyx_Buffer __pyx_pybuffer_scores; + __Pyx_LocalBuf_ND __pyx_pybuffernd_sorted_dets; + __Pyx_Buffer __pyx_pybuffer_sorted_dets; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyArrayObject *__pyx_t_6 = NULL; + PyArrayObject *__pyx_t_7 = NULL; + PyArrayObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + Py_ssize_t __pyx_t_12; + Py_ssize_t __pyx_t_13; + float __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + __Pyx_RefNannySetupContext("gpu_nms", 0); + __pyx_pybuffer_keep.pybuffer.buf = NULL; + __pyx_pybuffer_keep.refcount = 0; + __pyx_pybuffernd_keep.data = NULL; + __pyx_pybuffernd_keep.rcbuffer = &__pyx_pybuffer_keep; + __pyx_pybuffer_scores.pybuffer.buf = NULL; + __pyx_pybuffer_scores.refcount = 0; + __pyx_pybuffernd_scores.data = NULL; + __pyx_pybuffernd_scores.rcbuffer = &__pyx_pybuffer_scores; + __pyx_pybuffer_order.pybuffer.buf = NULL; + __pyx_pybuffer_order.refcount = 0; + __pyx_pybuffernd_order.data = NULL; + __pyx_pybuffernd_order.rcbuffer = &__pyx_pybuffer_order; + __pyx_pybuffer_sorted_dets.pybuffer.buf = NULL; + __pyx_pybuffer_sorted_dets.refcount = 0; + __pyx_pybuffernd_sorted_dets.data = NULL; + __pyx_pybuffernd_sorted_dets.rcbuffer = &__pyx_pybuffer_sorted_dets; + __pyx_pybuffer_dets.pybuffer.buf = NULL; + __pyx_pybuffer_dets.refcount = 0; + __pyx_pybuffernd_dets.data = NULL; + __pyx_pybuffernd_dets.rcbuffer = &__pyx_pybuffer_dets; + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dets.rcbuffer->pybuffer, (PyObject*)__pyx_v_dets, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 16, __pyx_L1_error) + } + __pyx_pybuffernd_dets.diminfo[0].strides = __pyx_pybuffernd_dets.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dets.diminfo[0].shape = __pyx_pybuffernd_dets.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_dets.diminfo[1].strides = __pyx_pybuffernd_dets.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_dets.diminfo[1].shape = __pyx_pybuffernd_dets.rcbuffer->pybuffer.shape[1]; + + /* "nms/gpu_nms.pyx":18 + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] # <<<<<<<<<<<<<< + * cdef int boxes_dim = dets.shape[1] + * cdef int num_out + */ + __pyx_v_boxes_num = (__pyx_v_dets->dimensions[0]); + + /* "nms/gpu_nms.pyx":19 + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + * cdef int boxes_dim = dets.shape[1] # <<<<<<<<<<<<<< + * cdef int num_out + * cdef np.ndarray[np.int32_t, ndim=1] \ + */ + __pyx_v_boxes_dim = (__pyx_v_dets->dimensions[1]); + + /* "nms/gpu_nms.pyx":22 + * cdef int num_out + * cdef np.ndarray[np.int32_t, ndim=1] \ + * keep = np.zeros(boxes_num, dtype=np.int32) # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=1] \ + * scores = dets[:, 4] + */ + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_boxes_num); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 22, __pyx_L1_error) + __pyx_t_6 = ((PyArrayObject *)__pyx_t_5); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_keep.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_keep = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_keep.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 21, __pyx_L1_error) + } else {__pyx_pybuffernd_keep.diminfo[0].strides = __pyx_pybuffernd_keep.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_keep.diminfo[0].shape = __pyx_pybuffernd_keep.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_6 = 0; + __pyx_v_keep = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "nms/gpu_nms.pyx":24 + * keep = np.zeros(boxes_num, dtype=np.int32) + * cdef np.ndarray[np.float32_t, ndim=1] \ + * scores = dets[:, 4] # <<<<<<<<<<<<<< + * #cdef np.ndarray[np.int_t, ndim=1] \ // 20160601, by xzn + * # order = scores.argsort()[::-1] + */ + __pyx_t_5 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 24, __pyx_L1_error) + __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_scores.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_scores = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_scores.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 23, __pyx_L1_error) + } else {__pyx_pybuffernd_scores.diminfo[0].strides = __pyx_pybuffernd_scores.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_scores.diminfo[0].shape = __pyx_pybuffernd_scores.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_7 = 0; + __pyx_v_scores = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "nms/gpu_nms.pyx":28 + * # order = scores.argsort()[::-1] + * cdef np.ndarray[np.intp_t, ndim=1] \ + * order = scores.argsort()[::-1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_scores), __pyx_n_s_argsort); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + if (__pyx_t_3) { + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 28, __pyx_L1_error) + } + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyObject_GetItem(__pyx_t_5, __pyx_slice__3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 28, __pyx_L1_error) + __pyx_t_8 = ((PyArrayObject *)__pyx_t_1); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_order.rcbuffer->pybuffer, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_intp_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + __pyx_v_order = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_order.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 27, __pyx_L1_error) + } else {__pyx_pybuffernd_order.diminfo[0].strides = __pyx_pybuffernd_order.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_order.diminfo[0].shape = __pyx_pybuffernd_order.rcbuffer->pybuffer.shape[0]; + } + } + __pyx_t_8 = 0; + __pyx_v_order = ((PyArrayObject *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "nms/gpu_nms.pyx":30 + * order = scores.argsort()[::-1] + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] # <<<<<<<<<<<<<< + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + * keep = keep[:num_out] + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_v_order)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_order)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_order)); + __Pyx_INCREF(__pyx_slice__4); + __Pyx_GIVEREF(__pyx_slice__4); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_slice__4); + __pyx_t_5 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 30, __pyx_L1_error) + __pyx_t_9 = ((PyArrayObject *)__pyx_t_5); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) { + __pyx_v_sorted_dets = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.buf = NULL; + __PYX_ERR(0, 29, __pyx_L1_error) + } else {__pyx_pybuffernd_sorted_dets.diminfo[0].strides = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_sorted_dets.diminfo[0].shape = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_sorted_dets.diminfo[1].strides = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_sorted_dets.diminfo[1].shape = __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.shape[1]; + } + } + __pyx_t_9 = 0; + __pyx_v_sorted_dets = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "nms/gpu_nms.pyx":31 + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) # <<<<<<<<<<<<<< + * keep = keep[:num_out] + * return list(order[keep]) + */ + __pyx_t_10 = 0; + __pyx_t_11 = -1; + if (__pyx_t_10 < 0) { + __pyx_t_10 += __pyx_pybuffernd_keep.diminfo[0].shape; + if (unlikely(__pyx_t_10 < 0)) __pyx_t_11 = 0; + } else if (unlikely(__pyx_t_10 >= __pyx_pybuffernd_keep.diminfo[0].shape)) __pyx_t_11 = 0; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 31, __pyx_L1_error) + } + __pyx_t_12 = 0; + __pyx_t_13 = 0; + __pyx_t_11 = -1; + if (__pyx_t_12 < 0) { + __pyx_t_12 += __pyx_pybuffernd_sorted_dets.diminfo[0].shape; + if (unlikely(__pyx_t_12 < 0)) __pyx_t_11 = 0; + } else if (unlikely(__pyx_t_12 >= __pyx_pybuffernd_sorted_dets.diminfo[0].shape)) __pyx_t_11 = 0; + if (__pyx_t_13 < 0) { + __pyx_t_13 += __pyx_pybuffernd_sorted_dets.diminfo[1].shape; + if (unlikely(__pyx_t_13 < 0)) __pyx_t_11 = 1; + } else if (unlikely(__pyx_t_13 >= __pyx_pybuffernd_sorted_dets.diminfo[1].shape)) __pyx_t_11 = 1; + if (unlikely(__pyx_t_11 != -1)) { + __Pyx_RaiseBufferIndexError(__pyx_t_11); + __PYX_ERR(0, 31, __pyx_L1_error) + } + __pyx_t_14 = __pyx_PyFloat_AsFloat(__pyx_v_thresh); if (unlikely((__pyx_t_14 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 31, __pyx_L1_error) + _nms((&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int32_t *, __pyx_pybuffernd_keep.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_keep.diminfo[0].strides))), (&__pyx_v_num_out), (&(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_sorted_dets.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_sorted_dets.diminfo[1].strides))), __pyx_v_boxes_num, __pyx_v_boxes_dim, __pyx_t_14, __pyx_v_device_id); + + /* "nms/gpu_nms.pyx":32 + * sorted_dets = dets[order, :] + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + * keep = keep[:num_out] # <<<<<<<<<<<<<< + * return list(order[keep]) + */ + __pyx_t_5 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_keep), 0, __pyx_v_num_out, NULL, NULL, NULL, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 32, __pyx_L1_error) + __pyx_t_6 = ((PyArrayObject *)__pyx_t_5); + { + __Pyx_BufFmt_StackElem __pyx_stack[1]; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_keep.rcbuffer->pybuffer); + __pyx_t_11 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_keep.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); + if (unlikely(__pyx_t_11 < 0)) { + PyErr_Fetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_keep.rcbuffer->pybuffer, (PyObject*)__pyx_v_keep, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { + Py_XDECREF(__pyx_t_15); Py_XDECREF(__pyx_t_16); Py_XDECREF(__pyx_t_17); + __Pyx_RaiseBufferFallbackError(); + } else { + PyErr_Restore(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + } + __pyx_pybuffernd_keep.diminfo[0].strides = __pyx_pybuffernd_keep.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_keep.diminfo[0].shape = __pyx_pybuffernd_keep.rcbuffer->pybuffer.shape[0]; + if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 32, __pyx_L1_error) + } + __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_keep, ((PyArrayObject *)__pyx_t_5)); + __pyx_t_5 = 0; + + /* "nms/gpu_nms.pyx":33 + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + * keep = keep[:num_out] + * return list(order[keep]) # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = PyObject_GetItem(((PyObject *)__pyx_v_order), ((PyObject *)__pyx_v_keep)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "nms/gpu_nms.pyx":16 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dets.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_keep.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_order.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_scores.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer); + __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} + __Pyx_AddTraceback("nms.gpu_nms.gpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + goto __pyx_L2; + __pyx_L0:; + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dets.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_keep.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_order.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_scores.rcbuffer->pybuffer); + __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_sorted_dets.rcbuffer->pybuffer); + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_keep); + __Pyx_XDECREF((PyObject *)__pyx_v_scores); + __Pyx_XDECREF((PyObject *)__pyx_v_order); + __Pyx_XDECREF((PyObject *)__pyx_v_sorted_dets); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":197 + * # experimental exception made for __getbuffer__ and __releasebuffer__ + * # -- the details of this may change. + * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< + * # This implementation of getbuffer is geared towards Cython + * # requirements, and does not yet fullfill the PEP. + */ + +/* Python wrapper */ +static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/ +static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0); + __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { + int __pyx_v_copy_shape; + int __pyx_v_i; + int __pyx_v_ndim; + int __pyx_v_endian_detector; + int __pyx_v_little_endian; + int __pyx_v_t; + char *__pyx_v_f; + PyArray_Descr *__pyx_v_descr = 0; + int __pyx_v_offset; + int __pyx_v_hasfields; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + char *__pyx_t_7; + __Pyx_RefNannySetupContext("__getbuffer__", 0); + if (__pyx_v_info != NULL) { + __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(__pyx_v_info->obj); + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":203 + * # of flags + * + * if info == NULL: return # <<<<<<<<<<<<<< + * + * cdef int copy_shape, i, ndim + */ + __pyx_t_1 = ((__pyx_v_info == NULL) != 0); + if (__pyx_t_1) { + __pyx_r = 0; + goto __pyx_L0; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":206 + * + * cdef int copy_shape, i, ndim + * cdef int endian_detector = 1 # <<<<<<<<<<<<<< + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * + */ + __pyx_v_endian_detector = 1; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":207 + * cdef int copy_shape, i, ndim + * cdef int endian_detector = 1 + * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * + * ndim = PyArray_NDIM(self) + */ + __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":209 + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * + * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< + * + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":211 + * ndim = PyArray_NDIM(self) + * + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * copy_shape = 1 + * else: + */ + __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":212 + * + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * copy_shape = 1 # <<<<<<<<<<<<<< + * else: + * copy_shape = 0 + */ + __pyx_v_copy_shape = 1; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":211 + * ndim = PyArray_NDIM(self) + * + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * copy_shape = 1 + * else: + */ + goto __pyx_L4; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":214 + * copy_shape = 1 + * else: + * copy_shape = 0 # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + */ + /*else*/ { + __pyx_v_copy_shape = 0; + } + __pyx_L4:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":216 + * copy_shape = 0 + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L6_bool_binop_done; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":217 + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not C contiguous") + * + */ + __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS) != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L6_bool_binop_done:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":216 + * copy_shape = 0 + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":218 + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 218, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 218, __pyx_L1_error) + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":216 + * copy_shape = 0 + * + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":220 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L9_bool_binop_done; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":221 + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not Fortran contiguous") + * + */ + __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L9_bool_binop_done:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":220 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":222 + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * + * info.buf = PyArray_DATA(self) + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 222, __pyx_L1_error) + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":220 + * raise ValueError(u"ndarray is not C contiguous") + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< + * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":224 + * raise ValueError(u"ndarray is not Fortran contiguous") + * + * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< + * info.ndim = ndim + * if copy_shape: + */ + __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":225 + * + * info.buf = PyArray_DATA(self) + * info.ndim = ndim # <<<<<<<<<<<<<< + * if copy_shape: + * # Allocate new buffer for strides and shape info. + */ + __pyx_v_info->ndim = __pyx_v_ndim; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":226 + * info.buf = PyArray_DATA(self) + * info.ndim = ndim + * if copy_shape: # <<<<<<<<<<<<<< + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + */ + __pyx_t_1 = (__pyx_v_copy_shape != 0); + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":229 + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< + * info.shape = info.strides + ndim + * for i in range(ndim): + */ + __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2))); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":230 + * # This is allocated as one block, strides first. + * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) + * info.shape = info.strides + ndim # <<<<<<<<<<<<<< + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] + */ + __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":231 + * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) + * info.shape = info.strides + ndim + * for i in range(ndim): # <<<<<<<<<<<<<< + * info.strides[i] = PyArray_STRIDES(self)[i] + * info.shape[i] = PyArray_DIMS(self)[i] + */ + __pyx_t_4 = __pyx_v_ndim; + for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { + __pyx_v_i = __pyx_t_5; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":232 + * info.shape = info.strides + ndim + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< + * info.shape[i] = PyArray_DIMS(self)[i] + * else: + */ + (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":233 + * for i in range(ndim): + * info.strides[i] = PyArray_STRIDES(self)[i] + * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< + * else: + * info.strides = PyArray_STRIDES(self) + */ + (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]); + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":226 + * info.buf = PyArray_DATA(self) + * info.ndim = ndim + * if copy_shape: # <<<<<<<<<<<<<< + * # Allocate new buffer for strides and shape info. + * # This is allocated as one block, strides first. + */ + goto __pyx_L11; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":235 + * info.shape[i] = PyArray_DIMS(self)[i] + * else: + * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL + */ + /*else*/ { + __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":236 + * else: + * info.strides = PyArray_STRIDES(self) + * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) + */ + __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self)); + } + __pyx_L11:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":237 + * info.strides = PyArray_STRIDES(self) + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL # <<<<<<<<<<<<<< + * info.itemsize = PyArray_ITEMSIZE(self) + * info.readonly = not PyArray_ISWRITEABLE(self) + */ + __pyx_v_info->suboffsets = NULL; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":238 + * info.shape = PyArray_DIMS(self) + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< + * info.readonly = not PyArray_ISWRITEABLE(self) + * + */ + __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":239 + * info.suboffsets = NULL + * info.itemsize = PyArray_ITEMSIZE(self) + * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< + * + * cdef int t + */ + __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":242 + * + * cdef int t + * cdef char* f = NULL # <<<<<<<<<<<<<< + * cdef dtype descr = self.descr + * cdef int offset + */ + __pyx_v_f = NULL; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":243 + * cdef int t + * cdef char* f = NULL + * cdef dtype descr = self.descr # <<<<<<<<<<<<<< + * cdef int offset + * + */ + __pyx_t_3 = ((PyObject *)__pyx_v_self->descr); + __Pyx_INCREF(__pyx_t_3); + __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":246 + * cdef int offset + * + * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< + * + * if not hasfields and not copy_shape: + */ + __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":248 + * cdef bint hasfields = PyDataType_HASFIELDS(descr) + * + * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< + * # do not call releasebuffer + * info.obj = None + */ + __pyx_t_2 = ((!(__pyx_v_hasfields != 0)) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L15_bool_binop_done; + } + __pyx_t_2 = ((!(__pyx_v_copy_shape != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L15_bool_binop_done:; + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":250 + * if not hasfields and not copy_shape: + * # do not call releasebuffer + * info.obj = None # <<<<<<<<<<<<<< + * else: + * # need to call releasebuffer + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); + __pyx_v_info->obj = Py_None; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":248 + * cdef bint hasfields = PyDataType_HASFIELDS(descr) + * + * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< + * # do not call releasebuffer + * info.obj = None + */ + goto __pyx_L14; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":253 + * else: + * # need to call releasebuffer + * info.obj = self # <<<<<<<<<<<<<< + * + * if not hasfields: + */ + /*else*/ { + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); + __pyx_v_info->obj = ((PyObject *)__pyx_v_self); + } + __pyx_L14:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":255 + * info.obj = self + * + * if not hasfields: # <<<<<<<<<<<<<< + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + */ + __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0); + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":256 + * + * if not hasfields: + * t = descr.type_num # <<<<<<<<<<<<<< + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + */ + __pyx_t_4 = __pyx_v_descr->type_num; + __pyx_v_t = __pyx_t_4; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":257 + * if not hasfields: + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0); + if (!__pyx_t_2) { + goto __pyx_L20_next_or; + } else { + } + __pyx_t_2 = (__pyx_v_little_endian != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L19_bool_binop_done; + } + __pyx_L20_next_or:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" + */ + __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L19_bool_binop_done; + } + __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L19_bool_binop_done:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":257 + * if not hasfields: + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":259 + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 259, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 259, __pyx_L1_error) + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":257 + * if not hasfields: + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":260 + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" + */ + switch (__pyx_v_t) { + case NPY_BYTE: + __pyx_v_f = ((char *)"b"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":261 + * raise ValueError(u"Non-native byte order not supported") + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" + */ + case NPY_UBYTE: + __pyx_v_f = ((char *)"B"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":262 + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" + */ + case NPY_SHORT: + __pyx_v_f = ((char *)"h"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":263 + * elif t == NPY_UBYTE: f = "B" + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" + */ + case NPY_USHORT: + __pyx_v_f = ((char *)"H"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":264 + * elif t == NPY_SHORT: f = "h" + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" + */ + case NPY_INT: + __pyx_v_f = ((char *)"i"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":265 + * elif t == NPY_USHORT: f = "H" + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" + */ + case NPY_UINT: + __pyx_v_f = ((char *)"I"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":266 + * elif t == NPY_INT: f = "i" + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" + */ + case NPY_LONG: + __pyx_v_f = ((char *)"l"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":267 + * elif t == NPY_UINT: f = "I" + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" + */ + case NPY_ULONG: + __pyx_v_f = ((char *)"L"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":268 + * elif t == NPY_LONG: f = "l" + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" + */ + case NPY_LONGLONG: + __pyx_v_f = ((char *)"q"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":269 + * elif t == NPY_ULONG: f = "L" + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" + */ + case NPY_ULONGLONG: + __pyx_v_f = ((char *)"Q"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 + * elif t == NPY_LONGLONG: f = "q" + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" + */ + case NPY_FLOAT: + __pyx_v_f = ((char *)"f"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":271 + * elif t == NPY_ULONGLONG: f = "Q" + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" + */ + case NPY_DOUBLE: + __pyx_v_f = ((char *)"d"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 + * elif t == NPY_FLOAT: f = "f" + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" + */ + case NPY_LONGDOUBLE: + __pyx_v_f = ((char *)"g"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":273 + * elif t == NPY_DOUBLE: f = "d" + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" + */ + case NPY_CFLOAT: + __pyx_v_f = ((char *)"Zf"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 + * elif t == NPY_LONGDOUBLE: f = "g" + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< + * elif t == NPY_CLONGDOUBLE: f = "Zg" + * elif t == NPY_OBJECT: f = "O" + */ + case NPY_CDOUBLE: + __pyx_v_f = ((char *)"Zd"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":275 + * elif t == NPY_CFLOAT: f = "Zf" + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< + * elif t == NPY_OBJECT: f = "O" + * else: + */ + case NPY_CLONGDOUBLE: + __pyx_v_f = ((char *)"Zg"); + break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 + * elif t == NPY_CDOUBLE: f = "Zd" + * elif t == NPY_CLONGDOUBLE: f = "Zg" + * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + */ + case NPY_OBJECT: + __pyx_v_f = ((char *)"O"); + break; + default: + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":278 + * elif t == NPY_OBJECT: f = "O" + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * info.format = f + * return + */ + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __PYX_ERR(1, 278, __pyx_L1_error) + break; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":279 + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * info.format = f # <<<<<<<<<<<<<< + * return + * else: + */ + __pyx_v_info->format = __pyx_v_f; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * info.format = f + * return # <<<<<<<<<<<<<< + * else: + * info.format = stdlib.malloc(_buffer_format_string_len) + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":255 + * info.obj = self + * + * if not hasfields: # <<<<<<<<<<<<<< + * t = descr.type_num + * if ((descr.byteorder == c'>' and little_endian) or + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":282 + * return + * else: + * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 + */ + /*else*/ { + __pyx_v_info->format = ((char *)malloc(0xFF)); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":283 + * else: + * info.format = stdlib.malloc(_buffer_format_string_len) + * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< + * offset = 0 + * f = _util_dtypestring(descr, info.format + 1, + */ + (__pyx_v_info->format[0]) = '^'; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":284 + * info.format = stdlib.malloc(_buffer_format_string_len) + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 # <<<<<<<<<<<<<< + * f = _util_dtypestring(descr, info.format + 1, + * info.format + _buffer_format_string_len, + */ + __pyx_v_offset = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":285 + * info.format[0] = c'^' # Native data types, manual alignment + * offset = 0 + * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< + * info.format + _buffer_format_string_len, + * &offset) + */ + __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) __PYX_ERR(1, 285, __pyx_L1_error) + __pyx_v_f = __pyx_t_7; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":288 + * info.format + _buffer_format_string_len, + * &offset) + * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + */ + (__pyx_v_f[0]) = '\x00'; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":197 + * # experimental exception made for __getbuffer__ and __releasebuffer__ + * # -- the details of this may change. + * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< + * # This implementation of getbuffer is geared towards Cython + * # requirements, and does not yet fullfill the PEP. + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) { + __Pyx_GOTREF(__pyx_v_info->obj); + __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL; + } + goto __pyx_L2; + __pyx_L0:; + if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) { + __Pyx_GOTREF(Py_None); + __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL; + } + __pyx_L2:; + __Pyx_XDECREF((PyObject *)__pyx_v_descr); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":290 + * f[0] = c'\0' # Terminate format string + * + * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< + * if PyArray_HASFIELDS(self): + * stdlib.free(info.format) + */ + +/* Python wrapper */ +static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ +static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0); + __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) { + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("__releasebuffer__", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":291 + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< + * stdlib.free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":292 + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): + * stdlib.free(info.format) # <<<<<<<<<<<<<< + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * stdlib.free(info.strides) + */ + free(__pyx_v_info->format); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":291 + * + * def __releasebuffer__(ndarray self, Py_buffer* info): + * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< + * stdlib.free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":293 + * if PyArray_HASFIELDS(self): + * stdlib.free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * stdlib.free(info.strides) + * # info.shape was stored after info.strides in the same block + */ + __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":294 + * stdlib.free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * stdlib.free(info.strides) # <<<<<<<<<<<<<< + * # info.shape was stored after info.strides in the same block + * + */ + free(__pyx_v_info->strides); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":293 + * if PyArray_HASFIELDS(self): + * stdlib.free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< + * stdlib.free(info.strides) + * # info.shape was stored after info.strides in the same block + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":290 + * f[0] = c'\0' # Terminate format string + * + * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< + * if PyArray_HASFIELDS(self): + * stdlib.free(info.format) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":770 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":771 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 771, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":770 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":773 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":774 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 774, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":773 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":776 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":777 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 777, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":776 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":779 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":780 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 780, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":779 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":782 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":783 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 783, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":782 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":785 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< + * # Recursive utility function used in __getbuffer__ to get format + * # string. The new location in the format string is returned. + */ + +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { + PyArray_Descr *__pyx_v_child = 0; + int __pyx_v_endian_detector; + int __pyx_v_little_endian; + PyObject *__pyx_v_fields = 0; + PyObject *__pyx_v_childname = NULL; + PyObject *__pyx_v_new_offset = NULL; + PyObject *__pyx_v_t = NULL; + char *__pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + int __pyx_t_7; + long __pyx_t_8; + char *__pyx_t_9; + __Pyx_RefNannySetupContext("_util_dtypestring", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":790 + * + * cdef dtype child + * cdef int endian_detector = 1 # <<<<<<<<<<<<<< + * cdef bint little_endian = ((&endian_detector)[0] != 0) + * cdef tuple fields + */ + __pyx_v_endian_detector = 1; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":791 + * cdef dtype child + * cdef int endian_detector = 1 + * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * cdef tuple fields + * + */ + __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":794 + * cdef tuple fields + * + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields + */ + if (unlikely(__pyx_v_descr->names == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(1, 794, __pyx_L1_error) + } + __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_COMPILING_IN_CPYTHON + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 794, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 794, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); + __pyx_t_3 = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":795 + * + * for childname in descr.names: + * fields = descr.fields[childname] # <<<<<<<<<<<<<< + * child, new_offset = fields + * + */ + if (unlikely(__pyx_v_descr->fields == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 795, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 795, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 795, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":796 + * for childname in descr.names: + * fields = descr.fields[childname] + * child, new_offset = fields # <<<<<<<<<<<<<< + * + * if (end - f) - (new_offset - offset[0]) < 15: + */ + if (likely(__pyx_v_fields != Py_None)) { + PyObject* sequence = __pyx_v_fields; + #if CYTHON_COMPILING_IN_CPYTHON + Py_ssize_t size = Py_SIZE(sequence); + #else + Py_ssize_t size = PySequence_Size(sequence); + #endif + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(1, 796, __pyx_L1_error) + } + #if CYTHON_COMPILING_IN_CPYTHON + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 796, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 796, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 796, __pyx_L1_error) + } + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 796, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3)); + __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); + __pyx_t_4 = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":798 + * child, new_offset = fields + * + * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + */ + __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 798, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); + if (__pyx_t_6) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":799 + * + * if (end - f) - (new_offset - offset[0]) < 15: + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * + * if ((child.byteorder == c'>' and little_endian) or + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 799, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 799, __pyx_L1_error) + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":798 + * child, new_offset = fields + * + * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":801 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0); + if (!__pyx_t_7) { + goto __pyx_L8_next_or; + } else { + } + __pyx_t_7 = (__pyx_v_little_endian != 0); + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_L8_next_or:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":802 + * + * if ((child.byteorder == c'>' and little_endian) or + * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") + * # One could encode it in the format string and have Cython + */ + __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0); + if (__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0); + __pyx_t_6 = __pyx_t_7; + __pyx_L7_bool_binop_done:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":801 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + if (__pyx_t_6) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":803 + * if ((child.byteorder == c'>' and little_endian) or + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * # One could encode it in the format string and have Cython + * # complain instead, BUT: < and > in format strings also imply + */ + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 803, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 803, __pyx_L1_error) + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":801 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") + * + * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":813 + * + * # Output padding bytes + * while offset[0] < new_offset: # <<<<<<<<<<<<<< + * f[0] = 120 # "x"; pad byte + * f += 1 + */ + while (1) { + __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 813, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 813, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 813, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_6) break; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":814 + * # Output padding bytes + * while offset[0] < new_offset: + * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< + * f += 1 + * offset[0] += 1 + */ + (__pyx_v_f[0]) = 0x78; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":815 + * while offset[0] < new_offset: + * f[0] = 120 # "x"; pad byte + * f += 1 # <<<<<<<<<<<<<< + * offset[0] += 1 + * + */ + __pyx_v_f = (__pyx_v_f + 1); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":816 + * f[0] = 120 # "x"; pad byte + * f += 1 + * offset[0] += 1 # <<<<<<<<<<<<<< + * + * offset[0] += child.itemsize + */ + __pyx_t_8 = 0; + (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":818 + * offset[0] += 1 + * + * offset[0] += child.itemsize # <<<<<<<<<<<<<< + * + * if not PyDataType_HASFIELDS(child): + */ + __pyx_t_8 = 0; + (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 + * offset[0] += child.itemsize + * + * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< + * t = child.type_num + * if end - f < 5: + */ + __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); + if (__pyx_t_6) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":821 + * + * if not PyDataType_HASFIELDS(child): + * t = child.type_num # <<<<<<<<<<<<<< + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") + */ + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 821, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); + __pyx_t_4 = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":822 + * if not PyDataType_HASFIELDS(child): + * t = child.type_num + * if end - f < 5: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") + * + */ + __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); + if (__pyx_t_6) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 + * t = child.type_num + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< + * + * # Until ticket #99 is fixed, use integers to avoid warnings + */ + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 823, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 823, __pyx_L1_error) + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":822 + * if not PyDataType_HASFIELDS(child): + * t = child.type_num + * if end - f < 5: # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") + * + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 + * + * # Until ticket #99 is fixed, use integers to avoid warnings + * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 826, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 826, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 826, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 98; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":827 + * # Until ticket #99 is fixed, use integers to avoid warnings + * if t == NPY_BYTE: f[0] = 98 #"b" + * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 827, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 827, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 827, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 66; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":828 + * if t == NPY_BYTE: f[0] = 98 #"b" + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 828, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 828, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 828, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x68; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 + * elif t == NPY_UBYTE: f[0] = 66 #"B" + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 829, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 829, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 829, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 72; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":830 + * elif t == NPY_SHORT: f[0] = 104 #"h" + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 830, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 830, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 830, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x69; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":831 + * elif t == NPY_USHORT: f[0] = 72 #"H" + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 831, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 831, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 831, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 73; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 + * elif t == NPY_INT: f[0] = 105 #"i" + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 832, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 832, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 832, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x6C; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":833 + * elif t == NPY_UINT: f[0] = 73 #"I" + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 833, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 833, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 833, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 76; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":834 + * elif t == NPY_LONG: f[0] = 108 #"l" + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 834, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 834, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 834, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x71; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 + * elif t == NPY_ULONG: f[0] = 76 #"L" + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 835, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 835, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 835, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 81; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 + * elif t == NPY_LONGLONG: f[0] = 113 #"q" + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 836, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 836, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 836, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x66; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":837 + * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 837, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 837, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 837, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x64; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":838 + * elif t == NPY_FLOAT: f[0] = 102 #"f" + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 838, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 838, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 838, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 0x67; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":839 + * elif t == NPY_DOUBLE: f[0] = 100 #"d" + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 839, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 839, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 839, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x66; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":840 + * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + * elif t == NPY_OBJECT: f[0] = 79 #"O" + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 840, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 840, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 840, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x64; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 + * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< + * elif t == NPY_OBJECT: f[0] = 79 #"O" + * else: + */ + __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 841, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 841, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 841, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 90; + (__pyx_v_f[1]) = 0x67; + __pyx_v_f = (__pyx_v_f + 1); + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":842 + * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd + * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg + * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + */ + __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 842, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 842, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 842, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + (__pyx_v_f[0]) = 79; + goto __pyx_L15; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":844 + * elif t == NPY_OBJECT: f[0] = 79 #"O" + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * f += 1 + * else: + */ + /*else*/ { + __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 844, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 844, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 844, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 844, __pyx_L1_error) + } + __pyx_L15:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":845 + * else: + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) + * f += 1 # <<<<<<<<<<<<<< + * else: + * # Cython ignores struct boundary information ("T{...}"), + */ + __pyx_v_f = (__pyx_v_f + 1); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 + * offset[0] += child.itemsize + * + * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< + * t = child.type_num + * if end - f < 5: + */ + goto __pyx_L13; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":849 + * # Cython ignores struct boundary information ("T{...}"), + * # so don't output it + * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< + * return f + * + */ + /*else*/ { + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) __PYX_ERR(1, 849, __pyx_L1_error) + __pyx_v_f = __pyx_t_9; + } + __pyx_L13:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":794 + * cdef tuple fields + * + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 + * # so don't output it + * f = _util_dtypestring(child, f, end, offset) + * return f # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_v_f; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":785 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< + * # Recursive utility function used in __getbuffer__ to get format + * # string. The new location in the format string is returned. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_child); + __Pyx_XDECREF(__pyx_v_fields); + __Pyx_XDECREF(__pyx_v_childname); + __Pyx_XDECREF(__pyx_v_new_offset); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":966 + * + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * cdef PyObject* baseptr + * if base is None: + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + PyObject *__pyx_v_baseptr; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + __Pyx_RefNannySetupContext("set_array_base", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":968 + * cdef inline void set_array_base(ndarray arr, object base): + * cdef PyObject* baseptr + * if base is None: # <<<<<<<<<<<<<< + * baseptr = NULL + * else: + */ + __pyx_t_1 = (__pyx_v_base == Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":969 + * cdef PyObject* baseptr + * if base is None: + * baseptr = NULL # <<<<<<<<<<<<<< + * else: + * Py_INCREF(base) # important to do this before decref below! + */ + __pyx_v_baseptr = NULL; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":968 + * cdef inline void set_array_base(ndarray arr, object base): + * cdef PyObject* baseptr + * if base is None: # <<<<<<<<<<<<<< + * baseptr = NULL + * else: + */ + goto __pyx_L3; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":971 + * baseptr = NULL + * else: + * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< + * baseptr = base + * Py_XDECREF(arr.base) + */ + /*else*/ { + Py_INCREF(__pyx_v_base); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":972 + * else: + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base # <<<<<<<<<<<<<< + * Py_XDECREF(arr.base) + * arr.base = baseptr + */ + __pyx_v_baseptr = ((PyObject *)__pyx_v_base); + } + __pyx_L3:; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":973 + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base + * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< + * arr.base = baseptr + * + */ + Py_XDECREF(__pyx_v_arr->base); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":974 + * baseptr = base + * Py_XDECREF(arr.base) + * arr.base = baseptr # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + __pyx_v_arr->base = __pyx_v_baseptr; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":966 + * + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * cdef PyObject* baseptr + * if base is None: + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":976 + * arr.base = baseptr + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * if arr.base is NULL: + * return None + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base", 0); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":977 + * + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: # <<<<<<<<<<<<<< + * return None + * else: + */ + __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0); + if (__pyx_t_1) { + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":978 + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: + * return None # <<<<<<<<<<<<<< + * else: + * return arr.base + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":977 + * + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: # <<<<<<<<<<<<<< + * return None + * else: + */ + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":980 + * return None + * else: + * return arr.base # <<<<<<<<<<<<<< + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_arr->base)); + __pyx_r = ((PyObject *)__pyx_v_arr->base); + goto __pyx_L0; + } + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":976 + * arr.base = baseptr + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * if arr.base is NULL: + * return None + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +static struct PyModuleDef __pyx_moduledef = { + #if PY_VERSION_HEX < 0x03020000 + { PyObject_HEAD_INIT(NULL) NULL, 0, NULL }, + #else + PyModuleDef_HEAD_INIT, + #endif + "gpu_nms", + 0, /* m_doc */ + -1, /* m_size */ + __pyx_methods /* m_methods */, + NULL, /* m_reload */ + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_s_D_v_zix_caffe_caffe_win_20160523, __pyx_k_D_v_zix_caffe_caffe_win_20160523, sizeof(__pyx_k_D_v_zix_caffe_caffe_win_20160523), 0, 0, 1, 0}, + {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, + {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, + {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0}, + {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, + {&__pyx_n_s_argsort, __pyx_k_argsort, sizeof(__pyx_k_argsort), 0, 0, 1, 1}, + {&__pyx_n_s_boxes_dim, __pyx_k_boxes_dim, sizeof(__pyx_k_boxes_dim), 0, 0, 1, 1}, + {&__pyx_n_s_boxes_num, __pyx_k_boxes_num, sizeof(__pyx_k_boxes_num), 0, 0, 1, 1}, + {&__pyx_n_s_dets, __pyx_k_dets, sizeof(__pyx_k_dets), 0, 0, 1, 1}, + {&__pyx_n_s_device_id, __pyx_k_device_id, sizeof(__pyx_k_device_id), 0, 0, 1, 1}, + {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, + {&__pyx_n_s_gpu_nms, __pyx_k_gpu_nms, sizeof(__pyx_k_gpu_nms), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_int32, __pyx_k_int32, sizeof(__pyx_k_int32), 0, 0, 1, 1}, + {&__pyx_n_s_keep, __pyx_k_keep, sizeof(__pyx_k_keep), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0}, + {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0}, + {&__pyx_n_s_nms_gpu_nms, __pyx_k_nms_gpu_nms, sizeof(__pyx_k_nms_gpu_nms), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_num_out, __pyx_k_num_out, sizeof(__pyx_k_num_out), 0, 0, 1, 1}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_n_s_order, __pyx_k_order, sizeof(__pyx_k_order), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_scores, __pyx_k_scores, sizeof(__pyx_k_scores), 0, 0, 1, 1}, + {&__pyx_n_s_sorted_dets, __pyx_k_sorted_dets, sizeof(__pyx_k_sorted_dets), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_thresh, __pyx_k_thresh, sizeof(__pyx_k_thresh), 0, 0, 1, 1}, + {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0}, + {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 218, __pyx_L1_error) + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 231, __pyx_L1_error) + __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 799, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "nms/gpu_nms.pyx":24 + * keep = np.zeros(boxes_num, dtype=np.int32) + * cdef np.ndarray[np.float32_t, ndim=1] \ + * scores = dets[:, 4] # <<<<<<<<<<<<<< + * #cdef np.ndarray[np.int_t, ndim=1] \ // 20160601, by xzn + * # order = scores.argsort()[::-1] + */ + __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice_); + __Pyx_GIVEREF(__pyx_slice_); + __pyx_tuple__2 = PyTuple_Pack(2, __pyx_slice_, __pyx_int_4); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "nms/gpu_nms.pyx":28 + * # order = scores.argsort()[::-1] + * cdef np.ndarray[np.intp_t, ndim=1] \ + * order = scores.argsort()[::-1] # <<<<<<<<<<<<<< + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] + */ + __pyx_slice__3 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__3)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__3); + __Pyx_GIVEREF(__pyx_slice__3); + + /* "nms/gpu_nms.pyx":30 + * order = scores.argsort()[::-1] + * cdef np.ndarray[np.float32_t, ndim=2] \ + * sorted_dets = dets[order, :] # <<<<<<<<<<<<<< + * _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + * keep = keep[:num_out] + */ + __pyx_slice__4 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__4)) __PYX_ERR(0, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__4); + __Pyx_GIVEREF(__pyx_slice__4); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":218 + * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< + * + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + */ + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 218, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":222 + * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) + * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * + * info.buf = PyArray_DATA(self) + */ + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":259 + * if ((descr.byteorder == c'>' and little_endian) or + * (descr.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * if t == NPY_BYTE: f = "b" + * elif t == NPY_UBYTE: f = "B" + */ + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 259, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":799 + * + * if (end - f) - (new_offset - offset[0]) < 15: + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * + * if ((child.byteorder == c'>' and little_endian) or + */ + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 799, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":803 + * if ((child.byteorder == c'>' and little_endian) or + * (child.byteorder == c'<' and not little_endian)): + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< + * # One could encode it in the format string and have Cython + * # complain instead, BUT: < and > in format strings also imply + */ + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 803, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 + * t = child.type_num + * if end - f < 5: + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< + * + * # Until ticket #99 is fixed, use integers to avoid warnings + */ + __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(1, 823, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); + + /* "nms/gpu_nms.pyx":16 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + __pyx_tuple__11 = PyTuple_Pack(10, __pyx_n_s_dets, __pyx_n_s_thresh, __pyx_n_s_device_id, __pyx_n_s_boxes_num, __pyx_n_s_boxes_dim, __pyx_n_s_num_out, __pyx_n_s_keep, __pyx_n_s_scores, __pyx_n_s_order, __pyx_n_s_sorted_dets); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__11); + __Pyx_GIVEREF(__pyx_tuple__11); + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_D_v_zix_caffe_caffe_win_20160523, __pyx_n_s_gpu_nms, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +#if PY_MAJOR_VERSION < 3 +PyMODINIT_FUNC initgpu_nms(void); /*proto*/ +PyMODINIT_FUNC initgpu_nms(void) +#else +PyMODINIT_FUNC PyInit_gpu_nms(void); /*proto*/ +PyMODINIT_FUNC PyInit_gpu_nms(void) +#endif +{ + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannyDeclarations + #if CYTHON_REFNANNY + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); + if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); + } + #endif + __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_gpu_nms(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("gpu_nms", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_nms__gpu_nms) { + if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "nms.gpu_nms")) { + if (unlikely(PyDict_SetItemString(modules, "nms.gpu_nms", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global init code ---*/ + /*--- Variable export code ---*/ + /*--- Function export code ---*/ + /*--- Type init code ---*/ + /*--- Type import code ---*/ + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type", + #if CYTHON_COMPILING_IN_PYPY + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + 0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) __PYX_ERR(1, 155, __pyx_L1_error) + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) __PYX_ERR(1, 168, __pyx_L1_error) + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) __PYX_ERR(1, 172, __pyx_L1_error) + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) __PYX_ERR(1, 181, __pyx_L1_error) + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) __PYX_ERR(1, 861, __pyx_L1_error) + /*--- Variable import code ---*/ + /*--- Function import code ---*/ + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "nms/gpu_nms.pyx":8 + * # -------------------------------------------------------- + * + * import numpy as np # <<<<<<<<<<<<<< + * cimport numpy as np + * + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "nms/gpu_nms.pyx":11 + * cimport numpy as np + * + * assert sizeof(int) == sizeof(np.int32_t) # <<<<<<<<<<<<<< + * + * cdef extern from "gpu_nms.hpp": + */ + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!(((sizeof(int)) == (sizeof(__pyx_t_5numpy_int32_t))) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 11, __pyx_L1_error) + } + } + #endif + + /* "nms/gpu_nms.pyx":16 + * void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + * + * def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, # <<<<<<<<<<<<<< + * np.int32_t device_id=0): + * cdef int boxes_num = dets.shape[0] + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_3nms_7gpu_nms_1gpu_nms, NULL, __pyx_n_s_nms_gpu_nms); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_gpu_nms, __pyx_t_1) < 0) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "nms/gpu_nms.pyx":1 + * # -------------------------------------------------------- # <<<<<<<<<<<<<< + * # Faster R-CNN + * # Copyright (c) 2015 Microsoft + */ + __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "C:/Anaconda2/lib/site-packages/Cython/Includes/numpy/__init__.pxd":976 + * arr.base = baseptr + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * if arr.base is NULL: + * return None + */ + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init nms.gpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_DECREF(__pyx_m); __pyx_m = 0; + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init nms.gpu_nms"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if PY_MAJOR_VERSION < 3 + return; + #else + return __pyx_m; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule((char *)modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) { + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); +} +static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, + const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (none_allowed && obj == Py_None) return 1; + else if (exact) { + if (likely(Py_TYPE(obj) == type)) return 1; + #if PY_MAJOR_VERSION == 2 + else if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(PyObject_TypeCheck(obj, type))) return 1; + } + __Pyx_RaiseArgumentTypeInvalid(name, obj, type); + return 0; +} + +/* BufferFormatCheck */ +static CYTHON_INLINE int __Pyx_IsLittleEndian(void) { + unsigned int n = 1; + return *(unsigned char*)(&n) != 0; +} +static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx, + __Pyx_BufFmt_StackElem* stack, + __Pyx_TypeInfo* type) { + stack[0].field = &ctx->root; + stack[0].parent_offset = 0; + ctx->root.type = type; + ctx->root.name = "buffer dtype"; + ctx->root.offset = 0; + ctx->head = stack; + ctx->head->field = &ctx->root; + ctx->fmt_offset = 0; + ctx->head->parent_offset = 0; + ctx->new_packmode = '@'; + ctx->enc_packmode = '@'; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->is_complex = 0; + ctx->is_valid_array = 0; + ctx->struct_alignment = 0; + while (type->typegroup == 'S') { + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = 0; + type = type->fields->type; + } +} +static int __Pyx_BufFmt_ParseNumber(const char** ts) { + int count; + const char* t = *ts; + if (*t < '0' || *t > '9') { + return -1; + } else { + count = *t++ - '0'; + while (*t >= '0' && *t < '9') { + count *= 10; + count += *t++ - '0'; + } + } + *ts = t; + return count; +} +static int __Pyx_BufFmt_ExpectNumber(const char **ts) { + int number = __Pyx_BufFmt_ParseNumber(ts); + if (number == -1) + PyErr_Format(PyExc_ValueError,\ + "Does not understand character buffer dtype format string ('%c')", **ts); + return number; +} +static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) { + PyErr_Format(PyExc_ValueError, + "Unexpected format string character: '%c'", ch); +} +static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) { + switch (ch) { + case 'c': return "'char'"; + case 'b': return "'signed char'"; + case 'B': return "'unsigned char'"; + case 'h': return "'short'"; + case 'H': return "'unsigned short'"; + case 'i': return "'int'"; + case 'I': return "'unsigned int'"; + case 'l': return "'long'"; + case 'L': return "'unsigned long'"; + case 'q': return "'long long'"; + case 'Q': return "'unsigned long long'"; + case 'f': return (is_complex ? "'complex float'" : "'float'"); + case 'd': return (is_complex ? "'complex double'" : "'double'"); + case 'g': return (is_complex ? "'complex long double'" : "'long double'"); + case 'T': return "a struct"; + case 'O': return "Python object"; + case 'P': return "a pointer"; + case 's': case 'p': return "a string"; + case 0: return "end"; + default: return "unparseable format string"; + } +} +static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return 2; + case 'i': case 'I': case 'l': case 'L': return 4; + case 'q': case 'Q': return 8; + case 'f': return (is_complex ? 8 : 4); + case 'd': return (is_complex ? 16 : 8); + case 'g': { + PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g').."); + return 0; + } + case 'O': case 'P': return sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) { + switch (ch) { + case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(short); + case 'i': case 'I': return sizeof(int); + case 'l': case 'L': return sizeof(long); + #ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(PY_LONG_LONG); + #endif + case 'f': return sizeof(float) * (is_complex ? 2 : 1); + case 'd': return sizeof(double) * (is_complex ? 2 : 1); + case 'g': return sizeof(long double) * (is_complex ? 2 : 1); + case 'O': case 'P': return sizeof(void*); + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +typedef struct { char c; short x; } __Pyx_st_short; +typedef struct { char c; int x; } __Pyx_st_int; +typedef struct { char c; long x; } __Pyx_st_long; +typedef struct { char c; float x; } __Pyx_st_float; +typedef struct { char c; double x; } __Pyx_st_double; +typedef struct { char c; long double x; } __Pyx_st_longdouble; +typedef struct { char c; void *x; } __Pyx_st_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_st_float) - sizeof(float); + case 'd': return sizeof(__Pyx_st_double) - sizeof(double); + case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +/* These are for computing the padding at the end of the struct to align + on the first member of the struct. This will probably the same as above, + but we don't have any guarantees. + */ +typedef struct { short x; char c; } __Pyx_pad_short; +typedef struct { int x; char c; } __Pyx_pad_int; +typedef struct { long x; char c; } __Pyx_pad_long; +typedef struct { float x; char c; } __Pyx_pad_float; +typedef struct { double x; char c; } __Pyx_pad_double; +typedef struct { long double x; char c; } __Pyx_pad_longdouble; +typedef struct { void *x; char c; } __Pyx_pad_void_p; +#ifdef HAVE_LONG_LONG +typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong; +#endif +static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) { + switch (ch) { + case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1; + case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short); + case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int); + case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long); +#ifdef HAVE_LONG_LONG + case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG); +#endif + case 'f': return sizeof(__Pyx_pad_float) - sizeof(float); + case 'd': return sizeof(__Pyx_pad_double) - sizeof(double); + case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double); + case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*); + default: + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } +} +static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) { + switch (ch) { + case 'c': + return 'H'; + case 'b': case 'h': case 'i': + case 'l': case 'q': case 's': case 'p': + return 'I'; + case 'B': case 'H': case 'I': case 'L': case 'Q': + return 'U'; + case 'f': case 'd': case 'g': + return (is_complex ? 'C' : 'R'); + case 'O': + return 'O'; + case 'P': + return 'P'; + default: { + __Pyx_BufFmt_RaiseUnexpectedChar(ch); + return 0; + } + } +} +static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) { + if (ctx->head == NULL || ctx->head->field == &ctx->root) { + const char* expected; + const char* quote; + if (ctx->head == NULL) { + expected = "end"; + quote = ""; + } else { + expected = ctx->head->field->type->name; + quote = "'"; + } + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected %s%s%s but got %s", + quote, expected, quote, + __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex)); + } else { + __Pyx_StructField* field = ctx->head->field; + __Pyx_StructField* parent = (ctx->head - 1)->field; + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'", + field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex), + parent->type->name, field->name); + } +} +static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) { + char group; + size_t size, offset, arraysize = 1; + if (ctx->enc_type == 0) return 0; + if (ctx->head->field->type->arraysize[0]) { + int i, ndim = 0; + if (ctx->enc_type == 's' || ctx->enc_type == 'p') { + ctx->is_valid_array = ctx->head->field->type->ndim == 1; + ndim = 1; + if (ctx->enc_count != ctx->head->field->type->arraysize[0]) { + PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %zu", + ctx->head->field->type->arraysize[0], ctx->enc_count); + return -1; + } + } + if (!ctx->is_valid_array) { + PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d", + ctx->head->field->type->ndim, ndim); + return -1; + } + for (i = 0; i < ctx->head->field->type->ndim; i++) { + arraysize *= ctx->head->field->type->arraysize[i]; + } + ctx->is_valid_array = 0; + ctx->enc_count = 1; + } + group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex); + do { + __Pyx_StructField* field = ctx->head->field; + __Pyx_TypeInfo* type = field->type; + if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') { + size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex); + } else { + size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex); + } + if (ctx->enc_packmode == '@') { + size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex); + size_t align_mod_offset; + if (align_at == 0) return -1; + align_mod_offset = ctx->fmt_offset % align_at; + if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset; + if (ctx->struct_alignment == 0) + ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type, + ctx->is_complex); + } + if (type->size != size || type->typegroup != group) { + if (type->typegroup == 'C' && type->fields != NULL) { + size_t parent_offset = ctx->head->parent_offset + field->offset; + ++ctx->head; + ctx->head->field = type->fields; + ctx->head->parent_offset = parent_offset; + continue; + } + if ((type->typegroup == 'H' || group == 'H') && type->size == size) { + } else { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + } + offset = ctx->head->parent_offset + field->offset; + if (ctx->fmt_offset != offset) { + PyErr_Format(PyExc_ValueError, + "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected", + (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset); + return -1; + } + ctx->fmt_offset += size; + if (arraysize) + ctx->fmt_offset += (arraysize - 1) * size; + --ctx->enc_count; + while (1) { + if (field == &ctx->root) { + ctx->head = NULL; + if (ctx->enc_count != 0) { + __Pyx_BufFmt_RaiseExpected(ctx); + return -1; + } + break; + } + ctx->head->field = ++field; + if (field->type == NULL) { + --ctx->head; + field = ctx->head->field; + continue; + } else if (field->type->typegroup == 'S') { + size_t parent_offset = ctx->head->parent_offset + field->offset; + if (field->type->fields->type == NULL) continue; + field = field->type->fields; + ++ctx->head; + ctx->head->field = field; + ctx->head->parent_offset = parent_offset; + break; + } else { + break; + } + } + } while (ctx->enc_count); + ctx->enc_type = 0; + ctx->is_complex = 0; + return 0; +} +static CYTHON_INLINE PyObject * +__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp) +{ + const char *ts = *tsp; + int i = 0, number; + int ndim = ctx->head->field->type->ndim; +; + ++ts; + if (ctx->new_count != 1) { + PyErr_SetString(PyExc_ValueError, + "Cannot handle repeated arrays in format string"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + while (*ts && *ts != ')') { + switch (*ts) { + case ' ': case '\f': case '\r': case '\n': case '\t': case '\v': continue; + default: break; + } + number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) + return PyErr_Format(PyExc_ValueError, + "Expected a dimension of size %zu, got %d", + ctx->head->field->type->arraysize[i], number); + if (*ts != ',' && *ts != ')') + return PyErr_Format(PyExc_ValueError, + "Expected a comma in format string, got '%c'", *ts); + if (*ts == ',') ts++; + i++; + } + if (i != ndim) + return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d", + ctx->head->field->type->ndim, i); + if (!*ts) { + PyErr_SetString(PyExc_ValueError, + "Unexpected end of format string, expected ')'"); + return NULL; + } + ctx->is_valid_array = 1; + ctx->new_count = 1; + *tsp = ++ts; + return Py_None; +} +static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) { + int got_Z = 0; + while (1) { + switch(*ts) { + case 0: + if (ctx->enc_type != 0 && ctx->head == NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + if (ctx->head != NULL) { + __Pyx_BufFmt_RaiseExpected(ctx); + return NULL; + } + return ts; + case ' ': + case '\r': + case '\n': + ++ts; + break; + case '<': + if (!__Pyx_IsLittleEndian()) { + PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '>': + case '!': + if (__Pyx_IsLittleEndian()) { + PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler"); + return NULL; + } + ctx->new_packmode = '='; + ++ts; + break; + case '=': + case '@': + case '^': + ctx->new_packmode = *ts++; + break; + case 'T': + { + const char* ts_after_sub; + size_t i, struct_count = ctx->new_count; + size_t struct_alignment = ctx->struct_alignment; + ctx->new_count = 1; + ++ts; + if (*ts != '{') { + PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'"); + return NULL; + } + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + ctx->enc_count = 0; + ctx->struct_alignment = 0; + ++ts; + ts_after_sub = ts; + for (i = 0; i != struct_count; ++i) { + ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts); + if (!ts_after_sub) return NULL; + } + ts = ts_after_sub; + if (struct_alignment) ctx->struct_alignment = struct_alignment; + } + break; + case '}': + { + size_t alignment = ctx->struct_alignment; + ++ts; + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_type = 0; + if (alignment && ctx->fmt_offset % alignment) { + ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment); + } + } + return ts; + case 'x': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->fmt_offset += ctx->new_count; + ctx->new_count = 1; + ctx->enc_count = 0; + ctx->enc_type = 0; + ctx->enc_packmode = ctx->new_packmode; + ++ts; + break; + case 'Z': + got_Z = 1; + ++ts; + if (*ts != 'f' && *ts != 'd' && *ts != 'g') { + __Pyx_BufFmt_RaiseUnexpectedChar('Z'); + return NULL; + } + case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I': + case 'l': case 'L': case 'q': case 'Q': + case 'f': case 'd': case 'g': + case 'O': case 'p': + if (ctx->enc_type == *ts && got_Z == ctx->is_complex && + ctx->enc_packmode == ctx->new_packmode) { + ctx->enc_count += ctx->new_count; + ctx->new_count = 1; + got_Z = 0; + ++ts; + break; + } + case 's': + if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; + ctx->enc_count = ctx->new_count; + ctx->enc_packmode = ctx->new_packmode; + ctx->enc_type = *ts; + ctx->is_complex = got_Z; + ++ts; + ctx->new_count = 1; + got_Z = 0; + break; + case ':': + ++ts; + while(*ts != ':') ++ts; + ++ts; + break; + case '(': + if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL; + break; + default: + { + int number = __Pyx_BufFmt_ExpectNumber(&ts); + if (number == -1) return NULL; + ctx->new_count = (size_t)number; + } + } + } +} +static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) { + buf->buf = NULL; + buf->obj = NULL; + buf->strides = __Pyx_zeros; + buf->shape = __Pyx_zeros; + buf->suboffsets = __Pyx_minusones; +} +static CYTHON_INLINE int __Pyx_GetBufferAndValidate( + Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, + int nd, int cast, __Pyx_BufFmt_StackElem* stack) +{ + if (obj == Py_None || obj == NULL) { + __Pyx_ZeroBuffer(buf); + return 0; + } + buf->buf = NULL; + if (__Pyx_GetBuffer(obj, buf, flags) == -1) goto fail; + if (buf->ndim != nd) { + PyErr_Format(PyExc_ValueError, + "Buffer has wrong number of dimensions (expected %d, got %d)", + nd, buf->ndim); + goto fail; + } + if (!cast) { + __Pyx_BufFmt_Context ctx; + __Pyx_BufFmt_Init(&ctx, stack, dtype); + if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail; + } + if ((unsigned)buf->itemsize != dtype->size) { + PyErr_Format(PyExc_ValueError, + "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)", + buf->itemsize, (buf->itemsize > 1) ? "s" : "", + dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : ""); + goto fail; + } + if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones; + return 0; +fail:; + __Pyx_ZeroBuffer(buf); + return -1; +} +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { + if (info->buf == NULL) return; + if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; + __Pyx_ReleaseBuffer(info); +} + +/* GetBuiltinName */ + static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* GetModuleGlobalName */ + static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON + result = PyDict_GetItem(__pyx_d, name); + if (likely(result)) { + Py_INCREF(result); + } else { +#else + result = PyObject_GetItem(__pyx_d, name); + if (!result) { + PyErr_Clear(); +#endif + result = __Pyx_GetBuiltinName(name); + } + return result; +} + +/* PyObjectCall */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* ExtTypeTest */ + static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(PyObject_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* PyObjectCallMethO */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ + #if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) { +#else + if (likely(PyCFunction_Check(func))) { +#endif + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectCallNoArg */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) { +#else + if (likely(PyCFunction_Check(func))) { +#endif + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* BufferIndexError */ + static void __Pyx_RaiseBufferIndexError(int axis) { + PyErr_Format(PyExc_IndexError, + "Out of bounds on buffer access (axis %d)", axis); +} + +/* SliceObject */ + static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_COMPILING_IN_CPYTHON + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_COMPILING_IN_CPYTHON + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* BufferFallbackError */ + static void __Pyx_RaiseBufferFallbackError(void) { + PyErr_SetString(PyExc_ValueError, + "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); +} + +/* PyErrFetchRestore */ + #if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* RaiseException */ + #if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } +#if PY_VERSION_HEX >= 0x03030000 + if (cause) { +#else + if (cause && cause != Py_None) { +#endif + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = PyThreadState_GET(); + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* RaiseTooManyValuesToUnpack */ + static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ + static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* RaiseNoneIterError */ + static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); +} + +/* Import */ + static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_VERSION_HEX < 0x03030000 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + #if PY_VERSION_HEX < 0x03030000 + PyObject *py_level = PyInt_FromLong(1); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + #endif + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_VERSION_HEX < 0x03030000 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_VERSION_HEX < 0x03030000 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* CodeObjectCache */ + static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ + #include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + py_code = __pyx_find_code_object(c_line ? c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? c_line : py_line, py_code); + } + py_frame = PyFrame_New( + PyThreadState_GET(), /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + py_frame->f_lineno = py_line; + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +#if PY_MAJOR_VERSION < 3 +static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { + if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags); + if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pw_5numpy_7ndarray_1__getbuffer__(obj, view, flags); + PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name); + return -1; +} +static void __Pyx_ReleaseBuffer(Py_buffer *view) { + PyObject *obj = view->obj; + if (!obj) return; + if (PyObject_CheckBuffer(obj)) { + PyBuffer_Release(view); + return; + } + if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) { __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view); return; } + Py_DECREF(obj); + view->obj = NULL; +} +#endif + + + /* CIntFromPyVerify */ + #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) -1, const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* None */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* None */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrtf(z.real*z.real + z.imag*z.imag); + #else + return hypotf(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + float denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + z = __Pyx_c_prodf(a, a); + return __Pyx_c_prodf(a, a); + case 3: + z = __Pyx_c_prodf(a, a); + return __Pyx_c_prodf(z, a); + case 4: + z = __Pyx_c_prodf(a, a); + return __Pyx_c_prodf(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } + r = a.real; + theta = 0; + } else { + r = __Pyx_c_absf(a); + theta = atan2f(a.imag, a.real); + } + lnr = logf(r); + z_r = expf(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cosf(z_theta); + z.imag = z_r * sinf(z_theta); + return z; + } + #endif +#endif + +/* None */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* None */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrt(z.real*z.real + z.imag*z.imag); + #else + return hypot(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + double denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + z = __Pyx_c_prod(a, a); + return __Pyx_c_prod(a, a); + case 3: + z = __Pyx_c_prod(a, a); + return __Pyx_c_prod(z, a); + case 4: + z = __Pyx_c_prod(a, a); + return __Pyx_c_prod(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } + r = a.real; + theta = 0; + } else { + r = __Pyx_c_abs(a); + theta = atan2(a.imag, a.real); + } + lnr = log(r); + z_r = exp(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cos(z_theta); + z.imag = z_r * sin(z_theta); + return z; + } + #endif +#endif + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) { + const enum NPY_TYPES neg_one = (enum NPY_TYPES) -1, const_zero = (enum NPY_TYPES) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(enum NPY_TYPES) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); + } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); + } + } else { + if (sizeof(enum NPY_TYPES) <= sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(enum NPY_TYPES) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(enum NPY_TYPES), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *x) { + const npy_int32 neg_one = (npy_int32) -1, const_zero = (npy_int32) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(npy_int32) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (npy_int32) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (npy_int32) 0; + case 1: __PYX_VERIFY_RETURN_INT(npy_int32, digit, digits[0]) + case 2: + if (8 * sizeof(npy_int32) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) >= 2 * PyLong_SHIFT) { + return (npy_int32) (((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(npy_int32) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) >= 3 * PyLong_SHIFT) { + return (npy_int32) (((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(npy_int32) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) >= 4 * PyLong_SHIFT) { + return (npy_int32) (((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (npy_int32) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(npy_int32) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, unsigned long, PyLong_AsUnsignedLong(x)) + } else if (sizeof(npy_int32) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (npy_int32) 0; + case -1: __PYX_VERIFY_RETURN_INT(npy_int32, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(npy_int32, digit, +digits[0]) + case -2: + if (8 * sizeof(npy_int32) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) { + return (npy_int32) (((npy_int32)-1)*(((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(npy_int32) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) { + return (npy_int32) ((((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) { + return (npy_int32) (((npy_int32)-1)*(((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(npy_int32) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) { + return (npy_int32) ((((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 4 * PyLong_SHIFT) { + return (npy_int32) (((npy_int32)-1)*(((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(npy_int32) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(npy_int32) - 1 > 4 * PyLong_SHIFT) { + return (npy_int32) ((((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]))); + } + } + break; + } +#endif + if (sizeof(npy_int32) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, long, PyLong_AsLong(x)) + } else if (sizeof(npy_int32) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(npy_int32, PY_LONG_LONG, PyLong_AsLongLong(x)) + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + npy_int32 val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (npy_int32) -1; + } + } else { + npy_int32 val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (npy_int32) -1; + val = __Pyx_PyInt_As_npy_int32(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to npy_int32"); + return (npy_int32) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to npy_int32"); + return (npy_int32) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) -1, const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) -1, const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) -1, const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CheckBinaryVersion */ + static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* ModuleImport */ + #ifndef __PYX_HAVE_RT_ImportModule +#define __PYX_HAVE_RT_ImportModule +static PyObject *__Pyx_ImportModule(const char *name) { + PyObject *py_name = 0; + PyObject *py_module = 0; + py_name = __Pyx_PyIdentifier_FromString(name); + if (!py_name) + goto bad; + py_module = PyImport_Import(py_name); + Py_DECREF(py_name); + return py_module; +bad: + Py_XDECREF(py_name); + return 0; +} +#endif + +/* TypeImport */ + #ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, + size_t size, int strict) +{ + PyObject *py_module = 0; + PyObject *result = 0; + PyObject *py_name = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + py_module = __Pyx_ImportModule(module_name); + if (!py_module) + goto bad; + py_name = __Pyx_PyIdentifier_FromString(class_name); + if (!py_name) + goto bad; + result = PyObject_GetAttr(py_module, py_name); + Py_DECREF(py_name); + py_name = 0; + Py_DECREF(py_module); + py_module = 0; + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if (!strict && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. Expected %zd, got %zd", + module_name, class_name, basicsize, size); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + else if ((size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s has the wrong size, try recompiling. Expected %zd, got %zd", + module_name, class_name, basicsize, size); + goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(py_module); + Py_XDECREF(result); + return NULL; +} +#endif + +/* InitStrings */ + static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if CYTHON_COMPILING_IN_CPYTHON && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { +#if PY_VERSION_HEX < 0x03030000 + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +#else + if (__Pyx_PyUnicode_READY(o) == -1) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (PyUnicode_IS_ASCII(o)) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +#endif + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { + PyNumberMethods *m; + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (PyInt_Check(x) || PyLong_Check(x)) +#else + if (PyLong_Check(x)) +#endif + return __Pyx_NewRef(x); + m = Py_TYPE(x)->tp_as_number; +#if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = PyNumber_Int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = PyNumber_Long(x); + } +#else + if (m && m->nb_int) { + name = "int"; + res = PyNumber_Long(x); + } +#endif + if (res) { +#if PY_MAJOR_VERSION < 3 + if (!PyInt_Check(res) && !PyLong_Check(res)) { +#else + if (!PyLong_Check(res)) { +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + name, name, Py_TYPE(res)->tp_name); + Py_DECREF(res); + return NULL; + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(x); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ + diff --git a/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.hpp b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.hpp new file mode 100644 index 0000000000000000000000000000000000000000..68b6d42cd88b59496b22a9e77919abe529b09014 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.hpp @@ -0,0 +1,2 @@ +void _nms(int* keep_out, int* num_out, const float* boxes_host, int boxes_num, + int boxes_dim, float nms_overlap_thresh, int device_id); diff --git a/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.pyx b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.pyx new file mode 100644 index 0000000000000000000000000000000000000000..e637d3ceff9b0614a046f8216c9ea51a30048375 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/gpu_nms.pyx @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np +cimport numpy as np + +assert sizeof(int) == sizeof(np.int32_t) + +cdef extern from "gpu_nms.hpp": + void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) + +def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, + np.int32_t device_id=0): + cdef int boxes_num = dets.shape[0] + cdef int boxes_dim = dets.shape[1] + cdef int num_out + cdef np.ndarray[np.int32_t, ndim=1] \ + keep = np.zeros(boxes_num, dtype=np.int32) + cdef np.ndarray[np.float32_t, ndim=1] \ + scores = dets[:, 4] + cdef np.ndarray[np.int32_t, ndim=1] \ + order = scores.argsort()[::-1].astype(np.int32) + cdef np.ndarray[np.float32_t, ndim=2] \ + sorted_dets = dets[order, :] + _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) + keep = keep[:num_out] + return list(order[keep]) diff --git a/deep-high-resolution-net.pytorch/lib/nms/nms.py b/deep-high-resolution-net.pytorch/lib/nms/nms.py new file mode 100644 index 0000000000000000000000000000000000000000..7f83e05eae638279ac3696548ff5a3d56795a1f1 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/nms.py @@ -0,0 +1,180 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Modified from py-faster-rcnn (https://github.com/rbgirshick/py-faster-rcnn) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np + +from .cpu_nms import cpu_nms +from .gpu_nms import gpu_nms + + +def py_nms_wrapper(thresh): + def _nms(dets): + return nms(dets, thresh) + return _nms + + +def cpu_nms_wrapper(thresh): + def _nms(dets): + return cpu_nms(dets, thresh) + return _nms + + +def gpu_nms_wrapper(thresh, device_id): + def _nms(dets): + return gpu_nms(dets, thresh, device_id) + return _nms + + +def nms(dets, thresh): + """ + greedily select boxes with high confidence and overlap with current maximum <= thresh + rule out overlap >= thresh + :param dets: [[x1, y1, x2, y2 score]] + :param thresh: retain overlap < thresh + :return: indexes to keep + """ + if dets.shape[0] == 0: + return [] + + x1 = dets[:, 0] + y1 = dets[:, 1] + x2 = dets[:, 2] + y2 = dets[:, 3] + scores = dets[:, 4] + + areas = (x2 - x1 + 1) * (y2 - y1 + 1) + order = scores.argsort()[::-1] + + keep = [] + while order.size > 0: + i = order[0] + keep.append(i) + xx1 = np.maximum(x1[i], x1[order[1:]]) + yy1 = np.maximum(y1[i], y1[order[1:]]) + xx2 = np.minimum(x2[i], x2[order[1:]]) + yy2 = np.minimum(y2[i], y2[order[1:]]) + + w = np.maximum(0.0, xx2 - xx1 + 1) + h = np.maximum(0.0, yy2 - yy1 + 1) + inter = w * h + ovr = inter / (areas[i] + areas[order[1:]] - inter) + + inds = np.where(ovr <= thresh)[0] + order = order[inds + 1] + + return keep + + +def oks_iou(g, d, a_g, a_d, sigmas=None, in_vis_thre=None): + if not isinstance(sigmas, np.ndarray): + sigmas = np.array([.26, .25, .25, .35, .35, .79, .79, .72, .72, .62, .62, 1.07, 1.07, .87, .87, .89, .89]) / 10.0 + vars = (sigmas * 2) ** 2 + xg = g[0::3] + yg = g[1::3] + vg = g[2::3] + ious = np.zeros((d.shape[0])) + for n_d in range(0, d.shape[0]): + xd = d[n_d, 0::3] + yd = d[n_d, 1::3] + vd = d[n_d, 2::3] + dx = xd - xg + dy = yd - yg + e = (dx ** 2 + dy ** 2) / vars / ((a_g + a_d[n_d]) / 2 + np.spacing(1)) / 2 + if in_vis_thre is not None: + ind = list(vg > in_vis_thre) and list(vd > in_vis_thre) + e = e[ind] + ious[n_d] = np.sum(np.exp(-e)) / e.shape[0] if e.shape[0] != 0 else 0.0 + return ious + + +def oks_nms(kpts_db, thresh, sigmas=None, in_vis_thre=None): + """ + greedily select boxes with high confidence and overlap with current maximum <= thresh + rule out overlap >= thresh, overlap = oks + :param kpts_db + :param thresh: retain overlap < thresh + :return: indexes to keep + """ + if len(kpts_db) == 0: + return [] + + scores = np.array([kpts_db[i]['score'] for i in range(len(kpts_db))]) + kpts = np.array([kpts_db[i]['keypoints'].flatten() for i in range(len(kpts_db))]) + areas = np.array([kpts_db[i]['area'] for i in range(len(kpts_db))]) + + order = scores.argsort()[::-1] + + keep = [] + while order.size > 0: + i = order[0] + keep.append(i) + + oks_ovr = oks_iou(kpts[i], kpts[order[1:]], areas[i], areas[order[1:]], sigmas, in_vis_thre) + + inds = np.where(oks_ovr <= thresh)[0] + order = order[inds + 1] + + return keep + + +def rescore(overlap, scores, thresh, type='gaussian'): + assert overlap.shape[0] == scores.shape[0] + if type == 'linear': + inds = np.where(overlap >= thresh)[0] + scores[inds] = scores[inds] * (1 - overlap[inds]) + else: + scores = scores * np.exp(- overlap**2 / thresh) + + return scores + + +def soft_oks_nms(kpts_db, thresh, sigmas=None, in_vis_thre=None): + """ + greedily select boxes with high confidence and overlap with current maximum <= thresh + rule out overlap >= thresh, overlap = oks + :param kpts_db + :param thresh: retain overlap < thresh + :return: indexes to keep + """ + if len(kpts_db) == 0: + return [] + + scores = np.array([kpts_db[i]['score'] for i in range(len(kpts_db))]) + kpts = np.array([kpts_db[i]['keypoints'].flatten() for i in range(len(kpts_db))]) + areas = np.array([kpts_db[i]['area'] for i in range(len(kpts_db))]) + + order = scores.argsort()[::-1] + scores = scores[order] + + # max_dets = order.size + max_dets = 20 + keep = np.zeros(max_dets, dtype=np.intp) + keep_cnt = 0 + while order.size > 0 and keep_cnt < max_dets: + i = order[0] + + oks_ovr = oks_iou(kpts[i], kpts[order[1:]], areas[i], areas[order[1:]], sigmas, in_vis_thre) + + order = order[1:] + scores = rescore(oks_ovr, scores[1:], thresh) + + tmp = scores.argsort()[::-1] + order = order[tmp] + scores = scores[tmp] + + keep[keep_cnt] = i + keep_cnt += 1 + + keep = keep[:keep_cnt] + + return keep + # kpts_db = kpts_db[:keep_cnt] + + # return kpts_db diff --git a/deep-high-resolution-net.pytorch/lib/nms/nms_kernel.cu b/deep-high-resolution-net.pytorch/lib/nms/nms_kernel.cu new file mode 100644 index 0000000000000000000000000000000000000000..f6176c6de2274cbf9f3527a3b0220cd3f23f3ae6 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/nms_kernel.cu @@ -0,0 +1,143 @@ +// ------------------------------------------------------------------ +// Copyright (c) Microsoft +// Licensed under The MIT License +// Modified from MATLAB Faster R-CNN (https://github.com/shaoqingren/faster_rcnn) +// ------------------------------------------------------------------ + +#include "gpu_nms.hpp" +#include +#include + +#define CUDA_CHECK(condition) \ + /* Code block avoids redefinition of cudaError_t error */ \ + do { \ + cudaError_t error = condition; \ + if (error != cudaSuccess) { \ + std::cout << cudaGetErrorString(error) << std::endl; \ + } \ + } while (0) + +#define DIVUP(m,n) ((m) / (n) + ((m) % (n) > 0)) +int const threadsPerBlock = sizeof(unsigned long long) * 8; + +__device__ inline float devIoU(float const * const a, float const * const b) { + float left = max(a[0], b[0]), right = min(a[2], b[2]); + float top = max(a[1], b[1]), bottom = min(a[3], b[3]); + float width = max(right - left + 1, 0.f), height = max(bottom - top + 1, 0.f); + float interS = width * height; + float Sa = (a[2] - a[0] + 1) * (a[3] - a[1] + 1); + float Sb = (b[2] - b[0] + 1) * (b[3] - b[1] + 1); + return interS / (Sa + Sb - interS); +} + +__global__ void nms_kernel(const int n_boxes, const float nms_overlap_thresh, + const float *dev_boxes, unsigned long long *dev_mask) { + const int row_start = blockIdx.y; + const int col_start = blockIdx.x; + + // if (row_start > col_start) return; + + const int row_size = + min(n_boxes - row_start * threadsPerBlock, threadsPerBlock); + const int col_size = + min(n_boxes - col_start * threadsPerBlock, threadsPerBlock); + + __shared__ float block_boxes[threadsPerBlock * 5]; + if (threadIdx.x < col_size) { + block_boxes[threadIdx.x * 5 + 0] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 0]; + block_boxes[threadIdx.x * 5 + 1] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 1]; + block_boxes[threadIdx.x * 5 + 2] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 2]; + block_boxes[threadIdx.x * 5 + 3] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 3]; + block_boxes[threadIdx.x * 5 + 4] = + dev_boxes[(threadsPerBlock * col_start + threadIdx.x) * 5 + 4]; + } + __syncthreads(); + + if (threadIdx.x < row_size) { + const int cur_box_idx = threadsPerBlock * row_start + threadIdx.x; + const float *cur_box = dev_boxes + cur_box_idx * 5; + int i = 0; + unsigned long long t = 0; + int start = 0; + if (row_start == col_start) { + start = threadIdx.x + 1; + } + for (i = start; i < col_size; i++) { + if (devIoU(cur_box, block_boxes + i * 5) > nms_overlap_thresh) { + t |= 1ULL << i; + } + } + const int col_blocks = DIVUP(n_boxes, threadsPerBlock); + dev_mask[cur_box_idx * col_blocks + col_start] = t; + } +} + +void _set_device(int device_id) { + int current_device; + CUDA_CHECK(cudaGetDevice(¤t_device)); + if (current_device == device_id) { + return; + } + // The call to cudaSetDevice must come before any calls to Get, which + // may perform initialization using the GPU. + CUDA_CHECK(cudaSetDevice(device_id)); +} + +void _nms(int* keep_out, int* num_out, const float* boxes_host, int boxes_num, + int boxes_dim, float nms_overlap_thresh, int device_id) { + _set_device(device_id); + + float* boxes_dev = NULL; + unsigned long long* mask_dev = NULL; + + const int col_blocks = DIVUP(boxes_num, threadsPerBlock); + + CUDA_CHECK(cudaMalloc(&boxes_dev, + boxes_num * boxes_dim * sizeof(float))); + CUDA_CHECK(cudaMemcpy(boxes_dev, + boxes_host, + boxes_num * boxes_dim * sizeof(float), + cudaMemcpyHostToDevice)); + + CUDA_CHECK(cudaMalloc(&mask_dev, + boxes_num * col_blocks * sizeof(unsigned long long))); + + dim3 blocks(DIVUP(boxes_num, threadsPerBlock), + DIVUP(boxes_num, threadsPerBlock)); + dim3 threads(threadsPerBlock); + nms_kernel<<>>(boxes_num, + nms_overlap_thresh, + boxes_dev, + mask_dev); + + std::vector mask_host(boxes_num * col_blocks); + CUDA_CHECK(cudaMemcpy(&mask_host[0], + mask_dev, + sizeof(unsigned long long) * boxes_num * col_blocks, + cudaMemcpyDeviceToHost)); + + std::vector remv(col_blocks); + memset(&remv[0], 0, sizeof(unsigned long long) * col_blocks); + + int num_to_keep = 0; + for (int i = 0; i < boxes_num; i++) { + int nblock = i / threadsPerBlock; + int inblock = i % threadsPerBlock; + + if (!(remv[nblock] & (1ULL << inblock))) { + keep_out[num_to_keep++] = i; + unsigned long long *p = &mask_host[0] + i * col_blocks; + for (int j = nblock; j < col_blocks; j++) { + remv[j] |= p[j]; + } + } + } + *num_out = num_to_keep; + + CUDA_CHECK(cudaFree(boxes_dev)); + CUDA_CHECK(cudaFree(mask_dev)); +} diff --git a/deep-high-resolution-net.pytorch/lib/nms/setup_linux.py b/deep-high-resolution-net.pytorch/lib/nms/setup_linux.py new file mode 100644 index 0000000000000000000000000000000000000000..9120a93b92bbeee33c1f54dd4d288105f4575611 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/nms/setup_linux.py @@ -0,0 +1,141 @@ +# -------------------------------------------------------- +# Pose.gluon +# Copyright (c) 2018-present Microsoft +# Licensed under The MIT License [see LICENSE for details] +# Modified from py-faster-rcnn (https://github.com/rbgirshick/py-faster-rcnn) +# -------------------------------------------------------- + +import os +from os.path import join as pjoin +from setuptools import setup +from distutils.extension import Extension +from Cython.Distutils import build_ext +import numpy as np + + +def find_in_path(name, path): + "Find a file in a search path" + # Adapted fom + # http://code.activestate.com/recipes/52224-find-a-file-given-a-search-path/ + for dir in path.split(os.pathsep): + binpath = pjoin(dir, name) + if os.path.exists(binpath): + return os.path.abspath(binpath) + return None + + +def locate_cuda(): + """Locate the CUDA environment on the system + Returns a dict with keys 'home', 'nvcc', 'include', and 'lib64' + and values giving the absolute path to each directory. + Starts by looking for the CUDAHOME env variable. If not found, everything + is based on finding 'nvcc' in the PATH. + """ + + # first check if the CUDAHOME env variable is in use + if 'CUDAHOME' in os.environ: + home = os.environ['CUDAHOME'] + nvcc = pjoin(home, 'bin', 'nvcc') + else: + # otherwise, search the PATH for NVCC + default_path = pjoin(os.sep, 'usr', 'local', 'cuda', 'bin') + nvcc = find_in_path('nvcc', os.environ['PATH'] + os.pathsep + default_path) + if nvcc is None: + raise EnvironmentError('The nvcc binary could not be ' + 'located in your $PATH. Either add it to your path, or set $CUDAHOME') + home = os.path.dirname(os.path.dirname(nvcc)) + + cudaconfig = {'home':home, 'nvcc':nvcc, + 'include': pjoin(home, 'include'), + 'lib64': pjoin(home, 'lib64')} + for k, v in cudaconfig.items(): + if not os.path.exists(v): + raise EnvironmentError('The CUDA %s path could not be located in %s' % (k, v)) + + return cudaconfig +CUDA = locate_cuda() + + +# Obtain the numpy include directory. This logic works across numpy versions. +try: + numpy_include = np.get_include() +except AttributeError: + numpy_include = np.get_numpy_include() + + +def customize_compiler_for_nvcc(self): + """inject deep into distutils to customize how the dispatch + to gcc/nvcc works. + If you subclass UnixCCompiler, it's not trivial to get your subclass + injected in, and still have the right customizations (i.e. + distutils.sysconfig.customize_compiler) run on it. So instead of going + the OO route, I have this. Note, it's kindof like a wierd functional + subclassing going on.""" + + # tell the compiler it can processes .cu + self.src_extensions.append('.cu') + + # save references to the default compiler_so and _comple methods + default_compiler_so = self.compiler_so + super = self._compile + + # now redefine the _compile method. This gets executed for each + # object but distutils doesn't have the ability to change compilers + # based on source extension: we add it. + def _compile(obj, src, ext, cc_args, extra_postargs, pp_opts): + if os.path.splitext(src)[1] == '.cu': + # use the cuda for .cu files + self.set_executable('compiler_so', CUDA['nvcc']) + # use only a subset of the extra_postargs, which are 1-1 translated + # from the extra_compile_args in the Extension class + postargs = extra_postargs['nvcc'] + else: + postargs = extra_postargs['gcc'] + + super(obj, src, ext, cc_args, postargs, pp_opts) + # reset the default compiler_so, which we might have changed for cuda + self.compiler_so = default_compiler_so + + # inject our redefined _compile method into the class + self._compile = _compile + + +# run the customize_compiler +class custom_build_ext(build_ext): + def build_extensions(self): + customize_compiler_for_nvcc(self.compiler) + build_ext.build_extensions(self) + + +ext_modules = [ + Extension( + "cpu_nms", + ["cpu_nms.pyx"], + extra_compile_args={'gcc': ["-Wno-cpp", "-Wno-unused-function"]}, + include_dirs = [numpy_include] + ), + Extension('gpu_nms', + ['nms_kernel.cu', 'gpu_nms.pyx'], + library_dirs=[CUDA['lib64']], + libraries=['cudart'], + language='c++', + runtime_library_dirs=[CUDA['lib64']], + # this syntax is specific to this build system + # we're only going to use certain compiler args with nvcc and not with + # gcc the implementation of this trick is in customize_compiler() below + extra_compile_args={'gcc': ["-Wno-unused-function"], + 'nvcc': ['-arch=sm_35', + '--ptxas-options=-v', + '-c', + '--compiler-options', + "'-fPIC'"]}, + include_dirs = [numpy_include, CUDA['include']] + ), +] + +setup( + name='nms', + ext_modules=ext_modules, + # inject our custom trigger + cmdclass={'build_ext': custom_build_ext}, +) diff --git a/deep-high-resolution-net.pytorch/lib/utils/.amlignore b/deep-high-resolution-net.pytorch/lib/utils/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/utils/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/utils/.amlignore.amltmp b/deep-high-resolution-net.pytorch/lib/utils/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/utils/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/lib/utils/__init__.py b/deep-high-resolution-net.pytorch/lib/utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/deep-high-resolution-net.pytorch/lib/utils/__pycache__/__init__.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..76b9d4b09ca28de6176d54bf2d8840582c9c5dea Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/utils/__pycache__/transforms.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/transforms.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4ec13a8fb3573e64553a33ba97c5d74e9a0a33cc Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/transforms.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/utils/__pycache__/utils.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dbbecfdb3d6dc5f0b59058e8ecc9e231340ab725 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/utils.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/utils/__pycache__/vis.cpython-38.pyc b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/vis.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..55598a896d03b35f2e9a89dd7a6754aa8f7637f9 Binary files /dev/null and b/deep-high-resolution-net.pytorch/lib/utils/__pycache__/vis.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/lib/utils/transforms.py b/deep-high-resolution-net.pytorch/lib/utils/transforms.py new file mode 100644 index 0000000000000000000000000000000000000000..6b12f44aaf46448160ecb985969534cd9bee64db --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/utils/transforms.py @@ -0,0 +1,121 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np +import cv2 + + +def flip_back(output_flipped, matched_parts): + ''' + ouput_flipped: numpy.ndarray(batch_size, num_joints, height, width) + ''' + assert output_flipped.ndim == 4,\ + 'output_flipped should be [batch_size, num_joints, height, width]' + + output_flipped = output_flipped[:, :, :, ::-1] + + for pair in matched_parts: + tmp = output_flipped[:, pair[0], :, :].copy() + output_flipped[:, pair[0], :, :] = output_flipped[:, pair[1], :, :] + output_flipped[:, pair[1], :, :] = tmp + + return output_flipped + + +def fliplr_joints(joints, joints_vis, width, matched_parts): + """ + flip coords + """ + # Flip horizontal + joints[:, 0] = width - joints[:, 0] - 1 + + # Change left-right parts + for pair in matched_parts: + joints[pair[0], :], joints[pair[1], :] = \ + joints[pair[1], :], joints[pair[0], :].copy() + joints_vis[pair[0], :], joints_vis[pair[1], :] = \ + joints_vis[pair[1], :], joints_vis[pair[0], :].copy() + + return joints*joints_vis, joints_vis + + +def transform_preds(coords, center, scale, output_size): + target_coords = np.zeros(coords.shape) + trans = get_affine_transform(center, scale, 0, output_size, inv=1) + for p in range(coords.shape[0]): + target_coords[p, 0:2] = affine_transform(coords[p, 0:2], trans) + return target_coords + + +def get_affine_transform( + center, scale, rot, output_size, + shift=np.array([0, 0], dtype=np.float32), inv=0 +): + if not isinstance(scale, np.ndarray) and not isinstance(scale, list): + print(scale) + scale = np.array([scale, scale]) + + scale_tmp = scale * 200.0 + src_w = scale_tmp[0] + dst_w = output_size[0] + dst_h = output_size[1] + + rot_rad = np.pi * rot / 180 + src_dir = get_dir([0, src_w * -0.5], rot_rad) + dst_dir = np.array([0, dst_w * -0.5], np.float32) + + src = np.zeros((3, 2), dtype=np.float32) + dst = np.zeros((3, 2), dtype=np.float32) + src[0, :] = center + scale_tmp * shift + src[1, :] = center + src_dir + scale_tmp * shift + dst[0, :] = [dst_w * 0.5, dst_h * 0.5] + dst[1, :] = np.array([dst_w * 0.5, dst_h * 0.5]) + dst_dir + + src[2:, :] = get_3rd_point(src[0, :], src[1, :]) + dst[2:, :] = get_3rd_point(dst[0, :], dst[1, :]) + + if inv: + trans = cv2.getAffineTransform(np.float32(dst), np.float32(src)) + else: + trans = cv2.getAffineTransform(np.float32(src), np.float32(dst)) + + return trans + + +def affine_transform(pt, t): + new_pt = np.array([pt[0], pt[1], 1.]).T + new_pt = np.dot(t, new_pt) + return new_pt[:2] + + +def get_3rd_point(a, b): + direct = a - b + return b + np.array([-direct[1], direct[0]], dtype=np.float32) + + +def get_dir(src_point, rot_rad): + sn, cs = np.sin(rot_rad), np.cos(rot_rad) + + src_result = [0, 0] + src_result[0] = src_point[0] * cs - src_point[1] * sn + src_result[1] = src_point[0] * sn + src_point[1] * cs + + return src_result + + +def crop(img, center, scale, output_size, rot=0): + trans = get_affine_transform(center, scale, rot, output_size) + + dst_img = cv2.warpAffine( + img, trans, (int(output_size[0]), int(output_size[1])), + flags=cv2.INTER_LINEAR + ) + + return dst_img diff --git a/deep-high-resolution-net.pytorch/lib/utils/utils.py b/deep-high-resolution-net.pytorch/lib/utils/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..5c31ca103b5355d12c8e2678cbd32e37bb9cec3b --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/utils/utils.py @@ -0,0 +1,203 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import logging +import time +from collections import namedtuple +from pathlib import Path + +import torch +import torch.optim as optim +import torch.nn as nn + + +def create_logger(cfg, cfg_name, phase='train'): + root_output_dir = Path(cfg.OUTPUT_DIR) + # set up logger + if not root_output_dir.exists(): + print('=> creating {}'.format(root_output_dir)) + root_output_dir.mkdir() + + dataset = cfg.DATASET.DATASET + '_' + cfg.DATASET.HYBRID_JOINTS_TYPE \ + if cfg.DATASET.HYBRID_JOINTS_TYPE else cfg.DATASET.DATASET + dataset = dataset.replace(':', '_') + model = cfg.MODEL.NAME + cfg_name = os.path.basename(cfg_name).split('.')[0] + + final_output_dir = root_output_dir / dataset / model / cfg_name + + print('=> creating {}'.format(final_output_dir)) + final_output_dir.mkdir(parents=True, exist_ok=True) + + time_str = time.strftime('%Y-%m-%d-%H-%M') + log_file = '{}_{}_{}.log'.format(cfg_name, time_str, phase) + final_log_file = final_output_dir / log_file + head = '%(asctime)-15s %(message)s' + logging.basicConfig(filename=str(final_log_file), + format=head) + logger = logging.getLogger() + logger.setLevel(logging.INFO) + console = logging.StreamHandler() + logging.getLogger('').addHandler(console) + + tensorboard_log_dir = Path(cfg.LOG_DIR) / dataset / model / \ + (cfg_name + '_' + time_str) + + print('=> creating {}'.format(tensorboard_log_dir)) + tensorboard_log_dir.mkdir(parents=True, exist_ok=True) + + return logger, str(final_output_dir), str(tensorboard_log_dir) + + +def get_optimizer(cfg, model): + optimizer = None + if cfg.TRAIN.OPTIMIZER == 'sgd': + optimizer = optim.SGD( + model.parameters(), + lr=cfg.TRAIN.LR, + momentum=cfg.TRAIN.MOMENTUM, + weight_decay=cfg.TRAIN.WD, + nesterov=cfg.TRAIN.NESTEROV + ) + elif cfg.TRAIN.OPTIMIZER == 'adam': + optimizer = optim.Adam( + model.parameters(), + lr=cfg.TRAIN.LR + ) + + return optimizer + + +def save_checkpoint(states, is_best, output_dir, + filename='checkpoint.pth'): + torch.save(states, os.path.join(output_dir, filename)) + if is_best and 'state_dict' in states: + torch.save(states['best_state_dict'], + os.path.join(output_dir, 'model_best.pth')) + + +def get_model_summary(model, *input_tensors, item_length=26, verbose=False): + """ + :param model: + :param input_tensors: + :param item_length: + :return: + """ + + summary = [] + + ModuleDetails = namedtuple( + "Layer", ["name", "input_size", "output_size", "num_parameters", "multiply_adds"]) + hooks = [] + layer_instances = {} + + def add_hooks(module): + + def hook(module, input, output): + class_name = str(module.__class__.__name__) + + instance_index = 1 + if class_name not in layer_instances: + layer_instances[class_name] = instance_index + else: + instance_index = layer_instances[class_name] + 1 + layer_instances[class_name] = instance_index + + layer_name = class_name + "_" + str(instance_index) + + params = 0 + + if class_name.find("Conv") != -1 or class_name.find("BatchNorm") != -1 or \ + class_name.find("Linear") != -1: + for param_ in module.parameters(): + params += param_.view(-1).size(0) + + flops = "Not Available" + if class_name.find("Conv") != -1 and hasattr(module, "weight"): + flops = ( + torch.prod( + torch.LongTensor(list(module.weight.data.size()))) * + torch.prod( + torch.LongTensor(list(output.size())[2:]))).item() + elif isinstance(module, nn.Linear): + flops = (torch.prod(torch.LongTensor(list(output.size()))) \ + * input[0].size(1)).item() + + if isinstance(input[0], list): + input = input[0] + if isinstance(output, list): + output = output[0] + + summary.append( + ModuleDetails( + name=layer_name, + input_size=list(input[0].size()), + output_size=list(output.size()), + num_parameters=params, + multiply_adds=flops) + ) + + if not isinstance(module, nn.ModuleList) \ + and not isinstance(module, nn.Sequential) \ + and module != model: + hooks.append(module.register_forward_hook(hook)) + + model.eval() + model.apply(add_hooks) + + space_len = item_length + + model(*input_tensors) + for hook in hooks: + hook.remove() + + details = '' + if verbose: + details = "Model Summary" + \ + os.linesep + \ + "Name{}Input Size{}Output Size{}Parameters{}Multiply Adds (Flops){}".format( + ' ' * (space_len - len("Name")), + ' ' * (space_len - len("Input Size")), + ' ' * (space_len - len("Output Size")), + ' ' * (space_len - len("Parameters")), + ' ' * (space_len - len("Multiply Adds (Flops)"))) \ + + os.linesep + '-' * space_len * 5 + os.linesep + + params_sum = 0 + flops_sum = 0 + for layer in summary: + params_sum += layer.num_parameters + if layer.multiply_adds != "Not Available": + flops_sum += layer.multiply_adds + if verbose: + details += "{}{}{}{}{}{}{}{}{}{}".format( + layer.name, + ' ' * (space_len - len(layer.name)), + layer.input_size, + ' ' * (space_len - len(str(layer.input_size))), + layer.output_size, + ' ' * (space_len - len(str(layer.output_size))), + layer.num_parameters, + ' ' * (space_len - len(str(layer.num_parameters))), + layer.multiply_adds, + ' ' * (space_len - len(str(layer.multiply_adds)))) \ + + os.linesep + '-' * space_len * 5 + os.linesep + + details += os.linesep \ + + "Total Parameters: {:,}".format(params_sum) \ + + os.linesep + '-' * space_len * 5 + os.linesep + details += "Total Multiply Adds (For Convolution and Linear Layers only): {:,} GFLOPs".format(flops_sum/(1024**3)) \ + + os.linesep + '-' * space_len * 5 + os.linesep + details += "Number of Layers" + os.linesep + for layer in layer_instances: + details += "{} : {} layers ".format(layer, layer_instances[layer]) + + return details diff --git a/deep-high-resolution-net.pytorch/lib/utils/vis.py b/deep-high-resolution-net.pytorch/lib/utils/vis.py new file mode 100644 index 0000000000000000000000000000000000000000..adc0947a460328eb25047aa65e24c1febfdbeab7 --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/utils/vis.py @@ -0,0 +1,141 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import math + +import numpy as np +import torchvision +import cv2 + +from core.inference import get_max_preds + + +def save_batch_image_with_joints(batch_image, batch_joints, batch_joints_vis, + file_name, nrow=8, padding=2): + ''' + batch_image: [batch_size, channel, height, width] + batch_joints: [batch_size, num_joints, 3], + batch_joints_vis: [batch_size, num_joints, 1], + } + ''' + grid = torchvision.utils.make_grid(batch_image, nrow, padding, True) + ndarr = grid.mul(255).clamp(0, 255).byte().permute(1, 2, 0).cpu().numpy() + ndarr = ndarr.copy() + + nmaps = batch_image.size(0) + xmaps = min(nrow, nmaps) + ymaps = int(math.ceil(float(nmaps) / xmaps)) + height = int(batch_image.size(2) + padding) + width = int(batch_image.size(3) + padding) + k = 0 + for y in range(ymaps): + for x in range(xmaps): + if k >= nmaps: + break + joints = batch_joints[k] + joints_vis = batch_joints_vis[k] + + for joint, joint_vis in zip(joints, joints_vis): + joint[0] = x * width + padding + joint[0] + joint[1] = y * height + padding + joint[1] + if joint_vis[0]: + cv2.circle(ndarr, (int(joint[0]), int(joint[1])), 2, [255, 0, 0], 2) + k = k + 1 + cv2.imwrite(file_name, ndarr) + + +def save_batch_heatmaps(batch_image, batch_heatmaps, file_name, + normalize=True): + ''' + batch_image: [batch_size, channel, height, width] + batch_heatmaps: ['batch_size, num_joints, height, width] + file_name: saved file name + ''' + if normalize: + batch_image = batch_image.clone() + min = float(batch_image.min()) + max = float(batch_image.max()) + + batch_image.add_(-min).div_(max - min + 1e-5) + + batch_size = batch_heatmaps.size(0) + num_joints = batch_heatmaps.size(1) + heatmap_height = batch_heatmaps.size(2) + heatmap_width = batch_heatmaps.size(3) + + grid_image = np.zeros((batch_size*heatmap_height, + (num_joints+1)*heatmap_width, + 3), + dtype=np.uint8) + + preds, maxvals = get_max_preds(batch_heatmaps.detach().cpu().numpy()) + + for i in range(batch_size): + image = batch_image[i].mul(255)\ + .clamp(0, 255)\ + .byte()\ + .permute(1, 2, 0)\ + .cpu().numpy() + heatmaps = batch_heatmaps[i].mul(255)\ + .clamp(0, 255)\ + .byte()\ + .cpu().numpy() + + resized_image = cv2.resize(image, + (int(heatmap_width), int(heatmap_height))) + + height_begin = heatmap_height * i + height_end = heatmap_height * (i + 1) + for j in range(num_joints): + cv2.circle(resized_image, + (int(preds[i][j][0]), int(preds[i][j][1])), + 1, [0, 0, 255], 1) + heatmap = heatmaps[j, :, :] + colored_heatmap = cv2.applyColorMap(heatmap, cv2.COLORMAP_JET) + masked_image = colored_heatmap*0.7 + resized_image*0.3 + cv2.circle(masked_image, + (int(preds[i][j][0]), int(preds[i][j][1])), + 1, [0, 0, 255], 1) + + width_begin = heatmap_width * (j+1) + width_end = heatmap_width * (j+2) + grid_image[height_begin:height_end, width_begin:width_end, :] = \ + masked_image + # grid_image[height_begin:height_end, width_begin:width_end, :] = \ + # colored_heatmap*0.7 + resized_image*0.3 + + grid_image[height_begin:height_end, 0:heatmap_width, :] = resized_image + + cv2.imwrite(file_name, grid_image) + + +def save_debug_images(config, input, meta, target, joints_pred, output, + prefix): + if not config.DEBUG.DEBUG: + return + + if config.DEBUG.SAVE_BATCH_IMAGES_GT: + save_batch_image_with_joints( + input, meta['joints'], meta['joints_vis'], + '{}_gt.jpg'.format(prefix) + ) + if config.DEBUG.SAVE_BATCH_IMAGES_PRED: + save_batch_image_with_joints( + input, joints_pred, meta['joints_vis'], + '{}_pred.jpg'.format(prefix) + ) + if config.DEBUG.SAVE_HEATMAPS_GT: + save_batch_heatmaps( + input, target, '{}_hm_gt.jpg'.format(prefix) + ) + if config.DEBUG.SAVE_HEATMAPS_PRED: + save_batch_heatmaps( + input, output, '{}_hm_pred.jpg'.format(prefix) + ) diff --git a/deep-high-resolution-net.pytorch/lib/utils/zipreader.py b/deep-high-resolution-net.pytorch/lib/utils/zipreader.py new file mode 100644 index 0000000000000000000000000000000000000000..dab919f01332bd3054786ea048f652aa704ba4cd --- /dev/null +++ b/deep-high-resolution-net.pytorch/lib/utils/zipreader.py @@ -0,0 +1,70 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import zipfile +import xml.etree.ElementTree as ET + +import cv2 +import numpy as np + +_im_zfile = [] +_xml_path_zip = [] +_xml_zfile = [] + + +def imread(filename, flags=cv2.IMREAD_COLOR): + global _im_zfile + path = filename + pos_at = path.index('@') + if pos_at == -1: + print("character '@' is not found from the given path '%s'"%(path)) + assert 0 + path_zip = path[0: pos_at] + path_img = path[pos_at + 2:] + if not os.path.isfile(path_zip): + print("zip file '%s' is not found"%(path_zip)) + assert 0 + for i in range(len(_im_zfile)): + if _im_zfile[i]['path'] == path_zip: + data = _im_zfile[i]['zipfile'].read(path_img) + return cv2.imdecode(np.frombuffer(data, np.uint8), flags) + + _im_zfile.append({ + 'path': path_zip, + 'zipfile': zipfile.ZipFile(path_zip, 'r') + }) + data = _im_zfile[-1]['zipfile'].read(path_img) + + return cv2.imdecode(np.frombuffer(data, np.uint8), flags) + + +def xmlread(filename): + global _xml_path_zip + global _xml_zfile + path = filename + pos_at = path.index('@') + if pos_at == -1: + print("character '@' is not found from the given path '%s'"%(path)) + assert 0 + path_zip = path[0: pos_at] + path_xml = path[pos_at + 2:] + if not os.path.isfile(path_zip): + print("zip file '%s' is not found"%(path_zip)) + assert 0 + for i in xrange(len(_xml_path_zip)): + if _xml_path_zip[i] == path_zip: + data = _xml_zfile[i].open(path_xml) + return ET.fromstring(data.read()) + _xml_path_zip.append(path_zip) + print("read new xml file '%s'"%(path_zip)) + _xml_zfile.append(zipfile.ZipFile(path_zip, 'r')) + data = _xml_zfile[-1].open(path_xml) + return ET.fromstring(data.read()) diff --git a/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/.amlignore b/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/.amlignore.amltmp b/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/pose_hrnet_w32_256x256.pth b/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/pose_hrnet_w32_256x256.pth new file mode 100644 index 0000000000000000000000000000000000000000..257d6bb1c8ffd0b874965cc409085bf073c6e230 --- /dev/null +++ b/deep-high-resolution-net.pytorch/models/pytorch/pose_mpii/pose_hrnet_w32_256x256.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b568898d74d735442c64adcdceda440187670c1ad5bbf7a7f5cbd7c68617ba3 +size 262144 diff --git a/deep-high-resolution-net.pytorch/requirements.txt b/deep-high-resolution-net.pytorch/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..14f225c7400eab54e856af1e3050a7d084af98e1 --- /dev/null +++ b/deep-high-resolution-net.pytorch/requirements.txt @@ -0,0 +1,11 @@ +EasyDict==1.7 +opencv-python==3.4.1.15 +shapely==1.6.4 +Cython +scipy +pandas +pyyaml +json_tricks +scikit-image +yacs>=0.1.5 +tensorboardX==1.6 diff --git a/deep-high-resolution-net.pytorch/tools/.amlignore b/deep-high-resolution-net.pytorch/tools/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/tools/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/tools/.amlignore.amltmp b/deep-high-resolution-net.pytorch/tools/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/tools/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/tools/__pycache__/_init_paths.cpython-38.pyc b/deep-high-resolution-net.pytorch/tools/__pycache__/_init_paths.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7293c5575d498d1ab43933bae7d179b25bb8dcbc Binary files /dev/null and b/deep-high-resolution-net.pytorch/tools/__pycache__/_init_paths.cpython-38.pyc differ diff --git a/deep-high-resolution-net.pytorch/tools/_init_paths.py b/deep-high-resolution-net.pytorch/tools/_init_paths.py new file mode 100644 index 0000000000000000000000000000000000000000..b1aea8fe03e86b5fae8d520e19633587ec73f9d8 --- /dev/null +++ b/deep-high-resolution-net.pytorch/tools/_init_paths.py @@ -0,0 +1,27 @@ +# ------------------------------------------------------------------------------ +# pose.pytorch +# Copyright (c) 2018-present Microsoft +# Licensed under The Apache-2.0 License [see LICENSE for details] +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os.path as osp +import sys + + +def add_path(path): + if path not in sys.path: + sys.path.insert(0, path) + + +this_dir = osp.dirname(__file__) + +lib_path = osp.join(this_dir, '..', 'lib') +add_path(lib_path) + +mm_path = osp.join(this_dir, '..', 'lib/poseeval/py-motmetrics') +add_path(mm_path) diff --git a/deep-high-resolution-net.pytorch/tools/test.py b/deep-high-resolution-net.pytorch/tools/test.py new file mode 100644 index 0000000000000000000000000000000000000000..cfa333f5ef23d13d334fbb9d06cd04e2376dba82 --- /dev/null +++ b/deep-high-resolution-net.pytorch/tools/test.py @@ -0,0 +1,130 @@ +# ------------------------------------------------------------------------------ +# pose.pytorch +# Copyright (c) 2018-present Microsoft +# Licensed under The Apache-2.0 License [see LICENSE for details] +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +import os +import pprint + +import torch +import torch.nn.parallel +import torch.backends.cudnn as cudnn +import torch.optim +import torch.utils.data +import torch.utils.data.distributed +import torchvision.transforms as transforms + +import _init_paths +from config import cfg +from config import update_config +from core.loss import JointsMSELoss +from core.function import validate +from utils.utils import create_logger + +import dataset +import models + + +def parse_args(): + parser = argparse.ArgumentParser(description='Train keypoints network') + # general + parser.add_argument('--cfg', + help='experiment configure file name', + required=True, + type=str) + + parser.add_argument('opts', + help="Modify config options using the command-line", + default=None, + nargs=argparse.REMAINDER) + + parser.add_argument('--modelDir', + help='model directory', + type=str, + default='') + parser.add_argument('--logDir', + help='log directory', + type=str, + default='') + parser.add_argument('--dataDir', + help='data directory', + type=str, + default='') + parser.add_argument('--prevModelDir', + help='prev Model directory', + type=str, + default='') + + args = parser.parse_args() + return args + + +def main(): + args = parse_args() + update_config(cfg, args) + + logger, final_output_dir, tb_log_dir = create_logger( + cfg, args.cfg, 'valid') + + logger.info(pprint.pformat(args)) + logger.info(cfg) + + # cudnn related setting + cudnn.benchmark = cfg.CUDNN.BENCHMARK + torch.backends.cudnn.deterministic = cfg.CUDNN.DETERMINISTIC + torch.backends.cudnn.enabled = cfg.CUDNN.ENABLED + + model = eval('models.'+cfg.MODEL.NAME+'.get_pose_net')( + cfg, is_train=False + ) + + if cfg.TEST.MODEL_FILE: + logger.info('=> loading model from {}'.format(cfg.TEST.MODEL_FILE)) + model.load_state_dict(torch.load(cfg.TEST.MODEL_FILE), strict=False) + else: + model_state_file = os.path.join( + final_output_dir, 'final_state.pth' + ) + logger.info('=> loading model from {}'.format(model_state_file)) + model.load_state_dict(torch.load(model_state_file)) + + model = torch.nn.DataParallel(model, device_ids=cfg.GPUS).cuda() + + # define loss function (criterion) and optimizer + criterion = JointsMSELoss( + use_target_weight=cfg.LOSS.USE_TARGET_WEIGHT + ).cuda() + + # Data loading code + normalize = transforms.Normalize( + mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] + ) + valid_dataset = eval('dataset.'+cfg.DATASET.DATASET)( + cfg, cfg.DATASET.ROOT, cfg.DATASET.TEST_SET, False, + transforms.Compose([ + transforms.ToTensor(), + normalize, + ]) + ) + valid_loader = torch.utils.data.DataLoader( + valid_dataset, + batch_size=cfg.TEST.BATCH_SIZE_PER_GPU*len(cfg.GPUS), + shuffle=False, + num_workers=cfg.WORKERS, + pin_memory=True + ) + + # evaluate on validation set + validate(cfg, valid_loader, valid_dataset, model, criterion, + final_output_dir, tb_log_dir) + + +if __name__ == '__main__': + main() diff --git a/deep-high-resolution-net.pytorch/tools/train.py b/deep-high-resolution-net.pytorch/tools/train.py new file mode 100644 index 0000000000000000000000000000000000000000..70dcfa0fd2caa463adc6a48f150cd6f6a1cbdb43 --- /dev/null +++ b/deep-high-resolution-net.pytorch/tools/train.py @@ -0,0 +1,224 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +import os +import pprint +import shutil + +import torch +import torch.nn.parallel +import torch.backends.cudnn as cudnn +import torch.optim +import torch.utils.data +import torch.utils.data.distributed +import torchvision.transforms as transforms +from tensorboardX import SummaryWriter + +import _init_paths +from config import cfg +from config import update_config +from core.loss import JointsMSELoss +from core.function import train +from core.function import validate +from utils.utils import get_optimizer +from utils.utils import save_checkpoint +from utils.utils import create_logger +from utils.utils import get_model_summary + +import dataset +import models + + +def parse_args(): + parser = argparse.ArgumentParser(description='Train keypoints network') + # general + parser.add_argument('--cfg', + help='experiment configure file name', + required=True, + type=str) + + parser.add_argument('opts', + help="Modify config options using the command-line", + default=None, + nargs=argparse.REMAINDER) + + # philly + parser.add_argument('--modelDir', + help='model directory', + type=str, + default='') + parser.add_argument('--logDir', + help='log directory', + type=str, + default='') + parser.add_argument('--dataDir', + help='data directory', + type=str, + default='') + parser.add_argument('--prevModelDir', + help='prev Model directory', + type=str, + default='') + + args = parser.parse_args() + + return args + + +def main(): + args = parse_args() + update_config(cfg, args) + + logger, final_output_dir, tb_log_dir = create_logger( + cfg, args.cfg, 'train') + + logger.info(pprint.pformat(args)) + logger.info(cfg) + + # cudnn related setting + cudnn.benchmark = cfg.CUDNN.BENCHMARK + torch.backends.cudnn.deterministic = cfg.CUDNN.DETERMINISTIC + torch.backends.cudnn.enabled = cfg.CUDNN.ENABLED + + model = eval('models.'+cfg.MODEL.NAME+'.get_pose_net')( + cfg, is_train=True + ) + + # copy model file + this_dir = os.path.dirname(__file__) + shutil.copy2( + os.path.join(this_dir, '../lib/models', cfg.MODEL.NAME + '.py'), + final_output_dir) + # logger.info(pprint.pformat(model)) + + writer_dict = { + 'writer': SummaryWriter(log_dir=tb_log_dir), + 'train_global_steps': 0, + 'valid_global_steps': 0, + } + + dump_input = torch.rand( + (1, 3, cfg.MODEL.IMAGE_SIZE[1], cfg.MODEL.IMAGE_SIZE[0]) + ) + writer_dict['writer'].add_graph(model, (dump_input, )) + + logger.info(get_model_summary(model, dump_input)) + + model = torch.nn.DataParallel(model, device_ids=cfg.GPUS).cuda() + + # define loss function (criterion) and optimizer + criterion = JointsMSELoss( + use_target_weight=cfg.LOSS.USE_TARGET_WEIGHT + ).cuda() + + # Data loading code + normalize = transforms.Normalize( + mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] + ) + train_dataset = eval('dataset.'+cfg.DATASET.DATASET)( + cfg, cfg.DATASET.ROOT, cfg.DATASET.TRAIN_SET, True, + transforms.Compose([ + transforms.ToTensor(), + normalize, + ]) + ) + valid_dataset = eval('dataset.'+cfg.DATASET.DATASET)( + cfg, cfg.DATASET.ROOT, cfg.DATASET.TEST_SET, False, + transforms.Compose([ + transforms.ToTensor(), + normalize, + ]) + ) + + train_loader = torch.utils.data.DataLoader( + train_dataset, + batch_size=cfg.TRAIN.BATCH_SIZE_PER_GPU*len(cfg.GPUS), + shuffle=cfg.TRAIN.SHUFFLE, + num_workers=cfg.WORKERS, + pin_memory=cfg.PIN_MEMORY + ) + valid_loader = torch.utils.data.DataLoader( + valid_dataset, + batch_size=cfg.TEST.BATCH_SIZE_PER_GPU*len(cfg.GPUS), + shuffle=False, + num_workers=cfg.WORKERS, + pin_memory=cfg.PIN_MEMORY + ) + + best_perf = 0.0 + best_model = False + last_epoch = -1 + optimizer = get_optimizer(cfg, model) + begin_epoch = cfg.TRAIN.BEGIN_EPOCH + checkpoint_file = os.path.join( + final_output_dir, 'checkpoint.pth' + ) + + if cfg.AUTO_RESUME and os.path.exists(checkpoint_file): + logger.info("=> loading checkpoint '{}'".format(checkpoint_file)) + checkpoint = torch.load(checkpoint_file) + begin_epoch = checkpoint['epoch'] + best_perf = checkpoint['perf'] + last_epoch = checkpoint['epoch'] + model.load_state_dict(checkpoint['state_dict']) + + optimizer.load_state_dict(checkpoint['optimizer']) + logger.info("=> loaded checkpoint '{}' (epoch {})".format( + checkpoint_file, checkpoint['epoch'])) + + lr_scheduler = torch.optim.lr_scheduler.MultiStepLR( + optimizer, cfg.TRAIN.LR_STEP, cfg.TRAIN.LR_FACTOR, + last_epoch=last_epoch + ) + + for epoch in range(begin_epoch, cfg.TRAIN.END_EPOCH): + lr_scheduler.step() + + # train for one epoch + train(cfg, train_loader, model, criterion, optimizer, epoch, + final_output_dir, tb_log_dir, writer_dict) + + + # evaluate on validation set + perf_indicator = validate( + cfg, valid_loader, valid_dataset, model, criterion, + final_output_dir, tb_log_dir, writer_dict + ) + + if perf_indicator >= best_perf: + best_perf = perf_indicator + best_model = True + print("best model so far!") + else: + best_model = False + + logger.info('=> saving checkpoint to {}'.format(final_output_dir)) + save_checkpoint({ + 'epoch': epoch + 1, + 'model': cfg.MODEL.NAME, + 'state_dict': model.state_dict(), + 'best_state_dict': model.module.state_dict(), + 'perf': perf_indicator, + 'optimizer': optimizer.state_dict(), + }, best_model, final_output_dir) + + final_model_state_file = os.path.join( + final_output_dir, 'final_state.pth' + ) + logger.info('=> saving final model state to {}'.format( + final_model_state_file) + ) + torch.save(model.module.state_dict(), final_model_state_file) + writer_dict['writer'].close() + + +if __name__ == '__main__': + main() diff --git a/deep-high-resolution-net.pytorch/tools/train.py.amltmp b/deep-high-resolution-net.pytorch/tools/train.py.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..70dcfa0fd2caa463adc6a48f150cd6f6a1cbdb43 --- /dev/null +++ b/deep-high-resolution-net.pytorch/tools/train.py.amltmp @@ -0,0 +1,224 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Bin Xiao (Bin.Xiao@microsoft.com) +# ------------------------------------------------------------------------------ + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +import os +import pprint +import shutil + +import torch +import torch.nn.parallel +import torch.backends.cudnn as cudnn +import torch.optim +import torch.utils.data +import torch.utils.data.distributed +import torchvision.transforms as transforms +from tensorboardX import SummaryWriter + +import _init_paths +from config import cfg +from config import update_config +from core.loss import JointsMSELoss +from core.function import train +from core.function import validate +from utils.utils import get_optimizer +from utils.utils import save_checkpoint +from utils.utils import create_logger +from utils.utils import get_model_summary + +import dataset +import models + + +def parse_args(): + parser = argparse.ArgumentParser(description='Train keypoints network') + # general + parser.add_argument('--cfg', + help='experiment configure file name', + required=True, + type=str) + + parser.add_argument('opts', + help="Modify config options using the command-line", + default=None, + nargs=argparse.REMAINDER) + + # philly + parser.add_argument('--modelDir', + help='model directory', + type=str, + default='') + parser.add_argument('--logDir', + help='log directory', + type=str, + default='') + parser.add_argument('--dataDir', + help='data directory', + type=str, + default='') + parser.add_argument('--prevModelDir', + help='prev Model directory', + type=str, + default='') + + args = parser.parse_args() + + return args + + +def main(): + args = parse_args() + update_config(cfg, args) + + logger, final_output_dir, tb_log_dir = create_logger( + cfg, args.cfg, 'train') + + logger.info(pprint.pformat(args)) + logger.info(cfg) + + # cudnn related setting + cudnn.benchmark = cfg.CUDNN.BENCHMARK + torch.backends.cudnn.deterministic = cfg.CUDNN.DETERMINISTIC + torch.backends.cudnn.enabled = cfg.CUDNN.ENABLED + + model = eval('models.'+cfg.MODEL.NAME+'.get_pose_net')( + cfg, is_train=True + ) + + # copy model file + this_dir = os.path.dirname(__file__) + shutil.copy2( + os.path.join(this_dir, '../lib/models', cfg.MODEL.NAME + '.py'), + final_output_dir) + # logger.info(pprint.pformat(model)) + + writer_dict = { + 'writer': SummaryWriter(log_dir=tb_log_dir), + 'train_global_steps': 0, + 'valid_global_steps': 0, + } + + dump_input = torch.rand( + (1, 3, cfg.MODEL.IMAGE_SIZE[1], cfg.MODEL.IMAGE_SIZE[0]) + ) + writer_dict['writer'].add_graph(model, (dump_input, )) + + logger.info(get_model_summary(model, dump_input)) + + model = torch.nn.DataParallel(model, device_ids=cfg.GPUS).cuda() + + # define loss function (criterion) and optimizer + criterion = JointsMSELoss( + use_target_weight=cfg.LOSS.USE_TARGET_WEIGHT + ).cuda() + + # Data loading code + normalize = transforms.Normalize( + mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] + ) + train_dataset = eval('dataset.'+cfg.DATASET.DATASET)( + cfg, cfg.DATASET.ROOT, cfg.DATASET.TRAIN_SET, True, + transforms.Compose([ + transforms.ToTensor(), + normalize, + ]) + ) + valid_dataset = eval('dataset.'+cfg.DATASET.DATASET)( + cfg, cfg.DATASET.ROOT, cfg.DATASET.TEST_SET, False, + transforms.Compose([ + transforms.ToTensor(), + normalize, + ]) + ) + + train_loader = torch.utils.data.DataLoader( + train_dataset, + batch_size=cfg.TRAIN.BATCH_SIZE_PER_GPU*len(cfg.GPUS), + shuffle=cfg.TRAIN.SHUFFLE, + num_workers=cfg.WORKERS, + pin_memory=cfg.PIN_MEMORY + ) + valid_loader = torch.utils.data.DataLoader( + valid_dataset, + batch_size=cfg.TEST.BATCH_SIZE_PER_GPU*len(cfg.GPUS), + shuffle=False, + num_workers=cfg.WORKERS, + pin_memory=cfg.PIN_MEMORY + ) + + best_perf = 0.0 + best_model = False + last_epoch = -1 + optimizer = get_optimizer(cfg, model) + begin_epoch = cfg.TRAIN.BEGIN_EPOCH + checkpoint_file = os.path.join( + final_output_dir, 'checkpoint.pth' + ) + + if cfg.AUTO_RESUME and os.path.exists(checkpoint_file): + logger.info("=> loading checkpoint '{}'".format(checkpoint_file)) + checkpoint = torch.load(checkpoint_file) + begin_epoch = checkpoint['epoch'] + best_perf = checkpoint['perf'] + last_epoch = checkpoint['epoch'] + model.load_state_dict(checkpoint['state_dict']) + + optimizer.load_state_dict(checkpoint['optimizer']) + logger.info("=> loaded checkpoint '{}' (epoch {})".format( + checkpoint_file, checkpoint['epoch'])) + + lr_scheduler = torch.optim.lr_scheduler.MultiStepLR( + optimizer, cfg.TRAIN.LR_STEP, cfg.TRAIN.LR_FACTOR, + last_epoch=last_epoch + ) + + for epoch in range(begin_epoch, cfg.TRAIN.END_EPOCH): + lr_scheduler.step() + + # train for one epoch + train(cfg, train_loader, model, criterion, optimizer, epoch, + final_output_dir, tb_log_dir, writer_dict) + + + # evaluate on validation set + perf_indicator = validate( + cfg, valid_loader, valid_dataset, model, criterion, + final_output_dir, tb_log_dir, writer_dict + ) + + if perf_indicator >= best_perf: + best_perf = perf_indicator + best_model = True + print("best model so far!") + else: + best_model = False + + logger.info('=> saving checkpoint to {}'.format(final_output_dir)) + save_checkpoint({ + 'epoch': epoch + 1, + 'model': cfg.MODEL.NAME, + 'state_dict': model.state_dict(), + 'best_state_dict': model.module.state_dict(), + 'perf': perf_indicator, + 'optimizer': optimizer.state_dict(), + }, best_model, final_output_dir) + + final_model_state_file = os.path.join( + final_output_dir, 'final_state.pth' + ) + logger.info('=> saving final model state to {}'.format( + final_model_state_file) + ) + torch.save(model.module.state_dict(), final_model_state_file) + writer_dict['writer'].close() + + +if __name__ == '__main__': + main() diff --git a/deep-high-resolution-net.pytorch/visualization/.amlignore b/deep-high-resolution-net.pytorch/visualization/.amlignore new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/visualization/.amlignore @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/visualization/.amlignore.amltmp b/deep-high-resolution-net.pytorch/visualization/.amlignore.amltmp new file mode 100644 index 0000000000000000000000000000000000000000..0621f9fcbbf37e2d3e52eac0524926835e9cd609 --- /dev/null +++ b/deep-high-resolution-net.pytorch/visualization/.amlignore.amltmp @@ -0,0 +1,6 @@ +## This file was auto generated by the Azure Machine Learning Studio. Please do not remove. +## Read more about the .amlignore file here: https://docs.microsoft.com/azure/machine-learning/how-to-save-write-experiment-files#storage-limits-of-experiment-snapshots + +.ipynb_aml_checkpoints/ +*.amltmp +*.amltemp \ No newline at end of file diff --git a/deep-high-resolution-net.pytorch/visualization/plot_coco.py b/deep-high-resolution-net.pytorch/visualization/plot_coco.py new file mode 100644 index 0000000000000000000000000000000000000000..c0e79039ca9fb56844cc46f31f5a64dc49ec5338 --- /dev/null +++ b/deep-high-resolution-net.pytorch/visualization/plot_coco.py @@ -0,0 +1,309 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) Microsoft +# Licensed under the MIT License. +# Written by Ke Sun (sunk@mail.ustc.edu.cn) +# Modified by Depu Meng (mdp@mail.ustc.edu.cn) +# ------------------------------------------------------------------------------ + +import argparse +import numpy as np +import matplotlib.pyplot as plt +import cv2 +import json +import matplotlib.lines as mlines +import matplotlib.patches as mpatches +from pycocotools.coco import COCO +from pycocotools.cocoeval import COCOeval +import os + + +class ColorStyle: + def __init__(self, color, link_pairs, point_color): + self.color = color + self.link_pairs = link_pairs + self.point_color = point_color + + for i in range(len(self.color)): + self.link_pairs[i].append(tuple(np.array(self.color[i])/255.)) + + self.ring_color = [] + for i in range(len(self.point_color)): + self.ring_color.append(tuple(np.array(self.point_color[i])/255.)) + +# Xiaochu Style +# (R,G,B) +color1 = [(179,0,0),(228,26,28),(255,255,51), + (49,163,84), (0,109,45), (255,255,51), + (240,2,127),(240,2,127),(240,2,127), (240,2,127), (240,2,127), + (217,95,14), (254,153,41),(255,255,51), + (44,127,184),(0,0,255)] + +link_pairs1 = [ + [15, 13], [13, 11], [11, 5], + [12, 14], [14, 16], [12, 6], + [3, 1],[1, 2],[1, 0],[0, 2],[2,4], + [9, 7], [7,5], [5, 6], + [6, 8], [8, 10], + ] + +point_color1 = [(240,2,127),(240,2,127),(240,2,127), + (240,2,127), (240,2,127), + (255,255,51),(255,255,51), + (254,153,41),(44,127,184), + (217,95,14),(0,0,255), + (255,255,51),(255,255,51),(228,26,28), + (49,163,84),(252,176,243),(0,176,240), + (255,255,0),(169, 209, 142), + (255,255,0),(169, 209, 142), + (255,255,0),(169, 209, 142)] + +xiaochu_style = ColorStyle(color1, link_pairs1, point_color1) + + +# Chunhua Style +# (R,G,B) +color2 = [(252,176,243),(252,176,243),(252,176,243), + (0,176,240), (0,176,240), (0,176,240), + (240,2,127),(240,2,127),(240,2,127), (240,2,127), (240,2,127), + (255,255,0), (255,255,0),(169, 209, 142), + (169, 209, 142),(169, 209, 142)] + +link_pairs2 = [ + [15, 13], [13, 11], [11, 5], + [12, 14], [14, 16], [12, 6], + [3, 1],[1, 2],[1, 0],[0, 2],[2,4], + [9, 7], [7,5], [5, 6], [6, 8], [8, 10], + ] + +point_color2 = [(240,2,127),(240,2,127),(240,2,127), + (240,2,127), (240,2,127), + (255,255,0),(169, 209, 142), + (255,255,0),(169, 209, 142), + (255,255,0),(169, 209, 142), + (252,176,243),(0,176,240),(252,176,243), + (0,176,240),(252,176,243),(0,176,240), + (255,255,0),(169, 209, 142), + (255,255,0),(169, 209, 142), + (255,255,0),(169, 209, 142)] + +chunhua_style = ColorStyle(color2, link_pairs2, point_color2) + +def parse_args(): + parser = argparse.ArgumentParser(description='Visualize COCO predictions') + # general + parser.add_argument('--image-path', + help='Path of COCO val images', + type=str, + default='data/coco/images/val2017/' + ) + + parser.add_argument('--gt-anno', + help='Path of COCO val annotation', + type=str, + default='data/coco/annotations/person_keypoints_val2017.json' + ) + + parser.add_argument('--save-path', + help="Path to save the visualizations", + type=str, + default='visualization/coco/') + + parser.add_argument('--prediction', + help="Prediction file to visualize", + type=str, + required=True) + + parser.add_argument('--style', + help="Style of the visualization: Chunhua style or Xiaochu style", + type=str, + default='chunhua') + + args = parser.parse_args() + + return args + + +def map_joint_dict(joints): + joints_dict = {} + for i in range(joints.shape[0]): + x = int(joints[i][0]) + y = int(joints[i][1]) + id = i + joints_dict[id] = (x, y) + + return joints_dict + +def plot(data, gt_file, img_path, save_path, + link_pairs, ring_color, save=True): + + # joints + coco = COCO(gt_file) + coco_dt = coco.loadRes(data) + coco_eval = COCOeval(coco, coco_dt, 'keypoints') + coco_eval._prepare() + gts_ = coco_eval._gts + dts_ = coco_eval._dts + + p = coco_eval.params + p.imgIds = list(np.unique(p.imgIds)) + if p.useCats: + p.catIds = list(np.unique(p.catIds)) + p.maxDets = sorted(p.maxDets) + + # loop through images, area range, max detection number + catIds = p.catIds if p.useCats else [-1] + threshold = 0.3 + joint_thres = 0.2 + for catId in catIds: + for imgId in p.imgIds[:5000]: + # dimention here should be Nxm + gts = gts_[imgId, catId] + dts = dts_[imgId, catId] + inds = np.argsort([-d['score'] for d in dts], kind='mergesort') + dts = [dts[i] for i in inds] + if len(dts) > p.maxDets[-1]: + dts = dts[0:p.maxDets[-1]] + if len(gts) == 0 or len(dts) == 0: + continue + + sum_score = 0 + num_box = 0 + img_name = str(imgId).zfill(12) + + # Read Images + img_file = img_path + img_name + '.jpg' + data_numpy = cv2.imread(img_file, cv2.IMREAD_COLOR | cv2.IMREAD_IGNORE_ORIENTATION) + h = data_numpy.shape[0] + w = data_numpy.shape[1] + + # Plot + fig = plt.figure(figsize=(w/100, h/100), dpi=100) + ax = plt.subplot(1,1,1) + bk = plt.imshow(data_numpy[:,:,::-1]) + bk.set_zorder(-1) + print(img_name) + for j, gt in enumerate(gts): + # matching dt_box and gt_box + bb = gt['bbox'] + x0 = bb[0] - bb[2]; x1 = bb[0] + bb[2] * 2 + y0 = bb[1] - bb[3]; y1 = bb[1] + bb[3] * 2 + + # create bounds for ignore regions(double the gt bbox) + g = np.array(gt['keypoints']) + #xg = g[0::3]; yg = g[1::3]; + vg = g[2::3] + + for i, dt in enumerate(dts): + # Calculate IoU + dt_bb = dt['bbox'] + dt_x0 = dt_bb[0] - dt_bb[2]; dt_x1 = dt_bb[0] + dt_bb[2] * 2 + dt_y0 = dt_bb[1] - dt_bb[3]; dt_y1 = dt_bb[1] + dt_bb[3] * 2 + + ol_x = min(x1, dt_x1) - max(x0, dt_x0) + ol_y = min(y1, dt_y1) - max(y0, dt_y0) + ol_area = ol_x * ol_y + s_x = max(x1, dt_x1) - min(x0, dt_x0) + s_y = max(y1, dt_y1) - min(y0, dt_y0) + sum_area = s_x * s_y + iou = ol_area / (sum_area + np.spacing(1)) + score = dt['score'] + + if iou < 0.1 or score < threshold: + continue + else: + print('iou: ', iou) + dt_w = dt_x1 - dt_x0 + dt_h = dt_y1 - dt_y0 + ref = min(dt_w, dt_h) + num_box += 1 + sum_score += dt['score'] + dt_joints = np.array(dt['keypoints']).reshape(17,-1) + joints_dict = map_joint_dict(dt_joints) + + # stick + for k, link_pair in enumerate(link_pairs): + if link_pair[0] in joints_dict \ + and link_pair[1] in joints_dict: + if dt_joints[link_pair[0],2] < joint_thres \ + or dt_joints[link_pair[1],2] < joint_thres \ + or vg[link_pair[0]] == 0 \ + or vg[link_pair[1]] == 0: + continue + if k in range(6,11): + lw = 1 + else: + lw = ref / 100. + line = mlines.Line2D( + np.array([joints_dict[link_pair[0]][0], + joints_dict[link_pair[1]][0]]), + np.array([joints_dict[link_pair[0]][1], + joints_dict[link_pair[1]][1]]), + ls='-', lw=lw, alpha=1, color=link_pair[2],) + line.set_zorder(0) + ax.add_line(line) + # black ring + for k in range(dt_joints.shape[0]): + if dt_joints[k,2] < joint_thres \ + or vg[link_pair[0]] == 0 \ + or vg[link_pair[1]] == 0: + continue + if dt_joints[k,0] > w or dt_joints[k,1] > h: + continue + if k in range(5): + radius = 1 + else: + radius = ref / 100 + + circle = mpatches.Circle(tuple(dt_joints[k,:2]), + radius=radius, + ec='black', + fc=ring_color[k], + alpha=1, + linewidth=1) + circle.set_zorder(1) + ax.add_patch(circle) + + avg_score = (sum_score / (num_box+np.spacing(1)))*1000 + + plt.gca().xaxis.set_major_locator(plt.NullLocator()) + plt.gca().yaxis.set_major_locator(plt.NullLocator()) + plt.axis('off') + plt.subplots_adjust(top=1,bottom=0,left=0,right=1,hspace=0,wspace=0) + plt.margins(0,0) + if save: + plt.savefig(save_path + \ + 'score_'+str(np.int(avg_score))+ \ + '_id_'+str(imgId)+ \ + '_'+img_name + '.png', + format='png', bbox_inckes='tight', dpi=100) + plt.savefig(save_path +'id_'+str(imgId)+ '.pdf', format='pdf', + bbox_inckes='tight', dpi=100) + # plt.show() + plt.close() + +if __name__ == '__main__': + + args = parse_args() + if args.style == 'xiaochu': + # Xiaochu Style + colorstyle = xiaochu_style + elif args.style == 'chunhua': + # Chunhua Style + colorstyle = chunhua_style + else: + raise Exception('Invalid color style') + + save_path = args.save_path + img_path = args.image_path + if not os.path.exists(save_path): + try: + os.makedirs(save_path) + except Exception: + print('Fail to make {}'.format(save_path)) + + + with open(args.prediction) as f: + data = json.load(f) + gt_file = args.gt_anno + plot(data, gt_file, img_path, save_path, colorstyle.link_pairs, colorstyle.ring_color, save=True) +